JPH0769822B2 - 演算レジスタのバイパスチェック方式 - Google Patents

演算レジスタのバイパスチェック方式

Info

Publication number
JPH0769822B2
JPH0769822B2 JP63281970A JP28197088A JPH0769822B2 JP H0769822 B2 JPH0769822 B2 JP H0769822B2 JP 63281970 A JP63281970 A JP 63281970A JP 28197088 A JP28197088 A JP 28197088A JP H0769822 B2 JPH0769822 B2 JP H0769822B2
Authority
JP
Japan
Prior art keywords
register
instruction
data
arithmetic
bypass
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 - Lifetime
Application number
JP63281970A
Other languages
English (en)
Other versions
JPH02127731A (ja
Inventor
明久 牧田
貞二 淺野
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP63281970A priority Critical patent/JPH0769822B2/ja
Publication of JPH02127731A publication Critical patent/JPH02127731A/ja
Publication of JPH0769822B2 publication Critical patent/JPH0769822B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は演算レジスタのバイパスチェック方式に関し、
特に演算レジスタを更新する命令に続いて同じ演算レジ
スタをアクセスする命令が実行される場合に先行する命
令の演算結果データを後続する命令のオペランドデータ
として演算レジスタをバイパスして直接供給することに
より処理の高速化を図った情報処理装置における演算レ
ジスタのバイパスチェック方式に関する。
〔従来の技術〕
従来、この種の情報処理装置は、例えば第2図に示すよ
うに、命令制御装置110と、主記憶装置120と、演算レジ
スタ130と、アドレスレジスタ131と、バイパス制御回路
140と、レジスタ141,142おび143と、セレクタ147と、演
算処理装置150とから構成されている。
演算処理装置150は、データレジスタ151,152,153および
154と、加減算処理装置155と、乗除算処理装置156と、
データレジスタ157および158と、セレクタ159とから構
成されている。
演算レジスタ130は、アドレスを持った複数語のレジス
タ群からなり、そのリード/ライトアドレスはアドレス
レジスタ131によって示される。
このような従来の情報処理装置では、命令の実行時に、
命令制御装置110は、命令を解読し、オペランドとなる
演算レジスタ130のレジスタアドレスをアドレスレジス
タ131にセットする。これにより、演算レジスタ130から
目的とするオペランドデータが読み出されてセレクタ14
7を介して演算処理装置150に供給される。また、命令制
御装置110は、レジスタ141にオペランドとなる演算レジ
スタ130のレジスタアドレスを出力する。レジスタ141に
出力されたレジスタアドレスは、レジスタ141,142およ
び143を介して演算の各ステージで持ち回られる。
演算処理装置150は、セレクタ147を介して供給されたオ
ペランドデータをデータレジスタ151および153に、主記
憶装置120から供給されたオペランドデータをデータレ
ジスタ152および154にそれぞれ格納し、加減算命令を加
減算処理装置155で実行し、乗除算命令を乗除算処理装
置156で実行する。演算結果データは、データレジスタ1
57および158にそれぞれ格納される。セレクタ159は、命
令制御装置110からの指示に基づいて加減算命令の場合
にはデータレジスタ157の演算結果データを選択し、乗
除算命令の場合にはデータレジスタ158の演算結果デー
タを選択する。選択された演算結果データは、演算処理
装置150から演算レジスタ130および主記憶装置120に送
られて目的のアドレスに格納される。
一方、バイパス制御回路140は、演算の各ステージで持
ち回られながらレジスタ141,142および143に保持されて
いるレジスタアドレスに基づいて先行する命令のオペラ
ンドとなる演算レジスタ130のレジスタアドレスと、後
続する命令のオペランドとなる演算レジスタ130のレジ
スタアドレスとを比較し、同一のレジスタアドレスが存
在した場合には、先行する命令の演算結果データを後続
する命令のオペランドデータとして演算処理装置150の
データレジスタ151および153に直接送るようにセレクタ
147を制御するとともに、命令制御装置110が正しく命令
を実行できるようにその旨を示す信号を送出する。
このようにして、先行する命令が更新する演算レジスタ
130のレジスタアドレスと後続する命令のオペランドと
なる演算レジスタ130のレジスタアドレスとが一致して
いる場合に、先行する命令による演算結果データの演算
レジスタ130への書込みを待つことなく後続する命令の
オペランドデータを得ることができる。
〔発明が解決しようとする課題〕
上述した従来の情報処理装置では、バイパス制御回路14
0の誤動作によりセレクタ147が不正データを後続する命
令のオペランドデータとしてバイパスした場合にデータ
の正当性をチェックする手段が存在しなかったので、バ
イパス動作の誤りを検出することができないという欠点
がある。
本発明の目的は、上述の点に鑑み、レジスタおよびデー
タパス上のデータに対してそれぞれ命令ID(識別子)を
付加し、演算レジスタをバイパスした場合に命令の実行
結果データを演算レジスタに書き込むときに演算レジス
タの命令IDと命令の実行結果データに付加されて持ち回
られている命令IDとを比較して、バイパス動作の誤り検
出を行うことができるようにした演算レジスタのバイパ
スチェック方式を提供することにある。
〔課題を解決するための手段〕
本発明の演算レジスタのバイパスチェック方式は、複数
語のレジスタ群からなる演算レジスタと、先行する第1
の演算命令が演算結果データを格納する前記演算レジス
タのレジスタアドレスと後続する第2の演算命令がアク
セスする前記演算レジスタのレジスタアドレスとが一致
したときに第1の演算命令の最終的な演算結果として確
定したデータを第2の演算命令のオペランドデータとし
て前記演算レジスタをバイパスして供給するためのデー
タパスとを有する情報処理装置において、前記演算レジ
スタからのデータの読出し時に命令毎の命令IDを生成し
て出力する命令制御装置と、この命令制御装置から出力
された命令IDおよび前記データパスを介してデータがバ
イパスされたときにバイパスされたデータであることを
示すバイパス情報をバイパスされたデータとともに持ち
回る持回り手段と、前記演算レジスタへのデータの書込
み時に前記演算レジスタのレジスタ対応に最後に書き込
んだデータとともに持ち回られている命令IDを記憶する
命令ID記憶手段と、前記演算レジスタへのデータの書込
み時に書込みデータとともに持ち回られている前記バイ
パス情報により書込みデータがバイパスされたデータで
あることが示された場合に前記演算レジスタのレジスタ
対応に保持されている最後に書き込まれた命令IDと書込
みデータとともに持ち回られている命令IDとを比較して
異なっているときにバイパス動作のエラーを検出する比
較手段とを有する。
〔作用〕
本発明の演算レジスタのバイパスチェック方式では、命
令制御装置が演算レジスタからのデータの読出し時に命
令毎の命令IDを生成して出力し、持回り手段が命令制御
装置から出力された命令IDおよびデータパスを介してデ
ータがバイパスされたときにバイパスされたデータであ
ることを示すバイパス情報をバイパスされたデータとと
もに持ち回り、命令ID記憶手段が演算レジスタへのデー
タの書込み時に演算レジスタのレジスタ対応に最後に書
き込んだデータとともに持ち回られている命令IDを記憶
し、比較手段が演算レジスタへのデータの書込み時に書
込みデータとともに持ち回られているバイパス情報によ
り書込みデータがバイパスされたデータであることが示
された場合に演算レジスタのレジスタ対応に保持されて
いる最後に書き込まれた命令IDと書込みデータとともに
持ち回られている命令IDとを比較して異なっているとき
にバイパス動作のエラーを検出する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の演算レジスタのバイパス
チェック方式が適用された情報処理装置の構成を示す回
路ブロック図である。この情報処理装置は、命令制御装
置10と、主記憶装置20と、演算レジスタ30と、アドレス
レジスタ31と、バイパス制御回路40と、レジスタ41,42,
43,44,45および46と、セレクタ47と、演算処理装置50
と、比較回路60と、レジスタ61および62とから構成され
ている。
命令制御装置10は、命令を解読してオペランドのレジス
タアドレスをアドレスレジスタ31にセットするととも
に、レジスタアドレスをレジスタ41にセットする。ま
た、命令制御装置10は、命令IDを生成してレジスタ44に
セットする。命令IDの生成方法としては、例えば、命令
制御装置10内に命令の実行毎にカウントアップするカウ
ンタを置いてそのカウント値を命令IDとするなどの様々
な方法が考えられる。
演算レジスタ30は、アドレスを持った複数語のレジスタ
群からなり、そのリード/ライトアドレスは、アドレス
レジスタ31にセットされたレジスタアドレスによって示
される。また、演算レジスタ30は、演算レジスタ30にデ
ータが書き込まれるときに、各レジスタ(アドレス)対
応に最後に書き込まれたデータとともに持ち回られてい
る命令IDを記憶する命令ID記憶部30aを持っている。
レジスタ41,42および43は、演算の各ステージで保持さ
れているオペランドデータの演算レジスタ30におけるレ
ジスタアドレスを持ち回る。
レジスタ45,46および62は、データがバイパスされたデ
ータであることを示す情報を保持するフラグ(以下、バ
イパスフラグという)を持ち、命令IDとともに持ち回
る。
バイパス制御回路40は、レジスタ41,42および43に保持
されたレジスタアドレスに基づいて先行して実行される
命令のオペランドとなる演算レジスタ30のレジスタアド
レスと、後続して実行される命令のオペランドとなる演
算レジスタ30のレジスタアドレスとを比較し、同一のレ
ジスタアドレスが存在した場合には、先行する命令の演
算結果を演算処理装置50のデータレジスタ51および53に
直接送るようにセレクタ47を制御するとともに、命令制
御装置10が正しく命令を実行できるように命令制御装置
10にその旨を示す信号を送出する。
演算処理装置50は、データレジスタ51,52,53および54
と、加減算処理装置55と、乗除算処理装置56と、データ
レジスタ57および58と、セレクタ59とから構成され、第
2図に示した従来の演算処理装置150と同様に動作す
る。
比較回路60は、演算レジスタ30へのデータの書込み時に
バイパスフラグにより書込みデータがバイパスされたデ
ータであることが示された場合に、そのときのレジスタ
アドレスが示す演算レジスタ30のレジスタに対応して保
持されている最後に書き込まれた命令IDと書込みデータ
とともに持ち回られている命令IDとを比較し、異なって
いる場合には信号線63にエラー信号を出力する。
次に、このように構成された本実施例の演算レジスタの
バイパスチェック方式の動作について説明する。
命令制御装置10は、命令を解読し、オペランドとなる演
算レジスタ30のレジスタアドレスをアドレスレジスタ31
にセットする。これにより、演算レジスタ30から目的と
するオペランドデータが読み出されてセレクタ47を介し
て演算処理装置50に供給される。また、命令制御装置10
は、レジスタ41にオペランドとなる演算レジスタ30のレ
ジスタアドレスを出力する。レジスタ41に出力されたレ
ジスタアドレスは、レジスタ41,42および43を介して演
算の各ステージで持ち回られる。さらに、命令制御装置
10は、実行される命令毎に命令IDを作成し、レジスタ44
に出力する。レジスタ44に出力された命令IDは、演算の
各ステージでセレクタ47を介してレジスタ45,46および6
2に順次持ち回られる。
一方、バイパス制御回路40は、演算の各ステージで持ち
回られながらレジスタ41,42および43に保持されている
レジスタアドレスに基づいて先行する命令のオペランド
となる演算レジスタ30のレジスタアドレスと、後続する
命令のオペランドとなる演算レジスタ30のレジスタアド
レスとを比較し、同一のレジスタアドレスが存在した場
合には、先行する命令の演算結果データを後続する命令
のオペランドデータとして演算処理装置50のデータレジ
スタ51および53に直接送るようにセレクタ47を制御する
とともに、命令制御装置10が正しく命令を実行できるよ
うにその旨を示す信号を送出する。
先行する命令の演算結果データを後続する命令のオペラ
ンドデータとして演算処理装置50のデータレジスタ51お
よび53に直接送るように制御されたセレクタ47は、演算
処理装置50からのデータパスを通じて供給された先行す
る命令の演算結果データを選択するとともに、レジスタ
44,45および46を持ち回られた命令IDも選択する。ま
た、これと同時に、セレクタ47は、レジスタ45のバイパ
スフラグを“1"にセットする。セットされたバイパスフ
ラグ“1"は、命令IDとともに演算の各ステージでレジス
タ45,46および62を持ち回られる。
比較回路60は、演算レジスタ30へのデータの書込み時に
命令IDとともに持ち回られているバイパスフラグが“1"
のときには、レジスタ61の命令IDとレジスタ62の命令ID
とを比較する。レジスタ61には、演算レジスタ30へのデ
ータの書込み時にそのときのレジスタアドレスを持つレ
ジスタに対応して保持されていた命令IDが演算レジスタ
30の命令ID記憶部30aから読み出されて保持されてい
る。
比較回路60によりレジスタ61の命令IDとレジスタ62の命
令IDとが異なっていることが検出された場合には、バイ
パス制御回路40によるバイパス動作に異常があったもの
とみなされ、信号線63にエラー信号が出力される。
例えば、第3図に示す命令列を実行する場合、命令1の
ADD命令が実行されると、命令IDとして“1"が命令制御
装置10から出力されてレジスタ44,45,46および62と持ち
回られる。演算処理装置50の出力であるADD命令の演算
結果データは、演算レジスタ30のレジスタアドレスR1に
命令ID“1"とともに書き込まれると同時に、バイパス制
御回路40によりセレクタ47でバイパスデータとして選択
され、命令2のMLT命令のオペランドデータとして演算
処理装置50に供給される。このとき、セレクタ47は、レ
ジスタ45のバイパスフラグに“1"をセットし、命令IDと
してMLT命令の命令IDである“2"ではなく、ADD命令の命
令IDである“1"をセットする。
レジスタ45にセットされた命令ID“1"およびバイパスフ
ラグ“1"は、MLT命令の実行に伴ってレジスタ45,46およ
び62と持ち回られ、演算の最終結果データが書込みデー
タとして演算レジスタ30に書き込まれるときに、レジス
タ62にセットされる。一方、これと同時に、アドレスレ
ジスタ31はレジスタアドレスR1を示し、レジスタ61には
レジスタアドレスR1が示すレジスタに対応した命令IDが
セットされるが、この場合、ADD命令の実行により演算
レジスタ30のレジスタアドレスR1が示すレジスタに対応
して命令ID“1"が入っている。
比較回路60は、レジスタ61の命令ID“1"とレジスタ62の
命令ID“1"とを比較し、バイパス動作の正常時には同じ
命令IDであるので、信号線63にエラー信号を出力しな
い。もし、バイパス動作に異常があり、ADD命令以外の
命令の演算結果がバイパスされた場合には、命令IDも異
なったものとなるので、比較回路60は信号線63にエラー
信号を出力する。
〔発明の効果〕
以上説明したように本発明は、演算レジスタおよびデー
タパス上のデータに対してそれぞれ命令IDを付加して演
算レジスタをバイパスした場合に命令の実行結果データ
を演算レジスタに書き込むときに演算レジスタの命令ID
と命令の実行結果データに付加されて持ち回られた命令
IDとを比較することにより、バイパス動作の有効な誤り
検出を行うことができる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の演算レジスタのバイパスチ
ェック方式が適用された情報処理装置の構成を示す回路
ブロック図、 第2図は従来の情報処理装置の一例を示す回路ブロック
図、 第3図は第1図に示した情報処理装置で実行される命令
シーケンスの一例を示す図である。 図において、 10……命令制御装置、20……主記憶装置、30……演算レ
ジスタ、30a……命令ID記憶部、31……アドレスレジス
タ、40……バイパス制御回路、41〜46……レジスタ、47
……セレクタ、50……演算処理装置、51〜54……データ
レジスタ、55……加減算処理装置、56……乗除算処理装
置、57,58……データレジスタ、59……セレクタ、60…
…比較回路、61,62……レジスタ、63……信号線であ
る。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数語のレジスタ群からなる演算レジスタ
    と、先行する第1の演算命令が演算結果データを格納す
    る前記演算レジスタのレジスタアドレスと後続する第2
    の演算命令がアクセスする前記演算レジスタのレジスタ
    アドレスとが一致したときに第1の演算命令の最終的な
    演算結果として確定したデータを第2の演算命令のオペ
    ランドデータとして前記演算レジスタをバイパスして供
    給するためのデータパスとを有する情報処理装置におい
    て、 前記演算レジスタからのデータの読出し時に命令毎の命
    令IDを生成して出力する命令制御装置と、 この命令制御装置から出力された命令IDおよび前記デー
    タパスを介してデータがバイパスされたときにバイパス
    されたデータであることを示すバイパス情報をバイパス
    されたデータとともに持ち回る持回り手段と、 前記演算レジスタへのデータの書込み時に前記演算レジ
    スタのレジスタ対応に最後に書き込んだデータとともに
    持ち回られている命令IDを記憶する命令ID記憶手段と、 前記演算レジスタへのデータの書込み時に書込みデータ
    とともに持ち回られている前記バイパス情報により書込
    みデータがバイパスされたデータであることが示された
    場合に前記演算レジスタのレジスタ対応に保持されてい
    る最後に書き込まれた命令IDと書込みデータとともに持
    ち回られている命令IDとを比較して異なっているときに
    バイパス動作のエラーを検出する比較手段と を有することを特徴とする演算レジスタのバイパスチェ
    ック方式。
JP63281970A 1988-11-08 1988-11-08 演算レジスタのバイパスチェック方式 Expired - Lifetime JPH0769822B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63281970A JPH0769822B2 (ja) 1988-11-08 1988-11-08 演算レジスタのバイパスチェック方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63281970A JPH0769822B2 (ja) 1988-11-08 1988-11-08 演算レジスタのバイパスチェック方式

Publications (2)

Publication Number Publication Date
JPH02127731A JPH02127731A (ja) 1990-05-16
JPH0769822B2 true JPH0769822B2 (ja) 1995-07-31

Family

ID=17646437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63281970A Expired - Lifetime JPH0769822B2 (ja) 1988-11-08 1988-11-08 演算レジスタのバイパスチェック方式

Country Status (1)

Country Link
JP (1) JPH0769822B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367936A (ja) 1991-06-17 1992-12-21 Mitsubishi Electric Corp スーパースカラープロセッサ
JP2636789B2 (ja) * 1995-03-31 1997-07-30 日本電気株式会社 マイクロプロセッサ
JP2011196927A (ja) * 2010-03-23 2011-10-06 Yokogawa Electric Corp 波形測定器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267835A (ja) * 1985-05-23 1986-11-27 Nec Corp デ−タ処理装置
JPH0758465B2 (ja) * 1987-02-18 1995-06-21 日本電気株式会社 パイプライン処理型情報処理装置

Also Published As

Publication number Publication date
JPH02127731A (ja) 1990-05-16

Similar Documents

Publication Publication Date Title
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
JPH0769822B2 (ja) 演算レジスタのバイパスチェック方式
JPS5938677B2 (ja) 制御ワ−ド転送制御装置
US5644745A (en) Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure
JPS60178540A (ja) 情報処理装置におけるバイパス制御方式
JP2859172B2 (ja) 情報処理装置のデバッグ回路
JP2716254B2 (ja) リストベクトル処理装置
JPS62251833A (ja) 計算機システム
JPS6020779B2 (ja) 複合形電子計算機システム
JPH0540629A (ja) 情報処理装置
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JP2658342B2 (ja) データ処理装置
JPS62166451A (ja) 論理装置の履歴解折装置
JPS6282439A (ja) 擬似障害発生方式
JPS6349939A (ja) 演算レジスタのバイパスチエツク方式
JPH0512133A (ja) メモリ診断方式
JPH0371236A (ja) エラー検出システム
JPH01309176A (ja) ベクトル複合命令制御方式
JPH01271844A (ja) 電子卓上計算機
JPH07121233A (ja) マイクロコンピュータシステムの診断方式
JPS58114387A (ja) バツフア・メモリを有するデ−タ処理装置
JPH02178862A (ja) 情報処理装置
JPH08328900A (ja) エミュレータ
JPS63103330A (ja) アドレススタツク使用ミス検出方式
JPH01185738A (ja) アドレストレース回路