JP2636566B2 - Pipeline control method - Google Patents

Pipeline control method

Info

Publication number
JP2636566B2
JP2636566B2 JP3175696A JP17569691A JP2636566B2 JP 2636566 B2 JP2636566 B2 JP 2636566B2 JP 3175696 A JP3175696 A JP 3175696A JP 17569691 A JP17569691 A JP 17569691A JP 2636566 B2 JP2636566 B2 JP 2636566B2
Authority
JP
Japan
Prior art keywords
instruction
register
state
cycles
operation execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3175696A
Other languages
Japanese (ja)
Other versions
JPH0520064A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3175696A priority Critical patent/JP2636566B2/en
Publication of JPH0520064A publication Critical patent/JPH0520064A/en
Application granted granted Critical
Publication of JP2636566B2 publication Critical patent/JP2636566B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、パイプライン処理を行
う情報処理装置において、先行命令と後続命令との間に
レジスタ干渉があることを検出したときの命令処理を高
速に実行するための処理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus for performing a pipeline process, and a process for executing an instruction process at a high speed when it is detected that there is register interference between a preceding instruction and a following instruction. About the method.

【0002】パイプライン処理とは、一つの命令処理を
複数の処理(ステート)に分割し、複数の命令処理を並
列に実行する処理方式である。図5に6段で構成される
パイプライン処理の例を示す。分割された複数の処理
は、各々ステートという名前で区別される。図5におい
ては、該パイプライン処理は、Dステート,Aステー
ト,Tステート,Bステート,Eステート,Wステート
の各ステートを順次通過することにより処理される。
[0002] The pipeline processing is a processing method in which one instruction processing is divided into a plurality of processings (states) and a plurality of instruction processings are executed in parallel. FIG. 5 shows an example of the pipeline processing composed of six stages. The plurality of divided processes are distinguished by the name of each state. In FIG. 5, the pipeline processing is performed by sequentially passing each state of D state, A state, T state, B state, E state, and W state.

【0003】ここで、Dステートでは命令のデコード,
Aステートではアドレス計算,Tステートではアドレス
変換バッファ(TLB)の索引,Bステートではキャッ
シュのリード,Eステートでは演算の実行,Wステート
では演算結果のレジスタへの格納が行われる。
Here, in the D state, instruction decoding,
In the A state, the address is calculated, in the T state, the index of the address translation buffer (TLB) is read, in the B state, the cache is read, in the E state, the operation is executed, and in the W state, the operation result is stored in the register.

【0004】複数の命令処理間で同一のステートがセッ
トされることはない。また各ステートで行われる処理に
用いられる情報はパイプラインタグと呼ばれ、処理が進
むに従い、順次シフトされるシフトレジスタで構成され
る。
The same state is not set between a plurality of instruction processes. Information used for processing performed in each state is called a pipeline tag, and is constituted by a shift register that is sequentially shifted as the processing proceeds.

【0005】1ステートが処理される時間を1マシンサ
イクルと呼ぶが、理想的にパイプライン処理が動作すれ
ばN個の命令がNマシンサイクルで終了するように見え
るのである。
[0005] The time for processing one state is called one machine cycle. If pipeline processing operates ideally, N instructions appear to end in N machine cycles.

【0006】然して、該パイプライン処理においては、
先行命令と後続命令との間にレジスタ干渉を生じること
があり、このような場合でも、該N個の命令がNマシン
サイクルで終了するように制御できることが要求され
る。
However, in the pipeline processing,
Register interference may occur between the preceding instruction and the succeeding instruction. Even in such a case, it is required that the N instructions can be controlled so as to end in N machine cycles.

【0007】[0007]

【従来の技術】図6〜図9は、従来のパイプライン処理
方式を説明する図であり、図6はパイプラインインター
ロックにより、パイプライン処理が妨げられる場合の動
作タイムチャートを示し、図7は演算ステートをパイプ
ライン処理する場合の動作タイムチャートを示し、図8
は演算ステートをパイプライン処理する命令と、演算ス
テートをパイプライン処理しない命令とが続いた場合の
動作タイムチャートを示し、図9はVステート付き命令
と、Vステート可変命令との間でレジスタ干渉が生じた
場合の動作タイムチャートを示している。
2. Description of the Related Art FIGS. 6 to 9 are diagrams for explaining a conventional pipeline processing method. FIG. 6 is an operation time chart in a case where pipeline processing is interrupted by a pipeline interlock. FIG. 8 shows an operation time chart when the operation state is pipelined.
FIG. 9 shows an operation time chart when an instruction for performing pipeline processing of an operation state and an instruction for not performing pipeline processing of an operation state follow. FIG. 9 shows register interference between an instruction with a V state and a V state variable instruction. 5 shows an operation time chart in the case where an error occurs.

【0008】パイプライン処理を行う情報処理装置にお
いては、パイプライン処理を理想的に動作させることを
妨げる要因としてパイプラインインターロックが存在す
る。その代表的なものとして演算が1サイクルで終わら
ないためのEステートインターロックがある。浮動小数
点命令等の処理では図6に示すように1サイクル毎に命
令を処理することができない。従って、図示されている
如くに、Eステートインターロックがかかると、後続す
る命令に、Bステートインターロック,Tステートイン
ターロック,Aステートインターロック,Dステートイ
ンターロックがかかるようになり、図6に示したよう
に、例えば、6番目の命令開始が図5に比べて1サイク
ル遅れてしまうことになる。
In an information processing apparatus that performs pipeline processing, there is a pipeline interlock as a factor that hinders the ideal operation of pipeline processing. A typical example is an E-state interlock for preventing an operation from being completed in one cycle. In the processing of a floating point instruction or the like, an instruction cannot be processed every cycle as shown in FIG. Therefore, as shown in the figure, when the E-state interlock is applied, the subsequent instructions are applied with the B-state interlock, the T-state interlock, the A-state interlock, and the D-state interlock. As shown, for example, the start of the sixth instruction is delayed by one cycle as compared with FIG.

【0009】然しながら、高速性を要求される情報処理
装置においては、演算ステートをパイプライン化するこ
とにより、1サイクル毎の命令処理を実現している。図
7の例では、演算ステートをEステート,Vステートに
分割することで、図示されているように、1サイクル毎
のパイプライン処理を実現している。
However, in an information processing apparatus that requires high speed, instruction processing for each cycle is realized by pipelining the operation state. In the example of FIG. 7, by dividing the operation state into the E state and the V state, pipeline processing for each cycle is realized as illustrated.

【0010】前記技術においても、なお、上記Vステー
ト付き命令(命令1)と,Vステートなし命令(命令
2)を続けて実行した場合には、ロスタイムを生じてし
まう。図8にこの例を示す。この例では、命令1がVス
テート付き命令で、命令2がVステートなし命令である
ため、Bステートインターロックにより、Wステートが
重ならないように制御している。
[0010] Even in the above technique, if the instruction with the V-state (instruction 1) and the instruction without the V-state (instruction 2) are executed in succession, a loss time will occur. FIG. 8 shows this example. In this example, since the instruction 1 is an instruction with a V state and the instruction 2 is an instruction without a V state, the W state is controlled by the B state interlock so as not to overlap.

【0011】その結果、図示されている如くに、第6番
目の命令で、命令の開始が1サイクル遅れてしまうこと
になる。このようなケースにおいて、ロスタイムを減じ
るために、Vステート付き命令の直後のVステートなし
命令をVステート付き命令として実行するための技術
が、本願出願人が先願している特開平2−069825
号公報に開示されている。
As a result, as shown in the figure, the start of the sixth instruction is delayed by one cycle. In such a case, in order to reduce the loss time, a technique for executing an instruction without a V-state immediately after an instruction with a V-state as an instruction with a V-state is disclosed in Japanese Unexamined Patent Application Publication No. Hei 2-069825.
No. 6,086,045.

【0012】上記技術においては、図8の命令1がVス
テート付き命令であることから命令2をVステート付き
命令として実行させることにより理想的なパイプライン
動作を行わせることができる。さらに該技術において
は、Vステートを付けるか付けないかを可変にする(但
し、浮動小数点データのロード系命令)こととし、その
命令の前にVステートなし命令が実行された場合Vステ
ート可変命令をVステートなし命令として実行すること
によりロスタイムを減じることが述べられている。
In the above technique, since the instruction 1 in FIG. 8 is an instruction with a V state, an ideal pipeline operation can be performed by executing the instruction 2 as an instruction with a V state. Further, in this technique, whether a V state is added or not is made variable (however, a floating point data load instruction), and if an instruction without a V state is executed before the instruction, a V state variable instruction is executed. Is executed as a V-stateless instruction to reduce the loss time.

【0013】[0013]

【発明が解決しようとする課題】上記技術においては、
Vステートを可変に付けることにより、その命令の前後
にVステートなし命令が実行された場合のロスタイムを
減じることをその目的としているが、Vステート可変の
命令とその直前のVステート付き命令との間にレジスタ
干渉が生じた場合には、なおロスタイムが生じてしま
う。
In the above technology,
The purpose is to reduce the loss time when an instruction without a V state is executed before and after the instruction by variably attaching the V state. If register interference occurs in between, loss time still occurs.

【0014】この例を図9(a) に示しているが、本図に
示されるように、上記技術によればAD命令の直後のL
PDR命令(ロードポジティブレジスタ命令:ロード系
命令)は無条件にVステート付き命令として実行される
が、AD命令の結果レジスタをLPDR命令で読み出そ
うとする(即ち、AD命令とLPDR命令との間でレジ
スタ干渉がある)と、AD命令の結果をバイパスするこ
とのできるタイミングまでLPDR命令はBステートで
インターロックしてしまう。その結果、その次のAR命
令の実行が遅らされてしまう。図9(b) に、上記LPD
R命令がVサイクルなし命令として実行されたケースを
示すが、AR命令の実行は、上記図9(a) の場合に比べ
て1サイクル速くなっている。
This example is shown in FIG. 9 (a). As shown in FIG. 9 (a), according to the above technique, the L immediately after the AD instruction is used.
The PDR instruction (load positive register instruction: load instruction) is unconditionally executed as an instruction with a V-state, but attempts to read the result register of the AD instruction with the LPDR instruction (that is, the result of the AD instruction and the LPDR instruction). When there is a register interference between the two), the LPDR instruction interlocks in the B state until the timing at which the result of the AD instruction can be bypassed. As a result, the execution of the next AR instruction is delayed. FIG. 9 (b) shows the LPD
The case where the R instruction is executed as an instruction having no V cycle is shown. The execution of the AR instruction is one cycle faster than the case of FIG. 9A.

【0015】上記図9(b) の例では、後のAR命令がV
ステートなし命令として処理されるため、図9(a) のA
R命令が、図9(b) のAR命令に比べて1サイクル遅く
なっているが、これはAR命令が汎用レジスタを更新す
る命令であるため、容易に、Vステート付き命令とする
ことができないためである。
In the example of FIG. 9B, the subsequent AR instruction is V
Since it is processed as a stateless instruction, A in FIG.
The R instruction is one cycle later than the AR instruction in FIG. 9B. However, since the AR instruction is an instruction for updating a general-purpose register, it cannot be easily set as an instruction with a V state. That's why.

【0016】即ち、上記Vステート付き命令は、前述の
ように、演算サイクルが1サイクルで終わらない浮動小
数点演算命令を対象としたものである為、汎用レジスタ
を更新対象とする、上記AR命令等において、該Vステ
ート付き命令として動作するように構成しようとする
と、該汎用レジスタは、浮動小数点レジスタと異なり、
演算のオペランドのみでなく、メモリアクセスのための
アドレス計算にも使用されるため、Vステートを付ける
ことによりレジスタの更新サイクルを遅らせると、アド
レス計算回路へのデータのバイパス手段等の構成が非常
に複雑となってしまうのである。
That is, as described above, since the instruction with the V-state is intended for a floating-point operation instruction whose operation cycle does not end in one cycle, the above-mentioned AR instruction or the like which updates a general-purpose register is used. In the case where the general-purpose register is configured to operate as the V-state instruction, the general-purpose register is different from the floating-point register,
Since it is used not only for the operand of the operation but also for the address calculation for memory access, if the register update cycle is delayed by attaching the V state, the configuration such as the means for bypassing data to the address calculation circuit becomes very large. It becomes complicated.

【0017】以上の従来技術例においては、演算実行ス
テートをE,Vステートと2つのステートとして記述し
てきたが、これをさらにE,V1,V2,V3,・ ・ とす
ることは、物量の追加が許される限り比較的容易に実現
しうる。
In the above prior art example, the operation execution state has been described as two states, E and V. However, it is possible to further define these states as E, V 1 , V 2 , V 3 ,. It can be realized relatively easily as long as the addition of the quantity is allowed.

【0018】そのような構成をとる装置においては、上
記技術に示されるように、浮動小数点レジスタへのロー
ド系(LPDR命令)の命令のみを演算実行ステート可
変命令とするのでなく、さらに多くの一般的な浮動小数
点命令が演算実行ステート可変命令と成りうるため、図
9(a) のようなケース、即ち、先行命令がVステート付
き命令であって、該先行命令と該Vステート可変命令
(LPDR命令)にレジスタ干渉があると、後続のVス
テート付きにできない命令(AR命令)の処理時間が長
くなるというケースは、更に、多く生じることになる。
In the device having such a configuration, as shown in the above-mentioned technology, not only a load-related instruction (LPDR instruction) to a floating-point register is set as an operation execution state variable instruction but more general instructions are used. Since a typical floating-point instruction can be an operation execution state variable instruction, the case shown in FIG. 9A, that is, the preceding instruction is an instruction with a V state, and the preceding instruction and the V state variable instruction (LPDR If the instruction has a register interference, the processing time of an instruction (AR instruction) that cannot be added with the subsequent V state becomes longer in many cases.

【0019】又、図10は、浮動小数点ロード系命令の
問題点を説明する図であり、(a) はBステートインター
ロックが存在している場合を示し、(b) はロード系命令
と前後の命令間でレジスタ干渉がある場合の問題点を示
している。
FIGS. 10A and 10B are diagrams for explaining the problem of the floating-point load instruction. FIG. 10A shows a case where a B-state interlock exists, and FIG. In the case where there is register interference between these instructions.

【0020】上記技術においては、前述のように、Vス
テートを可変に付けることによりその命令の前後にVス
テートなし命令が実行された場合のロスタイムを減じる
ことをその目的としているが、Vステート可変の命令と
その直前のVステート付き命令との間にレジスタ干渉が
生じた場合には、本図 (a)から明らかなように、なおロ
スタイムが生じてしまう。
In the above technique, as described above, the purpose is to reduce the loss time when an instruction without a V state is executed before and after the instruction by variably attaching the V state. If the register interference occurs between this instruction and the immediately preceding instruction with a V-state, a loss time still occurs, as is apparent from FIG.

【0021】即ち、図10(a) に示されるように、上記
技術によればAD命令の直後のLDR命令(長精度レジ
スタレジスタ間移動命令)は、無条件にVステート付き
命令として実行されるが、AD命令の結果レジスタをL
DR命令で読みだそうとする(即ち、AD命令と、続
く、LDR命令との間にレジスタ干渉がある)と、該A
D命令の結果をバイパスすることのできるタイミングま
でLDR命令はBステートでインターロックしてしま
う。その結果、その次のAD命令の実行がTステートで
インターロックするため遅らされてしまう。
That is, as shown in FIG. 10A, according to the above technique, an LDR instruction (migration instruction between long precision registers) immediately after an AD instruction is unconditionally executed as an instruction with a V state. Sets the result register of the AD instruction to L
If an attempt is made to read with a DR instruction (ie, there is register interference between the AD instruction and the following LDR instruction), the A
The LDR instruction is interlocked in the B state until the timing at which the result of the D instruction can be bypassed. As a result, the execution of the next AD instruction is delayed due to the interlock in the T state.

【0022】そこで、例えば、(b) 図に示したように、
該LDR命令のBステートインターロックを抑止するよ
うに制御すると、該LDR命令と、後続しているAD命
令との間にレジスタ干渉があった場合、該LDR命令の
結果をバイパスすることのできるタイミングまで、後述
のAD命令はBステートでインターロックしてしまうと
いう問題が残る。
Therefore, for example, as shown in FIG.
When control is performed to suppress the B-state interlock of the LDR instruction, when there is register interference between the LDR instruction and a subsequent AD instruction, the timing at which the result of the LDR instruction can be bypassed Until then, there remains a problem that an AD instruction described later interlocks in the B state.

【0023】本発明は上記従来の欠点に鑑み、複数のマ
シンサイクルからなる演算実行ステートを設け、演算実
行をパイプライン処理するよう構成された情報処理装置
であって、M(=2)サイクルで演算実行ステートを終
了する命令の直後にN(=1)サイクルで演算実行ステ
ートを終了する命令がパイプラインに投入された場合に
M>NであればNサイクルで演算実行ステートを終了す
る命令を強制的にMサイクルで演算実行を行うようにす
る制御手段と、上記2命令間でレジスタ干渉を検出した
とき、Bステートインターロックを行う為のBステート
インターロック信号生成部を備えた情報処理装置におい
て、強制的なMサイクルの実行演算,或いは、Bステー
トインターロックによって生じる後続命令の実行時間を
遅れを解消することのできるパイプライン制御方式を提
供することを目的とするものである。
The present invention has been made in view of the above-mentioned conventional drawbacks, and is an information processing apparatus provided with an operation execution state including a plurality of machine cycles and configured to perform a pipeline of the operation execution. When an instruction for ending the operation execution state in N (= 1) cycles is input to the pipeline immediately after the instruction for ending the operation execution state, if M> N, an instruction for ending the operation execution state in N cycles is issued. An information processing apparatus comprising: a control unit for forcibly executing an operation in M cycles; and a B-state interlock signal generation unit for performing a B-state interlock when register interference is detected between the two instructions. To eliminate the delay in the execution time of a subsequent instruction caused by forced M-cycle execution calculation or B-state interlock It is an object to provide a pipeline control method capable of.

【0024】[0024]

【課題を解決するための手段】図1は、本発明の一実施
例を示した図であり、図2,図3は、本発明の他の実施
例を示した図であって、図1は先行命令との間にレジス
タ干渉があった場合のVステート可変命令のVステート
を抑止する例を示し、図2は、レジスタレジスタ間移動
命令(LDR命令)と先行命令との間でレジスタ干渉が
あった場合のBステートインターロック動作を抑止する
例を示し、図3は、レジスタレジスタ間移動命令(LD
R命令)と、その先行命令との間でレジスタ干渉があ
り、該レジスタレジスタ間移動命令(LDR命令)と、
その後続命令との間にもレジスタ干渉があった場合の、
該先行命令の演算結果を後続命令へのバイパスする例を
示している。
FIG. 1 is a view showing an embodiment of the present invention, and FIGS. 2 and 3 are views showing another embodiment of the present invention. FIG. 2 shows an example in which the V state of a V state variable instruction is suppressed when there is register interference with the preceding instruction. FIG. 2 shows the register interference between the register register moving instruction (LDR instruction) and the preceding instruction. FIG. 3 shows an example of suppressing the B-state interlock operation in the case where there is an instruction.
R instruction) and its preceding instruction have register interference, and the register-to-register move instruction (LDR instruction)
If there is register interference with the following instruction,
An example is shown in which the operation result of the preceding instruction is bypassed to the subsequent instruction.

【0025】上記の問題点は下記の如くに構成したパイ
プライン制御方式によって解決される。 (1) 複数のマシンサイクルからなる演算実行ステート
(E,V) を設けて、演算実行をパイプライン処理するよう
構成された情報処理装置であって、Mサイクルで演算実
行ステートを終了する命令の直後に、Nサイクルで演算
実行ステートを終了する命令がパイプラインに投入され
た場合に、M>NであればNサイクルで演算実行ステー
トを終了する命令を強制的にMサイクルで演算実行を行
うようにする制御手段 802を設けた情報処理装置におい
て、前記2命令間で書き込みレジスタと読み出しレジス
タの間に干渉が生じた場合には、前記制御手段 802にお
いて、Nサイクルで演算実行ステートを終了する命令を
Mサイクルで演算実行を行うようにすることを抑止する
ように制御する。
The above problem is solved by a pipeline control system configured as follows. (1) Operation execution state consisting of multiple machine cycles
An information processing device provided with (E, V) and configured to perform a pipeline process for execution of an operation, wherein the operation execution state is terminated in N cycles immediately after an instruction for terminating the operation execution state in M cycles. An information processing apparatus provided with control means 802 for forcibly executing an instruction for ending the operation execution state in N cycles in M cycles if M> N when an instruction is input to the pipeline. In the above, when interference occurs between the write register and the read register between the two instructions, the control means 802 causes the instruction to end the operation execution state in N cycles to execute the operation in M cycles. Is controlled so as to suppress the situation.

【0026】(2) 複数のマシンサイクルからなる演算実
行ステート(E,V) を設けて、演算実行をパイプライン処
理するように構成され、Mサイクルで演算実行ステート
を終了する命令の直後にNサイクルで演算実行ステート
を終了する命令がパイプラインに投入された場合に、M
>Nであると、Nサイクルで演算実行ステートを終了す
る命令を強制的にMサイクルで演算実行を行うようにす
る制御手段 802と、2命令間でレジスタ干渉を検出した
とき、インターロック信号を生成するインターロック信
号生成部 806を備えた情報処理装置において、 前記Nサ
イクルで演算実行ステートを終了する命令がレジスタ間
移動命令であって、前記制御手段 802で、前記Mサイ
クルで演算実行ステートを終了する命令の直後にNサイ
クルで演算実行ステートを終了する命令間のレジスタ干
渉を検出したとき、該レジスタ干渉を指示する情報、即
ち、インターロック制御ビットを保持すると共に、該
インターロック制御ビットに基づいて、上記インター
ロック信号生成部 806で生成されるBステートインター
ロック信号を抑止して、前記Nサイクルで演算実行ステ
ートを終了するレジスタ間移動命令をMサイクルで実
行するように制御する。
(2) Operational operation consisting of a plurality of machine cycles
Set the row state (E, V) to pipeline the execution of operations.
Operation execution state in M cycles
Operation execution state in N cycles immediately after the instruction to end
If an instruction that terminates is entered into the pipeline, M
If> N, the operation execution state ends in N cycles
Instruction is forcibly executed in M cycles.
Control means 802 and register interference detected between two instructions
When the interlock signal generates the interlock signal
In the information processing apparatus including the signal generation unit 806, the N
An instruction that terminates the operation execution state in a cycle
A movement command, wherein the control unit
N cycles immediately after the instruction to end the operation execution state
Register between instructions that end the execution state
When interference is detected, information indicating the register interference
That is, while holding the interlock control bit,
Based on the interlock control bit,
B state interface generated by lock signal generation section 806
The lock signal is suppressed, and the operation execution
Register transfer instruction that terminates
Control to run.

【0027】(3) 上記 (2)項の情報処理装置において、
上記Nサイクルで演算実行ステートを終了するレジスタ
間移動命令と、先行命令との間でレジスタ干渉が生
じ、且つ、上記Nサイクルで演算実行ステートを終了す
るレジスタ間移動命令の後続命令が、上記Nサイクル
で演算実行ステートを終了するレジスタ間移動命令の
結果レジスタを使用しようとしていることを検出したと
き、 上記Nサイクルで演算実行ステートを終了するレジ
スタ間移動命令の先行命令の演算結果を、上記Nサイ
クルで演算実行ステートを終了するレジスタ間移動命令
の後続命令へのバイパスするバイパス手段を設け
て、 上記Nサイクルで演算実行ステートを終了するレジ
スタ間移動命令の後続命令では、上記バイパスされた
結果レジスタ情報を用いて演算するように制御する。
(3) In the information processing device of the above item (2),
A register that completes the operation execution state in the above N cycles
Register interference between the move instruction and the preceding instruction
And the operation execution state ends in the above N cycles.
The instruction following the register-to-register move instruction
Instruction to end the operation execution state
When it detects that it is trying to use the result register
Register to end the operation execution state in the above N cycles
The operation result of the preceding instruction of the
Move instruction between registers to end operation execution state
Bypass means for bypassing to subsequent instructions
The register for ending the operation execution state in the above N cycles
In the instruction following the inter-star move instruction, the bypass
Control is performed so as to calculate using the result register information.

【0028】[0028]

【作用】本発明では、M(=2)サイクルで演算実行ス
テートを終了する命令の直後にN(=1)サイクルで演
算実行ステートを終了する命令がパイプラインに投入さ
れた場合に、M>Nであれば、Nサイクルで演算実行ス
テートを終了する命令を強制的にMサイクルで演算実行
を行うようにする制御手段 802を備えた情報処理装置に
おいて、上記2命令間で書き込みレジスタと読み出しレ
ジスタの間に干渉が生じた場合には、上記制御手段 802
において、Nサイクルで演算実行ステートを終了する命
令をMサイクルで演算実行を行うようにすることを抑止
するようにする。
According to the present invention, when an instruction for ending the execution state in N (= 1) cycles is input to the pipeline immediately after the instruction for ending the execution state in M (= 2) cycles, M> If N, in the information processing apparatus provided with control means 802 for forcibly executing an instruction to end the operation execution state in N cycles in M cycles, a write register and a read register If there is interference between the control means 802
, The execution of an instruction that ends the operation execution state in N cycles is prevented from being executed in M cycles.

【0029】図1のようなケースにおいて、AD命令
(命令1)とLPDR命令(命令2)の間でレジスタ干
渉が検出された場合には、制御手段 802において、演算
実行ステート可変命令であるLPDR命令(命令2)を
本来の最短演算実行サイクル、即ち、Eステートの1サ
イクルで実行を行うようにさせる。
In the case as shown in FIG. 1, when register interference is detected between the AD instruction (instruction 1) and the LPDR instruction (instruction 2), the control means 802 controls the operation execution state variable instruction LPDR The instruction (instruction 2) is executed in the original shortest operation execution cycle, that is, one cycle of the E state.

【0030】従って、図9(b) に示したように、該LP
DR命令(命令2)に続く、AR命令の実行サイクル
を、図9(a) に示した従来方式に比較して、1サイクル
短縮することができる効果が得られる。
Therefore, as shown in FIG.
The effect that the execution cycle of the AR instruction following the DR instruction (instruction 2) can be shortened by one cycle as compared with the conventional method shown in FIG. 9A is obtained.

【0031】又、本発明では、図2に示したように、M
(=2)サイクルで演算実行ステートを終了する命令
(AD命令)の直後にN(=1)サイクルで演算実行ス
テートを終了する命令(LDR命令)がパイプラインに
投入された場合に、M>Nであれば、Nサイクルで演算
実行ステートを終了する命令を強制的にMサイクルで演
算実行を行うようにする制御手段 802を備えた情報処理
装置において、上記Nサイクル命令がレジスタレジスタ
間移動命令(LDR命令) であった場合に、前記2
命令間の書き込みレジスタと読み出しレジスタの間の干
渉を検出すると、その情報をインターロック制御ビット
として保持し、レジスタレジスタ間移動命令(LDR
命令)を先行命令(AD命令)とのレジスタ干渉によ
るBステートのインターロック信号発生手段 806を制御
して、該Bステートインターロック信号を生じさせず
に、Vステートを有するM(=2)サイクルで実行する
ようにしたものである。
In the present invention, as shown in FIG.
When an instruction (LDR instruction) for ending the operation execution state in N (= 1) cycles is input to the pipeline immediately after an instruction (AD instruction) for ending the operation execution state in (= 2) cycles, M> If N, in the information processing apparatus provided with the control means 802 for forcibly executing an instruction to end the operation execution state in N cycles in M cycles, the N-cycle instruction is an instruction for moving between registers. (LDR instruction)
When the interference between the write register and the read register between the instructions is detected, the information is held as an interlock control bit, and the inter-register-register movement instruction (LDR
M) (= 2) cycles having a V state by controlling the B-state interlock signal generation means 806 by causing the B instruction to generate the B state interlock signal due to register interference with the preceding instruction (AD instruction). It is intended to be executed by.

【0032】又、レジスタレジスタ間移動命令(LDR
命令)とその先行命令(AD命令)の間でレジスタ干
渉が生じ、且つ、該レジスタレジスタ間移動命令(LD
R命令)の後続命令(AD命令)がレジスタレジスタ
間移動命令(LDR命令)の結果レジスタを使用しよ
うとした場合(即ち、レジスタ干渉があった場合)、図
3に示したように、制御手段 807において、上記記述の
保持された情報、即ち、インターロック制御ビットを
用いて、レジスタレジスタ間移動命令(LDR命令)
の先行命令の結果をレジスタレジスタ間移動命令(LD
R命令)の後続命令へとバイパスする手段を設け
て、結果的に、該レジスタレジスタ間移動命令(LDR
命令)の結果レジスタを使用するの同じ効果を得るよ
うにして、レジスタ干渉が発生した場合にも、Bステー
トインターロックを発生させることなく、且つ、M(=
2)サイクル命令の儘で、パイプライン処理の高速化を
図るようにしたものである。
A register-to-register movement instruction (LDR)
Instruction) and its preceding instruction (AD instruction) cause register interference, and the register-to-register move instruction (LD
As shown in FIG. 3, when the instruction following the R instruction) (AD instruction) attempts to use the result register of the register-to-register transfer instruction (LDR instruction) (that is, when there is register interference), At 807, using the retained information of the above description, ie, the interlock control bit, a move instruction between registers (LDR instruction)
The result of the preceding instruction is transferred to the register-to-register instruction (LD
A means for bypassing to the instruction following the R instruction is provided.
Instruction) to obtain the same effect as using the result register, without causing a B-state interlock even when register interference occurs, and using M (=
2) The speed of pipeline processing is increased while maintaining the cycle instruction.

【0033】[0033]

【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1は本発明の一実施例を示した図であり、
図2,図3は、本発明の他の実施例を示した図であり、
図4は、パイプライン処理の基本構成例を示したもので
ある。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. FIG. 1 is a diagram showing one embodiment of the present invention.
2 and 3 are diagrams showing another embodiment of the present invention.
FIG. 4 shows a basic configuration example of the pipeline processing.

【0034】本発明においては、複数のマシンサイクル
からなる演算実行ステート(E,V) を備え、演算の実行
を、例えば、E,Vステートにより、パイプライン処理
する情報処理装置であって、Mサイクルで演算実行ステ
ートを終了する命令の直後に、Nサイクルで演算実行ス
テートを終了する命令が該パイプラインに投入されたと
きで、上記M>Nであると、該Nサイクルで演算実行ス
テートを終了する命令を強制的にMサイクルで演算実行
を行う制御手段 802を設けた情報処理装置において、上
記2つの命令間で書き込みレジスタと読み出しレジスタ
の間に干渉が生じたとき、上記Mサイクルで演算実行を
行う制御手段 802を抑止する手段。又、上記Nサイクル
命令がレジスタレジスタ間移動命令(LDR命令)で
あって、該2命令間のレジスタ干渉が検出されたとき、
Bステートインターロック信号を抑止する信号(イン
ターロック制御ビット)を設けて、該Bステートイン
ターロック信号を抑止する信号で、上記Bステートイ
ンターロック信号発生手段 806で生成されるBステート
インターロック信号を抑止して、Mサイクルで実行す
るようにする手段。更に、上記レジスタレジスタ間移動
命令(LDR命令)と、その先行命令の間でレジスタ干
渉があり、該レジスタレジスタ間移動命令(LDR命
令)と後続命令との間にもレジスタ干渉があったと
き、上記Bステートインターロック抑止信号を用い
て、上記レジスタレジスタ間移動命令(LDR命令)
の先行命令の演算結果を、該レジスタレジスタ間移動命
令(LDR命令)の後続命令にバイパスする手段が
本発明を実施するのに必要な手段である。尚、全図を通
して同じ符号は同じ対象物を示している。
According to the present invention, there is provided an information processing apparatus having an operation execution state (E, V) comprising a plurality of machine cycles and performing a pipeline process of the execution of the operation by, for example, the E and V states. Immediately after the instruction for ending the operation execution state in the cycle, when an instruction for ending the operation execution state in the N cycle is input to the pipeline, if M> N, the operation execution state is changed in the N cycle. In an information processing apparatus provided with a control means 802 for forcibly executing an instruction to be completed in M cycles in an M cycle, when interference occurs between a write register and a read register between the two instructions, Control means for execution Means for suppressing 802. When the N-cycle instruction is a register-register move instruction (LDR instruction), and register interference between the two instructions is detected,
A signal (interlock control bit) for suppressing the B-state interlock signal is provided, and the B-state interlock signal generated by the B-state interlock signal generating means 806 is a signal for suppressing the B-state interlock signal. Means to suppress and execute in M cycles. Further, when there is register interference between the above-mentioned register-register movement instruction (LDR instruction) and its preceding instruction, and there is also register interference between the register-register movement instruction (LDR instruction) and the following instruction, Using the B-state interlock suppression signal, the register-to-register move instruction (LDR instruction)
Means for bypassing the operation result of the preceding instruction to the succeeding instruction of the register-to-register move instruction (LDR instruction) is a means necessary for implementing the present invention. Note that the same reference numerals indicate the same object throughout the drawings.

【0035】以下、図4,図1〜図3により、本発明の
パイプライン制御方式を説明する。本実施例では、パイ
プライン処理を簡単のために、6ステートもしくは7ス
テートで行うものとする。
The pipeline control system of the present invention will be described below with reference to FIGS. In this embodiment, the pipeline processing is performed in six states or seven states for simplicity.

【0036】各ステートの主な処理を図4に沿って説明
する。Dステートではオペコードがデコードされ、レジ
スタスタック(汎用レジスタGR,浮動小数点レジスタ
FRを含む)よりアドレス計算用のデータが読み出され
て、レジスタ701(ベースレジスタ),レジスタ70
2(インデックスレジスタ)にセットされる。
The main processing in each state will be described with reference to FIG. In the D state, the operation code is decoded, the data for address calculation is read from the register stack (including the general-purpose register GR and the floating-point register FR), and the register 701 (base register) and the register 70 are read.
2 (index register).

【0037】Aステートでは、該レジスタ701,70
2がアドレス加算器703により加算され、その結果が
有効アドレスとしてレジスタ704にセットされる。T
ステートでは、有効アドレスがTLB(変換索引緩衝機
構:前述のアドレス変換バッファ)により実アドレスに
変換され、レジスタ705にセットされる。
In the A state, the registers 701, 70
2 is added by the address adder 703, and the result is set in the register 704 as an effective address. T
In the state, the effective address is translated into a real address by a TLB (translation index buffering mechanism: the above-described address translation buffer) and set in the register 705.

【0038】Bステートでは実アドレスによりLBS
(ローカルバッファストレージ:主記憶データのコピー
を保持し高速にアクセスできる)からデータが読みださ
れ、レジスタ706にセットされる。
In the B state, LBS is determined by a real address.
Data is read from (local buffer storage: a copy of main memory data is held and can be accessed at high speed) and set in the register 706.

【0039】Eステートでは、演算が実行され、結果が
レジスタ708にセットされる。Wステートでは、上記
の演算結果をレジスタスタックに書き込む。これらレジ
スタの内容はレジスタオペランドバス709により、レ
ジスタ707にセットされ演算器に送ることができる。
演算実行ステートが複数になる場合においては、必ず、
Wステートで演算結果がレジスタ708に格納されるよ
うに演算器は調整される。
In the E state, an operation is performed, and the result is set in the register 708. In the W state, the above operation result is written to the register stack. The contents of these registers can be set in the register 707 by the register operand bus 709 and sent to the arithmetic unit.
When there are multiple operation execution states, be sure to
The operation unit is adjusted so that the operation result is stored in the register 708 in the W state.

【0040】図2に本発明の主要な制御部の一実施例を
示す。レジスタ801はAサイクルの命令コードを保持
するレジスタであり、その出力を受けて制御回路802
では、レジスタ803,804,805をセットする制
御信号を出力する。
FIG. 2 shows an embodiment of the main control section of the present invention. The register 801 is a register for holding the instruction code of the A cycle, and receives the output thereof to
Then, a control signal for setting the registers 803, 804, and 805 is output.

【0041】レジスタ803は、処理される命令がレジ
スタックに書き込みを行うことを示すレジスタであり、
804は書き込みレジスタ番号を保持するレジスタであ
り、805は処理される命令の演算実行ステートのサイ
クル数(前述のM,N)を示すレジスタである。
The register 803 is a register indicating that the instruction to be processed writes in the register.
A register 804 holds a write register number, and a register 805 indicates the number of cycles (M, N described above) of the operation execution state of the instruction to be processed.

【0042】該演算実行サイクル数レジスタ805の内
容はTステートで演算制御部に送られて、演算制御部に
所定の数の演算実行ステート処理を指示する。図1の例
では、命令1が演算実行ステートを2ステート(E,V
ステート)必要とする命令であることを示している。1
サイクル遅れて命令2が実行される。命令2のAステー
トでは、上記命令1の演算実行ステート数を示す、演算
実行サイクル数レジスタ805の内容を参照して、自命
令の演算実行ステート数が決定される。
The contents of the operation execution cycle number register 805 are sent to the operation control unit in the T state to instruct the operation control unit to execute a predetermined number of operation execution state processes. In the example of FIG. 1, the instruction 1 changes the operation execution state to two states (E, V
State) indicates that the instruction is required. 1
Instruction 2 is executed with a cycle delay. In the A state of the instruction 2, the number of operation execution states of the own instruction is determined with reference to the contents of the operation execution cycle number register 805 indicating the number of operation execution states of the instruction 1.

【0043】すなわち、命令2が最短でも3つ以上の演
算実行ステートを必要とするような命令であるならばそ
の数を示すように,そうでなければ命令2と同じ2つの
演算実行ステート(前述のE,Vステート)数を示すよ
うに、該演算実行サイクル数レジスタ805の内容が設
定される。またその時に、上記レジスタ803,804
の内容,及び自命令の命令コードを保持するオペコード
レジスタ801の内容からデコードされたレジスタ読み
出し番号とから、書き込みレジスタと読み出しレジスタ
の間にレジスタ干渉があるかどうかがチェックされる。
That is, if the instruction 2 is an instruction that requires at least three or more operation execution states, the number is shown, and otherwise the same two operation execution states as the instruction 2 (described above). The contents of the operation execution cycle number register 805 are set so as to indicate the (E, V state). At that time, the registers 803 and 804
It is checked whether there is register interference between the write register and the read register from the contents of the register and the register read number decoded from the contents of the operation code register 801 holding the instruction code of the own instruction.

【0044】該レジスタ干渉チェックの結果、レジスタ
干渉があったならば、命令2の最短の演算実行ステート
数を示すように演算実行サイクル数レジスタ805の内
容が設定される。このように、演算実行サイクル数レジ
スタ805の内容は、本発明においては、前命令の演算
実行ステート数,前命令の書き込みレジスタアドレス,
自命令の最短演算実行ステート数,自命令の読み出しレ
ジスタアドレスより最もロスタイムを少なくするように
決定される。
As a result of the register interference check, if there is a register interference, the contents of the operation execution cycle number register 805 are set so as to indicate the shortest operation execution state number of the instruction 2. As described above, in the present invention, the contents of the operation execution cycle number register 805 include the number of operation execution states of the previous instruction, the write register address of the previous instruction,
It is determined so that the loss time is shorter than the shortest operation execution state number of the instruction and the read register address of the instruction.

【0045】次に、図2,図3により、本発明の他の実
施例について説明する。図2に本発明による他の実施例
のタイムチャート及び制御回路部を示す。Aステートで
は、オペコードレジスタ801に設定されている命令の
オペコードをデコードして演算指令コード,ライトレ
ジスタアドレスを求め、それぞれ、演算指令コードレジ
スタと,ライトアドレスレジスタ804にセットする。
またレジスタ書き込みを制御するライト制御ビットを生
成して、ライト制御レジスタ803にセットする。
Next, another embodiment of the present invention will be described with reference to FIGS. FIG. 2 shows a time chart and a control circuit section of another embodiment according to the present invention. In the A state, the operation code of the instruction set in the operation code register 801 is decoded to obtain an operation instruction code and a write register address, and are set in the operation instruction code register and the write address register 804, respectively.
In addition, a write control bit for controlling register writing is generated and set in the write control register 803.

【0046】LDR命令のAサイクルでは、上記AD
命令のライトアドレスレジスタ804,ライト制御レジ
スタ803,及び、該LDR命令のオペコードをデコ
ードして求めたリードレジスタアドレス,リード制御ビ
ットを、上記制御回路802に入力する。
In the A cycle of the LDR instruction, the above AD
The instruction write address register 804, write control register 803, and read register address and read control bit obtained by decoding the operation code of the LDR instruction are input to the control circuit 802.

【0047】制御回路802はAD命令とLDR命令
の間でレジスタ干渉を検出したら演算指令コードをノ
ーオペレーションにするよう指示して、該LDR命令
によって、レジスタレジスタ間移動が行われないように
する。
When the control circuit 802 detects register interference between the AD instruction and the LDR instruction, it instructs the operation instruction code to be set to no operation so that the LDR instruction does not move between registers.

【0048】又、上記レジスタ干渉の条件を検出したこ
とで、インターロック制御ビットを“オン”にする。
LDR命令のBステートではAD命令のライトレジス
タアドレス(レジスタ804の内容)と,LDR命令
のリードレジスタアドレスをBステートインターロック
信号発生回路806に入力し、上記レジスタ干渉を検出
するとBステートインターロック信号を生成する。然
し、上記制御回路802で生成されたインターロック制
御ビットが“オン”である場合には、該Bステートイ
ンターロック信号を出力しないように制御する。
Further, the interlock control bit is turned on by detecting the condition of the register interference.
In the B state of the LDR instruction, the write register address of the AD instruction (contents of the register 804) and the read register address of the LDR instruction are input to the B state interlock signal generation circuit 806. When the register interference is detected, the B state interlock signal Generate However, when the interlock control bit generated by the control circuit 802 is “ON”, control is performed so as not to output the B-state interlock signal.

【0049】従って、レジスタ干渉がある場合には、L
DR命令はノーオペレーションのまま、且つ、通常のレ
ジスタ干渉があったときに実行されるBステートインタ
ーロックをせずにWステートまで進む。
Therefore, when there is register interference, L
The DR instruction proceeds to the W state without any operation and without performing the B state interlock executed when there is a normal register interference.

【0050】上記先行のAD命令の演算結果はそのまま
保持されているので、該LDR命令のライトアドレス
レジスタ804が指示するライトレジスタアドレスに従
って、レジスタスタックに書き込む。
Since the operation result of the preceding AD instruction is held as it is, it is written to the register stack according to the write register address indicated by the write address register 804 of the LDR instruction.

【0051】図3に本発明の別の他の実施例として、L
DR命令と先行命令,及び、その後続命令の間にレジス
タ干渉が生じた場合のタイムチャート及び制御回路部の
実施例を示す。
FIG. 3 shows another embodiment of the present invention.
7 shows a time chart and an embodiment of a control circuit unit when register interference occurs between a DR instruction, a preceding instruction, and a subsequent instruction.

【0052】そして、先行のAD命令と、該LDR命令
との間のレジスタ干渉時の動作は、図2に示したとお
りの動作となる。この場合、先行するAD命令の演算結
果を、該LDR命令の後続命令の演算ステートEにバ
イパスするバイパスルートが設けられる。
The operation at the time of register interference between the preceding AD instruction and the LDR instruction is as shown in FIG. In this case, a bypass route is provided to bypass the operation result of the preceding AD instruction to the operation state E of the instruction following the LDR instruction.

【0053】該後続のAD命令の制御回路807には、
上記LDR命令のライトアドレスと,インターロック
制御ビットと,後続のAD命令のリードアドレスとが
入力される。LDR命令の書き込みと、該後続のAD
命令の読み出しで、レジスタ干渉が生じた場合、上記イ
ンターロック制御ビットが“オン”であれば、バイパス
制御ラッチ902をオンにする。
The control circuit 807 for the subsequent AD instruction includes:
The write address of the LDR instruction, the interlock control bit, and the read address of the subsequent AD instruction are input. Writing the LDR instruction and the subsequent AD
When register interference occurs during instruction reading and the interlock control bit is “on”, the bypass control latch 902 is turned on.

【0054】この結果、演算器の入力にはLDR命令
に先行するAD命令の結果が選択されるようにバイパス
手段が選択される。上記インターロック制御ビット
が“オフ”であった場合には、先行のAD命令と、該L
DR命令との間ではレジスタ干渉がなかったことを意味
しているので、該LDR命令の結果をバイパスできるタ
イミングまで、該LDR命令のBステートインターロッ
クする。
As a result, the bypass means is selected for the input of the arithmetic unit so that the result of the AD instruction preceding the LDR instruction is selected. If the interlock control bit is "off", the preceding AD instruction and the L
Since it means that there is no register interference with the DR instruction, the B-state interlock of the LDR instruction is performed until the result of the LDR instruction can be bypassed.

【0055】更に、LDR命令と後続のAD命令で干渉
が生じない場合には、リードレジスタアドレスで選択さ
れたレジスタスタックの内容をセットしたレジスタ90
3が演算器に入力される。
Further, if no interference occurs between the LDR instruction and the subsequent AD instruction, the register 90 in which the contents of the register stack selected by the read register address are set is set.
3 is input to the arithmetic unit.

【0056】このように、本発明においては、複数のマ
シンサイクルからなる演算実行ステート(E,V) を備え、
演算の実行をパイプライン処理する情報処理装置であっ
て、Mサイクルで演算実行ステートを終了する命令の直
後に、Nサイクルで演算実行ステートを終了する命令が
該パイプラインに投入されたときで、上記M>Nである
と、該Nサイクルで演算実行ステートを終了する命令を
強制的にMサイクルで演算実行を行う制御手段 802を設
けた情報処理装置において、上記2つの命令間で書き込
みレジスタと読み出しレジスタの間に干渉が生じたと
き、上記Mサイクルで演算実行を行う制御手段 802を抑
止するか,又、上記Nサイクル命令がレジスタレジスタ
間移動命令(LDR命令)であって、該2命令間のレジ
スタ干渉が検出されたとき、Bステートインターロック
信号を抑止する手段を設けて、該Bステートインタ
ーロック信号を抑止する手段で、上記Bステートイン
ターロック信号発生手段 806で生成されるBステートイ
ンターロック信号を抑止して、Mサイクルで実行する
ようにするか,更に、上記レジスタレジスタ間移動命令
(LDR命令)と、その先行命令の間でレジスタ干渉が
あり、該レジスタレジスタ間移動命令(LDR命令)と
後続命令との間にもレジスタ干渉があったとき、上記B
ステートインターロック抑止手段の信号を用いて、上
記レジスタレジスタ間移動命令(LDR命令)の先行命
令の演算結果を、該レジスタレジスタ間移動命令(LD
R命令)の後続命令にバイパスするようにしたところ
に特徴がある。
As described above, in the present invention, the operation execution state (E, V) including a plurality of machine cycles is provided.
An information processing apparatus for performing a pipeline process for execution of an operation, wherein an instruction to end the operation execution state in N cycles is input to the pipeline immediately after an instruction to end the operation execution state in M cycles. If M> N, in an information processing apparatus provided with control means 802 for forcibly executing an instruction for ending the operation execution state in the N cycles in the M cycle, a write register is provided between the two instructions. When the interference occurs between the read registers, the control means 802 for executing the operation in the M cycle is suppressed, or the N cycle instruction is a register register move instruction (LDR instruction) and the two instructions are Means for suppressing the B-state interlock signal when register interference is detected between the B-state interlock signals. Then, the B-state interlock signal generated by the B-state interlock signal generating means 806 is suppressed to be executed in M cycles, or the register-register movement instruction (LDR instruction) and the When there is register interference between the preceding instruction and register interference between the register-to-register move instruction (LDR instruction) and the subsequent instruction,
Using the signal of the state interlock inhibiting means, the operation result of the preceding instruction of the register-to-register movement instruction (LDR instruction) is transferred to the register-to-register movement instruction (LDD instruction).
A characteristic is that the instruction is bypassed to the instruction following the (R instruction).

【0057】[0057]

【発明の効果】以上、詳細に説明したように、本発明の
パイプライン制御方式においては、複数のマシンサイク
ルからなる演算実行ステート(E,V) を備え、演算の実行
をパイプライン処理する情報処理装置であって、Mサイ
クルで演算実行ステートを終了する命令の直後に、Nサ
イクルで演算実行ステートを終了する命令が該パイプラ
インに投入されたときで、上記M>Nであると、該Nサ
イクルで演算実行ステートを終了する命令を強制的にM
サイクルで演算実行を行う制御手段 802を設けた情報処
理装置において、上記2つの命令間で書き込みレジスタ
と読み出しレジスタの間に干渉が生じたとき、上記Mサ
イクルで演算実行を行う制御手段 802を抑止するか,
又、上記Nサイクル命令がレジスタレジスタ間移動命令
(LDR命令)であって、該2命令間のレジスタ干渉が
検出されたとき、Bステートインターロック信号を抑
止する手段を設けて、該Bステートインターロック信
号を抑止する手段で、上記制御手段 806で生成される
Bステートインターロック信号を抑止して、Mサイク
ルで実行するようにするか,更に、上記レジスタレジス
タ間移動命令(LDR命令)と、その先行命令の間でレ
ジスタ干渉があり、該レジスタレジスタ間移動命令(L
DR命令)と後続命令との間にもレジスタ干渉があった
とき、上記Bステートインターロック抑止手段の信号
を用いて、上記レジスタレジスタ間移動命令(LDR命
令)の先行命令の演算結果を、該レジスタレジスタ間移
動命令(LDR命令)の後続命令にバイパスするよう
にしたものであるので、各命令間でレジスタ干渉があっ
た場合でも、ロスタイムを生じることなく、高速に、各
命令をパイプライン処理することができる効果がある。
As described in detail above, the pipeline control system of the present invention has an operation execution state (E, V) consisting of a plurality of machine cycles, and information for executing the operation by pipeline processing. A processing device, wherein when an instruction for ending the operation execution state in N cycles is input to the pipeline immediately after the instruction for ending the operation execution state in M cycles, if M> N, The instruction to end the operation execution state in N cycles is forcibly set to M
In the information processing apparatus provided with the control unit 802 for performing the operation in the cycle, the control unit 802 for performing the operation in the M cycle is suppressed when the interference occurs between the write instruction and the read register between the two instructions. Or,
Further, when the N-cycle instruction is a register-to-register movement instruction (LDR instruction) and a register interference between the two instructions is detected, means for suppressing a B-state interlock signal is provided. Means for suppressing the lock signal, suppressing the B-state interlock signal generated by the control means 806, and executing it in M cycles; There is register interference between the preceding instructions, and the move instruction between registers (L
When there is register interference between the DR instruction and the subsequent instruction, the operation result of the preceding instruction of the register-to-register transfer instruction (LDR instruction) is obtained by using the signal of the B-state interlock inhibiting means. Since the instruction is bypassed to the instruction following the register-to-register move instruction (LDR instruction), even if there is register interference between instructions, pipeline processing of each instruction is performed without loss time. There is an effect that can be.

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

【図1】本発明の一実施例を示した図FIG. 1 shows an embodiment of the present invention.

【図2】本発明の他の実施例を示した図(その1)FIG. 2 shows another embodiment of the present invention (part 1).

【図3】本発明の他の実施例を示した図(その2)FIG. 3 shows another embodiment of the present invention (part 2).

【図4】パイプライン処理の基本構成例を示した図FIG. 4 is a diagram showing a basic configuration example of pipeline processing;

【図5】6段で構成されるパイプライン処理の例を示し
た図
FIG. 5 is a diagram showing an example of a pipeline processing composed of six stages.

【図6】従来のパイプライン処理方式を説明する図(そ
の1)
FIG. 6 illustrates a conventional pipeline processing method (part 1).

【図7】従来のパイプライン処理方式を説明する図(そ
の2)
FIG. 7 illustrates a conventional pipeline processing method (part 2).

【図8】従来のパイプライン処理方式を説明する図(そ
の3)
FIG. 8 illustrates a conventional pipeline processing method (part 3).

【図9】従来のパイプライン処理方式を説明する図(そ
の4)
FIG. 9 illustrates a conventional pipeline processing method (part 4).

【図10】浮動小数点ロード系命令の問題点を説明する
FIG. 10 is a diagram illustrating a problem of a floating-point load instruction.

【符号の説明】[Explanation of symbols]

701,702,704 〜708 レジスタ 703 加算器 801 オペコードレジスタ 802 制御回路 803 ライト制御レジスタ, 又は、ライト制御ビット 804 ライトアドレスレジスタ 805 演算実行
サイクル数レジスタ 806 Bステートインターロック生成部 807 制御回路 演算指令コード Bステートインターロック信号 バイパスルート,又は、バイパス手段 インターロック制御ビット,又は、インターロ
ック制御レジスタ
701, 702, 704 to 708 Register 703 Adder 801 Operation code register 802 Control circuit 803 Write control register or write control bit 804 Write address register 805 Number of operation execution cycles register 806 B state interlock generation unit 807 Control circuit Operation instruction code B state interlock Signal bypass route or bypass means interlock control bit or interlock control register

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のマシンサイクルからなる演算実行ス
テートを設けて、演算実行をパイプライン処理するよう
に構成され、Mサイクルで演算実行ステートを終了する
命令の直後にNサイクルで演算実行ステートを終了する
命令がパイプラインに投入された場合に、M>Nである
と、Nサイクルで演算実行ステートを終了する命令を強
制的にMサイクルで演算実行を行うようにする制御手段
と、2命令間でレジスタ干渉を検出したとき、インター
ロック信号を生成するインターロック信号生成部を備え
た情報処理装置において、 前記Nサイクルで演算実行ステートを終了する命令がレ
ジスタ間移動命令であって、前記制御手段で、前記Mサ
イクルで演算実行ステートを終了する命令の直後にNサ
イクルで演算実行ステートを終了する命令間のレジスタ
干渉を検出したとき、該レジスタ干渉を指示する情報を
保持すると共に、該情報に基づいて、上記インターロッ
ク信号生成部で生成されるインターロック信号を抑止し
て、前記Nサイクルで演算実行ステートを終了するレジ
スタ間移動命令をMサイクルで実行するように制御する
ことを特徴とするパイプライン制御方式。
An arithmetic execution switch comprising a plurality of machine cycles.
State, so that computation execution is pipelined
And terminates the operation execution state in M cycles
The operation execution state ends in N cycles immediately after the instruction
M> N if the instruction is entered into the pipeline
Instruction to end the operation execution state in N cycles
Control means for performing arithmetic execution in M cycles
When register interference is detected between two instructions,
An interlock signal generator for generating a lock signal is provided.
In the information processing apparatus, the instruction for ending the operation execution state in the N cycles is
An inter-register movement command, wherein the control means outputs the M
N cycles immediately after the instruction to end the execution state
Registers between instructions that end the operation execution state on a cycle
When interference is detected, information indicating the register interference is given.
While maintaining the interlock based on the information.
The interlock signal generated by the
Register to end the operation execution state in the N cycles.
Control to execute the inter-star movement instruction in M cycles
A pipeline control method characterized by the following.
【請求項2】上記請求項1に記載の情報処理装置におい
て、上記Nサイクルで演算実行ステートを終了するレジ
スタ間移動命令と、先行命令との間でレジスタ干渉生
じ、且つ、上記Nサイクルで演算実行ステートを終了す
るレジスタ間移動命令の後続命令が、上記Nサイクルで
演算実行ステートを終了するレジスタ間移動命令の結果
レジスタを使用しようとしていることを検出したとき、 上記Nサイクルで演算実行ステートを終了するレジスタ
間移動命令の先行命令の演算結果を、上記Nサイクルで
演算実行ステートを終了するレジスタ間移動命令の後続
命令へのバイパスするバイパス手段を設けて、 上記Nサイクルで演算実行ステートを終了するレジスタ
間移動命令の後続命令では、上記バイパスされた結果レ
ジスタ情報を用いて演算するように制御することを特徴
とするパイプライン制御方式。
2. The information processing apparatus according to claim 1, wherein
The register for ending the operation execution state in the above N cycles
Register interference between the star move instruction and the preceding instruction
And the operation execution state ends in the above N cycles.
The instruction following the register-to-register move instruction
The result of an inter-register move instruction that ends the operation execution state
A register that terminates the operation execution state in the above N cycles when detecting that the register is about to be used.
In the above N cycles, the operation result of the instruction preceding the
Subsequent to an inter-register move instruction that ends the operation execution state
A register for providing a bypass means for bypassing an instruction and ending the operation execution state in the N cycles
In the instruction following the inter-move instruction, the result
It is controlled to operate using the register information.
Pipeline control method.
JP3175696A 1991-07-17 1991-07-17 Pipeline control method Expired - Fee Related JP2636566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3175696A JP2636566B2 (en) 1991-07-17 1991-07-17 Pipeline control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3175696A JP2636566B2 (en) 1991-07-17 1991-07-17 Pipeline control method

Publications (2)

Publication Number Publication Date
JPH0520064A JPH0520064A (en) 1993-01-29
JP2636566B2 true JP2636566B2 (en) 1997-07-30

Family

ID=16000652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3175696A Expired - Fee Related JP2636566B2 (en) 1991-07-17 1991-07-17 Pipeline control method

Country Status (1)

Country Link
JP (1) JP2636566B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2558831B2 (en) * 1988-09-06 1996-11-27 富士通株式会社 Pipeline control method

Also Published As

Publication number Publication date
JPH0520064A (en) 1993-01-29

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
JP2845646B2 (en) Parallel processing unit
JPH0374434B2 (en)
JPS6351287B2 (en)
JP2620511B2 (en) Data processor
JP3556246B2 (en) Apparatus for interrupt handling in a pipeline processor
EP0297943B1 (en) Microcode reading control system
JP3834145B2 (en) Data processing apparatus having a microprocessor having a nestable delay branch instruction and a method of operating the microprocessor
JP2636566B2 (en) Pipeline control method
JPH0512751B2 (en)
JP2783285B2 (en) Information processing device
JP2919184B2 (en) Information processing device that performs pipeline processing
JPH03269728A (en) Instruction execution control system for pipeline computer
JP2778610B2 (en) Pipeline operation control method and system
JPH01291327A (en) Processing mode prefetch control system
JP2511063B2 (en) Pipeline control method
JP2771373B2 (en) Instruction prefetch device
JP2503223B2 (en) Prior control method
JP2545594B2 (en) Operand data prefetching method
JPH0619705A (en) Pipeline control system
JPH0222417B2 (en)
JPH0916399A (en) Computer
JPH09106344A (en) Pipeline processor
JPH0228724A (en) System for controlling branching instruction
JPH07113891B2 (en) Pipeline processing equipment

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970311

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080425

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees