JPH01231126A - Information processor - Google Patents

Information processor

Info

Publication number
JPH01231126A
JPH01231126A JP5638588A JP5638588A JPH01231126A JP H01231126 A JPH01231126 A JP H01231126A JP 5638588 A JP5638588 A JP 5638588A JP 5638588 A JP5638588 A JP 5638588A JP H01231126 A JPH01231126 A JP H01231126A
Authority
JP
Japan
Prior art keywords
instruction
register
stage
read
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5638588A
Other languages
Japanese (ja)
Inventor
Yoshitaka Narita
成田 良孝
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5638588A priority Critical patent/JPH01231126A/en
Publication of JPH01231126A publication Critical patent/JPH01231126A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To decrease the waiting time by using the write data concerned instead of read-out data of the instruction concerned, when a write address of a preceding instruction and a read-out address of the instruction concerned coincide, at the time of executing a pipeline processing. CONSTITUTION:In an I stage, an instruction reading-out circuit 2 reads out an instruction to an instruction register 6 of an arithmetic circuit 1 from a cache memory 4 or a main storage device 5. In an R stage, by a rise of a clock passing through an AND gate AND, each instruction OP, D, S0 and S1 is set to the instruction register 6, and by register read-out addresses S0, S1, the contents of a register file 12 are read out to buses L0, L1. Simultaneously, addresses S0, S1 are set to a register interference detecting circuit 8, an instruction code OP is set to an instruction decoder 7, and a result of decoding by the instruction decoder 7 is set to the register interference detecting circuit 8. If an interference is generated, read-out of the instruction register is stopped, and unless the interference exists, if the preceding write address and the read-out address concerned coincide, write data is used as read-out data.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は情報処理装置に関し、特にパイプライン制御に
おけるレジスタ干渉制御回路に関するものである。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an information processing device, and particularly to a register interference control circuit in pipeline control.

(従来の技術) 従来、複数の命令を同時に並行処理するパイプライン制
御の情報処理装置においては、特開昭58−15404
5号公報に記載されているように、レジスタファイルを
読出して各処理をする命令、例えば加算命令(以後、A
命令と称す)、即値加算命令(以後、AI命令と称す)
、比較命令(以後、C命令と称す)のような演算命令を
実行する際に、該各命令において、読出しを指定したレ
ジスタファイルの内容が、先行する命令、例えばロード
命令(以後、L命令と称す)のような、レジスタファイ
ルにデータを格納する命令の実行によってレジスタファ
イルの内容が変更される場合、即ち、レジスタ干渉が起
きる場合には、先行のし命令がレジスタファイルを変更
した後に当該演算命令が実行される。
(Prior Art) Conventionally, in a pipeline-controlled information processing device that processes a plurality of instructions in parallel,
As described in Publication No. 5, an instruction to read a register file and perform various processing, such as an addition instruction (hereinafter referred to as A
instruction), immediate value addition instruction (hereinafter referred to as AI instruction)
When executing arithmetic instructions such as , comparison instructions (hereinafter referred to as C instructions), the contents of the register file specified for reading in each instruction are changed from the preceding instruction, such as a load instruction (hereinafter referred to as an L instruction). When the contents of the register file are changed by executing an instruction that stores data in the register file, such as when the preceding instruction changes the register file, the corresponding operation is executed after the preceding instruction changes the register file. The command is executed.

第2図は本発明に係わる演算命令の例を示す図、第3図
は第2図に示す命令をレジスタ干渉なしに実行している
タイムチャート、第4図はレジスタ干渉により先行命令
の終了を待機する場合のタイムチャートである。
Fig. 2 is a diagram showing an example of an arithmetic instruction according to the present invention, Fig. 3 is a time chart in which the instruction shown in Fig. 2 is executed without register interference, and Fig. 4 is a diagram showing the completion of the preceding instruction due to register interference. It is a time chart when waiting.

第2図において、OPは命令コード、Dはレジスタファ
イルの書込みアドレス、SO,Slはレジスタファイル
の読出しアドレス、■は即値データである。第2図に示
す各命令は、所定のマシンサイクルに従ってI、R,E
、P、Wの5つのステージにより第3図のようにバイブ
ライン制御され、!ステージでは命令読出しを、Rステ
ージでは、レジスタファイルの読出し及び命令解読と、
AI命令或はL命令による即値データ生成を、Eステー
ジでは、A命令或はAI命令による加算と、L命令によ
るアドレス計算と、C命令による比較等の演算を、Pス
テージではL命令によるデータアクセスを、Wステージ
では、A命令及びAI命令と、L命令によるレジスタ書
込みを実行する。
In FIG. 2, OP is an instruction code, D is a register file write address, SO and SL are register file read addresses, and ■ is immediate data. Each instruction shown in FIG. 2 is an I, R, E
Vibration line control is performed as shown in Fig. 3 using five stages: , P, and W. The stage reads instructions, and the R stage reads register files and decodes instructions.
Immediate data generation by AI or L instructions, addition by A or AI instructions, address calculation by L instructions, and comparison by C instructions in the E stage, data access by L instructions in the P stage In the W stage, register writing is executed using the A instruction, the AI instruction, and the L instruction.

第4図では、命令1がL命令で、命令2が例えばA命令
だとすれば、L命令によってEステージでアドレス計算
しPステージでキャッシュ、主記憶装置等から読出した
データを格納する動作と、A命令によってRステージで
レジスタ読出しをしてEステージで加算しようとする動
作とでレジスタ干渉してXで示す待ち状態が生ずる。
In FIG. 4, if instruction 1 is an L instruction and instruction 2 is, for example, an A instruction, the L instruction calculates an address in the E stage and stores the data read from the cache, main memory, etc. in the P stage. , A wait state indicated by X occurs due to register interference between register reading in the R stage and addition in the E stage by the A instruction.

このようなレジスタ干渉はレジスタファイルの読出しア
ドレスと先行命令の書込みアドレスを示すビットを命令
中から抽出し、この2つのアドレスが一致するかどうか
を判定するための比較回路によって、その一致を判定し
た場合に検出される。
This type of register interference is achieved by extracting bits from the instruction that indicate the read address of the register file and the write address of the preceding instruction, and using a comparison circuit to determine if these two addresses match. detected if

(発明が解決しようとする課題) しかしながら上記のようなレジスタ干渉を検出する方法
では、先行命令がレジスタファイルに書込まない命令で
あっても、或は実行する命令がレジスタファイルを読出
さない命令であっても命令中からアドレスを示すビット
を抽出し、比較器によりレジスタ干渉が検出されてしま
うことになる。
(Problem to be Solved by the Invention) However, in the method of detecting register interference as described above, even if the preceding instruction is an instruction that does not write to the register file, or the instruction to be executed does not read the register file, Even if the bits indicating the address are extracted from the instruction, the register interference will be detected by the comparator.

このように本来レジスタ干渉が生じていない場合でもレ
ジスタ干渉が検出されてしまうことから先行命令終了ま
での不必要な待ち時間が生じて、処理能力が低下すると
いう問題点があった。
As described above, register interference is detected even when no register interference should occur, resulting in an unnecessary waiting time until the preceding instruction is completed, resulting in a reduction in processing performance.

本発明は上記問題点に鑑み、レジスタ干渉が生じていな
いときは待ち時間が生じないようにした情報処理装置を
提供することを目的とする。
SUMMARY OF THE INVENTION In view of the above-mentioned problems, it is an object of the present invention to provide an information processing device in which no waiting time occurs when register interference is not occurring.

(課題を解決するための手段) 本発明は前記問題点を解決するために、命令レジスタか
らの命令信号を読出すステージと、該命令信号に基づい
てレジスタファイルから演算用のデータを読出すステー
ジと、該演算用データを用いて演算器により演算するス
テージと、その演算結果をレジスタファイルに書込むス
テージとを有してパイプライン制御する情報処理装置に
おいて、先行命令によるレジスタファイルへの書込みア
ドレスを各ステージ、毎に保持するアドレス保持手段と
、当該命令によるレジスタファイルの読出しアドレスと
前記アドレス保持手段に保持された各ステージの書込み
アドレスとをそれぞれ比較して相互の一致信号或いは不
一致信号を出力する比較手段と、前記アドレス保持手段
が各保持対象とした先行命令の各ステージと現行命令の
ステージとにより該各ステージ毎にレジスタ干渉が生ず
るか否かを設定しているレジスタ干渉設定手段と、前記
レジスタ干渉が生ずるステージにおいて前記命令レジス
タの読出しを停止させる命令停止手段と、前記レジスタ
干渉が生じないステージにおいて前記比較手段が一致信
号を出力したとき先行命令による当該ステージのデータ
を現行命令によるレジスタファイルの読出しデータに代
えて前記演算器に与えるゲート手段とを備えた。
(Means for Solving the Problems) In order to solve the above-mentioned problems, the present invention provides a stage for reading an instruction signal from an instruction register, and a stage for reading data for operation from a register file based on the instruction signal. In an information processing device that performs pipeline control and has a stage for performing an operation using the operation data by an arithmetic unit and a stage for writing the operation result to a register file, an address for writing to the register file by a preceding instruction is provided. address holding means that holds the address for each stage, and compares the read address of the register file by the instruction with the write address of each stage held in the address holding means and outputs a mutual match signal or mismatch signal. register interference setting means for setting whether register interference occurs for each stage between each stage of the preceding instruction held by the address holding means and the stage of the current instruction; an instruction stopping means for stopping reading of the instruction register at a stage where the register interference occurs; and when the comparing means outputs a match signal at a stage at which the register interference does not occur, the data of the stage according to the preceding instruction is transferred to the register according to the current instruction. and gate means for supplying the data to the arithmetic unit in place of the read data of the file.

(作 用) 本発明によれば、先行命令による各ステージの書込みア
ドレスと当該命令によるステージとにより、レジスタ干
渉が生じているならば、命令レジスタの読出しが停止さ
れ、レジスタ干渉が生じていないならば、そのときの先
行命令の書込みアドレスと当該命令の読出しアドレスが
一致していると、現行命令によるレジスタファイルの読
出しデータに代えて、先行命令による当該ステージのデ
ータを演算器に与えて、継続して各ステージが実行され
る。
(Function) According to the present invention, if register interference occurs between the write address of each stage by the preceding instruction and the stage by the instruction, reading of the instruction register is stopped, and if register interference does not occur, reading of the instruction register is stopped. For example, if the write address of the preceding instruction and the read address of that instruction match, then instead of the data read from the register file by the current instruction, the data of that stage by the preceding instruction is given to the arithmetic unit, and the process continues. each stage is executed.

(実施例) 第5図は本発明の一実施例として情報処理装置の要部構
成を示すブロック図であり、1は演算回路、2は命令読
出し回路、3はデータアクセス回路、4はキャッシュメ
モリ、5は主記憶装置である。
(Embodiment) FIG. 5 is a block diagram showing the main part configuration of an information processing device as an embodiment of the present invention, in which 1 is an arithmetic circuit, 2 is an instruction reading circuit, 3 is a data access circuit, and 4 is a cache memory. , 5 is the main storage device.

第1図は第5図の演算回路1の構成を示すブロック図、
第6図は第1図のレジスタ干渉検出回路8の構成を示す
ブロック図である。
FIG. 1 is a block diagram showing the configuration of the arithmetic circuit 1 shown in FIG.
FIG. 6 is a block diagram showing the configuration of the register interference detection circuit 8 of FIG. 1.

第1図において、6は第1図に示す演算命令を格納する
命令レジスタ、ANDは命令停止手段としてのアンドゲ
ート、7はその命令コードOPを解読する命令解読器、
8は先行命令の各ステージと当該命令のステージとによ
るレジスタ干渉を検出するレジスタ干渉検出回路、9,
10.11はそれぞれ先行命令の各ステージE、P、W
による書込みアドレスDを格納するアドレス保持手段と
してのレジスタ、12はレジスタファイル、13はレジ
スタファイル12の読出しデータ(SO)等を格納する
レジスタ、14はレジスタファイル12の読出しデータ
(Sl)や命令レジスタ6の即値データI等を格納する
レジスタ、15はこれら各データ(So )、(Sl 
)、Iに対する四則演算等を行なう演算器、16はeL
算器15の出力データを格納するレジスタ、17はレジ
スタ16のデータ或はデータアクセス回路3による読出
しデータとを切換える切換回路、18は切換回路17を
介するデータを格納するレジスタ、01〜GBは、レジ
スタ18、切換回路17、演算器15等のデータをバス
LO或はLlに迂回させるゲート手段としての各ゲート
である。
In FIG. 1, 6 is an instruction register that stores the arithmetic instruction shown in FIG. 1, AND is an AND gate as an instruction stopping means, and 7 is an instruction decoder that decodes the instruction code OP.
8 is a register interference detection circuit for detecting register interference between each stage of the preceding instruction and the stage of the instruction; 9;
10.11 are each stage E, P, W of the preceding instruction, respectively.
12 is a register file, 13 is a register that stores read data (SO) of the register file 12, etc., and 14 is a register that stores read data (Sl) of the register file 12 and an instruction register. 6 is a register for storing immediate value data I, etc.; 15 is a register for storing each of these data (So), (Sl
), a computing unit that performs four arithmetic operations on I, 16 is eL
A register that stores the output data of the calculator 15, 17 a switching circuit that switches between the data in the register 16 and read data by the data access circuit 3, 18 a register that stores the data via the switching circuit 17, and 01 to GB, Each gate serves as gate means for bypassing data from the register 18, switching circuit 17, arithmetic unit 15, etc. to bus LO or Ll.

第6図において、19〜24は、当該命令による各読出
しアドレスSO或はSlと、各レジスタ9.10.11
の各信号線De、Dp、DwのデータDとをそれぞれ比
較する比較器(比較手段)、25.26.27はレジス
タ9,10.11と同期して命令解読器7が解読した後
記する信号d1゜d2を格納するフラグレジスタ、M1
〜M6は各命令種別について各ステージ毎にレジスタ干
渉が生ずるか否かを設定しているレジスタ干渉設定手段
としての論理回路、Meは第1図のアンドゲートに対す
る作動信号geを生成する論理回路である。
In FIG. 6, 19 to 24 are each read address SO or SL according to the instruction, and each register 9, 10, 11.
25, 26, and 27 are signals decoded by the instruction decoder 7, which will be described later, in synchronization with the registers 9, 10, and 11. Flag register that stores d1゜d2, M1
~M6 is a logic circuit as a register interference setting means that sets whether or not register interference occurs at each stage for each instruction type, and Me is a logic circuit that generates an activation signal ge for the AND gate in FIG. be.

次に第2図のA命令を例に、第5図、第1図による情報
処理装置の動作を説明する。
Next, the operation of the information processing apparatus shown in FIGS. 5 and 1 will be explained using the A instruction shown in FIG. 2 as an example.

第3図を参照し、■ステージでは、命令読出し回路2が
キャッシュメモリ4或は主記憶装置5から演算回路1の
命令レジスタ6に命令を読出す。
Referring to FIG. 3, in stage (2), the instruction reading circuit 2 reads an instruction from the cache memory 4 or the main storage device 5 to the instruction register 6 of the arithmetic circuit 1.

Rステージでは、アンドゲートANDを介するクロック
CLOCKの立上りで、命令レジスタ6に各命令OP、
D、So、Stをセットし、レジスタ読出しアドレスS
O,SLにより、レジスタファイル12の内容(So 
) 、  (SL )をバスLO。
In the R stage, at the rising edge of the clock CLOCK via the AND gate AND, each instruction OP,
Set D, So, St, register read address S
The contents of the register file 12 (So
), (SL) to bus LO.

Llに読出す。同時にレジスタ干渉検出回路8ヘアドレ
スSO,Stをセットし、命令コードOPを命令解読器
7にセットし、命令解読器7による解読結果をレジスタ
干渉検出回路8ヘセツトする。
Read to Ll. At the same time, addresses SO and St are set in the register interference detection circuit 8, the instruction code OP is set in the instruction decoder 7, and the result of decoding by the instruction decoder 7 is set in the register interference detection circuit 8.

Eステージでは、バスLO,Llに読出されたレジスタ
ファイルの内容(SO) 、  (SL )をレジスタ
13.14ヘセツトし、演算器15で加算(SO) +
 (SL ’)を実行する。そしてレジスタ9は書込み
アドレスDをセットする。Pステージでは、演算器15
の出力(SO) + (SL )をレジスタ16ヘセツ
トし、切換回路17を介してレジスタ18へ演算結果(
So ) + (SL )をセットする。レジスタ10
はレジスタ9の内容(書込みアドレスD)をセットする
。Wステージでは、レジスタ10の内容(書込みアドレ
スD)をセットしてレジスタファイル12への書込みア
ドレスDとして出力し、演算結果(sO) + (SL
 )をレジスタ18からレジスタファイル12へ書込む
。
At the E stage, the contents (SO) and (SL) of the register file read to buses LO and Ll are set in registers 13 and 14, and the arithmetic unit 15 adds them (SO) +
Execute (SL'). Then, register 9 sets write address D. In the P stage, the arithmetic unit 15
The output (SO) + (SL) of is set in the register 16, and the calculation result (
Set So ) + (SL). register 10
sets the contents of register 9 (write address D). In the W stage, the contents of the register 10 (write address D) are set and output as the write address D to the register file 12, and the operation result (sO) + (SL
) is written from the register 18 to the register file 12.

次に、C命令では、■ステージとRステージではA命令
と同じ動作であるが、Eステージでは演算器15で比較
演算(S・0)−(Sl)を実行した後、Pステージと
Wステージでは何も動作せず、レジスタファイル12へ
の書込みは実行しない。
Next, in the C instruction, the operation is the same as the A instruction in the ■ stage and the R stage, but in the E stage, after the comparison operation (S 0) - (Sl) is executed in the arithmetic unit 15, the P stage and W stage In this case, nothing happens and writing to the register file 12 is not executed.

次に、AI命令では、Rステージにおいて命令レジスタ
6の即値アドレス■をバスLlにセットする。他はA命
令と同様な加算動作(So)+1である。
Next, in the AI instruction, the immediate address ■ of the instruction register 6 is set to the bus Ll in the R stage. The rest is an addition operation (So)+1 similar to the A instruction.

次にL命令では、EステージまではAI命令と同じ動作
(So)+Iであり、Pステージでは演算器15の出力
(So)+1をアドレスとしてレジスタ16、データア
クセス回路3を介してキャッシュメモリ4又は主記憶装
置5をアクセスし、その読出しデータ((So)+I)
を、切換回路17を介してレジスタ18ヘセツトする。
Next, in the L instruction, the operation (So) + I is the same as the AI instruction up to the E stage, and in the P stage, the output (So) + 1 of the arithmetic unit 15 is used as the address, and the address is passed through the register 16 and the data access circuit 3 to the cache memory 4. Or access the main storage device 5 and read the data ((So)+I)
is set in the register 18 via the switching circuit 17.

WステージではA命令と同様にレジスタ11の書込みア
ドレスDとレジスタ18の読出しデータ((SO>+1
)をレジスタファイル12へ書込む。
At the W stage, the write address D of register 11 and the read data of register 18 ((SO>+1
) is written to the register file 12.

次に第6図に示すレジスタ干渉検出回路8について説明
する。
Next, the register interference detection circuit 8 shown in FIG. 6 will be explained.

命令解読器7の信号dlは、後記するレジスタ干渉検出
時に先行命令の終了を待ってレジスタ読出しを行なう2
時、即ちL命令で“1”になり、A命令、AI命令、C
命令で“0”となる。信号d2は、レジスタ書込みアド
レスDが有効である時、即ち人命台、AI命令、L命令
で“1°になり、C命令で“0”となる。信号d3は、
レジスタ読出しアドレスSOが有効な時、即ちA、AI
。
The signal dl of the instruction decoder 7 is used to read the register after waiting for the completion of the preceding instruction when register interference is detected, which will be described later.
In other words, it becomes “1” with the L command, A command, AI command, C
Set to “0” by command. The signal d2 becomes "1°" when the register write address D is valid, that is, for the life support, AI command, and L command, and becomes "0" for the C command.The signal d3 is
When the register read address SO is valid, that is, A, AI
.

L、C命令で“1°となる。信号d4は、レジスタ読出
しアドレスStが有効な時、即ちA命令、C命令で1m
になり、L命令、AI命令で“0゛となる。信号線ro
、rlにはそれぞれ命令中のレジスタ読出しアドレスS
Oと、レジスタ読出しアドレスS1或は即値アドレスI
を、そして信号線De、Dp、DvにはそれぞれE、P
、Wステージを実行中の命令のレジスタ書込みアドレス
D(以後、適宜にこれらを書込みアドレスDe。
When the register read address St is valid, that is, when the register read address St is valid, that is, when the A and C instructions are used, the signal d4 is 1°.
becomes "0" with L command and AI command.Signal line ro
, rl respectively contain the register read address S in the instruction.
O and register read address S1 or immediate address I
and signal lines De, Dp, and Dv have E and P, respectively.
, the register write address D of the instruction executing the W stage (hereinafter, these will be designated as the write address De as appropriate).

Dp、Dvと称す)を各レジスタ9.10.11から受
ける。比較器19.20,21,22゜23.24は各
ステージE、P、Wにおいて、これらの読出しアドレス
SO,Stと書込みアドレスDe、Dp、Dvとを比較
し、一致した時“1mを出力する。フラグレジスタ25
,26.27は書込みアドレスD(3,Dp、Dvと同
期して信号di、d2を順次セットする。
Dp, Dv) are received from each register 9.10.11. Comparators 19.20, 21, 22°23.24 compare these read addresses SO, St with write addresses De, Dp, Dv in each stage E, P, W, and output "1m" when they match. Flag register 25
, 26 and 27 sequentially set the signals di and d2 in synchronization with the write address D(3, Dp, Dv).

ここで比較器19に着目し、読出しアドレスSOと、書
込みアドレスDeが一致し、信号d3が1”、信号d2
eが“1”の時に信号dleが“0”であれば論理回路
Mlを介して信号g5を“1″としてレジスタ干渉なし
を検出し、信号dieが111であれば、論理回路Me
を介して信号geをmO”とすることにより、レジスタ
干渉を検出する。言い換えれば、例えば命令2によるレ
ジスタ読出しアドレスSOが有効(d3が′1つであり
、命令1がL命令(d leが“1”)であって、書込
みアドレスDeが有効(d 2eが“1”)であり、該
各読出しアドレスSOと書込みアドレスDeとが一致し
た時に、レジスタ干渉が検出される。
Now, paying attention to the comparator 19, the read address SO and the write address De match, the signal d3 is 1'', and the signal d2 is
If the signal dle is "0" when e is "1", the signal g5 is set to "1" via the logic circuit Ml to detect the absence of register interference, and if the signal die is 111, the logic circuit Me
Register interference is detected by setting the signal ge to mO'' through register interference is detected when the write address De is valid (d2e is "1") and each read address SO and write address De match.

信号geが“0°になると、第4図を参照し、命令1の
E、Pステージにより、アクセスデータ((So)+1
)がアクセス回路3、切換回路17を介してレジスタ1
8にセットされるまで、ゲートANDにより命令レジス
タ6へのセットを中止し、第4図におけるX状態のよう
に命令2で、例えばA命令によるレジスタ6の読出しを
待たせる。
When the signal ge becomes “0°,” referring to FIG. 4, the access data ((So)+1
) is connected to register 1 via access circuit 3 and switching circuit 17.
Until it is set to 8, the setting to the instruction register 6 is stopped by the gate AND, and reading of the register 6 by, for example, the A instruction is made to wait in the instruction 2 as in the X state in FIG.

次に、命令1がA或はAI命令(d leが“0“)で
あって、比較器19が“1”で、信号g5が“1”の場
合を第3図、第4図を参照して説明する。
Next, see FIGS. 3 and 4 for the case where instruction 1 is A or AI instruction (d le is "0"), comparator 19 is "1", and signal g5 is "1". and explain.

例えば命令1がA命令、命令2がAI命令で命令1の書
込みアドレスDと命令2の読出しアドレスSOがレジス
タファイル12の同じアドレスを指定した場合、先に述
べた様に、命令1のEステージ(マシンサイクル−3)
においては演算器15で加算を実行しており、この結果
がレジスタファイル12に書込まれるのは命令1のWス
テージ(マシンサイクル−5)である。命令2がこの書
込み内容をレジスタファイル12から読出して演算を実
行するとすれば、命令2のRステージをマシンサイクル
5以降まで待たせてレジスタファイルを読出し、その後
、演算を実行しなければならないため、第4図の様にX
状態を生じ、命令の実行が遅れてしまうが、第1図で信
号g5が“1″の場合にはゲートG5が開き、命令1の
Eステージで演算器15の演算結果がレジスタG5を介
してレジスタ13にセットされる。レジスタ13にセッ
トされた内容は、マシンサイクル5でレジスタファイル
12に書込むものと同一であり、命令2のRステージで
は、SOで指定したレジスタファイル12の内容を読出
すことなく、命令2のEステージで、レジスタ13とレ
ジスタ14(命令2によるAI命令のIで指定した値)
の内容によって演算器15で演算され(マシンサイクル
4)、その結果がマシンサイクル6でレジスタファイル
12に書込まれる。よって、第3図の様にX状態なしに
命令実行が可能となる。
For example, if instruction 1 is an A instruction and instruction 2 is an AI instruction, and the write address D of instruction 1 and the read address SO of instruction 2 specify the same address in the register file 12, as mentioned earlier, the E stage of instruction 1 (Machine cycle-3)
, the arithmetic unit 15 executes addition, and the result is written to the register file 12 at the W stage (machine cycle -5) of instruction 1. If instruction 2 were to read the written contents from the register file 12 and execute the operation, the R stage of instruction 2 would have to wait until after machine cycle 5 to read the register file and then execute the operation. X as shown in Figure 4
However, if the signal g5 is "1" in FIG. 1, the gate G5 is opened, and the result of the operation of the arithmetic unit 15 is transferred through the register G5 at the E stage of the instruction 1. Set in register 13. The contents set in register 13 are the same as those written to register file 12 in machine cycle 5, and in the R stage of instruction 2, the contents of instruction 2 are written without reading the contents of register file 12 specified by SO. At E stage, register 13 and register 14 (value specified by I of AI instruction by instruction 2)
is calculated by the arithmetic unit 15 according to the contents of (machine cycle 4), and the result is written to the register file 12 in machine cycle 6. Therefore, as shown in FIG. 3, instructions can be executed without the need for an X state.

(発明の効果) 以上説明したように本発明によれば、レジスタ干渉が生
じないステージにおいては、先行命令の書込みアドレス
と当該命令の読出しアドレスが一致した場合に、先行命
令の書込みアドレスによるデータを当該命令の読出しデ
ータに代えて使用するようにして、当該命令による読出
しの動作のためのバイブラインの待ち状態を不要にした
ので、情報処理装置の処理能力の向上が図れる。
(Effects of the Invention) As explained above, according to the present invention, in a stage where register interference does not occur, when the write address of the preceding instruction and the read address of the instruction match, data at the write address of the preceding instruction is read. By using it in place of the read data of the command, the wait state of the vibe line for the read operation by the command is no longer necessary, so that the processing capacity of the information processing device can be improved.

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

第1図は本発明の実施例を示す情報処理装置の演算回路
の構成を示すブロック図、第2図は演算命令の例を示す
図、第3図はバイブラインの演算命令実行中のタイムチ
ャート、第4図はバイブラインの先行命令実行の終了を
待機する場合のタイムチャート、第5図は第1図の演算
回路を含む情報処理装置の要部構成を示すブロック図、
第6図は第1図のレジスタ干渉検出回路の構成を示すブ
ロック図である。 6・・・命令レジスタ、7・・・命令解読器、8・・・
レジスタ干渉検出回路1.9.10.11・・・レジス
タ(アドレス保持手段)、12・・・レジスタファイル
、15・・・演算器、19,20,21,22,23゜
24・・・比較器(比較手段)、Ml、M2.M3゜M
4 、M5 、M6 、Mc・・・論理回路(レジスタ
干渉設定手段)、Gl、G2.G3.G4.G5゜G6
・・・ゲート(ゲート手段) 、AND・・・アンドゲ
ート(命令停止手段)。 特許出願人  沖電気工業株式会社 代理人 弁理士  吉 1)精 孝 A余4  m二仁イ[コニ丁■![]で≦巨=[I[二
■二三三三三三三](So)+(S+)−DC骨「【]
ヨ][「■ヨヨ(So)−(S+)Al析−[工■Σ口
]](So)+I−DL 命令  [コニに打玉=二I
EΣ二IHI■■二=]■ニニニ二=]年づ呂入装−,
,45x7 トレ1第3図
FIG. 1 is a block diagram showing the configuration of an arithmetic circuit of an information processing device according to an embodiment of the present invention, FIG. 2 is a diagram showing an example of an arithmetic instruction, and FIG. 3 is a time chart during execution of an arithmetic instruction on the vibe line. , FIG. 4 is a time chart when waiting for the end of the execution of the preceding instruction on the vibe line, and FIG. 5 is a block diagram showing the main part configuration of an information processing device including the arithmetic circuit of FIG. 1.
FIG. 6 is a block diagram showing the configuration of the register interference detection circuit shown in FIG. 1. 6...Instruction register, 7...Instruction decoder, 8...
Register interference detection circuit 1.9.10.11...Register (address holding means), 12...Register file, 15...Arithmetic unit, 19,20,21,22,23゜24...Comparison instrument (comparison means), Ml, M2. M3゜M
4, M5, M6, Mc... logic circuit (register interference setting means), Gl, G2. G3. G4. G5゜G6
...gate (gate means), AND...and gate (instruction stop means). Patent Applicant Oki Electric Industry Co., Ltd. Agent Patent Attorney Yoshi 1) Sei Takashi Ayo 4 m2nini [Konicho■! [] ≦ Giant = [I [2■2333333] (So) + (S+) - DC bone "[]
Yo] ['■ Yoyo (So) - (S+) Al analysis - [Work ■ Σ mouth]] (So) + I-DL Command [Hit the ball to Koni = 2 I
EΣ2IHI ■■2=]■Nininini=] New year's entry-,
,45x7 Tray 1 Figure 3

Claims (1)

【特許請求の範囲】 命令レジスタからの命令信号を読出すステージと、該命
令信号に基づいてレジスタファイルから演算用のデータ
を読出すステージと、該演算用データを用いて演算器に
より演算するステージと、その演算結果をレジスタファ
イルに書込むステージとを有してパイプライン制御する
情報処理装置において、 先行命令によるレジスタファイルへの書込みアドレスを
各ステージ毎に保持するアドレス保持手段と、 当該命令によるレジスタファイルの読出しアドレスと前
記アドレス保持手段に保持された各ステージの書込みア
ドレスとをそれぞれ比較して相互の一致信号或いは不一
致信号を出力する比較手段と、 前記アドレス保持手段が各保持対象とした先行命令の各
ステージと現行命令のステージとにより該各ステージ毎
にレジスタ干渉が生ずるか否かを設定しているレジスタ
干渉設定手段と、 前記レジスタ干渉が生ずるステージにおいて前記命令レ
ジスタの読出しを停止させる命令停止手段と、 前記レジスタ干渉が生じないステージにおいて前記比較
手段が一致信号を出力したとき先行命令による当該ステ
ージのデータを現行命令によるレジスタファイルの読出
しデータに代えて前記演算器に与えるゲート手段とを備
えた ことを特徴とする情報処理装置。
[Claims] A stage for reading an instruction signal from an instruction register, a stage for reading data for operation from a register file based on the instruction signal, and a stage for performing an operation by an arithmetic unit using the data for operation. An information processing device that performs pipeline control and has a stage for writing the operation result to a register file, the information processing device comprising: an address holding means for holding at each stage an address to be written to the register file by a preceding instruction; Comparing means for comparing the read address of the register file and the write address of each stage held in the address holding means and outputting a mutual match signal or mismatch signal; register interference setting means for setting whether or not register interference occurs for each stage of the instruction and the stage of the current instruction; and an instruction for stopping reading of the instruction register at the stage where the register interference occurs. a stopping means; and a gate means for supplying data of the stage according to the preceding instruction to the arithmetic unit in place of read data of the register file according to the current instruction when the comparing means outputs a match signal at a stage where the register interference does not occur. An information processing device comprising:
JP5638588A 1988-03-11 1988-03-11 Information processor Pending JPH01231126A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5638588A JPH01231126A (en) 1988-03-11 1988-03-11 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5638588A JPH01231126A (en) 1988-03-11 1988-03-11 Information processor

Publications (1)

Publication Number Publication Date
JPH01231126A true JPH01231126A (en) 1989-09-14

Family

ID=13025782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5638588A Pending JPH01231126A (en) 1988-03-11 1988-03-11 Information processor

Country Status (1)

Country Link
JP (1) JPH01231126A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328637A (en) * 1991-04-30 1992-11-17 Toshiba Corp Parallel processor
US7174525B2 (en) 1992-03-31 2007-02-06 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
CN100419638C (en) * 2005-03-14 2008-09-17 索尼计算机娱乐公司 Method and apparatus for improving processing performance using instruction dependency viewing depth

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328637A (en) * 1991-04-30 1992-11-17 Toshiba Corp Parallel processor
US7174525B2 (en) 1992-03-31 2007-02-06 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
US7555738B2 (en) 1992-03-31 2009-06-30 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
CN100419638C (en) * 2005-03-14 2008-09-17 索尼计算机娱乐公司 Method and apparatus for improving processing performance using instruction dependency viewing depth

Similar Documents

Publication Publication Date Title
JP2620511B2 (en) Data processor
JPH02287626A (en) Pipeline system branch instruction controller
JPH1196006A (en) Information processing device
JPH06124207A (en) Subroutine branch instruction execution method
JP2812610B2 (en) Pipeline control method
JPH0377137A (en) Information processor
JPS61131047A (en) Pipeline controlling system
JPH0248733A (en) information processing equipment
JPS63188230A (en) Information processor
JPH0540629A (en) Information processing equipment
JPH0916399A (en) calculator
JP2002024012A (en) Microprocessor
JPH02206836A (en) Data processor
JPH11119995A (en) Device and method for processing data
JPH0234058B2 (en)
JPH06259250A (en) Information processor
JPH0546389A (en) Parallel processor
JPS62237533A (en) Data processor
JPH0553804A (en) Parallel processor
JPH02148226A (en) information processing equipment
JP2866143B2 (en) Dynamic pipeline processing unit
JPH01189727A (en) Information processor
JPS58215779A (en) Data processor
JPS58134350A (en) Memory controller
JPS61296448A (en) Data writing control system for electronic computer