JPH0472266B2 - - Google Patents

Info

Publication number
JPH0472266B2
JPH0472266B2 JP62049721A JP4972187A JPH0472266B2 JP H0472266 B2 JPH0472266 B2 JP H0472266B2 JP 62049721 A JP62049721 A JP 62049721A JP 4972187 A JP4972187 A JP 4972187A JP H0472266 B2 JPH0472266 B2 JP H0472266B2
Authority
JP
Japan
Prior art keywords
instruction
execution unit
vector
unit
identifier
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
JP62049721A
Other languages
Japanese (ja)
Other versions
JPS63216173A (en
Inventor
Kenichi Sakai
Kazushi Sakamoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62049721A priority Critical patent/JPS63216173A/en
Publication of JPS63216173A publication Critical patent/JPS63216173A/en
Publication of JPH0472266B2 publication Critical patent/JPH0472266B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Description

【発明の詳細な説明】 〔概要〕 例えばベクトル処理装置では、スカラユニツト
からベクトルユニツトへ、ベクトル命令を転送
し、ベクトルユニツトでベクトル命令を実行す
る。ベクトル命令を送つた時、スカラユニツト内
のパイプラインの最後でエラーが発生すると、ベ
クトル命令の転送を止めることができないため、
この命令の実行が開始されてしまう。本発明は、
ベクトルユニツトにおいて、命令に識別子を付加
し、この識別子に基づいて、エラーが発生した命
令および転送が途中で切れた命令をキヤンセルす
る手段を設け、複数命令をキヤンセル可能とする
ことにより、エラーに対し命令をリトライ(再実
行)できるようにする。
DETAILED DESCRIPTION OF THE INVENTION [Summary] For example, in a vector processing device, a vector instruction is transferred from a scalar unit to a vector unit, and the vector instruction is executed by the vector unit. If an error occurs at the end of the pipeline in the scalar unit when a vector instruction is sent, the transfer of the vector instruction cannot be stopped.
Execution of this instruction will start. The present invention
In the vector unit, an identifier is added to the instruction, and based on this identifier, a means is provided to cancel an instruction in which an error has occurred or an instruction whose transfer has been interrupted, and multiple instructions can be canceled. Allows instructions to be retried (re-executed).

〔産業上の利用分野〕[Industrial application field]

本発明は、例えばベクトル処理装置のように、
1つの命令実行ユニツトから、他の命令実行ユニ
ツトへ、命令を転送する装置に係り、特に他の命
令実行ユニツトで実行すべき命令を、複数個のオ
ペコード/データに分けて連続して転送する命令
転送制御装置に関するものである。
The present invention, for example, as a vector processing device,
It relates to a device that transfers instructions from one instruction execution unit to another instruction execution unit, and in particular, an instruction that continuously transfers instructions to be executed by another instruction execution unit divided into multiple opcodes/data. The present invention relates to a transfer control device.

データ処理装置等において、命令に関するエラ
ーがあつた場合、その命令をリトライすることに
より、救済できることが少なくない。このような
間歇障害に対するリトライを、命令の転送を連続
的に受け取るベクトル処理装置等においても、エ
ラー発生のタイミングにかかわらず、実行できる
ことが望まれる。
When an error related to an instruction occurs in a data processing device or the like, it is often possible to recover by retrying the instruction. It is desirable to be able to perform retries in response to such intermittent failures, regardless of the timing of error occurrence, even in vector processing devices that continuously receive instruction transfers.

〔従来の技術〕[Conventional technology]

例えば、ベクトル処理装置では、スカラ命令を
処理するスカラユニツト(SU)と、ベクトル命
令を処理するベクトルユニツト(VU)とを備え
ている。スカラユニツトは、ベクトル命令がある
場合、その命令をパイプラインでベクトルユニツ
トへ転送し、ベクトルユニツトは、受け取つたベ
クトル命令を実行する。
For example, a vector processing device includes a scalar unit (SU) that processes scalar instructions and a vector unit (VU) that processes vector instructions. If there is a vector instruction, the scalar unit transfers the instruction to the vector unit via the pipeline, and the vector unit executes the received vector instruction.

従来、スカラユニツトからベクトルユニツトへ
命令を転送し終るぎりぎりのタイミングで、その
命令のエラーを、スカラユニツト内で検出する
と、タイミング的に転送を止めることができない
ため、ベクトルユニツトは、その命令の実行を開
始してしまう。そのため、スカラユニツトでは、
エラーを起こした命令のリトライを行うことがで
きなかつた。即ち、このようなエラーが発生した
ときに、その命令のリトライを行うと、ベクトル
ユニツトでは、同じベクトル命令がタイミングに
よつて、2回実行されることになり、論理矛盾が
生じることになる。
Conventionally, if an error in an instruction is detected in the scalar unit just before the transfer of an instruction from the scalar unit to the vector unit is complete, the vector unit will not be able to stop the transfer due to the timing. will start. Therefore, in the scalar unit,
It was not possible to retry the instruction that caused the error. That is, if such an error occurs and the instruction is retried, the vector unit will execute the same vector instruction twice depending on the timing, resulting in a logical contradiction.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

ベクトル処理装置について、高信頼性が求めら
れる傾向にある一方、ベクトル処理装置のスカラ
ユニツトでは、ベクトル命令に関しても高度な制
御を行うため、マイクロプログラムの量が増加す
る傾向にあり、マイクロプログラム用のRAM等
のエラーが起こりやすくなつている。即ち、高信
頼性に対する要求が強いにもかかわらず、高性能
化・高機能化のためにエラー発生が増加する傾向
にあり、この問題解決が望まれている。
While there is a trend for vector processing devices to be highly reliable, the scalar units of vector processing devices also perform advanced control over vector instructions, so the amount of microprograms tends to increase. Errors in RAM, etc. are becoming more likely to occur. That is, despite the strong demand for high reliability, the occurrence of errors tends to increase due to higher performance and functionality, and a solution to this problem is desired.

命令の転送を連続的に授受するベクトル処理装
置等において、転送する命令に関するエラーの大
部分が、RAM等のエラーであり、リトライによ
り救うことができる場合が多い。そこで、スカラ
ユニツトで発生するエラーに関して、どのような
タイミングでエラーが発生しても、ベクトルユニ
ツトに転送した実行を抑止すべき命令を、すべて
キヤンセルして、リトライ可能とすることが望ま
れる。
In a vector processing device or the like that continuously transfers instructions, most errors related to transferred instructions are errors in RAM or the like, and can often be corrected by retrying. Therefore, with regard to errors that occur in the scalar unit, it is desirable to be able to cancel and retry all instructions transferred to the vector unit whose execution should be suppressed, no matter what timing the error occurs.

本発明は上記問題点の解決を図り、第1命令実
行ユニツトのパイプラインでハード障害が発生し
た場合、第1命令実行ユニツト内でキヤンセルさ
れる命令は、命令転送先の第2命令実行ユニツト
内においても、すべてキヤンセルし、命令のリト
ライを可能とする手段を提供することを目的とし
ている。
The present invention aims to solve the above problem, and when a hardware failure occurs in the pipeline of the first instruction execution unit, the instruction canceled in the first instruction execution unit is transferred to the second instruction execution unit to which the instruction is transferred. , the purpose is to provide a means to cancel all commands and retry the command.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の原理ブロツク図である。 FIG. 1 is a block diagram of the principle of the present invention.

第1図において、10は命令を転送する第1命
令実行ユニツト、11は転送された命令を実行す
る第2命令実行ユニツト、12は命令の転送を行
う命令転送回路、13はエラー信号を第2命令実
行ユニツト11へ送信するエラー信号送信回路、
14は転送された命令を受け取るレジスタ、15
は受け取つた命令に付加された命令識別子(ID)
を記憶するIDフイールド、16は受け取つた命
令に命令識別子を付加する命令ID発生カウンタ、
17は受け取つた命令を保持する命令保持回路、
18はエラー発生が通知される可能性のある命令
の命令識別子を記憶するカレントIDレジスタ、
19はエラー信号が送られる最終タイミングまで
時間監視を行う時間監視回路、20は命令転送が
途中で中断したことを検出する転送中断検出回
路、21はエラー発生命令をキヤンセルするエラ
ー命令キヤンセル回路、22は転送が途中で中断
した命令をキヤンセルする中断命令キヤンセル回
路を表す。
In FIG. 1, 10 is a first instruction execution unit that transfers instructions, 11 is a second instruction execution unit that executes the transferred instructions, 12 is an instruction transfer circuit that transfers instructions, and 13 is a second instruction execution unit that transfers error signals. an error signal transmission circuit for transmitting to the instruction execution unit 11;
14 is a register that receives the transferred instruction; 15
is the instruction identifier (ID) added to the received instruction
16 is an instruction ID generation counter that adds an instruction identifier to the received instruction.
17 is an instruction holding circuit that holds the received instruction;
18 is a current ID register that stores an instruction identifier of an instruction for which an error occurrence may be notified;
19 is a time monitoring circuit that monitors the time until the final timing when an error signal is sent; 20 is a transfer interruption detection circuit that detects that instruction transfer is interrupted midway; 21 is an error instruction cancel circuit that cancels an error instruction; 22 represents an interrupted instruction cancel circuit that cancels an instruction whose transfer is interrupted midway.

第1命令実行ユニツト10において、命令転送
回路12は、命令パイプラインに従つて、第2命
令実行ユニツト11が実行すべき命令を、複数個
のオペコード/データに分けて転送する。第2命
令実行ユニツト11は、転送された命令をレジス
タ14に受け取ると共に、命令ID発生カウンタ
16のカウント値をIDフイールド15に設定す
る。命令ID発生カウンタ16のカウント値は、
新しい命令毎に更新される。
In the first instruction execution unit 10, the instruction transfer circuit 12 divides the instruction to be executed by the second instruction execution unit 11 into a plurality of opcodes/data and transfers them according to the instruction pipeline. The second instruction execution unit 11 receives the transferred instruction in the register 14 and sets the count value of the instruction ID generation counter 16 in the ID field 15. The count value of the instruction ID generation counter 16 is
Updated with each new command.

命令保持回路17は、何段かのバツフアレジス
タによつて構成され、転送された命令を命令識別
子と共に、命令発信まで保持する。時間監視回路
19は、各命令について、第1命令実行ユニツト
10からエラー信号が送られてくる可能性がある
最終タイミングまで、時間監視を行うカウンタで
ある。
The instruction holding circuit 17 is constituted by several stages of buffer registers, and holds the transferred instruction together with the instruction identifier until the instruction is issued. The time monitoring circuit 19 is a counter that monitors the time of each instruction until the final timing at which an error signal may be sent from the first instruction execution unit 10.

第1命令実行ユニツト10において、マシンチ
エツク等のハードウエア障害が検出されると、エ
ラー信号送信回路13は、エラー信号を第2命令
実行ユニツト11に送信する。時間監視回路19
による時間監視中にエラー信号が到着すると、エ
ラー命令キヤンセル回路21が起動される。エラ
ー命令キヤンセル回路21は、カレントIDレジ
スタ18の内容と、命令保持回路17に保持され
ている命令の各オペコード/データに付加された
命令識別子とを比較し、それが一致する場合に、
命令保持回路17が保持するその命令を無効化す
るキヤンセル信号を出力する。
When a hardware failure such as a machine check is detected in the first instruction execution unit 10, the error signal transmission circuit 13 transmits an error signal to the second instruction execution unit 11. Time monitoring circuit 19
When an error signal arrives during time monitoring, the error command cancel circuit 21 is activated. The error instruction cancel circuit 21 compares the contents of the current ID register 18 with the instruction identifier added to each opcode/data of the instruction held in the instruction holding circuit 17, and if they match,
A cancel signal is output to invalidate the instruction held by the instruction holding circuit 17.

転送中断検出回路20は、第1命令実行ユニツ
ト10から連続して送られるべき命令の転送が、
途中で中断した場合に、それを検出し、中断命令
キヤンセル回路22を動作させる。中断命令キヤ
ンセル回路22は、その中断した命令の命令識別
子と、命令保持回路17に保持されている命令の
各オペコード/データに付加された命令識別子と
を比較し、一致する場合に、命令保持回路17が
保持するその命令に対し、キヤンセル信号を出力
する。
The transfer interruption detection circuit 20 detects whether the transfer of instructions to be continuously sent from the first instruction execution unit 10 is
If the instruction is interrupted midway, it is detected and the interruption instruction cancel circuit 22 is operated. The interrupted instruction cancel circuit 22 compares the instruction identifier of the interrupted instruction with the instruction identifier added to each opcode/data of the instruction held in the instruction holding circuit 17, and if they match, cancels the instruction holding circuit. 17 outputs a cancel signal in response to the command held.

〔作用〕[Effect]

第1命令実行ユニツト10から第2命令実行ユ
ニツト11へ、命令をオペコードとデータに分け
て転送するとき、従来方式によれば、第1命令実
行ユニツト10のパイプラインの後半のタイミン
グでその命令のエラー、または後続命令のエラー
が発生すると、タイミング的に命令の転送を止め
ることができない。また、タイミングによつて
は、後続命令も途中まで転送されてしまう。
When an instruction is transferred from the first instruction execution unit 10 to the second instruction execution unit 11 by dividing it into an opcode and data, according to the conventional method, the instruction is transferred at a later timing in the pipeline of the first instruction execution unit 10. When an error or an error in a subsequent instruction occurs, the transfer of the instruction cannot be stopped due to timing. Furthermore, depending on the timing, subsequent instructions may also be transferred halfway.

本発明によれば、第2命令実行ユニツト11が
受け取つた命令のオペコード/データに対して、
命令ID発生カウンタ16によつて、命令識別子
が付加され、命令発信まで、命令保持回路17に
保持される。また、各命令に対してエラー信号が
到着するタイミングを保証する時間監視回路19
が設けられる。そして、エラー信号が送られてき
たときには、エラー命令キヤンセル回路21によ
り、その信号に対応する命令が命令識別子によつ
て選び出され、キヤンセルされる。また、中断命
令キヤンセル回路22によつて、1個の命令の転
送が途中で切れた場合にも、命令識別子に基づい
て、その命令がキヤンセルされる。
According to the present invention, for the opcode/data of the instruction received by the second instruction execution unit 11,
An instruction identifier is added by the instruction ID generation counter 16 and held in the instruction holding circuit 17 until the instruction is issued. Also, a time monitoring circuit 19 guarantees the timing at which an error signal arrives for each instruction.
is provided. When an error signal is sent, the error instruction cancel circuit 21 selects the instruction corresponding to the signal based on the instruction identifier and cancels it. Furthermore, even if the transfer of one instruction is interrupted by the interrupt instruction cancel circuit 22, that instruction is canceled based on the instruction identifier.

従つて、第2命令実行ユニツト11において、
エラーに関連する複数の命令を、キヤンセルする
ことができ、キヤンセル終了後に、第1命令実行
ユニツト10において、命令リトライを行うこと
が可能になる。
Therefore, in the second instruction execution unit 11,
A plurality of instructions related to an error can be canceled, and after the cancellation is completed, it becomes possible to retry the instruction in the first instruction execution unit 10.

〔実施例〕〔Example〕

第2図は本発明の適用システム例、第3図は本
発明の一実施例、第4図は本発明の一実施例タイ
ムチヤートを示す。
FIG. 2 shows an example of a system to which the present invention is applied, FIG. 3 shows an embodiment of the present invention, and FIG. 4 shows a time chart of an embodiment of the present invention.

第2図は本発明が適用されるベクトル処理装置
の例を示している。第2図において、30は主記
憶装置、31は主記憶制御装置、32はスカラ命
令を処理するスカラユニツト、33はベクトル命
令を処理するベクトルユニツト、34はベクトル
命令の制御を行うベクトル命令制御ユニツト、3
5はベクトル命令を実行するベクトル命令実行ユ
ニツト、36はロード・パイプライン、37はス
トア・パイプライン、38はベクトルデータを蓄
えておくベクトルレジスタ、39は加算パイプラ
イン、40は乗算パイプライン、41は除算パイ
プライン、42,43は内部信号線を表す。
FIG. 2 shows an example of a vector processing device to which the present invention is applied. In FIG. 2, 30 is a main memory device, 31 is a main memory control device, 32 is a scalar unit that processes scalar instructions, 33 is a vector unit that processes vector instructions, and 34 is a vector instruction control unit that controls vector instructions. ,3
5 is a vector instruction execution unit for executing vector instructions, 36 is a load pipeline, 37 is a store pipeline, 38 is a vector register for storing vector data, 39 is an addition pipeline, 40 is a multiplication pipeline, 41 represents a division pipeline, and 42 and 43 represent internal signal lines.

スカラユニツト32は、主記憶装置30から、
主記憶制御装置31を介してスカラ命令およびベ
クトル命令を読み出す。ベクトル命令は、スカラ
ユニツト32のパイプラインを流れて、ベクトル
ユニツト33に転送される。転送された命令は、
ベクトルユニツト33におけるベクトル命令制御
ユニツト34が受け取り、その命令を実行できる
タイミングになると、ベクトル命令実行ユニツト
35に対し、信号線42を通して、命令のスター
トをかける。ベクトル命令信号ユニツト35は、
信号線43により、各パイプライン36,40,
41毎に、命令実行中である信号を、ベクトル命
令制御ユニツト34へ送る。ベクトル命令制御ユ
ニツト34では、これらパイプラインが使用可能
になつたとき、即ち、信号線43の対応するパイ
プラインの信号がOFFになつたとき、命令をス
タートする。本発明は、主として、このベクトル
命令制御ユニツト34に関連している。
The scalar unit 32 stores the following information from the main storage device 30:
Scalar instructions and vector instructions are read out via the main memory controller 31. Vector instructions flow through the pipeline of scalar unit 32 and are transferred to vector unit 33. The transferred instructions are
When the vector instruction control unit 34 in the vector unit 33 receives the instruction and the timing is ready to execute the instruction, a command is sent to the vector instruction execution unit 35 through the signal line 42 to start the instruction. The vector command signal unit 35 is
The signal line 43 connects each pipeline 36, 40,
41, a signal indicating that the instruction is being executed is sent to the vector instruction control unit 34. The vector instruction control unit 34 starts instructions when these pipelines become available, that is, when the signal of the corresponding pipeline on the signal line 43 turns OFF. The present invention primarily relates to this vector instruction control unit 34.

第3図は、ベクトル命令制御ユニツト34内の
回路の一部を示している。
FIG. 3 shows a portion of the circuitry within the vector instruction control unit 34.

第3図において、50はフエツチステージレジ
スタ(VFS)であり、第1図図示レジスタ14
に対応すもの、51はフエツチバツフアレジスタ
(VFB)、52はプリデコードステージレジスタ
(VPS)である。このVFB51、VPS52は、第
1図図示命令保持回路17に対応する。53は
VFBキヤンセル回路、54はVPSキヤンセル回
路である。55はVFSでの命令途切れ検出回路
であり、第1図に示す転送中断検出回路20に対
応する。56はタイミングカウンタであり、第1
図に示す時間監視回路19に対応する。60はデ
ータバスである。
In FIG. 3, 50 is a fetch stage register (VFS), and the register 14 shown in FIG.
, 51 is a fetch buffer register (VFB), and 52 is a predecode stage register (VPS). The VFB51 and VPS52 correspond to the instruction holding circuit 17 shown in FIG. 53 is
VFB cancel circuit, 54 is VPS cancel circuit. 55 is an instruction interruption detection circuit in VFS, which corresponds to the transfer interruption detection circuit 20 shown in FIG. 56 is a timing counter, the first
This corresponds to the time monitoring circuit 19 shown in the figure. 60 is a data bus.

L1およびL4〜L6はラツチ、L2およびL
3はSET/RESETラツチ、R1〜R3はレジス
タ、C1〜C4は一致検出回路、A1〜A5はア
ンド回路、OR1〜OR4はオア回路を表す。
L1 and L4 to L6 are latches, L2 and L
3 represents a SET/RESET latch, R1 to R3 are registers, C1 to C4 are match detection circuits, A1 to A5 are AND circuits, and OR1 to OR4 are OR circuits.

スカラユニツトでは、第4図に示すように、ベ
クトル命令が4フローで実行され、最終フローの
Tステートから、オペコードIV1、オペコード
IL2、データDV1、データDV2の順で、ベク
トルユニツトに対し、連続してベクトル命令の転
送を行うものとする。
In the scalar unit, as shown in Figure 4, a vector instruction is executed in four flows, and from the T state of the final flow, opcode IV1, opcode
It is assumed that vector commands are successively transferred to the vector unit in the order of IL2, data DV1, and data DV2.

スカラユニツトにおけるベクトル命令の実行に
より、第3図に示すデータバス60に、オペコー
ドIV1、オペコードIV2、データDV1、データ
DV2、1τ(マシンサイクル)ずつ載せられ、有
効を示すVALID信号がONにされる。ベクトル
ユニツトでは、VALID信号により、ラツチL1
をセツトすると共に、レジスタR1にイネーブル
信号を入れ、データバス60を介して送られてく
る命令のオペコード/データを受け取る。命令
ID発生カウンタ16は、命令を識別するための
命令識別子を命令毎に発生させ、各オペコード/
データに付加するためにレジスタR1のIDフイ
ールドにセツトする。
By executing the vector instruction in the scalar unit, operation code IV1, operation code IV2, data DV1, data
DV2 and 1τ (machine cycles) are loaded, and the VALID signal indicating validity is turned ON. In the vector unit, latch L1 is activated by the VALID signal.
At the same time, an enable signal is input to the register R1, and the opcode/data of the instruction sent via the data bus 60 is received. order
The ID generation counter 16 generates an instruction identifier for each instruction, and generates an instruction identifier for each instruction.
Set in the ID field of register R1 to append to the data.

このVFS50のオペコード/データおよび命
令識別子は、VPS52が空いている場合には、
VP52へ、VPS52が詰まつている場合には
VFB51へ送られる。なお、VFB51は、図示
簡略化しているが、必要に応じて多段化して構成
される。多段化されている場合にも、原理は同様
である。
The opcode/data and instruction identifier of this VFS50 are
To VP52, if VPS52 is clogged
Sent to VFB51. Although the VFB 51 is shown in a simplified manner, it can be configured in multiple stages as necessary. The principle is the same even when there are multiple stages.

データDV2に対するVALID信号のタイミン
グで、タイミングカウンタ56が動作すると同時
に、VFS50の持つ命令識別子が、カレントID
レジスタ18にセツトされる。即ち、カレント
IDレジスタ18は、タイミングカウンタ56の
動作に関連する命令識別子を保持する。
At the timing of the VALID signal for data DV2, the timing counter 56 operates and at the same time the instruction identifier held by the VFS 50 changes to the current ID.
Set in register 18. That is, the current
ID register 18 holds an instruction identifier related to the operation of timing counter 56.

今、例えば第4図に示すERRのタイミングで、
ベクトル命令V1またはベクトル命令V2のどち
らかでエラーが発生したとする。このタイミング
では、ベクトル命令V1は、すべてベクトルユニ
ツトに転送され、ベクトル命令V2も、オペコー
ドIV1だけ、ベクトルユニツトに転送されてし
まう。この場合、スカラユニツトでは、ベクトル
命令V1からリトライを試みようとするため、ベ
クトルユニツトでは、ベクトル命令V1およびV
2の2命令をキヤンセルすることが必要となる。
これは、次のように行われる。
Now, for example, at the ERR timing shown in Figure 4,
Assume that an error occurs in either vector instruction V1 or vector instruction V2. At this timing, all vector instructions V1 are transferred to the vector unit, and vector instructions V2 are also transferred to the vector unit only by the operation code IV1. In this case, the scalar unit tries to retry starting from the vector instruction V1, so the vector unit tries to retry the vector instructions V1 and V1.
It is necessary to cancel two instructions.
This is done as follows.

スカラユニツトでは、パイプラインでエラーが
発生すると、エラーラツチをONにした後、ベク
トルユニツトに、スカラユニツト内でハードエラ
ーが検出されたことを示すマシンチエツク検出信
号を送る。
In the scalar unit, when an error occurs in the pipeline, the error latch is turned on and then a machine check detection signal is sent to the vector unit indicating that a hard error has been detected in the scalar unit.

ベクトルユニツトでは、タイミングカウンタ5
6によるT1,T2,T3の時間監視内に、マシ
ンチエツク検出信号を受け取ると、アンド回路A
5の出力が“1”になり、VFBキヤンセル回路
53およびVPSキヤンセル回路54が働く。
VFBキヤンセル回路53、VPSキヤンセル回路
54は、それぞれカレントIDレジスタ18が保
持する命令識別子をもとに、これと、VFB51、
VPS52が保持する命令識別子とを比較するこ
とにより、キヤンセルすべき命令を探し出し、該
当する命令を保持するレジスタに対し、キヤンセ
ル信号を出力する。このキヤンセル信号は、
SET/RESETラツチL2,L3をリセツトする
ことにより、レジスタが持つ命令を無効化する。
In the vector unit, timing counter 5
When a machine check detection signal is received during the time monitoring of T1, T2, and T3 by 6, the AND circuit A
5 becomes "1", and the VFB cancel circuit 53 and VPS cancel circuit 54 operate.
Based on the instruction identifier held by the current ID register 18, the VFB cancel circuit 53 and the VPS cancel circuit 54,
By comparing the instruction identifier held by the VPS 52, an instruction to be canceled is found, and a cancel signal is output to the register holding the corresponding instruction. This cancel signal is
By resetting SET/RESET latches L2 and L3, the instruction held by the register is invalidated.

さらに、第4図に示すようなタイミングでは、
次のベクトル命令V2も途中までベクトルユニツ
トに転送されるので、それを同様にキヤンセルす
る。そのため、VFSでの命令途切れ検出回路5
5は、命令転送の途切れを検出すると、その検出
信号を、VFBキヤンセル回路53およびVPSキ
ヤンセル回路54に入れる。VFBキヤンセル回
路53、VPSキヤンセル回路54は、それぞれ
VFS50が持つ命令識別子をもとに、途切れた
命令を探し出し、該当する途切れた命令がある場
合には、そのVFB51,VPS52にキヤンセル
信号を送る。
Furthermore, at the timing shown in Figure 4,
Since the next vector instruction V2 is also partially transferred to the vector unit, it is similarly canceled. Therefore, the instruction interruption detection circuit 5 in VFS
5 detects a break in the instruction transfer and inputs the detection signal to the VFB cancel circuit 53 and the VPS cancel circuit 54. The VFB cancel circuit 53 and the VPS cancel circuit 54 are each
Based on the instruction identifier held by the VFS 50, the interrupted instruction is searched for, and if there is a corresponding interrupted instruction, a cancel signal is sent to the VFB 51 and VPS 52.

また、ベクトルユニツトは、ベクトルユニツト
内に命令が残つているビジー信号(VU Busy)
を、スカラユニツトへ通知するようになつてい
る。オア回路OR4の出力が、そのビジー信号で
あり、第2図に示すベクトル命令実行ユニツト3
5から、命令実行中を示す信号(Execute)がき
ているか、またはラツチL1〜L3のうち、いず
れかがONであれば、“1”となる。
The vector unit also receives a busy signal (VU Busy) when instructions remain in the vector unit.
The scalar unit is now notified. The output of the OR circuit OR4 is its busy signal, which is used by the vector instruction execution unit 3 shown in FIG.
If a signal (Execute) indicating that an instruction is being executed is received from 5, or if any of the latches L1 to L3 is ON, the flag becomes "1".

スカラユニツトでは、エラー発生により、その
割込み処理を開始するが、上記ビジー信号が
“1”である間は、割込み処理の開始を待たせる。
これにより、ベクトルユニツト内の命令終了順序
が、ハードエラーが発生した命令に関して正しく
なり、かつスカラユニツト内のハードエラーによ
つて、スカラユニツト内でキヤンセルされる命令
は、ベクトルユニツト内においても、すべてキヤ
ンセルされるため、命令のリトライを正しく行う
ことが可能となる。
In the scalar unit, when an error occurs, the interrupt processing is started, but while the busy signal is "1", the start of the interrupt processing is made to wait.
As a result, the instruction termination order within the vector unit is correct for the instruction in which a hard error has occurred, and all instructions canceled within the scalar unit due to a hard error within the scalar unit are also canceled within the vector unit. Since the command is canceled, the command can be retried correctly.

〔発明の効果〕 以上説明したように、本発明によれば、第2命
令実号ユニツトの命令発信制御ステージの前に、
バツフアを持つことにより、第1命令実行ユニツ
トからの命令の転送を連続的に受け取ることがで
きるようなシステム等において、第1命令実行ユ
ニツト内でエラーが発生し、スカラユニツト内で
キヤンセルする命令が、すでに複数個、第2命令
実行ユニツトに転送されていても、第2命令実行
ユニツトでも、それらの命令をすべてキヤンセル
することが可能になる。これにより、命令のリト
ライが可能になるため、命令の発信を高速化する
システムにおいても、高い信頼性を得ることがで
きる。
[Effects of the Invention] As explained above, according to the present invention, before the command generation control stage of the second command execution unit,
In a system that has a buffer and can continuously receive instructions transferred from the first instruction execution unit, an error occurs in the first instruction execution unit and an instruction to be canceled in the scalar unit is canceled. Even if a plurality of instructions have already been transferred to the second instruction execution unit, the second instruction execution unit can also cancel all of those instructions. This makes it possible to retry commands, so high reliability can be achieved even in systems that speed up the transmission of commands.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の原理ブロツク図、第2図は本
発明の適用システム例、第3図は本発明の一実施
例、第4図は本発明の一実施例タイムチヤートを
示す。 図中、10は第1命令実行ユニツト、11は第
2命令実行ユニツト、12は命令転送回路、13
はエラー信号送信回路、14はレジスタ、15は
IDフイールド、16は命令ID発生カウンタ、1
7は命令保持回路、18はカレントIDレジスタ、
19は時間監視回路、20は転送中断検出回路、
21はエラー命令キヤンセル回路、22は中断命
令キヤンセル回路を表す。
FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is an example of a system to which the present invention is applied, FIG. 3 is an embodiment of the present invention, and FIG. 4 is a time chart of an embodiment of the present invention. In the figure, 10 is a first instruction execution unit, 11 is a second instruction execution unit, 12 is an instruction transfer circuit, and 13 is a second instruction execution unit.
is an error signal transmission circuit, 14 is a register, and 15 is an error signal transmission circuit.
ID field, 16 is instruction ID generation counter, 1
7 is an instruction holding circuit, 18 is a current ID register,
19 is a time monitoring circuit; 20 is a transfer interruption detection circuit;
21 represents an error instruction cancel circuit, and 22 represents an interrupt instruction cancel circuit.

Claims (1)

【特許請求の範囲】 1 第1命令実行ユニツト10から第2命令実行
ユニツト11へ、該第2命令実行ユニツト11で
実行すべき命令を複数個のオペコード/データに
分けて連続して転送する情報処理装置において、 上記第1命令実行ユニツト10は、転送する命
令に関するエラーを検出したときに、上記第2命
令実行ユニツト11に対し、エラー信号を送信す
るエラー信号送信手段13を備え、 上記第2命令実行ユニツト11は、上記第1命
令実行ユニツト10から転送される命令の各オペ
コード/データに、命令識別子を付加する命令
ID発生手段16と、 転送された命令の各オペコード/データを、付
加された命令識別子と共に保持する命令保持手段
17と、 転送された命令を受け取つた後、この命令のエ
ラーによつて上記第1命令実行ユニツト10から
エラー信号が送られる最終タイミングまで時間監
視をする時間監視手段19と、 上記時間監視中に、上記第1命令実行ユニツト
10からエラー信号が送られた場合に、エラー発
生命令の命令識別子と上記命令保持手段17が保
持する各オペコード/データの命令識別子とを比
較することにより、該当する命令のキヤンセル信
号を発生するエラー命令キヤンセル手段21と、 命令転送が途中で中断したことを検出した場合
に、中断した命令の命令識別子と上記命令保持手
段17が保持する各オペコード/データの命令識
別子とを比較することにより、該当する命令のキ
ヤンセル信号を発生する中断命令キヤンセル手段
22とを備えていることを特徴とする命令転送制
御装置。
[Claims] 1. Information for continuously transferring instructions to be executed by the second instruction execution unit 11 divided into a plurality of opcodes/data from the first instruction execution unit 10 to the second instruction execution unit 11. In the processing device, the first instruction execution unit 10 includes an error signal transmission means 13 for transmitting an error signal to the second instruction execution unit 11 when an error related to the instruction to be transferred is detected; The instruction execution unit 11 generates an instruction to add an instruction identifier to each opcode/data of the instruction transferred from the first instruction execution unit 10.
an ID generating means 16; an instruction holding means 17 for holding each opcode/data of the transferred instruction together with an added instruction identifier; a time monitoring means 19 for monitoring time until the final timing at which an error signal is sent from the instruction execution unit 10; By comparing the instruction identifier with the instruction identifier of each opcode/data held by the instruction holding means 17, the error instruction canceling means 21 generates a cancel signal for the corresponding instruction, and detects that the instruction transfer is interrupted midway. When detected, an interrupted instruction canceling means 22 generates a cancel signal for the corresponding instruction by comparing the instruction identifier of the interrupted instruction with the instruction identifier of each operation code/data held by the instruction holding means 17. An instruction transfer control device comprising:
JP62049721A 1987-03-04 1987-03-04 Instruction transfer controller Granted JPS63216173A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62049721A JPS63216173A (en) 1987-03-04 1987-03-04 Instruction transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62049721A JPS63216173A (en) 1987-03-04 1987-03-04 Instruction transfer controller

Publications (2)

Publication Number Publication Date
JPS63216173A JPS63216173A (en) 1988-09-08
JPH0472266B2 true JPH0472266B2 (en) 1992-11-17

Family

ID=12839055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62049721A Granted JPS63216173A (en) 1987-03-04 1987-03-04 Instruction transfer controller

Country Status (1)

Country Link
JP (1) JPS63216173A (en)

Also Published As

Publication number Publication date
JPS63216173A (en) 1988-09-08

Similar Documents

Publication Publication Date Title
EP0380858B1 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
EP0227749B1 (en) Fault tolerant data processing system and method therefor
US5537559A (en) Exception handling circuit and method
EP0461792B1 (en) Master/slave checking system
US20060190702A1 (en) Device and method for correcting errors in a processor having two execution units
JPH02202638A (en) Fault-tolerant computer system fitted with multiprocessor
US4231089A (en) Data processing system with apparatus for correcting microinstruction errors
US8458516B2 (en) Processor system and operation mode switching method for processor system
US4318172A (en) Store data buffer control system
JPS6218057B2 (en)
JPH0472266B2 (en)
JPH0147818B2 (en)
JPS63216174A (en) Instruction transfer control system
JP2919366B2 (en) Bus failure handling method
JPS58166454A (en) Data processor
JPS5911455A (en) Redundancy system of central operation processing unit
JPS63155330A (en) Microprogram controller
JPH0335327A (en) Majority decision fault processor
JPS6257049A (en) Decentralized processor system
JPH04211841A (en) Duplex processor
JPH0675800A (en) Fault processing system
JPH0135369B2 (en)
JPH0555895B2 (en)
JPH01237841A (en) Retry system
JPH0640304B2 (en) Control memory error processing method

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term