JP2503966B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2503966B2
JP2503966B2 JP61104971A JP10497186A JP2503966B2 JP 2503966 B2 JP2503966 B2 JP 2503966B2 JP 61104971 A JP61104971 A JP 61104971A JP 10497186 A JP10497186 A JP 10497186A JP 2503966 B2 JP2503966 B2 JP 2503966B2
Authority
JP
Japan
Prior art keywords
pipeline
circuit
result
stages
arithmetic
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 - Lifetime
Application number
JP61104971A
Other languages
Japanese (ja)
Other versions
JPS62262131A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP61104971A priority Critical patent/JP2503966B2/en
Publication of JPS62262131A publication Critical patent/JPS62262131A/en
Application granted granted Critical
Publication of JP2503966B2 publication Critical patent/JP2503966B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置,特にパイプライン化した情報
処理装置に関するものである。
The present invention relates to an information processing device, and more particularly to a pipelined information processing device.

〔従来の技術〕[Conventional technology]

一般に,高性能を追求した情報処理装置に於ては,独
立した各種演算器をパイプライン化し,同種の演算につ
いては,同じ演算器に対して連続的にオペランドを送り
込んでパイプライン処理し,異なった演算については,
別の演算器に対して連続的にオペランドを送り込んで並
列に処理することが行なわれている。また,各種演算器
は,性能向上のため,それぞれ最も少ないパイプライン
段数で実現している。
Generally, in an information processing device that pursues high performance, independent various arithmetic units are pipelined, and for the same type of operation, operands are continuously sent to the same arithmetic unit to perform pipeline processing, For the calculation
Operands are continuously sent to another arithmetic unit and processed in parallel. In addition, each arithmetic unit is implemented with the smallest number of pipeline stages to improve performance.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

従来のこのような演算器は,同一演算器については,
パイプライン処理のため演算結果が入力順に順次出力さ
れるが,異なった演算器からの結果の出力は各演算器へ
のオペランドの投入タイミング,各演算器のパイプライ
ン段数の相違により,同一タイミングに競合する可能性
がある。演算結果は,一般にソフトウェア可視レジスタ
群(以下演算レジスタと呼ぶ)の中の一つに格納される
が,これは普通メモリ化されているため,同一タイミン
グに複数の結果を格納することはできない。
Such a conventional computing unit is
Due to the pipeline processing, the operation results are sequentially output in the order of input, but the output of the results from different operation units is at the same timing due to the operand input timing to each operation unit and the difference in the number of pipeline stages in each operation unit. There is a possibility of conflict. The operation result is generally stored in one of the software visible register group (hereinafter referred to as operation register), but since this is normally made into a memory, it is not possible to store multiple results at the same timing.

これを避けるため,各演算器のパイプラインの段数か
ら逆算して,結果の出力タイミングが競合する場合に
は,各演算器へのオペランドの投入タイミング,即ち命
令の実行起動を適当に遅らせている。命令の実行起動が
与えられた命令列の順にしかできない制御方式を採用し
ている装置では,1命令の実行起動を遅らせることにより
後続の命令も順次遅れることになり,性能の低下を招い
ている。
In order to avoid this, when the output timings of the results conflict with each other by calculating backward from the number of pipeline stages of each arithmetic unit, the timing of inputting the operand to each arithmetic unit, that is, the execution start of the instruction is appropriately delayed. . In a device that employs a control method in which the execution and activation of instructions can be performed only in the order of a given instruction sequence, delaying the execution and activation of one instruction also causes subsequent instructions to be delayed in sequence, resulting in performance degradation. .

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

本発明の情報処理装置は,パイプライン化した機能の
異なる演算器を複数個持ち,各演算に最低必要なパイプ
ライン段数が異なる場合,少ない段数の演算器に対して
はその後段に単に結果の転送のみを行なうパイプライン
用のレジスタを最も長い段数が必要な演算器の段数に合
わせて付加し,前記演算器および付加したパイプライン
用のレジスタの任意のレジスタからの演算結果を切替え
出力する切替回路を含んで構成される。
The information processing apparatus according to the present invention has a plurality of pipelined arithmetic units having different functions, and when the minimum number of pipeline stages required for each calculation is different, the results are simply provided in the subsequent stages for arithmetic units having a small number of stages. Switching that adds registers for pipelines that perform only transfer according to the number of arithmetic units that require the longest number of stages, and outputs the arithmetic result from any of the arithmetic units and the added pipeline registers It is configured to include a circuit.

〔実施例〕〔Example〕

次に本発明について図面を参照して説明する。第1図
は本発明の一実施例のブロック図である。乗算回路1,加
減算回路2,論理演算回路3はそれぞれ各段が1マシンサ
イクルで動作するパイプライン化された演算器であり,1
マシンサイクル毎に異なったオペランドの演算をパイプ
ライン式に処理することができる。また各演算に必要な
オペランドが入力オペランドパス101,102で与えられる
と,それぞれ7マシンサイクル,4マシンサイクル,2マシ
ンサイクル後に演算結果を出力することができる。
Next, the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an embodiment of the present invention. Each of the multiplication circuit 1, the addition / subtraction circuit 2, and the logical operation circuit 3 is a pipelined arithmetic unit in which each stage operates in one machine cycle.
The operation of different operands for each machine cycle can be processed in a pipeline manner. When the operands required for each operation are given by the input operand paths 101 and 102, the operation result can be output after 7 machine cycles, 4 machine cycles and 2 machine cycles, respectively.

加減算回路2および論理演算回路3のパイプライン段
数はそれぞれ4段,2段であり,乗算回路1のパイプライ
ン段数は7段であるから,その差分,つまり3段及び5
段分のパイプライン用レジスタ4〜6,7〜11が加減算回
路2および論理演算回路3に接続されている。
The number of pipeline stages of the adder / subtractor circuit 2 and the logical operation circuit 3 is 4 and 2, respectively, and the number of pipeline stages of the multiplier circuit 1 is 7, so the difference, that is, 3 and 5 stages.
The pipeline registers 4 to 6 and 7 to 11 for the stages are connected to the adder / subtractor circuit 2 and the logical operation circuit 3.

切替回路12は加減算回路2の出力,パイプライン用レ
ジスタ4〜6の出力のうちいずれかを選択して出力する
回路であり,切替回路13は論理演算回路3の出力,パイ
プライン用レジスタ7〜11の出力のうちいずれかを選択
して出力する回路である。また,切替回路14は乗算回路
1,切替回路12,13の出力のうちいずれかを選択して,演
算レジスタ16への書込みパス103に出力する回路であ
る。制御回路15は切替回路12,13,14の選択を制御する回
路である。
The switching circuit 12 is a circuit for selecting and outputting any one of the output of the adder / subtractor circuit 2 and the outputs of the pipeline registers 4 to 6, and the switching circuit 13 is the output of the logical operation circuit 3 and the pipeline registers 7 to 7. It is a circuit that selects and outputs any one of the 11 outputs. The switching circuit 14 is a multiplication circuit.
This is a circuit that selects one of the outputs of the switching circuits 12 and 13 and outputs it to the write path 103 to the arithmetic register 16. The control circuit 15 is a circuit that controls selection of the switching circuits 12, 13, and 14.

第2図は高速化の一例を説明するための命令列を示す
図である。の命令は演算レジスタR1の内容と,演算レ
ジスタR2の内容を乗算し,結果を演算レジスタR3に格納
することを意味する。〜についても同様である。
FIG. 2 is a diagram showing an instruction sequence for explaining an example of speeding up. Means that the contents of the arithmetic register R1 and the contents of the arithmetic register R2 are multiplied and the result is stored in the arithmetic register R3. The same applies to.

第3図は従来の装置,即ち第1図に於けるパイプライ
ン用レジスタ4〜11,切替回路12,13が無い場合の命令実
行のタイムチャートである。
FIG. 3 is a time chart of instruction execution when the conventional apparatus, that is, the pipeline registers 4 to 11 and the switching circuits 12 and 13 in FIG. 1 are not provided.

命令の実行起動がマシンサイクル毎に1命令で,与え
られた命令列順にのみ行なえる場合,〜の命令につ
いては1マシンサイクルずれで,乗算回路1,加減算回路
2,加減算回路2に演算を指示し,それぞれ7サイクル
目,4サイクル目,4サイクル目に演算結果が求まるので,
演算レジスタ16への書込みパス103には,,の命
令順に結果が得られる。結果の命令順が変わっても,こ
の場合何ら問題はない。ところが,の命令について
は,タイミング4から実行開始させたとすると(第3図
の点線),加減算であるため,4マシンサイクル後のタイ
ミング7で結果が求まり,の命令の結果が求まるタイ
ミングと一致し、不具合が生じる。従っての命令の実
行開始を1マシンサイクル遅らせ,タイミング5から実
行させることによってこれを避けるようにする(第3図
の実線)。の命令についても同様である。こうして6
命令を実行させると,全体で15マシンサイクルを必要と
する。
If one instruction can be executed per machine cycle and can be executed only in the order of the given instruction sequence, the multiplication circuit 1 and the addition / subtraction circuit are shifted by 1 machine cycle for the instructions from to.
2. Instruct the adder / subtractor circuit 2 to perform the operation, and the operation results are obtained at the 7th, 4th and 4th cycles, respectively.
In the write path 103 to the arithmetic register 16, the result is obtained in the order of the instructions. Even if the order of the resulting instructions changes, there is no problem in this case. However, if the execution of instruction is started from timing 4 (dotted line in FIG. 3), since it is addition and subtraction, the result is obtained at timing 7 four machine cycles later, and it coincides with the timing when the result of instruction is obtained. , A problem occurs. Therefore, this is avoided by delaying the start of execution of the instruction by one machine cycle and executing it from timing 5 (solid line in FIG. 3). The same applies to the instruction of. Thus 6
Executing the instruction requires a total of 15 machine cycles.

第4図は本発明の第1図に示す実施例の装置のタイム
チャートである。〜の命令については前記と同じで
ある。の命令については,前記の従来の場合とは異な
り,演算結果の競合を気にせず,タイミング4から実行
開始させる。タイミング7でとの命令の結果が競合
するが,タイミング7では切替回路14で乗算回路1の結
果を選択し,タイミング8では加減算回路2の結果を1
マシンサイクル遅らせたパイプラインレジスタ4の出力
を切替回路12,14で選択することによって,結果の格納
の競合をなくすことができる。の命令についても同様
で,タイミング5で実行開始させると,タイミング6で
結果が求まるが,これはの命令の結果と競合し,1マシ
ンサイクル遅らせたタイミング7ではの命令の結果と
競合し,さらに1マシンサイクル遅らせたタイミング8
では,の命令の結果と競合するので,さらに1マシン
サイクル遅らせたタイミング9で、パイプラインレジス
タ9の出力を切替回路13,14で選択することによって,
競合をなくし結果の格納を行なうことができる。結果的
には,6命令の実行に12マシンサイクルで済み,高速化さ
れる。
FIG. 4 is a time chart of the apparatus of the embodiment shown in FIG. 1 of the present invention. The commands from to are the same as above. Unlike the above-mentioned conventional case, the instruction is executed at timing 4 without worrying about the competition of the operation results. Although the result of the instruction at timing 7 competes with that at timing 7, the result of the multiplication circuit 1 is selected by the switching circuit 14 at timing 7, and the result of the addition / subtraction circuit 2 is set to 1 at timing 8.
By selecting the output of the pipeline register 4 delayed by the machine cycle by the switching circuits 12 and 14, it is possible to eliminate contention of the result storage. The same applies to the instruction of, when the execution is started at the timing 5, the result is obtained at the timing 6, but this conflicts with the result of the instruction of, and at the timing 7 delayed by one machine cycle, the result of the instruction competes. Timing 8 delayed by one machine cycle
Then, since it conflicts with the result of the instruction of, by selecting the output of the pipeline register 9 by the switching circuits 13 and 14 at the timing 9 further delayed by one machine cycle,
Results can be stored without conflicts. As a result, it takes 12 machine cycles to execute 6 instructions, which is faster.

尚,パイプラインの長さを最長のものに合わせている
のは,パイプラインの長さがすべて同じであれば,1マシ
ンサイクル毎の入力に対し,必ず出力の競合なしに1マ
シンサイクル毎に出力を得ることができるためであり,
単に転送のためのパイプライン用レジスタの任意の出力
から結果を取り出す構成にしているのは,競合さえなけ
ればできるだけ早く演算レジスタを更新し,この結果を
オペランドとして使用する命令が後続の命令の中にあれ
ば早く実行に移らせるためである。
It should be noted that the length of the pipeline is adjusted to the longest one, if the lengths of the pipelines are all the same, for every input of one machine cycle, there is no conflict of output for every one machine cycle. Because you can get the output,
The structure that simply fetches the result from the arbitrary output of the pipeline register for transfer is to update the operation register as soon as possible without conflict, and the instruction that uses this result as an operand This is because if it is in, it can be put into practice soon.

〔発明の効果〕〔The invention's effect〕

以上説明したように,本発明はパイプライン化した機
能の異なる演算器を複数持つ情報処理装置に於て,パイ
プライン段数の短い演算器には単に結果の転送のみを行
なうパイプライン用のレジスタを必要な段数だけ付加
し,任意のパイプライン用のレジスタから結果を出力で
きるようにし,演算結果の出力タイミングの競合を避け
るようにすることによって,少ない金物量で、性能を向
上させる効果がある。
As described above, according to the present invention, in an information processing apparatus having a plurality of pipelined arithmetic units having different functions, the arithmetic unit having a short pipeline stage is provided with a pipeline register for simply transferring a result. By adding the required number of stages so that the result can be output from a register for any pipeline and avoiding contention of the output timing of the operation result, it is possible to improve the performance with a small amount of metal.

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

第1図は本発明の一実施例を示すブロック図,第2図は
本発明の効果を説明するための命令列の一例を示す図,
第3図は第2図の命令列を従来の装置で実行した場合の
タイムチャート,第4図は第2図の命令列を第1図の装
置で実行した場合のタイムチャートである。 1……乗算回路,2……加減算回路,3……論理演算回路,4
〜11……転送用パイプラインレジスタ,12〜14……切替
回路,15……制御回路,16……演算レジスタ,101,102……
オペランド供給パス,103……結果格納パス。
FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a diagram showing an example of an instruction sequence for explaining the effect of the present invention.
FIG. 3 is a time chart when the instruction sequence of FIG. 2 is executed by the conventional apparatus, and FIG. 4 is a time chart when the instruction sequence of FIG. 2 is executed by the apparatus of FIG. 1 ... Multiplication circuit, 2 ... Addition / subtraction circuit, 3 ... Logical operation circuit, 4
〜11 …… Transfer pipeline register, 12〜14 …… Switching circuit, 15 …… Control circuit, 16 …… Operation register, 101,102 ……
Operand supply path, 103 ... Result storage path.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】パイプライン化した機能の異なる演算器を
複数個持ち,各演算に最低必要なパイプライン段数が異
なる場合,少ない段数の演算器に対してはその後段に単
に結果の転送のみを行なうパイプライン用のレジスタを
最も長い段数が必要な演算器の段数に合わせて付加し,
前記演算器および付加したパイプライン用のレジスタの
任意のレジスタからの演算結果を切替え出力する切替回
路を有することを特徴とする情報処理装置。
1. When a plurality of pipelined arithmetic units having different functions are provided and the minimum number of pipeline stages required for each arithmetic is different, only the result transfer is performed to the subsequent stage for the arithmetic units having a small number of stages. Registers for pipeline to be performed are added according to the number of stages of the arithmetic unit that requires the longest number of stages,
An information processing apparatus having a switching circuit for switching and outputting a calculation result from an arbitrary register of the arithmetic unit and the added pipeline register.
JP61104971A 1986-05-09 1986-05-09 Information processing device Expired - Lifetime JP2503966B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61104971A JP2503966B2 (en) 1986-05-09 1986-05-09 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61104971A JP2503966B2 (en) 1986-05-09 1986-05-09 Information processing device

Publications (2)

Publication Number Publication Date
JPS62262131A JPS62262131A (en) 1987-11-14
JP2503966B2 true JP2503966B2 (en) 1996-06-05

Family

ID=14394985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61104971A Expired - Lifetime JP2503966B2 (en) 1986-05-09 1986-05-09 Information processing device

Country Status (1)

Country Link
JP (1) JP2503966B2 (en)

Also Published As

Publication number Publication date
JPS62262131A (en) 1987-11-14

Similar Documents

Publication Publication Date Title
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
JP2007519052A (en) Instruction-controlled data processor
JP3035828B2 (en) Information processing device
JP2503966B2 (en) Information processing device
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
JP2503984B2 (en) Information processing device
JP2584156B2 (en) Program-controlled processor
JPH0810432B2 (en) Information processing device
JP2503983B2 (en) Information processing device
JPH04116726A (en) Information processor
JP3560482B2 (en) Command control device
JP2929980B2 (en) Information processing device
US20230071941A1 (en) Parallel processing device
JP2925842B2 (en) Pipeline processing equipment
JPH0810431B2 (en) Information processing device
JP2869376B2 (en) Pipeline data processing method for executing multiple data processing with data dependency
JP2636192B2 (en) Information processing device
JP2888710B2 (en) Vector instruction execution control method and instruction control processing device
JPS6057436A (en) Arithmetic processor
JP2982129B2 (en) Micro program controller
JPS63172367A (en) Vector data processor
JP2001034603A (en) Product-sum operation processor
JPH0222417B2 (en)
JPH02217924A (en) Storing processing system for data processor
JPH06149864A (en) Vector processor