JPS59220844A - Instruction reexecution control system - Google Patents

Instruction reexecution control system

Info

Publication number
JPS59220844A
JPS59220844A JP58093753A JP9375383A JPS59220844A JP S59220844 A JPS59220844 A JP S59220844A JP 58093753 A JP58093753 A JP 58093753A JP 9375383 A JP9375383 A JP 9375383A JP S59220844 A JPS59220844 A JP S59220844A
Authority
JP
Japan
Prior art keywords
instruction
instructions
vector
scalar
register
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.)
Pending
Application number
JP58093753A
Other languages
Japanese (ja)
Inventor
Shigeaki Okuya
茂明 奥谷
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 JP58093753A priority Critical patent/JPS59220844A/en
Publication of JPS59220844A publication Critical patent/JPS59220844A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation

Abstract

PURPOSE:To retry an instruction where malfunction occurs and improve reliability by holding a vector instruction which is not executed even when a scalar instruction and a vector instruction are processed in parallel for the high speed execution of the instructions. CONSTITUTION:Scalar instructions and vector instructions are set up previously in a main storage device together. An instruction reexecution pointer register 26 controls the address of an instruction to be retried even if malfunction occurs to the instruction processed by a pipeline while the scalar instructions and vector instruction coexit and are processed sequentially. Namely, while the scalar instructions and vector instructions are processed in parallel for high-speed processing, a readout address register 35 points unexecuted instructions in an instruction word stack 29 unless the operands of both instructions do not coincide with each other. Consequently, the instructions pointed by the circuit 35 are read out of the circuit 29 even in case of malfunction and supplied through a selecting circuit 30 to a vector instruction decoding part 31 to be reexecuted.

Description

【発明の詳細な説明】 (4)発明の技術分野 本発明は命令再実行制御方式、特に例えばスカラ処理装
置とベクトル処理装置とからなるデータ処理装置であっ
て、パイプライン処理にもとづき命令を処理する装置に
おいて、スカラ命令とベクトル命令とを並列に実行させ
、ベクトル命令の処理において誤動作が起きたときに、
該誤動作した命令から自動的に再実行させるようにした
命令再実行制御方式に関するものである。
Detailed Description of the Invention (4) Technical Field of the Invention The present invention relates to an instruction re-execution control method, particularly to a data processing device comprising a scalar processing device and a vector processing device, which processes instructions based on pipeline processing. In a device that executes scalar instructions and vector instructions in parallel, when a malfunction occurs in the processing of the vector instructions,
The present invention relates to an instruction re-execution control method that automatically re-executes the malfunctioning instruction.

■)従来技術と問題点 第1図は一般的なベクトル処理シスデムの例、第2図は
スカラ命令とベクトル命令の命令語の例を示す。
(2) Prior art and problems FIG. 1 shows an example of a general vector processing system, and FIG. 2 shows an example of instruction words for scalar instructions and vector instructions.

図中、1は主記憶装置、2はチャネル装置、3はスカラ
処理装置、4はベクトル処理装置、5はバッファ記憶装
置、6はスカラーレジスタ、7はスカラ演算器、8はス
カラ命令制御部、9はインタフェース・レジスタ、lO
はベクトル命令制御部、11はロード・ストア・パイプ
、12はベクトル・レジスタ、13はベクトル加算器、
14はベクトル乗算器を表わす。
In the figure, 1 is a main storage device, 2 is a channel device, 3 is a scalar processing device, 4 is a vector processing device, 5 is a buffer storage device, 6 is a scalar register, 7 is a scalar arithmetic unit, 8 is a scalar instruction control unit, 9 is an interface register, lO
is a vector instruction control unit, 11 is a load/store pipe, 12 is a vector register, 13 is a vector adder,
14 represents a vector multiplier.

スカラ処理装置3は、主記憶装置1から逐次命令をフェ
ッチして実行する通常の中央処理装置(CPU)である
。ベクトル処理装置4は、大景のデータに対して、同一
種類の演算を同時に施すことができる装置である。スカ
ラ処理装置3の補助として用いられる。バッファ記憶装
置5は、主記憶装置1へのアクセスを高速化下るだめの
装置である。スカラ・レジスタ6は、スカラ・データを
処理するためのレジスタ群である。スカラ演算器7は、
スカラ命令制御部8の制御のもとに、命令に応じた演算
処理を行う。
The scalar processing device 3 is a normal central processing unit (CPU) that fetches and executes instructions sequentially from the main storage device 1. The vector processing device 4 is a device that can simultaneously perform the same type of calculation on data of a large view. It is used as an auxiliary to the scalar processing device 3. The buffer storage device 5 is a device that speeds up access to the main storage device 1. Scalar register 6 is a group of registers for processing scalar data. The scalar operator 7 is
Under the control of the scalar instruction control unit 8, arithmetic processing is performed according to the instruction.

スカラ命令制御部8は、命令のフェッチ、解読、実行を
制御するものである。命令がベクトル命令であることを
検出したならば、インタフェース・レジスタ9を経由し
て、命令および命令処理に必要な情報をベクトル命令制
御部10に引渡す。すなわち、スカラ命令制御部8は主
命令制御部であり、ベクトル命令制御部10は従命令制
御部であると考えてよい。ベクトル命令制御部10は、
ベクトル命令を解読し、解読結果に従って、ベクトル加
算器13、ベクトル乗算器14等を起動する。
The scalar instruction control unit 8 controls fetching, decoding, and execution of instructions. If it is detected that the instruction is a vector instruction, the instruction and information necessary for instruction processing are passed to the vector instruction control unit 10 via the interface register 9. That is, the scalar instruction control section 8 can be considered to be a main instruction control section, and the vector instruction control section 10 can be considered to be a subordinate instruction control section. The vector instruction control unit 10
The vector instruction is decoded, and the vector adder 13, vector multiplier 14, etc. are activated according to the decoding result.

ロード・ストア・パイプ11は、主記憶装置1とベクト
ル・レジスタ12とのインタフェースである。ベクトル
レジスタ12は、ベクトル演算の対象となるデータ群を
保持するレジスタである。
Load/store pipe 11 is an interface between main memory 1 and vector register 12. The vector register 12 is a register that holds a data group to be subjected to vector operations.

スカラ命令の命令語は、例えば第2図(イ)図示の如く
、命令コード部OPと第1オペランド部R1と第2オペ
ランド部R2とからなる。命令コード部OPの内容によ
シ、例えば第1オペランドR1ノテータと第2オペラン
ドR2のデータとが演算され、結果が第1オペランドR
1に格納される。
The instruction word of a scalar instruction, for example, as shown in FIG. 2(A), consists of an instruction code section OP, a first operand section R1, and a second operand section R2. Depending on the contents of the instruction code section OP, for example, the data of the first operand R1 notator and the second operand R2 are operated, and the result is the first operand R.
It is stored in 1.

ベクトル命令の命令語は、例えは第2図(ロ)図示の如
く、命令コード部OP1拡張命令コード部EOP 。
The command word of the vector command is, for example, as shown in FIG. 2 (b), an instruction code part OP1 and an extended instruction code part EOP.

第1オペランド部R1、第2オペランド部R2、第3オ
ペランド部R3を有し、拡張命令コード部EOPの内容
によシ、例えは第2オペランド部R2のデータと第3オ
ペランド部R3のデータとが演算されて、結果が第1オ
ペランド部RIIC格納される。スカラ命令とベクトル
命令とは、命令コード部OPのコードによって区別され
る。
It has a first operand part R1, a second operand part R2, and a third operand part R3, and depending on the contents of the extended instruction code part EOP, for example, the data in the second operand part R2 and the data in the third operand part R3 can be changed. is calculated and the result is stored in the first operand section RIIC. Scalar instructions and vector instructions are distinguished by the code in the instruction code section OP.

第1図図示の如き装置においては、主記憶装置lからフ
ェッチしてくる命令には、スカラ命令とベクトル命令と
が、混在している。これらの命令をいわゆるパイプライ
ン方式によシ、順次読み出して、逐次処理していく場合
には、命令の処理でエラーが生じた場合、エラーが生じ
た命令から再実行すればよい。しかし、命令を高速に処
理するために、スカラ命令とベクトル命令とを、スカラ
処理装置3とベクトル処理装置4とにおいて、それぞれ
並列に実行させようとすると、従来方式によれば、命令
処理の途中で誤動作を起した命令について、杓実行させ
ることができないという問題がある。才々わち、ベクト
ル命令の処理時間は、通常スカラ命令の処理時間に比べ
て非常に長く、ベクトル命令の処理におい”C誤動作が
起きた場合、そのベクトル命令以後の命令についてだけ
、再実行させることができない。
In the device shown in FIG. 1, the instructions fetched from the main memory l include a mixture of scalar instructions and vector instructions. When these instructions are sequentially read out and processed one by one using a so-called pipeline method, if an error occurs in the processing of an instruction, it is sufficient to re-execute the instruction starting from the instruction in which the error occurred. However, when attempting to execute scalar instructions and vector instructions in parallel in the scalar processing device 3 and vector processing device 4, respectively, in order to process instructions at high speed, according to the conventional method, in the middle of instruction processing, There is a problem in that it is not possible to execute an instruction that causes a malfunction. The processing time for vector instructions is usually much longer than that for scalar instructions, so if a "C" malfunction occurs during the processing of a vector instruction, only the instructions after that vector instruction will be re-executed. I can't.

(0発明の目的と構成 本発明は上記問題点の解決を図シ、命令を高速処理する
ために、スカラ命令とベクトル命令とを並列処理した場
合にも、実行未完了のベクトル命令を保持し、誤動作が
起きた命令のりトライを可能とする方式を提供すること
を目的としている。
(Objective and Structure of the Invention The present invention aims to solve the above problems. In order to process instructions at high speed, even when scalar instructions and vector instructions are processed in parallel, unfinished vector instructions are retained. The purpose of this invention is to provide a method that makes it possible to retry an instruction that has malfunctioned.

そのため、本発明の命令再実行制御方式は、主命令制御
部と従命令利°御部とを有し、上、肥土命令制御部は上
記従命令制御部に命令の種別に応じて命令に関する情報
を渡し、命令を実行するデータ処理装置において、上記
主命令制御部から上記従命令制御部へ渡された上記命令
に関する情報を順次複数個保持す2)命令保持レジスタ
と、該命令保持レジスタに杷納された命令のうち実行が
未完了の命令をポイントするスタックアドレス争レジス
タとを少なくともそなえ、誤動作が生じた命令について
上記命令保持しiノスタから上記スタックアドレス・レ
ジスタに基づいて命令を取シ出して再実行−するように
したことを特徴としている。以下図面を参照しつつ説明
する。
Therefore, the instruction re-execution control method of the present invention has a main instruction control section and a subordinate instruction control section, and the fertile instruction control section is configured to provide instructions to the subordinate instruction control section according to the type of instruction. In a data processing device that passes information and executes instructions, 2) an instruction holding register that sequentially holds a plurality of pieces of information regarding the instructions passed from the main instruction control unit to the slave instruction control unit; It is provided with at least a stack address conflict register that points to an uncompleted instruction among the suspended instructions, holds the instruction in which a malfunction has occurred, and executes instructions from the i-nostar based on the stack address register. The feature is that the program can be downloaded and re-executed. This will be explained below with reference to the drawings.

(2)発明の実施例 第3図は本発明の一笑施例構成、第4図はスカラ命令と
ベクトル命令とを逐次処理するときのりイムチャート、
第5図はスカラ命令とベクトル命令とを並列処理すると
きの本発明の詳細な説明するためのタイムチャートを示
す。
(2) Embodiment of the Invention FIG. 3 shows the configuration of a simple embodiment of the invention, and FIG. 4 shows a time chart when scalar instructions and vector instructions are sequentially processed.
FIG. 5 shows a time chart for explaining in detail the present invention when scalar instructions and vector instructions are processed in parallel.

図中、符号6.8.9、lOは第1図に対応し、20は
命令取出部、21は命令解読部、22はアドレス演算部
、23はオペランド・フェッチ部、24は命令実行部、
25は命令フェッチ・レジスタ、26は命令再実行ポイ
ンタ・レジスタ、27はベクトル命令取出部、28は書
き込みアドレス拳レジスタ、29は命令語スタック、3
0は選択回路、31はベクトル命令解読部、32は加算
命令制御レジスタ、33は乗算命令制御レジスタ、34
はロード命令制御レジスタ、35は読み出しアドレス拳
レジスタを表わす。
In the figure, numerals 6.8.9 and lO correspond to those in FIG. 1, 20 is an instruction fetching section, 21 is an instruction decoding section, 22 is an address operation section, 23 is an operand fetching section, 24 is an instruction execution section,
25 is an instruction fetch register, 26 is an instruction re-execution pointer register, 27 is a vector instruction fetch unit, 28 is a write address register, 29 is an instruction word stack, 3
0 is a selection circuit, 31 is a vector instruction decoder, 32 is an addition instruction control register, 33 is a multiplication instruction control register, 34
3 represents a load command control register, and 35 represents a read address register.

スカラ命令とベクトル命令とは、混在して予め主記憶装
置に用意される。命令取出部20は、命令フェンy−−
レジスタ25の示す主記憶装置上の位置から命令をフェ
ッチする回路である。命令取出部20がフェッチした命
令は、次のサイクルに命令解読部21へ渡される。命令
解読部21は、命令コードをデコードする。デコードし
た結果、ベクトル命令であることが判別した場合には、
命令情報をインタフェース・レジスタ9に格納する。
Scalar instructions and vector instructions are mixed and prepared in advance in the main memory. The instruction retrieval unit 20 receives the instruction f--
This circuit fetches instructions from the location on the main memory indicated by the register 25. The instruction fetched by the instruction fetching section 20 is passed to the instruction decoding section 21 in the next cycle. The instruction decoder 21 decodes the instruction code. If it is determined that it is a vector instruction as a result of decoding,
Store instruction information in interface register 9.

また、そのベクトル命令が、例えばスカラ囃レジスタ6
の内容を必要としているときには、インタフェース−レ
ジスタ9のデータ部にその内容を格納する。
Also, if the vector instruction is, for example, the scalar accompaniment register 6
When the contents of the interface register 9 are needed, the contents are stored in the data section of the interface register 9.

アドレス演算部22は、オペランドの実アドレスを求め
るものである。求められたアドレスに従って、オペラン
ド・フェッチ部23は、命令の実行に必要なオペランド
のデータをフェッチする。
The address calculation unit 22 calculates the real address of the operand. According to the obtained address, the operand fetch unit 23 fetches operand data necessary for executing the instruction.

命令実行部24によって、命令が実行され、1命令の処
理が終了することになる。命令再実行ポインタ・レジス
タ26は、実行が完了した命令の次の命令のアドレスを
保持するレジスタである。このレジスタ26によっ℃、
パイプラインで処理する命令が、スカラ命令だけの場合
、またはスカラ命令とベクトル命令が混在していても逐
次処理し ゛ている場合に、誤動作時にリトライすべき
命令についてのアドレスを管理することができる。該ス
カラ命令制御部8の構成は、従来と同様と考えてよい。
The instruction execution unit 24 executes the instruction, and the processing of one instruction ends. The instruction re-execution pointer register 26 is a register that holds the address of the instruction following the instruction that has completed execution. By this register 26, ℃,
When the instructions processed in the pipeline are only scalar instructions, or when a mixture of scalar and vector instructions are processed sequentially, it is possible to manage the addresses of instructions that should be retried in the event of a malfunction. . The configuration of the scalar instruction control section 8 may be considered to be the same as the conventional one.

フェッチした命令がベクトル命令である場合にだけ、ベ
クトル命令制御部10を起動するので、スカラ命令制御
部8は主命令制御部、ベクトル命令制御部10は従命令
制御部とみることができる。
Since the vector instruction control section 10 is activated only when the fetched instruction is a vector instruction, the scalar instruction control section 8 can be regarded as a main instruction control section and the vector instruction control section 10 as a subordinate instruction control section.

ベクトル命令取出部27は、インタフェース−レジスタ
9からベクトル命令を取シ出す回路である。取υ出した
命令は、命令語スタック29および選択回路30に送ら
れる。命令語スタック29は、ベクトル命令を保持する
複数個のレジスタで構成され、スカラ命令制御部8との
インタフェースにおけるバッファとしての働きと、後述
する命令リトライのための命令記憶部としての働きを有
している。書き込みアドレス拳レジスタ28な、命令語
スタック29の次に書き込むべきアドレスを保持するレ
ジスタである。ベクトル命令取出部27が取シ出したベ
クトル命令情報は、曹き込みアドレス・レジスタ28に
従って、命令語スタック29にスタックされ、書き込み
アドレス・レジースタ28は次のアドレスをさすよう更
新される。
The vector instruction fetching unit 27 is a circuit that fetches vector instructions from the interface register 9. The extracted instruction is sent to the instruction word stack 29 and selection circuit 30. The instruction word stack 29 is composed of a plurality of registers that hold vector instructions, and functions as a buffer at the interface with the scalar instruction control unit 8 and as an instruction storage unit for instruction retry, which will be described later. ing. The write address register 28 is a register that holds the address to be written next in the instruction word stack 29. The vector instruction information fetched by the vector instruction fetch section 27 is stacked on the instruction word stack 29 according to the write address register 28, and the write address register 28 is updated to point to the next address.

選択回路30は、ベクトル命令取出部27または命令語
スタック29のいずれかを選択して、ベクトル命令解読
部31ヘベクトル命令を供給する回路である。
The selection circuit 30 is a circuit that selects either the vector instruction extractor 27 or the instruction word stack 29 and supplies the vector instruction to the vector instruction decoder 31.

ベクトル命令解読部31は、ベクトル命令のコード、特
に第2図←)図示の拡張命令コードをデコードする回路
である。解読した結果、命令がベクトル加算命令であれ
ば、加算命令制御レジスタ32に、ベクトル乗算命令で
あれば乗算命令制御レジスタ33に、ベクトル・データ
のロード命令であれば、ロード命令制御レジスタ34等
に、各命令実行部(図示省略)を起動する情報をセット
する。オペランドが一致しない場合、例えばベクトル加
算、ベクトル乗算、ベクトル・データのロードは、それ
ぞれ並列に実行可能である。読み出しアドレス・レジス
タ35は、命令語スタック29上の実行未完了の命令を
ポイントする。ベクトル命令実行部からの実行完了信号
によって、次の命令をポイントするよう更新される。も
し、べクトル命令の処理時にハード・エラーが起きると
、読み出しアドレスeレジスタ35のポイントする命令
が、命令語スタック29から読み出され、選択回路30
を経てベクトル命令解読部31へ供給され、その命令か
ら以後の命令について再実行されることとなる。なお、
言うまでもなく、スカシ命令とベクトル命令との並列処
理には、それらのオペランド、特に書き込み対象となっ
ている主記憶のオペランドが一致しないことが条件とな
るので、ベクトル命令制御部10においてのみ、スカシ
命令制御部8と独立にリトライしても問題が生じること
はない。ベクトル命令の処理が遅れ、命令語スタック2
9が満杯になったときには、スカシ命令制御部8に対し
て、待ち合わせの制御がなされる。これは通常のバッフ
ァ制御と同様に行われると考えてよい。
The vector instruction decoder 31 is a circuit that decodes vector instruction codes, particularly extended instruction codes shown in FIG. As a result of decoding, if the instruction is a vector addition instruction, it is stored in the addition instruction control register 32, if it is a vector multiplication instruction, it is stored in the multiplication instruction control register 33, and if it is a vector data load instruction, it is stored in the load instruction control register 34, etc. , information for activating each instruction execution unit (not shown) is set. If the operands do not match, for example, vector addition, vector multiplication, and vector data loading can each be performed in parallel. Read address register 35 points to an uncompleted instruction on instruction word stack 29. The instruction is updated to point to the next instruction by the execution completion signal from the vector instruction execution unit. If a hard error occurs during processing of a vector instruction, the instruction pointed to by the read address e register 35 is read from the instruction word stack 29 and sent to the selection circuit 30.
The instruction is then supplied to the vector instruction decoding unit 31, and subsequent instructions from that instruction are re-executed. In addition,
Needless to say, parallel processing of a scat instruction and a vector instruction requires that their operands, especially the operands in the main memory to be written, do not match. Even if the retry is performed independently of the control unit 8, no problem will occur. Vector instruction processing is delayed, instruction word stack 2
9 becomes full, the search command control unit 8 is controlled to wait. This can be considered to be performed in the same way as normal buffer control.

第4図において、SOないしS3はスカシ命令、vOな
いしv2はベクトル命令を表わしている。
In FIG. 4, SO through S3 represent search instructions, and vO through v2 represent vector instructions.

各命令は、命令取出サイクルIF、命令解読すイクルD
1アドレス演算サイクルA1オペランド・フェッチ・サ
イクルOF、命令実行ザイクルEを経て実行を終了する
。ベクトル命令の場合、アドレス演算サイクルAに続い
て、ベクトル命令取出サイクルVF、ベクトル命令解読
サイクルVD。
Each instruction has an instruction fetch cycle IF, an instruction decoding cycle D
Execution ends after one address operation cycle A1, operand fetch cycle OF, and instruction execution cycle E. In the case of a vector instruction, the address operation cycle A is followed by a vector instruction fetch cycle VF and a vector instruction decode cycle VD.

および各ベクトル命令の処理サイクルVA、VM。and processing cycles VA, VM of each vector instruction.

VL等が必要となる。ベクトル命令の処理においても、
形式的にスカシ命令の処理におけるオペランド惨フエッ
プ・・サイクルOF、命令実行ヅ・イクルEが用意され
る。スカシ命令とベクトル命令とを逐次処理する場合、
第4図図示の如く、前の命令の実行が終了するまで、次
の命令の実行が待たされる。命令フェッチ・レジスタ(
IFR)は、パイプライン処理にあたって、フェッチす
る命令のアドレスを保持する。命令再実行ポインタ・レ
ジスタ(IRP)は、命令の実行が終了するまで、最も
先にフェッチした命令のアドレスを保持する。
VL etc. are required. Even in vector instruction processing,
Formally, the operand cycle OF and instruction execution cycle E in the processing of the instruction are prepared. When processing Squash instructions and vector instructions sequentially,
As shown in FIG. 4, the execution of the next instruction is delayed until the execution of the previous instruction is completed. Instruction fetch register (
IFR) holds the address of the instruction to be fetched during pipeline processing. The instruction reexecution pointer register (IRP) holds the address of the earliest fetched instruction until execution of the instruction is completed.

従って、例えば10404番地クトル命令voの実行処
理時にエラーが生じた場合、命令再実行ポインタ・レジ
スタの内容が参照され、10404番地令vOから再実
行され、回復が試みられる。第4図に示した処理は、従
来と同様である。
Therefore, for example, if an error occurs during execution of the instruction vo at address 10404, the contents of the instruction re-execution pointer register are referred to, and the instruction is re-executed from the instruction vO at address 10404 to attempt recovery. The processing shown in FIG. 4 is the same as the conventional one.

スカシ命令とベクトル命令の扱うデータが、異なってい
るときには、例えば第5図図示の如く、スカシ命令とベ
クトル命令とを、並列して実行することができる。すな
わち、例えMtle番地のスカシ命令S2は、104I
I地のベクトル命令vOおよび110番地のベクトル命
令V1の実行終了を待たすに1実行を開始する。なお、
例えばベクトル命令■0が、スカシ・レジスタのデータ
とベクトル拳データとを加算するVAS (Vict、
or Add 5calor)命令であって、スカシ命
令S2がそのスカシ・レジスタを更新する命令であって
も、そのスカシ・レジスタのデータは、第3図図示イン
タフェース・レジスタ9のゲータ部を経由して、命令語
スタック29に保持されるため、命令S2の先行実行に
よる影響は受けない。
When the data handled by the scan instruction and the vector instruction are different, the scan instruction and the vector instruction can be executed in parallel, as shown in FIG. 5, for example. That is, for example, the scan instruction S2 at address Mtle is 104I.
One execution is started after waiting for the completion of the vector instruction vO at address I and the vector instruction V1 at address 110. In addition,
For example, vector instruction 0 adds VAS (Vict,
or Add 5calor) instruction, and even if the scan instruction S2 is an instruction to update the scan register, the data in the scan register is sent via the gator section of the interface register 9 shown in FIG. Since it is held in the instruction word stack 29, it is not affected by the preceding execution of instruction S2.

例えば、10404番地クトル命令vOの実行処理中に
、誤動作が起きたとする。このとき、従来方式によれば
、命令再実行ポインタ・レジスタ(IRP)は、既に1
269i地をポイントしているので、IRPを利用して
も、命令をリトライできないこととなる。IRPが、仮
にこの場合に、10404番地イントするように制御し
たとしても、命令のりトライによって、スカシ命令S2
、S3は、2回実行されてしまうこととなるので、一般
に入力オペランドと出力オペランドが同じになることの
ある第2図(イ)図示の如きスカシ命令では、データに
矛盾が生じてしまうこととなる。
For example, assume that a malfunction occurs during execution of the 10404 address command vO. At this time, according to the conventional method, the instruction re-execution pointer register (IRP) has already been set to 1.
269i location, the command cannot be retried even if IRP is used. Even if the IRP were to control the int to address 10404 in this case, the scan instruction S2 would be
, S3 will be executed twice, so if the input operand and the output operand are generally the same as shown in FIG. Become.

本発明の場合、ベクトル命令vOの実行時にエラーが起
きると、ベクトル命令群vO1v1、v2についてだけ
の命令再実行がなされる。すなわち、少なくとも実行が
完了するまでは、ベクトル命令VO,Vl、V2とその
処理に必要なデータとは、第3図図示命令語スタック2
9に保持され、書き込みアドレス中レジスタ(WA) 
28は、ベクトル命令■2の次のアドレスST3をポイ
ントする。一方、読み出しアドレス・レジスタ(RA)
35は、ベクトル命令vOの実行が完了するまでは、そ
の命令のスタックΦアドレスSTOをポイントしている
ので、ベクトル命令■0の実行エラ一時には、読み出し
アドレス拳レジスタ(RA)が参照され、そこから再実
行による回復が試みられることになる。
In the case of the present invention, if an error occurs during the execution of the vector instruction vO, only the vector instruction groups vO1v1 and v2 are re-executed. That is, at least until the execution is completed, the vector instructions VO, Vl, V2 and the data necessary for their processing are stored in the instruction word stack 2 shown in FIG.
9 and is held in the write address register (WA)
28 points to the next address ST3 of vector instruction (2). On the other hand, read address register (RA)
35 points to the stack Φ address STO of the instruction until the execution of the vector instruction vO is completed, so when there is an execution error of the vector instruction 0, the read address register (RA) is referenced and Recovery by re-execution will be attempted.

以上、主命令制御部としてスカラ命令制御部、また従命
令制御部としてベクトル命令制御部を例にして説明した
が、このようなベクトル処理装置に限らず、他の特定な
専用処理を行う装置に対しても、同様に適用することが
できる。
The explanation above has been given using the scalar instruction control section as the main instruction control section and the vector instruction control section as the slave instruction control section. The same can be applied to.

(ト)発明の詳細 な説明した如く、本発明によれば、並列処理により高速
に命令を処理しつつ、例えばノイズによる間欠的なハー
ド障害に対し、誤動作の起きた命令を再実行させ、シス
テムの信頼性を向上させることが可能となる。
(G) As described in detail, according to the present invention, while processing instructions at high speed through parallel processing, the system can re-execute instructions that have malfunctioned in response to intermittent hardware failures caused by noise, for example. This makes it possible to improve the reliability of the system.

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

第1図は一般的なベクトル処理システムの例、第2図は
スカラ命令とベクトル命令の命令語の例、第3図は本発
明の一実施例構成、第4図はスカラ命令とベクトル命令
とを逐次処理するときのタイムチャート、第5図はスカ
ラ命令とベクトル命令とを並列処理するときの本発明の
詳細な説明するためのタイムチャートを示す。 図中、8はスカラ命令制御部、9はインタフェース・レ
ジスタ、10はベクトル命令制御部、28は書き込みア
ドレス・レジスタ、29は命令語スタック、35は読み
出しアドレス拳レジスタを表わす。 特許出願人   富士通株式会社
Fig. 1 is an example of a general vector processing system, Fig. 2 is an example of instruction words for scalar instructions and vector instructions, Fig. 3 is a configuration of an embodiment of the present invention, and Fig. 4 is an example of scalar instructions and vector instructions. FIG. 5 shows a time chart for explaining the present invention in detail when scalar instructions and vector instructions are processed in parallel. In the figure, 8 represents a scalar instruction control section, 9 an interface register, 10 a vector instruction control section, 28 a write address register, 29 an instruction word stack, and 35 a read address register. Patent applicant Fujitsu Limited

Claims (1)

【特許請求の範囲】[Claims] 主命令制御部と従命令制御部とをMし、上記主命令制御
部は上記従命令制御部に命令の種別に応じて命令に関す
る情報を渡し、命令を実行するデータ処理装置において
、上記主命令制御部から上記従命令制御部へ渡された上
記命令に関する情報を順次複数個保持する命令保持レジ
スタと、該命令保持レジスタに格納された命令のうち実
行が未完了の命令をポイントするスタックアドレス・レ
ジスタとを少なくともそなえ、誤動作が生じた命令につ
いて上記命令保持レジスタから上記スタックアドレス・
レジスタに基づいて命令な収シ出して再実行するように
したことを特徴とする命令再実行制御方式。
A main instruction control unit and a slave instruction control unit are M, and the main instruction control unit passes information regarding the instruction to the slave instruction control unit according to the type of instruction, and the data processing device that executes the instruction receives the main instruction. An instruction holding register that sequentially holds a plurality of pieces of information regarding the instructions passed from the control unit to the slave instruction control unit, and a stack address that points to an uncompleted instruction among the instructions stored in the instruction holding register. The stack address and register are provided at least, and the stack address and
An instruction re-execution control method characterized in that instructions are retrieved and re-executed based on registers.
JP58093753A 1983-05-27 1983-05-27 Instruction reexecution control system Pending JPS59220844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58093753A JPS59220844A (en) 1983-05-27 1983-05-27 Instruction reexecution control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58093753A JPS59220844A (en) 1983-05-27 1983-05-27 Instruction reexecution control system

Publications (1)

Publication Number Publication Date
JPS59220844A true JPS59220844A (en) 1984-12-12

Family

ID=14091185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58093753A Pending JPS59220844A (en) 1983-05-27 1983-05-27 Instruction reexecution control system

Country Status (1)

Country Link
JP (1) JPS59220844A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166636A (en) * 1985-01-18 1986-07-28 Hitachi Ltd Control system for re-execution of instruction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166636A (en) * 1985-01-18 1986-07-28 Hitachi Ltd Control system for re-execution of instruction

Similar Documents

Publication Publication Date Title
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
JP2597811B2 (en) Data processing system
US4745547A (en) Vector processing
JP3120152B2 (en) Computer system
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
US6301655B1 (en) Exception processing in asynchronous processor
JPH0668726B2 (en) Register management system
JPH087678B2 (en) Computers for processing different architecture instructions and resulting communication methods
JPH02257219A (en) Pipeline processing apparatus and method
JPS6239780B2 (en)
JPH06214799A (en) Method and apparatus for improvement of performance of random-sequence loading operation in computer system
JPH0766329B2 (en) Information processing equipment
JPH02227730A (en) Data processing system
JPH03286332A (en) Digital data processor
JPH09152973A (en) Method and device for support of speculative execution of count / link register change instruction
US3553655A (en) Short forward conditional skip hardware
US5283891A (en) Error information saving apparatus of computer
JPS59220844A (en) Instruction reexecution control system
JPH09138748A (en) Method and apparatus for early completion of floating-point instruction
JP3534987B2 (en) Information processing equipment
JPS6329292B2 (en)
JP2793396B2 (en) Computer status holding device
JP2793386B2 (en) Computer error information storage device for computer
JPH04181331A (en) Instruction retry system