JP2900581B2 - Instruction control pipeline structure - Google Patents

Instruction control pipeline structure

Info

Publication number
JP2900581B2
JP2900581B2 JP29017590A JP29017590A JP2900581B2 JP 2900581 B2 JP2900581 B2 JP 2900581B2 JP 29017590 A JP29017590 A JP 29017590A JP 29017590 A JP29017590 A JP 29017590A JP 2900581 B2 JP2900581 B2 JP 2900581B2
Authority
JP
Japan
Prior art keywords
instruction
stage
instruction control
pipeline
control pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP29017590A
Other languages
Japanese (ja)
Other versions
JPH04163629A (en
Inventor
尚夫 小柳
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP29017590A priority Critical patent/JP2900581B2/en
Publication of JPH04163629A publication Critical patent/JPH04163629A/en
Application granted granted Critical
Publication of JP2900581B2 publication Critical patent/JP2900581B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は命令制御装置における命令制御パイプライン
構造に関する。
Description: TECHNICAL FIELD The present invention relates to an instruction control pipeline structure in an instruction control device.

〔従来の技術〕[Conventional technology]

従来より、命令制御装置内に命令制御パイプラインを
設け、演算実行ユニット,メモリ制御ユニット等の命令
の実行を行う各種実行ユニットに対して、命令を解読し
実行指示を送出する単位時間当たりの回数を増大させ、
それによって性能の向上を図ることが行われている。こ
こで、本発明が対象とする命令制御パイプラインは、命
令のフェッチ段階の次の段階から演算部へ動作指示を行
う段階までの処理をパイプライン化したものである。こ
のような命令制御パイプラインでは、例えば、命令の解
読ステージ、オペランドアドレスの計算ステージ、オペ
ランドの取り出しステージ、演算部への動作指示ステー
ジの4つのステージからなるパイプラインや、オペラン
ドの取り出しステージを更にアドレス変換ステージとバ
ッファアクセスステージとに細分化した5つのステージ
からなるパイプラインが使用される。各ステージには、
そのステージの処理結果を保持する命令レジスタが設け
られ、その命令レジスタの出力を次段のステージの入力
とする。各ステージの命令レジスタに保持されている情
報を本明細書では命令制御情報と呼ぶ。命令制御パイプ
ラインでは、各ステージの処理は、ほかからの干渉がな
ければ同時並行的に実行できるため、理想的には1マシ
ンサイクル毎に命令の実行指示が行える。
2. Description of the Related Art Conventionally, an instruction control pipeline is provided in an instruction control device, and the number of times per unit time to decode an instruction and send an execution instruction to various execution units that execute the instruction, such as an operation execution unit and a memory control unit. Increase,
Thereby, the performance is improved. Here, the instruction control pipeline to which the present invention is applied is a pipeline of processing from the stage following the instruction fetch stage to the stage where an operation instruction is given to the arithmetic unit. In such an instruction control pipeline, for example, a pipeline consisting of four stages of an instruction decoding stage, an operand address calculation stage, an operand fetching stage, and an operation instruction stage to an operation unit, and an operand fetching stage are further provided. A pipeline composed of five stages subdivided into an address translation stage and a buffer access stage is used. Each stage has
An instruction register for holding the processing result of the stage is provided, and the output of the instruction register is used as an input to the next stage. The information held in the instruction register of each stage is referred to as instruction control information in this specification. In the instruction control pipeline, the processing of each stage can be executed simultaneously and concurrently without interference from others, so that an instruction execution instruction can ideally be issued every machine cycle.

ところで、命令制御装置内に命令制御パイプラインが
1本しか設けられていないと、間欠障害については余り
問題はないが、固定障害が発生した場合には直ちにシス
テムダウンに結びつく。即ち、間欠障害は偶発的に発生
する再現性のない障害であるので、例えば命令制御パイ
プラインの或るステージでパリティ不正が検出された場
合、その前段のステージから処理をやり直すという命令
リトライを行うことで正常な動作を確保できる。しか
し、固定障害は継続的に続く障害なので、何度命令リト
ライを試みても正常な動作が行えず、システムダウンを
招来することになる。
By the way, if only one instruction control pipeline is provided in the instruction control device, there is not much problem with an intermittent failure, but if a fixed failure occurs, it immediately leads to a system down. That is, since the intermittent fault is a fault that occurs accidentally and has no reproducibility, if an invalid parity is detected in a certain stage of the instruction control pipeline, for example, an instruction retry is performed to restart the processing from the preceding stage. This ensures a normal operation. However, since the fixed fault is a continuous fault, the normal operation cannot be performed even if the instruction retry is attempted many times, and the system is brought down.

そこで、命令制御パイプラインに固定障害が発生して
もシステムダウンを招かないように、命令制御装置内に
互いに非同期に動作する同種の命令制御パイプラインを
複数本設けたスーパースカラ(Superscalar)と呼ばれ
る方式が提案されている。このような方式では、何れか
の命令制御パイプラインに固定障害が発生した場合、そ
の障害を起こした命令制御パイプラインを動作対象から
外し残りの命令制御パイプラインで動作を継続するとい
うデグレード方式によって、正常動作を続けることがで
きる。
Therefore, in order to prevent a system failure even if a fixed fault occurs in the instruction control pipeline, it is called a superscalar in which a plurality of instruction control pipelines of the same type that operate asynchronously with each other are provided in the instruction control device. A scheme has been proposed. In such a method, if a fixed fault occurs in any of the instruction control pipelines, the degraded method is such that the faulty instruction control pipeline is removed from the operation target and the operation is continued in the remaining instruction control pipelines. , Normal operation can be continued.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述したような同種の命令制御パイプラインを複数本
非同期に動作させる方式の命令制御装置によれば、何れ
かの命令制御パイプラインに固定障害が発生してもシス
テムダウンを回避できるという優れた利点を有している
が、このような命令制御装置においても改善すべき問題
点が幾つか存在する。
According to the instruction control apparatus of the type in which a plurality of instruction control pipelines of the same kind operate asynchronously as described above, an excellent advantage that even if a fixed failure occurs in any one of the instruction control pipelines, a system down can be avoided. However, there are some problems to be improved even in such an instruction control device.

その一つは、固定障害の発生した命令制御パイプライ
ンにおいて実行されていた処理を正常な命令制御パイプ
ラインに速やかに引き継ぐことが困難であるということ
である。
One of the problems is that it is difficult to quickly transfer the processing executed in the instruction control pipeline in which a fixed failure has occurred to a normal instruction control pipeline.

もう一つは、或る命令制御パイプラインの或るステー
ジで或る命令がパイプライン上の停止要因によって処理
が延期されている場合、後続の命令は先行命令が停止し
ているという理由以外に何等停止すべき理由がないのに
もかかわらず、命令パイプライン上に停止していなけれ
ばならないということである。
Second, if an instruction is suspended at a certain stage in an instruction control pipeline due to a halt factor in the pipeline, the following instruction will be executed for a reason other than that the preceding instruction is suspended. That is, it must be stopped on the instruction pipeline, even though there is no reason to stop.

本発明はこのような問題点を解決しようとするもの
で、その目的は、同種の命令制御パイプラインが複数本
備わっている利点を最大限に活用し、命令制御パイプラ
イン間に連絡機能を持たせることにより、或る命令制御
パイプラインで行われていた処理を別の命令制御パイプ
ラインに速やかに引き継がせることができる命令制御パ
イプライン構造を提供することにある。
The present invention is intended to solve such a problem, and an object of the present invention is to make the most of the advantage of having a plurality of instruction control pipelines of the same kind and to provide a communication function between the instruction control pipelines. Accordingly, it is an object of the present invention to provide an instruction control pipeline structure that allows a process performed in one instruction control pipeline to be immediately transferred to another instruction control pipeline.

〔課題を解決するための手段〕[Means for solving the problem]

本発明は上記の目的を達成するために、命令フェッチ
部でフェッチした命令の解読からスカラ演算部への動作
指示までの処理を複数のステージに分割して並列して実
行する同一構成の命令制御パイプラインを複数本備えた
命令制御装置において、 第1の命令制御パイプラインの第1のステージの命令
レジスタに、前記第1の命令制御パイプラインと異なる
第2の命令制御パイプラインにおける前記第1のステー
ジに対応するステージの前段のステージの命令レジスタ
に保持された命令制御情報を移す信号線 前記第1のステージの命令レジスタに、前記第2の命
令制御パイプラインにおける前記第1のステージに対応
するステージの命令レジスタに保持された命令制御情報
を移す信号線の2種の信号線のうち少なくとも1種の信
号線を有する命令制御パイプライン構造を採用してい
る。
In order to achieve the above object, the present invention provides an instruction control having the same configuration in which processing from decoding of an instruction fetched by an instruction fetch unit to an operation instruction to a scalar operation unit is divided into a plurality of stages and executed in parallel. An instruction control device including a plurality of pipelines, wherein an instruction register of a first stage of a first instruction control pipeline has the first instruction control pipeline in a second instruction control pipeline different from the first instruction control pipeline. A signal line for transferring instruction control information held in an instruction register of a stage preceding the stage corresponding to the stage corresponding to the first stage in the second instruction control pipeline. And at least one of two signal lines for transferring instruction control information held in the instruction register of the stage to be transferred. Have adopted the decree control pipe line structure.

〔作用〕[Action]

本発明においては、の信号線によって、第1の命令
制御パイプラインの第1のステージの命令レジスタに、
それとは異なる第2の命令制御パイプラインにおける前
記第1のステージに対応するステージの前段のステージ
の命令レジスタに保持された命令制御情報を移すことが
でき、また、の信号線によって、第1の命令制御パイ
プラインの第1のステージの命令レジスタに、それとは
異なる第2の命令制御パイプラインにおける前記第1の
ステージに対応するステージの命令レジスタに保持され
た命令制御情報を移すことができる。
In the present invention, the signal line of the first stage controls the instruction register of the first stage of the first instruction control pipeline.
The instruction control information held in the instruction register of the stage preceding the stage corresponding to the first stage in the second instruction control pipeline different from the second instruction control pipeline can be transferred. The instruction control information held in the instruction register of the stage corresponding to the first stage in the second instruction control pipeline different from the first stage can be transferred to the instruction register of the first stage of the instruction control pipeline.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して詳細に
説明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明の一実施例の構成図であり、A〜Eの
5つのステージから構成される同種の2本の命令制御パ
イプラインを備えた命令制御装置に本発明を適用したも
のである。例えば、〔従来の技術〕の項で述べたよう
に、命令のフェッチ段階の次の段階から演算部へ動作指
示を行う段階までの処理を、命令の解読ステージ、オペ
ランドアドレスの計算ステージ、オペランドの取り出し
にかかるアドレス変換ステージ、オペランドの取り出し
にかかるバッファアクセスステージ、演算部への動作指
示ステージの5つのステージに分割する場合、Aステー
ジが命令の解読ステージに、Bステージがオペランドア
ドレスの計算ステージに、Cステージがオペランドの取
り出しにかかるアドレス変換ステージに、Dステージが
オペランドの取り出しにかかるバッファアクセスステー
ジに、Eステージが演算部への動作指示ステージに、そ
れぞれ対応する。この命令制御装置は、同図に示すよう
に、命令フェッチ部1と、一方の命令制御パイプライン
を構成する命令レジスタ2〜6,BUSYフラグ12a〜16a,HOL
Dフラグ12b〜16bおよび故障検出回路25〜29と、他方の
命令制御パイプラインを構成する命令レジスタ7〜11,B
USYフラグ17a〜21a,、HOLDフラグ17b〜21bおよび故障検
出回路30〜34と、パイプライン制御部22と、命令発行調
停部23と、スカラ演算部24とを含んでいる。そして、こ
れらの接続関係は以下のようになっている。
FIG. 1 is a block diagram of an embodiment of the present invention, in which the present invention is applied to an instruction control device having two instruction control pipelines of the same type composed of five stages A to E. is there. For example, as described in [Prior Art], the processing from the stage following the instruction fetch stage to the stage of instructing the operation unit to perform the operation instruction is performed by the instruction decoding stage, the operand address calculation stage, and the operand When dividing into five stages, an address translation stage for fetching, a buffer access stage for fetching operands, and an operation instructing stage to the operation unit, the A stage is for decoding instructions and the B stage is for calculating operand addresses. , C stage corresponds to an address translation stage for fetching operands, D stage corresponds to a buffer access stage for fetching operands, and E stage corresponds to an operation instruction stage to an operation unit. As shown in FIG. 1, the instruction control device includes an instruction fetch unit 1 and instruction registers 2 to 6, a BUSY flag 12a to 16a, and a HOL, which constitute one instruction control pipeline.
D flags 12b to 16b, failure detection circuits 25 to 29, and instruction registers 7 to 11, B constituting the other instruction control pipeline
It includes USY flags 17a to 21a, HOLD flags 17b to 21b, failure detection circuits 30 to 34, a pipeline control unit 22, an instruction issue arbitration unit 23, and a scalar operation unit 24. And these connection relations are as follows.

命令フェッチ部1は、信号線102,107によってA0ステ
ージ,A1ステージの命令レジスタ2,7と接続される。
The instruction fetch unit 1 is connected to instruction registers 2 and 7 in the A0 stage and the A1 stage by signal lines 102 and 107, respectively.

A0ステージとB0ステージの命令レジスタ2,3間、B0ス
テージとC0ステージの命令レジスタ3,4間、C0ステージ
とD0ステージの命令レジスタ4,5間、D0ステージとE0ス
テージの命令レジスタ5,6間は、信号線203,304,405,506
によって接続され、A1ステージとB1ステージの命令レジ
スタ7,8間、B1ステージとC1ステージの命令レジスタ8,9
間、C1ステージとD1ステージの命令レジスタ9,10間、D1
ステージとE1ステージの命令レジスタ10,11間は、信号
線708,809,910,1011によって接続される。
Between the A0 and B0 stage instruction registers 2 and 3; between the B0 and C0 stage instruction registers 3 and 4; between the C0 and D0 stage instruction registers 4 and 5; and between the D0 and E0 stage instruction registers 5 and 6 Between, signal lines 203, 304, 405, 506
Between the A1 and B1 stage instruction registers 7 and 8, and the B1 and C1 stage instruction registers 8 and 9
Between instruction registers 9 and 10 of C1 stage and D1 stage, D1
The instruction registers 10 and 11 of the stage and the E1 stage are connected by signal lines 708, 809, 910 and 1011.

A0ステージとA1ステージの命令レジスタ2,7間、B0ス
テージとB1ステージの命令レジスタ3,8間、C0ステージ
とC1ステージの命令レジスタ4,9間、D0ステージとD1ス
テージの命令レジスタ5,10間、E0ステージとE1ステージ
の命令レジスタ6,11間は、信号線207と702,308と803,40
9と904,510と105,611と116によって接続される。
Between the A0 and A1 stage instruction registers 2,7, between the B0 and B1 stage instruction registers 3,8, between the C0 and C1 stage instruction registers 4,9, and between the D0 and D1 stage instruction registers 5,10 Signal lines 207 and 702, 308 and 803, 40 between instruction registers 6 and 11 in the E0 and E1 stages.
9 and 904, 510 and 105, 611 and 116.

A0ステージとB1ステージの命令レジスタ2,8間、B0ス
テージとC1ステージの命令レジスタ3,9間、C0ステージ
とD1ステージの命令レジスタ4,10間、D0ステージとE1ス
テージの命令レジスタ5,11間、A1ステージとB0ステージ
の命令レジスタ7,3間、B1ステージとC0ステージの命令
レジスタ8,4間、C1ステージとD0ステージの命令レジス
タ9,5間、D1ステージとE0ステージの命令レジスタ10,6
間は、信号線208,309,410,511.703,804,905,106によっ
て接続される。
Between the A0 and B1 stage instruction registers 2 and 8; between the B0 and C1 stage instruction registers 3 and 9; between the C0 and D1 stage instruction registers 4 and 10; and between the D0 and E1 stage instruction registers 5 and 11 Stage, between the A1 and B0 stage instruction registers 7,3, between the B1 and C0 stage instruction registers 8,4, between the C1 and D0 stage instruction registers 9,5, and between the D1 and E0 stage instruction registers 10. , 6
The lines are connected by signal lines 208, 309, 410, 511.703, 804, 905, 106.

A0ステージ,B0ステージ、C0ステージ,D0ステージ,E0
ステージの故障検出回路25,26,27,28,29は信号線2522に
よって、また、A1ステージ,B1ステージ,C1ステージ,D1
ステージ,E1ステージの故障検出回路30,31,32,33,34は
信号線3022によって、それぞれパイプライン制御部22に
接続される。
A0 stage, B0 stage, C0 stage, D0 stage, E0
The stage failure detection circuits 25, 26, 27, 28, 29 are connected by signal line 2522, and A1 stage, B1 stage, C1 stage, D1 stage.
The stage and E1 stage failure detection circuits 30, 31, 32, 33, and 34 are connected to the pipeline control unit 22 by signal lines 3022, respectively.

A0ステージ,B0ステージ,C0ステージ,D0ステージ,E0ス
テージに有効な命令が存在することを示すBUSYフラグ12
a,13a,14a,15a,16aと、次マシンサイクルでもそのステ
ージに命令がとどまることを示すHOLDフラグ12b,13b,14
b,15b,16bとは、信号線1222によって、A1ステージ,B1ス
テージ,C1ステージ,D1ステージ,E1ステージに有効な命
令が存在することを示すBUSYフラグ17a,18a,19a,20a,21
aと、次マシンサイクルでもそのステージに命令がとど
まることを示すHOLDフラグ17b,18b,19b,20b,21bとは、
信号線722によって、それぞれパイプライン制御部22に
接続される。
BUSY flag 12 indicating that a valid instruction exists in the A0, B0, C0, D0, and E0 stages
a, 13a, 14a, 15a, 16a, and HOLD flags 12b, 13b, 14 indicating that the instruction remains at that stage in the next machine cycle.
b, 15b, 16b are BUSY flags 17a, 18a, 19a, 20a, 21 indicating that there are valid instructions in the A1 stage, the B1 stage, the C1 stage, the D1 stage, and the E1 stage by the signal line 1222.
a and the HOLD flags 17b, 18b, 19b, 20b, 21b indicating that the instruction remains at that stage in the next machine cycle,
Each is connected to the pipeline control unit 22 by a signal line 722.

A0ステージ,B0ステージ,C0ステージ,D0ステージ,E0ス
テージの命令レジスタ2,3,4,5,6の入口のセレクタ35,3
6,37,38,39は信号線222によって、A1ステージ,B1ステー
ジ,C1ステージ,D1ステージ,E1ステージの命令レジスタ
7,8,9,10,11の入口のセレクタ40,41,42,43,44は信号線2
27によって、それぞれパイプライン制御部22と接続され
る。
Selector 35,3 at the entrance of instruction register 2,3,4,5,6 of A0 stage, B0 stage, C0 stage, D0 stage, E0 stage
6, 37, 38, and 39 are instruction registers for the A1, B1, C1, D1, and E1 stages via the signal line 222.
7, 8, 9, 10, 11 selectors 40, 41, 42, 43, 44 at the entrance of signal line 2
27 are connected to the pipeline control unit 22 respectively.

そして、命令発行調停部23はパイプライン制御部22と
信号線2322によって接続され、スカラ演算部24は信号線
2324によって命令発行調停部23に接続されている。
The instruction issuance arbitration unit 23 is connected to the pipeline control unit 22 by a signal line 2322, and the scalar operation unit 24 is connected to the signal line
2324 is connected to the instruction issue arbitration unit 23.

本実施例は上述したような構成を有するため、両命令
制御パイプライン間で命令制御情報の移動が可能であ
る。そこで、本実施例では、 (1)2本の命令制御パイプラインを非同期に独立して
別々の命令を処理させる。
Since this embodiment has the above-described configuration, it is possible to move instruction control information between both instruction control pipelines. Therefore, in this embodiment, (1) the two instruction control pipelines process different instructions independently and asynchronously.

という通常の機能に加え、 (2)一方の命令制御パイプラインの処理を他方の命令
制御パイプラインに引き継がせる。
(2) The processing of one instruction control pipeline is taken over by the other instruction control pipeline.

ことを実現している。It has realized that.

上記(1)の動作は以下のように行われる。先ず、命
令は図示しないメモリから命令フェッチ部1によって読
み出され、そこから信号線102または信号線107を通じて
一方の命令制御パイプラインのA0ステージの命令レジス
タ2または他方の命令制御パイプラインのA1ステージの
命令レジスタ7に転送される。そして、当該命令につい
て、A,B,C,D,Eの順に各ステージにおいて各ステージ毎
の処理が行われ、各ステージにおける処理が完了し次の
ステージに移れるようになるまで、そのステージにとど
まるようにパイプライン制御部22によって制御される。
そして、最終ステージのE0ステージ,E1ステージから命
令発行すなわちスカラ演算部24への動作指示が行われ
る。このとき、若しE0ステージ,E1ステージの双方から
同時にスカラ演算部24に対して命令発行が行われようと
した場合、命令発行調停部23は信号線2322を介してパイ
プライン制御部22と信号のやりとりを行い、また信号線
2324を介してスカラ演算部24に与える動作指示を制御す
ることにより、同タイミングで双方から命令の発行が行
われないように調停する。
The operation (1) is performed as follows. First, an instruction is read from a memory (not shown) by the instruction fetch unit 1, and from there, the instruction register 2 of the A0 stage of one instruction control pipeline or the A1 stage of the other instruction control pipeline through the signal line 102 or 107. To the instruction register 7. Then, regarding the instruction, the processing of each stage is performed in each stage in the order of A, B, C, D, and E, and the instruction stays in that stage until the processing in each stage is completed and the next stage can be performed. Is controlled by the pipeline control unit 22 as described above.
Then, an instruction is issued, that is, an operation instruction is given to the scalar operation unit 24 from the final stages E0 and E1. At this time, if an instruction is issued from both the E0 stage and the E1 stage to the scalar operation unit 24 at the same time, the instruction issuance arbitration unit 23 communicates with the pipeline control unit 22 via the signal line 2322. Exchanges and signal lines
By controlling operation instructions given to the scalar operation unit 24 via 2324, arbitration is performed so that instructions are not issued from both sides at the same timing.

第2図および第3図は最終ステージE0,E1においてス
カラ演算部24に対して同タイミングで命令が発行される
のを回避する調停動作のタイムチャートである。
FIGS. 2 and 3 are time charts of the arbitration operation for avoiding the issuance of the instruction to the scalar operation unit 24 at the same timing in the final stages E0 and E1.

第2図は、最終ステージE0,E1で命令1と命令2が同
時にスカラ演算部24に対して命令発行を行おうとしたと
き、予め命令制御パイプライン間で定められた優先度順
位に従って一方の命令発行を優先し、他方を遅らせるこ
とで同タイミングの命令発行を回避する例を示す。即
ち、この例では、E0ステージの命令を優先的に先に発行
させ、その後にE1ステージの命令を発行させている。こ
のような場合、命令発行調停部23は、信号線2322を通じ
てパイプライン制御部22から伝達される状況情報によっ
てE0ステージ,E1ステージに発行が衝突する命令どうし
が存在することを確認すると、先ず優先度の高いE0ステ
ージの命令1がタイミングで発行されるように信号線
2324を通じてスカラ演算部24に動作指示を出し、E1ステ
ージの命令2はそのタイミングではE1ステージにとど
まるようにパイプライン制御部22に制御させ、そして次
のタイミングにおいて命令2が発行されるように制御
する。
FIG. 2 shows that when instructions 1 and 2 attempt to issue instructions to the scalar operation unit 24 at the same time in the final stages E0 and E1, one of the instructions is executed in accordance with the priority order predetermined between the instruction control pipelines. An example is shown in which issuance of instructions at the same timing is avoided by giving priority to issuance and delaying the other. That is, in this example, the instruction in the E0 stage is issued with priority first, and then the instruction in the E1 stage is issued. In such a case, the instruction issuance arbitration unit 23 checks the status information transmitted from the pipeline control unit 22 via the signal line 2322 to confirm that there is an instruction whose issuance conflicts with the E0 stage and the E1 stage. Signal line so that instruction 1 of high E0 stage is issued at the timing
An operation instruction is issued to the scalar operation unit 24 through 2324, and the instruction 2 of the E1 stage is controlled by the pipeline control unit 22 so as to remain at the E1 stage at that timing, and is controlled so that the instruction 2 is issued at the next timing. I do.

第3図は、命令1が別の要因、例えばオペランドデー
タ確定待ちでE0ステージで待たされている場合には、優
先度の低いE1ステージの命令発行を先に行うことによ
り、効率良く同一タイミングでの命令発行を回避する例
を示す。即ち、第3図は第2図と同様に命令1と命令2
が同時に最終ステージE0,E1に到着しているが、命令1
はオペランド未確定のためタイミングまで発行が不可
能であるという事情が存在するため、命令2は優先度の
低いE1ステージにもかかわらず先に発行されている。こ
のような制御は、パイプライン制御部22から信号線2322
を通じて送られている情報に基づいて次のマシンサイク
ルで命令の発行ができるか否かを命令発行調停部23が判
定し、それに応じてスカラ演算部24およびパイプライン
制御部22に対し適切な指示を出すことで行われる。
FIG. 3 shows that when the instruction 1 is waiting in the E0 stage for another factor, for example, waiting for operand data confirmation, the instruction is issued first in the E1 stage having a low priority, thereby efficiently and at the same timing. Here is an example of avoiding the instruction issue. That is, FIG. 3 shows instruction 1 and instruction 2 similarly to FIG.
Arrived at the final stage E0, E1 at the same time, but instruction 1
Since instruction cannot be issued until the timing because the operand is undetermined, instruction 2 is issued earlier despite the low priority E1 stage. Such control is performed by the pipeline control unit 22 through the signal line 2322.
The instruction issuance arbitration unit 23 determines whether or not an instruction can be issued in the next machine cycle based on the information sent through the CPU, and appropriately instructs the scalar operation unit 24 and the pipeline control unit 22 accordingly. This is done by issuing

次に、前記(2)の、一方の命令制御パイプラインの
処理を他方の命令制御パイプラインに引き継がせる動作
は以下のように行われる。
Next, the operation of (2) for transferring the processing of one instruction control pipeline to the other instruction control pipeline is performed as follows.

先ず、一方の命令制御パイプラインの或る命令レジス
タ周辺の制御ブロック(図示せず)で固定障害が発生し
たことにより、他の正常な命令制御パイプラインに処理
を引き継がせる動作を、C0ステージで固定障害が発生し
た場合を例にして以下説明する。
First, when a fixed fault occurs in a control block (not shown) around a certain instruction register of one instruction control pipeline, an operation of taking over the processing to another normal instruction control pipeline is performed in the C0 stage. The following describes an example in which a fixed failure has occurred.

第4図に示すように、命令1がA0ステージ,B0ステー
ジで正常に処理され、C0ステージに移った時点でC0ステ
ージに固定障害が発生すると、そのことが故障検出回路
27で検出されて信号線2522を通じてパイプライン制御部
22に報告される。パイプライン制御部22は、この報告を
受けると、信号線1722を通じて他方の命令制御パイプラ
インの該当するBUSYフラグおよびHOLDフラグを見て、C1
ステージが空で且つ1ステージから別の命令が流れてこ
ないという条件が成立するか否かを調べ、成立していれ
ば信号線227によりC1ステージの命令レジスタ9の入口
のセレクタ42を信号線409側に切り替える。これによ
り、第5図(a)に示すようにC0ステージの命令レジス
タ4の命令制御情報が信号線409を介してC1ステージの
命令レジスタ9に移動(退避)される。タイミング的に
は第4図に示すようにタイミングでC1ステージに移さ
れる。そして、以後、命令1は第4図に示すようにC1ス
テージ,D1ステージ,E1ステージと流れていく。なお、パ
イプライン制御部22は固定障害を発生したC0ステージを
使用不可にするため、信号線304,804,904を論理的に閉
鎖する。第5図(b)はそのような状態を示している。
As shown in FIG. 4, if the instruction 1 is normally processed in the A0 stage and the B0 stage, and a fixed failure occurs in the C0 stage at the time of moving to the C0 stage, the failure detection circuit
Pipeline control unit detected by signal line 2522 at 27
Reported on 22. Upon receiving this report, the pipeline control unit 22 checks the corresponding BUSY flag and HOLD flag of the other instruction control pipeline through the signal line 1722, and
It is checked whether or not the condition that the stage is empty and another instruction does not flow from one stage is satisfied. If the condition is satisfied, the selector 42 at the entrance of the instruction register 9 of the C1 stage is connected to the signal line 409 by the signal line 227. Switch to the side. Thereby, as shown in FIG. 5A, the instruction control information of the instruction register 4 of the C0 stage is moved (evacuated) to the instruction register 9 of the C1 stage via the signal line 409. The timing is shifted to the C1 stage at the timing as shown in FIG. Thereafter, the instruction 1 flows through the C1, D1, and E1 stages as shown in FIG. Note that the pipeline control unit 22 logically closes the signal lines 304, 804, and 904 to disable the C0 stage in which the fixed failure has occurred. FIG. 5B shows such a state.

第4図の例は他の命令制御パイプラインに命令が全く
流れていない場合を想定したが、命令が流れている場合
には次のような制御が行われる。即ち、第6図に示すよ
うにC0ステージの命令1をC1ステージに移すタイミング
においてB1ステージからC1ステージに別の命令2が流
れてくる場合、パイプライン制御部22はC1ステージでの
衝突を回避するため、命令1を1マシンサイクル長くC0
ステージに止めておき、移動可能となったタイミング
でC1ステージに移動させる。
In the example shown in FIG. 4, it is assumed that no instruction is flowing through another instruction control pipeline, but when an instruction is flowing, the following control is performed. That is, as shown in FIG. 6, when another instruction 2 flows from the B1 stage to the C1 stage at the time of moving the instruction 1 of the C0 stage to the C1 stage, the pipeline control unit 22 avoids a collision at the C1 stage. Instruction 1 for one machine cycle longer
Stop on the stage and move to the C1 stage when it becomes possible to move.

以上のような動作が行われることにより、固定障害の
発生した命令制御パイプラインにおいて実行されていた
処理を正常な命令制御パイプラインに速やかに引き継ぐ
ことが可能となる。なお、以上の説明はC0ステージに固
定障害が発生した場合のものであるが、第1図の実施例
では、信号線207,308,510,611によってA0ステージ,B0ス
テージ,D0ステージ,E0ステージの命令制御情報をA1ステ
ージ,B1ステージ,D1ステージ,E1ステージに移すことが
でき、信号線702,803,904,105,116によってA1ステージ,
B1ステージ,C1ステージ,D1ステージ,E1ステージの命令
制御情報をA0ステージ,B0ステージ,C0ステージ,D0ステ
ージ,E0ステージに移すことができるので、C0ステージ
以外の他のステージに固定障害が発生した場合も上述と
同様に処理できる。
By performing the above operation, the processing executed in the instruction control pipeline in which the fixed failure has occurred can be quickly taken over to the normal instruction control pipeline. Note that the above description is for the case where a fixed fault occurs in the C0 stage. However, in the embodiment of FIG. Stage, B1 stage, D1 stage, E1 stage, and A1 stage by signal lines 702, 803, 904, 105, 116.
Since the instruction control information of the B1, C1, D1, and E1 stages can be transferred to the A0, B0, C0, D0, and E0 stages, a fixed failure has occurred in other stages than the C0 stage In this case, the processing can be performed in the same manner as described above.

次に、一方の命令制御パイプラインで或る命令の処理
が停滞した場合に後続の命令の処理を他の命令制御パイ
プラインに引き継がせる動作を、C0ステージに命令が停
滞している場合を例にして以下説明する。
Next, an operation in which the processing of a subsequent instruction is taken over by another instruction control pipeline when the processing of one instruction is stagnated in one instruction control pipeline, and the operation in which the instruction is stagnated in the C0 stage is described as an example. This will be described below.

第7図に示すように、命令1,命令2がその順に命令制
御パイプラインで処理されている状況において、C0ステ
ージで命令1が停滞した場合、パイプライン制御部22は
次のような制御を行う。先ず、後続の命令2が先行する
命令1が停止しているという理由以外に何の停止すべき
理由もないか否かを調べ、もしそうなら他方の命令制御
パイプラインへの処理の引き継ぎが可能か否かを調査す
る。この調査は、今の場合、信号線1722を通じて該当す
るBUSYフラグとHOLDフラグを見て、C1ステージに他の命
令が存在せず且つB1ステージの命令がC1ステージへ流れ
てこないという条件が成立しているか否かにより行う。
第7図の例は処理を引き継がせる命令制御パイプライン
に全く命令が流れていない為、引き継ぎ可能と判断し、
パイプライン制御部22は、信号線227によりC1ステージ
の入口のセレクタ42を信号線309側に切り替え、第8図
に示すようにB0ステージの命令レジスタ3の命令制御情
報を信号線309を通じてC1ステージの命令レジスタ9に
移動させる。タイミング的には第7図に示すようにタイ
ミングでC1ステージに移される。以後、命令2はC1ス
テージ,D1ステージ,E1ステージを流される。
As shown in FIG. 7, when instruction 1 and instruction 2 are processed in the instruction control pipeline in that order and instruction 1 is stagnated in the C0 stage, the pipeline control unit 22 performs the following control. Do. First, the succeeding instruction 2 checks whether there is no reason to stop other than the fact that the preceding instruction 1 has stopped, and if so, the processing can be taken over to the other instruction control pipeline. Investigate whether or not. In this investigation, in this case, the condition that the other instruction does not exist in the C1 stage and the instruction of the B1 stage does not flow to the C1 stage when the corresponding BUSY flag and the HOLD flag are seen through the signal line 1722 is satisfied. It is performed depending on whether or not.
In the example of FIG. 7, since no instruction flows in the instruction control pipeline for taking over the processing, it is determined that the takeover is possible.
The pipeline control unit 22 switches the selector 42 at the entrance of the C1 stage to the signal line 309 side by the signal line 227, and transfers the instruction control information of the instruction register 3 of the B0 stage to the C1 stage through the signal line 309 as shown in FIG. To the instruction register 9. The timing is shifted to the C1 stage at a timing as shown in FIG. Thereafter, the instruction 2 is sent through the C1, D1, and E1 stages.

第7図の例は他方の命令制御パイプラインに命令が全
く流れていない場合を想定したが、命令が流れている場
合には次のような制御が行われる。即ち、第9図に示す
ようにB0ステージの命令2をC1ステージに移すタイミン
グにおいてB1ステージからC1ステージに別の命令3が
流れてくる場合、パイプライン制御部22はC1ステージで
の衝突を回避するため、命令2をC1ステージで競合しな
いタイミングまでB0ステージにとどめておき、移動可
能となったタイミングでC1ステージに移動させる。
In the example of FIG. 7, it is assumed that no instruction is flowing through the other instruction control pipeline, but when an instruction is flowing, the following control is performed. That is, as shown in FIG. 9, when another instruction 3 flows from the B1 stage to the C1 stage at the timing of moving the instruction 2 of the B0 stage to the C1 stage, the pipeline control unit 22 avoids a collision at the C1 stage. Therefore, the instruction 2 is kept in the B0 stage until a timing at which the instruction 2 does not conflict with the C1 stage, and is moved to the C1 stage at a timing when the movement becomes possible.

以上のような動作が行われることにより、処理の停滞
している命令に続く命令の処理を別の命令制御パイプラ
インに速やかに引き継ぐことが可能となる。因に、他の
命令制御パイプラインに命令2を引き継がせる制御を実
施しなければ、即ちステージB0からステージC1への信号
線を持たない従来の命令制御装置によれば、第10図に示
すようなタイムチャートとなり、命令2は命令1がC0ス
テージから消えるまでB0ステージに留まらなければなら
ない。したがって、命令2の発行はタイミングにな
り、タイミングで発行し得た第9図の実施例に比べ、
命令の発行が遅延する。
By performing the above operation, the processing of the instruction following the stalled instruction can be immediately taken over by another instruction control pipeline. However, according to the conventional instruction control device which does not perform the control for taking over the instruction 2 to another instruction control pipeline, that is, according to the conventional instruction control device having no signal line from the stage B0 to the stage C1, as shown in FIG. The instruction 2 must stay in the B0 stage until the instruction 1 disappears from the C0 stage. Therefore, the issuance of the instruction 2 is at a timing, and compared with the embodiment of FIG.
Instruction issuance is delayed.

なお、以上の説明はC0ステージに命令が停滞した場合
のものであるが、第1図の実施例では、信号線208,410,
511によってA0ステージ,C0ステージ,D0ステージの命令
制御情報をB1ステージ,D1ステージ,E1ステージに移すこ
とができ、信号線703,804,905,106によってA1ステージ,
B1ステージ,C1ステージ,D1ステージの命令制御情報をB0
ステージ,C0ステージ,D0ステージ,E0ステージに移すこ
とができるので、C0ステージ以外の他のステージに命令
が停滞した場合も上述と同様に処理できる。
Although the above description is for the case where the instruction is stagnant in the C0 stage, the signal lines 208, 410,
The instruction control information of the A0 stage, C0 stage and D0 stage can be transferred to the B1 stage, D1 stage and E1 stage by 511, and the A1 stage by the signal lines 703, 804, 905 and 106.
B1 stage, C1 stage, D1 stage instruction control information to B0
Since the instruction can be transferred to the stage, C0 stage, D0 stage, and E0 stage, even when the instruction is stagnated in a stage other than the C0 stage, the same processing as described above can be performed.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明によれば、或る命令制御
パイプラインの或るステージに別の命令制御パイプライ
ンの同段のステージ或いはその前段のステージに保持さ
れた命令制御情報を速やかに移すことができる効果があ
る。従って、例えば或る命令制御パイプラインに固定障
害が発生した場合や、先行命令によって無意味に待たさ
れている後続命令が存在する場合に、命令制御情報を別
の命令制御パイプラインに速やかに移して処理を引き継
がせることによって固定障害の影響回避や命令発行の遅
滞を防止でき、同種の命令制御パイプラインを複数本備
えている命令制御装置の性能をより一層向上させること
が可能となる。
As described above, according to the present invention, the instruction control information held in the same stage of another instruction control pipeline or the preceding stage thereof is quickly transferred to a certain stage of a certain instruction control pipeline. There is an effect that can be. Therefore, for example, when a fixed fault occurs in a certain instruction control pipeline, or when there is a subsequent instruction meaninglessly waited by a preceding instruction, the instruction control information is promptly transferred to another instruction control pipeline. By taking over the process, it is possible to avoid the effects of the fixed failure and prevent delay of instruction issuance, and it is possible to further improve the performance of an instruction control device having a plurality of instruction control pipelines of the same type.

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

第1図は本発明の一実施例の構成図、 第2図および第3図は最終ステージE0,E1においてスカ
ラ演算部24に対して同一タイミングで命令が発行される
のを回避する調停動作のタイムチャート、 第4図は固定障害発生時に他の命令制御パイプラインに
処理を引き継がせた際の一タイムチャート、 第5図は固定障害発生時に他の命令制御パイプラインに
処理を引き継がせた際の動作説明図、 第6図は固定障害発生時に他の命令制御パイプラインに
処理を引き継がせた際の別のタイムチャート、 第7図は停滞している先行命令の後続の命令の処理を他
の命令制御パイプラインに引き継がせた際の一タイムチ
ャート、 第8図は停滞している先行命令の後続の命令の処理を他
の命令制御パイプラインに引き継がせた際の動作説明
図、 第9図は停滞している先行命令の後続の命令の処理を他
の命令制御パイプラインに引き継がせた際の別のタイム
チャートおよび、 第10図は停滞している先行命令の後続の命令を待たせ続
けた際のタイムチャートである。 図において、 1…命令フェッチ部 2〜11…命令レジスタ 12a〜21a…BUSYフラグ 12b〜21b…HOLDフラグ 22…パイプライン制御部 23…命令発行調停部 24…スカラ演算部 25〜34…障害検出回路 207,208,308,309,409,410,510,511,611…異なる命令制
御パイプラインの対応するステージ間で情報を転送する
信号線 702,703,803,804,904,905,105,106…異なる命令制御パ
イプラインのステージにそれに対応するステージの前段
のステージの情報を転送する信号線
FIG. 1 is a block diagram of one embodiment of the present invention, and FIGS. 2 and 3 show arbitration operations to avoid issuing instructions to the scalar operation unit 24 at the same timing in the final stages E0 and E1. Time chart, FIG. 4 is a time chart when another instruction control pipeline takes over processing when a fixed failure occurs, and FIG. 5 is a time chart when another instruction control pipeline takes over processing when a fixed failure occurs. FIG. 6 is another time chart when another instruction control pipeline takes over the processing when a fixed failure occurs. FIG. 7 shows another processing of the instruction following the stalled preceding instruction. FIG. 8 is a time chart when the instruction control pipeline is taken over, and FIG. 8 is an operation explanatory diagram when the processing of the instruction following the stalled preceding instruction is taken over by another instruction control pipeline; The figure is stagnant Time chart when the processing of the instruction following the preceding instruction is taken over by another instruction control pipeline, and FIG. 10 shows the time when the instruction following the stalled preceding instruction is kept waiting. It is a chart. In the figure, 1 ... instruction fetch unit 2-11 ... instruction register 12a-21a ... BUSY flag 12b-21b ... HOLD flag 22 ... pipeline control unit 23 ... instruction issue arbitration unit 24 ... scalar operation unit 25-34 ... fault detection circuit 207, 208, 308, 309, 409, 410, 510, 511, 611 ... signal lines for transferring information between corresponding stages of different instruction control pipelines 702, 703, 803, 804, 904, 905, 105, 106 ... signal lines for transferring information of stages preceding the corresponding stages to different instruction control pipeline stages

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】命令フェッチ部でフェッチした命令の解読
からスカラ演算部への動作指示までの処理を複数のステ
ージに分割して並列して実行する同一構成の命令制御パ
イプラインを複数本備えた命令制御装置において、 第1の命令制御パイプラインの第1のステージの命令レ
ジスタに、前記第1の命令制御パイプラインと異なる第
2の命令制御パイプラインにおける前記第1のステージ
に対応するステージの前段のステージの命令レジスタに
保持された命令制御情報を移す信号線を備えたことを特
徴とする命令制御パイプライン構造。
A plurality of instruction control pipelines having the same configuration are provided which divide a process from decoding of an instruction fetched by an instruction fetch unit to an operation instruction to a scalar operation unit into a plurality of stages and execute them in parallel. In the instruction control device, an instruction register of a first stage of a first instruction control pipeline may include a stage corresponding to the first stage in a second instruction control pipeline different from the first instruction control pipeline. An instruction control pipeline structure comprising a signal line for transferring instruction control information held in an instruction register of a preceding stage.
【請求項2】命令フェッチ部でフェッチした命令の解読
からスカラ演算部への動作指示までの処理を複数のステ
ージに分割して並列して実行する同一構成の命令制御パ
イプラインを複数本備えた命令制御装置において、 第1の命令制御パイプラインの第1のステージの命令レ
ジスタに、前記第1の命令制御パイプラインと異なる第
2の命令制御パイプラインにおける前記第1のステージ
に対応するステージの命令レジスタに保持された命令制
御情報を移す信号線を備えたことを特徴とする命令制御
パイプライン構造。
A plurality of instruction control pipelines having the same configuration for dividing a process from decoding of an instruction fetched by an instruction fetch unit to an operation instruction to a scalar operation unit into a plurality of stages and executing the divided stages in parallel; In the instruction control device, an instruction register of a first stage of a first instruction control pipeline may include a stage corresponding to the first stage in a second instruction control pipeline different from the first instruction control pipeline. An instruction control pipeline structure comprising a signal line for transferring instruction control information held in an instruction register.
【請求項3】命令フェッチ部でフェッチした命令の解読
からスカラ演算部への動作指示までの処理を複数のステ
ージに分割して並列して実行する同一構成の命令制御パ
イプラインを複数本備えた命令制御装置において、 第1の命令制御パイプラインの第1のステージの命令レ
ジスタに、前記第1の命令制御パイプラインと異なる第
2の命令制御パイプラインにおける前記第1のステージ
に対応するステージの前段のステージの命令レジスタに
保持された命令制御情報を移す信号線と、 前記第1のステージの命令レジスタに、前記第2の命令
制御パイプラインにおける前記第1のステージに対応す
るステージの命令レジスタに保持された命令制御情報を
移す信号線とを備えたことを特徴とする命令制御パイプ
ライン構造。
3. A plurality of instruction control pipelines having the same configuration, wherein processing from decoding of an instruction fetched by an instruction fetch unit to an operation instruction to a scalar operation unit is divided into a plurality of stages and executed in parallel. In the instruction control device, an instruction register of a first stage of a first instruction control pipeline may include a stage corresponding to the first stage in a second instruction control pipeline different from the first instruction control pipeline. A signal line for transferring instruction control information held in an instruction register of a preceding stage; and an instruction register of a stage corresponding to the first stage in the second instruction control pipeline to the instruction register of the first stage. And a signal line for transferring the instruction control information held in the instruction control pipeline.
JP29017590A 1990-10-26 1990-10-26 Instruction control pipeline structure Expired - Lifetime JP2900581B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29017590A JP2900581B2 (en) 1990-10-26 1990-10-26 Instruction control pipeline structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29017590A JP2900581B2 (en) 1990-10-26 1990-10-26 Instruction control pipeline structure

Publications (2)

Publication Number Publication Date
JPH04163629A JPH04163629A (en) 1992-06-09
JP2900581B2 true JP2900581B2 (en) 1999-06-02

Family

ID=17752721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29017590A Expired - Lifetime JP2900581B2 (en) 1990-10-26 1990-10-26 Instruction control pipeline structure

Country Status (1)

Country Link
JP (1) JP2900581B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083038A (en) * 2020-11-24 2022-06-03 ソニーセミコンダクタソリューションズ株式会社 Signal processing device

Also Published As

Publication number Publication date
JPH04163629A (en) 1992-06-09

Similar Documents

Publication Publication Date Title
JPS63127368A (en) Control system for vector processor
JP2900581B2 (en) Instruction control pipeline structure
EP0674258B1 (en) Device for managing access conflict between a CPU and memories
JP2944111B2 (en) Request control method and storage control device
JP3982077B2 (en) Multiprocessor system
JPH1097465A (en) Multiprocessor system
JPH0478902A (en) Bus controller
JP3956652B2 (en) Processor system
JPH05108476A (en) Main storage controller
JP3704367B2 (en) Switch circuit
JPH07244588A (en) Data processor
JPH01169565A (en) Multiprocessor control system
JPH022178B2 (en)
JPS629460A (en) Instruction control system for multi-processor system
KR19990071122A (en) Multiprocessor circuit
JP2856709B2 (en) Bus coupling system
JPH1091589A (en) Inter-processor synchronization controller
JPH0535507A (en) Central processing unit
JPS5899868A (en) Parallel processing system
JPH04353928A (en) Arithmetic processing unit
JPH0341547A (en) Multiprocessor constitution system
JPH0685166B2 (en) Instruction control method for multiprocessor system
JPH03141454A (en) Local bus controller
JPH048825B2 (en)
JPH06236318A (en) Storage control system