JPS61288230A - Pipeline control system - Google Patents

Pipeline control system

Info

Publication number
JPS61288230A
JPS61288230A JP13115585A JP13115585A JPS61288230A JP S61288230 A JPS61288230 A JP S61288230A JP 13115585 A JP13115585 A JP 13115585A JP 13115585 A JP13115585 A JP 13115585A JP S61288230 A JPS61288230 A JP S61288230A
Authority
JP
Japan
Prior art keywords
stage
instruction
register
hold
sent
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
JP13115585A
Other languages
Japanese (ja)
Inventor
Haruo Yano
矢野 治雄
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP13115585A priority Critical patent/JPS61288230A/en
Publication of JPS61288230A publication Critical patent/JPS61288230A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To improve the throughput by shortening the delay time of a hold signal generating circuit in each state in the pipeline control to reduce the clock cycle of an information processor. CONSTITUTION:An instruction sent through an instruction register 31 is transmitted to stages D, A1, D2, and E and is processed in the cycle of a maximum of one clock. In case of a load/store instruction, an operation code OP and an address are sent to a buffer memory unit in the stage E. In case of an arithmetic instruction, the operation code OP and the first and the second operands Y and Z are sent to an arithmetic unit corresponding to the classification of operation in the stage following the stage E. During this period, a general register (GR) used for address generation of the load/store instruction is read out in the stage D and a GR of an arithmetic operand is read out in the stage E.

Description

【発明の詳細な説明】 [産業上の利用分野〕 本発明はパイプライン制御方式に関し、特に処理ステー
ジのホールド制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a pipeline control system, and particularly to a hold control system for processing stages.

〔従来の技術〕[Conventional technology]

従来、パイプライン制御方式を採用する命令処理ユニッ
トにおける汎用レジスタ(以下、GRと略記する)の読
出し制御と各ステージのホールド制御とは、以下のよう
になっている。なお、説明を簡噴にするために、GR同
士の演算命令およびメモリとGRとの間のロード/スト
ア命令を主体とする命令処理ユニットについて説明する
Conventionally, read control of a general-purpose register (hereinafter abbreviated as GR) and hold control of each stage in an instruction processing unit that employs a pipeline control method is as follows. In order to simplify the explanation, an instruction processing unit that mainly handles arithmetic instructions between GRs and load/store instructions between a memory and a GR will be described.

第6図は従来のパイプライン制御方式を採用する命令処
理ユニットの主要部を示すブロック図である。この命令
処理ユニットは、命令取出部1と、デコード(D)ステ
ージ命令レジスタ2と、第1アドレス作成(Δ1)ステ
ージ命令レジスタ3と、第2アドレス作成(A2)ステ
ージ命令レジスタ4と、実行起動(E)ステージ命令レ
ジスタ5と、レジスタバンク11と、ディスプレイスメ
ントレジスタ12と、ベースアドレスレジスタ13と、
インデックスアドレスレジスタ14と、キャリイセープ
加算器(CAS)15と、アドレス加算の中間結果を保
持するレジスタ16および17と、2人力加算器(CP
八)18と、メモリアドレスレジスタ19と、オペラン
ドレジスタ20および21と、レジスタバンク11内の
GRの一部が更新待ち状態であることを示すフラグ6と
、ベースアドレスおよびインデックスアドレスとして用
いるGRが更新待ち状態であるか否かを検出するための
組合せ回路7と、同様にオペランドとして用いるGRが
更新待ち状態であるか否かを検出するための組合せ回路
8と、複数の演算ユニットのそれぞれおよびバッファメ
モリユニットに対応して設けられこれらユニットが使用
不可であることを示すフラグ9と、Eステージの命令が
使用する演算ユニットが使用不可であることを検出する
組合せ回路10とから、その主要部が構成されている。
FIG. 6 is a block diagram showing the main parts of an instruction processing unit that employs a conventional pipeline control method. This instruction processing unit includes an instruction fetch section 1, a decode (D) stage instruction register 2, a first address creation (Δ1) stage instruction register 3, a second address creation (A2) stage instruction register 4, and an execution start (E) stage instruction register 5, register bank 11, displacement register 12, base address register 13,
An index address register 14, a carry save adder (CAS) 15, registers 16 and 17 for holding intermediate results of address addition, and a two-person adder (CP).
8) 18, memory address register 19, operand registers 20 and 21, flag 6 indicating that part of the GR in register bank 11 is in an update waiting state, and GR used as the base address and index address are updated. A combinational circuit 7 for detecting whether it is in a waiting state, a combinational circuit 8 for similarly detecting whether GR used as an operand is in an update waiting state, each of a plurality of arithmetic units and a buffer. The main part consists of a flag 9 provided corresponding to the memory unit and indicating that these units are unusable, and a combinational circuit 10 that detects that the arithmetic unit used by the E stage instruction is unusable. It is configured.

このようなパイプライン化された命令処理ユニットでは
、命令取出部1より受けた命令語を順次l命令1クロツ
クの周期で、Dステージ、A1ステージ、A2ステージ
、Eステージと伝播して処理できるが、処理中の命令シ
ーケンスによっては処理の待合せが生ずる。
In such a pipelined instruction processing unit, the instruction word received from the instruction fetching unit 1 can be processed by propagating it sequentially to the D stage, A1 stage, A2 stage, and E stage at a cycle of 1 instruction and 1 clock. , processing may be delayed depending on the instruction sequence being processed.

例えば、Dステージにおいてアドレス生成の入力となる
GR内の値を読み出す際に、このGRが更新待ち状態、
すなわち、Dステージの命令に先行する命令が同−GR
を更新する命令でがっこの命令がAIステージから演算
ユニット最終ステージの間のいずれかに仕掛かっている
状態では、Dステージの処理を待ち合わせることが必要
で、同様のことがEステージでのオペランドどなるGR
の読出しについても起こる。
For example, when reading a value in a GR that is an input for address generation in the D stage, this GR is in an update waiting state.
In other words, the instruction preceding the D stage instruction is the same -GR
If the instruction to update the parentheses is in progress somewhere between the AI stage and the final stage of the arithmetic unit, it is necessary to wait for the processing in the D stage, and the same thing will happen to the operand in the E stage. GR
This also occurs when reading .

さらに、演算ユニットが完全にパイプライン化されてい
なければ、Eステージで演算ユニットが使用可能となる
タイミングまで待ち合わせることも必要である。
Furthermore, if the arithmetic unit is not completely pipelined, it is also necessary to wait until the arithmetic unit becomes available in the E stage.

従来、待合せ条件の検出は、組合せ回路7.8およびl
Oに示すように待ち合わせるステージの命令語情報とフ
ラグとをつき合わせて行っており、この検出出力により
そのステージとそのステージより上段のステージの全て
をホールドすることにより実現されている。
Conventionally, the detection of waiting conditions is performed using combinational circuits 7.8 and l.
This is achieved by matching the flag with the instruction word information of the stage to wait as shown in O, and holding that stage and all stages above it based on this detection output.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来のパイプライン制御方式は、各ステージの
ホールド信号が命令処理ユニットの全域にわたる性質の
信号であるにもかかわらず、ホールド信号のフリップフ
ロップ間のゲート段数がかなり多いためにその伝達に要
する時間が大きくなり、命令処理ユニットを含む情報処
理装置のクロックサイクルを小さくできず、情報処理装
置の性能向上の妨げになるという欠点がある。
In the conventional pipeline control method described above, although the hold signal of each stage is a signal that spans the entire instruction processing unit, the number of gate stages between the flip-flops of the hold signal is quite large, so it takes a long time to transmit the hold signal. This has the drawback that it takes a long time and the clock cycle of the information processing device including the instruction processing unit cannot be reduced, which hinders the performance improvement of the information processing device.

なお、各ステージのホールド信号作成回路の途中に単に
フリップフロップを挿入しただけでは、ホールドの開始
および解除のタイミングが1クロック分遅れるだけなの
で誤った処理を行うことになり、問題の解決にはならな
い。
In addition, simply inserting a flip-flop in the middle of the hold signal generation circuit of each stage will only delay the start and release timing of hold by one clock, which will result in incorrect processing and will not solve the problem. .

本発明の目的は、ある特定のステージのホールド条件を
数クロック前に予知してホールドFFセット信号を作成
し、ホールドFFの出力で各ステージのレジスタを直接
ホールドするようにしたパイプライン制御方式を提供す
ることにある。
An object of the present invention is to provide a pipeline control method in which the hold condition of a specific stage is predicted several clocks in advance, a hold FF set signal is created, and the register of each stage is directly held with the output of the hold FF. It is about providing.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のパイプライン制御方式は、シリアルに接続され
た複数段のステージを備え、各ステージの出力をクロッ
クに同期して順次伝えながら処理していく情報処理装置
のパイプライン制御方式において、前記複数のステージ
のある特定のステージで処理情報をホールドする必要が
あるときに、前記特定のステージより前段のステージで
前記処理情報が前記特定のステージでのホールドが必要
か否かを予知する予知手段と、前記処理情報を前記特定
のステージにセットすると同時に前記予知信号がセット
され前記特定のステージをホールドするフリップフロッ
プ手段と、前記特定のステージにセットされた前記処理
情報を用いて前記特定のステージのホールド解除条件を
前記特定のステ−ジのホールド解除タイミング以前に予
知し前記フリップフロップ手段をリセットするリセット
手段とを有する。
The pipeline control method of the present invention is a pipeline control method for an information processing device that includes a plurality of serially connected stages and processes the output of each stage while sequentially transmitting the output in synchronization with a clock. a prediction means for predicting whether or not the processing information needs to be held at the specific stage in a stage preceding the specific stage when the processing information needs to be held at a specific stage; , flip-flop means for setting the processing information in the specific stage and simultaneously setting the prediction signal to hold the specific stage; and reset means for predicting hold release conditions before the hold release timing of the specific stage and resetting the flip-flop means.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は、本発明の一実施例のパイプライン制御方式を
採用する命令処理ユニットの制御部を示すブロック図で
ある。この命令処理ユニットは、命令取出部の命令レジ
スタ31と、Dステージ命令レジスタ32と、AIステ
ージ命令レジスタ33と、A2ステージ命令レジスタ3
4と、Eステージ命令レジスタ35と、GR更新待ち検
出回路36と、AIステージ、A2ステージおよびEス
テージのGR更新待ちチェック指示レジスタ37.38
および39と、A2ステージおよびEステージの演算ユ
ニットビジーチェック指示レジスタ40および41と、
演算ユニットが使用できないタイミングのときにこれを
表示する複数個のビジーフラグ42と、命令のオペレー
ションコードをデコードするデコーダ49.50および
51と、AIステージ、A2ステージおよびEステージ
のレジスタをホールドするフリップフロップ(以下、F
Fと略記する)59と、Dステージ以上のステージのレ
ジスタをホールドするFF55とから、その主要部が構
成されている。
FIG. 1 is a block diagram showing a control section of an instruction processing unit that employs a pipeline control method according to an embodiment of the present invention. This instruction processing unit includes an instruction register 31 of an instruction fetch section, a D stage instruction register 32, an AI stage instruction register 33, and an A2 stage instruction register 3.
4, the E stage instruction register 35, the GR update wait detection circuit 36, and the GR update wait check instruction registers 37 and 38 of the AI stage, A2 stage, and E stage.
and 39, arithmetic unit busy check instruction registers 40 and 41 of A2 stage and E stage,
A plurality of busy flags 42 that display when an arithmetic unit cannot be used, decoders 49, 50 and 51 that decode instruction operation codes, and flip-flops that hold registers of the AI stage, A2 stage, and E stage. (Hereinafter, F
The main part thereof is composed of an FF 59 (abbreviated as F) and an FF 55 that holds registers of stages D and higher.

なお、各命令レジスタは4バイトで、また第1図にはG
Rを構成しているレジスタバンク、アドレス加算器とそ
の周辺のレジスタを図示していないが、これらは前述の
第6図に示す通りである。
Note that each instruction register is 4 bytes, and in Figure 1 G
Although the register bank, address adder, and peripheral registers constituting R are not shown, they are as shown in FIG. 6 described above.

第3図に命令処理ユニットに与えられる命令語の形式を
示す。
FIG. 3 shows the format of the instruction word given to the instruction processing unit.

GR同士の演算命令の命令語は4バイトで、オペレーシ
ョンコードoP、格納先GR番号X、第1オペランドと
なるGR番番号台よび第2オペランドとなるGRR号2
より構成される。ロード/ストア命令の命令語は、上記
オペレーションコードOPおよびGR番号x、y、zに
4バイトの変位りが続き、アドレスはGRyおよびGR
z  (ただし、添字yおよび2はGR番番号台よびZ
によって指定されたGRであることを意味する。以下同
様)と変位りとの加算結果により与えられる。
The instruction word for an operation instruction between GRs is 4 bytes, and includes the operation code oP, the storage destination GR number
It consists of The command word of the load/store instruction is the above operation code OP and GR numbers x, y, z followed by a 4-byte displacement, and the addresses are GRy and GR.
z (However, the subscripts y and 2 are the GR number base and Z
This means that it is a GR specified by. The same applies hereafter) and the displacement.

第1図に戻り、命令レジスタ3Iを経て順次送られてく
る命令語は、D、AI、A2およびEステージと伝達し
て最高1クロツクの周期で処理され、ロード/ストア命
令の場合にはEステージからオペレーションコードOP
およびアドレスがバッファメモリユニットに、演算命令
の場合にはEステージの次のステージからオペレーショ
ンコードOPならびに第1および第2オペランドYおよ
びZがオペレーションの種類に応じた演算ユニットに送
出される。この間、Dステージではロード/ストア命令
のアドレス生成に使用するGRの読出し、Eステージで
は演算命令の演算オペランドとなるGRの読出しが行わ
れる。
Returning to FIG. 1, the instruction word sent sequentially via the instruction register 3I is transmitted to the D, AI, A2 and E stages and processed in a maximum period of one clock, and in the case of a load/store instruction, the E Operation code OP from stage
In the case of an arithmetic instruction, the operation code OP and the first and second operands Y and Z are sent to the arithmetic unit according to the type of operation. During this time, in the D stage, the GR used to generate the address of the load/store instruction is read, and in the E stage, the GR that becomes the arithmetic operand of the arithmetic instruction is read.

また、演算結果はEステージから実行開始が出されると
、オペレーションコードOPによって決まる時刻にレジ
スタバンク11(第6図参照)に返ってくる。ロードデ
ータも、バッファメモリユニットでミスヒツトを起こさ
ない限り一定時刻に返ってくる。
Further, when the execution start is issued from the E stage, the operation result is returned to the register bank 11 (see FIG. 6) at the time determined by the operation code OP. Load data also returns at a fixed time unless a miss occurs in the buffer memory unit.

次に、GR更新待ち検出回路36の詳細を第2図を参照
して説明する。このGR更新待ち検出回路36は、更新
されるGR番号が登録されるレジスタ80と、このレジ
スタ80に示されるGRが更新中、すなわちこのGRR
新命令が仕掛中であることを示す3種のFF83.84
および87と、このGRR新命令の実行時間がプリセッ
トされ実行開始信号110を受けてからカウントダウン
される実行時間カウンタ85と、このカウンタ85の値
が°1°であることを検出するデコーダ86と、A1ス
テージのGR番番号台よびZと更新GRR号レジスタ8
0内のGR番号との一致を検出する一致回路81および
82とから構成される回路を8組(エントリ) (II
えている。
Next, details of the GR update wait detection circuit 36 will be explained with reference to FIG. This GR update waiting detection circuit 36 has a register 80 in which the GR number to be updated is registered, and a register 80 that indicates that the GR indicated in this register 80 is being updated, that is, this GRR
3 types of FF83.84 indicating that a new command is in progress
and 87, an execution time counter 85 which has a preset execution time for this new GRR instruction and counts down after receiving the execution start signal 110, and a decoder 86 which detects that the value of this counter 85 is 1 degree. A1 stage GR number number base and Z and updated GRR number register 8
8 sets (entries) of circuits each consisting of matching circuits 81 and 82 that detect matching with GR numbers within 0 (II
It is growing.

GRR新命令が命令レジスタ31からDステージ命令レ
ジスタ32にセットされると、オペレーションコードO
Pのデコーダ50によるデコード信号67−aが“l゛
になり、8エントリの内の空いているエントリの1つ、
例えば、エントリ0が選択回路98にて選択される。 
さらに、ホールドFF59のT出力が′0°で、Dステ
ージでのGR更新待ち条件でなければ、Dステージ命令
レジスタ32に格納されたGR更新命令はAIステージ
命令し、ジスタ33にセントされる。このとき、同時に
格納先GR番号Xが信号線63を介して更新GR番号レ
ジスタ80に、また、オペレージコンコードoPのデコ
ーダ50によるデコード信号67−bが表ず演算時間が
カウンタ85にセットされ、有効性表示FF83もセッ
トされる。さらに、登録をしたエントリの番号、すなわ
ち“0゛と有効ビットがレジスタ121にセットされる
。この更新命令がA2ステージからEステージにセント
されると同時に、FF84がセントされる。
When the GRR new instruction is set from the instruction register 31 to the D stage instruction register 32, the operation code O
The decoded signal 67-a by the decoder 50 of P becomes "l", and one of the vacant entries among the eight entries,
For example, entry 0 is selected by the selection circuit 98.
Furthermore, if the T output of the hold FF 59 is '0° and there is no GR update wait condition in the D stage, the GR update instruction stored in the D stage instruction register 32 is an AI stage instruction and is sent to the register 33. At this time, at the same time, the storage destination GR number Validity display FF83 is also set. Further, the number of the registered entry, ie, "0" and the valid bit are set in the register 121. At the same time as this update instruction is sent from the A2 stage to the E stage, the FF 84 is sent.

さらに、この更新命令がEステージから実行開始される
と実行起動信号110によりFF87がセントされ、同
時に実行時間カウンタ85のディクリメントが始まる。
Furthermore, when execution of this update instruction is started from the E stage, the FF 87 is sent by the execution start signal 110, and at the same time, the execution time counter 85 starts decrementing.

カウンタ85の値が2゛になるとFF84がリセットさ
れ、 “loになるとFF83および87がリセットさ
れる。
When the value of the counter 85 reaches 2, the FF 84 is reset, and when the value of the counter 85 reaches "lo", the FFs 83 and 87 are reset.

次に、本発明のパイプライン制御方式においてステージ
のホールドを制御するFF55および59の動作につい
て説明する。
Next, the operations of the FFs 55 and 59 that control stage hold in the pipeline control system of the present invention will be described.

第4図は、GR4を更新する加算命令とGR4をアドレ
ス計算に用いるロード命令との命令シーケンスが処理さ
れる場合のタイムチャートで、以後加算命令をAD命令
、ロード命令をLD命令と略記して説明する。
Figure 4 is a time chart when an instruction sequence of an addition instruction that updates GR4 and a load instruction that uses GR4 for address calculation is processed. explain.

AD命令がDステージからAIステージに入ると同時に
、GRiの更新待ち状態がGR更新待ち検出回路36の
エントリ0に設定される。すなわち、更新GR番号レジ
スタ80にはiがセントされ、実行時間カウンタ85に
はAD命令の演算時間“3′がプリセントされ、エント
リOの有効性表示FF83がセットされる。
At the same time that the AD instruction enters the AI stage from the D stage, the update wait state of GRi is set to entry 0 of the GR update wait detection circuit 36. That is, i is preset to the update GR number register 80, the calculation time "3" of the AD instruction is preset to the execution time counter 85, and the validity display FF 83 of entry O is set.

これと同時に、後続のLD命令は命令数山部(以下、I
FCと略記する)lの命令レジスタ31からDステージ
命令レジスタ32にセントされる。このとき、デコーダ
49から出力されるデコード信号は命令レジスタ3Iに
ロード/ストア命令があれば1゛ となり、アンドゲー
ト52を“lo とし、FF55をセントする。これは
、ロード/ストア命令の場合に、DステージでGRを読
み出すが、このGRが更新待ちであればDステージをホ
ールドする必要があり、ロード/ストア命令をDステー
ジ命令レジスタ32にセットすると同時にFF55をセ
ットする。このGRが更新待ちでない場合には、実際に
はその場合が多いのであるが、Dステージ命令レジスタ
32が1クロツクの間ホールドされても性能上の損失は
ない、なぜならば、LD命令の後半4バイトは変位りで
、これはDステージ命令レジスタ32にはセットしない
からである。
At the same time, the subsequent LD instruction is
(abbreviated as FC) l is sent from the instruction register 31 to the D stage instruction register 32. At this time, the decode signal output from the decoder 49 becomes 1 if there is a load/store instruction in the instruction register 3I, sets the AND gate 52 to "lo", and sets the FF 55. , the GR is read in the D stage, but if this GR is waiting for update, it is necessary to hold the D stage, and the load/store instruction is set in the D stage instruction register 32 and FF 55 is set at the same time. If not, which is often the case, there is no loss in performance even if the D stage instruction register 32 is held for one clock, because the last 4 bytes of the LD instruction are displaced. , this is because it is not set in the D stage instruction register 32.

ホールドFF55がセットされると、同時にLD命令が
Dステージ命令レジスタ32にセットされ、第1または
第2オペランドを示すGR番号YまたはZがiとなるの
で、信号線61または62を介してエントリOの一致回
路81または82の出力が°1゛となり、信号64が°
l° となってFF55はアンドゲート53の出力によ
りamセットされる。2クロツク後に、AD命令がEス
テージに入り、同時に実行開始指示が出され、これによ
りデコーダ125の実行起動信号110が“lo とな
り、実行時間カウンタ85のデクリメントが開始される
。このカウンタ値が“2”になるとFF84はリセット
され、“1“になるとFF83および87はリセットさ
れる。
When the hold FF 55 is set, the LD instruction is set in the D stage instruction register 32 at the same time, and the GR number Y or Z indicating the first or second operand becomes i, so the entry O is sent via the signal line 61 or 62. The output of the matching circuit 81 or 82 becomes °1, and the signal 64 becomes °
1°, and the FF 55 is set to am by the output of the AND gate 53. Two clocks later, the AD instruction enters the E stage, and at the same time an execution start instruction is issued, which causes the execution start signal 110 of the decoder 125 to become "lo" and the execution time counter 85 to start decrementing. This counter value becomes " When the signal becomes "2", the FF 84 is reset, and when the signal becomes "1", the FFs 83 and 87 are reset.

FF83が“O゛になるとエントリ0の一致回路81お
よび82の出力は無効化され、信号64は“0゛ とな
ってFF55はリセットされる。
When the FF 83 becomes "O", the outputs of the matching circuits 81 and 82 of entry 0 are invalidated, the signal 64 becomes "0", and the FF 55 is reset.

第5図は、GRiを更新する加算命令とGRiをオペラ
ンドとする乗算命令との命令シーケンスが処理されると
きのタイムチャートを示しており、以下、加算命令をA
D命令、乗算命令をML命令と略記して説明する。
FIG. 5 shows a time chart when an instruction sequence of an addition instruction that updates GRi and a multiplication instruction that uses GRi as an operand is processed.
The D instruction and multiplication instruction will be abbreviated as ML instruction.

AD命令がDステージからA1、A2およびEステージ
へと進み実行が開始されると、エントリ0の有効性表示
FF83および84ならびに実行時間カウンタ85は前
記と同様に動作する。
When the AD instruction advances from the D stage to the A1, A2, and E stages and starts execution, the validity display FFs 83 and 84 and the execution time counter 85 of entry 0 operate in the same manner as described above.

ML命令がDステージ命令レジスタ32にセントされる
と、エントリ0の一致回路81および82の出力が°l
゛となり、更新待ちチェック指示レジスタ37のビット
Oの入力が“1° となる。このレジスタ37の出力は
、ML命令がA2ステージまで進んだときに更新待ちチ
ェック指示レジスタ38のビット0をl゛ とする。こ
こで、組合せ回路45にて信号66によってエントリ0
のFF84の値がチェックされ、このFF84の値はま
だ°1°であるためオアゲート47、アンドゲート56
およびオアゲート58を介してホールドFF59がセッ
トされる。このタイミングは、ML命令がEステージ命
令れ35にセントされるのと同時である。ホールドFF
59がセットされると、全ステージはホールドされる。
When the ML instruction is sent to the D stage instruction register 32, the outputs of the matching circuits 81 and 82 at entry 0 are
Therefore, the input of bit O of the update waiting check instruction register 37 becomes "1°." Here, entry 0 is set by the signal 66 in the combinational circuit 45.
The value of FF84 is checked, and since the value of FF84 is still °1°, OR gate 47 and AND gate 56
The hold FF 59 is set via the OR gate 58. This timing is at the same time that the ML instruction is sent to the E stage instruction 35. Hold FF
When 59 is set, all stages are held.

ML命令がEステージ命令レジスタ35にセットされる
と、今度は更新待ちチェック指示レジスタ39のビット
0が“1′ となり、有効性表示FF84の値が信号6
6によってチェックされ、同時にオアゲート48、アン
ドゲート57およびオアゲート58を介してホールドF
F59が継続セットされる。
When the ML instruction is set in the E stage instruction register 35, bit 0 of the update waiting check instruction register 39 becomes “1”, and the value of the validity display FF 84 becomes the signal 6.
6, and at the same time the hold F is checked via OR gate 48, AND gate 57 and OR gate 58.
F59 is continuously set.

実行時間カウンタ85の値が“2°になると、すなわち
AD命令によるGRiへの書込みサイクルの1クロフク
前になると、デコーダ86を介して有効性表示FF84
はリセットされる。次のサイクルでは組合せ回路46の
出力が0゛ となり、FF59はリセットされて全ステ
ージのホールドが解除される。
When the value of the execution time counter 85 reaches "2 degrees", that is, one clock before the writing cycle to GRi by the AD instruction, the validity display FF 84 is sent via the decoder 86.
will be reset. In the next cycle, the output of the combinational circuit 46 becomes 0, the FF 59 is reset, and the hold of all stages is released.

次に、演算ユニットのビジーチェックについて説明する
Next, the busy check of the arithmetic unit will be explained.

デコーダ51では、A1ステージ命令レジスタ33に格
納されているオペレーションコードOPを入力としてこ
の命令の実行に用いる演算ユニットを解読し、対応する
ビットを“Alo とする、ビジーチェック指示レジス
タ40および41は、この結果をステージ対応に持ち回
るためのものである。
The decoder 51 inputs the operation code OP stored in the A1 stage instruction register 33, decodes the arithmetic unit used to execute this instruction, and sets the corresponding bit to "Alo".The busy check instruction registers 40 and 41 The purpose is to transfer the results to various stages.

演算ユニット毎に設けられた複数のビジーフラグ42は
、演算ユニットの使用不可状態時に“1゛となり、その
セントおよびリセットは実際の演算ユニットのビジー状
態より2マシンサイクル前に行われる。これは、演算命
令がA2ス会−ジからEステージに入るときに組合せ回
路43にて所定の演算ユニットのビジーがチェックされ
、ビジーでなければ他の条件と併せてEステージの実行
開始FF(図示せず)がセントされ、このFFはさらに
もう一段受けてから演算ユニットに送られているためで
ある。演算ユニットのビジーフラグのリセットも前述と
同様の実行時間カウント手段で実現されている。
The plurality of busy flags 42 provided for each arithmetic unit become "1" when the arithmetic unit is in an unusable state, and the cent and reset are performed two machine cycles before the actual arithmetic unit's busy state. When an instruction enters the E stage from the A2 stage, the combinational circuit 43 checks whether a predetermined arithmetic unit is busy, and if it is not busy, the E stage execution start FF (not shown) is set along with other conditions. This is because this FF is sent to the arithmetic unit after receiving it one more time.The reset of the busy flag of the arithmetic unit is also realized by the same execution time counting means as described above.

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

以上説明したように本発明は、各ステージのホールド信
号の伝達に要する時間、すなわちホールド信号作成回路
の電気的遅延時間を短縮することにより、情報処理装置
のクロックサイクルを小さくでき、情報処理装置の性能
を向上させる効果がある。
As explained above, the present invention reduces the clock cycle of the information processing device by shortening the time required to transmit the hold signal of each stage, that is, the electrical delay time of the hold signal generation circuit. It has the effect of improving performance.

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

第1図は本発明のパイプライン制御方式を採用する命令
処理ユニットの制御部のブロック図、第2図は第1図中
のGR更新待ち検出回路のブロック図、 第3図は第1図の命令処理ユニットに与えられる命令語
の構成図、 第4図および第5図は第1図の命令処理ユニットのステ
ージホールド動作を説明するためのタイムチャート、 第6図は従来のパイプライン制御方式を採用する命令処
理ユニットのブロック図である。 図において、 31.32.33.34.3536 ・・・・・命令レジスタ、 36・・・・・GR更新待ち検出回路、37.38.3
9・GR更新待ちチェック指示レジスタ、 40.41・・・演算ユニットチェック指示レジスタ、 42・・・・・演算ユニットビジーフラグ、55.59
・・・ステージホールドFF、80・・・・・更新GR
番号レしスク、85・・・・・演算時間カウンタ、 81.82・・・−数回路、 83.84.87・状態フラグ、 121.122.123 ・・・・・レジスタである。 第 1 図 /II   /It 第3 目 第 4 目 第5 已
FIG. 1 is a block diagram of the control section of an instruction processing unit that adopts the pipeline control method of the present invention, FIG. 2 is a block diagram of the GR update wait detection circuit in FIG. 1, and FIG. 3 is a block diagram of the GR update wait detection circuit in FIG. FIG. 4 and FIG. 5 are time charts for explaining the stage hold operation of the instruction processing unit in FIG. 1. FIG. 6 is a diagram showing a conventional pipeline control method. FIG. 2 is a block diagram of an instruction processing unit employed. In the figure, 31.32.33.34.3536...Instruction register, 36...GR update wait detection circuit, 37.38.3
9.GR update wait check instruction register, 40.41... Arithmetic unit check instruction register, 42... Arithmetic unit busy flag, 55.59
...Stage hold FF, 80...Updated GR
Number register, 85...Arithmetic time counter, 81.82...-Number circuit, 83.84.87-Status flag, 121.122.123...Register. Figure 1 /II /It 3rd picture 4th picture 5th picture

Claims (1)

【特許請求の範囲】 縦続接続された複数段のステージを有し、各ステージの
出力をクロックに同期して順次伝えながら処理していく
情報処理装置のパイプライン制御方式において、 前記複数のステージのうちのある特定のステージで処理
情報を保持する必要があるときに、前記特定のステージ
より前段のステージで前記特定のステージでの前記処理
情報のホールドが必要か否かを予知する予知手段と、 前記処理情報を前記特定のステージに設定すると同時に
前記予知信号が設定され前記特定のステージをホールド
するフリップフロップ手段と、前記特定のステージに設
定された前記処理情報を用いて前記特定のステージのホ
ールド解除条件を前記特定のステージのホールド解除タ
イミング以前に予知し前記フリップフロップ手段をリセ
ットするリセット手段と、 を有することを特徴とするパイプライン制御方式。
[Scope of Claims] A pipeline control method for an information processing device that has a plurality of cascade-connected stages and processes the output of each stage while sequentially transmitting it in synchronization with a clock, comprising: Prediction means for predicting whether or not it is necessary to hold the processing information at the specific stage in a stage preceding the specific stage when it is necessary to hold the processing information at a specific stage; flip-flop means for setting the processing information to the specific stage and simultaneously setting the prediction signal to hold the specific stage; and holding the specific stage using the processing information set for the specific stage. A pipeline control method comprising: a reset means for predicting a release condition before the hold release timing of the specific stage and resetting the flip-flop means.
JP13115585A 1985-06-17 1985-06-17 Pipeline control system Pending JPS61288230A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13115585A JPS61288230A (en) 1985-06-17 1985-06-17 Pipeline control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13115585A JPS61288230A (en) 1985-06-17 1985-06-17 Pipeline control system

Publications (1)

Publication Number Publication Date
JPS61288230A true JPS61288230A (en) 1986-12-18

Family

ID=15051284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13115585A Pending JPS61288230A (en) 1985-06-17 1985-06-17 Pipeline control system

Country Status (1)

Country Link
JP (1) JPS61288230A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01321522A (en) * 1988-06-24 1989-12-27 Nec Corp Information processor
JPH01321521A (en) * 1988-06-24 1989-12-27 Nec Corp Information processor
JPH02136926A (en) * 1988-11-17 1990-05-25 Nec Corp Process follow-up type interlock mechanism
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01321522A (en) * 1988-06-24 1989-12-27 Nec Corp Information processor
JPH01321521A (en) * 1988-06-24 1989-12-27 Nec Corp Information processor
JPH02136926A (en) * 1988-11-17 1990-05-25 Nec Corp Process follow-up type interlock mechanism
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
US5426783A (en) System for processing eight bytes or less by the move, pack and unpack instruction of the ESA/390 instruction set
US6725357B1 (en) Making available instructions in double slot FIFO queue coupled to execution units to third execution unit at substantially the same time
US20020026545A1 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
JP3182438B2 (en) Data processor
US4777592A (en) Information processing system comprising a register renewal waiting control circuit with renewal register number registering means
JPH01177127A (en) Information processor
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
JP3751402B2 (en) Multi-pipeline microprocessor with data accuracy mode indicator
US5367648A (en) General purpose memory access scheme using register-indirect mode
EP0223150B1 (en) Information processing apparatus
US5678016A (en) Processor and method for managing execution of an instruction which determine subsequent to dispatch if an instruction is subject to serialization
US5809324A (en) Multiple instruction dispatch system for pipelined microprocessor without branch breaks
JP2933027B2 (en) Multiple instruction parallel issue / execution management device
JPS61288230A (en) Pipeline control system
US5237664A (en) Pipeline circuit
JP2778717B2 (en) Data processing unit
JP3534987B2 (en) Information processing equipment
JPH09138748A (en) Method and apparatus for early completion of floating-point instruction
JPS5890247A (en) Pipeline controlling system of information processor
US6922760B2 (en) Distributed result system for high-performance wide-issue superscalar processor
JP2894438B2 (en) Pipeline processing equipment
RU2816092C1 (en) Vliw processor with improved performance at operand update delay
EP1785862A2 (en) Method and apparatus for pipeline processing
US5649226A (en) Processor having multiple instruction registers