JP2002539519A - Vliwプロセッサにおけるレジスタ・アドレッシングの間接制御を提供するためのレジスタファイル索引付け方法及び装置 - Google Patents
Vliwプロセッサにおけるレジスタ・アドレッシングの間接制御を提供するためのレジスタファイル索引付け方法及び装置Info
- Publication number
- JP2002539519A JP2002539519A JP2000604303A JP2000604303A JP2002539519A JP 2002539519 A JP2002539519 A JP 2002539519A JP 2000604303 A JP2000604303 A JP 2000604303A JP 2000604303 A JP2000604303 A JP 2000604303A JP 2002539519 A JP2002539519 A JP 2002539519A
- Authority
- JP
- Japan
- Prior art keywords
- register
- rfi
- control
- instruction
- port
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000007246 mechanism Effects 0.000 claims description 24
- 239000013598 vector Substances 0.000 abstract description 34
- 238000012545 processing Methods 0.000 abstract description 21
- 230000006870 function Effects 0.000 abstract description 13
- 230000009977 dual effect Effects 0.000 abstract description 5
- 230000004048 modification Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 25
- 238000013459 approach Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 1
- AEMOLEFTQBMNLQ-VANFPWTGSA-N D-mannopyranuronic acid Chemical compound OC1O[C@H](C(O)=O)[C@@H](O)[C@H](O)[C@@H]1O AEMOLEFTQBMNLQ-VANFPWTGSA-N 0.000 description 1
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 1
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
- G06F9/30138—Extension of register space, e.g. register cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
and Apparatus for Providing Indirect Control of Register in a VLIW Proce
ssor」という名称の米国仮特許出願第60/077,766号の利点を主張する
。
細には、VLIWプロセッサにおけるレジスタ・アドレッシングの間接制御を提
供するための有利なレジスタファイル索引付け(RFI)技術に関する。
は、従来のスーパーコンピュータにおいて長年使用されてきた。このモデルの典
型的な特徴は、専用ベクトル命令、専用ベクトル・ハードウェア、及びデータの
ブロックに効率的に操作を加える能力の使用である。まさにこの、典型的にはベ
クトル・データ・タイプのみに操作を加える能力により、このモデルには柔軟性
がなく、多様な処理要件に効率的に対処できない。加えて、従来のベクトル・プ
ロセッサでは、制御スカラ処理のサポートが典型的には、分離したハードウェア
において、或いは分離した制御プロセッサにおいて行われた。もう1つのプロセ
ッサモデルは、従来の超長命令語(VLIW)プロセッサモデルであり、これは
、標準の単一プロセッサタイプの単一機能動作を長い命令語に、専用のマルチサ
イクル・ベクトル処理機能なしに連結することに基づいた、並列処理モデルに相
当する。ブロックデータ・ベクトル・パイプラインを効率的に動作するには、個
別のベクトル要素を引き渡すための効率的なインターフェイスを有することが重
要である。このため、成功したクラスの従来技術のベクトルマシンは、レジスタ
ベースであった。このレジスタベースのベクトルプロセッサは、ベクトル要素用
の高性能レジスタを提供し、要素の効率的なアクセスを機能実行ユニットによっ
て可能にする。実施特有のベクトル長の値に結合された単一のベクトル命令が、
ブロック・データ・マルチサイクル動作を引き起こす。加えて、多数のベクトル
マシンが連鎖機能を提供しており、個別のベクトル要素への操作が直接、他のベ
クトル関数ユニットへ経路指定されて、性能が向上される。これらの従前の特徴
及び能力が、本発明のための背景を提供する。本発明の一目的は、スカラ、VL
IW、及び柔軟性のあるベクトル処理能力を、間接的なVLIWプロセッサにお
いて効率的に組み込むことである。
では、レジスタオペランドのアクセスが、レジスタファイルに格納されたオペラ
ンドのレジスタアドレスを表す短命令語(SIW)ビット・フィールドから決定
される。レジスタベースのベクトルプロセッサでは、専用のハードウェアが使用
される。このハードウェアは単一ベクトル命令によって開始され、専用ベクトル
レジスタからのベクトル要素(オペランドデータ)のアクセスを自動化する。デ
ータのブロックにおけるマルチサイクル実行も自動化される。
使用された、専用のハードウェア技術もあった。例えば、米国特許第5,680
,600号は、レジスタファイル・アドレッシングを自動化するためにループ又
は繰り返し命令を使用して、レジスタファイルにアクセスするための技術を記載
している。この手法は、レジスタ・アドレッシングをループ又は繰り返し命令に
結合し、これにより、レジスタアドレスに、レジスタファイルのアドレス空間を
介して増分するように指示する間に、ロード又は格納命令を繰り返させる。電子
回路が、多数の逐次命令のためのコントローラメモリの必要量を低減するために
指定される。従って、この従来技術の手法は、特殊なループ又は繰り返し命令に
よって呼び出されたロード及び格納タイプの動作にのみ適用されるようにみえる
。このように、これは、以下で更に対象とされるような間接VLIW ManA
rray(マンアレイ)プロセッサに容易に適用可能ではない。
iVLIW)プロセッサ及びプロセッサ要素(PE)からなることができ、これ
らが32ビットの固定長の短命令語(SIW)を利用する。SIWを、プロセッ
サにつき最大8つの実行ユニットの1つによって個別に、かつ、SIMDモード
の動作において、多数のPEを同期させて実行することができる。もう1つのタ
イプのSIWは、VLIWを間接的に参照して、最大8つのSIW命令の発行を
、各プロセッサにおいて並行して、多数のPEを同期させて、並行して実行させ
ることができる。
読取り及び書込みポートを有し、これがレジスタファイル或いは複数ファイルに
接続される。大抵のプロセッサでは、各ポート用に選択されたレジスタが、命令
におけるビットフィールドを使用してアドレス指定される。ManArrayプ
ロセッサにおいて使用された間接VLIW技術により、VLIWを作成するSI
WがVLIWメモリに格納される。各SIWがレジスタオペランド・フィールド
を、レジスタによりアクセスされたオペランドデータにおける単一の動作のため
の定義によって固定するので、単一のオペランドフィールドが処理アルゴリズム
によって必要とされるように異なっていなければならないときはいつでも、多数
のVLIWが必要とされる。従って、このようなプロセッサ、及び、より一般に
は並列アレイプロセッサに拡張可能なものと共に使用するための、データのブロ
ックにおける動作のための適切なレジスタファイル索引付け技術が、大変有利と
なる。
LIW命令を使用して、データのブロックにおけるパイプライン計算を達成する
小型の手段を提供することにより解決される。レジスタファイルにおけるデータ
のブロックにアクセスする二重間接方法が使用されて、専用のベクトル処理ハー
ドウェアを使用しない効率的な実施が可能となる。加えて、レジスタ・アドレッ
シングの自動修正が、単一ベクトル命令にも、繰り返し又はループ命令にも結合
されない。むしろこの技術は、レジスタファイル索引付け(RFI)と呼ばれ、
ブロックデータ操作機能の制御において十分なプログラマの柔軟性を可能にし、
非RFI命令をRFI命令と混合するための能力を提供する。ブロックデータ操
作機能がiVLIW ManArrayアーキテクチャに埋め込まれ、命令セッ
ト・アーキテクチャにわたるその汎用の使用を、専用のベクトル命令なしに、か
つ、繰り返し又はループ命令と使用するのみに限定されることなく可能にする。
本発明を利用すると、連鎖動作が、機能ユニットの間のいかなる直接経路指定も
なしに、固有に使用可能であり、さらに実施を簡素化する。加えて、このレジス
タファイル索引付けアーキテクチャが、コード化されるアルゴリズムのタイプに
応じて特に著しくなる可能性のあるVLIWメモリの必要量を低減する。
れたとき、多数の計算が明確なレジスタ使用パターンを示す。これらのパターン
は計算パイプラインの特性であり、本明細書で更に記載され、適合されるように
、間接VLIWプロセッサに埋め込まれたManArray間接ベクトル処理と
共に利用することができる。
めのユニークな初期化方法、ユニークな二重間接実行機構、ユニークな制御方法
を提供し、レジスタファイルを、独立した循環バッファに区分することができる
。これはまた、RFI及び非RFI命令を混合すること、及び、VLIW処理要
素の多数のアレイ編成に適用可能なスケーラブルな設計も可能にする。以下で更
に詳細に対象とするように、本発明は、iVLIWアレイプロセッサにおける並
列命令実行のための、VLIWメモリ、及び、結果として、SIWメモリの必要
量を低減する。
下の詳細な説明から、当業者には明らかになるであろう。
さらなる詳細は、1997年6月30日出願の米国特許出願第08/885,3
10号、1997年10月10日出願の米国特許出願第08/949,122号
、1998年10月9日出願の米国特許出願第09/169,255号、199
8年10月9日出願の米国特許出願第09/169,256号、1998年10
月9日出願の米国特許出願第09/169,072号、1998年11月6日出
願の米国特許出願第09/187,539号、1998年12月4日出願の米国
特許出願第09/205,558号、1998年12月18日出願の米国特許出
願第09/215,081号、1999年1月12日出願の米国特許出願第09
/228,374号、及び1999年1月28日出願の米国特許出願第09/2
38,446号、ならびに、1998年7月9日出願の「Methods and Apparatu
s for Instruction Addressing in Indirect VLIW Processors」という名称の仮
特許出願第60/092,130号、1998年10月9日出願の「Efficient
Complex Multiplication and Fast Fourier Transform (FFT) Implementation o
n the ManArray」という名称の仮特許出願第60/103,712号、1998
年11月3日出願の「Methods and Apparatus for Improved Motion Estimation
for Video Encoding」という名称の仮特許出願第60/106,867号、1
998年12月23日出願の「Methods and Apparatus for Providing Direct M
emory Access(DMA) Engine」という名称の仮特許出願第60/113,637
号、及び1998年12月23日出願の「Methods and Appratus Providing Tra
nsfer Control」という名称の仮特許出願第60/113,555号においてそ
れぞれ判明し、全体として、参照により本明細書に組み込まれる。
2×2 iVLIW単一命令多重データ・ストリーム(SIMD)プロセッサ1
00が、処理要素0(PE0)SP/PE0 101に結合されたコントローラ・
シーケンス・プロセッサ(SP)を含み、これは「Methods and Apparatus for
Dynamically Merging an Array Controller with an Array Processing Element
」という名称の米国特許出願第09/169,072号において、更に詳細に記
載されている。本発明によれば、3つの追加のPE151、153及び155も
、レジスタファイル索引付け及びそのスケーラブルな性質を示すために利用され
る。PEに、それらの行列位置により、PE0(PE00)101、PE1(PE01
)151、PE2(PE10)153、及びPE3(PE11)155について括弧に
おいて示されたように、ラベルを付けることもできることに留意されたい。SP
/PE0 101はフェッチコントローラ103を含み、32ビット命令メモリ1
05からの短命令語(SIW)のフェッチを可能にする。このフェッチコントロ
ーラ103が、プログラムカウンタ(PC)、分岐機能、デジタル信号処理ルー
プ動作、割り込みのサポートなど、プログラム可能プロセッサにおいて必要とさ
れた典型的な機能を提供し、命令メモリ管理制御を提供し、これは、アプリケー
ションによって必要とされた場合、命令キャッシュを含むことができる。加えて
、SIW I−フェッチ・コントローラ103は、32ビットのSIWをシステ
ムにおける他のPEに、32ビット命令バス102によってディスパッチする。
使用されるが、実際の使用はそのように限定されない。例えば、結合されたSP
/PE0 101における実行ユニット131を、制御機能に合わせて最適化され
た1組の実行ユニット、例えば、固定小数点実行ユニットに分離することができ
、PE0、ならびに他のPE151、153及び155を、浮動小数点の応用例
に合わせて最適化することができる。この記載のために、実行ユニット131が
、SP/PE0及び他のPEにおける同じタイプのものであると仮定される。類
似の方法において、SP/PE0及び他のPEが5命令スロットiVLIWアー
キテクチャを使用し、これは、超長命令語メモリ(VIM)メモリ109、及び
、命令復号化及びVIMコントローラ機能ユニット107を含み、これがSP/
PE0のI−フェッチ・ユニット103からディスパッチされたような命令を受
信してVIMアドレス及び制御信号108を生成し、これがiVLIWにアクセ
スするために必要とされ、109における文字SLAMDによって識別され、V
IMに格納される。ManArrayパイプライン設計は、分岐待ち時間を増大
させることなく、間接VLIWメモリ・アクセス機構を提供し、これは、間接実
行LVIW(XV)命令のための動的に再構成可能な命令パイプラインを提供す
ることによって行い、これは「Methods and Apparatus to Dynamically Reconfi
gure the Instruction Pipeline of an Indirect Very Long Instruction Word
Scalable Processor」という名称の米国特許出願第09/228,374号にお
いて、さらに詳細に記載されている。iVLIWのローディングは、「Methods
and Apparatus for Efficient Synchronous MIMD Operations with iVLIW PE-to
-PE Communication」という名称の米国特許出願第09/187,539号にお
いて、さらに詳細に記載されている。また、SP/PE0及び他のPEに含まれ
ているものは、共通のPE構成可能レジスタファイル127であり、これは、「
Methods and Apparatus for Dynamic Instruction Controlled Reconfiguration
Register File with Extended Precision」という名称の米国特許出願第09/
169,255号において、更に詳細に記載されている。
ントローラ125が、メモリ121におけるSPデータによりSPコントローラ
の、及び、メモリ123におけるPE0データによりPE0の、データ処理必要性
に対処しなければならない。SP/PE0コントローラ125は、32ビット・
ブロードキャスト・データバス126を介して送信されるデータのソースでもあ
る。他のPE151、153及び155は、共通の物理データメモリ・ユニット
123'、123”及び123'''を含むが、それらに格納されたデータは一般に
、各PEにおいて行われるローカル処理によって必要とされるように異なる。こ
れらのPEデータ・メモリへのインターフェイスも、PE1、2及び3における共
通の設計であり、PEローカルメモリ及びデータバス・インターフェイス論理1
57、157'及び157”によって示される。データ転送通信のためにPEを
相互接続するものは、クラスタスイッチ171であり、「Manifold Array Proce
ssor」という名称の米国特許出願第08/885,310号、「Methods and Ap
paratus for Manifold Array Processing」という名称の米国特許出願第09/
949,122号、及び「Methods and Apparatus for ManArray PE-to-PE Swit
ch Control」という名称の米国特許出願第09/169,256号において、よ
り完全に記載されている。ホストプロセッサへのインターフェイス、他の周辺デ
バイス、及び/又は外部メモリを、多数の方法において行うことができる。完全
性のために示された主要な機構が、DMA制御装置181に含まれ、これは、ス
ケーラブルなManArrayデータバス183を提供し、これがManArr
ayコアの外部のデバイス及びインターフェイスユニットに接続される。DMA
制御装置181が、これらの外部デバイスがバス185を介してManArra
yコアメモリとインターフェイスを取るために必要とされた、データフロー及び
バス裁定機構を提供する。
り本明細書に組み込まれる。
の詳細を参照すると、この手法は、二重間接機構を介した、効率的かつ柔軟性の
あるブロックデータ操作能力を提供するので、有利である。 (レジスタファイル索引付けプログラミング考察) 本発明の一態様によるレジスタファイル索引付け(RFI)は、各処理要素に
おける、かつ、オペランドレジスタファイルを、直接SIWのフィールドを介す
るのではなく、二重間接機構を介して、或いは、専用ベクトル命令及びベクトル
ハードウェアを介して、或いは、要求された繰り返し又はループ命令により、ア
ドレス指定するためのアレイコントローラにおける、方法及び装置を指す。各実
行ユニットが、1つ又は複数のレジスタファイルの読取り及び書込みポートを動
作する。読取り又は書込みポートは、レジスタファイルに供給されたレジスタ選
択アドレス及び制御線、レジスタファイルから読み取り中であるレジスタデータ
のための読取りポート用のデータバス、及び、レジスタファイルへ書き込み中で
あるレジスタデータのための書込みポート用のデータバスからなる。これらのポ
ートのレジスタ選択論理への入力は、典型的には図1Bの従来技術の装置におい
て図示されたように、実行中である命令のビットフィールドからのみ来たもので
ある。図1Bでは、プロセッサの命令レジスタ10において受信された命令が、
典型的にはレジスタファイル・アドレスを含み、これらが典型的には、レジスタ
12、14及び16など、ポートアドレス・レジスタにおいてラッチされ、次い
で、レジスタファイル20など、レジスタファイルをアドレス指定するために直
接使用されて、図1Bの格納ユニット22、ロードユニット24、ALU26、
MAU28及びDSU30など、ユニットによる命令実行がサポートされた。
より、各実行ユニットの各レジスタファイルポートを、以下で更に対象とされる
ような簡素な制御回路を使用して、二重間接機構を介して独立して制御すること
もできる。
重間接機構によって呼び出すことができるので、有利である。32ビット符号化
フォーマット201を有する例示的実行VLIW(XV)命令200が、図2A
に示される。命令構文、パラメータ又はオペランド、命令200によって実行さ
れた動作を要約する構文/動作テーブル203が図2Bに示される。ManAr
ray RFI動作が、ビット20及び21であるRFI動作ビット202を、
実行VLIW(XV)命令200において、図2Aに示されたように使用して、
RFI動作を使用可能にする。
E VLIWメモリ(VIM)の個々の命令スロットが間接的に実行させられる
。VIMアドレスが、ベースVIMアドレス・レジスタVb(V0又はV1)に、
符号なし8ビットのオフセットVIMOFFSを加えた和として計算される。個
々の命令スロットのいかなる組み合わせも、実行スロット・パラメータ「E={
SLAMD}」を介して実行することができ、但し、S=格納ユニット(SU)
、L=ロードユニット(LU)、A=論理演算装置(ALU)、M=乗算累算ユ
ニット(MAU)、及びD=データ選択ユニット(DSU)である。空の「E=
」パラメータは、いかなるスロットも実行しない。ユニット影響フラグ(UAF
)パラメータ「F=[AMDN]」が、VLIWについて指定されたUAFを、
それがロードVLIW(LV)命令を介してロードされたとき、オーバーライド
する。オーバーライドは、どの算術命令スロット(A=ALU、M=MAU、D
=DSU)又は、なし(N=NONE)が、VLIWのこの実行について条件フ
ラグを設定するために可能とされるかを選択する。オーバーライドは、LV命令
を介して指定されたUAF設定に影響を与えない。空の「F=」は、VLIWが
ロードされたときに、指定されたUAFを選択する。レジスタファイル索引付け
(RFI)パラメータ「R=[01N]」が使用されて、このXVの命令スロッ
トの間接実行についてRFIが使用可能或いは使用不可にされる。「R=0」(
図2AにおけるRFI動作ビット202=00)であれば、RFI動作が使用可
能にされ、RFI制御レジスタグループ0が選択される。「R=1」(ビット2
02=01)であれば、RFI動作が使用可能にされ、RFI制御レジスタグル
ープ1が選択される。「R=N」(ビット202=11)であれば、RFI動作
が使用不可にされる。
2の間接動作は、実行される次のXV命令において活動し始め、レジスタポート
・アドレスが、分離したRFI制御パラメータによって指定された方法において
制御されたハードウェアを自動的に増分することを介して、間接的に指定される
。RFI動作が以下で、ManArrayパイプラインに関連して、主として、
パイプラインの復号化及び実行段階に関して記載される。RFI制御は、4つの
部分、即ち、1)RFI制御指定、2)RFI初期化制御、3)RFI更新制御
、及び、4)RFI命令実行からなる。
各制御レジスタが、特定の実行ユニットによって使用されたレジスタポートにつ
いての全てのRFI制御情報を指定する。制御フィールドが各ポート用の制御レ
ジスタにあり、このフィールドが、RFI動作がこの特定のポートについて使用
可能にされるかどうかを指定し、使用可能にされた場合、RFIレジスタ更新ポ
リシーを指定する。
タファイル(MRF)300を介してアクセスされる。このレジスタファイルは
、追加のレジスタを、制限されたMRFアドレス空間内に、追加のレジスタを単
一のMRFアドレスにアドレス対応することによって追加できることにおいて、
ユニークである。MRF拡張レジスタ305及び315は、図3B及び図3Cに
おいてそれぞれ示され、MRF拡張アドレスレジスタ(MRFXAR)301及
びMRF拡張データレジスタ(MRFXDR)302及び303を使用してアク
セスされる。2つのMRF拡張データレジスタ302及び303が提供されて、
実施が簡素化され、各組の拡張レジスタの所期の使用が分離される。レジスタア
ドレスが、図4の32ビットMRFXARレジスタ410のハーフワードH1又
はH0部分に、図7A及び図7Bにおいて例示されたようなロード即値命令を使
用して書き込まれる。図3A乃至図3C、及び図4A及び図4Bの各部分の関係
が、以下でより十分に述べられる。
Cは、例示的なセットのRFI制御レジスタの要約を示す。これらのMRFXレ
ジスタ510、520、530、540、550、560、570及び580が
、図5において更に詳細に示され、各制御レジスタが、指定された実行ユニット
用の読取り/書込みポートに割り当てられる。これらの実行ユニットには、論理
演算装置(ALU)、乗算累算ユニット(MAU)、データ選択ユニット(DS
U)、ロードユニット及び格納ユニットが含まれる。
テキストレジスタ(550及び560)、及び1つのレジスタ580において使
用されて、各制御グループのためのRFI制御の初期化が制御される。予約済レ
ジスタ570も示される。第1の制御グループ0が、図3CにおけるRFIDL
S0 310及びRFIAM0 320を含む。さらなる詳細が、図5のレジスタ5
10及び520において示される。第2の制御グループ1が、RFIDLS1 3
30及びRFIAM1 340を含み、さらなる詳細がレジスタ530及び540
において示される。
ト21及び20という、図2の命令200のRFIビット202を介して指定さ
れて、このVLIWにおける命令によって使用された、いかなるポートのRFI
制御も可能にされる。本発明が、制御情報又は制御情報の部分集合を、直接命令
においてなど、指定するための別の機構を使用することを除外しないことは、理
解されよう。
、単一のロードRtポート501、単一の格納Rsポート502、DSU Ry50
3、Rx504及びRt505用の3つのオペランド・ポートのためのポート制御
情報を含む。制御グループ0における第2のレジスタ、RFIAM0 520が、
MAU Ry521、Rx522、Rt523用の3つのオペランドポート、及び、
ALU Ry524、Rx525及びRt526用の3つのオペランドポートのため
の、ポート制御情報を含む。2つの制御グループに関連付けられたものは、初期
化開始ビットであり、これらは、図3CのRFIStartレジスタ380にお
ける、より詳細には図5のレジスタ580における、制御グループ0及び1につ
いて含まれる。制御グループ0では、初期化開始ビットがH0ハーフワード58
1に、以下のように実行ユニットにつき単一のビットと共に位置する。即ち、格
納ポート開始0ビット−4 587、ロード・ポート開始0ビット−3 586
、ALUポート開始0ビット−2 585、MAUポート開始0ビット−1 5
84、及び、DSUポート開始0ビット−0 583である。類似の方法におい
て、第2の制御グループ1のための制御レジスタRFIDLS1 530、RFI
AM1 540が、図5に示されるようにセット・アップされる。制御グループ1
のための初期化開始ビットは、RFIStart580のH1ハーフワード58
2に位置する。他の2つのRFIレジスタRFIDLSI550及びRFIAM
I560が、コンテキスト保存及び復元動作のサポートにおける割り込みにおい
て、ポートアドレス値を格納してポートアドレスの値を保存する。
いかなるフォーマットを有する可能性もあり、これは、本発明が特定のフォーマ
ットを必要としないからであることに留意されたい。レジスタファイル・ポート
のための例示的フォーマット600が、より詳細に図6に示される。RFIパラ
メータが4ビットに、列601及び602において示されたように符号化される
。この制御情報が、次のRFI命令実行において選択される次のレジスタのアド
レスを生成するために適用される、更新のタイプを指定する。現時点の好ましい
実施形態では、制御パラメータが使用されて、レジスタアドレスに加算される更
新増分値603が選択され、選択することができる最大順次(1ずつ増分する)
レジスタファイルアドレス範囲(RFBS)604が指定される。以下で更に記
載されるように、開始レジスタがこれらのパラメータと共に、索引によって選択
することができる実際のレジスタセットを決定する。列605〜611が使用さ
れて、図8及び図9に示された間接ベクトル装置の動作が記載される。これらの
列605〜611では、「x」が「配慮しない」状態を表す。列612は、適用
可能ユニット列であり、どの実行ユニットに制御パラメータが適用されるかを指
定する。
して最適に理解される。図8は、算術演算装置におけるポート論理のための例示
的RFI装置800を示す。図9は、ロード及び格納ユニットにおけるポート論
理のための例示的RFI装置900を示す。この例示的記載は低コストの構成を
表し、これは、ALU、MAU及びDSUユニット用の制御グループ0、及び、
ロード及び格納ユニット用の制御グループ0及び1を使用する。これは、図5に
おいて概説されたアーキテクチャの記述の部分集合であり、プログラマの制約を
表し、全てのオプションが、制御グループ0における全ての実行ユニットについ
て使用可能であるが、制御グループ1は主としてブロック移動、保存及び復元動
作について使用される。RFI XV命令が、第2の制御グループ1を実施にお
いて選択し、算術演算装置上の制御グループ0のみを可能とし、算術演算装置は
、制御グループ1が指定されたときでも、制御グループ0指定に省略時指定され
る。この部分集合が実施の費用を最小化し、以下のようにより詳細に記載される
。
情報が、RFI制御レジスタ810及び910に、ロード即値(LIM)命令7
00の使用によって書き込まれ、この符号化フォーマットが図7Aに示され、こ
の構文/動作710が図7Bに示される。LIM命令700が最初に使用されて
、図4のロードMRFXARハーフワードH1 410がロードされて、図3Aに
おけるMRFXDR2 303へマップされる所望の拡張RFI制御レジスタがセ
ットアップされる。次いで、LIM命令がデータ値を所望の制御レジスタへ、M
RFXDR2用のアドレスを使用することによってロードする。制御レジスタの
各ハーフワード区間が別々に、LIM命令の定義によってロードされる。
のLIMデータパスが図示されない。このデータパスが選択的に制御されて、L
IM命令のH0ハーフワードが、図5において列挙されたMRF拡張レジスタの
いずれかの低又は高ハーフワード部分にロードされる。例えば、LIM命令が、
図5のRFIAM0レジスタ520のH1部分への、そのH0ハーフワードのロー
ディングを引き起こすことができる。図8の共通の算術RFIポート制御論理の
参照において、RFIAM0の3つの制御部分のうち1つが、810など、この
ポート用の更新制御レジスタ0において、この場合はALU852についてロー
ドされる。類似の方法において、他の2つのポート制御値が、それら自体のRF
Iポート制御論理に含まれたそれら自体のポート更新制御レジスタ0にロードさ
れる。他のManArray命令がRFI制御レジスタを、MRFデータバス8
09の使用を介してロードすることができる。MRFデータバス809は、RF
Iポートレジスタを、例えば、文脈切換え動作中に保存するためにも使用される
。特定のLIM命令の記載は、以下の通りである。LIM命令のハーフワード形
式が、16ビットの即値(イミーディエイト値)をSP又はPE目標レジスタR
tの上位ハーフワード(H1)又は下位ハーフワード(H0)にロードする。16
ビット即値が、符号「中間」値として解釈され、「−32768」から「655
35」の範囲におけるいかなる値も受け入れられることを意味する。これは、「
−32768」から「+32767」の2の補数符号付き値範囲、及び、「0」
から「65535」の符号なし値範囲を包含する。
ードする。17ビット符号付き値を、「−65536」から「65535」の範
囲におけるいかなる値にすることもできる。LIMのワード形式のための符号化
が、値の絶対値をIMM16フィールドに置き、符号ビットが図7Aに示された
LOCフィールドビット23及び22である。LOCフィールドが、上位ハーフ
ワードが全て1のビットで満たされるか、全て0のビットで満たされるかを決定
する。
めのビット583が、RFI開始レジスタ、図5のRFIStartにおいて設
定され、これが、各算術実行ユニットのポートのための開始ビット及びmux制
御ブロック812、及び、ロード又は格納ユニットのポートのためのブロック9
12に位置する。各開始ビットが、実行ユニットに属する全てのポートのための
初期化を制御する。これが現時点での好ましいフォーマットであるが、本発明は
このフォーマットに制限されない。このビットを設定する動作が、このレジスタ
に書き込むことができるいかなる命令によっても実行される。このタイプの少な
くとも1つの命令が使用可能である。このビットの設定の後、この特定のグルー
プ及び実行ユニットのためのRFI制御を呼び出す次の命令が、以下で「RFI
命令」と呼ばれ、命令語におけるフィールドによって最初に選択されたその実行
ユニットのオペランドレジスタを有し、次いで、このグループ及び実行ユニット
のための次のRFI命令により、図8及び図9に示されたRFI論理の制御下で
選択されたその実行ユニットのオペランドレジスタを有する。RFI XV命令
により、図2A及び図2Bにおいて記載されたように、SIWのVLIWセット
がローカルのVIM(本明細書で図1AにおけるようなManArray実施の
ために記載されたような5つのSIW)から間接的に検索される。例えば、5つ
のSIWのセットの1つが、図8に示されたような命令レジスタ814にロード
される。フェッチされたSIW RtのポートのためのポートRFI論理も、図8
に示される。フェッチされた命令の最初の実行では、Rtポートアドレス816
がRFIブロック動作のための開始アドレスである。Rtポート・アドレス81
6がマルチプレクサ814を介して、開始ビット及びmux制御ブロック812
によって制御信号813を介して制御されるように、ポートアドレス・レジスタ
816へ、マルチプレクサ出力811を介して渡される。Rtポートアドレスは
、このとき出力811において含まれ、復号化パイプライン段階の最後でポート
アドレス・レジスタ816にラッチされる。ポートアドレス・レジスタ816の
出力が直接、レジスタファイル818を、信号パス817を介してアドレス指定
する。オペランドがレジスタファイル818から選択され、SIW動作が、指定
された実行ユニットにおいて実行される。
指定される。これは、動作シーケンスにおける第2の間接指定である。第1の間
接指定は、RFI XV命令を介したものであり、これは間接的にSIWを指定
し、第2の間接指定は、RFI制御パラメータを介してセット・アップされたよ
うなRFI論理を介したものである。これを実施するため、動作更新制御レジス
タ0 810、更新加算器論理830、索引付きポート・ルック・アヘッド・レ
ジスタ820、マルチプレクサ814及び822、及び、更新制御論理824が
使用されて、更新されたポートアドレスが生成され、これが、後に続くRFI命
令実行において使用される。
において十分早期に使用可能であり、更新加算器論理830が更新制御論理82
4信号に基づいてアドレスを更新できるようにすることである。更新されたアド
レス819がmux制御信号815によって選択されてマルチプレクサ822を
通過し、索引ポート・ルック・アヘッド・レジスタ820に、復号化の最後に、
現在のポートアドレス811がポートアドレス・レジスタ816にロードされる
と同時にロードされる。次のRFI命令において、ルック・アヘッド・レジスタ
値821が、フェッチされたSIWオペランド・ポート・アドレス値の代りに使
用され、次の実行サイクルのためのポートアドレス・レジスタ816にラッチさ
れ、その間に、更新加算器論理が再度、使用される次のポートアドレスを準備中
である。RFI開始ビットの設定の後に続く最初のRFI命令の後、開始ビット
がクリアされ、後続のRFI命令に、それらのSIWオペランドレジスタを、対
応する索引付きポート・ルック・アヘッド・レジスタによって選択させるように
する。開始ビット及びmux制御ブロック812が、命令のレジスタが命令フィ
ールドによって選択されるか、RFI索引付きポート・ルック・アヘッド・レジ
スタによって選択されるかを決定するための制御を提供する。その入力は、命令
演算コード807、更新制御レジスタ0 810、及びRFIイネーブル信号8
25から来る。これらの信号が、パイプラインにおける命令の進行を指示するパ
イプライン制御信号(図示せず)と共に、レジスタ選択ソースを、マルチプレク
サ814を介して決定する。
命令を、RFIレジスタアドレス・シーケンスに影響を与えることなく、RFI
動作の間で混合することができる。非RFI命令が検出されたとき、RFI論理
が、非RFI命令の実行中に、必要とされたRFI状態を保持する。
数のレジスタのアドレスが、RFI論理によって供給される。この論理が、次の
サイクルのためのレジスタアドレスを、復号化サイクルの早期の段階において使
用可能なアドレスから定数を加算或いは減算し、特定のセットのレジスタアドレ
ス内で生成されたポートアドレスを維持することによって、更新する。現在の好
ましい実施形態では、これが、増分値、及び、図6に示されたようなレジスタフ
ァイル・ブロック・サイズ(RFBS)604を、制御される各ポートについて
指定することによって行われる。好ましい実施形態では、RFBS値が、1、2
、4、8など、2の整数の累乗であり、論理的に、レジスタファイルを、ブロッ
クにつきRFBS順次アドレス指定されたレジスタを有するレジスタのブロック
に区分させる。開始レジスタRs(Rcurrent=最初の更新におけるRs)、RF
BS値M、下限の商Q=[Rs/M]、及び正更新増分kと仮定すると、シーケ
ンスにおける次のレジスタ番号、Rnextが、以下によって与えられる。
算のためのRcurrentとも等しいRs=R5であると仮定する。また、更新増分が
k=2であり、RFBSがM=8であると仮定する。図6において、この例示的
設定が行620に対応し、これは、図8で対応する信号値を以下のように列挙す
る。即ち、G3=x 606及び831、G2=0 607及び832、G1=
1 608及び833、G0=1 609及び834、X1=1 610及び8
35、及びX0=0 611及び836である。信号X1及びX0が、更新加算
器論理830への2入力による増分を提供する。ゲート信号G3、G2、G1、
及びG0が、任意の開始レジスタが与えられたブロックサイズを維持する。更新
加算器論理830は、5つの標準全加算器861、862、863、864及び
865からなり、図10において更に詳細に示される。図10の全加算器100
0の実行信号Ci+1 1005が、更新加算器830の各段階からの実行信号84
1〜844に対応する。これらの実行信号が、ANDゲート845〜848、及
び、図6の指定された制御記述によって必要とされたモジュロ加算器を効果的に
作成するゲート制御信号831〜834によってゲートされる。これらの仮定で
は、RFIを使用してこのポートを指定する連続命令が、レジスタに、以下の順
序でアクセスする。即ち、R5、R7、R1、R3、R5、R7などである。開
始レジスタがR8であった場合、シーケンスは、R8、R10、R12、R14
、R8、R10などである。本発明は、2の累乗でない増分及び/又はRFBS
を使用することを除外せず、その内部で動作するためのレジスタアドレス・シー
ケンスを指定する別の機構を使用することも除外しない。例えば、読取り専用メ
モリを使用して、更新制御論理824及び更新加算器論理830を置き換えて、
望まれたいかなる所望のレジスタポート・アドレス・シーケンスも提供すること
ができる。メモリ・ブロックを使用することで実施配線問題を引き起こす可能性
があるので、離散論理において更新機能を実施できるようにすることが、現在好
ましい方法である。
2つの制御レジスタグループ910及び950をそれぞれ使用するように識別さ
れている。XV命令が、どのグループが使用されるかを、図2のビット21〜2
0 202を介して指定する。例示的システムでは、制御レジスタグループ1が
間接的に指定されたとき、VIMからフェッチされたロード及び格納SIWが、
mux制御信号951を介してマルチプレクサ952を通じて選択されたような
更新制御レジスタ1 950を使用するが、算術演算装置は制御レジスタグルー
プ0を使用することに省略時指定される。代替実施では、図9のRFIポート論
理を、各算術実行ユニットについて使用することができ、全ての実行ユニットに
ついて2つのRFIコンテキストを提供する。
たXV命令など、単一の命令のためのRFI制御下で有することが可能である。
RFIポート論理は実行ユニットの間で独立しているので、ポートを個別に、S
IW実行ユニット特有の命令によって制御することができる。これは、別の命令
又は命令のグループが、XV命令に加えて、独立RFI制御(即ち、異なる組の
制御パラメータ)を必要とした場合、別の制御レジスタのグループを割り当てる
ことができるという意味である。RFIセット・アップ待ち時間が相対的に短い
ので、図5において記載されたような制御レジスタ・セットを、容易に他のRF
I命令と共有することができる。
I機構はなお、図8及び図9に関して論じられた他のRFI手法において概説さ
れた二重間接機構を使用する。しかし、図11の手法では、プログラミングの制
約が強制され、処理中のデータのブロックについて、RFI動作を非RFI動作
と混合できないことが必要である。この手法は、図8及び図9において使用され
た、RFI及び非RFI命令を混合することができる手法とは異なる。いくつか
の製品定義では、これは問題ではなく、図11の簡素化されたハードウェア手法
を使用することができる。
ば、RFI初期化のための開始ビットが、先に記載されたように使用される。図
11における主な違いは、図8のレジスタ820のような、索引付きポート・ル
ック・アヘッド・レジスタが使用されないことである。むしろ、ポート・アドレ
ス・レジスタ1116がなおレジスタファイル1118をアドレス指定するが、
更新加算器論理1130動作が時間において変位され、図8において使用された
手法と比較されるように、ラッチされたポート・アドレス・レジスタ出力111
7において実行サイクル中に動作する。次の実行サイクルのための準備において
、更新加算器論理1130がポート・アドレス・レジスタ1116の出力111
7を、このポートのためのRFI更新制御レジスタ1110によって指定された
ように更新する。この実行サイクルの終了まで、マルチプレクサ1114が制御
入力1113を介して制御されて、更新加算器論理出力1119が選択されて、
マルチプレクサ1114を介して出力1111に渡される。次いで、マルチプレ
クサ1114出力1111がポート・アドレス・レジスタ1116において、次
の実行サイクルの開始のときにラッチされ、それにより、先にRFI制御セット
・アップによって指定されたようなレジスタファイル・ポート・アドレスを更新
する。
される。この追加の機構の目的は、RFI順序付けを、VLIW(XV)プログ
ラミング・モデルにおいてのみ使用されることから切り離すことである。ブロッ
ク・ロード、ブロック格納、及びブロック移動動作を単一の命令実行によりサポ
ートし、これを、SPにおいて独立で、或いは、PEにおいて同時に行うことが
できることが望ましい。追加のビットをSIWにおいて使用してこの動作を指定
するよりもむしろ、これは本発明によって除外されないが、RFIを使用可能に
する代替間接機構が使用される。このSIWにおけるビットの節約は、標準動作
符号化のための命令フォーマットのよりよい使用を可能にするが、本発明によっ
て提供されたRFI機能性を達成するための能力を除外しない。この代替機構は
、MRFにおいて特定の場所をアドレス指定することができるいかなるSIWに
よっても動作する。MRFにおける多数の場所をこのために提供することができ
るが、これを除外する可能性のある、特定の実施における他の使用がある。この
代替RFI使用可能機能を記載するため、図3AにおけるRFILSD304に
ついて示されたような、MRFにおける1つの場所が使用される。
て、RFIイネーブル信号が、XV RFI命令が受信されたときだけでなく、
ロード、格納又はDSU命令がSP又はPE命令レジスタにおいて受信されたと
きにも生成され、これがRFILSDアドレスを、ロードRt、格納Rs又はDS
U Rt又はRsオペランドとして指定する。この代替RFI使用可能機構を使用
する前に、RFI制御レジスタがセットアップされ、ブロック・ロード、格納又
はDSU動作において使用される初期レジスタを指定することが必要とされる。
開始ビットは、この代替RFI使用可能機構において使用されず、これは、ブロ
ック・シーケンスの開始アドレスがポート制御レジスタに格納されるからである
。ロード、格納又はDSU命令を受信すると、これはRFILDSビットをオペ
ランド・アドレスとして使用し、RFIモードが使用可能にされ、各レジスタ・
オペランド・アドレスが、事前にセットアップされたポート(オペランド)アド
レスで、図8、図9及び図11の各RFI論理において示されたようなRFIポ
ート論理によって、置換される。RFI及び非RFI動作は、図8及び図9のハ
ードウェアを使用するときに混合することができる。実際に、ロード、格納及び
DSU制御レジスタ、図9に示されたようなグループ0及び1のために2つのコ
ンテキストを使用することによって、次いで、第1のデータのブロックにおける
RFI XV動作、第2のデータのブロックにおけるRFILSDを使用するR
FI動作、及び非RFI動作を混合することができる。算術ポート・レジスタ・
オペランド・アドレス範囲の適切な拡張によって、算術命令が、RFILSDア
ドレスを参照することによって、RFIを算術命令実行のために呼び出させるこ
とができることを理解されたい。
御情報が使用されて、従来のレジスタアドレス選択フィールド(命令に含まれた
オペランドアドレス・フィールド)が使用されるかどうか、或いは、レジスタの
RFI選択が使用されるかどうかが指定される。現在好ましい実施形態では、命
令における制御情報、図2の間接VLIW XV命令ビット21及び20 20
2が、RFI動作を制御するために使用される制御レジスタ又はレジスタのセッ
トを間接的に指定する。これらの制御レジスタ・グループの1つ又は複数が、図
5においてみられるように、RFI制御のために使用可能である。XV RFI
命令が、RFIモードを使用可能にし、RFI動作を制御するための制御レジス
タ・グループを選択する。図5に示されたRFI制御レジスタのグループ510
〜580が、すべてのレジスタ・ポートがRFI制御されることを可能にし、あ
らゆる実行ユニットがRFIモードで同時に動作できることを意味する。
イルへのライト・バックにより終了することに留意されたい。この手法は、ライ
ト・バック・サイクルの後の次のサイクルが、この結果を次の動作において使用
できるようにする。懸命なプログラミングによって、次いで、ベクトル演算の連
鎖がアーキテクチャにおいて固有である。分離した迂回パスを、実行ユニットに
おいて連鎖をサポートするために設ける必要はない。
のいくつかの有利な態様が例示される。増分値1、RFBS値(M)2の累乗、
開始レジスタR2と仮定すると、レジスタアドレスが、偶数レジスタR2及びそ
の対応する奇数レジスタ(アドレス+1)R3という、2つのレジスタの間で交
替する。RFBS=4では、レジスタがサイクルを、増分1で4つの値の中でア
ドレス指定する。以下の表は、いくつかのアドレス・シーケンスを示す。
MD VLIW ManArrayプロセッサにおいて計算することが望まれる
と仮定する。さらに、以下の命令タイプが使用可能であると仮定する。
され、以下の表に示されたように、各PEが行列の行を、レジスタR4、R5、
R6及びR7において含むようにする(PE0が行0を得る、PE1が行1を得
る、など)と仮定する。
行列によって乗算され、結果がローカルのPEメモリ123、123'、123
”及び123'''に格納された場合、適切な順序アルゴリズムが、R2が最初に
ゼロであったと仮定された場合、以下のようになる可能性がある。
あっても、これは、4VLIWタイプの命令に加えて、単一のロードLDB及び
単一の格納ST命令を必要とする。
る。すなわち、R2及びR0が共にゼロに初期化され、レジスタファイル索引付
けが、XV命令によって間接的に実行されたVLIWに関連付けられた以下のパ
ラメータと共に使用されると仮定する。
スタRFIシーケンスがR7→R4→R5→R6→R7などで開始する。
LIWが使用される事実が、実行されるiVLIWの数、及び、ManArra
yアーキテクチャにおいてロードされなければならないVLIWの数も減らす。
これらの節約は間接的であるが、微々たるものではなく、これは、VLIWメモ
リ(VIM)がチップの資源において高価なものに相当するからである。RFI
動作が、必要とされるVLIWメモリの量を減らし、従って、より高価でないチ
ップを可能にする。
を適切に、後に続く特許請求の範囲に適合する他の環境及び応用例に適用できる
ことは、理解されよう。
サを例示する図である。
。
。
MRF)を例示する図である。
素(PE)において使用されたRFIレジスタを識別する図である。
FI制御レジスタが、図4AのMRFXARレジスタ値によって指定されたよう
にマップされる図である。
。
ある。
ド即値(LIM)命令符号化を例示する図である。
る図である。
図を例示する図である。
理ユニットにおける使用のための、従来の全加算器を例示する図である。
FI制御ブロック図を例示する図である。
Claims (18)
- 【請求項1】 レジスタファイル索引付けを有するデータ・プロセッサであ
って、 命令シーケンサ、及び最大N個の命令を並行して実行することができるN個の
実行ユニットと、 前記N個の実行ユニットによって読み取りかつ書き込みされたデータオペラン
ドを含むレジスタを有する複数のレジスタファイルとを含み、各レジスタファイ
ルは前記N個の実行ユニットへの読取りポート及びそこからの書込みポートを有
し、さらに、 各実行ユニットに関連付けられた読取り及び書込みポートを含み、これらが制
御回路及びレジスタファイル索引(RFI)レジスタを関連付けており、これに
より、レジスタを、特定の実行ユニットで使用可能にされた命令語のフィールド
、又は、前記レジスタファイル索引レジスタの内容を使用して、アドレス指定す
ることが可能であることを特徴とするデータプロセッサ。 - 【請求項2】 前記プロセッサがVLIWプロセッサであることを特徴とす
る請求項1に記載のデータプロセッサ。 - 【請求項3】 前記プロセッサがiVLIWプロセッサであることを特徴と
する請求項1に記載のデータプロセッサ。 - 【請求項4】 前記プロセッサが、ManArrayアーキテクチャにおい
て類似の方法で構成された複数のプロセッサの1つであることを特徴とする請求
項1に記載のデータプロセッサ。 - 【請求項5】 制御機構をさらに含み、それにより、命令が任意選択的に1
つ又は複数のRFIレジスタを使用して、そのレジスタファイル・オペランドの
ためのアドレスを供給することを特徴とする請求項1に記載のデータプロセッサ
。 - 【請求項6】 制御機構をさらに含み、それにより、前記RFIレジスタを
任意選択的に、各使用の後に、定数をその現在のレジスタ・アドレスから加算或
いは減算し、それにより異なるレジスタをその次の使用のために選択することに
よって、自動的に更新することを特徴とする請求項1に記載のデータプロセッサ
。 - 【請求項7】 前記制御機構による前記更新が更に前記選択されたレジスタ
に、レジスタの多数の可能なプログラム可能セットの1つの中を、セット内の特
定のレジスタで開始して巡回させることを特徴とする請求項6に記載のデータプ
ロセッサ。 - 【請求項8】 各ポートのレジスタ索引を、更新方法及びレジスタ・アドレ
ス・セットについて独立して構成することができ、或いは、任意選択で、レジス
タファイル索引付けについて使用不可にすることができるように動作可能な制御
機構をさらに含むことを特徴とする請求項1に記載のデータプロセッサ。 - 【請求項9】 各レジスタファイル・ポートに関連付けられた前記RFIレ
ジスタを自動的に、命令において指定されたレジスタ・フィールドから初期化す
ることができるように動作可能な制御機構をさらに含むことを特徴とする請求項
1に記載のデータプロセッサ。 - 【請求項10】 レジスタファイル索引(RFI)制御方法であって、 RFI制御指定のステップと、 RFI初期化制御のステップと、 RFI更新制御のステップと、 RFI命令実行のステップとを含むことを特徴とする方法。
- 【請求項11】 前記RFI制御指定のステップが、特定の実行ユニットに
よってアクセスされたレジスタポートのための全てのRFI制御情報を指定する
RFI制御レジスタを利用して実行されることを特徴とする請求項10に記載の
方法。 - 【請求項12】 前記RFI制御情報がRFIレジスタ更新ポリシーを指定
することを特徴とする請求項11に記載の方法。 - 【請求項13】 前記RFI初期化のステップが、 制御情報をRFI制御レジスタに書き込むステップと、 特定のRFI制御グループ及び特定の実行ユニットに対応するRFIリセット
・レジスタ(RFIRR)においてビットを設定するステップとを含むことを特
徴とする請求項10に記載の方法。 - 【請求項14】 レジスタアドレスを更新するステップが、 次のサイクルのためのRFIレジスタを、定数をそのアドレスから加算或いは
減算することによって更新し、そのポート・アドレスを特定のセットのレジスタ
・アドレス内で維持するステップを含むことを特徴とする請求項10に記載の方
法。 - 【請求項15】 前記更新が、制御される各ポートのための増分値及びレジ
スタファイル除数(RFD)を指定することによって実行されることを特徴とす
る請求項14に記載の方法。 - 【請求項16】 前記RFI命令実行のステップが、命令語に含まれた制御
情報を介して使用可能にされることを特徴とする請求項10に記載の方法。 - 【請求項17】 前記制御情報が、標準レジスタ選択オペランド・フィール
ドが使用されるかどうか、又は、レジスタのRFI選択が使用されるかどうかを
指定することを特徴とする請求項16に記載の方法。 - 【請求項18】 前記制御情報が間接的に、RFI動作を直接制御するため
に使用される別の制御レジスタ又はレジスタのセットを指定することを特徴とす
る請求項16に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/267,570 US6446190B1 (en) | 1998-03-12 | 1999-03-12 | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor |
US09/267,570 | 1999-03-12 | ||
PCT/US2000/006334 WO2000054144A1 (en) | 1999-03-12 | 2000-03-09 | Register file indexing methods and apparatus for providing indirect control of register addressing in a vliw processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002539519A true JP2002539519A (ja) | 2002-11-19 |
JP4657455B2 JP4657455B2 (ja) | 2011-03-23 |
Family
ID=23019343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000604303A Expired - Fee Related JP4657455B2 (ja) | 1999-03-12 | 2000-03-09 | データプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6446190B1 (ja) |
JP (1) | JP4657455B2 (ja) |
CA (1) | CA2366830A1 (ja) |
IL (1) | IL144970A0 (ja) |
WO (1) | WO2000054144A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008009779A (ja) * | 2006-06-29 | 2008-01-17 | Murata Mach Ltd | ポート制御装置およびデータ処理装置 |
JP2008535065A (ja) * | 2005-03-24 | 2008-08-28 | クゥアルコム・インコーポレイテッド | 間接レジスタ読み取り及び書込み動作 |
US9354893B2 (en) | 2011-05-31 | 2016-05-31 | Renesas Electronics Corporation | Device for offloading instructions and data from primary to secondary data path |
CN108604140A (zh) * | 2016-01-29 | 2018-09-28 | 夏普株式会社 | 天线内置触摸面板 |
JP2018165913A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3790607B2 (ja) * | 1997-06-16 | 2006-06-28 | 松下電器産業株式会社 | Vliwプロセッサ |
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
GB2363869B (en) * | 2000-06-20 | 2004-06-23 | Element 14 Inc | Register addressing |
US7681018B2 (en) * | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US20040260912A1 (en) | 2001-10-24 | 2004-12-23 | Nils Ola Linnermark | Arrangement and a method in processor technology |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7162573B2 (en) * | 2003-06-25 | 2007-01-09 | Intel Corporation | Communication registers for processing elements |
JP4283131B2 (ja) * | 2004-02-12 | 2009-06-24 | パナソニック株式会社 | プロセッサ及びコンパイル方法 |
US7945760B1 (en) * | 2004-04-01 | 2011-05-17 | Altera Corporation | Methods and apparatus for address translation functions |
US7124259B2 (en) * | 2004-05-03 | 2006-10-17 | Sony Computer Entertainment Inc. | Methods and apparatus for indexed register access |
US7340591B1 (en) * | 2004-10-28 | 2008-03-04 | Altera Corporation | Providing parallel operand functions using register file and extra path storage |
TWI283411B (en) | 2005-03-16 | 2007-07-01 | Ind Tech Res Inst | Inter-cluster communication module using the memory access network |
US7933405B2 (en) * | 2005-04-08 | 2011-04-26 | Icera Inc. | Data access and permute unit |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8407680B2 (en) * | 2008-12-16 | 2013-03-26 | International Business Machines Corporation | Operand data structure for block computation |
US8397186B2 (en) * | 2009-07-16 | 2013-03-12 | Synopsys, Inc. | Technique for replaying operations using replay look-ahead instructions |
US8555036B1 (en) * | 2010-05-17 | 2013-10-08 | Nvidia Corporation | System and method for performing predicated selection of an output register |
US9465613B2 (en) * | 2011-12-19 | 2016-10-11 | International Business Machines Corporation | Instruction predication using unused datapath facilities |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10564942B2 (en) | 2017-11-17 | 2020-02-18 | International Business Machines Corporation | Compiler for a processor comprising primary and non-primary functional units |
US11561791B2 (en) * | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11714620B1 (en) | 2022-01-14 | 2023-08-01 | Triad National Security, Llc | Decoupling loop dependencies using buffers to enable pipelining of loops |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5178150A (ja) * | 1974-12-27 | 1976-07-07 | Fujitsu Ltd | |
JPH06259581A (ja) * | 1993-03-02 | 1994-09-16 | Fujitsu Ltd | 並列計算機 |
JPH08249293A (ja) * | 1995-01-17 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | 代理命令を用いる並列処理システム及び方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
JPH0810428B2 (ja) * | 1988-12-26 | 1996-01-31 | 三菱電機株式会社 | データ処理装置 |
US5680600A (en) | 1989-10-13 | 1997-10-21 | Texas Instruments Incorporated | Electronic circuit for reducing controller memory requirements |
US5485629A (en) * | 1993-01-22 | 1996-01-16 | Intel Corporation | Method and apparatus for executing control flow instructions in a control flow pipeline in parallel with arithmetic instructions being executed in arithmetic pipelines |
US5481743A (en) * | 1993-09-30 | 1996-01-02 | Apple Computer, Inc. | Minimal instruction set computer architecture and multiple instruction issue method |
US5721854A (en) * | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
US5696922A (en) * | 1993-12-10 | 1997-12-09 | Cray Research, Inc. | Recursive address centrifuge for distributed memory massively parallel processing systems |
JPH08278769A (ja) * | 1995-04-05 | 1996-10-22 | Citizen Watch Co Ltd | マイクロコンピュータ |
US5752072A (en) * | 1996-05-09 | 1998-05-12 | International Business Machines Corporation | Sorting scheme without compare and branch instructions |
US6081884A (en) * | 1998-01-05 | 2000-06-27 | Advanced Micro Devices, Inc. | Embedding two different instruction sets within a single long instruction word using predecode bits |
-
1999
- 1999-03-12 US US09/267,570 patent/US6446190B1/en not_active Ceased
-
2000
- 2000-03-09 WO PCT/US2000/006334 patent/WO2000054144A1/en not_active Application Discontinuation
- 2000-03-09 IL IL14497000A patent/IL144970A0/xx unknown
- 2000-03-09 JP JP2000604303A patent/JP4657455B2/ja not_active Expired - Fee Related
- 2000-03-09 CA CA002366830A patent/CA2366830A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5178150A (ja) * | 1974-12-27 | 1976-07-07 | Fujitsu Ltd | |
JPH06259581A (ja) * | 1993-03-02 | 1994-09-16 | Fujitsu Ltd | 並列計算機 |
JPH08249293A (ja) * | 1995-01-17 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | 代理命令を用いる並列処理システム及び方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008535065A (ja) * | 2005-03-24 | 2008-08-28 | クゥアルコム・インコーポレイテッド | 間接レジスタ読み取り及び書込み動作 |
JP2008009779A (ja) * | 2006-06-29 | 2008-01-17 | Murata Mach Ltd | ポート制御装置およびデータ処理装置 |
JP4640272B2 (ja) * | 2006-06-29 | 2011-03-02 | 村田機械株式会社 | ポート制御装置 |
US9354893B2 (en) | 2011-05-31 | 2016-05-31 | Renesas Electronics Corporation | Device for offloading instructions and data from primary to secondary data path |
CN108604140A (zh) * | 2016-01-29 | 2018-09-28 | 夏普株式会社 | 天线内置触摸面板 |
CN108604140B (zh) * | 2016-01-29 | 2021-08-10 | 夏普株式会社 | 天线内置触摸面板 |
JP2018165913A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
IL144970A0 (en) | 2002-06-30 |
JP4657455B2 (ja) | 2011-03-23 |
WO2000054144A1 (en) | 2000-09-14 |
CA2366830A1 (en) | 2000-09-14 |
US6446190B1 (en) | 2002-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4657455B2 (ja) | データプロセッサ | |
US6467036B1 (en) | Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor | |
JP3149348B2 (ja) | 代理命令を用いる並列処理システム及び方法 | |
US6581152B2 (en) | Methods and apparatus for instruction addressing in indirect VLIW processors | |
JP2647315B2 (ja) | 動的に複数モードで並列処理するアレイ | |
JP5474014B2 (ja) | サブワード実行を用いるvliwベースのアレイプロセッサで条件付き実行をサポートする方法及び装置 | |
KR100236525B1 (ko) | 넓은 데이타 폭의 프로세서에서 다기능 데이타 정렬기 | |
JP3101560B2 (ja) | プロセッサ | |
US6219775B1 (en) | Massively parallel computer including auxiliary vector processor | |
US6029242A (en) | Data processing system using a shared register bank and a plurality of processors | |
EP1102163A2 (en) | Microprocessor with improved instruction set architecture | |
EP1512068B1 (en) | Access to a wide memory | |
JP2002533815A (ja) | 動的コンパクト命令を有するスケーラブル命令セットアーキテクチャのための方法及び装置 | |
US8671266B2 (en) | Staging register file for use with multi-stage execution units | |
US6430684B1 (en) | Processor circuits, systems, and methods with efficient granularity shift and/or merge instruction(s) | |
KR20000076310A (ko) | 리스크 구조를 갖는 8 비트 마이크로콘트롤러 | |
US6542989B2 (en) | Single instruction having op code and stack control field | |
USRE41012E1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
KR19980018071A (ko) | 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리 | |
JPH03204030A (ja) | コンピュータ用プロセツサ | |
JP2003502753A (ja) | レジスタスタックを備えるデータプロセッサ | |
JPH1165841A (ja) | 演算処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20051205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100930 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101012 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101213 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |