JP2000293373A - 分岐予測装置 - Google Patents

分岐予測装置

Info

Publication number
JP2000293373A
JP2000293373A JP11103706A JP10370699A JP2000293373A JP 2000293373 A JP2000293373 A JP 2000293373A JP 11103706 A JP11103706 A JP 11103706A JP 10370699 A JP10370699 A JP 10370699A JP 2000293373 A JP2000293373 A JP 2000293373A
Authority
JP
Japan
Prior art keywords
prediction
branch
result
counter
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11103706A
Other languages
English (en)
Inventor
Yonetaro Totsuka
米太郎 戸塚
Yoshio Miki
良雄 三木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11103706A priority Critical patent/JP2000293373A/ja
Priority to US09/544,480 priority patent/US6640298B1/en
Publication of JP2000293373A publication Critical patent/JP2000293373A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3848Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】少量のハードウェアで分岐成立と不成立が交互
に連続するパターンを正しく予測する分岐予測装置を実
現する。 【解決手段】分岐命令毎に1ビットの履歴ビットと2ビ
ットのカウンタを保持する分岐予測表100と、そのカウ
ンタの値が0または2の場合は、その履歴ビットの値を出
力し、そのカウンタの値が1または3の場合は、その履歴
ビットの値を反転して出力する予測出力部101と、分岐
結果と履歴ビットの値を比較し, 一致した場合はそのカ
ウンタの値を0にし、一致しなかった場合はそのカウン
タの値が3以外ならばそのカウンタ値を1増加するカウン
タ制御部102を備える。 【効果】上記課題が解決される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプロセッサが命令列
を実行時に、その中に含まれる分岐命令が分岐するか否
かをその分岐命令の実行前に予測する方法または装置に
関する。
【0002】
【従来の技術】現在の一般のプロセッサでは命令列を実
行する際にパイプライン方式を利用して、トータルのス
ループットを高めている。しかし、単にパイプライン方
式を採用しただけでは命令列中に分岐命令が存在する
と、分岐命令の実行が完了するまで分岐先の命令がわか
らないため、パイプラインに空きが生じ性能が低下す
る。特に最近の多数の命令を同時実行するスーパスカラ
型のプロセッサでは、この性能低下が甚大である。そこ
で、分岐命令をフェッチする段階で、その分岐命令が分
岐成立するか否かをあらかじめ予測することにより、次
の命令のフェッチをすぐに可能にすることで予測が当た
った場合には性能低下を防いでいる。この技術は分岐予
測と呼ばれており、文献 "Computer Architecture: A Q
uantitative Approach 2nd.Edition"(Morgan Kaufmann
Publishers, Inc. 1996)等に詳しく記載されている。
【0003】それによると分岐予測機構は、分岐命令の
アドレスの下位ビットによりアクセスされる分岐予測バ
ッファにより実現される。分岐予測バッファの各エント
リは2ビット情報を保持するカウンタ等で構成され、分
岐命令の成立か不成立かの結果により図2(a)または(b)
に示す状態遷移図に従って更新される。図2では状態 3
00から303はカウンタの値と1対1に対応し、これらの状
態を結ぶ矢印に付けられたtまたはnは状態の遷移条件を
表している。予測時にはこのカウンタの値を参照し、状
態300または状態301の時は分岐成立と予測し、状態302
または状態303の時は分岐不成立と予測している。この
2ビット・カウンタを利用した予測方法により、分岐が
成立か不成立のどちらかに偏った分岐命令に対しては、
正答率の高い予測を行なうことができる。
【0004】さらに予測正当率を高めるために、この2
ビット・カウンタを分岐命令毎ではなく、各分岐命令の
履歴のパターン毎に対応させた分岐予測方法も利用され
ている。この場合、上記の分岐予測表に加えて、分岐命
令毎に過去数回分の分岐結果を保持する分岐履歴表が必
要になり、予測は分岐命令のアドレスの下位ビットによ
り分岐履歴表の履歴パターンを参照し、それにより分岐
予測表の2ビット・カウンタを参照することによって行
なわれる。
【0005】また、上記の分岐予測方法以外に、全ての
分岐命令の統括的な履歴(グローバル履歴)のパターンに
対応づけた2ビット・カウンタに基づいて予測を行なう
予測方法も利用されている。
【0006】Microprocessor Report(10/28/96)に記載
されたマイクロプロセッサは、上記の2種類の分岐予測
方法を利用しており、その記載によると図3に示す構成
をしている。分岐命令毎のローカル履歴400を用いるロ
ーカル予測401とグローバル履歴402を用いるグローバル
予測403によるそれぞれの予測結果のどちらかをグロー
バル履歴402に基づく選択予測404により選択している。
【0007】
【発明が解決しようとする課題】従来の分岐命令毎の2
ビット・カウンタに基づいた分岐予測方法では、ある分
岐命令において分岐の成立と不成立が交互に連続するパ
ターンを正しく予測することができず、少なくとも予測
の半分は外れることになる。各分岐命令の履歴毎にカウ
ンタを用いる予測方法ではこのような分岐パターンも対
処可能であるが、各分岐命令の履歴の保持とそれに対応
したカウンタ数の増加のためにハードウェア量が大幅に
増加する。
【0008】本発明では、従来の分岐予測方法が得意と
していた分岐成立か不成立のどちらかに偏った分岐パタ
ーンの予測性能を維持したまま, 分岐成立と不成立が交
互に連続するパターンを正しく予測する分岐予測装置を
少量のハードウェアの追加で提供することを目的とす
る。
【0009】また、ローカル分岐予測とグローバル分岐
予測といった2つの予測結果から1つを選択する際に従来
のグローバル履歴に基づいた選択では、個別の分岐命令
にどちらかの予測方法を好む特徴があったとしてもそれ
を直接的に利用した選択ができない。
【0010】本発明では、上記の分岐予測装置とグロー
バル分岐予測装置の二つを備え、分岐命令個別の特徴に
基づいた予測方法の選択を可能にする分岐予測装置を提
供することを目的とする。
【0011】
【課題を解決するための手段】分岐命令毎に分岐成立か
不成立かの結果により更新される1ビットの履歴ビット
と2ビットのカウンタを保持する分岐予測表と、ある分
岐命令に対して、前記カウンタの値が0または2の場合
は、前記履歴ビットの値を予測結果として出力し、その
カウンタの値が1または3の場合は、その履歴ビットを反
転した値を予測結果として出力する予測出力部と、ある
分岐命令に対して、その結果と前記履歴ビットの更新前
の値を比較し、一致した場合は前記カウンタの値を0に
し、一致しなかった場合は前記カウンタの値が3以外な
らばその値を1増加するカウンタ制御部を備える。
【0012】また、分岐命令毎に3ビットの予測ビット
を保持する分岐予測表と、前記予測ビットの状態がある
4状態のうちの1つにある時に分岐成立と予測結果を出力
し、前記4状態とは別の4状態のうちの1つにある時に分
岐不成立と予測結果を出力する予測出力部と、前記予測
出力部が、ある分岐命令の結果が、その分岐命令の前回
の結果と同じであった場合は次回その分岐命令が現れた
時に今回の分岐結果と同一の予測結果を出力し、ある分
岐命令の結果が、その分岐命令の前回の結果と逆であっ
た場合、かつ、それが1回または3回以上連続している
場合は次回その分岐命令が現れた時に今回の分岐結果と
逆に予測結果を出力し、ある分岐命令の結果が、その分
岐命令の前回の結果と逆であった場合、かつ、それが2
回連続している場合は次回その分岐命令が現れた時に今
回の分岐結果と同一に予測結果を出力するように前記予
測ビットを更新する予測ビット制御部を備える。
【0013】また、請求項1または請求項2記載の第1
の分岐予測装置と全ての分岐命令の統括的な履歴に基づ
いて予測を行なう第2の分岐予測装置と前記第1と第2
の分岐予測装置による予測の正誤により更新される情報
を保持する予測選択表と前記予測選択表の情報に基づい
て前記第1と第2の分岐予測装置による予測から 1つを
選択するセレクタを備える。
【0014】また、分岐命令毎にカウンタを保持する前
記予測選択表と前記第1の分岐予測装置による予測が正
当だった場合に前記カウンタをインクリメントし、前記
第2の分岐予測装置による予測が正当だった場合に前記
カウンタをデクリメントする選択表制御部を備える。
【0015】
【発明の実施の形態】以下本発明の実施例を図面を参照
しながら説明する。
【0016】図1は本発明の第1 の実施例を実現する
分岐予測装置のブロック図である。
【0017】分岐履歴表100の各エントリは1ビットの
履歴ビットと2ビット・カウンタで構成される。この表
は分岐命令のアドレスの下位ビットによりアクセスさ
れ、履歴ビットと2ビット・カウンタの値を予測出力部
101とカウンタ制御部102に出力する。履歴ビットは分岐
結果により更新され、2ビット・カウンタはカウンタ制
御部102により更新される。分岐結果は分岐命令の実行
結果が確定すると、分岐成立の場合1、分岐不成立の場
合0の信号として分岐履歴表100とカウンタ制御部102に
伝えられる。
【0018】カウンタ制御部102は分岐命令の実行結果
が確定した時にその結果と分岐予測表100から更新前の
履歴ビットと2ビット・カウンタの値を受け取り、この
カウンタを図4に示す状態遷移図に従って更新するよう
に制御する。図4では、状態500から503の4つの状態は
それぞれカウンタの値0から3に対応し、これらの状態を
結ぶ矢印に付けられたaまたはbは状態の遷移条件を表し
ている。例えば、状態501で分岐結果が前回と逆、即ち
前回が分岐成立(履歴ビットが1)で今回が分岐不成立(分
岐結果が0)、または、前回が分岐不成立(履歴ビットが
0)で今回が分岐成立(分岐結果が1)の場合、状態502に遷
移し、この時カウンタは1から2に更新される。他の状態
間の遷移についても同様である。
【0019】予測出力部101は分岐命令の予測時に分岐
予測表100から2ビット・カウンタ値を受け取り、その
カウンタの値が0または2の場合(状態500または502)には
履歴ビットの値をそのまま出力することにより、前回の
分岐結果と同一に予測し、カウンタの値が1または3の場
合(状態501または503)の場合には履歴ビットの値を反転
して出力することにより、前回の分岐結果と逆に予測す
る。
【0020】この第1の実施例において、分岐成立と不
成立が連続するパターンを示す分岐命令の予測結果は次
のようになる。ここで、分岐パターンを TNTNTN...(Tは
分岐成立,Nは分岐不成立)と表現することにする。今、
分岐予測表100の履歴ビットは0であり、カウンタ値は0
であるとする。この状態での予測は分岐不成立である
が、最初の分岐結果はTであるため予測は外れる。その
時履歴ビットは1になり、カウンタは1になる。次の予測
は分岐不成立であるが、分岐結果はNであるため予測は
当たり、履歴ビットは0、カウンタは2になる。同様にし
て次の予測は外れ、履歴ビットは1、カウンタは3にな
る。次の予測は分岐不成立であり、分岐結果はNである
ため予測は当たり、履歴ビットは 0、カウンタは 3 の
ままである。これ以降分岐結果がTNTN...と続く限り予
測は当たる。
【0021】また、別の分岐パターンとして成立または
不成立が連続する場合は分岐履歴表 100のカウンタ値は
すぐに0(状態500)に遷移するためそれ以降の予測は当た
る。
【0022】このように本発明では、従来の2ビット・
カウンタに1ビットの履歴ビットを付化するだけの少量
のハードウェアの追加により、分岐成立か不成立かどち
らかに偏った分岐パターンに対する予測性能を従来の分
岐予測装置と同程度に維持したまま、分岐成立と不成立
が交互に連続するパターンを正しく予測することが可能
である。
【0023】図5は本発明の第2 の実施例を実現する
分岐予測装置のブロック図である。
【0024】分岐履歴表600の各エントリは3ビットの
予測ビットで構成される。この表は分岐命令のアドレス
の下位ビットによりアクセスされ、予測ビットを予測出
力部601と予測ビット制御部602に出力する。この予測ビ
ットは予測ビット制御部602により更新される。
【0025】予測ビット制御部602は、分岐命令の実行
結果が確定した時に前記図4と同様の分岐結果と、分岐
予測表600からの予測ビットの値を受け取り、図6に示
す状態遷移図にしたがって予測ビットを更新する。状態
700から707の8つの状態は3ビットの予測ビットで表現
される状態に1対1に対応する。例えば、予測ビットの値
0から7がそれぞれ順に状態700から707に対応する。これ
らの状態を結ぶ矢印に付けられたtまたはnは状態の遷移
条件を表している。例えば、状態701で分岐成立の場
合、状態702に遷移し、この時予測ビットは1から2に更
新される。他の状態間の遷移の場合も同様である。
【0026】予測出力部601は分岐命令の予測をする時
に分岐予測表600から予測ビットの値を受け取り、その
値が図6における状態700から状態703のいずれかに対応
する場合には分岐成立の予測結果を出力し、その予測ビ
ットの値が状態704から状態707のいずれかに対応する場
合には分岐不成立の予測結果を出力する。
【0027】この第2の実施例は第1の実施例と同一の
予測をする機能的に等価な分岐予測装置であり、必要な
ハードウェア量も等しい。
【0028】図7は本発明の第3の実施例を実現する分
岐予測装置のブロック図である。
【0029】分岐予測装置A800は前記第1または第2の
実施例の分岐予測装置である。分岐予測装置B802は全て
の分岐命令の統括的な履歴であるグローバル履歴801に
基づいて予測を行なうグローバル分岐予測装置である。
予測選択表803は飽和型のアップダウン・カウンタから
構成され、分岐予測装置Aと同様に分岐命令アドレスの
下位ビットによりアクセスされる。
【0030】分岐命令の予測をする時に分岐予測装置A8
00と分岐予測装置B802はそれぞれの予測方法により予測
を行ない、その結果を予測結果Aと予測結果Bに出力す
る。予測結果Aと予測結果Bはそれぞれラッチ806, 807に
保持される。同時に予測選択表はカウンタの最上位ビッ
トをセレクタ804に出力し、セレクタ 804 はその最上位
ビットが1であれば、予測結果Aを選択し、最上位ビット
が0であれば予測結果Bを選択し、最終的な予測結果を出
力する。
【0031】分岐命令の実行結果が確定した時に、分岐
結果は分岐予測装置A800、グローバル履歴801、分岐予
測装置B802、選択表制御部805に伝えられる。それに従
い、グローバル履歴 801 は履歴を更新し、分岐予測装
置A800と分岐予測装置B802は前記第1、第2の実施例と
同様にそれぞれの予測表を更新する。選択表制御部805
は分岐結果とラッチ806,807より予測結果Aと予測結果B
を受け取り、分岐結果とそれぞれの予測結果を比較す
る。分岐結果と予測結果Aが等しく、かつ分岐結果と予
測結果Bが異なる場合は予測選択表803のカウンタをイン
クリメントし、分岐結果と予測結果Aが異なり、かつ分
岐結果と予測結果Bが等しい場合は予測選択表803のカウ
ンタをデクリメントする。ラッチ806,807は分岐命令の
予測時からその結果確定までに数サイクルかかり、その
間に別の分岐命令の予測が行なわれる場合は、複数の予
測結果を保持するキューを構成する。
【0032】このようにして本発明では、上記の分岐予
測装置とグローバル分岐予測装置の二つを備え、分岐命
令個別の特徴に基づいた選択を可能にする分岐予測装置
を実現する。
【0033】上記第1から第3の実施例は、分岐成立か
不成立かの予測のみを行なう分岐予測装置であるが、さ
らに分岐先命令のアドレスを出力する分岐予測装置に対
しても、その分岐成立か不成立かの予測をする部分に対
して本発明は適用可能である。
【0034】
【発明の効果】以上のように本発明によれば、従来の2
ビット・カウンタに1ビットさらに追加するだけの少量
のハードウェアの追加により、分岐成立か不成立かどち
らかに偏った分岐パターンに対する予測性能を従来の分
岐予測装置と同程度に維持したまま、分岐成立と不成立
が交互に連続するパターンを正しく予測することが可能
である。さらに上記の分岐予測装置とグローバル分岐予
測装置の二つを備え、分岐命令個別の特徴に基づいた選
択を可能にする分岐予測装置を実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における分岐予測装置の
ブロック図である。
【図2】従来の分岐予測装置に使用されている2ビット
・カウンタの状態遷移図である。
【図3】従来の分岐予測装置のブロック図である。
【図4】本発明の第1の実施例に使用するカウンタの状
態遷移図である。
【図5】本発明の第2の実施例における分岐予測装置の
ブロック図である。
【図6】本発明の第2の実施例に使用する予測ビットの
状態遷移図である。
【図7】本発明の第3の実施例における分岐予測装置の
ブロック図である。
【符号の説明】
100, 600: 分岐予測表 101, 601: 予測出力部 102: カウンタ制御部 500-503, 700-707: カウンタまたは予測ビットの状態 602: 予測ビット制御部 800, 802: 分岐予測装置 801: グローバル履歴 803: 予測選択表 804: セレクタ 805: 選択表制御部 806, 807: ラッチ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】分岐命令毎に分岐成立か不成立かの結果に
    より更新される1ビットの履歴ビットと2ビットのカウ
    ンタを保持する分岐予測表と、 ある分岐命令に対して、前記カウンタの値が0または2の
    場合は、前記履歴ビットの値を予測結果として出力し、
    そのカウンタの値が1または3の場合は、その履歴ビット
    を反転した値を予測結果として出力する予測出力部と、 ある分岐命令に対して、その結果と前記履歴ビットの更
    新前の値を比較し、一致した場合は前記カウンタの値を
    0にし、一致しなかった場合は前記カウンタの値が3以外
    ならばその値を1増加するカウンタ制御部を備えること
    を特徴とする分岐予測装置。
  2. 【請求項2】分岐命令毎に3ビットの予測ビットを保持
    する分岐予測表と、 前記予測ビットの状態がある4状態のうちの1つにある時
    に分岐成立と予測結果を出力し、前記4状態とは別の4状
    態のうちの1つにある時に分岐不成立と予測結果を出力
    する予測出力部と、 前記予測出力部が、ある分岐命令の結果が、その分岐命
    令の前回の結果と同じであった場合は次回その分岐命令
    の予測時に今回の分岐結果と同一の予測結果を出力し、
    ある分岐命令の結果が、その分岐命令の前回の結果と逆
    であった場合、かつ、それが1回または3回以上連続し
    ている場合は次回その分岐命令の予測時に今回の分岐結
    果と逆に予測結果を出力し、ある分岐命令の結果が、そ
    の分岐命令の前回の結果と逆であった場合、かつ、それ
    が2回連続している場合は次回その分岐命令の予測時に
    今回の分岐結果と同一に予測結果を出力するように前記
    予測ビットを更新する予測ビット制御部を備えることを
    特徴とする分岐予測装置。
  3. 【請求項3】分岐命令毎に3ビットの予測ビットを保持
    する分岐予測表と、分岐命令毎に分岐成立か不成立かの
    結果により更新される1ビットの履歴ビットと2ビット
    のカウンタを保持する分岐予測表と、ある分岐命令に対
    して、前記カウンタの値が0または2の場合は、前記履歴
    ビットの値を予測結果として出力し、そのカウンタの値
    が1または3の場合は、その履歴ビットを反転した値を予
    測結果として出力する予測出力部と、ある分岐命令に対
    して、その結果と前記履歴ビットの更新前の値を比較
    し、一致した場合は前記カウンタの値を0にし、一致し
    なかった場合は前記カウンタの値が3以外ならばその値
    を1増加するカウンタ制御部を備える第1の分岐予測装
    置、 全ての分岐命令の統括的な履歴に基づいて予測を行なう
    第2の分岐予測装置、前記第1、第2の分岐予測装置に
    よる予測の正誤により更新される情報を保持する予測選
    択表、及び前記予測選択表の情報に基づいて前記第1、
    第2の分岐予測装置による予測から1つを選択するセレ
    クタとを備えることを特徴とする分岐予測装置。
  4. 【請求項4】分岐命令毎に3ビットの予測ビットを保持
    する分岐予測表と、前記予測ビットの状態がある4状態
    のうちの1つにある時に分岐成立と予測結果を出力し、
    前記4状態とは別の4状態のうちの1つにある時に分岐不
    成立と予測結果を出力する予測出力部と、前記予測出力
    部が、ある分岐命令の結果が、その分岐命令の前回の結
    果と同じであった場合は次回その分岐命令の予測時に今
    回の分岐結果と同一の予測結果を出力し、ある分岐命令
    の結果が、その分岐命令の前回の結果と逆であった場
    合、かつ、それが1回または3回以上連続している場合
    は次回その分岐命令の予測時に今回の分岐結果と逆に予
    測結果を出力し、ある分岐命令の結果が、その分岐命令
    の前回の結果と逆であった場合、かつ、それが2回連続
    している場合は次回その分岐命令の予測時に今回の分岐
    結果と同一に予測結果を出力するように前記予測ビット
    を更新する予測ビット制御部を備える第1の分岐予測装
    置、 全ての分岐命令の統括的な履歴に基づいて予測を行なう
    第2の分岐予測装置、 前記第1、第2の分岐予測装置による予測の正誤により
    更新される情報を保持する予測選択表、及び前記予測選
    択表の情報に基づいて前記第1と第2の分岐予測装置に
    よる予測から1つを選択するセレクタを備えることを特
    徴とする分岐予測装置。
  5. 【請求項5】分岐命令毎にカウンタを保持する前記予測
    選択表と前記第1の分岐予測装置による予測が正当だっ
    た場合に前記カウンタをインクリメントし、前記第2の
    分岐予測装置による予測が正当だった場合に前記カウン
    タをデクリメントする選択表制御部を備えることを特徴
    とする請求項3もしくは4記載の分岐予測装置。
JP11103706A 1999-04-12 1999-04-12 分岐予測装置 Pending JP2000293373A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11103706A JP2000293373A (ja) 1999-04-12 1999-04-12 分岐予測装置
US09/544,480 US6640298B1 (en) 1999-04-12 2000-04-07 Branch prediction apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11103706A JP2000293373A (ja) 1999-04-12 1999-04-12 分岐予測装置

Publications (1)

Publication Number Publication Date
JP2000293373A true JP2000293373A (ja) 2000-10-20

Family

ID=14361195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11103706A Pending JP2000293373A (ja) 1999-04-12 1999-04-12 分岐予測装置

Country Status (2)

Country Link
US (1) US6640298B1 (ja)
JP (1) JP2000293373A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990545B2 (en) 2010-12-27 2015-03-24 International Business Machines Corporation Method, system, and computer program for analyzing program

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823446B1 (en) * 2000-04-13 2004-11-23 International Business Machines Corporation Apparatus and method for performing branch predictions using dual branch history tables and for updating such branch history tables
KR100528479B1 (ko) * 2003-09-24 2005-11-15 삼성전자주식회사 전력 소모를 감소시키기 위한 분기 예측기 및 구현방법
US7430657B2 (en) * 2003-12-31 2008-09-30 Intel Corporation System, method and device for queuing branch predictions
US20050223203A1 (en) * 2004-03-30 2005-10-06 Gabriel Loh Segmented branch predictor
US7836288B2 (en) * 2004-09-14 2010-11-16 Arm Limited Branch prediction mechanism including a branch prediction memory and a branch prediction cache
US7428632B2 (en) * 2004-09-14 2008-09-23 Arm Limited Branch prediction mechanism using a branch cache memory and an extended pattern cache
US9268569B2 (en) * 2012-02-24 2016-02-23 Apple Inc. Branch misprediction behavior suppression on zero predicate branch mispredict
US11106466B2 (en) 2018-06-18 2021-08-31 International Business Machines Corporation Decoupling of conditional branches

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
US5758142A (en) * 1994-05-31 1998-05-26 Digital Equipment Corporation Trainable apparatus for predicting instruction outcomes in pipelined processors
US5742805A (en) * 1996-02-15 1998-04-21 Fujitsu Ltd. Method and apparatus for a single history register based branch predictor in a superscalar microprocessor
JPH10133874A (ja) * 1996-11-01 1998-05-22 Mitsubishi Electric Corp スーパスカラプロセッサ用分岐予測機構
US6253316B1 (en) * 1996-11-19 2001-06-26 Advanced Micro Devices, Inc. Three state branch history using one bit in a branch prediction mechanism
US6088793A (en) * 1996-12-30 2000-07-11 Intel Corporation Method and apparatus for branch execution on a multiple-instruction-set-architecture microprocessor
US6374349B2 (en) * 1998-03-19 2002-04-16 Mcfarling Scott Branch predictor with serially connected predictor stages for improving branch prediction accuracy
US6081887A (en) * 1998-05-13 2000-06-27 Compaq Computer Corporation System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990545B2 (en) 2010-12-27 2015-03-24 International Business Machines Corporation Method, system, and computer program for analyzing program

Also Published As

Publication number Publication date
US6640298B1 (en) 2003-10-28

Similar Documents

Publication Publication Date Title
KR100395763B1 (ko) 멀티프로세싱 마이크로프로세서에 적합한 분기 예측기
US7139902B2 (en) Implementation of an efficient instruction fetch pipeline utilizing a trace cache
KR100464406B1 (ko) 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법
JP3565314B2 (ja) 分岐命令実行制御装置
JPS6239780B2 (ja)
JPH11282677A (ja) マイクロプロセッサの分岐命令予測方法
US11132200B1 (en) Loop end prediction using loop counter updated by inflight loop end instructions
JP2009163624A (ja) プロセッサ装置及び条件分岐処理方法
US20040030860A1 (en) Conditional execution control head in a vliw processor
JP2000293373A (ja) 分岐予測装置
KR100995269B1 (ko) 프로세서 장치 및 복합 조건 처리 방법
US20090198984A1 (en) Global History Branch Prediction Updating Responsive to Taken Branches
US20020019927A1 (en) Apparatus for issuing an instruction to a suitable issue destination
US20130247058A1 (en) System for scheduling the execution of tasks based on logical time vectors
EP1016961A2 (en) Information processor
US10963260B2 (en) Branch predictor
KR100980076B1 (ko) 저전력 분기 예측 시스템 및 분기 예측 방법
US7849299B2 (en) Microprocessor system for simultaneously accessing multiple branch history table entries using a single port
US5826098A (en) Data processing system which converts received data packet into extended packet with prescribed field for accumulation process
CN113032011B (zh) 一种数据流架构中循环程序执行的方法及系统
JP2020077334A (ja) 演算処理装置および演算処理装置の制御方法
JP2928680B2 (ja) 複合条件処理方式
JP2010079841A (ja) マイクロコンピュータ及びその命令実行方法
JP2883035B2 (ja) パイプライン・プロセッサ
US20040162972A1 (en) Method for handling control transfer instruction couples in out-of-order, multi-issue, multi-stranded processor