JPH01134530A - Pipeline controller - Google Patents

Pipeline controller

Info

Publication number
JPH01134530A
JPH01134530A JP29181387A JP29181387A JPH01134530A JP H01134530 A JPH01134530 A JP H01134530A JP 29181387 A JP29181387 A JP 29181387A JP 29181387 A JP29181387 A JP 29181387A JP H01134530 A JPH01134530 A JP H01134530A
Authority
JP
Japan
Prior art keywords
instruction
arithmetic
cycle
pipeline
data
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.)
Granted
Application number
JP29181387A
Other languages
Japanese (ja)
Other versions
JPH0766325B2 (en
Inventor
Fumio Matsunoshita
松野下 文郎
Yoshihiro Mizushima
水島 芳宏
Koichi Ueda
上田 孝一
Satoshi Sugiura
聡 杉浦
Tetsuya Hagiwara
哲也 萩原
Masato Tanaka
正人 田中
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 JP29181387A priority Critical patent/JPH0766325B2/en
Publication of JPH01134530A publication Critical patent/JPH01134530A/en
Publication of JPH0766325B2 publication Critical patent/JPH0766325B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To eliminate the disturbance of a pipeline and to realize the high-speed working of a pipeline controller by producing forcibly the arithmetic cycles which are simultaneously practicable into a relevant processing flow when an instruction requiring no arithmetic operation is included among continuous arithmetic instructions. CONSTITUTION:When the instruction to be processed is equal to an arithmetic instruction, a microcode corresponding to said instruction is stored in a 1st memory means 1. When the instruction to be processed is equal to such an instruction requiring no arithmetic operation as a load instruction, etc., a microcode corresponding to said instruction is stored in a 2nd memory means 2. In case of the arithmetic instruction, an arithmetic part 3 is started by a pipeline control part 4 based on the V-cycle (simultaneously practicable arithmetic cycles) signal received from the means 1. While the data-through signal is given to the part 3 from the part 4 based on the V-cycle forcible signal received from the means 2 in case of an instruction requiring no arithmetic operation. Thus the data-through actions are carried out at the part 3 for a single cycle.

Description

【発明の詳細な説明】 〔概   要〕 電子計算機システムの処理高速化の手段として用いられ
るパイプライン処理制御装置に?JL、本来演算を必要
としないロード系の命令中に、■サイクルとして、他の
命令処理フローの演算ステーツのVサイクル以外のサイ
クルと同時に実行可能な特定演算サイクルを強制的に設
けることにより一層の高速処理を実現することを目的と
し、処理すべき命令が演算命令であるときに制御データ
を記1,9する第1の記憶手段と、前記処理すべき命令
が演算を必要としない命令であるときに制御データを記
憶する第2の記憶手段と、演算を実行する演算部と、前
記演算命令実行時に前記第1の記憶手段からの出力によ
り、前記特定演算サイクル(V)を演算部に実行させ、
また前記演算不要の命令実行時に前記第2の記憶手段か
らの出力により、前記の■サイクルを強制的に発生させ
るパイプライン制御部を有するように構成する。
[Detailed Description of the Invention] [Summary] A pipeline processing control device used as a means of speeding up processing in an electronic computer system? JL, by forcibly providing a specific operation cycle that can be executed at the same time as a cycle other than the V cycle of the operation state of other instruction processing flows as a cycle in a load type instruction that does not originally require operation. A first storage means for recording control data 1, 9 when the instruction to be processed is an arithmetic instruction, and the instruction to be processed is an instruction that does not require an arithmetic operation, with the aim of realizing high-speed processing. a second storage means that sometimes stores control data; a calculation section that executes an operation; and an output from the first storage means when the operation instruction is executed, causing the calculation section to execute the specific operation cycle (V). let me,
Further, the present invention is configured to include a pipeline control section that forcibly generates the above-mentioned cycle (2) using the output from the second storage means when executing the instruction that does not require an operation.

〔産業上の利用分野〕[Industrial application field]

本発明は電子計算機システムにおける処理高速、化の手
段出して用いられるパイプライン処理制御装置に係り、
特に本来演算を必要としないロード系の命令中に、■サ
イクルとして、他の命令処理フローの演算ステージの■
サイクル以外のサイクルと同時に実行可能な演算サイク
ルを強制的に設けることにより処理の一層の高速化を可
能とするパイプライン処理制御方式に関する。
The present invention relates to a pipeline processing control device used to increase processing speed in an electronic computer system.
In particular, during load-type instructions that do not originally require calculations, the operation stages of other instruction processing flows are processed as ■cycles.
The present invention relates to a pipeline processing control method that enables further speeding up of processing by forcibly providing an arithmetic cycle that can be executed simultaneously with other cycles.

〔従来の技術〕[Conventional technology]

電子計算機の処理を高速化する目的でパイプライン処理
が広く用いられている。これは与えられた命令の実行手
順を、例えば命令解読、アドレス計算、オペランド取出
し、演算、結果の格納といった各段階(ステージ)の動
作に分割し、各ステージを実行するハードウェア機構を
用意し、各ステージの実行部はステージ動作の終了後そ
の結果を次のステージ実行部に渡すとともに、次の命令
に対する同一ステージを実行するものである。ある時点
をみると見かけ上腹数の命令が同時、かつ並列に処理さ
れ、全体の処理速度が向上する。
Pipeline processing is widely used to speed up the processing of electronic computers. This divides the execution procedure of a given instruction into each stage of operation, such as instruction decoding, address calculation, operand fetching, operation, and result storage, and prepares a hardware mechanism to execute each stage. After the stage operation is completed, the execution section of each stage passes the result to the next stage execution section and executes the same stage for the next instruction. At a certain point in time, an apparent number of instructions are processed simultaneously and in parallel, improving the overall processing speed.

一方、計算機のマシンサイクルは機種により決定され、
上述の命令解読、アドレス計算等の各ステージがすべて
1マシンサイクルで実行されるか否かはパイプライン処
理の速度に大きな影響がある。すべてのステージが1サ
イクルで終了する場合にはパイプラインの乱れもなく、
最短時間で処理を行なうことができるが、実際には2マ
シンサイクル以上の時間を要するステージも少な(ない
On the other hand, the machine cycle of a computer is determined by the model,
Whether or not each stage of instruction decoding, address calculation, etc. described above is all executed in one machine cycle has a large effect on the speed of pipeline processing. If all stages finish in one cycle, there will be no pipeline disturbance,
Although processing can be performed in the shortest possible time, in reality there are few stages that require more than two machine cycles.

その典型的な例が演算命令中の演算実行ステージである
。演算実行には、その内容によって数サイクルを必要と
することもある。
A typical example is the arithmetic execution stage in an arithmetic instruction. Execution of an operation may require several cycles depending on its content.

演算命令の実行時にパイプラインの乱れをなくし、高速
化をはかる手段として、演算ステージを構成する複数サ
イクルのうちの特定サイクルを、他の命令の演算ステー
ジにおけるこの特定サイクル以外のサイクルと同時に実
行可能とする方法がある。この同時に実行可能な演算サ
イクルは必要に応じてマイクロコードによって設けられ
るものでバニッシュサイクルと呼ばれ、以下Vサイクル
と称する。
As a means of eliminating pipeline turbulence and speeding up the execution of arithmetic instructions, it is possible to execute a specific cycle among the multiple cycles that make up the arithmetic stage at the same time as cycles other than this specific cycle in the arithmetic stage of other instructions. There is a way to do this. This simultaneously executable operation cycle is provided by microcode as necessary and is called a vanish cycle, and hereinafter referred to as a V cycle.

上述のように演算ステージを分割し、同時に実行可能な
演算サイクル、すなわち■サイクルを設けた場合の処理
高速化を第5図を例にとって説明する。同図ta>は■
サイクルを設けない場合、(b)は設けた場合を示す。
The processing speed-up when the arithmetic stages are divided as described above and arithmetic cycles that can be executed simultaneously, that is, (2) cycles are provided, will be explained using FIG. 5 as an example. The figure ta> is ■
(b) shows the case where no cycle is provided, and (b) shows the case where it is provided.

各ステージを表す記号り、A。Symbols representing each stage, A.

T、B、IF、、WはそれぞれDは命令解読(デコード
)、八はデータ読出し等の場合のアドレス計算、Tはデ
ータがバッファ記憶にあるか否かのチエ、7りと論理ア
ドレスから実アドレスへの変換(トランスレーション)
、Bはバッファデータのリード、Eは実行(エグゼキュ
ーション)、Wは結果をレジスタ等に格納するライトの
ステージである。
T, B, IF, W are respectively D for instruction decoding, 8 for address calculation when reading data, T for checking whether data is in buffer storage, and 7 for execution from logical address. Conversion to address (translation)
, B is a read stage of buffer data, E is an execution stage, and W is a write stage where the result is stored in a register or the like.

第5図(a)で命令■と■は同種の演算命令でその最短
処理時間は等しいものとする。ただし演算ステージは2
サイクルにわたっており、命令Iはり。
In FIG. 5(a), it is assumed that instructions ■ and ■ are the same type of arithmetic instructions and have the same minimum processing time. However, the calculation stage is 2
It spans a cycle and the instruction I beam.

A、T、B、E、E、Wの7サイクルで処理される。命
令・■は命令lより1サイクルだけ遅れてその処理が開
始され、D、A、T、B、の順にステージ動作が進行し
た後、本来は次のEステージに直ちに移行するはずであ
るが、命令IのEステージが続いているためにEステー
ジに移行できず、Bステージを再度繰り返して待機する
必要がある。
It is processed in 7 cycles of A, T, B, E, E, and W. Instruction ■ starts its processing one cycle later than instruction l, and after the stage operation progresses in the order of D, A, T, B, originally it should immediately move to the next E stage, but Since the E stage of instruction I continues, it is not possible to move to the E stage, and it is necessary to repeat the B stage again and wait.

その結果、命令Hの処理には8サイクルを要し、処理が
遅れる。
As a result, processing of instruction H requires eight cycles, resulting in a processing delay.

これに対して第5図(blでは演算ステージ2サイクル
をEと■の各サイクルに分割し、■サイクルを同時に実
行可能な演算サイクルとするために、命令Iの■サイク
ルのところで命令■の演算ステ−ジを実行開始すること
ができ、Bステージでの待機が不要となり、命令■も7
サイクルで終了する。
On the other hand, in Figure 5 (bl), the calculation stage 2 cycle is divided into E and ■ cycles, and in order to make the ■ cycles executable at the same time, the instruction It is possible to start executing the stage, there is no need to wait at the B stage, and the instruction
End with a cycle.

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

上述のように演算命令中に同時に実行可能な演算サイク
ル、すなわちVサイクルを設けることにより、演算命令
が連続する場合には処理の高速化に有効である。しかし
ながら演算の途中でレジスタを用いる場合にはレジスタ
へのデータセント等のためにロード系の命令を使うこと
が必要となる。
As described above, by providing arithmetic cycles that can be executed simultaneously in arithmetic instructions, that is, V cycles, it is effective to speed up processing when the arithmetic instructions are consecutive. However, if a register is used in the middle of an operation, it is necessary to use a load type instruction to write data to the register.

このロード系命令は一般に1サイクルで処理され、しか
も演算ステージを必要としないため、前述の■サイクル
を発生できず、その結果バイブラインの乱れを生じ、高
速化を妨げる原因になるという問題がある。その例を第
6図により説明する。
This load type instruction is generally processed in one cycle and does not require an arithmetic stage, so there is a problem that the above-mentioned cycle cannot be generated, resulting in a disturbance in the vibe line and hindering speedup. . An example of this will be explained with reference to FIG.

第6図で演算命令Iで演算ステージはEとVの2サイク
ルにわたっている。次のロード命令では、D、A、T、
Bまでの各ステージの処理に問題はない。その後の実行
ステージ、すなわちロード実行ステージEは命令IのV
サイクルが実行されている区間で実行可能ではあるが、
その次のWステージの区間が演算命令■のWステージと
重なってしまう。そこでBステージで待機して、D、A
In FIG. 6, the operation stage for operation instruction I extends over two cycles of E and V. In the next load instruction, D, A, T,
There are no problems with the processing of each stage up to B. The subsequent execution stage, load execution stage E, is the V of instruction I.
Although it is possible to execute in the section where the cycle is being executed,
The section of the next W stage overlaps with the W stage of the operation instruction (2). So I waited at stage B, then D, A.
.

T、[3,B、  E、Wの順でロード命令は処理され
る。ここで、DSA、TSBSE、E、WのようにEで
待機することはできない。その理由はE9EとE動作を
続ける場合には演算ユニットからの処理終了信号により
E動作を終了することになっており、ロード系命令では
演算ユニットが起動されず、処理終了信号も発生せず、
E動作終了時点が指示されないためである。
Load instructions are processed in the order of T, [3, B, E, and W. Here, it is not possible to wait at E like DSA, TSBSE, E, and W. The reason for this is that when E9E and E operations are continued, the E operation is terminated by the processing end signal from the arithmetic unit, and the arithmetic unit is not activated by load instructions and no processing end signal is generated.
This is because the end point of the E operation is not specified.

ロード命令でのBステージの繰返は以後の演算命令処理
を遅らせる原因となる。すなわち、次の演算命令■では
り、A、Tの各ステージをそれぞれ1サイクルで処理し
た後、直ちにBステージに移行できずにTステージで待
機する必要があり、また演算命令■の処理ではAステー
ジでの待機が必要となる。
Repetition of the B stage in a load instruction causes a delay in processing subsequent arithmetic instructions. In other words, after the next operation instruction ■ processes each stage A and T in one cycle, it is not possible to immediately move to the B stage and it is necessary to wait at the T stage. You will be required to wait on stage.

本発明は、上述の問題点に鑑み、ロード系命令中に強制
的に同時に実行可能な演算サイクル、すなわち■サイク
ルを設けることにより一層の処理高速化を実現するパイ
プライン処理制御装置を提供することを目的とする。
In view of the above-mentioned problems, the present invention provides a pipeline processing control device that realizes further speed-up of processing by providing an arithmetic cycle that can be forcibly executed simultaneously during load instructions, that is, a cycle. With the goal.

〔問題点を解決するための手段〕 本発明の原理ブロック図を第1図に示す。同図で第1の
記憶手段1は処理すべき命令が演算命令であるときに制
御記憶中の制御データを記憶し、第2の記憶手段2は命
令が演算を必要としないもの、例えばロード命令である
ときに制御データを記憶するためのものである。パイプ
ライン制御部4は命令が演算命令であるときには第1の
記憶子121からの出力により演算部3に同時に実行可
能な演算サイクル、すなわちVサイクルを実行させ、命
令が演算不要のものであるときには演算部3をデータス
ルーの状態に保ったままで■サイクルを1サイクルだけ
強制的に発生させるためのものである。
[Means for Solving the Problems] A block diagram of the principle of the present invention is shown in FIG. In the figure, the first storage means 1 stores control data in control memory when the instruction to be processed is an operation instruction, and the second storage means 2 stores control data when the instruction to be processed is an operation instruction, and the second storage means 2 stores control data when the instruction does not require operation, such as a load instruction. It is used to store control data when . When the instruction is an arithmetic instruction, the pipeline control section 4 causes the arithmetic section 3 to execute simultaneously executable arithmetic cycles, that is, V cycles, based on the output from the first memory 121, and when the instruction does not require an arithmetic operation, This is for forcibly generating only one (2) cycle while keeping the arithmetic unit 3 in a data-through state.

〔作   用〕[For production]

第1図で処理すべき命令が演算命令である場合には、例
えば計算機の制御記憶(コントロールストレージ(C3
))に格納されているマイクロコードの制御データが第
1の記憶手段、例えばデータレジスタ(A)1に格納さ
れる。これに対して、命令がロード系のものであれば制
御データは第2の記憶手段、例えばデータレジスタ(B
)2に格納される。二つのレジスタの選択は、例えばマ
イクロコードのある特定ビットが1°であるときにレジ
スタ(A)、別の特定ビットが°1゛であるときにレジ
スタ(B)とする方式で行なわれる。
When the instruction to be processed in FIG. 1 is an arithmetic instruction, for example, the control storage (C3
)) is stored in a first storage means, for example, a data register (A)1. On the other hand, if the instruction is a load type, the control data is stored in a second storage means, such as a data register (B
)2. The two registers are selected, for example, by selecting register (A) when a specific bit of the microcode is 1°, and selecting register (B) when another specific bit is 1°.

演算命令に対しては、第1の記憶手段1、例えばデータ
レジスタ(A)からのVサイクル信号により、バイブラ
イン制御部4は演算部3に起動信号を出力し、演算部を
起動させる。演算が終了すると演算部3はパイプライン
制御部4に処理終了信号を出力し、■サイクル動作が終
わる。
In response to an arithmetic instruction, the vibe line control section 4 outputs an activation signal to the arithmetic section 3 in response to a V cycle signal from the first storage means 1, for example, the data register (A), thereby activating the arithmetic section. When the calculation is completed, the calculation unit 3 outputs a processing end signal to the pipeline control unit 4, and the cycle operation ends.

これに対して、命令がロード系のものであるときには、
第2の記憶手段2、例えばデータレジスタ(B)からの
Vサイクル強制信号によって、パイプライン制御部4は
演算部3にデータスルー信号を出力する。このとき演算
部3は■サイクル用には起動されず、図示しないレジス
タへのデータ入出力等のためにデータスルーの状態に保
たれる。
On the other hand, when the instruction is a load type,
The pipeline control section 4 outputs a data through signal to the calculation section 3 in response to a V cycle forcing signal from the second storage means 2, for example, the data register (B). At this time, the arithmetic unit 3 is not activated for the (2) cycle, and is maintained in a data-through state for data input/output to a register (not shown).

パイプライン制御部4は■サイクルを強制的に発生させ
、それを1サイクルのみで終了させる。
The pipeline control unit 4 forcibly generates the (1) cycle and completes it in only one cycle.

以上のように本発明ではパイプラインの乱れを防ぐこと
を目的として演算を必要としない命令中に、同時に実行
可能な演算サイクル、すなわち■サイクルを強制的に発
生させる。
As described above, in the present invention, for the purpose of preventing pipeline disturbances, an operation cycle that can be executed simultaneously, that is, a (2) cycle, is forcibly generated during an instruction that does not require an operation.

〔実  施  例〕〔Example〕

第2図に本発明のパイプライン処理制御装置の実施例全
体ブロック図を示す。同図でデータレジスタ(A)1は
処理すべき命令が演算命令であるときに、またデータレ
ジスタ(B)2は演算不要の命令であるときに制御記憶
中の制御データを記憶するものである。演算部(Eユニ
ット)3は複数のマシンサイクルから成る演算ステージ
の一部であり、他の部分と同時に実行可能な演算サイク
ル、すなわち■サイクル演算を実行できるものである。
FIG. 2 shows an overall block diagram of an embodiment of the pipeline processing control device of the present invention. In the figure, data register (A) 1 is used to store control data in control memory when the instruction to be processed is an operation instruction, and data register (B) 2 is used to store control data when the instruction to be processed is an instruction that does not require operation. . The arithmetic unit (E unit) 3 is a part of an arithmetic stage consisting of a plurality of machine cycles, and is capable of executing an arithmetic cycle that can be executed simultaneously with other parts, that is, a cycle operation.

パイプライン制御部4は命令のパイプライン処理を制御
する。制御記憶(CS)5は制御用の複数のマイクロコ
ードを格納しているもので、各マイクロコードの格納ア
ドレスは制御記憶5に与えられる命令のオペレーション
コード(OP−CODE)と一対一に対応して指定され
る。レジスタ群6は、演算の途中で演算結果を演算部3
から受は取って一時記憶するためのものであり、バッフ
ァ制御部(Sユニット)7は演算結果を外部メモリ8に
格納したり、外部メモリ8からデータを取り込むために
バッファの制御を行なう。
The pipeline control unit 4 controls pipeline processing of instructions. The control memory (CS) 5 stores a plurality of microcodes for control, and the storage address of each microcode has a one-to-one correspondence with the operation code (OP-CODE) of the instruction given to the control memory 5. specified. The register group 6 stores the operation results in the middle of the operation to the operation unit 3.
The buffer control section (S unit) 7 controls the buffer in order to store the calculation results in the external memory 8 and to take in data from the external memory 8.

本発明では、演算を必要としない命令のパイプライン処
理のフロー中に、制御データにより同時に実行可能な演
算サイクル、すなわち■サイクルを強制的に1サイクル
だけ発生させる方式をとるので、制御記憶の形式を概念
的に第3図に示す。
In the present invention, during the flow of pipeline processing of instructions that do not require arithmetic operations, control data is used to forcibly generate only one arithmetic cycle that can be executed simultaneously, that is, one cycle. is conceptually shown in Figure 3.

同図でオペレーションコードに対応して、制御記憶5内
のマイクロコードの格納アドレスが指定され、そのアド
レスにあるマイクロコード、同図ではマイクロコード■
が読み出される。マイクロコード■は例えば10ビツト
で構成され、そのうちの特定の1ビツト、A欄は、命令
が演算命令であり、データレジスタ(A)1に制御デー
タを記憶するときに“1′をたてるビット、また別の特
定の1ビツト、B憫は1.演算不要の命令であり、デー
タレジスタ(B)2に制御データを記憶するときに“1
゛をたてるビットである。他の8ビツトには、バッファ
制御部(Sユニット)7、演算部(Eユニット)3等を
制御するための制御データが格納されている。これらの
データは二つのデータレジスタ1.2のいずれかに記憶
された後に、各部の制御用信号として出力される。
In the figure, the storage address of the microcode in the control memory 5 is specified corresponding to the operation code, and the microcode at that address, in the figure, the microcode ■
is read out. The microcode ■ is composed of, for example, 10 bits, of which one particular bit, column A, is a bit that sets "1" when the instruction is an arithmetic instruction and control data is stored in data register (A) 1. , Another specific 1 bit, B 1, is an instruction that does not require any calculation, and is set to “1” when storing control data in data register (B) 2.
This is the bit that makes you stand out. The other 8 bits store control data for controlling the buffer control section (S unit) 7, arithmetic section (E unit) 3, etc. After these data are stored in either of the two data registers 1.2, they are output as control signals for each section.

第2図と第3図を用いて本発明の実施例の動作について
説明する。第2図で命令のオペレーションコードが与え
られ、制御記憶(CS)5のアドレスが指定され、その
アドレスにあるマイクロコードが読み出される。そのコ
ードを第3図でマイクロコード■とする。マイクロコー
ド■のある特定ビット、A欄に“1°がたっていると演
算命令であるので、制御データがデータレジスタ(A)
1にセントされる。データレジスタ(A)1からパイプ
ライン制御部4に対して演算ステージの■サイクルであ
ることが■サイクル信号として通知され、パイプライン
制御部4は演算部3に対して起動信号を出す。演算部3
はその起動信号を受は取ると、演算データをレジスタ群
6、又はバッファ制御部7から取り出し、演算を行なっ
てその結果をレジスタ群6、又はバッファ制御部7に戻
すと同時に、パイプライン制御部4に対して処理終了信
号を出力する。
The operation of the embodiment of the present invention will be explained using FIGS. 2 and 3. In FIG. 2, the operation code of the instruction is given, an address in the control storage (CS) 5 is specified, and the microcode at that address is read out. The code is designated as microcode ■ in Figure 3. If there is a specific bit in the microcode ■, "1°" in the A column, it is an arithmetic instruction, so the control data is stored in the data register (A).
1 cent. The data register (A) 1 notifies the pipeline control unit 4 that it is the (2) cycle of the operation stage as a (2) cycle signal, and the pipeline control unit 4 issues an activation signal to the operation unit 3. Arithmetic unit 3
When it receives the activation signal, it takes out the operation data from the register group 6 or the buffer control section 7, performs the operation, and returns the result to the register group 6 or the buffer control section 7, and at the same time sends the operation data to the pipeline control section. A processing end signal is output to 4.

第3図のマイクロコードの別の特定ビット、B掴に“1
゛がたっている場合には、例えばロード系の命令であり
、制御データはデータレジスタ(B)2にセントされる
。データレジスタ(B)2からパイプライン制御部4に
対して■サイクルを強制的に発生させることを指示する
信号が送られ、パイプライン制御部4は演算部3に対し
て起動信号は出さずにVサイクルを発生させ、1サイク
ルのみでそれを終了させる。すなわち、ロード系命令で
あれば、パイプライン制御部4は演算部3にデータスル
ー信号を出力し、演算部3は、例えばバッファ制御部7
からのデータをそのままレジスタ群6に送るデータスル
ー動作を行なう。演算部3は処理終了信号を出力せず、
■サイクル終了はパイプライン制御部4により制御され
る。
Another specific bit of the microcode in Figure 3 is “1” in the B grip.
If it is, for example, it is a load type instruction, and the control data is sent to the data register (B) 2. A signal is sent from the data register (B) 2 to the pipeline control unit 4 to forcibly generate the cycle, and the pipeline control unit 4 does not issue a start signal to the calculation unit 3. Generate a V cycle and finish it in only one cycle. That is, if it is a load-related instruction, the pipeline control unit 4 outputs a data through signal to the calculation unit 3, and the calculation unit 3 outputs a data through signal to the buffer control unit 7, for example.
A data through operation is performed in which the data from the register is sent as is to the register group 6. The calculation unit 3 does not output a processing end signal,
(2) Cycle termination is controlled by the pipeline control section 4.

以上に詳しく説明したように、演算を必要としない命令
、例えばロード命令中に強制的にVサイクルを発生させ
た場合のパイプライン処理の例を第4図に示す。同図で
演算命令Iより1サイクルだけ遅れてロード命令の処理
が開始されるが、そのロッド実行ステージ、すなわちE
ステージの直後に同時に実行可能な演算サイクルである
Vサイクルが強制的に設けられている。これにより、次
の演算命令■では、第6図のようにロード命令中にVサ
イクルを設けない場合と比較してTステージでの待機が
不要となり、その実行は7サイクルで終了し、第6図の
場合より1サイクル、処理が速くなる。また、同様に演
算命令■も7サイクルで実行され、処理が1サイクル速
くなる。
As described in detail above, FIG. 4 shows an example of pipeline processing when a V cycle is forcibly generated during an instruction that does not require an operation, such as a load instruction. In the figure, the processing of the load instruction starts one cycle later than the operation instruction I, but the load execution stage, that is, E
A V cycle, which is an arithmetic cycle that can be executed simultaneously, is forcibly provided immediately after the stage. As a result, the next operation instruction ■ does not need to wait in the T stage compared to the case where no V cycle is provided during the load instruction as shown in FIG. Processing is one cycle faster than in the case shown in the figure. Similarly, the operation instruction (2) is also executed in 7 cycles, which speeds up the processing by 1 cycle.

この実施例では第3図の制御記憶5内のマイクロコード
中の特定ビットが“1゛である場合に強制的にVサイク
ルを発生させる方式としたが、命令のオペレーションコ
ードを見て、ハード的に■サイクル強制発生を行なうこ
ともできることはもちろんである。
In this embodiment, a V cycle is forcibly generated when a specific bit in the microcode in the control memory 5 shown in FIG. Of course, it is also possible to perform forced cycle generation.

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

命令をパイプライン方式で処理する計算機システムにお
いて、連続する演算命令の間にロード命令等の演算不要
の命令が介在する場合、その処理フロー中に同時に実行
可能な演算サイクルを強制的に発生させることにより、
パイプラインの乱れをなくし、高速化が実現される。
In a computer system that processes instructions in a pipeline method, when an instruction that does not require an operation such as a load instruction is interposed between consecutive operation instructions, a calculation cycle that can be executed simultaneously is forcibly generated during the processing flow. According to
This eliminates pipeline turbulence and increases speed.

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

第1図は本発明のパイプライン処理制御装置の原理ブロ
ック図、 第2図は本発明の実施例の全体ブロック図、第3図は■
サイクル発生のための制御記憶の概念図、 第4図はロード命令中に■サイクルを発生させたときの
パイプライン処理説明図、 第5図(a)、 (blは演算命令中にのみ■サイクル
を設ける従来例におけるパイプライン処理説明図、第6
図は連続する演算命令の間にロード命令がある場合の処
理遅れの説明図である。 1・・・データレジスタ(A)、 2・・・データレジスタ(B)、 3・・・演算部(Eユニット)、    ・4・・・パ
イプライン制御部、 5・・・制御記憶(CS)、 6・・・レジスタ群、 7・・・バッファ制御部(Sユニット)、8・・・外部
メモリ。 オ(4む9目の)ぐす渥イフ・] ]4Σイオζフ07
7図第2図
Figure 1 is a principle block diagram of the pipeline processing control device of the present invention, Figure 2 is an overall block diagram of an embodiment of the present invention, and Figure 3 is
Conceptual diagram of control memory for cycle generation. Figure 4 is an explanatory diagram of pipeline processing when a ■ cycle is generated during a load instruction. Figure 5 (a), (bl is a ■ cycle only during an operation instruction. Pipeline processing explanatory diagram in a conventional example where
The figure is an explanatory diagram of processing delay when there is a load instruction between consecutive operation instructions. 1... Data register (A), 2... Data register (B), 3... Arithmetic unit (E unit), 4... Pipeline control unit, 5... Control memory (CS) , 6... Register group, 7... Buffer control section (S unit), 8... External memory. 07
Figure 7Figure 2

Claims (1)

【特許請求の範囲】 1)演算命令処理時に、複数のマシンサイクルから成る
演算実行ステージ中のある特定演算サイクル(V)を、
他の演算命令の演算実行ステージ中で該特定演算サイク
ル(V)に相当するサイクル(V)以外のサイクル(E
)と同時に実行することのできるパイプライン方式の計
算機において、処理すべき命令が演算命令であるときに
制御データを記憶する第1の記憶手段(1)と、前記処
理すべき命令が演算不要の命令であるときに制御データ
を記憶する第2の記憶手段(2)と、演算を実行する演
算部(3)と、前記演算命令実行時に前記第1の記憶手
段(1)からの出力により該演算命令実行ステージのう
ちの前記特定演算サイクル(V)を前記演算部(3)に
実行させ、また前記演算不要の命令実行時に前記第2の
記憶手段(2)からの出力により前記特定演算サイクル
(V)に相当する特定演算サイクル(V)を強制的に発
生させるパイプライン制御部(4)を有することを特徴
とするパイプライン制御装置。 2)前記演算不要の命令はロード命令であることを特徴
とする特許請求の範囲第1項記載のパイプライン制御装
置。 3)前記演算命令の演算実行ステージは2サイクルであ
ることを特徴とする特許請求の範囲第1項記載のパイプ
ライン制御装置。 4)前記演算不要の命令の命令実行ステージは1サイク
ルであることを特徴とする特許請求の範囲第3項記載の
パイプライン制御装置。
[Claims] 1) When processing an arithmetic instruction, a certain arithmetic cycle (V) in an arithmetic execution stage consisting of a plurality of machine cycles,
Cycles (E) other than the cycle (V) corresponding to the specific operation cycle (V) in the operation execution stage of other operation instructions
), a first storage means (1) stores control data when the instruction to be processed is an arithmetic instruction; a second storage means (2) for storing control data when the command is an instruction; a calculation section (3) for performing calculations; The arithmetic unit (3) executes the specific arithmetic cycle (V) of the arithmetic instruction execution stage, and the specific arithmetic cycle (V) is executed by the output from the second storage means (2) when the instruction that does not require the arithmetic operation is executed. A pipeline control device comprising a pipeline control unit (4) that forcibly generates a specific operation cycle (V) corresponding to (V). 2) The pipeline control device according to claim 1, wherein the instruction that does not require arithmetic operations is a load instruction. 3) The pipeline control device according to claim 1, wherein the arithmetic execution stage of the arithmetic instruction is two cycles. 4) The pipeline control device according to claim 3, wherein the instruction execution stage of the instruction that does not require arithmetic operations is one cycle.
JP29181387A 1987-11-20 1987-11-20 Pipeline control equipment Expired - Fee Related JPH0766325B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29181387A JPH0766325B2 (en) 1987-11-20 1987-11-20 Pipeline control equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29181387A JPH0766325B2 (en) 1987-11-20 1987-11-20 Pipeline control equipment

Publications (2)

Publication Number Publication Date
JPH01134530A true JPH01134530A (en) 1989-05-26
JPH0766325B2 JPH0766325B2 (en) 1995-07-19

Family

ID=17773748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29181387A Expired - Fee Related JPH0766325B2 (en) 1987-11-20 1987-11-20 Pipeline control equipment

Country Status (1)

Country Link
JP (1) JPH0766325B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548736A (en) * 1991-03-14 1996-08-20 Fujitsu Limited Method and apparatus overcoming delay introduced by instruction interlocking in pipelined instruction execution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548736A (en) * 1991-03-14 1996-08-20 Fujitsu Limited Method and apparatus overcoming delay introduced by instruction interlocking in pipelined instruction execution

Also Published As

Publication number Publication date
JPH0766325B2 (en) 1995-07-19

Similar Documents

Publication Publication Date Title
JP3237858B2 (en) Arithmetic unit
JPS5911921B2 (en) numerical control device
JPH01134530A (en) Pipeline controller
JPH0512751B2 (en)
JP2812610B2 (en) Pipeline control method
JP2558831B2 (en) Pipeline control method
JPS60204029A (en) Signal processing device
JP2545594B2 (en) Operand data prefetching method
JPS5925264B2 (en) Vector instruction processing method
JPS6023378B2 (en) information processing equipment
JP2895892B2 (en) Data processing device
JPH0721018A (en) Central processing unit for microprogram control system
JPH01284926A (en) Instruction reading system for arithmetic unit
JPS60144874A (en) Vector data processor
JPH0546389A (en) Parallel processor
JPS5947649A (en) Data processor
JPH01223565A (en) Information processor
JPH031234A (en) Information processor
JPH02230326A (en) Pipe line information processor
JPH04116726A (en) Information processor
JPH02217924A (en) Storing processing system for data processor
JPS62164135A (en) Data processor
JPS6028014B2 (en) microprocessor
JPH04199328A (en) Store processing system
JPH0412491B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees