JPH0449424A - 命令制御方式 - Google Patents

命令制御方式

Info

Publication number
JPH0449424A
JPH0449424A JP2160208A JP16020890A JPH0449424A JP H0449424 A JPH0449424 A JP H0449424A JP 2160208 A JP2160208 A JP 2160208A JP 16020890 A JP16020890 A JP 16020890A JP H0449424 A JPH0449424 A JP H0449424A
Authority
JP
Japan
Prior art keywords
instruction
register
branch
data
branching
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.)
Granted
Application number
JP2160208A
Other languages
English (en)
Other versions
JP2845578B2 (ja
Inventor
Takahiko Uesugi
貴彦 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2160208A priority Critical patent/JP2845578B2/ja
Priority to DE69128169T priority patent/DE69128169T2/de
Priority to EP91109939A priority patent/EP0463539B1/en
Priority to CA002044896A priority patent/CA2044896C/en
Publication of JPH0449424A publication Critical patent/JPH0449424A/ja
Priority to US08/427,700 priority patent/US5644745A/en
Application granted granted Critical
Publication of JP2845578B2 publication Critical patent/JP2845578B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、パイプライン化した情報処理装置に関し、特
に、複数の命令を並列に実行するパイプライン化した情
報処理装置に関する。
〔従来の技術〕
従来、パイプライン化された命令制御回路では、各ステ
ージ毎に機能分担が決められていて、処理する命令がデ
ータ確定しなくても次々と命令制御回路を流れていく。
そして、計算機のいろいろな資源の確認(例えば、レジ
スタ干渉条件や汎用レジスタへの書込みパス競合)を行
って、全ての実行条件が整ったら実行指令が出されてい
る。
上記命令制御回路においては、命令を次々と実行するた
めに、同時に実行可能な命令に対応する制御情報を持ち
、あるステージを命令が通過することにより命令実行で
きるかどうかの条件が上記制御情報のフラグにセットさ
れ、そのフラグの状態により該命令が命令制御回路のス
テージを流れていく。
また、該命令制御回路においては、先行命令の結果が汎
用レジスタに未格納な状態でも同一汎用レジスタを更新
する後続命令が命令制御回路のステージを流れてきても
、先行命令の汎用レジスタへの書込みを抑止することに
より、後続命令も先行命令の結果が汎用レジスタに格納
されなくても該命令制御回路のステージを止めることな
く実行できるようになっている。
しかし、上記命令制御回路において、分岐命令以前の命
令が格納する汎用レジスタと分岐命令後の命令(分岐不
成功側)が同一汎用レジスタの結果を使用する命令列に
なっていて分岐命令により分岐成功した場合、分岐した
後の命令は分岐命令以前に汎用レジスタに格納される結
果を使用する。
これにより、まだ該命令の結果が求まっていない場合、
該命令の結果が確定するまで後続の該命令の結果を使用
する命令の実行を遅らせる必要があるため、分岐命令で
分岐命令以前のデータ確定が全て終了するまで分岐命令
の実行は遅らされている。
次に、従来例について図面を参照して説明する。
第2図は分岐成功により分岐先の命令が分岐命令以前の
データ確定待をする命令列の例を示す図、第4図は従来
例の命令制御回路のプロ・ツク図、第5図は第2図の命
令列を第4図の従来例の命令制御回路で実行した時のタ
イムチャートである。
第4図において、命令レジスタ1は命令供給回路から、
命令およびオペランドが供給され、命令レジスタ2に伝
えられる。また、各命令レジスタ1.2は命令ステージ
制御回路4および従来のデータ確定制御回路5a(第4
図の点線で囲まれた部分)からの制御信号により制御さ
れる。
汎用レジスタ書込み番号保持レジスタ6は汎用レジスタ
に書込みを行う命令の時使用され、汎用レジスタに格納
するレジスタでnエントリからなり(本従来例では3エ
ン) IJと仮定)、命令レジスタ1のXオペランドの
値を命令が命令レジスタ1から命令レジスタ2に移動す
る時出力される格納エントリ番号信号101により格納
する。
コンベア回路7−1は汎用レジスタ書込み番号保持レジ
スタ6と命令レジスタ1のXオペランドとの一致を検出
し、同一レジスタ更新スタック番号保持レジスタ(本従
来例では、3bit構成)8に値を格納する。コンベア
回路7−2゜7−3は汎用レジスタ書込み番号保持レジ
スタ6と命令レジスタ1のXオペランドおよび2オペラ
ンドとの一致を検出し、同一レジスタ更新レジスタ番号
保持レジスタ8の値を反転回路20で反転した値とのA
NDをAND回路9−1.9−2でとり、結果を先行命
令データ使用情報保持レジスタ10−1.1O−2(本
従来例では3bit構成で、10−1の3bitはXオ
ペランド側の1.2.3エントリを示し、10−2の3
bitは2オペランド側の1.2.3エントリを示す。
)に格納する。
データ未確定情報保持レジスタ21は格納エントリ番号
信号101の情報をセットし、分岐成功により命令ステ
ージの命令がキャンセルされるエントリリセット番号信
号102とデータ確定によりデータ確定したエントリの
リセット信号(データ確定エントリ番号信号103)と
のORによるリセット番号信号104とコンベア回路7
−1の値をOR回路16でORした結果、′ 1゛の立
っているエントリbitをリセットするよう動作する。
そして、先行命令データ使用情報保持レジスタ10−1
.10−2の値とデータ未確定情報保持レジスタ21の
値にリセット番号信号104をマスク(回路図では反転
回路17とAND回路18−1.18−2により実現し
ている。)した結果をOR回路19よりORした結果が
11゛ならば、命令レジスタ2ホールド1信号108を
介して、OR回路14で命令レジスタ2ホールド2信号
109とORされて、命令レジスタ2ホールド信号10
5が立ち、命令レジスタ2を保持する。
また、命令レジスタ1に分岐命令が来た時、分岐命令レ
ジスタ1信号107が命令ステージ制御回路4に伝えら
れ、次タイミングで命令レジスタ2の命令を保持するた
めに命令レジスタ2ホールド2信号109が出力され、
命令レジスタ2の命令が保持される。
命令レジスタ2を通過した命令は、命令の実行指示が出
される 第2図は、分岐命令で分岐成功して現在のデータ確定情
報が失なわれる命令列を示している。
本説明で使用する命令は、3オペランド命令を使用する
こととし、各々X+  y+Zオペランドと呼び、基本
的には’YIZオペランドで指定された汎用レジスタか
らデータを読出して演算を行い、結果をXオペランドで
指定された汎用レジスタに格納すると決める。
第2図において、■の命令は、メモリの100番から汎
用レジスタの10番にデータをロードすることを意味す
る。■の命令は、汎用レジスタのT番の内容がO以下の
時IC=500の命令(この場合IC=500の命令は
■の命令と仮定)の時■の命令に分岐することを意味す
る。■の命令は、汎用レジスタの8番と9番を乗算し、
結果を10番の汎用レジスタに格納することを意味する
。■の命令についても同様である。
従来の装置、即ち、第4図における第2図の命令列につ
いて、命令を実行すると第5図のタイムチャートを得る
まず、タイミング1では命令レジスタ1に■の命令がセ
ットされ、タイミング2では■の命令の結果が汎用レジ
スタの10番に格納する命令であることから汎用レジス
タ書込み番号保持レジスタ6のエントリ1に10の値が
セットされ、■の命令は命令レジスタ2に移動し、同時
にデータ未確定状態情報保持レジスタ21のエントリ1
に■の命令がセットされたことにより” 100′の値
が格納され、■の命令が新たに命令レジスタ1にセット
される。
また、タイミング2では、命令レジスタ1の命令が分岐
命令であることから分岐命令レズスタ1信号が命令ステ
ージ制御回路4に伝えられ、タイミング3で命令ステー
ジ制御回路4から出力された命令レジスタ2ホールド信
号105により、命令レジスタ2の命令を保持する。
尚、命令レジスタ1には後続命令の■があるので命令ス
テージ制御回路4から命令レジスタ1を保持する信号が
出力され、命令レジスタ1に保持される。タイミング5
−17までは、各レジスタ共変化はない。
暫くして、命令レジスタ1,2に■、■の命令が保持さ
れた後、タイミング18では■の命令の結果が汎用レジ
スタの10番に確定する信号(データ確定信号)が届く
ことにより全データ確定信号が出力されることになり、
命令レジスタ2ホールド信号105が解除され、同時に
命令ステージ制御回路4から命令レジスタ1,2のレジ
スタ保持信号も解除されるので、タイミング20で命令
レジスタ1の命令が命令レジスタ2に移動する。命令レ
ジスタ2の■の命令は実行指示がだされる。
また、■の命令は、汎用レジスタの10番に格納する命
令であることからエントリ1に10の値がセットされ、
同時にデータ未確定情報保持レジスタ21に’  10
0’の値がセットされる。
タイミング21では、■の命令が汎用レジスタの20番
に格納する命令であることから汎用レジスタ書込み番号
保持レジスタ6のエントリ2に20の値がセットされる
また、■の命令はyオペランドが汎用レジスタの10番
からデータを読出すので汎用レジスタ書込み番号保持レ
ジスタ6の値と命令レジスタ1のV+zオペランドの値
とがオンペア回路7−2゜7−3で一致検出されyオペ
ランドについて1100′の値となって2オペランド側
の’ ooo’の値と共にAND回路9−1.9−2に
導かれるので、′ 100”と’ ooo’の値が先行
命令データ使用情報保持レジスタ10−1.10−2に
格納され、同時にデータ未確定情報保持レジスタ21の
エントリ2に11′がセットされることにより゛ 11
0”の値が格納される。
この時、データ未確定状態情報保持レジスタ21の値(
’110’)と先行命令データ使用情報保持レジスタ1
0−1 (’ 100’ )、1O−2(’ 000’
 )のANDの値が10′ではないので、OR回路19
によりORした結果がIllになり、タイミング22で
命令レジスタ2ホールド信号105により命令レジスタ
2のデータつまり■の命令が保持される。
タイミング22では、■の分岐命令が分岐成功したか判
るので分岐不成功側の■、■の命令についてその命令を
キャンセルするために、リセツー1〇− ト番号信号104が出され(つまり■、■の命令が登録
されたエントリ1,2についてリセット番号信号104
がだされる。)、■の命令が命令レジスタ2から排除さ
れる。
分岐成功によりタイミング31で再び命令供給回路から
■の命令が供給され、タイミング32で■の命令が実行
される。
〔発明が解決しようとする課題〕
上述した従来のパイプライン化された命令制御方式では
、分岐命令の成功または失敗の判断が終了するまでに後
続の命令の制御情報が命令制御装置に格納されてしまう
ため、分岐命令以前の命令が格納する汎用レジスタと分
岐命令以後の命令(分岐不成功側)が同一汎用レジスタ
に結果を格納し、分岐命令により分岐した後の命令が該
汎用レジスタの結果を使用する命令列になっていて分岐
命令により分岐成功した場合、分岐した後の命令は分岐
命令以前に汎用レジスタに格納される結果を使用するこ
とになり、まだ該命令の結果が求まっていない場合、該
命令の結果が確定するまでの後続の該命令の結果を使用
する命令の実行を遅らせる必要があるために、分岐命令
で分岐命令以前の命令のデータ確定が全て終了するので
分岐命令実行は遅らされるという欠点がある。
〔課題を解決するための手段〕
本発明の命令制御方式は、命令を並列実行するために、
同時に実行可能な命令に対応する制御情報を持ち、先行
命令の結果が汎用レジスタに未格納な状態でも同一汎用
レジスタを更新する後続命令が実行できるように制御さ
れる情報処理装置において、分岐命令が実行される直前
の分岐命令以前の命令によるデータ確定情報を保持する
レジスタと、分岐成功時に分岐成功することにより実行
されない命令のデータ確定情報を上記データ確定情報と
差し替える手段とを備え、分岐命令により分岐成功した
場合分岐先の命令が分岐命令以前のデータ確定情報を参
照するように制御することを特徴としている。
〔実施例〕
本発明の実施例について図面に基づいて説明する。
パイプライン化された命令回路では、各ステージ毎に機
能分担が決められていて、処理する命令がデータ確定し
なくとも次々と命令制御回路を流していく。そして、計
算機のいろいろな資源の確認(例えば、レジスタの干渉
条件や汎用レジスタへの書込みパス競合)を行って、全
ての実行条件が整ったら実行指示が出されている。
上記命令制御回路においては、命令を次々と実行するた
めに同時に実行可能な数の制御情報を持ち、あるステー
ジを命令が通過することにより、命令実行できるかどう
かの条件が上記制御情報のフラグにセットされ、そのフ
ラグの状態により該命令が命令制御回路のステージを流
れていく。
また、該命令制御回路においては、先行命令の結果が汎
用レジスタに未格納な状態でも同一汎用レジスタを更新
する後続命令が命令制御回路のステージを流れてきても
、先行命令の汎用レジスタへの書込みを抑止することに
より、後続命令も先行命令の結果が汎用レジスタに格納
されなくても該命令制御回路のステージを止めることな
く実行できるようになっている。
そして、上記命令制御回路において、分岐命令以前の命
令が格納する汎用レジスタと分岐命令以後の命令(分岐
不成功側)が同一汎用レジスタに結果を格納し、分岐命
令により分岐した後の命令が該汎用レジスタの結果を使
用する命令列になっていて分岐命令により分岐成功した
場合、分岐した後の命令は分岐命令以前に汎用レジスタ
に格納される結果を使用する。
これにより、まだ該命令の結果が求まっていない場合、
該命令の結果が確定するまでの後続の該命令の結果を使
用する命令の実行を遅らせるために分岐命令直前のデー
タ確定情報を保持するレジスタと、分岐成功時に現在の
データ確定情報を分岐命令直前のデータ確定情報と差し
替える機構とを備えることにより、該命令の結果が確定
するまで後続の該命令の結果を使用する命令の実行を遅
らせることができる。
第1図は本発明の一実施例の命令制御回路のブロック図
、第2図は分岐成功により分岐先の命令が分岐命令以前
のデータ確定待をする命令列の例を示す図、第3図は第
2図の命令列を第1図の本実施例の命令制御回路で実行
した時のタイムチャートである。
第1図において、命令レジスタ1は命令供給回路から、
命令およびオペランドが供給され命令レジスタ2に伝え
られる。また、各命令レジスタ1.2は命令ステージ制
御回路4およびデータ確定制御回路5(第1図の点線で
囲まれた部分)からの制御信号により制御される。
汎用レジスタ書込み番号保持レジスタ6は汎用レジスタ
に書込みを行う命令特使用され、汎用レジスタに格納す
る番号を格納するレジスタでnエントリからなり(本実
施例では3エントリと仮定)、命令レジスタ1のXオペ
ランドの値を命令が命令レジスタ1から命令レジスタ2
に移動する時出力される格納エントリ番号情報101に
より格納する。
コンベア回路7−1は汎用レジスタ書込み番号保持レジ
スタ6と命令レジスタ1のXオペランドとの一致を検出
し、同一レジスタ更新スタック番号保持レジスタ(本実
施例では、3bit構成)8に値を格納する。コンベア
回路7−2.7−3は汎用レジスタ書込み格納番号保持
レジスタ6と命令レジスタ1のXオペランドおよび2オ
ペランドとの一致を検出し、同一レジスタ更新レジスタ
番号保持レジスタ8の値を反転回路20で反転した値と
のANDをAND回路9−1.9−2でANDした結果
を先行命令データ使用情報保持レジスタ10−1.1O
−2(本実施例では3bit構成で、10−1の3bi
tはXオペランド側の1.2.3エントリを示し、10
−2の3bitはXオペランド側の1.2.3エントリ
を示す。)に格納する。
セレクタ13は格納エントリ番号信号101とデータ未
確定情報保持2レジスタ12の値をセレクトし、分岐成
功信号106によりデータ未確定情報保持2レジスタ1
2をセレクトするように動作する。分岐成功信号106
は、命令レジスタ1および2を通過した分岐命令が分岐
成功した時に出力される。
データ未確定情報保持ルジスタ11はセレクタ13の立
っているbitの情報をセットし、分岐成功により命令
ステージの命令がキャンセルされるエントリリセット番
号信号102とデータ確定によりデータ確定したエント
リのリセット信号(データ確定エントリ番号信号103
)とのORによるリセット番号信号104とコンベア回
路7−1の値をOR回路16でORした結果、1゛の立
っているエントリbitをリセットするように動作する
データ未確定情報保持2レジスタ12は格納エントリ番
号信号101の情報をセットし、リセット番号信号10
4の立っているエントリbitをリセットするよう動作
する。
そして、先行命令データ使用情報保持レジスタ10−1
.10−2の値とデータ未確定情報保持ルジスタ11値
にリセット番号信号104をマスク(回路図では反転回
路17とAND回路18−1.18−2により実現して
いる。)した結果をOR回路19によりORした結果が
゛ 1゛ならば、命令レジスタ2ホールド1信号108
を介して、OR回路14で命令レジスタ2ホールド2信
号109とORされて、命令レジスタ2ホールド信号1
05が立ち、命令レジスタ2を保持する。
命令レジスタ2を通過した命令は、命令の実行指示が出
される。
本実施例で使用している分岐失敗について、分岐命令後
に続く命令は分岐失敗側であり、分岐成功により、再び
命令供給回路から供給される命令は分岐成功側という。
尚、分岐予測機構を備えである装置についても本発明は
有効であり、分岐命令の後に続く命令が分岐予測成功と
いう違いがあるだけである。
第2図は、分岐命令で分岐成功して現在のデータ確定情
報が分岐命令直前のデータ確定情報に差し替えられる命
令例を示している。
本実施例で使用する命令は、3オペランド命令を使用す
ることとし、各々X+  y、Xオペランドと呼び、基
本的にはV+zオペランドで指定された汎用レジスタか
らデータを読出して演算を行い、結果をXオペランドで
指定された汎用レジスタに格納すると決める。
第2図において、■の命令は、メモリの100番から汎
用レジスタの10番にデータをロードすることを意味す
る。■の命令は、汎用レジスタの5番の内容がO以下の
時IC=500の命令(この場合IC=500の命令は
■の命令と仮定)に分岐することを意味する。■の命令
は、汎用レジスタの8番と9番を乗算し、結果を10番
の汎用レジスタに格納することを意味する。また、■の
命令についても同様である。
本実施例の装置、即ち、第1図における第2図の命令列
について、命令を実行すると第3図のタイムチャートを
得る。
まず、タイミング1では命令レジスタ1に■の命令がセ
ットされ、タイミング2では■の命令の結果が汎用レジ
スタの10番に格納する命令であるこさから汎用レジス
タ書込み番号保持レジスタ6のエントリ1に10の値が
セットされ、■の命令は命令レジスタ2に移動し、同時
にデータ未確定情報保持ルジスタ11とデータ未確定情
報保持2レジスタ12にエントリ1に■の命令がセット
されたことにより’  100’の値が格納され、■の
命令が新たに命令レジスタ1にセットされる。
タイミング3は、タイミング2と同様命令レジスタの次
の命令レジスタに移動し、■の分岐命令が実行される。
タイミング4では■の命令の結果が汎用レジスタの10
番に格納する命令であることから汎用レジスタ書込み番
号保持レジスタ6のエントリ2に10の値がセットされ
、同時に同一レジスタ更新スタック番号保持レジスタ8
には汎用レジスタ書込み番号保持レジスタ6のエントリ
1の10の値と命令レジスタ1のXオペランドの10の
値とがコンベア回路7−1で一致することにより” 1
00”の値が格納され、データ未確定情報保持ルジスタ
11とデータ未確定情報保持2レジスタ12はエントリ
2に■の命令がセットされたことにより′ 110″の
値となるが、データ未確定情報保持ルジスタ11では、
コンベア回路7−1が” 100′によりエントリ1が
リセットされ’010’の値となる。
タイミング5では、■の命令の結果が汎用レジスタ20
に格納する命令であることから汎用レジスタ書込み番号
保持レジスタ6のエントリ3に20の値がセットされ、
データ未確定情報保持ルジスタ11とデータ未確定情報
保持2レジスタ12はエントリ3に■の命令がセットさ
れたことにより’ 011”  111’の値となる。
また、■の命令はyオペランドが汎用レジスタの10番
からデータを読出すので汎用レジスタ書込み格納番号保
持レジスタ8の値と命令レジスタ1の値とがコンベア回
路7−2で一致検出され、1110′の値となって2オ
ペランド側の1000”の値と共にAND回路9−1.
9−2に導かれる。
この時、同一レジスタ更新スタック番号保持レジスタ8
には’ 100’の値が格納されているので、この値を
反転回路20で反転した値”011′とコンベア回路7
−2の値′ 110”とをAND回路9−1でANDさ
れることにより、010”の値が先行命令データ使用情
報保持レジスタ10−1に格納され、AND回路9−2
の値゛000′が先行命令データ使用情報保持レジスタ
10−2に格納される。
そして、データ未確定状態情報保持ルジスタ11の値(
”011’)と先行命令データ使用情報保持レジスタ1
0−1 (’ 010’ )、10−2l− 2(”OOO”)とのAND回路18−1.18−2に
よるANDした結果が”09ではないので、OR回路1
9の値はI 11になり、命令レジスタ2ホールド1信
号108を介して、命令レジスタ2ホールド信号105
が出力され、タイミング6では、命令レジスタ2のデー
タつまり■の命令が保持される。
このタイミング6では、■の分岐命令が分岐成功したか
判るので分岐不成功側の■、■の命令についてその命令
をキャンセルするために、リセット番号信号104が出
され(つまり■、■の命令が登録されたエントリ2,3
についてリセット番号信号104がだされる。)、■の
命令が命令レジスタ2から排除される。
これによりデータ未確定状態情報保持ルジスタ11の値
はallo’になるが、分岐成功信号によりデータ未確
定情報保持2レジスタ12の値’  100’  (エ
ントリ2,3についてリセット番号信号104がだされ
るので、 111’の値が” 100′になる。)がデ
ータ未確定状態情報保持ルジスタ11に格納される。
暫くして、タイミング15で命令供給回路から■の命令
が供給されるので、タイミング16で■の命令がレジス
タ20に格納する命令であることがらエントリ2に20
の値がセットされ、同時にyオペランドが先行命令の結
果を使用するのでコンベア回路7−2で汎用レジスタ書
込み番号保持レジスタ6のエントリ1と一致することに
より先行命令データ使用情報保持レジスタ10−1に′
100゛の値がセットされ、データ未確定状態情報保持
ルジスタ11の値(’100’)と先行命令データ使用
情報保持レジスタ10−1゜10−2の値(” 100
′と”ooo’ )とのAND回路18−1によるAN
Dした値が’ allO′でないので、OR回路19.
14を経て、命令レジ2ホールド信号105が′工″と
なり、■の命令が命令レジスタ2で保持される。
そして、タイミング18で■の命令のデータ確定信号が
出されてデータ未確定状態情報保持ルジスタの値が’a
110’になることにより命令レジ3ホールド信号が解
除される。そして、これにより、タイミング18で■の
命令の保持は終了する。
尚、分岐失敗した時は分岐命令の直後の■の命令が実行
されることにより、現在のデータ未確定状態情報保持レ
ジスタ11の値で命令のデータ未確定状態を示している
ので、そのまま分岐命令が実行されるのは言うまでもな
い。
〔発明の効果〕
以上説明したように本発明によれば、命令を並列実行す
るために、同時に実行可能な命令に対応する制御情報を
持ち、先行命令の結果が汎用レジスタに未格納な状態で
同一汎用レジスタを更新する後続命令が実行できる情報
処理装置において、分岐命令により分岐成功した場合分
岐した命令以降の命令が分岐命令以前の結果の求まって
いない命令の結果を使用できるように、分岐命令の直前
のデータ確定情報を保持するレジスタと、分岐成功時に
現在のデータ確定情報を上記データ確定情報と差し替え
る機構とを備える。これにより分岐命令で分岐成功した
場合現在のデータ確定情報を上記データ確定情報と差し
替えることにより分岐命令以降の命令が分岐命令以前の
結果が確定するまで命令実行を遅らせることができるの
で、分岐命令で分岐命令以前の命令のデータ確定が全て
終了するまで遅らせる必要はなく、分岐命令でも高速に
命令を実行できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の命令制御回路のブロック図
、第2図は分岐成功により分岐先の命令が分岐命令以前
のデータ確定時をする命令列の例を示す図、第3図は第
2図の命令列を第1図の本実施例の命令制御回路で実行
した時のタイムチャート、第4図は従来例の命令制御回
路のブロック図、第5図は第2図の命令列を第4図の従
来例の命令制御回路で実行した時のタイムチャートであ
る。 1.2・・・命令レジスタ、4・・・命令ステージ制御
回路、5・・・データ確定制御回路、5a・・・従来の
データ確定制御回路、6・・・汎用レジスタ書込み番号
保持レジスタ、7−1.7−2.7−3・・・コンベア
回路、8・・・同一レジスタ更新スタック番号保持レジ
スタ、9−1.9−2.18−1.18−−25= 2・・・AND回路、10−1.10−2・・・先行命
令データ使用情報保持レジスタ、11・・・データ未確
定情報保持ルジスタ、12・・・データ未確定情報保持
2レジスタ、13・・・セレクタ、14,15゜16.
19・・・OR回路、17.20・・・反転回路、21
・・・データ未確定情報保持レジスタ、101・・・格
納エントリ番号信号、102・・・エントリリセット番
号信号、103・・・データ確定エン) IJ番号信号
、104・・・リセット番号信号、105・・・命令レ
ジスタ2ホールド信号、106・・・分岐成功信号、1
07・・・分岐命令レジスタ1信号、108・・・命令
レジスタ2ホールド1信号、109・・・命令レジスタ
2ホールド2信号。

Claims (1)

  1. 【特許請求の範囲】 命令を並列実行するために、同時に実行可能な命令に対
    応する制御情報を持ち、先行命令の結果が汎用レジスタ
    に未格納な状態でも同一汎用レジスタを更新する後続命
    令が実行できるように制御される情報処理装置において
    、 分岐命令が実行される直前の分岐命令以前の命令による
    データ確定情報を保持するレジスタと、分岐成功時に分
    岐成功することにより実行されない命令のデータ確定情
    報を前記データ確定情報と差し替える手段とを備え、 前記分岐命令により分岐成功した場合、分岐先の命令が
    前記分岐命令以前のデータ確定情報を参照するように制
    御することを特徴とする命令制御方式。
JP2160208A 1990-06-19 1990-06-19 命令制御方式 Expired - Fee Related JP2845578B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2160208A JP2845578B2 (ja) 1990-06-19 1990-06-19 命令制御方式
DE69128169T DE69128169T2 (de) 1990-06-19 1991-06-18 Informationsverarbeitungsgerät
EP91109939A EP0463539B1 (en) 1990-06-19 1991-06-18 Information processing apparatus
CA002044896A CA2044896C (en) 1990-06-19 1991-06-18 Pipelined processor with simultaneous instruction execution
US08/427,700 US5644745A (en) 1990-06-19 1995-04-24 Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2160208A JP2845578B2 (ja) 1990-06-19 1990-06-19 命令制御方式

Publications (2)

Publication Number Publication Date
JPH0449424A true JPH0449424A (ja) 1992-02-18
JP2845578B2 JP2845578B2 (ja) 1999-01-13

Family

ID=15710097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2160208A Expired - Fee Related JP2845578B2 (ja) 1990-06-19 1990-06-19 命令制御方式

Country Status (5)

Country Link
US (1) US5644745A (ja)
EP (1) EP0463539B1 (ja)
JP (1) JP2845578B2 (ja)
CA (1) CA2044896C (ja)
DE (1) DE69128169T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158870A (en) * 1998-05-18 2000-12-12 Ramirez; John A. Combination musical and lightable baby bottle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61136132A (ja) * 1984-12-07 1986-06-24 Hitachi Ltd 情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514804A (en) * 1981-11-25 1985-04-30 Nippon Electric Co., Ltd. Information handling apparatus having a high speed instruction-executing function
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
JPH0754461B2 (ja) * 1985-02-08 1995-06-07 株式会社日立製作所 情報処理装置
JPH0789319B2 (ja) * 1985-04-22 1995-09-27 株式会社日立製作所 デ−タ処理装置における先行制御装置
US4777592A (en) * 1985-06-17 1988-10-11 Nec Corporation Information processing system comprising a register renewal waiting control circuit with renewal register number registering means
US4755966A (en) * 1985-06-28 1988-07-05 Hewlett-Packard Company Bidirectional branch prediction and optimization
US4974155A (en) * 1988-08-15 1990-11-27 Evans & Sutherland Computer Corp. Variable delay branch system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61136132A (ja) * 1984-12-07 1986-06-24 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
CA2044896A1 (en) 1991-12-20
EP0463539A3 (en) 1994-11-02
EP0463539B1 (en) 1997-11-12
DE69128169D1 (de) 1997-12-18
EP0463539A2 (en) 1992-01-02
US5644745A (en) 1997-07-01
DE69128169T2 (de) 1998-06-25
CA2044896C (en) 1999-02-23
JP2845578B2 (ja) 1999-01-13

Similar Documents

Publication Publication Date Title
US4675806A (en) Data processing unit utilizing data flow ordered execution
US4928226A (en) Data processor for parallelly executing conflicting instructions
JPS6028015B2 (ja) 情報処理装置
JPS58149541A (ja) デ−タ処理装置
JPH0449424A (ja) 命令制御方式
KR100241970B1 (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPS6120893B2 (ja)
JPS5890247A (ja) 情報処理装置のパイプライン制御方式
JP2814683B2 (ja) 命令処理装置
JPH04220722A (ja) パイプライン処理装置
JPH0311479A (ja) ストリーム演算終了検知方法及びその装置
JPH09146769A (ja) パイプライン処理装置
JPH0792902A (ja) プログラマブルコントローラ
JPS61143850A (ja) 処理装置
JPS6320538A (ja) 情報処理装置
JPH0238966B2 (ja)
JPS61117625A (ja) マイクロプログラム条件分岐方式
JPH0228724A (ja) 分岐命令制御方式
JPH04276827A (ja) パイプライン処理装置
JPH0431134B2 (ja)
JPS61148533A (ja) 情報処理装置
JPH02206836A (ja) データ処理装置
JPH02103635A (ja) ディジタルシステム
JPS62143176A (ja) ベクトルレジスタアクセス制御方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees