JPS5815809B2 - General information - Google Patents

General information

Info

Publication number
JPS5815809B2
JPS5815809B2 JP4842175A JP4842175A JPS5815809B2 JP S5815809 B2 JPS5815809 B2 JP S5815809B2 JP 4842175 A JP4842175 A JP 4842175A JP 4842175 A JP4842175 A JP 4842175A JP S5815809 B2 JPS5815809 B2 JP S5815809B2
Authority
JP
Japan
Prior art keywords
instruction
branch
signal
prediction
success
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
Application number
JP4842175A
Other languages
Japanese (ja)
Other versions
JPS51123534A (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 JP4842175A priority Critical patent/JPS5815809B2/en
Publication of JPS51123534A publication Critical patent/JPS51123534A/en
Publication of JPS5815809B2 publication Critical patent/JPS5815809B2/en
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は情報処理装置に関し、特に命令の先取り機能を
有して先行制御を行なうようになされた情報処理装置に
関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus having a command prefetch function and performing advance control.

従来、先行制御を行なう情報処理装置における分岐命令
処理は、設計段階で分岐成功の確率が犬であると判断し
た場合には分岐成功側を無条件に先取りするか、逆に分
岐不成功の確率が犬であると判断した場合には分岐不成
功側を先取りするか、または分岐成功側および分岐不成
功側の両方を先取りすることにより、高速化が計られて
いる。
Conventionally, in the branch instruction processing in an information processing device that performs advance control, if it is determined at the design stage that the probability of a branch success is a dog, the branch success side is unconditionally taken first, or conversely, the probability of a branch failure is When it is determined that the branch is a dog, speeding up is achieved by pre-empting the unsuccessful branch, or by pre-empting both the successful and unsuccessful branches.

しかしながら、分岐成功/不成功の確率は不確定である
というプログラムの特質により、前の2つの場合には期
待とは反対方向に先取りする結果となることがしばしば
起こり、最後の場合にはそのようなプログラムの特質に
は強いかわりに先取りの情報を保存する為の金物量が大
幅に増大するという欠点があった。
However, due to the nature of the program that the probability of branch success/failure is uncertain, the first two cases often result in pre-emption in the opposite direction than expected, and the last case does not. Although the program has strong characteristics, it has the disadvantage that the amount of hardware required to store the preemptive information increases significantly.

本発明の目的は、上述した欠点に鑑み、金物量の増大を
ほとんど起こすことなくループを形成する分岐命令に後
続する命令の誤先取りを極力防止できる情報処理装置を
提供することにある。
SUMMARY OF THE INVENTION In view of the above-mentioned drawbacks, an object of the present invention is to provide an information processing device that can prevent erroneous prefetching of instructions following a branch instruction forming a loop as much as possible without causing an increase in the amount of hardware.

本発明の他の目的は、プログラム実行に伴ないその特質
を適時判断し、後続命令のより有効な方向(分岐成功側
/分岐不成功側)への先取り動作を進めるようにした情
報処理装置を提供し、金物量の増大を極力おさえること
にある。
Another object of the present invention is to provide an information processing apparatus that determines the characteristics of a program as it is executed in a timely manner and proceeds with a prefetch operation in a direction that is more effective for subsequent instructions (branch success side/branch failure side). The aim is to provide the necessary amount of hardware and to suppress the increase in the amount of hardware as much as possible.

本発明によれば、命令の先取り機能を有して先行制御を
行なうようにした情報処理装置において、分岐成功側に
ループが形成されると共に分岐不成功側に前記ループを
抜は出るルートが形成されている分岐命令の分岐成功あ
るいは分岐不成功を予測するフリップフロップと、該フ
リップフロップの予測を前記分岐命令の実行によって得
られる情報に応じて行なわせ且つ該フリップフロップの
予測に従う方向の命令の先取りを指令するための分岐命
令制御回路とを設けたことを特徴とする情報処理装置が
得られる。
According to the present invention, in an information processing device having a function of prefetching instructions and performing advance control, a loop is formed on the branch success side, and a route is formed on the branch failure side to exit the loop. a flip-flop that predicts the success or failure of a branch instruction that is being executed; There is obtained an information processing device characterized in that it is provided with a branch instruction control circuit for instructing prefetching.

以下、図面を参照して本発明の詳細な説明する。Hereinafter, the present invention will be described in detail with reference to the drawings.

第1図は本発明による情報処理装置の第1の実施例を示
したブロック図である。
FIG. 1 is a block diagram showing a first embodiment of an information processing apparatus according to the present invention.

第1図にも示したように、高度の先取り制御を行なう情
報処理装置は、命令の準備段階として、命令先取り部1
、命令解読部2、およびオペランド先取り部3を有する
のが普通である。
As shown in FIG. 1, in an information processing device that performs advanced prefetch control, an instruction prefetch unit 1
, an instruction decoding section 2 , and an operand prefetching section 3 .

一般にこれらをまとめて先行命令処理部と呼ぶ。Generally, these are collectively called a preceding instruction processing section.

この先行命令処理部は、これとは独立に働く命令実行処
理部4へ命令の実行に必要な情報を揃えて供給する。
The preceding instruction processing section supplies information necessary for executing the instruction to the instruction execution processing section 4, which operates independently of the preceding instruction processing section.

命令先取り部1、命令解読部2、オペランド先取り部3
、および命令実行処理部4は並行処理が可能であり、そ
の並行処理動作をパイプライニングという。
Instruction prefetch unit 1, instruction decoder 2, operand prefetch unit 3
, and the instruction execution processing unit 4 are capable of parallel processing, and this parallel processing operation is called pipelining.

このパイプライニングを用いた情報処理装置による分岐
命令の一般的な先取り制御をまず説明する。
First, general prefetch control of branch instructions by an information processing device using pipelining will be described.

記憶装置5に実行しようとするプログラムが格納されて
おり、命令語群7は命令アドレス6に従って記憶装置5
から読み出される。
A program to be executed is stored in the storage device 5, and the instruction word group 7 is stored in the storage device 5 according to the instruction address 6.
is read from.

読み出された命令語群は、命令先取り部1に一時設定さ
れるとともに所定の命令が命令解読部2内の命令レジス
タに設定される。
The read instruction word group is temporarily set in the instruction prefetch section 1, and a predetermined instruction is set in the instruction register in the instruction decoding section 2.

命令解読部2はこれを解読してその命令の実行処理に必
要とする情報をオペランド先取り部3が収集する。
The instruction decoding section 2 decodes this, and the operand prefetching section 3 collects information necessary for executing the instruction.

ここで、図中9はオペランド語アドレスバス、8はオペ
ランド語読み出しパスである。
Here, in the figure, 9 is an operand word address bus, and 8 is an operand word read path.

オペランド先取り部3は、必要情報の収集が完了した時
点にそれらの情報を命令実行処理部4へ供給する。
The operand prefetch unit 3 supplies the necessary information to the instruction execution processing unit 4 when the collection of necessary information is completed.

前述の命令解読部2で、解読された命令が分岐命令であ
ると、該分岐命令の分岐成功および分岐不成功のうち進
む確率が高い方向(情報処理装置の設計段階に判断し定
義する。
If the instruction decoded by the instruction decoding unit 2 is a branch instruction, the direction (determined and defined at the design stage of the information processing device) with a higher probability of proceeding is either a successful branch or an unsuccessful branch instruction.

)に先取りを続ける。).

すなわち、該分岐命令が不成功側に進む確率。が犬であ
れば記憶装置5内の該分岐命令0こ後続している命令(
不成功側命令)を先取りする方向に動作を続行し、成功
側に進む確率が犬であれば記憶装置5内の該分岐命令に
後続している命令(不成功側命令)の先取りを中止して
、命令先取り部。
That is, the probability that the branch instruction proceeds to the unsuccessful side. If is a dog, the instruction following the branch instruction 0 in the storage device 5 (
The operation continues in the direction of preempting the branch instruction (unsuccessful side instruction), and if the probability of proceeding to the successful side is equal, the prefetching of the instruction (unsuccessful side instruction) following the branch instruction in the storage device 5 is stopped. The instruction prefetch section.

1により、新たに記憶装置5内の別のアドレス(分岐成
功側アドレス)より命令(成功側命令)の先取りを再開
する。
1, the prefetching of the instruction (successful instruction) is restarted from another address (branch successful side address) in the storage device 5.

このような先取り制御を用いた情報処理装置では、命令
実行処理部4で分岐命令を実行した時に判明する命令処
理順序と、先。
In an information processing device using such prefetch control, the instruction processing order and the destination are determined when the instruction execution processing unit 4 executes a branch instruction.

行命令処理部で準備した命令とが、プログラムの特質に
よりたびたび異なることがある。
The instructions prepared by the line instruction processing unit often differ depending on the characteristics of the program.

この様な場合は、新たな命令の先取りを行なうように命
令実行処理部4よりの指示により、先行命令処理部を初
期起動する必要がある。
In such a case, it is necessary to initially activate the preceding instruction processing section in response to an instruction from the instruction execution processing section 4 to prefetch the new instruction.

本発明は、金物量の微少な追加のみにより、上述のよう
なプログラムの特質による後続命令の誤先取りを極力防
ぎ、より有効な方向に先取り動作を進めることができる
ようにしたものである。
The present invention makes it possible to prevent erroneous prefetching of subsequent instructions due to the characteristics of the program as much as possible by adding only a small amount of hardware, and to advance the prefetching operation in a more effective direction.

すなわち、本発明は第1図に示したように、分岐命令の
成功/不成功を予測するフリップフロップ(以下、予測
FFという。
That is, as shown in FIG. 1, the present invention uses a flip-flop (hereinafter referred to as a prediction FF) that predicts the success/failure of a branch instruction.

)11と、そのフリップフロップ11の予測を分岐命令
の実行によって得られる信号101および102に応じ
て行なわせ且つ該フリップフロップ11の予測に従う方
向の命令の先取りを指令103するための分岐命令制御
回路10とを先行命令処理部に設け、分岐命令に後続す
る命令を有効に先取りするようにしたことを特徴とする
情報処理装置である。
) 11, and a branch instruction control circuit for causing the flip-flop 11 to predict in accordance with signals 101 and 102 obtained by executing the branch instruction, and for instructing 103 to prefetch an instruction in the direction according to the prediction of the flip-flop 11. 10 is provided in a preceding instruction processing section, and an instruction subsequent to a branch instruction is effectively prefetched.

第2図は第1図の予測FF11と分岐命令制御回路10
とを具体的に示した図で、以下、第1図および第2図を
参照してこの実施例を詳細に説明する。
Figure 2 shows the prediction FF 11 and branch instruction control circuit 10 in Figure 1.
This embodiment will be described in detail below with reference to FIG. 1 and FIG. 2.

この実施例はループ回数を計数することによりループを
形成する分岐命令の処理に適した構成となっている。
This embodiment has a configuration suitable for processing branch instructions that form a loop by counting the number of loops.

まず、ループ回数を計数することによりループを形成す
る分岐命令の成功/不成功を予測する予測FF11の初
期値を、オア(OR)ゲート回路202を介して予測F
F11に入力される先行命令処理部からの初期設定信号
108により、゛′成功”(FF値−1)として設定し
、予測FF11にその値を記憶させておく。
First, the initial value of the prediction FF 11 that predicts the success/failure of a branch instruction forming a loop by counting the number of loops is input to the prediction FF 11 through an OR gate circuit 202.
The initial setting signal 108 from the preceding instruction processing unit inputted to F11 is set as "success" (FF value - 1), and the value is stored in prediction FF11.

その後、上記分岐命令が命令解読部2に設定された時、
予測FF11の指示103に応じた方向に後続命令の先
取り動作を行なう。
After that, when the above branch instruction is set in the instruction decoder 2,
Prefetching of subsequent instructions is performed in the direction according to the instruction 103 of the prediction FF 11.

(この予測信号103とは分岐命令が命令解読部2に設
定された特発する分岐命令表示信号106と予測FF1
1の出力信号とを2人力とするアンド(AND )ゲ゛
−ト回路205の出力信号である。
(This prediction signal 103 is a branch instruction display signal 106 that is issued spontaneously when a branch instruction is set in the instruction decoder 2, and a predicted FF1
This is the output signal of the AND gate circuit 205 which uses the output signal of 1 and the output signal of 2.

)すなわち、先行命令処理部キャンセル後、初めて該分
岐命令が命令解読部2に設定された場合には、予測FF
11は゛成功“となっている為、記憶装置5内の該分岐
命令に後続している不成功側命令の先取りを無効として
記憶装置5内に在る分岐先命令語を先取りするように、
命令解読部2は命令先取り部1に分岐成功側先取り指令
信号104を送出して指令する。
) That is, when the branch instruction is set in the instruction decoding unit 2 for the first time after the preceding instruction processing unit is canceled, the predicted FF
11 is "success", so that the prefetching of the unsuccessful instruction following the branch instruction in the storage device 5 is invalidated and the branch destination instruction word in the storage device 5 is prefetched.
The instruction decoder 2 sends a branch success side prefetch command signal 104 to the instruction prefetch unit 1 to instruct it.

該分岐命令が命令実行処理部4で実行された時、命令実
行処理部4は、その実行結果信号101(分岐成功の場
合−1信号、分岐不成功の場合−〇信号)、及び、次回
予測信号102(命令実行処理部4でカウントを計数し
7、次回分岐不成功側に動作することが予測できる場合
に0信号)を、分岐命令制御回路10に報告する。
When the branch instruction is executed by the instruction execution processing unit 4, the instruction execution processing unit 4 outputs the execution result signal 101 (-1 signal if the branch is successful, -○ signal if the branch is unsuccessful) and the next prediction. A signal 102 (signal 102 (signal 0 when the instruction execution processing unit 4 counts 7 and predicts that the next branch will fail) is reported to the branch instruction control circuit 10.

該分岐命令以後の先取り動作(珊在、分岐成功側に先取
りがなされている。
A prefetch operation after the branch instruction (preemption is performed on the successful side of the branch).

)が正しかったか否かは、その時に報告される実行結果
信号101と予測FF11の値との一致を排他的論理オ
ア回路204にて確認することにより可能である。
) is correct or not by checking in the exclusive OR circuit 204 whether the execution result signal 101 reported at that time and the value of the prediction FF 11 match.

先取り方向と該分岐命令の実行結果とが異なった場合に
は、アンドゲート回路206を介して命令先取り部1に
入力される排他的論理オア回路204からの論理1を有
する信号(先取り再スタート信号)105により、先行
命令処理部に先取りした該分岐命令以後の命令を無効と
し、改めて正しい方向への先取りを行なう指示を命令先
取り部1に対して指令する。
If the prefetch direction and the execution result of the branch instruction are different, a signal having a logic 1 (prefetch restart signal) from the exclusive OR circuit 204 is input to the instruction prefetch unit 1 via the AND gate circuit 206. ) 105 instructs the instruction prefetching unit 1 to invalidate the instructions following the branch instruction prefetched by the preceding instruction processing unit and to perform prefetching in the correct direction again.

先取り方向と該分岐命令の実行結果が一致した場合には
、実行結果信号101と同時に報告される次回予測信号
102により、予測FF11の値を設定しなおす。
When the prefetch direction and the execution result of the branch instruction match, the value of the prediction FF 11 is reset based on the next prediction signal 102 that is reported simultaneously with the execution result signal 101.

すなわち、次回予測信号102が再び゛成功″側(次回
予測信号−1信号)であれば、予測FF11の値を”成
功”(FF値−1)のままとし、次回、分岐不成功側に
動作することが予測できる場合(次回予測信号=0信号
)には、予測FF11の値を”不成功”(FF値−〇)
と設定する。
That is, if the next prediction signal 102 is again on the ``success'' side (next prediction signal - 1 signal), the value of the prediction FF 11 is left as ``success'' (FF value - 1), and the next time, the branch is operated on the unsuccessful side. If it can be predicted that the next prediction will occur (next prediction signal = 0 signal), the value of prediction FF11 is set to “unsuccessful” (FF value - 〇).
and set.

この動作は図示のごとくインヒビツ) (1nhibi
t ) ’y’−ト回路203によりなされる。
This operation is inhibited (1nhibi) as shown in the diagram.
t) 'y'-t circuit 203.

ここで、107は命令実行処理部4よりの分岐命令実行
タイミング信号である。
Here, 107 is a branch instruction execution timing signal from the instruction execution processing section 4.

予測FFI 1の値を゛成功″と設定した場合には、゛
不成功″と設定しなおすまで上述の動作を繰り返し、予
測FF11の値を゛不成功″と設定した場合(次回の分
岐命令により、プログラム上のループを抜は出でると予
測した場合)には、命令先取り部1は次回の分岐命令が
命令解読部2に設定された時に、記憶装置5内の該分岐
命令に後続している命令(不成功側命令)を先取りする
方向に動作を続行する。
If the value of prediction FFI 1 is set to ``success'', the above operation is repeated until it is reset to ``failure'', and if the value of prediction FF11 is set to ``unsuccess'' (by the next branch instruction) , when it is predicted that the loop in the program will be exited), when the next branch instruction is set in the instruction decoding unit 2, the instruction prefetching unit 1 reads the branch instruction following the branch instruction in the storage device 5. The operation continues in the direction of preempting the instruction (unsuccessful instruction).

予測FF11の値が゛不成功″側(FF値−〇)を示し
、命令実行処理部4から報告される実行結果信号101
が゛°分岐不成功パであった場合、すなわち、プログラ
ム上のループを正しく抜は出る場合には、インヒビット
ゲート回路207により予測FF11の値を゛成功”(
FF値=1)として設定し、予測FF11は後続する分
岐命令のループ動作の為にその値を配憶する。
The value of the predicted FF 11 indicates the "unsuccessful" side (FF value - 0), and the execution result signal 101 is reported from the instruction execution processing unit 4.
If the branch is unsuccessful, that is, if the loop in the program is correctly exited, the inhibit gate circuit 207 changes the value of the predicted FF11 to a successful branch.
The prediction FF 11 stores this value for the loop operation of the subsequent branch instruction.

なお、第2図において201は他制御部とのインクフェ
ースである。
In addition, in FIG. 2, 201 is an ink face with other control units.

ループ回数を計数することによりループを形成する上述
の如き分岐命令の一例を第3図に示す。
FIG. 3 shows an example of the above-mentioned branch instruction that forms a loop by counting the number of loops.

第3図において、Slはx=n、S2は処理ステップ、
S3はx=x−1,84はx=0?、Blは分岐命令で
ある。
In FIG. 3, Sl is x=n, S2 is a processing step,
S3 is x=x-1, 84 is x=0? , Bl are branch instructions.

分岐命令BIの分岐成功側(即ちNO側)にはループが
形成され、分岐命令BIの分岐不成功側(即ちYES側
)には前記ループを抜は出るルートが形成されている。
A loop is formed on the branch success side (ie, NO side) of the branch instruction BI, and a route for exiting the loop is formed on the branch failure side (ie, YES side) of the branch instruction BI.

次に第2図および第3図を参照して前記予測FF11の
設定推移を説明する。
Next, the setting transition of the prediction FF 11 will be explained with reference to FIGS. 2 and 3.

予測FF11の初期値は前述のごとく初期設定信号10
8により“成功”(FF値−1)と設定される。
The initial value of the prediction FF11 is the initial setting signal 10 as described above.
8, it is set as "success" (FF value - 1).

プログラムの指示によるS2の処理ステップを例えば1
0回実行するとした場合、Slによりx−10となり、
S2の処理を行った後、S3によりx=10−1=9が
実行され、S4によりX=Oでない為にNO側(即ち分
岐成功側)へ処理が進み、S2→S3→S4処理の1回
目のループが実行されたことになる。
For example, the processing steps of S2 according to the instructions of the program are 1
If it is executed 0 times, it becomes x-10 due to Sl,
After performing the process in S2, x=10-1=9 is executed in S3, and since X=O is not determined in S4, the process proceeds to the NO side (that is, the branch success side), and 1 of the S2 → S3 → S4 process This means that the loop has been executed for the second time.

その後、同様な方法でXが順次減算され、S2→S3→
S4処理が10回実行され、10回実行した後はS4に
よりX=0となる為にYES側(即ち分岐不成功側)に
処理が進む。
After that, X is sequentially subtracted in the same way, S2→S3→
The S4 process is executed 10 times, and after the 10 times, X=0 due to S4, so the process proceeds to the YES side (that is, the branch failure side).

本発明は、10回実行する過程で84からN。The present invention runs from 84 to N in the process of running 10 times.

側(即ち分岐成功側)への命令語を無駄なく先取りし、
かつ10回目の84実行後に処理すべきYES側(即ち
分岐不成功側)の命令語を誤りなく先取りする効果を出
す為、9回目の83の実行結果でX=1(次回はループ
を抜は出し、分岐不成功側に動作が進むことが十分予測
できる。
The instruction word to the side (that is, the branch success side) is preempted without waste,
In addition, in order to achieve the effect of prefetching the instruction word on the YES side (that is, the branch failure side) to be processed after the 10th execution of 84 without error, the result of executing 83 for the 9th time is X = 1 (next time, the loop must be skipped) It can be fully predicted that the operation will proceed to the branch failure side.

)となった場合に、命令実行処理部4は前記次回予測信
号102を0信号として前記分岐命令制御回路10に報
告する。
), the instruction execution processing unit 4 reports the next prediction signal 102 to the branch instruction control circuit 10 as a 0 signal.

X=1以外の場合は、すべて、次回予測信号102は1
信号となる。
In all cases other than X=1, the next prediction signal 102 is 1.
It becomes a signal.

該次回予測信号102がO信号であることと命令実行処
理部4からの分岐命令実行タイミング信号107の条件
によって、予測FF11を゛不成功”(FF値−〇)に
設定することにより、10回目の84実行後に処理すべ
きYES側(即ち分岐不成功側)の命令の先取りの予測
が正しく行われる。
Based on the conditions that the next prediction signal 102 is the O signal and the branch instruction execution timing signal 107 from the instruction execution processing unit 4, the prediction FF 11 is set to "unsuccessful" (FF value - 0), and the 10th time is set. Prefetching of the YES-side (ie, branch failure-side) instruction to be processed after execution of 84 is correctly predicted.

なお、10回目の84実行後に予測FF11の設定は後
続するループを形成する分岐命令の為に゛′成功”(F
F値=1)に設定される。
Note that after the 10th execution of 84, the prediction FF11 is set to ``success'' (F
The F value is set to 1).

以上の実施例は、パイプライン制御を使用した従来の先
行命令処理部に、フリップ・フロップを2.3ビツト(
分岐命令タイプ別に各1個)と、わずかな周辺回路を加
えることにより実現できる。
In the above embodiment, a 2.3-bit flip-flop (
This can be realized by adding one branch instruction per type) and a small number of peripheral circuits.

以上の説明から明らかなように、本発明は従来の先行命
令処理部にループを形成する分岐命令の成功あるいは不
成功を予測するフリップフロップと、該フリップフロッ
プの予測を前記分岐命令の実行によって得られる情報に
応じて行なわせ且つ該フリップフロップの予測に従う方
向の命令の先取りを指令するための分岐命令制御回路と
を付加することにより、はとんど金物量の増大なしにプ
ログラムの実行に伴ないその特質を適時判断して分岐命
令後の先取り動作を有効に進めることができるという効
果がある。
As is clear from the above description, the present invention includes a flip-flop that predicts the success or failure of a branch instruction forming a loop in a conventional preceding instruction processing unit, and a flip-flop that predicts the success or failure of a branch instruction that forms a loop. By adding a branch instruction control circuit for instructing the branch instruction to be executed in accordance with the information to be executed and to prefetch the instruction in the direction according to the prediction of the flip-flop, it is possible to control the execution of the program without increasing the amount of hardware. This has the advantage that it is possible to timely determine the characteristics that do not exist, and to effectively proceed with the prefetch operation after a branch instruction.

即ち、本発明では、金物量の増大をほとんど起こすこと
なく、ループを形成する分岐命令に後続する命令の誤先
取りを極力防止できる効果がある。
That is, the present invention has the effect of preventing erroneous prefetching of instructions following a branch instruction forming a loop as much as possible without causing an increase in the amount of hardware.

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

第1図は本発明による情報処理装置の第1の実施例を示
したブロック図、第2図はループを形成する分岐命令に
用いて有効な第1図における予測フリップフロップ11
および分岐命令制御回路10を具体的に示した図、第3
図はループを形成する分岐命令の一例を示したフローチ
ャートである。 1・・・・・・命令先取り部、2・・・・・・命令解読
部、3・・・・・・オペランド先取り部、4・・・・・
・命令実行処理部、5・・・・・・記憶装置、6−・・
・・・命令語アドレス、I・・・・・・命令語読み出し
パス、8・・・・・・オペランド語読み出しパス、9・
・・・・・オペランド語アドレスパス、10・・・・・
・分岐命令制御回路、11・・・・・・予測フリップフ
ロップ、101・・・・・・分岐命令成功信号、102
・・・・・・次回予測信号、103・・・・・・予測信
号、104・・・・・・分岐成功側先取り命令信号、1
05・・・・・・先取り再スタート信号、106・・・
・・・命令解読部よりの分岐命令表示信号、107・・
・・・・命令実行処理部よりの分岐命令実行タイミング
信号、108・・・・・・先行命令処理部よりの初期設
定信号、201・・・・・・他制音部インターフェース
、202・・・・・・オアゲート回路、203,207
・・・・・・インヒビットゲート回路、204・・・・
・・排他的論理オア回路、205,206・・・・・・
アンドゲート回路。
FIG. 1 is a block diagram showing a first embodiment of an information processing device according to the present invention, and FIG. 2 is a predictive flip-flop 11 in FIG. 1 that is effective for use in branch instructions forming a loop.
and a third diagram specifically showing the branch instruction control circuit 10.
The figure is a flowchart showing an example of branch instructions that form a loop. 1... Instruction prefetch section, 2... Instruction decoding section, 3... Operand prefetch section, 4...
・Instruction execution processing unit, 5...Storage device, 6-...
...Instruction word address, I...Instruction word read path, 8...Operand word read path, 9.
...Operand address path, 10...
- Branch instruction control circuit, 11... Prediction flip-flop, 101... Branch instruction success signal, 102
...Next prediction signal, 103 ... Prediction signal, 104 ... Branch successful side preemption instruction signal, 1
05... Preemptive restart signal, 106...
...Branch instruction display signal from the instruction decoder, 107...
... Branch instruction execution timing signal from the instruction execution processing section, 108 ... Initial setting signal from the preceding instruction processing section, 201 ... Other sound control section interface, 202 ... ...OR gate circuit, 203, 207
...Inhibit gate circuit, 204...
・Exclusive logical OR circuit, 205, 206...
and gate circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 命令の先取り機能を有して先行制御を行なうように
した情報処理装置において、分岐成功側にループが形成
されると共に分岐不成功側に前記ループを抜は出るルー
トが形成されている分岐命令の分岐成功あるいは分岐不
成功を予測するフリップフロップと、該フリップフロッ
プの予測を前記分岐命令の実行によって得られる情報に
応じて行なわせ且つ該フリップフロップの予測に従う方
向の命令の先取りを指令するための分岐命令制御回路と
を設けたことを特徴とする情報処理装置。
1. In an information processing device that has an instruction prefetch function and performs advance control, a branch instruction in which a loop is formed on the branch success side and a route to exit the loop is formed on the branch failure side. a flip-flop for predicting the success or failure of a branch; for making the prediction of the flip-flop according to information obtained by executing the branch instruction; and for instructing the prefetching of an instruction in the direction of following the prediction of the flip-flop; An information processing device comprising: a branch instruction control circuit.
JP4842175A 1975-04-21 1975-04-21 General information Expired JPS5815809B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4842175A JPS5815809B2 (en) 1975-04-21 1975-04-21 General information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4842175A JPS5815809B2 (en) 1975-04-21 1975-04-21 General information

Publications (2)

Publication Number Publication Date
JPS51123534A JPS51123534A (en) 1976-10-28
JPS5815809B2 true JPS5815809B2 (en) 1983-03-28

Family

ID=12802843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4842175A Expired JPS5815809B2 (en) 1975-04-21 1975-04-21 General information

Country Status (1)

Country Link
JP (1) JPS5815809B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374857A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Data processor
JPS55143653A (en) * 1979-04-25 1980-11-10 Nec Corp Branch prefetch computer
JPH0342723A (en) * 1989-07-11 1991-02-22 Nec Corp Data processor
JP4728877B2 (en) * 2006-05-29 2011-07-20 エヌイーシーコンピュータテクノ株式会社 Microprocessor and pipeline control method

Also Published As

Publication number Publication date
JPS51123534A (en) 1976-10-28

Similar Documents

Publication Publication Date Title
JPS623340A (en) Branching system
JPH10149285A (en) Method for controlling execution of instruction and information processor
JPH0520067A (en) Branch instruction processing system for parallel arithmetic processor
JPH1021074A (en) Interruption control system, processor, and computer system
JPH0553806A (en) Parallel processing controller
JPS63307535A (en) Pipeline control circuit
JPS5815809B2 (en) General information
JP3839755B2 (en) Instruction control method and processor
JP2020086897A (en) Arithmetic processing device and method for controlling arithmetic processing device
CN113918225A (en) Instruction prediction method, instruction data processing apparatus, processor, and storage medium
JP2503223B2 (en) Prior control method
KR20030061002A (en) Speculative register adjustment
JPH0342723A (en) Data processor
JP3471691B2 (en) Branch instruction control method in micro instruction
JPH06324861A (en) System and method for controlling cpu
JPS6353644A (en) Instruction control device
JPS59178547A (en) Instruction retry system
JPH0247725A (en) Data processor
JPS63303432A (en) System for controlling writing in branching history table
JPH02206836A (en) Data processor
JPH02138625A (en) Data processor
JPS59121540A (en) Operation control system
JPH04308930A (en) Electronic computer
JPH0449424A (en) Instruction control system
JPS5819957A (en) Forward going system for instruction control of computer