JPH03266121A - Pipeline control system - Google Patents
Pipeline control systemInfo
- Publication number
- JPH03266121A JPH03266121A JP6630790A JP6630790A JPH03266121A JP H03266121 A JPH03266121 A JP H03266121A JP 6630790 A JP6630790 A JP 6630790A JP 6630790 A JP6630790 A JP 6630790A JP H03266121 A JPH03266121 A JP H03266121A
- Authority
- JP
- Japan
- Prior art keywords
- stage
- register
- write
- read
- address
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 11
- 230000007704 transition Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
Description
【発明の詳細な説明】
[概要コ
レジスタリードステージの後段にレジスタライトステー
ジをもち且つ各ステージを2サイクル以上に分けて実行
するステージ構成のパイプライン制御方式に関し、
先行する命令のレジスタライトと後続する命令のレジス
タリードで生ずるコンフリクションを検出して矛盾なく
命令を実行させることを目的とし、レジスタライトステ
ージに実行を移す際にセットされ、ライト終了でリセッ
トされるレジスタライトフラグを設け、レジスタライト
アドレスとレジスタリードアドレスが一致し且つレジス
タライトフラグがセット状態にあるときに、コンフリク
ションを検出してレジスタリードステージの動作をレジ
スタライトが終了するまで停止させるように構成する。[Detailed Description of the Invention] [Summary] Regarding a pipeline control method with a stage configuration that has a register write stage after the core register read stage and executes each stage divided into two or more cycles, the register write of the preceding instruction and the subsequent The purpose is to detect conflicts that occur when reading registers of instructions that execute registers, and to execute instructions without contradiction.A register write flag is set when the execution moves to the register write stage, and is reset when the write is completed. When the address matches the register read address and the register write flag is in a set state, a conflict is detected and the operation of the register read stage is stopped until the register write is completed.
[産業上の利用分野コ
本発明は、多段ステージ構成のパイプラインを使用して
命令を解読実行するプロセッサのパイプライン制御方式
に関する。[Industrial Application Field] The present invention relates to a pipeline control method for a processor that uses a multi-stage pipeline to decode and execute instructions.
パイプラインを使用した命令の実行においては、汎用レ
ジスタのリードステージとライトステージが異なる場合
に、レジスタのライトとリードが予定した順番と逆にな
ってしまうレジスタのコンフリクション(矛盾)を生ず
る場合がある。そこでレジスタのコンフリクションの発
生を事前に検出して正しい順番となるように各ステージ
の実行を制御する必要がある。When executing instructions using a pipeline, if the read stage and write stage of a general-purpose register are different, a register conflict may occur where register writes and reads are performed in the opposite order. be. Therefore, it is necessary to detect the occurrence of register conflict in advance and control the execution of each stage so that the correct order is achieved.
[従来の技術]
従来のパイプライン制御方式にあっては、例えば第5図
に示すように、ステージ1からステージ4の4段階に分
けたステージ構成のパイプラインにより命令を連続的に
解読実行する。ステージ1〜4は例えば次の処理を行う
。[Prior Art] In a conventional pipeline control method, for example, as shown in FIG. 5, instructions are sequentially decoded and executed using a pipeline having a four-stage structure from stage 1 to stage 4. . Stages 1 to 4 perform, for example, the following processing.
ステージ1;命令デコード
ステージ2;アドレス計算
ステージ3;アドレス変換
ステージ4;命令実行
ここでステージ2は例えばアドレス計算で得られた汎用
レジスタ16内のレジスタアドレスの内容をリードする
リードステージとしての機能をもつ。またステージ4は
例えば実行した結果をステージ2のアドレス計算で既に
求められている汎用レジスタ16内のアドレスにライト
するライトステージとしての機能をもつ。Stage 1; Instruction decode stage 2; Address calculation stage 3; Address conversion stage 4; Instruction execution Here, stage 2 functions as a read stage that reads the contents of the register address in the general-purpose register 16 obtained by address calculation, for example. Motsu. Furthermore, the stage 4 has a function as a write stage for writing the executed result to the address in the general-purpose register 16 that has already been obtained by the address calculation in the stage 2, for example.
[発明が解決しようとする課題]
しかしながら、レジスタのリードステージとライトステ
ージとが異なるステージ構成のパイプラインにあっては
、連続した命令を実行した場合に、汎用レジスタのコン
フリクションを起こす可能性がある。[Problems to be Solved by the Invention] However, in a pipeline with a stage configuration in which the read stage and write stage of registers are different, there is a possibility that conflict in general-purpose registers will occur when consecutive instructions are executed. be.
汎用レジスタのコンフリクションの発生を第5図につい
て説明すると次のようになる。The occurrence of conflict in general-purpose registers will be explained with reference to FIG. 5 as follows.
いま2つの命令A、Bが連続してパイプラインに与えら
れたとする。先行する命令Aはリードステージとしての
ステージ2で汎用レジスタ16の任意のアドレスの内容
をR■としてリードし、更にライトステージとしてのス
テージ4に進んで結果を汎用レジスタ16の斜線部のア
ドレスに格納する。Suppose that two instructions A and B are consecutively given to the pipeline. The preceding instruction A reads the contents of an arbitrary address of the general-purpose register 16 as R■ in stage 2, which is a read stage, and then proceeds to stage 4, which is a write stage, and stores the result in the shaded address of the general-purpose register 16. do.
ここで後続する命令Bは、命令Aの実行により汎用レジ
スタ16の斜線部にライトされた内容をリードして例え
ばアドレスを計算する命令であったとする。Here, it is assumed that the subsequent instruction B is an instruction to read the contents written to the shaded area of the general-purpose register 16 by executing the instruction A and calculate, for example, an address.
しかし、命令Aに続いて命令Bをステージ2で実行して
汎用レジスタ16の斜線部のアドレスの内容をR■とし
てリードした場合には、このとき先行する命令Aによる
ステージ4のW■のレジスタライトは行なわれておらず
、無意味なレジスタ内容をR■でリードしてしまうとい
うコンフリクション(矛盾)を生ずる。However, if instruction B is executed in stage 2 following instruction A and the content of the address in the shaded area of the general-purpose register 16 is read as R■, then the register of W■ in stage 4 due to the preceding instruction A No writing has been performed, and a conflict arises in which meaningless register contents are read with R.
このような汎用レジスタのコンフリクションの発生に対
し従来はコンフリクションを検出するハードウェアが特
に準備されていない。このためファームウェアによりレ
ジスタのリードを行うときに、コンフリクションを検出
することができなかった。Conventionally, no hardware has been specially prepared to detect the occurrence of conflicts in general-purpose registers. As a result, conflicts could not be detected when reading registers using firmware.
そこで従来方式にあっては、第6図に示すように、ライ
トステージにおけるレジスタライトW■のタイミングを
固定にしておき、リードステージのファームウェアは先
行する命令がレジスタライトを行う命令であったならば
、ライトW■が完了するまでリードステージについてN
OP (ノンオペレーション)を実行してレジスタリー
ドを待機させ、先行命令のライトW■の完了でレジスタ
リードR■を行い、レジスタのコンフリクションを未然
に防止している。Therefore, in the conventional method, as shown in Figure 6, the timing of the register write W■ in the write stage is fixed, and the firmware in the read stage is configured to write the register if the preceding instruction is an instruction to write the register. , N about the read stage until the write W■ is completed.
Register read is made to wait by executing OP (non-operation), and register read R is performed upon completion of write W of the preceding instruction to prevent register conflicts.
しかし、レジスタライトのタイミングを固定する制御方
式にあっては、ライトステージでレジス夕をライトする
タイミングに自由度がないため、パイプライ制御のフレ
キシビリティが損われる問題があった。However, in a control method that fixes the timing of register write, there is no flexibility in the timing of writing the register in the write stage, and therefore there is a problem in that the flexibility of pipeline control is impaired.
本発明は、このような従来の問題点に鑑みてなされたも
ので、先行する命令のレジスタライトと後続する命令の
レジスタリードで生ずるコンフリックジョンをリアルタ
イムで検出して矛盾なく命令を実行できるようにしたパ
イプライ制御方式を提供することを目的とする。The present invention has been made in view of these conventional problems, and it is possible to detect conflicts that occur between a register write of a preceding instruction and a register read of a subsequent instruction in real time, so that instructions can be executed without conflict. The purpose of this paper is to provide a pipeline control method with
[課題を解決するための手段] 第1図は本発明の原理説明図である。[Means to solve the problem] FIG. 1 is a diagram explaining the principle of the present invention.
まず本発明は、命令を多段階に連続して処理する複数の
ステージ10−1〜10−4中に、汎用レジスタをリー
ドするリードステージ10−2と、リードステージ10
−4の後段に位置して汎用レジスタをライトするライト
ステージ10−4を備え、更に各ステージ10−1〜1
0−4の命令実行を2以上のNサイクル、例えN=2サ
イクルに分けて行うプロセッサのパイプライン制御方式
を対象とする。First, the present invention provides a read stage 10-2 for reading a general-purpose register, a read stage 10-2 for reading a general-purpose register, and a read stage
-4 is provided with a write stage 10-4 located after the write stage 10-4 for writing general-purpose registers, and each stage 10-1 to 1
The target is a pipeline control method for a processor in which the execution of instructions 0 to 4 is divided into two or more N cycles, for example, N=2 cycles.
このようなパイブライ制御方式につき本発明にあっては
、ライトステージ10−4に実行を移す際にセットされ
、ライトステージ10−4によるレジスタのライト終了
でリセットされるレジスタライトフラグ12と、ライト
ステージ10−2とライトステージ10−4での各レジ
スタアドレスを比較し、両アドレスが一致し且つレジス
タライトフラグ12がセット状態にあるときに、レジス
タのコンフリクションを検出してリードステージ10−
2の実行をレジスタライトが終了するまで停止させるコ
ンフリクション検出手段14とを設けるようにしたもの
である。Regarding such a pipe write control system, the present invention includes a register write flag 12 that is set when execution is transferred to the write stage 10-4, and is reset when the write stage 10-4 finishes writing the register; 10-2 and each register address in the write stage 10-4 are compared, and when both addresses match and the register write flag 12 is set, a register conflict is detected and the read stage 10-4
2 is provided with a conflict detection means 14 for stopping the execution of step 2 until the register write is completed.
[作用]
このような構成を備えた本発明のパイプライン制御方式
によれば、レジスタのライトステージに移行する段階で
レジスタライトフラグがセットされ、このとき既に求め
られた先行命令のレジスタライトアドレスと後続命令の
レジスタリードアドレスとが一致していれば、コンフリ
クションを検出し、この検出結果をリードステージのフ
ァームウェアに通知してリードステージのレジスタライ
トを停止(リードステージのインタロック)し、レジス
タコンフリクションの発生を未然に防止することができ
る。[Operation] According to the pipeline control method of the present invention having such a configuration, the register write flag is set at the stage of transitioning to the register write stage, and at this time, the register write address of the preceding instruction and the register write address already obtained are set. If the register read address of the subsequent instruction matches, a conflict is detected, this detection result is notified to the read stage firmware, the register write of the read stage is stopped (read stage interlock), and the register controller is It is possible to prevent friction from occurring.
このようなコンフリクション検出は、Nサイクル(N2
2)のパイプラインでは、レジスタアドレステージのN
ステージ前までをリードステージとして使用することが
でき、ライトステージではコンフリクション回避のため
の制約を受けることなく任意のタイミングでレジスタラ
イトが可能となる。Such conflict detection requires N cycles (N2
In pipeline 2), register address stage N
The stage before the stage can be used as a read stage, and in the write stage, register writes can be performed at any timing without being subject to restrictions to avoid conflicts.
[実施例]
第2図は本発明の一実施例を示した実施例構成図である
。[Embodiment] FIG. 2 is a block diagram showing an embodiment of the present invention.
第2図において、パイプラインはステージ1〜4の4段
階に構成され、それぞれデコーダ101、アドレス計算
部10−2、仮想アドレスを実アドレスに変換するアド
レス変換部(DAT部)10−3及び実行部10−4で
構成される。In FIG. 2, the pipeline is configured into four stages, stages 1 to 4, each consisting of a decoder 101, an address calculation unit 10-2, an address conversion unit (DAT unit) 10-3 that converts a virtual address into a real address, and an execution unit. It consists of a section 10-4.
ここでアドレス計算部10−2としてのステージ2がリ
ードステージであり、システムストレージ(C8)16
側の汎用レジスタのアドレスを指定してレジスタの内容
をリードする。また実行部10−4としてのステージ4
がライトステージであり、実行した結果をシステムスト
レージ16側の汎用レジスタにライトする。Here, stage 2 as the address calculation unit 10-2 is a read stage, and the system storage (C8) 16
Specify the address of the general-purpose register on the side and read the contents of the register. Also, stage 4 as the execution unit 10-4
is the write stage, and writes the executed result to the general-purpose register on the system storage 16 side.
尚、ステージ2のリードステージ及びステージ4のライ
トステージにおけるシステムストレージ16側の汎用レ
ジスタのアドレスは、ステージ2としてのアドレス計算
部10−2において、デコーダ10−1で解読された命
令のオペコード部に続くレジスタアドレス部の値の計算
から算出される。The address of the general-purpose register on the system storage 16 side in the read stage of stage 2 and the write stage of stage 4 is determined by the address calculation unit 10-2 as stage 2 in the opcode part of the instruction decoded by the decoder 10-1. It is calculated from the subsequent calculation of the value of the register address field.
更にステージ1〜4のそれぞれはレジスタのコンフリク
ションを起こす可能性のあるレジスタライトを伴う命令
と後続するレジスタリードを伴う命令を実行する場合に
は、各ステージで2以上のNサイクルに命令を分けて実
行するもので、第2図の実施例にあっては、N=2サイ
クルで行なうパイプライン構成としている。Furthermore, when each of stages 1 to 4 executes an instruction that involves a register write and a subsequent register read that may cause a register conflict, each stage divides the instruction into two or more N cycles. In the embodiment shown in FIG. 2, the pipeline configuration is such that the process is executed in N=2 cycles.
このようなパイプラインに対し本発明にあっては、レジ
スタのコンフリクションを検出するためレジスタライト
フラグ12がセットされるフラグレジスタ12−1とコ
ンフリクション検出回路14を設けている。In the present invention, such a pipeline is provided with a flag register 12-1 in which a register write flag 12 is set and a conflict detection circuit 14 in order to detect register conflicts.
フラグレジスタ12−1はステージ3のアドレス変換部
10−3からレジスタライトを行なうステージ4の実行
部10−4に処理を移すタイミングでレジスタライトフ
ラグ12をセットし、−度セットされたレジスタライト
フラグ12は実行部10−4においてレジスタライトが
終了するとリセットされる。The flag register 12-1 sets the register write flag 12 at the timing when processing is transferred from the address conversion unit 10-3 of stage 3 to the execution unit 10-4 of stage 4, which performs register write, and the register write flag 12-1 is set by - degrees. 12 is reset when the register write is completed in the execution unit 10-4.
一方、コンフリクション検出回路14にはリードステー
ジとしてのアドレス計算部10−2により命令の実行に
伴うレジスタアドレスを受けており、先行する命令につ
いてレジスタライトアドレスを受け、次の命令について
レジスタリードアドレスを受けると両アドレスを比較し
、両アドレスが一致した時にフラグレジスタ12−1よ
りレジスタライトフラグ12のセットフラグが得られて
いることを条件にコンフリクション検出信号C0NFを
アドレス計算部10−2のステージ遷移制御を行なうフ
ァームウェアに対し出力する。コンフリクション検出回
路14からのコンフリクション検出信号C0NFを受け
たアドレス計算部10−2のファームウェアは、コンフ
リクション検出信号C0NFが得られている間、ステー
ジ遷移制御を停止するインタロックをかけるようになる
。On the other hand, the conflict detection circuit 14 receives the register address associated with the execution of the instruction by the address calculation unit 10-2 as a read stage, receives the register write address for the preceding instruction, and calculates the register read address for the next instruction. When received, the two addresses are compared, and when the two addresses match, the conflict detection signal C0NF is sent to the stage of the address calculation unit 10-2 on the condition that the set flag of the register write flag 12 has been obtained from the flag register 12-1. Output to firmware that performs transition control. The firmware of the address calculation unit 10-2 that receives the conflict detection signal C0NF from the conflict detection circuit 14 applies an interlock to stop stage transition control while the conflict detection signal C0NF is obtained. .
第3図は第2図のパイプラインにおけるステジ1〜4に
対するステージ遷移制御信号STI。FIG. 3 shows a stage transition control signal STI for stages 1 to 4 in the pipeline shown in FIG.
ST2.ST3及びST4を発生するステージ制御回路
の実施例構成図であり、第2図のコンフリクション検出
回路14から出力されたコンフリクション検出信号C0
NFによるステージ2のインタロック機能を備えている
。ST2. 2 is a configuration diagram of an embodiment of a stage control circuit that generates ST3 and ST4, and the conflict detection signal C0 output from the conflict detection circuit 14 in FIG.
Equipped with stage 2 interlock function by NF.
第3図において、ステージ制御回路はANDゲ)18,
32.36、D−FF20,28.34.38及びOR
ゲート22,24.30で図示のように構成される。In FIG. 3, the stage control circuit is AND game) 18,
32.36, D-FF20, 28.34.38 and OR
The gates 22, 24, and 30 are constructed as shown.
ここでANDゲート18の一方に入力しているID0K
信号は、1つ前の命令のステージ1の処理が完了したこ
とを通知する信号であり、このID0K信号がオンでス
テージ2のステージ遷移制御信号ST2がオフであれば
、次の命令のデコードを開始できる。Here, ID0K input to one side of AND gate 18
The signal is a signal that notifies that the processing of stage 1 of the previous instruction has been completed, and if this ID0K signal is on and the stage transition control signal ST2 of stage 2 is off, the next instruction is decoded. You can start.
コンフリクション検出信号C0NFはステージ2のステ
ージ遷移制御信号ST2を発生するORゲート24の一
方に入力される。コンフリクションの検出によりコンフ
リクション検出信号C0NFがオンすると、コンフリク
ション検出信号C0NFがオンしている間、ステージ2
のステージ遷移制御信号ST2がオン状態で延び続け、
これによりステージ2の実行が待たされるインタロック
をかけることができる。The conflict detection signal C0NF is input to one of the OR gates 24 that generate the stage transition control signal ST2 of the stage 2. When the conflict detection signal C0NF is turned on due to conflict detection, the stage 2
The stage transition control signal ST2 continues to extend in the on state,
This makes it possible to create an interlock that causes the execution of stage 2 to wait.
次に第4図の動作タイミングチャートを参照して第2,
3図の実施例の動作を説明する。Next, referring to the operation timing chart in Figure 4, the second
The operation of the embodiment shown in FIG. 3 will be explained.
今、第4図の第1〜第4ステージで成るパイプラインの
タイミングチャートに示すように、命令■、■が連続し
ており、後続する命令■は第2ステージ(リードステー
ジ)で先行する命令■の第4ステージ(ライトステージ
)でライトした内容をリードする処理を実行する。Now, as shown in the timing chart of the pipeline consisting of stages 1 to 4 in Figure 4, instructions ■ and ■ are consecutive, and the following instruction ■ is the preceding instruction in the second stage (lead stage). The process of reading the contents written in the fourth stage (write stage) of (2) is executed.
このような命令■、■に対し第3図に示すステージ制御
回路3は、図示のステージ遷移制御信号STI〜ST4
を発生する。このステージ遷移制御信号STI〜ST4
により各ステージのファームウェアは命令■、■を2サ
イクルに分けて処理を実行する。即ち、命令■について
第1ステージにあっては、Di、D2に示すように2サ
イクルに分けてデコードを行ない、次の第2ステージで
はA1.A2に示すように・2サイクルに分けてアドレ
ス計算を行ない、更に第3ステージではDATl、DA
T2に分けてアドレス変換を行なう。In response to such instructions (1) and (2), the stage control circuit 3 shown in FIG.
occurs. This stage transition control signal STI~ST4
Accordingly, the firmware at each stage divides the instructions (1) and (2) into two cycles and executes the processing. That is, in the first stage for the instruction (2), decoding is performed in two cycles as shown by Di and D2, and in the next second stage, A1. As shown in A2, the address calculation is divided into two cycles, and in the third stage, DATl, DA
Address conversion is performed separately in T2.
続いて命令■の処理を第3ステージから第4ステージの
実行部に移行する際に、実行部10−4のファームウェ
アによりフラグレジスタ12−1に対するレジスタライ
トフラグ12のセットが行なわれる。Subsequently, when the processing of the instruction (2) is transferred from the third stage to the fourth stage execution section, the register write flag 12 is set in the flag register 12-1 by the firmware of the execution section 10-4.
一方、後続命令■にあっては、第1ステージにおいてD
I、D2に示すように2サイクルに亘リゾコードされ、
第2ステージの1サイクル目のA1でリードアドレスが
求められ、コンフリクション検出回路14に与えられる
。コンフリクション検出回路14には先行する命令■の
第2ステージにおける処理で求められたレジスタライト
アドレスを、第2ステージにおける命令■の実行A1で
得られたレジスタリードアドレスと比較し、両者が一致
した場合にはレジスタライトフラグ12がセット状態に
あることを条件に、コンフリクション検出信号C0NF
をオンする。このようにコンフリクション検出信号C0
NFがオンされると、第3図のステージ制御回路から明
らかのようにD−FF28から出力されるステージ2の
ステージ遷移制御信号ST2はオン状態を延ばし続け、
これによってステージ2のファームウェアによるアドレ
ス計算処理が停止される。On the other hand, in the subsequent instruction ■, D
Lysocoded over two cycles as shown in I and D2,
A read address is obtained at A1 in the first cycle of the second stage and provided to the conflict detection circuit 14. The conflict detection circuit 14 compares the register write address obtained in the second stage processing of the preceding instruction ■ with the register read address obtained in the execution A1 of the instruction ■ in the second stage, and finds that the two match. If the register write flag 12 is set, the conflict detection signal C0NF
Turn on. In this way, the conflict detection signal C0
When the NF is turned on, the stage transition control signal ST2 of the stage 2 output from the D-FF 28 continues to extend the on state, as is clear from the stage control circuit of FIG.
As a result, address calculation processing by the stage 2 firmware is stopped.
一方、実行部としての第4ステージにあっては、命令■
のライトステージのアドレス変換DATIを受けて命令
実行EX■を行ない、この結果を次のサイクルでレジス
タにライトするRGWを行ない、実行終了ENDIを出
す。この間、ステージ2は停止状態に置かれる。また第
3ステージにあっては、命令■の2サイクル目のアドレ
ス変換DAT2を受けた後は、第2ステージからの命令
骨は渡しが無いことがらNOPを実行している。On the other hand, in the fourth stage as the execution part, the command ■
In response to the address conversion DATI of the write stage, the instruction execution EX is executed, RGW is executed to write this result to the register in the next cycle, and an execution end ENDI is issued. During this time, stage 2 is placed in a stopped state. In the third stage, after receiving the address conversion DAT2 of the second cycle of the instruction (2), the NOP is executed since the instruction bone from the second stage is not passed.
第4ステージで命令■の実行EX■の結果のレジスタラ
イトRGWが済むと、レジスタライトフラグ12がリセ
ットされ、このためコンフリクション検出信号C0NF
もオフとなる。When the register write RGW of the result of the execution EX■ of the instruction ■ is completed in the fourth stage, the register write flag 12 is reset, and therefore the conflict detection signal C0NF
is also turned off.
従って第4ステージの終了ENDI後に第2ステージの
処理が再開し、命令■の2サイクル目のアドレス計算A
2を行ない、このアドレス計算においては先行命令■の
第4ステージでライトしたレジスタの内容をリードし、
先行する命令■の実行結果をレジスタからリードすると
いう正しい処理を行なうことができる。Therefore, after the end of the fourth stage ENDI, the processing of the second stage is restarted, and the address calculation A of the second cycle of the instruction
2, and in this address calculation, read the contents of the register written in the fourth stage of the preceding instruction ■,
Correct processing of reading the execution result of the preceding instruction (2) from the register can be performed.
以下、同様に第3ステージのアドレス変換を行なった後
、第4ステージで命令■の実行を行なう。Thereafter, after address conversion is similarly performed in the third stage, instruction (2) is executed in the fourth stage.
この命令■はレジスタライトを伴わない命令であること
から、命令実行EX■の後に実行終了ENDIを行ない
、次に後続する命令■につぃての実行EX■を行なうよ
うになる。Since this instruction (2) is an instruction that does not involve a register write, an execution end ENDI is performed after the instruction execution (EX), and then an execution EX (2) for the subsequent instruction (2) is performed.
尚、上記の実施例にあっては、ステージ1〜4を2サイ
クルに分けて実行する場合を例にとるものであったが、
N=2以上の適宜のサイクル数としても良い。Incidentally, in the above embodiment, the case where stages 1 to 4 are divided into two cycles and executed is taken as an example.
N may be an appropriate number of cycles greater than or equal to 2.
[発明の効果]
以上説明してきたように本発明によれば、レジスタライ
トステージに制御を移す際にコンフリクション検出のた
めのレジスタライトフラグをセットシ、レジスタリード
アドレスとレジスタライトアドレスが一致していればフ
ンフリクションを検出してレジスタリードステージにイ
ンタロックをかけるため、パイプライン制御を行なうフ
ァームウェアに対してはコンフリクション検出信号に対
するインタロック機能を付加するだけで良く、コンフリ
クション検出のための簡単なハードウェアを付けるだけ
でパイプライン制御を複雑化することなくリアルタイム
でレジスタのコンフリクションを検出して、コンフリク
ションを回避するパイプライン制御を行なうことができ
る。[Effects of the Invention] As described above, according to the present invention, when transferring control to the register write stage, the register write flag for conflict detection is set and the register read address and register write address match. In order to detect conflict friction and interlock the register read stage, all that is required is to add an interlock function to the conflict detection signal to the firmware that controls the pipeline. By simply adding hardware, register conflicts can be detected in real time without complicating pipeline control, and pipeline control can be performed to avoid conflicts.
またコンフリクション検出に使用するレジスタライトフ
ラグは、レジスタライトステージに制御を移すタイミン
グでセットしているため、レジスタライトステージにお
けるレジスタのライトタイミングは何ら制約を受けるこ
とがなく、コンフリクション検出を意識せずに任意にレ
ジスタライトができる高い自由度を確保できる。In addition, the register write flag used for conflict detection is set at the timing when control is transferred to the register write stage, so the register write timing in the register write stage is not subject to any restrictions and there is no need to be aware of conflict detection. It is possible to secure a high degree of freedom in writing registers at will without having to do so.
第1図は本発明の原理説明図;
第2図は本発明の実施例構成図;
第3図は本発明のステージ制御回路構成図;第4図は本
発明の動作タイミングチャート;第5図は従来のレジス
タコンフリクションを発生するパイプデイン構成図;
第6図は従来のパイプセイン制御方式説明図である。
図中、
10−1:第1ステージ(デコード)
10−2:、第2ステージ
(アドレス計算部;リードステージ)
10−3−:第3ステージ(アドレス変換部)10−4
:第4ステージ
(実行部;ライトステージ)
12ニレジスタライトフラグ
12−1:フラグレジスタ
14:コンフリクション検出部(回路)16:システム
ストレージ(C5)
18.3236: ANDゲート
20、2g、 34.38:D −F F242230
: ORゲートFig. 1 is an explanatory diagram of the principle of the present invention; Fig. 2 is a block diagram of an embodiment of the present invention; Fig. 3 is a block diagram of a stage control circuit of the present invention; Fig. 4 is an operation timing chart of the present invention; Fig. 5 6 is a diagram illustrating a conventional pipe chain control system that generates register conflict; FIG. 6 is an explanatory diagram of a conventional pipe chain control system. In the figure, 10-1: 1st stage (decoding) 10-2: 2nd stage (address calculation section; read stage) 10-3-: 3rd stage (address translation section) 10-4
: 4th stage (execution unit; write stage) 12 register write flag 12-1: Flag register 14: Conflict detection unit (circuit) 16: System storage (C5) 18.3236: AND gate 20, 2g, 34. 38:D-F F242230
: OR gate
Claims (1)
(10−1〜10−4)中に、汎用レジスタをリードす
るリードステージ(10−2)と、該リードステージ(
10−4)の後段に汎用レジスタをライトするライトス
テージ(10−4)を備え、更に各ステージ(10−2
〜10−4)の命令実行を2以上のNサイクルに分けて
行うプロセッサのパイプライン制御方式に於いて、 前記ライトステージ(10−4)に実行を移す際にセッ
トされ、該ライトステージ(10−4)による外部レジ
スタのライト終了でリセットされるレジスタライトフラ
グ(12)と; 前記ライトステージ(10−2)と前記ライトステージ
(10−4)の各レジスタアドレスを比較し、両アドレ
スが一致し且つ前記レジスタライトフラグ(12)がセ
ット状態にあるときに、レジスタのコンフリクションを
検出して前記第2ステージの実行をレジスタライトが終
了するまで停止させるコンフリクション検出手段(14
)と; を備えたことを特徴とするパイプライン制御方式。(1) Among the multiple stages (10-1 to 10-4) that continuously process instructions in multiple stages, there is a read stage (10-2) that reads a general-purpose register, and a read stage (10-2) that reads a general-purpose register.
A write stage (10-4) for writing general-purpose registers is provided after the stage (10-4), and each stage (10-2)
In a processor pipeline control system that divides the execution of instructions (10-4) into two or more N cycles, this is set when the execution is transferred to the write stage (10-4), and -4) and the register write flag (12) that is reset upon completion of write to the external register; Compare each register address of the write stage (10-2) and the write stage (10-4), and determine whether both addresses are the same. and when the register write flag (12) is set, conflict detection means (14) detects a register conflict and stops execution of the second stage until the register write is completed.
) and ; A pipeline control method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6630790A JPH03266121A (en) | 1990-03-16 | 1990-03-16 | Pipeline control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6630790A JPH03266121A (en) | 1990-03-16 | 1990-03-16 | Pipeline control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03266121A true JPH03266121A (en) | 1991-11-27 |
Family
ID=13312027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6630790A Pending JPH03266121A (en) | 1990-03-16 | 1990-03-16 | Pipeline control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03266121A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6290727A (en) * | 1985-06-17 | 1987-04-25 | Nec Corp | Information processor |
JPS63307535A (en) * | 1987-06-09 | 1988-12-15 | Mitsubishi Electric Corp | Pipeline control circuit |
-
1990
- 1990-03-16 JP JP6630790A patent/JPH03266121A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6290727A (en) * | 1985-06-17 | 1987-04-25 | Nec Corp | Information processor |
JPS63307535A (en) * | 1987-06-09 | 1988-12-15 | Mitsubishi Electric Corp | Pipeline control circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2620511B2 (en) | Data processor | |
JPH0760388B2 (en) | Pipeline control circuit | |
JPH03266121A (en) | Pipeline control system | |
US5239633A (en) | Data processor executing memory indirect addressing and register indirect addressing | |
US4935849A (en) | Chaining and hazard apparatus and method | |
JP3569811B2 (en) | Data processing device having pipeline processing function | |
JPS60118977A (en) | Pipeline control system | |
JP3954159B2 (en) | Synchronous RAM access control circuit, data processor and control method thereof | |
JPS6259829B2 (en) | ||
JPS63240634A (en) | Information processor | |
JPH0769820B2 (en) | Data processing device | |
JPH06161778A (en) | Multi-flow instruction control method and instruction processor | |
JPH02301830A (en) | Information processing system | |
JP2806690B2 (en) | Microprocessor | |
JPH06149569A (en) | Register number changing device | |
JP2764844B2 (en) | Pipeline processing equipment | |
JPH02195433A (en) | Central processor | |
JPH02100138A (en) | Information processor | |
JPH0269825A (en) | Pipe line control system | |
JPS6191725A (en) | Address matching control system | |
JPH04372020A (en) | Method and device for data processing | |
JPH02206836A (en) | Data processor | |
JPH0228724A (en) | System for controlling branching instruction | |
JPS60193047A (en) | Mode checking system of microprogram | |
JPS63231627A (en) | Advanced control system |