JP2535252B2 - 並列処理装置 - Google Patents
並列処理装置Info
- Publication number
- JP2535252B2 JP2535252B2 JP2279653A JP27965390A JP2535252B2 JP 2535252 B2 JP2535252 B2 JP 2535252B2 JP 2279653 A JP2279653 A JP 2279653A JP 27965390 A JP27965390 A JP 27965390A JP 2535252 B2 JP2535252 B2 JP 2535252B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- branch
- flag
- state
- 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.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 26
- 238000000034 method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000725 suspension Substances 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
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)
Description
型プロセサに関する。より特定的には、スーパースカラ
型プロセサにおける、分岐命令以降にパイプライン(機
能ユニット)へ供給された命令の実行および無効化の制
御方式に関する。
も高性能化されかつその速度も高速化されてきている。
一方、半導体メモリも高速化されてきているものの、そ
の高速化はこのマイクロプロセサの高速化に追随するこ
とができず、半導体メモリのアクセスがプロセサの高速
化に対する1つのボルトネックとなっている。このた
め、並列処理を行なうことによりマイクロプロセサの性
能向上を図ることが行なわれている。このような並列処
理を実現する方式の1つにスーパースカラがある。この
スーパースカラタイプのプロセサ(以下、単にスーパー
スカラと称す)は、第13図に示すように、プロセサ内部
のスケジューラ(通常命令デコーダ内に含まれている)
200が、命令ストリーム中の並列性を検出し、並列処理
可能な命令を並列に設けられたパイプライン(機能ユニ
ット)P1、P2およびP3へ供給するものである。すなわ
ち、スーパースカラは以下の特徴をもつコンピュータ
(またはプロセサ)であるといえる。
る。
可能な命令を検出し、それらを対応の機能ユニットに供
給する。
る。第14図において、スーパースカラは、各々が所定の
機能を実行する複数の機能ユニット4、5、6、および
7と、命令メモリ1から複数の命令を同時にフェッチす
る命令フェッチ(IF)ステージ2と、命令フェッチステ
ージ2によりフェッチされた命令メモリ1からの命令を
同時に受け、それから同時に実行処理可能な命令を検出
して、対応の機能ユニットへ供給する命令デコードステ
ージ3と、演算処理結果等を格納するためのデータメモ
リ8とを含む。
リを一般に含んでおり、プログラム実行に必要な部分を
格納する。
ンタIPを与え、この命令ポインタIPに対応する複数の命
令を命令メモリ1からフェッチする。
プラインシーケンサ等を含む。命令デコーダは、命令フ
ェッチステージ2によりフェッチされた複数の命令を受
けてデコードする。パイプラインシーケンサ(命令スケ
ジューラ)は、このデコードされた複数の命令のマシン
タイプを識別し、異なるマシンタイプの命令を同時に対
応の機能ユニットへ発行する。マシンタイプは、命令が
どの機能ユニットで処理されるべきかを示す。
り、与えられた命令をクロック信号に応答して実行す
る。第14図においては、4つの機能ユニットが一例とし
て示されており、最大4つの命令が並列処理可能であ
る。
数演算ユニットであり、実行ステージ(EX)および書込
みステージ(マシン状態変更ステージ;WB)を含む。書
込みステージ(WB)は、実行ステージで実行された命令
の処理結果をデータレジスタ(図示せず)へ書込む。
ータのロードまたはストア)を実行するユニットであ
り、アドレス生成ステージ(ADR)、メモリへのアクセ
ス実行ステージ(MEM)およびデータレジスタ(図示せ
ず)へのデータの書込みステージ(WB)を含む。この機
能ユニット6における書込みステージ(WB)において、
データメモリ8からロードされたデータまたはデータメ
モリ8へストアすべきデータがレジスタへ/から書込み
または読出しされる。
ニットであり、3段の実行ステージ(EX1、EX2およびEX
3)と、実行結果のデータレジスタ(図示せず)への書
込みステージ(WB)とを含む。浮動小数点数とは、小数
点の位置を一定とせずに、指数と仮数とを用いて表され
た数である。浮動小数点演算は、この浮動小数点数を用
いた演算であり、整数演算などに比べて広範囲の数を演
算することができるが、その処理には整数演算などより
も多くのサイクルが必要とされる。
ジ2および命令デコードステージ3および機能ユニット
(4ないし7)もまたパイプライン化されており、各ス
テージはオーバーラップして動作する。したがって、パ
イプラインに空きが存在しない場合には、前のサイクル
で処理されたデータまたは命令が各ステージへ供給され
る。たとえば、命令デコードステージ3がデコードする
命令は前のサイクルでフェッチされた命令である。
図である。第15図において、命令デコードステージ3
は、並列に設けられた4つのデコード回路D1〜D4と、デ
コード回路D1〜D4のデコード結果に応答して、並列処理
可能な命令を検出し、この命令を関連の機能ユニットへ
発行するパイプラインシーケンサSCを含む。
フェッチされた命令M1ないしM4に対応して設けられ、対
応の命令を解読し、該解読結果をパイプラインシーケン
サSCへ伝達する。この命令デコードステージ3へ供給さ
れる命令FMは、各命令対応にアドレス(命令メモリ1に
おける論理アドレスであり、命令フェッチステージから
供給される)A1〜A4も含む。
令FMに分岐命令が含まれるとき、この分岐命令による分
岐の発生の有無、分岐先アドレスの命令フェッチステー
ジへの設定、分岐命令以降の命令の機能ユニットへの供
給の制御を行なう。次に第14図および第15図を参照して
動作について簡単に説明する。
へ命令フェッチ要求を出力する。命令フェッチステージ
2は、この命令フェッチ要求に応答して命令ポインタIP
を命令メモリ1へ与え、命令メモリ1からこの命令ポイ
ンタIPに対応する複数の命令をフェッチする。このフェ
ッチされた複数の命令M1〜M4は、命令デコードステージ
3に含まれるデコード回路M1〜M4へ同時に与えられる。
このデコード回路D1〜D4は与えられた複数の命令を同時
にデコードする。
D4でデコードされた命令から、計算リソースおよびデー
タレジスタが競合しない、並列処理可能な命令を検出
し、この並列処理可能な命令を対応の機能ユニットへ発
行する。
令に従って処理を並列に実行する。機能ユニット4ない
し7はパイプライン化されており、第14図に示す各実行
ステージおよび書込みステージに従って処理が実行され
る。
テージ3および命令実行ステージ(機能ユニット4ない
し7)の動作もパイプライン化されているため、これら
は互いにオーバーラップしながら所定の動作を実行して
いる。
パイプライン化しかつ複数の機能ユニットで並列に処理
を実行することにより高速で命令を実行することができ
る。
令がフェッチされ、かつ同時に複数の命令が実行される
ため、通常のプロセサに比べて処理速度の向上を図るこ
とができる。
チされた4つの命令(M1〜M4;第15図参照)が4つの機
能ユニット4ないし7で並列に実行された場合、4クロ
ックサイクルで4命令を処理・実行することができる
(機能ユニット4、5および6のパイプラインが機能ユ
ニット7の処理完了まで待ち合わせ状態となる場合)。
まれるパイプラインシーケンサSC)は、効率的に並列処
理が実行されるように命令のスケジューリングを実行す
るが、同時にフェッチされた命令が常に同時に機能ユニ
ットにおいて処理されるとは限らない。
発行状況の一例を示す図である。以下、第16図を参照し
て命令デコードステージからの命令発行について説明す
る。
令を解読する。命令2ないし4は命令1と並列処理実行
ができないため、命令1のみが機能ユニットへ発行され
る。
理実行可能であり、一方、命令4は命令2および/また
は命令3と、たとえばこれらの命令2または命令3の処
理結果を利用するなどの依存関係があるため並列に処理
を実行することができず、命令2および命令3のみが発
行される。
令のうち命令5および命令6が同時処理可能であるとし
て発行される。
きない場合、アドレスの小さいほうの命令が優先的に発
行される。
令を同時に発行できない場合がある。フェッチした命令
に分岐命令が含まれる場合である。分岐命令に続く命令
は、分岐命令による分岐発生の有無により有効・無効が
決定されるため、この分岐命令による状態決定が生じる
まで発行することができない。分岐命令は、命令デコー
ドステージで分岐が生じるか否かを決定されるが、今、
分岐命令が命令デコードステージに供給されたサイクル
においては、その決定ができなかった場合を考える。こ
のような分岐命令の1つに、条件付き分岐命令がある。
この具体的な場合としては以下のようなものがある。
岐を生じ、そうでない場合には分岐しない命令である。
書込みが終了しないと正しい値ではない。」 このような場合、分岐命令はその先行する命令による
レジスタへの書込みが終了するまで実行を待ち合わせる
必要がある。
える。
ータメモリ8のデータをレジスタR1にロードする命令で
ある。
する命令である。
えて、該加算結果をレジスタR4に書込む命令である。
引いて、該演算結果をレジスタR7に書込む命令である。
られた場合、命令のbrzという分岐命令は、命令に
おけるloadに従って、データがレジスタR1に書込まれる
まで分岐を決定することができない。命令および命令
は、この命令の分岐命令により分岐するか否かによ
りその有効/無効が決定される。すなわち、命令にお
いて分岐が発生すると決定されれば、命令および命令
は実行すべきものではなく、無効とされるべきもので
ある。一方、命令において分岐が生じないと決定され
れば、この命令および命令は有効であり、機能ユニ
ットへ供給されて実行処理されるべきものである。この
場合の命令発行手順としては第17図に示すものが考えら
れる。
ときの命令発行状況を示す図である。以下、第17図を参
照して上述の分岐命令brzが存在する場合の命令発行に
ついて説明する。
され、命令デコードステージ3へ与えられる。
される。
に示す機能ユニット6)へ発行され実行される。すなわ
ち、サイクル2において、レジスタR2の内容に50を加え
たアドレスが発生される。このとき、命令ないし命令
は機能ユニットへ発行されず、命令デコードステージ
3に保持される。第17図において(ID)は、命令デコー
ドステージにおける各命令の保持(待合わせ)状態を示
している。
8へのアクセスが行なわれる。このときまだ、レジスタ
R1の内容は決定されていないため、命令ないし命令
は命令デコードステージ3に保持されている。
タR1への書込みが実行され、レジスタR1の内容が決定す
る。
行なわれるべきでないと判断される。
ットへ発行され、実行される。
がデータレジスタへ書込まれる。
決定し、命令に従って分岐が行われるべきであると判
定された場合には、サイクル5において、命令および
命令の発行は行われず、これらの命令は無効とされ、
分岐命令をフェッチする動作が実行される。
おいても分岐の発生の有無が決定されるまで、機能ユニ
ットへの発行が停止されるため、パイプラインに空きが
生じ、高速で命令を実行することができないという問題
が発生する。
場合においても、高速で命令を実行することのできる並
列処理装置を提供することである。
を示す有効性フラグと、分岐命令による分岐決定待ちで
あるか否かを示す書込み遅延フラグとを命令に付加し
て、該命令を関連の機能ユニットへ発行する手段と、有
効性フラグと書込み遅延フラグとに応答して、機能ユニ
ットに含まれるマシン状態変更ステージの動作を、デー
タ保持状態、データ無効化状態およびデータ書込み実行
状態のいずれかに設定する制御手段と、分岐命令による
分岐発生の有無検出信号に応答して、有効性フラグおよ
び書込み遅延フラグの値を修正する手段とを含む。ま
た、その制御手段は、有効性フラグがオン状態にあり、
命令が有効であることを示し、かつ書込遅延フラグがオ
ン状態であり、分岐命令以降の命令であることを示すと
きには、マシン状態変更ステージの動作をデータ保持状
態に設定する。有効性フラグがオフ状態であれば、マシ
ン状態変更ステージの動作はデータ無効化状態に設定さ
れる。有効性フラグがオン状態であり、かつ書込遅延フ
ラグがオフ状態であれば、マシン状態変更ステージの動
作はデータ書込状態に設定される。
その命令の有効/無効を示し、この命令が実行されるべ
きか否かを示す。書込み遅延フラグは、そのオン状態/
オフ状態に従って、該命令実行結果をデータレジスタに
書込むのを待ち合わせるべきか否かを示す。
ステージからのデータをレジスタに書込むマシン状態変
更ステージとを含む。機能ユニットは、書込み遅延フラ
グが書込み遅延状態を示している場合には、この命令実
行ステージからのデータを保持し、レジスタへの書込み
を待ち合わせる。命令実行ステージは、有効性フラグが
有効を示しているときには、フェッチ・デコード手段か
らの命令を実行する。このマシン状態変更ステージの動
作はより有効性フラグおよび書込み遅延フラグの値に応
答して行なわれる。分岐命令以降の命令は、この書込み
遅延フラグに従ってデータレジスタへのデータ書込みが
待機させられる。このとき、有効性フラグが命令が有効
であることを示しており、また分岐命令による分岐発生
が検出されると、書込み遅延フラグの値が修正され、レ
ジスタへの書込みを行なうべきことを示す値に修正され
る。これにより、分岐命令による分岐が生じず、これら
の保持命令を実行すべきであることが示されると、即座
にデータレジスタへのデータの書込みが行なわれる。
命令の機能ユニットへの発行を待ち合わせる必要がな
く、高速で命令を処理することができる。
発明による並列処理装置における命令発行/実行シーケ
ンスについて説明する。
行/実行シーケンスを示す図である。以下、この第2図
を参照して、命令発行/実行シーケンスについて説明す
る。
命令ないし命令と同一である。
される。
デコードステージにおいてデコードされる。
機能ユニットへの発行が行なわれる。命令において、
データメモリ8のアドレスが発生される。一方、命令
および命令はたとえば整数ユニットである機能ユニッ
ト4および5において命令が実行される。命令は、命
令デコードステージ3において保持されており、まだこ
の命令デコードステージにおいて分岐すべきか否かは決
定されていない。
へのアクセスが行なわれ、所望のデータの読出が行なわ
れる。一方、命令および命令の実行結果はマシン状
態変更ステージ(WB)へ伝達され、そこで保持状態とさ
れる。このときまだ命令および命令による実行結果
のデータレジスタへの書込みは行われていない。
モリ8から読出されたデータがデータレジスタR1へ書込
まれ、レジスタR1の内容が決定する。このレジスタR1の
内容が決定されたことにより、命令デコードステージに
おいては、命令により分岐すべきか否かの判定が行な
われる。この第2図においては分岐しないことが決定さ
れた場合が示される。この命令による分岐を行なわな
いことの決定により、マシン状態変更ステージに保持さ
れていた命令および命令の実行結果がレジスタR4お
よびR7へそれぞれ書込まれる。
belへ分岐すべきであるとされた場合には、この命令
および命令のマシン状態変更ステージに保持されてい
るデータは無効とされ、また命令実行ステージEXに滞留
している命令も無効とされる(これは有効性フラグを用
いて行なわれる)。次のサイクル5において、分岐発生
時には、この分岐先のlabelの命令がフェッチされる。
図に示す命令発行/実行シーケンスとを比較すれば、こ
の発明に従う命令発行/実行シーケンスの方が、命令
および命令の実行が2サイクル早く行なわれており、
より高速で命令を処理することが可能となっている。す
なわち、本発明による命令の発行/実行シーケンスをま
とめると以下のようになる。
否かが決定される前に、関連の機能ユニットへ発行され
実行される。
なったときには、このマシン状態書換えを停止させ、待
機状態とする。
わち、分岐すべきであると判定された場合には、これら
の命令を無効化する。一方、分岐命令による分岐が生じ
ないことが決定したなら、これらの命令によるマシン状
態の書換えを許可する。
スタの内容の書換え、データメモリ8の内容の書換え、
状態フラグの書換えなど、命令実行によるある関連の装
置の状態の変更を示す。次に、この第2図に示す命令発
行/実行シーケンスを実現するための構成について説明
する。
部の構成を示す図であり、整数演算を行なう機能ユニッ
ト(4または5)の部分の概略的な構成を示す図であ
る。
ト)は、算術論理演算ユニット(ALU)による演算を行
なうEXステージと、このEXステージによる実行結果をレ
ジスタファイル9へ書込むWBステージとを含む。EXステ
ージは、機能ユニットにおける命令実行ステージであ
り、WBステージは機能ユニットおけるマシン状態変更ス
テージである。
(第1図に示さず)からフェッチされた複数の命令をデ
コードする命令デコーダ10を含む。命令デコーダ10は、
第15図に含むデコード回路およびパイプラインシーケン
サを含む。この命令デコーダ10は、与えられた命令を解
読し、この与えられた命令中に分岐命令が存在するか否
かを検出するとともに、この分岐命令が存在する場合に
分岐命令以降の命令であるか否かを検出する。この分岐
命令以降の命令であるか否かの検出は、命令デコーダ10
へ命令とリンクして与えられるアドレスにより判定され
る。
ニットのEXステージへ発行する。このとき、命令デコー
ダ10は、命令IRとともに、この命令IRが有効であるか否
かを示すフラグinst availと、この命令IRが分岐命令
以降の命令であるか否かを示すフラグdelay instを発
生する。このフラグinst availは有効性フラグであ
り、フラグdelay instは、この命令によるマシン状態
変更を待ち合わせるべきか否かを示す書込み遅延フラグ
である。
レジスタに所望のデータが格納される。このデータレジ
スタとしてレジスタ・ファイル9を用いる構成は、たと
えば縮小命令セットコンピュータ(RISC)などにおいて
用いられており、データメモリ8へのアクセスはロード
(load)およびストア(store)命令のみであり、その
他の処理はすべてこのレジスタ・ファイル9を用いて行
なわれるのと同様の構成である。
の互いに重なり合わないクロック信号TおよびLに応答
して動作する。各サイクルの始まりは、クロック信号T
により規定される。
ク信号Tに応答して保持するTラッチ回路11と、命令デ
コーダ10からの有効性フラグinst availをクロック信
号Tに応答して保持するTラッチ回路12と、命令デコー
ダ10からの書込み遅延フラグdelay instをクロック信
号Tに応答してラッチするTラッチ回路13と、レジスタ
・ファイル9からの同時に読出された2つのデータdata
lおよびdata2をそれぞれクロック信号Tに応答してラッ
チするTラッチ回路14および15を含む。ここで、整数演
算ユニットに対応して設けられるレジスタ・ファイル9
は、2つのデータの読出しと1個のデータの書込みを1
つのサイクルで行なうことができる。
の保持する命令およびフラグをそれぞれクロック信号L
に応答して保持するLラッチ回路17、18および19を含
む。Lラッチ回路17は、命令EX IRをクロック信号Lに
応答して保持する。Lラッチ回路18は、Tラッチ回路12
の保持する有効性フラグEX inst availをクロック信
号Lに応答して保持する。Lラッチ回路19は、Tラッチ
回路13が保持する書込み遅延フラグEX delay instを
クロック信号Lに応答してラッチする。
に応答して保持するLラッチ回路20を含む。
Tに応答して保持するTラッチ回路21と、Lラッチ回路
18が保持する有効性フラグEX inst avail Lをクロ
ック信号Tに応答して保持するTラッチ回路22と、Lラ
ッチ回路19が保持する書込み遅延フラグEX delay ins
t Lをクロック信号Tに応答して保持するTラッチ回
路23と、Lラッチ回路20が保持する演算結果データEX
data Lをクロック信号Tに応答して保持するTラッチ
回路24を含む。このTラッチ回路21が保持する命令WB
IRに従ってレジスタ・ファイル9のレジスタが選択さ
れ、該選択されたレジスタへ、Tラッチ回路24が保持す
るデータWB dataが書込まれる。
る分岐決定指示信号takenと非分岐決定指示信号not ta
kenと命令無効化指示信号EX canに応答して、このWBス
テージの状態を、データ保持状態、データ書込み実行状
態、およびデータ無効化状態のいずれかに設定するWBコ
ントロール回路100を含む。次に、この第1図を参照し
てこの発明の並列処理装置の命令発行・実行シーケンス
について説明する。
よび有効性フラグinst availを対応の機能ユニットに
命令IRを発行する際にその命令に付加する。これらのフ
ラグdelay instおよびinst availは各機能ユニット中
においては命令IRとともにパイプライン(EXステージお
よびWBステージ;ただし整数ユニットの場合)を伝達さ
れ、マシン状態の書換えを制御するために用いられる。
行される命令が、実行されるべき有効な命令であるか否
かを示すフラグである。たとえば命令メモリへ命令フェ
ッチ要求を出した場合において、命令メモリから命令が
供給されない場合、命令デコーダ10へは、有効な命令が
与えられないため、そのサイクルにおいては、命令は出
力されない。したがってこの場合有効性フラグinst av
ailはオフ状態とされる。有効性フラグinst availがオ
ンの命令は、有効な命令であることを示しており、機能
ユニット内で実行される。命令デコーダ10から機能ユニ
ットへ発行される命令IRに付随する有効性フラグinst
availはオンにされる。これらのフラグdelay instおよ
びinst availは各ステージにおいて以下のように制御
される。
令は、命令デコーダ10において、デコードされる。この
供給された命令中に分岐命令が存在し、この分岐命令が
そのサイクル内で分岐すべきか否かを決定することがで
きない場合、命令デコーダ10は、そのサイクルから分岐
が決定されるまでのサイクルの間分岐命令以降の命令で
あって機能ユニットに発行される命令の書込み遅延フラ
グdelay instをオンにし、オン状態とされた有効性フ
ラグinst availとともに命令IRに付随させて出力す
る。
決定を待合わせる命令が存在しない場合、命令実行結果
の書込みを遅延させる必要はないため、書込み遅延フラ
グdelay instはオフにして命令IRとともに発行され
る。
には、この分岐命令以降の命令は実行する必要がないた
め、有効性フラグinst availがオフにされる。このと
き命令IRの機能ユニットへの発行は行なわれない。この
とき、遅延フラグdelay instはオフ状態とされる。
availは機能ユニットのEXステージを介してWBステー
ジへ伝達される。このWBステージにおいては以下の制御
が行なわれる。
ジ: (a) 命令WB IRがマシン状態の書換えを行なう命令
であり、かつ書込み遅延フラグdelay instがオンの場
合、この命令WB IRは、分岐/非分岐の決定待ち状態で
あり、マシン状態の変更を行なってはならない場合であ
る。このマシン状態の書換えの実行は中断され分岐・非
分岐の決定を待ち合わせる。
合、命令デコーダ10からは分岐指示信号takenとEXステ
ージに滞留している命令を無効化するための信号EX ca
nとが発生される。WBコントロール回路100は、フラグWB
delay instおよびWB inst availがともにオンであ
る命令WB IRの有効性フラグWB inst availをオフに
設定する。これにより、WBステージにおける命令WB IR
が無効化され、この命令WB IRによるマシン状態の変更
(第1図に示す構成においてはレジスタ・ファイル9へ
のデータの書込み)が禁止される。これにより分岐命令
後の機能ユニットへ発行された命令が無効化される。
場合、命令デコーダ10からは非分岐検出信号not taken
が発生される。WBコントロール回路100は、このとき、
書込み遅延フラグWB delay instをオフ状態に設定す
る。これにより、分岐が生じた時に備えて中断状態にあ
った命令WB IRによるマシン状態の変更が即座に実行さ
れる。次に、第1図を参照して、具体的に動作について
説明する。
でデコードされる。デコード結果が整数演算命令の場
合、命令デコーダ10からレジスタ・ファイル9へ2つの
レジスタ指示信号(レジスタポインタ)が与えられ、被
演算データである2つのデータdata1およびdata2が読出
される。
この命令IRが有効であることを示すオン状態の有効性フ
ラグinst availと、書込み遅延フラグdealy instを出
力する。書込み遅延フラグdelay instは、命令IRが分
岐命令以降の命令であるか、およびこのサイクルでその
分岐命令の分岐/非分岐が決定できたか否かに応じて定
められる。分岐命令の分岐決定待ち状態の場合、この書
込み遅延フラグdelay instはオン(1)状態にされ
る。分岐命令が存在しない場合または分岐命令による分
岐が決定した場合、この書込み遅延フラグdelay inst
はオフ(0)状態に設定される。このサイクルにおいて
分岐命令による分岐が決定し、命令IRが不必要な場合に
は、有効性フラグinst availはオフ状態とされる。
9からの出力はTラッチ回路11ないし15で保持される。
このTラッチ回路14および15に保持されたデータtmp1お
よびtmp2(データdata1およびdata2に相当する)はALU1
6へ与えられ、所定の演算が実行される。
に保持されている命令およびフラグはそれぞれLラッチ
回路17ないし19に保持される。また、ALU16の出力はク
ロック信号Lに応答してLラッチ回路20に保持される。
それにより、EXステージにおける動作は完了する。
には、このLラッチ回路17ないし20に保持された命令、
フラグおよびデータはTラッチ回路21ないし24によりク
ロック信号Tに応答して保持される。WBステージに滞留
する命令(すなわち、分岐決定待ち等の命令)が存在す
る場合、EXステージは該命令、フラグおよびデータを保
持し続ける。
いるフラグWB delay instがオン状態の場合、WBコン
トロール回路100の制御のもとに、レジスタ・ファイル
9へのデータの書込みはマシン状態変更待ち合わせ状態
となり、与えられたデータを保持し続ける。
したと判断されると、分岐決定指示信号takenが発生さ
れ、WBコントロール回路100へ与えられる。WBコントロ
ール回路100は、この信号takenに応答して、書込み遅延
フラグWB delay instをオフ状態とし、かつ有効性フ
ラグWB inst availをオフ状態とする。これにより、
Tラッチ回路21に保持された命令WB IRは無効にされ、
また、Tラッチ回路24に保持されたデータWB dataが無
効にされてレジスタ・ファイル9への書込みは行なわれ
ない。
が生じないことが決定されると、非分岐決定検出信号no
t takenが発生されWBコントロール回路100へ与えられ
る。WBコントロール回路100は、この信号not takenに
応答して、Tラッチ回路23に保持された書込み遅延フラ
グWB delay instをオフ状態にする。これにより、T
ラッチ回路21に保持された命令WB IRに従ってレジスタ
・ファイル9のレジスタ選択が行なわれ、この選択され
たレジスタへのデータWB dataの書込みが行なわれる。
nが発生されたとき、EXステージに保持されている命令E
X IR Lを無効にするための信号EX canが発生され
る。この信号EX canに応答して、Lラッチ回路18に保
持されている有効性フラグEX inst avail Lはオフ
状態とされ、このEXステージに保持された命令の無効化
が行なわれる。次に、上述の分岐処理待ち合わせおよび
分岐決定時における命令の無効化を実現するための構成
について説明する。
ける論理構成の一例を示す図である。第4図において、
WBステージは、Tラッチ回路21の前段に設けられる論理
回路30と、Tラッチ回路22の前段に設けられる論理回路
31と、Tラッチ回路23の前段に設けられる論理回路32
と、Tラッチ回路24の前段に設けられる論理回路33を含
む。
すなわち分岐決定待ち合わせ状態にあることを示す信号
WB busyとこのWBステージに保持された命令が無効化さ
れることを示す信号WB canとに応答して、命令EX IR
Lまたは命令WB IR Lのいずれか一方を選択的に通
過させる。
ージの命令が無効化されたことを示す信号EX canとに
応答して、EXステージからの有効性フラグEX inst av
ail LとWBステージにおける有効性フラグWB inst a
vail Lのいずれか一方を選択的に通過させる。
て、EXステージからこの書込み遅延フラグEX delay i
nst LとWBステージの書込み遅延フラグWB delay in
st Lのいずれか一方を通過させる。
て、EXステージからのデータEX data LおよびWBステ
ージのデータWB data Lのいずれか一方を選択的に通
過させる。
令WB IRをデコードし、レジスタ・ファイル9へデータ
を書き込むべきか否かを示す書込み指示信号w RFとレ
ジスタ・ファイル9のレジスタポインタaddressを発生
する命令デコーダ34と、WBステージの状態を監視し、こ
のWBステージを、データ保持状態、データ無効化状態お
よびデータ書込み実行状態のいずれかに設定する論理回
路29を含む。
ル書込み指示信号w RFと、命令デコーダ10からの分岐
決定信号takenと、非分岐決定信号not takenと、有効
性フラグWB inst avail Lと、書込み遅延フラグWB
delay inst Lとに応答して、信号WB busyおよびW
B canと、レジスタ・ファイル9を書込み可能状態に設
定する信号wenとを発生する。
る。論理回路30、32および33は「in iogic2」で示され
る論理を実行する。論理回路29は、「WB busy logi
c」で示される論理を実行する。次に、各論理回路の実
現する論理について説明する。
理を一覧にして示す図である。以下、論理回路29の論理
について説明する。
うべきデータを保持していないため、何の動作も実行し
ない。すなわち、 WB inst avail Lがオフ(0)の場合には、信号w
en、WB busyおよびWB canはすべてオフ(0)であ
る。
合: この状態ではWB inst avail Lはオン(1)状態
である。
場合、レジスタ・ファイルへのデータの書込は生じな
い。このような状態は、たとえば単に条件判断を行なう
命令の場合に生じる。すなわち、たとえばある比較結果
に基づいて次の処理が決定される場合、この比較結果は
レジスタに書込む必要がないため、このような状態が生
じる。
ルで新たな命令を取り込むことができる。
anはすべてオフ状態に設定される。
nst Lがオフのとき: この場合、WBステージにおいて有効な命令が存在し、
かつ分岐決定待ち合わせ状態ではないため、データの書
込みを実行しても良い。したがって、 w RFがオンでかつWB delay inst Lがオフの場
合には、信号wenがオン、信号WB busyおよびWB canが
オフとなる。
がオンの場合: この場合は、WBステージにおいてデータ書込みを実行
すべき命令が存在し、かつこの命令は分岐命令以降の命
令であることを示している。
分岐が未決定状態の場合には、WBステージはマシン状態
変更待ち合わせ状態となる。したがって、 信号not takenおよびtakenがともにオフ状態の場合
には、信号wenおよびWB canがオフ、信号WB busyがオ
ンとなる。
れた場合: この場合、このWBステージの命令を即座に実行しても
よい。したがって、 信号not takenがオン、かつ信号takenがオフの場合
には、信号wenがオン、WB busyおよびWB canがともに
オフとなる。
効にされる。すなわちレジスタ・ファイルへのデータ書
込みが実行されず、以降のサイクルにおいて与えられる
有効命令待ち状態となる。
の場合には、信号wenおよびWB busyがオフとなり、信
号WB canがオンとなる。
具体的な回路構成は示さないが、この第5図に示す表か
ら容易に構成することができる。この論理はANDゲート
およびORゲートなどのゲート回路を用いて作成してもよ
く、またPLD(プログラマブル・ロジック・デバイス)
を用いて作成してもよい。
る。このin logic1は論理回路31が実行する。以下、第
6図を参照してin logic1の論理について説明する。
令が無効化された状態を示す。WBステージが、次のサイ
クルに有効な命令を保持するかどうかは、EXステージが
そのサイクルで無効化されたかどうかに依存する。信号
EX canがオフのときは、EXステージの命令がそのまま
次のサイクルにおいてWBステージに供給される。この命
令の有効/無効はフラグEX inst avail Lにより決
定される。したがって、EX canがオフ状態の場合に
は、フラグWB inst availはEX inst avail Lに等
しくなる。
無効化されたことを示している。したがって、WBステー
ジの次のサイクルには、有効な命令はEXステージには供
給されない。したがって、EX canがオンの場合にはWB
inst availはオフとなる。
行されないことを示している。
る。以下、第7図を参照して「in logic2」の論理につ
いて説明する。
ージには次のサイクルにおいても保持すべき命令が存在
しないことを示しており、EXステージから与えられる命
令をWBステージに取り込んでよいことを示している。し
たがって、信号WB busyがオフならば、フラグWB inst
availはフラグEX inst avail Lに等しくなる。
分岐/非分岐決定待ち状態の命令を保持していることを
示している。したがって、次のサイクルにおいても、こ
のサイクルにおける有効性フラグを保持する必要があ
る。したがって、フラグWB inst availは、フラグWB
inst avail Lと等しくなる。
けることにより、分岐命令の決定待ち状態において、非
分岐が決定された場合高速でデータを書込むことができ
る。この動作について以下に動作波形図を参照して説明
する。
定したときのWBステージの動作を示す信号波形図であ
る。以下、第8図を参照して分岐決定時の動作について
説明する。
の命令でありかつ分岐命令の状態決定待ちをすべき命令
が供給される。この命令の書込み遅延フラグWB delay
instはオン状態である。またこの命令の有効性フラグ
WB inst availもオン状態である。論理回路26および2
7の出力WB delay inst LおよびWB inst avail
Lはクロック信号Lに応答してその状態が確定する。こ
れに応答して、論理回路29からの信号WB busyがオン状
態となる。
・ファイルへデータを書込む命令であり、命令デコーダ
34からはクロック信号Tに応答して信号w RFが発生さ
れている状態を想定している。また、論理回路29は、こ
の分岐決定待ち合わせ状態に従って、書込みイネーブル
信号wenを発生せず、データ書込み禁止状態に設定す
る。レジスタ・ファイル9は、クロック信号Lにおける
信号wenに応答して、ラッチ回路28のデータWB data
Lの書込みを行なっている。ただしレジスタポインタad
dressはクロック信号Tに応答して確定する。このサイ
クルではレジスタ・ファイル9へのデータ書込みは禁止
状態とされる。
30、31、32および33は、その入力経路を切換えて対応の
Lラッチ回路25、26、27および28の出力を選択し、それ
ぞれ対応のTラッチ回路21、22、23、および24へ伝達す
る。
るため、サイクル0にWBステージへ与えられた命令およ
びフラグならびにデータが再びTラッチ回路21ないし24
で保持される。
ジの命令を無効とすべきことが決定される。この場合、
信号takenがオン状態となり、論理回路29へ与えられ
る。これにより、書込みイネーブル信号wenの発生が禁
止され、レジスタ・ファイル9へのデータの書込みは禁
止される。また、この信号takenに応答して、信号WB b
usyがオフ状態、また信号WB canがオン状態に設定され
る。この信号WB busyに応答して、WBステージはEXステ
ージからの命令受入れ可能状態となる。
令以降の命令であり、分岐先命令と無関係な命令の場
合、このEXステージに保持された命令を無効化するため
に信号EX canが発生される。したがって、サイクル3
におけるフラグWB inst availおよびWB delay inst
はこのサイクル2においてEXステージに保持されている
命令のフラグに対応したものとなる。
よびWB canはすべてオフ状態となり、WBステージは、E
Xステージから与えられた命令を処理することになる。
理は信号WB canをも受けているが、上述の論理動作で
は信号WB busyに応じてその論理が設定されている。信
号WB canをも併せて用い、信号WB busyがオンにあり
かつ信号WB canがオフ状態の場合にはそのWBステージ
の命令、フラグおよびデータを保持し、また信号WB bu
syがオフのとき、信号WB canのオン/オフ状態にかか
わらずEXステージからの命令、データおよびフラグを通
過させる構成としてもよい。図面においてはこの2つの
信号WB busyと信号WB can両者を用いる場合の回路構
成が示されている。
必ず発生されるが、分岐発生時でなくても、EXステージ
に保持されたデータを無効化する必要が生じる場合も考
えられるため、このような場合にこの信号EX canが発
生されて、EXステージの命令の無効化が行なわれる。信
号WB canも同様である。
立上りおよび立下がりタイミングはある幅を持たせてお
り、また信号takenの立下がり時点もある幅を持たせて
いる。これはこの時間幅において各信号が適当なタイミ
ングで立上りまたは立下がりすればよいことを示してい
る。すなわち、信号wenは、この確定状態のデータWB d
eta Lを書込むことができるようなタイミングでイネ
ーブルされればよく、またディスエーブル状態はこのデ
ータ書込み決定状態前に確定状態とされるタイミングで
確定していればよい。
発生されるが、その立下がりタイミングは、次のサイク
ルにおける、分岐決定時における分岐先命令のフェッチ
処理を実行する動作を規定するように設定されておれば
よく、たとえば第8図においてサイクル3の開始時点に
おいてその状態が確定状態に保持されていればよい。次
に、非分岐決定時の動作について第9図を参照して説明
する。
状態において非分岐が決定された場合の動作を示す波形
図である。
0およびサイクル1と同様である。サイクル2におい
て、分岐を行なわないことが決定されると信号not tak
enがオン状態となる。これに応答して書込みイネーブル
信号wenがオン状態となり、レジスタ・ファイル9への
データ書込みが可能状態とされる。レジスタ・ファイル
9は、この信号wenに応答して、Lラッチ回路28からの
データWB data Lを、命令デコーダ34からのレジスタ
ポインタaddressが指定するレジスタへ書込む。
状態の変更が行なわれたため、WBステージは次のEXステ
ージからの命令受入可能状態となる。したがって、信号
WB busyがオフ状態となる。このとき、信号WB canは
オフ状態のままである。これにより、各論理回路30ない
し33は、EXステージのLラッチ回路出力を通過させる状
態となる。
られる命令に対応した処理が行なわれる。すなわち、EX
ステージから与えられる命令が無効命令であれば、何ら
実行処理は行なわれず、有効命令であれば、その命令に
従う処理が実行される。次にEXステージの論理および動
作について説明する。
おいて、第1図に示す構成と対応する部分には同一の参
照番号が付されている。
2、13、14および15の前段に設けられた論理回路41、4
2、43、44および45と、Tラッチ回路14および15の保持
データをそれぞれロック信号Lに応答して保持するLラ
ッチ回路35および36を含む。
10からの命令IRまたはLラッチ回路17からの命令EX IR
Lのいずれか一方を通過させる。論理回路42は、信号
WB busyに応答して、命令デコーダ10からの有効性フラ
グinst availとLラッチ回路18′からの有効性フラグE
X inst avail Lのいずれか一方を通過させる。
グdelay instとLラッチ回路19からのフラグEX delay
inst Lのいずれか一方を通過させる。
れたデータdata1およびdata2とLラッチ回路35および36
の保持データtmp1 Lおよびtmp2 Lのいずれか一方を
それぞれ通過させる。
持データがリセットされてオフ状態に設定される。この
Lラッチ回路18′の信号EX canによる保持データの制
御は、信号EX canがクロック信号Lの発生時に確定状
態にあれば、このLラッチ回路18′の入力部に信号EX
canに応答してその出力値をEX inst availまたは0に
設定する回路を設ける構成としてもよい。
gic3」で示される論理を実行する。
ある。以下、第10図および第11図を参照して「in logi
c3」の論理について説明する。
ず、命令保持状態となるのは、WBステージが命令保持状
態にある場合である。この状態は、信号WB busyがオン
(1)であることにより表される。したがって、信号WB
busyがオン(1)の場合、論理回路41ないし45は対応
のLラッチ回路17、18′、19、35および36からの出力を
通過させて対応のTラッチ回路11ないし15へ伝達する。
は、この保持している命令をWBステージへ供給すること
ができ、新たに命令を命令デコーダ10から受けることが
できる。したがって、信号WB busyがオフの場合には、
この論理回路41ないし45は、命令デコーダ10からの出力
およびレジスタ・ファイル9からの出力データを通過さ
せる。
示す図である。以下、この第12図を参照してLラッチ回
路18′の動作について説明する。信号EX canがオン
(1)に設定されると、EXステージに保持された命令が
無効化されることを示す。したがって、信号EX canが
オンならば、Lラッチ回路18′の出力は0となる。
ージに保持されている命令を特に無効化する必要はない
ことを示している。この場合、Lラッチ回路18′は、T
ラッチ回路12からの有効性フラグEX inst availをそ
のまま保持する。すなわち、信号EX canがオフの場
合、フラグEX inst avail Lはそのサイクルにおけ
る有効性フラグEX inst availとなる。
の命令処理状況に応じてEXステージにおいて実行、保持
することができる。信号WB busyはまた、命令デコーダ
10へ与えられて、その命令発行の中断(待合わせ)の制
御に用いられてもよい。
保持/無効化を行なうための構成について説明したが、
他の機能ユニット、浮動小数点演算ユニット、メモリア
クセスユニット等においても、同一の構成をそのマシン
状態変更ステージへ適用することにより同様の効果を得
ることができる。また、機能ユニットの数は4つに限定
されない。
令に対しては、分岐命令以降の命令であることを示す書
込み遅延フラグを該命令に付加して機能ユニットへ発行
し、この機能ユニットにおけるマシン状態変更動作を書
込み遅延フラグに従って制御するように構成したので、
分岐命令による分岐・非分岐が未決定状態であっても、
分岐命令以降の命令を機能ユニットへ発行することがで
き、かつ分岐決定時には即座にマシン状態の変更を行な
うことができるので、処理速度が大幅に改善された並列
処理装置を得ることができる。
る機能ユニット部の構成を概略的に示す論理図である。
第2図はこの発明による命令実行方式を概略的に示す図
である。第3図はこの発明による並列処理装置が用いる
クロック信号を示す波形図である。第4図はこの発明の
一実施例である並列処理装置におけるレジスタ書込みス
テージ(マシン状態変更ステージ)の構成を概略的に示
す論理図である。第5図は第4図に示すWB busy logi
cの論理を一覧にして示す図である。第6図は第4図に
示す「in logic1」が実現する論理を一覧にして示す図
である。第7図は第4図に示す「in logic2」の実現す
る論理を一覧にして示す図である。第8図はこの発明の
一実施例である並列処理装置におけるマシン分岐決定時
におけるマシン状態変更ステージの動作を示す波形図で
ある。第9図はこの発明の一実施例である並列処理装置
における分岐命令の非分岐決定時におけるマシン状態変
更ステージの動作を示す信号波形図である。第10図はこ
の発明の一実施例である並列処理装置の機能ユニットの
実行ステージの構成を概略的に示す論理図である。第11
図は第10図に示す「in logic3」の論理を一覧にして示
す図である。第12図は第10図に示す有効性フラグの出力
用Lラッチ回路の論理動作を一覧にして示す図である。
第13図は並列処理装置の概念的構成を示す図である。第
14図はスーパースカラの一般的構成を示す図である。第
15図はスーパースカラにおける命令デコードステージの
構成を示す図である。第16図はスーパースカラにおける
命令デコードステージから機能ユニットへの命令の発行
状況を示す図である。第17図は従来の並列処理装置にお
ける分岐発生時の命令発行/実行状況を示す図である。 図において、4、5、6および7は機能ユニット、8は
データメモリ、9はレジスタ・ファイル、10は命令デコ
ーダ、11、12、13、14、15、21、22、23、24はTラッチ
回路、17、18、19、20、25、26、27、28、、35および36
はLラッチ回路、29、30、31、32、33、41、42、43、4
4、45は論理回路、34はWBステージに含まれる命令デコ
ーダである。 なお、各図中、同一符号は同一または相当部分を示す。
Claims (1)
- 【請求項1】各々が所定の機能を実行する複数の機能ユ
ニットと、命令を格納する命令メモリと、前記命令メモ
リから複数の命令をフェッチし、該フェッチした命令の
うち同時処理可能な命令を検出して、同時処理可能な命
令を関連の機能ユニットへ供給するフェッチ・デコード
手段とを備える並列処理装置であって、前記機能ユニッ
トの各々は前記フェッチ・デコード手段からの命令を実
行する命令実行ステージと、該命令実行ステージからの
データをレジスタ手段へ書込むマシン状態変更ステージ
とを含み、かつ前記フェッチ・デコード手段はフェッチ
した複数の命令に分岐命令が含まれるか否かを検出する
手段と、該分岐命令による分岐が発生したか否かを示す
分岐発生指示信号を出力する手段とを含み、 機能ユニットへ供給される命令の有効・無効を示す有効
性フラグと、該命令が分岐命令以降の命令であるか否か
を示す書込遅延フラグとを該命令へ付加して関連の機能
ユニットへ供給する手段、 前記有効性フラグと前記書込遅延フラグとに応答して、
前記有効性フラグがオン状態であり対応の命令が有効で
あることを示し、かつ前記書込遅延フラグがオン状態で
あり対応の命令が分岐命令以降の命令であることを示す
ときには前記マシン状態変更ステージの動作をデータ保
持状態に設定し、前記有効性フラグがオフ状態のときに
は前記マシン状態変更ステージの動作をデータ無効化状
態に設定し、かつ前記有効性フラグがオン状態でありか
つ前記書込遅延フラグがオフ状態のときには前記マシン
状態変更ステージの動作をデータ書込実行状態に設定す
る制御手段、および 前記分岐発生指示信号に応答して、前記有効性フラグお
よび前記書込遅延フラグの値を修正する手段を備える、
並列処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2279653A JP2535252B2 (ja) | 1990-10-17 | 1990-10-17 | 並列処理装置 |
DE4134392A DE4134392C2 (de) | 1990-10-17 | 1991-10-17 | Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung |
US08/310,508 US5522084A (en) | 1990-10-17 | 1994-09-22 | Method and system for invalidating instructions utilizing validity and write delay flags in parallel processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2279653A JP2535252B2 (ja) | 1990-10-17 | 1990-10-17 | 並列処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04153734A JPH04153734A (ja) | 1992-05-27 |
JP2535252B2 true JP2535252B2 (ja) | 1996-09-18 |
Family
ID=17613981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2279653A Expired - Lifetime JP2535252B2 (ja) | 1990-10-17 | 1990-10-17 | 並列処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5522084A (ja) |
JP (1) | JP2535252B2 (ja) |
DE (1) | DE4134392C2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0488819B1 (en) * | 1990-11-30 | 1999-01-13 | Kabushiki Kaisha Toshiba | Conditional branch instructions execution apparatus |
JP2760273B2 (ja) * | 1993-12-24 | 1998-05-28 | 日本電気株式会社 | 演算装置及びその制御方法 |
TW353732B (en) * | 1994-03-31 | 1999-03-01 | Ibm | Processing system and method of operation |
GB2296350B (en) * | 1994-12-21 | 1999-10-06 | Advanced Risc Mach Ltd | Data processing divider |
JPH08194679A (ja) * | 1995-01-19 | 1996-07-30 | Texas Instr Japan Ltd | ディジタル信号処理方法及び装置並びにメモリセル読出し方法 |
US5905881A (en) * | 1995-11-30 | 1999-05-18 | Unisys Corporation | Delayed state writes for an instruction processor |
US5796997A (en) * | 1996-05-15 | 1998-08-18 | Hewlett-Packard Company | Fast nullify system and method for transforming a nullify function into a select function |
US5958042A (en) * | 1996-06-11 | 1999-09-28 | Sun Microsystems, Inc. | Grouping logic circuit in a pipelined superscalar processor |
US5867699A (en) * | 1996-07-25 | 1999-02-02 | Unisys Corporation | Instruction flow control for an instruction processor |
JPH1063500A (ja) * | 1996-08-23 | 1998-03-06 | Matsushita Electric Ind Co Ltd | 信号処理装置 |
DE10101949C1 (de) * | 2001-01-17 | 2002-08-08 | Infineon Technologies Ag | Datenverarbeitungsverfahren |
JP2009169767A (ja) | 2008-01-17 | 2009-07-30 | Toshiba Corp | パイプライン型プロセッサ |
US9983990B1 (en) * | 2013-11-21 | 2018-05-29 | Altera Corporation | Configurable storage circuits with embedded processing and control circuitry |
US10552162B2 (en) * | 2018-01-22 | 2020-02-04 | International Business Machines Corporation | Variable latency flush filtering |
CN112559049A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 用于指令高速缓存的路预测方法、访问控制单元以及指令处理装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521851A (en) * | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
US5051940A (en) * | 1990-04-04 | 1991-09-24 | International Business Machines Corporation | Data dependency collapsing hardware apparatus |
US4924525A (en) * | 1986-10-20 | 1990-05-15 | Bodigard Technologies, Inc. | Multilayer film for chemical protective clothing |
JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
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 |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
US5197135A (en) * | 1990-06-26 | 1993-03-23 | International Business Machines Corporation | Memory management for scalable compound instruction set machines with in-memory compounding |
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 |
-
1990
- 1990-10-17 JP JP2279653A patent/JP2535252B2/ja not_active Expired - Lifetime
-
1991
- 1991-10-17 DE DE4134392A patent/DE4134392C2/de not_active Expired - Fee Related
-
1994
- 1994-09-22 US US08/310,508 patent/US5522084A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE4134392A1 (de) | 1992-04-23 |
US5522084A (en) | 1996-05-28 |
JPH04153734A (ja) | 1992-05-27 |
DE4134392C2 (de) | 1996-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5961637A (en) | Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
JP3881763B2 (ja) | データ処理装置 | |
US7111126B2 (en) | Apparatus and method for loading data values | |
US7065632B1 (en) | Method and apparatus for speculatively forwarding storehit data in a hierarchical manner | |
JP2535252B2 (ja) | 並列処理装置 | |
US5420990A (en) | Mechanism for enforcing the correct order of instruction execution | |
US5561774A (en) | Parallel processing type processor system with trap and stall control functions | |
JPH03129433A (ja) | 並列処理装置および並列処理方法 | |
WO1990014629A2 (en) | Parallel multithreaded data processing system | |
US6725365B1 (en) | Branching in a computer system | |
US5930520A (en) | Pipelining device in a parallel processing apparatus and an instruction supplying method therefor | |
US5226166A (en) | Parallel operation processor with second command unit | |
KR100523706B1 (ko) | 단일 사이클 파이프라인 스톨을 발생하기 위한 파이프라인 프로세서 시스템 및 방법 | |
US7111152B1 (en) | Computer system that operates in VLIW and superscalar modes and has selectable dependency control | |
JP3182591B2 (ja) | マイクロプロセッサ | |
KR100241970B1 (ko) | 파이프라인 처리를 수행하는 데이터 처리 장치 | |
US6260133B1 (en) | Processor having operating instruction which uses operation units in different pipelines simultaneously | |
US6629235B1 (en) | Condition code register architecture for supporting multiple execution units | |
US6233675B1 (en) | Facility to allow fast execution of and, or, and test instructions | |
KR970011209B1 (ko) | 실행된 명령 스트림을 추적하기 위해 사용되는 신호를 발생하기 위한 회로를 포함하는 마이크로프로세서 | |
JP3199035B2 (ja) | プロセッサ及びその実行制御方法 | |
JP2904624B2 (ja) | 並列演算処理装置 | |
US6289439B1 (en) | Method, device and microprocessor for performing an XOR clear without executing an XOR instruction | |
JP3325309B2 (ja) | サブルーチンリターン命令処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
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: 20080627 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080627 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 15 |