JP2812610B2 - Pipeline control method - Google Patents

Pipeline control method

Info

Publication number
JP2812610B2
JP2812610B2 JP4176466A JP17646692A JP2812610B2 JP 2812610 B2 JP2812610 B2 JP 2812610B2 JP 4176466 A JP4176466 A JP 4176466A JP 17646692 A JP17646692 A JP 17646692A JP 2812610 B2 JP2812610 B2 JP 2812610B2
Authority
JP
Japan
Prior art keywords
instruction
cycles
register
pipeline
cycle
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
JP4176466A
Other languages
Japanese (ja)
Other versions
JPH0619705A (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 JP4176466A priority Critical patent/JP2812610B2/en
Publication of JPH0619705A publication Critical patent/JPH0619705A/en
Application granted granted Critical
Publication of JP2812610B2 publication Critical patent/JP2812610B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、情報処理装置において
のパイプライン制御方式に関し、特に、パイプラインに
投入される命令の演算実行ステートのサイクル数を変更
することで、パイプライン処理を高速に実行していく構
成を採るときにあって、これを普遍的な構成で実現する
とともに、小さなマイクロプログラム容量でもって実現
するパイプライン制御方式に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline control system in an information processing apparatus, and more particularly, to high-speed pipeline processing by changing the number of cycles of an operation execution state of an instruction input to a pipeline. The present invention relates to a pipeline control method that can be realized with a universal configuration and realized with a small microprogram capacity when adopting a configuration for executing.

【0002】パイプライン処理とは、1つの命令処理を
複数の処理に分割して、複数の命令処理を並列に実行す
る処理方式である。図7に、6段で構成されるパイプラ
イン処理の一例を示す。この分割された複数の処理は、
各々ステートという名前で区別される。
[0002] The pipeline processing is a processing method in which one instruction processing is divided into a plurality of processings and a plurality of instruction processings are executed in parallel. FIG. 7 shows an example of pipeline processing composed of six stages. The multiple divided processes are:
Each is distinguished by the name state.

【0003】図7の例では、パイプライン処理は、Dス
テート、Aステート、Tステート、Bステート、Eステ
ート、Wステートの各ステートを順次通過することによ
り処理される。このDステートでは、命令のデコード、
Aステートではアドレス計算、TステートではTLBの
索引、Bステートではキャッシュのリード、Eステート
では演算の実行、Wステートでは演算結果のレジスタへ
の格納が行われる。ここで、複数の命令処理間で同一の
ステートがセットされることはない。また、1ステート
が処理される時間を1マシンサイクルと呼ぶが、理想的
にパイプライン処理が動作すれば、N個の命令がNマシ
ンサイクルで終了するように見えるのである。
In the example of FIG. 7, pipeline processing is performed by sequentially passing through each of the D state, A state, T state, B state, E state, and W state. In this D state, instruction decoding,
In the A state, an address is calculated, in the T state, a TLB index is read, in the B state, a cache is read, in the E state, an operation is executed, and in the W state, the operation result is stored in a register. Here, the same state is not set between a plurality of instruction processes. Also, the time during which one state is processed is called one machine cycle. If pipeline processing operates ideally, N instructions appear to end in N machine cycles.

【0004】このようなパイプライン処理では、可能な
限り命令を高速に実行できる構成を構築していく必要が
ある。
In such pipeline processing, it is necessary to construct a configuration that can execute instructions as fast as possible.

【0005】[0005]

【従来の技術】パイプライン処理を行う情報処理装置に
おいて、パイプライン処理を理想的に動作させることを
妨げる要因として、パイプライン・インタロックが存在
する。この代表例として、演算が1サイクルで終わらな
いためのEステート・インタロックがある。例えば、浮
動少数点命令の処理では、Eサイクルの演算が1サイク
ルで終わらないために、図8に示すように、1サイクル
毎に命令を処理することができないことが起こる。この
図8の例では、6番目の命令開始が図7と比べて1サイ
クル遅れてしまう。
2. Description of the Related Art In an information processing apparatus for performing pipeline processing, there is a pipeline interlock as a factor that hinders an ideal operation of the pipeline processing. A typical example is an E-state interlock for preventing an operation from being completed in one cycle. For example, in the processing of a floating-point instruction, since the operation of the E cycle does not end in one cycle, the instruction may not be processed every cycle as shown in FIG. In the example of FIG. 8, the start of the sixth instruction is delayed by one cycle as compared with FIG.

【0006】このため、高速性を要求される情報処理装
置においては、このような不都合を解消するために、演
算実行ステートを複数段数構成でもってパイプライン化
することにより、1サイクル毎の命令処理を実現してい
る。すなわち、例えば、図9に示すように、演算実行ス
テートを更にEステート、Vステートに分割する構成を
採ることで、1サイクル毎のパイプライン処理を実現し
ているのである。
Therefore, in an information processing apparatus that requires high speed, in order to solve such inconvenience, the instruction execution for each cycle is performed by forming the operation execution state in a pipeline configuration with a plurality of stages. Has been realized. That is, for example, as shown in FIG. 9, by adopting a configuration in which the operation execution state is further divided into an E state and a V state, pipeline processing for each cycle is realized.

【0007】しかしながら、このような技術において
も、なお、Vステート付き命令と、Vステートなし命令
を続けて実行した場合には、ロスタイムを生じてしま
う。図10に、この一例を図示する。ここで、命令1が
Vステート付き命令であり、命令2がVステートなし命
令である。
However, even in such a technique, a loss time occurs when an instruction with a V state and an instruction without a V state are executed successively. FIG. 10 illustrates this example. Here, the instruction 1 is an instruction with a V state, and the instruction 2 is an instruction without a V state.

【0008】このようなケースにおいて、ロスタイムを
減じるためには、Vステート付き命令の直後のVステー
トなし命令を、Vステート付き命令として実行する構成
を採ることが考えられる。この構成を採用すると、図1
0のパイプライン処理を例にして説明するならば、命令
2をVステート付き命令として実行することで、図9に
示すような理想的なパイプライン動作を行わせることが
できるようになるのである。
In such a case, in order to reduce the loss time, it is conceivable to adopt a configuration in which an instruction without V state immediately after an instruction with V state is executed as an instruction with V state. When this configuration is adopted, FIG.
In the case of the pipeline processing of 0 as an example, by executing instruction 2 as an instruction with a V state, an ideal pipeline operation as shown in FIG. 9 can be performed. .

【0009】特開平2-69825号公報に、この構成を示唆
する発明が開示されている。すなわち、この発明では、
メモリのデータを演算器をスルーで通過させていく構成
を採ることで、Vステート付き命令の直後のVステート
なし命令を、Vステート付き命令として実行する点が開
示されている。そして、この発明では、更に、Vステー
トを付けるか付けないかを可変にすることとして、その
命令の前にVステートなし命令が実行された場合、Vス
テート可変命令をVステートなし命令として実行するこ
とにより、ロスタイムを減ずることが述べられている。
Japanese Patent Application Laid-Open No. 2-69825 discloses an invention suggesting this configuration. That is, in the present invention,
It discloses that an instruction without a V-state immediately after an instruction with a V-state is executed as an instruction with a V-state by adopting a configuration in which data in a memory is passed through an arithmetic unit through. According to the present invention, whether a V state is added or not is made variable, and when an instruction without a V state is executed before the instruction, the V state variable instruction is executed as an instruction without a V state. It is stated that the loss time can be reduced.

【0010】しかしながら、この発明では、演算器をデ
ータスルーで通過させていく命令、すなわち、演算を行
わない命令しか、このようなVステート可変制御を行う
ことができないという欠点がある。
However, in the present invention, there is a disadvantage that only an instruction that passes through an arithmetic unit through data through, that is, an instruction that does not perform an operation, can perform such V-state variable control.

【0011】一方、特開昭59-2143 号公報に開示される
発明は、演算結果を保持するシフトレジスタを用意(特
開平2-69825号公報の発明では備えていない)して、最
大の演算パイプラインサイクル数より少ない実行サイク
ル数で実行できる命令を、より多くの演算パイプライン
サイクル数で実行することにより、命令の逐次処理原則
を守りながらパイプライン処理を行うことを開示してい
る。
Meanwhile, the invention disclosed in JP-59-2 143 discloses is prepared a shift register that holds the operation result (not provided in the invention of JP-A-2-69825 JP), the largest It discloses that an instruction that can be executed in a smaller number of execution cycles than the number of operation pipeline cycles is executed in a larger number of operation pipeline cycles, thereby performing pipeline processing while observing the principle of sequential processing of instructions.

【0012】しかしながら、この発明では、演算パイプ
ライン処理を行う命令は全て同一実行サイクル数で演算
処理を行う構成を採用している。従って、演算パイプラ
イン処理が可能で、かつ必要以上に実行サイクル数を延
ばして実行される命令の直後に、演算パイプライン処理
が不可能な命令が実行されると、不要なインタロックを
引き起こす可能性がある。
However, the present invention employs a configuration in which all the instructions for performing the arithmetic pipeline process perform the arithmetic process with the same number of execution cycles. Therefore, if an instruction that cannot be executed by the operation pipeline is executed immediately after an instruction that can be executed by the operation pipeline and that is executed by extending the number of execution cycles more than necessary, unnecessary interlock may be caused. There is.

【0013】すなわち、最短1サイクルで演算実行が可
能であるとともに、演算パイプライン処理が可能であ
り、常に2サイクルで演算実行される命令1の直後に、
演算パイプライン処理が不可能な命令2が続くと、下記
に示すように、 命令1 D A T B E V W 命令2 D A T B B E W Bサイクルでインタロックされて、演算開始時期が遅ら
されることになる。この発明では、このような性能低下
を、複数の命令終了宣言手段を備えることにより、次命
令の実行開始サイクルを可変とすることとして削減し得
ることを示している。
That is, the operation can be executed in the shortest one cycle and the operation pipeline processing can be performed, and immediately after the instruction 1 which is always executed in two cycles,
When the instruction 2 that cannot be processed by the operation pipeline continues, as shown below, the instruction 2 is interlocked in the instruction 1 DAT BEV W instruction 2 D A T B B E W B cycle, and the operation start timing is changed. Will be delayed. The present invention shows that such a decrease in performance can be reduced by making the execution start cycle of the next instruction variable by providing a plurality of instruction end declaration means.

【0014】しかしながら、このように複数の命令終了
宣言手段を備えることにより次命令の実行開始サイクル
を可変とすることは、命令の演算開始時期決定の制御機
構を複雑なものにすることになる。通常、命令の演算開
始時期決定の制御機構は、レジスタ干渉検出等複雑な制
御回路を含みやすいところであり、極力回路の簡素化が
望まれているところでもある。
However, making the execution start cycle of the next instruction variable by providing a plurality of instruction end declaration means as described above complicates the control mechanism for determining the operation start timing of the instruction. Usually, the control mechanism for determining the operation start timing of an instruction is likely to include a complicated control circuit such as register interference detection, and there is a demand for simplification of the circuit as much as possible.

【0015】[0015]

【発明が解決しようとする課題】次に、図11に従っ
て、シフトレジスタを用いてデータを遅延するときに用
いられている従来技術について説明する。
Next, with reference to FIG. 11, a description will be given of a conventional technique used when delaying data using a shift register.

【0016】この図11は、演算実行ステートを実行す
る回路構成を示すものであり、60,61は入力データ
レジスタ、62は1サイクルで演算を行う演算器、63
は2サイクルで演算を行う演算器、64は3サイクルで
演算を行う演算器、65,66は遅延レジスタ、67は
出力データレジスタである。すなわち、この例では、パ
イプラインに投入される可能性のある命令の演算実行ス
テートの最大サイクル数が3サイクルであることを想定
している。
FIG. 11 shows a circuit configuration for executing an operation execution state. Reference numerals 60 and 61 denote input data registers; 62, an operation unit for performing an operation in one cycle;
Is an arithmetic unit that performs an operation in two cycles, 64 is an arithmetic unit that performs an operation in three cycles, 65 and 66 are delay registers, and 67 is an output data register. That is, in this example, it is assumed that the maximum number of cycles in the operation execution state of an instruction that may be input to the pipeline is three.

【0017】このような回路構成を採るときにあって、
パイプラインに投入される命令が1サイクルで演算を行
う命令である場合にあって、これを1サイクルでもって
実行する場合には、演算器62で得た演算結果データを
直接出力データレジスタ67にセットし、一方、これを
2サイクルでもって実行する場合には、演算器62で得
た演算結果データを遅延レジスタ65で1サイクル分遅
延させてから出力データレジスタ67にセットし、ま
た、3サイクルでもって実行する場合には、演算器62
で得た演算結果データを先ず最初に遅延レジスタ65で
1サイクル分遅延させ、次に遅延レジスタ66でもう1
サイクル分遅延させてから出力データレジスタ67にセ
ットすることで行う。
When adopting such a circuit configuration,
If the instruction to be input to the pipeline is an instruction that performs an operation in one cycle, and the instruction is executed in one cycle, the operation result data obtained by the arithmetic unit 62 is directly stored in the output data register 67. On the other hand, when this is executed in two cycles, the operation result data obtained by the operation unit 62 is delayed by one cycle in the delay register 65 and then set in the output data register 67. In the case of execution by using
First, the operation result data obtained in step 1 is delayed by one cycle in the delay register 65, and then another
This is performed by setting in the output data register 67 after delaying by the cycle.

【0018】また、パイプラインに投入される命令が2
サイクルで演算を行う命令である場合にあって、これを
2サイクルでもって実行する場合には、演算器63で得
た演算結果データを直接出力データレジスタ67にセッ
トし、一方、これを3サイクルでもって実行する場合に
は、演算器63で得た演算結果データを遅延レジスタ6
6で1サイクル分遅延させてから出力データレジスタ6
7にセットすることで行う。そして、パイプラインに投
入される命令が3サイクルで演算を行う命令である場合
には、演算器64で得た演算結果データを直接出力デー
タレジスタ67にセットすることで行う。
Also, if the instruction input to the pipeline is 2
If the instruction is an instruction that performs an operation in two cycles, and if it is to be executed in two cycles, the operation result data obtained by the arithmetic unit 63 is directly set in the output data register 67, while this is set in three cycles. In the case of executing the calculation, the operation result data obtained by the operation unit 63 is stored in the delay register 6.
6 delays one cycle and then outputs data register 6
This is done by setting it to 7. If the instruction to be input to the pipeline is an instruction that performs an operation in three cycles, the operation result data obtained by the operation unit 64 is set directly in the output data register 67.

【0019】このような各演算器62,63,64から
のデータを、いつ、どのレジスタ65,66に書き込む
のかを制御する処理をマイクロプログラムで行うことが
可能である。すなわち、命令のオペコードに従って、所
望の制御処理を実行するマイクロプログラムを読み出す
構成を採って、このマイクロプログラムに従って、上述
のような遅延動作を実現することが可能である。
Processing for controlling when and to which register 65, 66 the data from each of the arithmetic units 62, 63, 64 is written can be performed by a microprogram. That is, by adopting a configuration in which a microprogram for executing a desired control process is read in accordance with the operation code of the instruction, the above-described delay operation can be realized in accordance with the microprogram.

【0020】しかしながら、このようなマイクロプログ
ラムに従って、可変Vサイクル制御を実現する場合に
は、簡単なハードウェア構成でこれを行うことが可能と
なるものの、マイクロプログラムの容量の増加を招くと
いう欠点が生ずる。例えば、上述のように、パイプライ
ンに投入される可能性のある命令の演算実行ステートの
最大サイクル数が3サイクルである場合に、1サイクル
で演算結果を出力できるという命令に対しては、1サイ
クル、2サイクル、3サイクルのオペレーションを行う
3種類のマイクロプログラムを用意しなければならない
のである。
However, when variable V cycle control is realized in accordance with such a microprogram, it is possible to perform the control with a simple hardware configuration, but there is a drawback that the capacity of the microprogram is increased. Occurs. For example, as described above, when the maximum number of operation execution states of an instruction that may be input to the pipeline is three, an instruction that can output an operation result in one cycle is one. It is necessary to prepare three types of microprograms that perform cycle, two-cycle, and three-cycle operations.

【0021】使用頻度の高い一般命令の多くが1サイク
ル、2サイクル命令であることを考慮すると、このよう
なマイクロプログラム容量の増加は避けることができな
い。これから、従来技術に従って演算結果データのシフ
ト動作をマイクロプログラムで行う構成を採るならば、
現実的な実現手段としては可変Vサイクル命令の数を著
しく制限せざるを得ないのが実情である。
Considering that most commonly used general instructions are one-cycle and two-cycle instructions, such an increase in microprogram capacity cannot be avoided. From now on, if a configuration in which the shift operation of the operation result data is performed by a microprogram according to the related art is adopted,
As a practical means, the number of variable V-cycle instructions must be significantly limited.

【0022】本発明はかかる事情に鑑みてなされたもの
であって、パイプラインに投入される命令の演算実行ス
テートのサイクル数を変更することで、パイプライン処
理を高速に実行していく構成を採るときにあって、これ
を普遍的な構成で実現するとともに、小さなマイクロプ
ログラム容量でもって実現する新たなパイプライン制御
方式の提供を目的とするものである。
The present invention has been made in view of such circumstances, and has a configuration in which pipeline processing is executed at high speed by changing the number of cycles of the operation execution state of an instruction to be input to a pipeline. It is an object of the present invention to provide a new pipeline control method which can be realized with a universal configuration and realized with a small microprogram capacity.

【0023】[0023]

【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は情報処理装置、2は情報処理装
置1の備える本発明に係るパイプライン処理実行手段で
ある。このパイプライン処理実行手段2は、複数のマシ
ンサイクルからなる演算実行ステートを実行する。
FIG. 1 shows the principle configuration of the present invention. In the figure, reference numeral 1 denotes an information processing apparatus, and reference numeral 2 denotes a pipeline processing execution unit of the information processing apparatus 1 according to the present invention. The pipeline processing execution means 2 executes an operation execution state including a plurality of machine cycles.

【0024】3はパイプライン処理実行手段2の備える
検出手段であって、演算実行ステートよりも前段に展開
されて、パイプラインに投入される命令が、その命令に
先行する命令よりも少ないサイクル数でもって演算実行
ステートを終了するものなのか否かを検出するもの、4
はパイプライン処理実行手段2の備える算出手段であっ
て、演算実行ステートよりも前段に展開されて、検出手
段3が少ないサイクル数を検出するときに、その2つの
サイクル数の差分値を算出するもの、5はパイプライン
処理実行手段2の備える生成手段であって、演算実行ス
テートよりも前段に展開されて、算出手段4の算出する
差分サイクル数値に応じたコード信号を生成するもので
ある。
Reference numeral 3 denotes a detection means provided in the pipeline processing execution means 2, which is developed at a stage preceding the operation execution state and the number of cycles input to the pipeline is smaller than that of the instruction preceding the instruction. Detecting whether or not the operation execution state is to be ended, 4
Is a calculating means provided in the pipeline processing executing means 2, which is developed before the operation execution state and calculates a difference value between the two cycle numbers when the detecting means 3 detects a small number of cycles. Numeral 5 is a generating means provided in the pipeline processing executing means 2, which is developed before the operation execution state and generates a code signal corresponding to the difference cycle value calculated by the calculating means 4.

【0025】6はパイプライン処理実行手段2の備える
制御記憶であって、演算実行ステートよりも前段に展開
されて、命令のオペコードに対して一意に用意されるマ
イクロプログラムを管理するものである。このマイクロ
プログラムは、後述するレジスタ手段9を制御するため
の制御信号として用いられることになる。
Reference numeral 6 denotes a control storage provided in the pipeline processing executing means 2, which manages a microprogram developed before the operation execution state and uniquely prepared for an operation code of an instruction. This microprogram is used as a control signal for controlling the register means 9 described later.

【0026】7はパイプライン処理実行手段2の備える
演算実行手段であって、複数のマシンサイクルからなる
演算実行ステートを実行するもの、8は演算実行手段7
の備える演算手段であって、パイプラインに投入される
可能性のある命令の示す演算実行ステート数の種類分の
演算器から構成されて、演算処理を実行するものであ
る。
Reference numeral 7 denotes an operation execution unit provided in the pipeline processing execution unit 2 for executing an operation execution state including a plurality of machine cycles.
The arithmetic means comprises a number of arithmetic units corresponding to the number of operation execution states indicated by an instruction that may be input to the pipeline, and executes arithmetic processing.

【0027】9は演算実行手段7の備えるレジスタ手段
であって、パイプラインに投入される可能性のある命令
の演算実行ステートの最大サイクル数をKサイクル、最
小サイクル数をLサイクルで表すならば、(K−L)個
のレジスタ手段から構成されて、演算手段8の出力する
演算結果データを遅延させるものである。この(K−
L)個のレジスタ構成に従うレジスタ手段9に従って、
(K−L+1)通りの遅延モードを実現する(K−L+
1)通りのレジスタ選択モードが用意されることにな
る。
Reference numeral 9 denotes register means provided in the operation execution means 7. If the maximum number of operation execution states of an instruction that may be input to the pipeline is represented by K cycles and the minimum number of cycles is represented by L cycles, , (K−L) register means for delaying the operation result data output from the operation means 8. This (K-
L) According to the register means 9 according to the register configuration,
(KL + 1) delay modes are realized (KL +
1) Register selection modes are prepared.

【0028】ここで、パイプライン処理実行手段2の処
理対象となるものは、演算結果データの他に条件コード
及び割込情報がある。
Here, what is to be processed by the pipeline processing execution means 2 includes condition codes and interrupt information in addition to the operation result data.

【0029】[0029]

【作用】本発明では、検出手段3の検出処理に従って、
パイプラインに投入される命令がその命令に先行する命
令よりも少ないサイクル数でもって演算実行ステートを
終了するものであることが検出されると、算出手段4
は、その2つのサイクル数の差分値を算出し、この差分
サイクル数値の算出処理を受けて、生成手段5は、(K
−L+1)通りのレジスタ選択モードの内の1つを選択
するためのコード信号を生成する。
According to the present invention, according to the detection processing of the detection means 3,
When it is detected that the instruction to be input to the pipeline ends the operation execution state with a smaller number of cycles than the instruction preceding the instruction, the calculating means 4
Calculates the difference value of the two cycle numbers, and receives the calculation process of the difference cycle number.
-L + 1) generates a code signal for selecting one of the register selection modes.

【0030】一方、制御記憶6は、パイプラインに投入
される命令のオペコードにより索引されて、そのオペコ
ードに応じたマイクロプログラムを読み出す。このマイ
クロプログラムは命令のオペコードに対して一意に用意
されるものであることから、1サイクルで演算を実行す
る命令であるときには、それに固有のマイクロプログラ
ムが読み出され、2サイクルで演算を実行する命令であ
るときには、それに固有のマイクロプログラムが読み出
されることになる。
On the other hand, the control memory 6 is indexed by the operation code of the instruction input to the pipeline, and reads out a microprogram corresponding to the operation code. Since this microprogram is uniquely prepared for the operation code of the instruction, if it is an instruction that executes an operation in one cycle, a microprogram unique to the instruction is read and the operation is executed in two cycles. If it is an instruction, a microprogram specific to that instruction will be read.

【0031】このようにして、生成手段5からコード信
号が出力され、制御記憶6からレジスタ手段9の制御信
号となるマイクロプログラムが出力されると、レジスタ
手段9は、このコード信号と制御信号とに従って、演算
手段8の出力する演算結果データを遅延することで、パ
イプラインに投入される命令がNサイクルの演算実行ス
テートを持ち、その命令に先行する命令がそれより長い
Mサイクルの演算実行ステートを持つ場合には、そのN
サイクルの命令をMサイクルの演算実行ステートでもっ
て実行していくよう処理する。
As described above, when the code signal is output from the generating means 5 and the microprogram serving as the control signal of the register means 9 is output from the control storage 6, the register means 9 outputs the code signal and the control signal. , The instruction input to the pipeline has an N-cycle operation execution state, and the instruction preceding the instruction has a longer M-cycle operation execution state. If you have
The instruction of the cycle is processed to be executed in the operation execution state of the M cycle.

【0032】このように、本発明では、パイプラインに
投入される命令と、その命令に先行する命令との間の演
算実行ステートのサイクル数の差分値を検出する構成を
採って、その差分サイクル数値に従って、パイプライン
に投入される命令の演算実行ステートをどのように遅延
させていくかを決定していく構成を採る。これから、パ
イプラインに投入される命令の演算実行ステートのサイ
クル数を変更することで、パイプライン処理を高速に実
行していく構成を採るときにあって、これを普遍的な構
成で実現できるようになるのである。
As described above, the present invention employs a configuration for detecting a difference value of the number of cycles of the operation execution state between an instruction input to the pipeline and an instruction preceding the instruction, and adopting the differential cycle. According to a numerical value, a configuration is adopted in which how to delay the operation execution state of an instruction input to the pipeline is determined. From now on, by adopting a configuration that executes pipeline processing at high speed by changing the number of cycles of the operation execution state of the instruction to be input to the pipeline, this can be realized with a universal configuration. It becomes.

【0033】そして、本発明では、例えば、パイプライ
ンに投入される命令の演算実行ステート数が1サイクル
である場合にあって、この命令を1サイクルの演算処理
で実行するときにも、2サイクルの演算処理で実行する
ときにも、3サイクルの演算処理で実行するときにも、
用意するマイクロプログラムは共通にして、この共通の
マイクロプログラムを生成手段5のコード信号で修飾し
ていくことで、各々のサイクル数の演算処理を実現して
いく方法を採る。これから、パイプラインに投入される
命令の演算実行ステートのサイクル数を変更すること
で、パイプライン処理を高速に実行していく構成を採る
ときにあって、これを小さなマイクロプログラム容量で
実現できるようになるのである。
In the present invention, for example, when the number of execution states of an instruction to be input to the pipeline is one cycle, and when this instruction is executed by one cycle of arithmetic processing, two cycles are required. When it is executed by the arithmetic processing of, and when it is executed by the arithmetic processing of three cycles,
A common microprogram is prepared, and the common microprogram is modified by the code signal of the generating means 5 to realize a calculation process of each cycle number. From now on, when adopting a configuration in which the pipeline processing is executed at high speed by changing the number of cycles of the operation execution state of the instruction to be input to the pipeline, this can be realized with a small microprogram capacity. It becomes.

【0034】[0034]

【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、図1で説明したパイプライン処理実行手段
2の詳細な回路構成を図示する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below in detail with reference to embodiments. FIG. 2 shows a detailed circuit configuration of the pipeline processing execution means 2 described in FIG.

【0035】この図に示すパイプライン処理実行手段2
は、最初のDステートで、オペコードをデコードし、レ
ジスタスタック10(汎用レジスタGR,浮動小数点レ
ジスタFRを含む)よりアドレス計算用のデータを読み
出してベースレジスタ11、インデックスレジスタ12
にセットする。続いて、Aステートで、ベースレジスタ
11のデータとインデックスレジスタ12のデータと
を、アドレス加算器13で加算して、その結果を有効ア
ドレスとしてレジスタ14にセットする。
The pipeline processing execution means 2 shown in FIG.
Reads the data for address calculation from the register stack 10 (including the general-purpose register GR and the floating-point register FR) in the first D state, and reads the data for the base register 11 and the index register 12
Set to. Subsequently, in the A state, the data of the base register 11 and the data of the index register 12 are added by the address adder 13, and the result is set in the register 14 as an effective address.

【0036】続いて、Tステートで、レジスタ14の有
効アドレスをTLB15でアドレス変換することで実ア
ドレスを得て、この実アドレスをレジスタ16にセット
する。続いて、Bステートで、レジスタ16の実アドレ
スでローカルバッファストレージ17をアクセスするこ
とで、バッファリングされている主記憶データを読み出
してレジスタ18にセットする。
Subsequently, in the T state, the real address is obtained by converting the effective address of the register 14 by the TLB 15 and the real address is set in the register 16. Subsequently, in the B state, by accessing the local buffer storage 17 with the real address of the register 16, the buffered main memory data is read and set in the register 18.

【0037】続いて、Eステートで、レジスタ18に格
納されるデータと、レジスタ19に格納されるデータと
を、演算器20で演算して、その演算結果データをレジ
スタ21にセットする。続いて、Wステートで、レジス
タ21に格納される演算結果データをレジスタスタック
10に書き込んで処理を終了する。このレジスタスタッ
ク10に書き込まれたデータは、レジスタオペランドバ
ス22によりレジスタ19にセットされることになる。
そして、このWステートでは、条件コードと、Eステー
トで検出された割込情報が報告されることになる。
Subsequently, in the E state, the data stored in the register 18 and the data stored in the register 19 are operated by the calculator 20, and the operation result data is set in the register 21. Subsequently, in the W state, the operation result data stored in the register 21 is written to the register stack 10, and the processing is terminated. The data written in the register stack 10 is set in the register 19 by the register operand bus 22.
In the W state, the condition code and the interrupt information detected in the E state are reported.

【0038】このように構成されるパイプライン処理実
行手段2では、図1で説明したように、パイプラインに
投入される命令と、その命令に先行する命令との間の演
算実行ステートのサイクル数の差分値を検出して、その
差分サイクル数値に応じたコード信号を生成する構成を
採るものである。図3に、この制御機構の一実施例を図
示する。
In the pipeline processing execution means 2 configured as described above, as described with reference to FIG. 1, the number of cycles of the operation execution state between the instruction input to the pipeline and the instruction preceding the instruction. Is detected, and a code signal corresponding to the difference cycle value is generated. FIG. 3 shows an embodiment of this control mechanism.

【0039】この制御機構は、図3に示すように、Aス
テートのオペコードを保持するレジスタ30と、このレ
ジスタ30の出力を受けて、オペコードの指す演算実行
ステート数をデコードするとともに、演算実行ステート
の増加サイクル数を決定する制御回路31と、制御回路
31により決定された演算実行ステートの増加サイクル
数を保持するレジスタ32と、制御回路31によりデコ
ードされた演算実行ステート数を保持するレジスタ33
とから構成される。このレジスタ32の内容は、Tステ
ートで、続いて説明する演算実行ステート機構部分に送
られることになる。
As shown in FIG. 3, the control mechanism includes a register 30 for holding an A-state operation code, receives the output of the register 30, decodes the number of operation execution states indicated by the operation code, and executes the operation execution state. A control circuit 31 that determines the number of increase cycles of the register, a register 32 that holds the number of increase cycles of the operation execution state determined by the control circuit 31, and a register 33 that holds the number of operation execution states decoded by the control circuit 31
It is composed of The contents of this register 32 are sent to the operation execution state mechanism described later in the T state.

【0040】先行する図中の命令1に続いて、図中の命
令2がパイプラインに投入されると、制御回路31は、
命令2のAステートで、命令1の演算実行ステート数を
表示するレジスタ33の内容を参照して、自命令の命令
2の演算実行ステートの増加サイクル数を決定してレジ
スタ32に書き込んでいくことになる。この増加サイク
ル数は、自命令の最短演算実行ステート数が先行する命
令の演算実行ステート数よりも少ないときには、その2
つの演算実行ステート数の差分値により決定され、それ
以外については、ゼロ値として決定されることになる。
すなわち、命令1の演算実行ステートのサイクル数が2
で、命令2の最短演算実行ステートのサイクル数が1で
ある場合には、その差分値の1が増加サイクル数として
決定され、また、命令1の演算実行ステートのサイクル
数が2で、命令2の最短演算実行ステートのサイクル数
が2である場合には、増加サイクル数として0が決定さ
れることになるのである。
When the instruction 2 in the figure is input to the pipeline following the instruction 1 in the preceding figure, the control circuit 31
In the A state of the instruction 2, referencing the contents of the register 33 for displaying the number of operation execution states of the instruction 1 to determine the number of cycles to increase the operation execution state of the instruction 2 of the own instruction and writing the number into the register 32 become. When the shortest operation execution state number of the own instruction is smaller than the operation execution state number of the preceding instruction, the number of increase cycles is 2
It is determined by the difference value between the two operation execution states, and the other values are determined as zero values.
That is, the number of cycles in the operation execution state of instruction 1 is 2
In the case where the number of cycles in the shortest operation execution state of the instruction 2 is 1, the difference value 1 is determined as the number of increase cycles, and the number of cycles in the operation execution state of the instruction 1 is 2 and the instruction 2 In the case where the number of cycles in the shortest operation execution state is 2, the number of cycles is determined to be 0.

【0041】図4に、演算実行ステート機構部分の回路
構成を図示する。次に、この図の回路構成に従って、本
発明の演算実行ステートでの処理について説明する。こ
こで、図中のは、1サイクルの演算実行ステートの命
令がパイプラインに投入されるときに、その命令を1サ
イクルの演算実行ステートで実行する場合の処理図を表
しており、は、1サイクルの演算実行ステートの命令
がパイプラインに投入されるときに、その命令を2サイ
クルの演算実行ステートで実行する場合の処理図を表し
ている。
FIG. 4 shows the circuit configuration of the operation execution state mechanism. Next, the processing in the operation execution state of the present invention will be described with reference to the circuit configuration shown in FIG. Here, the figure shows a processing diagram in the case where an instruction in the operation execution state of one cycle is input to the pipeline and the instruction is executed in the operation execution state of one cycle. FIG. 9 shows a processing diagram in the case where an instruction in a cycle execution state is input to the pipeline, and the instruction is executed in a two-cycle operation execution state.

【0042】パイプライン処理実行手段2は、Eステー
トに先行するBステートで、Tステートから送られてき
たオペコードをレジスタ40にセットし、続くBステー
トで、このレジスタ40の内容をアドレスとして制御記
憶42を索引することで、対応の制御信号を読み出して
レジスタ43にセットする。このとき読み出される制御
信号は、演算実行ステートが1サイクルの命令であると
きには、オペコード‘01A’に従って、この命令を1
サイクルの演算実行ステートで実行する場合にあって
も、2サイクルの演算実行ステートで実行する場合にあ
っても同一のものとなる。
The pipeline processing executing means 2 sets the operation code sent from the T state in the register 40 in the B state preceding the E state, and controls and stores the contents of the register 40 as an address in the subsequent B state. By indexing 42, a corresponding control signal is read and set in the register 43. When the operation execution state is a one-cycle instruction, the control signal read out at this time indicates that the instruction is executed in accordance with the operation code '01A'.
It is the same whether the execution is performed in the cycle execution state or in the two cycle execution state.

【0043】一方、パイプライン処理実行手段2は、同
じくBステートで、図3に示したレジスタ32から送ら
れてくる増加サイクル数のコード値をレジスタ41にセ
ットする。そして、続くEステートで、このレジスタ4
1の内容をレジスタ44にセットして、デコーダ45で
デコードする。この処理に従って、デコーダ45は、例
えば、のように、図3のレジスタ32が増加サイクル
数“0”を出力してくるときには“0”を出力し、の
ように、増加サイクル数“1”を出力してくるときには
“1”を出力することになる。
On the other hand, the pipeline processing execution means 2 sets the code value of the increased cycle number sent from the register 32 shown in FIG. Then, in the following E state, this register 4
1 is set in the register 44 and decoded by the decoder 45. In accordance with this process, the decoder 45 outputs “0” when the register 32 of FIG. 3 outputs the number of increase cycles “0” as shown in FIG. When outputting, "1" is output.

【0044】一方、パイプライン処理実行手段2は、こ
のEステートで、1サイクルで演算を実行する演算器4
6を使って、パイプラインを流れてきた1サイクルの演
算実行ステートの命令の演算処理を実行する。そして、
レジスタ43の保持する制御信号と、デコーダ45の出
力するデコード値との論理積を算出するANDゲート4
7の出力値に従って、デコーダ45がデコード値“0”
を出力するときには、に示すように、セレクタ48を
制御することで、続くWステートで、演算器46の演算
結果データをレジスタ49に書き込んでいく。
On the other hand, the pipeline processing execution means 2 operates in the E state in a computing unit 4 which executes an operation in one cycle.
6, the arithmetic processing of the instruction in the operation execution state of one cycle which has flowed through the pipeline is executed. And
AND gate 4 for calculating the logical product of the control signal held by register 43 and the decoded value output from decoder 45
7, the decoder 45 outputs the decoded value “0”.
Is output, the operation result data of the operation unit 46 is written into the register 49 in the following W state by controlling the selector 48 as shown in FIG.

【0045】一方、デコーダ45がデコード値“1”を
出力するときには、に示すように、続くVステート
で、演算器46の演算結果データをレジスタ50に書き
込むとともに、ANDゲート47の出力信号をレジスタ
51に書き込み、続くWステートで、レジスタ51の内
容に従ってセレクタ48を制御することで、レジスタ5
0の保持する演算結果データをレジスタ49に書き込ん
でいく。
On the other hand, when the decoder 45 outputs the decode value "1", as shown in, Succeeding V state, writes the calculation result data of the arithmetic unit 46 to the register 50, the output signal of the AND gate 47 By writing to the register 51 and controlling the selector 48 in accordance with the contents of the register 51 in the subsequent W state, the register 5
The operation result data held by 0 is written into the register 49 .

【0046】このようにして、この実施例に従うこと
で、パイプラインに投入される命令の演算実行ステート
数が1サイクルである場合にあって、この命令を1サイ
クルの演算処理で実行するときにも、2サイクルの演算
処理で実行するときにも、制御記憶42に用意するマイ
クロプログラムは共通になることから、制御記憶42の
マイクロプログラムの容量を小さなものにできるのであ
る。
As described above, according to the present embodiment, when the number of execution states of an instruction to be input to the pipeline is one cycle, when the instruction is executed by one cycle of operation processing, In addition, the microprogram prepared in the control storage 42 is common even when it is executed by two-cycle arithmetic processing, so that the capacity of the microprogram in the control storage 42 can be reduced.

【0047】これに対して、マイクロプログラムの修飾
手段であるレジスタ32やデコーダ45やANDゲート
47を備えないで、マイクロプログラム単独で対処しよ
うとすると、1サイクルの演算実行ステートの命令を1
サイクルで実行するときに必要となる制御信号のマイク
ロプログラムと、2サイクルで実行するときに必要とな
る制御信号のマイクロプログラムとを別々に制御記憶4
2に用意しておくとともに、オペコードとして、1サイ
クルで実行するときには例えば‘01A’を割り付け、
2サイクルで実行するときにはこれと異なる例えば‘1
1A’を割り付ける構成を採る。
On the other hand, if the microprogram is used alone without providing the register 32, the decoder 45, and the AND gate 47, which are the modification means of the microprogram, the instruction in the operation execution state of one cycle is executed by one instruction.
The control memory microprogram of the control signal required for execution in two cycles and the microprogram of the control signal required for execution in two cycles are separately stored in the control memory 4.
2 and, for example, '01A' is assigned as the operation code when it is executed in one cycle.
When executed in two cycles, for example, '1
1A 'is assigned.

【0048】そして、1サイクルの演算実行ステートの
命令を1サイクルで実行するときには、図5のに示す
ように、オペコード‘01A’に従って、制御記憶42
からそれ用のマイクロプログラムを読み出して、セレク
タ48を制御することで、Wステートで演算器46の演
算結果データをレジスタ49に書き込む。一方、1サイ
クルの演算実行ステートの命令を2サイクルで実行する
ときには、図5のに示すように、オペコード‘11
A’に従って、制御記憶42からそれ用のマイクロプロ
グラムを読み出し、続くVステートで演算器46の演算
結果データをレジスタ50に書き込み、続くWステート
で、セレクタ48を制御することで、この演算結果デー
タをレジスタ49に書き込んでいくことになる。
When an instruction in the operation execution state of one cycle is to be executed in one cycle, as shown in FIG.
After reading it for microprogram, by controlling the selector 48, write No write operation result data of the arithmetic unit 46 to the register 49 at W state. On the other hand, when an instruction in the operation execution state of one cycle is executed in two cycles, as shown in FIG.
Accordance A ', and read out it for microprogram from control store 42, writes the calculation result data of the arithmetic unit 46 to the register 50 in subsequent V state, followed by W state
In, by controlling the selector 48, so that and writes the operation result data of this to the register 49.

【0049】このように、マイクロプログラム単独で対
処しようとすると、マイクロプログラムの容量が大きく
なるという欠点がでてくるのである。図6に、図4に示
した演算実行ステート機構部分の回路構成の他の実施例
を図示する。図中、図4で説明したものと同じものにつ
いては同一の記号で示してある。また、図4と同様に、
図中のは、1サイクルの演算実行ステートの命令がパ
イプラインに投入されるときに、その命令を1サイクル
の演算実行ステートで実行する場合の処理図を表してお
り、は、1サイクルの演算実行ステートの命令がパイ
プラインに投入されるときに、その命令を2サイクルの
演算実行ステートで実行する場合の処理図を表してい
る。
As described above, if an attempt is made to deal with the microprogram alone, there is a disadvantage that the capacity of the microprogram becomes large. FIG. 6 shows another embodiment of the circuit configuration of the operation execution state mechanism shown in FIG. In the figure, the same components as those described in FIG. 4 are denoted by the same reference numerals. Also, as in FIG.
The figure shows a processing diagram in the case where an instruction in the operation execution state of one cycle is input to the pipeline and the instruction is executed in the operation execution state of one cycle. FIG. 9 shows a processing diagram in a case where an instruction in an execution state is input to a pipeline and the instruction is executed in a two-cycle operation execution state.

【0050】この実施例では、レジスタ54と、レジス
タ55と、このレジスタ54,55の保持データを選択
するセレクタ56と、レジスタ54のラッチタイミング
を制御するレジスタ57と、レジスタ55のラッチタイ
ミングを制御するレジスタ58とを備える構成を採る。
In this embodiment, the register 54, the register 55, the selector 56 for selecting the data held in the registers 54 and 55, the register 57 for controlling the latch timing of the register 54, and the latch timing for the register 55 And a register 58 for performing the operation.

【0051】そして、この実施例に従う場合には、パイ
プライン処理実行手段2は、Eステートで、1サイクル
で演算を実行する演算器46を使って、パイプラインを
流れてきた1サイクルの演算実行ステートの命令の演算
処理を実行し、続いて、演算器46の演算結果データを
レジスタ54にセットして、レジスタ43の保持する制
御信号と、デコーダ45の出力するデコード値との論理
積を算出するANDゲート47の出力値に従って、デコ
ーダ45がデコード値“0”を出力するときには、で
示すように、セレクタ56を制御することで、このレジ
スタ54の保持する演算結果データを読み出していく。
In accordance with this embodiment, the pipeline processing execution means 2 uses the operation unit 46 which executes the operation in one cycle in the E state to execute the operation of one cycle flowing through the pipeline. The arithmetic processing of the instruction of the state is executed. Subsequently, the arithmetic result data of the arithmetic unit 46 is set in the register 54, and the logical product of the control signal held in the register 43 and the decode value output from the decoder 45 is calculated. When the decoder 45 outputs the decoded value "0" according to the output value of the AND gate 47, the selector 56 controls the selector 56 to read the operation result data held in the register 54, as shown by.

【0052】一方、デコーダ45がデコード値“1”を
出力するときには、に示すように、レジスタ54への
演算結果データのセットに続いて、このレジスタ54の
保持する演算結果データをレジスタ55にセットしてか
ら、セレクタ56を制御することで、このレジスタ55
の保持する演算結果データを読み出していく。
On the other hand, when the decoder 45 outputs the decode value "1", the operation result data held in the register 54 is set in the register 55 following the setting of the operation result data in the register 54 as shown in FIG. Then, by controlling the selector 56, the register 55
Is read out.

【0053】このようにして、この実施例でも、パイプ
ラインに投入される命令の演算実行ステート数が1サイ
クルである場合にあって、この命令を1サイクルの演算
処理で実行するときにも、2サイクルの演算処理で実行
するときにも、制御記憶42に用意するマイクロプログ
ラムは共通になることから、制御記憶42のマイクロプ
ログラムの容量を小さなものにできるのである。
As described above, also in this embodiment, when the number of operation execution states of an instruction input to the pipeline is one cycle, and when this instruction is executed in one cycle of operation processing, The microprogram prepared in the control storage 42 becomes common even when the processing is executed by two cycles of arithmetic processing, so that the capacity of the microprogram in the control storage 42 can be reduced.

【0054】以上では、演算結果データについての演算
パイプライン制御について説明したが、命令の逐次処理
原則を守るためには、更に、条件コードと割込情報につ
いても同様なパイプライン制御を実行していく必要があ
る。
In the above, the operation pipeline control for the operation result data has been described. However, in order to observe the principle of sequential processing of instructions, the same pipeline control is further executed for the condition code and the interrupt information. We have to go.

【0055】[0055]

【発明の効果】以上説明したように、本発明によれば、
パイプラインに投入される命令と、その命令に先行する
命令との間の演算実行ステートのサイクル数の差分値を
検出する構成を採って、その差分サイクル数値に従っ
て、パイプラインに投入される命令の演算実行ステート
をどのように遅延させていくかを決定していく構成を採
ることから、パイプラインに投入される命令の演算実行
ステートのサイクル数を変更することで、パイプライン
処理を高速に実行していく構成を採るときにあって、こ
れを普遍的な構成で実現できるようになる。
As described above, according to the present invention,
By adopting a configuration for detecting a difference value of the number of cycles in the operation execution state between an instruction to be input to the pipeline and an instruction preceding the instruction, the number of instructions to be input to the pipeline is determined in accordance with the difference cycle value. High-speed execution of pipeline processing by changing the number of cycles of the operation execution state of the instruction to be input to the pipeline because the configuration that determines how the operation execution state is delayed is adopted. When a configuration is adopted, this can be realized with a universal configuration.

【0056】そして、本発明によれば、例えば、パイプ
ラインに投入される命令の演算実行ステート数が1サイ
クルである場合にあって、この命令を1サイクルの演算
処理で実行するときにも、2サイクルの演算処理で実行
するときにも、3サイクルの演算処理で実行するときに
も、用意するマイクロプログラムは共通にできるように
なることから、パイプラインに投入される命令の演算実
行ステートのサイクル数を変更することで、パイプライ
ン処理を高速に実行していく構成を採るときにあって、
これを小さなマイクロプログラム容量で実現できるよう
になる。
According to the present invention, for example, when the number of execution states of an instruction to be input to the pipeline is one cycle, and this instruction is executed by one cycle of arithmetic processing, The microprogram to be prepared can be commonly used when executing by two cycles of arithmetic processing and by three cycles of arithmetic processing. When adopting a configuration that executes pipeline processing at high speed by changing the number of cycles,
This can be realized with a small microprogram capacity.

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

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】パイプライン処理実行手段の回路構成図であ
る。
FIG. 2 is a circuit configuration diagram of a pipeline processing execution unit.

【図3】本発明の備える制御機構の一実施例である。FIG. 3 is an embodiment of a control mechanism provided in the present invention.

【図4】演算実行ステート機構部分の回路構成の一実施
例である。
FIG. 4 is an embodiment of a circuit configuration of an operation execution state mechanism part.

【図5】従来技術に従う場合の問題点の説明図である。FIG. 5 is an explanatory diagram of a problem in the case of following a conventional technique.

【図6】演算実行ステート機構部分の回路構成の他の実
施例である。
FIG. 6 shows another embodiment of the circuit configuration of the operation execution state mechanism.

【図7】パイプライン処理の説明図である。FIG. 7 is an explanatory diagram of pipeline processing.

【図8】パイプライン処理の遅れの説明図である。FIG. 8 is an explanatory diagram of a delay in pipeline processing.

【図9】パイプライン処理の説明図である。FIG. 9 is an explanatory diagram of pipeline processing.

【図10】パイプライン処理の遅れの説明図である。FIG. 10 is an explanatory diagram of a delay in pipeline processing.

【図11】従来技術を説明するための回路構成図であ
る。
FIG. 11 is a circuit configuration diagram for explaining a conventional technique.

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

1 情報処理装置 2 パイプライン処理実行手段 3 検出手段 4 算出手段 5 生成手段 6 制御記憶 7 演算実行手段 8 演算手段 9 レジスタ手段 REFERENCE SIGNS LIST 1 information processing device 2 pipeline processing execution means 3 detection means 4 calculation means 5 generation means 6 control storage 7 calculation execution means 8 calculation means 9 register means

───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 裕司 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 伊藤 英紀 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 山下 英男 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭63−20538(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/38──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yuji Yoshida 1015 Uedanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Inside Fujitsu Co., Ltd. 72) inventor Hideo Yamashita Kawasaki City, Kanagawa Prefecture Nakahara-ku, Kamikodanaka 1015 address Fujitsu within Co., Ltd. (56) reference Patent Sho 63-20538 (JP, a) (58 ) investigated the field (Int.Cl. 6, DB Name) G06F 9/38

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のマシンサイクルからなる演算実行
ステートを設けて、演算実行をパイプライン処理するよ
う構成される情報処理装置において、 パイプラインに投入される可能性のある命令の演算実行
ステートの最大サイクル数がKサイクルで、最小サイク
ル数がLサイクルであるときに、演算結果データを遅延
させる(K−L)個のレジスタ手段(9) と、 パイプラインに投入される命令が最短Nサイクルで演算
実行ステートを終了可能な命令で、該命令に先行する命
令がMサイクルで演算実行ステートを終了する命令であ
るときに、NサイクルがMサイクルよりも少ないか否か
を検出する検出手段(3) と、 上記検出手段(3) が少ないことを検出するときに、(M
−N)サイクルを算出する算出手段(4) と、 上記算出手段(4) の算出する差分サイクル値に応じて、
(K−L+1)通りの遅延動作を可能とするレジスタ選
択モードの内の1つを選択するコード信号を生成する生
成手段(5) と、 1つの命令に1つという態様に従って用意される上記レ
ジスタ手段(9) を制御するマイクロプログラムとを備
え、 上記マイクロプログラムと、上記生成手段(5) の生成す
るコード信号とに従って、上記レジスタ手段(9) の選択
処理を実行することで、パイプラインに投入される最短
Nサイクルで演算実行ステートを終了可能な命令を、上
記算出手段(4)の算出する差分サイクル値分遅延してい
くよう処理することを、 特徴とするパイプライン制御方式。
An information processing apparatus configured to provide an operation execution state including a plurality of machine cycles and to perform an operation execution by pipeline processing, wherein an operation execution state of an instruction which may be input to the pipeline is provided. When the maximum cycle number is K cycles and the minimum cycle number is L cycles, (KL) register means (9) for delaying the operation result data, and the instruction inputted to the pipeline has the shortest N cycles Detecting means for detecting whether or not N cycles are smaller than M cycles when the instruction preceding the instruction is an instruction capable of ending the operation execution state in M cycles. 3) and when the detection means (3) detects that the number is small, (M
And calculating means for calculating a -N) cycle (4), according to the difference cycle value calculated in the calculation means (4),
Register selection enabling (KL-1) delay operations
Generating a code signal for selecting one of the select modes
Means (5), and the above-mentioned register prepared according to one instruction per instruction.
A microprogram for controlling the register means (9).
For example, the above microprogram to generate the generation means (5)
Selection of the register means (9) according to the code signal
By executing the processing, the shortest input to the pipeline
Instructions that can end the operation execution state in N cycles
Delay by the difference cycle value calculated by the calculation means (4).
A pipeline control method characterized by processing .
【請求項2】 複数のマシンサイクルからなる演算実行
ステートを設けて、演算実行をパイプライン処理するよ
う構成される情報処理装置において、 パイプラインに投入される可能性のある命令の演算実行
ステートの最大サイクル数がKサイクルで、最小サイク
ル数がLサイクルであるときに、条件コード及び割込情
報を遅延させる(K−L)個のレジスタ手段(9) と、 パイプラインに投入される命令が最短Nサイクルで演算
実行ステートを終了可能な命令で、該命令に先行する命
令がMサイクルで演算実行ステートを終了する命令であ
るときに、NサイクルがMサイクルよりも少ないか否か
を検出する検出手段(3) と、 上記検出手段(3) が少ないことを検出するときに、(M
−N)サイクルを算出する算出手段(4) と、 上記算出手段(4) の算出する差分サイクル値に応じて、
(K−L+1)通りの遅延動作を可能とするレジスタ選
択モードの内の1つを選択するコード信号を生成する生
成手段(5) と、 1つの命令に1つという態様に従って用意される上記レ
ジスタ手段(9) を制御するマイクロプログラムとを備
え、 上記マイクロプログラムと、上記生成手段(5) の生成す
るコード信号とに従って、上記レジスタ手段(9) の選択
処理を実行することで、パイプラインに投入される最短
Nサイクルで演算実行ステートを終了可能な命令を、上
記算出手段(4)の算出する差分サイクル値分遅延してい
くよう処理することを、 特徴とするパイプライン制御方式。
2. An information processing apparatus comprising a plurality of machine cycles, each of which is provided with an operation execution state, and configured to execute an operation in a pipeline. When the maximum cycle number is K cycles and the minimum cycle number is L cycles, (KL) register means (9) for delaying the condition code and the interrupt information are provided. When the instruction that can complete the operation execution state in the shortest N cycles and the instruction preceding the instruction is an instruction that ends the operation execution state in M cycles, it is detected whether N cycles are less than M cycles. When detecting that the number of the detecting means (3) and the number of the detecting means (3) are small, (M
And calculating means for calculating a -N) cycle (4), according to the difference cycle value calculated in the calculation means (4),
Register selection enabling (KL-1) delay operations
Generating a code signal for selecting one of the select modes
Means (5), and the above-mentioned register prepared according to one instruction per instruction.
A microprogram for controlling the register means (9).
For example, the above microprogram to generate the generation means (5)
Selection of the register means (9) according to the code signal
By executing the processing, the shortest input to the pipeline
Instructions that can end the operation execution state in N cycles
Delay by the difference cycle value calculated by the calculation means (4).
A pipeline control method characterized by processing .
JP4176466A 1992-07-03 1992-07-03 Pipeline control method Expired - Fee Related JP2812610B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4176466A JP2812610B2 (en) 1992-07-03 1992-07-03 Pipeline control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4176466A JP2812610B2 (en) 1992-07-03 1992-07-03 Pipeline control method

Publications (2)

Publication Number Publication Date
JPH0619705A JPH0619705A (en) 1994-01-28
JP2812610B2 true JP2812610B2 (en) 1998-10-22

Family

ID=16014179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4176466A Expired - Fee Related JP2812610B2 (en) 1992-07-03 1992-07-03 Pipeline control method

Country Status (1)

Country Link
JP (1) JP2812610B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384875B1 (en) * 1995-12-16 2003-08-21 주식회사 하이닉스반도체 Micro sequencer processing unsafe on microprocessor having pipeline structure
SE537249C2 (en) 2013-08-08 2015-03-17 Scarab Dev Ab Membrane distillation device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810432B2 (en) * 1986-07-15 1996-01-31 日本電気株式会社 Information processing device

Also Published As

Publication number Publication date
JPH0619705A (en) 1994-01-28

Similar Documents

Publication Publication Date Title
JPS63136138A (en) Information processor
JP2620511B2 (en) Data processor
JP3237858B2 (en) Arithmetic unit
JPH03286332A (en) Digital data processor
JPH05143323A (en) Method and apparatus for executing type-1 diadic instruction
JPH08212075A (en) Information processor
JP2812610B2 (en) Pipeline control method
JPH09212360A (en) Data processor
JP2553200B2 (en) Information processing device
JP2929980B2 (en) Information processing device
JP2824484B2 (en) Pipeline processing computer
JP2558831B2 (en) Pipeline control method
JPH0277940A (en) Data processor
JPH07110769A (en) Vliw type computer
JPH0546389A (en) Parallel processor
JPH02103632A (en) Arithmetic processor
JPH0656588B2 (en) Data processing device test method
JPS5896346A (en) Hierarchical arithmetic system
JPH0218732B2 (en)
JPS58154045A (en) Information processor
JPH0553804A (en) Parallel processor
JPH02254541A (en) Control system for conditional branch instruction
JP2000305782A (en) Arithmetic unit
JPH05204638A (en) Pipeline processor
JPH04116726A (en) Information processor

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: 19980721

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

Free format text: PAYMENT UNTIL: 20080807

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090807

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees