JPH03102523A - 情報処理装置における分岐制御方式 - Google Patents
情報処理装置における分岐制御方式Info
- Publication number
- JPH03102523A JPH03102523A JP24108989A JP24108989A JPH03102523A JP H03102523 A JPH03102523 A JP H03102523A JP 24108989 A JP24108989 A JP 24108989A JP 24108989 A JP24108989 A JP 24108989A JP H03102523 A JPH03102523 A JP H03102523A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- ibri
- branch
- address
- pipeline
- 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
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
パイプライン制御の情報処理装置における任意の時点で
実行可能な分岐制御命令IBの分岐制御方弐に関し 分岐命令によるパイプラインの乱れの発生を解消するこ
とを目的とし 分岐元アドレスと分岐先アドレスの両方をオペランドと
して.分岐先アドレスに先行する任意の時点で実行でき
る分岐制御命令IBを設け,さらに命令フエツチ機構部
で早期にその分岐を実現し切れ目なく命令フェッチを行
うことにより,分岐命令によるパイプラインの乱れを解
消するように構威した。
実行可能な分岐制御命令IBの分岐制御方弐に関し 分岐命令によるパイプラインの乱れの発生を解消するこ
とを目的とし 分岐元アドレスと分岐先アドレスの両方をオペランドと
して.分岐先アドレスに先行する任意の時点で実行でき
る分岐制御命令IBを設け,さらに命令フエツチ機構部
で早期にその分岐を実現し切れ目なく命令フェッチを行
うことにより,分岐命令によるパイプラインの乱れを解
消するように構威した。
本発明は,パイプライン制御の情報処理装置における任
意の時点で実行可能な分岐制御命令I B〔従来技術〕 パイプライン制御では.理想的な制御が行われる場合,
第8図の様な手順で毎ザイクルに命令を連続実行可能と
なるが5実際には (1)分岐命令による処理径路の変化 (2)レジスタ衝突による待ち合わせ (3)各ステージの処理時間の相違乙こよる同期の乱れ (4)ストア命令による先行命令の書換え(5)割込み などの要因によりパイプラインに第9図に例示されるよ
うな乱れが生しるため.このような理想状態を常に保つ
ことは不可能となる。そのため従来このようなバイブラ
イン制御を採用する計算機システムでは,上記要因のそ
れぞれ↓こ対して,各ステージの実行が空にならないよ
うに1多様な努力が払われてきた。
意の時点で実行可能な分岐制御命令I B〔従来技術〕 パイプライン制御では.理想的な制御が行われる場合,
第8図の様な手順で毎ザイクルに命令を連続実行可能と
なるが5実際には (1)分岐命令による処理径路の変化 (2)レジスタ衝突による待ち合わせ (3)各ステージの処理時間の相違乙こよる同期の乱れ (4)ストア命令による先行命令の書換え(5)割込み などの要因によりパイプラインに第9図に例示されるよ
うな乱れが生しるため.このような理想状態を常に保つ
ことは不可能となる。そのため従来このようなバイブラ
イン制御を採用する計算機システムでは,上記要因のそ
れぞれ↓こ対して,各ステージの実行が空にならないよ
うに1多様な努力が払われてきた。
特に,(1)の分岐命令に関しては,第9図に示すよう
に分岐先(ターゲット)の命令をフェッヂするための処
理でバイブラインの乱れが大きくなり更に分岐命令の頻
度が非常に大きいことも相俟って5バイブライン方式上
重要な解決課題となっている。
に分岐先(ターゲット)の命令をフェッヂするための処
理でバイブラインの乱れが大きくなり更に分岐命令の頻
度が非常に大きいことも相俟って5バイブライン方式上
重要な解決課題となっている。
従来,この間瑚に対ずる制御方式として,前回の分岐成
功時に分岐先アドレスを記録した履歴テーブルを用いて
,同一のケースについて行う先行フェッチや,条件分岐
命令の場合に条件確定までに時間がかかるためその間に
他の命令のフローを挿入して効率化する遅延分岐(De
layed Branch)といった種々の方式が提案
されている。
功時に分岐先アドレスを記録した履歴テーブルを用いて
,同一のケースについて行う先行フェッチや,条件分岐
命令の場合に条件確定までに時間がかかるためその間に
他の命令のフローを挿入して効率化する遅延分岐(De
layed Branch)といった種々の方式が提案
されている。
しかしながら,履歴テーブルを用いる方式では二度目の
実行にしか効果が無い上.ある程度大きなテーブルが必
要であるためテーブル管理が複雑になり,また遅延分岐
では条件分岐命令の対の命令を開始する前に割り込みが
入ると複雑な制御が必要となるうえ.完全にはパイプラ
インの乱れを吸収することはできない。これ以外の方式
も,機構目体が大規模であったり.制御が複雑になる等
実現−1二問題とtζる部分が多かった。
実行にしか効果が無い上.ある程度大きなテーブルが必
要であるためテーブル管理が複雑になり,また遅延分岐
では条件分岐命令の対の命令を開始する前に割り込みが
入ると複雑な制御が必要となるうえ.完全にはパイプラ
インの乱れを吸収することはできない。これ以外の方式
も,機構目体が大規模であったり.制御が複雑になる等
実現−1二問題とtζる部分が多かった。
(発明が解決しようとする課題〕
本発明は,分岐命令によるパイプラインの乱れの発生を
解消することを目的としている。
解消することを目的としている。
(課題を解決するための手段〕
本発明は.分岐元アドレスと分岐先アドレスの両方をオ
ベラン1−として.分峡先アドレスに先行する任意の時
点で実行できる分岐制御命令IBを設け.さらに命令フ
エツチ機福部で早1り]にその分岐を実現し,切れ目な
く命令フェノチを行うことにより,分岐命令によるパイ
プラインの乱れを解消するものである。
ベラン1−として.分峡先アドレスに先行する任意の時
点で実行できる分岐制御命令IBを設け.さらに命令フ
エツチ機福部で早1り]にその分岐を実現し,切れ目な
く命令フェノチを行うことにより,分岐命令によるパイ
プラインの乱れを解消するものである。
本発明による分岐制御命令IBの形式を次に示す。
rlBi VAclrsAi,VAdrsBi,1
ここで,I}3は命令名,jは同時丈行される1 13
を識別する番号,VAdrsAiは分岐元となるアドレ
ス,VAdrsBiは分岐先となるアドレスを表す。
ここで,I}3は命令名,jは同時丈行される1 13
を識別する番号,VAdrsAiは分岐元となるアドレ
ス,VAdrsBiは分岐先となるアドレスを表す。
第1図は,本発明の原理構或図であり,本発明による命
令フエツチ機構部の機能を示している。
令フエツチ機構部の機能を示している。
図中
1は命令フェッチス1・リームであり,命令フエッチで
のキャソシュミス時に主記憶からロードするタイミング
をとるためにFiFoスタンクで構威される。この命令
フェッチストリーム1では空にならないよう常に先行的
な命令フェノチが行われる。
のキャソシュミス時に主記憶からロードするタイミング
をとるためにFiFoスタンクで構威される。この命令
フェッチストリーム1では空にならないよう常に先行的
な命令フェノチが行われる。
2は,命令実行パイプラインであり,第8図に例示され
るような,D(デコード),A(アドレス生或)1 T
(アトレス変換),B(ハッファアクセス),E(実行
),W(結果の書き込み)のステージで構威される。
るような,D(デコード),A(アドレス生或)1 T
(アトレス変換),B(ハッファアクセス),E(実行
),W(結果の書き込み)のステージで構威される。
3は IBRIないしIBRnからなるレジスタIBR
iであり,有効な分岐制御命令)Biの分岐元アトレス
VAdrsAiおよび分岐先アドレスVAdrsBiを
対にして登録可能にする。
iであり,有効な分岐制御命令)Biの分岐元アトレス
VAdrsAiおよび分岐先アドレスVAdrsBiを
対にして登録可能にする。
TBRの番号iは,別にオペランドの1つとして指定さ
れ.1≦j≦n(nは命令フェソチに必要なτ数)の値
をとる。
れ.1≦j≦n(nは命令フェソチに必要なτ数)の値
をとる。
IB命令が命令フェッチストリーム1から命令実行パイ
プライン2に投入されると.その実行結果としてVAd
rsAiどVAdrsBiのレジスタIBRiへの登録
が行われる。この後,命令フェンチ機構部は ■ 各レジスタIBRiの分岐元ア1・レスV A (
l r s A iとフェノチされる命令のアドレスと
を比較し ■ 一敗すれば幻の分岐先ア1・レスVAdrsBiの
命令をフェッチし ■ VAdrsAiの命令の後続命令としてリンクし.
命令実行パイプライン2に投入させる。
プライン2に投入されると.その実行結果としてVAd
rsAiどVAdrsBiのレジスタIBRiへの登録
が行われる。この後,命令フェンチ機構部は ■ 各レジスタIBRiの分岐元ア1・レスV A (
l r s A iとフェノチされる命令のアドレスと
を比較し ■ 一敗すれば幻の分岐先ア1・レスVAdrsBiの
命令をフェッチし ■ VAdrsAiの命令の後続命令としてリンクし.
命令実行パイプライン2に投入させる。
第1図に示されている命令フェッチ機構部の機能をさら
に詳しく説明する。
に詳しく説明する。
今,命令フェッチス1・リーム1に,アトレスVAdr
sAi (1≦1≦n )の命令が存在ずる場合,命令
フェッチ機構部は.アドレスVAdrsAiの後続の命
令アトレスとしてアドレスVAdrsBiが続くものと
判断してアドレスVAd r s B iをストリーム
にリンクする。
sAi (1≦1≦n )の命令が存在ずる場合,命令
フェッチ機構部は.アドレスVAdrsAiの後続の命
令アトレスとしてアドレスVAdrsBiが続くものと
判断してアドレスVAd r s B iをストリーム
にリンクする。
命令実行パイプライン2には.アドレスVAdrsAi
に始まる命令を投入後.続いてアドレスVAdrsBi
に始まる命令を投入し,以下この後続の命令の投入を続
ける。尚,命令IBによって設定されたIBRiの内容
がどの時点から有効となるかについては,たとえば.命
令IBの直後の命令から新IBRi (IBRiの更新
後の内容)が有効になるものとした場合,後続の命令が
旧IBRi (IBRiの更新前の内容)の影響をう
けないことを保証するために.各命令(命令フェッチス
トリームおよびパイプライン内)には,旧IBRiのリ
ンクの対象となったかどうかを示すタグを付加するよう
にし,命令IBで新IBRiが確定ずる迄に.その直後
の1命令を除く後続の全命令のタグを調べて,旧IBR
iのリンクの対象となった命令が存在する場合には新I
BRiが確定した時点でその命令以降をキャンセル(無
効化)シ,旧IBRiのVAdrsAiの命令の後続の
命令に再リンクし.しかる後に新+BRiをIBRiに
格納する必要がある。
に始まる命令を投入後.続いてアドレスVAdrsBi
に始まる命令を投入し,以下この後続の命令の投入を続
ける。尚,命令IBによって設定されたIBRiの内容
がどの時点から有効となるかについては,たとえば.命
令IBの直後の命令から新IBRi (IBRiの更新
後の内容)が有効になるものとした場合,後続の命令が
旧IBRi (IBRiの更新前の内容)の影響をう
けないことを保証するために.各命令(命令フェッチス
トリームおよびパイプライン内)には,旧IBRiのリ
ンクの対象となったかどうかを示すタグを付加するよう
にし,命令IBで新IBRiが確定ずる迄に.その直後
の1命令を除く後続の全命令のタグを調べて,旧IBR
iのリンクの対象となった命令が存在する場合には新I
BRiが確定した時点でその命令以降をキャンセル(無
効化)シ,旧IBRiのVAdrsAiの命令の後続の
命令に再リンクし.しかる後に新+BRiをIBRiに
格納する必要がある。
さて.一般に命令フエツチにnτ必要であるとすると.
従来の分岐制御の場合には,第9図に例示されているよ
うに分岐命令013 (OrdinaryBranch
)がバイブラインに投入されてから分岐アドレスが生或
され.しかる後にターゲッl・がフェッチされ命令フエ
ツチ機構部に送られるため,少なくともnτの時間ロス
が生じてしまう。本発明方弐の場合.命令IBによるア
ドレスVAd r sAiとアドレスVAdrsBiの
生或および■BRiへの登録が.アドレスVAdrsA
iの命令実行終了のnτ前までに終了していれば2アド
レスVAdrsAiの後続の命令としてアドレスVAd
rsBi以降の命令を,ペナルティOでバイブラインに
投入することが可能となる。
従来の分岐制御の場合には,第9図に例示されているよ
うに分岐命令013 (OrdinaryBranch
)がバイブラインに投入されてから分岐アドレスが生或
され.しかる後にターゲッl・がフェッチされ命令フエ
ツチ機構部に送られるため,少なくともnτの時間ロス
が生じてしまう。本発明方弐の場合.命令IBによるア
ドレスVAd r sAiとアドレスVAdrsBiの
生或および■BRiへの登録が.アドレスVAdrsA
iの命令実行終了のnτ前までに終了していれば2アド
レスVAdrsAiの後続の命令としてアドレスVAd
rsBi以降の命令を,ペナルティOでバイブラインに
投入することが可能となる。
ここで,プログラムを記述する立場で分岐命令を考えて
みると.分岐先アドレスはプログラム中で固定される場
合が多く.大抵の場合には分岐命令のかなり以前には(
分岐元アドレスと)分岐先アドレスをh1定できる。従
ってプログラムを記述する際には, (分岐元アドレス
と)分岐先アドレスの決定を前送りにすることが多くの
場合可能であり.命令IBが分岐命令のn命令(≧nτ
)以前に配置されれば.分1岐命令によるペナルティを
無<シ,パイプラインの乱れを完全に吸収することが可
能となる。
みると.分岐先アドレスはプログラム中で固定される場
合が多く.大抵の場合には分岐命令のかなり以前には(
分岐元アドレスと)分岐先アドレスをh1定できる。従
ってプログラムを記述する際には, (分岐元アドレス
と)分岐先アドレスの決定を前送りにすることが多くの
場合可能であり.命令IBが分岐命令のn命令(≧nτ
)以前に配置されれば.分1岐命令によるペナルティを
無<シ,パイプラインの乱れを完全に吸収することが可
能となる。
実際には1 n命令以前に命令IBを配置することがで
きても,そのn命令内に別の分岐が存在する場合もあり
.この場合IBRの衝突を防くためにIBRは複数七ソ
1・必要となる。しかしながら,高々n −t− 1個
のI B Rで必要かつ1分であり,巨大なIBRセッ
トを構築する必要はない。
きても,そのn命令内に別の分岐が存在する場合もあり
.この場合IBRの衝突を防くためにIBRは複数七ソ
1・必要となる。しかしながら,高々n −t− 1個
のI B Rで必要かつ1分であり,巨大なIBRセッ
トを構築する必要はない。
第2図に,本発明による分岐制御命令IBを適用したプ
ログラムを,従来の分岐命令の場合と対比させて示す。
ログラムを,従来の分岐命令の場合と対比させて示す。
(1)は,通常の分岐命令がn命令以上離れて配置され
ていた場合と,それを本発明方式の命令IBに置き換え
た場合のものである。命令IBは1セット(i=1)L
か使用していない。各分岐時点でのロスが○となる為,
(従来の分岐ロスnτ)×(分岐の数)だbノの処理の
高速化が計られる。
ていた場合と,それを本発明方式の命令IBに置き換え
た場合のものである。命令IBは1セット(i=1)L
か使用していない。各分岐時点でのロスが○となる為,
(従来の分岐ロスnτ)×(分岐の数)だbノの処理の
高速化が計られる。
(2)は,通常の分岐命令が接近して(<n命令)配置
されていた場合と,それを本発明方式の命令IBに置き
換えた場合のものである。命令IBは2セット(i=1
.2)使用している。(1)同様(従来の分岐ロスnτ
)×(分岐の数)だけの処理の高速化が計られる。
されていた場合と,それを本発明方式の命令IBに置き
換えた場合のものである。命令IBは2セット(i=1
.2)使用している。(1)同様(従来の分岐ロスnτ
)×(分岐の数)だけの処理の高速化が計られる。
(3)は,ループの制御に使用した場合である。
L a b e 1. Bの実行後.[】スクイムOで
1. a b e I Aからの実行が操り返される。
1. a b e I Aからの実行が操り返される。
この場合ループバックのための分岐命令が完全に不必要
となる為.(従来の分岐ロスnτ+ループハック用の分
岐命令■τ)×(ループの回数)だけの処理の高速化が
計られる。
となる為.(従来の分岐ロスnτ+ループハック用の分
岐命令■τ)×(ループの回数)だけの処理の高速化が
計られる。
(4)は,多重ループの場合である。各ループのループ
ハックの起こるnτ以前に命令IBを配置することによ
り.命令IBを1セットのみで,多重ループの場合でも
適用可能である。この場合(従来のロスDτ)×(■各
ループの回数)だけの処理の高速化が計られる。
ハックの起こるnτ以前に命令IBを配置することによ
り.命令IBを1セットのみで,多重ループの場合でも
適用可能である。この場合(従来のロスDτ)×(■各
ループの回数)だけの処理の高速化が計られる。
以上の場合はいずれも,従来の命令群を命令IBを使用
する命令群に置換可能なケースでありさらに命令の数の
変更がなく機械的な処理が可能である。また,一般的に
プログラムの記述は高級言語でなされる場合がほとんど
であるため,命令IBを効率よく使用するコンパイラを
作或すれば,従来のプログラムもコンパイルしなおすこ
とにより高速化を計ることが容易に可能となる。
する命令群に置換可能なケースでありさらに命令の数の
変更がなく機械的な処理が可能である。また,一般的に
プログラムの記述は高級言語でなされる場合がほとんど
であるため,命令IBを効率よく使用するコンパイラを
作或すれば,従来のプログラムもコンパイルしなおすこ
とにより高速化を計ることが容易に可能となる。
以」二の様に.本発明方式による命令IBを,従来の分
岐命令に置き換えて使用することにより,分岐命令によ
るバイブラインの乱れを解消することが可能となる。ま
た,分岐元・分岐先のアドレスを保持するレジスタIB
Riは.高々nヶ用意するだけでよく本発明方式を実現
するための機構は容易に実現できる。
岐命令に置き換えて使用することにより,分岐命令によ
るバイブラインの乱れを解消することが可能となる。ま
た,分岐元・分岐先のアドレスを保持するレジスタIB
Riは.高々nヶ用意するだけでよく本発明方式を実現
するための機構は容易に実現できる。
〔実施例]
第3図ないし第7図により本発明の命令フェッチ機構部
の1実施例を説明する。
の1実施例を説明する。
第3図は.分岐元アドレスVAdrsAiの検出部であ
り,フエッチされた命令fetch− D A T A
とフェッチアドレスfetch−Adrsとが命令ス1
・リームと命令実行パイプラインへ流されるとき,最初
の5つのステージで,■△drsAiと一致をとられる
。
り,フエッチされた命令fetch− D A T A
とフェッチアドレスfetch−Adrsとが命令ス1
・リームと命令実行パイプラインへ流されるとき,最初
の5つのステージで,■△drsAiと一致をとられる
。
VAdrsAiば,IB命令の実行により取り出された
直後の分岐元アドレスで,IBRiへの登録を行う前に
取り出されたもの,VAdrsAVA.d r sA.
,VAd r sA3ぱそれぞれl BR,,I BR
2,l BR.の各レジスタから読み出された分岐元ア
ドレスである。
直後の分岐元アドレスで,IBRiへの登録を行う前に
取り出されたもの,VAdrsAVA.d r sA.
,VAd r sA3ぱそれぞれl BR,,I BR
2,l BR.の各レジスタから読み出された分岐元ア
ドレスである。
またM c. h X O , M c h X 1
. M c h X 2MchXD MchXAば
それぞれVAd r sAχと命令フェッチストリーム
およびパイプラインの前の複数のステージでのfetc
h−Adrsとの比較結果である。そしてMc hA.
,Mc ]lA2MchA3は,それぞれ命令フエンチ
ストリームの最初のステージのfetch−Adrsと
の比較結果であり,VAdrsNIAはfetch−^
drsに命令量の4Byteを力l算した結果の次命令
アドレスである。
. M c h X 2MchXD MchXAば
それぞれVAd r sAχと命令フェッチストリーム
およびパイプラインの前の複数のステージでのfetc
h−Adrsとの比較結果である。そしてMc hA.
,Mc ]lA2MchA3は,それぞれ命令フエンチ
ストリームの最初のステージのfetch−Adrsと
の比較結果であり,VAdrsNIAはfetch−^
drsに命令量の4Byteを力l算した結果の次命令
アドレスである。
第4図の(a)は.タグ部であり,命令フェンチストリ
ームとパイプライン中で旧IBRiにリンクした命令を
検出するため,命令フェッチを行ったI .B Rの番
号fetch− I B R l#のタグを付加し実行
中のIB命令の番号VAdrs#とを最初の5つのステ
ージで比較して,結果をMc h#0,Mch#I
Mch#2 Mch#D Mch#Aとして出力す
る。
ームとパイプライン中で旧IBRiにリンクした命令を
検出するため,命令フェッチを行ったI .B Rの番
号fetch− I B R l#のタグを付加し実行
中のIB命令の番号VAdrs#とを最初の5つのステ
ージで比較して,結果をMc h#0,Mch#I
Mch#2 Mch#D Mch#Aとして出力す
る。
第4図の(b)は,+BR登録部で,パイプラインのT
ステージでIB命令IBiのオペランドVAdrsAi
とVAdrsBiとを,IBの番号VAdrs#(i)
によりレジスクIBRiに登録する。
ステージでIB命令IBiのオペランドVAdrsAi
とVAdrsBiとを,IBの番号VAdrs#(i)
によりレジスクIBRiに登録する。
第5図は.命令フェンヂ要求部であり.第3図でIB命
令の分岐元アドレスVAdrsAi (i一X,1,
2.3)と一致する命令のフェッチアドレスfetch
Adrsが検出されたとき,IBRに基づいて対応す
る分岐先の命令フェッチ要求アドレスl−fetch−
Rcq−八drsと命令フェッチIBR番号1 −fe
tch− I B R #とを発生ずる。
令の分岐元アドレスVAdrsAi (i一X,1,
2.3)と一致する命令のフェッチアドレスfetch
Adrsが検出されたとき,IBRに基づいて対応す
る分岐先の命令フェッチ要求アドレスl−fetch−
Rcq−八drsと命令フェッチIBR番号1 −fe
tch− I B R #とを発生ずる。
第6図は,命令フェッチ処理を示す。命令フェッチ機構
部(第5図)から出力されたI −fetchReq−
八drsとl −fetch − I B R#とは,
命令キャッシュ機構部に送られ ここでギャッシュξス
が発生すれば3主記憶から取りこんで,結果をfetc
h −DATAと fetch−Adrsと fetc
hIBR#とで命令フェッチ機構部へ返す。
部(第5図)から出力されたI −fetchReq−
八drsとl −fetch − I B R#とは,
命令キャッシュ機構部に送られ ここでギャッシュξス
が発生すれば3主記憶から取りこんで,結果をfetc
h −DATAと fetch−Adrsと fetc
hIBR#とで命令フェッチ機構部へ返す。
第7図はキャンセル制1卸部であり,第3図と第4図(
a)から得られる信号MchXA,MchXi Mc
hX2 MchXD MchXAとM c h f
t O M c h # I M c h # 2
M c h ttD,Mch#Aとを用いて1 旧
IBRiのリンク対象となった命令以降をキャンセルす
るよう新IB命令の実行結果に基づく新IBRiの確定
前に.ハリッド信号fetch−Valのリリースte
l/telを各ステージで制御する。
a)から得られる信号MchXA,MchXi Mc
hX2 MchXD MchXAとM c h f
t O M c h # I M c h # 2
M c h ttD,Mch#Aとを用いて1 旧
IBRiのリンク対象となった命令以降をキャンセルす
るよう新IB命令の実行結果に基づく新IBRiの確定
前に.ハリッド信号fetch−Valのリリースte
l/telを各ステージで制御する。
[発明の効果]
本発明による分岐制御命令と命令フエツチ機構部とを用
いることにより,分岐によるバイブラインの乱れを解消
することができ.処理の高速化と効率化とを図ることが
できる。
いることにより,分岐によるバイブラインの乱れを解消
することができ.処理の高速化と効率化とを図ることが
できる。
第1図は本発明の原理構成図,第2図は本発明を適用し
たプログラムを従来例と対比させて示す作用説明図,第
3図ないし第7図はそれぞれ本発明による命令フエンチ
機構部の1実施例の構或を示し,第3図は分岐元アドレ
ス検出部の構或図第4図(a)はタグ部の構戊図.第4
図(b)はIBR登録部の構成図.第5図は命令フェッ
チ要求部の構或図.第6図は命令フェッチ処理の説明図
,第7図はキャンセル制御部の構威図,第8図は理想的
なパイプライン制御の例の説明図,第9図はバイブライ
ンの乱れの例の説明図である。 第1図中 ■,命令フェッチス1・リーム 2:命令実行パイプライン 3:レジスタIBRi
たプログラムを従来例と対比させて示す作用説明図,第
3図ないし第7図はそれぞれ本発明による命令フエンチ
機構部の1実施例の構或を示し,第3図は分岐元アドレ
ス検出部の構或図第4図(a)はタグ部の構戊図.第4
図(b)はIBR登録部の構成図.第5図は命令フェッ
チ要求部の構或図.第6図は命令フェッチ処理の説明図
,第7図はキャンセル制御部の構威図,第8図は理想的
なパイプライン制御の例の説明図,第9図はバイブライ
ンの乱れの例の説明図である。 第1図中 ■,命令フェッチス1・リーム 2:命令実行パイプライン 3:レジスタIBRi
Claims (2)
- (1)命令の実行をパイプライン制御方式で処理し、該
パイプライン機構部に定常的に命令を投入するための命
令フェッチストリームを有する命令フェッチ機構部を有
した情報処理装置において、仮想アドレスVAdrsA
iとVAdrsBiおよび整数iをオペランドにとる分
岐制御命令IBと、仮想アドレスVAdrsAiとVA
drsBiを対にして保持し得るレジスタIBRiと、 分岐制御命令IBの実行により仮想アドレスVAdrs
AiとVAdrsBiをレジスタIBRiに格納する手
段と、 前記命令フェッチ機構部で、仮想アドレスVAdrsA
iの命令が命令フェッチストリームに読み込まれたこと
を契機に、仮想アドレスVAdrsAiの命令の後続ア
ドレスとして仮想アドレスVAdrsBiをリンクし、
以降を仮想アドレスVAdrsBiから読み込む様にス
トリームを変更する手段とをそなえたことを特徴とする
情報処理装置における分岐制御方式。 - (2)請求項(1)において、命令フェッチストリーム
およびパイプラインにある全ての命令にタグTを付加し
、該タグTは当該命令が仮想アドレスVAdrsBiに
あり、かつレジスタIBRiによるリンクを経由したも
のかどうかを示し、分岐制御命令IBで新IBRiが確
定するまでにその後続の命令のタグを調べ、旧IBRi
によるリンクの対象となった命令が存在する場合には、
新IBRiが確定した時点で該命令以降のストリームお
よびパイプラインをキャンセルすると共に、レジスタI
BRiの仮想アドレスVAdrsAiの命令の後続の命
令をリンクし、その後に新IBRiをIBRiに格納す
ることを特徴とする情報処理装置における分岐制御方式
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24108989A JPH03102523A (ja) | 1989-09-18 | 1989-09-18 | 情報処理装置における分岐制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24108989A JPH03102523A (ja) | 1989-09-18 | 1989-09-18 | 情報処理装置における分岐制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03102523A true JPH03102523A (ja) | 1991-04-26 |
Family
ID=17069123
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24108989A Pending JPH03102523A (ja) | 1989-09-18 | 1989-09-18 | 情報処理装置における分岐制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03102523A (ja) |
-
1989
- 1989-09-18 JP JP24108989A patent/JPH03102523A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0135844B1 (en) | A data processor with a branch target instruction storage | |
| US4847753A (en) | Pipelined computer | |
| JPH03147022A (ja) | 分岐命令処理装置および処理方法 | |
| JPH02206837A (ja) | パイプライン方式のコンピューターシステムにおける色々な個数の潜在的メモリーアクセス矛盾を解決する方法及び装置 | |
| US6725365B1 (en) | Branching in a computer system | |
| JPH01175634A (ja) | データ処理装置 | |
| JP2596712B2 (ja) | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 | |
| JPH06161779A (ja) | データ処理装置の割込み制御方式 | |
| KR100930332B1 (ko) | 프로세서 및 그 제어 방법 | |
| JPH06266556A (ja) | データ処理装置 | |
| JP2534662B2 (ja) | 命令キヤツシユ制御方法 | |
| JPH03175548A (ja) | マイクロプロセッサ及びアドレス制御方式 | |
| JPH0510694B2 (ja) | ||
| JPH0326862B2 (ja) | ||
| JP2814683B2 (ja) | 命令処理装置 | |
| JPH046983B2 (ja) | ||
| JP3762608B2 (ja) | 計算機とその制御方法 | |
| JPH03119424A (ja) | 情報処理方式及び装置 | |
| JPH0248733A (ja) | 情報処理装置 | |
| JPH04145531A (ja) | マイクロプログラム制御装置 | |
| JPS58195255A (ja) | デ−タ処理装置 | |
| JPH027128A (ja) | 情報処理装置 | |
| JPH0514288B2 (ja) | ||
| JPS6191725A (ja) | アドレスマツチ制御方式 | |
| JPH0774992B2 (ja) | データ処理装置 |