JPH04225429A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH04225429A
JPH04225429A JP41441690A JP41441690A JPH04225429A JP H04225429 A JPH04225429 A JP H04225429A JP 41441690 A JP41441690 A JP 41441690A JP 41441690 A JP41441690 A JP 41441690A JP H04225429 A JPH04225429 A JP H04225429A
Authority
JP
Japan
Prior art keywords
branch
register
instruction
address
general
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.)
Pending
Application number
JP41441690A
Other languages
English (en)
Inventor
Takeshi Morisada
森定   剛
Masayuki Kimura
木村 真行
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
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno 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 NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP41441690A priority Critical patent/JPH04225429A/ja
Publication of JPH04225429A publication Critical patent/JPH04225429A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理における分岐
ヒストリテーブルの読出し時の制御に利用する。本発明
は分岐先アドレス生成に汎用レジスタの内容を使用し分
岐命令読み出しを行うときに分岐命令の成功の予測を行
い、分岐先アドレスへの命令取り出しを抑止して性能を
向上させるデータ処理装置に関する。
【0002】本発明は本願と同一出願人による特許出願
(平2−195713、平成2年7月23日出願、本願
出願時において未公開、以下「先願」という)との関連
技術である。
【0003】
【従来の技術】従来の分岐ヒストリテーブルは特公昭5
0−22384号公報(USP70942)に開示され
ているように、命令取出し時の命令取り出しアドレスに
よって分岐先アドレスを予測することを可能にし、分岐
命令を処理する以前に分岐先命令を先取りすることをで
きるようにして分岐命令の処理の高速化を計ったものが
ある。図5はその構成を示したものである。
【0004】
【発明が解決しようとする課題】しかしながら、分岐命
令の分岐先アドレス生成に汎用レジスタを使用している
場合、その分岐命令は汎用レジスタの内容で分岐先アド
レスを変更することを意図したもので、分岐ヒストリテ
ーブルに記憶したとしてもその分岐先アドレスが変更さ
れる可能性が大きい。さらに、実際に分岐先アドレスが
変更された場合には、その判明が分岐命令を処理してい
るときになってしまうため、分岐命令処理後に正しい分
岐先命令を取り出さなければならず、そのために分岐命
令を高速に処理することができなくなるだけでなく、そ
のペナルティにより遅くなってしまう問題がある。
【0005】しかし、分岐先アドレスが変更される分岐
命令でも、その分岐命令の成功または不成功については
以前と同じである可能性が高い。
【0006】本発明はこのような問題を解決するもので
、余分な命令取り出しを抑止して高速に分岐命令を処理
することができる装置を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明は、分岐命令のア
ドレスと、この分岐命令の分岐先アドレスとを対にして
記憶する分岐ヒストリテーブルと、アドレスの修飾に用
いる複数の汎用レジスタとを備えたデータ処理装置にお
いて、前記分岐ヒストリテーブルの各エントリに対応し
て分岐先アドレス生成時に使用した汎用レジスタ番号を
記憶する第一の記憶手段と、前記分岐ヒストリテーブル
の各エントリに対応し、分岐命令のアドレスおよびその
分岐先アドレスが前記分岐ヒストリテーブルに登録され
た後、どの汎用レジスタが変更されたかを記憶する第二
の記憶手段と、前記分岐ヒストリテーブルに記憶された
命令取り出しアドレスにしたがって前記第一の記憶手段
から分岐先アドレス生成時に使用した汎用レジスタ番号
を読み出す第一の読み出し手段と、前記分岐ヒストリテ
ーブルに記憶された命令取り出しアドレスにしたがって
前記第二の記憶手段から汎用レジスタの内容変更情報を
読み出す第二の読み出し手段とを含むレジスタ変更検出
回路を設け、命令取り出し時に、命令取り出しアドレス
と前記分岐ヒストリテーブルに記憶された分岐アドレス
が等しいか否かを比較する分岐命令アドレス比較器と、
前記第二の読み出し手段により読み出された汎用レジス
タの内容変更情報によって、前記第一の読み出し手段に
より示された汎用レジスタが変更されていることが示さ
れた場合、前記分岐命令アドレス比較器の出力により分
岐命令の成功の予測を行い、分岐先アドレスへの命令取
り出しを抑止する予測手段を備えたことを特徴とする。
【0008】前記第一の記憶手段は、前記分岐ヒストリ
テーブルと対応して分岐命令の分岐先アドレス生成時に
使用した前記汎用レジスタの番号を記憶するレジスタ番
号バッファにより構成され、前記第二の記憶手段は、レ
ジスタの書換えを管理する書込みレジスタデコーダおよ
び変更レジスタデコーダと、各エントリと前記汎用レジ
スタ対応にその内容の変更を管理する複数のフリップフ
ロップとを含み、前記第一の読み出し手段は、前記分岐
ヒストリテーブルの索引時に分岐先アドレス生成に使用
する汎用レジスタに変更があったか否かを示すレジスタ
選択器により構成され、前記第二の読み出し手段は、前
記分岐ヒストリテーブルの索引時に対応エントリの各汎
用レジスタの内容の変更状況を出力するエントリ読み出
し選択器により構成されることが望ましい。
【0009】
【作用】命令取り出し時に、分岐ヒストリテーブルに記
憶された命令取り出しアドレスにしたがって、第一の記
憶手段から分岐アドレス生成時に使用した汎用レジスタ
番号を読み出し、第二の記憶手段から汎用レジスタの内
容変更情報を読み出す。読み出された汎用レジスタの内
容変更情報によって汎用レジスタが変更されていること
が示された場合に、分岐命令アドレス比較器の出力によ
り分岐命令の成功の予測を行い、分岐先への命令取り出
しを抑止する。
【0010】このように、分岐先のアドレス生成に使用
した汎用レジスタの内容の変更を管理することにより、
汎用レジスタの内容が変更され分岐先アドレスが変更さ
れてしまった分岐命令の予測をすることによって生じる
余分な命令取り出しをなくし、さらに、分岐先アドレス
が変更されてしまった分岐命令に対しては分岐の成功ま
たは不成功を予測することにより、分岐命令処理を効率
よく行うことができる。
【0011】
【実施例】次に、本発明実施例を図面に基づいて説明す
る。図1は本発明実施例の構成を示すブロック図、図2
は本発明実施例に係るレジスタ変更検出回路の構成を示
すブロック図、図3は本発明実施例に係る全体構成を示
すブロック図である。
【0012】本発明実施例に係る全体構成としては、図
3に示すように命令取出し制御回路32、アドレス生成
回路33、主記憶装置34、実行部35、分岐ヒストリ
テーブル31、分岐命令アドレス比較器9、およびAN
D回路10、13を備える。
【0013】次に、本発明実施例の構成の詳細を図1お
よび図2を参照して説明する。
【0014】本発明実施例は、分岐命令のアドレスと、
この分岐命令の分岐先アドレスとを対にして記憶する分
岐ヒストリテーブル31と、アドレスの修飾に用いる命
令アドレスレジスタ(IAR)2、分岐先アドレス書込
みレジスタ(DAWR)3、レジスタ番号レジスタ(R
NR)4、および予測分岐先アドレスレジスタ(PDA
R)12の汎用レジスタとを備え、さらに本発明の特徴
として、分岐ヒストリテーブル31の各エントリに対応
して分岐先アドレス生成時に使用した汎用レジスタ番号
を記憶する第一の記憶手段と、前記分岐ヒストリテーブ
ル31の各エントリに対応し、分岐命令のアドレスおよ
びその分岐先アドレスが分岐ヒストリテーブル31に登
録された後、どの汎用レジスタが変更されたかを記憶す
る第二の記憶手段と、分岐ヒストリテーブル31に記憶
された命令取り出しアドレスにしたがって前記第一の記
憶手段から分岐先アドレス生成時に使用した汎用レジス
タ番号を読み出す第一の読み出し手段と、分岐ヒストリ
テーブル31に記憶された命令取り出しアドレスにした
がって前記第二の記憶手段から汎用レジスタの内容変更
情報を読み出す第二の読み出し手段とを含むレジスタ変
更検出回路(RUCC)8を設け、命令取り出し時に、
命令取り出しアドレスと分岐ヒストリテーブル31に記
憶された分岐アドレスが等しいか否かを比較する分岐命
令アドレス比較器(TAC)9と、前記第二の読み出し
手段により読み出された汎用レジスタの内容変更情報に
よって、前記第一の読み出し手段により示された汎用レ
ジスタが変更されていることが示された場合、前記分岐
命令アドレス比較器(TAC)9の出力により分岐命令
の成功の予測を行い、分岐先アドレスへの命令取り出し
を抑止する予測手段を備える。
【0015】前記第一の記憶手段は、分岐ヒストリテー
ブル31と対応して分岐命令の分岐先アドレス生成時に
使用した前記汎用レジスタの番号を記憶するレジスタ番
号バッファ(RNB)81により構成され、前記第二の
記憶手段は、レジスタの書換えを管理する書込みレジス
タデコーダ(WRD)82および変更レジスタデコーダ
 (URD)83と、各エントリと前記汎用レジスタ対
応にその内容の変更を管理する複数のフリップフロップ
84とを含み、前記第一の読み出し手段は、分岐ヒスト
リテーブル31の索引時に分岐先アドレス生成に使用す
る汎用レジスタに変更があったか否かを示すレジスタ選
択器(RX)86により構成され、前記第二の読み出し
手段は、分岐ヒストリテーブル31の索引時に対応エン
トリの各汎用レジスタの内容の変更状況を出力するエン
トリ読出し選択器85により構成される。
【0016】図1に二点鎖線で囲み表示する部分が先願
と異なる。
【0017】書込みフラグ(WF)1は、分岐ヒストリ
テーブル31の動作を示すフラグであり、この書込みフ
ラグ(WF)1が“1”の場合は登録動作、“0”の場
合は索引動作を示す。書込みフラグ(WF)1は、命令
取出し制御回路(IFC)32から送出された動作信号
を信号線101 を介して受け、信号線106 を介し
て分岐命令アドレスバッファ(TAB)6、分岐先アド
レスバッファ(DAB)7、レジスタ変更検出回路(R
UCC)8および分岐命令アドレス比較器(TAC)9
に送出する。
【0018】命令アドレスレジスタ(IAR)2は、命
令取り出し時の命令取り出しアドレスまたは分岐命令の
分岐ヒストリテーブル31への登録時の分岐命令の命令
アドレスを保持するためのレジスタであり、信号線10
2 を介してアドレス生成回路(ADC)33より送出
された命令アドレスを受け、信号線107 を介しその
上位ビットを分岐命令アドレスバッファ(TAB)6お
よび分岐命令アドレス比較器(TAC)9に送出し、ま
た、信号線108 を介しその下位ビットを分岐命令ア
ドレスバッファ(TAB)6、分岐先アドレスバッファ
(DAB)7およびレジスタ変更検出回路(RUCC)
8に送出する。
【0019】分岐先アドレス書込みレジスタ(DAWR
)3は、分岐命令の命令アドレスおよび分岐先アドレス
を分岐ヒストリテーブル31へ登録する際に、その分岐
先アドレスを保持するレジスタであり、アドレス生成回
路(ADC)33より送出された分岐先アドレスを信号
線103 を介して受け、信号線109 を介し分岐先
アドレスバッファ(DAB)7に送出する。
【0020】レジスタ番号レジスタ(RNR)4は、分
岐命令の分岐ヒストリテーブル31への登録時には分岐
先アドレス生成に使用した汎用レジスタ番号を受け、ま
た汎用レジスタの内容が変更される場合にはその汎用レ
ジスタ番号を受けるレジスタであり、実行部(EXU)
35より送出されるレジスタ番号を信号線104 を介
して受け、信号線110 を介しレジスタ変更検出回路
(RUCC)8に送出する。
【0021】レジスタ変換フラグ(RUF)5は、汎用
レジスタの内容を変更する際にレジスタ番号レジスタ(
RNR)4にレジスタ番号を受けると同時に点灯するフ
ラグであり、実行部(EXU)35より信号線105 
を介し受けた信号を信号線111 を介してレジスタ変
更検出回路(RUCC)8に送出する。
【0022】分岐命令アドレスバッファ(TAB)6は
、分岐ヒストリテーブル31のうち分岐命令のアドレス
を記憶するメモリであり、信号線106 を介し書込み
フラグ(WF)1より登録を指示された場合、信号線1
08 を介し命令アドレスレジスタ(IAR)2の下位
ビットで示されるエントリに信号線107 を介し命令
アドレスレジスタ(IAR)2の上位ビットで示される
命令アドレス情報を記憶し、書込みフラグ(WF)1が
登録を指示していない場合、信号線108 を介し示さ
れるエントリから命令アドレス情報を読み出し、信号線
112 に送出する。
【0023】分岐先アドレスバッファ(DAB)7は、
分岐命令アドレスバッファ(TAB)6に対応して分岐
命令の分岐先アドレスを記憶するメモリであり、信号線
105 を介し書込みフラグ(WF)1より登録を指示
された場合は信号線108 を介し命令アドレスレジス
タ(IAR)2の下位ビットで示されるエントリに信号
線109 を介し分岐先アドレス書込みレジスタ(DA
WR)3により示される分岐先アドレスを記憶し、また
、書込みフラグ(WF)1が登録を指示していない場合
は信号線108 を介し示されるエントリから分岐先ア
ドレスを読み出し信号線113 を介し予測分岐先アド
レスレジスタ(PDAR)12に送出する。
【0024】レジスタ変更検出回路(RUCC)8は、
本発明の特徴とするところであり、信号線106 、1
08 、110 、111 を介し、それぞれ書込みフ
ラグ(WF)1、命令アドレスレジスタ(IAR)2の
下位ビット、レジスタ番号レジスタ(RNR)4、レジ
スタ変更フラグ(RUF)5より送出される情報を受け
、比較許可信号を信号線114 を介しAND回路10
に送出する。
【0025】分岐命令アドレス比較器(TAC)9は、
命令取り出しアドレスと分岐ヒストリテーブル31に記
憶された分岐命令アドレスを比較する回路であり、信号
線106 を介して送出される書込みフラグ(WF)1
の出力が“1”である場合は信号線115 に“0”を
出力し、“0”である場合は信号線107 を介して送
出される命令アドレスレジスタ(IAR)2の上位ビッ
トと信号線112 を介し分岐命令アドレスバッファ(
TAB)6より送出される命令アドレス情報とを比較し
、その結果、等しければ“1”を送出し、等しくなけれ
ば“0”を信号線115 を介しAND回路10および
13に送出する。
【0026】AND回路10は、検索結果を求めるため
に論理積をとるAND回路であり、信号線115 を介
し分岐命令アドレス比較器(TAC)9より送出される
比較結果と、信号線114 を介しレジスタ変更検出回
路(RUCC)8から送出される比較許可信号との論理
積をとり、その結果を検出信号として信号線116 を
介し分岐先検出フラグ(DHF)11に送出する。
【0027】分岐先検出フラグ(DHF)11は、予測
分岐アドレスが検出されたことを示すフラグであり、信
号線116 を介しAND回路10より送出された検出
信号を受け信号線117 を介し図3に示す命令取出し
制御回路(IFC)32に送出する。
【0028】予測分岐先アドレスレジスタ(PDAR)
12は、分岐先検出フラグ(DHF)11と同期してそ
の予測分岐先アドレスを受けるレジスタであり、信号線
113 を介し分岐先アドレスバッファ(DAB)7か
ら送出される分岐先アドレスを受け信号線118 を介
して図3に示すアドレス生成回路(ADC)33に送出
する。
【0029】AND回路13は、分岐先アドレス生成時
に使用した汎用レジスタの内容が変更されたことを示す
ために論理積をとるAND回路であり、信号線115 
を介し分岐命令アドレス比較器(TAC)9から送出さ
れる比較結果と、信号線119 を介しレジスタ変更検
出回路(RUCC)8より送出される予測許可信号との
論理積をとり、その結果を検出信号として信号線120
 を介して命令検出フラグ(IHF)14に送出する。
【0030】命令検出フラグ(IHF)14は、分岐先
アドレス生成に使用した汎用レジスタが変更された分岐
先アドレスが検出されたことを示すフラグであり、信号
線120 を介してAND回路13より送出された検出
信号を受け信号線121 を介して図3に示す命令取出
し制御回路(IFC)32に送出する。
【0031】次に、図2を参照しレジスタ変更検出回路
(RUCC)8について詳しく説明する。
【0032】レジスタ番号バッファ(RNB)81は、
分岐命令アドレスバッファ(TAB)6、分岐先アドレ
スバッファ(DAB)7と対応して分岐命令の分岐先ア
ドレス生成時に使用した汎用レジスタの番号を記憶する
メモリであり、線106 を介して書込みフラグ(WF
)1より登録が指示された場合、線108 を介し命令
アドレスレジスタ(IAR)2の下位ビットによって示
されるアドレスに線110 を介しレジスタ番号レジス
タ (RNR)4によって示されるレジスタ番号を記憶
し、書込みフラグ(WF)1が登録を示していない場合
は同アドレスから記憶しているレジスタ番号を読み出し
、線801 を介しレジスタ選択器(RX)86へ送出
する。
【0033】書き込みレジスタデコーダ(WRD)82
は、レジスタ内容の書き替えを管理するためのデコーダ
であり、線106 を介し書込みフラグ(WF)1より
登録が指示された場合、線108 を介し命令アドレス
レジスタ(IAR)2の下位ビットをデコードし、それ
に対応する出力線802 、803 、…804 だけ
を“1”にし、また書込みフラグ(WF)1が登録を指
示していない場合は全ての出力線802 、803 、
…804 は“0”のままである。 出力線802 、803 、…804 はそれぞれフラ
グF00   F1 0 …Fm−1 0 、F0 1
   F1 1 …Fm−1 1 、…、F0 n−1
   F1 n−1 …Fm−1 n−1 に接続され
、nは分岐命令アドレスバッファ(TAB)6、分岐先
アドレスバッファ(DAB)7、レジスタ番号バッファ
(RNB)81のエントリ分、mはレジスタの個数だけ
存在する。
【0034】変更レジスタデコーダ(URD)83は、
書込みレジスタデコーダ(WRD)82同様にレジスタ
内容の書き替えを管理するためのデコーダであり、線1
11 を介しレジスタ番号レジスタ(RNR)4によっ
て示されるレジスタ番号に対応する出力線805 、8
06 、…807だけを“1”にし、また、変更を指示
されなかった場合は全ての出力線を“0”にする。また
、出力線805 、806 、…807 はそれぞれフ
ラグF0 0   F1 0 …Fm−1 0 、F0
 1   F1 1 …Fm−1 1 、…、F0 n
−1   F1 n−1 …Fm−1 n−1 に接続
される。
【0035】フリップフロップ(Fxy:x=1…n、
y=1…m)84は、各エントリ(y)と各汎用レジス
タ(x)対応に汎用レジスタ内容の変更を管理し、たと
えばF11の場合、線802 を介して書き込みレジス
タデコーダ(WRD)82により新しいエントリに対す
る登録が示される(“1”になる)とセットされ“1”
となり、それを保持し線805 を介して変更レジスタ
デコーダ(URD)83より該当汎用レジスタの変更が
示された場合リセットされ“0”になる。また、その出
力はエントリ読出し選択器(ERX)85に各汎用レジ
スタ対応に出力される。
【0036】エントリ読出し選択器(ERX)85は、
分岐ヒストリテーブル31の索引時に対応エントリの各
汎用レジスタの内容の変更状況を出力するための選択器
であり、各汎用レジスタ対応にFxy(x=1…n、y
=1…m)の出力線を受け線108 を介し命令アドレ
スレジスタ(IAR)2の下位ビットで示されるエント
リの出力を選択し、レジスタ選択器(RX)86に出力
する。
【0037】レジスタ選択器(RX)86は、分岐ヒス
トリテーブル31の索引時に分岐先アドレス生成に使用
する汎用レジスタに変更があったかどうかを示す選択器
であり、エントリ読出し選択器(ERX)85のそれぞ
れの出力を受け、線801 を介しレジスタ番号バッフ
ァ(RNB)81によって示される汎用レジスタ番号に
より選択し、線114 を介しAND回路10に送出し
、またその否定を信号線118 を介してAND回路1
3に送出する。
【0038】次に本発明実施例の動作について説明する
。図4は本発明実施例の動作を流れを示す流れ図である
【0039】まず、まだ分岐ヒストリテーブル31に該
当する分岐命令が登録されていない場合、命令アドレス
レジスタ(IAR)2に分岐取り出しアドレスがセット
されても、分岐命令アドレスバッファ(TAB)6の出
力112 と一致するアドレスがないため分岐命令アド
レス比較器(TAC)9の出力115 が“0”となり
AND回路10の出力も“0”となって分岐先検出フラ
グ(DHF)11は点灯しない。
【0040】分岐ヒストリテーブル31に分岐命令を登
録する場合、書込みフラグ(WF)1が点灯する(“1
”になる)と同時に分岐命令の命令アドレスが命令アド
レスレジスタ(IAR)2、分岐先アドレスが分岐先ア
ドレス書込みレジスタ(DAWR)3、また分岐先アド
レスの生成に使用した汎用レジスタ番号がレジスタ番号
レジスタ(RNR)4にセットされる。書込みフラグ(
WF)1が“1”になったことにより分岐命令アドレス
バッファ(TAB)6の命令アドレスレジスタ(IAR
)2の下位ビットによって示されるエントリに命令アド
レスレジスタ(IAR)2の上位ビットが、分岐先アド
レスバッファ(DAB)7の同じエントリには分岐先ア
ドレス書込みレジスタ(DAWR)3の内容が、そして
、レジスタ番号バッファ(RNB)81にはレジスタ番
号レジスタ(RNR)4で示されるレジスタ番号が書き
込まれ、これと同時に命令アドレスレジスタ(IAR)
2の下位ビットで示されるフリップフロップ(Fxy)
84が全て“1”になる。
【0041】次回から登録されたアドレスの命令を取り
出す際には、命令アドレスレジスタ(IAR)2に保持
した命令取り出しアドレスと、分岐命令アドレスバッフ
ァ(TAB)6に記憶した命令アドレスが一致するので
分岐命令アドレス比較器(TAC)9の出力が“1”と
なる。このときもし、それ以前にレジスタの内容が変更
されてなければ、対応するフリップフロップ(Fxy)
84は“1”のままなのでエントリ読出し選択器(ER
X)85、レジスタ選択器(RX)86を通って信号線
114 も“1”となり(信号線119 は“0”)、
分岐先検出フラグ(DHF)11が点灯し、命令検出フ
ラグ(IHF)14は点灯しない。
【0042】しかしながら、もしk番目のレジスタが変
更された場合、その汎用レジスタ番号(K)がレジスタ
番号レジスタ(RNR)4にセットされレジスタ変更フ
ラグ(RUF)5に“1”がセットされる。それにより
変更レジスタデコーダ(URD)83のK番目の出力線
が“1”となり、対応するFk 0 …Fk n−1 
が“0”になる。
【0043】その後、命令を取り出す際には、命令アド
レスレジスタ(IAR)2の命令取り出しアドレスと、
分岐命令アドレスバッファ(TAB)6の出力が一致し
分岐命令アドレス比較器(TAC)9の出力が“1”と
なるが、対応するエントリ(y)のK番目のレジスタを
示すフリップフロップ(Fky)84が“0”となって
しまっているのでエントリ読出し選択器(ERX)85
、レジスタ選択器(RX)86で選択した結果、信号線
114 が“0”となりAND回路10の出力も“0”
となって分岐先検出フラグ(DHF)11は点灯しなく
なる。そのとき、信号線119 が“1”となることに
よりAND回路13の出力が“1”となり命令検出フラ
グ(IHF)14が点灯する。これにより実際に分岐命
令を実行する際は分岐の成功、不成功の予測を行うこと
ができる。
【0044】
【発明の効果】以上説明したように本発明によれば、分
岐先のアドレス生成に使用した汎用レジスタの内容の変
更を管理することにより、汎用レジスタの内容が変更さ
れ分岐先アドレスが変更されてしまった分岐命令の予測
をすることによって生じる余分な命令取出しを抑止する
ことができ、さらに、そのような分岐命令に対しても分
岐の成功または不成功の予測を行うことにより、効率よ
い分岐予測を行うことができる効果がある。
【図面の簡単な説明】
【図1】  本発明実施例の構成を示すブロック図。
【図2】  本発明実施例に係るレジスタ変更検出回路
の構成を示すブロック図。
【図3】  本発明実施例に係る全体構成を示すブロッ
ク図。
【図4】  本発明実施例の動作の流れを示す流れ図。
【図5】  従来の構成を示すブロック図。
【符号の説明】
1    書込みフラグ(WF) 2    命令アドレスレジスタ(IAR)3    
分岐先アドレス書込みレジスタ(DAWR)4    
レジスタ番号レジスタ(RNR)5    レジスタ変
更フラグ(RUF)6    分岐命令アドレスバッフ
ァ(TAB)7    分岐先アドレスバッファ(DA
B)8    レジスタ変更検出回路(RUCC)9 
   分岐命令アドレス比較器(TAC)10、13 
   AND回路 11    分岐先検出フラグ(DHF)12    
予測分岐先アドレスレジスタ(PDAR)14    
命令検出フラグ(IHF)31    分岐ヒストリテ
ーブル 32    命令取出し制御回路(IFC)33   
 アドレス生成回路(ADC)34    主記憶装置 35    実行部(EXU) 81    レジスタ番号バッファ (RNB)82 
   書込みレジスタデコーダ(WRD)83    
変更レジスタデコーダ(URD)84    フリップ
フロップ 85    エントリ読出し選択器(ERX)86  
  レジスタ選択器(RX)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  分岐命令のアドレスと、この分岐命令
    の分岐先アドレスとを対にして記憶する分岐ヒストリテ
    ーブルと、アドレスの修飾に用いる複数の汎用レジスタ
    とを備えたデータ処理装置において、前記分岐ヒストリ
    テーブルの各エントリに対応して分岐先アドレス生成時
    に使用した汎用レジスタ番号を記憶する第一の記憶手段
    と、前記分岐ヒストリテーブルの各エントリに対応し、
    分岐命令のアドレスおよびその分岐先アドレスが前記分
    岐ヒストリテーブルに登録された後、どの汎用レジスタ
    が変更されたかを記憶する第二の記憶手段と、前記分岐
    ヒストリテーブルに記憶された命令取り出しアドレスに
    したがって前記第一の記憶手段から分岐先アドレス生成
    時に使用した汎用レジスタ番号を読み出す第一の読み出
    し手段と、前記分岐ヒストリテーブルに記憶された命令
    取り出しアドレスにしたがって前記第二の記憶手段から
    汎用レジスタの内容変更情報を読み出す第二の読み出し
    手段とを含むレジスタ変更検出回路を設け、命令取り出
    し時に、命令取り出しアドレスと前記分岐ヒストリテー
    ブルに記憶された分岐アドレスが等しいか否かを比較す
    る分岐命令アドレス比較器と、前記第二の読み出し手段
    により読み出された汎用レジスタの内容変更情報によっ
    て、前記第一の読み出し手段により示された汎用レジス
    タが変更されていることが示された場合、前記分岐命令
    アドレス比較器の出力により分岐命令の成功の予測を行
    い、分岐先アドレスへの命令取り出しを抑止する予測手
    段を備えたことを特徴とするデータ処理装置。
  2. 【請求項2】  前記第一の記憶手段は、前記分岐ヒス
    トリテーブルと対応して分岐命令の分岐先アドレス生成
    時に使用した前記汎用レジスタの番号を記憶するレジス
    タ番号バッファにより構成され、前記第二の記憶手段は
    、レジスタの書換えを管理する書込みレジスタデコーダ
    および変更レジスタデコーダと、各エントリと前記汎用
    レジスタ対応にその内容の変更を管理する複数のフリッ
    プフロップとを含む請求項1に記載のデータ処理装置。
  3. 【請求項3】  前記第一の読み出し手段は、前記分岐
    ヒストリテーブルの索引時に分岐先アドレス生成に使用
    する汎用レジスタに変更があったか否かを示すレジスタ
    選択器により構成され、前記第二の読み出し手段は、前
    記分岐ヒストリテーブルの索引時に対応エントリの各汎
    用レジスタの内容の変更状況を出力するエントリ読み出
    し選択器により構成された請求項1記載のデータ処理装
    置。
JP41441690A 1990-12-26 1990-12-26 データ処理装置 Pending JPH04225429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41441690A JPH04225429A (ja) 1990-12-26 1990-12-26 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41441690A JPH04225429A (ja) 1990-12-26 1990-12-26 データ処理装置

Publications (1)

Publication Number Publication Date
JPH04225429A true JPH04225429A (ja) 1992-08-14

Family

ID=18522900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41441690A Pending JPH04225429A (ja) 1990-12-26 1990-12-26 データ処理装置

Country Status (1)

Country Link
JP (1) JPH04225429A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093489A1 (ja) 2011-01-07 2012-07-12 富士通株式会社 演算処理装置および分岐予測方法
JP2014222529A (ja) * 2010-06-28 2014-11-27 クアルコム,インコーポレイテッド 事前通知技術を用いる、プログラムのシーケンシャルフローを変更するための方法および装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014222529A (ja) * 2010-06-28 2014-11-27 クアルコム,インコーポレイテッド 事前通知技術を用いる、プログラムのシーケンシャルフローを変更するための方法および装置
JP2016146207A (ja) * 2010-06-28 2016-08-12 クアルコム,インコーポレイテッド 事前通知技術を用いる、プログラムのシーケンシャルフローを変更するための方法および装置
WO2012093489A1 (ja) 2011-01-07 2012-07-12 富士通株式会社 演算処理装置および分岐予測方法
US8751776B2 (en) 2011-01-07 2014-06-10 Fujitsu Limited Method for predicting branch target address based on previous prediction

Similar Documents

Publication Publication Date Title
US4764861A (en) Instruction fpefetching device with prediction of a branch destination for each branch count instruction
JPH02153428A (ja) キャッシュ装置と命令読出し装置
KR100875377B1 (ko) 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법
JP3729545B2 (ja) キャッシュメモリへのアクセス
JPH0644135A (ja) 情報処理装置
JP3497832B2 (ja) ロード・ストアキュー
KR970076253A (ko) 데이타 프로세싱 시스템 및 브랜치 인스트럭션의 결과 예측 방법
JPH07121437A (ja) コンピュータシステム
JPH05210593A (ja) マイクロプロセッサのためのメモリ区分化装置およびセグメント記述子をセグメント・レジスタへロードする方法
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
JPH04225429A (ja) データ処理装置
JP3577049B2 (ja) 分岐予測回路
JPH10255485A (ja) 連想メモリおよびネットワークフレーム中継器
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
JP2009199384A (ja) データ処理装置
JPH04205448A (ja) 情報処理装置
JPH07200406A (ja) キャッシュシステム
JPH0480824A (ja) データ処理装置
JPH1185613A (ja) キャッシュメモリ
JPH0363726A (ja) 階層型分岐ヒストリテーブル
JPH0876999A (ja) 分岐予測装置
JPH0760386B2 (ja) 分岐予測機能を有するデータ処理装置
JPH1031618A (ja) データ変換方式
JPH1063608A (ja) データ転送制御回路
JPH04239917A (ja) 分岐ヒストリテーブルを有する情報処理装置