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

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

Info

Publication number
JPH02127731A
JPH02127731A JP28197088A JP28197088A JPH02127731A JP H02127731 A JPH02127731 A JP H02127731A JP 28197088 A JP28197088 A JP 28197088A JP 28197088 A JP28197088 A JP 28197088A JP H02127731 A JPH02127731 A JP H02127731A
Authority
JP
Japan
Prior art keywords
instruction
register
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.)
Granted
Application number
JP28197088A
Other languages
English (en)
Other versions
JPH0769822B2 (ja
Inventor
Akihisa Makita
牧田 明久
Sadaji Asano
淺野 貞二
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
NEC Computertechno Ltd
Original Assignee
NEC Corp
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 Corp, NEC Computertechno Ltd 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)

Abstract

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

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のレジスタアドレスを7ドレスレ
ジスタ131にセットする。これにより、演算レジスタ
130から目的とするオペランドデータが読み出されて
セレクタ147を介して演算処理装置150に供給され
る。また、命令制御袋2110は、レジスタ141にオ
ペランドとなる演算レジスタ130のレジスタアドレス
を出力する。
レジスタ141に出力されたレジスタアドレスは、レジ
スタ141 、142および143を介して演算の各ス
テージで持ち回られる。
演算処理装置150は、セレクタ147を介して供給さ
れたオペランドデータをデータレジスタ151および1
53に、主記憶装置120から供給されたオペランドデ
ータをデータレジスタ152および154にそれぞれ格
納し、加減算命令を加減算処理装置155で実行し、乗
除算命令を乗除算処理装置156で実行する。演算結果
データは、データレジスタ157および158にそれぞ
れ格納される。セレクタ159は、命令制御装置110
からの指示に基づいて加減算命令の場合にはデータレジ
スタ157の演算結果データを選択し、乗除算命令の場
合にはデータレジスタ158の演算結果データを選択す
る0選択された演算結果データは、演算処理装置150
から演算レジスタ130および主記憶装置120に送ら
れて目的のアドレスに格納される。
一方、バイパス制御回路140は、演算の各ステージで
持ち回られながらレジスタ141 、142および14
3に保持されているレジスタアドレスに基づいて先行す
る命令のオペランドとなる演算レジスタ130のレジス
タアドレスと、後続する命令のオペランドとなる演算レ
ジスタ130のレジスタアドレスとを比較し、同一のレ
ジスタアドレスが存在した場合には、先行する命令の演
算結果データを後続する命令のオペランドデータとして
演算処理装置150のデータレジスタ151および15
3に直接送るようにセレクタ147を制御するとともに
、命令制御装置110が正しく命令を実行できるように
その旨を示す信号を送出する。
このようにして、先行する命令が更新する演算レジスタ
130のレジスタアドレスと後続する命令のオペランド
となる演算レジスタ130のレジスタアドレスとが一致
している場合に、先行する命令による演算結果データの
演算レジスタ130への書込みを待つことなく後続する
命令のオペランドデータを得ることができる。
〔発明が解決しようとする課題〕
上述した従来の情報処理装置では、バイパス制御回路1
40の誤動作によりセレクタ147が不正データを後続
する命令のオペランドデータとしてバイパスした場合に
データの正当性をチエツクする手段が存在しなかったの
で、バイパス動作の誤りを検出することができないとい
う欠点がある。
本発明の目的は、上述の点に鑑み、レジスタおよびデー
タパス上のデータに対してそれぞれ命令ID(識別子)
を付加し、演算レジスタをバイパスした場合に命令の実
行結果データを演算レジスタに書き込むときに演算レジ
スタの命令IDと命令の実行結果データに付加されて持
ち回られている命令!Dとを比較して、バイパス動作の
誤り検出を行うことができるようにした演算レジスタの
バイパスチェック方式を提供することにある。
〔課題を解決するための手段〕
本発明の演算レジスタのバイパスチェック方式は、複数
語のレジスタ群からなる演算レジスタと、先行する第1
の演算命令が演算結果データを格納する前記演算レジス
タのレジスタアドレスと後続する第2の演算命令がアク
セスする前記演算レジスタのレジスタアドレスとが一致
したときに第1の演算命令の最終的な演算結果として確
定したデータを第2の演算命令のオペランドデータとし
て前記演算レジスタをバイパスして供給するためのデー
タパスとを有する情報処理装置において、前記演算レジ
スタからのデータの読出し時に命令毎の命令IDを生成
して出力する命令制御装置と、この命令制御装置から出
力された命令IDおよび前記データパスを介してデータ
がバイパスされたときにバイパスされたデータであるこ
とを示すバイパス情報をバイパスされたデータとともに
持ち回る持回り手段と、前記演算レジスタへのデータの
書込み時に前記演算レジスタのレジスタ対応に最後に書
き込んだデータとともに持ち回られている命令IDを記
憶する命令ID記憶手段と、前記演算レジスタへのデー
タの書込み時に書込みデータとともに持ち回られている
前記バイパス情報により書込みデータがバイパスされた
データであることが示された場合に前記演算レジスタの
レジスタ対応に保持されている最後に書き込まれた命令
IDと書込みデータとともに持ち回られている命令■D
とを比較して異なっているときにバイパス動作のエラー
を検出する比較手段とを有する。
〔作用〕
本発明の演算レジスタのバイパスチェック方式では、命
令制御装置が演算レジスタからのデータの読出し時に命
令毎の命令IDを生成して出力し、持回り手段が命令制
御装置から出力された命令■Dおよびデータパスを介し
てデータがバイパスされたときにバイパスされたデータ
であることを示すバイパス情報をバイパスされたデータ
とともに持ち回り、命令10記憶手段が演算レジスタへ
のデータの書込み時に演算レジスタのレジスタ対応に最
後に書き込んだデータとともに持ち回られている命令r
Dを記憶し、比較手段が演算レジスタへのデータの書込
み時に書込みデータとともに持ち回られているバイパス
情報により書込みデータがバイパスされたデータである
ことが示された場合に演算レジスタのレジスタ対応に保
持されている最後に書き込まれた命令IDと書込みデー
タとともに持ち回られている命令IDとを比較して異な
っているときにバイパス動作のエラーを検出する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の演算レジスタのバイパス
チェック方式が適用された情報処理装置の構成を示す回
路ブロック図である。この情報処理装置は、命令制御装
置lOと、主記憶装置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は、演算レジスタ3
0にデータが書き込まれるときに、各レジスタ(アドレ
ス)対応に最後に書き込まれたデータとともに持ち回ら
れている命令IDを記憶する命令ID記憶部30aを持
っている。
レジスタ41.42および43は、演算の各ステージで
保持されているオペランドデータの演算レジスタ30に
おけるレジスタアドレスを持ち回る。
レジスタ45.46および62は、データがバイパスさ
れたデータであることを示す情報を保持するフラグ(以
下、バイパスフラグという)を持ち、命令IDとともに
持ち回る。
バイパス制御回路40は、レジスタ41.42および4
3に保持されたレジスタアドレスに基づいて先行して実
行される命令のオペランドとなる演算レジスタ30のレ
ジスタアドレスと、後続して実行される命令のオペラン
ドとなる演算レジスタ30のレジスタアドレスとを比較
し、同一のレジスタアドレスが存在した場合には、先行
する命令の演算結果を演算処理装置50のデータレジス
タ51および53に直接送るようにセレクタ47を制御
するとともに、命令制御装置10が正しく命令を実行で
きるように命令制御装置10にその旨を示す信号を送出
する。
演算処理装置50は、データレジスタ51.52.53
および54と、加減算処理装置55と、乗除算処理装置
56と、データレジスタ57および58と、セレクタ5
9とから構成され、第2図に示した従来の演算処理装置
150と同様に動作する。
比較回路60は、演算レジスタ30へのデータの書込み
時にバイパスフラグにより書込みデータがバイパスされ
たデータであることが示された場合に、そのときのレジ
スタアドレスが示す演算レジスタ30のレジスタに対応
して保持されている最後に書き込まれた命令10と書込
みデータとともに持ち回られている命令IDとを比較し
、異なっている場合には信号線63にエラー信号を出力
する。
次に、このように構成された本実施例の演算レジスタの
バイパスチェック方式の動作について説明する。
命令制御装置lOは、命令を解読し、オペランドとなる
演算レジスタ30のレジスタアドレスを7ドレスレジス
タ31にセットする。これにより、演算レジスタ30か
ら目的とするオペランドデータが読み出゛されてセレク
タ47を介して演算処理装置50に供給される。また、
命令制御装置10は、レジスタ41にオペランドとなる
演算レジスタ30のレジスタアドレスを出力する。レジ
スタ41に出力されたレジスタアドレスは、レジスタ4
1.42および43を介して演算の各ステージで持ち回
られる。さらに、命令制御装置10は、実行される命令
毎に命令IDを作成し、レジスタ44に出力する。レジ
スタ44に出力された命令IDは、演算の各ステージで
セレクタ47を介してレジスタ45.46および62に
順次持ち回られる。
一方、バイパス制御回路40は、演算の各ステージで持
ち回られながらレジスタ41.42および43に保持さ
れているレジスタアドレスに基づいて先行する命令のオ
ペランドとなる演算レジスタ30のレジスタアドレスと
、後続する命令のオペランドとなる演算レジスタ30の
レジスタアドレスとを比較し、同一のレジスタアドレス
が存在した場合には、先行する命令の演算結果データを
後続する命令のオペランドデータとして演算処理装置5
0のデータレジスタ51および53に直接送るようにセ
レクタ47を制御するとともに、命令制御装置10が正
しく命令を実行できるようにその旨を示す信号を送出す
る。
先行する命令の演算結果データを後続する命令のオペラ
ンドデータとして演算処理装置50のデータレジスタ5
1および53に直接送るように制御されたセレクタ47
は、演算処理装置50からのデータパスを通じて供給さ
れた先行する命令の演算結果データを選択するとともに
、レジスタ44.45および46を持ち回られた命令1
0も選択する。また、これと同時に、セレクタ47は、
レジスタ45のバイパスフラグを“1”にセントする。
セットされたバイパスフラグ1”は、命令IDとともに
演算の各ステージでレジスタ45.46および62を持
ち回られる。
比較回路60は、演算レジスタ30へのデータの書込み
時に命令IDとともに持ち回られているバイパスフラグ
がl”のときには、レジスタ61の命令IDとレジスタ
62の、命令IDとを比較する。レジズタ61には、演
算レジスタ30へのデータの書込み時にそのときのレジ
スタアドレスを持つレジス夕に対応して保持されていた
命令IDが演算レジスタ30の命令ID記憶部30aか
ら読み出されて保持されている。
比較回路60によりレジスタ61の命令IDとレジスタ
62の命令!Dとが異なっていることが検出された場合
には、バイパス制御回路40によるバイパス動作に異常
があったものとみなされ、信号線63にエラー信号が出
力される。
例えば、第3図に示す命令列を実行する場合、命令lの
ADD命令が実行されると、命令IDとして“1″が命
令制御装置10から出力されてレジスタ44.45.4
6および62と持ち回られる。演算処理装置50の出力
であるADD命令の演算結果データは、演算レジスタ3
0のレジスタアドレスR1に命令ID“1゛とともに書
き込まれると同時に、バイパス制?11回路40により
セレクタ47でバイパスデータとして選択され、命令2
のMLT命令のオペランドデータとして演算処理装置5
0に供給される。このとき、セレクタ47は、レジスタ
45のバイパスフラグに“1″をセットし、命令IDと
してMLT命令の命令IDである2”ではなく、ADD
命令の命令IDである“1″をセットする。
レジスタ45にセントされた命令ID“1”およびバイ
パスフラグ1”は、MLT命令の実行に伴ってレジスタ
45.46および62と持ち回られ、演算の最終結果デ
ータが書込みデータとして演算レジスタ30に書き込ま
れるときに、レジスタ62にセットされる。一方、これ
と同時に、アドレスレジスタ31はレジスタアドレスR
1を示し、レジスタ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の演算命令が演算結果データを格納する前記演算レ
    ジスタのレジスタアドレスと後続する第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 true JPH02127731A (ja) 1990-05-16
JPH0769822B2 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)

Cited By (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 スーパースカラープロセッサ
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ
JP2011196927A (ja) * 2010-03-23 2011-10-06 Yokogawa Electric Corp 波形測定器

Citations (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 デ−タ処理装置
JPS63204328A (ja) * 1987-02-18 1988-08-24 Nec Corp パイプライン処理型情報処理装置

Patent Citations (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 デ−タ処理装置
JPS63204328A (ja) * 1987-02-18 1988-08-24 Nec Corp パイプライン処理型情報処理装置

Cited By (4)

* 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 スーパースカラープロセッサ
US6233670B1 (en) 1991-06-17 2001-05-15 Mitsubishi Denki Kabushiki Kaisha Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ
JP2011196927A (ja) * 2010-03-23 2011-10-06 Yokogawa Electric Corp 波形測定器

Also Published As

Publication number Publication date
JPH0769822B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JPH02127731A (ja) 演算レジスタのバイパスチェック方式
JPH08171504A (ja) エミュレ−ション装置
JPH03113646A (ja) トレース回路
JP2618387B2 (ja) 情報処理装置の試験方法
JPH06202907A (ja) デバッグ支援装置
JPS5939777B2 (ja) 制御記憶装置
JP2798492B2 (ja) リストベクトル処理装置
JPS60178540A (ja) 情報処理装置におけるバイパス制御方式
JPH02155036A (ja) データ処理装置
JPH0540629A (ja) 情報処理装置
JPH01188941A (ja) プログラム実行制御方式
JPS6270947A (ja) デバグ割込み制御方式
JPS5936853A (ja) 演算処理装置
JPH11167500A (ja) エミュレータ装置のイベント回路及びデバッグシステム
JPH01309176A (ja) ベクトル複合命令制御方式
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JPH0387937A (ja) トレース制御方式
JPS6083149A (ja) コンピユ−タ
JPH0223426A (ja) 情報処理装置
JPS63231531A (ja) パイプライン制御装置
JPS6388640A (ja) マイクロ命令制御装置
JPS59220844A (ja) 命令再実行制御方式
JPH02206836A (ja) データ処理装置
JPH01185738A (ja) アドレストレース回路