JPH0480824A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH0480824A JPH0480824A JP19571390A JP19571390A JPH0480824A JP H0480824 A JPH0480824 A JP H0480824A JP 19571390 A JP19571390 A JP 19571390A JP 19571390 A JP19571390 A JP 19571390A JP H0480824 A JPH0480824 A JP H0480824A
- Authority
- JP
- Japan
- Prior art keywords
- register
- branch
- address
- instruction
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 230000006866 deterioration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ処理における分岐ヒストリテーブルの読
出し時の制御に利用する。本発明は分岐先アドレス生成
に汎用レジスタの内容を使用し分岐命令読出しを行うと
きに余分な分岐先の予測を抑止して性能を向上させるこ
とができるデータ処理装置に関する。
出し時の制御に利用する。本発明は分岐先アドレス生成
に汎用レジスタの内容を使用し分岐命令読出しを行うと
きに余分な分岐先の予測を抑止して性能を向上させるこ
とができるデータ処理装置に関する。
〔ヰ既要二
本発明は分岐命令のアドレスと、この分岐命令の分岐先
アドレスとを対にして記憶する分岐ヒストリテーブル、
およびアドレス修飾に用いる汎用レジスタを備えたデー
タ処理装置において、分岐先のアドレス生成に使用した
汎用レジスタの内容の変更を管理し、予測に適さないと
きには出力を禁止することにより、 余分な分岐先の予測によって発生する性能低下を抑える
ようにしたものである。
アドレスとを対にして記憶する分岐ヒストリテーブル、
およびアドレス修飾に用いる汎用レジスタを備えたデー
タ処理装置において、分岐先のアドレス生成に使用した
汎用レジスタの内容の変更を管理し、予測に適さないと
きには出力を禁止することにより、 余分な分岐先の予測によって発生する性能低下を抑える
ようにしたものである。
従来の分岐ヒストリテーブルは特公昭50−22384
号公報(U S P70942)に開示されているよう
に、命令取出し時の命令取出しアドレスによって分岐先
アドレスを予測することを可能にし、分岐命令を処理す
る以前に分岐先命令を先取りすることをできるようにし
て分岐命令の処理の高速化を計ったものがある。第5図
はその構成を示したものである。
号公報(U S P70942)に開示されているよう
に、命令取出し時の命令取出しアドレスによって分岐先
アドレスを予測することを可能にし、分岐命令を処理す
る以前に分岐先命令を先取りすることをできるようにし
て分岐命令の処理の高速化を計ったものがある。第5図
はその構成を示したものである。
しかしながら、分岐命令の分岐先アドレス生成に汎用レ
ジスタを使用している場合、その分岐命令は汎用レジス
タの内容で分岐先アドレスを変更することを意図したも
のであり、せっかく分岐ヒストリテーブルに記憶しても
その分岐先アドレスが変更されたときに、実際そのこと
が判明するのは分岐命令を処理しているときであるため
、その後処理によって高速に処理できず、ペナルティに
より遅くなってしまう可能性がある。
ジスタを使用している場合、その分岐命令は汎用レジス
タの内容で分岐先アドレスを変更することを意図したも
のであり、せっかく分岐ヒストリテーブルに記憶しても
その分岐先アドレスが変更されたときに、実際そのこと
が判明するのは分岐命令を処理しているときであるため
、その後処理によって高速に処理できず、ペナルティに
より遅くなってしまう可能性がある。
本発明はこのような問題を解決するもので、分岐先アド
レスが変更されても処理を高速に行うことができる装置
を提供することを目的とする。
レスが変更されても処理を高速に行うことができる装置
を提供することを目的とする。
本発明は、分岐命令のアドレスと、この分岐命令の分岐
先アドレスとを対にして記憶する分岐ヒストリテーブル
と、アドレスの修飾に用いる複数の汎用レジスタとを備
えたデータ処理装置において、前記分岐ヒストリテーブ
ルの各エントリに対応して分岐先アドレス生成時に前記
汎用レジスタを使用したかどうかを示すアドレス生成情
報を記憶する第一の記憶手段と、前記汎用レジスタの内
容を変更する際にどの汎用レジスタを変更したかを記憶
する第二の記憶手段と、前記分岐ヒス) IJテーブル
に記憶された命令取出しアドレスで比較する分岐命令の
アドレスに対応して前記第一の記憶手段からアドレス生
成情報を読出す読出し手段とを含むレジスタ可変検出回
路を設け、命令取出し時に、命令取出しアドレスと前記
分岐ヒストリテーブルに記憶された分岐命令のアドレス
とを比較する分岐命令アドレス比較器と、前記読出し手
段によって読出されたアドレス生成情報により示された
前記汎用レジスタが前記第二の記憶手段によってその内
容が変更されていることが示されているときに、前記分
岐命令アドレス比較器によって示された比較結果を無効
にする回路とを備えたことを特徴とする。
先アドレスとを対にして記憶する分岐ヒストリテーブル
と、アドレスの修飾に用いる複数の汎用レジスタとを備
えたデータ処理装置において、前記分岐ヒストリテーブ
ルの各エントリに対応して分岐先アドレス生成時に前記
汎用レジスタを使用したかどうかを示すアドレス生成情
報を記憶する第一の記憶手段と、前記汎用レジスタの内
容を変更する際にどの汎用レジスタを変更したかを記憶
する第二の記憶手段と、前記分岐ヒス) IJテーブル
に記憶された命令取出しアドレスで比較する分岐命令の
アドレスに対応して前記第一の記憶手段からアドレス生
成情報を読出す読出し手段とを含むレジスタ可変検出回
路を設け、命令取出し時に、命令取出しアドレスと前記
分岐ヒストリテーブルに記憶された分岐命令のアドレス
とを比較する分岐命令アドレス比較器と、前記読出し手
段によって読出されたアドレス生成情報により示された
前記汎用レジスタが前記第二の記憶手段によってその内
容が変更されていることが示されているときに、前記分
岐命令アドレス比較器によって示された比較結果を無効
にする回路とを備えたことを特徴とする。
前記第一の記憶手段は、前記分岐ヒストリテーブルと対
応して分岐命令の分岐先アドレス生成時に使用した前記
汎用レジスタの番号を記憶するしジスク番号バッファで
あり、前記第二の記憶手段には、レジスタの書換えを管
理する書込みレジスタデコーダおよび変更レジスタデコ
ーダと、各エンl−IJと前記汎用レジスタ対応にその
内容の変更を管理する複数のフリップフロップとを含み
、前記読出し手段には、前記分岐ヒス) IJ子テーブ
ル索引時に対応エン) IJの前記各汎用レジスタの内
容の変更状況を出力する複数のエントリ読出し選択器と
、前記分岐ヒストリテーブルの索引時に分岐先アドレス
生成に使用する前記汎用レジスタに変更があったか否か
を示すレジスタ選択器とを含むことが望ましい。
応して分岐命令の分岐先アドレス生成時に使用した前記
汎用レジスタの番号を記憶するしジスク番号バッファで
あり、前記第二の記憶手段には、レジスタの書換えを管
理する書込みレジスタデコーダおよび変更レジスタデコ
ーダと、各エンl−IJと前記汎用レジスタ対応にその
内容の変更を管理する複数のフリップフロップとを含み
、前記読出し手段には、前記分岐ヒス) IJ子テーブ
ル索引時に対応エン) IJの前記各汎用レジスタの内
容の変更状況を出力する複数のエントリ読出し選択器と
、前記分岐ヒストリテーブルの索引時に分岐先アドレス
生成に使用する前記汎用レジスタに変更があったか否か
を示すレジスタ選択器とを含むことが望ましい。
命令取出し時に、命令取出しアドレスと分岐ヒス) I
J子テーブル記憶された分岐命令のアドレスとを比較し
、この命令取出しアドレスで比較している分岐ヒストリ
テーブルに記憶された分岐命令のアドレスに対応して、
分岐先アドレス生成時に汎用レジスタを使用したかどう
かを示すアドレス生成情報を読出す。このアドレス生成
情報により汎用レジスタが変更されていることが示され
ていれば、命令取出しアドレスと分岐ヒストリテーブル
に記憶された分岐命令のアドレスとの比較結果の送出を
禁止する。
J子テーブル記憶された分岐命令のアドレスとを比較し
、この命令取出しアドレスで比較している分岐ヒストリ
テーブルに記憶された分岐命令のアドレスに対応して、
分岐先アドレス生成時に汎用レジスタを使用したかどう
かを示すアドレス生成情報を読出す。このアドレス生成
情報により汎用レジスタが変更されていることが示され
ていれば、命令取出しアドレスと分岐ヒストリテーブル
に記憶された分岐命令のアドレスとの比較結果の送出を
禁止する。
このように、分岐先のアドレス生成に使用した汎用レジ
スタの内容の変更を管理することにより、余分な分岐先
の予測を抑えるとともに、それによって発生する性能の
低下を抑止することができる。
スタの内容の変更を管理することにより、余分な分岐先
の予測を抑えるとともに、それによって発生する性能の
低下を抑止することができる。
口実絶倒〕
次に、本発明実施例を図面に基づいて説明する。
第1図は本発明実施例の構成を示すブロック図、第2図
は本発明実施例に係るレジスタ変更検出回路の構成を示
すブロック図、第3図は本発明実施例に係る全体構成を
示すブロック図である。
は本発明実施例に係るレジスタ変更検出回路の構成を示
すブロック図、第3図は本発明実施例に係る全体構成を
示すブロック図である。
本発明実施例に係る全体構成としては、第3図に示すよ
うに命令取出し制御回路32、アドレス生成回路33、
主記憶装置34、実行部35、分岐ヒストリテーブル3
1、分岐命令アドレス比較器9、およびAND回路10
を備える。
うに命令取出し制御回路32、アドレス生成回路33、
主記憶装置34、実行部35、分岐ヒストリテーブル3
1、分岐命令アドレス比較器9、およびAND回路10
を備える。
次に、本発明実施例の構成の詳細を第1図および第2図
を参照して説明する。
を参照して説明する。
本発明実施例は、分岐命令のアドレスと、この分岐命令
の分岐先アドレスとを対にして記憶する分岐ヒス) +
J子テーブル1と、アドレスの修飾に用いる命令アドレ
スレジスタ (IAR)2、分岐先アドレス書込みレジ
スタ (DAVv’R)3、レジスタ番号レジスタ(R
NR)4、および予測分岐先アドレスレジスタ(PDA
R)12の汎用レジスタとを備え、さらに本発明の特徴
として、分岐ヒストリテーブル31の各エン)IJに対
応して分岐先アドレス生成時に前記各汎用レジスタを使
用したかどうかを示すアドレス生成情報を記憶する第一
の記憶手段としてのレジスタ番号バッファ(RNB)8
1と、前記各汎用レジスタの内容を変更する際にどの汎
用レジスタを変更したかを記憶する第二の記憶手段とし
ての書込みレジスタデコーダ(WRD)82、変更レジ
スタデコーダ(URD)83、および複数のフリップフ
ロップ84と、分岐ヒストリテーブル31に記憶された
命令取出しアドレスで比較する分岐命令のアドレスに対
応してレジスタ番号バッファ(RNB)81からアドレ
ス生成情報を読出す読出し手段としての複数のエン)
IJ読出し選択器(ERX)85と、レジスタ選択器(
RX)86とを含むレジスタ可変検出回路(RUCC)
8が設けられる。
の分岐先アドレスとを対にして記憶する分岐ヒス) +
J子テーブル1と、アドレスの修飾に用いる命令アドレ
スレジスタ (IAR)2、分岐先アドレス書込みレジ
スタ (DAVv’R)3、レジスタ番号レジスタ(R
NR)4、および予測分岐先アドレスレジスタ(PDA
R)12の汎用レジスタとを備え、さらに本発明の特徴
として、分岐ヒストリテーブル31の各エン)IJに対
応して分岐先アドレス生成時に前記各汎用レジスタを使
用したかどうかを示すアドレス生成情報を記憶する第一
の記憶手段としてのレジスタ番号バッファ(RNB)8
1と、前記各汎用レジスタの内容を変更する際にどの汎
用レジスタを変更したかを記憶する第二の記憶手段とし
ての書込みレジスタデコーダ(WRD)82、変更レジ
スタデコーダ(URD)83、および複数のフリップフ
ロップ84と、分岐ヒストリテーブル31に記憶された
命令取出しアドレスで比較する分岐命令のアドレスに対
応してレジスタ番号バッファ(RNB)81からアドレ
ス生成情報を読出す読出し手段としての複数のエン)
IJ読出し選択器(ERX)85と、レジスタ選択器(
RX)86とを含むレジスタ可変検出回路(RUCC)
8が設けられる。
書込みフラグ(WF)1は、分岐ヒストリテーブルの動
作を示すフリップフロップであり、この書込みフラグ(
WF)1の“1”の場合登録を示し、“0”の場合索引
を示す。書込みフラグ(WF)1は命令取出し制御回路
(IFC)32から送aされる信号を信号線101を介
して受けられ、信号線106を介して分岐命令アドレス
バッファ(TAB)6、分岐先アドレスバッファ (D
AB)7、レジスタ変更検出回路(RUCC)8および
分岐命令アドレス比較器(TAC)9に送出される。
作を示すフリップフロップであり、この書込みフラグ(
WF)1の“1”の場合登録を示し、“0”の場合索引
を示す。書込みフラグ(WF)1は命令取出し制御回路
(IFC)32から送aされる信号を信号線101を介
して受けられ、信号線106を介して分岐命令アドレス
バッファ(TAB)6、分岐先アドレスバッファ (D
AB)7、レジスタ変更検出回路(RUCC)8および
分岐命令アドレス比較器(TAC)9に送出される。
命令アドレスレジスタ(IAR)2は、命令取出し時の
命令取出しアドレスまたは分岐命令の分岐ヒストリテー
ブルの登録時の分岐命令の命令アドレスを保持するため
のレジスタであり、信号線102を介しアドレス生成回
路(ADC)33から送出された命令アドレスを受け、
この命令アドレスを信号線107を介しその上位ビット
を分岐命令アドレスバッファ(TAB)6および分岐命
令アドレス比較器(TAC)9に送出し、また信号線1
08を介しその下位ビットを分岐命令アドレスバッファ
(TAB)6、分岐先アドレスバッファ (DAB)
7およびレジスタ変更検出回路(RUCC)8に送出す
る。
命令取出しアドレスまたは分岐命令の分岐ヒストリテー
ブルの登録時の分岐命令の命令アドレスを保持するため
のレジスタであり、信号線102を介しアドレス生成回
路(ADC)33から送出された命令アドレスを受け、
この命令アドレスを信号線107を介しその上位ビット
を分岐命令アドレスバッファ(TAB)6および分岐命
令アドレス比較器(TAC)9に送出し、また信号線1
08を介しその下位ビットを分岐命令アドレスバッファ
(TAB)6、分岐先アドレスバッファ (DAB)
7およびレジスタ変更検出回路(RUCC)8に送出す
る。
分岐先アドレス書込みレジスタ (DAWR)3は、分
岐命令を分岐ヒストリテーブルへ登録する際に、その分
岐先アドレスを保持するレジスタであり、アドレス生成
回路(ADC)33より送出された分岐先アドレスを信
号線103を介して受け、信号線109を介して分岐先
アドレスバッファ(DAB)7に送出する。
岐命令を分岐ヒストリテーブルへ登録する際に、その分
岐先アドレスを保持するレジスタであり、アドレス生成
回路(ADC)33より送出された分岐先アドレスを信
号線103を介して受け、信号線109を介して分岐先
アドレスバッファ(DAB)7に送出する。
レジスタ番号レジスタ(RNR)4は、分岐命令の分岐
ヒス) +Jテーブル登録時に分岐先アドレスを生成し
たときに使用した汎用レジスタ番号を受け、また汎用レ
ジスタの内容を変更する場合にはその汎用レジスタ番号
を受けるレジスタであり、実行部35から送出されるレ
ジスタ番号を受は信号線110を介してレジスタ変更検
出回路(RUCC)8に送出する。
ヒス) +Jテーブル登録時に分岐先アドレスを生成し
たときに使用した汎用レジスタ番号を受け、また汎用レ
ジスタの内容を変更する場合にはその汎用レジスタ番号
を受けるレジスタであり、実行部35から送出されるレ
ジスタ番号を受は信号線110を介してレジスタ変更検
出回路(RUCC)8に送出する。
レジスタ変更フラグ(RUF)5は、汎用レジスタ変更
の場合にレジスタ番号レジスタ(RNR)4にレジスタ
番号を受けると同時に点灯するフリップフロップであり
、実行部35から信号線1(15を介して受けた信号を
信号線111を介してレジスタ変更検出回路(RUCC
)8に送出する。
の場合にレジスタ番号レジスタ(RNR)4にレジスタ
番号を受けると同時に点灯するフリップフロップであり
、実行部35から信号線1(15を介して受けた信号を
信号線111を介してレジスタ変更検出回路(RUCC
)8に送出する。
分岐命令アドレスバッファ(TAB)6は、分岐ヒスト
リテーブルのうち分岐命令のアドレスを記憶するメモリ
であり、信号線106を介し書込みフラグ1から登録を
指示された場合、信号線108を介し命令アドレスレジ
スタ(IAR)2の下位ビットで示されるアドレスに信
号線107を介し命令アドレスレジスタ(IAR)2の
上位ビットで示される命令アドレス情報を記憶し、書込
みフラグ(WF)1が登録を指示していない場合、信号
線108を介して示されたアドレスから命令アドレス情
報を読出し信号線112に送出する。
リテーブルのうち分岐命令のアドレスを記憶するメモリ
であり、信号線106を介し書込みフラグ1から登録を
指示された場合、信号線108を介し命令アドレスレジ
スタ(IAR)2の下位ビットで示されるアドレスに信
号線107を介し命令アドレスレジスタ(IAR)2の
上位ビットで示される命令アドレス情報を記憶し、書込
みフラグ(WF)1が登録を指示していない場合、信号
線108を介して示されたアドレスから命令アドレス情
報を読出し信号線112に送出する。
分岐先アドレスバッファ(D’AB)7は、分岐命令ア
ドレスバッファ(TAB>6に対応してその分岐先アド
レスを記憶するメモリであり、信号線106を介し書込
みフラグ(WF)1より登録を指示された場合、信号線
108を介し命令アドレスレジスタ(IAR)2の下位
ビットで示されるアドレスに信号線109を介し分岐先
アドレス書込みレジスタ(DAWR)3により示される
分岐先アドレスを記憶し、書込みフラグ1が登録を指示
していない場合は信号線108を介して示されるアドレ
スから分岐先アドレスを読出し、信号線113を介して
予測分岐先アドレスレジスタ (PDAR)12に送出
する。
ドレスバッファ(TAB>6に対応してその分岐先アド
レスを記憶するメモリであり、信号線106を介し書込
みフラグ(WF)1より登録を指示された場合、信号線
108を介し命令アドレスレジスタ(IAR)2の下位
ビットで示されるアドレスに信号線109を介し分岐先
アドレス書込みレジスタ(DAWR)3により示される
分岐先アドレスを記憶し、書込みフラグ1が登録を指示
していない場合は信号線108を介して示されるアドレ
スから分岐先アドレスを読出し、信号線113を介して
予測分岐先アドレスレジスタ (PDAR)12に送出
する。
レジスタ変更検出回路(RUCC)8は、本発明の特徴
とするところであり、信号線106.108.110.
111を介し、各々書込みフラグ1、命令アドレスレジ
スタ (IAR)2の下位ビット、レジスタ番号レジス
タ(RNR)4、レジスタ変更フラグ(RUF)5より
送出される情報を受け、比較許可信号を信号線114を
介しAND回路10に送出する。
とするところであり、信号線106.108.110.
111を介し、各々書込みフラグ1、命令アドレスレジ
スタ (IAR)2の下位ビット、レジスタ番号レジス
タ(RNR)4、レジスタ変更フラグ(RUF)5より
送出される情報を受け、比較許可信号を信号線114を
介しAND回路10に送出する。
分岐命令アドレス比較器(TAC)9は、命令取出しア
ドレスと分岐ヒストリテーブルに記憶された分岐命令ア
ドレスを比較する回路であり、信号線106を介して送
出された書込みフラグ(WF)lの出力が“1”である
場合は“0”を信号線115に送出し、書込みフラグ(
”vVF)1の出力が“0”である場合は信号線107
を介し送出される命令アドレスレジスタ(IAR)2の
上位ビットと信号線112を介し分岐命令アドレスバッ
ファ(TAB)6より送出される命令アドレス情報とを
比較し、その結果等しければ“1”、等しくなければ“
0”を信号線115を介しAND回路10に送出する。
ドレスと分岐ヒストリテーブルに記憶された分岐命令ア
ドレスを比較する回路であり、信号線106を介して送
出された書込みフラグ(WF)lの出力が“1”である
場合は“0”を信号線115に送出し、書込みフラグ(
”vVF)1の出力が“0”である場合は信号線107
を介し送出される命令アドレスレジスタ(IAR)2の
上位ビットと信号線112を介し分岐命令アドレスバッ
ファ(TAB)6より送出される命令アドレス情報とを
比較し、その結果等しければ“1”、等しくなければ“
0”を信号線115を介しAND回路10に送出する。
AND回路10は、索引結果を求めるた砧に論理積をと
るアンド回路であり、信号線115を介し分岐命令アド
レス比較器(TAC)9より送出される比較結果と信号
線114を介しレジスタ変更検出回路(RUCC)gよ
り送出される比較許可信号の論理積をとり、その結果を
検出信号として信号線116を介し分岐先検出フラグ(
DHF)11に送出する。
るアンド回路であり、信号線115を介し分岐命令アド
レス比較器(TAC)9より送出される比較結果と信号
線114を介しレジスタ変更検出回路(RUCC)gよ
り送出される比較許可信号の論理積をとり、その結果を
検出信号として信号線116を介し分岐先検出フラグ(
DHF)11に送出する。
分岐先検出フラグ(DHF)11は2予測分岐先アドレ
スが検出されたことを示すフラグであり、信号線116
を介しAND回路10より送出された検出信号を受は信
号線117を介し命令取出し制御回路(IFC)32に
送出する。
スが検出されたことを示すフラグであり、信号線116
を介しAND回路10より送出された検出信号を受は信
号線117を介し命令取出し制御回路(IFC)32に
送出する。
予測分岐先アドレスレジスフ (PDAR)12は、分
岐先検出フラグ(DHF)11と同期してその予測分岐
先アドレスを受けるレジスタであり、信号線113を介
し分岐先アドレスバッファ(DAB)7より送出される
分岐先アドレスを受け、信号線118を介しアドレス生
成回路(ADC)33に送出する。
岐先検出フラグ(DHF)11と同期してその予測分岐
先アドレスを受けるレジスタであり、信号線113を介
し分岐先アドレスバッファ(DAB)7より送出される
分岐先アドレスを受け、信号線118を介しアドレス生
成回路(ADC)33に送出する。
第2図は本発明実施例におけるレジスタ可変検出回路の
構成を示すブロック図である。レジスタ番号バッファ(
RNB)81は、分岐命令アドレスバッファ(TAB)
6、分岐先アドレスバッファ(DAB)7と対応して分
岐命令の分岐先アドレス生成時に使用した汎用レジスタ
の番号を記憶するメモリであり、信号線106を介し書
込みフラグ(WF)1より登録が指示された場合に、信
号線108を介し命令アドレスレジスタ(IAR)2の
下位ビットによって示されるアドレスに信号線110を
介しレジスタ番号レジスタ (RNR)4によって示さ
れるレジスタ番号を記憶し、書込みフラグ1が登録を示
してない場合は同アドレスから記憶しているレジスタ番
号を読出し、信号線801を介しレジスタ選択器(RX
)86へ送出する。
構成を示すブロック図である。レジスタ番号バッファ(
RNB)81は、分岐命令アドレスバッファ(TAB)
6、分岐先アドレスバッファ(DAB)7と対応して分
岐命令の分岐先アドレス生成時に使用した汎用レジスタ
の番号を記憶するメモリであり、信号線106を介し書
込みフラグ(WF)1より登録が指示された場合に、信
号線108を介し命令アドレスレジスタ(IAR)2の
下位ビットによって示されるアドレスに信号線110を
介しレジスタ番号レジスタ (RNR)4によって示さ
れるレジスタ番号を記憶し、書込みフラグ1が登録を示
してない場合は同アドレスから記憶しているレジスタ番
号を読出し、信号線801を介しレジスタ選択器(RX
)86へ送出する。
書込みレジスタデコーダ(WRD)82は、レジスタ内
容の書換えを管理するためのデコーダであり、信号線1
06を介し書込みフラグ(WF)1より登録が指示され
た場合、信号線108を介し命令アドレスレジスタ (
IAR)2の下位ビットをデコードし、それに対応する
出力線802.803.804だけを“1”にし、また
書込みフラグ(W F )1が登録を指示していない場
合はすべての出力線802.803、−、.804は“
0”のままである。また、出力線802.803、80
4は各々フラグFooF+。
容の書換えを管理するためのデコーダであり、信号線1
06を介し書込みフラグ(WF)1より登録が指示され
た場合、信号線108を介し命令アドレスレジスタ (
IAR)2の下位ビットをデコードし、それに対応する
出力線802.803.804だけを“1”にし、また
書込みフラグ(W F )1が登録を指示していない場
合はすべての出力線802.803、−、.804は“
0”のままである。また、出力線802.803、80
4は各々フラグFooF+。
F mQ、 FIIFI+””’Fml+ ””’F
OIFlh””’F+attに接続され、nは分岐命令
アドレスバッファ(TAB)6、分岐先アドレスバッフ
ァ (DAB)7、レジスタ番号バッファ(RNB)8
1のエントリ分、mはレジスタの数だけ存在する。
OIFlh””’F+attに接続され、nは分岐命令
アドレスバッファ(TAB)6、分岐先アドレスバッフ
ァ (DAB)7、レジスタ番号バッファ(RNB)8
1のエントリ分、mはレジスタの数だけ存在する。
変更レジスタデコーダ(URD)83は、書込みレジス
タデコーダ(WRD)82同様にレジスタ内容の書換え
を管理するためのデコーダであり、信号線111を介し
レジスタ変更フラグ(RUF)5よりレジスタの内容の
変更を示された場合、信号線110を介しレジスタ番号
レジスタ (RNR)4によって示されるレジスタ番号
に対応する出力線805.806、807だけを“1”
にし、また変更を示されなかった場合は、すべての出力
線を“0”にする。出力線805.806、807 は
各々FooFa+F OR+ F I OF I +
””’ F l n+ ””’ F IROF ff1
l l””’ F mnに接続される。
タデコーダ(WRD)82同様にレジスタ内容の書換え
を管理するためのデコーダであり、信号線111を介し
レジスタ変更フラグ(RUF)5よりレジスタの内容の
変更を示された場合、信号線110を介しレジスタ番号
レジスタ (RNR)4によって示されるレジスタ番号
に対応する出力線805.806、807だけを“1”
にし、また変更を示されなかった場合は、すべての出力
線を“0”にする。出力線805.806、807 は
各々FooFa+F OR+ F I OF I +
””’ F l n+ ””’ F IROF ff1
l l””’ F mnに接続される。
フラグ(F 、y) (x = 0−m5Y = (L
−n ) 84は各エントリ (y)と各汎用レジスタ
(X)対応に汎用レジスタ内容の変更を管理するための
フリップフロップ(F/F)であり、例えばF。0の場
合、出力線802を介し書込みレジスタデコーダ(WR
D)82より新しいエントリに対する登録が示される(
“1”になる)とセットされ“1”となり、それを保持
し、出力線805を介し変更レジスタデコーダ(URD
)83より該当汎用レジスタの変更が示された場合リセ
ットされ“0″′となる。また、その出力はエントリ読
出し選択器(ERX)85に各汎用レジスタ対応に出力
される。
−n ) 84は各エントリ (y)と各汎用レジスタ
(X)対応に汎用レジスタ内容の変更を管理するための
フリップフロップ(F/F)であり、例えばF。0の場
合、出力線802を介し書込みレジスタデコーダ(WR
D)82より新しいエントリに対する登録が示される(
“1”になる)とセットされ“1”となり、それを保持
し、出力線805を介し変更レジスタデコーダ(URD
)83より該当汎用レジスタの変更が示された場合リセ
ットされ“0″′となる。また、その出力はエントリ読
出し選択器(ERX)85に各汎用レジスタ対応に出力
される。
エン) IJ読出し選択器(ERX)85は、分岐ヒス
) IJテーブルの索引時に対応エントリの各汎用レジ
スタの内容の変更状況を出力するための選択器であり、
各汎用レジスタ対応にFIIY(X=0・m、y=On
)の出力線を受け、信号線108を介し命令アドレスレ
ジスタ(IAR)2の下位ビットで示されるエントリの
出力を選択し、レジスタ選択器(RX)86に出力する
。
) IJテーブルの索引時に対応エントリの各汎用レジ
スタの内容の変更状況を出力するための選択器であり、
各汎用レジスタ対応にFIIY(X=0・m、y=On
)の出力線を受け、信号線108を介し命令アドレスレ
ジスタ(IAR)2の下位ビットで示されるエントリの
出力を選択し、レジスタ選択器(RX)86に出力する
。
レジスタ選択器(RX)86は、分岐ヒストリテーブル
の索引時に分岐先アドレス生成に使用する汎用レジスタ
に変更があったかどうかを示す選択器であり、エントリ
読出し選択器(ERX)85の各々の出力を受け、信号
線801を介しレジスタ番号バッファ(RNB)811
により示される汎用レジスタ番号により選択し、信号線
114を介しAND回路IOに出力する。
の索引時に分岐先アドレス生成に使用する汎用レジスタ
に変更があったかどうかを示す選択器であり、エントリ
読出し選択器(ERX)85の各々の出力を受け、信号
線801を介しレジスタ番号バッファ(RNB)811
により示される汎用レジスタ番号により選択し、信号線
114を介しAND回路IOに出力する。
次に、本発明実施例の動作について説明する。
第4図は本発明実施例の動作の流れを示す流れ図である
。
。
まだ分岐ヒストリテーブルに1に該当する分岐命令が登
録されてない場合、命令アドレスレジスタ(IAR)2
に命令取出しアドレスがセットされても、分岐命令アド
レスバッファ(TAB)6の出力(信号線112への出
力)と一致しないため、分岐命令アドレス比較器(TA
C)9の出力(信号線115への出力)が“O”となり
、AND回路10の出力(信号線116への出力)も“
0”となり分岐先検出フラグ(DHF)11は点灯しな
い。
録されてない場合、命令アドレスレジスタ(IAR)2
に命令取出しアドレスがセットされても、分岐命令アド
レスバッファ(TAB)6の出力(信号線112への出
力)と一致しないため、分岐命令アドレス比較器(TA
C)9の出力(信号線115への出力)が“O”となり
、AND回路10の出力(信号線116への出力)も“
0”となり分岐先検出フラグ(DHF)11は点灯しな
い。
分岐ヒストリテーブル31に分岐命令を登録する場合、
書込みフラグ(WF)1が点灯する(“1”になる)と
同時に分岐命令の命令アドレスが命令アドレスレジスタ
(IAR)2に、分岐先アドレスが分岐先アドレス書込
みレジスタ(DAWR)3に、分岐先アドレスの生成に
使用した汎用レジスタ番号がレジスタ番号レジスタ(R
NR)4にセットされる。書込みフラグ(WF)1が“
1”になったことにより分岐命令アドレスバッファ(T
AB)6の命令アドレスレジスタ (IAR)2の下位
ビットで示されるアドレスに命令アドレスレジスタ(I
AR)2の上位ビットが分岐先アドレスバッファ (D
AB)7には、分岐先アドレス書込みレジスタ (DA
WR)3の内容がレジスタ番号バッファ(RNB)81
にはレジスタ番号レジスタ(RNR)4で示されるレジ
スタ番号が書込まれ、これと同時に命令アドレスレジス
タ(IAR)2の下位ビットで示されるF xyが全て
“1”にセットされる。
書込みフラグ(WF)1が点灯する(“1”になる)と
同時に分岐命令の命令アドレスが命令アドレスレジスタ
(IAR)2に、分岐先アドレスが分岐先アドレス書込
みレジスタ(DAWR)3に、分岐先アドレスの生成に
使用した汎用レジスタ番号がレジスタ番号レジスタ(R
NR)4にセットされる。書込みフラグ(WF)1が“
1”になったことにより分岐命令アドレスバッファ(T
AB)6の命令アドレスレジスタ (IAR)2の下位
ビットで示されるアドレスに命令アドレスレジスタ(I
AR)2の上位ビットが分岐先アドレスバッファ (D
AB)7には、分岐先アドレス書込みレジスタ (DA
WR)3の内容がレジスタ番号バッファ(RNB)81
にはレジスタ番号レジスタ(RNR)4で示されるレジ
スタ番号が書込まれ、これと同時に命令アドレスレジス
タ(IAR)2の下位ビットで示されるF xyが全て
“1”にセットされる。
次回に命令を取出すときは、命令アドレスレジスタ(I
AR)2の命令取出しアドレスと、分岐命令アドレスバ
ッファ(TAB)6の出力とが一致するので分岐命令ア
ドレス比較器(TAC)9の出力が“1′″となる。こ
のとき、それ以前にレジスタの内容が変更されていれば
そのレジスタに関するF )lyがリセットされ“0″
になっている。
AR)2の命令取出しアドレスと、分岐命令アドレスバ
ッファ(TAB)6の出力とが一致するので分岐命令ア
ドレス比較器(TAC)9の出力が“1′″となる。こ
のとき、それ以前にレジスタの内容が変更されていれば
そのレジスタに関するF )lyがリセットされ“0″
になっている。
これにより、この命令取出しアドレスで示されるレジス
タ番号レジスタ(RNR)4のレジスタ番号で選択され
るF llyが“0”であれはA N D回路10の出
力が“0”、FMyが“1”であれば“1”となり、そ
れが分岐先検出フラグ(DHF)11にセットされる。
タ番号レジスタ(RNR)4のレジスタ番号で選択され
るF llyが“0”であれはA N D回路10の出
力が“0”、FMyが“1”であれば“1”となり、そ
れが分岐先検出フラグ(DHF)11にセットされる。
以上説明したように本発明によれば、分岐先のアドレス
生成に使用した汎用レジスタの内容の変更を管理するこ
とにより、余分な分岐先の予測を抑止するとともに、そ
れによって発生する性能低下を抑止することができる効
果がある。
生成に使用した汎用レジスタの内容の変更を管理するこ
とにより、余分な分岐先の予測を抑止するとともに、そ
れによって発生する性能低下を抑止することができる効
果がある。
第1図は本発明実施例の構成を示すブロック図。
第2図は本発明実施例に係るレジスタ変更検出回路の構
成を示すブロック図。 第3図は本発明実施例に係る全体構成を示すブロック図
。 第4図は本発明実施例の動作の流れを示すフローチャー
ト。 第5図は従来の構成を示すブロック図。 1・・・書込みフラグ(WF)、2・・・命令アドレス
レジスタ (IAR) 、3・・・分岐先アドレス書込
みレジスタ (DAWR) 、4・・・レジスタ番号レ
ジスタ (RNR)、5・・・レジスタ変更フラグ(R
UF)6・・・分岐命令アドレスバッファ(TAB)
、?・・・分岐先アドレスバッファ(DAB) 、訃・
・レジスタ変更検出回路(RUCC) 、9・・・分岐
命令アドレス比較器(TAC) 、10・・・AND回
路、11・・・分岐先検出フラグ(DHF) 、12・
・・予測分岐先アドレスレジスタ (PDAR) 、3
1・・・分岐ヒストリテーブル、32・・・命令取出し
制御回路(IFC)、33・・・アドレス生成回路(A
DC) 、34・・・主記憶装置、35・・・実行部、
81・・・レジスタ番号バッファ(RNB)82・・・
書込みレジスタデコーダ(WR’D) 、83・・・変
更レジスタデコーダ(URD) 、84・・・フリップ
フロップ、85・・・エントリ読出し選択器(ERX)
、86・・・レジスタ選択器(RX)。
成を示すブロック図。 第3図は本発明実施例に係る全体構成を示すブロック図
。 第4図は本発明実施例の動作の流れを示すフローチャー
ト。 第5図は従来の構成を示すブロック図。 1・・・書込みフラグ(WF)、2・・・命令アドレス
レジスタ (IAR) 、3・・・分岐先アドレス書込
みレジスタ (DAWR) 、4・・・レジスタ番号レ
ジスタ (RNR)、5・・・レジスタ変更フラグ(R
UF)6・・・分岐命令アドレスバッファ(TAB)
、?・・・分岐先アドレスバッファ(DAB) 、訃・
・レジスタ変更検出回路(RUCC) 、9・・・分岐
命令アドレス比較器(TAC) 、10・・・AND回
路、11・・・分岐先検出フラグ(DHF) 、12・
・・予測分岐先アドレスレジスタ (PDAR) 、3
1・・・分岐ヒストリテーブル、32・・・命令取出し
制御回路(IFC)、33・・・アドレス生成回路(A
DC) 、34・・・主記憶装置、35・・・実行部、
81・・・レジスタ番号バッファ(RNB)82・・・
書込みレジスタデコーダ(WR’D) 、83・・・変
更レジスタデコーダ(URD) 、84・・・フリップ
フロップ、85・・・エントリ読出し選択器(ERX)
、86・・・レジスタ選択器(RX)。
Claims (1)
- 【特許請求の範囲】 1、分岐命令のアドレスと、この分岐命令の分岐先アド
レスとを対にして記憶する分岐ヒストリテーブルと、 アドレスの修飾に用いる複数の汎用レジスタとを備えた
データ処理装置において、 前記分岐ヒストリテーブルの各エントリに対応して分岐
先アドレス生成時に前記汎用レジスタを使用したかどう
かを示すアドレス生成情報を記憶する第一の記憶手段と
、 前記汎用レジスタの内容を変更する際にどの汎用レジス
タを変更したかを記憶する第二の記憶手段と、 前記分岐ヒストリテーブルに記憶された命令取出しアド
レスで比較する分岐命令のアドレスに対応して前記第一
の記憶手段からアドレス生成情報を読出す読出し手段と を含むレジスタ可変検出回路を設け、 命令取出し時に、命令取出しアドレスと前記分岐ヒスト
リテーブルに記憶された分岐命令のアドレスとを比較す
る分岐命令アドレス比較器と、前記読出し手段によって
読出されたアドレス生成情報により示された前記汎用レ
ジスタが前記第二の記憶手段によってその内容が変更さ
れていることが示されているときに、前記分岐命令アド
レス比較器によって示された比較結果を無効にする回路
と を備えたことを特徴とするデータ処理装置。 2、前記第一の記憶手段は、前記分岐ヒストリテーブル
と対応して分岐命令の分岐先アドレス生成時に使用した
前記汎用レジスタの番号を記憶するレジスタ番号バッフ
ァであり、前記第二の記憶手段はレジスタの書換えを管
理する書込みレジスタデコーダおよび変更レジスタデコ
ーダと、各エントリと前記汎用レジスタ対応にその内容
の変更を管理する複数のフリップフロップとを含む 請求項1記載のデータ処理装置。 3、前記読出し手段は、 前記分岐ヒストリテーブルの索引時に対応エントリの前
記各汎用レジスタの内容の変更状況を出力する複数のエ
ントリ読出し選択器と、 前記分岐ヒストリテーブルの索引時に分岐先アドレス生
成に使用する前記汎用レジスタに変更があったか否かを
示すレジスタ選択器と を含む請求項1記載のデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19571390A JPH0480824A (ja) | 1990-07-23 | 1990-07-23 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19571390A JPH0480824A (ja) | 1990-07-23 | 1990-07-23 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0480824A true JPH0480824A (ja) | 1992-03-13 |
Family
ID=16345739
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19571390A Pending JPH0480824A (ja) | 1990-07-23 | 1990-07-23 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0480824A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06214784A (ja) * | 1992-10-30 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | 順不同の命令実行を可能にするコンピュータ・システム及びその操作方法 |
| US6782521B2 (en) | 1992-03-31 | 2004-08-24 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
-
1990
- 1990-07-23 JP JP19571390A patent/JPH0480824A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6782521B2 (en) | 1992-03-31 | 2004-08-24 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US7174525B2 (en) | 1992-03-31 | 2007-02-06 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US7555738B2 (en) | 1992-03-31 | 2009-06-30 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| JPH06214784A (ja) * | 1992-10-30 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | 順不同の命令実行を可能にするコンピュータ・システム及びその操作方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7237172B2 (en) | Error detection and correction in a CAM | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| KR100875377B1 (ko) | 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법 | |
| US11899985B1 (en) | Virtual modules in TCAM | |
| JPH05210593A (ja) | マイクロプロセッサのためのメモリ区分化装置およびセグメント記述子をセグメント・レジスタへロードする方法 | |
| US7107392B2 (en) | Content addressable memory (CAM) device employing a recirculating shift register for data storage | |
| US4395763A (en) | Buffer memory control system of the swap system | |
| JP3190700B2 (ja) | アドレス変換装置 | |
| US7257670B2 (en) | Multipurpose CAM circuit | |
| US7107391B2 (en) | Automatic learning in a CAM | |
| JPH04205448A (ja) | 情報処理装置 | |
| JPH04324194A (ja) | Rom回路 | |
| JPH05120133A (ja) | キヤツシユ装置 | |
| JPH04355833A (ja) | 分岐ヒストリテーブル制御回路 | |
| JPH04357542A (ja) | アドレス変換装置 | |
| JPH0696112A (ja) | ベクトルデータ処理回路 | |
| JPH02176839A (ja) | 情報処理装置 | |
| JPH0335336A (ja) | アドレス変換バッファ機構 | |
| JPH04239917A (ja) | 分岐ヒストリテーブルを有する情報処理装置 | |
| JPS6244838A (ja) | 命令取出装置 | |
| JPS6084646A (ja) | テ−ブル探索方式 | |
| JPS62259158A (ja) | 割込み要求回路 | |
| JPH01205340A (ja) | データ処理装置 | |
| JPH05108353A (ja) | 情報処理装置 | |
| JPH0635844A (ja) | ダイレクトメモリアクセス装置 |