JPH07113890B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH07113890B2
JPH07113890B2 JP63156247A JP15624788A JPH07113890B2 JP H07113890 B2 JPH07113890 B2 JP H07113890B2 JP 63156247 A JP63156247 A JP 63156247A JP 15624788 A JP15624788 A JP 15624788A JP H07113890 B2 JPH07113890 B2 JP H07113890B2
Authority
JP
Japan
Prior art keywords
instruction
register
branch
branch instruction
address
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
Application number
JP63156247A
Other languages
English (en)
Other versions
JPH01321521A (ja
Inventor
茂幸 愛野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP63156247A priority Critical patent/JPH07113890B2/ja
Publication of JPH01321521A publication Critical patent/JPH01321521A/ja
Publication of JPH07113890B2 publication Critical patent/JPH07113890B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 技術分野 本発明はパイプライン処理中、パイプラインキャンセル
条件の成立に応答してパイプライン処理をキャンセルす
る、例えば分岐命令のような命令のパイプライン処理を
行なう情報処理装置に関する。
従来技術 一般に、分岐命令は、分岐命令の次におこなうべき命令
のアドレスが分岐先アドレスであるか、分岐命令の次の
アドレスであるかを予測しパイプライン処理を連続して
行なっている。分岐命令の次の命令のアドレスの予測が
失敗した場合に、複数のサイクルのうち1つの定められ
たサイクルに絞り、パイプライン処理キャンセル条件成
立によるパイプライン処理キャンセル指示を発行してい
る。この指示の発行により正しい分岐先の命令が取直さ
れる。
また、この種のパイプライン処理において、先行命令で
ある分岐命令の実行が終了しないうちに、後続命令であ
る分岐命令の次に行なうべき命令が入力されてくる。す
なわち、先行する分岐命令が演算制御部におけるオペラ
ンド演算を指示し、そのオペランド演算結果をレジスタ
に書込(更新)指定したのと同一のレジスタに対して、
後続の命令が読出指定する場合、レジスタの競合問題が
発生し、この読出はオペランド演算結果が正しく反映さ
れた後で行なわれなければならない。
このため、従来のシステムでは、先行命令による演算制
御部でのオペランド演算結果が求まるのを待ってから後
続命令によるアドレス計算を開始したり、特公昭57−90
88号公報に示すように、演算制御部でオペランド演算結
果を求めるのに先行して専用の演算回路により同等のオ
ペランド演算を行なったり、特開昭61−90237号公報に
示すように、アドレス計算を行なうアドレス生成回路に
オペランド間の演算ができるようにし、そのオペランド
演算結果を後続命令のレジスタ読出に使用していた。
また、先行する命令と後続命令とが同一レジスタに対し
書込および読出を指示する競合関係にあるか否かを調べ
るチェック機構を備えたとしても、パイプライン処理を
キャンセルする命令に対して、複数のサイクルでパイプ
ライン処理キャンセル条件を調べ条件の成立したサイク
ルでキャンセル指示を発行した場合、上述の競合関係に
なるレジスタのレジスタ番号とキャンセルをかけた命令
との対応関係は不明となる。このため、キャンセルをか
けたことにより無効化しなくてはならないはずの競合関
係の発生する可能性のあったレジスタのレジスタ番号を
識別することができないという欠点がある。
発明の目的 本発明の目的は上述の欠点を除去するようにし、キャン
セル条件成立後の命令の取直しを高速化するようにした
情報処理装置を提供することにある。
発明の構成 本発明によれば、分岐命令の入力に応答してこの分岐命
令の次に実行すべきアドレスを予測する分岐予測処理を
行いつつパイプライン処理をなす情報処理装置であっ
て、分岐予測の失敗に応答してこの分岐命令以降の命令
の書込み先レジスタが無効であることを示す情報を出力
する無効レジスタ指示手段を含むことを特徴とする情報
処理装置が得られる。
そしてこの無効レジスタ指示手段は、実行中の命令に互
いに異なる番号を付与する分岐命令番号付与手段と、実
行中の命令が書込むべきレジスタ番号をこの命令の直前
の分岐命令に対して前記分岐命令番号付与手段により付
与された分岐命令番号と共に保持するレジスタ番号保持
手段と、分岐予測失敗に応答してこの分岐命令に対して
前記分岐命令番号付与手段により付与された分岐命令番
号を出力する判定手段と、この判定手段により出力され
た前記分岐命令番号と前記レジスタ番号保持手段により
保持された前記分岐命令番号とを比較してこの分岐命令
以降の命令の書込み先レジスタが無効とされるべきであ
ることを示す情報を出力する手段とを有することを特徴
としている。
実施例 次に本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例は、操作(OP)
コードフィールド,ベースフィールドB,インデックスフ
ィールドX,ディスプレースメントフィールドDおよび演
算結果の格納先フィールドRを有する命令レジスタ1、
この命令レジスタ1のOPコードフィールドにおけるOPコ
ードを解読し分岐命令であるか否かを示す選択指示信号
を出力するデコーダ2、このデコーダ2からの選択指示
信号が分岐命令を示すときは“1"を選択し、分岐命令で
ないことを示すときは“0"を選択するセレクタ3、分岐
命令識別値BIC0を格納する分岐命令識別レジスタ4、お
よびこの分岐命令識別レジスタ4からの分岐命令識別値
BIC0およびセレクタ3からの選択結果を加算する加算器
5を命令解読(D)ステージに備えている。
この実施例のパイプライン処理は、この命令解読(D)
ステージの他、アドレス生成(A)ステージ,アドレス
変換(T)ステージ,メモリ読出(O)ステージ,演算
実行(E)ステージおよび演算結果格納(W)ステージ
の6ステージから構成されている。
加算器5の加算結果は分岐命令識別値BIC1〜BIC5として
上述のパイプラインの各ステージに設けられたレジスタ
7〜11に格納される。また加算器5の加算結果は、上述
のパイプラインの各ステージとは非同期に動作するレジ
スタ確定待制御部6に与えられる。このレジスタ確定待
制御部6はパイプ構造をしておりAステージからWステ
ージまでのパイプラインのステージ数分、更新されるこ
とになるレジスタの番号を登録するレジスタ群61−65、
加算器5の加算結果を格納するレジスタ群66−70、およ
び前記レジスタ群61−65に有効なデータを保持している
か否かを示す有効性ビットを保持するレジスタ群71−75
を有している。
レジスタ群61−65の内容と命令レジスタ1のベースフィ
ールドBの内容およびインデックツフィールドXの内容
とを比較し、一致すれば先行する命令の処理が終了して
いないことを示す信号を出力し、命令を保持し続けるよ
う命令レジスタ1に指示するレジスタ確定待一致検出回
路15は、本発明の一実施例のDステージに備えられてい
る。
この一実施例のAステージには、分岐命令の次に行なう
べき命令のアドレスの予測が成功したか失敗したかを判
定し、失敗したとき予測失敗を示す信号を線104に出力
する分岐予測判定回路12を備えている。また、一実施例
のEステージにも、分岐命令の次に行うべき命令のアド
レスの予測が成功したか失敗したかを判定し、失敗した
とき予測失敗を示す信号を線105に出力する分岐予測判
定回路14を備えている。
次に分岐予測失敗による確定待登録有効性ビット“0"に
セットするよう指示する指示回路13について、第1図お
よび第2図を参照して詳細に説明する。
第1図および第2図を参照すると、指示回路13はEステ
ージにおける分岐予測判定回路14から線105を介して与
えられる予測失敗信号を受けるゲート131、このゲート1
31の否定出力とAステージにおける分岐予測判定回路12
から線104を介して与えられる予測失敗信号との論理積
をとるアンドゲート132、このアンドゲータ132の出力に
応答してレジスタ7から線103を介して与えられる分岐
命令識別値BIC1を選択し、ゲート131の出力に応答して
レジスタ10から線106を介して与えられる分岐命令識別
値BIC4を選択するセレクタ133、このセレクタ133からの
選択結果とレジスタ66−70からの加算結果とを比較する
比較回路群134−138、およびこれら比較回路134−138か
らの出力の論理和をとるオアゲート群139−142を備え、
比較回路群134−138のいずれかにおいて一致が生じたと
き、一致の生じたステージよりも上のステージは分岐予
測失敗による誤ったストリームの命令による情報である
ことを認識し、一致の生じた値を格納しているレジスタ
のステージから上のステージに対応するレジスタ群の有
効性ビットを無効にし、命令レジスタ1への分岐予測失
敗により読直し命令のセット指示をする旨の信号を線10
2に出力する。
本発明の一実施例のアドレス計算は特公昭57−9088号公
報にも示されるように、ベースフィールドBの内容によ
りベースアドレスを読出すベースレジスタ(BR)17、こ
のベースレジスタ(BR)17からのベースアドレスを格納
するレジスタ19、インデックスフィールドXの内容によ
りインデックスアドレスを読出す汎用レジスタ(GR)1
8、この汎用レジスタ(GR)18からのインデックスアド
レスを格納するレジスタ20、ディスプレースメントフィ
ールドDのディスプレースメントを格納するレジスタ2
1、これらレジスタ19−21の内容に基づいてアドレス計
算をするアドレス加算器(AA)22、このアドレス加算器
(AA)22の加算結果を論理アドレスとして格納する論理
アドレスレジスタ(LAR)23、この論理アドレスレジス
タ(LAR)23の論理アドレスを物理アドレスに変換する
アドレス変換バッファ(TLB)24、このTLB24によりアド
レス変換された物理アドレスを格納する物理アドレスレ
ジスタ(PAR)25、この物理アドレスレジスタ25の物理
アドレスによりオペランドを読出すオペランドキャッシ
ュメモリ(OCM)26、このオペランドキャッシュメモリ2
6からのオペランドを格納するオペランドレジスタ(O
R)27、このオペランドレジスタ27からのオペランドに
基づき演算する演算器(ALU)28およびこの演算器28か
らの演算結果を保持するレジスタ29を有する。
第1図および第3図を参照すると、確定待登録レジスタ
セット指示制御部16は、レジスタ群71−75のいずれかか
ら線101を介して与えられる有効性ビットの論理和をと
るオア回路161およびこのオア回路161の論理和結果とレ
ジスタ29への演算結果の格納を示す演算終了信号305と
の論理和をとるオア回路162を備えている。このオア回
路162の出力はセット指示信号としてレジスタ群61−75
に与えられる。
次に、本発明の一実施例の動作を図面を参照して詳細に
説明する。第1図から第4図を参照すると、命令a〜g
のうち、命令b,c,eおよびfは分岐命令であり、○印を
したb,c,eおよびfで示される。命令cの分岐予測失敗
がEステージの回路14においてマシンサイクルT9時点で
判定される。命令d′は分岐予測失敗による再試行を示
している。Ra〜RfおよびRd′は、各命令における更新レ
ジスタ番号を示し、分岐予測失敗の判別に応答して、レ
ジスタ10の内容およびレジスタ群66−70の内容とが比較
回路群134−138で比較され、比較結果のいずれかが一致
したときには、一致を示したステージより上のステージ
の有効性ビットを無効にする信号をオア回路群139−141
で生成し、線102を介してレジスタ群71−74に与え無効
にする。
なお、レジスタ4のBIC0値に対して分岐予測失敗のステ
ージの持つBICi値を+1してレジスタ4にセットし直
し、分岐命令識別子を付け直すことにする。
これら命令の動作について以下詳述する。
タイミングT0で、命令レジスタ1に命令aが格納され、
レジスタ4には“0"がセットされる。
次に、タイミングT1で命令aのフィールドBおよびXの
内容はBR17およびGR18からアドレスを読出し、レジスタ
19および20にセットされる。また、フィールドBの内容
はレジスタ21にセットされる。これとともにレジスタ1
に分岐命令bがセットされる。なお、タイミングT0でセ
ットされた命令aは分岐命令でないためデコーダ2の解
読結果によりセレクタ3で“0"が選択される。この結
果、加算器5では、“0"+“0"の加算が行なわれ、加算
結果“0"がレジスタ4および7およびレジスタ確定待制
御部6のレジスタ66に格納される。このレジスタ66への
“0"の格納とともにレジスタ61にレジスタ番号Raが格納
される。
さらにタイミングT2で命令aのアドレスはアドレス加算
器22で生成され論理アドレスレジスタLAR23にセットさ
れる。また命令bに関連する加算前のアドレスもレジス
タ19−21の少なくとも1つに格納され、レジスタ1に命
令Cがセットされる。タイミングT1でセットされた命令
bはデコーダ2で分岐命令と解読されるため、セレクタ
3で“1"が選択される。この結果加算器5では“0"+
“1"の加算が行なわれ、加算結果“1"がレジスタ4,7お
よび66にセットされる。なお、レジスタ8には、レジス
タ7からの“0"がセットされレジスタ67にレジスタ66か
らの“0"がセットされる。この時レジスタ66に対応する
レジスタ61にはレジスタ番号“Rb"がまたレジスタ67に
対応するレジスタ62にはレジスタ番号“Rc"がセットさ
れる。
このようにしてタイミングT9まで動作してきたとき、E
ステージの判定回路14から線105を介して予測失敗信号
が与えられる。
第2図および第4図を参照すると、この信号はゲート13
1を介してセレクタ133に与えられレジスタ10の値“2"を
選択し、比較回路群134−138に与えられる。比較回路群
134−138はレジスタ10の値“2"とレジスタ群66−70の値
とを比較し、一致のとれた比較回路135から“1"を出力
する。この出力“1"はオアゲート群139−142に与えら
れ、論理和結果“1"が線102を介してタイミングT10でレ
ジスタ群71−73の有効性ビットを無効にするとともにレ
ジスタ1に対しやり直し命令d′をセットする。
第1図および第4図を参照すると、タイミングT9でレジ
スタ10にセットされていた値“2"は+1されてレジスタ
4にセットされる。このようにしてキャンセル条件成立
後の命令取直しおよびその他の状況設定を次のマシンサ
イクル内で行うことができる。
発明の効果 以上説明したように、本発明によれば、先行する命令と
後続の命令が同一レジスタに対して書込と読出を指示す
るような競合関係になる可能性のあるレジスタがパイプ
ライン処理中にキャンセルをかけるとどの命令の後続命
令によるものなのかを識別する回路134−138と、キャン
セルがかかった場合、キャンセルをかけた命令がどの命
令であるのかを、キャンセルの指示と共に認識する回路
139−142と、先行する命令と後続の命令が同一レジスタ
に対して書込と読出を指示する様な競合関係になる可能
性のあるレジスタとして登録したレジスタ番号の中で、
キャンセルにより無効化されるべきレジスタ番号を無効
化する回路102とを有することにより、パイプライン処
理中パイプライン処理キャンセル条件が成立したら、パ
イプライン処理をキャンセルする命令に対しての複数の
サイクルでパイプライン処理キャンセル条件の成立を調
べ、キャンセル条件が成立したならばパイプライン処理
のキャンセルをかける場合、前記競合関係になる可能性
のあるレジスタの中で、キャンセルがかかったことによ
り無効化されなければならないレジスタのレジスタ番号
を無効化できるので、キャンセル条件成立後の命令の取
直しを高速化できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図,第2図は一実施例
のレジスタ確定待制御部6、レジスタ群1,7および10と
指示回路13との関係を示す図、第3図は一実施例のレジ
スタ確定待制御部6と確定待登録レジスタセット指示制
御部16との関係を示す図、第4図は本発明の一実施例の
動作を説明するための図である。 主要部分の符号の説明 1……命令レジスタ 2……デコーダ 3……セレクタ 5……加算器 6……レジスタ確定待制御部 12,14……判定回路 15……レジスタ確定待一致検出回路 16……確定待登録レジスタセット指示制御部 22……アドレス加算器 24……TLB 26……オペランドキャッシュメモリ 28……ALU

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】分岐命令の入力に応答してこの分岐命令の
    次に実行すべきアドレスを予測する分岐予測処理を行い
    つつパイプライン処理を行い、分岐予測の失敗に応答し
    てこの分岐命令以降の命令の書込み先レジスタが無効で
    あることを示す情報を出力する無効レジスタ指示手段と
    を含む情報処理装置であって、 前記無効レジスタ指示手段は、 実行中の命令に互いに異なる番号を付与する分岐命令番
    号付与手段と、 実行中の命令が書込むべきレジスタ番号をこの命令の直
    前の分岐命令に対して前記分岐命令番号付与手段により
    付与された分岐命令番号と共に保持するレジスタ番号保
    持手段と、 分岐予測失敗に応答してこの分岐命令に対して前記分岐
    命令番号付与手段により付与された分岐命令番号を出力
    する判定手段と、 この判定手段により出力された前記分岐命令番号と前記
    レジスタ番号保持手段により保持された前記分岐命令番
    号とを比較してこの分岐命令以降の命令の書込み先レジ
    スタが無効とされるべきであることを示す情報を出力す
    る手段と、 を有することを特徴とする情報処理装置。
JP63156247A 1988-06-24 1988-06-24 情報処理装置 Expired - Lifetime JPH07113890B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63156247A JPH07113890B2 (ja) 1988-06-24 1988-06-24 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63156247A JPH07113890B2 (ja) 1988-06-24 1988-06-24 情報処理装置

Publications (2)

Publication Number Publication Date
JPH01321521A JPH01321521A (ja) 1989-12-27
JPH07113890B2 true JPH07113890B2 (ja) 1995-12-06

Family

ID=15623599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63156247A Expired - Lifetime JPH07113890B2 (ja) 1988-06-24 1988-06-24 情報処理装置

Country Status (1)

Country Link
JP (1) JPH07113890B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281893A (ja) * 1994-04-15 1995-10-27 Internatl Business Mach Corp <Ibm> 処理システム及び演算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
JPS61288230A (ja) * 1985-06-17 1986-12-18 Nec Corp パイプライン制御方式
JPH0695306B2 (ja) * 1986-01-07 1994-11-24 日本電気株式会社 命令先取り装置

Also Published As

Publication number Publication date
JPH01321521A (ja) 1989-12-27

Similar Documents

Publication Publication Date Title
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
CA1223371A (en) System for by-pass control in pipeline operation of computer
US4984154A (en) Instruction prefetching device with prediction of a branch destination address
US5421022A (en) Apparatus and method for speculatively executing instructions in a computer system
JPH0769818B2 (ja) デ−タ処理装置
JPS6215896B2 (ja)
US4739470A (en) Data processing system
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH07281893A (ja) 処理システム及び演算方法
US6704861B1 (en) Mechanism for executing computer instructions in parallel
US4924425A (en) Method for immediately writing an operand to a selected word location within a block of a buffer memory
US6484256B1 (en) Apparatus and method of branch prediction utilizing a comparison of a branch history table to an aliasing table
JPS634208B2 (ja)
JP3534987B2 (ja) 情報処理装置
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
JP3082944B2 (ja) パイプライン処理装置
JPH01321521A (ja) 情報処理装置
US6952763B1 (en) Write before read interlock for recovery unit operands
JP2626675B2 (ja) データ誘起状態信号発生装置及び方法
KR950000088B1 (ko) 데이터처리시스템
JP2894438B2 (ja) パイプライン処理装置
JPH0695306B2 (ja) 命令先取り装置
JPH01321522A (ja) 情報処理装置
JPS60164842A (ja) 命令先取り装置
JP3102846B2 (ja) ロードアドレスキャッシュ装置及び方法