JPH04153734A - 並列処理装置 - Google Patents
並列処理装置Info
- Publication number
- JPH04153734A JPH04153734A JP2279653A JP27965390A JPH04153734A JP H04153734 A JPH04153734 A JP H04153734A JP 2279653 A JP2279653 A JP 2279653A JP 27965390 A JP27965390 A JP 27965390A JP H04153734 A JPH04153734 A JP H04153734A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- branch
- instructions
- data
- 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
- 230000004044 response Effects 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 35
- 238000000034 method Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 101150008122 Bcan gene Proteins 0.000 description 1
- 101100394497 Caenorhabditis elegans toe-1 gene Proteins 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000630 rising effect Effects 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)
Abstract
め要約のデータは記録されません。
Description
プロセサ(こ関する。より特定的には、スーパースカラ
型プロセサにおける、分岐命令以降にバイブライン(機
能ユニット)へ供給された命令の実行および無効化の制
御方式に関する。
高性能化されかつその速度も高速化されてきている。一
方、半導体メモリも高速化されてきているものの、その
高速化はこのマイクロプロセサの高速化に追随すること
ができず、半導体メモリのアクセスがプロセサの高速化
に対する1つのボトルネックとなっている。このため、
並列処理を行なうことによりマイクロプロセサの性能向
上を図ることが行なわれている。このような並列処理を
実現する方式の1つにスーパースカラがある。このスー
パースカラタイプのプロセサ(以下、単にスーパースカ
ラと称す)は、第13図に示すように、プロセサ内部の
スケジューラ(通常命令デコーダ内に含まれている)2
00が、命令ストリーム中の並列性を検出し、並列処理
可能な命令を並列に設けられたパイプライン(機能ユニ
ット)Pl、P2およびP3へ供給するものである。す
なわち、スーパースカラは以下の特徴をもつコンピュー
タ(またはプロセサ)であるといえる。
おり、複数の命令を同時に実行することができる。
可能な命令を検aし、それらを対応の機能ユニットに供
給する。
。第14図において、スーパースカラは、各々が所定の
機能を実行する複数の機能ユニット4.5.6、および
7と、命令メモリ1から複数の命令を同時にフェッチす
る命令フェッチ(IF)ステージ2と、命令フェッチス
テージ2によりフェッチされた命令メモリ1からの命令
を同時に受け、それらから同時に実行処理可能な命令を
検aして、対応の機能ユニットへ供給する命令デコード
ステージ3と、演算処理結果等を格納するためのデータ
メモリ8とを含む。
を一般に含んでおり、プログラム実行に必要な命令を格
納する。
タIPを与え、この命令ポインタIPに対応する複数の
命令を命令メモリ1からフェッチする。
ラインシーケンサ等を含む。命令デコーダは、命令フェ
ッチステージ2によりフェッチされた複数の命令を受け
てデコードする。パイプラインシーケンサ(命令スケジ
ューラ)は、このデコードされた複数の命令のマシンタ
イプを識別し、異なるマシンタイプの命令を同時に対応
の機能ユニットへ発行する。マシンタイプは、命令がど
の機能ユニットで処理されるべきかを示す。
、与えられた命令をクロック信号に応答して実行する。
示されており、最大4つの命令が並列処理可能である。
演算ユニットであり、実行ステージ(EX)および書込
みステージ(マシン状態変更ステージ、WB)を含む。
命令の処理結果をデータレジスタ(図示せず)へ書込む
。
タのロードまたはストア)を実行するユニットであり、
アドレス生成ステージ(A D R)、メモリへのアク
セス実行ステージ(MEM)およびデータレジスタ(図
示せず)へのデータの書込ミステージ(WB)を含む。
おいて、データメモリ8からロードされたデータまたは
データメモリ8ヘスドアすべきデータがレジスタへ/か
ら書込みまたは読出しされる。
ットであり、3段の実行ステージ(EXl、EX2およ
びEX3)と、実行結果のデータレジスタ(図示せず)
への書込みステージ(WB)とを含む。浮動小数点数と
は、小数点の位置を一定とせずに、指数と仮数とを用い
て表された数である。浮動小数点演算は、この浮動小数
点数を用いた演算であり、整数演算などに比べて広範囲
の数を演算することができるが、その処理には整数演算
などよりも多くのサイクルが必要とされる。
2および命令デコードステージ3および機能ユニット(
4ないし7)もまたパイプライン化されており、各ステ
ージはオーバーラツプして動作する。したがって、パイ
プラインに空きが存在しない場合には、前のサイクルで
処理されたデータまたは命令が各ステージへ供給される
。たとえば、命令デコードステージ3がデコードする命
令は前のサイクルでフェッチされた命令である。
図である。第15図において、命令デコードステージ3
は、並列に設けられた4つのデコード回路D1〜D4と
、デコード回路D1〜D4のデコード結果に応答して、
並列処理可能な命令を検出し、この命令を関連の機能ユ
ニットへ発行するパイプラインシーケンサSCを含む。
にフェッチされた命令MlないしM4に対応して設けら
れ、対応の命令を解読し、該解読結果をパイプラインシ
ーケンサSCへ伝達する。
各命令対応にアドレス(命令メモリ1における論理アド
レスであり、命令フェッチステージから供給される)A
l−A4も含む。
令FMに分岐命令が含まれるとき、この分岐命令による
分岐の発生の有無、分岐先アドレスの命令フェッチステ
ージへの設定、分岐命令以降の命令の機能ユニットへの
供給の制御を行なう。
単に説明する。
命令フェッチ要求を出力する。命令フェッチステージ2
は、この命令フェッチ要求に応答して命令ポインタIP
を命令メモリ1へ与え、命令メモリ1からこの命令ポイ
ンタIPに対応する複数の命令をフェッチする。このフ
ェッチされた複数の命令M1〜M4は、命令デコードス
テージ3に含まれるデコード回路M1〜M4へ同時に与
えられる。このデコード回路D1〜D4は与えられた複
数の命令を同時にデコードする。
〜D4でデコードされた命令から、計算リソースおよび
データレジスタが競合しない、並列処理可能な命令を検
出し、この並列処理可能な命令を対応の機能ユニットへ
発行する。
に従って処理を1列に実行する。機能ユニット4ないし
7はパイプライン化されており、第14図に示す各実行
ステージおよび書込みステージに従って処理が実行され
る。
ージ3および命令実行ステージ(機能ユニット4ないし
7)の動作もパイプライン化されているため、これらは
互いにオーバーラツプしながら所定の動作を実行してい
る。
イプライン化しかつ複数の機能ユニットで並列に処理を
実行することにより高速で命令を実行することができる
。
がフェッチされ、かつ同時に複数の命令が実行されるた
め、通常のプロセサに比べて処理速度の向上を図ること
ができる。
チされた4つの命令(Ml〜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という分岐命令は、命令■に
おける1oadに従って、データがレジスタR1に書込
まれるまで分岐を決定することができない。命令■およ
び命令■は、この命令■の分岐命令により分岐するか否
かによりその有効/無効が決定される。すなわち、命令
■において分岐が発生すると決定されれば、命令■およ
び命令■は実行すべきものではなく、無効とされるべき
ものである。一方、命令■において分岐が生じないと決
定されれば、この命令■および命令■は有効であり、機
能ユニットへ供給されて実行処理されるべきものである
。この場合の命令発行手順としては第17図に示すもの
が考えられる。
ときの命令発行状況を示す図である。以下、第17図を
参照して上述の分岐命令brzが存在する場合の命令発
行について説明する。
れ、命令デコードステージ3へ与えられる。
れる。
に示す機能ユニット6)へ発行され実行される。すなわ
ち、サイクル2において、レジスタR2の内容に50を
加えたアドレスが発生される。このとき、命令■ないし
命令■は機能ユニットへ発行されず、命令デコードステ
ージ3に保持される。第17図において(ID)は、命
令デコードステージにおける各命令の保持(待合わせ)
状態を示している。
へのアクセスが行なわれる。このときまだ、レジスタR
1の内容は決定されていないため、命令■ないし命令■
は命令デコードステージ3に保持されている。
R1への書込みが実行され、レジスタR1の内容が決定
する。
なわれるべきでないと判断される。
トへ発行され、実行される。
データレジスタへ書込まれる。
決定し、命令■に従って分岐が行われるべきであると判
定された場合には、サイクル5において、命令■および
命令■の発行は行われず、これらの命令は無効とされ、
分岐命令をフェッチする動作が実行される。
いても分岐の発生の有無が決定されるまで、機能ユニッ
トへの発行が停止されるため、パイプラインに空きが生
じ、高速で命令を実行することができないという問題が
発生する。
合においても、高速で命令を実行することのできる並列
処理装置を提供することである。
示す有効性フラグと、分岐命令による分岐決定待ちであ
るか否かを示す書込み遅延フラグとを命令に付加して、
該命令を関連の機能ユニットへ発行する手段と、有効性
フラグと書込み遅延フラグとに応答して、機能ユニット
に含まれるマシン状態変更ステージの動作を、データ保
持状態、データ無効化状態およびデータ書込み実行状態
のいずれかに設定する制御手段と、分岐命令による分岐
発生の有無検出信号に応答して、有効性フラグおよび書
込み遅延フラグの値を修正する手段とを含む。
令が実行されるべきか否かを示す。書込み遅延フラグは
、該命令実行結果をデータレジスタに書込むのを待ち合
わせるべきか否かを示す。
テージからのデータをレジスタに書込むマシン状態変更
ステージとを含む。機能ユニットは、書込み遅延フラグ
が書込み遅延状態を示している場合には、この命令実行
ステージからのデータを保持し、レジスタへの書込みを
待ち合わせる。
ときには、フェッチ・デコード手段からの命令を実行す
る。このマシン状態変更ステージの動作はより有効性フ
ラグおよび書込み遅延フラグの値に応答して行なわれる
。分岐命令以降の命令は、この書込み遅延フラグに従っ
てデータレジスタへのデータ書込みが待機させられる。
ており、また分岐命令による分岐発生が検出されると、
書込み遅延フラグの値が修正され、レジスタへの書込み
を行なうべきことを示す値に修正される。
持命令を実行すべきであることが示されると、即座にデ
ータレジスタへのデータの書込みが行なわれる。
令の機能ユニットへの発行を待ち合わせる必要がなく、
高速で命令を処理することができる。
明による並列処理装置における命令発行/実行シーケン
スについて説明する。
/実行シーケンスを示す図である。以下、この第2図を
参照して、命令発行/実行シーケンスについて説明する
。
命令■ないし命令■と同一である。
れる。
コードステージにおいてデコードされる。
能ユニットへの発行が行なわれる。命令■において、デ
ータメモリ8のアドレスが発生される。一方、命令■お
よび命令■はたとえば整数ユニットである機能ユニット
4および5において命令が実行される。命令■は、命令
デコードステージ3において保持されており、まだこの
命令デコードステージにおいて分岐すべきか否かは決定
されていない。
のアクセスが行なわれ、所望のデータの読aが行なわれ
る。一方、命令■および命令■の実行結果はマシン状態
変更ステージ(WB)へ伝達され、そこで保持状態とさ
れる。このときまだ命令■および命令■による実行結果
のデータレジスタへの書込みは行われていない。
リ8から読出されたデータがデータレジスタR1へ書込
まれ、レジスタR1の内容が決定する。このレジスタR
1の内容が決定されたことにより、命令デコードステー
ジにおいては、命令■により分岐すべきか否かの判定が
行なわれる。
が示される。この命令■による分岐を行なわないことの
決定により、マシン状態変更ステージに保持されていた
命令■および命令■の実行結果がレジスタR4およびR
7へそれぞれ書込まれる。
belへ分岐すべきであるとされた場合には、この命令
■および命令■のマシン状態変更ステージに保持されて
いるデータは無効とされ、また命令実行ステージEXに
滞留している命令も無効とされる(これは有効性フラグ
を用いて行なわれる)。次のサイクル5において、分岐
発生時には、この分岐先の1abelの命令がフェッチ
される。
図に示す命令発行/実行シーケンスとを比較すれば、こ
の発明に従う命令発行/実行シーケンスの方が、命令■
および命令■の実行が2サイクル早く行なわれており、
より高速で命令を処理することが可能となっている。す
なわち、本発明による命令の発行/実行シーケンスをま
とめると以下のようになる。
否かが決定される前に、関連の機能ユニットへ発行され
実行される。
なったときには、このマシン状態書換えを停止させ、待
機状態とする。
わち、分岐すべきであると判定された場合には、これら
の命令を無効化する。一方、分岐命令による分岐が生じ
ないことが決定したなら、これらの命令によるマシン状
態の書換えを許可する。
タの内容の書換え、データメモリ8の内容の書換え、状
態フラグの書換えなど、命令実行によるある関連の装置
の状態の変更を示す。次に、この第2図に示す命令発行
/実行シーケンスを実現するための構成について説明す
る。
の構成を示す図であり、整数演算を行なう機能ユニット
(4または5)の部分の概略的な構成を示す図である。
)は、算術論理演算ユニッ) (ALU)による演算を
行なうEXステージと、このEXステージによる実行結
果をレジスタファイル9へ書込むWBXステージを含む
。EXステージは、機能ユニットにおける命令実行ステ
ージであり、WBXステージ機能ユニットおけるマシン
状態変更ステージである。
(第1図に示さず)からフェッチされた複数の命令をデ
コードする命令デコーダ1oを含む。命令デコーダ10
は、第15図に含むデコード回路およびパイプラインシ
ーケンサを含む。この命令デコーダ10は、与えられた
命令を解読し、この与えられた命令中に分岐命令が存在
するか否かを検出するとともに、この分岐命令が存在す
る場合に分岐命令以降の命令であるか否かを検出する。
コーダ10へ命令とリンクして与えられるアドレスによ
り判定される。
ニットのEXステージへ発行する。このとき、命令デコ
ーダ10は、命令IRとともに、この命令IRが有効で
あるか否かを示すフラグ1nst availと、こ
の命令IRが分岐命令以降の命令であるか否かを示すフ
ラグde l ayinstを発生する。このフラグ1
nst availは有効性フラグであり、フラグd
elay 1nstは、この命令によるマシン状態変
更を待ち合わせるべきか否かを示す書込み遅延フラグで
ある。
ジスタに所望のデータが格納される。このデータレジス
タとしてレジスタ・ファイル9を用いる構成は、たとえ
ば縮小命令セットコンピュータ(RI S C)などに
おいて用いられており、データメモリ8へのアクセスは
ロード(load)およびストア(s t o r e
)命令のみであり、その他の処理はすべてこのレジスタ
・ファイル9を用いて行なわれるのと同様の構成である
。
互いに重なり合わないクロック信号TおよびLに応答し
て動作する。各サイクルの始まりは、クロック信号Tに
より規定される。
ロック信号Tに応答して保持するTラッチ回路11と、
命令デコーダlOからの有効性フラグ1nst av
ailをクロック信号Tに応答して保持するTラッチ回
路12と、命令デコーダ10からの書込み遅延フラグd
elay 1nstをクロック信号Tに応答してラッ
チするTラッチ回路13と、レジスタ・ファイル9から
の同時に読出された2つのデータdatalおよびda
ta2をそれぞれクロック信号Tに応答してラッチする
Tラッチ回路14および15を含む。ここで、整数演算
ユニットに対応して設けられるレジスターファイル9は
、2つのデータの読出しと1個のデータの書込みを1つ
のサイクルで行なうことができる。
ぞれの保持する命令およびフラグをそれぞれクロック信
号りに応答して保持するしラッチ回路17.18および
19を含む。Lラッチ回路17は、命令EX IRを
クロック信号りに応答して保持する。Lラッチ回路18
は、Tラッチ回路12の保持する有効性フラグEX
1nstava i Iをクロック信号りに応答して保
持する。
み遅延フラグEX delay 1nstをクロッ
ク信号りに応答してラッチする。
号りに応答して保持するしラッチ回路20を含む。
号Tに応答して保持するTラッチ回路21と、Lラッチ
回路18が保持する有効性フラグEX 1nst
avail Lをクロック信号Tに応答して保持する
Tラッチ回路22と、Lラッチ回路19が保持する書込
み遅延フラグEXdelay 1nst Lをクロ
ック信号Tに応答して保持するTラッチ回路23と、L
ラッチ回路20が保持する演算結果データEX da
taLをクロック信号Tに応答して保持するTラッチ回
路24を含む。このTラッチ回路21が保持する命令W
B IRに従ってレジスタ・ファイル9のレジスタが
選択され、該選択されたレジスタへ、Tラッチ回路24
が保持するデータWB dataが書込まれる。
る分岐決定指示信号takenと非分岐決定指示信号n
ot takenと命令無効化指示信号EX ca
nに応答して、このWBXステージ状態を、データ保持
状態、データ書込み実行状態、およびデータ無効化状態
のいずれかに設定するWBコントロール回路100を含
む。次に、この第1図を参照してこの発明の並列処理装
置の命令発行・実行シーケンスについて説明する。
1nstおよび有効性フラグ1nst availを
対応の機能ユニットに命令IRを発行する際にその命令
に付加する。これらのフラグdetay 1nstお
よび1nst availは各機能ユニット中におい
ては命令IRとともにパイプライン(EXステージおよ
びWBXステージだし整数ユニットの場合)を伝達され
、マシン状態の書換えを制御するために用いられる。
10から発行される命令が、実行されるべき有効な命令
であるか否かを示すフラグである。
おいて、命令メモリから命令が供給されない場合、命令
デコーダ10へは、有効な命令が与えられないため、そ
のサイクルにおいては、命令は出力されない。したがっ
てこの場合有効性フラグ1nst availはオフ
状態とされる。有効性フラグ1nst availが
オンの命令は、有効な命令であることを示しており、機
能ユニット内で実行される。命令デコーダ10から機能
ユニットへ発行される命令IRに付随する有効性フラグ
1nst availはオンにされる。これらのフラ
グdelay 1nstおよび1nstavailは
各ステージにおいて以下のように制御される。
命令デコードステージIDに供給された複数の命令
は、命令デコーダ10において、デコードされる。この
供給された命令中に分岐命令が存在し、この分岐命令が
そのサイクル内で分岐すべきか否かを決定することがで
きない場合、命令デコーダ10は、そのサイクルから分
岐が決定されるまでのサイクルの間分岐命令以降の命令
であって機能ユニットに発行される命令の書込み遅延フ
ラグdelay 1nstをオンにし、オン状態とさ
れた有効性フラグ1nst availとともに命令
IRに付随させて出力する。
分岐決定を待合わせる命令が存在しない場合、命令実行
結果の書込みを遅延させる必要はないため、書込み遅延
フラグdelay 1nstはオフにして命令IRと
ともに発行される。
合には、この分岐命令以降の命令は実行する必要がない
ため、有効性フラグ1nst aVailがオフにさ
れる。このとき命令IRの機能ユニットへの発行は行な
われない。このとき、遅延フラグdelay 1ns
tはオフ状態とされる。
および1nst availは機能ユニットのEXス
テージを介してWBXステージ伝達される。このWBX
ステージおいては以下の制御が行なわれる。
テージ (a) 命令WB IRがマシン状態の書換えを行
なう命令であり、かつ書込み遅延フラグde13y
1nstがオンの場合、この命令WBIRは、分岐/非
分岐の決定待ち状態であり、マシン状態の変更を行なっ
てはならない場合である。
の決定を待ち合わせる。
場合、命令デコーダ10からは分岐指示信号taken
とEXステージに滞留している命令を無効化するための
信号EX canとが発生される。WBコントロール
回路100は、フラグWB delay 1nst
およびWBinstava i lがともにオンである
命令WB IRの有効性フラグWB 1nst
availをオフに設定する。これにより、WBXステ
ージおける命令WB IRが無効化され、この命令W
B−IRによるマシン状態の変更(第1図に示す構成に
おいてはレジスタ・ファイル9へのデータの書込み)が
禁止される。これにより分岐命令後の機能ユニットへ発
行された命令が無効化される。
た場合、命令デコーダ10からは非分岐検出信号not
takenが発生される。WBコントロール回路1
00は、このとき、書込み遅延フラグWB dela
y 1nstをオフ状態に設定する。これにより、分
岐が生じた時に備えて中断状態にあった命令WB I
Rによるマシン状態の変更が即座に実行される。次に、
第1図を参照して、具体的に動作について説明する。
でデコードされる。デコード結果が整数演算命令の場合
、命令デコーダ10からレジスタ・ファイル9へ2つの
レジスタ指定信号(レジスタポインタ)が与えられ、被
演算データである2つのデータdatalおよびda
t a2が読出される。
、この命令IRが有効であることを示すオン状態の有効
性フラグ1nst availと1書込み遅延フラグ
dealy 1nstを出力する。書込み遅延フラグ
delay 1nstは、命令IRが分岐命令以降の
命令であるか、およびこのサイクルでその分岐命令の分
岐/非分岐が決定できたか否かに応じて定められる。分
岐命令の分岐決定待ち状態の場合、この書込み遅延フラ
グdelay 1nstはオン(1)状態にされる。
決定した場合、この書込み遅延フラグdelay f
nstはオフ(0)状態に設定される。
令IRが不必要な場合には、有効性フラグ1nst
availはオフ状態とされる。
9からの出力はTラッチ回路11ないし15で保持され
る。このTラッチ回路14および15に保持されたデー
タtmplおよびtmp2(データdatalおよびd
a t a2に相当する)はALU16へ与えられ、所
定の演算が実行される。
3に保持されている命令およびフラグはそれぞれLラッ
チ回路17ないし19に保持される。また、ALU16
の出力はクロック信号りに応答してLラッチ回路20に
保持される。それにより、EXステージにおける動作は
完了する。
には、このLラッチ回路17ないし20に保持された命
令、フラグおよびデータはTラッチ回路21ないし24
によりクロック信号Tに応答して保持される。WBXス
テージ滞留する命令(すなわち、分岐決定待ち等の命令
)が存在する場合、EXステージは該命令、フラグおよ
びデータを保持し続ける。
ているフラグWB delay 1nstがオン状
態の場合、WBコントロール回路100の制御のもとに
、レジスタ・ファイル9へのデータの書込みはマシン状
態変更待ち合わせ状態となり、与えられたデータを保持
し続ける。
したと判断されると、分岐決定指示信号takenが発
生され、WBコントロール回路100へ与えられる。W
Bコントロール回路100は、この信号t akenに
応答して、書込み遅延フラグWB delay 1
nstをオフ状態とし、かつ有効性フラグWB 1n
st availをオフ状態とする。これにより、T
ラッチ回路21に保持された命令WB IRは無効に
され、また、Tラッチ回路24に保持されたデータWB
aataが無効にされてレジスタφファイル9への書込
みは行なわれない。
が生じないことが決定されると、非分岐決定検出信号y
l□t takenが発生されWBコントロール回路
100へ与えられる。WBコントロール回路100は、
この信号not takenに応答して、Tラッチ回
路23に保持された書込み遅延フラグWB dela
y 1nstをオフ状態にする。これにより、Tラッ
チ回路21に保持された命令WB IRに従ってレジ
スタ・ファイル9のレジスタ選択が行なわれ、この選択
されたレジスタへのデータWBdataの書込みが行な
われる。
kenが発生されたとき、EXステージに保持されてい
る命令EX IRLを無効にするための信号EX
canが発生される。この信号EX canに応答し
て、Lラッチ回路18に保持されている有効性フラグE
X 1nst avai’l Lはオフ状態とさ
れ、このEXステージに保持された命令の無効化が行な
われる。次に、上述の分岐処理待ち合わせおよび分岐決
定時における命令の無効化を実現するための構成につい
て説明する。
ける論理構成の一例を示す図である。第4図において、
WBXステージ、Tラッチ回路21の前段に設けられる
論理回路30と、Tラッチ回路22の前段に設けられる
論理回路31と、Tラッチ回路23の前段に設けられる
論理回路32と、Tラッチ回路24の前段に設けられる
論理回路33を含む。
態すなわち分岐決定待ち合わせ状態にあることを示す信
号WBbusyとこのWBXステージ保持された命令が
無効化されることを示す信号WBcanとに応答して、
命令EX IRLまたは命令WB IRLのいずれ
か一方を選択的に通過させる。
nとEXステー−ジの命令が無効化されたことを示す信
号EX canとに応答して、EXステージからの有
効性フラグEX 1nst avail LとW
BXステージおける有効性フラグWB 1nst
avail Lのいずれか一方を選択的に通過させる
。
nに応答して、EXステージからの書込み遅延フラグE
X delay 1nst LとWBXステージ
書込み遅延フラグWBdelay 1nst Lの
いずれか一方を通過させる。
nに応答して、EXステージからのデータEX da
ta LおよびWBXステージデータWB dat
a Lのいずれか一方を選択的に通過させる。
命令WB IRをデコードし、レジスタ・ファイル9
ヘデータを書き込むべきか否かを示す書込み指示信号w
RFとレジスタ・ファイル9のレジスタポインタadd
ressを発生する命令デコーダ34と、WBXステー
ジ状態を監視し、このWBXステージ、データ保持状態
、データ無効化状態およびデータ書込み実行状態のいず
れかに設定する論理回路29を含む。
イル書込み指示信号w RFと、命令デコーダ10か
らの分岐決定信号takenと、非分岐決定信号not
takenと、有効性フラグWB 1nst
avafl Lと、書込み遅延フラグWB del
ay 1nst Lとに応答して、信号WBbus
yおよびWBcanと、レジスタ・ファイル9を書込み
可能状態に設定する信号wenとを発生する。
理を実行する。論理回路30.32および33はrin
iogic2Jで示される論理を実行する。論理回
路29は、rWB busy−1ogicJで示され
る論理を実行する。次に、各論理回路の実現する論理に
ついて説明する。
gicの論理を一覧にして示す図である。
: この状態においては、WBステージは何ら書込みを行な
うべきデータを保持していないため、何の動作も実行し
ない。すなわち、 WB 1nst avail Lがオフ(0)の
場合には、信号wenSWB busyおよびWBc
anはすべてオフ(0)である。
場合: この状態ではWB 1nst avail Lは
オン(1)状態である。
態の場合、レジスタ・ファイルへのデータの書込は生じ
ない。このような状態は、たとえば単に条件判断を行な
う命令の場合に生じる。すなわち、たとえばある比較結
果に基づいて次の処理が決定される場合、この比較結果
はレジスタに書込む必要がないため、このような状態が
生じる。
で新たな命令を取り込むことができる。
よびWBcanはすべてオフ状態に設定される。
delay 1nst Lがオフのとき:この場
合、WBステージにおいて有効な命令が存在し、かつ分
岐決定待ち合わせ状態ではないため、データの書込みを
実行しても良い。したがって、 wRFがオンでかつWB delay 1nst
Lがオフの場合には、信号wenがオン、信号WBb
usyおよびWBcanがオフとなる。
1nat Lがオンの場合:この場合は、WBス
テージにおいてデータ書込みを実行すべき命令が存在し
、かつこの命令は分岐命令以降の命令であることを示し
ている。
分岐が未決定状態の場合には、WBステージはマシン状
態変更待ち合わせ状態となる。したがって、 信号not takenおよびt akenがともに
オフ状態の場合には、信号yenおよびWBcanがオ
フ、信号WBbusyがオンとなる。
れた場合: この場合、このWBステージの命令を即座に実行しても
よい。したがって、 信号not takenがオン、かつ信号taken
がオフの場合には、信号wenがオン、WB bus
yおよびWBcanがともにオフとなる。
、このWBステージに保持されている命令は無効にされ
る。すなわちレジスタ・ファイルへのデータ書込みが実
行されず、以降のサイクルにおいて与えられる有効命令
待ち状態となる。
kenがオンの場合には、信号wenおよびWBbus
yがオフとなり、信号WBcanがオンとなる。
理を実現する具体的な回路構成は示さないが、この第5
図に示す表から容易に構成することができる。この論理
はANDゲートおよびORゲートなどのゲート回路を用
いて作成してもよく、またPLD (プログラマブル・
ロジック・デバイス)を用いて作成してもよい。
図である。このin logiclは論理回路31が
実行する。以下、第6図を参照してin logic
lの論理について説明する。
は、WBXステージおいて、分岐決定待ちの命令が無効
化された状態を示す。WBXステージ、次のサイクルに
有効な命令を保持するかどうかは、EXステージがその
サイクルで無効化されたかどうかに依存する。信号EX
canがオフのときは、EXステージの命令がその
まま次のサイクルにおいてWBXステージ供給される。
il Lにより決定される。したがって、EX c
anがオフ状態の場合には、フラグWBinst a
vailはEX 1nst avail Lに等
しくなる。
命令は無効化されたことを示している。したがって、W
BXステージ次のサイクルには、有効な命令はEXステ
ージには供給されない。したがって、EX canが
オンの場合にはWBinst availはオフとな
る。
BXステージおける命令の無効化動作は実行されないこ
とを示している。
す図である。以下、第7図を参照して「in log
ic2Jの論理について説明する。
Xステージは次のサイクルにおいても保持すべき命令が
存在しないことを示しており、EXステージから与えら
れる命令をWBXステージ取り込んでよいことを示して
いる。したがって、信号WBbusyがオフならば、フ
ラグWBinst availはフラグEX 1n
stavail Lに等しくなる。
ジ、分岐/非分岐決定待ち状態の命令を保持しているこ
とを示している。したがって、次のサイクルにおいても
、このサイクルにおける有効性フラグを保持する必要が
ある。したがって、フラグWB 1nst ava
ilは、フラグWB 1nst avail L
と等しくなる。
けることにより、分岐命令の決定待ち状態において、非
分岐が決定された場合高速でデータを書込むことができ
る。この動作について以下に動作波形図を参照して説明
する。
したときのWBXステージ動作を示す信号波形図である
。以下、第8図を参照して分岐決定時の動作について説
明する。
の命令でありかつ分岐命令の状態決定待ちをすべき命令
が供給される。この命令の書込み遅延フラグWB d
elay ins’tはオン状態である。またこの命
令の有効性フラグWBinst availもオン状
態である。論理回路26および27の出力WB de
lay 1nstLおよびWB 1nst av
ail Lはクロック信号りに応答してその状態が確
定する。
がオン状態となる。
・ファイルへデータを書込む命令であり、命令デコーダ
34からはクロック信号Tに応答して信号w RFが
発生されている状態を想定している。また、論理回路2
9は、この分岐決定待ち合わせ状態に従って、書込みイ
ネーブル信号wenを発生せず、データ書込み禁止状態
に設定する。
wenに応答して、ラッチ回路28のデータWB d
ata Lの書込みを行なっている。
Tに応答して確定する。このサイクルではレジスタ・フ
ァイル9へのデータ書込みは禁止状態とされる。
路30.31.32および33は、その入力経路を切換
えて対応のしラッチ回路25.26.27および28の
出力を選択し、それぞれ対応のTラッチ回路21.22
.23、および24へ伝達する。
あるため、サイクル0にWBXステージ与えられた命令
およびフラグならびにデータが再びTラッチ回路21な
いし24で保持される。
ージ命令を無効とすべきことが決定される。この場合、
信号takenがオン状態となり、論理回路29へ与え
られる。これにより、書込みイネーブル信号w e n
の発生が禁止され、レジスタ・ファイル9へのデータの
書込みは禁止される。
yがオフ状態、また信号W13canがオン状態に設定
される。この信号WB busyに応答して、WBX
ステージEXステージからの命令受入れ可能状態となる
。
令以降の命令であり、分岐先命令と無関係な命令の場合
、このEXステージに保持された命令を無効化するため
に信号EX canが発生される。したがって、サイ
クル3におけるフラグWB 1nst avail
およびWBdelay 1nstはこのサイクル2に
おいてEXステージに保持されている命令のフラグに対
応したものとなる。
なり、WBXステージ、EXステージから与えられた命
令を処理することになる。
ogic2J論理は信号WBcanをも受けているが、
上述の論理動作では信号WB busyに応じてその
論理が設定されている。信号WBcanをも併せて用い
、信号WBbusyがオンにありかつ信号WBcanが
オフ状態の場合にはそのWBXステージ命令、フラグお
よびデータを保持し、また信号wsbusyがオフのと
き、信号WBcanのオン/オフ状態にかかわらずEX
ステージからの命令、データおよびフラグを通過させる
構成としてもよい。図面においてはこの2つの信号WB
busyと信号WB can両者を用いる場合の回路
構成が示されている。
た場合には必ず発生されるが、分岐発生時でなくても、
EXステージに保持されたデータを無効化する必要が生
じる場合も考えられるため、このような場合にこの信号
EX canが発生されて、EXステージの命令の無
効化が行なわれる。
立上りおよび立下がりタイミングはある幅を持たせてお
り、また信号takenの立下がり時点もある幅を持た
せている。これはこの時間幅において各信号が適当なタ
イミングで立上りまたは立下がりすればよいことを示し
ている。すなわち、信号wenは、この確定状態のデー
タWBdata Lを書込むことができるようなタイ
ミングでイネーブルされればよく、またディスエーブル
状態はこのデータ書込み決定状態前に確定状態とされる
タイミングで確定していればよい。
で発生されるが、その立下がりタイミングは、次のサイ
クルにおける、分岐決定時における分岐先命令のフェッ
チ処理を実行する動作を規定するように設定されておれ
ばよく、たとえば第8図においてサイクル3の開始時点
においてその状態が確定状態に保持されていればよい。
明する。
状態において非分岐が決定された場合の動作を示す波形
図である。
およびサイクル1と同様である。サイクル2において、
分岐を行なわないことが決定されると信号not t
akenがオン状態となる。
となり、レジスタ・ファイル9へのデータ書込みが可能
状態とされる。レジスタ・ファイル9は、この信号we
nに応答して、Lラッチ回路28からのデータWB
data Lを、命令デコーダ34からのレジスタポ
インタaddressが指定するレジスタへ書込む。
状態の変更が行なわれたため、wBXステージ次のEX
ステージからの命令受入可能状態となる。したがって、
信号WBbusyがオフ状態となる。このとき、信号W
Bcanはオフ状態のままである。これにより、各論理
回路30ないし33は、EXステージのしラッチ回路a
カを通過させる状態となる。
られる命令に対応した処理が行なわれる。
であれば、何ら実行処理は行なわれず、有効命令であれ
ば、その命令に従う処理が実行される。次にEXステー
ジの論理および動作について説明する。
は同一の参照番号が付されている。
.12.13.14および15の前段に設けられた論理
回路41.42.43.44および45と、Tラッチ回
路14および15の保持データをそれぞれクロック信号
りに応答して保持するLラッチ回路35および36を含
む。
ーダ10からの命令IRまたはLラッチ回路17からの
命令EX IRLのいずれか一方を通過させる。論理
回路42は、信号WB busyに応答して、命令デ
コーダ10からの有効性フラグ1nst avail
とLラッチ回路18′からの有効性フラグEX 1n
st avaiI Lのいずれか一方を通過させる
。
ラグdelay 1nstとLラッチ回路19からの
フラグEX−delay 1nstLのいずれか一方
を通過させる。
されたデータdatalおよびdata2とLラッチ回
路35および36の保持データtmpl Lおよびt
mp2 Lのいずれか一方をそれぞれ通過させる。
その保持データがリセットされてオフ状態に設定される
。このしラッチ回路18′の信号EX canによる
保持データの制御は、信号EXcanがクロック信号り
の発生時に確定状態にあれば、このLラッチ回路18′
の入力部に信号EX canに応答してその出力値を
EX 1nst availまたは0に設定する回
路を設ける構成としてもよい。
1ogic3Jで示される論理を実行する。
て示す図である。以下、第10図および第11図を参照
して「in logic3Jの論理について説明する
。
きず、命令保持状態となるのは、WBXステージ命令保
持状態にある場合である。この状態は、信号WBbus
yがオン(1)であることにより表される。したがって
、信号WBbusyがオン(1)の場合、論理回路41
ないし45は対応のしラッチ回路17.18’、19.
35および36からの出力を通過させて対応のTラッチ
回路11ないし15へ伝達する。
ージは、この保持している命令をWBXステージ供給す
ることができ、新たに命令を命令デコーダ10から受け
ることができる。したがって、信号WBbusyがオフ
の場合には、この論理回路41ないし45は、命令デコ
ーダ10からの出力およびレジスタ・ファイル9からの
出力データを通過させる。
て示す図である。以下、この第12図を参照してLラッ
チ回路18′の動作について説明する。信号EX c
anがオン(1)に設定されると、EXステージに保持
された命令が無効化されることを示す。したがって、信
号EX canがオンならば、Lラッチ回路18′の
出力はOとなる。
Xステージに保持されている命令を特に無効化する必要
はないことを示している。この場合、Lラッチ回路18
′ は、Tラッチ回路12からの有効性フラグEX
1nst availをそのまま保持する。すなわち
、信号EX canがオフの場合、フラグEX 1
nst avaflLはそのサイクルにおける有効性
フラグEX 1nst availとなる。
ジ命令処理状況に応じてEXステージにおいて実行、保
持することができる。信号WBbusyはまた、命令デ
コーダ10へ与えられて、その命令発行の中断(待合わ
せ)の制御に用いられてもよい。
持/無効化を行なうための構成について説明したが、他
の機能ユニット、浮動小数点演算ユニット、メモリアク
セスユニット等においても、同一の構成をそのマシン状
態変更ステージへ適用することにより同様の効果を得る
ことができる。
に対しては、分岐命令以降の命令であることを示す書込
み遅延フラグを該命令に付加して機能ユニットへ発行し
、この機能ユニットにおけるマシン状態変更動作を書込
み遅延フラグに従って制御するように構成したので、分
岐命令による分岐・非分岐が未決定状態であっても、分
岐命令以降の命令を機能ユニットへ発行することができ
、かつ分岐決定時には即座にマシン状態の変更を行なう
ことができるので、処理速度が大幅に改善された並列処
理装置を得ることができる。
る機能ユニット部の構成を概略的に示す論理図である。 第2図はこの発明による命令実行方式を概略的に示す図
である。第3図はこの発明による並列処理装置が用いる
クロック信号を示す波形図である。第4図はこの発明の
一実施例である並列処理装置におけるレジスタ書込みス
テージ(マシン状態変更ステージ)の構成を概略的に示
す論理図である。第5図は第4図に示すWB bus
y logicの論理を一覧にして示す図である。第
6図は第4図に示す「in logicl」が実現す
る論理を一覧にして示す図である。 第7図は第4図に示すrin logic2Jの実現
する論理を一覧にして示す図である。第8図はこの発明
の一実施例である並列処理装置におけるマシン分岐決定
時におけるマシン状態変更ステージの動作を示す波形図
である。第9図はこの発明の一実施例である並列処理装
置における分岐命令の非分岐決定時におけるマシン状態
変更ステージの動作を示す信号波形図である。第10図
はこの発明の一実施例である並列処理装置の機能ユニッ
トの実行ステージの構成を概略的に示す論理図である。 第11図は第10図に示すrin l。 gic3Jの論理を一覧にして示す図である。第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.281.35および36はLラッチ
回路、29.30.31.32.33.41.42.4
3.44.45は論理回路、34はWBステージに含ま
れる命令デコーダである。 なお、各図中、同一符号は同一または相当部分を示す。 島2図 サイ21し 島3図 ち17図 す/17/し ド ア図 匙8図 サイフル0 トえ決定時 も1[図 in−logic 3 CA埼fl め12図 島13図 壽14聞 スーパスカウ会一般¥lrJ不4〜 ずfeat 躬15図 浩160
Claims (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 true JPH04153734A (ja) | 1992-05-27 |
JP2535252B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182168A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 演算装置及びその制御方法 |
JPH07271582A (ja) * | 1994-03-31 | 1995-10-20 | Internatl Business Mach Corp <Ibm> | オペレーションの処理システム及び方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0488819B1 (en) * | 1990-11-30 | 1999-01-13 | Kabushiki Kaisha Toshiba | Conditional branch instructions execution apparatus |
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
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182168A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 演算装置及びその制御方法 |
JPH07271582A (ja) * | 1994-03-31 | 1995-10-20 | Internatl Business Mach Corp <Ibm> | オペレーションの処理システム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
DE4134392A1 (de) | 1992-04-23 |
JP2535252B2 (ja) | 1996-09-18 |
US5522084A (en) | 1996-05-28 |
DE4134392C2 (de) | 1996-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7111126B2 (en) | Apparatus and method for loading data values | |
US5961637A (en) | Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers | |
US20070022277A1 (en) | Method and system for an enhanced microprocessor | |
US7065632B1 (en) | Method and apparatus for speculatively forwarding storehit data in a hierarchical manner | |
US8539485B2 (en) | Polling using reservation mechanism | |
JP3547482B2 (ja) | 情報処理装置 | |
US5561774A (en) | Parallel processing type processor system with trap and stall control functions | |
US7631149B2 (en) | Systems and methods for providing fixed-latency data access in a memory system having multi-level caches | |
JP2010526392A (ja) | システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法 | |
JPH04275628A (ja) | 演算処理装置 | |
JPH09212359A (ja) | マイクロプロセッサ及びデータ処理方法 | |
JP2002268878A (ja) | スレッド間優先度可変プロセッサ | |
JPH04153734A (ja) | 並列処理装置 | |
JP2006351008A (ja) | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) | |
JP2014063385A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US6101596A (en) | Information processor for performing processing without register conflicts | |
US6006325A (en) | Method and apparatus for instruction and data serialization in a computer processor | |
JP2000330788A (ja) | コンピュータシステム | |
US6735687B1 (en) | Multithreaded microprocessor with asymmetrical central processing units | |
KR20010077997A (ko) | 단일 사이클 파이프라인 기능 정지를 발생하기 위한파이프라인 프로세서 시스템 및 방법 | |
JP3146058B2 (ja) | 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法 | |
US6675287B1 (en) | Method and apparatus for store forwarding using a response buffer data path in a write-allocate-configurable microprocessor | |
US6769057B2 (en) | System and method for determining operand access to data | |
JP2000353091A (ja) | コンピュータシステムにおける命令実行方法およびコンピュータシステム | |
US6260133B1 (en) | Processor having operating instruction which uses operation units in different pipelines simultaneously |
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 |