JPS63216173A - Command transfer control device - Google Patents
Command transfer control deviceInfo
- Publication number
- JPS63216173A JPS63216173A JP62049721A JP4972187A JPS63216173A JP S63216173 A JPS63216173 A JP S63216173A JP 62049721 A JP62049721 A JP 62049721A JP 4972187 A JP4972187 A JP 4972187A JP S63216173 A JPS63216173 A JP S63216173A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- execution unit
- unit
- error
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Retry When Errors Occur (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
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.
ベクトルユニットでベクトル命令を実行する。ベクトル
命令を送った時、スカラユニソト内のパイプラインの最
後でエラーが発生すると、ベクトル命令の転送を止める
ことができないため、この命令の実行が開始されてしま
う。本発明は、ベクトルユニットにおいて、命令に識別
子を付加し、この識別子に基づいて、エラーが発生した
命令および転送が途中で切れた命令をキャンセルする手
段を設け、複数命令をキャンセル可能とすることにより
、エラーに対し命令をリトライ (再実行)できるよう
にする。Execute vector instructions in the vector unit. When a vector instruction is sent, if an error occurs at the end of the pipeline in the scalar unisoto, the transfer of the vector instruction cannot be stopped, so execution of this instruction will start. The present invention adds an identifier to an instruction in a vector unit, and provides means for canceling an instruction in which an error has occurred and an instruction whose transfer is interrupted in the middle based on this identifier, thereby making it possible to cancel multiple instructions. , allows instructions to be retried (re-executed) in response to errors.
本発明は9例えばベクトル処理装置のように。 The present invention may be applied to a vector processing device, for example.
1つの命令実行ユニットから、他の命令実行ユニットへ
、命令を転送する装置に係り、特に他の命令実行ユニッ
トで実行すべき命令を、複数個のオペコード/データに
分けて連続して転送する命令転送制御装置に関するもの
である。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.
例えば、ベクトル処理装置では、スカラ命令を処理する
スカラユニット(S U)と、ベクトル命令を処理する
ベクトル命令ッ) (VU)とを備えている。スカラユ
ニソトは、ベクトル命令がある場合、その命令をパイプ
ラインでベクトルユニットへ転送し、ベクトルユニット
は、受け取ったベクトル命令を実行する。For example, a vector processing device includes a scalar unit (SU) that processes scalar instructions and a vector instruction 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.
従来、スカラユニットからベクトルユニットへ命令を転
送し終わるぎりぎりのタイミングで、その命令のエラー
を、スカラユニット内で検出すると、タイミング的に転
送を止めることができないため、ベクトルユニットは、
その命令の実行を開始してしまう。そのため、スカラユ
ニットでは。Conventionally, if an error in an instruction is detected in the scalar unit just before the instruction is transferred from the scalar unit to the vector unit, the transfer cannot be stopped due to the timing, so the vector unit
It will start executing that command. Therefore, in the scalar unit.
エラーを起こした命令のりトライを行うことができなか
った。即ち、このようなエラーが発生したときに、その
命令のりトライを行うと、ベクトルユニットでは、同じ
ベクトル命令がタイミングによって、2口実行されるこ
とになり、論理矛盾が生じることになる。The instruction that caused the error could not be tried. That is, when such an error occurs, if the instruction is tried again, the same vector instruction will be executed twice in the vector unit depending on the timing, resulting in a logical contradiction.
ベクトル処理装置について、高信頼性が求められる傾向
にある一方、ベクトル処理装置のスカラユニットでは、
ベクトル命令に関しても高度な制御を行うため、マイク
ロプログラムの量が増加する傾向にあり、マイクロプロ
グラム用のRAM等のエラーが起こりやすくなっている
。即ち、高信頼性に対する要求が強いにもかかわらず、
高性能化・高機能化のためにエラー発、生が増加する傾
向にあり、この問題解決が望まれている。While there is a tendency for vector processing equipment to be highly reliable, the scalar unit of vector processing equipment is
Since vector instructions are also highly controlled, the amount of microprograms tends to increase, and errors in the RAM for microprograms are more likely to occur. In other words, 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 vector processing devices, etc. that continuously transfer instructions, most errors related to transferred instructions occur in RAM.
These errors can often be corrected by retrying. Therefore, regarding errors that occur in the SCARA unit, no matter when the error occurs,
Instructions that should be inhibited from being executed after being transferred to the vector unit are
It is desirable to be able to cancel everything and retry.
本発明は上記問題点の解決を図り、第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 everything and retry the command.
〔問題点を解決するための手段〕 第1図は本発明の原理ブロック図である。[Means for solving problems] FIG. 1 is a block diagram of the principle of the present invention.
第1図において、10は命令を転送する第1命令実行ユ
ニット、11は転送された命令を実行する第2命令実行
ユニット、12は命令の転送を行う命令転送回路513
はエラー信号を第2命令実行ユニット11へ送信するエ
ラー信号送信回路。In FIG. 1, 10 is a first instruction execution unit that transfers instructions, 11 is a second instruction execution unit that executes transferred instructions, and 12 is an instruction transfer circuit 513 that transfers instructions.
An error signal transmission circuit transmits an error signal to the second instruction execution unit 11.
14は転送された命令を受け取るレジスタ、15は受け
取った命令に付加された命令識別子(ID)を記憶する
IDフィールド、16は受け取った命令に命令識別子を
付加する命令ID発生カウンタ、17は受け取った命令
を保持する命令保持回路、18はエラー発生が通知され
る可能性のある命令の命令識別子を記憶するカレン)I
Dレジスタ、19はエラー信号が送られる最終タイミン
グまで時間監視を行う時間監視回路、20は命令転送が
途中で中断したことを検出する転送中断検出回路、21
はエラー発生命令をキャンセルするエラー命令キャンセ
ル回路、22は転送が途中で中断した命令をキャンセル
する中断命令キャンセル回路を表す。14 is a register that receives the transferred instruction; 15 is an ID field that stores an 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 the received instruction. An instruction holding circuit 18 holds instructions, and 18 is a circuit (18) that stores instruction identifiers of instructions for which error occurrence may be notified.
D register, 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
22 represents an error instruction canceling circuit that cancels an instruction in which an error has occurred, and an interrupted instruction canceling circuit that cancels an instruction whose transfer is interrupted midway.
#12は、命令バイブラインに便って、第imf賃実行
ユニット11が実行すべき命令を、複数個のオペコード
/データに分けて転送する。第2命令実行ユニット11
は、転送された命令をレジスタ14に受け取ると共に、
命令ID発生カウンタ16のカウント値をIDフィール
ド15に設定する。#12 divides the instruction to be executed by the IMF execution unit 11 into a plurality of operation codes/data and transfers them according to the instruction vibe line. Second instruction execution unit 11
receives the transferred instruction into register 14, and
The count value of the instruction ID generation counter 16 is set in the ID field 15.
命令ID発生カウンタ16のカウント値は、新しい命令
毎に更新される。The count value of the instruction ID generation counter 16 is updated for each new instruction.
命令保持回路17は、何段かのバッファレジスタによっ
て構成され、転送された命令を命令識別子と共に、命令
発信まで保持する。時間監視回路19は、各命令につい
て、第1命令実行ユニット10からエラー信号が送られ
てくる可能性がある最終タイミングまで2時間監視を行
うカウンタである。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 each instruction for two hours until the final timing at which an error signal may be sent from the first instruction execution unit 10.
第1命令実行ユニット10において、マシンチ行ユニッ
ト11に送信する0時間監視回路19による時間監視中
にエラー信号が到着すると、エラー命令キャンセル回路
21が起動される。エラー命令キャンセル回路21は、
カレントIDレジスフ18の内容と、命令保持回路17
に保持されている命令の各オペコード/データに付加さ
れた命令識別子とを比較し、それが一致する場合に、命
令保持回路17が保持するその命令を無効化するキャン
セル信号を出力する。In the first instruction execution unit 10, when an error signal arrives during time monitoring by the 0 time monitoring circuit 19 which is transmitted to the machining line unit 11, the error instruction canceling circuit 21 is activated. The error instruction cancellation circuit 21 is
Contents of current ID register 18 and instruction holding circuit 17
It compares the instruction identifier added to each opcode/data of the instruction held in the instruction holding circuit 17, and if they match, outputs a cancel signal to invalidate the instruction held in the instruction holding circuit 17.
転送中断検出回路20は、第1命令実行ユニット10か
ら連続して送られるべき命令の転送が。The transfer interruption detection circuit 20 detects the transfer of instructions to be continuously sent from the first instruction execution unit 10.
途中で中断した場合に、それを検出し、中断命令キャン
セル回路22を動作させる。中断命令キャンセル回路2
2は、その中断した命令の命令識別子と、命令保持回路
17に保持されている命令の各オペコード/データに付
加された命令識別子とを比較し、一致する場合に、命令
保持回路17が保持するその命令に対し、キャンセル信
号を出力する。If the instruction is interrupted midway, it is detected and the interruption instruction canceling circuit 22 is operated. Interruption command cancellation circuit 2
2 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, the instruction holding circuit 17 holds it. A cancel signal is output in response to that command.
第1命令実行ユニット10から第2命令実行ユニット1
1へ、命令をオペコードとデータに分けて転送するとき
、従来方式によれば、第1命令実行ユニット10のパイ
プラインの後半のタイミングでその命令のエラー、また
は後続命令のエラーが発生すると、タイミング的に命令
の転送を止めることができない、また、タイミングによ
っては。From the first instruction execution unit 10 to the second instruction execution unit 1
According to the conventional method, when an instruction is transferred separately into an operation code and data, if an error in that instruction or an error in a subsequent instruction occurs in the latter half of the pipeline of the first instruction execution unit 10, the timing It is not possible to stop the transfer of commands depending on the timing.
後続命令も途中まで転送されてしまう。Subsequent instructions are also transferred halfway.
本発明によれば、第2命令実行ユニット11が受け取っ
た命令のオペコード/データに対して。According to the invention, for the opcode/data of the instruction received by the second instruction execution unit 11.
命令ID発生カウンタ16によって、命令識別子が付加
され、命令発信まで、命令保持回路17に保持される。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.
また、各命令に対してエラー信号が到着するタイミング
を保証する時間監視回路19が設けられる。そして、エ
ラー信号が送られてきたときには、エラー命令キャンセ
ル回路21により、その信号に対応する命令が、命令識
別子によって選び出され、キャンセルされる。また、中
断命令キャンセル回路22によって、1個の命令の転送
が途中で切れた場合にも、命令識別子に基づいて、その
命令がキャンセルされる。Also provided is a time monitoring circuit 19 that guarantees the timing of arrival of an error signal for each instruction. When an error signal is sent, the error instruction canceling circuit 21 selects the instruction corresponding to the signal using the instruction identifier and cancels it. Furthermore, even if the transfer of one instruction is interrupted midway through, the interrupted instruction canceling circuit 22 cancels that instruction based on the instruction identifier.
従って、第2命令実行ユニット11において。Therefore, in the second instruction execution unit 11.
エラーに関連する複数の命令を、キャンセルすることが
でき、キャンセル終了後に、第1命令実行ユニットlO
において、命令のりトライを行うことが可能になる。Multiple instructions related to the error can be canceled, and after the cancellation is completed, the first instruction execution unit lO
, it becomes possible to perform a command transfer trial.
第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はベクトル命令の制御を行うベクトル命令制御
ユニット、35はベクトル命令を実行するベクトル命令
実行ユニット、36はロード・パイプライン、37はス
トア・パイプライン、38はベクトルデータを蓄えてお
くベクトルレジスタ939は加算パイプライン、40は
乗算バイブライン、41は除算パイブライン、42.4
3は内部信号線を表す。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. , 35 is a vector instruction execution unit that executes vector instructions, 36 is a load pipeline, 37 is a store pipeline, 38 is a vector register 939 for storing vector data is an addition pipeline, 40 is a multiplication pipeline, 41 is the division pipeline, 42.4
3 represents an internal signal line.
スカラユニット32は、主記憶装置30から。The scalar unit 32 is from the main storage device 30.
主記憶制御装置31を介してスカラ命令およびベクトル
命令を読み出す。ベクトル命令は、スカラユニソト32
のパイプラインを流れて、ベクトルユニット33に転送
される。転送された命令は。Scalar instructions and vector instructions are read out via the main memory controller 31. Vector instructions are scalar unisoto32
The signal flows through the pipeline and is transferred to the vector unit 33. The instructions transferred.
ベクトルユニット33におけるベクトル命令制御ユニッ
ト34が受け取り、その命令を実行できるタイミングに
なると、ベクトル命令実行ユニット35に対し、信号′
4IA42を通して、命令のスタートをかける。ベクト
ル命令実行ユニット35は。When the vector instruction control unit 34 in the vector unit 33 receives the instruction and it is time to execute the instruction, the vector instruction execution unit 35 receives a signal '
The start of the instruction is applied through 4IA42. The vector instruction execution unit 35.
信号線43により、各パイプライン39.40゜41毎
に、命令実行中である信号を、ベクトル命令制御ユニッ
ト34へ送る。ベクトル命令制御ユニット34では、こ
れらのパイプラインが使用可能となったとき、即ち、信
号線43の対応するパイプラインの信号がOFFになっ
たとき、命令をスタートする9本発明は、主として、こ
のベクトル命令制御ユニット34に関連している。A signal line 43 sends a signal indicating that an instruction is being executed to the vector instruction control unit 34 for each pipeline 39, 40, 41. 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. Associated with the vector command control unit 34.
第3図は、ベクトル命令制御ユニット34内の回路の一
部を示している。FIG. 3 shows a portion of the circuitry within the vector instruction control unit 34.
第3図において、50はフェッチステージレジスタ(V
FS)であり、第1図図示レジスタ14に対応するもの
、51はフェッチバッファレジスタ(VFB)、52は
ブリデコードステージレジス9 (VPS) である。In FIG. 3, 50 is a fetch stage register (V
FS), which corresponds to the register 14 shown in FIG. 1, 51 is a fetch buffer register (VFB), and 52 is a virtual decoding stage register 9 (VPS).
、:[VFB51.VPS52は、第1図図示命令保持
回路17に対応する。, :[VFB51. The VPS 52 corresponds to the instruction holding circuit 17 shown in FIG.
53はVFRキャンセル回路、54はVPSキャンセル
回路である。55はVFSでの命令途切れ検出回路であ
゛す、第1図に示す転送中断検出回路20に対応する。53 is a VFR cancel circuit, and 54 is a 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はタイミングカウンタであり、第1図に示す時間監
視回路19に対応する。56 is a timing counter, which corresponds to the time monitoring circuit 19 shown in FIG.
60はデータバスである。60 is a data bus.
LlおよびL4〜L6はラッチ、L2およびL3はSE
T/RESETラッチ、R1へR3はレジスタ、C1〜
C4は一数構出回路、Al〜A5はアンド回路、OR1
〜OR4はオア回路を表す。Ll and L4-L6 are latches, L2 and L3 are SE
T/RESET latch, R1 to R3 are registers, C1~
C4 is a one-digit circuit, Al to A5 are AND circuits, OR1
~OR4 represents an OR circuit.
スカラユニソトでは、第4図に示すように、ベクトル命
令が4フローで実行され、最終フローのTステートから
、オペコードIVI、オペコードIV2.データDV
1.データDV2の順で、ベクトルユニットに対し、連
続してベクトル命令の転送を行うものとする。In scalar unisoto, as shown in FIG. 4, a vector instruction is executed in four flows, and from the T state of the final flow, operation code IVI, operation code IV2. data DV
1. It is assumed that vector instructions are successively transferred to the vector unit in the order of data DV2.
スカラユニットにおけるベクトル命令の実行により、第
3図に示すデータバス60に、オペコードIVI、オペ
コードIV2.データDV 1.データDV2が、1τ
(マシンサイクル)ずつ載せられ、有効を示すVALI
D信号がONにされる。By executing the vector instruction in the scalar unit, opcode IVI, opcode IV2 . Data DV 1. Data DV2 is 1τ
VALI (machine cycle) is displayed to indicate validity.
D signal is turned ON.
ベクトルユニットでは、VALTD信号により。In the vector unit, by the VALTD signal.
ラッチL1をセントすると共に、レジスタR1にイネー
ブル信号を入れ、データバス60を介して送られてくる
命令のオペコード/データを受け取る。命令ID発生カ
ウンタ16は、命令を識別するための命令識別子を命令
毎に発生させ、各オペコード/データに付加するために
レジスタR1のIDフィールドにセントする。At the same time as latch L1 is set, an enable signal is input to register R1, and the opcode/data of the instruction sent via data bus 60 is received. The instruction ID generation counter 16 generates an instruction identifier for each instruction, and stores it in the ID field of register R1 to be added to each opcode/data.
このVFS50のオペコード/データおよび命令識別子
は、VPS52が空いている場合には。The opcode/data and instruction identifier of this VFS 50 are stored when the VPS 52 is vacant.
VPS52へ、VPS52が詰まっている場合には、■
FB51へ送られる。なお、VFB51は。To the VPS52, if the VPS52 is clogged, ■
Sent to FB51. In addition, VFB51.
図示簡略化しているが、必要に応して多段化して構成さ
れる。多段化されている場合にも、原理は同様である。Although the illustration is simplified, the structure may be multi-staged if necessary. The principle is the same even when there are multiple stages.
データDV2に対するVA、LID信号のタイミングで
、タイミングカウンタ56が動作すると同時に、VFS
50の持つ命令識別子が、カレントIDレジスタ18に
セットされる。即ち、カレントIDレジスタ18は、タ
イミングカウンタ56の動作に関連する命令識別子を保
持する。At the same time as the timing counter 56 operates at the timing of the VA and LID signals for data DV2, VFS
50 is set in the current ID register 18. That is, the current ID register 18 holds an instruction identifier related to the operation of the timing counter 56.
今1例えば第4図に示すERRのタイミングで。For example, at the ERR timing shown in Figure 4.
ベクトル命令v1またはベクトル命令v2のどちらかで
エラーが発生したとする。このタイミングでは、ベクト
ル命令■1は、すべてベクトルユニットに転送され、ベ
クトル命令V2も、オペコードIVIだけ、ベクトルユ
ニットに転送されてしまう。この場合、スカラユニノト
では、ベクトル命令■1からリトライを試みようとする
ため、ベクトルユニットでは、ベクトル命令v1および
V2の2命令をキャンセルすることが必要となる。Assume that an error occurs in either vector instruction v1 or vector instruction v2. At this timing, all of vector instruction (1) is transferred to the vector unit, and vector instruction (V2) is also transferred to the vector unit by operation code IVI. In this case, since the scalar unit tries to retry starting from the vector instruction (1), it is necessary to cancel the two vector instructions v1 and V2 in the vector unit.
これは9次のように行われる。This is done as follows.
スカラユニソトでは、パイプラインでエラーが発生する
と、エラーラッチをONにした後、ベクトルユニットに
、スカラユニソト内でハードエラーが検出されたことを
示すマシンチェック検出信号を送る。In SCARA UNISOTO, 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 SCARA UNISOTO.
ベクトルユニットでは、タイミングカウンタ56による
TI、T2.T3の時間監視内に、マシンチェック検出
信号を受け取ると、アンド回路A5の出力が“1″にな
り、VFBキャンセル回路53および■PSキャンセル
回路54が働く。VFBキャンセル回路53.VPSキ
ャンセル回路54は、それぞれカレントIDレジスタ1
8が保持する命令識別子をもとに、これと、VFB51
゜VFS52が保持する命令識別子とを比較することに
より、キャンセルすべき命令を探し出し、該当する命令
を保持するレジスタに対し、キャンセル信号を出力する
。このキャンセル信号は、SET/RESETラッチL
2.L3をリセツトすることにより、レジスタが持つ命
令を無効化する。In the vector unit, TI, T2 . When the machine check detection signal is received during the time monitoring of T3, the output of the AND circuit A5 becomes "1", and the VFB cancel circuit 53 and the PS cancel circuit 54 operate. VFB cancel circuit 53. The VPS cancel circuits 54 each have a current ID register 1.
Based on the instruction identifier held by 8, this and VFB51
By comparing the instruction identifier held by the VFS 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 applied to the SET/RESET latch L
2. By resetting L3, the instruction held by the register is invalidated.
さらに、第4図に示すようなタイミングでは。Furthermore, at the timing shown in FIG.
次のベクトル命令V2も途中までベクトルユニットに転
送されるので、それを同様にキャンセルする。そのため
、VFSでの命令途切れ検出回路55は、命令転送の途
切れを検出すると、その検出信号を、VFBキャンセル
回路53および■PSキャンセル回路54に入れる。V
FBキャンセル回路53.VPSキャンセル回路54は
、それぞれVFS50が持つ命令識別子をもとに、途切
れ゛ た命令を探し出し、該当する途切れた命令がある
場合には、そのVFB5 t、VFS52にキャンセル
信号を送る。Since the next vector instruction V2 is also partially transferred to the vector unit, it is similarly canceled. Therefore, when the VFS instruction discontinuity detection circuit 55 detects an instruction transfer discontinuity, it inputs the detection signal to the VFB cancel circuit 53 and the PS cancel circuit 54. V
FB cancel circuit 53. The VPS cancel circuit 54 searches for an interrupted instruction based on the instruction identifier possessed by each VFS 50, and if there is a corresponding interrupted instruction, sends a cancel signal to the VFB 5t and VFS 52.
また5 ベクトルユニットは、ベクトルユニット内に命
令が残っているビジー信号(VU Busy)を。In addition, the 5 vector unit sends a busy signal (VU Busy) indicating that an instruction remains in the vector unit.
スカラユニノトへ通知するようになっている。オア回路
OR4の出力が、そのビジー信号であり。It is now possible to notify Scala Uninote. The output of the OR circuit OR4 is its busy signal.
第2図に示すベクトル命令実行ユニット35から。From the vector instruction execution unit 35 shown in FIG.
命令実行中を示す信号(Execute)がきているか
。Is there a signal (Execute) indicating that the command is being executed?
またはラッチし1〜L3のうち、いずれかがONであれ
ば、“1″となる。Or, if any one of latches 1 to L3 is ON, it becomes "1".
スカラユニットでは、エラー発生により、その割込み処
理を開始するが、上記ビジー信号が“1”である間は1
割込み処理の開始を待たせる。In the scalar unit, when an error occurs, the interrupt processing is started, but while the above busy signal is “1”,
Makes the start of interrupt processing wait.
これにより、ヘクトルユニット内の命令終了順序が、ハ
ードエラーが発生した命令に関して正しくなり、かつス
カラユニット内のハードエラーによって、スカラユニッ
ト内でキャンセルされる命令は、ベクトルユニット内に
おいても、すべてキャンセルされるため、命令のりトラ
イを正しく行うことが可能となる。As a result, the instruction completion order within the hector unit is correct for instructions in which a hard error has occurred, and all instructions that are canceled within the scalar unit due to a hard error within the scalar unit are also canceled within the vector unit. Therefore, it is possible to correctly perform instruction transfer trials.
以上説明したように1本発明によれば、第2命令実行ユ
ニットの命令発信制御ステージの前に。As explained above, according to the present invention, before the instruction issuing control stage of the second instruction execution unit.
バソフプを持つことにより、第1命令実行ユニットから
の命令の転送を連続的に受け付けることができるような
システム等において、第1命令実行ユニット内でエラー
が発生し、スカラユニット内でキャンセルする命令が、
すでに複数個、第2命令実行ユニットに転送されていて
も、第2命令実行ユニットでも、それらの命令をすべて
キャンセルすることが可能になる。これにより、命令の
りトライが可能になるため、命令の発信を高速化するシ
ステムにおいても、高い信頼性を得ることができる。In a system that can continuously accept transfers of instructions from the first instruction execution unit by having a bus flow, 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, it becomes possible for the second instruction execution unit to cancel all of those instructions. This makes it possible to try out commands, so high reliability can be achieved even in systems that speed up the transmission of commands.
第1図は本発明の原理ブロック図、第2図は本発明の適
用システム例、第3図は本発明の一実施例、第4図は本
発明の一実施例タイムチャートを示す。
図中、10は第1命令実行ユニット、11は第2命令実
行ユニット 12は命令転送回路、13はエラー信号送
信回路、14はレジスタ、15はIDフィールド、16
は命令ID発生カウンタ、17は命令保持回路、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, 13 is an error signal transmission circuit, 14 is a register, 15 is an ID field, 16
1 is an instruction ID generation counter, 17 is an instruction holding circuit, and 18 is a current ID register. 19 is a time monitoring circuit, and 20 is a transfer interruption detection circuit. 21 represents an error instruction cancellation circuit, and 22 represents an interruption instruction cancellation circuit.
Claims (1)
ト(11)へ、該第2命令実行ユニット(11)で実行
すべき命令を複数個のオペコード/データに分けて連続
して転送する情報処理装置において、上記第1命令実行
ユニット(10)は、転送する命令に関するエラーを検
出したときに、上記第2命令実行ユニット(11)に対
し、エラー信号を送信するエラー信号送信手段(13)
を備え、 上記第2命令実行ユニット(11)は、上記第1命令実
行ユニット(10)から転送される命令の各オペコード
/データに、命令識別子を付加する命令ID発生手段(
16)と、 転送された命令の各オペコード/データを、付加された
命令識別子と共に保持する命令保持手段(17)と、 転送された命令を受け取った後、この命令のエラーによ
って上記第1命令実行ユニット(10)からエラー信号
が送られる最終タイミングまで時間監視をする時間監視
手段(19)と、 上記時間監視中に、上記第1命令実行ユニット(10)
からエラー信号が送られた場合に、エラー発生命令の命
令識別子と上記命令保持手段(17)が保持する各オペ
コード/データの命令識別子とを比較することにより、
該当する命令のキャンセル信号を発生するエラー命令キ
ャンセル手段(21)と、命令転送が途中で中断したこ
とを検出した場合に、中断した命令の命令識別子と上記
命令保持手段(17)が保持する各オペコード/データ
の命令識別子とを比較することにより、該当する命令の
キャンセル信号を発生する中断命令キャンセル手段(2
2)とを備えていることを特徴とする命令転送制御装置
。[Claims] From the first instruction execution unit (10) to the second instruction execution unit (11), the instructions to be executed by the second instruction execution unit (11) are divided into a plurality of opcodes/data and are successively transmitted. In the information processing apparatus, the first instruction execution unit (10) transmits an error signal to the second instruction execution unit (11) when an error related to the instruction to be transferred is detected. Transmission means (13)
The second instruction execution unit (11) includes instruction ID generation means (11) for adding an instruction identifier to each opcode/data of the instruction transferred from the first instruction execution unit (10).
16); an instruction holding means (17) for holding each opcode/data of the transferred instruction together with an attached instruction identifier; a time monitoring means (19) for monitoring time until the final timing at which an error signal is sent from the unit (10);
When an error signal is sent from , by comparing the instruction identifier of the instruction in which the error occurred and the instruction identifier of each operation code/data held by the instruction holding means (17),
An error instruction canceling means (21) generates a cancellation signal for the corresponding instruction, and when it is detected that instruction transfer is interrupted midway, the instruction identifier of the interrupted instruction and each instruction held by the instruction holding means (17) are stored. Interruption instruction canceling means (2) that generates a cancellation signal for the corresponding instruction by comparing the instruction identifier of the operation code/data.
2) An instruction transfer control device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62049721A JPS63216173A (en) | 1987-03-04 | 1987-03-04 | Command transfer control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62049721A JPS63216173A (en) | 1987-03-04 | 1987-03-04 | Command transfer control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63216173A true JPS63216173A (en) | 1988-09-08 |
JPH0472266B2 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 | Command transfer control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63216173A (en) |
-
1987
- 1987-03-04 JP JP62049721A patent/JPS63216173A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0472266B2 (en) | 1992-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5491787A (en) | Fault tolerant digital computer system having two processors which periodically alternate as master and slave | |
US5537559A (en) | Exception handling circuit and method | |
US4253147A (en) | Memory unit with pipelined cycle of operations | |
US5280618A (en) | Interrupt test circuit for microprocessor system | |
JPS63501831A (en) | Method and apparatus for minimizing overhead when executing nested DO loops | |
US20050229035A1 (en) | Method for event synchronisation, especially for processors of fault-tolerant systems | |
US4318172A (en) | Store data buffer control system | |
JPS6218057B2 (en) | ||
JPS63216173A (en) | Command transfer control device | |
JPS58166454A (en) | data processing equipment | |
JPH0147818B2 (en) | ||
JPS5911455A (en) | Redundancy system of central operation processing unit | |
JPS63155330A (en) | Microprogram controller | |
JPH02297235A (en) | Memory data protecting circuit | |
JPS61136147A (en) | Cache memory controller | |
JP3022906B2 (en) | Communication method of programmable controller | |
JPS632922Y2 (en) | ||
JPH01237841A (en) | Retry system | |
JP2919366B2 (en) | Bus failure handling method | |
JPH10124338A (en) | Parallel processor | |
JPS62166451A (en) | History analyzing device for logical unit | |
JPH0135369B2 (en) | ||
JPH04211841A (en) | Duplex processor | |
JPH0675800A (en) | Fault processing system | |
JP2001022414A (en) | Process controller, its data transfer method and plant |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |