JPS63157237A - 命令の先取り制御を行なう情報処理装置 - Google Patents
命令の先取り制御を行なう情報処理装置Info
- Publication number
- JPS63157237A JPS63157237A JP30702386A JP30702386A JPS63157237A JP S63157237 A JPS63157237 A JP S63157237A JP 30702386 A JP30702386 A JP 30702386A JP 30702386 A JP30702386 A JP 30702386A JP S63157237 A JPS63157237 A JP S63157237A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- history table
- address
- branch history
- 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 18
- 230000010365 information processing Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は情報処理装置に関し、特に分岐命令と該分岐命
令の分岐先アドレスとを対にして記憶する分岐ヒストリ
テーブルを備え、命令の先取り制御を行なう情報処理装
置に関する。
令の分岐先アドレスとを対にして記憶する分岐ヒストリ
テーブルを備え、命令の先取り制御を行なう情報処理装
置に関する。
従来、この種の情報処理!atでは、各分岐命令の分岐
履歴に基づいて分岐先アドレスを保持しておき、命令先
取りのアドレスにより分岐ヒストリテーブルを索引し、
該命令先取りのアドレスが分岐ヒストリテーブルに登録
されていることを検出すると、該命令先取りのアドレス
には分岐命令が存在していると判断し、該分岐命令に対
応する分岐先アドレスを分岐ヒストリテーブルから取出
し、該分岐先アドレスにより分岐先命令取出しを行なう
という分岐予測を行なっていた(例えば特開昭59−9
1550号公報)。
履歴に基づいて分岐先アドレスを保持しておき、命令先
取りのアドレスにより分岐ヒストリテーブルを索引し、
該命令先取りのアドレスが分岐ヒストリテーブルに登録
されていることを検出すると、該命令先取りのアドレス
には分岐命令が存在していると判断し、該分岐命令に対
応する分岐先アドレスを分岐ヒストリテーブルから取出
し、該分岐先アドレスにより分岐先命令取出しを行なう
という分岐予測を行なっていた(例えば特開昭59−9
1550号公報)。
」二連した従来の情報処理装置は、各分岐命令の分岐履
歴に基づいて分岐先アドレスを保持することにより分岐
予測を行なっているため、ストア命令により分岐命令語
(アドレスフィールド、命令コード、アドレス修飾指定
部等)が書替えられてしまった場合、この結果としてス
トア動作の対象となるアドレスにある命令語を再度実行
した場合、前回の分岐動作とは異なる動作を実行してし
まう、従って、分岐ヒストリテーブルにより分岐予測し
た分岐動作と実際の動作とが違っていることがある。こ
のような無効な分岐先取出し動作は、無駄なメモリアク
セスを出し、本来実施すべきメモリアクセスを阻害する
のみでなく、分岐予測して実施した分岐先への先行制御
をキャンセルして、再度、新たに正しい分岐先命令取出
しを行なわなければならず、このために情報処理装置の
性能を著しく低下させてしまうという問題点があった。
歴に基づいて分岐先アドレスを保持することにより分岐
予測を行なっているため、ストア命令により分岐命令語
(アドレスフィールド、命令コード、アドレス修飾指定
部等)が書替えられてしまった場合、この結果としてス
トア動作の対象となるアドレスにある命令語を再度実行
した場合、前回の分岐動作とは異なる動作を実行してし
まう、従って、分岐ヒストリテーブルにより分岐予測し
た分岐動作と実際の動作とが違っていることがある。こ
のような無効な分岐先取出し動作は、無駄なメモリアク
セスを出し、本来実施すべきメモリアクセスを阻害する
のみでなく、分岐予測して実施した分岐先への先行制御
をキャンセルして、再度、新たに正しい分岐先命令取出
しを行なわなければならず、このために情報処理装置の
性能を著しく低下させてしまうという問題点があった。
本発明の情報処理装置は、ストア命令のストア先アドレ
スにより分岐ヒストリテーブルを索引する索引手段と、
該ストア命令が命令コードを書替えることを検出する検
出手段と、前記索引手段により前記分岐ヒストリテーブ
ルを索引して該ストア命令のストア先アドレスが前記分
岐ヒストリテーブルに登録されていることを検出する検
出手段と、前記2つの検出手段の検出結果に応答して、
前記分岐ヒストリテーブルの内容を無効にする無効化手
段とを有している。
スにより分岐ヒストリテーブルを索引する索引手段と、
該ストア命令が命令コードを書替えることを検出する検
出手段と、前記索引手段により前記分岐ヒストリテーブ
ルを索引して該ストア命令のストア先アドレスが前記分
岐ヒストリテーブルに登録されていることを検出する検
出手段と、前記2つの検出手段の検出結果に応答して、
前記分岐ヒストリテーブルの内容を無効にする無効化手
段とを有している。
したがって、無駄な分岐先命令取出しを行なったり、無
駄なメモリアクセスで本来実施すべきメモリアクセスを
阻害することによって生じる情報処理装置の性能低下を
防ぐことができる。
駄なメモリアクセスで本来実施すべきメモリアクセスを
阻害することによって生じる情報処理装置の性能低下を
防ぐことができる。
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の情報処理装置の一実施例の要部ブロッ
ク図である。
ク図である。
本実施例は、演算ユニットl、セレクタ2゜7 、8
、15、命令カウンタ3.書込みレジスタ4、アドレス
レジスタ5.14、フラグレジスタ6、分岐ヒストリテ
ーブル9.比較器10、アントゲ−)11、制御部12
.分岐先アドレスレジスタ13、書込み指定フラグ1B
、ストアフィールド検出部17を有している。
、15、命令カウンタ3.書込みレジスタ4、アドレス
レジスタ5.14、フラグレジスタ6、分岐ヒストリテ
ーブル9.比較器10、アントゲ−)11、制御部12
.分岐先アドレスレジスタ13、書込み指定フラグ1B
、ストアフィールド検出部17を有している。
第2図は分岐ヒストリテーブル9の情報を示す図である
。この分岐ヒストリテーブル9には分岐命令アドレス、
分岐先アドレスおよび有効ビットフラグが一組となって
登録される。
。この分岐ヒストリテーブル9には分岐命令アドレス、
分岐先アドレスおよび有効ビットフラグが一組となって
登録される。
第3図は命令語と書込み指定フラグ18の対応を示す図
である。命令語の第0バイト目から第3バイト目までの
4バイトが書込み指定フラグ1Bの第3ビツト目から第
3ビツト目までの4ビツトに対応している。
である。命令語の第0バイト目から第3バイト目までの
4バイトが書込み指定フラグ1Bの第3ビツト目から第
3ビツト目までの4ビツトに対応している。
第4図はストアフィールド検出部17の具体例の回路図
である。このアドレスフィールド検出部17は、書込み
指定フラグ18からの信号の内、信号線183以外の信
号線181.182および1B4の信号を反転する反転
グー)18.19および20、さらに信号線163の信
号と反転グー)18.19および20の出力の論理積を
とるアンドゲート21で構成され、アンドゲート21の
出力により該ストア命令により命令コードが書替えられ
ることを検出する。
である。このアドレスフィールド検出部17は、書込み
指定フラグ18からの信号の内、信号線183以外の信
号線181.182および1B4の信号を反転する反転
グー)18.19および20、さらに信号線163の信
号と反転グー)18.19および20の出力の論理積を
とるアンドゲート21で構成され、アンドゲート21の
出力により該ストア命令により命令コードが書替えられ
ることを検出する。
次に、本実施例の動作を説明する。
(1)まず1分岐命令の実行による分岐ヒストリテーブ
ル9への登録について説明する。
ル9への登録について説明する。
分岐命令の実行サイクルの最後に該分岐命令の命令アド
レスおよび分岐先アドレスが演算ユニット1から書込み
レジスタ4に書込まれる0次のサイクル、つまり分岐命
令の結果の格納サイクルにおいて、書込みレジスタ4の
分岐命令のアドレスは信号線41を介しセレクタ7で選
択され分岐ヒストリテーブル9をアドレスし、書込みレ
ジスタ4の内容がセレクタ8で選択され分岐ヒストリテ
ーブル9に登録される。同時に分岐ヒストリテーブル9
に登録された書込みレジスタ4の内容が有効であること
を示す有効ビットフラグをセットして登録動作を終了す
る。以後、該有効ビットフラグは分岐ヒストリテーブル
9の上記方法で登録された内容がリセットされるまで保
持されている。
レスおよび分岐先アドレスが演算ユニット1から書込み
レジスタ4に書込まれる0次のサイクル、つまり分岐命
令の結果の格納サイクルにおいて、書込みレジスタ4の
分岐命令のアドレスは信号線41を介しセレクタ7で選
択され分岐ヒストリテーブル9をアドレスし、書込みレ
ジスタ4の内容がセレクタ8で選択され分岐ヒストリテ
ーブル9に登録される。同時に分岐ヒストリテーブル9
に登録された書込みレジスタ4の内容が有効であること
を示す有効ビットフラグをセットして登録動作を終了す
る。以後、該有効ビットフラグは分岐ヒストリテーブル
9の上記方法で登録された内容がリセットされるまで保
持されている。
(2)次に、分岐ヒストリテーブル9の登録内容の有効
性の検出について説明する。
性の検出について説明する。
ストア命令の実行サイクルの最後に演算ユニット1から
ストア先アドレスがアドレスレジスタ5に設定されると
共に、命令語へのストア位置を示す書込み指定フラグ1
6およびアドレスレジスタ5と書込み指定フラグ16の
内容が有効であることを示すフラグレジスタ6をセット
する0次のサイクルでフラグレジスタ6の内容が信号線
81を介し制御部12へ送出される。制御部12はフラ
グレジスタ6からの信号を受はアドレスレジスタ5およ
び書込み指定フラグ1Bの内容が有効であることを認識
すると、アドレスレジスタ5が信号線51を介しセレク
タ7で選択され、分岐ヒストリテーブル9を索引し、ア
ドレスレジスタ5の内容が分岐ヒストリテーブル9に登
録されていることを比較器lOで検出し、さらにアドレ
スレジスタ5の内容で読出された分岐ヒストリテーブル
9の有効ビットフラグの情報により比較器10の結果が
有効であることをアンドゲート11で調べ、アントゲ−
)11からの結果を制御部12へ送出する。また、書込
み指定フラグ16の内容はストアフィールド検出部17
へ送られる。ストアフィールド検出部17のアンドゲー
ト21の出力は信号線171を介し制御部12へ送られ
、アドレスレジスタ5の内容はアドレスレジスタ14に
設定される。制御部12は、アンドゲートllおよび2
1からの報告によりアドレスレジスタ5の内容が分岐ヒ
ストリテーブル9に登録されており、該ストア命令の実
行により命令コードが変更されたことを検出すると、ア
ドレスレジスタ14の内容がセレクタ7で選択され分岐
ヒストリテーブル9をアドレスして、アドレスレジスタ
14のアドレスに対応する分岐ヒストリテーブル9の有
効ビットフラグをリセットし動作を終了する。
ストア先アドレスがアドレスレジスタ5に設定されると
共に、命令語へのストア位置を示す書込み指定フラグ1
6およびアドレスレジスタ5と書込み指定フラグ16の
内容が有効であることを示すフラグレジスタ6をセット
する0次のサイクルでフラグレジスタ6の内容が信号線
81を介し制御部12へ送出される。制御部12はフラ
グレジスタ6からの信号を受はアドレスレジスタ5およ
び書込み指定フラグ1Bの内容が有効であることを認識
すると、アドレスレジスタ5が信号線51を介しセレク
タ7で選択され、分岐ヒストリテーブル9を索引し、ア
ドレスレジスタ5の内容が分岐ヒストリテーブル9に登
録されていることを比較器lOで検出し、さらにアドレ
スレジスタ5の内容で読出された分岐ヒストリテーブル
9の有効ビットフラグの情報により比較器10の結果が
有効であることをアンドゲート11で調べ、アントゲ−
)11からの結果を制御部12へ送出する。また、書込
み指定フラグ16の内容はストアフィールド検出部17
へ送られる。ストアフィールド検出部17のアンドゲー
ト21の出力は信号線171を介し制御部12へ送られ
、アドレスレジスタ5の内容はアドレスレジスタ14に
設定される。制御部12は、アンドゲートllおよび2
1からの報告によりアドレスレジスタ5の内容が分岐ヒ
ストリテーブル9に登録されており、該ストア命令の実
行により命令コードが変更されたことを検出すると、ア
ドレスレジスタ14の内容がセレクタ7で選択され分岐
ヒストリテーブル9をアドレスして、アドレスレジスタ
14のアドレスに対応する分岐ヒストリテーブル9の有
効ビットフラグをリセットし動作を終了する。
(3)最後に、命令取出し時の動作について説明する。
命令の先取りが始まると命令カウンタ3で示されるアド
レスが信号線31を介しセレクタ!5で選択され記憶制
御部(図示せず)へ送出される。同時に、命令カウンタ
3の出力はセレクタ7で選択され分岐しストリテーブル
9を索引し、命令カウンタ3の出力から取出された命令
語のアドレスが分岐ヒストリテーブル9に登録されてい
ることを比較器lOにより検出し、さらに比較器lOの
検出結果が有効であることを分岐ヒストリテーブル9の
命令カウンタ3の出力に対応する有効ビットフラグの情
報によりアントゲ−)11で検出し、結果を制御部12
へ送出する。制御部12は、アントゲ−)11からの情
報により命令カウンタ3の出力が分岐ヒストリテーブル
9に登録されていることを認識すると1分岐ヒストリテ
ーブル9から読出された命令カウンタ3の出力に対応す
る分岐先アドレスを分岐先アドレスレジスタ13に設定
する0次のサイクルで分岐先アドレスレジスタ13はセ
レクタ15で選択され、記憶制御部(図示せず)へ命令
の先取リアドレスとして送出される。
レスが信号線31を介しセレクタ!5で選択され記憶制
御部(図示せず)へ送出される。同時に、命令カウンタ
3の出力はセレクタ7で選択され分岐しストリテーブル
9を索引し、命令カウンタ3の出力から取出された命令
語のアドレスが分岐ヒストリテーブル9に登録されてい
ることを比較器lOにより検出し、さらに比較器lOの
検出結果が有効であることを分岐ヒストリテーブル9の
命令カウンタ3の出力に対応する有効ビットフラグの情
報によりアントゲ−)11で検出し、結果を制御部12
へ送出する。制御部12は、アントゲ−)11からの情
報により命令カウンタ3の出力が分岐ヒストリテーブル
9に登録されていることを認識すると1分岐ヒストリテ
ーブル9から読出された命令カウンタ3の出力に対応す
る分岐先アドレスを分岐先アドレスレジスタ13に設定
する0次のサイクルで分岐先アドレスレジスタ13はセ
レクタ15で選択され、記憶制御部(図示せず)へ命令
の先取リアドレスとして送出される。
以上説明したように本発明は、ストア命令のストア先ア
ドレスを用いて該ストア先アドレスが分岐ヒストリテー
ブルに登録されていることを検出した場合、該分岐ヒス
トリテーブルの該ストア先アドレスが示す内容を無効化
することにより、無駄な分岐先命令取出しを行なったり
、無駄なメモリアクセスで本来実施すべきメモリアクセ
スを阻害することによって生じる情報処理装置の性能低
下を防ぐ効果がある。
ドレスを用いて該ストア先アドレスが分岐ヒストリテー
ブルに登録されていることを検出した場合、該分岐ヒス
トリテーブルの該ストア先アドレスが示す内容を無効化
することにより、無駄な分岐先命令取出しを行なったり
、無駄なメモリアクセスで本来実施すべきメモリアクセ
スを阻害することによって生じる情報処理装置の性能低
下を防ぐ効果がある。
第1図は本発明の情報処理装置の一実施例を示すブロッ
ク図、第2図は分岐ヒストリテーブル9の情報を示す図
、第3図は命令語の内容と書込み指定フラグ16の示す
内容との対応を示す図、第4図はストアフィールド検出
部17の具体例を示す図である。 l・・・演算ユニット、 2 、7 、8 、15・・・セレクタ、3・・・命令
カウンタ。 4・・・書込みレジスタ、 5.14・・・アドレスレジスタ。 6・・・フラグレジスタ。 9・・・分岐ヒストリテーブル、 10・・・比較器、 11 、21・・・アンドゲート、 12・・・制御部、 13・・・分岐先アドレスレジスタ、 16・・・書込み指定フラグ、 17・・・ストアフィールド検出部、 18.19.20・・・反転ゲート。
ク図、第2図は分岐ヒストリテーブル9の情報を示す図
、第3図は命令語の内容と書込み指定フラグ16の示す
内容との対応を示す図、第4図はストアフィールド検出
部17の具体例を示す図である。 l・・・演算ユニット、 2 、7 、8 、15・・・セレクタ、3・・・命令
カウンタ。 4・・・書込みレジスタ、 5.14・・・アドレスレジスタ。 6・・・フラグレジスタ。 9・・・分岐ヒストリテーブル、 10・・・比較器、 11 、21・・・アンドゲート、 12・・・制御部、 13・・・分岐先アドレスレジスタ、 16・・・書込み指定フラグ、 17・・・ストアフィールド検出部、 18.19.20・・・反転ゲート。
Claims (1)
- 【特許請求の範囲】 分岐命令のアドレスと該分岐命令の分岐先アドレスとを
対にして記憶する分岐ヒストリテーブルを備え、命令の
先取り制御を行なう情報処理装置において、 ストア命令のストア先アドレスにより前記分岐ヒストリ
テーブルを索引する索引手段と、該ストア命令が命令コ
ードを書替えることを検出する検出手段と、前記索引手
段により前記分岐ヒストリテーブルを索引して該ストア
命令のストア先アドレスが前記分岐ヒストリテーブルに
登録されていることを検出する検出手段と、前記2つの
検出手段の検出結果に応答して、前記分岐ヒストリテー
ブルの内容を無効にする無効化手段とを備えることを特
徴とする命令の先取り制御を行なう情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30702386A JPS63157237A (ja) | 1986-12-22 | 1986-12-22 | 命令の先取り制御を行なう情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30702386A JPS63157237A (ja) | 1986-12-22 | 1986-12-22 | 命令の先取り制御を行なう情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63157237A true JPS63157237A (ja) | 1988-06-30 |
Family
ID=17964095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30702386A Pending JPS63157237A (ja) | 1986-12-22 | 1986-12-22 | 命令の先取り制御を行なう情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63157237A (ja) |
-
1986
- 1986-12-22 JP JP30702386A patent/JPS63157237A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
JP2507756B2 (ja) | 情報処理装置 | |
KR100573446B1 (ko) | 미세 단위 변환 식별 | |
EP0125855B1 (en) | Buffer-storage control system | |
JPS63157237A (ja) | 命令の先取り制御を行なう情報処理装置 | |
KR950000088B1 (ko) | 데이터처리시스템 | |
JPH0326862B2 (ja) | ||
JPS6051947A (ja) | 仮想記憶計算機における命令先取方式 | |
JPS6232508B2 (ja) | ||
JP2542565B2 (ja) | 分岐予測制御方式 | |
JPS63157236A (ja) | 命令の先取り制御を行なう情報処理装置 | |
JPS63191231A (ja) | 命令の先取りを行なう情報処理装置 | |
KR960003052B1 (ko) | 내장된 캐쉬 메모리 유니트를 가진 마이크로프로세서 | |
JPH0342722A (ja) | 分岐ヒストリテーブルを用いた分岐予測方式 | |
JPS62236034A (ja) | マイクロコンピユ−タ | |
JPH0736693A (ja) | 情報処理装置 | |
JPS62114034A (ja) | 計数分岐命令制御方式 | |
CA1233273A (en) | Method for controlling buffer memory in data processing apparatus | |
JPS63191230A (ja) | 命令の先取りを行なう情報処理装置 | |
JPS6027418B2 (ja) | 命令先取り制御装置 | |
JPH041373B2 (ja) | ||
JPH04337833A (ja) | データ処理装置 | |
JPS63311438A (ja) | ストア命令不一致制御回路 | |
JPH0418636A (ja) | 情報処理装置 | |
JPH02239330A (ja) | 情報処理装置 |