JPH0557616B2 - - Google Patents

Info

Publication number
JPH0557616B2
JPH0557616B2 JP58159903A JP15990383A JPH0557616B2 JP H0557616 B2 JPH0557616 B2 JP H0557616B2 JP 58159903 A JP58159903 A JP 58159903A JP 15990383 A JP15990383 A JP 15990383A JP H0557616 B2 JPH0557616 B2 JP H0557616B2
Authority
JP
Japan
Prior art keywords
instruction
branch
associative
associative key
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
JP58159903A
Other languages
English (en)
Other versions
JPS6051948A (ja
Inventor
Susumu Shonai
Shunichi Torii
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58159903A priority Critical patent/JPS6051948A/ja
Priority to US06/645,672 priority patent/US4725947A/en
Priority to EP84110391A priority patent/EP0135844B1/en
Priority to DE8484110391T priority patent/DE3479251D1/de
Publication of JPS6051948A publication Critical patent/JPS6051948A/ja
Publication of JPH0557616B2 publication Critical patent/JPH0557616B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

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)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のターゲツト命令の1つに分岐
する場合でも、分岐先バツフア記憶装置から正し
くターゲツト命令列を出力できる情報処理装置に
関するものである。
〔発明の背景〕 パイプライン計算機では、命令の処理を部分処
理に分解し、個々の部分処理を実行する専用の独
立なユニツトを用意し、連続した複数の命令を工
場の組立てラインのようにオーバーラツプして処
理することにより高速処理を行つている。しか
し、分岐命令が出現すると、パイプラインの流れ
に乱れが生じるため、処理性能が低下する。した
がつて、高速処理を行う計算機の処理性能の向上
のためには、分岐命令の高速処理が必要不可欠で
ある。
分岐命令の出現によつてパイプラインの流れが
乱れる原因は、分岐が立成した場合、ターゲツト
命令語(分岐先命令語)が得られるまでに時間が
かかり、これが得られるまではターゲツト命令語
のデコードを開始できないことである。したがつ
て、分岐命令を高速処理するためには、ターゲツ
ト・フエツチの高速化が必要である。
従来、ターゲツト・フエツチの高速化を実現す
るものとして、ルート・メモリが提案されている
(特公昭54−9456号公報『情報処理装置』参照)。
第1図に示すように、ルート・メモリ1は、命令
デコード時に命令アドレス(IA)をキーとして、
次の2つを出力する連想記憶メモリである。
すなわち、(i)命令アドレスの指す命令が成立す
る分岐命令であるか否かの予測(BA?)、およ
び(ii)成立する分岐命令である場合には、そのター
ゲツト命令語(TI)である。しかし、上記ルー
ト・メモリ1には、次のような問題がある。
すなわち、命令アドレス(IA)のみをキーと
してルート・メモリ1を参照しているため、1つ
の分岐命令が複数のターゲツト命令のうち、どれ
か1つに分岐する場合を扱うことができないこと
である。つまり第2図に示すように、メイン・ル
ーチン3のA点からサブルーチン(SUBRT)の
先願アドレスに分岐し、これを終了してからター
ゲツト・アドレス4に戻り、その後B点で再び同
一サブルーチン(SUBRT)に分岐して、これを
終了してから戻る場合、ルート・メモリ1にはタ
ーゲツト・アドレス4の命令語が格納されている
ため、正しいターゲツト・アドレス5の命令語に
戻ることができない。
〔発明の目的〕
本発明の第1の目的は、同じ分岐命令が指定す
る分岐先命令のアドレスがその分岐命令の実行ご
とに変化し得る場合においても、分岐先命令を連
想記憶手段に登録可能にし、かつ再利用可能にし
た情報処理装置を提供することにある。
また、本発明の第2の目的は、分岐命令の分岐
先命令を連想記憶手段に登録した後、その分岐命
令の再実行時に、その分岐命令の分岐先命令を高
速に読み出すことが可能な情報処理装置を提供す
ることにある。
〔発明の概要〕
本願第1の発明の特徴は、分岐命令のある実行
時に分岐が成功したとき(例えば、第2図のA点
での分岐、あるいはサブルーチンの終り(RTN)
での分岐)、分岐命令のアドレス情報(例えば、
第2図のA点アドレス、あるいはサブルーチンの
終り(RTN)のアドレス)からなる第1の連想
キーと、その分岐先命令のアドレス(例えば、第
2図のサブルーチンの先頭アドレス、あるいA点
のアドレス4ないしB点のアドレス5)を生成す
るための情報からなる第2の連想キーとの組を連
想キーとして、その分岐先命令とともに連想記憶
手段102に記憶させる手段(IC、IR等および
14)と、ある分岐先命令が実行さたときに、そ
の分岐命令のアドレス情報からなる第1の連想キ
ーとその命令が指定する分岐先命令のアドレスを
生成するための情報からなる第2の連想キーとの
組を連想キーとして上記連想記憶手段102に供
給する手段(IC、IR等および14)と、供給さ
れた連想キーと一致する連想キーを有する分岐先
命令が連想記憶手段102から読み出されたと
き、その分岐命令の分岐が成功と予測して、その
分岐命令を実行する手段22とを有することであ
る。
また、上記第1の発明のより望ましい実施態様
は、上記第1の連想キーを第1のタイミングで連
想記憶手段102に供給する手段(14、IC等)
と、第2の連想キーをその第1のタイミングより
後の第2のタイミングで連想記憶手段102に供
給する手段(GRB、GRX等)とを有し、上記連
想記憶手段102は、分岐命令のアドレス情報か
らなる第1の連想キーが供給されたときに、これ
に一致する第1の連想キーを有する分岐先命令を
検出する手段(第5図の248,250)と、読
み出すべき分岐命令のアドレスを生成するための
情報からなる第2の連想キーがその後に供給され
たときに、その検出された複数の分岐先命令のう
ち、この供給された第2の連想キー一致する第2
の連想キーを有する一つの分岐先命令を選択して
供給する手段(第4図の32,34)からなる。
ここで、第1のタイミングは、例えば分岐命令
の実行開始前であり、第2のタイミングを、例え
ば分岐命令の実行開始後である。あるいは、第1
のタイミングは、分岐命令の解読前であり、第2
のタイミングは、分岐命令の解読後と言つてもよ
い。あるいは第1のタイミングは、遅くとも分岐
命令の読み出しのときであり、第2のタイミング
は、分岐命令の読み出し後と言つてもよい。
本願の第2の発明の特徴は、分岐先命令を記憶
する連想記憶手段102に対して、連想キーとし
て、分岐先命令のアドレスを算出するのに使用す
る、分岐先命令が指定するアドレス情報を使用
し、この分岐命令が再実行されたときには、分岐
先命令を連想記憶手段102から読み出すための
連想キーとして、分岐先命令のアドレスを算出す
るのに使用する、分岐命令が指定するアドレス情
報を使用することである。
なお、この第2の発明では、分岐命令のアドレ
ス情報を連想キーとして使用するか否かには言及
していない。その意味で、第1の発明とは独立し
た発明である。しかし、いずれの発明も、分岐先
命令のアドレスに関連する情報を連想キーとして
使用し、かつ分岐先命令が連想記憶手段102に
登録されているときには、分岐命令の分岐が成功
したものとして実行するところに共通の特徴があ
る。
〔発明の実施例〕
第3図は、本発明による分岐先バツフア記憶装
置と命令処理装置とのインターフエースを示す図
である。
命令処理装置100と分岐先バツフア記憶装置
102とは、IC信号線104、DISP信号線10
6、BRN信号線108、GRB信号線110、
GRX信号線112、TKNP信号線114、PTI
信号線118、TI信号線120、およびTKN信
号線122の合計9本の信号線で結合されてい
る。
本発明の分岐先バツフア記憶装置102は、分
岐命令の命令アドレス、変位情報、分岐命令語の
ターゲツト・アドレスを決定するパラメータ、す
なわち分岐命令中のレジスタ指定情報の指示する
レジスタ値を連想キー(例えば、第2図のサブル
ーチンの終りのアドレスRTNの情報を第1の連
想キー、A点のアドレス4を生成する情報または
B点のアドレス5を生成する情報を第2の連想キ
ーとする)として、その分岐命令のターゲツト命
令語を含む命令語を出力するものである。
なお、特定のコンピユータ(例えば、IBM
System/370)では、分岐命令の指示するベー
ス・レジスタ値とインデツクス・レジスタ値と変
位情報により、ターゲツト・アドレスが決定され
るが、本実施例ではこの場合に対応しており、上
記パラメータとしてベース・レジスタ値とインデ
ツクス・レジスタ値を用いている。
また、ベース・レジスタ値とインデツクス・レ
ジスタ値と分岐命令語中の変位情報との和ではな
く、分岐命令の指示する汎用レジスタの値をター
ゲツト命令のアドレスとする分岐命令に対して、
本実施例を適用する場合には、連想キー(第2の
連想キー)となるベース・レジスタまたはインデ
ツクス・レジスタの値の片方の値をゼロとし、他
方の値を汎用レジスタの値として分岐先バツフア
記憶装置102をアクセスする。
分岐先バツフア記憶装置102では、分岐命令
の指すベース・レジスタとインデツクス・レジス
タの値(汎用レジスタの値をターゲツト・アドレ
スとする分岐命令に対しては、汎用レジスタの
値)を連想キー(すなわち、第1の連想キー)と
して用いているので、サブルーチン・リターンの
ように、1つの分岐命令が複数のターゲツト命令
の中のいずれか1つに分岐する場合にも、上記連
想キーが異なるため、これを扱うことができる。
分岐先バツフア記憶装置102を用いると、タ
ーゲツト・フエツチの高速化が達成されるので、
分岐命令が高速に処理できる。そして、分岐命令
の分岐が成功したものとして、つまり分岐命令の
分岐判定の結果を待たないで、分岐先命令を実行
することができる。
分岐先バツフア記録装置102には、ある分岐
命令の実行時に分岐が成功したときに記憶する。
例えば、第2図の場合には、RTNでA点の4、
またはB点の5へ分岐が成功したときに、分岐命
令アドレスであるサブルーチンSUBRTの終りの
アドレス(RTN)の情報からなる第1の連想キ
ーを記憶し、次に分岐先命令のアドレス4を生成
するための情報からなる第2の連想キー、あるい
は分岐先命令のアドレス5を生成するための情報
からなる第2の連想キーを記憶することになる。
そして、その分岐命令が再度実行されたとき
に、その第1の連想キーと第2の連想キーの組を
連想キーとして分岐先バツフア記憶装置102に
供給し、供給した連想キーと一致する連想キーを
有する分岐先命令が読み出されたとき、その分岐
命令は成功と予測し、読み出した分岐命令を実行
する。第4図は、第3図における命令処理装置の
詳細ブロツク図である。
第4図には、分岐先バツフア102を含む命令
処理装置が記載されている。命令処理装置は、分
岐先バツフア記憶装置102、命令プリフエツチ
回路10、メモリ12、プリフエツチした命令群
をバツフアリングする命令バツフア14、命令レ
ジスタ15、セレクタ11,13、命令レジスタ
15中の命令が分岐命令であるか否かを調べる分
岐命令検出回路30、セレクタ切換回路32、デ
コード切換回路34、汎用レジスタ17、セレク
タ18,19、アドレス加算器20、メモリ2
1、実行ユニツト(演算器)22等から構成され
る。
次に、全体の動作を説明する。
命令群を読み出す際の命令プリフエツチ・アド
レスを、あらかじめ命令フエツチ・アドレス・ユ
ニツト10に格納しておき、セレクタ11でアド
レス加算器20の出力または命令フエツチ・アド
レス・ユニツト10の上記命令でプリフエツチ・
アドレス出力の一方を選択してメモリ12にアク
セスし、1命令群を命令バツフア14に読み出し
て格納する。命令バツフア14から1命令ずつ命
令レジスタ15に読み出し、命令内の変位情報を
アドレス加算器20の一方の入力として用いるた
め転送する。命令バツフア14から命令レジスタ
15に読み出された命令のアドレスは、IC信号
線104を介して分岐先バツフア記憶装置102
に送出される。同時に、分岐命令語中の変位情報
をDISP信号線106を介して分岐先バツフア記
憶装置102に送出する。なお、TI、IR、
BRN、GRN、GRX、GRB、TKNは、第3図に
示すように、命令処理装置から分岐先バツフア記
憶装置102に情報を転送する回路である。分岐
命令検出回路30は、命令をデコードし、分岐命
令のときにはBRN信号線108に、‘1'を出力
して分岐先バツフア記憶装置102を起動する。
また、汎用レジスタ17のベース・レジスタとイ
ンデツクス・レジスタの各値が、命令レジスタ1
5の中のベース・フイールドとインデツクス・フ
イールドによりセレクタ18,19で選択され、
さらにアドレス加算器20で上記変位情報ととも
に加算されて、その結果が命令フエツチ・アドレ
ス・ユニツト10およびセレクタ11に転送さ
れ、次のターゲツト命令のアドレスとなる。セレ
クタ11に転送されたこのターゲツト命令のアド
レスは、ターゲツト命令語を含む命令群をフエツ
チするために、命令ストレージ・ユニツト12に
入力される。
ベース・レジスタとインデツクス・レジスタの
値は、GRB信号線110とGRX信号線112に
それぞれ出力され、分岐先バツフア記憶装置10
2に送出される。分岐でない普通の命令のときに
は、アドレス加算器20の出力でオペランド・ス
トレージ21をアクセスし、オペランドを読み出
して実行ユニツト22にこれを与えることにより
実行させる。
分岐先バツフア記憶装置102は、信号線10
4,106,110,112を介して転送された
データを連想キーとして、対応するターゲツト命
令語を含む命令群が分岐先バツフア記憶装置10
2内に登録されているか否かを調べる。登録され
ているときには、分岐先バツフア記憶装置102
はTKNP信号線114に‘1'を出力し、さらに
ターゲツト命令語を含む命令群をRTI信号線11
8に出力する。セレクタ切換回路32は、信号線
114から‘1'を受け取つたとき、点線で示す制
御線を介してセレクタ13に右側入力を選択さ
せ、命令バツフア14にターゲツト命令語を含む
命令群を格納する。
なお、分岐先バツフア記憶装置102にターゲ
ツト命令語を含む命令群が登録されていないとき
には、分岐先バツフア記憶装置102は、
TKNPS信号線114に‘0'を出力する。
デコード切換回路34は、信号線114を介し
て‘0'が転送されてきたときには、分岐命令が分
岐不成立と予測して信号線40を‘0'にして、命
令バツフア14内の分岐命令の次の命令を命令レ
ジスタ15に切り出し、そのデコードを開始す
る。
これに対して、信号線114を介して‘1'が転
送されてきたときには、信号線40を‘1'にして
分岐命令が分岐成立と予測し、信号線118を介
して命令バツフア14に格納されたターゲツト命
令を含む命令群の中のターゲツト命令語を命令レ
ジスタ15に切り出し、そのデコードを開始す
る。
実行ユニツト22は、上記デコードと並行して
分岐命令を実行する。分岐命令のデコード開始か
ら一定時間後に分岐命令の実行が完了し、分岐命
令の判定結果が得られる。また、それと同時に、
アドレス加算器20からセレクタ11を介して命
令ストレージ・ユニツト12に入力されたターゲ
ツト・アドレスに基づいて、ターゲツト命令語を
含む命令群のフエツチを行う。
実行ユニツト22は、分岐不成立のときには
TKN信号線122に‘0'を出力する。また、分
岐成立のときには、TKN信号線122に‘1'を
出力して、分岐先バツフア記憶装置102に転送
する。
そして、命令ストレージ・ユニツト12から読
み出されたターゲツト命令語を含む命令群を信号
線120を介して分岐先バツフア記憶装置102
に送出する。
分岐先バツフア記憶装置102は、信号線12
0,122を介して転送されたデータに基づい
て、書き込みサイクル動作を行う。
本発明における第1番目の重要な機能は、同じ
分岐命令の分岐先命令のアドレスが、その分岐命
令の実行毎に変化する場合でも、分岐先命令を連
想記憶手段に登録可能にしたことである。そし
て、これを再利用可能にすることである。すなわ
ち、分岐先命令のアドレスを生成するための情報
からなる第2の連想キーを連想キーの一部に使用
して、分岐先命令を連想記憶手段に登録すること
により、同じ分岐命令の分岐先命令が複数あり得
る場合でも、現在必要な分岐先命令を正しく連想
記憶装置から読み出せるようにしている。さら
に、分岐命令の分岐が成功した場合に、その分岐
先命令を登録し、分岐命令の再度の実行時に、連
想記憶手段に分岐先命令が登録されている場合
に、その分岐命令の分岐が今回も成功と予測し
て、つまりこの分岐命令の実行により、分岐が成
功したか否かの判定結果が出るのを待たないで、
分岐先命令の実行開始を行う。これにより、分岐
先命令の実行を高速に開始することができる。こ
のように、分岐が成功と予測して分岐先命令を実
行するからには、分岐先命令がいずれの分岐命令
の分岐が成功したものであるかを区別する必要が
ある。このために、実行例では、連想記憶手段に
分岐命令のアドレス情報からなる第1の連想キー
をも登録するようにしている。単に、分岐命令の
アドレスを生成するための情報からなる第2の連
想キーを使用しただけでは、どの分岐命令が成功
したときに実行すべき分岐先命令であるかが判断
できない。
本発明では、このように2つの連想キーを使用
して、以上の問題がないようにしている。
さらに、本実施例では、第1のタイミングで予
め複数の分岐先命令を読み出すことができるの
で、それだけ連想記憶手段を早くアクセスするこ
とができ、その結果、最終的に分岐先命令を読み
出すタイミングが早くなり、分岐先命令の実行開
始を早めることが可能である。
次に、本発明における第2番目に重要な機能を
説明する。
ある分岐命令の分岐先命令を連想記憶手段に登
録する場合に、分岐先命令のアドレスを連想キー
として登録すると、その分岐命令が再実行された
ときには、その分岐命令が指定する情報に基づい
て、分岐先命令を算出した後で、算出後の分岐命
令アドレスを連想キーとして連想記憶手段に供給
する必要がある。
本発明の場合には、アドレス算出の基となる情
報を連想キーとして供給すればよいため、それだ
け早く連想記憶手段をアクセスすることができ
る。
さらに、本発明では、連想記憶手段に再実行さ
れた分岐命令の分岐先命令が登録されているとき
には、その分岐命令の分岐が成功と予測して分岐
先命令を実行するので、分岐先命令が早く読み出
された分だけ、より早期にその分岐先命令を実行
することができる。
第5図は、本発明の実施例を示す分岐先バツフ
ア記憶装置の構成図である。
分岐先バツフア記憶装置102は、過去に分岐
成立となつた分岐先命令の命令語群を、連想キー
である分岐命令語のアドレス、分岐命令語中の変
位情報、ベース・レジスタとインデツクス・レジ
スタの値とともに記憶している。分岐先バツフア
記憶装置102では、各分岐命令は、その分岐命
令が前回実行されたときと同じ成立/不成立判定
をすると予測し、かつ前回の実行が成立判定のと
きには、そのときのターゲツト命令語と同じもの
が実行されると予測する。従つて、ある分岐命令
の連想キーに対応するターゲツト命令語を含む命
令群が分岐先バツフア記憶装置に記憶されている
ときには、その連想キーの基になつた分岐命令は
成立すると予測され、そうでないときには不成立
と予測される。
ある分岐命令に対し、分岐先バツフア記憶装置
が不成立と予測して、実際にその分岐命令が分岐
不成立となつた場合には、分岐先バツフア記憶装
置の内容は変化しない。また、あるい分岐命令に
対し、分岐先バツフア記憶装置が不成立と予測し
たにもかかわらず、実際にはその分岐命令が分岐
成立となつた場合には、その分岐命令のターゲツ
ト命令語を含む命令群と連想キーは、対応した分
岐先バツフア記憶装置に新しく記憶される。ある
分岐命令に対し、分岐先バツフア記憶装置が成立
と予測したにもかかわらず、実際にはその分岐命
令が分岐不成立となつた場合には、その分岐命令
のターゲツト命令語を含む命令群および対応する
連想キーは、分岐先バツフア記憶装置から削除さ
れる。さらに、ある分岐命令に対し、分岐先バツ
フア記憶装置が成立と予測して、実際にその分岐
命令が分岐成立となつた場合には、その分岐命令
のターゲツト命令語を含む命令群は、予測時に用
いたターゲツト命令語を含む命令群の上に重ね書
きされる。
第5図に示すように、分岐先バツフア記憶装置
は、RAM412,236、セレクタ208,2
54,400,442,438、レジスタ20
2,216,218,220,222,238,
262,264、制御回路414およびその他の
組合わせ論理回路から構成される。
RAM412には、過去に分岐成立となつた分
岐命令の命令アドレスの上位16ビツト、分岐命令
語の変位情報、ベース・レジスタとインデツク
ス・レジスタの値、およびターゲツト命令語を含
む命令群が記憶されている。RAM412は、TI
フイールド、GRBフイールド、GRXフイール
ド、IRフイールド、ICUフイールド、Validフイ
ールドから構成されている。TIフイールドには
上記ターゲツト命令語を含む命令群が、GRBフ
イールドには上記ベース・レジスタの値が、
GRXフイールドには上記インデツクス・レジス
タの値が、IRフイールドには上記分岐命令語中
の変位情報が、ICUフイールドには上記命令アド
レスの上位16ビツトが、それぞれ記憶されてい
る。
RAM412の各フイールドは、2ロー・
65536(2の16乗)カラム構成となつている。
RAM412は、読み出し時には、信号線21
0で指定されたカラム全ローが同時に読み出さ
れ、書き込み起動時には、信号線210で指定さ
れたカラムの中で、信号線212で指定されたロ
ーに対して書き込みが行われる。
なお、本実施例では、2ロー、65536カラム構
成であるが、任意のロー数、任意のカラム数で構
成できることは勿論である。また、本実施例で
は、分岐命令アドレスの下位16ビツトをカラム・
アドレの決定に用いているが、分岐命令アドレ
ス、分岐命令語中の変位情報、ベース・レジスタ
の値の中のビツトの任意のビツトの組合わせを、
カラム・アドレスの決定に使用することができる
のは明らかである。
次に、分岐先バツフア記憶装置の動作の詳細を
説明する。
分岐先バツフア記憶装置の動作は、読み出しサ
イクルと書き込みサイクルからなる。
(a) 読み出しサイクル 分岐先バツフア記憶装置の読み出しサイクル
の動作は、BRN信号線108を介して‘1'が
制御回路414に転送された時点から開始され
る。制御回路414は、RAM412,236
の読み出しを起動し、セレクタ208に左選択
信号を出す。また、レジスタ202,216,
218,220,222の書き込みを起動す
る。
書き込みが起動されたICLIレジスタ202
には、信号線200を介してIC信号線104
の下位16ビツトが書き込まれ、ICUIレジスタ
222には、IC信号線104上の分岐命令ア
ドレスの上位16ビツトが書き込まれる。また、
レジスタ216、レジスタ218、レジスタ2
20には、それぞれGRB信号線110上のベ
ース・レジスタの値、GRX信号線112の上
のインデツクス・レジスタの値、IR信号線1
06上の命令語が書き込まれる。
また、RAM412から信号線204、セレ
クタ208、信号線210を介して伝達された
IC信号線104上の命令アドレスの下位16ビ
ツトで指定されたカラムのデータを、信号線2
40,268,270,272,274,27
6,278,280,282,284,28
6,292,294に出力する。
比較器248,250の左側には、信号線1
10,112,106,426,434のデー
タガ入力される。また、比較器248を右側に
は、信号線284,280,276,272,
268のデータが入力される。比較器520右
側には、信号線286,282,278,27
4,270のデータが入力される。比較器24
8,250は、右側入力データと左側データと
が等しいときにロー0一致信号線306、ロー
1一致信号308にそれぞれ‘1'を出力し、等
しくないときには‘0'を出力する。すなわち、
解読された分岐命令アドレスの上位16ビツトベ
ース・レジスタとインデツクス・レジスタの
値、および分岐命令語と、ロー0/ロー1から
読み出したICUフイールド、GRBフイールド、
GRXフイールド、IRフイールドのデータがそ
れぞれが等しく、かつValidフイールドの値が
‘1'に等しければ、比較器248/250は‘
1'を出力し、それ以外では‘0'を出力する。
ロー0かロー1のいずれかのデータが上記の
ように等しい場合、つまり分岐先バツフア記憶
装置に連想キーに対応するターゲツト命令語を
含む命令群が登録されている場合には、ロー0
一致信号線306またはロー1一致信号線30
8が‘1'になり、OR回路256はTKNP信号
線114に‘1'を出力し、汎用コピユータ10
0に転送する。
また、エンコーダ258は、連想キーに対応
するターゲツト命令語を含む命令群が登録され
ているロー番号の2進数をロー番号信号線35
8に出力する。例えば、ロー1に連想キーに対
応するターゲツト命令語が登録されているなら
ば、比較器248,250によりロー1一致信
号308にだけ‘1'が出力され、エンコーダ2
58はロー番号信号線358に‘1'を出力す
る。ロー番号信号線のデータはセレクタ254
に入力され、信号線292,294の中で、登
録されていたローから出ている信号線のデータ
を、PTI信号線118に出力する。例えば、信
号線358に‘1'が出力されているならば、信
号線294のデータがRTI信号線118に出力
される。
ロー0およびロー1のいずれにも、連想キー
に対応するターゲツト命令語を含む命令群が登
録されていない場合には、信号線306,30
8は両方とも‘0'となり、OR回路256は‘
0'をTKNP信号線114に出力し、汎用コン
ピユータ100に転送する。
BRN信号線108を介して‘1'が制御回路
414に入力してから、このようにして読み出
しサイクルの動作が行われ、信号線240,4
22,424,114、ロー番号信号線358
にデータが出力される時刻に、制御回路414
はRPLOレジスタ262、ROW#SVレジスタ
264の書き込みを起動する。書き込み起動さ
れたRPLOレジスタ238、レジスタ418,
420、HITSVレジスタ262、ROW#SV
レジスタ264には、信号線114、およびロ
ー0番号信号線358上のデータがそれぞれ書
き込まれる。上記各レジスタに書き込まれたデ
ータは、次に説明する書き込みサイクルで使用
される。
(b) 書き込みサイクル RPLOレジスタ238に記憶された再配置制
御データは、信号線242を介して書き込みロ
ー選択回路224に入力される。書み込みロー
選択回路224は、FIFO方式、LRU方式等の
周知の再配置方式を用いて構成されるものであ
り、書き込まれるローを選択し、そのロー番号
を信号線402を介してセレクタ400に入力
する。
レジスタ418に記憶されていたデータは、
信号線408を介してセレクタ400に入力さ
れる。
レジスタ420のデータは、信号線410を
介してセレクタ400に入力される。信号線4
10を介して‘1'が入力されるときには、セレ
クタ400は信号線402のデータを信号線4
36に出力する。信号線410を介して‘0'が
入力されるときには、セレクタ400は信号線
408のデータを信号線436に出力する。
信号線436のデータは、分岐先バツフア記
憶装置にターゲツト命令語を含む命令群と連想
キー(第1の連想キーおよび第2の連想キー)
を新しく記憶するローの番号であり、セレクタ
438に入力される。
ROW#SVレジスタ264のデータは、信号
線356を介してセレクタ438に入力され
る。
HITSVレジスタ262のデータは、信号線
354を介してセレクタ348に入力される。
信号線354を介して‘1'が入力されるとき
には、セレクタ438は信号線356のデータ
を信号線212に出力する。信号線354を介
して‘0'が入力されるときには、セレクタ43
8は、信号線436のデータを信号線212に
出力する。信号線212のデータは、再配置制
御データ更新論理回路246とRAM412に
入力される。信号線212のデータは、書き込
みのサイクルでRAM412に書き込まれるロ
ーの番号である。再配置制御データ更新論理回
路246には、さらにRPLOレジスタ238の
データが信号線242を介して入力される。再
配置制御データ更新論理回路246は、FIFO
方式、LRU方式等の周知の再配置方式を用い
て構成されるものであり、信号線212上の書
き込みロー番号に基づいて信号線242上の再
配置制御データを更新する。更新された再配置
制御データは、信号線234を介してRAM2
36に入力される。
さらにGRBI信号線224上のベース・レジ
スタの値、GRXI信号線226上のインデツク
ス・レジスタの値、IRI信号線228上の命令
語、ICUI信号線230上の分岐命令アドレス
の上位16ビツトは、それぞれRAM412の
GRBフイールド、GRXフイールド、IRIフイ
ールド、ICUIフイールドに入力される。
演算器22では、最終サイクルで分岐命令の
判定を行い、TKN信号線122を介して判定
結果が分岐先バツフア記憶装置に転送され、分
岐成立のときにはさらにTI信号線120を介
してターゲツト命令語が転送される。
上記事象に同期して、HITSVレジスタ26
6が‘1'、またはTKN信号線122が‘1'の
ときのみ、セレクタ208に右選択信号が出さ
れ、RAM412の書き込みが起動される。さ
らに、信号線122が‘1'のときにセレクタ4
42に右選択信号が出され、TKN信号線12
2が‘0'のときに左選択信号が出される。
ICLI信号線206上の命令アドレスの下位
16ビツトは、セレクタ208、信号線210を
介してRAM412に入力される。
書き込みが起動されたRAM412のGRBフ
イールド、GRXフイールド、IRフイールド、
ICUフイールドには、それぞれGRBI信号線上
のベース・レジスタ値、IR信号線上の命令語、
およびICU信号線上の分岐命令アドレスの上位
16ビツトが、レジスタ262が‘1'のときに、
レジスタ264が示すロー番号のローに書き込
まれる。レジスタ262が‘0'のときには、
LRU方式またはFIFO方式等の公知の再配置方
法の1つを用いて選択されたローに書き込まれ
る。この再配置方法は、本発明には直接の関係
がないため、これ以上の説明は省略する。
HITSVレジスタ262が‘1'であり、かつ
TKN信号線122‘1'のときには、さらに
RAM412のTIフイールドにTI信号線120
のデータが書き込まれる。これにより、読み出
しサイクルで読み出されたターゲツト命令語を
含む命令群の上に、TI信号線120を介して
転送されたターゲツト命令語を含む命令群が重
ね書きされる。
また、HITSVレジスタ262が‘1'であり、
かつTKN信号線122が‘0'のときには、さ
らにValidフイールドに‘0'が書き込まれる。
これにより、読み出しサイクルで読み出された
ターゲツト命令語を含む命令群と、それに対応
する連想キー(第1の連想キーおよび第2の連
想キー)が分岐先バツフア記憶装置から削除さ
れる。
また、HITSVレジスタ262が‘0'であり、
かつTKN信号線122が‘1'のときには、さ
らにTIフイールドにTI信号線120のデータ
が書き込まれ、Validフイールドには‘1'が書
き込まれる。これにより、ターゲツト命令語
と、それに対応する連想キー(第1の連想キー
およびこの後の第2の連想キー)が分岐先バツ
フア記憶装置に新しく記憶される。
HITSVレジスタ262とTKN信号線12
2が、ともに‘0'のときには何も行われない。
以上のように、本願の第1の発明では、分岐
命令のある実行時に分岐が成功したとき、その
分岐命令のアドレス情報からなる第1の連想キ
ーと、その分岐先命令のアドレスを生成するた
めの情報からなる第2の連想キーとの組を連想
キーとして、その分岐先命令とともに連想記憶
手段に登録し、次にある分岐先命令が実行され
たとき、その分岐命令のアドレス情報からなる
第1の連想キーとその命令が指定する分岐先命
令のアドレスを生成するための情報からなる第
2の連想キーとの組を連想キーとして、連想記
憶手段に供給する。そして、供給された連想キ
ーと一致する連想キーを有する分岐先命令が連
想記憶手段から読み出されたとき、その分岐命
令の分岐が成功と予測し、その分岐先命令を実
行する。
また、第1の発明の実施態様では、第1のタ
イミングで、第1の連想キーを連想記憶手段に
供給し、第1のタイミングより後の第2のタイ
ミングで、第2の連想キーを連想記憶手段に供
給する。連想記憶手段は、分岐命令のアドレス
情報からなる第1の連想キーが供給されたと
き、これに一致する第1の連想キーを有する分
岐先命令が複数存在するときには、それらの複
数の分岐先命令を検出する。また、読み出すべ
き分岐先命令のアドレスを生成するため情報か
らなる第2の連想キーがその後に供給されたと
きに、検出された複数の分岐先命令のうち、こ
の供給された第2の連想キーに一致する第2の
連想キーを有する1つの分岐先命令を選択して
供給する。なお、第1の連想キーを連想記憶手
段に供給する第1のタイミングとしては、分岐
命令の実行開始前、あるいは分岐命令の解読
前、あるいは分岐命令の読み出し時であり、一
方、第2の連想キーを連想記憶手段に供給する
第2のタイミングとしては、分岐命令の実行開
始後、あるいは分岐命令の解読後、あるいは分
岐命令の読み出し後である。
また、本願の第2の発明では、分岐先命令を
記憶する連想記憶手段に対して、連想キーとし
て分岐先命令のアドレスを算出するのに使用す
る情報、つまり分岐命令が指定するアドレス情
報を使用して、この分岐命令が再実行されたと
きには、分岐先命令を連想記憶手段から読み出
すための連想キーとして、分岐先命令のアドレ
スを算出するために使用する情報、つまり分岐
命令が指定するアドレス情報を使用する。
第1および第2の発明のいずれも、分岐先命
令のアドレスを生成するための情報からなる連
想キーを用いており、かつ分岐先命令が連想記
憶手段に登録されているときには、分岐命令の
分岐が成功と予測して実行する点で共通してい
る。
〔発明の効果〕
以上説明したように、本発明によれば、同じ分
岐命令が指定する分岐先命令のアドレスがその分
岐命令の実行毎に変化する場合でも、分岐先命令
を連想記憶手段に登録することができ、かつ再利
用が可能である。また、分岐命令の分岐先命令を
連想記憶手段に登録した後、その分岐命令の再実
行時に、その分岐命令の分岐先命令を高速に読み
出し、実行することができる。
【図面の簡単な説明】
第1図および第2図は従来のルート・メモリの
機能を説明する図、第3図は本発明の一実施例を
示す分岐先バツフア記憶装置と命令処理装置との
インターフエースの図、第4図は第3図の詳細ブ
ロツク図、第5図は本発明の一実施例を示す分岐
先バツフア記憶装置のブロツク図である。 10:命令フエツチ・アドレス・ユニツト、1
1,13:セレクタ、12:命令ストレージ、1
4:命令バツフア、15:命令レジスタ、17:
汎用レジスタ、18,19:セレクタ、20:ア
ドレス加算器、21:オペランド・ストレージ、
22:実行ユニツト、30:分岐命令検出回路、
32:セレクタ切換回路、34:デコード切換回
路、100:命令処理装置、102:分岐先バツ
フア記憶装置、104:IC信号線、106:
DISP信号線、108:BRN信号線、110:
GRB信号線、112:GRX信号線、114:
TKNP信号線、116:PTI信号線、120:
TI信号線:122:TKN信号線、412,23
6:RAM、414:制御回路、248,25
0:比較器、208,254,400,442,
438:セレクタ。

Claims (1)

  1. 【特許請求の範囲】 1 連想記憶手段と、ある分岐命令の実行時に分
    岐が成功したとき、該分岐命令のアドレス情報か
    らなる第1の連想キーと、その分岐先命令のアド
    レスを生成するための情報からなる第2の連想キ
    ーとの組を連想キーとして、該分岐先命令ととも
    に該連想記憶手段に記憶させる手段と、該分岐命
    令が再度実行されたときに、該分岐命令のアドレ
    ス情報からなる第1の連想キーと該分岐命令が指
    定する分岐先命令のアドレスを生成するための情
    報からなる第2の連想キーとの組を連想キーとし
    て該連想記憶手段に供給する手段と、供給された
    連想キーと一致する連想キーを有する分岐先命令
    が連想記憶手段から読み出されたとき、該分岐命
    令の分岐が成功と予測して、読み出された分岐先
    命令を実行する手段とを有することを特徴とする
    情報処理装置。 2 前記供給手段は、命令が記憶されているメモ
    リから前記再実行された分岐命令を読み出すため
    の命令アドレスの一部を該分岐命令の第1の連想
    キーとして供給する第1の供給手段と、該分岐命
    令が指定する分岐先命令のアドレス情報に基づい
    て、オペランド記憶装置から読み出された複数の
    オペランドを該分岐命令の第2の連想キーとして
    供給する第2の供給手段を有することを特徴とす
    る特許請求の範囲第1項記載の情報処理装置。 3 前記分岐命令が指定する分岐先命令のアドレ
    ス情報は、ベースレジスタの番号とインデツクス
    レジスタの番号と変位からなり、複数の上記アド
    レス情報は、オペランド記憶装置として情報処理
    装置に設けられた複数のレジスタのうち、該ベー
    スレジスタの番号を有する第1のレジスタの内容
    と、該インデツクスレジスタの番号を有する第2
    のレジスタの内容とからなり、前記第2の供給手
    段は、該第1、第2のレジスタの内容を第2の連
    想キーとして供給する手段からなることを特徴と
    する特許請求の範囲第2項記載の情報処理装置。 4 前記一組の連想キーを供給する手段は、前記
    第1の連想キーを第1のタイミングで連想記憶手
    段に供給する手段と、前記第2の連想キーを前記
    第1のタイミングより後の第2のタイミングで該
    連想記憶手段に供給する手段とを有し、該連想記
    憶手段は、該第1の連想キーが供給されたとき
    に、該第1の連想キーに一致する第1の連想キー
    を有する分岐先命令が複数記憶されているときに
    は、該複数の分岐先命令を検出する手段と、該第
    2の連想キーがその後に供給されたときに、該検
    出された複数の分岐先命令のうち、該第2の連想
    キーに一致する第2の連想キーを有する一つの分
    岐先命令を選択して供給する手段からなることを
    特徴とする特許請求の範囲第1項記載の情報処理
    装置。 5 前記第1のタイミングは、再実行された分岐
    命令の実行開始前であり、前記第2のタイミング
    は、該分岐命令の実行開始後であることを特徴と
    する特許請求の範囲第4項記載の情報処理装置。 6 前記第1のタイミングは、再実行された分岐
    命令の解読前であり、前記第2のタイミングは、
    該分岐命令の解読後であることを特徴とする特許
    請求の範囲第4項記載の情報処理装置。 7 前記第1のタイミングは、遅くとも再実行さ
    れた分岐命令を命令記憶装置から読み出すときで
    あり、前記第2のタイミングは、その読み出しの
    後であることを特徴とする特許請求の範囲第4項
    記載の情報処理装置。 8 前記第2の供給手段は、オペランド記憶装置
    として情報処理装置に設けられた複数のレジスタ
    のうち、分岐命令が指定するベースレジスタの番
    号を有する第1のレジスタの内容と、同じくイン
    デツクスレジスタの番号を有する第2のレジスタ
    の内容と、該分岐命令に含まれる変位とを供給す
    る手段とからなり、前記供給されたオペランドに
    基づいて、分岐先命令のアドレスを算出する手段
    は、該第1、第2のレジスタの内容と変位とを加
    算する手段からなり、前記連想記憶手段に記憶さ
    せる手段は、前記第2の供給手段により供給され
    た該第1、第2のレジスタの内容の少なくとも一
    方を連想キーとして記憶する手段を有し、また再
    実行された分岐命令に関して、連想キーを供給す
    る手段は、その再実行された分岐命令に対して該
    第2の供給手段から供給された、該第1、第2の
    レジスタの内容の少なくとも一方を該連想記憶手
    段に供給する手段からなることを特徴とする特許
    請求の範囲第2項または第3項に記載の情報処理
    装置。
JP58159903A 1983-08-31 1983-08-31 情報処理装置 Granted JPS6051948A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58159903A JPS6051948A (ja) 1983-08-31 1983-08-31 情報処理装置
US06/645,672 US4725947A (en) 1983-08-31 1984-08-30 Data processor with a branch target instruction storage
EP84110391A EP0135844B1 (en) 1983-08-31 1984-08-31 A data processor with a branch target instruction storage
DE8484110391T DE3479251D1 (en) 1983-08-31 1984-08-31 A data processor with a branch target instruction storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58159903A JPS6051948A (ja) 1983-08-31 1983-08-31 情報処理装置

Publications (2)

Publication Number Publication Date
JPS6051948A JPS6051948A (ja) 1985-03-23
JPH0557616B2 true JPH0557616B2 (ja) 1993-08-24

Family

ID=15703687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58159903A Granted JPS6051948A (ja) 1983-08-31 1983-08-31 情報処理装置

Country Status (4)

Country Link
US (1) US4725947A (ja)
EP (1) EP0135844B1 (ja)
JP (1) JPS6051948A (ja)
DE (1) DE3479251D1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1250667A (en) * 1985-04-15 1989-02-28 Larry D. Larsen Branch control in a three phase pipelined signal processor
US4991080A (en) * 1986-03-13 1991-02-05 International Business Machines Corporation Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions
JP2534662B2 (ja) * 1986-03-25 1996-09-18 日本電気株式会社 命令キヤツシユ制御方法
JPS62293434A (ja) * 1986-06-12 1987-12-21 Nec Corp 分岐先予測制御方式
JP2534674B2 (ja) * 1986-07-17 1996-09-18 日本電気株式会社 情報処理装置
JPS6336336A (ja) * 1986-07-30 1988-02-17 Nec Corp 情報処理装置
JPS6421628A (en) * 1987-07-17 1989-01-25 Mitsubishi Electric Corp Arithmetic processing unit
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US5134561A (en) * 1987-07-20 1992-07-28 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
US4914579A (en) * 1988-02-17 1990-04-03 International Business Machines Corporation Apparatus for branch prediction for computer instructions
US5155818A (en) * 1988-09-28 1992-10-13 Data General Corporation Unconditional wide branch instruction acceleration
US5113515A (en) * 1989-02-03 1992-05-12 Digital Equipment Corporation Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer
JP2682217B2 (ja) * 1989-08-28 1997-11-26 日本電気株式会社 マイクロプロセッサ
US5230068A (en) * 1990-02-26 1993-07-20 Nexgen Microsystems Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
JP2560889B2 (ja) * 1990-05-22 1996-12-04 日本電気株式会社 マイクロプロセッサ
US5197132A (en) * 1990-06-29 1993-03-23 Digital Equipment Corporation Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery
US5454090A (en) * 1990-10-12 1995-09-26 Siemens Aktiengesellschaft Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units
EP0480095B1 (de) * 1990-10-12 1998-12-23 Siemens Aktiengesellschaft Vorrichtung zur Befehlsbereitstellung in einem Mikroprozessor
US5265213A (en) * 1990-12-10 1993-11-23 Intel Corporation Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction
US5276825A (en) * 1991-03-12 1994-01-04 Chips & Technologies, Inc. Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction
JP2984463B2 (ja) * 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
JP2773471B2 (ja) * 1991-07-24 1998-07-09 日本電気株式会社 情報処理装置
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
US5442756A (en) * 1992-07-31 1995-08-15 Intel Corporation Branch prediction and resolution apparatus for a superscalar computer processor
US5692167A (en) * 1992-07-31 1997-11-25 Intel Corporation Method for verifying the correct processing of pipelined instructions including branch instructions and self-modifying code in a microprocessor
US5694564A (en) * 1993-01-04 1997-12-02 Motorola, Inc. Data processing system a method for performing register renaming having back-up capability
DE4345028A1 (de) * 1993-05-06 1994-11-10 Hewlett Packard Co Vorrichtung zur Reduzierung von Verzögerungen aufgrund von Verzweigungen
US5623614A (en) * 1993-09-17 1997-04-22 Advanced Micro Devices, Inc. Branch prediction cache with multiple entries for returns having multiple callers
US5664135A (en) * 1994-09-28 1997-09-02 Hewlett-Packard Company Apparatus and method for reducing delays due to branches
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
JP2987311B2 (ja) * 1995-05-12 1999-12-06 松下電器産業株式会社 プロセッサ及び翻訳装置
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US6112019A (en) * 1995-06-12 2000-08-29 Georgia Tech Research Corp. Distributed instruction queue
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US5903750A (en) * 1996-11-20 1999-05-11 Institute For The Development Of Emerging Architectures, L.L.P. Dynamic branch prediction for branch instructions with multiple targets
US6189092B1 (en) 1997-06-30 2001-02-13 Matsushita Electric Industrial Co., Ltd. Pipeline processor capable of reducing branch hazards with small-scale circuit
US5974543A (en) * 1998-01-23 1999-10-26 International Business Machines Corporation Apparatus and method for performing subroutine call and return operations
US6446197B1 (en) 1999-10-01 2002-09-03 Hitachi, Ltd. Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
US9952869B2 (en) 2009-11-04 2018-04-24 Ceva D.S.P. Ltd. System and method for using a branch mis-prediction buffer
US10713048B2 (en) * 2017-01-19 2020-07-14 International Business Machines Corporation Conditional branch to an indirectly specified location

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4845149A (ja) * 1971-10-09 1973-06-28

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551895A (en) * 1968-01-15 1970-12-29 Ibm Look-ahead branch detection system
JPS549456B2 (ja) * 1972-07-05 1979-04-24
JPS52116131A (en) * 1976-03-26 1977-09-29 Toshiba Corp Microprogram instruction control unit
US4315314A (en) * 1977-12-30 1982-02-09 Rca Corporation Priority vectored interrupt having means to supply branch address directly
US4430711A (en) * 1980-05-30 1984-02-07 Signetics Corporation Central processing unit
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4845149A (ja) * 1971-10-09 1973-06-28

Also Published As

Publication number Publication date
JPS6051948A (ja) 1985-03-23
US4725947A (en) 1988-02-16
EP0135844A2 (en) 1985-04-03
DE3479251D1 (en) 1989-09-07
EP0135844A3 (en) 1987-08-26
EP0135844B1 (en) 1989-08-02

Similar Documents

Publication Publication Date Title
JPH0557616B2 (ja)
US5125083A (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JP3423310B2 (ja) 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu
US5394530A (en) Arrangement for predicting a branch target address in the second iteration of a short loop
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US4811215A (en) Instruction execution accelerator for a pipelined digital machine with virtual memory
US5530825A (en) Data processor with branch target address cache and method of operation
EP0689131B1 (en) A computer system for executing branch instructions
JP2744890B2 (ja) ブランチ予測式データ処理装置および動作方法
EP0180725B1 (en) Instruction prefetch operation for branch instructions
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
JPH07281895A (ja) 分岐キャッシュ
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
JP2000172507A (ja) 命令フェッチ制御装置
JP2010509680A (ja) ワーキング・グローバル・ヒストリ・レジスタを備えるシステム及び方法
US7346737B2 (en) Cache system having branch target address cache
JPH0743648B2 (ja) 情報処理装置
EP0550289A2 (en) A mechanism to detect stores into the instruction stream
JP3683439B2 (ja) 分岐予測を抑止する情報処理装置および方法
JPH09330221A (ja) マイクロプロセッサにおける早期例外を追跡するシステム及び方法
KR920006770B1 (ko) 명령을 페치(fetch)하기 위한 제어 시스템
JP3082944B2 (ja) パイプライン処理装置
JPH0552534B2 (ja)
JPH07200406A (ja) キャッシュシステム