JP2003122563A - 命令処理制御方法 - Google Patents
命令処理制御方法Info
- Publication number
- JP2003122563A JP2003122563A JP2002246591A JP2002246591A JP2003122563A JP 2003122563 A JP2003122563 A JP 2003122563A JP 2002246591 A JP2002246591 A JP 2002246591A JP 2002246591 A JP2002246591 A JP 2002246591A JP 2003122563 A JP2003122563 A JP 2003122563A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- tag
- queue
- slot
- register file
- 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 28
- 238000012545 processing Methods 0.000 title claims abstract description 19
- 238000013461 design Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000003786 synthesis reaction 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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
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
を制御する命令処理制御方法を提供すること。 【解決手段】 スーパースカラ・ユニット104は、レ
ジスタ・ファイル202、タグFIFO204、制御ロ
ジック207を有している。命令ソース102よりバス
103を介して、命令ウインドウで各命令実行に必要な
情報がレジスタ・ファイル202に送られる。キューは
タグを収める複数のスロット206を有し、命令にタグ
が付けられる。タグは対応する命令のプログラムの順序
に基づいて指定される順序でキューに収められる。制御
ロジックは命令の実行が完了するのを監視し、命令の実
行が完了するとキュー内のタグをアドバンスさせる。
Description
ロセッサにおける命令処理を制御する命令処理制御方法
に関する。
来のコンピュータ・システムで用いられるプロセッサ
は、一般的に、プログラム命令を一度に一つづつ順次実
行する。一つの命令を実行するプロセスにはいくつかの
シーケンシャルなステップが含まれている。第1のステ
ップは、普通、メモリ素子から命令を取り出すことであ
る。第2のステップは、普通、命令をデコードしオペラ
ンドをアセンブルすることである。
の結果を格納することである。プロセッサによっては、
プロセッサの一回のクロック・サイクルで各ステップを
行うように設計されているものがある。あるいは、ステ
ップ当たりのプロセッサのクロック・サイクル数が命令
によって変わるようにプロセッサを設計することも可能
である。
プライン方式として知られる手法を用いる。パイプライ
ン方式では、命令実行過程のシーケンシャルなステップ
が重なり合うことになる。例えば、プロセッサは、一つ
の命令に対して実行ステップを行っている間に、同時
に、第2の命令に対してはデコードのステップを行い、
第3の命令に対しては取り出しを行うのである。このよ
うにして、パイプライン方式は命令の一つのシーケンス
にかかる実行時間を短縮することが出来る。
ップのサブステップと重なり合わせることによって性能
を向上させる別の部類のプロセッサは、スーパーパイプ
ライン式プロセッサと呼ばれる。
の命令を同時に実行することになる。この手法を用いる
プロセッサは普通、スーパースカラ型プロセッサと呼ば
れる。2つ以上の命令を同時に実行するスーパースカラ
型プロセッサの能力は実行される命令によって異なる。
例えば、限られた同じプロセッサ資源(浮動小数点ユニ
ットなど)の使用を共に必要とする2つの命令を同時に
実行することは出来ない。この種の衝突は資源依存性と
して知られている。さらに、別の命令実行から得られた
結果を使用する命令は、他の命令と同時に実行すること
は出来ない。別の命令の結果に依存する命令は他の命令
に対してデータ依存性があるという。同様に、命令セッ
トによって特定のタイプの命令は相対的な所定の順序で
実行しなければならなことを指定することができる。こ
うした命令は手続き依存性があるという。
ラムの順序に関係なく命令を実行することになる。この
手法を用いるプロセッサは普通、out―of―ord
erプロセッサと呼ばれる。通常、out−of−or
derプロセサはスーパースカラ型プロセッサでもあ
る。データ依存性及び手続き依存性は、スーパースカラ
方式の実行を限定するのと同じようにout−of―o
rder実行を限定する。
時に実行できるか、命令をプログラムの順序に関係なく
実行できるか、またはその両方を実行できるプロセッサ
をさして「スーパースカラ型プロセッサ」という用語を
用いる。
係なく(out of order)で実行するには、
スーパースカラ型プロセッサには実行ユニットと呼ばれ
るシステムが入っていなければならない。実行ユニット
は命令を実行するための複数の機能ユニット(例えば、
浮動小数点マルチプレクサ、加算器など)を含む。複数
の機能ユニットに命令を送るにはスケデュールの制御が
必要である。プログラムと同じ順序(in orde
r)で命令を発行する場合には、デコードされた命令が
資源衝突を起こすとか、まだ完了していない命令に対し
て真の依存性または出力依存性をもつといったことが起
きれば、その時点でプロセッサは命令のデコーディング
を停止する。その結果、一つまたは複数の後続命令が実
行可能な場合でも、プロセッサは資源衝突や依存性を有
する命令より先を見ることができなくなる。この制約を
克服するために、プロセッサは実行ステージからデコー
ダを切り離す。そうすることによって、即実行可能であ
るか否かにかかわらずデコーダは命令のデコーディング
を続ける。この切り離しは、命令ウインドウと呼ばれる
デコードと実行ステージの間のバッファによって実現さ
れる。
ッサは命令をデコードしウインドウに余裕がある限りウ
インドウの中に収め、と同時にウインドウ内の命令に実
行可能な命令(つまり、資源衝突や依存性のない命令)
があるかどうか調べる。命令ウンドウは、ウインドウの
大きさと命令ソースの機能によってのみ制約されるルッ
クアヘッド機能をプロセッサにもたらし、命令のプール
としての働きをする。従って、out―of一orde
r(アウト・オブ・オーダー)命令発行にはデコーダと
機能ユニットとの間に命令ウインドウと呼ばれるバッフ
ァが必要で、命令ウインドウ(インストラクション・ウ
インドウ)はコンピュータが実行するプログラムの一部
分のスナップショットを提供する。
れ替わるように、命令をウインドウから除去なければな
らない。現在の設計では先入れ先出しのキュー(FIF
O)を活用する命令ウインドウが用いられている。特定
の設計においては、新規命令がウインドウに入り、完了
した命令が固定サイズのグループになってウインドウか
ら出ていく。例えば、命令ウインドウに8つの命令(I
0−I7)が入っていると、4つの命令からなるグルー
プに変えることができる。この場合、命令I0,I1、
I2、及びI3が実行後にウインドウから除去されると
同時に4つの新規命令がそのウインドウの中に入って来
る。命令が固定サイズのグループで出入りする命令ウイ
ンドウは「固定アドバンス命令ウインドウ」と呼ばれ
る。
ドウに入り、完了した命令は様々なサイズのグループで
ウインドウを出ていく。例えば、命令ウインドウに8つ
の命令(I0−I7)が入っているとすれば、1つの命
令、2つの命令、または3つの命令からなるグループに
変えることができる。この場合、命令I0,I1、もし
くはI2のいずれかが実行された後、ウインドウから除
去されて新規命令がそのウインドウに入って来る。命令
が様々なサイズで出入りする命令ウインドウは「可変ア
ドバンス命令ウインドウ」と呼ばれる。
W)を用いるプロセッサは固定アドバンス命令ウインド
ウ(FAIW)のプロセッサより性能が高くなりがちで
ある。しかしながら、特定の命令がウインドウ内の決ま
った番号のロケーションにしか入れないので、固定アド
バンス命令ウインドウの方がプロセッサにとっては管理
しやすい。例えば、8つの命令(I1−I7)を収納し
4つの命令からなるグループで命令を入れたり取り出し
たりする命令ウインドウでは、命令はウインドウ内の2
つのロケーション(例えば、I0とI4)の一個所にし
か入れない。可変アドバンス命令ウインドウでは、その
命令はいろいろ異なる時点でウインドウ内のロケーショ
ンのどれにでも入ることができるので、可変アドバンス
命令ウインドウのプロセッサは、固定アドバンス命令ウ
インドウのプロセッサに比べて、各命令の存在位置を捜
し当てるのにより多くの資源がなければならない。
に大きなキューを用いている。キューを用いることは、
次のような理由から、不都合である。つまり、大きなチ
ップ面積資源を複数のキュー専用に割かなければならな
いが、可変アドバンス命令ウインドウを実現する場合に
は特にそうである。また、1個以上のキューを用いるシ
ステムの設計は柔軟性に限りがある。さらに、キューに
入っているデータを振り分ける制御ロジックが複雑で柔
軟性に欠ける。
過するのに伴ってその命令を「追跡」または監視する手
法である。柔軟性に富みチップの面積が小さくてすむ装
置でなければならない。
タグを割り当てまた複数の命令を収める命令ウインドウ
を保持する装置を用いて複数の命令が並列で且つプログ
ラムの順序に関係なく実行されるのを監視する手法に関
する。この装置は、スーパースカラ・ユニットの1個の
構成要素で、命令ソースと、命令を実行する機能ユニッ
トとの間に接続される。スーパースカラ・ユニットの役
割は、命令ウインドウの保持、実行ユニットの様々な機
能ユニットに命令を振り分け、さらに命令が実行された
後ソースから新規命令を受け取ることである。
るが、このシステムはスーパースカラ・ユニットの一部
である。タグ・モニタ・システムは、レジスタ・ファイ
ルと、先入れ先出しに基づいて動作するキューを備える
(キューはマルチ・アドバンス、多重出力でFIFOを
リサイクルする)。キューはレジスタ・ファイルに接続
される。レジスタ・ファイルは命令ソースに接続され、
命令の情報(つまり、各命令の資源要件)を格納するの
に用いられる。命令が命令ソースからレジスタ・ファイ
ルに送られると、現在どの命令にも割り当てられていな
いタグがその命令に割り当てられる。命令の情報はその
後命令のタグで示されたレジスタ・ファイル内のアドレ
ス位置に格納される。一旦命令の情報がレジスタ・ファ
イルに格納されれば、それを「命令ウインドウ内」に入
っているという。命令ウインドウ内の各命令のタグはキ
ューに格納される。タグは、その対応する命令がプログ
ラムで決められている順序と同じ順序でキューに入れら
れる。
のタグがキューの下部から事実上押し出される。次にそ
のタグは命令ウインドウに入る新規命令に再度割り当て
られる。このように、タグはキューの最上部に送り返さ
れる(言い換えれば、リサイクルされる)ことになる。
複数の命令が同時に終了した場合、同時に複数のタグを
リサイクルすることも可能である。好適な実施例におい
ては、命令はプログラムの順序通りに終了することが必
要である。命令が間違って他の命令の結果を上書きする
ことがないようにするために、こうすることが必要なこ
とが多い。例えば、メモリの同じロケーションに書き込
む2つの命令がプログラムに入っているとしたら、プロ
グラムで先行する命令が2番目の命令より前にメモリに
書き込まれなければならない。従って、プログラムの順
序に関係なく実行される命令の結果はどれか一時記憶領
域に保持され、命令自体は全ての先行命令が実行され終
わるまで命令ウインドウにそのまま残っていなければな
らない。1個のグループの命令が完了すると、その結果
は全て一時記憶領域から本当のデスティネーションに移
される。その後命令はウインドウから除去され、それら
のタグはリサイクルされる。
令ソースから受け取る書き込みポートを有する。レジス
タ・ファイルは、一回にウインドウに入れられる新規命
令の数と同じ数の書き込みポートを有する。レジスタ・
ファイルはウインドウの命令毎に1個のエントリを有す
る。レジスタ・ファイルはまたウインドウの全ての命令
毎に1つの出カポートを有する。出カポート毎に対応す
るアドレス・ポートがある。アドレス・ポートを用い
て、どのレジスタ・ファイルのエントリの内容をその対
応する出カポートで出力するか選択する。
定のバッファの位置)毎に1個の出カポートを有し、そ
のスロットに格納されたタグの値を示す。これらの出力
はレジスタ・ファイルの読み出しアドレス・ポートに接
続される。この接続によって、タグ・バルブが読み出し
アドレス・ポートヘのキューで表されていると、レジス
タ・ファイルがエントリの内容をその対応出カポートに
表示するようになる。レジスタ・ファイルの出力はスー
パースカラ・ユニット及び実行ユニットの様々なロケー
ションに送られ、そこでその命令情報は命令のスケデュ
ーリング、命令実行などのために使用される。
所定の時点に空になることがある。この空のウインドウ
・ロケーションは「バブル」と呼ばれる。命令がウイン
ドウから出ていき命令ソースが直ちに別の命令を送って
置き換えることができない場合、時々バブルが発生す
る。ウインドウにバブルがあると、レジスタ・ファイル
のエントリによっては古い命令情報や虚偽の命令情報を
収納することになる。レジスタ・ファイル内のデータは
全て常時使用可能だから、レジスタ・ファイル内のデー
タを限定する何らかの方法が必要である。
に「バリディティ・ビット」が対応付けられており、レ
ジスタ・ファイル内の対応する命令情報が有効かどうか
を示す。これらのバリディティ・ビットはタグの入って
いるタグFIFOに保持することができる。FIFO内
のタグには各々に1つのバリディテイ・ビットがある。
これらのビットはタグがリサイクルされる度に更新され
る。タグが更新された時にもし有効な命令が割り当てら
れていれば、そのビットはアサートされる。そうでなけ
れば、デアサートされる。
イルの出力と共にタグ・モニタ・システムからの出力で
ある。バリディティ・ビットはレジスタ・ファイルの出
力と同じロケーションに送られ、それによってスーパー
スカラ・ユニットや実行ユニットがその命令情報を使用
できるかどうかを知る。
を格納しなくても命令ウインドウを保持できることであ
る。そのため、設計が簡素化されオペレーション上の柔
軟性が高まる。例えば、n個の命令を収めるウインドウ
があるとすれば、タグ・モニタ・システムにはn個のエ
ントリの入ったキュー、及びn個のエントリとn個の出
力ポートを有するレジスタ・ファイルがある。キューの
各出力がレジスタ・ファイルの対応する読み出しアドレ
ス・ポートに接続されて(例えば、出力0は読み出しア
ドレス・ポート0に、出力1は読み出しアドレス・ポー
ト1にといったように夫々接続される)いれば、レジス
タ・ファイルの出力はプログラムと同じ順序(例えば、
出力ポート0は命令0の情報を表示し、出力ポート1は
命令1の情報を表示するといった具合)でウインドウ内
の各命令を「表示する」(つまり、出力ポートで使用可
能にする)。ウインドウがアドバンスすると、キューが
アドバンスし読み出しアドレス・ポートのアドレスが変
わる。これによってレジスタ・ファイルの出力が変わり
ウインドウ内の命令の新たな配列を反映したものにな
る。命令情報がプログラムの順序で(in orde
r)スーパースカラ・ユニットの他のところに送られる
ように、レジスタ・ファイル出力にプログラムの順序で
命令情報が表示されることが必要である。スーパースカ
ラ・ユニットが実行及びその完了をスケジュールできる
ように、スーパースカラ・ユニットはウインドウ内の命
令の順序を知る必要がある。本発明の様々な実施例の構
成とオペレーションの他、本発明の更なる特徴及び優れ
た点については添付の図面との関連において以下に詳細
に説明する。
スーパースカラ環境101は、命令ソース102、スー
パースカラ・ユニット104、機能ユニット106を備
える。スーパースカラ・ユニット104は機能ユニット
106によって命令の実行を制御する。機能ユニット1
06は、浮動小数点ユニット(未表示)、整数ユニット
(未表示)、ロード/ストア・ユニット(未表示)と、
所望するアプリケーションによってプロセサが通常用い
るようなその他のハードウエアを備えていてもよい。命
令ソース102及び機能ユニット106の具体的な実現
については当業者には明らかであろう。
ーパースカラ・ユニット104に命令情報を送る。スー
パースカラ・ユニット104は次に機能ユニット106
に対して命令を発行する。普通、スーパースカラ・ユニ
ット104は機能ユニット106の可用性を監視し、命
令相互間の依存性を調べる。一旦命令が完了すると、命
令ソース102はスーパースカラ・ユニット104にさ
らに命令情報を送る。
を表している。バス及び命令のサイズはアプリケーショ
ンにより異なっていてよい。以下に、スーパースカラ・
ユニット104に対する命令を追跡するタグ・モニタ・
システムを中心に説明する。
ペレーション A.構成 図2はスーパースカラ・ユニット104の一部に組み込
まれたタグ・モニタ・システム(図2の内側の破線で表
示した部分)のブロック図である。タグ・モニタ・シス
テム222には、レジスタ・ファイル202、タグFI
FO204、制御ロジック207が含まれる。
ス、多重出力のリサイクル型FIFOで、複数のスロッ
ト206にタグを格納する。「マルチ・アドバンス」と
は、FIFOでデータを一度にスロット幾つでもアドバ
ンスさせることができることを意昧する。例えば、マル
チ・アドバンスのスロットは4個のFIFOを一度に0
から3スロットまでデータをアドバンスさせることがで
きる。「多重出力」とはFIFOの各スロットの内容が
使用可能であることを意昧する。タグは命令が命令ウイ
ンドウに入ると命令毎に割り当てられる固有のラベルで
ある。タグFIFO204はウインドウ内の命令毎に1
つのスロットを有する。スロット206は各々が出力2
03を有し、それによって対応するスロット206にあ
るタグの値を示す(つまり、出力する)。スロット20
6はまた各々が、スロット206のタグを割り当てられ
た命令が有効であるかどうかを示すバリディティ・ビッ
トを有する。好適な実施例において、タグFIFO20
4にはスロット206が8個ある。これらのスロット2
06の各々には0から7までの固有の2進数(タグ)が
収められている。例えば、タグが3ビット(例えば、0
00,001,010、といったように)で、バリデイ
テイ・ビットがあれば、各スロットに4ビットを保持さ
せる。従って、出力232は各々4ビット幅である。チ
ップの電源投入時またはリセット時にタグFIFO20
4のスロット206の各々の固有のタグがロードされ
る。
は命令がウインドウからなくなるまでずっとその命令に
ついたままである。一旦命令がウインドウから除去され
ると、そのタグはタグFIFO204の最上部212に
送り返される。最上部212に送られたタグは新規命令
がウインドウに入るとそれに再び割り当てられる。この
ようにして、タグは「リサイクル」される。つまり、タ
グF1FO204の中で再び一周する。普通、タグは最
上部212から下部210に向かってタグFIFO20
4の中をアドバンスする。そのため、タグFIFO20
4をリサイクル型キューと呼ぶ。
204と命令ソース102に接続されている。レジスタ
・ファイル202は命令ソース102から送られてくる
命令情報を格納する。命令ソース102からレジスタ・
ファイル202に送ることができる情報のタイプは次の
通りである。デコードされた命令情報、命令機能ユニッ
ト要件、命令によって実行されるオペレーションのタイ
プ、命令結果が格納される記憶場所を指定する情報、命
令オペランドが格納されている記憶場所を指定する惰
報、コントロール・フロー命令のターゲット・アドレス
を指定する情報、及び命令で指定したオペレーションで
使用されるイミディエト・データを指定する情報であ
る。
ータポート214、書き込みアドレス・ポート216、
ライトイネーブル(書き込み可能)ポート218、読み
出しアドレス・ポート220、及び読み出しデータポー
ト224を備える。
を介して命令ソース102から命令情報を受け取る。書
き込みアドレス・ポート216は、書き込みデータポー
ト214を経由して受け取った命令情報がレジスタ・フ
ァイル202のどのアドレス指定可能なロケーションに
格納されるかを指定する。書き込みアドレス・ポート2
16はバス226を介して制御ロジック207に接続さ
れている。ライトイネーブル・ポート218は命令ソー
ス102からのデータがいつレジスタ・ファイル202
に書き込まれるかを示す。ライトイネーブル・ポートは
バス228を介して制御ロジック207に接続されてい
る。好適な実施例(第2図に表示)において、レジスタ
・ファイル202はAからDのラベルのついた4つの書
き込みデータポートを有する。書き込みデータポート2
14はAからDのラベルのついた対応する書き込みアド
レス・ポート216と、AからDのラベルのついた対応
するライトイネーブル・ポート218とを有する。
30を介してタグFIFO204に接続されている。バ
ス230はタグFIFO204のスロット206の各々
の出力232を伝送する。読み出しアドレス・ポート2
20は読み出しデータポート224を経由してアクセス
される命令情報を選択する。読み出しアドレス・ポート
220は各々対応する読み出しデータポート224を有
する。好適な実施例(第2図に表示)において、命令ウ
インドウには8つのエントリ(つまり、タグFIFO2
04の深さ)があり、レジスタ・ファイル202はウイ
ンドウ内の各命令に対して読み出しアドレス・ポート2
20を1個、読み出しデータポート224を1個有す
る。読み出しアドレス・ポート220には0から7まで
のラベルが付けられ、それに対応する読み出しデータポ
ート224にも0から7までのラベルが付いている。
スーパースカラ環境101内にある他の要素(例えば、
表示されてはいないが、イシュア)に接続されている。
制御ロジック207はバス234と230を介してタグ
FIFO204から機能ユニット106を監視する。制
御ロジック207はバス238を介して命令ソース10
2に信号を送り、命令がウインドウから出ると新規命令
情報をレジスタ・ファイル202に送る。制御ロジック
207は命令ソース102が新規命令をいくつ送るべき
かを知らせる。好適な実施例(第2図に表示)におい
て、一回に送れる命令数は最大で4個であるが、これは
レジスタ・ファイル202の書き込みデータポート21
4の総数に相当する。制御ロジック207は、命令がウ
インドウから出ていくとバス236を介してタグFIF
O204と同期をとり処理をアドバンスさせる。このよ
うに、制御ロジック207のコマンドに基づいて、タグ
FIFO204は一回にウインドウから出ていく命令数
と同じステップだけアドバンスする。制御ロジック20
7はバス236を介してタグFIFO204に格納され
たバリディティ・ビットの保持も実行する。制御ロジッ
ク207の回路のインプリメンテーションについては当
業者には明らかであろう。例えば、現在よく知られ既に
市販されている論理合成やレイアウトのシステムを用い
て動作記述(例えば、Veri1ogやV.H.D.
L.)をシリコンやチップの設計に変換することができ
る。
パラレルまたはシリアルのアドレスやデータ転送をサポ
ートする。インプリメンテーションに固有であるその選
択は当業者には明らかであろう。
スタ・ファイルを備えることも可能である。好適な実施
例では、命令情報は複数のレジスタ・ファイル間に配ら
れる。例えば、1個のレジスタ・ファイルには命令毎の
デスティネーション・レジスタ・アドレスが入ってい
る。別のレジスタ・ファイルには各命令の機能ユニット
要件などが入っている。複数のレジスタ・ファイルを使
用する利点の一つは、設計者が小さめのレジスタ・ファ
イルを用い、それらを使用する内容に接近した配置にす
ることができることである。そのためプロセッサの物理
的設計が容易になる。レジスタ・ファイルの読み出し及
び書き込みの各アドレスは一つに接続され、出所は同じ
である。レジスタ・ファイルの書き込みアドレスも命令
ソースからくるが、全てのレジスタ・ファイルが各命令
に関する全ての情報を保持しなければならないというわ
けではない。各レジスタ・ファイルの出力は、レジスタ
・ファイルに保持されているデータを必要とするところ
だけに送られる。
タグ・モニタ・システム222を示す。好適な実施例に
おいては、各命令の情報の一部分だけがレジスタ・ファ
イル202aと202bの各々に格納される。従って、
命令ソース102からバス103上を送られるデータは
分割される。1個の部分103aはレジスタ・ファイル
202aに送られ、もう1個の部分103bはレジスタ
・ファイル202bに送られる。202aと202bの
両レジスタ・ファイルはバス226と228に接続され
ており、バス226と228は制御ロジック207から
の制御信号とバス230への制御信号を届け、バス23
0はタグFIF0204からの出力を届ける。レジスタ
・ファイル202aと202bの出力はスーパースカラ
・ユニット104中の別々の場所にまた別のバス240
aと240bを通って供給される。
連において説明する。
00は4個のスロット504,508,512,516
に4つのデータを保持する。その4個のスロットはバス
506,510,514を介して接続されている。FI
FO500には入力502と出力518とがあり、そこ
を通ってデータがFIFO500に出入りする。
ューのように動作する。FIFO500でデータをアド
バンスすると、スロット516にあるデータは出力51
8を通ってFIFO500から出ていく。スロット51
2にあるデータはバス514を通ってスロット516に
移動する。スロット508にあるデータはバス510を
通ってスロット512に移動する。スロット514にあ
るデータはバス506を通ってスロット508に移動
し、入力502にあるデータが移動してスロット504
に入る。これらのデータ転送は各々FIFO500がア
ドバンスする度に起きる。
を示す。FIFO600は図5のFIFO500とほと
んど同じ構成である。データは入力602からFIFO
600に入り、604,610,616,618の4個
のスロットを通って移動し出力626から出ていく。F
IFO500とFIFO600の相違点は、604、6
10、616、622の各スロットに格納されたデータ
は各スロットに入った時点からFIFO600が次にア
ドバンスするまで対応するバス606、612、61
8、又は624上で見ることができる(つまり、その4
個のバスを読むことができる)ことである。出力60
6、612、618、又は624によって所定の時点で
FIFO600にどんなデータが格納されているかをユ
ーザは知ることができる。
4、610、616、及び622に格納されたデータは
各スロットの出カバス上(つまり、バス608、61
4、620、及び626)で常時見ることができる。こ
の場合、バス606、612、618、又は624は不
要である。この種の実施例を図7に示す。バス706、
710、及び714を用いてスロット1と4(704、
708、712、及び716のそれぞれ)の間でデータ
を搬送し、スロット1,2、及び3、つまり704、7
08、712の内容も示す。出カバス718においては
常にスロット716の内容を読むことができる。
す。リサイクル型FIFO800は第5図に示したFI
FO500とほとんど同じように機能する。リサイクル
型FIFO800は4個のスロット804,808,8
12,816を備える。主たる相違点は、FIFO80
0がアドバンスするとスロット816のデータがスロッ
ト804に移動する。FIFO800は新規のデータを
スロット804に入力する手段を有していないから、電
源を入れたりリセットしたりする時には804、80
8、812、816の各スロットが何らかの値で初期化
されるように設計する必要がある。これらの初期値は、
周知のように再初期化されるまでFIFO800中を巡
回する。
ンスすることが必要な場合がある。FIFOは1ステッ
プ分アドバンスする度にデータの一部分を入力するか
ら、FIFOには少なくともFIFOがアドバンスでき
る上限のステップ数と同じだけの入力がなければならな
い。FIFOは、各スロットからのデータや正しいデス
ティネーションヘの入力を搬送するバス以外にもいくつ
かバスを有していなければならない。
0を示す。FIFO900は一回で1、2、3、又は4
のステップ(つまり、スロット)でアドバンスすること
ができる。FIFO900は、4個の入力902、90
4、906、908と、4個のスロット904、92
2、930、938を有する。FIFO900が4ステ
ップでアドバンスする時には、入力902にあるデータ
はスロット938に行き、入力904がスロット930
に、入力906がスロット922に、そして入カ908
がスロット914にそれぞれ移動する。FIFO900
が3ステップでアドバンスする時には、スロット914
のデータがスロット938に、入カ902がスロット9
30に、入力904がスロット922に、そして入力9
06がスロット914にそれぞれ移動する。この場合、
入力908にあるデータはFIFO900には入らな
い。FIFO900が2ステップでアドバンスする場
合、スロット922のデータがスロット938に、スロ
ット914のデータがスロット930に、入力902が
スロット922に、そして入力904がスロット914
にそれぞれ移動する。最後に、単純なFIFOの場合で
あるが、1ステップでFIFOがアドバンスする時には
スロット930のデータがスロット938に、スロット
922のデータがスロット930に、スロット914の
データがスロット922に、そして入力902にあるデ
ータがスロット914にそれぞれ移動する。
は、各スロットと幾つかのスロットの出力がそれ以外の
複数のスロットに通じるように切り換え可能な方法で接
続されていなければならない。従って、FIFO900
には4個のマルチプレクサがある。つまり、910、9
18、926、934にそれぞれ表示されたMUX1、
MUX2、MUX3、MUX4である。これらのマルチ
プレクサを用いてFIFO900がアドバンスする時に
各スロットに移動するデータを選択する。各マルチプレ
クサヘの入力はそれに対応するスロットに移動する必要
があるかもしれないデータである。例えば、FIFO9
00がアドバンスするステップ数いかんで、スロット9
14、スロット922、スロット930、もしくはスロ
ット930からデータがスロット938に移動すること
になる。従って、934への入力は、スロット916、
スロット924、スロット932、及び入力902から
の出力である。マルチプレクサ910,918,92
6,934を制御するのに必要な論理回路の構成及びオ
ペレーションについては当業者には明らかであろう。
のFIFOを設計することも可能である。第8及び第9
図に示すFIFOの組み合わせがこのFIFOである。
リサイクル型マルチ・アドバンスのFIFO1000を
第10図に示す。FIFO1000は一回に1ステッ
プ、2ステップ、または3ステップのいずれでもアドバ
ンスすることができる。FIFO1000には4ステー
ジ(1006、1014、1022、1030のラベル
のついたスロット1〜4)あるから、4ステップでのア
ドバンスは論理的には全くアドバンスしないのと同じこ
とである。従って、4ステップでのアドバンスは全く必
要ないから、リサイクル型マルチ・アドバンスのFIF
O1000に用いるマルチプレクサの構成はマルチ・ア
ドバンスのFIFO900で示した構成とは異なる。F
IFO1000は図7に示したFIF0700のような
多重出力のFIFOでもある。さらに、図8のリサイク
ル型のFIFO800のように、FIFO1000は初
期化のため何らかの手段を有してもいなければならな
い。
0は例として4ステージで表示している。4個以外のス
ロット数にするために設計を変更することは勿論可能で
ある。そうした変更については当業者には明らかであろ
う。
を図解するフローチャートである。オペレーションのス
テップ310〜3について図1と図2のハードウェア要
素との関連において説明する。
る。ステップ302で、制御ロジック207は命令ソー
スに命令情報を送るよう要求するリクエスト・データ信
号238を送る。制御ロジック207は命令ウインドウ
内の空きスペースの数と同じ数の命令の情報を要求す
る。好適な実施例において、命令ウインドウに新規の命
令をいくつ入れるか決定した後に、キューの最上部の空
のスロットを埋めるため命令ソース102に対して十分
な命令情報を要求するのは、事実上、制御ロジックであ
る。情報を送れる命令数には上限があるが、それはウイ
ンドウ内のスペース数以下である。
込みアドレスを起動させ、タグを割り当て、バリディテ
イ・ビットを更新する。制御ロジック207は、イネー
ブル信号をバス226で、アドレス信号をバス228
で、ライトイネーブル・ポート218と書き込みアドレ
ス・ポート216にそれぞれ送る。各ポート216のア
ドレスによって、対応するデータポート214の命令情
報をステップ306でレジスタ・ファイル202のどこ
に格納すべきか指定する。命令情報はバス103を介し
て命令ソース102からレジスタ・ファイル202に送
られる。典型的には、バス226のイネーブル・ビット
の総数は情報を一回に送れる命令の上限数に等しく、好
適な実施例においては4である。
報が格納されているアドレスをその命令のタグで指定す
る。書き込みデータポート214のデータは必ずしもレ
ジスタ・ファイル202に格納する必要はないから、制
御ロジック207はバス228のイネーブル信号を用い
て書き込まれるべきデータだけを選択する。例えば、命
令ウインドウの最上部に1個だけ空きスペースがあると
すれば、制御ロジック207はバス228のキューの最
上部のスロット212に収められているタグを書き込み
アドレス・ポート216Aに送り、バス226を介して
ライトイネーブル・ポート218Aをアサートする。こ
のオペレーションで書き込みデータポート214Aの命
令情報がレジスタ・ファイル202内のタグFIFO2
04の最上部のスロット212のタグで指定された場所
に格納される。命令ウインドウに2個の空きスペースが
あれば、制御ロジック207は2つのイネーブル信号を
ポート218Aと218Bに送り、ウインドウの最上部
の2つのタグを書き込みアドレス・ポート216Aと2
16B(216Bに移動する最上部のスロット212の
タグ)に送り、そうすることによってポート214Aと
214Bの命令情報がレジスタ・ファイル202に格納
されるようになる。命令情報はタグで指定されたレジス
タ・ファイル202内の場所に格納されると、その命令
はそのタグが「割り当てられた」という。制御ロジック
207はステップ304でタグFIFO204のバリデ
イティ・ビットの更新もする。命令ソース102がステ
ップ302でなされた全ての要求に対して命令を供給で
きなければ、制御ロジック207はステップ304で有
効命令に割り当てられたタグのバリディティ・ビットだ
けしかアサートしない。割り当てられなかったタグにつ
いては、そのバリディティ・ビットは有効命令に割り当
てられるまでアサートされないままにしておかれる。
02の内容は全て読み出しデータ・ポート224から読
み出される。使用されるのはレジスタ・ファイル202
の全内容以下であるとの想定になっている。レジスタ・
ファイル202から読み出されるべきデータは読み出し
アドレス・ポート220を通ってレジスタ・ファイル2
02に入るアドレスで指定される。そしてデータはウイ
ンドウ内の一部か全ての命令の実行に使用される。好適
な実施例においては、読み出しアドレス220は常時ア
サートされている。言い換えれば、各スロット206に
は常にタグが入っているということである。
07はステツプ308で実行された命令でどれかリタイ
アするか判断する。リタイアする命令がなければ、判断
のステップ310の「NO」のパス311で示すよう
に、継続してデータがレジスタ・ファイル202から読
み出され、ウインドウ内の命令が実行され続ける。命令
がリタイアする場合、制御ロジック207はステップ3
12に示すようにバス234を介してリタイアする命令
数を知らせる情報を受け取る。バス234を通して受け
取る情報はリタイアメント・ユニット(未表示)から送
られてくる。リタイアメント・ユニットの詳細は本発明
の実行に関係することではない。(但し、1992年5
月15日出願の同時係属中の米国出願番号07/87
7,451に命令リタイアメント・ユニットの一例を記
載している。)制御ロジック207はその後、バス23
6を介して、タグFIFO204が何段アドバンスすべ
きかを知らせる。
とすれば、タグFIFO204は1ステップだけアドバ
ンス(進捗)する。タグ1が下部の210から最上部2
12に移動して現在タグ0がある場所に入り、それに伴
って他のタグ全てがアドバンスする。タグ1が下部の2
10から最上部の212に移動すると、そのバリディテ
ィ・ビットはデアサートされる。タグ1は次に新しく命
令ウインドウに入る命令に再び割り当てられる。タグ2
は、ステップ312終了後、タグFIFO204の下部
210の位置にあるはずである。タグ・モニタ・システ
ム222のオペレーションはブランチ314を介して先
に説明したオペレーションのステップ302に戻ること
によつて継続される。
たが、あくまで例題として提示したのであってそれによ
り限定されるものではないことが理解されるだろう。従
って、本発明の広さと範囲は上述の典型的な実施例のい
ずれによっても限定されるものではなく、特許出願の請
求範囲及びそれに均等のものによってのみ限定される。
ツク図を示す。
ブロツク図を示す。
モニタに関する代表的なオペレーション・フローチャー
トを示す。
ニタ・システムを示す。
す。
Oの図を示す。
ース、103・・・バス、104・・・スーパースカラ
ユニット、106・・・機能ユニット、202・・・レ
ジスタ・ファイル、204・・・タグFIFO、206
・・・スロット、207・・・制御ロジック、214・
・・書き込みデータ・ポート、216・・・書き込みア
ドレス・ポート、218・・・ライトイネーブル・ポー
ト、220・・・読み出しアドレス・ポート、222・
・・タグ・モニタ・システム、224・・・読み出しデ
ータ・ポート
Claims (11)
- 【請求項1】 命令が所定のプログラム順序となってい
るスーパースカラプロセッサ内における命令処理を制御
するための命令処理制御方法であって、 (a)命令ソースからの各命令をレジスタファイルの入
力データポートに供給する段階と、 (b)前記命令ソースから供給された第1命令を、前記
レジスタファイル内のバッファロケーションを指定する
タグと関連付ける段階と、 (c)前記第1命令と関連付けられた前記タグによって
指定された前記バッファロケーションに前記第1命令の
少なくとも1部を記憶する段階と、 (d)前記レジスタファイルの第1出力ポートで前記第1
命令の前記少なくとも1部を出力する段階と、 (e)前記第1命令をリタイアしたあと、前記命令ソー
スから供給される第2命令を前記タグと関連付ける段階
と、 (f)前記タグによって指定される前記バッファロケー
ションに前記第2命令の少なくとも1部を記憶する段階
と、 (g)前記レジスタファイルの第2出力ポートから前記
第2命令の前記少なくとも1部を出力する段階と、 (h)前記第1出力ポートから、所定のプログラム順序
では前記第2命令より前にあり、また所定のプログラム
順序では前記第1命令の後にある第3命令の少なくとも1
部を出力する段階と、で構成されることを特徴とする、
命令処理制御方法。 - 【請求項2】 前記段階がさらに、 (i)キューのスロット内に前記タグを記憶する段階を
含むことを特徴とする、請求項1に記載の命令処理制御
方法。 - 【請求項3】 前記段階がさらに、 (j)前記第1命令をリタイアしたあと、前記タグを前
記キューの第1スロットから前記キューの第2スロットへ
と移動させる段階を含むことを特徴とする、請求項2に
記載の命令処理制御方法。 - 【請求項4】 前記段階がさらに、 (k)前記第1出力ポートが、前記スロット内に記憶さ
れたタグによって指定される前記レジスタファイル内の
バッファロケーションに記憶されたアイテムを出力する
ように、前記第1出力ポートを前記キューの前記スロッ
トと関連付ける段階を含むことを特徴とする、請求項2
に記載の命令処理制御方法。 - 【請求項5】 スーパースカラプロセッサにおける命令
処理を制御するための命令処理制御方法であって、 (a)スーパースカラプロセッサによって実行されるべ
き命令を供給する段階と、 (b)複数のスロットを含むキューに、前記複数のスロ
ットの1つにそれぞれ記憶される複数のタグを記憶する
段階と、 (d)前記命令がリタイアされるまで前記命令のそれぞ
れを、複数のバッファロケーションからなるレジスタフ
ァイル内の固有なバッファロケーションを指定する前記
複数のタグの1つと関連付ける段階と、 (e)前記命令に関連付けられたタグによって指定され
るバッファロケーションに、前記命令のそれぞれの少な
くとも一部を記憶する段階とで構成されることを特徴と
する、命令処理制御方法。 - 【請求項6】 前記レジスタファイルが複数の出力ポー
トを含み、前記出力ポートのいずれか1つの出力が、前
記出力ポートの前記いずれか1つに関連付けられたスロ
ットに記憶されるタグによって指定されるバッファロケ
ーションに記憶されるアイテムとなるように、前記複数
の出力ポートのそれぞれを前記キューの前記スロットの
固有の1つと関連付ける段階を含むことを特徴とする、
請求項5に記載の命令処理制御方法。 - 【請求項7】 前記段階(b)が、4つのスロットから
なるキューに複数のタグを記憶する段階で構成されるこ
とを特徴とする、請求項5に記載の命令処理制御方法。 - 【請求項8】 前記レジスタファイルが4つの出力ポー
トを含み、前記4つの出力ポートのそれぞれを前記キュ
ーの前記スロットの固有な1つに関連付ける段階で構成
されることを特徴とする、請求項7に記載の命令処理制
御方法。 - 【請求項9】 前記レジスタファイルの出力ポートの数
が、前記キューのスロットの数と等しいことを特徴とす
る、請求項6に記載の命令処理制御方法。 - 【請求項10】 前記段階がさらに、 (f)前記命令がリタイアされるとき、前記キューの上
部スロットのタグを除いて、前記キューの前記タグのそ
れぞれを1つのスロットだけ上へと移動させ、また前記
キューの前記上部スロット内の前記タグを前記キューの
下部スロットへと移動させる段階を含むことを特徴とす
る、請求項5に記載の命令処理制御方法。 - 【請求項11】 前記段階がさらに、 (g)前記命令がリタイアされるとき、前記キューの下
部スロットのタグを除いて、前記キューの前記タグのそ
れぞれを1つのスロットだけ下へと移動させ、前記キュ
ーの前記下部スロットの前記タグを前記キューの上部ス
ロットへと移動させる段階を含むことを特徴とする、請
求項5に記載の命令処理制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/224,328 | 1994-04-04 | ||
US08/224,328 US5628021A (en) | 1992-12-31 | 1994-04-04 | System and method for assigning tags to control instruction processing in a superscalar processor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52591495A Division JP3561915B2 (ja) | 1994-04-04 | 1995-04-04 | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122563A true JP2003122563A (ja) | 2003-04-25 |
JP3587260B2 JP3587260B2 (ja) | 2004-11-10 |
Family
ID=22840187
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52591495A Expired - Lifetime JP3561915B2 (ja) | 1994-04-04 | 1995-04-04 | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 |
JP2002246591A Expired - Lifetime JP3587260B2 (ja) | 1994-04-04 | 2002-08-27 | 命令処理制御方法 |
JP2002246586A Expired - Lifetime JP3587255B2 (ja) | 1994-04-04 | 2002-08-27 | スーパースカラプロセッサ |
JP2002246589A Expired - Lifetime JP3587258B2 (ja) | 1994-04-04 | 2002-08-27 | 命令実行監視方法 |
JP2002246587A Expired - Lifetime JP3587256B2 (ja) | 1994-04-04 | 2002-08-27 | コンピュータ装置 |
JP2002246592A Expired - Lifetime JP3587261B2 (ja) | 1994-04-04 | 2002-08-27 | 命令処理制御方法 |
JP2002246588A Expired - Lifetime JP3587257B2 (ja) | 1994-04-04 | 2002-08-27 | 命令実行監視システム |
JP2002246590A Expired - Lifetime JP3587259B2 (ja) | 1994-04-04 | 2002-08-27 | 命令処理制御システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52591495A Expired - Lifetime JP3561915B2 (ja) | 1994-04-04 | 1995-04-04 | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002246586A Expired - Lifetime JP3587255B2 (ja) | 1994-04-04 | 2002-08-27 | スーパースカラプロセッサ |
JP2002246589A Expired - Lifetime JP3587258B2 (ja) | 1994-04-04 | 2002-08-27 | 命令実行監視方法 |
JP2002246587A Expired - Lifetime JP3587256B2 (ja) | 1994-04-04 | 2002-08-27 | コンピュータ装置 |
JP2002246592A Expired - Lifetime JP3587261B2 (ja) | 1994-04-04 | 2002-08-27 | 命令処理制御方法 |
JP2002246588A Expired - Lifetime JP3587257B2 (ja) | 1994-04-04 | 2002-08-27 | 命令実行監視システム |
JP2002246590A Expired - Lifetime JP3587259B2 (ja) | 1994-04-04 | 2002-08-27 | 命令処理制御システム |
Country Status (3)
Country | Link |
---|---|
US (8) | US5628021A (ja) |
JP (8) | JP3561915B2 (ja) |
WO (1) | WO1995027247A1 (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
WO1993022722A1 (en) | 1992-05-01 | 1993-11-11 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
JP3531166B2 (ja) | 1992-12-31 | 2004-05-24 | セイコーエプソン株式会社 | レジスタ・リネーミングのシステム及び方法 |
US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
US5604912A (en) * | 1992-12-31 | 1997-02-18 | Seiko Epson Corporation | System and method for assigning tags to instructions to control instruction execution |
JP3494484B2 (ja) * | 1994-10-12 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
US5675758A (en) * | 1994-11-15 | 1997-10-07 | Advanced Micro Devices, Inc. | Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations |
US5712997A (en) * | 1996-01-31 | 1998-01-27 | Sun Microsystems, Inc | System and method for processing load instruction in accordance with "no-fault " processing facility including arrangement for preserving access fault indicia |
US5859992A (en) * | 1997-03-12 | 1999-01-12 | Advanced Micro Devices, Inc. | Instruction alignment using a dispatch list and a latch list |
US5878242A (en) * | 1997-04-21 | 1999-03-02 | International Business Machines Corporation | Method and system for forwarding instructions in a processor with increased forwarding probability |
US5983341A (en) * | 1997-04-25 | 1999-11-09 | International Business Machines Corporation | Data processing system and method for extending the time for execution of an instruction |
US5860018A (en) * | 1997-06-25 | 1999-01-12 | Sun Microsystems, Inc. | Method for tracking pipeline resources in a superscalar processor |
US6035388A (en) * | 1997-06-27 | 2000-03-07 | Sandcraft, Inc. | Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units |
US6112293A (en) * | 1997-11-17 | 2000-08-29 | Advanced Micro Devices, Inc. | Processor configured to generate lookahead results from operand collapse unit and for inhibiting receipt/execution of the first instruction based on the lookahead result |
US6304959B1 (en) | 1999-03-05 | 2001-10-16 | International Business Machines Corporation | Simplified method to generate BTAGs in a decode unit of a processing system |
US6425069B1 (en) * | 1999-03-05 | 2002-07-23 | International Business Machines Corporation | Optimization of instruction stream execution that includes a VLIW dispatch group |
US6336182B1 (en) * | 1999-03-05 | 2002-01-01 | International Business Machines Corporation | System and method for utilizing a conditional split for aligning internal operation (IOPs) for dispatch |
JP2001092657A (ja) * | 1999-09-22 | 2001-04-06 | Toshiba Corp | 中央演算装置、コンパイル方法、及びコンパイルプログラムを記録した記録媒体 |
US6691240B1 (en) * | 1999-12-30 | 2004-02-10 | Texas Instruments Incorporated | System and method of implementing variabe length delay instructions, which prevents overlapping lifetime information or values in efficient way |
GB0002848D0 (en) * | 2000-02-08 | 2000-03-29 | Siroyan Limited | Communicating instruction results in processors and compiling methods for processors |
US6785802B1 (en) | 2000-06-01 | 2004-08-31 | Stmicroelectronics, Inc. | Method and apparatus for priority tracking in an out-of-order instruction shelf of a high performance superscalar microprocessor |
GB2363480B (en) * | 2000-06-13 | 2002-05-08 | Siroyan Ltd | Predicated execution of instructions in processors |
US6804815B1 (en) * | 2000-09-18 | 2004-10-12 | Cisco Technology, Inc. | Sequence control mechanism for enabling out of order context processing |
US6813704B1 (en) * | 2001-12-20 | 2004-11-02 | Lsi Logic Corporation | Changing instruction order by reassigning only tags in order tag field in instruction queue |
US20040181651A1 (en) * | 2003-03-11 | 2004-09-16 | Sugumar Rabin A. | Issue bandwidth in a multi-issue out-of-order processor |
CN1764832A (zh) * | 2003-03-25 | 2006-04-26 | 爱科来株式会社 | 传感器储存容器 |
JP2005038016A (ja) | 2003-07-15 | 2005-02-10 | Canon Inc | データ処理装置、データ処理方法、データ処理プログラム、及び画像形成装置 |
EP1548537A1 (en) * | 2003-12-23 | 2005-06-29 | STMicroelectronics Limited | Secure processor arrangement |
SE0401922L (sv) | 2004-07-23 | 2005-05-31 | Kvaser Consultant Ab | Anordning för tidsstämpling av referenshändelser |
KR20080078255A (ko) * | 2007-02-22 | 2008-08-27 | 삼성전자주식회사 | 파일 관리 방법 및 장치와 그 파일을 저장한 정보저장매체 |
JP5309040B2 (ja) * | 2007-03-23 | 2013-10-09 | ソルベイ スペシャルティ ポリマーズ ユーエスエー エルエルシー | 石炭燃焼煙道ガスフィルタ |
US20100024695A1 (en) * | 2007-03-23 | 2010-02-04 | Solvay Advanced Polymers, L.L.C. | Fabrics |
US7831784B2 (en) * | 2007-07-16 | 2010-11-09 | Apple Inc. | Managing purgeable memory objects |
US8380948B2 (en) * | 2007-09-04 | 2013-02-19 | Apple Inc. | Managing purgeable memory objects using purge groups |
US9058180B2 (en) * | 2009-06-29 | 2015-06-16 | Oracle America, Inc. | Unified high-frequency out-of-order pick queue with support for triggering early issue of speculative instructions |
US8429386B2 (en) * | 2009-06-30 | 2013-04-23 | Oracle America, Inc. | Dynamic tag allocation in a multithreaded out-of-order processor |
US9286075B2 (en) * | 2009-09-30 | 2016-03-15 | Oracle America, Inc. | Optimal deallocation of instructions from a unified pick queue |
US9588770B2 (en) * | 2013-03-15 | 2017-03-07 | Samsung Electronics Co., Ltd. | Dynamic rename based register reconfiguration of a vector register file |
US9792252B2 (en) | 2013-05-31 | 2017-10-17 | Microsoft Technology Licensing, Llc | Incorporating a spatial array into one or more programmable processor cores |
JP6520416B2 (ja) * | 2015-06-02 | 2019-05-29 | 富士通株式会社 | 演算処理装置および演算処理装置の処理方法 |
US10409599B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Decoding information about a group of instructions including a size of the group of instructions |
US10169044B2 (en) | 2015-06-26 | 2019-01-01 | Microsoft Technology Licensing, Llc | Processing an encoding format field to interpret header information regarding a group of instructions |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US9720693B2 (en) | 2015-06-26 | 2017-08-01 | Microsoft Technology Licensing, Llc | Bulk allocation of instruction blocks to a processor instruction window |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US9952867B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Mapping instruction blocks based on block size |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US10235176B2 (en) | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
US10936713B2 (en) * | 2015-12-17 | 2021-03-02 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
TWI794405B (zh) | 2018-02-02 | 2023-03-01 | 美商查爾斯塔克德拉普實驗室公司 | 用於政策執行處理的系統及方法 |
EP3746921B1 (en) | 2018-02-02 | 2023-12-27 | Dover Microsystems, Inc. | Systems and methods for policy linking and/or loading for secure initialization |
US11797398B2 (en) | 2018-04-30 | 2023-10-24 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
EP3877874A1 (en) | 2018-11-06 | 2021-09-15 | Dover Microsystems, Inc. | Systems and methods for stalling host processor |
US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
Family Cites Families (231)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346851A (en) | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
US3718912A (en) * | 1970-12-22 | 1973-02-27 | Ibm | Instruction execution unit |
US3789365A (en) * | 1971-06-03 | 1974-01-29 | Bunker Ramo | Processor interrupt system |
US3771138A (en) | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
US3913074A (en) | 1973-12-18 | 1975-10-14 | Honeywell Inf Systems | Search processing apparatus |
US4034349A (en) | 1976-01-29 | 1977-07-05 | Sperry Rand Corporation | Apparatus for processing interrupts in microprocessing systems |
US4128880A (en) | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
US4212076A (en) | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
US4315314A (en) * | 1977-12-30 | 1982-02-09 | Rca Corporation | Priority vectored interrupt having means to supply branch address directly |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
US4228495A (en) | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
US4315308A (en) * | 1978-12-21 | 1982-02-09 | Intel Corporation | Interface between a microprocessor chip and peripheral subsystems |
US4296470A (en) | 1979-06-21 | 1981-10-20 | International Business Machines Corp. | Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system |
JPS5616248A (en) | 1979-07-17 | 1981-02-17 | Matsushita Electric Ind Co Ltd | Processing system for interruption |
JPS6028015B2 (ja) | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
US4434461A (en) * | 1980-09-15 | 1984-02-28 | Motorola, Inc. | Microprocessor with duplicate registers for processing interrupts |
JPS5757345A (en) | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
JPS57204125A (en) | 1981-06-10 | 1982-12-14 | Hitachi Ltd | Electron-ray drawing device |
US4482950A (en) | 1981-09-24 | 1984-11-13 | Dshkhunian Valery | Single-chip microcomputer |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
US4500963A (en) * | 1982-11-29 | 1985-02-19 | The United States Of America As Represented By The Secretary Of The Army | Automatic layout program for hybrid microcircuits (HYPAR) |
US4597054A (en) | 1982-12-02 | 1986-06-24 | Ncr Corporation | Arbiter circuit and method |
US4594655A (en) | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
GB8329509D0 (en) | 1983-11-04 | 1983-12-07 | Inmos Ltd | Computer |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
US4561051A (en) | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
JPS60225943A (ja) | 1984-04-25 | 1985-11-11 | Hitachi Ltd | 例外割込み処理方式 |
US4648045A (en) * | 1984-05-23 | 1987-03-03 | The Board Of Trustees Of The Leland Standford Jr. University | High speed memory and processor system for raster display |
JPS6140650A (ja) | 1984-08-02 | 1986-02-26 | Nec Corp | マイクロコンピユ−タ |
US4775927A (en) | 1984-10-31 | 1988-10-04 | International Business Machines Corporation | Processor including fetch operation for branch instruction with control tag |
US4991081A (en) * | 1984-10-31 | 1991-02-05 | Texas Instruments Incorporated | Cache memory addressable by both physical and virtual addresses |
JPH0652784B2 (ja) | 1984-12-07 | 1994-07-06 | 富士通株式会社 | ゲートアレイ集積回路装置及びその製造方法 |
US4829467A (en) | 1984-12-21 | 1989-05-09 | Canon Kabushiki Kaisha | Memory controller including a priority order determination circuit |
US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
US4714994A (en) | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
JPH0762823B2 (ja) | 1985-05-22 | 1995-07-05 | 株式会社日立製作所 | デ−タ処理装置 |
US4613941A (en) | 1985-07-02 | 1986-09-23 | The United States Of America As Represented By The Secretary Of The Army | Routing method in computer aided customization of a two level automated universal array |
US4945479A (en) | 1985-07-31 | 1990-07-31 | Unisys Corporation | Tightly coupled scientific processing system |
US4777588A (en) | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance |
US4719569A (en) * | 1985-10-11 | 1988-01-12 | Sun Microsystems, Inc. | Arbitrator for allocating access to data processing resources |
US4722049A (en) * | 1985-10-11 | 1988-01-26 | Unisys Corporation | Apparatus for out-of-order program execution |
JPS62152043A (ja) | 1985-12-26 | 1987-07-07 | Nec Corp | 命令コ−ドアクセス制御方式 |
DE3751503T2 (de) | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
JP2545789B2 (ja) | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
US4811208A (en) | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
JP2684362B2 (ja) * | 1986-06-18 | 1997-12-03 | 株式会社日立製作所 | 可変長データの記憶方式 |
US4814978A (en) * | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
JPS6324428A (ja) * | 1986-07-17 | 1988-02-01 | Mitsubishi Electric Corp | キヤツシユメモリ |
US4766566A (en) | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
JPS6393041A (ja) | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | 計算機 |
JPH0793358B2 (ja) | 1986-11-10 | 1995-10-09 | 日本電気株式会社 | ブロック配置処理方式 |
US4841453A (en) | 1986-11-10 | 1989-06-20 | Ibm Corporation | Multidirectional scan and print capability |
JPS63131230A (ja) | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
JPH0810430B2 (ja) | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
US5283903A (en) * | 1986-12-25 | 1994-02-01 | Nec Corporation | Priority selector |
US5226170A (en) | 1987-02-24 | 1993-07-06 | Digital Equipment Corporation | Interface between processor and special instruction processor in digital data processing system |
US5179689A (en) * | 1987-03-13 | 1993-01-12 | Texas Instruments Incorporated | Dataprocessing device with instruction cache |
US4833599A (en) | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
US4858116A (en) | 1987-05-01 | 1989-08-15 | Digital Equipment Corporation | Method and apparatus for managing multiple lock indicators in a multiprocessor computer system |
US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
JPH07113903B2 (ja) * | 1987-06-26 | 1995-12-06 | 株式会社日立製作所 | キャッシュ記憶制御方式 |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US5134561A (en) | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US5150309A (en) | 1987-08-04 | 1992-09-22 | Texas Instruments Incorporated | Comprehensive logic circuit layout system |
US4980817A (en) | 1987-08-31 | 1990-12-25 | Digital Equipment | Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports |
US4991078A (en) * | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
EP0312764A3 (en) | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
US5089951A (en) * | 1987-11-05 | 1992-02-18 | Kabushiki Kaisha Toshiba | Microcomputer incorporating memory |
US5197136A (en) * | 1987-11-12 | 1993-03-23 | Matsushita Electric Industrial Co., Ltd. | Processing system for branch instruction |
US4823201A (en) * | 1987-11-16 | 1989-04-18 | Technology, Inc. 64 | Processor for expanding a compressed video signal |
US5185878A (en) * | 1988-01-20 | 1993-02-09 | Advanced Micro Device, Inc. | Programmable cache memory as well as system incorporating same and method of operating programmable cache memory |
US4926323A (en) | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
JPH01228865A (ja) | 1988-03-09 | 1989-09-12 | Minolta Camera Co Ltd | プリンタ制御装置 |
US5187796A (en) * | 1988-03-29 | 1993-02-16 | Computer Motion, Inc. | Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units |
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
US4897810A (en) * | 1988-06-13 | 1990-01-30 | Advanced Micro Devices, Inc. | Asynchronous interrupt status bit circuit |
US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US5261057A (en) | 1988-06-30 | 1993-11-09 | Wang Laboratories, Inc. | I/O bus to system interface |
JP2761506B2 (ja) | 1988-07-08 | 1998-06-04 | 株式会社日立製作所 | 主記憶制御装置 |
US5032985A (en) | 1988-07-21 | 1991-07-16 | International Business Machines Corporation | Multiprocessor system with memory fetch buffer invoked during cross-interrogation |
US5148536A (en) | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
US5291615A (en) * | 1988-08-11 | 1994-03-01 | Kabushiki Kaisha Toshiba | Instruction pipeline microprocessor |
JPH0673105B2 (ja) | 1988-08-11 | 1994-09-14 | 株式会社東芝 | 命令パイプライン方式のマイクロプロセッサ |
US4974155A (en) | 1988-08-15 | 1990-11-27 | Evans & Sutherland Computer Corp. | Variable delay branch system |
US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
US5167035A (en) | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
EP0365188B1 (en) * | 1988-10-18 | 1996-09-18 | Hewlett-Packard Company | Central processor condition code method and apparatus |
JP2810068B2 (ja) | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
JPH0769811B2 (ja) | 1988-12-21 | 1995-07-31 | 松下電器産業株式会社 | データ処理装置 |
US5148533A (en) | 1989-01-05 | 1992-09-15 | Bull Hn Information Systems Inc. | Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units |
US5125092A (en) | 1989-01-09 | 1992-06-23 | International Business Machines Corporation | Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes |
JP2736092B2 (ja) * | 1989-01-10 | 1998-04-02 | 株式会社東芝 | バッファ装置 |
US5142633A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Preprocessing implied specifiers in a pipelined processor |
US5142634A (en) | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
US5222223A (en) | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
US5125083A (en) | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
US5167026A (en) | 1989-02-03 | 1992-11-24 | Digital Equipment Corporation | Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers |
US4985825A (en) * | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
US5109495A (en) * | 1989-02-03 | 1992-04-28 | Digital Equipment Corp. | Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor |
US5067069A (en) * | 1989-02-03 | 1991-11-19 | Digital Equipment Corporation | Control of multiple functional units with parallel operation in a microcoded execution unit |
US5133074A (en) | 1989-02-08 | 1992-07-21 | Acer Incorporated | Deadlock resolution with cache snooping |
US5293500A (en) * | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
US5226166A (en) | 1989-02-10 | 1993-07-06 | Mitsubishi Denki K.K. | Parallel operation processor with second command unit |
US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions |
US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
US5119485A (en) | 1989-05-15 | 1992-06-02 | Motorola, Inc. | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation |
US5155809A (en) * | 1989-05-17 | 1992-10-13 | International Business Machines Corp. | Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware |
US5072364A (en) | 1989-05-24 | 1991-12-10 | Tandem Computers Incorporated | Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel |
CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
US5129067A (en) | 1989-06-06 | 1992-07-07 | Advanced Micro Devices, Inc. | Multiple instruction decoder for minimizing register port requirements |
US5136697A (en) | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
JP2550213B2 (ja) | 1989-07-07 | 1996-11-06 | 株式会社日立製作所 | 並列処理装置および並列処理方法 |
JPH07120284B2 (ja) | 1989-09-04 | 1995-12-20 | 三菱電機株式会社 | データ処理装置 |
US5303382A (en) * | 1989-09-21 | 1994-04-12 | Digital Equipment Corporation | Arbiter with programmable dynamic request prioritization |
US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
EP0429733B1 (en) | 1989-11-17 | 1999-04-28 | Texas Instruments Incorporated | Multiprocessor with crossbar between processors and memories |
US5226125A (en) | 1989-11-17 | 1993-07-06 | Keith Balmer | Switch matrix having integrated crosspoint logic and method of operation |
US5268021A (en) * | 1989-11-20 | 1993-12-07 | Dynotec Corporation | Fluid fractionator |
US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
JPH03186928A (ja) * | 1989-12-16 | 1991-08-14 | Mitsubishi Electric Corp | データ処理装置 |
US5179673A (en) * | 1989-12-18 | 1993-01-12 | Digital Equipment Corporation | Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline |
US5197130A (en) | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
US5251306A (en) * | 1990-01-16 | 1993-10-05 | Advanced Micro Devices, Inc. | Apparatus for controlling execution of a program in a computing device |
JPH061463B2 (ja) | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
US5241636A (en) | 1990-02-14 | 1993-08-31 | Intel Corporation | Method for parallel instruction execution in a computer |
US5222240A (en) | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
US5230068A (en) * | 1990-02-26 | 1993-07-20 | Nexgen Microsystems | Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence |
US5185872A (en) * | 1990-02-28 | 1993-02-09 | Intel Corporation | System for executing different cycle instructions by selectively bypassing scoreboard register and canceling the execution of conditionally issued instruction if needed resources are busy |
US5120083A (en) * | 1990-03-19 | 1992-06-09 | Henkels & Mccoy, Inc. | Expansion joint for conduit for cables |
JP2818249B2 (ja) | 1990-03-30 | 1998-10-30 | 株式会社東芝 | 電子計算機 |
US5299137A (en) * | 1990-04-05 | 1994-03-29 | Vlsi Technology, Inc. | Behavioral synthesis of circuits including high impedance buffers |
US5867399A (en) * | 1990-04-06 | 1999-02-02 | Lsi Logic Corporation | System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description |
IT1247640B (it) | 1990-04-26 | 1994-12-28 | St Microelectronics Srl | Operazioni booleane tra due qualsiasi bit di due qualsiasi registri |
US5201056A (en) * | 1990-05-02 | 1993-04-06 | Motorola, Inc. | RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output |
US5214763A (en) * | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
DE69128741T2 (de) | 1990-05-18 | 1998-07-16 | Koninkl Philips Electronics Nv | Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür |
US5249286A (en) | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
CA2038264C (en) | 1990-06-26 | 1995-06-27 | Richard James Eickemeyer | In-memory preprocessor for a scalable compound instruction set machine processor |
US5155843A (en) | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
EP0463965B1 (en) * | 1990-06-29 | 1998-09-09 | Digital Equipment Corporation | Branch prediction unit for high-performance processor |
CA2045773A1 (en) | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
EP0468831B1 (en) * | 1990-06-29 | 1997-10-15 | Digital Equipment Corporation | Bus protocol for write-back cache processor |
US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
JP3035324B2 (ja) | 1990-09-03 | 2000-04-24 | 日本電信電話株式会社 | 衛星スピン軸変更方法 |
US5655096A (en) | 1990-10-12 | 1997-08-05 | Branigin; Michael H. | Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution |
JP2911278B2 (ja) | 1990-11-30 | 1999-06-23 | 松下電器産業株式会社 | プロセッサ |
USH1291H (en) * | 1990-12-20 | 1994-02-01 | Hinton Glenn J | Microprocessor in which multiple instructions are executed in one clock cycle by providing separate machine bus access to a register file for different types of instructions |
US5222244A (en) | 1990-12-20 | 1993-06-22 | Intel Corporation | Method of modifying a microinstruction with operands specified by an instruction held in an alias register |
US5604885A (en) * | 1991-02-01 | 1997-02-18 | Texas Instruments Incorporated | Apparatus and method enabling a computer to transfer control between two program segments that call one another but operate in different modes |
US5303362A (en) * | 1991-03-20 | 1994-04-12 | Digital Equipment Corporation | Coupled memory multiprocessor computer system including cache coherency management protocols |
US5261071A (en) * | 1991-03-21 | 1993-11-09 | Control Data System, Inc. | Dual pipe cache memory with out-of-order issue capability |
US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
US5488729A (en) | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
US5355457A (en) * | 1991-05-21 | 1994-10-11 | Motorola, Inc. | Data processor for performing simultaneous instruction retirement and backtracking |
US5630157A (en) | 1991-06-13 | 1997-05-13 | International Business Machines Corporation | Computer organization for multiple and out-of-order execution of condition code testing and setting instructions |
US5278963A (en) * | 1991-06-21 | 1994-01-11 | International Business Machines Corporation | Pretranslation of virtual addresses prior to page crossing |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
WO1993001547A1 (en) | 1991-07-08 | 1993-01-21 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
EP0547247B1 (en) | 1991-07-08 | 2001-04-04 | Seiko Epson Corporation | Extensible risc microprocessor architecture |
ATE164463T1 (de) | 1991-07-08 | 1998-04-15 | Seiko Epson Corp | Single-chip seitendrucker-steuerschaltung |
US5961629A (en) | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5826055A (en) | 1991-07-08 | 1998-10-20 | Seiko Epson Corporation | System and method for retiring instructions in a superscalar microprocessor |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5345569A (en) * | 1991-09-20 | 1994-09-06 | Advanced Micro Devices, Inc. | Apparatus and method for resolving dependencies among a plurality of instructions within a storage device |
GB2260628A (en) | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
JPH0621466Y2 (ja) * | 1991-11-11 | 1994-06-08 | キャピーインターナショナル株式会社 | 担 架 |
JPH0820949B2 (ja) * | 1991-11-26 | 1996-03-04 | 松下電器産業株式会社 | 情報処理装置 |
US5285527A (en) * | 1991-12-11 | 1994-02-08 | Northern Telecom Limited | Predictive historical cache memory |
US5617554A (en) | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
US5398330A (en) * | 1992-03-05 | 1995-03-14 | Seiko Epson Corporation | Register file backup queue |
JPH07504773A (ja) | 1992-03-18 | 1995-05-25 | セイコーエプソン株式会社 | マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法 |
US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
US5371684A (en) | 1992-03-31 | 1994-12-06 | Seiko Epson Corporation | Semiconductor floor plan for a register renaming circuit |
US5491640A (en) * | 1992-05-01 | 1996-02-13 | Vlsi Technology, Inc. | Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication |
WO1993022722A1 (en) | 1992-05-01 | 1993-11-11 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US5442756A (en) * | 1992-07-31 | 1995-08-15 | Intel Corporation | Branch prediction and resolution apparatus for a superscalar computer processor |
US5619668A (en) * | 1992-08-10 | 1997-04-08 | Intel Corporation | Apparatus for register bypassing in a microprocessor |
US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5524225A (en) * | 1992-12-18 | 1996-06-04 | Advanced Micro Devices Inc. | Cache system and method for providing software controlled writeback |
US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
JP3531166B2 (ja) | 1992-12-31 | 2004-05-24 | セイコーエプソン株式会社 | レジスタ・リネーミングのシステム及び方法 |
US5604912A (en) * | 1992-12-31 | 1997-02-18 | Seiko Epson Corporation | System and method for assigning tags to instructions to control instruction execution |
US5627984A (en) | 1993-03-31 | 1997-05-06 | Intel Corporation | Apparatus and method for entry allocation for a buffer resource utilizing an internal two cycle pipeline |
KR100310581B1 (ko) | 1993-05-14 | 2001-12-17 | 피터 엔. 데트킨 | 분기목표버퍼의추측기록메카니즘 |
US5577217A (en) | 1993-05-14 | 1996-11-19 | Intel Corporation | Method and apparatus for a branch target buffer with shared branch pattern tables for associated branch predictions |
JPH0728695A (ja) | 1993-07-08 | 1995-01-31 | Nec Corp | メモリコントローラ |
US5446912A (en) | 1993-09-30 | 1995-08-29 | Intel Corporation | Partial width stalls within register alias table |
US5613132A (en) | 1993-09-30 | 1997-03-18 | Intel Corporation | Integer and floating point register alias table within processor device |
US5630149A (en) | 1993-10-18 | 1997-05-13 | Cyrix Corporation | Pipelined processor with register renaming hardware to accommodate multiple size registers |
US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
EP0651321B1 (en) * | 1993-10-29 | 2001-11-14 | Advanced Micro Devices, Inc. | Superscalar microprocessors |
US5572704A (en) * | 1993-12-15 | 1996-11-05 | Silicon Graphics, Inc. | System and method for controlling split-level caches in a multi-processor system including data loss and deadlock prevention schemes |
JP3218524B2 (ja) | 1993-12-22 | 2001-10-15 | 村田機械株式会社 | ワークホルダーのはみ出し検出装置 |
US5574935A (en) | 1993-12-29 | 1996-11-12 | Intel Corporation | Superscalar processor with a multi-port reorder buffer |
US5630075A (en) | 1993-12-30 | 1997-05-13 | Intel Corporation | Write combining buffer for sequentially addressed partial line operations originating from a single instruction |
US5604877A (en) | 1994-01-04 | 1997-02-18 | Intel Corporation | Method and apparatus for resolving return from subroutine instructions in a computer processor |
US5619664A (en) | 1994-01-04 | 1997-04-08 | Intel Corporation | Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms |
US5452426A (en) | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
US5627985A (en) | 1994-01-04 | 1997-05-06 | Intel Corporation | Speculative and committed resource files in an out-of-order processor |
US5577200A (en) | 1994-02-28 | 1996-11-19 | Intel Corporation | Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system |
US5630083A (en) | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
US5564056A (en) | 1994-03-01 | 1996-10-08 | Intel Corporation | Method and apparatus for zero extension and bit shifting to preserve register parameters in a microprocessor utilizing register renaming |
US5608885A (en) | 1994-03-01 | 1997-03-04 | Intel Corporation | Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions |
US5625788A (en) | 1994-03-01 | 1997-04-29 | Intel Corporation | Microprocessor with novel instruction for signaling event occurrence and for providing event handling information in response thereto |
US5586278A (en) | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
US5623628A (en) | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5394351A (en) | 1994-03-11 | 1995-02-28 | Nexgen, Inc. | Optimized binary adder and comparator having an implicit constant for an input |
US5574927A (en) | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
US5490280A (en) | 1994-03-31 | 1996-02-06 | Intel Corporation | Apparatus and method for entry allocation for a resource buffer |
US5615126A (en) * | 1994-08-24 | 1997-03-25 | Lsi Logic Corporation | High-speed internal interconnection technique for integrated circuits that reduces the number of signal lines through multiplexing |
US5819101A (en) | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
AU4464596A (en) * | 1994-12-02 | 1996-06-19 | Intel Corporation | Microprocessor with packing operation of composite operands |
US5666494A (en) | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5745375A (en) | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US5778210A (en) | 1996-01-11 | 1998-07-07 | Intel Corporation | Method and apparatus for recovering the state of a speculatively scheduled operation in a processor which cannot be executed at the speculated time |
US5832205A (en) | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
JP4096132B2 (ja) | 1997-07-24 | 2008-06-04 | 富士ゼロックス株式会社 | 時系列情報の特定区間決定装置、情報蓄積装置および情報蓄積再生装置 |
US6418529B1 (en) | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
JP4054638B2 (ja) | 2002-08-30 | 2008-02-27 | スミダコーポレーション株式会社 | 光ピックアップ |
US7897110B2 (en) | 2005-12-20 | 2011-03-01 | Asml Netherlands B.V. | System and method for detecting at least one contamination species in a lithographic apparatus |
-
1994
- 1994-04-04 US US08/224,328 patent/US5628021A/en not_active Expired - Lifetime
-
1995
- 1995-04-04 WO PCT/US1995/004132 patent/WO1995027247A1/en active Application Filing
- 1995-04-04 JP JP52591495A patent/JP3561915B2/ja not_active Expired - Lifetime
-
1997
- 1997-03-03 US US08/811,237 patent/US5896542A/en not_active Expired - Lifetime
-
1999
- 1999-02-19 US US09/252,655 patent/US6092176A/en not_active Expired - Lifetime
-
2000
- 2000-05-19 US US09/574,251 patent/US6360309B1/en not_active Expired - Fee Related
-
2002
- 2002-01-03 US US10/034,252 patent/US6757808B2/en not_active Expired - Fee Related
- 2002-08-27 JP JP2002246591A patent/JP3587260B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246586A patent/JP3587255B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246589A patent/JP3587258B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246587A patent/JP3587256B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246592A patent/JP3587261B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246588A patent/JP3587257B2/ja not_active Expired - Lifetime
- 2002-08-27 JP JP2002246590A patent/JP3587259B2/ja not_active Expired - Lifetime
-
2004
- 2004-05-18 US US10/847,460 patent/US7043624B2/en not_active Expired - Fee Related
-
2006
- 2006-01-25 US US11/338,817 patent/US7430651B2/en not_active Expired - Fee Related
-
2008
- 2008-09-15 US US12/210,738 patent/US8074052B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8074052B2 (en) | 2011-12-06 |
US6757808B2 (en) | 2004-06-29 |
JP2003122565A (ja) | 2003-04-25 |
JP2003076541A (ja) | 2003-03-14 |
US6092176A (en) | 2000-07-18 |
US20090013158A1 (en) | 2009-01-08 |
JP3587258B2 (ja) | 2004-11-10 |
JP3587256B2 (ja) | 2004-11-10 |
JP2003122564A (ja) | 2003-04-25 |
JP2003122562A (ja) | 2003-04-25 |
JPH11511871A (ja) | 1999-10-12 |
US6360309B1 (en) | 2002-03-19 |
US7043624B2 (en) | 2006-05-09 |
US5896542A (en) | 1999-04-20 |
JP2003076542A (ja) | 2003-03-14 |
US20040199746A1 (en) | 2004-10-07 |
JP3561915B2 (ja) | 2004-09-08 |
JP3587257B2 (ja) | 2004-11-10 |
WO1995027247A1 (en) | 1995-10-12 |
JP2003076540A (ja) | 2003-03-14 |
US20060123218A1 (en) | 2006-06-08 |
US20020053014A1 (en) | 2002-05-02 |
US7430651B2 (en) | 2008-09-30 |
JP3587255B2 (ja) | 2004-11-10 |
JP3587261B2 (ja) | 2004-11-10 |
JP3587259B2 (ja) | 2004-11-10 |
US5628021A (en) | 1997-05-06 |
JP3587260B2 (ja) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003122563A (ja) | 命令処理制御方法 | |
JP2701179B2 (ja) | データ処理システム | |
US5604912A (en) | System and method for assigning tags to instructions to control instruction execution | |
US5689693A (en) | Range finding circuit for selecting a consecutive sequence of reorder buffer entries using circular carry lookahead | |
JP5209933B2 (ja) | データ処理装置 | |
JPH07506445A (ja) | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 | |
JPH06242954A (ja) | 独立にアクセスされる中間記憶域を利用してスーパースカラ・プロセッサ・システムにおける命令ディスパッチを改善する方法およびシステム | |
JP3347052B2 (ja) | 命令識別子を使用して命令順序を判定するためのデータ処理システムおよび方法 | |
US6003126A (en) | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers | |
US5765017A (en) | Method and system in a data processing system for efficient management of an indication of a status of each of multiple registers | |
US20040128484A1 (en) | Method and apparatus for transparent delayed write-back | |
US20230342153A1 (en) | Microprocessor with a time counter for statically dispatching extended instructions | |
US6216221B1 (en) | Method and apparatus for expanding instructions | |
JPH0744401A (ja) | 論理集積回路およびそのデータ処理システム | |
JPH05341995A (ja) | プロセッサにおける命令制御方法及びプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20040428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040625 |
|
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: 20040721 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040803 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |