JPH10275080A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH10275080A JPH10275080A JP10048481A JP4848198A JPH10275080A JP H10275080 A JPH10275080 A JP H10275080A JP 10048481 A JP10048481 A JP 10048481A JP 4848198 A JP4848198 A JP 4848198A JP H10275080 A JPH10275080 A JP H10275080A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- bit
- register
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7857—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using interleaved memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3552—Indexed addressing using wraparound, e.g. modulo or circular addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Feedback Control In General (AREA)
- Vehicle Body Suspensions (AREA)
- Telephonic Communication Services (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
型の演算の間でのプロセッサ資源に対する衝突を減ら
す、改良されたデータ処理装置、システムおよび方法を
提供する。 【解決手段】 マイクロプロセッサは、並列データ操作
を実行することができる第1のセットの機能ユニット
と、複数のデータ操作を実行することができる第2のセ
ットの機能ユニットと、第1および第2の機能ユニット
を接続するデータ相互接続経路とを含む。
Description
電子処理および制御システムとこれらの製造方法および
動作方法とに関する。
クロプロセッサ・デバイスは、Gary W.Boon
eに発行され、テキサス インスツルメンツ インコー
ポレイテッドに譲渡されている米国特許第3,757,
306号に示されているような、MOS/LSI技術に
よって製造された単一の半導体集積回路または「チッ
プ」に普通は含まれているディジタル・プロセッサ用の
中央処理ユニットすなわちCPUである。Booneの
特許はシングル・チップ8ビットCPUを示し、このC
PUは並列のALUとデータおよびアドレス用レジスタ
と命令レジスタと制御デコーダとを含み、すべてがノイ
マン型アーキテクチャを使って相互接続されており、デ
ータ、アドレスおよび命令に対する双方向性の並列バス
を採用している。Gray W.BooneおよびMi
chael J.Cochranに発行され、テキサス
インスツルメンツ インコーポレイテッドに譲渡され
ている米国特許第4,074,351号は、シングル・
チップの「マイクロコンピュータ」タイプのデバイスを
示しており、そのデバイスは4ビットの並列ALUとそ
の制御回路とを含み、それと一緒にプログラム記憶用の
オンチップROMとデータ記憶用のオンチップRAMと
を備え、ハーバード・アーキテクチャで作られている。
マイクロプロセッサという用語は、普通は、プログラム
およびデータ記憶用に外部メモリを採用しているデバイ
スを指し、一方、マイクロコンピュータという用語は、
プログラムおよびデータ記憶用のオンチップのROMお
よびRAMを備えているデバイスを指す。本発明の説明
で、「マイクロコンピュータ」という用語は両方のタイ
プのデバイスを含むために使われ、「マイクロプロセッ
サ」という用語は、主として、オンチップROMを備え
ていないマイクロコンピュータを指すために使われる。
この分野の技術ではその用語はしばしば同じ意味に使わ
れるので、この説明でこれらの用語を取り混ぜて使うこ
とは本発明の特徴に関する制限事項とはみなされるべき
でないことを理解されたい。
般的なクラス、すなわち、汎用マイクロプロセッサと特
殊目的のマイクロコンピュータ/マイクロプロセッサと
に分類することができる。モトローラ社によって製造さ
れているM68020などの汎用マイクロプロセッサ
は、広い範囲の任意のタスクを実行するためにユーザに
よってプログラム可能であるように設計されており、し
たがって、それらはパーソナル・コンピュータなどの装
置の中央処理ユニットとしてよく使われる。そのような
汎用マイクロプロセッサは広い範囲の算術演算および論
理機能に対して優れた性能を備えているが、もちろん、
そのような機能の任意の特定の1つに対して特別に設計
されているわけではなく、また、それに適応されている
わけではない。これと対照的に、特殊目的のマイクロコ
ンピュータは、ユーザがそのマイクロコンピュータを使
うことを意図している特殊な所定の算術演算および論理
機能に対する性能を改善するために設計されている。そ
のマイクロコンピュータの主要な機能を知ることによっ
て、設計者は特殊目的のマイクロコンピュータによる特
殊機能の性能が、汎用マイクロプロセッサによる同じ機
能の性能より大幅に高くなるように、そのユーザによっ
て作られるプログラムとは無関係に、そのマイクロコン
ピュータを作ることができる。
ロコンピュータによって実行することができるそのよう
な機能の1つは、ディジタル信号処理であり、さらに詳
しく言えば、ディジタル・フィルタの実装のためにおよ
び高速フーリエ変換を実行するために必要な計算であ
る。そのような計算は、整数の乗算と複数ビットのシフ
トと乗算および加算などの大量の繰返し演算になるの
で、これらの繰返し機能に対して特別に適応された特殊
目的のマイクロコンピュータを作ることができる。その
ような特殊目的のマイクロコンピュータはテキサス イ
ンスツルメンツ インコーポレイテッドに譲渡されてい
る米国特許第4,577,282号で記述されており、
この特許は引用によって本明細書の記載に援用する。こ
れらの計算用のマイクロコンピュータの特殊な設計の結
果、汎用マイクロプロセッサに比べて性能が十分改善さ
れることになり、そのような特殊目的のマイクロコンピ
ュータを音声および画像処理などのリアルタイムのアプ
リケーションで使うことができる。
は、その計算集中的な性質のために、メモリ・アクセス
動作も集中的に行われる。したがって、ディジタル信号
処理機能を実行する際のマイクロコンピュータの総合性
能は、単位時間当りに実行される特殊計算の数によって
決定されるだけでなく、マイクロコンピュータがシステ
ム・メモリからデータを呼び出し、データをシステム・
メモリに記憶することができる速度によっても決定され
る。前記の米国特許第4,577,282号に記述され
ているような従来の特殊目的のマイクロコンピュータ
は、データ・メモリに対するアクセスをプログラム・メ
モリのアクセスとは独立にかつ同時に行うことができる
ように、ハーバード・アーキテクチャの修正版を利用し
ていた。もちろん、そのようなアーキテクチャは性能を
さらに改善するために設けられていた。
て、処理デバイスとアプリケーション・システムと動作
および製造の方法とにおける構造的な改善およびプロセ
スの改善がさらに望まれるようになっている。
力、機能および計算集中型の演算の間でのプロセッサ資
源に対する衝突を減らす、改良されたデータ処理装置、
システムおよび方法を提供することと、高サンプル・レ
ートのディジタル信号処理のアプリケーションにおいて
プロセッサの管理オーバヘッドを減らす、改善されたデ
ータ処理装置、システムおよび方法を提供することと、
割込み処理およびサブルーチン呼出しおよびサブルーチ
ンからの戻りを能率的に行うための改良されたデータ処
理装置、システムおよび方法を提供することと、遠隔通
信、制御システムおよび他のアプリケーションにおけ
る、プロセッサのバンド幅を増加させる改良されたデー
タ処理装置、システムおよび方法を提供することなどが
ある。
形式は、改良された「非常に長い命令ワード」(VLI
W)の電子プロセッサを含む改良されたデータ処理装置
である。
のプロセスによってアナログ入力に対応するディジタル
信号を作り出すための、変換が完了したときに割込み信
号を作り出すためのアナログ/ディジタル変換器を含む
信号処理装置のシステムである。そのアナログ/ディジ
タル変換器に接続されているメモリおよびプロセッサを
備えているディジタル処理回路は、その割込み信号に応
答してディジタル信号をメモリに入れる。そのプロセッ
サは、レジスタ・セットと少なくとも1つの乗算器と少
なくとも1つの演算論理ユニットとを含む。
実行できる第1のセットの機能ユニットと、並列データ
演算を実行できる第2のセットの機能ユニットと、第1
および第2の機能ユニットを接続するデータ接続パスと
を含む。データ処理システムは、第1の複数の命令を同
時にフェッチするフェッチ回路と、第2の複数の命令を
同時に実行することができる回路とを含み、第2の複数
の命令は第1の複数の命令より少ないか等しい。データ
処理システムは、第1の複数の命令を同時にフェッチす
るフェッチ回路と、第2の複数の命令を同時に条件付き
で実行することができる回路とを含み、第2の複数の命
令は第1の複数の命令より少ないか等しい。
形式も開示され、この中で特許が請求される。本発明の
他の目的が開示され、さらに他の目的はここに開示され
ていることから明らかとなる。
特性が、添付の請求項に記述されている。他の特徴およ
びその利点のほか、本発明の好適な実施形態が、以下に
続く詳細な説明を付属の図面を参照しながら読むことに
よって最もよく理解される。
び他のシンボルは対応している部分を指す。ただし、コ
ンテキストが違ったものを指している場合を除く。
クロプロセッサ11の高レベルの機能的ブロック図が示
されている。
P)のブロック図を示す。DSPは、図1の右の中央部
分に示されているCPU1に基づいている。DSPデバ
イス11にはプログラム・メモリ2が付属しており、そ
れはプログラム・キャッシュとして使うことができる。
また、デバイス11は、サイズの変化するおよび/また
は種類の異なるデータ・メモリ3も備えることができ
る。ダイレクト・メモリ・アクセス(DMA)コントロ
ーラ4a,パワー・ダウン・ロジック5および外部メモ
リ・インターフェース(EMIF)46などのペリフェ
ラル4は、CPUに付属していることが好ましく、ま
た、シリアル・ポート6bやホスト・ポート6aなどの
ペリフェラル6は、オプションとして利用できる。
可能なアドレス空間を備えている。内部(オンチップ)
メモリは、別々のデータ空間3およびプログラム空間2
に編成されている。オフチップ・メモリが使われると
き、これらの2つの空間は外部メモリ・インターフェー
ス(EMIF)46を経由して単一のメモリ空間に統一
されることが好ましい。
るための2つの内部ポート3a,3bを備えており、2
つの内部ポート3a,3bは32ビットのデータおよび
32ビットのバイト・アドレスをそれぞれ備えている。
DSPは,プログラム・メモリ2にアクセスするための
単一のポート2aを有し、ポート2aは、256ビット
幅の命令フェッチおよび30ビットのワード(4バイ
ト)アドレスを備え、32ビットのバイト・アドレスに
等価である。
ち、シリアル・ポートと、タイマーと、同期型および非
同期型SRAMおよび同期型DRAMをサポートする外
部メモリ・インターフェース(EMIF)と、2チャネ
ルの自動ブート・ローディングのダイレクト・メモリ・
アクセス(DMA)コントローラと、ホスト・ポート
と、CPUアクティビティ、ペリフェラル・アクティビ
ティおよびPLLアクティビティを停止させて消費電力
を削減することができるパワー・ダウン・ロジックと
が、DSP上に提供される。
は、プログラム・フェッチ・ユニット7aと、命令ディ
スパッチ・ユニット7bと、命令デコード・ユニット7
cと、2つのデータ・パス8a,8b(それぞれ4つの
機能ユニット. L1,. S1,. M1および. D1また
は. L2,. S2,. M2および. D2を備えている)
と、32個の32ビット・レジスタ9と、制御レジスタ
10aと、制御ロジック10aと、テスト10c,エミ
ュレーション10dおよび割込み10eのロジックとを
含む。
ッチ7bおよび命令デコード7cの各ユニットは、プロ
グラム・メモリ2から8個までの32ビット命令をサイ
クルごとに機能ユニットに配送することができる。処理
は2つのデータ・パス(8a,8b)のそれぞれにおい
て発生する。各データ・パス8は,4つの機能ユニット
(. L,. S,. Mおよび. D)と、16個の32ビッ
ト・レジスタを含む1つのレジスタ・ファイル9aまた
は9bとを備える。各機能ユニットは、32ビットの命
令によって制御される。データ・パスについては後でさ
らに詳細に説明される。制御レジスタ・ファイル10a
は、各種のプロセッサ動作のコンフィギュレーションを
行うとともに制御するための手段を提供する。命令がど
のようにフェッチされ、ディスパッチされ、デコードさ
れ、データ・パスで実行されるかは、パイプライン動作
に関連して後で説明される。
このパスは、2つの汎用レジスタ・ファイル(9aおよ
び9b)と、8つの機能ユニット(. L1,. L2,.
S1,. S2,. M1,. M2,. D1および. D2)
と、2つのメモリからのロード・パス(LD1およびL
D2)と、2つのメモリへの格納パス(ST1およびS
T2)と、2つのレジスタ・ファイル相互接続パス(1
Xおよび2X)とから構成される。
ファイル(9aおよび9b)がある。これらのファイル
はそれぞれ、16個の32ビット・レジスタ(ファイル
Aに対してはA0〜A15、ファイルBに対してはB0
〜B15とラベルが付けられている)を含む。汎用レジ
スタは、データ用に、データ・アドレス・ポインタ用
に、または条件レジスタとして使うことができる。
個の2つのグループ(12a1〜12a4および12b
1〜12b4)に分けることができ、それぞれが各レジ
スタ・ファイルに対して実質的に同じである。機能ユニ
ットについては、以下の表1に説明されている。
ビットのオペランドをサポートし、また、いくつかはロ
ング(40ビット)オペランドをサポートする。各機能
ユニットは、汎用レジスタ・ファイルへのそれ自身の3
2ビット書込みポートを備える。名前が“1”で終わっ
ているすべてのユニット(たとえば、. L1)はレジス
タ・ファイルAに書き込み、また、“2”で終わってい
るすべてのユニットはレジスタ・ファイルBに書き込
む。図2で示されているように、各機能ユニットは、ソ
ース・オペランドsrc1,src2用の2つの32ビ
ット読出しポートを備える。4つのユニット(. L
1,. L2,.S1,. S2)は、40ビット長の読出
し用の8ビット入力と、40ビット長の書込み用の余分
な8ビット幅のポートを備える。各ユニットはそれ自身
の32ビット書込みポートを備えているので、8個のユ
ニットはすべてパラレルにサイクルごとに使うことがで
きる。
タ・ファイルは、1Xおよび2Xパスによって反対側の
レジスタ・ファイルの機能ユニットに接続されている。
これらのパスによって、各側からの. S,. Mおよび.
Lユニットはいずれのファイルからのオペランドにもア
クセスすることができる。
1,. S2)は、同じ側のレジスタ・ファイル(“1”
で終わっているユニットにはA、“2”で終わっている
ユニットにはB)、またはクロス・パス(1Xおよび2
X)を経由する反対側のファイルのいずれかで選択でき
る1つの32ビット入力マルチプレクサを備える。. L
1および. L2ユニット上の32ビット入力は両方と
も、クロス・パスを経由してマルチプレクサ(“mu
x”)によって選択できる。
ロードするための2つの32ビット・パスがある。1つ
はレジスタ・ファイルAに対するパス(LD1)であ
り、もう1つはレジスタ・ファイルBに対するパス(L
D2)である。また、レジスタの値を各レジスタ・ファ
イルからメモリへ格納するための2つの32ビット・パ
スST1,ST2もある。その格納パスは. Lおよび.
Sのロング読出し経路と共有される。
から出てくるデータ・アドレス・パス(DA1およびD
A2)によって、1つのレジスタ・ファイルから発生さ
れるデータ・アドレスが他のレジスタ・ファイルからの
ロードおよびストアをサポートすることができる。
ト(. S2)は制御レジスタ・ファイルとの間で読出し
および書込みができる。表2は制御レジスタ・ファイル
に含まれている制御レジスタをリストしており、それぞ
れ簡単に説明されている。制御レジスタについては後で
もっと詳しく説明される。各制御レジスタはMVC命令
によってアクセスされる。MVC命令については後の説
明を参照されたい。
(AMR)を示す。8個のレジスタ(A4〜A7、B4
〜B7)はサーキュラ・アドレッシングを実行すること
ができる。これらのレジスタのそれぞれに対して、AM
Rはアドレッシング・モードを規定する。各レジスタに
対する2ビットのフィールドは、アドレス修飾モードを
選択するために使われる。それはリニア(デフォルト)
またはサーキュラ・モードである。サーキュラ・アドレ
ッシングでは、そのフィールドは、どのBK(ブロック
・サイズ)フィールドがサーキュラ・バッファのために
使われるかをも規定する。さらに、そのバッファは、ブ
ロック・サイズに等しいバイト境界に整列されていなけ
ればならない。モード選択フィールド符号化が表3に示
されている。
K1はサーキュラ・アドレッシングのためのブロック・
サイズを規定する。BK0およびBK1の5つのビット
はその幅を規定する。ブロック・サイズの幅を計算する
ための式は次の通りである。
ロック・サイズ計算を示す。
スタ(CSR)は制御ビットおよびステータス・ビット
を含む。CSRのビット・フィールドの機能が表5に示
されている。
N)は32個の汎用入力信号をサポートし、一方、図6
に示されている汎用出力レジスタ(OUT)は32個の
汎用出力信号をサポートする。これらの信号の機能につ
いては後で説明される。
ルを説明する。
ト間のマッピングを定義する。
び40ビットのデータをサポートする。32ビットのデ
ータは単一のレジスタに含まれる。40ビットのデータ
は2つのレジスタにまたがって含まれる。データの32
個のLSBは偶数番号のレジスタに格納され、8個のL
SBはその次のレジスタ(それは常に奇数番号のレジス
タである)に格納される。表9に示されているように、
40ビットのデータに対して16個の有効なレジスタ・
ペアがある。アセンブリ言語の構文においては、レジス
タ・ペアはレジスタ名の間にコロンを付けることによっ
て示される。奇数番号のレジスタが最初に指定される。
スタ記憶方式を示す。ロング入力を必要とする演算は、
奇数レジスタの24個のMSBを無視する。ロング結果
を発生する演算は、奇数レジスタの24個のMSBを
“0”で埋める。偶数レジスタはオペコードでエンコー
ドされている。
び図8Bに示されている。そのフィールドの構文および
値の説明については、表6および後で説明される命令の
記述を参照されたい。
る。その条件は、テストされるレジスタを指定している
3ビットのフィールド(creg)と、ゼロか非ゼロか
をテストすることを規定している1ビット・フィールド
(z)とによって制御される。すべてのオペコードの4
つのMSBはcregおよびzである。レジスタはすべ
ての命令に対してE1パイプライン・ステージの最初で
テストされる。パイプラインについては後で説明され
る。z=1の場合、そのテストは“0”に等しいことに
対するテストである。z=0の場合、そのテストは
“0”でないことに対するテストである。条件レジスタ
・フィールド(creg)=0およびz=0の場合は、
命令が無条件に実行されるようにするために常に真とし
て扱われる。cregレジスタのフィールドは、表10
に示されているようにエンコードされている。
んでいる“[ ]”によって表される。次の実行パケッ
トは2つのADD命令を並列に含む。第1のADDは、
B0が非ゼロの条件付きである。第2のADDは、B0
がゼロの条件付きである。“!”はその条件の「否定」
を示す。 [B0] ADD . L1 A1,A2,A3 || [!B0] ADD . L2 B1,B2,B3
は、1つだけが実行されることを意味する。
合、相互に排他的な命令は、後で説明されるすべてのリ
ソース制約条件に従わなければならない。
なリソースを共有する場合、それらは1つだけが実行を
終えることになる場合であっても、並列にはスケジュー
ルする(同じ実行パケットの中に置かれる)ことはでき
ない。
ることができる。表11は、命令のタイプと、各タイプ
の命令が所有する遅延スロットの数と、それが使う実行
フェーズとを示す。遅延スロットは、ソース・オペラン
ドが読み出されたのちに結果が読み出されるために利用
できるようになる前にかかる余分のサイクルの数であ
る。単独サイクルのタイプの命令(たとえばADD)の
場合、ソース・オペランドがサイクルiにおいて読み出
された場合、その結果はサイクルi+1において読み出
すことができる。乗算命令(MPY)の場合、ソース・
オペランドがサイクルiにおいて読み出された場合、そ
の結果はサイクルI+2において読み出すことができ
る。
これはフェッチ・パケットを構成する。1つのフェッチ
・パケットの基本フォーマットが図9に示されている。
フェッチ・パケットの実行グループピングは、pビット
すなわち各命令のビット0によって指定される。フェッ
チ・パケットは8ワードに揃えられている。
ビットは左から右へ(低いアドレスから高いアドレスへ
向かって)走査される。命令iのpビットが“1”であ
った場合、命令i+1が命令iと並列に(同じサイクル
で)実行される。命令iのpビットが“0”であった場
合、命令i+1は命令iの後のサイクルにおいて実行さ
れる。並列に実行されるすべての命令が実行パケットを
構成する。実行パケットは8個までの命令を含むことが
できる。1つの実行パケットのすべての命令はユニーク
な機能ユニットを使わなければならない。
ことはできない。したがって、1つのフェッチ・パケッ
トの最後のpビットは常に“0”に設定され、各フェッ
チ・パケットは新しい実行パケットを開始させる。次の
例は、pビットのシーケンスの命令をサイクルごとの実
行ストリームへ変換する様子を示している。フェッチ・
パケットに対して3種類のpビット・パターンがある。
これらの3つのpビット・パターンは、結果として、8
個の命令に対する次の実行シーケンス、すなわち、完全
にシリアルに、完全に並列に、または部分的にシリアル
になる。これら3つの実行シーケンスについては以下に
完全に説明される。
ルのpビット・パターンの結果、次の実行シーケンスと
なる。
pビット・パターンの結果、次の実行シーケンスとな
る。
アルのpビット・パターンの結果、次の実行シーケンス
となる。
と並列に実行されるべきであることを意味する。前の部
分的にシリアルの例において、そのコードは次のように
表される。
合、それより低いアドレスにある命令はすべて無視され
る。部分的にシリアルの例において、命令Dを含むアド
レスに対する分岐が発生した場合、DとEだけが実行さ
れる。命令Cは同じ実行パケットにあるが、それは無視
される。命令A,Bも、それらが前の実行パケットにあ
るので、無視される。
ースを使うことはできない。また、どの命令も同じサイ
クルの間に同じレジスタに書き込むことはできない。次
に、命令が使うことができるそれぞれのリソースについ
て説明する。
は、同じ実行パケットの中で発行することはできない。
次の実行パケットは無効である。 ADD .S1 A0,A1,A2;\ .S1が両方の命令に対して || SHR .S1 A3,15,A4;/使われている。 次の実行パケットは有効である。 ADD .L1 A0,A1,A2;\2つの異なる機能ユニットが || SHR .S1 A3,15,A4;/使われている。
実行パケットについてデータ・パス当り1つのユニット
(. S,. Lまたは. Mのいずれか)がクロス・パス
(1Xおよび2X)を経由してその反対側のレジスタ・
ファイルからソース・オペランドを読むことができる。
たとえば、. S1は1Xクロス・パスを使ってAのレジ
スタ・ファイルから両方のオペランドを読むことがで
き、あるいはBのレジスタ・ファイルから1つのオペラ
ンドを読むことができる。これは、そのユニット名の次
のXによって示されている。
スを使っている2つの命令は、同じ実行パケットで発行
することはできない。というのは、AからBへの1つの
パスおよびBからAへの1つのパスがあるだけだからで
ある。次の実行パケットは無効である。 ADD .L1X A0,B1,A1;\1Xのクロス・パスが両方の命令に || MPY . MIX A4,B4,A5;/対して使われている。 次の実行パケットは有効である。 ADD .L1X A0,B1,A1;\命令が1Xおよび2Xの || MPY . M2X A4,B4,B2;/クロス・パスを使う (オペコード・マップで示されているように)命令フィ
ールドの中のxビットがセットされている場合、そのオ
ペランドはデスティネーションの反対側のレジスタ・フ
ァイルから入ってくる。
ァイルとの間でロードまたはストアを行っている間、1
つのレジスタ・ファイルからのアドレス・ポインタを使
うことができる。同じレジスタ・ファイルからの1つの
アドレス・ポインタを使って2つのロードおよび/また
はストアを同じ実行パケット内で発行することはできな
い。次の実行パケットは無効である。 LDW . D1 *A0,A1;\同じレジスタ・ファイルからの || LDW . D1 *A2,B2;/アドレス・レジスタ 次の実行パケットは有効である。 LDW . D1 *A0,A1;\異なるレジスタ・ファイルからの || LDW . D2 *B0,B2;/アドレス・レジスタ 同じレジスタ・ファイルとの間でロードおよびストアを
行っている2つのロード/またはストアを同じ実行パケ
ットで発行することはできない。次の実行パケットは無
効である。 LDW .D1 *A4,A5;\同じレジスタ・ファイルとの間で || STW . D2 A6, *B4;/ロードおよびストア 次の実行パケットは有効である。 LDW .D1 *A4,B5;\異なるレジスタ・ファイルとの間での || STW . D2 A6, *B4;/ロードおよびストア
レジスタ・ファイルの各サイドにおいて書き込むことが
できる。. Sおよび. Lユニットはロング・ソース・オ
ペランドおよびロング結果に対する書込みレジスタ・ポ
ートを共有するので、1つの実行パケットで1サイド当
り1つだけを発行することができる。 次の実行パケットは無効である。 ADD .L1 A5: A4, A1, A3: A2 ;\ Aレジスタ・ファイ ル上で || SHL . S1 A8, A9, A7: A6 ;/の2つのロング書込 み 次の実行パケットは有効である。 ADD .L1 A5: A4, A1, A3: A2 ;\各レジスタ・ファイル に対 || SHL . S2 B8, B9, B7: B6 ;/する1つのロング書 込み . Lおよび. Sのユニットはストア・ポートとそれぞれ
のロング読出しポートを共有するので、ロング値を読み
出す操作をストアとして同じ実行パケットの.Lおよび
/または. Sユニット上で発行することはできない。次
の実行パケットは無効である。 ADD . L1 A5: A4, A1, A3: A2 ; \ロング読出し操作 || STW .D1 A8, *A9 ;/およびストア 次の実行パケットは有効である。 ADD . L1 A4, A1, A3: A2 ; \ストアを伴う || STW .D1 A8, *A9 ;/ロング読出しなし 同じサイクルにおいて同じレジスタの5回以上の読出し
は起こり得ない。条件付きレジスタはこのカウントには
含まれていない。次のコード・シーケンスは無効であ
る。 MPY . M1 A1, A1, A4 ;レジスタA1の5回の読出し || ADD . L1 A1, A1, A5 || SUB . D1 A1, A2, A3 一方、次のコードは有効である。 MPY . M1 A1, A1, A4 ;A1の4回だけの読出し ||[A1] ADD . L1 A0, A1, A5 || SUB . D1 A1, A2, A3
シーでの命令が異なるサイクルにおいて発行された場
合、同じサイクルでの同じレジスタへの複数の書込みが
起こり得る。たとえば、サイクルiにおいてMPYが発
行され、その次にサイクルi+1においてADDが発行
される場合、同じレジスタに書き込むことはできない。
というのは、両方の命令が結果をサイクルi+1におい
て書き込むことになるからである。したがって、次のコ
ード・シーケンスは無効である。 MPY . M1 A0, A1, A2 ADD . L1 A4, A5, A2
す。たとえば、実行パケットL1のADDおよびSUB
は同じレジスタに書き込む。この衝突は容易に検出でき
る。
のADDは両方とも同時にB2に書き込む可能性があ
る。しかし、分岐命令によってL2の後の実行パケット
がL3以外のものとなれば、これは衝突とはならない。
したがって、L2およびL3における潜在的な衝突はア
センブラによっては検出されない可能性がある。L4の
中の命令は書込みの衝突を起こさない。というのは、そ
れらは相互に排他的であるからである。これと対照的
に、L5の中の命令は相互に排他的であるかどうかは明
確でないので、アセンブラは衝突を判定することはでき
ない。パイプラインがコマンドを受け取って同じレジス
タに複数の書込みを実行した場合、その結果は未定義と
なる。
0を使ったサーキュラ、およびBK1を使ったサーキュ
ラである。そのモードは、アドレッシング・モード・レ
ジスタ(AMR)によって指定される。
ングを実行することができる。A4〜A7は. D1ユニ
ットによって使われ、B4〜B7は. D2ユニットによ
って使われる。他のユニットはサーキュラ・アドレッシ
ング・モードを実行することができない。これらのレジ
スタに対して、AMRはそのアドレッシング・モードを
指定する。
、ADDA( B)(H)(W) 、およびSUBA( B)(H)
(W) 命令はすべて、AMRを使って、どのタイプのア
ドレス計算がこれらのレジスタに対して実行されるかを
決定する。すべてのレジスタはリニア・モード・アドレ
ッシングを実行することができる。
ffsetR/cstオペランドをワード、ハーフ・ワ
ードまたはバイト・アクセスに対して2,1または0だ
け左へ単純にシフトしてから、baseRに対する加算
または減算(指定された動作によって変わる)を実行す
る。
ドは、src1/cstオペランドをワード、ハーフ・
ワードまたはバイト・アクセスに対して2,1または0
だけ左へ単純にシフトしてから、baseRに対する加
算または減算(指定された動作によって変わる)を実行
する。
ドはサーキュラ・アドレッシングに対するブロック・サ
イズを指定する。
tをLDW、LDHまたはLDBに対して2,1または
0だけ左へシフトした後、ビットNとビットN+1との
間でキャリー/ボローが禁止された状態で加算または減
算が実行される。baseRのビットN+1〜31は不
変である。他のすべてのキャリー/ボローは通常のよう
に伝播する。したがって、offsetR/cstがサ
ーキュラ・バッファ・サイズより大きい場合、2(N+
1)が指定され、そのアドレスはサーキュラ・バッファ
の外側になる。AMRの中のサーキュラ・バッファ・サ
イズはスケールされない。たとえば、4のサイズは4バ
イトであり、(type)の4倍のサイズではない。し
たがって、8ワードの配列についてサーキュラ・アドレ
ッシングを実行するには、32のサイズが指定される
か、N=4とする必要がある。表13は、BK0=4
で、レジスタA4がサーキュラ・モードにおいて実行さ
れるLDWを示す。したがって、バッファ・サイズは、
32バイト、16ハーフ・ワードまたは8ワードであ
る。この例の場合のAMRに置かれる値は、00040
001hである。
stをADDAW、ADDAHまたはADDABに対し
て2,1または0だけ左へシフトした後、ビットNとビ
ットN+1との間でキャリー/ボローが禁止された状態
で加算または減算が実行される。src2のビットN+
1〜31は不変である。他のすべてのキャリー/ボロー
は通常のように伝播する。したがって、src1がサー
キュラ・バッファのサイズより大きい場合、2(N+
1)が指定され、そのアドレスはサーキュラ・バッファ
の外側になる。AMRの中のサーキュラ・バッファ・サ
イズはスケールされない。たとえば、4のサイズは4バ
イトであり、(type)の4倍のサイズではない。し
たがって、8ワードの配列についてサーキュラ・アドレ
ッシングを実行するには、32のサイズが指定される
か、あるいは、N=4とする必要がある。表14は、B
K0=4で、レジスタA4がサーキュラ・モードにおい
て実行されるADDAHを示している。したがって、バ
ッファ・サイズは、32バイト、16ハーフ・ワードま
たは8ワードである。この例の場合のAMRの中に置か
れる値は、00040001hである。
いての詳細情報を提供する。各命令は次の情報を提示す
る。 ‐ アセンブラの構文 ‐ 機能的ユニット ‐ オペランド ‐ オペコード ‐ 記述 ‐ 実行 ‐ 命令タイプ ‐ 遅延スロット数 ‐ 例題
c, これは、ADD命令に対して構文がどのようになるかを
示す。 ADD(. unit)src1,src2,dst OR ADDU(. unit)src1,src2,dst OR ADD(. unit)src2,src1,dst unit=. L1,. L2,. S1,. D1,. D2 srcおよびdstは、ソースおよびデスティネーショ
ンをそれぞれ示す。(. unit)は、その命令がどの
機能ユニットに対してマップされるかを示す(. L
1,. L2,. S1,. S2,. M1,. M2,. D1
または. D2)。テーブルが、オペコード・マップ・フ
ィールド、その命令がマップされるユニット、オペラン
ド、およびオペコードを示す各命令に対して提供され
る。
各種のビット・フィールドに分解される。
る所定の命令がある。表100は、ADD命令に対して
これが文書化される方法を示す。この命令には、3つの
オペコード・マップ・フィールドすなわちsrc1、s
rc2およびdstがある。第7行において、そのオペ
ランドのタイプは、src1、src2およびdstの
それぞれに対してcst5、longおよびlongで
ある。これらのフィールドの順序は、cst5+lon
g3longであることを意味する。ここで、「+」は
ADDによって実行される演算を表す。この演算は、.
L1または. L2について行うことができる(というの
は、. L1および. L2はそのユニットのカラムの中で
指定されているからである)。各オペランドの前にある
「s」は、src1(scst5)、src2(slo
ng)およびdst(slong)がすべて符号付きの
値であることを意味する。
びdstはそれぞれ、int、intおよびlongで
ある。各オペランドの前にある「u」は、すべてのオペ
ランドが符号なしであることを意味する。「x」で始ま
るオペランドは、デスティネーション・レジスタ・ファ
イルとは異なるレジスタ・ファイルから読み出すことが
できる。そのオペランドは、その命令フィールドの中の
xビットがセットされている場合(オペコード・マップ
の中で示されている)、デスティネーションの反対側の
レジスタ・ファイルから入ってくる。
し、コストを下げ、プログラミングを簡単にするいくつ
かの主要な特徴がある。それらは、パイプラインの増加
によって、プログラム・フェッチ、データ・アクセスお
よび乗算演算における従来のアーキテクチャ的ボトルネ
ックを解消していることと、パイプラインの制御がパイ
プラインのインターロックをなくすることによって単純
化されていることと、パイプラインはサイクルごとに8
個の並列命令をディスパッチできることと、並列の命令
は同じパイプライン・フェーズを通って同時に進行する
ことと、シーケンシャルな命令は相対的なパイプライン
・フェーズ差が同じ状態で進行することと、同じパイプ
ライン・フェーズの間にCPU境界においてロードおよ
びストア・アドレスが現われ、メモリへの書込み後の読
出しの衝突をなくしていることとである。
アクセスおよびプログラム・フェッチの両方に対して提
供されている。これによって、オンチップおよびオフチ
ップの両方において高速の同期型のメモリを使うことが
でき、他の命令との並列な分岐によって無限にネスト可
能なゼロ・オーバヘッド・ルーピングが可能となる。
インターロックがないので、新しい実行パケットはCP
Uサイクルごとに実行に入る。したがって、特定の入力
データでの特定のアルゴリズムに対するCPUサイクル
の数が固定されている。プログラム実行時にメモリ・ス
トールがなかった場合、CPUサイクルの数は、プログ
ラムが実行するためのクロック・サイクルの数に等し
い。
テムまたは割込みによるストールの場合だけである。メ
モリ・ストールの理由はメモリ・アーキテクチャによっ
て決定される。スピードに対してプログラムをどのよう
に最適化するかを完全に理解するためには、プログラム
・フェッチ、データ・ストアおよびプログラムが実行す
るデータ・ロード要求のシーケンスと、それらがCPU
をどのようにストールできるかとが理解される必要があ
る。
PUサイクルに基づいている。CPUサイクルは、特定
の実行パケットが特定のパイプライン・ステージにある
期間である。CPUサイクルの境界は常にクロック・サ
イクル境界において発生するが、メモリ・ストールによ
ってCPUサイクルが複数のクロック・サイクルにわた
って延びる可能性がある。CPUサイクル境界における
マシン状態を理解するためには、パイプラインの実行フ
ェーズ(E1〜E5)について注目するだけでよい。パ
イプラインのフェーズが、図11に示されており、表1
5で説明されている。
れている7つのタイプに分類することができる。各命令
のタイプに対する遅延スロットが、第2のカラムにリス
トされている。
ることができる(表16)。遅延スロットは、その命令
からの結果が利用できない命令の第1の実行フェーズ
(E1)の後で発生するCPUサイクルである。たとえ
ば、乗算命令は1遅延スロットを有し、これはその乗算
命令からの結果を他の命令が使えるまでに1CPUサイ
クルかかることを意味する。
ェーズの間に実行する。オペランドが読み出され、演算
が実行され、結果がレジスタに書き込まれる動作がすべ
て、E1の間に行われる。これらの命令には、遅延スロ
ットはない。
間にその演算を完了する。E1フェーズにおいては、オ
ペランドが読み出され、乗算が開始される。E2フェー
ズにおいて、乗算が終了し、その結果がデスティネーシ
ョン(dst)レジスタに書き込まれる。乗算命令は1
遅延スロットである。
リからロードされるデータおよびアドレス・ポインタ・
修正。
ーズの間にその動作を完了する。E1フェーズにおい
て、データのアドレスが計算される。E2フェーズにお
いて、そのデータ・アドレスがデータ・メモリに送られ
る。E3フェーズにおいて、メモリの読出しが行われ
る。E4ステージにおいて、データがCPUコア境界に
おいて受信される。最後に、E5フェーズにおいて、デ
ータがレジスタにロードされる。データはE5まではレ
ジスタに書き込まれないので、これらの命令は4遅延ス
ロットを有する。ポインタの結果はE1のレジスタに書
き込まれるので、そのアドレス修飾に関連した遅延スロ
ットはない。
の間にその動作を完了する。E1フェーズにおいては、
データのアドレスが計算される。E2フェーズにおい
て、そのデータ・アドレスがデータ・メモリへ送られ
る。E3フェーズにおいて、メモリの書込みが実行され
る。アドレス修飾はパイプラインのE1ステージにおい
て行われる。ストアはパイプラインのE3フェーズにお
いてその実行を完了するが、それらには遅延スロットが
なく、次の規則に従う(i=サイクル): ‐ ストアの前にロードが実行されると、古い値がロー
ドされてからその新しい値がストアされる。 i LDW i+1 STW ‐ ロードの前にストアが実行されると、新しい値がス
トアされ、その新しい値がロードされる。 i STW i+1 LDW ‐ 命令が並列に実行されるとき、古い値がロードさ
れ、新しい値がストアされる。 i STW i+1 || LDW
間に実行され、その分岐命令の5遅延スロット/CPU
サイクルの後にパイプラインの初期E1フェーズに入
る。図12は分岐命令フェーズを示す。図13はクロッ
ク・サイクルおよびフェッチ・パケットに基づいたパイ
プラインの動作を示す。図13において、分岐がフェッ
チ・パケットnにある場合、その分岐のE1フェーズは
n+6のPGフェーズである。サイクル7において、n
はE1フェーズにあり、n+6はPGフェーズにある。
分岐ターゲットはサイクル7においてPGにあるので、
それはサイクル13まではE1には到達しない。したが
って、分岐は、実行するのに6サイクルかかる、すなわ
ち、5つの遅延スロットを有する。
3つの実行パケットを含み、その後に6つのフェッチ・
パケット(n+1〜n+6)が続いていて、それぞれが
1つずつの実行パケット(8個の並列命令を含む)を伴
っているように示されている。最初のフェッチ・パケッ
ト(n)はサイクル1〜サイクル4の間にプログラム・
フェッチ・フェーズを通る。これらのサイクルの間、プ
ログラム・フェッチ・フェーズは次のフェッチ・パケッ
トのそれぞれに対して開始される。
ズであるサイクル5において、CPUは、pビットを走
査し、フェッチ・パケットnに3つの実行パケット(k
〜k+2)があることを検出する。これによって、パイ
プラインが強制的にストールし、DPフェーズが実行パ
ケットk+1および実行パケットk+2をサイクル6お
よびサイクル7において開始することができる。実行パ
ケットk+2がDCフェーズ(サイクル8)へ移行でき
る用意ができると、パイプライン・ストールが解放され
る。
てストールされていたので、CPUはフェッチ・パケッ
トnにおいて3つの実行パケット(k〜k+2)のそれ
ぞれに対するDPフェーズを実行するための時間がある
ことになる。また、フェッチ・パケットn+5もサイク
ル6およびサイクル7においてストールされていたの
で、パイプライン・ストールがサイクル8において解放
されるまでPGフェーズに入ることは許されなかった。
パイプラインは、フェッチ・パケットn+5,n+6に
示されているように、複数の実行を含む別のフェッチ・
パケットまで継続する。
れらは、リセット、ノンマスカブル割込み(NMI)お
よび割込み4〜割込み15である。これらの割込みは、
CPU境界におけるRESET、NMIおよびINT4
〜INT15信号に応答する。いくつかの実施形態の場
合、これらの信号は、そのデバイス上のピンに直接接続
することができ、オン・チップ・ペリフェラルに接続す
ることができ、またはチップ上で永久に不活性となるよ
うに接続されることによってディスエーブルすることが
できる。一般に、RESETおよびNMIはそのデバイ
スのピンに直接接続される。
れている。割込みピン上でローからハイへの繊維が発生
すると、割込みにフラグ・レジスタ(IFR)にその割
込みのペンディング・ステータスがセットされる。その
割込みが正しくイネーブルされていた場合、CPUはそ
の割込みの処理を開始し、プログラムの流れを割込みサ
ービス・ルーチンへ切り換える。
できない。RESETがローからハイへ遷移すると、リ
セットの処理が開始される。他の割込みと違って、RE
SET信号はロー・アクティブであるように名付けられ
ている。RESET信号がローであった場合、CPUの
すべての処理が停止され、すべてのレジスタがそれぞれ
のリセット値へ戻る。
に高い優先度の割込みである。2つの条件はNMIが割
込み処理を発生するのを防止する。すなわち、CPUは
分岐の遅延スロットにあり、その分岐が取られるか取ら
れないかと、割込みイネーブル・レジスタ(IER)の
イネーブル・ビット(NMIE)が“0”であることで
ある。NMIEはリセット時にクリアされてプロセッサ
の初期化を防ぎ、NMI処理時に別のNMIによってN
MIの割込みが再度掛かるのを防止する。NMIはNM
IEをセットすることによって、またはB NRP命令
の実行を完了することによって、再度イネーブルされ
る。
T15はディスエーブルされる。NMIの処理時に、戻
りポインタ(それは前のプログラムの実行を継続する)
が、NMI戻りポインタ・レジスタ(NRP)に格納さ
れる。したがって、B NRP命令は、NMIをサービ
スした後、前のプログラムへ戻る。表18は、NMIか
らの戻りがどのように行われるかを示す。
が割込み処理を発生するのを防止することができる。そ
の条件は、CPUが分岐の遅延スロットに存在するコー
ドを処理していて、「偽」条件により実行を完了しない
条件付き分岐を含むこと、割込みイネーブル・レジスタ
(IER)が“0”であること、IERの対応する割込
みイネーブル(IE)ビットが“0”であること、また
は、制御ステータス・レジスタ(CSR)の割込みイネ
ーブル・ビット(GIE)が“0”であることである。
継続する戻りポインタが、割込み戻り・ポインタ・レジ
スタ(IRP)に格納される。したがって、B IRP
命令は、その割込みをサービスした後、プログラム・フ
ローへ戻る。表19は、マス可能割込みからの戻りがど
のように行われるかを示す。
発生したときに、デバイス11の外のハードウェアに対
してアラートを発する。IACK信号は、CPUが割込
みの処理を開始したことを示す。INUMx信号(IN
UM0〜INUM3)は、処理されている割込みの番号
(IFRにおけるビット位置)を示す。
ジスタを示す。
を共有する。IFRは読み出されることができ、ISR
は書き込まれることができる。他のレジスタはユニーク
・アドレスを有する。
は、ビットの値を制御することによってマスク可能な割
込みをイネーブルまたはディスエーブルすることを可能
にする。GIEは制御ステータス・レジスタ(CSR)
のビット0である。
ネーブルし、それらが処理されるようにする。
ディスエーブルし、それらが処理されないようにする。
ち、前のGIEである。マスク可能な割込みの処理時
に、PGIEにはGIEがロードされ、GIEはクリア
される。GIEビットはマスク可能な割込みの間にクリ
アされて、そのデバイスのステートがセーブされる前に
別のマスク可能な割込みが発生してもよいようにする。
割込みからの戻り時に、BIRP命令を介して、PGI
E値がGIE(CSRの中の)へコピーされて戻され、
前と変わらない値になる。PGIEの目的は、割込みが
既に検出されて処理を待っている間、GIEを適切にク
リアできるようにすることである。
割込みが処理され始めるのとちょうど同じように、GI
Eは、MVC命令によってCSRのビット0に対して
“0”を書き込むことによって、クリアされる。GIE
は、PGIEへコピーされる前にMVC命令によってク
リアされる。割込みからの戻り時に、PGIEはGIE
へコピーされて戻され、結果として、GIEがそのコー
ドによって指令されたようにクリアされる。
を示し、表22は割込みをイネーブルする方法を示す。
(IER)の対応するビットがセットされている場合に
のみ、割込み処理をトリガすることができる。リセット
に対応するビット0には書き込むことができず、常に
“1”として読まれる。RESET割込みは常にイネー
ブルされている。RESETはディスエーブルすること
ができない。ビットIE4〜IE15には“1”または
“0”を書き込むことができ、それぞれ関連付けられて
いる割込みをイネーブルまたはディスエーブルすること
ができる。IERは図15に示されている。
セット割込みをすべてディスエーブルし、NMIの割込
みが禁止される。NMIイネーブル(NMIE)は
“0”の書込みによっては影響されないが、“1”の書
込みによってセットされる。NMIEはリセット時に
“0”に初期化されて、イネーブルされるまでプロセッ
サの初期化のすべての割込みを防止する。リセット後
に、NMIEをセットしてNMIをイネーブルし、IN
T15〜INT4がGIEおよび適切なIEビットによ
ってイネーブルされるようにしなければならない。NM
IEを手動でクリアすることはできない。NMIEはN
MIの発生によってクリアされる。クリアされた場合、
NMIEは、B NRP命令を完了することによっての
み、または、NMIEに対する“1”の書込みによって
のみ、セットされる。
6参照)はINT4〜INT15およびNMIのステー
タスを含む。表23は、その割込みフラグおよびそれら
が対応する割込みをリストする。割込みのステータスを
チェックしたい場合、MVC命令を使ってIFRを読み
出す。
割込みクリア・レジスタ(ICR)(図17および図1
8参照)によってIFRの割込みを手動でセットまたは
クリアすることができる。ISRのIS4〜IS15に
“1”を書き込むことによって、対応する割込みフラグ
がセットされる。同様に、ICRのビットに“1”を書
き込むことによって、対応する割込みフラグがクリアさ
れる。ISRまたはICRのいずれかの任意のビットに
“0”を書き込んでも影響はない。入ってくる割込みに
は優先順位があり、ICRへの書込みに優先する。リセ
ットまたはNMIをセットまたはクリアすることはでき
ない。ISRまたはICRへの書込み(MVC命令によ
る)は、実効的に、1つの遅延スロットを持つ。という
のは、ISRまたはICRへの書込みの後、2サイクル
まではIFRに結果を(MVC命令によって)読み込む
ことはできないからである。
(ISFP)は、割込みをサービスするために使われる
フェッチ・パケットである。ISFPの8個の命令が不
十分であった場合、そのプログラムは追加の割込みサー
ビスのためにこのブロックから分岐して抜け出さなけれ
ばならない。その分岐の遅延スロットがISFPに存在
していなかった場合、実行は次のフェッチ・パケットの
中の実行パケットから継続される。
6個の隣接したISFPであり、ほとんどがIFRの1
つの割込みに対応している。ISTは256ワード境界
(32フェッチ・パケット×8ワード/フェッチ・パケ
ット)に整列されていなければならない。16個の割込
みだけが定義されているが、ISTの中の空間は将来の
可能な32個までの拡張に対して予約されている。IS
Tは、プログラム・フェッチによってアクセスできるメ
モリに存在する。
されている。各フェッチ・パケットは8個の32ビット
命令ワード(すなわち、32バイト)を含むので、下記
の表の各アドレスは、その1つ下から32バイトだけイ
ンクリメントされる。
アドレスに置かれていなければならないが、割込みサー
ビス・テーブルの残りのものは、それが256ワード境
界上で始まる限り、プログラム・メモリのどの場所にあ
ってもよい。割込みサービス・テーブルの場所は割込み
サービス・テーブル・ベース(ISTB)によって決定
される。図19はテーブルの場所に対するISTBの関
係を示す。ISTBは、割込みサービス・テーブル・ポ
インタ(ISTP)レジスタの上位ビット・フィールド
に含まれる。このレジスタは、割込みサービス・テーブ
ルをポイントするために使われるだけでなく、割込みイ
ネーブル・レジスタにイネーブルされる最高優先度のペ
ンディングの割込みを決定するためにも使うことができ
る。
示す。表25はISTPのビット・フィールドを記述
し、それらの使われ方を説明する。表24は、ISTの
各ISFPのアドレスを示している割込みサービス・テ
ーブルである。ISTPは割込み処理のための分岐ター
ゲットとして使われる。また、それは、割込みがディス
エーブルされて、割込みフラグがセットされていてIE
ビットがセットされている最高優先度の割込みのISF
Pのロケーションをポイントするためにも使うことがで
きる。
込みを検出し、その後、表26の下部に示されているよ
うにISTPに保持されている値に分岐させるようにす
ることができる。
NRPレジスタに対する分岐(BIRPまたはB NR
P命令をそれぞれ使って)は、以前のプログラム・フロ
ーを継続する。IRPは、マスク可能割込みのために実
行されなかったプログラム・フローの第1の実行パケッ
トの32ビット・アドレスを含む。このレジスタに値を
書き込むことはできるが、それ以降の割込み処理によっ
てその値が書き換えられる可能性がある。IRPとは独
立のNRPが必要である。というのは、NMIはマスク
可能割込みを中断することができるからである。図20
はIRPを示し、図21はNRPを示す。
す。次に、この図およびINTmの処理について説明す
る。
PU境界上のINTm信号のローからハイへの遷移によ
ってIFRでセットされる。これらの遷移はクロック・
サイクルごとのベースで検出され、CPUサイクルを延
長する可能性のあるメモリ・ストールによっては影響さ
れない。図22において、IFmはCPUサイクル5の
間にセットされる。MVC命令を使って(CPUサイク
ル3の間に)実行パケットn+3のICRのビットmに
“1”を書き込むことにより、ビットIFmをクリアし
ようとすることができる。しかし、この場合、割込み検
出論理による自動的な書込みが優先し、IFmはセット
されたままである。
ィング割込みであり、GIEおよびNMIEによって必
要に応じてイネーブルされると仮定している。そうでな
い場合、IFmは、ICRのビットmに“1”を書き込
むことによってそれがクリアされるかINTmの処理が
発生するときのいずれかまで、セットされたままになっ
ている。
する必要のある割込みが検出される。この処理されるべ
き割込みに対して、次の条件は、同じクロック・サイク
ルにおいて有効でなければならず、クロック・サイクル
ごとに評価されなければならない。 ‐ IFmはCPUサイクル5の間にセットされる(こ
の決定は、割込みロジックによってCPUサイクル4で
行われる)。 ‐ IERの対応するビットがセットされる(IEm=
1)。 ‐ すべてのマスク可能割込みに対して、GIE=1で
ある。 ‐ すべての非リセット割込みに対して、NMIE=1
である。 ‐ すべての非リセット割込みに対して、前の5つの実
行パケット(n〜n+4)は分岐を含んでいない(分岐
が取られない場合であっても)。
遅延スロットの間には取られない。ペンディングの分岐
が完了すると直ぐにペンディングの割込みがあれば取ら
れる。
クル11の間に、次の割込み処理が発生する。 ‐ それ以降の非リセット割込みの割込み処理がディス
エーブルされる。 ‐ 次の実行パケット(n+5からの)が廃棄される。
1つの実行パケットが特定のパイプライン・ステージの
間に廃棄された場合、それはCPUステートを変更しな
い。また、廃棄によって命令が将来のパイプライン・ス
テージにおいて強制的に廃棄される。 ‐ 廃棄された最初の実行パケット(n+5)のアドレ
スがNMIの場合にはNRPにロードされ、他のすべて
の割込みの場合はIRPにロードされる。 ‐ ISTP(INTmに対するISFPに対するポイ
ンタ)に保持されているアドレスに対する分岐が、サイ
クル6の間にパイプラインのE1フェーズの中に強制的
に入れられる。 ‐ サイクル6の間に、IACKがアサートされ、適切
なINUM信号がアサートされてどの割込みが発生され
たかを示す。 ‐ IFmはサイクル7の間にクリアされる。 ‐ NMIを除くすべての割込みに対して、PGIEが
GIEの値にセットされ、その後GIEがクリアされ
る。 ‐ NMIの場合、NMIEがクリアされる。 ‐ リセットの場合、CPUレジスタはそれぞれのリセ
ット値へ戻される。ISTPのISTBが強制的に
“0”にされ、したがって、実行がアドレス0から開始
される。
い。というのは、分岐の遅延スロットの間は割込みはデ
ィスエーブルされているからである。それは、その分岐
が行われなかった場合でも、ディスエーブルされてい
る。 ‐ コードの並列性: フェッチ・パケットのシリアル
またはパラレル・エンコーディングはパイプラインのE
5ステージを通じてDCには影響しないので、割込みと
の衝突は存在しない。
(IDLEを含む)は割り込まれたときに他の命令と同
じ動作をする。ただし、マルチサイクルNOPの第1サ
イクル以外のどれかのサイクルが割込みによって廃棄さ
れるときを除く。次に、パイプライン内の次の実行パケ
ットのアドレスがNRPまたはIRPにセーブされる。
これは、割り込まれたIDLE命令またはマルチサイク
ルNOPへ戻ることを防止する。 ‐ メモリ・ストール: メモリ・ストールはCPUサ
イクルを延長することによって割込み処理を遅延させ
る。CPUサイクルは、割込み処理が発生したかどうか
にかかわらず、メモリ・ストールの間、延長されること
になる。
ーバヘッドは7サイクルである。これは図22から分か
る。この図では、CPUサイクル5〜 CPUサイクル
11の間にE1パイプライン・フェーズに新しい命令は
入ってきていない。 ‐ ラテンシー: 割込みラテンシーは11サイクルで
ある。図22において、割込みはサイクル1においてア
クティブであるが、サービス・コードの実行はサイクル
12までは開始されない。 ‐ 頻度: ロジックは、優先順位を有する割込みが入
って来ている状態で、サイクル7において割込みをクリ
アする。したがって、割込みは1サイクルおきに認識さ
れる。また、ローからハイへの遷移が必要であるので、
割込みは1サイクルおきにだけ発生することができる。
しかし、割込み処理の頻度は、割込みサービスに対して
必要な時間および処理中に割込みを再イネーブルするこ
とによってネストされた割込みを許すかどうかによっ
て、変わる。
ミング法を示す。単独割り当てが使われるとき、ペンデ
ィングの結果を保有するレジスタは読まれない。表27
において、ADDがLDW(および遅延スロットの余分
のNOPサイクル)と並列になっていた場合、そのコー
ドは単独割り当てに従うことになる。というのは、LD
Wからの書込みはまだペンディングにはなっていないか
らである。
込まれる可能性のあるコードでは単独割り当てを採用し
なければならない。割込みが発生した場合、割込み処理
の開始の前にE1に入っているすべての命令は実行を完
了することが許される(E5まで)。他のすべての命令
は廃棄され、割込みからの戻り時に再度フェッチされ
る。割込みからの戻りから入ってきた命令は、その割込
み処理の前の命令からの遅延スロットを経験しない。し
たがって、遅延スロット付きの命令は実際よりも少ない
遅延スロットを持つように現われる可能性がある。たと
えば、表27においてLDWとADDとの間に割込みが
発生した場合、ADDはLDWによってロードされたA
1の新しい値を読むことになる。
入る以外は、割込みと同様に動作する。トラップへの入
口では、割込みはディスエーブルされる。表29および
表30はトラップの呼出しおよび戻りコード・シーケン
スをそれぞれ示す。この方法によって、複数のネストさ
れた割込みが可能となる。トラップ条件(TC)は条件
レジスタA1〜A2または条件レジスタB0〜B2の任
意の1つとすることができる。
をセーブしなければならない。というのは、このコード
例においては、B0は前のGIEを保持し、B1は戻り
アドレスを含むからである。TRAPハンドラがディス
プレースメントを使っている分岐に対する21ビット・
オフセット以内にあった場合、そのシーケンスは8サイ
クルではなく6サイクル縮められる可能性があることに
留意されたい。
とき、割込みはディスエーブルされる。その例外はノン
マスカブル割込みである。というのは、ノンマスカブル
割込みは第2レベルの割込みを許すからである。発生し
た割込みがNMIである場合、それは最初のNMIの処
理が完了した後まで別のNMIによって割り込まれな
い。しかし、NMIは他のどの割込みも中断することが
できる。
(特にそれより高い優先度の)割込みによって割り込ま
れるようにしたいときがあり得る。デフォールトでは、
プロセッサは割込みのソースがNMIでない限り、割込
みサービス・ルーチンがさらに割り込まれることを許さ
ないが、ソフトウェアの制御下で割込みのネスティング
を可能にすることができる。そのプロセスは、元のIR
P(またはNRP)およびIERをメモリまたはレジス
タ(使用されていないレジスタか、後続の割込みによっ
て使われる場合にセーブされているレジスタのいずれ
か)にセーブするステップと、CSRをセーブすること
とともにISRが侵入されたときに必要であれば割込み
イネーブルの新しいセットをセットアップするステップ
とを含む。次に、GIEビットをセットし、割込みサー
ビス・ルーチンの内部で割込みを再度イネーブルするこ
とができる。
11は32ビットの固定小数点ディジタル信号プロセッ
サ(DSP)11であり、それはVLIW CPUコア
に基づいている。そのCPUコアは、2つのレジスタ・
ファイルを使って並列に動作する8個の機能ユニットを
備え、2つのレジスタ・ファイルのそれぞれが16個の
32ビット・レジスタを含む。デバイス11はクロック
・サイクルごとに8個までの命令を実行し、200MH
zのクロック・レートにおいて1,600Mipsの性
能を達成する。プログラムの並列性はコンパイル時にコ
ンパイラによって定義される。というのは、実行時にハ
ードウェアによって行われるデータ依存のチェックはな
いからである。1メガビットのオンチップRAMはデー
タ用およびプログラム用メモリに分割されている。プロ
グラム・メモリの256ビット幅の部分はキャッシュ・
メモリとして構成することができ、そのように構成され
たとき、それは1サイクルごとに8個の32ビット命令
をフェッチする。外部メモリ・インターフェース(EM
IF)はSBSRAMおよびSDRAMなどの各種の同
期型および非同期型メモリをサポートする。EMIFは
ホールド/ホールド・アクノレッジ・プロトコルを使っ
てホストの制御下で外部バスを解放することができる。
さらに、ホスト・プロセッサは別の16ビットのホスト
・ポート・インターフェースを経由してプロセッサのデ
ータ・メモリに直接アクセスすることができる。パワー
アップに続いて、DSPは、チップ上で利用できる2つ
のDMAチャネルの1つを使って8、16または32ビ
ットの外部ROMからDSPをブートすることができ
る。図23はプロセッサ11の高レベルの機能図を示
す。
IW)CPUは、256ビット幅の命令を使ってクロッ
ク・サイクルごとに8つの機能ユニットに対して8個ま
での32ビット命令を供給する。VLIWアーキテクチ
ャの機能は8個のユニットが実行準備未完了の場合、8
個のすべてのユニットに命令が供給されなくてもよいよ
うに制御する。すべての32ビット命令の第1ビット
は、前の命令と同じ実行パケットに次の命令が所属して
いるか、あるいはそれが次の実行パケットの一部として
次のクロックにおいて実行されるべきかどうかを判定す
る。フェッチ・パケットは常に256ビット幅である
が、実行パケットは、図24に交番シェーディングによ
って示されているように、サイズを変えることができ
る。この可変長の実行パケットは、そのCPUを他のV
LIWアーキテクチャと区別する主要なメモリ節約機能
である。
している。各機能ユニットは4個のユニットと1つのレ
ジスタ・ファイルとを含む。この2つのレジスタ・ファ
イルはそれぞれ16個の32ビット・レジスタを含み、
合計で32個の汎用レジスタがあることになる。図24
に示されているように、二組の機能ユニットは、2つの
レジスタ・ファイルとともにCPUのサイドAおよびサ
イドBを構成する。CPUの各サイドにある4つの機能
ユニットは、そのサイドに属する16個のレジスタを自
由に共有することができる。さらに、各サイドは、他の
サイドのすべてのレジスタに接続されている単独のデー
タ・バスを特徴とする。それによって、二組の機能ユニ
ットが反対側のレジスタ・ファイルからデータを相互に
交換することができる。CPUのレジスタ・ファイルと
同じサイドにある機能ユニットによるレジスタ・アクセ
スは、すべてのユニットに対して一つのクロック・サイ
クルでサービスされ、CPUにまたがるレジスタ・ファ
イルを使うレジスタ・アクセスは、1サイクル当たり1
つの読出しおよび1つの書込み用だけである。
ア・アーキテクチャであり、そのアーキテクチャにおい
てはすべての命令がレジスタ(メモリ内のデータに対し
てではなく)に作用する。二組のデータ・アドレッシン
グ・ユニット(. D1および. D2)はレジスタ・ファ
イルとメモリとの間のすべてのデータ転送を排他的に担
当する。. Dユニットによってドライブされるデータ・
アドレスによって、1つのレジスタ・ファイルから発生
されたデータ・アドレスが他のレジスタ・ファイルに作
用するデータ・ロードおよびデータ・ストアにおいて使
われるようにすることができる。CPUは、5または1
5ビット・オフセット付きのリニアまたはサーキュラ・
アドレッシング・モードのいずれかを使って、各種の間
接アドレッシング・モードをサポートする。すべての命
令は条件付きであり、ほとんどが32個のレジスタのう
ちの任意の1つにアクセスすることができる。しかし、
いくつかのレジスタは、特定のアドレッシングをサポー
トするために、あるいは条件付き命令に対する条件を保
持するために、専用に使われる(その条件が自動的に
「真」でない場合)。2つの. M機能ユニットは乗算器
に専用になっている。2つの. Sおよび. Lの機能ユニ
ットは一般的な算術演算、論理演算および分岐機能を実
行し、その結果はクロック・サイクルごとのレートで得
られる。しかし、ラテンシーは複数ステージ実行パイプ
ラインのために1サイクル〜5サイクルの間で変化する
可能性がある。
の命令フェッチ・パケット(IFP)が内部プログラム
・メモリ(キャッシュとしても構成することができる)
からフェッチされたときに開始される。個々の機能ユニ
ットに対して向けられる32ビットの命令は、命令フェ
ッチ・パケットの中の各命令の最下位ビット1にある第
1ビットによって一緒に「リンク」される。同時実行
(合計で8個まで)のために「チェイン」される命令は
「実行パケット」を構成する。命令のLSBに“0”が
1つあると、チェインが破られ、それに続く命令が実効
的に次の実行パケットに置かれる。実行パケットがフェ
ッチ・パケット境界(256ビット幅)を横切る場合、
コンパイラはそれを次のフェッチ・パケットに置き、一
方、現在のフェッチ・パケットの残りの部分にはNOP
命令が埋められる。1つのフェッチ・パケットでの実行
パケットの数は“1”から“8”まで変化する可能性が
ある。実行パケットはクロック・サイクル当たりに1つ
のレートでそれぞれの機能ユニットに対してディスパッ
チされ(図「24????」参照)、また、次の256
ビットのフェッチ・パケットは、現在のフェッチ・パケ
ットからの実行パケットがすべてディスパッチされるま
では、フェッチされない。デコードされた後、その命令
は、すべてのクロック・サイクルにおいて8個の命令の
最大実行レートですべてのアクティブな機能ユニットを
同時にドライブする。ほとんどの結果は32ビットのレ
ジスタに格納されるが、それらはバイトまたはハーフ・
ワードとしてメモリにも格納することができ、実効的に
すべてのストアおよびロードをバイト・アドレス可能に
することによって、所要メモリを大幅に節約することが
できる。
る。
イルA,Bを特徴とするロード/ストア・アーキテクチ
ャに基づいたレジスタを備えている。すべてのデータ操
作命令は、レジスタに存在しているデータについて働
く。そのデータは、別のロードおよびストア命令を使っ
てレジスタとメモリとの間で転送される。汎用レジスタ
・ファイルは32ビット幅であり、それぞれが16個の
レジスタを含む。サイドAのレジスタはサイドAの4個
の機能ユニットに対する複数のパスを有し、サイドBの
レジスタはサイドBの機能ユニットに対する複数のデー
タ・パスを有する。データの共有を可能にする反対側の
レジスタ・ファイル/機能ユニットとの間に一つのクロ
ス・パスがあるが、最適のデータ・スループットのため
に、サイドAの機能ユニットは主としてサイドAのレジ
スタにあるデータに作用し、そしてサイドBのユニット
はサイドBのデータに作用するべきである。すべての汎
用レジスタは、レジスタをペアにグループ化することに
よって、40ビットのデータに作用する命令で使うこと
ができる。ほとんどのレジスタをほとんどの命令で使う
ことができるが、いくつかは、以下に示されるように、
特定の使用法もある。
PUは一組の制御レジスタを有し、それらは割込み、プ
ログラム・キャッシュ操作、パワーダウン・モード、デ
ータ・サチュレーション、リニア/サーキュラおよびエ
ンディアン・アドレッシング・モードの設定、プログラ
ム・カウンタのアクセス、汎用I/Oの実行およびプロ
グラム・メモリへの書込みを制御するために使われる。
そのメモリはバイト・アドレス可能であり、また、その
合計のアドレス範囲は4Gバイト(32ビットの内部ア
ドレスに対応する)である。メモリ・マップは内部プロ
グラム・メモリ、内部データ・メモリおよび3個の外部
メモリ空間および内部ペリフェラルの空間に分割されて
いる。内部メモリのセクションはホスト・ポート・イン
ターフェース(HPI)によってアクセスされ得る。
プ・プログラム/キャッシュ・メモリと、512Kビッ
トのオンチップ・データ・メモリとから構成されてい
る。プログラム・メモリはキャッシュまたはプログラム
として構成可能であり、2Kの256ビットのフェッチ
・パケットに編成されている。DSPはすべての命令を
一度に1つのフェッチ・パケットでフェッチする。その
パケットは、CPUサイクル当たり8個の32ビット命
令の最大レートで、あるいは1サイクル当たり1命令の
最小のレートで、処理される。内部データ・メモリはC
PUによってバイト・アドレス可能であり(読出しも書
込みも)、バイト、ハーフ・ワードおよびフル・ワード
の転送をサポートする。
ータ・アクセスは外部メモリ・インターフェース(EM
IF)を通過する。外部メモリは、3つの空間すなわち
CE0、CE1およびCE2に分割されている。それぞ
れが、対応する空間との間のデータ・アクセス時にアサ
ートされる専用のチップ・イネーブル信号を備えてい
る。各外部空間は、非同期メモリにアクセスするときに
読出し/書込み・サイクルの形状を決定するための別の
内部ペリフェラル・バス・レジスタを割り当てている。
空間も、他のタイプのメモリに対してインターフェース
することができる。SBSRAMまたはSDRAMのメ
モリは、リセット時に信号グループCE0_TYPEお
よびCE2_TYPE(ピンDC2〜ピンDC5)上の
信号レベルを制御することによって、それらの2つの空
間に割り当てられ得る。
してだけインターフェースすることができる。しかし、
CE0およびCE2空間は常に32ビット幅であるが、
CE1メモリ空間は、信号グループCE1_WIDTH
(ピンDC6〜ピンDC7)上の信号レベルを制御する
ことによって、8または16ビットの幅に構成すること
もできる。EMIFは読出しサイクル時にバイトおよび
ハーフ・ワードをワード中に自動的にパックする。これ
は8または16ビットのEPROMからブートするとき
によく使われる機能である。CE1メモリ空間はROM
にインターフェースするために使うことができる。とい
うのは、ROMサイクルは非同期SRAM読出しサイク
ルと似ているからである。
リからの読出しが可能な唯一の外部メモリ空間である
が、任意の外部メモリ空間からの読出しサイクルは32
ビット幅の外部メモリからバイトまたはハーフ・バイト
のサイズのデータをアクセスできることに留意された
い。EMIFデータ書込みサイクルは、バイト選択のた
めのBE_制御信号を使って、外部メモリに対してもバ
イト、ハーフ・ワードまたはワードを転送できる。デー
タ読出しサイクルは常に4バイトすべてをラッチし(4
つのBE_がすべてアクティブになる)、次に、 その
データ・サイズが32ビットより小さい場合は、CPU
は適切なバイトを内部的に抽出する。プログラム・メモ
リ・コントローラまたはDMAによって要求されたEM
IFの書込みは常に(データ・メモリ・コントローラに
よって発せられる8、16または32ビットの転送とは
反対に)32ビット幅であることに留意されたい。
T信号グループ)の状態は、内部プログラムRAMが外
部メモリ空間CE0,CE1の前後にメモリ・マップに
置かれるかどうかを決定する。選定されたメモリ・マッ
プ・モードのタイプは、普通は、デバイス・パワーアッ
プに続いて使われるスタートアップ手順によって変わる
(このデータ・シートの「リセット後のスタートアッ
プ」のセクション参照)。
ピンは、個々のバイト・アドレスがワード内部で増加す
る順序を判定する(1つのワードの下位バイトは、ビッ
ト0〜ビット7または32ビット・ワードのうちのビッ
ト24〜ビット31を表すことができる)。類似の方法
で、LENDIANピンはワード中のハーフ・ワードの
順序も決定する。LENDIANピンは外部メモリ・ア
クセス以外に内部データ・メモリにも影響する。
プド制御レジスタを経由してアクセスされ制御される。
1つの実施形態は2個のペリフェラルを含み、それらは
拡張メモリ・インターフェース(EMIF)および2チ
ャネルのダイレクト・メモリ・アクセス・コントローラ
(DMA)である。DMAチャネルの1つであるDMA
0は、ブートロード・スタートアップ手順の間にプロセ
ッサによって使用され、リセット後の内部プログラム・
メモリを初期化する。
CPUからもホスト・ポート・インターフェース(HP
I)を介してもアクセスされ得る。CPUは、8つのカ
ラムに編成された64Kバイトとして内部データ・メモ
リを見る。各カラムは1バイト幅で高さが16K行であ
る。HPIは同じメモリを4つのカラムにわたってアド
レスし、それぞれが1ハーフ・ワード幅であり16K行
の高さ(合計32Kハーフ・ワード)である。CPUと
違って、HPIは内部データをリトル・エンディアン
(Endian)モードでアドレスする機能を備えてい
るだけであり、その場合、個々のハーフ・ワードのアド
レスはフル・ワードのアドレスと同じ方向に成長する。
アドレッシングの例については図26を参照されたい。
ために、DSPの内部データ・メモリを4つのブロック
に編成することができる。各ブロックは2バイト幅で1
6K行の高さである。図27および図28に示されてい
るように、データはCPUによってバイト・アドレス可
能であり、そのアドレスは左から右へブロックにまたが
って増加する(この例はリトル・エンディアン・アドレ
ッシング・モードを使っている)。CPUの両側が同じ
CPUサイクルの間にデータを同時にアクセスするため
には、サイドAのデータのバイトはサイドBのデータ・
バイトと同じメモリ・ブロックには存在することはでき
ない。図27に示されているように、1ワードのデータ
がサイドAのレジスタにロードされるのと同時に、別の
ワードがサイドBのレジスタからストアされる。しか
し、図28の2つのアクセス(両方とも8ビット幅)は
2サイクル掛かる。というのは、両方のバイトが内部デ
ータ・メモリの同じブロックに存在するからである。
信号の立下りエッジの直後から始まる。リセット時に、
プロセッサのすべての機能ブロックは既知の状態に初期
化される。それはすべてのCPUおよび内部ペリフェラ
ル・バス・レジスタと同様に行われる。外部メモリ・イ
ンターフェース出力信号(HOLDAを除く)およびす
べてのホスト・ポート・インターフェース出力信号は、
RESET_の立下りエッジの直後にトライステート状
態になる。それらは、RESET_信号がハイ・レベル
に戻るまで、トライステートのままになっている。
イス・リセット中に特別の機能を持つ。それらは図29
に示されているようなデバイス・コンフィギュレーショ
ン・ピンとなる。最下位ビットHPIFアドレス・ピン
はメモリ・マップ・セレクト・ピンとなる(それはま
た、将来の改訂版においてはブートDMA転送ソース・
アドレスを選択することになる)。そのピンに対するロ
ーまたはハイ状態の選択は、普通は、リセット後のプロ
セッサ・スタートアップ・モード(ピンDC13〜DC
11)によって変わる。
除された直後から動作を開始できるための2つの方法が
ある。信号DC11の状態(リセット時の)が、そのデ
バイスが外部アドレス0hから直接のプログラム実行を
開始するか、最初に内部DMAチャネル0を使って外部
のEPROMから内部プログラム・メモリにブート・ロ
ードした後、内部アドレス0hからプログラム実行を開
始するかどうかを決定する。
時のDC(13〜11)の000bの値によって、DS
Pは、アドレス0h(リセット・サービス・フェッチ・
パケットのロケーション)から始まるメモリから直接に
プログラム実行を開始する。使用されているMAP_B
OOTモードによって、アドレス0hはチップの内部ま
たは外部に入ることになる。代表的なMAP_BOOT
モード0(リセット時にピンDC1ロー)が、リセット
時にホストによって正しく初期化された32ビットの外
部のEPROMまたはSRAMから実行を開始するため
に使われる。メモリ・マップ1・モードはいくつかのD
SPによって直接に実行を開始するために使われること
はほとんどない。というのは、DSP自身による以外に
内部プログラム・メモリを初期化するメカニズムがない
からである(いくつかの実施形態はDMAチャネルの1
つを経由して内部プログラム・メモリにアクセスするた
めの機能を備えた、強化されたホスト・ポート・インタ
ーフェースを含むことができる)。
のDC(13〜11)の001bの値によってDSP
DAMチャネル0が、0hから始まる内部プログラム・
メモリに外部メモリ空間CE1からデータのブロックを
転送する。ブート・ブロックのサイズはリセット時のD
C(10〜8)の状態(図29参照)によって決定され
る。メモリ・マップのアドレス0hにある内部プログラ
ム・メモリ・ロケーションはMAP_BOOTモード1
(リセット時にピンDC1がハイ)に対応する。DSP
は、ブート・ロード・スタートアップに対してはMAP
_BOOTモードをサポートすることができない。DM
A転送の完了時に、プロセッサは内部プログラム・メモ
リ・アドレス0hからリセット・サービス・フェッチ・
パケットの実行を開始する。普通、リセット・パケット
は他の内部サービス・フェッチ・パケット(ISFP)
を飛び越してアプリケーション・ブートローダ・プログ
ラムへジャンプする分岐命令を含む。次に、ブートロー
ダは、アプリケーションによって初期化されたデータで
内部データ・メモリにロードする可能性が高く、外部メ
モリ空間CE0またはCE2の中のいくつかのロケーシ
ョンに対して別のプログラム・ブロックをロードした
後、メイン・プログラム・ループへ分岐する。
に、それに対応すビットが割込みイネーブル・レジスタ
(IER)にセットされていなければならず、また、グ
ローバル割込みイネーブル・ビット(GIE)が制御ス
テータス・レジスタ(CSR)に同様にセットされなけ
ればならない。割込み処理時に、プロセッサは現在のプ
ログラムの実行を停止し、次の命令のアドレスを割込み
リターン・ポインタ(IRP)で実行するようにスケジ
ュールされる。ノンマスカブル割込み(NMI)の場
合、戻りアドレスはNRPレジスタにセーブされる。次
に、プログラム実行は、割込みサービス・テーブルの1
6のあらかじめ割り当てられた隣接したロケーションの
1つに対してリダイレクトされる(ISTベースがリセ
ットに続くアドレス0hに対してISTベースが割り当
てられているが、ISTPレジスタのISTBフィール
ドを変更することによって1Kバイトのアドレス境界上
の任意の場所にリロケートすることができる)。ISF
Pは8個の命令から構成されており、そのうちの1つ
は、IRPアドレスに対する分岐(割込みからの戻りの
ために)であるか、割込みサービス・ルーチン(IS
R)がISFPより大きい場合には、追加のコードに対
する分岐でなければならない(図32参照)。他の割込
みに属するISFPに侵入するのを防ぐために、その分
岐はISFPの終了前に少なくとも5サイクルにおいて
実行されなければならない。これは、その分岐5非並列
命令をISFPの終わりの前に置くことによって、また
は、その分岐をNOP5命令による分岐に従うことによ
って、実行することができる。
状態で、GIEがイネーブルされていた場合、ライン中
の次の割込みのISFPをポイントしているアドレスを
含むISTPレジスタをポールすることによって、最高
優先度のアクティブ割込みを依然としてソフトウェアで
識別することができる。すべてのアクティブ割込みは、
割込みフラグ・レジスタ(IFR)をポーリングするこ
とによっても識別することができる。割込みセットおよ
びクリア・レジスタ(ISRおよびICR)を使って、
ソフトウェアで手動に割込みをセット/クリアすること
ができる。
リアされ、アクティブ割込みが4つのINUMピン上に
エンコードされる。これはIACKパルスの先頭におい
て行われる(データ・シートのタイミング・セクション
参照)。同時に、GIEビットがCSRのPGIEフィ
ールドへコピーされ、GIEビットがNMI以外のすべ
ての割込みに対してクリアされる。GIEビットはB
IRPまたはB NRP命令を経由して、(E1フェー
ズの終りにおいて)割込みからの戻り時に再度イネーブ
ルされる。
PLL(フェーズ・ロック・ループ)回路をドライブ
し、その回路がすべての内部および外部クロックを発生
する。PLLは、普通は、外部発振器の周波数を4倍ま
たは2倍にして、その結果のクロックをCLKOUT1
出力ピンに供給する。CLKOUT1の内部バージョン
がプロセッサによって命令サイクル・クロックとして使
われる。このデバイスのほとんどのタイミング・パラメ
ータは、CLKOUT1クロックに、詳しくはその立上
りエッジに、相対的に定義される。CLKOUT2は、
その半分の周波数でCLKOUT1から導かれる別の出
力クロックである。それは、主として、SDRAMなど
のいくつかの同期メモリをクロックするために使われ
る。
ック回路は×1のモードでも動作することができる。そ
の場合、入力クロック周波数はCLKOUT1出力クロ
ック周波数と同じである。乗算の係数を選定する際に考
慮すべき要因は、ボード・レベル・ノイズおよびクロッ
ク・ジッターなどである。×4のモードはボード・ノイ
ズが最小になり、×2のモードではジッターが減少す
る。クロック・モードは、図33に示されているよう
に、2つのCLKMODEピンによって制御される。
な時間は、CLKINおよびCLKOUT1の周波数に
依存し、普通は10マイクロ秒の範囲にある。正確な時
間についてはPLLのコンポーネント選択表を参照され
たい。同期時間はリセット信号の持続時間に影響し、リ
セットはPLLが適切な出力周波数に同期するのに十分
な長さの時間アサートされていなければならない。
と期待されるCLKOUT1の周波数の範囲を示す。P
LLはまた、2個のバイパス・キャパシタ(PLLVと
PLLGとの間)、外部ローパス・フィルタ・コンポー
ネント(R1、C1、C2)およびEMIフィルタ)を
必要とする(図33参照。R1、C1、C2およびフィ
ルタの値はCLKINおよびCLKOUT1の周波数に
よって変わる。PLL外部コンポーネントおよびEMI
フィルタに対する正しい値を選定するには、PLLコン
ポーネント選択表31を参照されたい。
は、回路が1つの論理状態から別の論理状態へスイッチ
する間に消費される。チップのロジックの或る部分また
はすべてがスイッチするのを防止することによって、大
幅な電力節約が実現され、図34に示されているように
データまたは動作コンテキストを失わずに実現される。
パワー・ダウン・モードidle1およびidle2の
ブロックは、そのロジックの選択されたブロックの境界
において内部クロック入力をブロックし、実効的にそれ
らがスイッチングしないようにする。idle1はCP
Uをシャット・ダウンし、idle2モードはCPUお
よびオンチップ・ペリフェラルの両方をシャット・ダウ
ンする。追加の電力節約がパワーダウン・モードidl
e3において得られる。その場合、オンチップ・クロッ
ク・ツリー全体(複数のバッファを含む)が、クロック
PLLであるクロック源において「切り離される」(図
34参照)。
ス・レジスタ(CSR)のPWRDフィールド中のビッ
ト0〜2を設定することによってトリガされる。Idl
e3モードはデバイス・リセットによってのみ打ち切る
ことができ、一方、Idle1およびIdle2モード
は、PWRDフィールドのビット3,4によって指令さ
れるように、イネーブルされた割込みまたは任意の割込
み(イネーブルされたまたはされていない)によっても
終了することができる。CSRに書き込むとき、PRW
Dフィールドのすべてのビットを同時にセットしなけれ
ばならない。2つ以上の論理“1”がPRWDフィール
ドのビット0〜2に書き込まれたとき、そのうちの最上
位のイネーブル・ビットがそのパワー・ダウン・モード
を決定する。
す。
示す。
示す。
F)は、チップの外部にあるデータのアクセスを担当す
る。図23に示されているように、EMIFは、3つの
機能ブロック、すなわち、データ・メモリ・コントロー
ラ、プログラム/キャッシュ・コントローラまたはDM
Aコントローラのうちの1つから外部データ・アクセス
に対する要求を受け取ることができる。EMIFの動作
は、内部ペリフェラル・バスによってアクセスされるメ
モリ・マップされた制御レジスタを経由して構成するこ
とができる。すべてのEMIFプログラムまたはデータ
のアクセスは、共通の23ビット・アドレス・バスおよ
び32ビット・データ・バスを使用する。
の各々が、3つのチップ・イネーブル、すなわち、CE
2_、CE1_およびCE0_の1つによって表されて
いる。プロセッサが3つのメモリ・マップ外部空間2,
1,0のどれかに対して読出しまたは書込みを行うと、
これらのチップ・イネーブルのうちの1つがアサートさ
れなければならない。バイト・イネーブル制御信号、す
なわち、BE3_〜BE0_は、データ・メモリ・コン
トローラによって要求されたEMIF書込みサイクルの
間に、個々のバイト、ハーフ・ワードまたはワードを選
択する。すべてのプログラムおよびDMA要求のサイク
ルは、データ・メモリ・コントローラ読出しサイクルと
同じように、32ビット幅であり、結果として、4個の
すべてのBE_信号はアクティブになる。データ・メモ
リ・コントローラ書込みサイクルは、個々のBE_を使
ってバイトまたはハーフ・ワード・データにアクセスし
て、アクティブなバイトを選択する。各ワード中のバイ
トのアドレッシングは、LENDIANピンによって高
いビットまたは低いビットの方向への順序に設定され
る。
をサポートするためにプログラムすることができるが、
CE_空間1は、パワー・アップ時にシステムをブート
するために普通に使われるROMなどの非同期メモリ・
サイクルだけに制限される。ROM読出しサイクルは制
御信号の観点からCE0_およびCE2_非同期メモリ
・サイクルに同じであるが、CE_1サイクルは、RO
Mが8または16ビット幅の場合、バイトをワード中に
パックする柔軟性を備える。外部ROMサイズは、リセ
ット時にピンDC7,6によってエンコードされると期
待される。
のメモリは、リセット時にDCピンを経由しても符号化
される。ピンDC3,2はCE0_空間に対するメモリ
のタイプを指定し、一方、ピン5,4は空間CE2_の
ためのメモリのタイプを指定する。サポートされている
メモリのタイプは、非同期メモリ、同期バーストSRA
M(SBSRAM)および同期DRAM(SDRAM)
を含む。外部制御サイクルを使ってEMIFグローバル
制御レジスタの適切なビットをセットすることによっ
て、CE_空間0およびCE_空間2をドライブするこ
とができる。外部制御サイクルは、それらが低速I/O
デバイスに本来的な長い応答時間を収容するために個々
のバス・サイクルを伸張するためにリクエスト/レディ
のハンドシェーキングを使用する点で、メモリ・サイク
ルとは異なっている。EMIFは上記メモリ・サイクル
のそれぞれに対して別々の制御信号のセットを提供する
(図23参照)。
は、ホストとDSPとの間でEMIFバスの所有権を調
停するために使われる。図38はEMIF信号を示す。
_制御信号を使ってメモリ・デバイスをイネーブルし
て、そのデータをデータ・バス上に置く。EMIF制御
レジスタは、読出しサイクルの形状と各アドレスが有効
である時間とを定義する。図39の読出しサイクルの形
状は、EMIF CE外部空間タイミング・レジスタ
(外部空間CE0,CE1,CE3を定義する3つのレ
ジスタのうちの1つ)の1サイクル・セットアップ、1
サイクル・ストローブ幅および1サイクル・ホールド・
フィールドに対応する最も高速の可能な非同期読出しで
ある。
_制御信号を使ってメモリ・デバイスにデータをラッチ
する。AXWE_信号の形は、EMIF外部タイミング
・レジスタのフィールドを設定することによってプログ
ラムされる。図40のサイクルは、1サイクル・セット
アップ、1サイクル・ストローブ幅および1サイクル・
ホールド・タイム(最高速の書込み)に対応する。非同
期メモリAXOE_およびAXWE_制御信号は外部制
御サイクルの間にも使われる。
・タイミングを示し、図40は非同期メモリ書込みサイ
クル・タイミングを示す。
E_およびAXOE_制御信号の形状および持続時間を
決定する3つのフィールドを含む。図39および図40
に示されている例は、CE空間タイミング・レジスタの
セットアップ、ストローブおよびホールド・フィールド
にプログラムされた“1”の値に対応する(最小の許容
値)。各読出しおよび書込みは、プログラム可能でない
1サイクル内部アドレス・ラッチ・タイムも含む。AX
OE_信号が連続した読出しサイクルの間に入ってこな
い場合であっても、セットアップ、ストローブおよびホ
ールドの値の組み合わされた結果によって、各読出しの
総合の長さが決定される。
外部メモリ・アクセスは、EMIFグローバル制御レジ
スタの適切なビットをセットすることによって、外部コ
ントローラ・サイクルに変換され得る。外部コントロー
ラ・サイクルはすべて、AXOE_およびAXWE_制
御信号を使ってデータ転送の方向を指定する。読出しお
よび書込みの両方に対して、DSPは、XREQ_制御
信号をローにドライブして読出しまたは書込みサイクル
の開始を知らせる。外部デバイスがデータ転送に対して
準備ができていた場合、それはただちにAXRDY信号
をハイにドライブする。AXRDYは、外部デバイスが
転送データに対して準備ができている限り、ハイに保た
れる。外部デバイスが転送の準備ができていないとき、
それはただちにAXRDY信号をローにドライブして、
それがふたたびレディになるまで現在のバス・サイクル
をストールする必要がある。外部コントローラ・タイミ
ング波形については図6および図7を参照されたい。
・タイミングを示し、図42は外部コントローラ書込み
サイクル・タイミングを示す。図43および図44は、
DSPとSBSRAMとの間の読出しおよび書込みサイ
クルのデータ転送を示す。SBSRAMインターフェー
スは4個の専用のSBSRAM制御信号から構成されて
いる。アドレス・ストローブSSADS_は、バースト
転送の最初のアドレスをSBSRAMデバイスにラッチ
するために使われる。書込みサイクルの場合、それはデ
ータが転送されている限り連続的にアサートされてい
る。読出しサイクルの場合、SSADS_信号はバース
ト転送の最初のワードに対してだけアサートされ、アド
レスがシーケンスを壊すたびごとにアサートされる。バ
ースト・サイズ(1〜4読出し)はアドレスの下位2ビ
ット(EA1およびEA0)によって決定される。読出
しアドレスがSBSRAMにラッチされると、DSPは
アドレス・アドバンス信号をアサートし、所望のアドレ
スがシーケンスの次のアドレスである限りそれをローに
保つ。SSOE_信号によって、SBSRAMデバイス
はデータをバス上に置き、また、SSWE_によって、
SBSRAMがデータを受け取ることができる。
イミングを示し、図44はSBSRAM書込みサイクル
・タイミングを示す。
ースト動作に限定されている。読出しおよび書込みサイ
クルは両方とも、SDRAMデバイスに対して順次送ら
れる3つのコマンドから構成されている(図45および
図46参照)。各コマンドは、CE_、SDA10、D
SRAS_、SDCAS_およびSDWE_制御ライン
上の信号レベルの異なる組合せによってエンコードされ
る。最初に、ACTVコマンドが2つのSDRAM内部
バンクのうちの1つを活性化する。READまたはWR
ITEコマンドはDSPとSDRAMメモリとの間での
データ転送を指令する。最後に、DCABコマンドはS
DRAMの両方のバンク(バンクA,B)を非活性化す
る。SDRAMはCLKOUT2クロックを使ってデー
タを転送し、コマンドをラッチする。読出しサイクルの
場合、データは、SDCAS_の立上りエッジに続く正
確に2個のCLKOUT2サイクルだけSDRAMによ
ってバス上にドライブされる。この読出しLATENC
Yは、SDRAM初期化時にDSPによってSDRAM
にプログラムされる。
間は、他のタイプのメモリの場合とは異なる動作をす
る。各BE_信号は、対応するSDRAM DQM入力
に接続されている必要がある。読出しの場合、SDQM
制御は出力イネーブルとなり、書込みの場合、それらは
書込みマスキング(SDRAMのバースト動作に関連付
けられている)の機能を仮定する。
して送られる初期化コマンドを示す。最初に、SDRA
Mの両方のバンクがDCABコマンドによって非活性化
される。次に、8個のリフレッシュ・サイクルが発行さ
れ、次に、MRS(モード・レジスタ・セット)コマン
ドが発行される。このコマンドは、適切なEMIFレジ
スタに格納されている値に従ってSDRAMの内部の制
御レジスタを初期化する。MRSコマンドの間、SDR
AM初期化データが、実際に、データ・バスの代わりに
アドレス・バス上に出力される。
ュされなければならない。アドレス・ピンの1つEA1
0がリフレッシュ動作に関係しているので、それは、リ
フレッシュ中にアクティブになっている可能性のある他
のメモリ・サイクルと干渉しないようにするために、S
DA10としてSDRAMインターフェースの排他的使
用のために複製される。図48は非同期メモリ読出しシ
ーケンスの途中でのSDRAMリフレッシュ・サイクル
を示す。一つのリフレッシュ・サイクルの間に、2つの
コマンドがSDRAMに対して発行される。第1のコマ
ンドはSDRAMバンクを非活性化し(DCAB)、第
2のコマンドはCASビフォアRASリフレッシュを実
行する。DCABコマンドによるアドレス・ピンEA1
0の使用にかかわらず、非同期メモリ読出しサイクルは
複製ピンSDA10を経由して中断されずに進行してい
ることは、図から明らかである。
ミングを示し、図46はSDRAM書込みサイクル・タ
イミングを示す。図47はSDRAM初期化サイクル・
タイミングを示し、図48はSDRAMリフレッシュ・
サイクル・タイミングを示す。
イ・パルスによってトリガされる。CLKOUT1の1
つの立上りエッジにおいてINTxがローであると認識
され、かつ、次のCLFOUT1の立上りエッジにおい
てINTxがハイであると認識された場合、外部割込み
が検出される。早くも3サイクル後に、IACK信号は
4本のINUM信号線上に符号化されたアクティブな割
込みの番号を伴って1サイクルの間パルスを発生するこ
とができる。IACKおよびINUM信号は、外部割込
みにしてだけでなく、任意の割込み処理の開始を示す。
INUM識別番号は、IFR(割込みフラグ・レジス
タ)内の処理される割込みの相対的ビット位置を反映し
ている。また、IACKパルスの1つ前のサイクルにお
いて、実行ステージに達していなかったすべての命令
(分岐遅延スロットを除く)が廃棄され、実行ステージ
に最も近い破棄された命令のアドレスが適当な割込み戻
りポインタ(IRPまたはNRP)にセーブされる。既
に実行を開始していた命令は、割込みサービス・フェッ
チ・パケットがフェッチされてデコードされている間
に、残りの実行ステージを完了する。7つのフェッチ/
デコード・サイクルの間に、プロセッサは新しい命令の
処理を開始しない(したがって、7サイクルの割込みオ
ーバヘッド)。割込みサービス・フェッチ・パケット
は、IACKに続く7番目のサイクルにおいて実行を開
始する(図49参照)。
ての立上りエッジにおいてサンプルされる。それがアク
ティブ(ロー)であると検出された場合、すべてのホス
ト・ポート・インターフェース出力信号の他、HOLD
Aを除くすべてのEMIF出力信号が、次のCLKOU
T1の立上りエッジにおいてトライステートにされる。
リセットのアサートが解かれた後、そのトライステート
化された信号は1クロック・サイクル以内にDSPによ
ってふたたびドライブされる(図50参照)。
に続く数マイクロ秒以内に、指定された出力周波数にロ
ック・アップする。実際の時間は、選定されたPLL動
作モードおよびCLKIN/CLKOUT1周波数範囲
によって変わる。
T信号の状態によっては影響されないことに留意された
い。
によって使われ、ホスト・プロセッサが直接にシステム
・リソースをアクセスするためにシステムからDSPを
電気的に切り離す。図51に示されているように、HO
LD/HOLDAサイクルはEMIF(HOLDAを除
く)およびHPIにおけるすべての出力信号をトライス
テートにする。バスを要求するために、ホスト・プロセ
ッサはHOLD信号をハイにドライブする。DSPがレ
ディのとき、それは、EMIFおよびHPIバスをトラ
イステートにするとともにHOLDA信号をアサートし
て、バスがドライブされなくなっていることをホストに
通知することによって、応答する。HOLDおよびHO
LDA制御信号が両方ともハイである限り、ホストはバ
スを使うための許可を得ている。HOLDA信号がアサ
ートされなくなると、DSPはHOLDA信号をローに
することによって応答し、その時点でDSPはEMIF
およびHPI出力のドライブを回復する。
T_信号の状態によっては影響されないことに留意され
たい。
いる16ビットのホスト・ポートを経由する読出しおよ
び書込みサイクルを示す。DSP rev A HPI
は内部データ・メモリに対するホスト・アクセスを提供
する。データ転送が進行する前に、ホストはデータ・メ
モリ・コントローラから許可を得なければならない。デ
ータ・メモリ・コントローラは、応答するのに少し時間
が掛かる可能性がある。それはCPUまたはDMAから
のアクセスに対する同様な要求によって変わる。データ
・メモリに対するアクセスを要求するために、ホストは
HREQ制御信号をアサートする。DMCがホストに対
してアクセスを許可する準備ができているとき、それは
HACK信号をハイにドライブする。その時点で、ホス
トはDSP内部データ・メモリの所有権を得る。データ
転送が完了すると、ホストはHREQ信号のアサートを
解除する。DSPがHREQ信号の状態の変化をセンス
した後、それはHACK信号をローの状態に戻し、内部
データ・メモリの制御をふたたび得る。ハンドシェーク
信号HREQ,HACKのタイミングはCLKOUT1
の立上りエッジに対して相対的に規定されるが、残りの
ホスト・ポート・タイミング・パラメータはCLKOU
T1クロック・サイクルで規定される。
れている。データ・メモリ・システムは、4つのバンク
に分割されている64Kバイトのメモリとデータ・メモ
リ・コントローラとを含む。CPUは、8ビット・バイ
ト、16ビット・ハーフ・ワードおよび32ビット・ワ
ードの長さでデータ・メモリをアクセスすることができ
る。データ・メモリ・システムは1つのサイクル中に2
つのメモリ・アクセスをサポートする。これらのアクセ
スは、CPUのLD1またはLD2およびST1または
ST2のデータ・パスからのロードおよびストアの組合
せであることができる。同様に、内部および外部メモリ
の同時アクセスはデータ・メモリ・システムによってサ
ポートされる。また、データ・メモリ・システムはDM
Aおよび外部ホストのアクセスもサポートする。DMA
およびホスト・ポートの動作はこの本の中の他の章にお
いて説明されている。
の4つのバンクに編成されている。このインターリーブ
されたメモリ構成は2つの同時メモリ・アクセスの1つ
の方法を提供する。1サイクル中で発生する2つの異な
る内部メモリ・バンクに対する2つの同時アクセスは、
最高のアクセス・スピードを提供する。同じ内部メモリ
・バンクに対する2つの同時アクセスは、CPUを1サ
イクルの間ストールし、2サイクル中で2つのアクセス
を提供する。同じ内部メモリ・バンクに対する同時のロ
ードおよびストアのために、そのロードはストアの前に
サービスされる。
に対して行われるとき、メモリ・バンク衝突が発生す
る。メモリ・バンク衝突が発生すると、データ・メモリ
・コントローラは、CPUをストールさせ、そのアクセ
スを直列化し、各アクセスを別々に実行しなければなら
ない。2つの同時アクセスが衝突するかどうかは、各ア
クセスのサイズおよび各アクセスのアドレスによって変
わる。図56は、CPUデータ・パス(LD1/ST1
およびLD2/ST2)が同じサイクル内で内部データ
・メモリをアクセスしようとした場合に衝突するアクセ
スの異なる組合せを示す。1つのデータ・パスのみがア
クセスを行う場合、バンク衝突は発生しない。2つの同
時アクセスが発生した場合でも、1つが内部データ・メ
モリに対して、もう1つが外部メモリに対して発生した
場合は、バンク衝突は発生しないが、データ・メモリ・
コントローラは外部アクセスが完了するまでCPUをス
トールさせる。
の順序に対する次の2つの標準が存在する。 ‐ リトル・エンディアン ‐ ビッグ・エンディアン ワードおよびハーフ・ワード・データがメモリにある時
のバイトの順序は、リトル・エンディアンおよびビッグ
・エンディアン・データに対して同じである。 リトル・エンディアン ‐ リトル・エンディアンのバイト順序は、アドレスが
「xxxx xx00」であるバイトをワードの最下位
位置(リトル・エンド)に置く。 ‐ リトル・エンディアン・データは最下位バイトのバ
イト・アドレスによってアドレスされる。
「xxxx xx00」であるバイトをワードの最上位
位置(ビッグ・エンド)に置く。 ‐ ビッグ・エンディアン・データは最上位バイトのバ
イト・アドレスによってアドレスされる。
換性のあるデータ空間を持つために、ビッグ・エンディ
アンまたはリトル・エンディアン・データのいずれにで
もアクセスすることができる。制御ステータス・レジス
タ(CSR)のENビットがDSPのデータ・エンディ
アン性を決定する。制御ステータス・レジスタのENビ
ットは、CPUリセット時にデータ・エンディアン性を
設定する信号の値をラッチする。ENビットは読出し専
用であり、CPUの外部でロードまたはストアされるデ
ータには影響しない。CPUは、データを適切なデータ
信号線上に置き、ENビットによって指定されているC
PUの外部のビッグ・エンディアンまたはリトル・エン
ディアン・データ・アクセスのいずれに対しても適切な
バイト・ストローブ信号を活性化する。
のビットがビッグまたはリトル・エンディアン・データ
からのすべての可能なデータ・ロードに対してデスティ
ネーション・レジスタのどのビットにロードされるかを
示す。メモリ内のデータは、第1行のLDW命令からの
レジスタ結果にあるのと同じデータであると仮定され
る。
およびリトル・エンディアン・データからのすべての可
能なデータ・ストアに対するデスティネーション・メモ
リ・ワードのどのビットに格納されるかを示す。ソース
・レジスタのデータは、第1行のSTW命令からのメモ
リ結果にあるのと同じデータであると仮定される。
ス上のメモリ・マップド・ペリフェラルとの間でデータ
を転送するペリフェラル・バスも制御する。これらのペ
リフェラルとしては、DMA、外部メモリ・インターフ
ェースおよびホスト・ポートがある。ペリフェラル・バ
スを通じてアクセスされるアドレスは、これらのペリフ
ェラルを構成するために使われる。ペリフェラル・バス
のアクセスはワード幅だけが可能であり、CPUのデー
タ・パスB上で実行されなければならない。
64Kバイトのメモリとメモリ/キャッシュ・コントロ
ーラとを含む。プログラム・メモリは、64Kバイトの
内部プログラム・メモリまたはダイレクト・マップド・
プログラム・キャッシュとして動作することができる。
プログラム・メモリ・システムが動作する4つのモード
がある。それらは、プログラム・メモリ・モード、キャ
ッシュ・イネーブル・モード、キャッシュ凍結モードお
よびキャッシュ・バイパス・モードである。
スタ(CSR)を示す。プログラム・メモリが動作する
モードは、CSRのプログラム・キャッシュ制御(PC
C)フィールド(ビット5〜7)によって決定される。
ラム・メモリ・システムによってどのPCC値がサポー
トされているかを示す。
を含むとき、プログラム・メモリは有効なプログラム・
メモリ空間としてマップされる。プログラム・メモリ・
マップを構成するアドレスは、そのデバイス上のMAP
_BOOTピンの値によって変わる可能性がある。表3
5は、そのマップ・モード値に従ったプログラム・メモ
リ・モードでのオンチップ・プログラム・メモリ用のメ
モリ・アドレス空間を示す。
された空間の中にデータを書き込むことができる。DM
Aは、プログラム・メモリ・モードでは内部プログラム
・メモリから読み出すことはできない。
テムはプログラム・メモリ・モードになっている。これ
によって、DMAが内部プログラム・メモリにコードを
ブートロードすることができる。コードのブートロード
の詳細については、DMAの章を参照されたい。
TP命令の実行によって行われるプログラムの格納は、
アドレスされたメモリ・ロケーションに対して適切な値
をストアする。
モード値を含むとき、プログラム・メモリは外部プログ
ラム・データをキャッシュするために使われる。そのメ
モリは、有効なメモリ空間ではなくなり、直接アドレス
することはできない。したがって、DMAはどのキャッ
シュ・モードにおいても内部プログラム・メモリに読み
書きすることはできない。TMS320C6201プロ
グラム・キャッシュに実装されているキャッシュ方式
は、外部プログラム・メモリ・アドレスのキャッシュ・
メモリ・アドレスへの直接マッピングである。これは、
任意の外部アドレスが1つだけのキャッシュ・ロケーシ
ョンにマップし、64Kバイトだけ離れているアドレス
が同じキャッシュ・ロケーションにマップすることを意
味する。プログラム・キャッシュは256ビットのフレ
ームに編成されている。したがって、各フレームは1つ
のフェッチ・パケットを保持する。キャッシュは204
8個のフェッチ・パケットを記憶する。
モリへのプログラムの格納は、最初に、ターゲット・ア
ドレスに直接マップされているキャッシュ・フレームの
データをキャッシュする。これは、キャッシュ内のデー
タ・コヒーレンシーを確保するために行われる。次に、
そのデータは、アドレスされたロケーションにある外部
メモリに書き込まれる。そのアドレスがふたたびアクセ
スされたとき、キャッシュ・ミスが発生して、その記憶
されたデータが外部メモリからロードされるようにな
る。
含むとき、プログラム・メモリはキャッシュとしてイネ
ーブルされている。プログラム・メモリ・モードからキ
ャッシュ・イネーブル・モードへの変化時に、プログラ
ム・キャッシュはフラッシュされる。キャッシュをフラ
ッシュするためにDSPによってサポートされる唯一の
方法は、プログラム・メモリ・モードからキャッシュ・
イネーブル・モードへ変更することである。キャッシュ
・イネーブル・モードにおいては、アドレスの初期プロ
グラム・フェッチによってキャッシュ・ミスが発生する
ことになる。キャッシュ・ミスにおいて、データは、外
部プログラム・メモリからロードされ、内部キャッシュ
・メモリに格納され、次にCPUによって実行される。
キャッシュされたアドレスからのそれ以降の読出しは、
キャッシュ・ヒットを発生し、そのデータは内部キャッ
シュ・メモリからロードされる。
含むとき、プログラム・キャッシュは凍結されている。
キャッシュが凍結されている間、キャッシュはその現在
の状態を保持している。凍結されたキャッシュに対する
プログラム読出しは、イネーブルされたキャッシュに対
する読出しと同じであるが、キャッシュ・ミスにおいて
外部メモリ・インターフェースから読まれたデータはキ
ャッシュには格納されない。同じアドレスからのそれ以
降の読出しもキャッシュ・ミスを発生し、そのデータは
ふたたび外部メモリからフェッチされる。キャッシュ凍
結モードは重要なプログラム・データがキャッシュに上
書きされないことを確保するために使われるが、最適コ
ード性能より劣ることになる可能性がある。
含むとき、プログラム・キャッシュはバイパスされる。
キャッシュがバイパスされるとき、プログラム読出しは
外部メモリからデータをフェッチする。そのデータはキ
ャッシュ・メモリには格納されない。キャッシュ凍結と
同様に、キャッシュ・バイパスにおいてはキャッシュは
その状態を保持している。このモードは、外部プログラ
ム・データがフェッチされることを確保するために有用
である。プログラム・フェッチはすべて、それらがキャ
ッシュ・ヒットを発生するかどうかにかかわらず、外部
メモリから行われるので、性能は最適ではなくなる。
F)によってDSPを複数のタイプの外部メモリにイン
ターフェースすることが可能である。それらは、同期型
デバイス−このインターフェースは各種のセットアッ
プ、ホールドおよびストローブ幅に適応するようにプロ
グラム可能であると、同期型バーストSRAM(SBS
RAM)−SBSRAMは一旦バーストが開始されると
ゼロ・ウエイト・ステート外部アクセスをサポートする
と、同期型DRAM(SDRAM)と、低価格のブート
ROMメモリ(フラッシュ、EEPROM、EPROM
およびPROM)をサポートするための8ビットおよび
16ビット幅のメモリ読出し機能とである。
共有制御用の要求機能と、I/Oデバイスおよび外部メ
モリ・コントローラに対する外部的に制御されたI/O
タイミングとである。
て、EMIFは書込みのための8ビット、16ビットお
よび32ビットのアドレス可能性をサポートする。すべ
ての読出しは32ビット転送として実行される。
を受け取ることができる。その3種類の要求は下記の順
序で優先順位が付けられている。 1)CPUデータ・アクセス 2)CPUプログラム・フェッチ 3)DMAデータ・アクセス
きるとき、EMIFは最高優先度の要求タイプにサービ
スする。たとえば、CPUが外部データおよびプログラ
ム・フェッチを要求しているのを止めるまで、DMA要
求はサービスされない。
通である外部メモリ信号の図を示す。表37は、示され
た各信号について説明する。表36は、3つの各外部メ
モリ空間(0〜2)によってサポートされるインターフ
ェースを示す。空間0および空間2は各種のインターフ
ェースに使うことが意図されている。空間1は低価格の
ROMメモリなどの非同期メモリに使うことが意図され
ている。
(EMIF)のブロック図を示す。
る。LENDIAN入力ピンは、ハイの場合にリトル・
エンディアンを、ローの場合にビッグ・エンディアンを
選択する。LENDIANは内部データ・メモリおよび
外部インターフェースのエンディアンの両方に影響す
る。内部プログラム・メモリ・アクセスは常に幅が32
ビットより大きいので、エンディアン性は影響しない。
また、すべての外部読出しアクセスは32ビット・アク
セスなので、エンディアン性は読出しアクセスには影響
しない。代わりに、CPUまたはDMAは、アドレス、
アクセス・タイプおよびエンディアン性に依存して必要
とする32ビットの部分を単純に選択する。これと対照
的に、書込みの場合、エンディアン性は、どのBE信号
がアクティブ・ローになるか、外部データ(ED)のど
のビット位置にどの値を入れるかに影響する。図59お
よび図60は、BEおよび外部データ(ED)に及ぼす
アドレスおよびエンディアン性の効果を示す。
(EMIF)制御レジスタをリストする。これらのレジ
スタは、32ビット幅であり、CPUからの32ビット
・アクセスによってアクセスされることが期待されてい
る。
ラッシュEEPROMなどの非同期デバイスに付加され
ているEMIFを示す。表39はその非同期インターフ
ェースに対するEMIF信号を説明する。他のROMイ
ンターフェースは、AXWE信号に対する接続なないこ
とを除いて、同様に働く。そのインターフェースは、非
同期型のメモリ・タイプでだけ動作する空間CE1に接
続されているように示されている。空間0または空間2
のいずれかが使われた場合、CE0_TYPEおよびC
E2_TYPE信号が、非同期メモリを示す00bに設
定される。リセット時にはCE1_WIDTH=10b
であり、32ビット幅のデバイスを示す。
のそれぞれに特有のコンフィギュレーション・パラメー
タを設定する。詳しく言えば、このレジスタ内のビット
・フィールドは表40に示されており、図62は信号の
セットアップ、ホールドおよびストローブ幅を各種の外
部ragesに対して設定する。
るリセット値は、ホールド・タイムのない場合は00で
ある。非同期SRAMSには、一般に、セットアップ・
タイムはない。そのリセット値は空間1の制御レジスタ
に対して11であり、ROMメモリに対する最大のホー
ルド・タイムを提供する。空間1は、ブート・ロード・
コードを自動的にロードするために、DMAによって使
われる。
は、次のフレーミング信号に対して適用される。 ‐ 書込みに対する有効なED ‐ 読出しに対するハイ・インピーダンスのED ‐ EA ‐ CE0/1/2 ‐ BE[3:0] ‐ 非活性ストローブ。非活性ストローブは、読出しの
場合はAXWE、書込みの場合はAXOEである。
イクルにおいてアクティブ・ストローブおよびアドレス
幅に対して適用される。アクティブ・ストローブは、読
出しの場合はAXOE、書込みの場合はAXWEであ
る。
を示す。表41は、示されたパラメータを説明する。S
ETUP、STROBEおよびHOLDフィールドはそ
れぞれ、0011b、010bおよび01bであると仮
定される。これらの値はそれぞれ、4、3および2のC
LKOUT1サイクルのセットアップ、ストローブおよ
びホールド幅であることを示す。図63は単一の書込み
の場合を示す。複数の書込みは、連続するストローブの
期間の間にホールド・タイムの後にセットアップ・タイ
ムが入る図の繰返しとして現われる。
は、示されているパラメータを説明する。ここでも、S
ETUP、STROBEおよびHOLDフィールドはそ
れぞれ、0011b、010bおよび01bであると仮
定されている。書込みとは対照的に、同じ空間に対する
連続的な非同期読出しは非活性ストローブの期間にはな
らない。これらの値はそれぞれ、4、3および2のCL
KOUT1サイクルのセットアップ、ストローブおよび
ホールドの幅となる。このタイミングによって連続読出
しアクセスを速くすることができる。しかし、空間境界
にまたがるアクセスの遷移がある場合、連続的な書込み
サイクルの場合とちょうど同じように、連続的な読出し
の間にホールドおよびセットアップ時間の干渉が発生す
る。
ェースの幅は読出しアクセスに対して構成可能である。
この機能によって、オンチップ・プログラム・メモリに
ブート・ロードされるコードなどのスタティックな値の
永久記憶のために安価な8ビット幅メモリを使うことが
できる。書込みアクセスはこの機能によっては影響され
ず、上位の24ビットは8ビット幅メモリには書き込ま
れない。また、EAの左シフトは発生しない。
セスを示す。普通、EA[22:0]は32ビット・ア
ドレスを含む。8ビット幅メモリの場合、論理アドレス
は、“2”だけ左シフトされ、EA上でドライブされ
る。4つの連続した読出しアクセスは、EA[1:0]
が00bから01b、10b、11bと順番にインクリ
メントされて完了する。そのデータは、次に、アセンブ
ルされて32ビット値を形成し、その後、さらに使うた
めにCPUまたはDMAに対して提示される。
ェースの幅は読出しアクセスに対して構成可能である。
この機能によって、オンチップ・プログラム・メモリに
ブート・ロードされるコードなどのスタティックな値の
永久記憶のために安価な16ビット幅メモリを使うこと
ができる。書込みアクセスはこの機能によっては影響さ
れず、上位16ビットは16ビット幅メモリには書き込
まれない。また、EAの左シフトも発生しない。
クセスを示す。論理アドレスは、“1”だけ左シフトさ
れて、EA上でドライブされる。2つの連続したアクセ
スは、EA[0]を“0”から“1”へインクリメント
して完了する。そのデータはアセンブルされて32ビッ
ト・ワードを形成し、その後、さらに使うためにCPU
またはDMAに対して提示される。
Fを示す。表42はSBSRAMインターフェースに特
有のEMIF信号を説明する。SBSRAMは、空間0
に対してインターフェースされるように示されている。
したがって、リセット時には、TYPE0=10bであ
る。SBSRAMインターフェースは、Micron
(MT58LC32K32)およびNEC(μPD43
1232L)によって製造されているSBSRAMで動
作するように設計されている。他のメーカーのデバイス
も同様に、このインターフェースによって動作すること
ができる。これらのメーカーからのデータ・シートがそ
の他のタイミング情報を提供する。
へのアクセスは単一サイクル、0ウエイト・ステートと
なる。最初のアクセスの場合、アドレスが不連続に変化
した場合またはメモリの読出しサイクルと書込みサイク
ルとの切替えが生じた場合、初期スタートアップ・ペナ
ルティは、CPUアクセスの場合においてCPUに対し
てウエイト・ステートを発生する。
を示す。表43はSDRAMインターフェースに特有の
EMIF信号を説明する。SDRAMは空間2にインタ
ーフェースされているように示されている。したがっ
て、TYPE2=11bである。このインターフェース
は、TMS626xxx、TMSC627xxxおよび
TMS664xxx(データ・シート番号SMOS18
2C、SMOS688およびSMOS685)などのT
IのSDRAMで動作するように設計されている。この
インターフェースの機能を強化して、SDRAMのバー
スト機能および他の機能を組み込むことができる。その
現在の形式においては、SDRAMインターフェースは
各CPUアクセスに対して16サイクルだけCPUをス
トールさせる。
インターフェースに影響する。 ‐ EMIF SDRAM制御レジスタ。 ‐ EMIF SDRAMリフレッシュ周期レジスタ。
スタのフィールドを説明する。ビット11:0はSDR
AMデバイスに対する内部のモード・レジスタの等価な
ビットに対応する。ビット19:12は、SDRAMの
速度、CLKOUT2に関連するタイミング・パラメー
タを設定する。予約済みの名前のフィールドおよび値は
このインターフェースの将来の改訂版における追加機能
を提供することになる。
ジスタのフィールドが図70に示されており、それは2
段の12ビット・リフレッシュ・カウンタをドライブす
る。SDRAM周期レジスタへの書込み時には、PER
IOD1およびPERIOD0に書き込まれた値がSD
RAMリフレッシュ・カウンタにロードされる。このカ
ウンタはCLKOUT2のレートでデクリメントを開始
する。このカウンタの4つのLSBが“0”になると、
カウンタは8個のMSBの値をデクリメントする。低位
のカウンタには、PERIOD0が同時に再ロードされ
る。リフレッシュ・カウンタの8個のMSBが“0”に
達すると、それらにはPERIOD1が再ロードされ
る。SDRAMインターフェースが初期化されていた場
合、リフレッシュ・サイクルが発生すべきであるときを
示す値がそのカウンタに再ロードされる。初期化が発生
したかどうかにかかわらず、MSBの再ロードによっ
て、CPUに対するXSDINT信号(それはINT1
0にマップされている)が発生される。したがって、こ
のカウンタは汎用のタイマとして再使用することがで
き、その周期は(PERIOD1+1)×(PERIO
D0+1)・CLKOUT2サイクルとなる。
ック図を示す。表45はそのインターフェースに特有の
信号を説明する。外部制御の読出しおよび書込みタイミ
ング図についてはデータ・シートをチェックされたい。
F)グローバル制御レジスタ図72および表46はEM
IF制御レジスタのフィールドの使用法を説明する。こ
の外部I/Oインターフェースは、EMIFグローバル
制御レジスタのXCE0およびXCE2フィールドがそ
れぞれ設定されるときに、空間0および空間2に対して
使われる。
EMIF信号上にドライブする場合のハンドシェークを
提供する。外部デバイスがHOLDをアクティブ・ハイ
にアサートした後、それは、DSPがHOLDA信号を
アクティブ・ハイにアサートするまでの時間待たなけれ
ばならない。この信号はCLKOUT1およびCLKO
UT2以外のすべてのEMIF信号がトライステートに
されたことを示す。EMIFは、そのバスにインターフ
ェースされた他のデバイスにフローティング制御入力が
印加されるのを防ぐために、EMIF上の残りの信号
(プルアップされなければならない信号)を提供しなけ
ればならない。外部デバイスがHOLDをインアクティ
ブ・ローにデ・アサートしてその要求を放棄したとき、
それは、DSPがHOLDAを前のインアクティブ・ロ
ーにデ・アサートするまで待たなければならない。
・ポートであり、それを通じて、ホスト(外部)プロセ
ッサが内部データ・メモリに対して読出しおよび書込み
を行うことができる。このホスト・ポートは、非同期イ
ンターフェースとして動作し、ハンドシェーク信号を使
ってデータ転送を同期化する。
タ・メモリに対するホスト・ポートのインターフェース
を示す。表47はホスト・ポート用の外部信号を説明す
る。
セス ホスト・ポートを通じての内部データ・メモリに対する
ホスト・プロセッサのアクセスは、次の2つの動作から
構成される。 1)ホストは、HREQ/HACK信号による要求/ア
クノレッジのハンドシェークを実行することによって、
ホスト・ポートについての制御権を獲得しなければなら
ない。 2)アクセスが許可されたとき、ホストは内部データ・
メモリに対する読出しおよび書込み動作を実行すること
ができる。
ート・アドレスのマッピングは前に説明されている。
ク図74は、ホストがホスト・ポートに対してアクセス
権を得るためのハンドシェーク動作を示す。表48は、
その関連付けられたタイミング・パラメータを示す。
求:ホストはHREQ(ホスト要求)入力をアサートす
ることによってアクセスを要求する。その要求はサイク
ル4またはサイクル5においてホスト・ポート・コント
ローラによって認識される。
はCPUのいずれも内部データ・メモリに対してアクセ
スを実行していないと仮定して、ホスト・ポート・コン
トローラは、ホストがHACK信号を7サイクル後(t
d(REQH‐HACKH))にアサートすることによ
ってホスト・ポートに対するアクセスを持つことを通知
する。CPUまたはDMAのいずれかが内部メモリにア
クセスしている場合、すべてのペンディング・アクセス
が完了するまで、また、新しいアクセスが到着していな
いようになるまで、HACKは遅延される。内部メモリ
に対するインターフェースがパイプライン型であるの
で、これは、DMAまたはCPUが3つの連続したCP
Uサイクルの間どのアクセスも実行できないことを意味
する。
ス:アクノレッジを受信してからその要求を解放するま
での間、ホストは内部データRAMに対する読出しおよ
び書込みサイクルを実行することができる(tacce
ss)。この時間の周期についての上限はない。また、
この間、CPUの動作は凍結される。また、DMAも、
それが内部データ・メモリにアクセスしようとしてそれ
を開始していた場合も、凍結される。
求:サイクルi+2の間に、ホストはHREQをデ・ア
サートすることによってその要求を解放する。ホスト・
ポート・コントローラはそのイベントをサイクルi+3
またはサイクルi+4において認識する。
ノレッジ:7サイクル後(td(HREQL‐HACK
L))、アクノレッジはホスト・ポート・コントローラ
によってデ・アサートされる。
遅延のために、連続要求の最小間隔(HREQがアサー
トされている)は7サイクルである。
ト信号の図を示す。この図はホスト・ポート読出しの後
にホスト・ポート書込みが続く様子を示す。読出しおよ
び書込み動作の両方に対して、次の制約が存在する。 ‐ HREADおよびHWRITEストローブは最低8
クロック・サイクルの間アクティブ・ローでなければな
らない。 ‐ HREADまたはHWRITEストローブの立上り
からその次のHREADまたはHWRIRE立下りまで
の間に少なくとも4クロック・サイクルなければならな
い。 ‐ HADDRは読出しおよび書込みアクセスのそれぞ
れに対して2クロック・サイクルだけHREADおよび
HWRITEストローブを組み立てなければならない。 ‐ 2つの連続したHWRITEまたはHWRITEス
トローブの立下りの間に少なくとも12クロック・サイ
クルなければならない。したがって、アクセスの最大レ
ートは12クロック・サイクルごとに1つである。
ッジの後、3クロック・サイクルだけバスをハイ・イン
ピーダンスに戻す。ホストは、HWRITEの立下りの
2サイクル前に、HDATA上に値が書き込まれるよう
にセットアップしなければならない。
ーにアサートすることによって書込みを開始する。
DATA上の値を保持していなければならない。
はリセットされる。したがって、リセット後、要求/ア
クノレッジのハンドシェークは、転送が開始できる前
に、再度発生しなければならない。
コントローラの2つのチャネルは、CPUの動作と干渉
することなしに、メモリ・マップの任意のロケーション
に対して読出しまたは書込みを行うことができる。これ
によって、CPUに対するスループットを下げずに低速
の外部メモリおよびペリフェラルにインターフェースす
ることができる。DMAコントローラは、それ自身のア
ドレス・ジェネレータ、ソースおよびデスティネーショ
ン・レジスタと、転送カウンタとを含む。DMAは、ア
ドレスおよびデータ用のそれ自身のバスを備える。これ
によって、メモリとペリフェラルとの間でのデータ転送
がCPUと衝突しないようにしている。DMA動作は、
3個のDSPモジュール(図76参照)のうちの任意の
ものとの間で32ビット・ワードの転送を行う。 ‐ 内部データ・メモリ ‐ 転送のデスティネーションとしてのキャッシュとし
て構成されていない内部プログラム・メモリ(プログラ
ム・メモリへの書込みだけがサポートされる) ‐ EMIF
すべての内部プログラム・メモリ、すべての内部データ
・メモリおよびEMIFにマップされたすべてのデバイ
スにアクセスすることができる。1つの例外はDMAで
あり、DMAはプログラム・メモリを転送のソースとし
て使うことができない。また、それは、キャッシュまた
はメモリマップ型のオンチップ・ペリフェラル・レジス
タとして構成されたメモリにはアクセスすることはでき
ない。
じモジュール内または異なるモジュール内にあってよ
い。これらのアドレスは、独立にプログラム可能であ
り、一定のまま、インクリメントまたはデクリメントを
各転送ごとに行うことができる。 ‐ 転送カウントはプログラム可能である。転送カウン
トが完了すると、DMAは割込みをCPUに送るように
イネーブルすることができる。
して最低優先度を有する。内部データ・メモリおよび内
部プログラム・メモリに対しては、自分がアクセスした
いメモリに対して転送が起動されていなくなるまで、待
たなければならない。内部メモリに対するDMAのアク
セスはサイクル・スティーリングを実行する。したがっ
て、内部メモリのそれ以降のCPUアクセスがDMAア
クセスによって妨害されることはない。しかし、マルチ
サイクルDMAアクセスが進行中である間にCPUがE
MIFにアクセスする場合、CPUはそのアクセスが完
了するまで待つことになる。
御するために、正しくプログラムされる必要がある。各
DMAチャネルは、表49に示されているような独立の
レジスタ・セットを備えている。
CPUからの32ビット・アクセスを経由してアクセス
されることが期待されている。Cを使う場合、これは、
これらのレジスタに対するポインタがint型にキャス
トされなければならないことを意味する。このDMAの
将来バージョンでのソフトウェアの互換性のために、そ
の予約済みのフィールドに書き込むときはリセット値を
書かなければならない。
ルに対するDMA動作のコンフィギュレーションを行
う。図77および表50はそのレジスタのビット・フィ
ールドを説明する。DMAのコンフィギュレーションを
行うには、DMAチャネルが停止されなければならな
い。START=00bに設定することによって、この
状態を強制的に作ることができる。代わりに、この状態
は、STAT=00bを待つことによって確認すること
ができる。停止したとき、DMAチャネル・ソース・ア
ドレス、デスティネーション・アドレスおよび転送カウ
ンタをそれぞれの所望の値にプログラムする。次に、動
作を開始させるためのSTART=11bを含めた適当
な値をDMAチャネル制御レジスタに書き込む。
よびデスティネーション・レジスタの2つのLSBに書
き込まれた非0ビットは、自動的に“0”に設定され
る。また、32ビット転送だけがイネーブルされるの
で、DMAはLENDIAN入力信号によって設定され
るエンディアン性によっては影響されない。
カウンタは、DMAチャネルが終了するためのデータ転
送の数を設定する。各転送の書込み部分の完了時に、カ
ウンタは自動的にデクリメントされる。
びデスティネーションの設定 DMAチャネル・ソース・アドレス・レジスタ(図7
9)およびデスティネーション・アドレス・レジスタ
(図80)は、DMAがデータを読み出すソースとDM
Aがデータを書き込むデスティネーションとをそれぞれ
決定する。DMAを開始する前にこれらのレジスタにそ
れぞれの所望の値をプログラムしなければならない。D
MAチャネル制御レジスタのSRC DIRおよびDS
T DIRフィールドを設定することによってそれらの
アドレスがインクリメントされるかデクリメントされる
か保持されるかを選択することができる。
する必要がある。 ‐ ビット1:0が“0”。ワードに整列されたデータ
を意味する。 ‐ ビット30:26が“0”。内部プログラム・メモ
リとともに26ビットEMIFバイト・アドレス空間を
カバーするために。 ‐ ビット31が、内部データ・メモリを選択するため
に“1”にセットされ、外部メモリまたはオンチップ・
プログラム・メモリを選択するために“0”にセットさ
れ得る。ビット25:2が26ビット境界を超えてイン
クリメントまたはデクリメントされた場合でも、キャリ
ーがビット31へリップルすることはないことに注意。 ‐ DMAの将来の改訂版とのソフトウェア互換性のた
めに、アドレスが26ビット境界を超えてインクリメン
トまたはデクリメントしないことを確保することのほ
か、予約済みのフィールドに“0”を書き込まなければ
ならない。
ーブルされている場合、最後の転送の書込み部分の完了
後にカウンタが“0”に達すると、CPUに対して割込
みが発生される。チャネル0およびチャネル1に対する
DMA割込みDMAINT0,DMINT1はそれぞ
れ、CPUの割込みINT8,INT9にマップされ
る。
16または32ビットのメモリに格納されたプログラム
で内部プログラム・メモリをロードすることができる。
その転送が発生している間に、CPUは内部的にリセッ
ト状態に保たれる。その転送が完了した後、CPUは、
解放され、アドレス0から実行を開始する。
_SRCおよびBOOT_CNT入力ピンを適切な値に
設定することによって、DMAが自動的に内部プログラ
ム・メモリをブート・ロードできるようにすることがで
きる。CE1_WIDTHピンは、空間1にマップされ
たメモリの幅を選択する。これらのピンは、ホスト・ポ
ートのHAピンと共有される。リセット時にこれらのピ
ンを適切な値にドライブしなければならない。
MAのコンフィギュレーション 次のように設定することによって、DMAチャネル0を
通じてDMAが内部プログラム・メモリをブート・ロー
ドするように構成することができる。 ‐ 入力ピンMAP_BOOT=1に設定する。これは
内部プログラム・メモリをアドレス0にマップする。D
SPメモリ・マップについての詳細はその特定のデバイ
ス用のデータ・シートを参照されたい。 ‐ 表51に示されているように入力ピンBOOT_S
RC[2:0]=001bに設定する。DMAブート・
ロード動作をイネーブルする。BOOT_SRC[2:
0]=000bの場合、DMAはブート・ロードしない
ようにディスエーブルされ、CPUはアドレス0から実
行を開始する。BOOT_SRC[2:0]の他の値は
すべて無効である。
(BOOT_CNT[2:0])入力ピンによって設定
される。ブート・ロードするワードの数は、表52に示
されているように、次のようになる。 2(BOOT_CNT+8)
るように構成される。CE1空間は、幅が8、16また
は32ビットの非同期メモリを含むことが期待されてい
る。その幅はCE1_WIDTH[1:0]入力ピンを
経由して選択される(表53)。
le1、Idle2およびIdle3をサポートする。
この3つのパワー・ダウン・モードを開始するには、図
81に示されているように、制御ステータス・レジスタ
(CSR)のPWRDフィールドの下位3ビットを使
う。これらのビットの1つを設定することによって、そ
のビットに対応するパワー・ダウン・モードが開始され
る。これらのPWRDビットの2つ以上がセットされた
場合、上位ビットによって選択されるパワー・ダウン・
モードがイネーブルされる。
Pは、RESET、イネーブルされている割込みまたは
任意の割込みによって再活性化することができる。制御
ステータス・レジスタのPWRDフィールドのビット3
またはビット4が呼び覚まし条件を設定する。ビット3
およびビット4がセットされている場合、そのデバイス
は、イネーブルされた割込みによってパワー・ダウン状
態から呼び覚まされる。
または2)および呼び覚ましビット(3または4)は、
正しいパワー・ダウン動作を確保するために同じMVC
命令によってセットされなければならない。
て、CPUの内容は維持される。これによって、パワー
・ダウン・モードが終了したときに動作を継続すること
ができる。パワー・ダウン状態がイネーブル割込みによ
って終了される場合、DSPは、呼び覚ましにおける割
込みサービス・ルーチンに入り、そこからパワー・ダウ
ン命令の後の命令へ戻る。パワー・ダウン状態がディス
エーブルされた割込みによって終了させられる場合、D
SPはパワー・ダウン命令の後の命令から(呼び覚まし
時)動作を開始する。
込むことによって、DSPがIdle1モードに置かれ
る。このモードにおいては、すべてのCPU活動が停止
される。システム・クロックおよびペリフェラルは動作
し続け、CLKOUTピンはアクティブのままになって
いる。したがって、ペリフェラルは、割込みを発生する
ことによって、CPUをそのパワー・ダウン状態から呼
び覚ますことができる。
込むことによって、DSPはIdle2モードに置かれ
る。Idle2モードにおいては、CPUおよびオンチ
ップ・ペリフェラルは停止される。オンチップ・ペリフ
ェラルが停止されるので、DSPを呼び覚ますための割
込みを発生させるためにそのペリフェラルを使うことは
できない。外部割込みまたはRESETだけがDSPを
Idle2モードに呼び覚ますことができる。
込むことによって、DSPはIdle3モードに置かれ
る。Idle3モードにおいては、CPU、オンチップ
・ペリフェラルおよびPLLは不活性状態になる。Id
le3はDSPの完全シャットダウンのために使われ
る。Idle3モードから脱出させるには、そのデバイ
スをリセットしなければならない。
いくつかをリストしている。これらのDSPは、従来の
信号処理の問題に適応可能な方法を提供する。また、そ
れらは、複数の動作を同時に実行する必要がしばしばあ
る複雑なアプリケーションもサポートする。
structions per second)までの
性能および超高効率Cコンパイラの性能によって、本発
明のディジタル信号プロセッサ(DSP)は、システム
設計者がそれぞれの製品を差別化するための無限の可能
性を提供する。高性能と使い易さと程よい価格とによっ
て、多チャネル、多機能の次のようなアプリケーション
に対する最適なソリューションがこのDSPによって提
供される。 ‐ プールされたモデム ‐ 無線基地局 ‐ リモート・アクセス・サービス(RAS) ‐ ディジタル加入者ループ(DSL)システム ‐ ケーブル・モデム ‐ 多チャネル電話システム。
プリケーションに対する最適ソリュションでもある。 ‐ 顔および手/指紋の認識を備えたパーソナル化され
たホーム・セキュリティ ‐ GPSナビゲーションによる究極の航法制御および
事故防止 ‐ リモート医療診断。
これらのデバイスは、先進のVLIWアーキテクチャを
採用するための業界における最初のDSPであることを
特徴とする。そのアーキテクチャによって、命令レベル
の並列性の増加を通じて高性能を達成するために先進の
VLIWを使う最初の棚卸しのDSPとなる。従来のV
LIWアーキテクチャは、並列に実行する複数の実行ユ
ニットから構成され、単一クロック・サイクルの間に複
数の命令を実行する。並列性は、極端に高い性能を得る
ためのキーであり、これらの次世代のDSPが従来のス
ーパ・スケーラ設計の性能を十分に超えるものとなるた
めのキーである。このDSPは高度に決定論的なアーキ
テクチャであり、命令がフェッチされ、実行されまたは
格納される方法およびタイミングについての制限事項が
ほとんどない。このアーキテクチャ的な柔軟性によっ
て、そのコンパイラの飛躍的な効率レベルが達成されて
いる。先進の機能として次のようなものがある。 ‐ 命令パッキング ‐ 条件付き分岐 ‐ 可変幅命令 ‐ プリフェッチされた分岐。
マシンの歴史的な実装に関連する従来の問題が解消され
る。
のサイクル・タイムで動作し、8個までの32ビット命
令を1サイクルごとに実行する。このデバイスのコアC
PUは32個の32ビット・ワード長の32個の汎用レ
ジスタおよび次の8個の機能ユニットから構成される。 ‐ 2つの乗算器 ‐ 6個のALU。 DSPの特徴としては次のようなものがある。 ‐ 2個の乗算器と6個の算術演算ユニットとを含む8
個の機能ユニットを備えた先進のVLIW CPU。
るために、1サイクル当り8個までの命令を実行する。
Cの様なコードを開発することができる。 ‐ 命令パッキング 直列または並列に実行される8個の命令に対して等価的
なコード・サイズを与える。コード・サイズ、プログラ
ム・フェッチおよび消費電力を削減する。 ‐ 100%条件付き命令 費用の掛かる分岐を削減する。より高い性能を維持する
ために並列性を増加する。 ‐ 高度に独立の機能ユニット上でプログラムされたよ
うにコードが実行する。DSPベンチマーク・スイート
上の業界で最も効率の良いCコンパイラ。高速開発時間
のための業界最初のアセンブリ・オプティマイザ。 ‐ 8/16/32ビット・データ・サポート、各種ア
プリケーションに対する効率の良いメモリ・サポートを
提供する。 ‐ ボコーダおよび他の計算集中型のアプリケーション
用のより高い精度を提供する40ビットの算術演算オプ
ション。 ‐ サチュレーションと正規化とが主要な算術演算のた
めのサポートを提供する。 ‐ ビット・フィールド操作と命令抽出、セット、クリ
アおよびビット・カウントが、制御およびデータ操作ア
プリケーションに見出される共通の動作をサポートす
る。各種のメモリおよびペリフェラル・オプションが利
用できる。 ‐ 高速アルゴリズム実行のための大容量オンチップR
AM ‐ 32ビットの外部メモリ・インターフェースが、広
範囲の外部メモリ要求および最大のシステム性能を実現
するためのSDRAM、SBSRAM、SRAMをサポ
ートする。 ‐ ホストがオンチップ・メモリにアクセスするための
16ビットのホスト・ポート。 ‐ CPU割込みを最小化して外部メモリ/ペリフェラ
ルに効率的にアクセスするためのブート・ローディング
機能付きの2つのダイレクト・メモリ・アクセス(DM
A)チャネル。 ‐ 遠隔通信の幹線および/または効率的なプロセッサ
間通信に対する単純化されたインターフェース用の2つ
の機能強化されたバッファ付きシリアル・ポート(EB
SP)。 ‐ アルゴリズムを簡単に実装できる2つの32ビット
・タイマ。
となった処理の構成およびコンポーネント回路を含んで
いる創造的なシステムが、次に説明される。汎用ディジ
タル信号処理アプリケーションに対して、これらのシス
テムは、畳み込み、相関、ヒルベルト変換、高速フーリ
エ変換、適応型フィルタリング、ウィンドウィングおよ
び波形発生を有利に実行する。あるケースにおいて上記
汎用アルゴリズムを伴う他のアプリケーションとして
は、音声メール、音声ボコーディング、音声認識、話者
検証、音声強化、音声合成およびテキストから音声への
変換システムなどがある。
されるアプリケーションに対して、改善されたスペクト
ラム・アナライザ、ファクンション・ジェネレータ、パ
ターン・マッチング・システム、地震処理システム、過
渡解析システム、ディジタル・フィルタおよびフェーズ
・ロック・ループを提供する。
は、エンジン制御、振動解析、アンチスキッド・ブレー
キング制御、適応ライド制御、音声コマンドおよび自動
車のトランスミッション制御を適切に提供する。
グローバル・ポジショニング・システム、プロセッサに
よってサポートされたナビゲーション・システム、レー
ダ追跡システム、プラットホーム安定化システム、ミサ
イル誘導システム、安全な通信システム、レーダ処理お
よび他の処理システムを提供するために、本発明に従っ
て提供され改善された創造的なシステムがある。
は、コンピュータのディスク・ドライブ・モータ・コン
トローラ、プリンタ、プロッタ、光ディスク・コントロ
ーラ、サーボ機構制御システム、ロボット制御システム
・レーザ・プリンタの制御およびモータの制御などが一
般的に含まれている。これらの制御システムのいくつか
は工業的環境、たとえば、ロボットのコントローラ、自
動組み立て装置および検査機器、産業用ドライブ、数値
制御装置、コンピュータ化されたパワー・ツール、セキ
ュリティ・アクセス・システムおよび電力線モニタなど
において適用される。
考えられる遠隔通信の発明としては、エコー・キャンセ
ラ、ADPCMトランスコーダ、ディジタルPBX、回
線リピータ、チャネル・マルチプレクサ、モデム、適応
イコライザ、DTMFエンコーダおよびDTMFデコー
ダ、データ暗号化装置、ディジタル・ラジオ、セルラ電
話、セルラ電話の基地局、ファックス・マシン、ラウド
スピーカ電話、ディジタル音声補間(DSI)システ
ム、パケット交換システム、ビデオ会議システムおよび
スペクトル拡散通信システムなどがある。
に開示された原理、デバイスおよびシステムに基づいた
さらに他の発明としては、光学式文字認識装置、三次元
回転装置、ロボット・ビジョン・システム、画像転送お
よび圧縮装置、パターン認識システム、画像強化装置、
類似型の処理システム、ワークステーションおよびアニ
メーション・システムおよびディジタル・マッピング・
システムなどがある。
での発明としては、補聴器、患者監視装置、超音波機
器、診断ツール、自動化された人工器官および生命維持
監視装置、などがある。本発明による消費者製品として
は、スタジオおよびテレビジョン局において使われるハ
イ・デフィニション・テレビジョン受像機、および送信
機器などのハイ・デフィニション・テレビジョン・シス
テムがある。さらに消費者用の発明としては、ミュージ
ック・シンセサイザ、ソリッド・ステートの応答マシ
ン、レーダ検出器、パワー・ツールおよび玩具およびゲ
ームなどがある。
側面は、システム・アーキテクチャ、システム性能、シ
ステム信頼性および経済性の改善の利点を提供すること
が強調される。
創造的な産業用プロセスおよび保護制御システム300
は、特定の工業環境にとって重要な物理的変数を検出す
るための工業用センサ301,303を含む。センサ3
01,303からの信号は図1の信号プロセッサ・デバ
イス11に提供される。インターフェース305は、レ
ジスタ・ロケーションA,B,C,D,E,F,G,H
とドライバ(図示せず)とを含む。レジスタ・ロケーシ
ョンは、ドライバおよび各回線307を経由して、モー
タ311によってドライブされた工業用プロセス装置
と、リレー313によって制御されたリレー動作装置
と、ソレノイド・バルブ315などの各種のバルブとに
接続される。
ては、各種エンジニアリングおよび経済的な諸事項が、
相互に関連した目的で作用する。工業用プロセスの速度
すなわちスループットを高める必要がある場合、センサ
301,303によって検出されるようなリアル・タイ
ムで発生している比較的急速な変化の意味を解釈するた
めに、デバイス11の処理機能について重い負荷が課さ
れる。一方、センサ301,303によって検出される
実世界の状態に応答する必要のある制御機能も迅速に得
られなければならない。有利なことに、複数の機能ユニ
ットの追加によって、デバイス11におけるデマンドの
衝突を解決することができる。その際、デバイス11が
単一の半導体チップとして製造されているとき、追加の
コストは無視できる程度である。この方法で、工業的処
理速度、保護制御の迅速性および制御の精度がかなり向
上される。
車輪および車軸が取り付けられているシャーシ323
と、エンジン325と、サスペンション327と、ブレ
ーキ329とを含む。自動車のボディー331は、シャ
ーシ323に相対的なサスペンションが有利に提供され
る客室を定義する。
リングおよび吸収材のサスペンション技法を強化し、ビ
ットA,B,C,D,E,F,G,H,I,J,K,
L,M,Nに対するロケーションを備えているインター
フェース341を経由して制御される。プロセッサ34
3は、図1に開示されているタイプの計算ユニットを利
用し、データ・バス351Dおよびプログラム・データ
・バス・361Dに接続されている少なくとも1つのA
LUを含む。サスペンション335、エンジン動作およ
びアンチスキッド・ブレーキングの機能をそれぞれ監視
するセンサ371,373,375を含む多くのセンサ
がある。
ェース341のいくつかのロケーションに接続されてい
る。また、アンチスキッド・ブレーキング制御システム
383はインターフェース341の他のビットに接続さ
れている。自動車の信頼性、安全性、乗客の快適性およ
び経済性についての多くの考慮事項が、従来の自動車シ
ステムに重い要求を課している。
は、本発明の極端に柔軟性のある並列性および制御の利
点のお陰で、これらの分野のすべてにおいて改善されて
いる。
述されている他のシステムにおいて利用されているデバ
イス11などのデバイスは、デバイスの性能向上の問題
に対処するだけでなく、ユーザの総合のシステム性能お
よびコストを決定する工業システムの問題も解決する。
5ナノ秒で実行し、半導体メーカーにおけるこれからの
改善によってより高い命令の速度も可能となる。オンチ
ップ・プログラム・メモリは、RAMベースであり、安
価な外部メモリからプログラムのブート・ローディング
ができるようになっている。他のバージョンは、さらに
コストを削減するために、適切にROMベースになって
いる。。
システム400は、図1のデバイス11を備えているデ
ィジタル・コントローラ401を含む。ディジタル・コ
ントローラ401は、出力u(n)を0次ホールド回路
ZOH403に供給する。ZOH403は、工業機械、
家庭用器具、軍用機器または他のアプリケーション・シ
ステム環境におけるDCサーボモータ405に制御出力
u(t)を供給する。モータ405とディスク・ドライ
ブ406との接続が図84に示されている。
の動作応答が、y(t)で示されている。センサ407
は、モータ出力y(t)に対するトランスデューサであ
り、サンプルされてディジタル化された出力y(n)を
サブトラクタ411に供給するサンプラ409に出力を
提供する。また、サンプラ409は、割込み信号線IN
T‐を経由してディジタル・コントローラ401に信号
を送る。人間または自動化された監視制御からの基準入
力r(n)は、ループを閉じるためのさらに1つの入力
として外部的に供給される。デバイス11は、図82に
示されているように、サーボモータ以外に、他の要素の
処理および制御用の高いループ・バンド幅および複数の
機能をコントローラ401に付与する。
ローラ421が、デバイス11のプロセッサを利用して
先進アルゴリズムを実行する。ステート・コントローラ
421は、基準入力r(n)を受け取り、出力u(n)
をモータ423に供給する。複数の電気的変数(位置x
1、速度x2、電流x3およびトルクx4)がステート
・コントローラ421に対して返される。4つの変数x
1〜x4の任意の1つまたはそれ以上(たとえば、線形
の組合せでの)が、各種の動作目的に対して適切に制御
される。このシステムは、速度制御またはトルク制御の
アプリケーションを動作させることができ、ステッパー
・モータおよび可逆モータを回転させる。
サンプラ433によって検出されサンプルされる。デバ
イス11を含むプロセッサ435は、サンプラ433に
よって割込み駆動される。ユニット433によって求め
られた速度情報は、図1での接続において説明されてい
るような改良されたプロセッサ435へ戻される。図1
のプログラム・メモリのソフトウェアは、評価アルゴリ
ズム・プロセス437として実行される。プロセス43
7は、速度、位置および電流の情報をプロセッサ435
のステート・コントローラ・プロセス439に提供す
る。ディジタル出力u(n)がステート・コントローラ
439から出力として0次ホールド回路441に供給さ
れ、0次ホールド回路441はモータ431をドライブ
する。
ア、コイルおよびロータに関連付けられたソリッド・ス
テート電子スイッチ付きブラッシュレスDCモータであ
る。図84〜図86のシステムは、シャフト・エンコー
ダと、光学的およびホール効果・ロータ位置センシング
と、巻き線からの位置のバックemf(逆起電力)セン
シングとを収容する。
51は、ロボット・アーム455の端にモータ駆動の把
握メカニズム453を備える。ロボット・アーム455
は、回転軸457.1,457.2,457.3,45
7.4を持つ構造を備える。センサと高速応答を正確に
制御できるモータとが、関節点459.1,459.
2,459.3,459.4でアーム455上に置かれ
る。
確な位置決めおよび利用のために、多くのそのようなモ
ータおよびセンサが用意されていることが望ましい。し
かし、センサおよびモータの数が多いと、全体としてシ
ステム上におよびコントローラ461上にデマンドの衝
突が発生する。コントローラ461は、図1のデバイス
11を含めることおよびシステム451の割込み駆動ア
ーキテクチャによって、これらのシステム要求を解決す
る。コントローラ461はI/Oインターフェース46
3と相互に通信し、I/Oインターフェース463はロ
ボット・アーム455に対して並列論理ユニット41に
よるビット操作のほかにアナログからディジタルへの変
換およびディジタルからアナログへの変換を提供する。
インターフェース463は、ナビゲーヨン・モータ46
7とロボット・アーム455および把握メカニズム45
3に関連付けられたセンサとからの位置および圧力の応
答を受け取る。インターフェース463はまた、サーボ
増幅器465を通じて制御コマンドをロボット・アーム
455の各モータ467に供給する。
タティックRAM(SRAM)およびプログラム可能な
読出し専用メモリ(PROM)と関連付けている。
ローラ471と関連付けられ、それらはコントローラ4
61のページ境界センシティブ・ウエイト・ステート機
能によって効率的に管理される。また、コントローラ4
61は、安全制御装置475に対して応答するシステム
・マネージャCPU473によって供給されるより高い
レベルのコマンドにも応答する。システム・マネージャ
473はI/OおよびRS232ドライバ475を経由
してコントローラ461と通信する。
以前には得られなかった制御の精度、速度および経済性
の性能上の利点を可能にする。別の例としては、ディス
ク・ドライブがスピンドル・モータ・ユニットによって
高速で回転する情報記憶ディスクがある。アクチュエー
タと呼ばれる追加のコントロールが、読出しおよび書込
みヘッド要素を情報記憶ディスクに対して相対的に位置
合わせする。
診断動作のほかにアクチュエータ・コントロールおよび
スピンドル・モータ・コントロールに対してシングル・
チップのソリューションを提供することもできる。コン
トローラ461に過剰な負荷を掛けずに高度な機能が提
供される。機械的な共鳴を打ち消すために、ディジタル
・ノッチ・フィルタをコントローラ461に実装するこ
とができる。ステート・エスティメータは速度および電
流を評価できる。カルマン・フィルタによってセンサ・
ノイズが減少する。適応制御によって温度変動および機
械的変動が補償される。また、デバイス11は、スピン
ドル・モータ速度制御用のオンチップPWMパルス幅変
調出力も提供する。テープ・ドライブ、プリンタ、プロ
ッタおよび光ディスク・システムにおける類似の機能が
容易に提供される。発明のディジタル・コントロール
は、より高い速度、より精密な速度制御および一般的に
I/O技術におけるより速いデータ・アクセスをほどよ
いコストで提供し、現代の技術水準を進歩させる。
の強化された動作機能はミサイル・システムのより正確
な誘導を提供し、それによって、動作目的を達成するの
に必要な高価なミサイルの数を減らす。さらに、等価な
性能をより少ないプロセッサ・チップによって得ること
ができ、したがって、重量が減少し、機能の拡張および
ペイロードの向上が可能となる。
信は、遅延時間が250ミリ秒である衛星送信パスによ
って通信している第1のステーション501,503を
備える。遠隔端の電話機505および近端の電話機50
7がそれぞれ、ハイブリッド509,511によって地
上局501,503に接続されている。ハイブリッド5
09,511は、それぞれの地上局501,503に対
して相対的に8ミリ秒遅れている。したがって、遠隔端
の電話機505と近端の電話機507との間に満足でき
る遠隔通信を提供するためには、エコーの打ち消しが必
要である。さらに、多数の電話通話回路を一度にサービ
スするための機能が必要である。これによって、遠隔通
信機器に極端な処理負荷が課される。
・キャンセラ515が、その通信回路の伝送を改善する
ために511などの各ハイブリッドと関連付けられてい
る。デバイス11は、エコー・キャンセリング・アルゴ
リズムを高速に実行するだけではなく、チップ当りのよ
り多くの衛星通信回路を経済的にサービスする。
ムである。図90において、モデム送信機としてプログ
ラムされたデバイス11の動作のプロセス・ダイアグラ
ムは、スクランブリング・ステップ525を含み、その
後にエンコーディング・ステップ527が続く。エンコ
ーディング・ステップ527は、直交ディジタル信号I
[nTb ]およびQ[nTb ]を補間プロシージャ52
9,531にそれぞれ提供する。ディジタル変調器の計
算533,535は、その補間された直交信号を三角関
数のコサインおよびサインの値をそれぞれ提供するメモ
リからの監視されている定数と掛け合わせる。次に、そ
の変調された信号は集計ステップ537で集計される。
デバイス11に接続されたD/A変換器は、ステップ5
39で、その変調された信号をディジタルからアナログ
の形式へ変換する。次に、ファクタG1によるゲイン・
コントロールが、モデム送信において実行され、DAA
に送られる。
ているモデム受信機が、DAAからのアナログ通信信号
を受信する。アナログ/ディジタル変換器(A/D)5
21は、デバイス11を採用しているディジタル信号プ
ロセッサのためにその情報をディジタル化する。高速の
ディジタル変換は、従来のプロセッサの入力処理に重い
負荷を課している。有利なことに、DSP11は、A/
D521などのディジタイジング要素からの割込みを極
端に効率的にサービスすることができ、同時にモデム・
アルゴリズムを実行するための強力なディジタル信号処
理計算機能を備えている。デバイス11の出力は、出力
D[nT]を供給する汎用の同期型・非同期型受信機・
送信機(USART)523に供給される。
モデム受信のプロセス・ダイアグラムは、サンプリング
周波数fsでアナログからディジタルへの変換を行うた
めの信号s(t)を供給すDAAからの受信時に、ファ
クタG2による自動ゲイン・コントロールを含む。その
ディジタル化された信号は、s[nTs]であり、ディ
ジタル・フィルタリング・ステップBPF1,BPF2
の次に個々に自動化されたゲイン・コントロールが続く
ように実装されている第1および第2のバンドパス・フ
ィルタを含むディジタル処理に対して供給される。復調
アルゴリズムは、2つの復調された信号I' [nTs]
およびQ' [nTs]を発生する。キャリア復元のため
に使われるこれらの2つの信号I' およびQ' が復調ア
ルゴリズムに戻される。また、I' およびQ' は、決定
アルゴリズムにも供給され、クロック復元に応答して演
算される。決定アルゴリズムの次に、デコーディング・
プロセス551が続く。デコーディング・プロセス55
1の次にデ・スクランブリング・アルゴリズム555が
続き、それによって、入力信号d[nt]を復元するた
めにPLU41によって集中的なビット操作が行われ
る。
信アルゴリズムの多数のステップが、集中的な数値計算
機能により単一ディジタル信号プロセッサ・デバイス1
1によって有利に実現される。
でいる計算装置561が、インターフェース565を経
由してホスト・コンピュータ563と共同動作してい
る。大容量の外部メモリ567がインターフェース56
9によってコンピュータ561に対してインターフェー
スされる。コンピュータ561はペリフェラル・ラッチ
571,573を経由して二方向パルス・コード変調型
(PCM)通信を有利にサポートする。ラッチ571
は、外部装置577のPCM通信を受信するための並列
変換器575にシリアルに結合されている。コンピュー
タ561は、ラッチ573およびパラレル/シリアル変
換ユニット579を経由して通信し、シリアルPCMデ
ータ・ストリームを外部装置577に供給する。
1は,ROM603およびRAM605によってサポー
トされているデバイス11を含む。データ収集センサ6
07.1〜607.nが変換器609に入力を供給し、
変換器609は大量のディジタル・データをデバイス1
1に供給する。図94は、ALU、レジスタ・アキュム
レータ、乗算器アレイおよびレジスタを強調表示し、ア
ドレッシング・ユニットを含む。コントロール要素61
5は、一般に、図1のデコーダおよびパイプライン・コ
ントローラを表す。オンチップI/Oペリフェラル(図
示せず)がバス617と通信し、非常に多くの高品質の
出力をビデオ・ディスプレイ・ユニット619に供給す
る。監視入力および出力I/O621もデバイス11に
設けられている。
グ機能のお陰で、コントロール615は、その出力をレ
ジスタからアドレッシング回路に直接に転送するための
コマンドで動作することができ、その転送の間、任意の
メモリ・ロケーションをバイパスする。メモリ・マッピ
ングのため、図1の計算用コア・レジスタのペアが有利
にアクセスされて、それらの図のレジスタに対する矢印
の方向とは無関係に、データ・パスを経由してそれらの
間のメモリ・バイパス転送を行う。デバイス11の乗算
機能がアドレッシング機能で利用されるので、その回路
は電子的メモリ605に配列を設定し、その中で、その
配列は少なくとも三次元でメモリにアクセス可能なエン
トリーを含む。ビデオ・ディスプレイ619はデバイス
11による多次元配列処理からの結果の出力を表示す
る。もちろん、メモリ605は多次元になっているか、
それ自身が多次元である必要がないことは理解されるべ
きであるが、そのアドレッシングはデバイス11によっ
て迅速に行われ、複数の配列次元をそれぞれ表している
変数によってその情報に直接アクセスできるかのように
オン・デマンドでアクセスできる。たとえば、アドレス
次元A1,A2,A3を備えている三次元の立体配列
は、式N2 ×A3+N×A2+A1に従って適切にアド
レスすることができる。二次元の配列においては、図1
のレジスタからのインデックス・カウントに従った単純
な繰返し加算がアドレッシングの目的に対して十分であ
る。しかし、三次元およびそれより高い次元を扱うため
には、そのプロセスは乗算器の積の機能を導入すること
によってかなり促進される。
オ処理システムの機能指向の図およびハードウェア・ブ
ロック指向の図をそれぞれ示す。これらの発明のシステ
ムに対するアプリケーションは、新しいワークステーシ
ョン、コンピュータ・インターフェース、テレビジョン
製品およびハイ・デフィニション・テレビジョン(HD
TV)製品を提供する。
31はデバイス11によってデータ入力を数多くの処理
に対して提供する。ビデオ・ピクセル処理演算633の
次にメモリ制御演算635が続く。ビデオ・ディスプレ
イ用のCRT制御機能637は、数値処理639、ピク
セル処理633およびメモリ制御635によって調整さ
れる。メモリ制御635の動作からの出力は、フレーム
・バッファ・メモリ641に供給されたのち、シフト・
レジスタ643に供給される。フレーム・バッファ・メ
モリおよびシフト・レジスタ641,643は、テキサ
ス インスツルメンツのデバイスTMS4161によっ
て適切に実装される。他のシフト・レジスタ645は、
シフト・レジスタ643からのビデオ情報をカラー・パ
レット647に供給する。カラー・パレット647は、
CRTコントロール637によって制御されるディスプ
レイ649をドライブする。カラー・パレット647に
はTMS34070が適している。
マイクロプロセッサ653として動作する第1のデバイ
ス11に信号を供給する。DSP653は、PROM、
EPROMおよびSRAMスタティック・メモリを含む
メモリ651によってサポートされる。制御、アドレス
およびデータ情報が、DSP653とGSP(グラフィ
ックス信号プロセッサ)655として動作する第2のデ
バイス11との間の二方向通信経路によって供給され
る。GSP655はカラー・パレット647およびディ
スプレイ・インターフェース657の両方をドライブす
る。インターフェース657はカラー・パレット647
によってさらにドライブされる。ディスプレイCRT6
59はディスプレイ・インターフェース657によって
ドライブされる。一般の図96に示すデバイス11およ
びシステムは必要な機能に適したクロック・レートで動
作することを理解すべきである。デバイス11は、特定
のアプリケーションのために必要な処理速度をサポート
するために、サブミクロンのデバイスとして製造され
る。処理パワーを増加するためのハイ・デフィニション
・テレビジョン装置の要求は、より高いクロック速度を
使うことによるだけでなく、ここに開示された回路の構
造的改良によっても満たされることは考えられる。
識システムはマイクロホン701を備え、その出力がサ
ンプル・ホールド(S/H)回路703によってサンプ
ルされ、その後、A/D回路705によってディジタル
に変換される。割込み駆動高速フーリエ変換プロセッサ
707は、デバイス11を利用して、マイクロホン70
1からのサンプルされた時間領域の入力をその音声の周
波数スペクトルを表すディジタル出力に変換する。プロ
セッサ707は、前述したように、ゼロ・オーバヘッド
割込みコンテキスト・スイッチング機能、条件付き命令
およびメモリ・アドレス空間にマップされた補助アドレ
ス・レジスタによって部分的に非常に効率が高い。
11を組み込んだ音声認識DSP709に各スペクトル
を提供する。音声認識用DSP709は、現在知られて
いるまたはその後開発される音声認識アルゴリズムを適
宜実行する。たとえば、テンプレート・マッチング・ア
ルゴリズムにおいては、乗算、加算および最大値または
最小値の決定を含む多数の計算が実行される。デバイス
11は、その並列機能アーキテクチャによって、そのよ
うなアルゴリズムを迅速に実行するのに理想的に適して
いる。認識用DSP709は出力をシステム・バス71
1に供給する。ROM713およびRAM715は、認
識用DSP709により提供されるページ境界上のソフ
トウェア待ち状態のために、システムを効率的にサポー
トする。音声認識用DSP709に応答する音声シンセ
サイザ717からの出力は、ラウドスピーカまたは他の
適切なトランスデューザ71gに供給される。
プ、ハード・ディスクなどのドキュメント作成装置72
3にダウンロードする。ビデオ陰極線管(CRT)ディ
スプレイ725は、図95および図96での接続で説明
されたように、バス711から供給される。キーボード
727は、ときどき与えられる人間の監視入力をバス7
11に提供する。音声認識の工業用および他のプロセス
制御アプリケーションにおいて、さらにもう1つのデバ
イス11を備えた制御インターフェース729がバス7
11に接続され、ビット操作および図82〜図87の原
理および説明に従ってモータ、バルブおよび他のサーボ
機構要素731に出力を提供する。
聴器では、認識用DSP709からの変換された音声
は、D/A変換器735によってディジタルからアナロ
グの形式に変換され、ラウドスピーカ737を通じて出
力される。また、同じブロック701,703,70
5,707,709,735,737のチェインも、音
声認識ベースのイコライゼーション、フィルタリングお
よびバンド幅圧縮に対して遠隔通信において適用でき
る。
ス・プロセッサ739は、音声認識用DSP709の出
力から得られる音素要素についてシンボリック操作を実
行し、適切な辞書アクセス・アルゴリズムに従って綴
り、ワードおよび文章を作成する。
る場合において音響入力に含まれた情報を音声のあいま
いさの分解能が上回るという原理に基づいたトップ・ダ
ウン処理のアルゴリズムを実行する。それに従って、光
センサ743および圧力センサ745などの非音響セン
サが入力システム747に供給され、次に、入力システ
ム747はパターン認識プロセッサ749を割込み駆動
する。プロセッサ749はシステム・バス711に直接
供給し、音声認識、パターン認識および人工機能アプリ
ケーションを強化するためにトップ・ダウン・プロセッ
サ741にもアクセスする。
あらゆるレベル、たとえば、ブロック707,709,
717,721,725,729,739,741,7
47,749における処理の機能を実質的に強化する。
・モデム・システムを示す。電話機771は、電話回線
773を介して機密モードで通信する。DSPマイクロ
コンピュータ773は、シリアル・データをブロック7
75に提供するために電話機771に接続される。ブロ
ック775は、ボコーダをディジタル化する機能をセク
ション777において実行し、ブロック781で暗号化
処理を実行する。ブロック779,783におけるモデ
ム・アルゴリズム処理について、図80および図82に
関連して説明される。ブロック783は、A/D、D/
Aユニット785との間でシリアル・データの受け渡し
を行う。ユニット785はアナログ通信をDAA787
に提供する。図1のデバイス11の実質的に強化された
処理機能によってブロック775で必要なチップの数を
減らすことができ、したがって、図98による装置にお
けるコスト削減が可能となる。いくつかの実施形態にお
いては、より進んだ暗号化手順がデバイス11の際立っ
た処理パワーによって容易に実行される。これに従っ
て、図98において、デバイス11は、各機能ブロック
の機能を強化するために、または、より少数のチップで
同等程度の機能を提供して総合製品コストを下げるため
に使われる。
Pは、TMS 320C1xユーザーズ・ガイド,TM
S 320C2xユーザーズ・ガイドおよび第3世代T
MS320ユーザーズ・ガイドで説明されており、それ
らのすべてを引用によって本明細書の記載に援用する。
また、共通譲渡の米国特許第4,577,282号およ
び第4,713,748号も引用によって本明細書の記
載に援用する。
によって説明されてきたが、この説明は限定の意味で解
釈されることを意図していない。本発明の他の実施形態
のほかに、この例示した実施形態の各種の変更版が当業
者にはこの説明に対する参照によって明らかとなる。し
たがって、添付の請求項が、本発明の範囲内に入るその
ような変更または実施形態をカバーすることが考えられ
る。
ツ インコーポレイテッド。本特許ドキュメントの開示
の一部は著作権保護の対象となる資料を含む。この著作
権の所有者は、特許庁の特許ファイルまたは記録に現わ
れるとき、本特許開示について誰かがファクシミリ複写
することには反対しないが、それ以外の場合には何によ
らず著作権によって保護されている。 <関連出願に対する相互参照>本出願は共願のS.N.
___(TI‐22106),S.N.___(TI‐
22109),S.N.___(TI‐23604),
S.N.___(TI‐24333),S.N.___
(TI‐24334),S.N.___(TI‐243
35),S.N.___(TI‐24942),S.
N.___(TI‐24956),S.N.___(T
I‐25248),S.N.___(TI‐2530
9)およびS.N.___(TI‐25310)に関連
しており、これらはすべて同時に出願され、引用によっ
て本明細書の記載に援用する。
す。
を示す。
御ステータス・レジスタ(CSR)を示す。
ジスタ(IN)を示す。
ジスタ(OUT)を示す。
を示す。
す。
Bは完全にパラレルのp個のビットを示す。Cは部分的
にシリアルのp個のビットを示す。
トに基づいたパイプラインの動作を示す。
は3つの実行パケットを含み、その次に6つのフェッチ
・パケット(n+1〜n+6)が続いて示され、各パケ
ットは1つの実行パケット(8個のパラレル命令を含
む)を示す。
す。
タスを含む割込みフラグ・レジスタ(IFR)を示す。
リアすることができる割込みセット・レジスタ(IS
R)を示す。
リアすることができる割込みクリア・レジスタ(IC
R)を示す。
関係を示す。
ようなサイズを変化することができる実行パケットを示
す。
ス可能であり、アドレスはブロックを通して左から右へ
増加しているデータを示す。
ス可能であり、アドレスはブロックを通して左から右へ
増加しているデータを示す。
示す。
bの値を示す。
bの値を示す。
・フェッチ・パケットとの関係を示す。
ンによって制御されることを示す。
チしないように防止することによってデータまたは演算
のコンテキストを失わずに大幅な電力節約が実現できる
ことを示す。
を示す。
を示す。
ングを示す。
ングを示す。
を示す。
を示す。
示す。
示す。
示す。
ミングを示す。
開始を示す。
再度ドライブされるトライステートの信号を示す。
おけるHOLD/HOLDAサイクルのトライステート
のすべての出力信号を示す。
しサイクルおよび書込みサイクルを示す。
しサイクルおよび書込みサイクルを示す。
ビットのホスト・ポートを示す。
す。
(CSR)を示す。
のブロック図を示す。
レスおよびエンディアン性の影響を示す。
レスおよびエンディアン性の影響を示す。
IFを示す。
ーブの時間幅を示す。
を示す。
示す。
す。
す。
示す。
ジスタの中のフィールドを示す。
す。
用法を示す。
に対するホスト・ポートのインターフェースを示す。
得るためのハンドシェーク動作を示す。
ポート信号の図を示す。
2ビット・ワードの転送から構成されているDMA動作
を示す。
す。
るためのデータの数をセットで示す。
タを示す。
示す。
制御ステータス・レジスタ(CSR)の中のPWRDフ
ィールドの3つの下位ビットの使用法を示す。
ステムのブロック図である。
ている部分ブロックの電気的な図である。
ック図である。
ブロック図である。
電気的ブロック図である。
ロック図である。
ロック図である。
・キャンセリング・システムの電気的ブロック図であ
る。
である。
ードウェア・ブロックまたはプロセス・ブロックを等し
く表している電気的ブロック図である。
ア・ブロックまたはプロセス・ブロックを等しく表して
いる電気的ブロック図である。
されたホスト・コンピュータおよびディジタル信号プロ
セッサを含む改良されたシステムの電気的ブロック図で
ある。
オ画像システムの電気的ブロック図である。
オ処理のためのハードウェア・ブロックまたはプロセス
・ブロックを等しく表す電気的ブロック図である。
オ処理用のシステムの電気的ブロック図である。
ロック図である。
・システムの電気的ブロック図である。
Claims (13)
- 【請求項1】 並列データ操作を実行することができる
第1のセットの機能ユニットと、 並列データ操作を実行することができる第2のセットの
機能ユニットと、前記第1および第2の機能ユニットを
接続するデータ相互接続経路と、を含むマイクロプロセ
ッサ。 - 【請求項2】 前記各機能ユニットが一組のレジスタ・
ファイルを含む、請求項1記載のマイクロプロセッサ。 - 【請求項3】 前記データ相互接続経路が前記レジスタ
・ファイルの組を接続する、請求項2記載のマイクロプ
ロセッサ。 - 【請求項4】 前記第2および第1の機能ユニットを接
続する第2のデータ相互接続経路をさらに含む、請求項
1記載のマイクロプロセッサ。 - 【請求項5】 前記各機能ユニットが乗算器を含む、請
求項1記載のマイクロプロセッサ。 - 【請求項6】 前記各機能ユニットが、選択された論理
および算術演算を実行することができる論理ユニットを
含む、請求項1記載のマイクロプロセッサ。 - 【請求項7】 前記各機能ユニットが、選択された論
理、算術演算およびシフト操作を実行できる論理ユニッ
トを含む、請求項1記載のマイクロプロセッサ。 - 【請求項8】 前記各機能ユニットが、選択された算術
演算およびデータ操作を実行することができる論理ユニ
ットを含む、請求項1記載のマイクロプロセッサ。 - 【請求項9】 電話回線に接続するためのアナログ/デ
ィジタル変換器またはディジタル/アナログ変換器と、 前記変換器に接続された、変調または復調を実行するマ
イクロプロセッサを含むプロセッサ回路とを具備し、 前記マイクロプロセッサが、 並列データ操作を実行することができる第1のセットの
機能ユニットと、 並列データ操作を実行することができる第2のセットの
機能ユニットと、前記第1の機能ユニットと前記第2の
機能ユニットとの間のデータ相互接続経路とを含む、モ
デム。 - 【請求項10】 シャーシ、車軸および車輪と、 前記車軸の少なくとも1つに結合されたブレーキング・
システムと、 乗客快適性を規定する自動車ボディと、 前記自動車ボディおよび前記シャーシに関連するサスペ
ンション・システムと、 前記車軸の少なくとも1つに運動パワーを供給するエン
ジンと、 電気的ビットによって定義された命令に応答する電子自
動車制御システムであって、少なくとも前記ブレーキン
グ・システム、前記サスペンション・システムまたは前
記エンジンに結合された電子自動車制御システムと、 データ処理回路であって、 並列データ操作を実行することができる第1のセットの
機能ユニットと、 並列データ操作を実行することができる第2のセットの
機能ユニットと、 前記第1の機能ユニットと前記第2の機能ユニットとの
間のデータ相互接続経路とを含むデータ処理回路と、 前記電子自動車制御システムに選択されたビットを供給
して前記ブレーキング・システム、前記サスペンション
・システムまたは前記エンジンのうちの少なくとも1つ
における変化を生じさせるインターフェースと、を含む
自動車。 - 【請求項11】 プロセス制御システムであって、 前記プロセスの状態に応答するセンサと、 電子指令に対して応答して前記プロセスの少なくとも1
つのパラメータを変更するために動作するプロセス制御
要素と、 前記センサおよび前記プロセス制御要素に接続されたデ
ータ処理回路とを含み、該データ処理回路が、 並列データ操作を実行することができる第1のセットの
機能ユニットと、 並列データ操作を実行することができる第2のセットの
機能ユニットと、 前記第1の機能ユニットと前記第2の機能ユニットとの
間のデータ相互接続経路と、 前記プロセス制御要素に選択された電子指令を供給する
インターフェースとを含む、プロセス制御システム。 - 【請求項12】 データ処理システムであって、 第1の複数の命令を同時にフェッチするフェッチ回路
と、 第2の複数の命令を同時に実行することができる回路と
を含み、 前記第2の複数の命令が前記第1の複数の命令より少な
いか等しい、データ処理システム。 - 【請求項13】 データ処理システムであって、 第1の複数の命令を同時にフェッチするフェッチ回路
と、 第2の複数の命令を条件付きで実行することができる回
路とを含み、 前記第2の複数の命令は前記第1の複数の命令より少な
いか等しい、データ処理装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US036482 | 1993-03-24 | ||
| US3648297P | 1997-01-24 | 1997-01-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10275080A true JPH10275080A (ja) | 1998-10-13 |
| JPH10275080A5 JPH10275080A5 (ja) | 2005-08-11 |
Family
ID=21888834
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10048481A Pending JPH10275080A (ja) | 1997-01-24 | 1998-01-23 | マイクロプロセッサ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6182203B1 (ja) |
| EP (1) | EP0858039A3 (ja) |
| JP (1) | JPH10275080A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009514726A (ja) * | 2005-11-04 | 2009-04-09 | ボーズ・コーポレーション | 安全なアクティブサスペンションシステム |
Families Citing this family (114)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69430018T2 (de) * | 1993-11-05 | 2002-11-21 | Intergraph Corp., Huntsville | Befehlscachespeicher mit assoziativem Kreuzschienenschalter |
| US6128728A (en) * | 1997-08-01 | 2000-10-03 | Micron Technology, Inc. | Virtual shadow registers and virtual register windows |
| US6560493B1 (en) * | 1999-02-26 | 2003-05-06 | Massachusetts Institute Of Technology | Architecture for distributed control of actuator and sensor arrays |
| US6539467B1 (en) * | 1999-11-15 | 2003-03-25 | Texas Instruments Incorporated | Microprocessor with non-aligned memory access |
| US6742083B1 (en) | 1999-12-14 | 2004-05-25 | Genesis Microchip Inc. | Method and apparatus for multi-part processing of program code by a single processor |
| US6738884B1 (en) | 1999-12-14 | 2004-05-18 | Genesis Microchip Inc. | Method and apparatus for processing data with semaphores |
| US6728853B1 (en) * | 1999-12-14 | 2004-04-27 | Genesis Microchip Inc. | Method of processing data utilizing queue entry |
| US6920543B1 (en) * | 1999-12-14 | 2005-07-19 | Genesis Microchip, Inc. | Method and apparatus for performing distributed processing of program code |
| US6775757B1 (en) | 1999-12-14 | 2004-08-10 | Genesis Microchip Inc. | Multi-component processor |
| US6629187B1 (en) * | 2000-02-18 | 2003-09-30 | Texas Instruments Incorporated | Cache memory controlled by system address properties |
| US6574724B1 (en) * | 2000-02-18 | 2003-06-03 | Texas Instruments Incorporated | Microprocessor with non-aligned scaled and unscaled addressing |
| US6453405B1 (en) * | 2000-02-18 | 2002-09-17 | Texas Instruments Incorporated | Microprocessor with non-aligned circular addressing |
| US20120089499A1 (en) * | 2000-06-29 | 2012-04-12 | Balthaser Online, Inc. | Methods, systems, and processes for the design and creation of rich-media applications via the internet |
| DE10030980A1 (de) * | 2000-06-30 | 2002-01-10 | Bosch Gmbh Robert | Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller |
| US7162426B1 (en) * | 2000-10-02 | 2007-01-09 | Xybernaut Corporation | Computer motherboard architecture with integrated DSP for continuous and command and control speech processing |
| US7007156B2 (en) * | 2000-12-28 | 2006-02-28 | Intel Corporation | Multiple coprocessor architecture to process a plurality of subtasks in parallel |
| WO2002054160A1 (en) * | 2001-01-02 | 2002-07-11 | Iscon Ltd. | Integration assisting system and method |
| US6826704B1 (en) * | 2001-03-08 | 2004-11-30 | Advanced Micro Devices, Inc. | Microprocessor employing a performance throttling mechanism for power management |
| US7602847B1 (en) | 2001-03-27 | 2009-10-13 | Vixs Systems, Inc. | Device and method for compression of a video stream |
| US8107524B2 (en) * | 2001-03-30 | 2012-01-31 | Vixs Systems, Inc. | Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network |
| US20070053428A1 (en) * | 2001-03-30 | 2007-03-08 | Vixs Systems, Inc. | Managed degradation of a video stream |
| US6820194B1 (en) * | 2001-04-10 | 2004-11-16 | Mindspeed Technologies, Inc. | Method for reducing power when fetching instructions in a processor and related apparatus |
| US6959348B1 (en) * | 2001-07-30 | 2005-10-25 | Vixs Systems, Inc. | Method and system for accessing data |
| US7675972B1 (en) | 2001-07-30 | 2010-03-09 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
| US20030039226A1 (en) * | 2001-08-24 | 2003-02-27 | Kwak Joseph A. | Physical layer automatic repeat request (ARQ) |
| US7596127B1 (en) | 2001-10-31 | 2009-09-29 | Vixs Systems, Inc. | System for allocating data in a communications system and method thereof |
| US7139330B1 (en) | 2001-10-31 | 2006-11-21 | Vixs Systems, Inc. | System for signal mixing and method thereof |
| US7106715B1 (en) | 2001-11-16 | 2006-09-12 | Vixs Systems, Inc. | System for providing data to multiple devices and method thereof |
| US7356079B2 (en) * | 2001-11-21 | 2008-04-08 | Vixs Systems Inc. | Method and system for rate control during video transcoding |
| US7403564B2 (en) * | 2001-11-21 | 2008-07-22 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
| US7165180B1 (en) | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
| US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
| DE10206865C1 (de) * | 2002-02-18 | 2003-05-15 | Daimler Chrysler Ag | Reaktionszeit-Beschränkung eines Software-Prozesses |
| US7315934B2 (en) * | 2002-03-06 | 2008-01-01 | Matsushita Electric Industrial Co., Ltd. | Data processor and program for processing a data matrix |
| US7200735B2 (en) * | 2002-04-10 | 2007-04-03 | Tensilica, Inc. | High-performance hybrid processor with configurable execution units |
| US7310679B1 (en) | 2002-04-29 | 2007-12-18 | Vixs Systems Inc. | Method and system for transmitting video content while preventing other transmissions in a contention-based network |
| US7120253B2 (en) * | 2002-05-02 | 2006-10-10 | Vixs Systems, Inc. | Method and system for protecting video data |
| US20030236963A1 (en) * | 2002-06-25 | 2003-12-25 | Mike Ryken | Method for fetching word instruction in a word-based processor and circuit to perform the same |
| KR100450680B1 (ko) * | 2002-07-29 | 2004-10-01 | 삼성전자주식회사 | 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 |
| US7408989B2 (en) * | 2003-01-16 | 2008-08-05 | Vix5 Systems Inc | Method of video encoding using windows and system thereof |
| US20040141555A1 (en) * | 2003-01-16 | 2004-07-22 | Rault Patrick M. | Method of motion vector prediction and system thereof |
| US7606305B1 (en) | 2003-02-24 | 2009-10-20 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7327784B2 (en) * | 2003-02-24 | 2008-02-05 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7133452B1 (en) | 2003-02-24 | 2006-11-07 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7130350B1 (en) | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
| US7739105B2 (en) * | 2003-06-13 | 2010-06-15 | Vixs Systems, Inc. | System and method for processing audio frames |
| US7873110B2 (en) * | 2003-06-17 | 2011-01-18 | Broadcom Corporation | MPEG smart video transport processor with different transport packet handling |
| US7668396B2 (en) * | 2003-09-29 | 2010-02-23 | Vixs Systems, Inc. | Method and system for noise reduction in an image |
| US7277101B2 (en) | 2003-09-29 | 2007-10-02 | Vixs Systems Inc | Method and system for scaling images |
| US7453882B2 (en) * | 2003-11-03 | 2008-11-18 | Sun Microsystems, Inc. | Apparatus and method for asynchronously controlling data transfers across long wires |
| US7047345B2 (en) * | 2004-02-05 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Logic configured for complimenting data on a bus when threshold exceeded |
| US7406598B2 (en) * | 2004-02-17 | 2008-07-29 | Vixs Systems Inc. | Method and system for secure content distribution |
| US7139905B2 (en) * | 2004-04-29 | 2006-11-21 | Microsoft Corporation | Dynamic endian switching |
| US7519802B2 (en) * | 2004-05-05 | 2009-04-14 | Hewlett-Packard Development Company, L.P. | System and method for configuring a computer system |
| US8514944B2 (en) * | 2004-06-18 | 2013-08-20 | Broadcom Corporation | Reducing motion compensation memory bandwidth through memory utilization |
| US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
| US7685354B1 (en) * | 2004-06-30 | 2010-03-23 | Sun Microsystems, Inc. | Multiple-core processor with flexible mapping of processor cores to cache banks |
| US7873776B2 (en) * | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
| US7421048B2 (en) * | 2005-01-20 | 2008-09-02 | Vixs Systems, Inc. | System and method for multimedia delivery in a wireless environment |
| US7609766B2 (en) * | 2005-02-08 | 2009-10-27 | Vixs Systems, Inc. | System of intra-picture complexity preprocessing |
| US8949920B2 (en) * | 2005-03-17 | 2015-02-03 | Vixs Systems Inc. | System and method for storage device emulation in a multimedia processing system |
| US7400869B2 (en) * | 2005-03-22 | 2008-07-15 | Vixs Systems Inc. | System and method for adaptive DC offset compensation in wireless transmissions |
| US7707485B2 (en) | 2005-09-28 | 2010-04-27 | Vixs Systems, Inc. | System and method for dynamic transrating based on content |
| DE102005063499B4 (de) * | 2005-10-06 | 2014-05-22 | Infineon Technologies Ag | Compiliervorrichtung und Verfahren zum Compilieren |
| DE102005048029B4 (de) | 2005-10-06 | 2009-03-12 | Infineon Technologies Ag | Compiliervorrichtung und Verfahren zum Compilieren |
| US20070112826A1 (en) * | 2005-11-10 | 2007-05-17 | Vixs Systems, Inc. | Multimedia transcoding based on remaining storage capacity |
| US8131995B2 (en) * | 2006-01-24 | 2012-03-06 | Vixs Systems, Inc. | Processing feature revocation and reinvocation |
| US7669001B1 (en) * | 2006-08-31 | 2010-02-23 | Qlogic, Corporation | Method and system for using application specific integrated circuits |
| WO2008091556A1 (en) * | 2007-01-24 | 2008-07-31 | Powerwave Technologies, Inc. | Adaptive echo cancellation for an on-frequency rf repeater using a weighted power spectrum |
| US20090017910A1 (en) * | 2007-06-22 | 2009-01-15 | Broadcom Corporation | Position and motion tracking of an object |
| US20090197641A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Computing device with handheld and extended computing units |
| US8254319B2 (en) * | 2007-01-31 | 2012-08-28 | Broadcom Corporation | Wireless programmable logic device |
| US20090011832A1 (en) * | 2007-01-31 | 2009-01-08 | Broadcom Corporation | Mobile communication device with game application for display on a remote monitor and methods for use therewith |
| US8116294B2 (en) * | 2007-01-31 | 2012-02-14 | Broadcom Corporation | RF bus controller |
| US8238275B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | IC with MMW transceiver communications |
| US8204075B2 (en) * | 2007-01-31 | 2012-06-19 | Broadcom Corporation | Inter-device wireless communication for intra-device communications |
| US8289944B2 (en) * | 2007-01-31 | 2012-10-16 | Broadcom Corporation | Apparatus for configuration of wireless operation |
| US8125950B2 (en) * | 2007-01-31 | 2012-02-28 | Broadcom Corporation | Apparatus for wirelessly managing resources |
| US8280303B2 (en) * | 2007-01-31 | 2012-10-02 | Broadcom Corporation | Distributed digital signal processor |
| US8223736B2 (en) * | 2007-01-31 | 2012-07-17 | Broadcom Corporation | Apparatus for managing frequency use |
| US8200156B2 (en) * | 2007-01-31 | 2012-06-12 | Broadcom Corporation | Apparatus for allocation of wireless resources |
| US20080320293A1 (en) * | 2007-01-31 | 2008-12-25 | Broadcom Corporation | Configurable processing core |
| US9486703B2 (en) * | 2007-01-31 | 2016-11-08 | Broadcom Corporation | Mobile communication device with game application for use in conjunction with a remote mobile communication device and methods for use therewith |
| US8239650B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | Wirelessly configurable memory device addressing |
| US8121541B2 (en) * | 2007-01-31 | 2012-02-21 | Broadcom Corporation | Integrated circuit with intra-chip and extra-chip RF communication |
| US8438322B2 (en) * | 2007-01-31 | 2013-05-07 | Broadcom Corporation | Processing module with millimeter wave transceiver interconnection |
| US7996660B2 (en) | 2007-08-13 | 2011-08-09 | Texas Instruments Incorporated | Software controlled CPU pipeline protection |
| CN101470600B (zh) * | 2007-12-27 | 2011-08-24 | 华为技术有限公司 | 一种超长指令字处理的方法和装置 |
| US8717974B2 (en) * | 2008-02-06 | 2014-05-06 | Broadcom Corporation | Handheld computing unit coordination of femtocell AP functions |
| US8064952B2 (en) * | 2008-02-06 | 2011-11-22 | Broadcom Corporation | A/V control for a computing device with handheld and extended computing units |
| US20090198798A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Handheld computing unit back-up system |
| US8117370B2 (en) * | 2008-02-06 | 2012-02-14 | Broadcom Corporation | IC for handheld computing unit of a computing device |
| US8195928B2 (en) * | 2008-02-06 | 2012-06-05 | Broadcom Corporation | Handheld computing unit with merged mode |
| US8175646B2 (en) * | 2008-02-06 | 2012-05-08 | Broadcom Corporation | Networking of multiple mode handheld computing unit |
| US8430750B2 (en) * | 2008-05-22 | 2013-04-30 | Broadcom Corporation | Video gaming device with image identification |
| GB2462860B (en) * | 2008-08-22 | 2012-05-16 | Advanced Risc Mach Ltd | Apparatus and method for communicating between a central processing unit and a graphics processing unit |
| US9870220B2 (en) * | 2008-12-05 | 2018-01-16 | Advanced Micro Devices, Inc. | Memory flash apparatus and method for providing device upgrades over a standard interface |
| US8239847B2 (en) * | 2009-03-18 | 2012-08-07 | Microsoft Corporation | General distributed reduction for data parallel computing |
| US20110072238A1 (en) * | 2009-09-20 | 2011-03-24 | Mimar Tibet | Method for variable length opcode mapping in a VLIW processor |
| TWI432953B (zh) | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
| US8824295B2 (en) * | 2011-12-30 | 2014-09-02 | Qualcomm Technologies, Inc. | Link between chips using virtual channels and credit based flow control |
| JP5831316B2 (ja) * | 2012-03-19 | 2015-12-09 | 富士通株式会社 | 並列処理装置 |
| US20140089645A1 (en) * | 2012-09-27 | 2014-03-27 | Texas Instruments Incorporated | Processor with execution unit interoperation |
| KR20150002319A (ko) * | 2013-06-28 | 2015-01-07 | 삼성전자주식회사 | 비대칭형 클러스터 구조의 프로세서 |
| US9772850B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Morton coordinate adjustment processors, methods, systems, and instructions |
| US20160139924A1 (en) * | 2014-11-14 | 2016-05-19 | Intel Corporation | Machine Level Instructions to Compute a 4D Z-Curve Index from 4D Coordinates |
| US20160139921A1 (en) * | 2014-11-14 | 2016-05-19 | Intel Corporation | Vector instruction to compute coordiante of next point in a z-order curve |
| US9772848B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Three-dimensional morton coordinate conversion processors, methods, systems, and instructions |
| US9772849B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Four-dimensional morton coordinate conversion processors, methods, systems, and instructions |
| US20160139919A1 (en) * | 2014-11-14 | 2016-05-19 | Intel Corporation | Machine Level Instructions to Compute a 3D Z-Curve Index from 3D Coordinates |
| US10761850B2 (en) * | 2017-12-28 | 2020-09-01 | Texas Instruments Incorporated | Look up table with data element promotion |
| US11556477B2 (en) * | 2018-06-15 | 2023-01-17 | Arteris, Inc. | System and method for configurable cache IP with flushable address range |
| US10558573B1 (en) | 2018-09-11 | 2020-02-11 | Cavium, Llc | Methods and systems for distributing memory requests |
| GB202015208D0 (en) * | 2020-09-25 | 2020-11-11 | Myrtle Software Ltd | Efficient circuit for sampling |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0630094B2 (ja) * | 1989-03-13 | 1994-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセツサ・システム |
| US5361367A (en) * | 1991-06-10 | 1994-11-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors |
| JPH05233281A (ja) * | 1992-02-21 | 1993-09-10 | Toshiba Corp | 電子計算機 |
| US5423051A (en) * | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
| WO1994027216A1 (en) * | 1993-05-14 | 1994-11-24 | Massachusetts Institute Of Technology | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism |
| US5848286A (en) * | 1994-03-29 | 1998-12-08 | Cray Research, Inc. | Vector word shift by vo shift count in vector supercomputer processor |
| US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
| US5848288A (en) | 1995-09-20 | 1998-12-08 | Intel Corporation | Method and apparatus for accommodating different issue width implementations of VLIW architectures |
| US5895501A (en) * | 1996-09-03 | 1999-04-20 | Cray Research, Inc. | Virtual memory system for vector based computer systems |
-
1998
- 1998-01-23 JP JP10048481A patent/JPH10275080A/ja active Pending
- 1998-01-23 US US09/012,813 patent/US6182203B1/en not_active Expired - Lifetime
- 1998-01-26 EP EP98101291A patent/EP0858039A3/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009514726A (ja) * | 2005-11-04 | 2009-04-09 | ボーズ・コーポレーション | 安全なアクティブサスペンションシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US6182203B1 (en) | 2001-01-30 |
| EP0858039A3 (en) | 2005-01-26 |
| EP0858039A2 (en) | 1998-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10275080A (ja) | マイクロプロセッサ | |
| US6505290B1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
| JP2834837B2 (ja) | プログラマブルコントローラ | |
| US5923893A (en) | Method and apparatus for interfacing a processor to a coprocessor | |
| JP3774538B2 (ja) | パーソナルコンピュータ回路、コンピュータシステム、及びその動作方法 | |
| US6179489B1 (en) | Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto | |
| KR100308618B1 (ko) | 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법 | |
| US5822779A (en) | Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active | |
| JP2001092662A (ja) | プロセッサコア及びこれを用いたプロセッサ | |
| WO2000033188A2 (en) | Efficient handling of a large register file for context switching and function calls and returns | |
| JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
| US5983338A (en) | Method and apparatus for interfacing a processor to a coprocessor for communicating register write information | |
| JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
| JPH07175666A (ja) | データプロセッサおよびその割込み要求処理方法 | |
| WO2003042819A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
| JPH0359749A (ja) | バスコントローラ | |
| KR100210205B1 (ko) | 스톨캐쉬를 제공하기 위한 장치 및 방법 | |
| Gallas et al. | Embedded Pentium (R) processor system design for Windows CE | |
| Leibson et al. | Configurable processors: a new era in chip design | |
| US6327648B1 (en) | Multiprocessor system for digital signal processing | |
| JPH10222367A (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
| US20020199081A1 (en) | Data processing system and control method | |
| Lübbers et al. | Communication and Synchronization in Multithreaded Reconfigurable Computing Systems. | |
| JP4227789B2 (ja) | 集積回路装置およびデータ処理システム | |
| JP3562215B2 (ja) | マイクロコンピュータ及び電子機器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050124 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050124 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060120 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060420 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060425 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060926 |