JPH0512010A - 分岐予測方式 - Google Patents

分岐予測方式

Info

Publication number
JPH0512010A
JPH0512010A JP3163262A JP16326291A JPH0512010A JP H0512010 A JPH0512010 A JP H0512010A JP 3163262 A JP3163262 A JP 3163262A JP 16326291 A JP16326291 A JP 16326291A JP H0512010 A JPH0512010 A JP H0512010A
Authority
JP
Japan
Prior art keywords
instruction
branch
base
address
absolute 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.)
Granted
Application number
JP3163262A
Other languages
English (en)
Other versions
JP2687765B2 (ja
Inventor
Shinichi Nagoya
真一 名児耶
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 JP3163262A priority Critical patent/JP2687765B2/ja
Publication of JPH0512010A publication Critical patent/JPH0512010A/ja
Application granted granted Critical
Publication of JP2687765B2 publication Critical patent/JP2687765B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 高性能を保持しつつ小量のハードウェアで実
現できる分岐予測方式を提供する。 【構成】 先取りした命令が分岐命令であることをデコ
ードするデコーダ1−14と、ベースレジスタの番号単
位にベースアドレスの絶対アドレスを記憶するベース絶
対アドレスバッファ1−5と、デコーダによりデコード
の結果、先取りした命令が分岐命令であった場合に、該
分岐命令の命令語中で指定されるベーシレジスタ番号に
対応しベース絶対アドレスバッファにより記憶されてい
るベースアドレスの絶対アドレスと、命令語中で指定さ
れるディスプレースメントを加算する加算器1−8とを
有し、加算器による加算結果に基づき分岐先の命令の先
取りを行うことを特徴とした分岐予測方式。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分岐予測方式、特に仮
想記憶空間を有するパイプライン構成の情報処理装置に
使用される分岐予測方式に関する。
【0002】
【従来の技術】従来、この種の情報処理装置の分岐予測
方式には、分岐命令が格納されている絶対アドレス単位
に、前回分岐命令を実行したときに求まった分岐先の絶
対アドレスを記憶しそのアドレスに基づいて次命令の先
取りを行う方式や、前回分岐命令を実行したときの分岐
方向を記憶し、その方向に基づき分岐成功側を先取りす
る場合は、パイプラインの下位ユニットで分岐先の絶対
アドレスが求まるのを待って次命令の先取りを行う方式
がある。
【0003】
【発明が解決しようとする課題】上述した従来技術のう
ち分岐先の絶対アドレスを記憶する方式では、ハードウ
ェア量が非常に多くなるという問題点がある。
【0004】また、分岐の方向を記憶する方式では、分
岐先の絶対アドレスを記憶する方式に比べればハードウ
ェア量は少なくて済むものの、分子先の絶対アドレスが
求まる迄の間は次命令の先取りができない為、性能が劣
るという問題点がある。
【0005】
【課題を解決するための手段】本発明の分岐予測方式
は、仮想記憶空間を有し、分岐命令の分岐先アドレス
が、命令語中で指定されるベースレジスタの内容とディ
スプレースメントの加算結果によって定義され、且つ命
令の先取りを行うパイプライン構成の情報処理装置にお
ける分岐予測方式において、先取りした命令が分岐命令
であることをデコードするデコーダと、ベースレジスタ
の番号単位にベースアドレスの絶対アドレスを記憶する
ベース絶対アドレスバッファと、前記デコーダによりデ
コードの結果、先取りした命令が分岐命令であった場合
に、該分岐命令の命令語中で指定されるベーシレジスタ
番号に対応し前記ベース絶対アドレスバッファにより記
憶されているベースアドレスの絶対アドレスと、命令語
中で指定されるディスプレースメントを加算する加算器
とを有し、前記加算器による加算結果に基づき分岐先の
命令の先取りを行うことを特徴とする。
【0006】
【実施例】以下本発明の実施例について図面を参照しな
がら説明する。尚、本実施例に於いては、簡略化の為、
命令長は一律4バイトであり、命令の形式は図2に示す
様に上位1バイトで命令コード2−1,続く3ビットが
ベースレジスタ番号2−2,残る21ビットがディスプ
レースメントであるとする。
【0007】図1は本発明の一実施例を示す命令取り出
し制御部のブロック図である。
【0008】1−1は命令キャッシュであり、アドレス
レジスタ1−2によりセレクタ1−13を経由してアド
レスが与えられる。読み出された命令は命令レジスタ1
−3にセットされる。通常の命令取り出し制御はアドレ
ス1−2にセレクタ1−11により命令長である+4ず
つ加算された結果がセットされることにより行われる。
【0009】1−5は、ベースレジスタの番号毎にベー
スアドレスの絶対アドレスを記憶するベース絶対アドレ
スバッファであり、1−6は命令レジスタ1−3にセッ
トされた命令のベースレジスタ番号2−2をスタックす
るFIFO形式のベースレジスタバッファである。
【0010】また、1−7は命令レジスタ1−3のディ
スプレースメント2−3と、ベース絶対アドレスバッフ
ァ1−5を命令レジスタ1−3のベースレジスタ番号2
−2をアドレスとしてセレクタ1−12を介して読み出
したベースアドレスの絶対アドレスと各々入力とする加
算器1−8の出力をスタックするFIFO形式の分岐先
予測絶対アドレスバッファである。
【0011】1−4はパイプラインの下位ユニットによ
り求められた分岐先の絶対アドレスを保持する分岐先絶
対アドレスレジスタ、1−9,1−10は減算器、1−
15は比較器、1−14は命令レジスタ1−3の命令コ
ードをデコードするデコーダである。
【0012】図3は、本実施例の情報処理装置のパイプ
ライン構成図である。3−1は命令取り出し制御部であ
り、その詳細が図1に示す通りである。3−2はオペラ
ンドのアドレス展開部、3−3はアドレス展開部3−2
で展開されたアドレスを絶対アドレスに変換するアドレ
ス変換部、3−4はアドレス変換部3−3で変換された
絶対アドレスに基づいてオペランドキャッシュを索引し
オペランドのデータを得るオペランドキャッシュ部、3
−5は演算部である。
【0013】以下命令レジスタ1−3に分岐命令がセッ
トされた場合の動作について説明する。
【0014】デコーダ1−14により分岐命令であるこ
とがデコードされると、次命令の命令キャッシュ1−1
の読み出しアドレスとしてセレクタ1−13に於いて加
算器1−8の出力が選択される。加算器1−8の出力
は、命令レジスタ1−3にセットされた命令が分岐命令
であれば、ディスプレースメント2−3とベースレジス
タ番号2−2によって読み出されたベース絶対アドレス
バッファ1−5の値、即ち対応するベースアドレスレジ
スタの絶対アドレスとの加算結果であり、分岐先の絶対
アドレスを示す。従って次命令の読み出しは加算器1−
8の出力を命令キャッシュ1−1のアドレスとして行わ
れる。
【0015】ここでベース絶対アドレスバッファ1−5
に記憶されている各ベースレジスタ番号毎の絶対アドレ
スの値は、前回、該当するベースレジスタ番号を使用す
る任意の分岐命令が実行されたときに求められたもので
ある。従ってその後、ベースレジスタを更新する命令が
実行されたり、アドレス空間が切り換わった場合には正
しい値とは限らない。この為、次命令の取り出しに使用
したベースレジスタの絶対アドレスが正しい値であった
か否かを検証する必要が生じる。
【0016】命令レジスタ1−3にセットされた分岐命
令は、パイプラインの下位ユニットである図3のアドレ
ス展開部3−2に供給され、分岐先アドレスの展開が行
われ、さらにアドレス変換部3−2に於いて分岐先の絶
対アドレス変換が行われる。アドレス変換部3−2に於
いて求められた分岐先の絶対アドレスは命令取り出し制
御部3−1に送られ、図1の分岐先予測絶対アドレスレ
ジスタ1−4にセットされる。
【0017】分岐命令の次命令の取り出しに使用した絶
対アドレスは分岐先予測絶対アドレスバッファ1−7に
スタックされている為、分岐先予測絶対アドレスバッフ
ァ1−7の出力と分岐先予測絶対アドレスレジスタ1−
4の出力を比較器1−15により比較することにより前
記検証が行われる。
【0018】比較器1−15により比較結果により一致
が検出されれば、分岐命令の次命令の取り出しは正しい
アドレスで行われたことになり、そのまま動作は続けら
れる。
【0019】逆に比較器1−15により不一致が検出さ
れると、比較器1−15の出力CAN信号が“1”とな
り、パイプライン下位ユニットに対し分岐命令の次命令
以降の処理をキャンセルするとともに、セレクタ1−1
1に於いて分岐先予測絶対アドレスレジスタ1−4の値
を選択し、アドレスレジスタ1−2にセットすることに
より、分岐命令の次命令からの再取り出しを行う。ま
た、この場合、先に使用したベース絶対アドレスバッフ
ァ1−5の内容は、正しくなかったことになる為、以下
の様にベース絶対アドレスバッファ1−5の更新を行
う。
【0020】ベースレジスタ番号バッファ1−6には先
に使用したベースレジスタ番号2−2がスタックされて
おり、CAN信号が“1”となることによりセレクタ1
−12に於いてベースレジスタ番号バッファ1−6の出
力を選択し、先に使用したベースアドレスの絶対アドレ
スをベース絶対アドレスバッファ1−5の出力に読み出
し演算器1−9に入力する。
【0021】一方、分岐先予測絶対アドレスバッファ1
−7にはベース絶対アドレスバッファ1−5の出力と該
分岐命令のディスプレースメントとの加算結果がスタッ
クされている為、分岐先予測絶対アドレスバッファ1−
7の出力を減算器1−9の他方に入力することにより、
該分岐命令のディスプレースメント2−3の値が得られ
る。
【0022】次に、減算器1−9で求められたディスプ
レースメント2−3の値と分岐先予測絶対アドレスレジ
スタ1−4の値を減算器1−10に入力することにより
該当するベースレジスタ番号2−2のベースアドレスの
絶対アドレスを求め、この値を新たにベース絶対アドレ
スバッファ1−5に登録することにより、更新を行い次
に任意の分岐命令が該ベースレジスタを指定したときに
使用する。
【0023】
【発明の効果】以上説明したように、本発明の分岐予測
方式は、ベースレジスタ番号にベースアドレスの絶対ア
ドレスを記憶することにより、従来の分岐先の方向を記
憶する方法に比べて少ないハードウェア量でしかも高い
性能を得ることができ、また、従来の分岐先の絶対アド
レスを記憶する方法に比べて極端に少ないハードウェア
量でかつ同一の性能が得られる効果がある。
【図面の簡単な説明】
【図1】本発明による命令取り出し制御部のブロック
図。
【図2】命令形式図である。
【図3】本発明によるパイプライン構成図である。
【符号の説明】
1−1 命令キャッシュ 1−2 アドレスレジスタ 1−3 命令レジスタ 1−4 分岐先絶対アドレスレジスタ 1−5 ベース絶対アドレスレジスタ 1−6 ベースレジスタ番号バッファ 1−7 分岐先予測絶対アドレスバッファ 1−8 加算器 1−9,1−10 減算器 1−11,12,13 セレクタ 1−14 デコーダ 1−15 比較器 2−1 命令コード 2−2 ベースレジスタ番号 2−3 ディスプレースメント 3−1 命令取り出し制御部 3−2 アドレス展開部 3−3 アドレス変換部 3−4 オペランドキャッシュ部 3−5 演算部

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 仮想記憶空間を有し、分岐命令の分岐先
    アドレスが、命令語中で指定されるベースレジスタの内
    容とディスプレースメントの加算結果によって定義さ
    れ、且つ命令の先取りを行うパイプライン構成の情報処
    理装置における分岐予測方式において、 先取りした命令が分岐命令であることをデコードするデ
    コーダと、 ベースレジスタの番号単位にベースアドレスの絶対アド
    レスを記憶するベース絶対アドレスバッファと、 前記デコーダによりデコードの結果、先取りした命令が
    分岐命令であった場合に、該分岐命令の命令語中で指定
    されるベーシレジスタ番号に対応し前記ベース絶対アド
    レスバッファにより記憶されているベースアドレスの絶
    対アドレスと、命令語中で指定されるディスプレースメ
    ントを加算する加算器とを有し、 前記加算器による加算結果に基づき分岐先の命令の先取
    りを行うことを特徴とした分岐予測方式。
JP3163262A 1991-07-04 1991-07-04 分岐予測方式 Expired - Fee Related JP2687765B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3163262A JP2687765B2 (ja) 1991-07-04 1991-07-04 分岐予測方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3163262A JP2687765B2 (ja) 1991-07-04 1991-07-04 分岐予測方式

Publications (2)

Publication Number Publication Date
JPH0512010A true JPH0512010A (ja) 1993-01-22
JP2687765B2 JP2687765B2 (ja) 1997-12-08

Family

ID=15770467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3163262A Expired - Fee Related JP2687765B2 (ja) 1991-07-04 1991-07-04 分岐予測方式

Country Status (1)

Country Link
JP (1) JP2687765B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165254B2 (en) 2004-07-29 2007-01-16 Fujitsu Limited Thread switch upon spin loop detection by threshold count of spin lock reading load instruction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4979744A (ja) * 1972-12-08 1974-08-01
JPS5734254A (en) * 1980-08-08 1982-02-24 Nec Corp Information processing device
JPS62126442A (ja) * 1985-11-27 1987-06-08 Hitachi Ltd デ−タ処理装置
JPH01271842A (ja) * 1988-04-22 1989-10-30 Nec Corp 情報処理装置
JPH0228724A (ja) * 1988-07-18 1990-01-30 Fujitsu Ltd 分岐命令制御方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4979744A (ja) * 1972-12-08 1974-08-01
JPS5734254A (en) * 1980-08-08 1982-02-24 Nec Corp Information processing device
JPS62126442A (ja) * 1985-11-27 1987-06-08 Hitachi Ltd デ−タ処理装置
JPH01271842A (ja) * 1988-04-22 1989-10-30 Nec Corp 情報処理装置
JPH0228724A (ja) * 1988-07-18 1990-01-30 Fujitsu Ltd 分岐命令制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165254B2 (en) 2004-07-29 2007-01-16 Fujitsu Limited Thread switch upon spin loop detection by threshold count of spin lock reading load instruction

Also Published As

Publication number Publication date
JP2687765B2 (ja) 1997-12-08

Similar Documents

Publication Publication Date Title
US7266676B2 (en) Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays
KR100875377B1 (ko) 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법
JP3182438B2 (ja) データプロセッサ
EP1241567A2 (en) Method and apparatus for executing coprocessor instructions
EP1053522B1 (en) Microprocessor including multiple register files occupying the same logical space
JP2007299279A (ja) 演算装置、プロセッサシステム、及び映像処理装置
WO2000026770A1 (en) A method for writing data into data storage units
TWI757244B (zh) 包含支持指示意圖呼叫或回傳的控制移轉指令的處理器和系統及使用指示意圖呼叫或回傳的控制移轉指令的方法
US20080162903A1 (en) Information processing apparatus
JP2002229778A (ja) 高速ディスプレースメント付きpc相対分岐方式
JP2687765B2 (ja) 分岐予測方式
JPH02157939A (ja) 命令処理方法及び命令処理装置
US8909905B2 (en) Method for performing plurality of bit operations and a device having plurality of bit operations capabilities
JP2772100B2 (ja) 並列命令フェッチ機構
JPH07191911A (ja) アドレス変換装置及びマイクロプロセッサ算出方法
JPS60117335A (ja) 情報処理装置
JP2771373B2 (ja) 命令先取り装置
JPH05173778A (ja) データ処理装置
JPH09311787A (ja) データ処理装置
JPH0248733A (ja) 情報処理装置
JP2560520B2 (ja) 先行制御装置
JPS5940387A (ja) 仮想記憶制御方式
JP3851235B2 (ja) 分岐予測装置および分岐予測方法
US20030177339A1 (en) Optimization of a pipelined processor system
JPH0348535B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970722

LAPS Cancellation because of no payment of annual fees