JPH0715662B2 - 命令の先取りを行なう情報処理装置 - Google Patents
命令の先取りを行なう情報処理装置Info
- Publication number
- JPH0715662B2 JPH0715662B2 JP17636087A JP17636087A JPH0715662B2 JP H0715662 B2 JPH0715662 B2 JP H0715662B2 JP 17636087 A JP17636087 A JP 17636087A JP 17636087 A JP17636087 A JP 17636087A JP H0715662 B2 JPH0715662 B2 JP H0715662B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- address
- register
- information processing
- 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 - Fee Related
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分岐命令のアドレスと該分岐命令の分岐先ア
ドレスとを対にして記憶する分岐ヒストリーテーブルを
備え、命令の先取りを行なう情報処理装置に関する。
ドレスとを対にして記憶する分岐ヒストリーテーブルを
備え、命令の先取りを行なう情報処理装置に関する。
従来、この種の情報処理装置では、分岐ヒストリーテー
ブルを用いた分岐命令の高速化手法が知られている。し
かしながら汎用レジスタ等によるアドレス修飾が指定さ
れている場合、分岐ヒストリーテーブルで予測した分岐
先アドレスと、実際の分岐先アドレスとが異なることが
ある。従来技術では、分岐命令処理時に、計算した正し
い分岐先アドレスと予測した分岐先アドレスを比較する
ことにより行なわれていた。
ブルを用いた分岐命令の高速化手法が知られている。し
かしながら汎用レジスタ等によるアドレス修飾が指定さ
れている場合、分岐ヒストリーテーブルで予測した分岐
先アドレスと、実際の分岐先アドレスとが異なることが
ある。従来技術では、分岐命令処理時に、計算した正し
い分岐先アドレスと予測した分岐先アドレスを比較する
ことにより行なわれていた。
上述した従来の情報処理装置は、たとえばサブルーチン
からメインプログラムへ戻るための分岐命令を処理しコ
ールされた場所に戻るために、毎回分岐先アドレスが異
なる場合(第2図)では、予測したアドレスによる命令
取出しが起動された後、分岐先アドレスの正当性チェッ
クが行なわれるために、不要な命令取出しが行なわれる
という欠点がある。すなわち第3図に示すように、命令
取出し時に予測した分岐先アドレスと実際の分岐命令処
理において計算された分岐先アドレスとを図のPサイク
ルにおいて比較することにより判定していた。なお、第
3図中、IA,IP,IC,D,Aはそれぞれアドレス計算、ページ
ング、キャッシュ、デコード、アドレス計算を意味して
いる。
からメインプログラムへ戻るための分岐命令を処理しコ
ールされた場所に戻るために、毎回分岐先アドレスが異
なる場合(第2図)では、予測したアドレスによる命令
取出しが起動された後、分岐先アドレスの正当性チェッ
クが行なわれるために、不要な命令取出しが行なわれる
という欠点がある。すなわち第3図に示すように、命令
取出し時に予測した分岐先アドレスと実際の分岐命令処
理において計算された分岐先アドレスとを図のPサイク
ルにおいて比較することにより判定していた。なお、第
3図中、IA,IP,IC,D,Aはそれぞれアドレス計算、ページ
ング、キャッシュ、デコード、アドレス計算を意味して
いる。
本発明の命令の先取りを行なう情報処理装置は、実行中
の命令語が格納される命令レジスタと、該命令レジスタ
に接続され分岐の成否を判定する分岐判定手段と、該命
令レジスタに接続され前記命令語にあらかじめ定められ
たアドレス修飾が指定されていることを検出するアドレ
ス修飾検出手段と、前記あらかじめ定められたアドレス
修飾が指定されている場合は、前記分岐ヒストリーテー
ブルに前記分岐命令のアドレスと前記分岐先アドレスと
を記憶させない手段を有している。
の命令語が格納される命令レジスタと、該命令レジスタ
に接続され分岐の成否を判定する分岐判定手段と、該命
令レジスタに接続され前記命令語にあらかじめ定められ
たアドレス修飾が指定されていることを検出するアドレ
ス修飾検出手段と、前記あらかじめ定められたアドレス
修飾が指定されている場合は、前記分岐ヒストリーテー
ブルに前記分岐命令のアドレスと前記分岐先アドレスと
を記憶させない手段を有している。
したがって、あらかじめ定められたアドレス修飾が指定
された分岐命令の分岐先アドレスは分岐ヒストリーテー
ブルに登録されないので分岐ヒストリーテーブルにおけ
る誤まった分岐先予測を抑止し、不要な命令取出しが防
止される。
された分岐命令の分岐先アドレスは分岐ヒストリーテー
ブルに登録されないので分岐ヒストリーテーブルにおけ
る誤まった分岐先予測を抑止し、不要な命令取出しが防
止される。
次に、本発明の実施例について図面を参照して説明す
る。
る。
第1図は本発明の情報処理装置の一実施例の要部を示す
図である。
図である。
本実施例の情報処理装置は、先行制御ユニット8と、命
令アドレスレジスタ5と、分岐先アドレスレジスタ6
と、分岐命令のアドレスと該分岐命令の分岐先アドレス
と対にして記憶する分岐ヒストリーテーブル7と、実行
中の命令語が格納される命令レジスタ1と、命令レジス
タ1に接続されて分岐の成否を判定し、“分岐GO"の場
合、信号線101を“1"とする分岐判定回路2と、命令レ
ジスタ1に接続され、命令語にあらかじめ定められたア
ドレス修飾が指定されていることを検出すると、信号線
102を“0"にするアドレス修飾検出回路3と、分岐判定
回路2の信号線101とアドレス修飾検出回路3の信号線1
02を入力とし、分岐ヒストリーテーブル7への命令アド
レスと分岐先アドレスの記憶を制御するアンドゲート4
を有している。
令アドレスレジスタ5と、分岐先アドレスレジスタ6
と、分岐命令のアドレスと該分岐命令の分岐先アドレス
と対にして記憶する分岐ヒストリーテーブル7と、実行
中の命令語が格納される命令レジスタ1と、命令レジス
タ1に接続されて分岐の成否を判定し、“分岐GO"の場
合、信号線101を“1"とする分岐判定回路2と、命令レ
ジスタ1に接続され、命令語にあらかじめ定められたア
ドレス修飾が指定されていることを検出すると、信号線
102を“0"にするアドレス修飾検出回路3と、分岐判定
回路2の信号線101とアドレス修飾検出回路3の信号線1
02を入力とし、分岐ヒストリーテーブル7への命令アド
レスと分岐先アドレスの記憶を制御するアンドゲート4
を有している。
ここで、分岐ヒストリーテーブル7は、先行制御ユニッ
ト8から信号線103を通じて、命令取出しアドレスが供
給され、該アドレスに対応するエントリが見つかると、
信号線104により分岐先アドレスを転送することにより
索引される。
ト8から信号線103を通じて、命令取出しアドレスが供
給され、該アドレスに対応するエントリが見つかると、
信号線104により分岐先アドレスを転送することにより
索引される。
次に、分岐命令処理時の動作について説明する。
分岐命令実行に先だって信号線105,106,107を通して、
先行制御ユニット8から命令レジスタ1、命令アドレス
レジスタ5、分岐先アドレスレジスタ6に対して各々命
令語、命令アドレス、分岐先アドレスが設定される。こ
こで、命令レジスタ1に接続された分岐判定回路2によ
り該分岐命令が分岐するかしないかが判定される。判定
結果が“分岐GO"の場合、信号線101の値が“1"となり、
通常信号線102の値は“1"となるので、アンドゲート4
の出力は“1"となり命令アドレスレジスタ5、分岐先ア
ドレスレジスタ6の内容が対にして分岐ヒストリーテー
ブル7に登録される。一方、アドレス修飾検出回路3で
は、命令アドレスレジスタ1の命令語を解読し、該命令
にあらかじめ定められたアドレス修飾が指定されている
かどうかを検出する。たとえば、特定の汎用レジスタ修
飾とか間接修飾が指定されていることを検出する(サブ
ルーチンからの戻りでは、汎用レジスタまたは間接語に
戻りアドレスがセットされていることが多い。)該アド
レス修飾が検出されると、信号線102の値を“0"とし、
アンドゲート4の出力をディスエーブルする。
先行制御ユニット8から命令レジスタ1、命令アドレス
レジスタ5、分岐先アドレスレジスタ6に対して各々命
令語、命令アドレス、分岐先アドレスが設定される。こ
こで、命令レジスタ1に接続された分岐判定回路2によ
り該分岐命令が分岐するかしないかが判定される。判定
結果が“分岐GO"の場合、信号線101の値が“1"となり、
通常信号線102の値は“1"となるので、アンドゲート4
の出力は“1"となり命令アドレスレジスタ5、分岐先ア
ドレスレジスタ6の内容が対にして分岐ヒストリーテー
ブル7に登録される。一方、アドレス修飾検出回路3で
は、命令アドレスレジスタ1の命令語を解読し、該命令
にあらかじめ定められたアドレス修飾が指定されている
かどうかを検出する。たとえば、特定の汎用レジスタ修
飾とか間接修飾が指定されていることを検出する(サブ
ルーチンからの戻りでは、汎用レジスタまたは間接語に
戻りアドレスがセットされていることが多い。)該アド
レス修飾が検出されると、信号線102の値を“0"とし、
アンドゲート4の出力をディスエーブルする。
以上説明したように本発明は、あらかじめ定められたア
ドレス修飾が指定された分岐命令の分岐先アドレスを分
岐ヒストリーテーブルに登録しないよう制御することに
より、分岐ヒストリーテーブルにおける誤まった分岐先
予測を抑止し、不要な命令取出しを防止して性能を向上
させることができる効果がある。
ドレス修飾が指定された分岐命令の分岐先アドレスを分
岐ヒストリーテーブルに登録しないよう制御することに
より、分岐ヒストリーテーブルにおける誤まった分岐先
予測を抑止し、不要な命令取出しを防止して性能を向上
させることができる効果がある。
第1図は本発明の情報処理装置の一実施例の要部を示す
図、第2図、第3図は従来技術の欠点を示す図である。 1……命令レジスタ、2……分岐判定回路、3……アド
レス修飾検出回路、4……アンドゲート、5……命令ア
ドレスレジスタ、6……分岐先アドレスレジスタ、7…
…分岐ヒストリーテーブル、8……先行制御ユニット。
図、第2図、第3図は従来技術の欠点を示す図である。 1……命令レジスタ、2……分岐判定回路、3……アド
レス修飾検出回路、4……アンドゲート、5……命令ア
ドレスレジスタ、6……分岐先アドレスレジスタ、7…
…分岐ヒストリーテーブル、8……先行制御ユニット。
Claims (1)
- 【請求項1】分岐命令のアドレスと該分岐命令の分岐先
アドレスとを対にして記憶する分岐ヒストリーテーブル
を備え、命令の先取りを行なう情報処理装置において、 実行中の命令語が格納される命令レジスタと、該命令レ
ジスタに接続され分岐の成否を判定する分岐判定手段
と、該命令レジスタに接続され前記命令語にあらかじめ
定められたアドレス修飾が指定されていることを検出す
るアドレス修飾検出手段と、前記あらかじめ定められた
アドレス修飾が指定されている場合は、前記分岐ヒスト
リーテーブルに前記分岐命令のアドレスと前記分岐先ア
ドレスとを記憶させない手段とを有することを特徴とす
る命令の先取りを行なう情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17636087A JPH0715662B2 (ja) | 1987-07-14 | 1987-07-14 | 命令の先取りを行なう情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17636087A JPH0715662B2 (ja) | 1987-07-14 | 1987-07-14 | 命令の先取りを行なう情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6418841A JPS6418841A (en) | 1989-01-23 |
JPH0715662B2 true JPH0715662B2 (ja) | 1995-02-22 |
Family
ID=16012253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17636087A Expired - Fee Related JPH0715662B2 (ja) | 1987-07-14 | 1987-07-14 | 命令の先取りを行なう情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0715662B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142634A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
US20060190710A1 (en) * | 2005-02-24 | 2006-08-24 | Bohuslav Rychlik | Suppressing update of a branch history register by loop-ending branches |
-
1987
- 1987-07-14 JP JP17636087A patent/JPH0715662B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS6418841A (en) | 1989-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH056894B2 (ja) | ||
JP2583525B2 (ja) | データ処理装置 | |
JPH0715662B2 (ja) | 命令の先取りを行なう情報処理装置 | |
JPH05241827A (ja) | 命令バッファ制御装置 | |
JPH05216721A (ja) | 電子計算機 | |
JPS62114034A (ja) | 計数分岐命令制御方式 | |
JP2871429B2 (ja) | 暴走監視機能を有するプロセッサ | |
JPH01205340A (ja) | データ処理装置 | |
JPS63191231A (ja) | 命令の先取りを行なう情報処理装置 | |
JPH0335323A (ja) | 命令実行制御方式 | |
JPH0311430A (ja) | フエッチアクセス時の異常処理方法 | |
JPS5952349A (ja) | 命令先取制御装置 | |
JPS62114035A (ja) | 計数分岐命令制御方式 | |
JPS6270954A (ja) | 情報処理装置 | |
JPH04158444A (ja) | 情報処理装置 | |
JPH0342722A (ja) | 分岐ヒストリテーブルを用いた分岐予測方式 | |
JPS62114036A (ja) | 計数分岐命令制御方式 | |
JPH05216715A (ja) | 関数コール・リターン検出方式 | |
JPH06110687A (ja) | 情報処理装置および情報処理方法 | |
JPH01271841A (ja) | データ処理装置 | |
JPS63191230A (ja) | 命令の先取りを行なう情報処理装置 | |
JPS62151936A (ja) | マイクロプロセツサに内蔵されるキヤツシユ回路 | |
JPS6029840A (ja) | 実行プログラムの中断方式 | |
JPS63157237A (ja) | 命令の先取り制御を行なう情報処理装置 | |
JPH0667881A (ja) | 分岐予測アドレス処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |