JPH0769822B2 - Calculation register bypass check method - Google Patents
Calculation register bypass check methodInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000010365 information processing Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は演算レジスタのバイパスチェック方式に関し、
特に演算レジスタを更新する命令に続いて同じ演算レジ
スタをアクセスする命令が実行される場合に先行する命
令の演算結果データを後続する命令のオペランドデータ
として演算レジスタをバイパスして直接供給することに
より処理の高速化を図った情報処理装置における演算レ
ジスタのバイパスチェック方式に関する。The present invention relates to a bypass check system for arithmetic registers,
In particular, when an instruction to update the arithmetic register is followed by an instruction to access the same arithmetic register, processing is performed by directly supplying the arithmetic result data of the preceding instruction as the operand data of the succeeding instruction by bypassing the arithmetic register. The present invention relates to a bypass check method for an arithmetic register in an information processing device that is designed to increase the processing speed.
従来、この種の情報処理装置は、例えば第2図に示すよ
うに、命令制御装置110と、主記憶装置120と、演算レジ
スタ130と、アドレスレジスタ131と、バイパス制御回路
140と、レジスタ141,142おび143と、セレクタ147と、演
算処理装置150とから構成されている。Conventionally, as shown in FIG. 2, for example, an information processing apparatus of this type has an instruction control device 110, a main storage device 120, an arithmetic register 130, an address register 131, and a bypass control circuit.
It comprises 140, registers 141, 142 and 143, a selector 147, and an arithmetic processing unit 150.
演算処理装置150は、データレジスタ151,152,153および
154と、加減算処理装置155と、乗除算処理装置156と、
データレジスタ157および158と、セレクタ159とから構
成されている。The arithmetic processing unit 150 includes data registers 151, 152, 153 and
154, an addition / subtraction processing device 155, a multiplication / division processing device 156,
It is composed of data registers 157 and 158 and a selector 159.
演算レジスタ130は、アドレスを持った複数語のレジス
タ群からなり、そのリード/ライトアドレスはアドレス
レジスタ131によって示される。The arithmetic register 130 is composed of a register group of a plurality of words having an address, and its read / write address is indicated by the address register 131.
このような従来の情報処理装置では、命令の実行時に、
命令制御装置110は、命令を解読し、オペランドとなる
演算レジスタ130のレジスタアドレスをアドレスレジス
タ131にセットする。これにより、演算レジスタ130から
目的とするオペランドデータが読み出されてセレクタ14
7を介して演算処理装置150に供給される。また、命令制
御装置110は、レジスタ141にオペランドとなる演算レジ
スタ130のレジスタアドレスを出力する。レジスタ141に
出力されたレジスタアドレスは、レジスタ141,142およ
び143を介して演算の各ステージで持ち回られる。In such a conventional information processing device, when the instruction is executed,
The instruction control device 110 decodes the instruction and sets the register address of the arithmetic register 130 as an operand in the address register 131. As a result, the target operand data is read from the arithmetic register 130 and the selector 14
It is supplied to the arithmetic processing unit 150 via 7. Further, the instruction control device 110 outputs the register address of the arithmetic register 130, which is an operand, to the register 141. The register address output to the register 141 is carried around in each stage of calculation via the registers 141, 142 and 143.
演算処理装置150は、セレクタ147を介して供給されたオ
ペランドデータをデータレジスタ151および153に、主記
憶装置120から供給されたオペランドデータをデータレ
ジスタ152および154にそれぞれ格納し、加減算命令を加
減算処理装置155で実行し、乗除算命令を乗除算処理装
置156で実行する。演算結果データは、データレジスタ1
57および158にそれぞれ格納される。セレクタ159は、命
令制御装置110からの指示に基づいて加減算命令の場合
にはデータレジスタ157の演算結果データを選択し、乗
除算命令の場合にはデータレジスタ158の演算結果デー
タを選択する。選択された演算結果データは、演算処理
装置150から演算レジスタ130および主記憶装置120に送
られて目的のアドレスに格納される。The arithmetic processing unit 150 stores the operand data supplied via the selector 147 in the data registers 151 and 153, and the operand data supplied from the main storage unit 120 in the data registers 152 and 154, respectively, and adds / subtracts the addition / subtraction instruction. The multiplication / division instruction is executed by the device 155 and the multiplication / division processing device 156 is executed. The operation result data is stored in the data register 1
Stored in 57 and 158 respectively. Based on the instruction from the instruction control unit 110, the selector 159 selects the operation result data of the data register 157 in the case of the addition / subtraction instruction, and selects the operation result data of the data register 158 in the case of the multiplication / division instruction. The selected calculation result data is sent from the calculation processing device 150 to the calculation register 130 and the main storage device 120 and stored at the target address.
一方、バイパス制御回路140は、演算の各ステージで持
ち回られながらレジスタ141,142および143に保持されて
いるレジスタアドレスに基づいて先行する命令のオペラ
ンドとなる演算レジスタ130のレジスタアドレスと、後
続する命令のオペランドとなる演算レジスタ130のレジ
スタアドレスとを比較し、同一のレジスタアドレスが存
在した場合には、先行する命令の演算結果データを後続
する命令のオペランドデータとして演算処理装置150の
データレジスタ151および153に直接送るようにセレクタ
147を制御するとともに、命令制御装置110が正しく命令
を実行できるようにその旨を示す信号を送出する。On the other hand, the bypass control circuit 140, based on the register address held in the registers 141, 142, and 143 while being carried around in each stage of the operation, becomes the operand of the preceding instruction, the register address of the arithmetic register 130, and the succeeding instruction. The register address of the arithmetic register 130 which is an operand is compared, and when the same register address is present, the arithmetic result data of the preceding instruction is used as the operand data of the succeeding instruction, and the data registers 151 and 153 of the arithmetic processing unit 150. Selector to send directly to
In addition to controlling 147, the instruction control unit 110 sends a signal indicating that the instruction can be correctly executed.
このようにして、先行する命令が更新する演算レジスタ
130のレジスタアドレスと後続する命令のオペランドと
なる演算レジスタ130のレジスタアドレスとが一致して
いる場合に、先行する命令による演算結果データの演算
レジスタ130への書込みを待つことなく後続する命令の
オペランドデータを得ることができる。In this way, the arithmetic register that the preceding instruction updates
If the register address of 130 and the register address of the operation register 130 that is the operand of the subsequent instruction match, the operand of the subsequent instruction without waiting for the operation result data to be written to the operation register 130 by the preceding instruction You can get the data.
上述した従来の情報処理装置では、バイパス制御回路14
0の誤動作によりセレクタ147が不正データを後続する命
令のオペランドデータとしてバイパスした場合にデータ
の正当性をチェックする手段が存在しなかったので、バ
イパス動作の誤りを検出することができないという欠点
がある。In the conventional information processing apparatus described above, the bypass control circuit 14
When the selector 147 bypasses the invalid data as the operand data of the subsequent instruction due to the malfunction of 0, there is no means for checking the validity of the data, so that there is a disadvantage that the error of the bypass operation cannot be detected. .
本発明の目的は、上述の点に鑑み、レジスタおよびデー
タパス上のデータに対してそれぞれ命令ID(識別子)を
付加し、演算レジスタをバイパスした場合に命令の実行
結果データを演算レジスタに書き込むときに演算レジス
タの命令IDと命令の実行結果データに付加されて持ち回
られている命令IDとを比較して、バイパス動作の誤り検
出を行うことができるようにした演算レジスタのバイパ
スチェック方式を提供することにある。In view of the above points, an object of the present invention is to add instruction IDs (identifiers) to data on registers and data paths, and to write instruction execution result data to an arithmetic register when the arithmetic register is bypassed. Provides an operation register bypass check method that enables error detection of bypass operation by comparing the instruction ID of the operation register with the instruction ID added to the instruction execution result data and carried around. To do.
本発明の演算レジスタのバイパスチェック方式は、複数
語のレジスタ群からなる演算レジスタと、先行する第1
の演算命令が演算結果データを格納する前記演算レジス
タのレジスタアドレスと後続する第2の演算命令がアク
セスする前記演算レジスタのレジスタアドレスとが一致
したときに第1の演算命令の最終的な演算結果として確
定したデータを第2の演算命令のオペランドデータとし
て前記演算レジスタをバイパスして供給するためのデー
タパスとを有する情報処理装置において、前記演算レジ
スタからのデータの読出し時に命令毎の命令IDを生成し
て出力する命令制御装置と、この命令制御装置から出力
された命令IDおよび前記データパスを介してデータがバ
イパスされたときにバイパスされたデータであることを
示すバイパス情報をバイパスされたデータとともに持ち
回る持回り手段と、前記演算レジスタへのデータの書込
み時に前記演算レジスタのレジスタ対応に最後に書き込
んだデータとともに持ち回られている命令IDを記憶する
命令ID記憶手段と、前記演算レジスタへのデータの書込
み時に書込みデータとともに持ち回られている前記バイ
パス情報により書込みデータがバイパスされたデータで
あることが示された場合に前記演算レジスタのレジスタ
対応に保持されている最後に書き込まれた命令IDと書込
みデータとともに持ち回られている命令IDとを比較して
異なっているときにバイパス動作のエラーを検出する比
較手段とを有する。According to the bypass check method of the arithmetic register of the present invention, the arithmetic register composed of a register group of a plurality of words and the preceding first register.
The final operation result of the first operation instruction when the register address of the operation register for storing the operation result data of the operation instruction and the register address of the operation register accessed by the subsequent second operation instruction match. In the information processing apparatus having a data path for supplying the data determined as the operand data of the second operation instruction by bypassing the operation register, the instruction ID for each instruction is read when the data is read from the operation register. A command control device that generates and outputs, and a command ID output from this command control device and bypass information indicating bypass information indicating that the data is bypassed when the data is bypassed through the data path. With the rotation means for carrying around with the operation register and the operation register when writing data to the operation register. Command ID storage means for storing the instruction ID carried along with the last written data corresponding to the register of the register, and the write data by the bypass information carried along with the write data at the time of writing the data to the arithmetic register. Is indicated to be bypassed data, the last written instruction ID held corresponding to the register of the operation register and the instruction ID carried along with the write data are compared and different. And a comparison means for detecting an error in the bypass operation.
本発明の演算レジスタのバイパスチェック方式では、命
令制御装置が演算レジスタからのデータの読出し時に命
令毎の命令IDを生成して出力し、持回り手段が命令制御
装置から出力された命令IDおよびデータパスを介してデ
ータがバイパスされたときにバイパスされたデータであ
ることを示すバイパス情報をバイパスされたデータとと
もに持ち回り、命令ID記憶手段が演算レジスタへのデー
タの書込み時に演算レジスタのレジスタ対応に最後に書
き込んだデータとともに持ち回られている命令IDを記憶
し、比較手段が演算レジスタへのデータの書込み時に書
込みデータとともに持ち回られているバイパス情報によ
り書込みデータがバイパスされたデータであることが示
された場合に演算レジスタのレジスタ対応に保持されて
いる最後に書き込まれた命令IDと書込みデータとともに
持ち回られている命令IDとを比較して異なっているとき
にバイパス動作のエラーを検出する。In the bypass check method for the arithmetic register of the present invention, the instruction control device generates and outputs an instruction ID for each instruction when reading data from the arithmetic register, and the rotation means outputs the instruction ID and data path output from the instruction control device. When the data is bypassed via, the bypass information indicating that the data is bypassed is carried along with the bypassed data, and the instruction ID storage means is added to the register of the operation register at the end when writing the data to the operation register. It stores the instruction ID carried around with the written data, and the comparison means indicates that the write data is bypassed data by the bypass information carried along with the write data when writing the data to the arithmetic register. Write to the end of the operation register that is held in the case of To detect errors in the bypass operation when the instruction ID is different by comparing the instruction ID that Mochimawara with the write data.
次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be described in detail with reference to the drawings.
第1図は、本発明の一実施例の演算レジスタのバイパス
チェック方式が適用された情報処理装置の構成を示す回
路ブロック図である。この情報処理装置は、命令制御装
置10と、主記憶装置20と、演算レジスタ30と、アドレス
レジスタ31と、バイパス制御回路40と、レジスタ41,42,
43,44,45および46と、セレクタ47と、演算処理装置50
と、比較回路60と、レジスタ61および62とから構成され
ている。FIG. 1 is a circuit block diagram showing a configuration of an information processing apparatus to which a bypass check method for an arithmetic register according to an embodiment of the present invention is applied. This information processing apparatus includes an instruction control device 10, a main storage device 20, an arithmetic register 30, an address register 31, a bypass control circuit 40, and registers 41, 42 ,.
43, 44, 45 and 46, a selector 47, and an arithmetic processing unit 50
And a comparator circuit 60 and registers 61 and 62.
命令制御装置10は、命令を解読してオペランドのレジス
タアドレスをアドレスレジスタ31にセットするととも
に、レジスタアドレスをレジスタ41にセットする。ま
た、命令制御装置10は、命令IDを生成してレジスタ44に
セットする。命令IDの生成方法としては、例えば、命令
制御装置10内に命令の実行毎にカウントアップするカウ
ンタを置いてそのカウント値を命令IDとするなどの様々
な方法が考えられる。The instruction control device 10 decodes the instruction, sets the register address of the operand in the address register 31, and sets the register address in the register 41. The instruction control device 10 also generates an instruction ID and sets it in the register 44. As a method of generating the instruction ID, various methods such as placing a counter in the instruction control device 10 that counts up each time the instruction is executed and using the count value as the instruction ID can be considered.
演算レジスタ30は、アドレスを持った複数語のレジスタ
群からなり、そのリード/ライトアドレスは、アドレス
レジスタ31にセットされたレジスタアドレスによって示
される。また、演算レジスタ30は、演算レジスタ30にデ
ータが書き込まれるときに、各レジスタ(アドレス)対
応に最後に書き込まれたデータとともに持ち回られてい
る命令IDを記憶する命令ID記憶部30aを持っている。The arithmetic register 30 is composed of a register group of a plurality of words having an address, and its read / write address is indicated by the register address set in the address register 31. Further, the arithmetic register 30 has an instruction ID storage unit 30a for storing the instruction ID carried along with the last written data corresponding to each register (address) when the data is written in the arithmetic register 30. There is.
レジスタ41,42および43は、演算の各ステージで保持さ
れているオペランドデータの演算レジスタ30におけるレ
ジスタアドレスを持ち回る。The registers 41, 42 and 43 carry around the register address in the operation register 30 of the operand data held in each stage of the operation.
レジスタ45,46および62は、データがバイパスされたデ
ータであることを示す情報を保持するフラグ(以下、バ
イパスフラグという)を持ち、命令IDとともに持ち回
る。The registers 45, 46, and 62 have a flag (hereinafter referred to as a bypass flag) that holds information indicating that the data is bypassed data, and are carried around together with the instruction ID.
バイパス制御回路40は、レジスタ41,42および43に保持
されたレジスタアドレスに基づいて先行して実行される
命令のオペランドとなる演算レジスタ30のレジスタアド
レスと、後続して実行される命令のオペランドとなる演
算レジスタ30のレジスタアドレスとを比較し、同一のレ
ジスタアドレスが存在した場合には、先行する命令の演
算結果を演算処理装置50のデータレジスタ51および53に
直接送るようにセレクタ47を制御するとともに、命令制
御装置10が正しく命令を実行できるように命令制御装置
10にその旨を示す信号を送出する。The bypass control circuit 40 has a register address of the arithmetic register 30 which is an operand of an instruction executed first based on the register addresses held in the registers 41, 42 and 43, and an operand of an instruction executed subsequently. When the same register address exists, the selector 47 is controlled so as to directly send the operation result of the preceding instruction to the data registers 51 and 53 of the arithmetic processing unit 50. In addition, the instruction control device 10 can execute the instruction correctly.
A signal indicating that is sent to 10.
演算処理装置50は、データレジスタ51,52,53および54
と、加減算処理装置55と、乗除算処理装置56と、データ
レジスタ57および58と、セレクタ59とから構成され、第
2図に示した従来の演算処理装置150と同様に動作す
る。The processor 50 includes data registers 51, 52, 53 and 54.
The adder / subtractor processing unit 55, the multiplication / division processing unit 56, the data registers 57 and 58, and the selector 59, operate in the same manner as the conventional arithmetic processing unit 150 shown in FIG.
比較回路60は、演算レジスタ30へのデータの書込み時に
バイパスフラグにより書込みデータがバイパスされたデ
ータであることが示された場合に、そのときのレジスタ
アドレスが示す演算レジスタ30のレジスタに対応して保
持されている最後に書き込まれた命令IDと書込みデータ
とともに持ち回られている命令IDとを比較し、異なって
いる場合には信号線63にエラー信号を出力する。The comparator circuit 60 corresponds to the register of the arithmetic register 30 indicated by the register address when the write data indicates that the write data is bypassed when the data is written to the arithmetic register 30. The last written instruction ID held and the instruction ID carried along with the write data are compared, and if different, an error signal is output to the signal line 63.
次に、このように構成された本実施例の演算レジスタの
バイパスチェック方式の動作について説明する。Next, the operation of the bypass check method of the arithmetic register of the present embodiment configured as described above will be described.
命令制御装置10は、命令を解読し、オペランドとなる演
算レジスタ30のレジスタアドレスをアドレスレジスタ31
にセットする。これにより、演算レジスタ30から目的と
するオペランドデータが読み出されてセレクタ47を介し
て演算処理装置50に供給される。また、命令制御装置10
は、レジスタ41にオペランドとなる演算レジスタ30のレ
ジスタアドレスを出力する。レジスタ41に出力されたレ
ジスタアドレスは、レジスタ41,42および43を介して演
算の各ステージで持ち回られる。さらに、命令制御装置
10は、実行される命令毎に命令IDを作成し、レジスタ44
に出力する。レジスタ44に出力された命令IDは、演算の
各ステージでセレクタ47を介してレジスタ45,46および6
2に順次持ち回られる。The instruction control device 10 decodes the instruction and outputs the register address of the arithmetic register 30 as an operand to the address register 31.
Set to. As a result, the target operand data is read from the arithmetic register 30 and supplied to the arithmetic processing unit 50 via the selector 47. Also, the command control device 10
Outputs the register address of the arithmetic register 30 which is an operand to the register 41. The register address output to the register 41 is carried around in each stage of calculation via the registers 41, 42 and 43. In addition, the command controller
10 creates an instruction ID for each instruction executed and
Output to. The instruction ID output to the register 44 is transferred to the registers 45, 46 and 6 via the selector 47 at each stage of the operation.
It is carried around to 2 in sequence.
一方、バイパス制御回路40は、演算の各ステージで持ち
回られながらレジスタ41,42および43に保持されている
レジスタアドレスに基づいて先行する命令のオペランド
となる演算レジスタ30のレジスタアドレスと、後続する
命令のオペランドとなる演算レジスタ30のレジスタアド
レスとを比較し、同一のレジスタアドレスが存在した場
合には、先行する命令の演算結果データを後続する命令
のオペランドデータとして演算処理装置50のデータレジ
スタ51および53に直接送るようにセレクタ47を制御する
とともに、命令制御装置10が正しく命令を実行できるよ
うにその旨を示す信号を送出する。On the other hand, the bypass control circuit 40 follows the register address of the operation register 30 which becomes the operand of the preceding instruction based on the register address held in the registers 41, 42 and 43 while being carried around in each stage of the operation. The register address of the arithmetic register 30 that is the operand of the instruction is compared, and if the same register address exists, the arithmetic result data of the preceding instruction is used as the operand data of the succeeding instruction, and the data register 51 of the arithmetic processing unit 50. The selector 47 is controlled so as to send it directly to the control unit 53 and 53, and at the same time, the instruction control unit 10 sends out a signal to that effect so that the instruction can be correctly executed.
先行する命令の演算結果データを後続する命令のオペラ
ンドデータとして演算処理装置50のデータレジスタ51お
よび53に直接送るように制御されたセレクタ47は、演算
処理装置50からのデータパスを通じて供給された先行す
る命令の演算結果データを選択するとともに、レジスタ
44,45および46を持ち回られた命令IDも選択する。ま
た、これと同時に、セレクタ47は、レジスタ45のバイパ
スフラグを“1"にセットする。セットされたバイパスフ
ラグ“1"は、命令IDとともに演算の各ステージでレジス
タ45,46および62を持ち回られる。The selector 47, which is controlled so as to directly send the operation result data of the preceding instruction to the data registers 51 and 53 of the operation processing device 50 as the operand data of the following instruction, the selector 47 supplied through the data path from the operation processing device 50. Select the operation result data of the instruction to
Also select the instruction ID that was carried around 44, 45 and 46. At the same time, the selector 47 sets the bypass flag of the register 45 to "1". The set bypass flag “1” can be carried around the registers 45, 46 and 62 at each stage of the operation together with the instruction ID.
比較回路60は、演算レジスタ30へのデータの書込み時に
命令IDとともに持ち回られているバイパスフラグが“1"
のときには、レジスタ61の命令IDとレジスタ62の命令ID
とを比較する。レジスタ61には、演算レジスタ30へのデ
ータの書込み時にそのときのレジスタアドレスを持つレ
ジスタに対応して保持されていた命令IDが演算レジスタ
30の命令ID記憶部30aから読み出されて保持されてい
る。In the comparison circuit 60, when the data is written to the arithmetic register 30, the bypass flag carried along with the instruction ID is “1”.
, The instruction ID of register 61 and the instruction ID of register 62
Compare with. In the register 61, when the data is written in the arithmetic register 30, the instruction ID held corresponding to the register having the register address at that time is stored in the arithmetic register.
It is read from the instruction ID storage unit 30a of 30 and held.
比較回路60によりレジスタ61の命令IDとレジスタ62の命
令IDとが異なっていることが検出された場合には、バイ
パス制御回路40によるバイパス動作に異常があったもの
とみなされ、信号線63にエラー信号が出力される。When the comparison circuit 60 detects that the instruction ID of the register 61 and the instruction ID of the register 62 are different, it is considered that the bypass operation by the bypass control circuit 40 is abnormal, and the signal line 63 is An error signal is output.
例えば、第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"をセットする。For example, when executing the instruction sequence shown in FIG.
When the ADD instruction is executed, "1" is output as the instruction ID from the instruction control device 10 and is carried around to the registers 44, 45, 46 and 62. The operation result data of the ADD instruction, which is the output of the operation processing device 50, is written together with the instruction ID “1” in the register address R1 of the operation register 30, and at the same time, is selected by the bypass control circuit 40 as the bypass data by the selector 47. It is supplied to the arithmetic processing unit 50 as operand data of the second MLT instruction. At this time, the selector 47 sets the bypass flag of the register 45 to “1” and sets the instruction ID of the ADD instruction to “1” instead of the instruction ID of the MLT instruction to “2”.
レジスタ45にセットされた命令ID“1"およびバイパスフ
ラグ“1"は、MLT命令の実行に伴ってレジスタ45,46およ
び62と持ち回られ、演算の最終結果データが書込みデー
タとして演算レジスタ30に書き込まれるときに、レジス
タ62にセットされる。一方、これと同時に、アドレスレ
ジスタ31はレジスタアドレスR1を示し、レジスタ61には
レジスタアドレスR1が示すレジスタに対応した命令IDが
セットされるが、この場合、ADD命令の実行により演算
レジスタ30のレジスタアドレスR1が示すレジスタに対応
して命令ID“1"が入っている。The instruction ID “1” and bypass flag “1” set in the register 45 are carried around with the registers 45, 46, and 62 as the MLT instruction is executed, and the final result data of the operation is written to the operation register 30 as write data. It is set in register 62 when written. On the other hand, at the same time, the address register 31 indicates the register address R1, and the instruction ID corresponding to the register indicated by the register address R1 is set in the register 61. In this case, the register of the arithmetic register 30 is executed by executing the ADD instruction. The instruction ID "1" is included in the register indicated by address R1.
比較回路60は、レジスタ61の命令ID“1"とレジスタ62の
命令ID“1"とを比較し、バイパス動作の正常時には同じ
命令IDであるので、信号線63にエラー信号を出力しな
い。もし、バイパス動作に異常があり、ADD命令以外の
命令の演算結果がバイパスされた場合には、命令IDも異
なったものとなるので、比較回路60は信号線63にエラー
信号を出力する。The comparison circuit 60 compares the instruction ID “1” of the register 61 with the instruction ID “1” of the register 62, and when the bypass operation is normal, the instruction circuit has the same instruction ID and therefore does not output an error signal to the signal line 63. If there is an abnormality in the bypass operation and the operation result of an instruction other than the ADD instruction is bypassed, the instruction IDs will also be different, so the comparison circuit 60 outputs an error signal to the signal line 63.
以上説明したように本発明は、演算レジスタおよびデー
タパス上のデータに対してそれぞれ命令IDを付加して演
算レジスタをバイパスした場合に命令の実行結果データ
を演算レジスタに書き込むときに演算レジスタの命令ID
と命令の実行結果データに付加されて持ち回られた命令
IDとを比較することにより、バイパス動作の有効な誤り
検出を行うことができる効果がある。As described above, according to the present invention, when the instruction ID is added to the data on the arithmetic register and the data path and the arithmetic register is bypassed, the instruction of the arithmetic register is written when the execution result data of the instruction is written to the arithmetic register. ID
And the instruction that was carried around by being added to the execution result data of the instruction
By comparing with the ID, it is possible to effectively detect an error in the bypass operation.
第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……信号線であ
る。FIG. 1 is a circuit block diagram showing the configuration of an information processing apparatus to which the bypass check method for an arithmetic register of one embodiment of the present invention is applied, and FIG. 2 is a circuit block diagram showing an example of a conventional information processing apparatus. FIG. 3 is a diagram showing an example of an instruction sequence executed by the information processing apparatus shown in FIG. In the figure, 10 ... Instruction control device, 20 ... Main memory device, 30 ... Operation register, 30a ... Instruction ID storage unit, 31 ... Address register, 40 ... Bypass control circuit, 41-46 ... Register , 47
...... Selector, 50 …… Arithmetic processing unit, 51 to 54 …… Data register, 55 …… Addition and subtraction processing unit, 56 …… Multiplication and division processing unit, 57,58 …… Data register, 59 …… Selector, 60…
… Comparison circuit, 61,62 …… Register, 63 …… Signal line.
Claims (1)
と、先行する第1の演算命令が演算結果データを格納す
る前記演算レジスタのレジスタアドレスと後続する第2
の演算命令がアクセスする前記演算レジスタのレジスタ
アドレスとが一致したときに第1の演算命令の最終的な
演算結果として確定したデータを第2の演算命令のオペ
ランドデータとして前記演算レジスタをバイパスして供
給するためのデータパスとを有する情報処理装置におい
て、 前記演算レジスタからのデータの読出し時に命令毎の命
令IDを生成して出力する命令制御装置と、 この命令制御装置から出力された命令IDおよび前記デー
タパスを介してデータがバイパスされたときにバイパス
されたデータであることを示すバイパス情報をバイパス
されたデータとともに持ち回る持回り手段と、 前記演算レジスタへのデータの書込み時に前記演算レジ
スタのレジスタ対応に最後に書き込んだデータとともに
持ち回られている命令IDを記憶する命令ID記憶手段と、 前記演算レジスタへのデータの書込み時に書込みデータ
とともに持ち回られている前記バイパス情報により書込
みデータがバイパスされたデータであることが示された
場合に前記演算レジスタのレジスタ対応に保持されてい
る最後に書き込まれた命令IDと書込みデータとともに持
ち回られている命令IDとを比較して異なっているときに
バイパス動作のエラーを検出する比較手段と を有することを特徴とする演算レジスタのバイパスチェ
ック方式。1. An arithmetic register comprising a register group of a plurality of words, a register address of the arithmetic register in which a preceding first arithmetic instruction stores operation result data, and a subsequent second.
When the register address of the arithmetic register accessed by the arithmetic operation instruction No. 2 matches, the data determined as the final arithmetic result of the first arithmetic instruction is used as the operand data of the second arithmetic instruction to bypass the arithmetic register. In an information processing device having a data path for supplying, an instruction control device that generates and outputs an instruction ID for each instruction when reading data from the arithmetic register, and an instruction ID output from this instruction control device, When the data is bypassed via the data path, a carry-out means for carrying around bypass information indicating that the data is bypassed data together with the bypassed data, and a register of the operation register when writing the data to the operation register. The instruction ID carried around with the last written data for the correspondence is stored. Command ID storage means and a register corresponding to the arithmetic register when it is indicated that the write data is bypassed data by the bypass information carried along with the write data at the time of writing the data to the arithmetic register. Comparing the last written instruction ID held and the instruction ID carried around with the write data, and comparing means for detecting an error in the bypass operation when there is a difference. Register bypass check method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63281970A JPH0769822B2 (en) | 1988-11-08 | 1988-11-08 | Calculation register bypass check method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63281970A JPH0769822B2 (en) | 1988-11-08 | 1988-11-08 | Calculation register bypass check method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02127731A JPH02127731A (en) | 1990-05-16 |
| JPH0769822B2 true JPH0769822B2 (en) | 1995-07-31 |
Family
ID=17646437
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63281970A Expired - Lifetime JPH0769822B2 (en) | 1988-11-08 | 1988-11-08 | Calculation register bypass check method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0769822B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04367936A (en) * | 1991-06-17 | 1992-12-21 | Mitsubishi Electric Corp | Superscalar processor |
| JP2636789B2 (en) * | 1995-03-31 | 1997-07-30 | 日本電気株式会社 | Microprocessor |
| JP2011196927A (en) * | 2010-03-23 | 2011-10-06 | Yokogawa Electric Corp | Waveform measuring instrument |
| CN115562722A (en) * | 2022-09-02 | 2023-01-03 | 中国人民解放军国防科技大学 | POSIT instruction-oriented bypass scheduling method and processor |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61267835A (en) * | 1985-05-23 | 1986-11-27 | Nec Corp | Data processor |
| JPH0758465B2 (en) * | 1987-02-18 | 1995-06-21 | 日本電気株式会社 | Pipeline processing type information processing device |
-
1988
- 1988-11-08 JP JP63281970A patent/JPH0769822B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02127731A (en) | 1990-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5043868A (en) | System for by-pass control in pipeline operation of computer | |
| EP0213842A2 (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
| KR930016880A (en) | Electronic device and its fixing information | |
| US6725365B1 (en) | Branching in a computer system | |
| JPH0769822B2 (en) | Calculation register bypass check method | |
| US5644745A (en) | Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure | |
| JP2716254B2 (en) | List vector processing device | |
| JPS60178540A (en) | By-pass control system of information processor | |
| JP2859172B2 (en) | Information processing equipment debug circuit | |
| JPS62251833A (en) | computer system | |
| JPS6020779B2 (en) | Composite computer system | |
| JPS63165931A (en) | Storing system for information on discontinuous instruction fetch address | |
| JP2658342B2 (en) | Data processing device | |
| JPS62166451A (en) | History analyzing device for logical unit | |
| JP2798492B2 (en) | List vector processing device | |
| JPH0540629A (en) | Information processing equipment | |
| JPS6282439A (en) | False trouble generating system | |
| JPS6349939A (en) | By-pass check system for arithmetic register | |
| JPH01271844A (en) | Tabletop electronic calculator | |
| JPH01309176A (en) | Control system for vector composite instruction | |
| JPH04125747A (en) | Cache memory controller | |
| JPS58114387A (en) | Data processor having buffer memory | |
| JPH0371236A (en) | Error detecting system | |
| JPH0512133A (en) | Memory diagnostic system | |
| JPH02178862A (en) | Information processor |