JPH10105401A - Device of predicting branch instruction of processor - Google Patents

Device of predicting branch instruction of processor

Info

Publication number
JPH10105401A
JPH10105401A JP25825996A JP25825996A JPH10105401A JP H10105401 A JPH10105401 A JP H10105401A JP 25825996 A JP25825996 A JP 25825996A JP 25825996 A JP25825996 A JP 25825996A JP H10105401 A JPH10105401 A JP H10105401A
Authority
JP
Japan
Prior art keywords
branch
instruction
prediction
branch instruction
result
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.)
Withdrawn
Application number
JP25825996A
Other languages
Japanese (ja)
Inventor
Haruko Nishimoto
晴子 西本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25825996A priority Critical patent/JPH10105401A/en
Publication of JPH10105401A publication Critical patent/JPH10105401A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To predict branching more correctly concerning the branch instruction predicting device of a processor which predicts branching the preceding execution of a branch instruction in the processor connected to a pipeline. SOLUTION: A fetch circuit 2 fetching the instruction of an instruction memory 1, a decoding circuit 3 decoding the instruction of the fetching circuit 2 and an executing circuit 4 executing the decoded instruction are connected by the pipeline. The branch instruction predicting device 5 for the processor for the preceding execution of the instruction is provided with first predicting mechanism predicting the succeeding instruction by a first predicting system based on the past execution result of the branch instruction, second predicting mechanism predicting the succeeding instruction by the second predicting system based on the past execution result of the branch instruction and selecting mechanism selecting first predicting mechanism or second predicting mechanism in accordance with the comparison result of a prediction result with the execution result of the branch instruction.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、パイプライン接続
されたプロセッサにおいて、分岐命令の先行実行を行う
ため、分岐予測するプロセッサの分岐命令予測装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a branch instruction prediction device for a processor that performs a branch prediction in order to execute a branch instruction in advance in a pipelined processor.

【0002】マイクロプロセッサ等のプロセッサにおい
て、命令を先行実行するパイプライン構成を採用してい
る。この命令の中に、分岐命令がある。分岐命令の次の
命令を予測する分岐予測装置を有しないプロセッサにお
いては、分岐命令による制御ハザードが、プロセッサの
性能に大きな影響を与える。
2. Description of the Related Art A processor such as a microprocessor employs a pipeline configuration for executing instructions in advance. Among these instructions, there is a branch instruction. In a processor that does not have a branch prediction device that predicts an instruction next to a branch instruction, a control hazard caused by the branch instruction has a great effect on the performance of the processor.

【0003】分岐予測装置を有しないプロセッサでは、
分岐命令の次の命令は、分岐不成立と見積もった時と同
じ命令(連続するアドレスの命令)をフェッチする。分
岐命令が成立だった場合には、パイプラインに乱れが生
じて、全体性能に悪影響を及ぼしていた。
In a processor without a branch prediction device,
The next instruction following the branch instruction fetches the same instruction (instruction of consecutive addresses) as when the branch was not taken. If the branch instruction was taken, the pipeline was disturbed, which had an adverse effect on the overall performance.

【0004】このように、命令を先取りして、命令を先
行実行するプロセッサにおいては、分岐命令によるオー
バーヘッドは、非常に致命的である。このため、分岐命
令の次の命令を予測する分岐予測装置が、プロセッサに
設けられている。この分岐予測装置では、分岐命令の分
岐先の予測を行い、分岐先の命令をフェッチする。
As described above, in a processor that prefetches an instruction and executes the instruction in advance, the overhead due to the branch instruction is very fatal. For this reason, the processor is provided with a branch prediction device that predicts the instruction following the branch instruction. This branch prediction device predicts the branch destination of a branch instruction and fetches the branch destination instruction.

【0005】しかし、分岐予測装置を設けても、分岐予
測が外れてしまった場合には、分岐命令後に、先行実行
していた全ての命令をキャンセルして、新たに命令をフ
ェッチしなおす必要がある。このため、全体性能に悪影
響を与えないように、分岐予測をなるべく外すことな
く、命令を先行実行していくことが必要となる。
[0005] However, even if the branch prediction device is provided, if the branch prediction is incorrect, after the branch instruction, it is necessary to cancel all the previously executed instructions and fetch a new instruction again. is there. Therefore, it is necessary to execute instructions in advance without removing the branch prediction as much as possible so as not to adversely affect the overall performance.

【0006】[0006]

【従来の技術】図6は、従来技術の構成図、図7は従来
の予測回路の構成図、図8は分岐命令の説明図、図9は
従来の分岐予測手法の説明図である。
2. Description of the Related Art FIG. 6 is a configuration diagram of a conventional technology, FIG. 7 is a configuration diagram of a conventional prediction circuit, FIG. 8 is an explanatory diagram of a branch instruction, and FIG. 9 is an explanatory diagram of a conventional branch prediction method.

【0007】図6に示すように、プロセッサは、命令を
格納する命令メモリ1と、命令メモリ1の命令をフェッ
チするフェッチ回路2と、フェッチされた命令をデコー
ドするデコード回路3と、デコードされた命令を実行す
る実行回路4とを有する。
As shown in FIG. 6, the processor includes an instruction memory 1 for storing an instruction, a fetch circuit 2 for fetching the instruction in the instruction memory 1, a decode circuit 3 for decoding the fetched instruction, and a decoded circuit. And an execution circuit 4 for executing the instruction.

【0008】フェッチ回路2と、デコード回路3と、実
行回路4とは、パイプライン接続され、命令を先行実行
する。フェッチ回路2は、命令を先取りするため、命令
メモリ1に命令アドレスを送出する命令カウンタ(プロ
グラムカウンタ)7を有している。
[0008] The fetch circuit 2, the decode circuit 3, and the execution circuit 4 are pipelined and execute instructions in advance. The fetch circuit 2 has an instruction counter (program counter) 7 for sending an instruction address to the instruction memory 1 in order to prefetch an instruction.

【0009】命令予測回路5は、命令カウンタ7の命令
アドレスが、分岐命令か否かを判定する。そして、分岐
命令で、且つ分岐すると予測した場合には、分岐先の予
測アドレスを、命令カウンタ7に送出する。分岐命令で
も、分岐しないと予測した場合には、命令アドレスを1
インクリメントする。
The instruction prediction circuit 5 determines whether the instruction address of the instruction counter 7 is a branch instruction. When the instruction is a branch instruction and it is predicted that the branch will be taken, the predicted address of the branch destination is sent to the instruction counter 7. Even if a branch instruction is predicted not to branch, the instruction address is set to 1
Increment.

【0010】比較回路6は、命令予測回路5の分岐予測
結果(分岐するかしないか)と、実行回路4の実行結果
とを比較して、命令予測回路5を制御する(特開平3−
262040号公報参照の事)。
The comparison circuit 6 controls the instruction prediction circuit 5 by comparing the branch prediction result (whether or not to branch) of the instruction prediction circuit 5 with the execution result of the execution circuit 4 (Japanese Patent Application Laid-Open No. Hei 3-
262040).

【0011】このような構成のプロセッサにおいて、命
令カウンタ7は、命令アドレスを命令メモリ1に送出す
る。これとともに、その命令アドレスが、命令予測回路
5で、分岐命令か否かが判断される。分岐命令でなけれ
ば、命令カウンタ7の命令アドレスは、1インクリメン
トされる。
In the processor having such a configuration, the instruction counter 7 sends an instruction address to the instruction memory 1. At the same time, the instruction prediction circuit 5 determines whether the instruction address is a branch instruction. If it is not a branch instruction, the instruction address of the instruction counter 7 is incremented by one.

【0012】命令カウンタ7の命令アドレスが、分岐命
令であり、分岐すると予測した場合には、命令予測回路
5は、その命令アドレスに対する分岐先予測アドレスを
出力する。そして、命令カウンタ7にこの分岐先予測ア
ドレスをロードして、命令メモリ1をアクセスさせる。
When the instruction address of the instruction counter 7 is a branch instruction and it is predicted that a branch will be taken, the instruction prediction circuit 5 outputs a branch destination prediction address for the instruction address. Then, the instruction counter 7 is loaded with the predicted branch destination address, and the instruction memory 1 is accessed.

【0013】一方、命令予測回路5が、分岐しないと予
測した場合には、命令カウンタ7は、アドレスを1イン
クリメントする。
On the other hand, when the instruction prediction circuit 5 predicts that the branch will not be taken, the instruction counter 7 increments the address by one.

【0014】比較回路6は、命令予測回路5からの分岐
予測結果と、実行回路4からの分岐命令の実行結果を比
較する。そして、分岐予測結果と実行結果が、一致して
いれば、なにも制御しない。
The comparison circuit 6 compares the branch prediction result from the instruction prediction circuit 5 with the execution result of the branch instruction from the execution circuit 4. If the branch prediction result and the execution result match, no control is performed.

【0015】一方、比較回路6は、分岐予測結果と実行
結果が不一致の場合には、命令カウンタ7を制御して、
実行回路4の実行結果に伴う新たな命令アドレスをセッ
トしなおす。そして、先行実行していた命令の実行をキ
ャンセルする。
On the other hand, when the branch prediction result and the execution result do not match, the comparison circuit 6 controls the instruction counter 7 to
A new instruction address according to the execution result of the execution circuit 4 is reset. Then, the execution of the previously executed instruction is canceled.

【0016】図7に示すように、従来の命令予測回路5
は、分岐命令の命令アドレスに対する分岐先予測アドレ
スと、分岐状態(分岐する又はしない)とを格納した分
岐先ターゲットバッファ50を有している。この分岐先
ターゲットバッファ50には、分岐命令の命令アドレス
が登録されている。
As shown in FIG. 7, a conventional instruction prediction circuit 5
Has a branch target buffer 50 that stores a predicted branch destination address for the instruction address of a branch instruction and a branch state (branch or not). The instruction address of the branch instruction is registered in the branch target buffer 50.

【0017】フェッチされた命令アドレスは、比較回路
51により、分岐先ターゲットバッファ50に登録され
た命令アドレスと比較され、分岐命令か否かが判定され
る。その結果は、命令カウンタ7に通知され、命令カウ
ンタ7は、これにより制御される。
The fetched instruction address is compared with the instruction address registered in the branch target buffer 50 by the comparison circuit 51 to determine whether or not the instruction is a branch instruction. The result is notified to the instruction counter 7, and the instruction counter 7 is controlled thereby.

【0018】比較回路51により、分岐命令と判定され
ると、参照回路52が、分岐先ターゲットバッファ50
の分岐予測状態を読みだす。分岐予測状態が、分岐する
と予測している時は、その命令アドレスに対する分岐先
予測アドレスを読みだす。一方、分岐予測状態が分岐し
ないと予測している場合には、分岐しないとの分岐予測
状態を、命令カウンタ7に出力する。
When the comparison circuit 51 determines that the instruction is a branch instruction, the reference circuit 52 sets the branch destination target buffer 50
Read the branch prediction state of When the branch prediction state predicts that the branch will be taken, the branch destination prediction address corresponding to the instruction address is read. On the other hand, if the branch prediction state predicts that the branch will not be taken, the branch prediction state that the branch is not taken is output to the instruction counter 7.

【0019】従来の分岐予測方法としては、分岐状態を
1ビット持つ1ビット分岐予測法が知られている。この
1ビット分岐予測法では、分岐先ターゲットバッファ5
0に登録されている各々の分岐命令の命令アドレスに対
し、この分岐命令は、分岐するかしないかという状態を
1ビット分(2状態)持つものである。
As a conventional branch prediction method, a one-bit branch prediction method having one bit of a branch state is known. In this one-bit branch prediction method, the branch target buffer 5
For each instruction address of each branch instruction registered in 0, this branch instruction has one bit (two states) indicating whether or not to branch.

【0020】例えば、図8のプログラムの例では、命令
アドレス「0010」の命令が、分岐命令であり、分岐
する場合には、アドレス「0030」に分岐し、分岐し
ない場合には、アドレス「0011」に進む。このよう
な場合に、分岐すると予測すると、図7に示すように、
命令アドレス「0010」に対し、分岐先予測アドレス
として「0030」が、分岐状態として「1」(分岐す
る)が格納される。
For example, in the example of the program shown in FIG. 8, the instruction at the instruction address "0010" is a branch instruction. If the instruction branches, the instruction branches to the address "0030". Go to ". In such a case, if it is predicted to branch, as shown in FIG.
For the instruction address “0010”, “0030” is stored as the branch destination prediction address, and “1” (branch) is stored as the branch state.

【0021】そして、図9(A)に示すように、実行結
果との照合による予測の当たり外れにより、分岐予測状
態を更新するものである。例えば、分岐状態が、「1」
(分岐する)を予測していた場合に、実行結果が、分岐
しなかった場合には、分岐状態は、「0」(分岐しな
い)に変更される。
Then, as shown in FIG. 9 (A), the branch prediction state is updated due to a collision between the prediction and the execution result. For example, if the branch state is “1”
If (branch) is predicted and the execution result does not branch, the branch state is changed to “0” (do not branch).

【0022】逆に、分岐状態が、「0」(分岐しない)
を予測していた場合に、実行結果が、分岐した場合に、
分岐状態は、「1」(分岐する)に変更される。このた
め、図7に示すように、分岐先ターゲットバッファ50
の分岐状態を、比較結果に応じて変更する状態更新回路
53が設けられている。
Conversely, if the branch state is "0" (no branch)
If the execution result is branched,
The branch state is changed to “1” (branch). For this reason, as shown in FIG.
A state updating circuit 53 is provided for changing the branch state according to the comparison result.

【0023】他の従来の分岐予測方法として、分岐する
かしないかの状態を2ビット分(4状態)持つ2ビット
分岐予測法が知られている。図9(B)に示すように、
「00」(分岐しない)、「01」(分岐しない)、
「10」(分岐する)、「11」(分岐する)という4
状態で分岐予測を行う。
As another conventional branch prediction method, a two-bit branch prediction method having two bits (four states) of whether to branch or not is known. As shown in FIG.
"00" (no branch), "01" (no branch),
4 "10" (branch), "11" (branch)
Perform branch prediction in the state.

【0024】そして、図9(B)に示すように、実行結
果との照合による予測の当たり外れにより、分岐予測状
態を更新するものである。例えば、分岐状態が、「1
1」(分岐する)を予測していた場合に、実行結果が、
分岐しなかった場合には、分岐状態は、「10」(分岐
する)に変更される。分岐状態が、「10」(分岐す
る)を予測していた場合に、実行結果が、分岐しなかっ
た場合には、分岐状態は、「01」(分岐しない)に変
更される。
Then, as shown in FIG. 9 (B), the branch prediction state is updated due to a collision between the prediction and the execution result. For example, if the branch state is “1”
When "1" (branch) is predicted, the execution result is
If not, the branch state is changed to "10" (branch). When the branch state predicts “10” (branch) and the execution result does not branch, the branch state is changed to “01” (do not branch).

【0025】逆に、分岐状態が、「00」(分岐しな
い)を予測していた場合に、実行結果が、分岐した場合
に、分岐状態は、「01」(分岐しない)に変更され
る。分岐状態が、「01」(分岐しない)を予測してい
た場合に、実行結果が、分岐した場合に、分岐状態は、
「10」(分岐する)に変更される。
Conversely, if the branch state predicts "00" (no branch), and if the execution result branches, the branch state is changed to "01" (no branch). If the branch state predicts “01” (do not branch), and if the execution result branches, the branch state is:
It is changed to "10" (branch).

【0026】このような、従来の分岐予測回路は、分岐
予測結果が正解か不正解により、次の分岐を予測する1
種類の分岐予測手法をもちいて、分岐予測するものであ
った。
Such a conventional branch prediction circuit predicts the next branch depending on whether the branch prediction result is correct or incorrect.
Branch prediction is performed using various types of branch prediction methods.

【0027】[0027]

【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題が生じていた。
However, the prior art has the following problems.

【0028】第1に、従来の分岐予測装置は、1種類の
分岐予測手法しか搭載していないため、分岐予測の正解
確率に限りがあった。
First, the conventional branch prediction apparatus has only one type of branch prediction method, and thus the accuracy of branch prediction is limited.

【0029】第2に、プログラムによっては、分岐予測
の正解率が低下して、パイプラインの乱れが生じてい
た。このため、プロセッサの実行速度を低下させてい
た。
Second, depending on the program, the accuracy rate of the branch prediction is reduced, and the pipeline is disturbed. For this reason, the execution speed of the processor has been reduced.

【0030】本発明の目的は、より正確な分岐予測を行
うためのプロセッサの分岐命令予測装置を提供すること
にある。
An object of the present invention is to provide a branch instruction prediction device of a processor for performing more accurate branch prediction.

【0031】本発明の他の目的は、簡易な方法で、正確
な分岐予測を行うためのプロセッサの分岐命令予測装置
を提供することにある。
Another object of the present invention is to provide a branch instruction prediction device of a processor for performing accurate branch prediction by a simple method.

【0032】[0032]

【課題を解決するための手段】図1は、本発明の原理図
である。
FIG. 1 is a diagram illustrating the principle of the present invention.

【0033】図1に示すように、プロセッサは、命令メ
モリ1の命令をフェッチするフェッチ回路2と、前記フ
ェッチ回路2の命令をデコードするデコード回路3と、
前記デコードされた命令を実行する実行回路4とが、パ
イプライン接続されてなり、命令の先行実行を行う。
As shown in FIG. 1, a processor includes a fetch circuit 2 for fetching an instruction in an instruction memory 1, a decode circuit 3 for decoding an instruction in the fetch circuit 2,
An execution circuit 4 for executing the decoded instruction is connected by a pipeline, and executes the instruction in advance.

【0034】分岐命令予測装置5は、分岐命令の過去の
実行結果に基づいて、第1の予測方式により、次の命令
を予測するための第1の予測機構と、分岐命令の過去の
実行結果に基づいて、第1の予測方式と異なる第2の予
測方式により、次の命令を予測するための第2の予測機
構と、予測結果と分岐命令の実行結果との比較結果に応
じて、前記第1の予測機構又は第2の予測機構とを選択
する選択機構とを有するものである。
The branch instruction prediction device 5 includes a first prediction mechanism for predicting the next instruction by a first prediction method based on the past execution result of the branch instruction, and a past execution result of the branch instruction. And a second prediction mechanism for predicting the next instruction by a second prediction method different from the first prediction method, and a comparison result between the prediction result and the execution result of the branch instruction. A selection mechanism for selecting the first prediction mechanism or the second prediction mechanism.

【0035】本発明では、異なる分岐予測方式により分
岐予測する複数の予測機構を設け、予測結果と実行結果
の比較により、予測機構を選択するため、分岐予測を正
確に行うことができる。例えば、一方の予測機構による
分岐予測の正解率が低い場合に、他方の予測機構による
分岐予測に切り換える等、正解率の高い最適の予測方式
に動的に変更できる。
In the present invention, a plurality of prediction mechanisms for performing branch prediction by different branch prediction methods are provided, and a prediction mechanism is selected by comparing a prediction result with an execution result, so that branch prediction can be accurately performed. For example, when the accuracy rate of the branch prediction by one prediction mechanism is low, it is possible to dynamically change to an optimal prediction method with a high accuracy rate, such as switching to the branch prediction by the other prediction mechanism.

【0036】このため、分岐予測の正解率が向上して、
パイプラインの乱れを最小限とすることができ、プロセ
ッサの全体性能を向上することができる。
For this reason, the accuracy rate of branch prediction is improved,
The disturbance of the pipeline can be minimized, and the overall performance of the processor can be improved.

【0037】[0037]

【発明の実施の形態】図2は本発明の一実施の形態の構
成図、図3は本発明の一実施形態の分岐予測手法の説明
図、図4は本発明の一実施形態の分岐予測手法選択の説
明図、図5は本発明の一実施形態のグローバルヒストリ
ーテーブルの説明図である。
FIG. 2 is a block diagram of one embodiment of the present invention, FIG. 3 is an explanatory diagram of a branch prediction method of one embodiment of the present invention, and FIG. 4 is a branch prediction method of one embodiment of the present invention. FIG. 5 is an explanatory diagram of method selection, and FIG. 5 is an explanatory diagram of a global history table according to an embodiment of the present invention.

【0038】図2は、図1に示す分岐命令予測回路5の
みを示している。分岐先ターゲットバッファ10は、各
分岐命令の命令アドレスに対応して、その分岐命令の現
在行っている分岐予測方式を示す3ビットの分岐予測方
式データと、その分岐命令の過去4回分の分岐予測の結
果(比較結果)を示す4ビットの分岐予測結果データ
と、過去8回分の実際に分岐した分岐結果を示す8ビッ
トのローカルヒストリーと、従来の2ビット予測におけ
る分岐先予測アドレスと、従来の2ビット予測における
2ビットの予測状態を保持する。
FIG. 2 shows only the branch instruction prediction circuit 5 shown in FIG. The branch target buffer 10 stores, in correspondence with the instruction address of each branch instruction, 3-bit branch prediction method data indicating the branch prediction method currently performed for the branch instruction, and branch prediction data for the past four times of the branch instruction. , A 4-bit branch prediction result data indicating the result (comparison result), an 8-bit local history indicating a branch result actually taken for the past eight times, a branch destination prediction address in the conventional 2-bit prediction, and a conventional Holds a 2-bit prediction state in 2-bit prediction.

【0039】即ち、図7の従来の分岐先ターゲットバッ
ファ50に対し、この実施の形態の分岐先ターゲットバ
ッファ10は、分岐命令の現在行っている分岐予測方式
を示す3ビットの分岐予測方式データと、その分岐命令
の過去4回分の分岐予測の結果(比較結果)を示す4ビ
ットの分岐予測結果データと、過去8回分の実際に分岐
した分岐結果を示す8ビットのローカルヒストリーと
が、付加されている。
That is, in contrast to the conventional branch target buffer 50 shown in FIG. 7, the branch target buffer 10 according to the present embodiment includes 3-bit branch prediction method data indicating the branch prediction method currently performed for a branch instruction. , 4-bit branch prediction result data indicating the results of the past four branch predictions (comparison results) of the branch instruction, and 8-bit local history indicating the results of the past eight branches actually taken are added. ing.

【0040】この内、分岐予測方式は、図3に示すよう
に、従来の2ビット予測方式(「000」)の他に、後
述するローカルヒストリーを用いた分岐予測方式(「0
01」)、グローバルヒストリーを用いた分岐予測方式
(「010」)、ローカルヒストリーとグローバルヒス
トリーとを組み合わせた分岐予測方式(「011」)、
グローバルヒストリーとローカルヒストリーとを組み合
わせた分岐予測方式(「100」があり、合計5種類の
分岐予測方式が存在する。
As shown in FIG. 3, the branch prediction method using a local history described later (“0”) in addition to the conventional 2-bit prediction method (“000”), as shown in FIG.
01 "), a branch prediction method using global history (" 010 "), a branch prediction method combining local history and global history (" 011 "),
There is a branch prediction method ("100") combining global history and local history, and there are a total of five types of branch prediction methods.

【0041】比較回路11は、フェッチされた命令アド
レスと、分岐先ターゲットバッファ10の命令アドレス
とを比較して、分岐命令を探すものである。参照回路1
2は、比較回路11により、分岐命令と判定された命令
アドレスの現在の分岐予測方式を参照するものである。
The comparison circuit 11 compares the fetched instruction address with the instruction address of the branch target buffer 10 to search for a branch instruction. Reference circuit 1
Reference numeral 2 refers to the current branch prediction method of the instruction address determined by the comparison circuit 11 as a branch instruction.

【0042】アドレス生成回路13は、現在の分岐予測
方式により、テーブルの参照アドレスを生成するもので
ある。参照アドレスの生成については、後述する。グロ
ーバルヒストリーカウンタ14は、分岐命令がそこに到
るまでのパス情報を格納する。例えば、図5に示すよう
に、プログラム上の一連の分岐命令が、分岐した(ta
ken:1)か、分岐しないか(not taken:
0)かという情報を8ビット分保持し、分岐命令の実行
結果毎に更新して、シフトして、保持する。
The address generation circuit 13 generates a reference address of the table according to the current branch prediction method. The generation of the reference address will be described later. The global history counter 14 stores path information until the branch instruction reaches there. For example, as shown in FIG. 5, a series of branch instructions on a program is branched (ta
ken: 1) or not branch (not taken:
0) is held for 8 bits, updated for each execution result of the branch instruction, shifted, and held.

【0043】ローカルヒストリテーブル15は、現在の
分岐予測方式がローカルヒストリ−を用いた分岐予測を
示している時(「001)である時)に、使用される。
図4に示すように、ローカルヒストリーテーブル15
は、参照アドレスに対する分岐先アドレスと2ビットの
分岐予測状態(分岐するかしないか)の参照テーブルで
ある。
The local history table 15 is used when the current branch prediction method indicates a branch prediction using the local history (when it is "001").
As shown in FIG. 4, the local history table 15
Is a reference table of a branch destination address for a reference address and a 2-bit branch prediction state (whether or not to branch).

【0044】このローカルヒストリーテーブル15は、
各命令アドレス毎に、8ビットのローカルヒストリーデ
ータに応じて256通り作成される。従って、その命令
アドレスのローカルヒストリーテーブル15は、その命
令アドレスのローカルヒストリデータを参照アドレスと
して、分岐予測状態と分岐先アドレスが参照される。
This local history table 15 is
For each instruction address, 256 patterns are created in accordance with 8-bit local history data. Accordingly, in the local history table 15 of the instruction address, the branch prediction state and the branch destination address are referred to using the local history data of the instruction address as a reference address.

【0045】グローバルヒストリテーブル16は、現在
の分岐予測方式がグローバルヒストリ−を用いた分岐予
測を示している時に、使用される。図4に示すように、
グローバルヒストリーテーブル16は、参照アドレスに
対する分岐先アドレスと2ビットの分岐予測状態(分岐
するかしないか)の参照テーブルである。
The global history table 16 is used when the current branch prediction method indicates a branch prediction using global history. As shown in FIG.
The global history table 16 is a reference table of a branch destination address for a reference address and a 2-bit branch prediction state (whether or not to branch).

【0046】このグローバルヒストリーテーブル16
は、各命令アドレス毎に、8ビットのグローバルヒスト
リーデータに応じて256通り作成される。従って、そ
の命令アドレスのグローバルヒストリーテーブル16
は、その命令アドレスのグローバルヒストリデータを参
照アドレスとして、分岐予測状態と分岐先アドレスが参
照される。
This global history table 16
Are generated for each instruction address in accordance with 8-bit global history data. Therefore, the global history table 16 of the instruction address
The branch prediction state and the branch destination address are referred to using the global history data of the instruction address as a reference address.

【0047】ローカル+グローバルヒストリテーブル1
7は、現在の分岐予測方式がローカル+グローバルヒス
トリ−を用いた分岐予測を示している時に、使用され
る。図4に示すように、ローカル+グローバルヒストリ
ーテーブル17は、参照アドレスに対する分岐先アドレ
スと2ビットの分岐予測状態(分岐するかしないか)の
参照テーブルである。
Local + global history table 1
7 is used when the current branch prediction method indicates branch prediction using local + global history. As shown in FIG. 4, the local + global history table 17 is a reference table of a branch destination address for a reference address and a 2-bit branch prediction state (whether or not to branch).

【0048】このローカル+グローバルヒストリーテー
ブル17は、各命令アドレス毎に、8ビットのローカル
ヒストリーデータと8ビットのグローバルヒストリデー
タに応じて2562 通り作成される。従って、その命令
アドレスのローカル+グローバルヒストリーテーブル1
7は、その命令アドレスのローカルヒストリデータとグ
ローバルヒストリーデータを参照アドレスとして、分岐
予測状態と分岐先アドレスが参照される。
[0048] The local + global history table 17, for each instruction address, is created 256 two types depending on the 8 bits of the local history data and 8-bit global history data. Therefore, the local + global history table 1 of the instruction address
Reference numeral 7 refers to the branch prediction state and the branch destination address using the local history data and global history data of the instruction address as reference addresses.

【0049】グローバル+ローカルヒストリテーブル1
8は、現在の分岐予測方式がグローバル+ローカルヒス
トリ−を用いた分岐予測を示している時に、使用され
る。図4に示すように、グローバル+ローカルヒストリ
ーテーブル18は、参照アドレスに対する分岐先アドレ
スと2ビットの分岐予測状態(分岐するかしないか)の
参照テーブルである。
Global + local history table 1
8 is used when the current branch prediction method indicates branch prediction using global + local history. As shown in FIG. 4, the global + local history table 18 is a reference table of a branch destination address for a reference address and a 2-bit branch prediction state (whether or not to branch).

【0050】このグローバル+ローカルヒストリーテー
ブル18は、各命令アドレス毎に、8ビットのグローバ
ルヒストリーデータと8ビットのローカルヒストリーデ
ータに応じて2562 通り作成される。従って、その命
令アドレスのグローバル+ローカルヒストリーテーブル
18は、その命令アドレスのグローバルヒストリデータ
とローカルヒストリデータとを参照アドレスとして、分
岐予測状態と分岐先アドレスが参照される。
The global + local history table 18 is created for each instruction address in 256 2 ways in accordance with 8-bit global history data and 8-bit local history data. Therefore, the global + local history table 18 of the instruction address refers to the branch prediction state and the branch destination address using the global history data and the local history data of the instruction address as reference addresses.

【0051】状態更新回路19は、前述した比較回路6
(図1参照)からの比較結果により、4ビットの比較結
果データをシフトして、更新する。状態更新回路20
は、比較回路6の比較結果に応じて、2ビット予測の分
岐予測状態を更新する。
The state updating circuit 19 is provided with the comparing circuit 6 described above.
According to the comparison result from (see FIG. 1), the 4-bit comparison result data is shifted and updated. State update circuit 20
Updates the branch prediction state of 2-bit prediction according to the comparison result of the comparison circuit 6.

【0052】変更回路21は、4ビットの比較結果と、
「0000」とを比較して、分岐予測方式データを変更
する。比較結果は、分岐予測が成立した時は、「1」、
分岐予測が不成立の時は、「0」が格納される。従っ
て、過去4回連続して、分岐予測が不成立であった時
に、分岐予測方式データが、「1」インクリメントさ
れ、変更される。
The change circuit 21 compares the 4-bit comparison result with
Compare with “0000” to change the branch prediction method data. The comparison result is “1” when the branch prediction is established,
When the branch prediction is not established, “0” is stored. Therefore, the branch prediction method data is incremented by "1" and changed when the branch prediction is not established four times in the past.

【0053】例えば、図3に示すように、現在の分岐予
測方式が、2ビット予測方式(「000」であり、過去
4回連続して、分岐予測が不成立であった時には、分岐
予測方式データが「1」インクリメントされ、「00
1」(ローカルヒストリを用いた予測)に変更される。
For example, as shown in FIG. 3, when the current branch prediction method is the 2-bit prediction method (“000”) and the branch prediction has not been established four times in the past four times, Is incremented by “1” and “00”
1 "(prediction using local history).

【0054】以下、同様にして、現在の分岐予測方式
が、ローカルヒストリーを用いた予測方式(「00
1」)であり、過去4回して、分岐予測が不成立であっ
た時は、グローバルヒストリーを用いた予測方式(「0
10」)に変更される。
Hereinafter, similarly, the current branch prediction method is changed to the prediction method using the local history (“00”).
1)), and if the branch prediction was not taken four times in the past, the prediction method using the global history (“0
10 ").

【0055】次に、図2の動作を、図3乃至図5を用い
て、説明する。
Next, the operation of FIG. 2 will be described with reference to FIGS.

【0056】比較回路11は、フェッチされた命令アド
レスと、分岐先ターゲットバッファ10の命令アドレス
とを比較して、分岐命令を探す。参照回路12は、比較
回路11により、分岐命令と判定された命令アドレスの
現在の分岐予測方式を参照する。アドレス生成回路13
は、現在の分岐予測方式により、テーブルの参照アドレ
スを生成するものである。
The comparison circuit 11 compares the fetched instruction address with the instruction address of the branch target buffer 10 to search for a branch instruction. The reference circuit 12 refers to the current branch prediction method of the instruction address determined as a branch instruction by the comparison circuit 11. Address generation circuit 13
Generates a reference address of a table by the current branch prediction method.

【0057】即ち、アドレス生成回路13は、現在の分
岐予測方式が、2ビット予測方式(「000」)を示し
ている時は、フェッチした命令アドレスから分岐先ター
ゲットバッファ10の2ビット予測状態を参照し、その
予測アドレスを参照する。従って、過去の比較結果に応
じた分岐予測が行われる。
That is, when the current branch prediction method indicates the 2-bit prediction method (“000”), the address generation circuit 13 changes the 2-bit prediction state of the branch target buffer 10 from the fetched instruction address. Reference and refer to the predicted address. Therefore, branch prediction according to the past comparison result is performed.

【0058】アドレス生成回路13は、現在の分岐予測
方式が、ローカルヒストリーテーブルを用いた分岐予測
方式(「001」)を示している時は、フェッチした命
令アドレスに対応するローカルヒストリテーブル15を
指示し、且つ分岐先ターゲットバッファ10の8ビット
のローカルヒストリーデータを参照アドレスとして、ロ
ーカルヒストリテーブル15の2ビット予測状態を参照
し、その予測アドレスを参照する。従って、その分岐命
令の分岐した結果に応じた分岐予測が行われる。
When the current branch prediction method indicates a branch prediction method using a local history table ("001"), the address generation circuit 13 indicates the local history table 15 corresponding to the fetched instruction address. Then, using the 8-bit local history data of the branch target buffer 10 as a reference address, the 2-bit prediction state of the local history table 15 is referred to, and the prediction address is referred to. Therefore, a branch prediction according to the result of the branch of the branch instruction is performed.

【0059】アドレス生成回路13は、現在の分岐予測
方式が、グローバルヒストリーテーブルを用いた分岐予
測方式(「010」)を示している時は、フェッチした
命令アドレスに対応するグローバルヒストリテーブル1
6を指示し、且つグローバルヒストリーカウンタ14の
8ビットのグローバルヒストリーデータを参照アドレス
として、グローバルヒストリテーブル16の2ビット予
測状態を参照し、その予測アドレスを参照する。従っ
て、その分岐命令に到る履歴に応じた分岐予測が行われ
る。
When the current branch prediction method indicates a branch prediction method using a global history table (“010”), the address generation circuit 13 outputs the global history table 1 corresponding to the fetched instruction address.
6, and using the 8-bit global history data of the global history counter 14 as a reference address, refer to the 2-bit prediction state of the global history table 16 and refer to the prediction address. Therefore, branch prediction according to the history leading to the branch instruction is performed.

【0060】アドレス生成回路13は、現在の分岐予測
方式が、ローカル+グローバルヒストリーテーブルを用
いた分岐予測方式(「011」)を示している時は、フ
ェッチした命令アドレスに対応するローカル+グローバ
ルヒストリテーブル17を指示し、且つ8ビットのロー
カルヒストリデータを前に、グローバルヒストリーカウ
ンタ14の8ビットのグローバルヒストリーデータを後
にした16ビットの参照アドレスにより、ローカル+グ
ローバルヒストリテーブル17の2ビット予測状態を参
照し、その予測アドレスを参照する。従って、その分岐
結果とその分岐命令に到る履歴とを組み合わせた分岐予
測が行われる。
When the current branch prediction method indicates the branch prediction method using the local + global history table (“011”), the address generation circuit 13 generates the local + global history corresponding to the fetched instruction address. The 2-bit prediction state of the local + global history table 17 is indicated by a 16-bit reference address indicating the table 17 and preceding the 8-bit local history data with the 8-bit global history data of the global history counter 14. Reference and refer to the predicted address. Therefore, branch prediction is performed by combining the result of the branch and the history leading to the branch instruction.

【0061】アドレス生成回路13は、現在の分岐予測
方式が、グローバル+ローカルヒストリーテーブルを用
いた分岐予測方式(「100」)を示している時は、フ
ェッチした命令アドレスに対応するグローバル+ローカ
ルヒストリテーブル18を指示し、且つ8ビットのグロ
ーバルヒストリデータを前に、8ビットのローカルヒス
トリーデータを後にした16ビットの参照アドレスによ
り、グローバル+ローカルヒストリテーブル18の2ビ
ット予測状態を参照し、その予測アドレスを参照する。
従って、その分岐結果とその分岐命令に到る履歴とを組
み合わせた分岐予測が行われる。
When the current branch prediction method indicates the branch prediction method using the global + local history table (“100”), the address generation circuit 13 sets the global + local history corresponding to the fetched instruction address. The 2-bit prediction state of the global + local history table 18 is referred to by referring to the table 18 and referring to the 16-bit reference address that precedes the 8-bit global history data and the 8-bit local history data. Look up the address.
Therefore, branch prediction is performed by combining the result of the branch and the history leading to the branch instruction.

【0062】そして、分岐命令の予測結果と、実行され
た分岐命令の実行結果の比較結果は、過去4回分順次分
岐先ターゲットバッファ10の比較結果データとして、
保持される。この比較結果データは、更新毎に、変更回
路21により、4回連続して、予測が不成立か否かが判
定される。そして、分岐命令の比較結果が、4回連続し
て、不成立なら、分岐先ターゲットバッファ10の分岐
予測方式データが、図3に示すように、順次変更され
る。
The result of comparison between the prediction result of the branch instruction and the execution result of the executed branch instruction is obtained as comparison result data of the branch target buffer 10 for the past four times.
Will be retained. The comparison result data is determined by the change circuit 21 four times consecutively for each update to determine whether or not prediction is not established. If the comparison result of the branch instruction is not satisfied for four consecutive times, the branch prediction method data of the branch target buffer 10 is sequentially changed as shown in FIG.

【0063】このようにして、過去の分岐命令の比較結
果に応じて、過去の比較結果を元にした2ビット予測方
式、過去の分岐結果を元にしたローカルヒストリー予測
方式、その分岐命令に到るパス情報を元にしたグローバ
ルヒストリー予測方式、過去の分岐結果とその分岐命令
に到るパス情報を元にしたローカル+グローバル及びグ
ローバル+ローカルヒストリー予測方式が選択される。
As described above, according to the comparison result of the past branch instruction, the 2-bit prediction method based on the past comparison result, the local history prediction method based on the past branch result, and the branch instruction are reached. Global and local + global and global + local history prediction systems based on past branch results and path information leading to the branch instruction.

【0064】即ち、過去の分岐命令の比較結果に応じ
て、異なる分岐予測方式が選択されることになる。この
ため、プログラムに適した分岐予測方式が選択されるた
め、分岐予測の正解確率が高くなる。分岐命令の正確確
率が高くなるため、命令の先行実行を積極的に行って
も、パイプラインの乱れを最小限にでき、プロセッサの
実行能力を高めることができる。
That is, a different branch prediction method is selected according to the result of comparison of past branch instructions. Therefore, the branch prediction method suitable for the program is selected, and the probability of correct answer of the branch prediction increases. Since the accuracy of the branch instruction is high, even if the instruction is pre-executed aggressively, the disturbance of the pipeline can be minimized, and the execution capability of the processor can be increased.

【0065】又、過去の比較結果を元にした2ビット予
測方式、過去の分岐結果を元にしたローカルヒストリー
予測方式、その分岐命令に到るパス情報を元にしたグロ
ーバルヒストリー予測方式、過去の分岐結果とその分岐
命令に到るパス情報を元にしたローカル+グローバル及
びグローバル+ローカルヒストリー予測方式という異な
る種類の予測方式を適用できるため、プログラムに対す
る分岐命令の分岐予測の正確確率の高い予測方式を自動
的に適用できる。
Also, a 2-bit prediction method based on a past comparison result, a local history prediction method based on a past branch result, a global history prediction method based on path information leading to the branch instruction, a Since different types of prediction methods, that is, local + global and global + local history prediction methods based on a branch result and path information leading to the branch instruction, can be applied, a prediction method with a high accuracy of branch instruction branch prediction for a program is provided. Can be applied automatically.

【0066】更に、過去の分岐命令の比較結果を複数回
保持して、複数回の結果を元に分岐予測方式を選択して
いるため、正解率の高い分岐予測方式を選択することが
できる。
Furthermore, since the comparison result of the past branch instruction is held a plurality of times and the branch prediction method is selected based on the result of the plurality of times, a branch prediction method having a high accuracy rate can be selected.

【0067】しかも、各分岐命令に応じた分岐予測方式
を適用しているため、各分岐命令の振る舞いに応じた、
分岐予測が可能となり、各分岐命令に対し、正確な分岐
予測が可能となる。
Further, since the branch prediction method according to each branch instruction is applied,
Branch prediction becomes possible, and accurate branch prediction becomes possible for each branch instruction.

【0068】上述の実施の態様の他に、本発明は、次の
ような変形が可能である。
In addition to the above-described embodiment, the present invention can be modified as follows.

【0069】前述の実施の態様では、5種類の分岐予
測方式を選択できるようにした例で説明したが、最低2
種類の分岐予測方式を選択できるようなものであれば良
く、実施の態様のものに限られない。
In the above-described embodiment, an example has been described in which five types of branch prediction methods can be selected.
Any type of branch prediction method can be selected, and the present invention is not limited to the embodiment.

【0070】プロセッサを、フェッチ、デコード、実
行の3ステージのもので説明したが、それ以上のステー
ジを有するものにも適用できる。
Although the processor has been described as having three stages of fetch, decode, and execute, the present invention can be applied to a processor having more stages.

【0071】以上、本発明を実施の形態により説明した
が、本発明の主旨の範囲内で種々の変形が可能であり、
これらを本発明の範囲から排除するものではない。
Although the present invention has been described with reference to the embodiment, various modifications are possible within the scope of the present invention.
They are not excluded from the scope of the present invention.

【0072】[0072]

【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。
As described above, according to the present invention,
The following effects are obtained.

【0073】分岐予測方式の異なる複数の分岐予測機
構を設け、且つ分岐命令の予測結果と実行結果との比較
に基づいて、分岐予測機構を選択するため、各種のプロ
グラムに対し、正確な分岐予測を行うことができる。
A plurality of branch prediction mechanisms having different branch prediction methods are provided, and a branch prediction mechanism is selected based on a comparison between a prediction result and an execution result of a branch instruction. It can be performed.

【0074】このため、命令の先行実行を積極的に行
っても、パイプラインの乱れを最小限にでき、プロセッ
サの性能向上に寄与する。
Therefore, even if the pre-execution of the instruction is actively performed, the disturbance of the pipeline can be minimized, which contributes to the improvement of the performance of the processor.

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

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

【図2】本発明の一実施の形態の構成図である。FIG. 2 is a configuration diagram of an embodiment of the present invention.

【図3】本発明の一実施の形態の分岐予測手法の説明図
である。
FIG. 3 is an explanatory diagram of a branch prediction method according to an embodiment of the present invention.

【図4】本発明の一実施の形態の分岐予測手法選択の説
明図である。
FIG. 4 is an explanatory diagram of selection of a branch prediction method according to an embodiment of the present invention.

【図5】本発明の一実施の形態のグローバルヒストリー
テーブルの説明図である。
FIG. 5 is an explanatory diagram of a global history table according to an embodiment of the present invention.

【図6】従来技術の構成図である。FIG. 6 is a configuration diagram of a conventional technique.

【図7】従来の予測回路の構成図である。FIG. 7 is a configuration diagram of a conventional prediction circuit.

【図8】分岐命令の説明図である。FIG. 8 is an explanatory diagram of a branch instruction.

【図9】従来の分岐予測手法の説明図である。FIG. 9 is an explanatory diagram of a conventional branch prediction method.

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

1 命令メモリ 2 フェッチ回路 3 デコード回路 4 実行回路 5 命令予測回路(装置) 6 比較回路 7 命令カウンタ DESCRIPTION OF SYMBOLS 1 Instruction memory 2 Fetch circuit 3 Decode circuit 4 Execution circuit 5 Instruction prediction circuit (device) 6 Comparison circuit 7 Instruction counter

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 命令メモリの命令をフェッチするフェッ
チ回路と、前記フェッチ回路の命令をデコードするデコ
ード回路と、前記デコードされた命令を実行する実行回
路とが、パイプライン接続されてなり、命令の先行実行
を行うプロセッサのための分岐命令の次の命令を予測す
る分岐命令予測装置において、 前記分岐命令の過去の実行結果に基づいて、第1の予測
方式により、前記次の命令を予測するための第1の予測
機構と、 前記分岐命令の過去の実行結果に基づいて、前記第1の
予測方式と異なる第2の予測方式により、前記次の命令
を予測するための第2の予測機構と、 前記予測結果と前記分岐命令の実行結果との比較結果に
応じて、前記第1の予測機構又は第2の予測機構とを選
択する選択機構とを有することを特徴とするプロセッサ
の分岐命令予測装置。
1. A fetch circuit for fetching an instruction in an instruction memory, a decode circuit for decoding the instruction of the fetch circuit, and an execution circuit for executing the decoded instruction are connected in a pipeline, and A branch instruction prediction device for predicting an instruction next to a branch instruction for a processor performing pre-execution, comprising: a first prediction method for predicting the next instruction based on a past execution result of the branch instruction. And a second prediction mechanism for predicting the next instruction by a second prediction method different from the first prediction method based on a past execution result of the branch instruction. A selection mechanism for selecting the first prediction mechanism or the second prediction mechanism in accordance with a comparison result between the prediction result and the execution result of the branch instruction. Sass branch instruction prediction device.
【請求項2】 請求項1のプロセッサの分岐命令予測装
置において、 前記第1の予測機構が、前記分岐命令の前回の分岐結果
に応じて、次の命令を予測する機構であることを特徴と
するプロセッサの分岐命令予測装置。
2. The branch instruction prediction device for a processor according to claim 1, wherein the first prediction mechanism is a mechanism that predicts a next instruction according to a previous branch result of the branch instruction. Instruction predictor of the processor to be executed.
【請求項3】 請求項1又は2のプロセッサの分岐命令
予測装置において、 前記第2の予測機構が、前記分岐命令の実行履歴から、
次の命令を予測する機構であることを特徴とするプロセ
ッサの分岐命令予測装置。
3. The branch instruction prediction device for a processor according to claim 1 or 2, wherein the second prediction mechanism calculates an execution history of the branch instruction.
A branch instruction prediction device for a processor, which is a mechanism for predicting a next instruction.
【請求項4】 請求項1又は2のプロセッサの分岐命令
予測装置において、 前記第2の予測機構が、前記分岐命令に到る実行パス上
の分岐命令の実行状態により、次の命令を予測する機構
であることを特徴とするプロセッサの分岐命令予測装
置。
4. The branch instruction prediction device for a processor according to claim 1, wherein said second prediction mechanism predicts a next instruction based on an execution state of a branch instruction on an execution path leading to said branch instruction. A branch instruction prediction device for a processor, characterized by being a mechanism.
【請求項5】 請求項1又は2又は3又は4のプロセッ
サの分岐命令予測装置において、 前記選択機構は、前記予測結果と前記分岐命令の実行結
果との過去の比較結果を複数回保持する機構を有し、前
記複数回の比較結果により、前記第1の予測機構又は第
2の予測機構を選択することを特徴とするプロセッサの
分岐命令予測装置。
5. The branch instruction prediction device for a processor according to claim 1, wherein said selection mechanism holds a past comparison result between said prediction result and an execution result of said branch instruction a plurality of times. Wherein the first prediction mechanism or the second prediction mechanism is selected based on a result of the plurality of comparisons.
JP25825996A 1996-09-30 1996-09-30 Device of predicting branch instruction of processor Withdrawn JPH10105401A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25825996A JPH10105401A (en) 1996-09-30 1996-09-30 Device of predicting branch instruction of processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25825996A JPH10105401A (en) 1996-09-30 1996-09-30 Device of predicting branch instruction of processor

Publications (1)

Publication Number Publication Date
JPH10105401A true JPH10105401A (en) 1998-04-24

Family

ID=17317754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25825996A Withdrawn JPH10105401A (en) 1996-09-30 1996-09-30 Device of predicting branch instruction of processor

Country Status (1)

Country Link
JP (1) JPH10105401A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015144001A (en) * 2006-06-29 2015-08-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated Methods and apparatus for proactive branch target address cache management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015144001A (en) * 2006-06-29 2015-08-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated Methods and apparatus for proactive branch target address cache management

Similar Documents

Publication Publication Date Title
KR100395763B1 (en) A branch predictor for microprocessor having multiple processes
US5687360A (en) Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction
US5530825A (en) Data processor with branch target address cache and method of operation
US6553488B2 (en) Method and apparatus for branch prediction using first and second level branch prediction tables
JP3565504B2 (en) Branch prediction method in processor and processor
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
JP3594506B2 (en) Microprocessor branch instruction prediction method.
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
US20010011346A1 (en) Branch prediction method, arithmetic and logic unit, and information processing apparatus
US10664280B2 (en) Fetch ahead branch target buffer
US7647488B2 (en) Information processing device with branch history restoration
US7793078B2 (en) Multiple instruction set data processing system with conditional branch instructions of a first instruction set and a second instruction set sharing a same instruction encoding
KR100317240B1 (en) Branch predictor using branch prediction accuracy history
JPH08320788A (en) Pipeline system processor
US20020019927A1 (en) Apparatus for issuing an instruction to a suitable issue destination
JP3725547B2 (en) Limited run branch prediction
US5644759A (en) Apparatus and method for processing a jump instruction preceded by a skip instruction
US7454602B2 (en) Pipeline having bifurcated global branch history buffer for indexing branch history table per instruction fetch group
EP0423726A2 (en) Branch control circuit
JPH10105401A (en) Device of predicting branch instruction of processor
KR920006770B1 (en) System for controlling instruction fetch controlling
JPH04287125A (en) Information processor
JP2001100994A (en) Device and method for instruction processing controlling branch instruction changing mode
WO2002039272A9 (en) Method and apparatus for reducing branch latency
JPH07262006A (en) Data processor with branch target address cache

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031202