JPS61107471A - Parallel arithmetic processing device - Google Patents

Parallel arithmetic processing device

Info

Publication number
JPS61107471A
JPS61107471A JP22777484A JP22777484A JPS61107471A JP S61107471 A JPS61107471 A JP S61107471A JP 22777484 A JP22777484 A JP 22777484A JP 22777484 A JP22777484 A JP 22777484A JP S61107471 A JPS61107471 A JP S61107471A
Authority
JP
Japan
Prior art keywords
instruction
arithmetic
instructions
executed
execution
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
JP22777484A
Other languages
Japanese (ja)
Inventor
Yoichi Shintani
洋一 新谷
Toru Shonai
亨 庄内
Eiki Kamata
釜田 栄樹
Shigeo Takeuchi
武内 茂雄
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP22777484A priority Critical patent/JPS61107471A/en
Publication of JPS61107471A publication Critical patent/JPS61107471A/en
Pending 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

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)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To permit the limitting of number of a saving buffer for the same of original data for each command by controlling the extent of passing of arithmetic execution of a command within the number of preset commands. CONSTITUTION:Instruction words and operands read from a memory device 5 are sent to operators 7 and 10. An instruction number generator 4 generates an instruction number indicating the conceptual sequence for each instruction each time the instruction is decoded in an instruction decorder 2, and sends it to an instruction number register 8 or 11. Using instruction addresses of instructions which were input through signal conductors 54 and 55 and are currently performing arithmetics in the operators 7 and 10, an instruction difference detecting circuit 50 suspends the execution of the arithmetics, especially writing of the result, in the operator 7 if they satisfies certain conditions. The case of an instruction difference detecting circuit 51 is alike.

Description

【発明の詳細な説明】 (発明の利用分野〕 本発明はいわゆる汎用コンピュータ等の、概念的に命令
が一つずつ処理されるコンピュータに係り、特に処理速
度向上のために複数の演算器にて複数の命令を並列に演
算する方式を実現する上で重要となる制御方式に関する
Detailed Description of the Invention (Field of Application of the Invention) The present invention relates to a computer, such as a so-called general-purpose computer, in which instructions are conceptually processed one by one. This paper relates to a control method that is important in realizing a method for calculating multiple instructions in parallel.

〔発明の背景〕[Background of the invention]

概念的に命令が一つずつ処理されるコンピュータのうち
、複数の演算器にて複数の命令を並列に演算する方式を
とるものの従来例の1つとして、日立製作所のHITA
CS−810がある。S−810においては、概念的に
順序づけられた2つの命令が、異なる演算器で演算され
得るため、結果の書き込み順序が概念的順序の逆となる
ことがある。
Among computers that conceptually process instructions one by one, Hitachi's HITA is one of the conventional examples of computers that operate on multiple instructions in parallel using multiple arithmetic units.
There is CS-810. In S-810, two conceptually ordered instructions can be operated on different arithmetic units, so the writing order of the results may be the opposite of the conceptual order.

米国IBM社の370アーキテクチャ−において、S−
810で起こるような結果の書き込み順序の逆転が起こ
ると、いくつかの問題点が発生する。
In IBM's 370 architecture, S-
When a reversal of the writing order of results occurs, as occurs at 810, several problems arise.

この問題点は、概念的に先行する命令の結果の書き込み
が行われた時点、すなわち、演算実行の完了した時点で
、概念的に後続の命令の処理を中断する必要が生じた時
、既に記憶装置に該後続命令の結果の書き込みが行われ
ていると、同アーキテクチャの仕様に従い、記憶装置を
該後続命令による結果の書き込みがなかった状態に復元
しなければならないことから生ずる。このように結果の
書き込みが行われる前の状態に復元することを結果の書
き込みの無効化と言う、これを行うには、結果の書き込
みが無効化される可能性のある場合は。
This problem arises when conceptually the result of the preceding instruction is written, that is, when the execution of the operation is completed, and when it becomes necessary to interrupt the processing of the subsequent instruction, the memory has already been stored. This arises from the fact that if the result of the subsequent instruction is written to the device, the storage device must be restored to a state in which no result was written by the subsequent instruction, according to the specifications of the architecture. Restoring to the state before the result write was done in this way is called disabling the result write, if the result write could be disabled in order to do this.

書き込みによって失われるフィールドのデータ(これを
元データと呼ぶ)を予め退避しておき、書き込み後これ
を無効化する必要の生じた場合には、退避しておいた元
データを再び該フィールドに書き込む動作が必要となる
Save the field data that will be lost due to writing (this is called original data) in advance, and if it becomes necessary to invalidate it after writing, write the saved original data to the field again. Action is required.

この元データ退避用のレジスタ群のことを単に退避バッ
ファと呼ぶこととする。退避バッファを構成するレジス
タ本数としては、任意の命令について、該命令の演算実
行が完了した時点で命令処理を中断する必要が生じた時
、先に演算実行の完了した概念的後続命令で変更される
フィールドの元データが全て該退避バッファ内に残って
いるために必要な本数とすることが必要である。このた
めには逆に、ある命令に対して先に演算実行の完了する
後続命令の数の最大値M71が判っている必要がある。
This group of registers for saving original data will be simply referred to as a save buffer. Regarding the number of registers that make up the save buffer, when it becomes necessary to interrupt instruction processing at the point when the operation execution of an arbitrary instruction is completed, the number of registers that make up the save buffer can be changed by the conceptually subsequent instruction that has completed the operation execution first. It is necessary to set the number of lines as necessary because all the original data of the field remains in the save buffer. To do this, conversely, it is necessary to know the maximum value M71 of the number of subsequent instructions whose arithmetic executions are completed first for a certain instruction.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、ある命令に対して先に演算実行の完了
する後続命令の数の最大値を、予め定めた値M−1とす
る制御手段を有し、もって上記退避バッファのレジスタ
本数をM−1命令分とする    □ことを可能とする
並列演算処理装置を提供するこ     ′:とにある
An object of the present invention is to have a control means for setting the maximum value of the number of subsequent instructions that complete arithmetic execution to a predetermined value M-1 for a certain instruction, thereby increasing the number of registers in the save buffer. The object of the present invention is to provide a parallel arithmetic processing device that can perform M-1 instructions.

〔発明の概要〕[Summary of the invention]

このような目的を達成するために、本発明におい゛ては
、各命令のデコード時に概念的実行順序を示す命令番号
を生成し、各命令について、他の演算実行手段内の命令
の命令番号との差を算出し、これが予め定められた値M
−1を越える時には該命令の演算実行を保留することに
特徴がある。
In order to achieve such an objective, in the present invention, an instruction number indicating the conceptual execution order is generated when each instruction is decoded, and for each instruction, the instruction number and the instruction number of instructions in other operation execution means are generated. , and this is the predetermined value M
The feature is that when the value exceeds -1, execution of the operation of the instruction is suspended.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第1図により説明する。第1
図は1本発明による並列演算処理装置のブロック図であ
る。
An embodiment of the present invention will be described below with reference to FIG. 1st
FIG. 1 is a block diagram of a parallel processing device according to the present invention.

1は命令語の解読、オペランドの読み出し等を行う命令
制御ユニットであり、命令デコーダ2、オペランド読み
出し装置3、命令番号生成器4等からなる。5は記憶装
置であり、命令語、オペランド等が格納される。6は命
令語で指定された演算を行う演算ユニットであり、演算
器7.命令番号レジスタ8及び命令差検出回路50から
成る。
Reference numeral 1 denotes an instruction control unit that decodes instruction words, reads operands, etc., and includes an instruction decoder 2, an operand reading device 3, an instruction number generator 4, and the like. 5 is a storage device in which command words, operands, etc. are stored. 6 is an arithmetic unit that performs an operation specified by a command word, and arithmetic units 7. It consists of an instruction number register 8 and an instruction difference detection circuit 50.

9も6と同様の演算ユニットであり、演算器1o、命令
番号レジスタ11及び命令差検出回路51とから成る。
9 is also an arithmetic unit similar to 6, and includes an arithmetic unit 1o, an instruction number register 11, and an instruction difference detection circuit 51.

記憶装置5から読み出された命令語は信号線21を介し
て命令デコーダ2に入力され、解読が行われる。命令語
で指定された演算に必要なオペランドは、命令デコーダ
から送られる命令の解読結果に基づいてオペランド読み
出し装置3がオペランド読み出し要求を信号線22を介
して記憶装置5に送出することによって、記憶袋[5か
ら読み出される。記憶装置5から読み出されたオペラン
ドは、信号線23を介して演算器7もしくは10に送出
される。命令デコーダ2による命令語の解読の結果得ら
れた情報のうち、演算実行に必要な情報が信号線24を
介して演算器7もしくは10に送出される。
The instruction word read from the storage device 5 is input to the instruction decoder 2 via the signal line 21 and decoded. The operands required for the operation specified by the instruction word are stored by the operand reading device 3 sending an operand reading request to the storage device 5 via the signal line 22 based on the decoding result of the instruction sent from the instruction decoder. Read from bag [5. The operand read from the storage device 5 is sent to the arithmetic unit 7 or 10 via the signal line 23. Among the information obtained as a result of decoding the instruction word by the instruction decoder 2, information necessary for executing the operation is sent to the arithmetic unit 7 or 10 via the signal line 24.

命令番号生成器4は、命令デコーダ2で命令が解読され
る毎に各命令にその概念的順序を示す。
The instruction number generator 4 indicates to each instruction its conceptual order each time the instructions are decoded by the instruction decoder 2.

命令番号を生成し、信号線25を介して命令番号レジス
タ8もしくは11にこれを送出する。命令番号生成器4
は、該命令処理装置で最初に実行されるべき命令に対す
る命令番号として値1を初期設定し、以後1つの命令が
デコードされる度にlずつ値を増加させたものを命令番
号とする。但し、命令番号を有限の桁数で表現するため
に、適当な定数Nに達したら、次の命令番号を値lに戻
すものとする。この定数Nとしては、予め定めた自然数
M (M≧1)、演算器の個数E(第1図では2個、一
般にはE≧2)を用いて次の条件(1)を満たすように
設定する。
An instruction number is generated and sent to the instruction number register 8 or 11 via the signal line 25. Instruction number generator 4
initially sets the value 1 as the instruction number for the first instruction to be executed by the instruction processing device, and thereafter increments the value by l each time one instruction is decoded. However, in order to express the instruction number with a finite number of digits, when a suitable constant N is reached, the next instruction number is returned to the value l. This constant N is set to satisfy the following condition (1) using a predetermined natural number M (M≧1) and the number E of computing units (2 in Fig. 1, generally E≧2). do.

N>2・ (M+’E−2)  ・・・・・・条件(1
)本実施例では演算器7,10はいずれもすべての命令
の演算を行うことが可能であるように構成されているも
のとする。従って、演算ユニット6もしくは9のいずれ
か一方が空いている(演算実行を行っていない)場合空
いている演算ユニットに対して、また演算ユニット6お
よび9の両方共空いている場合、適当な方に対して、命
令制御ユニット1から命令語の解読情報と命令番号、そ
して記憶族W15から対応するオペランドがセットア1
     ツブされる。もし演算器7,10の構成が同
一でなく、特定の命令については一方の演算器でしか演
算実行できないような実施態様を考えたならば、命令制
御ユニット1でデコードされたそのような命令のセット
アツプは、その命令の演算実行の可能な演算ユニットが
空きの状態となった後、その演算ユニットに対して行わ
れるよう構成する必要がある。
N>2・(M+'E-2) ・・・・・・Condition (1
) In this embodiment, it is assumed that both the arithmetic units 7 and 10 are configured to be able to perform arithmetic operations for all instructions. Therefore, if one of the arithmetic units 6 or 9 is vacant (not executing arithmetic operations), the vacant arithmetic unit, and if both the arithmetic units 6 and 9 are vacant, an appropriate one is selected. , the instruction word decoding information and instruction number from the instruction control unit 1, and the corresponding operand from the memory group W15 are set in the set store 1.
I get stabbed. If we consider an implementation in which the configurations of the arithmetic units 7 and 10 are not the same and a specific instruction can be executed only by one of the arithmetic units, then Setup must be configured to be performed on an arithmetic unit that can execute the instruction after the arithmetic unit becomes vacant.

今仮に、演算ユニット6に対して命令のセラ1〜アツプ
が行われたとすると、演算器7において、命令語で指定
された演算が実行される。この間。
Assuming that instructions are sent to the arithmetic unit 6 from 1 to 2, the arithmetic unit 7 executes the arithmetic operation specified by the instruction word. During this time.

命令番号レジスタ8では、該命令の命令番号が保持され
る。
The instruction number register 8 holds the instruction number of the instruction.

演算器7での演算実行が終了すると、信号線52を介し
て結果が記憶族ffi!5に書き込まれる。
When the arithmetic operation in the arithmetic unit 7 is completed, the result is sent to the memory group ffi! via the signal line 52. 5 is written.

また演算ユニット9に対して命令のセットアツプが行わ
れたとすると、演算器10において命令語で指定された
演算が実行される。この間命令番号レジスタ11では、
該命令の命令番号が保持される。演算器lOでの演算実
行が終了すると、信号線53&介5、結果がお憶装置5
.2□えよゎ      1;る。
Further, when instructions are set up for the arithmetic unit 9, the arithmetic unit 10 executes the arithmetic operation specified by the instruction word. During this time, in the instruction number register 11,
The instruction number of the instruction is held. When the arithmetic operation in the arithmetic unit 10 is completed, the result is transferred to the signal line 53 and the storage device 5.
.. 2□Eyowa 1;

命令差検出回路50は、信号線54を介して入力される
。演算器7で演算実行中の命令の命令番号Sと、信号線
55を介して入力される。演算器10で演算実行中の命
令の命令番号Tとを用い、これが次の条件(2)を満た
している間、信号線56をオンとする。
The instruction difference detection circuit 50 receives input via a signal line 54. The instruction number S of the instruction currently being executed by the arithmetic unit 7 is input via the signal line 55 . Using the instruction number T of the instruction being executed by the arithmetic unit 10, the signal line 56 is turned on while the instruction number T satisfies the following condition (2).

SATならば M+E−2≧S−T≧M S<Tならば N−(M+E−2)≦T−5:aN−M・・・・・・条
件(2) 信号線56がオンである間は、演算器7での演算実行、
特に結果の書き込みは保留する。この演算実行の保留は
例えばマイクロプログラム制御の演算器の場合なら、マ
イクロプログラムの実行を保留する等、従来技術で容易
に実現できる。
If SAT, then M+E-2≧S-T≧M If S<T, then N-(M+E-2)≦T-5: aN-M...Condition (2) While the signal line 56 is on is the calculation execution in the calculation unit 7,
In particular, writing the results will be suspended. For example, in the case of a microprogram-controlled arithmetic unit, this suspension of execution of arithmetic operations can be easily realized using conventional techniques, such as suspending the execution of a microprogram.

命令差検出回路51も同様に、信号線55を介して入力
される、演算器10で演算実行中の命令の命令番号Tと
信号線54を介して入力される、演算器7で演算実行中
の命令の命令番号Sとを用い、これが上記条件(2)に
おけるTとSを入れ換えて得られる条件を満たしている
間、信号線57をオンとする。信号線57がオンである
間は、演算器10での演算実行、特に結果の書き込みは
保留する。
Similarly, the instruction difference detection circuit 51 also receives the instruction number T of the instruction being executed by the arithmetic unit 10, which is input via the signal line 55, and the instruction number T of the instruction which is being executed by the arithmetic unit 7, which is input via the signal line 54. Using the command number S of the command, the signal line 57 is turned on while this satisfies the condition obtained by replacing T and S in the above condition (2). While the signal line 57 is on, execution of arithmetic operations in the arithmetic unit 10, especially writing of results, is suspended.

以上のように命令差検出回路50もしくは51からの出
力信号によって演算器7もしくは10での演算実行を適
宜保留することによって、任意の命令に対してM命令以
上後の命令が先に演算実行を終了することは次の理由で
あり得なくなる。
As described above, by appropriately suspending the execution of arithmetic operations in the arithmetic unit 7 or 10 based on the output signal from the instruction difference detection circuit 50 or 51, the instructions after M instructions or more for any given instruction are executed first. Termination becomes impossible for the following reasons.

着目している命令差検出回路の属する演算器にある命令
の命令番号をSとし、該命令をI (S)とする、また
I  (S)がそれより先に実行していないかチェック
されるべき命令の命令番号をTとし、該命令をI  (
T)とする。
Let S be the instruction number of the instruction in the arithmetic unit to which the instruction difference detection circuit of interest belongs, let I (S) be the instruction, and check whether I (S) has been executed earlier. The instruction number of the instruction to be executed is T, and the instruction is I (
T).

(1)命令I  (S)が命令I  (T)の概念的後
続令命の場合。
(1) When instruction I (S) is a conceptual successor to instruction I (T).

この場合I  (S)がI  (T)よりM命令以上後
であるなら演算実行の保留が必要である。
In this case, if I (S) is more than M instructions after I (T), it is necessary to suspend the execution of the operation.

a)命令番号生成器4にて命令番号Tが生成されてから
命令番号Sが生成されるまでに、命令番号がNから1へ
ラップアラウンドしなかった場合 この場合(1)a)にあるように、S>Tであり、しか
も命令番号差S−Tは、命令1 (T)を基準にして命
令r  (s)が何番目の命令であるかを示している。
a) If the instruction number does not wrap around from N to 1 from the generation of instruction number T to the generation of instruction number S in the instruction number generator 4 In this case, as in (1) a) In addition, S>T, and the instruction number difference ST indicates the number of instruction r (s) with respect to instruction 1 (T).

よってI  (S)がI (T)からMないしM+E−
2命令目までの範囲に入れば条件(2)の第1項の条件
が成立し、  I (S)の演算実行が保留される。こ
こで保留されるべきSの値としては、S−TがMのみで
なく1区間(M、M+E−2)内の値としているのは次
の理由による。すなわち、ある命令I(S’)でS’−
TがMに達するとr(s’)の演算は保留されるが、空
いた演算器がある限り命令のセットアツプ自体は続けら
れるとしているので。
Therefore, I (S) becomes I (T) from M or M+E-
If the range is within the range up to the second instruction, the first term of condition (2) is satisfied, and the execution of the operation of I (S) is suspended. The reason why the value of S to be held here is not only M but also a value within one interval (M, M+E-2) for ST is as follows. That is, in a certain instruction I(S'), S'-
When T reaches M, the operation of r(s') is suspended, but the instruction setup itself continues as long as there are free arithmetic units.

一般的にはE個の演算器のうち命令I (T)のある演
算器を除くE−1個の演算器に保留されるべきM番目以
降の命令がセットアツプされる可能性があるからである
。すなわちI  (T)を基準として、M命令口からM
+(E−1)−1=M+E−2命令目までの範囲にある
命令に対して保留条件を成立させる必要があるからであ
る。
Generally speaking, there is a possibility that the M-th and subsequent instructions to be held in E-1 arithmetic units excluding the arithmetic unit with instruction I (T) among E arithmetic units may be set up. be. That is, with I (T) as the reference, M
This is because it is necessary to satisfy the suspension condition for the instructions in the range up to the +(E-1)-1=M+E-2nd instruction.

またr (T)が演算実行中である限りI  (T)か
らM+E−2命令目よりさらに後の命令が演算器にセッ
トアツプされることはないため、M+E−2命令目まで
の命令に対してのみ保留条件させるようにすれば十分で
ある。
Also, as long as r (T) is executing an operation, instructions after the M+E-2nd instruction from I (T) will not be set up in the arithmetic unit. It is sufficient to set the suspension condition only for those cases.

このように、I (S)がI  (T)の後続命令であ
りしかもS>Tであるならば S−T≦M+E−2・・・・・・式(1)が成立する。
In this way, if I (S) is a subsequent instruction of I (T) and S>T, then ST≦M+E-2...Equation (1) holds true.

また一方保留条件を満たすS−Tの値として単に区間1
:M、a)内の値としなかった理由は、S>Tであって
もS−TがM+E−2より太きい場合は後述のように、
  I  (S)がI  (T)より概念的に先行する
命令でありしかもSからTの間で命令番号生成のラップ
アラウンドが発生     ゛”した場合(後述の(2
)b)の場合となり得るため、この場合に演算実行を保
留するとI  (T)より先に実行すべき! (S)を
保留することになり該処理装置のハングアップを引き起
すことになり得るため好ましくないからである。
On the other hand, as the value of S-T that satisfies the reservation condition, simply interval 1
:M, the reason why it was not set as a value in a) is that even if S>T, if ST is thicker than M+E-2, as described later,
If I (S) is an instruction that conceptually precedes I (T), and wraparound of instruction number generation occurs between S and T (see (2) below),
)b), so if the execution of the operation is suspended in this case, it should be executed before I (T)! This is because (S) is put on hold, which may cause the processing device to hang up, which is undesirable.

b)命令番号Tが生成されてから命令番号Sが生成され
までにラップアラウンドがあった場合この場合、第2図
(1) b)にあるようにSATであり、また命令番号
差T−8は、これをNがら引いた値N−(T−8)が命
令I  (T)を基準にして命令r (s)が何番目の
命令であるかを示している。よってI (S)がI (
T)がらMないしM+E−2命令目までの範囲に入れば
、M:5N−(T−3)≦M+E−2・・・式(2)が
成立し、これは条件(2)の第2項が成立することに他
ならず、従ってI  (S)の演算実行が保留される。
b) When there is a wraparound between the generation of instruction number T and the generation of instruction number S. In this case, as shown in Figure 2 (1) b), it is SAT, and the instruction number difference is T-8. The value N-(T-8) obtained by subtracting this from N indicates the number of the instruction r(s) with respect to the instruction I(T). Therefore, I (S) becomes I (
If T) falls within the range from M to M+E-2nd instruction, then M:5N-(T-3)≦M+E-2...Equation (2) holds true, which means that the second condition of condition (2) This means that the term holds true, and therefore the execution of the operation of I (S) is suspended.

このようにすれば、I  (T)が演算実行中である限
り、  I  (T)からM+E−2命令目よりさらに
後の命令が演算器にセットアツプされることはないため
、この場合、 N−(T−5)≦M+E−2 あるいは T−5≧N−(M+E−2)     ・・・式(3)
が成立する。
In this way, as long as I (T) is executing an operation, instructions after the M+E-2 instruction from I (T) will not be set up in the arithmetic unit, so in this case, N -(T-5)≦M+E-2 or T-5≧N-(M+E-2) ...Formula (3)
holds true.

さらに本実施例では上述の条件(1)から明らかなよう
に N−(M+E−2)>M+E−2 であるから、式(3)、より、この場合T−8>M+E
−2・・・式(4) が成立することもわかる。
Furthermore, in this example, as is clear from the above condition (1), N-(M+E-2)>M+E-2, so from equation (3), in this case T-8>M+E
-2... It can also be seen that equation (4) holds true.

なおここで保留されるべきSの値としてT−8がN−M
のみでなく区間(N−(M+E−2)。
Note that T-8 is N-M as the value of S to be reserved here.
but also the interval (N-(M+E-2)).

N−M)内の値としている理由、ならびに〔1゜N−M
)内の値としながった理由は上記a)項におけると同様
である。
The reason why the value is within [1°N-M] and [1°N-M
The reason for not using the values in ) is the same as in item a) above.

(2)命令r (s)が命令1 (T)の概念的先行命
令の場合 この場合はI (S)の演算実行を保留する必要のない
ことは明らかである。しかし逆にこの場合に命令番号S
が上記条件(2)を満たすことがないことを確認してお
かねば処理装置のハングアップにつながり好しくない。
(2) When instruction r (s) is a conceptual predecessor instruction of instruction 1 (T) In this case, it is clear that there is no need to suspend the execution of the operation of I (S). However, in this case, the instruction number S
Unless it is confirmed that the above condition (2) is not satisfied, the processing device may hang up, which is undesirable.

a)命令番号Sが生成されてから命令番号Tが生成され
るまでにラップアラウンドがなかった場合 この場合第2図(2) a)にあるようにSATである
ため、上記(1) b)の場合と区別されねばならない
、しかし、命令I  (T)のある演算器に付随した命
令差検出回路の制御に従ってT−5:&M+E−2・・
・式(5) が成り立つことはと記(1) a)における式(1)の
成立理由と全く同様であり、ゆえに条件(2)を満たす
ことがあり得ないのは明らかである。
a) If there is no wraparound between the generation of instruction number S and the generation of instruction number T In this case, as shown in Figure 2 (2) a), it is SAT, so the above (1) b) However, according to the control of an instruction difference detection circuit attached to an arithmetic unit with instruction I (T), T-5:&M+E-2...
- The fact that equation (5) holds is exactly the same as the reason for equation (1) to hold in (1) a), so it is clear that condition (2) cannot be satisfied.

b)命令番号Sが生成されてから命令番号Tが生成され
るまでにラップアラウンドがあった場合 この場合、第2図(2) b)にあるようにSATであ
るため、上記(1) a)の場合と区別されねばならな
い、しかし、命令T (I)のある演算器に付随した命
令差検出回路の制御に従って、S−T≧N−(M+E−
2)     ・・・式(6)S−T>M+E−2・・
・式(7) が成り立つことは上記(1)b)における式(4)の成
立理由と全く同様であり、ゆえに条件(2)を満たすこ
とがあり得ないのは明らかである。
b) If there is a wraparound between the generation of instruction number S and the generation of instruction number T. In this case, as shown in Figure 2 (2) b), it is SAT, so (1) a above. ), however, according to the control of an instruction difference detection circuit attached to an arithmetic unit with instruction T (I), S−T≧N−(M+E−
2) ...Formula (6) S-T>M+E-2...
- The fact that equation (7) holds is exactly the same as the reason for equation (4) in (1) b) above, so it is clear that condition (2) cannot be satisfied.

以上(1)a)、b)、 (2)a)、b)の理由によ
り1条件(2)に従って命令差検出回路の出力をオンと
し1.:れによって対応する演算器での演算実行を適宜
保留することとすれば、命令(S)がI (T)より概
念的にM命令以上後の命令であった場合、追い越して演
算実行されることはあり得ないこととなる。
For the reasons (1) a), b) and (2) a), b) above, the output of the instruction difference detection circuit is turned on according to condition (2).1. :If the execution of the operation in the corresponding arithmetic unit is suspended accordingly, if the instruction (S) is conceptually more than M instructions after I (T), the operation will be executed after overtaking it. That would be impossible.

なお、第1図の実施例では演算器の個数Eは2であった
が、Eが2より大きい実施例の時についての、演算実行
の保留条件は次のようになる。すなわち、演算実行の保
留の有無について着目している演算器で現在演算実行中
の命令番号をSとし。
In the embodiment shown in FIG. 1, the number E of arithmetic units is 2, but in the embodiment where E is greater than 2, the conditions for suspending the execution of arithmetic operations are as follows. That is, let S be the instruction number currently being executed in the arithmetic unit whose execution is being looked at as to whether or not the execution of the operation is suspended.

その他のE−1個の演算器で演算実行中の最大E−1個
の命令の命令番号をT、(i=1.2.・・・    
  ′□□1・・・、E−1)とするとき、条件(2)
のTを各i毎にT、に置き換えて得られるE−1個の条
件のうち、少なくもいずれか1つが成立するという条件
である。
The instruction numbers of the maximum E-1 instructions being executed in other E-1 arithmetic units are T, (i=1.2...
′□□1..., E-1), condition (2)
This is a condition that at least one of the E-1 conditions obtained by replacing T with T for each i is satisfied.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、並列演算処理装置において、命令の演
算実行の追い越しの度合を、予め設定した命令数M−1
以内に制限することができるため。
According to the present invention, in a parallel arithmetic processing device, the degree of overtaking of instruction execution is set by a preset number of instructions M−1.
Because it can be limited within.

命令の演算実行による結果の書き込み無効化する際に必
要な、各命令での元データの退避のための退避バッファ
を構成するレジスタ本数を高々M−1命令分にすること
を可能とするので、ハードウェアの無用の増加をおさえ
る上で効果がある。
This makes it possible to reduce the number of registers constituting a save buffer for saving the original data of each instruction, which is necessary when writing and invalidating the result of the execution of an instruction, to at most M-1 instructions. This is effective in suppressing unnecessary increase in hardware.

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

第1図は、本発明を適用した並列演算処理装置の構成図
、第2図は命令番号と演算実行の保留条件の成立範囲を
示す図である。 1・・・命令制御ユニット、4・・・命令番号生成器、
5・・・記憶装置、6,9・・・演算、ユニット、7,
10・・・演算器、8,11・・・命令番号レジスタ、
50゜篤 #  口
FIG. 1 is a block diagram of a parallel arithmetic processing device to which the present invention is applied, and FIG. 2 is a diagram showing instruction numbers and ranges in which conditions for suspending arithmetic execution are met. 1... Instruction control unit, 4... Instruction number generator,
5... Storage device, 6, 9... Arithmetic unit, 7,
10... Arithmetic unit, 8, 11... Instruction number register,
50゜Atsushi #mouth

Claims (1)

【特許請求の範囲】 1、概念的に命令が一つずつ処理され結果が概念的に順
序的に記憶装置に書き込まれるデータ処理装置において
、命令の演算実行を相互に並列に行なうことのできる複
数の演算実行手段と、各演算実行手段にて演算実行され
ている命令が他の演算実行手段にて演算実行されている
命令よりも予め定められた命令数以上後の命令である場
合これを検出する検出手段と、検出手段により演算実行
手段Aにて演算実行されている令命 I が他のある演算
実行手段Bにて演算実行されている命令よりも上記命令
数以上後の命令であることが検出されている間、上記演
算実行手段Aによる上記命令 I の演算実行を保留する
演算実行保留手段を有することを特徴とする並列演算処
理装置。 2、各命令に対して概念的実行順序を表わす命令番号を
生成する命令番号生成手段を有し、各演算実行手段に対
応して該演算実行手段にて演算実行中の命令の命令番号
を保持する命令番号保持手段を有し、上記検出手段とし
ては各演算実行手段で演算実行中の命令の命令番号とそ
の他の演算実行手段で演算実行中の命令の命令番号の差
に基づいて検出することを特徴とする第1項記載の並列
演算処理装置。
[Claims] 1. In a data processing device in which instructions are conceptually processed one by one and the results are conceptually written sequentially to a storage device, a plurality of instructions can be executed in parallel. Detecting when the instruction being executed by each operation execution means is a predetermined number of instructions or more later than the instruction being executed by the other operation execution means. and the instruction I being executed by the operation execution means A by means of the detection means is an instruction that is the number of instructions or more later than the instruction being executed by some other operation execution means B. A parallel arithmetic processing device comprising an arithmetic execution suspending means for suspending the arithmetic execution of the instruction I by the arithmetic execution means A while the instruction I is being detected. 2. It has an instruction number generation means for generating an instruction number representing a conceptual execution order for each instruction, and holds the instruction number of the instruction being executed by the operation execution means in correspondence with each operation execution means. The detecting means detects based on the difference between the instruction number of the instruction being executed by each operation execution means and the instruction number of the instruction being executed by the other operation execution means. 2. The parallel arithmetic processing device according to claim 1, characterized in that:
JP22777484A 1984-10-31 1984-10-31 Parallel arithmetic processing device Pending JPS61107471A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22777484A JPS61107471A (en) 1984-10-31 1984-10-31 Parallel arithmetic processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22777484A JPS61107471A (en) 1984-10-31 1984-10-31 Parallel arithmetic processing device

Publications (1)

Publication Number Publication Date
JPS61107471A true JPS61107471A (en) 1986-05-26

Family

ID=16866169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22777484A Pending JPS61107471A (en) 1984-10-31 1984-10-31 Parallel arithmetic processing device

Country Status (1)

Country Link
JP (1) JPS61107471A (en)

Similar Documents

Publication Publication Date Title
JP2539199B2 (en) Digital processor controller
US5113521A (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
US5043867A (en) Exception reporting mechanism for a vector processor
JPH0242569A (en) Context switching method and apparatus used for vector processing system
US6959367B2 (en) System having read-modify-write unit
JPH08171494A (en) Multi-thread processor
JPS61107434A (en) Data processor
JPH0430053B2 (en)
JPH0450621B2 (en)
US5003468A (en) Guest machine execution control system for virutal machine system
JPS61107471A (en) Parallel arithmetic processing device
JPS58178464A (en) Parallel arithmetic processing unit
JPS623347A (en) Saving system for error recovery information
JP2671160B2 (en) Exception handling method
JPH0133856B2 (en)
JPS615348A (en) Information processor
JP2814683B2 (en) Instruction processing unit
JPH0250259A (en) Method and apparatus for handling exception of non-synchronous memory control with vector processor
JP2562838B2 (en) Processor and store buffer control method
JPS59163671A (en) Vector processor
JP2520158B2 (en) Debugging method of digital signal processor
JPS6149695B2 (en)
JP2622026B2 (en) Register writing control method in central processing unit
JPS61143850A (en) Processor
JPH0248733A (en) Information processor