JPS61198335A - 分岐予測制御方式 - Google Patents

分岐予測制御方式

Info

Publication number
JPS61198335A
JPS61198335A JP1588685A JP1588685A JPS61198335A JP S61198335 A JPS61198335 A JP S61198335A JP 1588685 A JP1588685 A JP 1588685A JP 1588685 A JP1588685 A JP 1588685A JP S61198335 A JPS61198335 A JP S61198335A
Authority
JP
Japan
Prior art keywords
branch
instruction
address
register
buffer
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
Application number
JP1588685A
Other languages
English (en)
Other versions
JP2542565B2 (ja
Inventor
Tadao Kondo
忠雄 近藤
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 JP60015886A priority Critical patent/JP2542565B2/ja
Publication of JPS61198335A publication Critical patent/JPS61198335A/ja
Application granted granted Critical
Publication of JP2542565B2 publication Critical patent/JP2542565B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は分岐命令の高速化7図る分岐予測制御方式に関
する。
〔従来の技術〕
分岐命令の高速化技術として、分岐命令の履歴を記憶し
、過去の結果を基に分岐成功/不成功及び分岐先を予測
する方法がある。(例えばIEEECOMPOTER1
9841月号 P6〜P22)〔発明が解決しようとす
る問題点〕 上述した分岐予測は、分岐命令を含む命令語アドレスと
、該分岐命令の分岐先アドレスとを保持する分岐ヒス)
 IJバッファを設け、命令取出時に堰出し命令中に分
岐命令を含む場合、分岐先アドレスを得るものである。
一方、分岐命令の分岐成功/失敗は、°分岐命令芙行時
は初めて判るものである。従ってその時迄、分岐命令の
アドレスおよび分岐先アドレスを保持する必要がめるた
め、これらを保持するハードウェアが心壁でメジ、ハー
ドウェア量が増加するという欠点かめる。
〔問題点を解決するための手段〕
本発明の分岐予測制御方式では、先堰りした命令語の4
F誉検出用に先取りした命令蹟アドレスの範囲を保持す
る命令甜アドレスレジスタを分岐ヒストリバッファへの
書込アドレス保持用レジスタと共用化している。
〔実施例〕
次に本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例は、外部から与
えられる仮想アドレスを格納する仮想アドレスレジスタ
1.このレジスタlからのアドレスおよび取出命令アド
レスに「1」を加算したアドレスとのどちらか一方を選
択して出力する切替回路2.この切換回路2からの出力
のうち下位ビットにより指定された位置に分岐命令のア
ドレスを格納する分岐ヒストリバッファ(K)3.前記
下位ビットによシ指定された位置に分岐先アドレス全保
持する分岐ヒストリバッファ(D42分岐分岐ヒストリ
バッファ)3の内容と前記レジスタ1からのアドレスと
を比較する比較回路5および6.この比較回路5および
6のどちらか一方の一致検出に応答して分岐ヒストリバ
ッファCI)4の出力を選択出力する切替回路7.アト
ア命令によるメモリへの畳込アドレス全保持するアトア
アドレスレジスタ8、取出した命令のアドレス範囲のう
ち上限のアドレス全保持する取出命令アドレスレジスタ
9゜このアドレス範−のうち少なくとも1組の下限のア
ドレスを保持する取出命令アドレスレジスタ10゜この
レジスタ10の内容に「1」を加算するカウンタ11.
前記レジスタ8からのアドレスおよび前記レジスタ9か
らのアドレスを比較する比較回路12.前記レジスタ8
からのアドレスおよび前記レジスタlOからのアドレス
を比較する比較回ml 3 、およびこれら比較回路1
2および13の出力の論理積をとるアンドゲート14か
ら構成されている。
前記レジスタIOf′i、レジスタファイルで構成され
てもよい。
次に本発明の一実施例の動作を詳細に説明する。
命情取出のために生成された仮想アドレスはキャッシュ
メモリ(ここでは図示されていない)に送出されると同
時に仮想アドレスレジスタ1にセットさnる。仮想アド
レスレジスタlの出力は切替回路2全通し、分岐命令の
アドレスを保持する分岐ヒストリバッファ(K)3およ
び分岐先アドレスを保持する分岐ヒストリバッファ(Q
4に供給される。
分岐ヒストリバッファ3および4は公知のセットアンシ
アティプ構成のアンシュータである。仮想アドレスレジ
スタ1の内容によシ取出そうとする命令が以前の取出し
て分岐命令を含みかつその分岐命令が条件分岐成功また
は無条件分岐の場合、分岐先アドレスが分岐予測バッフ
ァ4よシ得られる。
分岐子側バッファ3および4は2レベルで構成される。
比較回路5もしくは6のどちらで取出アドレスの一致が
検出されたかによシ、分岐ヒス) IJバッファ(′D
Jの出力が切替回路7によシ違択され、分岐子側ビット
信号とともに送出される。この分岐予測アドレス出力を
用い命令取出することにより分岐先命令語の取出しが高
速化され、分岐命令の央行が高速処理されることによる
仮想アドレスレジスタ1にセットされた命令取出アドレ
スはさらに取出した命令のアドレス範囲を保持する取出
命令アドレスレジスタ9および10に送出される。分岐
先の先頭命令の取出し時には内方のレジスタに取出アド
レスがセットされるが、2Ii21目以降の取出しでは
、取加砧令アドレスレジスタ(U)9にのみセットされ
る。一方、取出した命令が一命令実行される匿に取出命
令アドレスレジスタ(ト)lOの内容はカウンタ1it
−fiしてlか加算される。これにより取出した命令の
アドレスの上限と下限か保持される。ストアアドレスレ
ジスタ8はストア命令によるメモリへの畳込アドレスを
保持する。このストアアドレスと取出した命令の範囲と
は比較回1Nr12および13によシチェックされ、先
取りした命令語の先行するストア命令による書替があっ
たかどうかが検出される。もし書替が検出された場合、
命令の取出し直しから処理を再開する。取出した命令を
保持する命令バッファおよび取出命令アドレスレジスタ
9および10は、分岐命令高速化のために3組用意され
てお多、分岐命令によシ命令ストリームが変更される度
に他の組を使用するよう制御される。
分岐ヒストリバッファにセットされていない分岐命令の
セットは次のように行なわれる。条件分岐成功または無
条件分岐命令の対応エントリが分岐予測バッファ9およ
び10にない場合、分岐命令実行時に、分岐命令自身の
アドレスが取出命令アドレスレジスタ(旬10から仮想
アドレスレジスタ1にセットされる。次に該分岐命令の
アドレス計算によシ取出命令アドレスレジスター10の
レジスタファイル中Ω別のレジスタにセットされた分岐
先アドレスが取出され、仮想アドレスレジスタ1で指定
された分岐予測バッファ(r44にセットされるととも
に、分岐予測バッファ(K)3に仮想アドレスレジスタ
1の内容がセットされる。2レベルの予測バッファのど
ちらのレベルにセットするかは公知のリプレースメント
アルゴリズムが使用される。
一方分岐予測バッファ9.10に既にセットされた内容
が:命令の書替によ)分岐命令で無くなった、分岐先ア
ドレスが変更された、分岐成功が失敗に変ったなどの理
由で不正となった場合、分岐予測バッファ(6)3中の
有効性表示ビット(vビット)のリセットが行なわれ対
応二ンl−IJの無効化か図られる。しかしFORTR
ANプログラムなどで用いられるIJOループの制御用
分岐命令は、同一ループの多数回使用があるので、たと
え分岐不成功であっても、対応エンドV+リセットしな
い。
すなわち、 DOループを抜は出すときに必す分岐予測
は失敗するが、この時毎回分岐ヒス) IJバッファの
対応エントリを無効化すると、再度このループを使用す
る時にも分岐予測失敗となってしまい、性能が低下する
からである。
第2図を参照すると、分岐予測時の性能が従来方式と比
較される。分岐予測成功時には、分岐命令実行時間が大
幅に改害されている。従来方式では条件分岐成功の演算
サイクルで、分岐成功/不成功が判断される。分岐成功
の場合次のサイクルから分岐先命令のアドレス計算サイ
クルが開始されるため、分岐命令の実行完了(Eサイク
ル終了)から分岐先命令のEサイクル終了まで4マシン
サイクル必要である。一方分岐予測を行った場合、分岐
命令の取出PIプサイルで分岐予測バッファを索引する
ことによシ、取出した命令に分岐成功予測の分岐命令を
含む場合には分岐先アドレスを得ることができる。この
アドレスを用いて分岐先命令の取出およびデコードが行
われ、分岐命令のEサイクルの次のサイクルで、分岐先
命令が実行されることによシ、本例のパイプライン構造
の場合、従来方式に比し分岐命令の実行時間が4倍高速
化される。
〔発明の効果〕 本発明は先取りした命令語の書替検出用に先取りした命
令語アドレスの範囲を保持する命令語アドレスレジスタ
を分岐予測バッファへの書込アドレス保持用レジスタと
共用化し、ハードウェア量の削減をはかるとともに性能
改善を図っている。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、および第2図は分
岐予測の効果を示す図である。 第1図および第2図において、l・・・・・・仮想アド
レスレジスタ、2,7・・・・・・切替回路、3・・・
・・・分岐予測バッファ□、4・・・・・・分岐予測バ
ッファ(DJ、5゜6.12,13・・・・・・比較回
路、8・・・・・・ストアアドレスレジスタ、9・・・
・・・取出命令アドレスレジスタ回、10・・・・・・
取出命令アドレスレジスタ(Ll、11・・・・・・カ
ウンタ。 A : アトしス計算サイクル I : アトし大変下(ナイグル C:キャッシュアクセスサイ7)シ E ニス専サイクル 第 2ygJ :従動式 %式% 手続補正書(自発) 特許庁長官 殿        適 、1.事件の表示   昭和60年 特許 願第158
86号2、発明の名称  分岐予測制御方式 3、補正をする者 事件との関係       出 願 人東京都港区芝五
丁目33番1号 (423)   日本電気株式会社 代表者 関本忠弘 4、代理人 5、補正の対象 明細書の発明の詳細な説明の欄 6、補正の内容 明細書の発明の詳細な説明の欄を以下のように訂正しま
す。 (1)第2頁第5行目の記載「COMPOTE几」 を
rcOMPUTE几」 と訂正します。 (2)同頁第5行目の記載「実行時は」を「実行時に」
と訂正します。 (3)第3頁第9行目の記載「アドレス」を[アドレス
レジスタ(L)10のアドレス」と訂正します。 (4)第3頁第20行目および第4頁第1行目の記載「
アトア命令」を「ストア命令」と訂正します。 (5)第4頁第3行目の記載「レジスタ9」を「レジス
タf(J) 9 Jと訂正します。 (6)同頁第5行目の記載「レジスタ10」を「レジス
タ(匂10」と訂正します。

Claims (1)

  1. 【特許請求の範囲】 分岐命令のアドレスと該分岐命令の分岐アドレスを保持
    する分岐ヒストリバッファと、先取した命令語の書替え
    を検出するために、先取りした命令語アドレスの範囲を
    保持する命令語アドレスレジスタとを備えた情報処理装
    置であって、 前記分岐ヒストリバッファに分岐命令のエントリを新し
    く登録する場合、前記命令語アドレスレジスタの内容を
    用いることを特徴とする分岐予測制御方式。
JP60015886A 1985-01-30 1985-01-30 分岐予測制御方式 Expired - Lifetime JP2542565B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60015886A JP2542565B2 (ja) 1985-01-30 1985-01-30 分岐予測制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60015886A JP2542565B2 (ja) 1985-01-30 1985-01-30 分岐予測制御方式

Publications (2)

Publication Number Publication Date
JPS61198335A true JPS61198335A (ja) 1986-09-02
JP2542565B2 JP2542565B2 (ja) 1996-10-09

Family

ID=11901273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60015886A Expired - Lifetime JP2542565B2 (ja) 1985-01-30 1985-01-30 分岐予測制御方式

Country Status (1)

Country Link
JP (1) JP2542565B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962540A (ja) * 1995-08-29 1997-03-07 Kofu Nippon Denki Kk 情報処理装置のデバッグ回路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5991549A (ja) * 1982-11-17 1984-05-26 Nec Corp 命令バツフアへの命令語格納方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5991549A (ja) * 1982-11-17 1984-05-26 Nec Corp 命令バツフアへの命令語格納方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962540A (ja) * 1995-08-29 1997-03-07 Kofu Nippon Denki Kk 情報処理装置のデバッグ回路

Also Published As

Publication number Publication date
JP2542565B2 (ja) 1996-10-09

Similar Documents

Publication Publication Date Title
US4477872A (en) Decode history table for conditional branch instructions
JPH0581935B2 (ja)
US4991080A (en) Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions
EP0320098B1 (en) Jump prediction
JPS63175934A (ja) デ−タ処理装置
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
JPS61198335A (ja) 分岐予測制御方式
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
JP2534662B2 (ja) 命令キヤツシユ制御方法
JPS61175733A (ja) 分岐予測制御方式
JPS6236258B2 (ja)
JPH0248733A (ja) 情報処理装置
JPH04245334A (ja) 情報処理装置の命令先読み制御方式
JPH046983B2 (ja)
JPH0695306B2 (ja) 命令先取り装置
JP2559416B2 (ja) 情報処理装置
JPH06301537A (ja) 命令フェッチ回路
JPS62114034A (ja) 計数分岐命令制御方式
JPS59125443A (ja) 命令アドレス比較方式
JPH03177926A (ja) 情報処理装置
JPS63191231A (ja) 命令の先取りを行なう情報処理装置
JPS6212532B2 (ja)
JPH03127126A (ja) 情報処理装置
JPS5991552A (ja) セツトアソシアテイブ型分岐ヒストリテ−ブルを有する命令先取り装置
JPH01296343A (ja) データ処理装置