JPH01263830A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH01263830A JPH01263830A JP9171488A JP9171488A JPH01263830A JP H01263830 A JPH01263830 A JP H01263830A JP 9171488 A JP9171488 A JP 9171488A JP 9171488 A JP9171488 A JP 9171488A JP H01263830 A JPH01263830 A JP H01263830A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- register
- branch
- branch destination
- 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
- 230000010365 information processing Effects 0.000 claims description 29
- 238000000034 method Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は命令の先取りを行う情報処理装置に関し、特に
、効果的に命令の先取りを実行するため、無条件に分岐
が行われ、かつ、分岐先が動的に変化しない命令につい
て分岐命令のアドレスと分岐先アドレスの対応を記録し
ておくことにより、このような分岐命令の処理を高速に
行う情報処理装置に関する。
、効果的に命令の先取りを実行するため、無条件に分岐
が行われ、かつ、分岐先が動的に変化しない命令につい
て分岐命令のアドレスと分岐先アドレスの対応を記録し
ておくことにより、このような分岐命令の処理を高速に
行う情報処理装置に関する。
一般に、情報処理装置では、命令コードの取り込み(命
令フェッチ)、命令コードの解読(命令デコード)、命
令実行という操作を各命令について行うことにより、プ
ログラムを実行している。
令フェッチ)、命令コードの解読(命令デコード)、命
令実行という操作を各命令について行うことにより、プ
ログラムを実行している。
命令によっては、この他に、オペランド・アドレスの計
算、主記憶からのオペランドのアクセス(オペランド・
リード)や命令実行結果の主記憶への書き戻しくオペラ
ンド・ライト)という操作を必要とするものもある。
算、主記憶からのオペランドのアクセス(オペランド・
リード)や命令実行結果の主記憶への書き戻しくオペラ
ンド・ライト)という操作を必要とするものもある。
そのため、示す情報処理装置では、通常、主記憶制御部
、命令デコード部を備え、命令フェッチ、オペランド・
リード、オペランド・ライトを主記憶制御部で、また命
令デコード、オペランド・アドレスの計算を命令デコー
ド部で行っている。これらの操作は、情報処理装置内の
各部分で分担して処理されるため、連続する数命令につ
いてこれらの各操作をオーバーラツプさせて並列に行う
ことが可能である。この点に着目し、命令を高速に実行
するために、数命令分の操作を並列に処理するように制
御することが広く行われている。これをバイブライン制
御といい、このような制御をとっている情報処理装置を
パイプライン型情報処理装置と呼ぶ。
、命令デコード部を備え、命令フェッチ、オペランド・
リード、オペランド・ライトを主記憶制御部で、また命
令デコード、オペランド・アドレスの計算を命令デコー
ド部で行っている。これらの操作は、情報処理装置内の
各部分で分担して処理されるため、連続する数命令につ
いてこれらの各操作をオーバーラツプさせて並列に行う
ことが可能である。この点に着目し、命令を高速に実行
するために、数命令分の操作を並列に処理するように制
御することが広く行われている。これをバイブライン制
御といい、このような制御をとっている情報処理装置を
パイプライン型情報処理装置と呼ぶ。
この種のパイプライン型情報処理装置で処理を高速に行
うためには、装置内の各部分が並列に動作する必要があ
る。そこで、分岐命令において、分岐先アドレスの計算
が終了するまで命令フェッチを行うことができない問題
を解決するため、情報処理装置内に分岐命令の存在する
アドレスと分岐先アドレスとの対を命令アドレス表およ
び分岐先アドレス表に記録しておく方法が用いられてい
る。
うためには、装置内の各部分が並列に動作する必要があ
る。そこで、分岐命令において、分岐先アドレスの計算
が終了するまで命令フェッチを行うことができない問題
を解決するため、情報処理装置内に分岐命令の存在する
アドレスと分岐先アドレスとの対を命令アドレス表およ
び分岐先アドレス表に記録しておく方法が用いられてい
る。
しかし、従来のものでは、処理の実行時間の点で、次の
ような難点がある。
ような難点がある。
すなわち、分岐命令の存在するアドレスと分岐先アドレ
スを対にして記録しておく方法において、従来の方法で
は、命令アドレス表に記録され°Cいる分岐命令につい
ても、プログラムのどの部分を実行しているのかを示す
命令アドレス・レジスタに値を設定するために分岐先ア
ドレスを計算しなければならず、分岐命令の実行時間を
更に短縮する妨げとなっていた。
スを対にして記録しておく方法において、従来の方法で
は、命令アドレス表に記録され°Cいる分岐命令につい
ても、プログラムのどの部分を実行しているのかを示す
命令アドレス・レジスタに値を設定するために分岐先ア
ドレスを計算しなければならず、分岐命令の実行時間を
更に短縮する妨げとなっていた。
本発明の目的は、分岐命令の実行時間を従来のものに比
し大幅に短縮5J能な情報処理装置を提供することにあ
る。
し大幅に短縮5J能な情報処理装置を提供することにあ
る。
本発明の情報処理装置は、
命令の先取りを行うため先取りする命令のアドレスを保
持する先取りアドレス・レジスタと、先取りアドレス・
レジスタに保持されたアドレスに1回のアクセスで主記
憶から取り込まれるデータ数を加え、次にアクセスすべ
きアドレスを計算するアドレス加算部と、 先取リアドレス・レジスタの示すアドレスから命令コー
ドを取り出す主記憶制御部と、主記憶制御により主記憶
から取り出された命令コードを保持する命令レジスタと
、 命令レジスタに保持されている命令のアドレスを保持す
る命令アドレス・レジスタと、命令レジスタに保持され
た命令コードをデコードする命令デコーダと、 命令デコーダにより命令レジスタに保持された命令が分
岐命令であると判定されたときには命令し・ジヌタに保
持されている命令コードと命令アドレス・レジスタに保
持されている命令のアドレスおよびその他の情報処理装
置内部に保持されている情報をもとに分岐先アドレスを
計算するアドレス計算部とを備え、 命令デコーダのデコード結果をもとに、分岐命令により
分岐した場合には、アドレス計算部から送られるアドレ
スを、これ以外の場合には、アドレス加算部から送られ
るアドレスを先取りアドレス・レジスタに設定し、命令
アドレス・レジスタにはアドレス計算部で計算されたア
ドレスを設定することにより分岐命令を実行する情報処
理装置において、 命令レジスタに保持された命令が無条件に分岐し、かつ
、分岐先が動的に変化しない分岐命令であることを認識
する無条件分岐命令認識部と、無条件分岐命令の存在す
る位置に関係するアドレスを保持する命令アドレス表と
、 命令アドレス表に対応して分岐先アトI/スを保持する
分岐先アドレス表と、 命令アドレス表と分岐先アドレス表への書き込みを制御
する書き込み制御部と、 命令l/ジスタに対応させて命令レジスタに保持された
命令が命令アドレス表に存在するアドレスにより取り出
された命令であるかどうかを識別する命令レジスタ予測
有効ビットとを持たせ、命令アドレス・レジスタにおい
て分岐先のアドレスを保持するため、これを2系統にす
ることで、無条件分岐命令認識部により命令レジスタに
保持されている命令が無条件に分岐し、かつ、分岐先が
動的に変化しない分岐命令であると認識されたときに書
き込み制御部を起動し、命令アドレス・レジスタから出
力されるアドレスとアドレス計算部から出力される分岐
先アドレスの対を書き込み制御部の制御により書き込ん
でおき、さらに、先取りアドレス・レジスタに設定され
たアドレスにより命令アト1/ス表の検索を行い、この
アドレスが命令アドレス表に存在するときには、対応す
る分岐先アドレス表に記録された分岐先アドレスを別系
統の命令アト!/ス・レジスタおよび先取りアドレス・
レジスタに設定するとともに、命令コードに付属させて
命令レジスタ予測有効ビットの値を有効に設定すること
で、命令デコーダにおいて、命令レジスタ予測有効ビッ
トが有効である命令についてはめデコードを行わず、命
令アドレス・レジスタを別系統に切り換えることにより
、無条件に分岐し、かつ、分岐先が動的に変化しない分
岐命令を実行することを特徴としている。
持する先取りアドレス・レジスタと、先取りアドレス・
レジスタに保持されたアドレスに1回のアクセスで主記
憶から取り込まれるデータ数を加え、次にアクセスすべ
きアドレスを計算するアドレス加算部と、 先取リアドレス・レジスタの示すアドレスから命令コー
ドを取り出す主記憶制御部と、主記憶制御により主記憶
から取り出された命令コードを保持する命令レジスタと
、 命令レジスタに保持されている命令のアドレスを保持す
る命令アドレス・レジスタと、命令レジスタに保持され
た命令コードをデコードする命令デコーダと、 命令デコーダにより命令レジスタに保持された命令が分
岐命令であると判定されたときには命令し・ジヌタに保
持されている命令コードと命令アドレス・レジスタに保
持されている命令のアドレスおよびその他の情報処理装
置内部に保持されている情報をもとに分岐先アドレスを
計算するアドレス計算部とを備え、 命令デコーダのデコード結果をもとに、分岐命令により
分岐した場合には、アドレス計算部から送られるアドレ
スを、これ以外の場合には、アドレス加算部から送られ
るアドレスを先取りアドレス・レジスタに設定し、命令
アドレス・レジスタにはアドレス計算部で計算されたア
ドレスを設定することにより分岐命令を実行する情報処
理装置において、 命令レジスタに保持された命令が無条件に分岐し、かつ
、分岐先が動的に変化しない分岐命令であることを認識
する無条件分岐命令認識部と、無条件分岐命令の存在す
る位置に関係するアドレスを保持する命令アドレス表と
、 命令アドレス表に対応して分岐先アトI/スを保持する
分岐先アドレス表と、 命令アドレス表と分岐先アドレス表への書き込みを制御
する書き込み制御部と、 命令l/ジスタに対応させて命令レジスタに保持された
命令が命令アドレス表に存在するアドレスにより取り出
された命令であるかどうかを識別する命令レジスタ予測
有効ビットとを持たせ、命令アドレス・レジスタにおい
て分岐先のアドレスを保持するため、これを2系統にす
ることで、無条件分岐命令認識部により命令レジスタに
保持されている命令が無条件に分岐し、かつ、分岐先が
動的に変化しない分岐命令であると認識されたときに書
き込み制御部を起動し、命令アドレス・レジスタから出
力されるアドレスとアドレス計算部から出力される分岐
先アドレスの対を書き込み制御部の制御により書き込ん
でおき、さらに、先取りアドレス・レジスタに設定され
たアドレスにより命令アト1/ス表の検索を行い、この
アドレスが命令アドレス表に存在するときには、対応す
る分岐先アドレス表に記録された分岐先アドレスを別系
統の命令アト!/ス・レジスタおよび先取りアドレス・
レジスタに設定するとともに、命令コードに付属させて
命令レジスタ予測有効ビットの値を有効に設定すること
で、命令デコーダにおいて、命令レジスタ予測有効ビッ
トが有効である命令についてはめデコードを行わず、命
令アドレス・レジスタを別系統に切り換えることにより
、無条件に分岐し、かつ、分岐先が動的に変化しない分
岐命令を実行することを特徴としている。
本発明による情報処理装置では、命令アドレス・レジス
タを複数系統にし、更に、無条件に分岐し、かつ、分岐
先が動的に変化しない分岐命令についてのみ、分岐命令
の存在するアト!/スと分岐先アドレスを対にして記録
しておく。命令アドレス表に存在する分岐命令を実行す
るときには、分岐先アドレス表に記録されたアドレスか
ら命令コードを取り込むのと同時に命令アドレス・レジ
スタの内、現在使用していない側のレジスタに分岐先ア
ドレスを設定する。このことにより、分岐命令実行時に
は、命令アドレス・レジスタを分岐先アドレスの設定さ
れた側に切り換える時間のみで分岐命令を実行する。
タを複数系統にし、更に、無条件に分岐し、かつ、分岐
先が動的に変化しない分岐命令についてのみ、分岐命令
の存在するアト!/スと分岐先アドレスを対にして記録
しておく。命令アドレス表に存在する分岐命令を実行す
るときには、分岐先アドレス表に記録されたアドレスか
ら命令コードを取り込むのと同時に命令アドレス・レジ
スタの内、現在使用していない側のレジスタに分岐先ア
ドレスを設定する。このことにより、分岐命令実行時に
は、命令アドレス・レジスタを分岐先アドレスの設定さ
れた側に切り換える時間のみで分岐命令を実行する。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例に係る情報処理装置の内部構
成を示す。
成を示す。
この装置は、第1図に示す如く、命令の先取りを行うた
め、先取りする命令のアドレスを保持する先取りアドレ
ス・レジスタ10と、先取リアドレス・レジスタ10の
示すアドレスにより、命令コードを主記憶50から取り
出す主記憶制御部30と、アドレス加算部20と、命令
デコード部40を有する。
め、先取りする命令のアドレスを保持する先取りアドレ
ス・レジスタ10と、先取リアドレス・レジスタ10の
示すアドレスにより、命令コードを主記憶50から取り
出す主記憶制御部30と、アドレス加算部20と、命令
デコード部40を有する。
先取りアドレス・レジスタ10は先取りしている命令コ
ードの存在するアドレスを示すレジスタである。主記憶
制御部30は主記憶50のアクセスを行う部分である。
ードの存在するアドレスを示すレジスタである。主記憶
制御部30は主記憶50のアクセスを行う部分である。
主記憶制御部30の内部にメモリ管理機構やキャッシュ
・メモリを持つ情報処理装置も考えられる。命令デコー
ド部40は命令のデコードとアドレス計算を行う部分で
あり、命令デコーダ43、命令レジスタ41、命令アド
レス・レジスタ42、アドレス計算部44の他、後述す
る無条件分岐命令認識部43aを内部に持つ。
・メモリを持つ情報処理装置も考えられる。命令デコー
ド部40は命令のデコードとアドレス計算を行う部分で
あり、命令デコーダ43、命令レジスタ41、命令アド
レス・レジスタ42、アドレス計算部44の他、後述す
る無条件分岐命令認識部43aを内部に持つ。
命令レジスタ41は、主記憶制御部30により主記憶5
0から取り出された命令コードを保持するレジスタであ
り、命令レジスタ・レジスタ42は、命令レジスタ41
に保持されている命令のアドレスを保持するレジスタで
ある。
0から取り出された命令コードを保持するレジスタであ
り、命令レジスタ・レジスタ42は、命令レジスタ41
に保持されている命令のアドレスを保持するレジスタで
ある。
命令デコーダ43は、命令レジスタ41に保持された命
令コードをデコードするものである。
令コードをデコードするものである。
上記した命令レジスタ41は、通常、複数命令骨の命令
コードを格納することが可能である。アドレス計算部4
4は、命令レジスタ41に格納された命令コードや命令
アドレス・レジスタ42に格納されたアドレスや情報処
理装置内のレジスタを用いてオペランド・アドレスを計
算する部分である。
コードを格納することが可能である。アドレス計算部4
4は、命令レジスタ41に格納された命令コードや命令
アドレス・レジスタ42に格納されたアドレスや情報処
理装置内のレジスタを用いてオペランド・アドレスを計
算する部分である。
すなわち、アドレス計算部44は、命令デコーダ43に
より命令レジスタ41に保持された命令が分岐命令であ
ると判定されたときには、命令レジスタ41に保持され
ている命令コードと命令アドレス・レジスタ42に保持
されている命令のアドレスおよびその他の情報処理装置
内部に保持されている情報をもとに分岐先アドレスを計
算するためのものである。
より命令レジスタ41に保持された命令が分岐命令であ
ると判定されたときには、命令レジスタ41に保持され
ている命令コードと命令アドレス・レジスタ42に保持
されている命令のアドレスおよびその他の情報処理装置
内部に保持されている情報をもとに分岐先アドレスを計
算するためのものである。
また、アドレス加算部20は、先取リアドレス・レジス
タ10に保持されたアドレスに1回のアクセスで主記憶
50から取り込まれるデータ数を加え、次にアクセスす
べきアドレスを計算するためのものである。
タ10に保持されたアドレスに1回のアクセスで主記憶
50から取り込まれるデータ数を加え、次にアクセスす
べきアドレスを計算するためのものである。
このように、第1図の装置では、命令の先取りを行うた
め、先取りする命令のアドレスを保持する先取りアドレ
ス・レジスタ10、先取リアドレス・レジスタlOに保
持されたアドレスに1回のアクセスで主記憶50から取
り込まれるデータ数を加え、次にアクセスすべきアドレ
スを計算するアドレス加算部20、先取りアドレス・レ
ジスタ10の示すアドレスから命令コードを主記憶50
から取り出す主記憶制御部30、主記憶制御部30によ
り上記1150から取り出された命令コードを保持する
命令レジスタ41、命令レジスタ41に保持されている
命令のアドレスを保持する命令アドレス・レジスタ42
、命令レジスタ41に保持された命令コードをデコード
する命令デコーダ43、命令デコーダ43により命令レ
ジスタ41に保持された命令が分岐命令であると判定さ
れたときには命令レジスタ41に保持されている命令コ
ードと命令アドレス・レジスタ42に保持されている命
令のアドレスおよびその他の情報処理装置内部に保持さ
れている情報をもとに分岐先アドレスを計算するアドレ
ス計算部44を有し、命令デコーダ43のデコード結果
をもとに、分岐命令により分岐した場合には、アドレス
計算部44から送られるアドレスを、これ以外の場合に
は、アドレス加算部20から送られるアドレスを先取リ
アドレス・レジスタ10に設定し、命令アドレス・レジ
スタ42にはアドレス計算部44で計算されたアドレス
を設定することにより分岐命令を実行する情報処理装置
であり、かかる情報処理装置において、本実施例では、
更に、先に触れた無条件分岐命令認識部43aを命令デ
コード部40に備える他、命令レジスタ予測有効ビット
45を持ち、かつ、命令アドレス表61、分岐先アドレ
ス表62、書き込み制御部70およびアドレス選択部8
0を備えている。
め、先取りする命令のアドレスを保持する先取りアドレ
ス・レジスタ10、先取リアドレス・レジスタlOに保
持されたアドレスに1回のアクセスで主記憶50から取
り込まれるデータ数を加え、次にアクセスすべきアドレ
スを計算するアドレス加算部20、先取りアドレス・レ
ジスタ10の示すアドレスから命令コードを主記憶50
から取り出す主記憶制御部30、主記憶制御部30によ
り上記1150から取り出された命令コードを保持する
命令レジスタ41、命令レジスタ41に保持されている
命令のアドレスを保持する命令アドレス・レジスタ42
、命令レジスタ41に保持された命令コードをデコード
する命令デコーダ43、命令デコーダ43により命令レ
ジスタ41に保持された命令が分岐命令であると判定さ
れたときには命令レジスタ41に保持されている命令コ
ードと命令アドレス・レジスタ42に保持されている命
令のアドレスおよびその他の情報処理装置内部に保持さ
れている情報をもとに分岐先アドレスを計算するアドレ
ス計算部44を有し、命令デコーダ43のデコード結果
をもとに、分岐命令により分岐した場合には、アドレス
計算部44から送られるアドレスを、これ以外の場合に
は、アドレス加算部20から送られるアドレスを先取リ
アドレス・レジスタ10に設定し、命令アドレス・レジ
スタ42にはアドレス計算部44で計算されたアドレス
を設定することにより分岐命令を実行する情報処理装置
であり、かかる情報処理装置において、本実施例では、
更に、先に触れた無条件分岐命令認識部43aを命令デ
コード部40に備える他、命令レジスタ予測有効ビット
45を持ち、かつ、命令アドレス表61、分岐先アドレ
ス表62、書き込み制御部70およびアドレス選択部8
0を備えている。
本実施例装置では、これらの各手段、すなわち、命令レ
ジスタ41に保持された命令が無条件に分岐し、かつ、
分岐先が動的に変化しない分岐命令であることを認識す
る無条件分岐命令認識部43a、無条件分岐命令の存在
する位置に関係するアドレスを保持する命令アドレス表
61、命令アドレス表61に対応して分岐先アドレスを
保持する分岐先アドレス表62、命令アドレス表61と
分岐先アドレス表62への書き込みを制御する書き込み
制御部70、命令レジスタ41に対応させて命令レジス
タ41に保持された命令が命令アドレス表61に存在す
るアドレスにより取り出された命令であるかどうかを識
別する命令レジスタ予測有効ビット45を持たせ、命令
アドレス・レジスタ42において分岐先のアドレスを保
持するため、これを2系統にすることで、無条件分岐命
令認識部43aにより命令レジスタ41に保持されてい
る命令が無条件に分岐し、かつ、分岐先が動的に変化し
ない分岐命令であると認識されたときに書き込み制御部
70を起動し、命令アドレス・レジスタ42から出力さ
れるアドレスとアドレス計算部44から出力される分岐
先アドレスの対を書き込み制御部70の制御により書き
込んでおき、さらに、先取りアドレス・レジスタ1oに
設定されたアドレスにより命令アドレス表61の検索を
行い、このアドレスが命令アドレス表61に存在すると
きには、対応する分岐先アドレス表62に記録された分
岐先アドレスを別系統の命令アドレス・レジスタ42お
よび先取りアドレス・レジスタ10に設定するとともに
、命令コードに付属させて命令レジスタ予測有効ビット
45の値を有効に設定することで、命令デコーダ43に
おいて、命令レジスタ予測有効ビット45が有効である
命令については命令デコードを行わず、命令アドレス・
レジスタ42を別系統に切り換えることにより、無条件
に分岐し、かつ、分岐先が動的に変化しない分岐命令を
実行するようにする。
ジスタ41に保持された命令が無条件に分岐し、かつ、
分岐先が動的に変化しない分岐命令であることを認識す
る無条件分岐命令認識部43a、無条件分岐命令の存在
する位置に関係するアドレスを保持する命令アドレス表
61、命令アドレス表61に対応して分岐先アドレスを
保持する分岐先アドレス表62、命令アドレス表61と
分岐先アドレス表62への書き込みを制御する書き込み
制御部70、命令レジスタ41に対応させて命令レジス
タ41に保持された命令が命令アドレス表61に存在す
るアドレスにより取り出された命令であるかどうかを識
別する命令レジスタ予測有効ビット45を持たせ、命令
アドレス・レジスタ42において分岐先のアドレスを保
持するため、これを2系統にすることで、無条件分岐命
令認識部43aにより命令レジスタ41に保持されてい
る命令が無条件に分岐し、かつ、分岐先が動的に変化し
ない分岐命令であると認識されたときに書き込み制御部
70を起動し、命令アドレス・レジスタ42から出力さ
れるアドレスとアドレス計算部44から出力される分岐
先アドレスの対を書き込み制御部70の制御により書き
込んでおき、さらに、先取りアドレス・レジスタ1oに
設定されたアドレスにより命令アドレス表61の検索を
行い、このアドレスが命令アドレス表61に存在すると
きには、対応する分岐先アドレス表62に記録された分
岐先アドレスを別系統の命令アドレス・レジスタ42お
よび先取りアドレス・レジスタ10に設定するとともに
、命令コードに付属させて命令レジスタ予測有効ビット
45の値を有効に設定することで、命令デコーダ43に
おいて、命令レジスタ予測有効ビット45が有効である
命令については命令デコードを行わず、命令アドレス・
レジスタ42を別系統に切り換えることにより、無条件
に分岐し、かつ、分岐先が動的に変化しない分岐命令を
実行するようにする。
上述した各アドレス表に関しては、例えば、命令アドレ
ス表61は連想メモリで構成され、これに格納されたす
べてのアドレスと先取りアドレス・レジスタ10の内容
との比較を行う。この比較の結果、一致するアドレスが
なれば、このアドレスに対応する分岐先アドレスが有効
な値として分岐先アドレス表62から出力される。−敗
するアドレスがない場合は、この表からの出力は無効と
なる。
ス表61は連想メモリで構成され、これに格納されたす
べてのアドレスと先取りアドレス・レジスタ10の内容
との比較を行う。この比較の結果、一致するアドレスが
なれば、このアドレスに対応する分岐先アドレスが有効
な値として分岐先アドレス表62から出力される。−敗
するアドレスがない場合は、この表からの出力は無効と
なる。
この分岐先アドレス表62は、通常のメモリにより構成
される。
される。
以下、場合を分けて具体的に説明する。
まず、本実施例における情報処理装置で分岐命令以外の
命令を先取りする手順を示す。
命令を先取りする手順を示す。
先取リアドレス・レジスタ10に格納さたアドレスによ
りその位置を指定される主記憶50上の命令コードは、
主記憶制御部30によって命令レジスタ41に格納する
。この操作が終了すると、アドレス加算部20は11V
Eする命令のアドレスを計算し、アドレス選択部80に
入力する。アドレス選択部80では、通常命令の実行時
にはアドレス加算部20からの出力を選択し、先取りア
ドレス・レジスタ10に送る。先取りアドレス・レジス
タ10では、アドレス選択部80から送られるアドレス
を格納し、このアドレスから命令フェッチを行う。この
操作を繰り返し行うことにより、命令フェッチを行う。
りその位置を指定される主記憶50上の命令コードは、
主記憶制御部30によって命令レジスタ41に格納する
。この操作が終了すると、アドレス加算部20は11V
Eする命令のアドレスを計算し、アドレス選択部80に
入力する。アドレス選択部80では、通常命令の実行時
にはアドレス加算部20からの出力を選択し、先取りア
ドレス・レジスタ10に送る。先取りアドレス・レジス
タ10では、アドレス選択部80から送られるアドレス
を格納し、このアドレスから命令フェッチを行う。この
操作を繰り返し行うことにより、命令フェッチを行う。
この結果、先取りアドレス・レジスタ10に格納された
アドレスは、命令フェッチを行っているアドレスを示す
ことになる。このときには、命令アドレス表61からの
出力は無効であるため、命令I/レジスタ予測有効ビッ
ト5の内容は常に無効が設定される。命令デコード部4
0では、命令レジスタ41に格納された命令コードをデ
コードする。
アドレスは、命令フェッチを行っているアドレスを示す
ことになる。このときには、命令アドレス表61からの
出力は無効であるため、命令I/レジスタ予測有効ビッ
ト5の内容は常に無効が設定される。命令デコード部4
0では、命令レジスタ41に格納された命令コードをデ
コードする。
実行すべき命令が分岐命令の場合、アドレス計算部44
により分岐先アドレスが計算され、アドレス選択部80
に送られる。命令デコーダ43により、実行すべき命令
が分岐命令であると認識されたときには、アドレス選択
部80においてアドレス計算部44から送られたアドレ
スを先取りアドレス・レジスタ10に送ることで分岐が
行われる。
により分岐先アドレスが計算され、アドレス選択部80
に送られる。命令デコーダ43により、実行すべき命令
が分岐命令であると認識されたときには、アドレス選択
部80においてアドレス計算部44から送られたアドレ
スを先取りアドレス・レジスタ10に送ることで分岐が
行われる。
実行すべき命令が無条件に分岐し、かつ、分岐先が動的
に変化しない分岐命令のときには、以下の操作がなされ
る。
に変化しない分岐命令のときには、以下の操作がなされ
る。
無条件分岐命令認識部43aは命令レジスタ41を監視
しており、ここに格納された命令が無条件に分岐し、か
つ、分岐先が動的に変化しない分岐命令する命令のとき
には、無条件分岐命令認識部43aの出力を有効にする
。この操作により、書き込み制御部70が起動され、命
令アドレス・レジスタ42により示される分岐命令の命
令コード語の存在するアドレスとアドレス計算部44に
より計算された分岐先アドレスの対が記録される。以上
の操作により、命令アドレス表61と分岐先アドレス表
62の内容が設定される。
しており、ここに格納された命令が無条件に分岐し、か
つ、分岐先が動的に変化しない分岐命令する命令のとき
には、無条件分岐命令認識部43aの出力を有効にする
。この操作により、書き込み制御部70が起動され、命
令アドレス・レジスタ42により示される分岐命令の命
令コード語の存在するアドレスとアドレス計算部44に
より計算された分岐先アドレスの対が記録される。以上
の操作により、命令アドレス表61と分岐先アドレス表
62の内容が設定される。
次に、無条件に分岐し、かつ、分岐先が動的に変化しな
い分岐命令の内、−度実行されて、上に示した手順で命
令アドレス表61と分岐先アドレス表62に格納されて
いる命令を再び実行する際の手順を示す。この命令をこ
こでは、再実行無条件分岐命令と呼ぶ。先取リアドレス
・レジスタ10に格納されたアドレスは、命令フェッチ
を行っているアドレスを示しており、これは常に命令ア
ドレス表61に記録されたすべてのアドレスと比較され
ている。これを検索操作と呼び、先取りアドレス・レジ
スタ10に格納されたアドレスと一致するアドレスが命
令アドレス表61に存在するときには検索湿作が成功し
たものとする。再実行無条件分岐命令の先取りを行うと
、先取りアドレス・レジスタ10に格納されたアドレス
による検索操作が成功するため、一致したアドレスに対
応する分岐先アドレスが分岐先アドレス表62から有効
な値としぞ出力され、アドレス選択部80および命令ア
ドレス・レジスタ42に送られる。命令レジスタ41は
2系統あるが、このときに使用していない側にこのアド
レスを格納しておく。アドレス選択部80では、有効な
値として出力された分岐先アドレスを受は取ると、これ
を先取りアドレス・レジスタIOに送る。
い分岐命令の内、−度実行されて、上に示した手順で命
令アドレス表61と分岐先アドレス表62に格納されて
いる命令を再び実行する際の手順を示す。この命令をこ
こでは、再実行無条件分岐命令と呼ぶ。先取リアドレス
・レジスタ10に格納されたアドレスは、命令フェッチ
を行っているアドレスを示しており、これは常に命令ア
ドレス表61に記録されたすべてのアドレスと比較され
ている。これを検索操作と呼び、先取りアドレス・レジ
スタ10に格納されたアドレスと一致するアドレスが命
令アドレス表61に存在するときには検索湿作が成功し
たものとする。再実行無条件分岐命令の先取りを行うと
、先取りアドレス・レジスタ10に格納されたアドレス
による検索操作が成功するため、一致したアドレスに対
応する分岐先アドレスが分岐先アドレス表62から有効
な値としぞ出力され、アドレス選択部80および命令ア
ドレス・レジスタ42に送られる。命令レジスタ41は
2系統あるが、このときに使用していない側にこのアド
レスを格納しておく。アドレス選択部80では、有効な
値として出力された分岐先アドレスを受は取ると、これ
を先取りアドレス・レジスタIOに送る。
また、主記憶制御部30で先取りされた分岐命令の命令
コードに対応させて命令レジスタ予測有効ビット45を
有効に設定される。主記憶制御部30では、先取リアド
レス・レジスタに設定されたアドレスから命令フェッチ
を行うため、命令フェッチは分岐先から行われ、これ以
降は、上記分岐命令以外の命令を先取りする手順により
命令コードの先取りが行われる。
コードに対応させて命令レジスタ予測有効ビット45を
有効に設定される。主記憶制御部30では、先取リアド
レス・レジスタに設定されたアドレスから命令フェッチ
を行うため、命令フェッチは分岐先から行われ、これ以
降は、上記分岐命令以外の命令を先取りする手順により
命令コードの先取りが行われる。
さて、主記憶50のアクセスによる命令コードの先取り
時、先取リアドレス・レジスタ10の内容が命令アドレ
ス表61に存在するかどうかは命令レジスタ41に付属
させた命令レジスタ予測有効ビット45が設定される。
時、先取リアドレス・レジスタ10の内容が命令アドレ
ス表61に存在するかどうかは命令レジスタ41に付属
させた命令レジスタ予測有効ビット45が設定される。
すなわち、命令レジスタ予測有効ビット45は、命令ア
ドレス表61に存在する分岐命令を先取りしたことを示
すことになる。命令デコーダ43では、命令レジスタ予
測有効ビット45が有効となっているときは命令デコー
ドや分岐先アドレスの計算を行わず、命令アドレス・レ
ジスタ42を分岐先アドレスが格納された側に切り換え
ることにより分岐命令を実行する。
ドレス表61に存在する分岐命令を先取りしたことを示
すことになる。命令デコーダ43では、命令レジスタ予
測有効ビット45が有効となっているときは命令デコー
ドや分岐先アドレスの計算を行わず、命令アドレス・レ
ジスタ42を分岐先アドレスが格納された側に切り換え
ることにより分岐命令を実行する。
以上のようにして、命令アドレス・レジスタを複数系統
にし、さらに、無条件に分岐し、かつ、分岐先が動的に
変化しない分岐命令についてのみ、分岐命令の存在する
アドレスと分岐先アドレスを対にして記録しておくよう
にし、無条件に分岐し、かつ、分岐先か動的に変化しな
い分岐命令において、分岐先アドレスを計算することな
く分岐を行うようにすることができ、′分岐命令の処理
を高速に行わしめることが可能となる。
にし、さらに、無条件に分岐し、かつ、分岐先が動的に
変化しない分岐命令についてのみ、分岐命令の存在する
アドレスと分岐先アドレスを対にして記録しておくよう
にし、無条件に分岐し、かつ、分岐先か動的に変化しな
い分岐命令において、分岐先アドレスを計算することな
く分岐を行うようにすることができ、′分岐命令の処理
を高速に行わしめることが可能となる。
以上説明したように、本発明によれば、無条件に分岐し
、かつ、分岐先が動的に変化しない分岐命令において、
分岐先アドレスを計算することなく分岐を行うことがで
きるため、分岐命令の実行時間を大幅に短縮された情報
処理装置を構成することが可能となる。
、かつ、分岐先が動的に変化しない分岐命令において、
分岐先アドレスを計算することなく分岐を行うことがで
きるため、分岐命令の実行時間を大幅に短縮された情報
処理装置を構成することが可能となる。
第1図は本発明の一実施例を示す図である。
lO・・・・・先取りアドレス・レジスタ20・・・・
・アドレス加算部 30・・・・・主記憶制御部 40・・・・・命令デコード部 41・・・・・命令レジスタ 42・・・・・命令アドレス・レジスタ43・・・・・
命令デコーダ 43a−J・・無条件分岐命令確認部 44・・・・・アドレス計算部 45・・・・・命令レジスタ予測有効ビ・7ト50・・
・・・主記憶 61・・・・・命令アドレス表 62・・・・・分岐先アドレス表 70・・・・・書き込み制御部 80・・・・・アドレス選択部 代理人 弁理士 岩 佐 義 幸
・アドレス加算部 30・・・・・主記憶制御部 40・・・・・命令デコード部 41・・・・・命令レジスタ 42・・・・・命令アドレス・レジスタ43・・・・・
命令デコーダ 43a−J・・無条件分岐命令確認部 44・・・・・アドレス計算部 45・・・・・命令レジスタ予測有効ビ・7ト50・・
・・・主記憶 61・・・・・命令アドレス表 62・・・・・分岐先アドレス表 70・・・・・書き込み制御部 80・・・・・アドレス選択部 代理人 弁理士 岩 佐 義 幸
Claims (1)
- (1)命令の先取りを行うため先取りする命令のアドレ
スを保持する先取りアドレス・レジスタと、先取りアド
レス・レジスタに保持されたアドレスに1回のアクセス
で主記憶から取り込まれるデータ数を加え、次にアクセ
スすべきアドレスを計算するアドレス加算部と、 先取りアドレス・レジスタの示すアドレスから命令コー
ドを取り出す主記憶制御部と、 主記憶制御により主記憶から取り出された命令コードを
保持する命令レジスタと、 命令レジスタに保持されている命令のアドレスを保持す
る命令アドレス・レジスタと、 命令レジスタに保持された命令コードをデコードする命
令デコーダと、 命令デコーダにより命令レジスタに保持された命令が分
岐命令であると判定されたときには命令レジスタに保持
されている命令コードと命令アドレス・レジスタに保持
されている命令のアドレスおよびその他の情報処理装置
内部に保持されている情報をもとに分岐先アドレスを計
算するアドレス計算部とを備え、 命令デコーダのデコード結果をもとに、分岐命令により
分岐した場合には、アドレス計算部から送られるアドレ
スを、これ以外の場合には、アドレス加算部から送られ
るアドレスを先取りアドレス・レジスタに設定し、命令
アドレス・レジスタにはアドレス計算部で計算されたア
ドレスを設定することにより分岐命令を実行する情報処
理装置において、 命令レジスタに保持された命令が無条件に分岐し、かつ
、分岐先が動的に変化しない分岐命令であることを認識
する無条件分岐命令認識部と、無条件分岐命令の存在す
る位置に関係するアドレスを保持する命令アドレス表と
、 命令アドレス表に対応して分岐先アドレスを保持する分
岐先アドレス表と、 命令アドレス表と分岐先アドレス表への書き込みを制御
する書き込み制御部と、 命令レジスタに対応させて命令レジスタに保持された命
令が命令アドレス表に存在するアドレスにより取り出さ
れた命令であるかどうかを識別する命令レジスタ予測有
効ビットとを持たせ、命令アドレス・レジスタにおいて
分岐先のアドレスを保持するため、これを2系統にする
ことで、無条件分岐命令認識部により命令レジスタに保
持されている命令が無条件に分岐し、かつ、分岐先が動
的に変化しない分岐命令であると認識されたときに書き
込み制御部を起動し、命令アドレス・レジスタから出力
されるアドレスとアドレス計算部から出力される分岐先
アドレスの対を書き込み制御部の制御により書き込んで
おき、さらに、先取りアドレス・レジスタに設定された
アドレスにより命令アドレス表の検索を行い、このアド
レスが命令アドレス表に存在するときには、対応する分
岐先アドレス表に記録された分岐先アドレスを別系統の
命令アドレス・レジスタおよび先取りアドレス・レジス
タに設定するとともに、命令コードに付属させて命令レ
ジスタ予測有効ビットの値を有効に設定することで、命
令デコーダにおいて、命令レジスタ予測有効ビットが有
効である命令についてはめデコードを行わず、命令アド
レス・レジスタを別系統に切り換えることにより、無条
件に分岐し、かつ、分岐先が動的に変化しない分岐命令
を実行することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9171488A JPH01263830A (ja) | 1988-04-15 | 1988-04-15 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9171488A JPH01263830A (ja) | 1988-04-15 | 1988-04-15 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01263830A true JPH01263830A (ja) | 1989-10-20 |
Family
ID=14034182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9171488A Pending JPH01263830A (ja) | 1988-04-15 | 1988-04-15 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01263830A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224924A (ja) * | 1992-02-10 | 1993-09-03 | Fujitsu Ltd | データ処理装置及びデータ処理方法 |
-
1988
- 1988-04-15 JP JP9171488A patent/JPH01263830A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224924A (ja) * | 1992-02-10 | 1993-09-03 | Fujitsu Ltd | データ処理装置及びデータ処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0380859B1 (en) | Method of preprocessing multiple instructions | |
US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
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 | |
JPH0283735A (ja) | 命令先取り装置 | |
JPS6215896B2 (ja) | ||
EP0297943B1 (en) | Microcode reading control system | |
JPH0527971A (ja) | 情報処理装置 | |
JPH08320788A (ja) | パイプライン方式プロセッサ | |
US20040172518A1 (en) | Information processing unit and information processing method | |
JPH01263830A (ja) | 情報処理装置 | |
KR950000088B1 (ko) | 데이터처리시스템 | |
JPH04245334A (ja) | 情報処理装置の命令先読み制御方式 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JPS6336336A (ja) | 情報処理装置 | |
KR19980052331A (ko) | 프로세서의 캐시 메모리 제어 방법 | |
US6735686B1 (en) | Data processing device including two instruction decoders for decoding branch instructions | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP2878526B2 (ja) | プリフェッチ制御方式 | |
JPS63221427A (ja) | 分岐予測を行う情報処理装置 | |
JP2545594B2 (ja) | オペランドデータ先取り方式 | |
JPH0752402B2 (ja) | データ処理装置 | |
JPS58137048A (ja) | 分岐命令制御方式 | |
JPH11306019A (ja) | 情報処理装置及びプロセッサ | |
KR20000010200A (ko) | 명령어 디코딩 경로를 줄인 명령어 디코딩 장치 | |
JPH03113535A (ja) | パイプライン制御機構 |