JPS58178464A - Parallel arithmetic processing unit - Google Patents

Parallel arithmetic processing unit

Info

Publication number
JPS58178464A
JPS58178464A JP57061067A JP6106782A JPS58178464A JP S58178464 A JPS58178464 A JP S58178464A JP 57061067 A JP57061067 A JP 57061067A JP 6106782 A JP6106782 A JP 6106782A JP S58178464 A JPS58178464 A JP S58178464A
Authority
JP
Japan
Prior art keywords
instruction
result
instruction number
order
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
JP57061067A
Other languages
Japanese (ja)
Inventor
Yoichi Shintani
洋一 新谷
Kenichi Wada
健一 和田
Tsuguo Shimizu
清水 嗣雄
Akira Yamaoka
山岡 彰
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 Ltd
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP57061067A priority Critical patent/JPS58178464A/en
Publication of JPS58178464A publication Critical patent/JPS58178464A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Abstract

PURPOSE:To eliminate the need for restoring operation and to eliminate a decrease in processing speed due to the restoration, by providing every arithmetic device with a register for storing its arithmetic result temporarily, and performing writing to a storage device in the order of general conception. CONSTITUTION:An instruction number generator 4 generates an instruction number which indicates general order for every instruction decoded by an instruction decoder 2. The decoded information and instruction number of an instruction word from an instruction control unit and a corresponding operand from a storage device 5 are set up in an arithmetic unit 6 or 9. Its arithmetic result is stored in a result register 13 or 16. When the arithmetic result is stored in the register 13 or 16, a order control circuit 20 decides in the writing order of the general conception and sends out a writing indication command for the arithmetic result in the register 13 or 16 through signal line 38 and 39.

Description

【発明の詳細な説明】 本発明はいわゆる汎用コンピュータ等の、概念的に命令
が一つずつ処理されるコンピュータに係り1%に処理速
度向上のために複数の演算器にて複数の命令を並列に演
算する方式を実現する上で重要となる制御方式に関する
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to computers, such as so-called general-purpose computers, which conceptually process instructions one by one. This paper relates to a control method that is important in realizing a method for calculating.

概念的に命令が一つずつ処理されるコンピュータのうち
、複数の演算器にて複数の命令を並列に演算する方式を
とるものの従来例の1つとして。
Among computers that conceptually process instructions one by one, this is one of the conventional examples of computers that operate on multiple instructions in parallel using multiple arithmetic units.

米国クレイリサーチ社のクレイ1がある。クレイ1にお
いては、概念的に順序づけられた2つの命令が、異なる
演算器で演算され得るため、結果の書き込み順序が概念
的順序の逆となることがある。
There is Cray 1 from Cray Research in the United States. In Cray 1, 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アーキテクチャ−において。In IBM's 370 architecture.

クレイ1で起こるような結果の書き込み順序の逆転が起
こると、いくつかの問題点が発生する。この問題点は、
概念的に先行する命令の結果の書き込み、すなわち、実
行の完了した時点で、後続命令の処理を中断する必要が
生じ走時、既に記憶装置に後続命令の結果の書き込みが
行われていると。
When the reversal of the writing order of results occurs, as occurs in Cray 1, several problems arise. This problem is
Conceptually, when writing the result of the preceding instruction, that is, when execution is complete, it becomes necessary to interrupt the processing of the succeeding instruction, and at the time of execution, the result of the succeeding instruction has already been written to the storage device.

同アーキテクチャの仕様に従い、記憶装置を後続命令に
よる変更の直前の状態に復元しなければならないことか
ら生する。これを行うには、結果の省き込みが無効化さ
れる可能性のある場合#″t1書き込みによって失われ
るフィールドのデータを退避しておき、書き込み後方−
前の状態に復元する必要の生じた場合には、退避してお
い友データを再び書き込むといつ九動作が必要となる。
This arises from the fact that according to the specifications of this architecture, the storage device must be restored to the state immediately before being changed by a subsequent instruction. To do this, save the data in the field that would be lost due to the #''t1 write if result omitting may be disabled, and then
If it is necessary to restore to the previous state, it will take nine operations to save and rewrite the friend data.

このような動作そのものは、従来機種においても別の理
由で行わ扛ている例はあるが、制御が複雑になること、
金物が増加すること、復元に時間を要するため、復元が
頻発すると処理速度の低下要因となることなど、いくつ
かの欠点がある。並列演算を行い、結果の書き込み順序
の逆転を許す方式において、上述のような復元動作が必
要となるのは。
There are cases where this kind of operation itself is performed in conventional models for other reasons, but the control becomes complicated,
This method has several drawbacks, such as an increase in the number of hardware items and the time required for restoration, which slows down the processing speed if restoration occurs frequently. In a system that performs parallel operations and allows the reversal of the writing order of results, the restoration operation described above is necessary.

割込みが起った場合、分岐命令において1分岐判定が確
足する前に予測したストリーム上の命令処理を行う場合
等である。
When an interrupt occurs, a predicted instruction on a stream is processed before a one-branch decision is made in a branch instruction.

割込みの発生する頻度は少ないと考えられるが、分岐命
令の出現頻度はきわめて高く、この時に上述の復元動作
が必要となると、処理速度の低下が無視できず問題であ
る。
Although it is thought that interrupts occur less frequently, branch instructions occur very frequently, and if the above-mentioned restoring operation is required at this time, the reduction in processing speed cannot be ignored and becomes a problem.

本発明は、並列演算によって処理速度の向上を図る上で
、上述のような復元動作の必要でない。
The present invention eliminates the need for the above-described restoration operation in order to improve processing speed through parallel computation.

従って、制御のより簡単で、金物のより少ない。Therefore, easier to control and less hardware.

そして、復元動作による処理速度低下のないコンピュー
タを提供することにある。
Another object of the present invention is to provide a computer in which the processing speed does not decrease due to restoration operations.

本発明の原理は、復元動作が必要となるような結果の書
き込み順序の逆転そのものをなくすことである。すなわ
ち、複数の演算器ごとにその演算結果を一時格納するレ
ジスタをもうけ、記憶装置への書き込みの番を待たせる
。記憶装置への書き込みは、概念的順序に従う。
The principle of the present invention is to eliminate the inversion of the resulting writing order itself, which would require a restoration operation. That is, a register is provided for each of a plurality of arithmetic units to temporarily store the results of the arithmetic operations, and the registers are made to wait for their turn to be written to the storage device. Writing to storage follows a conceptual order.

以下1本発明の一実施例を第1図、第2図により説明す
る。第1図は、本発明による並列演算処理方式を適用し
たコンピュータにおける、命令処理装置のブロック図で
ある。
An embodiment of the present invention will be described below with reference to FIGS. 1 and 2. FIG. 1 is a block diagram of an instruction processing device in a computer to which a parallel arithmetic processing method according to the present invention is applied.

1は命令語の解読、オペランドの読み出し等を行う命令
制御ユニットであり、命令デコーダ2、オペランド読み
出し装置3、命令番号生成器4等からなる。5Vi記憶
装置であり、命令梧、オペランド等が格納される。6は
命令語で指定され九演算を行う演算ユニットであり、演
算器7.レジスタ8から成る。9も6と同様の演算ユニ
ットであり、演算器10、レジスタ11とがら成る。1
2は、演)結果の書き込み順序を制御する順序制御ユニ
ットである。12は、結果レジスタ13及び161命令
番号レジスタ14及び17.有効フラグ15及び18、
セレクタ19.順序制御回路20とから成る。
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. This is a 5Vi storage device in which instructions, operands, etc. are stored. 6 is an arithmetic unit that performs nine operations specified by a command word, and arithmetic units 7. It consists of 8 registers. 9 is also an arithmetic unit similar to 6, and consists of an arithmetic unit 10 and a register 11. 1
2 is an order control unit that controls the writing order of performance results. 12 are result registers 13 and 161 instruction number registers 14 and 17 . Valid flags 15 and 18,
Selector 19. It consists of a sequence control circuit 20.

記憶装置5から読み出され九命令語は信号線21を介し
て命令デコーダ2に入力され、解読が行われる。命令語
で指定された演算に必要なオペランドは、オペランド読
み出し装置3がオペランド読み出し要求を信号線22を
介して記憶装置5に送出することによって、記憶装置5
から読み出される。記憶装置5から読み出され九オペラ
ンドは、信号線23を介して演算器7もしくは10に送
出される。命令デコーダ2による命令語の解読の結果得
らtた情報のうち、演算実行に必要な情報が信号線24
を介して演算器7もしくは1oに送出される。
The nine instruction words read from the storage device 5 are 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 retrieved from the storage device 5 by the operand reading device 3 sending an operand read request to the storage device 5 via the signal line 22.
is read from. The nine operands read from the storage device 5 are 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, the information necessary for the execution of the operation is transmitted to the signal line 24.
The signal is sent to the arithmetic unit 7 or 1o via.

命令番号生成器4は、命令デコーダ2で解読された命令
毎にその概念的順序を示す。命令番号を生成し、信号線
25を介してレジスタ8もしくは11にこnを送出する
。命令番号生成器4は、該命令処理装置で最初に実行さ
れるべき命令に対する命令番号として値1を初期設定し
、以後1つの命令がデコードされる度に1ずつ値を増加
させたものを命令番号とする。但し、命令番号を有限の
桁数で衣現するために、適当な足載Nに運したら。
The instruction number generator 4 indicates the conceptual order of each instruction decoded by the instruction decoder 2. An instruction number is generated and sent to the register 8 or 11 via the signal line 25. The 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 increases the value by 1 each time one instruction is decoded. Number. However, in order to represent the instruction number with a finite number of digits, if it is transferred to an appropriate foot N.

次の命令番号を値1に戻すものとする。この足数Nとし
て、任意の命令について、その処理が完了するまでに引
き続きデコードの行われる可能性のある命令数の最大値
より大きい値を選ぶことにより、同一命令番号を与えら
れ要具なる2つ以上の舌11令が処理進行中となること
を防ぐことができる。
Assume that the next instruction number is returned to the value 1. By selecting a value larger than the maximum number of instructions that may be continuously decoded for any given instruction as the number of legs N, the number of instructions given the same instruction number can be set to 2. It is possible to prevent more than one tongue 11 instar from being processed.

Cのことは%蒲令番号を用いて演算結果の書き込みの順
序性を保障する上で必要なことである。
C is necessary to ensure the order of writing of the calculation results using the % postage number.

本実施汐りでは演算器7.lOはいずれもすべての命令
の演it行うことが可能であるように構成さnているも
のとする。従って、演算ユニット6もしくは9のいずn
か一方が空いている(演算実行を行っていない)場合空
いている演算ユニットに対して%また演算ユニット6お
よび90両方共窒いている場合、適当な方に対して、命
令制御ユニット1から命令語の解読情報と命令番号、そ
して記憶装&5から対応するオペランドがセットアツプ
ちれる。もし演算器7.10の構成が同一でなく1%足
の命令については一方の演算器でしか演新実行できない
ような実施態様を考えたならば。
In this implementation, the computing unit 7. It is assumed that all IOs are configured so that they can execute all instructions. Therefore, either n of arithmetic unit 6 or 9
If one of the units is empty (not executing an operation), the command control unit 1 will send the command to the appropriate unit. The word decoding information, the instruction number, and the corresponding operand are set up from memory &5. If we consider an embodiment in which the configurations of the arithmetic units 7.10 are not the same, and only one of the arithmetic units can execute the derivation of a 1% step instruction.

命令制御ユニット1でデコードされたそのような命令の
セットアツプは、その命令の演算実行の可能な演算ユニ
ットが空きの状態となった後、その演算ユニットに対し
て行われるよう構成する必要がある。
The set-up of such an instruction decoded by the instruction control unit 1 must be configured to be performed on the arithmetic unit after the arithmetic unit capable of executing the instruction becomes free. .

今仮に、演算ユニット6に対して命令のセットアツプが
行われたとすると、演算器7において、命令語で指定さ
れた演算が実行される。この間、レジスタ8では、該命
令の命令番号が保持される。
Assuming that an instruction is set up for the arithmetic unit 6, the arithmetic unit 7 executes the operation specified by the instruction word. During this time, the instruction number of the instruction is held in the register 8.

演算実行が終了し、有効フラグ15が値0を示している
時、y4算器7から信号線26を介して演算結果が送出
さn、結果レジスタ13に格納され。
When the execution of the calculation is completed and the valid flag 15 shows the value 0, the calculation result is sent out from the y4 calculator 7 via the signal line 26 and stored in the result register 13.

レジスタ8から信号@27を介して命令番号が送出さn
、命令番号レジスタ14に格納され、さらに、演算器7
から信号線28を介して、演算結果送出コマンドが送出
され、これにより有効7ラグ15の値を1とする。有効
7ラグ15は、結果レジスタ13に書き込みの完了して
いない演算結果が格納さ扛ているか否かを示すものであ
り、値0の時書き込みの完了していない演算結果が格納
されていないことを、値1の時格納されていることを意
味する。結果レジスタ13に演算結果が格納されると、
演算ユニット6は空き状態となる。
The instruction number is sent from register 8 via signal @27.
, are stored in the instruction number register 14, and furthermore, the arithmetic unit 7
A calculation result sending command is sent from the signal line 28, thereby setting the value of the effective 7 lag 15 to 1. The valid 7 lag 15 indicates whether or not the result register 13 stores an operation result that has not yet been written.When the value is 0, it means that no operation result that has not yet been written is stored. When the value is 1, it means that it is stored. When the calculation result is stored in the result register 13,
The arithmetic unit 6 becomes vacant.

また仮に、演算ユニット9に対して命令のセットアツプ
が行われたとすると、演算器10において、命令語で指
定された演算が実行される。この間、レジスタ11では
、該命令の命令番号が保持される。
Furthermore, if 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, the instruction number of the instruction is held in the register 11.

演算実行が終了し、有効フラグ18が@0を示している
時、演算器10から信号!29t−介して演洒結果が送
出湯れ、結果レジスタ16に格納され、レジスタ11か
ら信号@30を介して命令番号が送出され、命令番号レ
ジスタ17に格納され。
When the calculation execution is completed and the valid flag 18 shows @0, the signal ! from the calculation unit 10 is sent. The execution result is sent out via 29t and stored in the result register 16, and the instruction number is sent out from the register 11 via the signal @30 and stored in the instruction number register 17.

さらに演算器10から信号線31を介して、演算結果送
出コマンドが送出され、これにより有効スラグ18の値
tiとする。有効フラグ18は結果レジスタ16にf1
!込みの完了していない演算結果が格納されているか否
かを示すものであり、値の意味は有効フラグ15のそれ
と同様である。結果レジスタ16に演算結果が格納され
ると、演算ユニット9は空き状態となる。
Furthermore, a calculation result sending command is sent from the calculation unit 10 via the signal line 31, thereby setting the effective slug 18 to the value ti. The valid flag 18 is set to f1 in the result register 16.
! This indicates whether or not an uncompleted operation result is stored, and the meaning of the value is the same as that of the valid flag 15. When the calculation result is stored in the result register 16, the calculation unit 9 becomes vacant.

結果レジスタ13及び16の内容は、それぞれ信号線3
2及び33を介してセレクタ19に入力される。また、
命令番号レジスタ14及び17の内容が、それぞれ信号
線34及び35を介して、さらに有効フラグ15及び1
8の値がそれぞれ信号@36及び37を介して順序制御
回路20に入力される。
The contents of result registers 13 and 16 are stored on signal line 3, respectively.
2 and 33 to the selector 19. Also,
The contents of instruction number registers 14 and 17 are further transmitted to valid flags 15 and 1 via signal lines 34 and 35, respectively.
The values of 8 are input to the sequence control circuit 20 via signals @36 and 37, respectively.

順序制御回路20は、結果レジスタ13もしくは14に
演算結果が格納された時、後述のような方法によって書
き込み順序を判定し、信号線38゜39を介して、それ
ぞれ結果レジスタ13.16内の演算結果の書き込み指
示コマンドを送出する。
When an operation result is stored in the result register 13 or 14, the order control circuit 20 determines the writing order by a method described later, and stores the operation result in the result register 13 or 16 via signal lines 38 and 39, respectively. Sends a result write instruction command.

結果レジスタ13内の演算結果の書き込み指示コマンド
が出た場合は信号線38を介して有効7ラグ15に送出
され、この値をOとし、さらにセレクタ19にも送出さ
れ、結果レジスタ13の内容を出力せしめる。また結果
レジスタ16内の演算結果の書き込み指示コマンドが出
た場合は信号線39を介して有効フラグ18に送出され
、この値をOとし、さらにセレクタ19にも送出され、
結果レジスタ16の内容を出力せしめる。書き込みは概
念的順序に従って行うこととするので、書き込み指示コ
マンドが信号線38.39の両方において同時に出るこ
とのないよう、m序制御回路は構成さnる。査き込み指
示コマンドが信号線38゜39のいずれかにおいて出さ
れた時、同時に、記憶装置5に対して演算結果の書き込
み指示コマンドが信号線40を介して送出きれ、この時
、セレクタ19の出力から1き体筒れるべき演算結果が
信号線41を介して記憶装置5に送出される。記憶装置
i15では、信号+i14 (l介して書き込み指示コ
マンドが送らrtfc時、信号線41を介して送られる
演算結果の書き込みを行う。
When a command to write the operation result in the result register 13 is issued, it is sent to the valid 7 lag 15 via the signal line 38, this value is set to O, and it is also sent to the selector 19, so that the contents of the result register 13 are written. Force output. Also, when a command to write the calculation result in the result register 16 is issued, it is sent to the valid flag 18 via the signal line 39, this value is set to O, and it is also sent to the selector 19.
The contents of the result register 16 are output. Since writing is performed according to a conceptual order, the order control circuit is configured so that write instruction commands are not issued on both signal lines 38 and 39 at the same time. When a scan instruction command is issued on either of the signal lines 38 and 39, at the same time, a write instruction command for the calculation result is sent to the storage device 5 via the signal line 40, and at this time, the selector 19 The calculation results that should be collected from the output are sent to the storage device 5 via the signal line 41. In the storage device i15, when a write instruction command is sent via the signal +i14 (l), the calculation result sent via the signal line 41 is written.

第2図は、順序制御回路20の一実施例である。FIG. 2 shows one embodiment of the order control circuit 20.

100は書き込み命令番号回路であり、該命令処理装置
で最初に実行されるべき命令に対する書き込み命令番号
として値1を初期設足し、以後1つの命令の誓き込みが
行われるたびに1ずつ[を増加させたものを薯き込み命
令番号として生成する。
100 is a write instruction number circuit, which initially sets the value 1 as the write instruction number for the first instruction to be executed in the instruction processing device, and thereafter sets the value 1 by 1 every time one instruction is committed. The incremented number is generated as the input instruction number.

但し、命令番号の上限を与える前述の定数Nに運したら
1次の書き込み命令番号を値1に戻すものとする。
However, when the above-mentioned constant N giving the upper limit of the instruction number is reached, the primary write instruction number is returned to the value 1.

書き込み命令番号は信号線101を介して比較器102
,103に送出される。102には、命令番号レジスタ
14内の命令番号が信号線34を介して入力され、書き
込み命令番号と比較し、比較の結果を信号線104を介
して、ANDゲート105に送出する。比較の結果一致
していたら104の値は1.不一致の時は値を0とする
The write command number is sent to the comparator 102 via the signal line 101.
, 103. The instruction number in the instruction number register 14 is inputted to the instruction number register 102 via the signal line 34, compared with the write instruction number, and the comparison result is sent to the AND gate 105 via the signal line 104. If the comparison results match, the value of 104 is 1. If there is a mismatch, the value is set to 0.

ANDゲート105には、有効フラグの値が信号@36
f介して入力され、比較器102の上記比較結果との論
理積が信号線38上に出力される。
The value of the valid flag is input to the AND gate 105 by the signal @36.
f, and the logical AND with the comparison result of the comparator 102 is output on the signal line 38.

すなわち、信号線38が値1となるのは、結果レジスタ
13に書き込みの完了していない演算結果が格納されて
おり、しかも14に格納されているその命令番号が書き
込み命令番号と一致した場合である。
In other words, the signal line 38 takes the value 1 when the result register 13 stores an operation result that has not been written yet, and the instruction number stored in the register 14 matches the write instruction number. be.

同様に103には命令番号レジスタ17内の命令番号が
信号線35を介して入力され、書き込み命令番号と比較
し、比較の結果を信号線106を介してANDゲート1
07に送出する。比較の結果一致していたら106の値
Vii、不一致の時は値をOとする。ANDゲート10
7には、有効フラグの値が信号線37を介して人力式れ
、比較器103の上目己比較結果との論理積が信号@3
9上に出力される。すなわち信号ff1A39が値1と
なるのは、結果レジスタ16に書き込みの完了していな
いfi4瀞結果が格納さ扛ており、しかも17に格納さ
nているその命令番号が書き込み命令番号と一致し九場
合である。
Similarly, the instruction number in the instruction number register 17 is inputted to 103 via the signal line 35, compared with the write instruction number, and the comparison result is sent to the AND gate 103 via the signal line 106.
Send on 07. If the comparison results in a match, the value Vii is set to 106, and if they do not match, the value is set to O. AND gate 10
7, the value of the valid flag is input manually via the signal line 37, and the logical product with the upper self comparison result of the comparator 103 is output as the signal @3.
It is output on 9. In other words, the reason why the signal ff1A39 takes the value 1 is because the result register 16 stores the unwritten fi4 result, and the instruction number stored in 17 matches the write instruction number. This is the case.

結果レジスタ13督工び16の内容に対する書き込み指
示コマンドは、信号線38.39を介して、ORゲート
108に入力さnlこれらの論理和が信号線40上に出
力される。信号線40は。
A write instruction command for the contents of the result register 13 and 16 is input to the OR gate 108 via signal lines 38 and 39, and the logical sum of these is output onto the signal line 40. The signal line 40 is.

上述した通り、記憶装置5に対する演算結果の書き込み
指示コマンドを送出するためのものであるが、さらに、
誓き込み命令番号回路100にも接続される。記憶装置
5に対する書き込み指示コマンドが出されると、書き込
み命令番号回路100が示す値に等しい命令番号の命令
の書き込みは完了したものと見做され、書き込み命令番
号は上述のように1増加される。但し増加後の値がNを
越える場合は、値1とされることは上述の通りである。
As mentioned above, the command is for sending the write instruction command of the calculation result to the storage device 5, but furthermore,
It is also connected to the pledge instruction number circuit 100. When a write instruction command is issued to the storage device 5, writing of the instruction having the instruction number equal to the value indicated by the write instruction number circuit 100 is deemed to have been completed, and the write instruction number is incremented by 1 as described above. However, as described above, if the value after increase exceeds N, the value is set to 1.

順序制御回路20を以上のように構成することによって
、結果レジスタ13.16に演算結果が格納逼れる順序
が概念的な順序と異っていたとしても、記憶装ft5に
対する書き込みは、概念的な順序で行うことができる。
By configuring the order control circuit 20 as described above, even if the order in which the operation results are stored in the result registers 13 and 16 is different from the conceptual order, writing to the memory device ft5 is performed according to the conceptual order. Can be done in order.

本発明によれば並列演算による演春ユニットオーバヘッ
ドの短縮を実現したまま、分岐命令の予測失敗時や割込
み時に生じうる記憶装置への誤った書き込みを防ぎ、も
って誤った書き込みが生じたなら行わなけnばならなか
ったであろう記憶装置の復元動作を不要とし、結局この
ような復元動作による処理速度低下を防ぐことができる
According to the present invention, while achieving a reduction in execution unit overhead through parallel operations, it is possible to prevent erroneous writes to the storage device that may occur when branch instruction prediction failures or interrupts occur, and to prevent erroneous writes from occurring when erroneous writes occur. This eliminates the need for a restore operation of the storage device that otherwise would have been necessary, and ultimately prevents a decrease in processing speed due to such a restore operation.

すなわちIBMシステム370で代表されるような、命
令や能込みを順序的に行うようなアーキテクチャを実現
するコンピュータにおいて、処理速度向上のために並列
演算方式を導入する場合間題となる、上記の処理速度低
下要因を除去し、並列演算方式による性能向上を確保す
る上で効果がある。
In other words, in a computer that implements an architecture that executes instructions and instructions sequentially, such as the IBM System 370, the above processing becomes a problem when introducing a parallel operation method to improve processing speed. This is effective in eliminating factors that reduce speed and ensuring improved performance through parallel computing.

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

第1図は本発明による並列演算方式を実施したコンピュ
ータの命令処理装置のブロック図である。 第2図は、第1図における順序制御回路20の一実施例
である。 1・・・命令制御ユニット、4・・・命令番号生成器、
5・・・記憶装置、6.9・・・演算ユニット、12・
・・順序制御ユニット、13.16・・・結果レジスタ
、14゜17・・・命令番号レジスタ、40・・・順序
制御回路。
FIG. 1 is a block diagram of a computer instruction processing device implementing a parallel operation method according to the present invention. FIG. 2 shows an embodiment of the order control circuit 20 in FIG. 1... Instruction control unit, 4... Instruction number generator,
5...Storage device, 6.9...Arithmetic unit, 12.
...Sequence control unit, 13.16...Result register, 14°17...Instruction number register, 40...Sequence control circuit.

Claims (1)

【特許請求の範囲】 1、概念的に命令が一つずつ処理場れ結果が概念的1/
C順序的に記憶装置に書き込1れるデータ処理装置にお
いて、命令のデコードおよびオペランド読み出しを行う
命令制御手段と、命令の演Sを相互に並列に行うことの
できる複数の演算手段と、各々の演嘗手段で得られる演
算結果をそfLが記憶装置に書き込1nる1で格納して
おく演算結果格納手段と、該演算結果格納手段より概念
的順序に従って演算結果をとり出し、1Ij1次記憶装
置に書き込みを行う書き込み順序制御手段とを有するこ
とを特徴とする並列演算処理装置。 2、上記並列演算処理装置において、各命令に対して概
念的順序を表わす命令番号を付与し、該命令番号を上記
演算結果格納手段において該命令の書き込みが行われる
1でスタックし、上記書き込み順序制御手段においてス
タックされた複数の命令番号のうち概念的に最も早い命
令に付与さnた命令番号を書き込み命令番号として識別
する手段を有し、該書き込み命令番号K 一致する命令
番号に対応した命令の演算結果が上記演算結果格納手段
に存在する場合これを読み出し、記憶装置に書き込むこ
とにより、書き込みを概念的順序に従って行うことを実
現したことを特徴とする第1項の並列演算処理装置。
[Claims] 1. Conceptually, each instruction is processed one by one, and the result is conceptually 1/
In a data processing device in which data is sequentially written into a storage device, there is provided an instruction control means for decoding instructions and reading operands, a plurality of arithmetic means capable of performing instructions S in parallel, and each an operation result storage means for writing the operation result obtained by the enactment means into a storage device and storing it in a storage device; 1. A parallel arithmetic processing device, comprising a write order control means for writing to the device. 2. In the parallel arithmetic processing device, an instruction number representing a conceptual order is assigned to each instruction, and the instruction number is stacked at 1 where the instruction is written in the arithmetic result storage means, and the writing order is determined by The control means has means for identifying an instruction number given to the conceptually earliest instruction among a plurality of instruction numbers stacked in the control means as a write instruction number, and the write instruction number K is an instruction corresponding to a matching instruction number. 2. The parallel processing device according to item 1, wherein when a calculation result exists in the calculation result storage means, it is read out and written to a storage device, thereby realizing writing according to a conceptual order.
JP57061067A 1982-04-14 1982-04-14 Parallel arithmetic processing unit Pending JPS58178464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57061067A JPS58178464A (en) 1982-04-14 1982-04-14 Parallel arithmetic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57061067A JPS58178464A (en) 1982-04-14 1982-04-14 Parallel arithmetic processing unit

Publications (1)

Publication Number Publication Date
JPS58178464A true JPS58178464A (en) 1983-10-19

Family

ID=13160430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57061067A Pending JPS58178464A (en) 1982-04-14 1982-04-14 Parallel arithmetic processing unit

Country Status (1)

Country Link
JP (1) JPS58178464A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60201442A (en) * 1984-03-26 1985-10-11 Nec Corp Data processing device
JPS61107434A (en) * 1984-10-31 1986-05-26 Hitachi Ltd Data processor
JPH03174626A (en) * 1989-12-01 1991-07-29 Mitsubishi Electric Corp Data processor
EP0606643A1 (en) * 1993-01-08 1994-07-20 International Business Machines Corporation Method and system for nonsequential instruction dispatch and execution in a superscalar processor system
JPH06242954A (en) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> Method and system for improving order dispatch in superscalar processor system by using middle storage area that is independently accessed
JPH06242955A (en) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> Method and system for indexing assignment of middle memory buffer in superscalar processor system
JP3153906B2 (en) * 1989-02-24 2001-04-09 アドヴァンスド マイクロ デヴァイセス インコーポレイテッド Computer distributed pipeline control apparatus and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5110746A (en) * 1974-07-17 1976-01-28 Hitachi Ltd

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5110746A (en) * 1974-07-17 1976-01-28 Hitachi Ltd

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60201442A (en) * 1984-03-26 1985-10-11 Nec Corp Data processing device
JPS61107434A (en) * 1984-10-31 1986-05-26 Hitachi Ltd Data processor
JP3153906B2 (en) * 1989-02-24 2001-04-09 アドヴァンスド マイクロ デヴァイセス インコーポレイテッド Computer distributed pipeline control apparatus and method
JPH03174626A (en) * 1989-12-01 1991-07-29 Mitsubishi Electric Corp Data processor
EP0606643A1 (en) * 1993-01-08 1994-07-20 International Business Machines Corporation Method and system for nonsequential instruction dispatch and execution in a superscalar processor system
JPH06236275A (en) * 1993-01-08 1994-08-23 Internatl Business Mach Corp <Ibm> Method and system for dispatch and execution of nonsequential instruction in superscalar processor system
JPH06242954A (en) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> Method and system for improving order dispatch in superscalar processor system by using middle storage area that is independently accessed
JPH06242955A (en) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> Method and system for indexing assignment of middle memory buffer in superscalar processor system

Similar Documents

Publication Publication Date Title
EP0106670B1 (en) Cpu with multiple execution units
JPS60134973A (en) Vector computer
JPS5960652A (en) Data processing device
JPS61107431A (en) Arithmetic unit
JPH0248931B2 (en)
JPH0414385B2 (en)
JPH0348537B2 (en)
JPS58178464A (en) Parallel arithmetic processing unit
CN111625328B (en) Interrupt device, system and method suitable for RISC-V architecture
US3201760A (en) Information handling apparatus
JPS6236575B2 (en)
JPS6161416B2 (en)
JPH02278424A (en) Normalizer
JP2671160B2 (en) Exception handling method
JPH07219766A (en) Arithmetic processor
JPH056281A (en) Information processor
US20050005087A1 (en) System and method for memory management
JPH0222413B2 (en)
JPS60134957A (en) Parallel operation processing device
JP2562838B2 (en) Processor and store buffer control method
JPH07110769A (en) Vliw type computer
JPS6116112B2 (en)
JPS60108973A (en) Method for finding the minimum value of array elements and element number of the minimum element
JP2583614B2 (en) Vector arithmetic unit
JP2895892B2 (en) Data processing device