JPH01321521A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH01321521A JPH01321521A JP15624788A JP15624788A JPH01321521A JP H01321521 A JPH01321521 A JP H01321521A JP 15624788 A JP15624788 A JP 15624788A JP 15624788 A JP15624788 A JP 15624788A JP H01321521 A JPH01321521 A JP H01321521A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- cancel
- circuit
- stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000004044 response Effects 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
Description
【発明の詳細な説明】
皮血立1
本発明はパイプライン処理中、パイプラインキャンセル
条件の成立に応答してパイプライン処理をキャンセルす
る、例えば分岐命令のような命令のパイプライン処理を
行なう情報処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention provides information for performing pipeline processing of an instruction such as a branch instruction, which cancels pipeline processing in response to the establishment of a pipeline cancel condition during pipeline processing. It relates to a processing device.
従l街
一般に、分岐命令は、分岐命令の次におこなうべき命令
のアドレスが分岐先アドレスであるか、分岐命令の次の
アドレスであるかを予測しパイプライン処理を連続して
行なっている0分岐命令の次の命令のアドレスの予測が
失敗した場合に、複数のサイクルのうち1つの定められ
たサイクルに絞り、パイプライン処理キャンセル条件成
立によるパイプライン処理キャンセル指示を発行してい
る。この指示の発行により正しい分岐先の命令が取直さ
れる。In general, branch instructions predict whether the address of the instruction to be executed next to the branch instruction is the branch destination address or the address following the branch instruction, and pipeline processing is performed continuously. When prediction of the address of the next instruction after a branch instruction fails, a pipeline processing cancellation instruction is issued based on the satisfaction of a pipeline processing cancellation condition in one predetermined cycle out of a plurality of cycles. By issuing this instruction, the correct branch destination instruction is retaken.
また、この種のパイプライン処理において、先行命令で
ある分岐命令の実行が終了しないうちに、後続命令であ
る分岐命令の次に行なうべき命令が入力されてくる。ず
なわち、先行する分岐命令が演算制御部におけるオペラ
ンド演算を指示し、そのオペランド演算結果をレジスタ
に書込(更新)指定したのと同一のレジスタに対して、
後続の命令が続出指定する場合、レジスタの競合問題が
発生し、この読出はオペランド演算結果が正しく反映さ
れた後で行なわれなければならない。Furthermore, in this type of pipeline processing, an instruction to be executed next to a branch instruction, which is a subsequent instruction, is input before execution of a branch instruction, which is a preceding instruction, is completed. In other words, the preceding branch instruction instructs the arithmetic control unit to perform an operand operation, and writes (updates) the result of the operand operation to the same register.
If a subsequent instruction specifies successive operation, a register contention problem will occur, and this reading must be performed after the operand operation results are correctly reflected.
このため、従来のシステムでは、先行命令による演算制
御部でのオペランド演算結果が求まるのを待ってから後
続命令によるアドレス計算を開始しなり、特公昭57−
9088号公報に示すように、演算制御部でオペランド
演算結果を求めるのに先行して専用の演算回路により同
等のオペランド演算を行なったり、特開昭61−902
37号公報に示すように、アドレス計算を行なうアドレ
ス生成回路にオペランド間の演算ができるようにし、そ
のオペランド演算結果を後続命令のレジスタ続出に使用
していた。For this reason, in conventional systems, the address calculation by the subsequent instruction is started after waiting for the operand operation result in the arithmetic control unit by the preceding instruction.
As shown in Japanese Patent Publication No. 9088, an equivalent operand operation is performed using a dedicated arithmetic circuit prior to obtaining the operand operation result in the arithmetic control section, and
As shown in Japanese Patent Application No. 37, an address generating circuit that performs address calculation is made to be able to perform operations between operands, and the results of the operand operations are used to successively read registers for subsequent instructions.
また、先行する命令と後続命令とが同一レジスタに対し
書込および続出を指示する競合関係にあるか否かを調べ
るチエツク機構を備えたとしても、パイプライン処理を
キャンセルする命令に対して、複数のサイクルでパイプ
ライン処理キャンセル条件を調べ条件の成立したサイク
ルでキャンセル指示を発行した場合、上述の競合関係に
なるレジスタのレジスタ番号とキャンセルをかけた命令
との対応関係は不明となる。このため、キャンセルをか
けたことにより無効化しなくてはならないはずの競合関
係の発生する可能性のあったレジスタのしS゛スタ番号
識別することができないという欠点がある。Furthermore, even if a check mechanism is provided to check whether a preceding instruction and a subsequent instruction are in a conflicting relationship that instructs writing and successive output to the same register, multiple If the pipeline processing cancellation condition is checked in the cycle , and a cancellation instruction is issued in the cycle in which the condition is satisfied, the correspondence between the register number of the register having the above-mentioned conflicting relationship and the instruction that caused the cancellation becomes unclear. For this reason, there is a drawback that it is not possible to identify the register number of the register in which there is a possibility of a conflicting relationship occurring, which would otherwise have to be invalidated due to cancellation.
九匪曵旦遊
本発明の目的は上述の欠点を除去するようにし、キャン
セル条ft”成立後の命令の取直しを高速化するように
した情報処理装置を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide an information processing apparatus that eliminates the above-mentioned drawbacks and speeds up the retaking of commands after the cancellation clause ft'' is established.
九肌立璽克
本発明の装置は、パイプライン処理をキャンセルする条
件の成立を判定する判定手段と、この判定手段からの条
件成立判定信号に応答してパイプライン処理中のどのス
テージにある命令が処理をやり直さなければならない命
令であるかを識別する識別手段と、この識別手段で識別
された命令を再試行するとともに、再試行の対象となっ
た命令を含む後続命令でパイプラインのステージにある
命令およびその関連情報をキャンセルする手段とを含む
。The apparatus of the present invention includes a determining means for determining whether a condition for canceling pipeline processing is met, and a determination signal from the determining means to determine which stage of the pipeline processing an instruction is in. an identification means for identifying whether the instruction should be re-processed; and a means for retrying the instruction identified by the identification means, and for retrying the instruction at a stage of the pipeline with subsequent instructions including the instruction targeted for retry. and means for canceling an instruction and its related information.
実施例 次に本発明について図面を参照して詳細に説明する。Example Next, the present invention will be explained in detail with reference to the drawings.
第1図を参照すると、本発明の一実施例は、操作(OP
)コードフィールド、ベースフィールドB、インデック
スフィールドX、ディスプレースメントフィールドDお
よび演算結果の格納先フィールドRを存する命令レジス
タl、この命令レジスタ1のOPコードフィールドにお
けるOPコードを解読し分岐命令であるか否かを示す選
択指示信号を出力するデコーダ2、このデコーダ2から
の選択指示信号が分岐命令を示すときは“1”を選択し
、分岐命令でないことを示すときは“0′。Referring to FIG. 1, one embodiment of the present invention includes an operation (OP
) An instruction register 1 containing a code field, a base field B, an index field A decoder 2 outputs a selection instruction signal indicating whether the selection instruction signal is a branch instruction, and when the selection instruction signal from the decoder 2 indicates a branch instruction, it selects "1", and when it indicates that it is not a branch instruction, it selects "0".
を選択するセレクタ3、分岐命令識別値BICOを格納
する分岐命令識別レジスタ4、およびこの分岐命令識別
レジスタ4からの分岐命令識別値BICOおよびセレク
タ3からの選択結果を加算する加算器5を命令解読(D
)ステージに備えている。A selector 3 that selects a branch instruction identification value BICO, a branch instruction identification register 4 that stores a branch instruction identification value BICO, and an adder 5 that adds the branch instruction identification value BICO from this branch instruction identification register 4 and the selection result from the selector 3 are decoded. (D
) are ready for the stage.
この実施例のパイプライン処理は、この命令解読(D)
ステージの他、アドレス生成(A)ステージ、アドレス
変換(T’ )ステージ、メモリ続出(0)ステージ、
演算実行(E)ステージおよび演算結果格納(W)ステ
ージの6ステージから構成されている。The pipeline processing of this embodiment is this instruction decoding (D).
In addition to the stage, there is an address generation (A) stage, an address translation (T') stage, a memory succession (0) stage,
It consists of six stages: an arithmetic execution (E) stage and an arithmetic result storage (W) stage.
加算器5の加算結果は分岐命令識別(fIBIC1〜B
1C5として上述のパイプラインの各ステージに設けら
れたレジスタ7〜11に格納される。また加算器5の加
算結果は、上述のパイプラインンの各ステージとは非同
期に動作するレジスタ確定後制御部6に与えられる。こ
のレジスタ確定後制御部6はパイプ構造をしておりAス
テージからWステージまでのパイプラインのステージ数
分、更新されることになるレジスタの番号を登録するレ
ジスタ群61−65、加算器6の加算結果を格納するレ
ジスタ群66−70、および前記レジスタ群61−65
に有効なデータを保持しているか否かを示す有効性ビッ
トを保持するレジスタ群71−75を有している。The addition result of adder 5 is branch instruction identification (fIBIC1 to B
1C5 is stored in registers 7 to 11 provided at each stage of the pipeline described above. Further, the addition result of the adder 5 is given to a register determination control section 6 which operates asynchronously with each stage of the pipeline described above. This register confirmation control unit 6 has a pipe structure, and includes a register group 61 to 65 for registering register numbers to be updated for the number of pipeline stages from A stage to W stage, and registers 61 to 65 for register numbers to be updated, and an adder 6. A register group 66-70 for storing addition results, and the register group 61-65.
It has register groups 71-75 that hold validity bits indicating whether or not valid data is held.
レジスタ群61−65の内容と命令レジスタ1のベース
フィールドBの内容および゛インデックスフィールドX
の内容とを比較し、一致すれば先行する命令の処理が終
了していないことを示す信号を出力し、命令を保持し続
けるよう命令レジスタ1に指示するレジスタ確定待一致
検出回路15は、本発明の一実施例のDステージに備え
られている。The contents of register groups 61-65, the contents of base field B of instruction register 1, and the index field
The register confirmation waiting match detection circuit 15 outputs a signal indicating that the processing of the preceding instruction has not been completed and instructs the instruction register 1 to continue holding the instruction if they match. It is provided in the D stage of one embodiment of the invention.
この一実施例のAステージには、分岐命令の次に行なう
べき命令のアドレスの予測が成功したか失敗したかを判
定し、失敗したとき予測失敗を示す信号を線104にu
1力する分岐予測判定回路12を備えている。また、一
実施例のEステージにも、分岐命令の次に行うべき命令
のアドレスの予測が成功したか失敗したかを判定し、失
敗したとき予測失敗を示す信号を線105に出力する分
岐予測判定回路14を備えている。In the A stage of this embodiment, it is determined whether the prediction of the address of the instruction to be executed next to the branch instruction is successful or unsuccessful, and when the prediction fails, a signal indicating prediction failure is sent to the line 104.
A branch prediction determination circuit 12 is provided. Also, in the E stage of one embodiment, a branch prediction is performed to determine whether prediction of the address of an instruction to be executed next to a branch instruction is successful or unsuccessful, and outputs a signal indicating prediction failure to the line 105 when prediction fails. A determination circuit 14 is provided.
次に分岐子Jl失敗による確定待登録有効性ビット“0
”にセットするよう指示する指示回路13について、第
1図および第2図を参照して詳細に説明する。Next, due to branch Jl failure, the confirmation waiting registration validity bit is “0”.
The instruction circuit 13 that instructs the setting to `` will be explained in detail with reference to FIGS. 1 and 2.
第1図および第2図を参照すると、指示回路13はEス
テージにおける分岐予測判定回路14から8105を介
して与えられる予測失敗信号を受けるゲー、1−131
、このゲート131の否定出力とAステージにおける分
岐予測判定口FR112から線104を介して与えられ
る予測失敗信号との論理積をとるアンドゲート132、
このアンドゲート132の出力に応答してレジスタ7か
ら線103を介して一!j、えられる分岐命令識別fl
at BIClを選択し、ゲー1−131の出力に応答
してレジスタ10から線10(3を介して与えられる分
岐命令識別値BIC4を選択するセレクタ133、この
セレクタ133からの選択結果とレジスタ66−70か
らの加算結果とを比較する比較回路群134−138
、およびこれら比較回路134−138からの出力の論
理和をとるオアゲート群139−142を備え、比較回
路群13/l−138のいずれかにおいて一致が生じた
とき、一致の生じたステージよりも上のステージは分岐
予測失敗による誤ったストリームの命令による情報であ
ることを認識し、一致の生じた値を格納しているレジス
タのステージから上のステージに対応するレジスタ群の
有効性ビットを無効にし、命令レジスタ1への分岐予測
失敗により読直し命令のセット指示をする旨の信−号を
線102に出力する。Referring to FIGS. 1 and 2, the instruction circuit 13 receives a prediction failure signal from the branch prediction judgment circuit 14 in the E stage via the game 1-131.
, an AND gate 132 which takes the logical product of the negative output of this gate 131 and the prediction failure signal applied from the branch prediction decision port FR112 in the A stage via the line 104;
In response to the output of the AND gate 132, the 1! j, obtained branch instruction identification fl
A selector 133 selects at BICl and selects a branch instruction identification value BIC4 given from register 10 via line 10 (3) in response to the output of game 1-131, and the selection result from this selector 133 and register 66- Comparison circuit group 134-138 for comparing the addition result from 70
, and an OR gate group 139-142 that takes the logical sum of the outputs from these comparison circuits 134-138. The stage recognizes that the information is due to an incorrect stream instruction due to a branch prediction failure, and invalidates the validity bits of the register group corresponding to the stage above the register storing the matched value. , outputs a signal to the line 102 indicating that a reread instruction is to be set due to a failure in branch prediction to the instruction register 1.
本発明の一実施例のアドレス計算は特公昭57−908
8号公報にも示されるように、ベースフィールドBの内
容によりベースアドレスを読出すベースレジスタ(BR
)17、このペースレジスタ(BR)17からのベース
アドレスを格納するレジスタ19、インデックスフィー
ルドXの内容によりインデックスアドレスを読出す汎用
レジスタ(GR)18、この汎用レジスタ(GR)18
からのインデックスアドレスを格納するレジスタ20、
ディスプレースメントフィールドDのディスプレースメ
ントを格納するレジスタ21、これらレジスタ19−2
1の内容に基づいてアドレス加算器
ドレス加算器(AA)22の加算結果を論理アドレスと
して格納する論理アドレスレジスタ(LAR)23、こ
の論理アドレスレジスタ(LAR)23の論理アドレス
を物理アドレスに変換するアドレス変換バッファ(TL
B)24、このTLB24によりアドレス変換された物
理アドレスを格納する物理アドレスレジスタ(PAR)
25、この物理アドレスレジスタ25の物理アドレスに
よりオペランドを読出すオペランドキャッシュメモリ(
OC14) 26、このオペランドキャッシュメモリ2
6からのオペランドを格納するオペランドレジスタ(O
R)27、このオペランドレジス゛り27からのオペラ
ンドに基づき演算する演算器(ALU)28およびこの
演算器28からの演算結果を保持するレジスタ2つを有
する。The address calculation according to one embodiment of the present invention is
As shown in Publication No. 8, a base register (BR) reads out a base address based on the contents of base field B.
) 17, a register 19 that stores the base address from this pace register (BR) 17, a general-purpose register (GR) 18 that reads the index address according to the contents of the index field X, this general-purpose register (GR) 18
a register 20 for storing an index address from;
Register 21 for storing the displacement of displacement field D, these registers 19-2
A logical address register (LAR) 23 stores the addition result of the address adder (AA) 22 as a logical address based on the contents of address adder 1, and converts the logical address of this logical address register (LAR) 23 into a physical address. Address translation buffer (TL
B) 24, a physical address register (PAR) that stores the physical address converted by this TLB 24
25, an operand cache memory (
OC14) 26, this operand cache memory 2
Operand register (O
R) 27, an arithmetic unit (ALU) 28 that performs calculations based on the operands from the operand register 27, and two registers that hold the calculation results from the calculation unit 28.
第1図および第3図を参照すると、確定待登録レジスタ
セット指示制御部16は、レジスタ群71−75のいず
れかから線101を介して与えられる有効性ビットの論
理和をとるオア回路161およびこのオア回路161の
論理和結果とレジスタ29への演算結果の格納を示す演
算終了信号305との論理和をとるオア回路162を備
えている。このオア回N162の出力はセット指示信号
としてレジスタ群61−75に与えられる。Referring to FIGS. 1 and 3, the pending registration register set instruction control unit 16 includes an OR circuit 161 that calculates the logical sum of the validity bits provided via the line 101 from any of the register groups 71 to 75; An OR circuit 162 is provided which calculates the logical sum of the logical sum result of the OR circuit 161 and the computation end signal 305 indicating storage of the computation result in the register 29. The output of this OR circuit N162 is given to the register group 61-75 as a set instruction signal.
次に、本発明の一実施例の動作を図面を参照して詳細に
説明する。第1図から第4図を参照すると、命令a〜g
のうち、命令す、c、eおよびfは分岐命令であり、O
印をしたす、c、eおよびfで示される。命令Cの分岐
予測失敗がEステージの回路14においてマシンサイク
ルT9時点で判定される。命令d−は分岐予測失敗によ
る再試行を示している。R6〜RfおよびRd−は、各
命令における更新レジスタ番号を示し、分岐予測失敗の
判別に応答して、レジスタ10の内容およびレジスタ群
66−70の内容とが比較回路群134−138で比較
され、比軸結果のいずれかが一致したときには、一致を
示したステージより上のステージの有効性ビットを無効
にする信号をオア回路1139−141で生成し、@
102を介してレジスタ群71−74に与え無効にする
。Next, the operation of one embodiment of the present invention will be described in detail with reference to the drawings. Referring to FIGS. 1 to 4, instructions a-g
Of these, instructions s, c, e, and f are branch instructions, and O
marked c, e and f. Failure in branch prediction of instruction C is determined in E stage circuit 14 at machine cycle T9. Instruction d- indicates a retry due to branch prediction failure. R6 to Rf and Rd- indicate update register numbers in each instruction, and in response to determination of branch prediction failure, the contents of register 10 and the contents of register group 66-70 are compared by comparison circuit group 134-138. , when any of the ratio axis results match, the OR circuits 1139-141 generate a signal that invalidates the validity bit of the stage above the stage that showed the match, and @
102 to register groups 71-74 to invalidate them.
なお、レジスタ4の81CO値に対して分岐予測失敗の
ステージの持つ81Ci値を+1してレジスタ4にセラ
l−1,直し、分岐命令識別子を付は直すことにする。Note that the 81Ci value of the stage of branch prediction failure is added by 1 to the 81CO value in register 4, and the cell l-1 is added to register 4, and the branch instruction identifier is reassigned.
これら命令の動作について以下詳述する。The operations of these instructions will be described in detail below.
タイミング′rOで、命令レジスタ1に命令aが格納さ
れ、レジスタ4には“OIIがセットされる。At timing 'rO, instruction a is stored in instruction register 1, and "OII" is set in register 4.
次に、タイミング1゛1で命令aのフィールドBおよび
Xの内容はBR17およびOR,18からアドレスを読
出し、レジスタ19および20にセットされる。また、
フィールドDの内容はレジスタ21にセットされる。こ
れとともにレジスタ1に分岐命令すがセットされる。な
お、タイミング′l゛0でセットされた命令aは分岐命
令でないためデコーダ2の解読結果によりセレクタ3で
“0パが選択される。この結果、加算器5では、”o”
十“0″の加算が行なわれ、加算結果“0”がレジスタ
4および7およびレジスタ確定時制御部6のレジスタ6
6に格納される。このレジスタ66への′0″の格納と
ともにレジスタ61にレジスタ番号R,が格納される。Next, at timing 1'1, the contents of fields B and X of instruction a are set in registers 19 and 20 by reading the address from BR17 and OR,18. Also,
The contents of field D are set in register 21. At the same time, a branch instruction is set in register 1. Note that since the instruction a set at timing 'l'0 is not a branch instruction, the selector 3 selects "0" based on the decoding result of the decoder 2. As a result, the adder 5 selects "0".
Addition of 10 “0” is performed, and the addition result “0” is added to registers 4 and 7 and register 6 of register confirmation control unit 6.
6. At the same time as '0' is stored in the register 66, a register number R is stored in the register 61.
さらにタイミングT2で命令aのアドレスはアドレス加
算器22で生成され論理アドレスレジメタLAR23に
セットされる。また命令すに関連する加算前のアドレス
もレジスタ19−21の少なくとも1つに格納され、レ
ジスタ1に命令Cがセットされる。タイミングTIでセ
ットされた命令すはデコーダ2で分岐命令と解読される
ため、セレクタ3で“1″が選択される。この結果加算
器5では“0パ十“1パの加算が行なわれ、加算結果“
1”がレジスタ4.7および66にセットされる。なお
、レジスタ8には、レジスタ7からの°“0パがセット
されレジスタ67にレジスタ66からの′0”がセット
される。この時レジスタ66に対応するレジスタ61に
はレジスタ番号“R5″°がまたレジスタ67に対応す
るレジスタ62にはレジスタ番号“R6′″がセットさ
れる。Further, at timing T2, the address of the instruction a is generated by the address adder 22 and set in the logical address register LAR23. Further, the address before addition related to the instruction C is also stored in at least one of the registers 19-21, and the instruction C is set in the register 1. Since the instruction set at timing TI is decoded by the decoder 2 as a branch instruction, the selector 3 selects "1". As a result, the adder 5 performs addition of "0, ten" and "1", and the addition result is "
1" is set in registers 4.7 and 66. Note that register 8 is set with °"0 from register 7, and register 67 is set with "0" from register 66. At this time, register The register number "R5" is set in the register 61 corresponding to the register 66, and the register number "R6'" is set in the register 62 corresponding to the register 67.
このようにしてタイミングT9まで動作してきたとき、
Eステージの判定回路14から線105を介して予測失
敗信号が与えられる。When the operation continues in this manner until timing T9,
A prediction failure signal is applied via line 105 from the determination circuit 14 of the E stage.
第2図および第4図を参照すると、この信号はゲート1
31を介してセレクタ133に与えられレジスタ10の
値“2′°を選択し、比較回路群134−138に与え
られる。比較回路群134−138はレジスタ10の値
“2″とレジスタ群66−70の値とを比較し、一致の
とれた比較回路135から“1”を出力する。この出力
“1゛°はオアター1〜群139−142に与えられ、
論理和結果″1″が@102を介してタイミング1゛1
0でレジスタ群71−73の有効性ビットを無効にする
とともにレジスタ1に対しやり直し命令d−をセットす
る。Referring to FIGS. 2 and 4, this signal is
31 to the selector 133, selects the value "2'° of the register 10, and supplies it to the comparison circuit group 134-138. The comparison circuit group 134-138 selects the value "2" of the register 10 and the register group 66- 70 and outputs "1" from the comparator circuit 135 that finds a match.This output "1" is given to the orter 1 to groups 139-142
The logical sum result “1” is sent to timing 1゛1 via @102
0 invalidates the validity bits of the register group 71-73 and sets a redo instruction d- to register 1.
第1図および第4図を参照すると、タイミング′r9で
レジスタ10にセットされていた値“2″は+1されて
レジスタ4にセラ1−される。このようにしてキャンセ
ル条件成立後の命令取直しおよびその曲の状況設定を次
のマシンサイクル内で行うことができる。Referring to FIGS. 1 and 4, the value "2" set in the register 10 at timing 'r9 is incremented by +1 and stored in the register 4 as 1-. In this way, after the cancellation condition is satisfied, the command can be retaken and the status of the song can be set within the next machine cycle.
几匪凶皇遇
以上説明したように、本発明によれば、先行する命令と
後続の命令が同一レジスタに対して書込と続出を指示す
るような競合関係になる可能性のあるレジスタがパイプ
ライン処理中にキャンセルをかけるとどの命令の後続命
令によるものなのかを識別する回路134−138と、
キャンセルがかかった場合、キャンセルをかけた命令が
どの命令であるのかを、キャンセルの指示と共に認識す
る回路139−142と、先行する命令と後続の命令が
同一レジスタに対して書込と続出を指示する様な競合関
係になる可能性のあるレジスタとして登録したレジスタ
番号の中で、キャンセルにより無効化されるべきレジス
タ番号を無効化する回路102とを有することにより、
パイプライン処理中パイプライン処理キャンセル条件が
成立したら、パイプライン処理をキャンセルする命令に
対して複数のサイクルでパイプライン処理キャンセル条
件の成立を調べ、キャンセル条件が成立したならばパイ
プライン処理のキャンセルをかける場合、前記競合関係
になる可能性のあるレジスタの中で、キャンセルがかか
ったことにより無効化されなければならないレジスタの
レジスタ番号を無効化できるので、キャンセル条件成立
後の命令の取直しを高速化できるという効果がある。As explained above, according to the present invention, registers that may have a conflicting relationship such as a preceding instruction and a subsequent instruction instructing writing and successive writing to the same register are circuits 134-138 for identifying which instruction is due to a subsequent instruction when cancellation is applied during line processing;
When a cancellation occurs, circuits 139-142 recognize which instruction is the canceled instruction along with the cancellation instruction, and the preceding instruction and the subsequent instruction instruct writing and continuing to the same register. By having a circuit 102 that invalidates register numbers that should be invalidated by cancellation among register numbers registered as registers that may have a conflicting relationship such as
If the pipeline processing cancellation condition is met during pipeline processing, check whether the pipeline processing cancellation condition is met in multiple cycles for the instruction to cancel the pipeline processing, and if the cancellation condition is met, cancel the pipeline processing. When canceling, the register number of the register that should be invalidated due to the cancellation among the registers that may have a conflicting relationship can be invalidated, which speeds up the retaking of the instruction after the cancellation condition is satisfied. It has the effect of being able to be transformed into
第1図は本発明の一実施例を示す図、第2図は一実施例
のレジスタ確定侍制御部6、レジスタ群1.7および1
0と指示回路13との関係を示す図、第3図は一実施例
のレジスタ確定待制御部6と確定待登録レジスタセット
指示制御部16との関係を示す図、第4図は本発明の一
実施例の動作を説明するための図である。
主要部分の符号の説明
1・・・・・・命令レジスタ
2・・・・・・デコーダ
3・・・・・・セレクタ
5・・・・・・加算器
6・・・・・・レジスタ確定待制御部
12.14・・・・・・判定回路
15・・・・・・レジスタ確定時一致検出回路16・・
・・・・確定(41登録レジスタセツj・指示制御部
22・・・・・・アドレス加算器
24・・・・・・TLn
26・・・・・・オペランドキャッシュメモリ28・・
・・・・ALUFIG. 1 is a diagram showing an embodiment of the present invention, and FIG. 2 is a diagram showing a register determination controller 6, register groups 1.7 and 1 of the embodiment.
0 and the instruction circuit 13, FIG. 3 is a diagram showing the relationship between the register confirmation waiting control section 6 and the confirmation waiting registration register set instruction control section 16 of one embodiment, and FIG. FIG. 3 is a diagram for explaining the operation of one embodiment. Explanation of codes of main parts 1...Instruction register 2...Decoder 3...Selector 5...Adder 6...Waiting for register confirmation Control unit 12.14...Determination circuit 15...Register confirmation match detection circuit 16...
...Confirmation (41 Registration register set j/Instruction control unit 22...Address adder 24...TLn 26...Operand cache memory 28...
...ALU
Claims (1)
る判定手段と、この判定手段からの条件成立判定信号に
応答してパイプライン処理中のどのステージにある命令
が処理をやり直さなければならない命令であるかを識別
する識別手段と、この識別手段で識別された命令を再試
行するとともに、再試行命令を含みこの再試行命令の後
続命令でパイプラインのステージにある命令およびその
関連情報をキャンセルする手段とを含むことを特徴とす
る情報処理装置。A determining means for determining whether a condition for canceling pipeline processing is satisfied, and in response to a condition satisfaction determination signal from this determining means, an instruction at which stage in the pipeline processing is an instruction that requires redoing the processing. an identification means for retrying the instruction identified by the identification means, and means for canceling an instruction in a pipeline stage and its related information in an instruction subsequent to the retry instruction, including a retry instruction; An information processing device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63156247A JPH07113890B2 (en) | 1988-06-24 | 1988-06-24 | Information processing equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63156247A JPH07113890B2 (en) | 1988-06-24 | 1988-06-24 | Information processing equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01321521A true JPH01321521A (en) | 1989-12-27 |
JPH07113890B2 JPH07113890B2 (en) | 1995-12-06 |
Family
ID=15623599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63156247A Expired - Lifetime JPH07113890B2 (en) | 1988-06-24 | 1988-06-24 | Information processing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07113890B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07281893A (en) * | 1994-04-15 | 1995-10-27 | Internatl Business Mach Corp <Ibm> | Processing system and arithmetic method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61107434A (en) * | 1984-10-31 | 1986-05-26 | Hitachi Ltd | Data processor |
JPS61288230A (en) * | 1985-06-17 | 1986-12-18 | Nec Corp | Pipeline control system |
JPS62159230A (en) * | 1986-01-07 | 1987-07-15 | Nec Corp | Instruction prefetching device |
-
1988
- 1988-06-24 JP JP63156247A patent/JPH07113890B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61107434A (en) * | 1984-10-31 | 1986-05-26 | Hitachi Ltd | Data processor |
JPS61288230A (en) * | 1985-06-17 | 1986-12-18 | Nec Corp | Pipeline control system |
JPS62159230A (en) * | 1986-01-07 | 1987-07-15 | Nec Corp | Instruction prefetching device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07281893A (en) * | 1994-04-15 | 1995-10-27 | Internatl Business Mach Corp <Ibm> | Processing system and arithmetic method |
Also Published As
Publication number | Publication date |
---|---|
JPH07113890B2 (en) | 1995-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5421022A (en) | Apparatus and method for speculatively executing instructions in a computer system | |
JP2559399B2 (en) | Information processing device | |
EP0663083B1 (en) | System and method for handling load and/or store operations in a superscalar microprocessor | |
US6957320B2 (en) | System and method for handling load and/or store operations in a superscalar microprocessor | |
US5845103A (en) | Computer with dynamic instruction reuse | |
US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
US5428807A (en) | Method and apparatus for propagating exception conditions of a computer system | |
EP0155211A2 (en) | System for by-pass control in pipeline operation of computer | |
JPH0283735A (en) | Instruction prefetching device | |
JPS6028015B2 (en) | information processing equipment | |
KR100335744B1 (en) | Load/load detection and reorder method | |
JPH07281893A (en) | Processing system and arithmetic method | |
US6704861B1 (en) | Mechanism for executing computer instructions in parallel | |
US5678016A (en) | Processor and method for managing execution of an instruction which determine subsequent to dispatch if an instruction is subject to serialization | |
US6484256B1 (en) | Apparatus and method of branch prediction utilizing a comparison of a branch history table to an aliasing table | |
US5878242A (en) | Method and system for forwarding instructions in a processor with increased forwarding probability | |
JPH01321521A (en) | Information processor | |
JPS60129839A (en) | Information processor | |
JPH0774993B2 (en) | Information processing equipment | |
US6952763B1 (en) | Write before read interlock for recovery unit operands | |
KR950000088B1 (en) | Data processing system | |
JP2685713B2 (en) | Data processing device | |
JPH0695306B2 (en) | Instruction prefetching device | |
JP3471691B2 (en) | Branch instruction control method in micro instruction | |
JPH07219771A (en) | Instruction processor |