JP2000132390A - プロセッサ及び分岐予測器 - Google Patents
プロセッサ及び分岐予測器Info
- Publication number
- JP2000132390A JP2000132390A JP10302976A JP30297698A JP2000132390A JP 2000132390 A JP2000132390 A JP 2000132390A JP 10302976 A JP10302976 A JP 10302976A JP 30297698 A JP30297698 A JP 30297698A JP 2000132390 A JP2000132390 A JP 2000132390A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- data value
- predictor
- data
- 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
Links
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 241000665848 Isca Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
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)【要約】
【課題】 予測精度の向上した分岐予測を行うことの可
能なプロセッサ及び分岐予測器を提供する。 【解決手段】 分岐予測を行う場合に、過去の分岐の履
歴を用いて予測を行なうのではなく、データ値予測技術
を利用して実際に分岐命令を実行して予測を行なう。
能なプロセッサ及び分岐予測器を提供する。 【解決手段】 分岐予測を行う場合に、過去の分岐の履
歴を用いて予測を行なうのではなく、データ値予測技術
を利用して実際に分岐命令を実行して予測を行なう。
Description
【0001】
【発明の属する技術分野】本発明はプロセッサに関し、
特にプロセッサの命令供給の改良に関するものである。
特にプロセッサの命令供給の改良に関するものである。
【0002】
【従来の技術】スーパースカラ度、スーパーパイプライ
ン度の増加に伴い、分岐命令による制御フローの乱れ
が、プロセッサ全体の性能に及ぼす影響が大きくなって
きている。分岐命令による性能低下は、プロセッサにパ
イプラインが導入された当初から認識され検討されてき
たが、近年の命令レベル並列度に対する関心が、ますま
す分岐命令処理の重要度を増している。分岐命令の影響
を軽減するために、従来から分岐予測が用いられてい
る。これは、分岐の履歴を記憶し、それを用いて分岐の
結果を予測するものである。
ン度の増加に伴い、分岐命令による制御フローの乱れ
が、プロセッサ全体の性能に及ぼす影響が大きくなって
きている。分岐命令による性能低下は、プロセッサにパ
イプラインが導入された当初から認識され検討されてき
たが、近年の命令レベル並列度に対する関心が、ますま
す分岐命令処理の重要度を増している。分岐命令の影響
を軽減するために、従来から分岐予測が用いられてい
る。これは、分岐の履歴を記憶し、それを用いて分岐の
結果を予測するものである。
【0003】図6に分岐予測器を用いるプロセッサの例
を示す。プロセッサは命令キャッシュ2から命令を読み
だし、命令ウィンドウ1に格納する。命令ウィンドウ1
で待機している命令は、オペランドが揃うと機能ユニッ
ト5で演算が実行される。演算結果は命令ウィンドウ1
内で放送されると同時に、命令の完了時にはレジスタフ
ァイル4に格納される。命令によっては、データキャッ
シュ3からデータを読みだす場合もある、分岐予測器6
は次の命令アドレスを予測し、予測されたアドレスを用
いて命令キャッシュ2から命令が読み出される。
を示す。プロセッサは命令キャッシュ2から命令を読み
だし、命令ウィンドウ1に格納する。命令ウィンドウ1
で待機している命令は、オペランドが揃うと機能ユニッ
ト5で演算が実行される。演算結果は命令ウィンドウ1
内で放送されると同時に、命令の完了時にはレジスタフ
ァイル4に格納される。命令によっては、データキャッ
シュ3からデータを読みだす場合もある、分岐予測器6
は次の命令アドレスを予測し、予測されたアドレスを用
いて命令キャッシュ2から命令が読み出される。
【0004】分岐予測器のなかでも2レベル適応型分岐
予測器は非常に予測精度が高いと注目されている。2レ
ベル適応型分岐予測器は、ふたつのテーブルから構成さ
れる。図7に2レベル適応型分岐予測器のひとつであるP
Asの例を示す。ひとつめのテーブルは分岐履歴表(Branc
h History Table: BHT)021と呼ばれ、複数のシフトレジ
スタから構成される。各シフトレジスタを分岐履歴レジ
スタ(Branch HistoryRegister: BHR)022と呼ぶ。各BH
Rは一つの分岐命令に対応づけられ、その分岐命令の履
歴を保存している。すなわち、BHRは分岐命令のアド
レスでインデックスされている。分岐の成立(1)/不成
立(0)が決定されると、その結果がBHRに入力され
る。この際、最も古い結果はBHRから追い出される、
BHTに保存される履歴のパタンと分岐命令のアドレス
によって、二つめのデーブルがインデックスされる。
予測器は非常に予測精度が高いと注目されている。2レ
ベル適応型分岐予測器は、ふたつのテーブルから構成さ
れる。図7に2レベル適応型分岐予測器のひとつであるP
Asの例を示す。ひとつめのテーブルは分岐履歴表(Branc
h History Table: BHT)021と呼ばれ、複数のシフトレジ
スタから構成される。各シフトレジスタを分岐履歴レジ
スタ(Branch HistoryRegister: BHR)022と呼ぶ。各BH
Rは一つの分岐命令に対応づけられ、その分岐命令の履
歴を保存している。すなわち、BHRは分岐命令のアド
レスでインデックスされている。分岐の成立(1)/不成
立(0)が決定されると、その結果がBHRに入力され
る。この際、最も古い結果はBHRから追い出される、
BHTに保存される履歴のパタンと分岐命令のアドレス
によって、二つめのデーブルがインデックスされる。
【0005】このデーブルを、パタン履歴表(Pattern H
istory Table; PHT)と呼ぶ、PHTは、2ビットのカウ
ンタを保存している、このカウンタにより分岐の予測が
行なわれる。分岐が成立した場合にはカウンタをアップ
し、不成立の場合にはダウンする。カウンタは最大値と
最小値で飽和させる。分岐の予測は、カウンタの値の上
位ビットを用いる、上位ビットが1であれば成立と予測
し、0であれば不成立と予測する。この状態遷移機械を
図8に示す。分岐アドレスの下位アドレスによってBH
Tがインデックスされ、0110という履歴が得られる。こ
の履歴と分岐アドレスの下位アドレスを用いてPHTが
インデックスされ、網かけの2ビットカウンタがポイン
トされる。このカウンタが示す値により、分岐の成立/
不成立が予測される。ほかの2レベル適応型分岐予測器
に関しては、例えば、T-Y.Yah, Y.N.Patt,"Alternative
lmplementation of Two Level Adaptive Branch Predi
ction", 19th, International Symposium on Computer
architecture (ISCA),1992を参照されたい。
istory Table; PHT)と呼ぶ、PHTは、2ビットのカウ
ンタを保存している、このカウンタにより分岐の予測が
行なわれる。分岐が成立した場合にはカウンタをアップ
し、不成立の場合にはダウンする。カウンタは最大値と
最小値で飽和させる。分岐の予測は、カウンタの値の上
位ビットを用いる、上位ビットが1であれば成立と予測
し、0であれば不成立と予測する。この状態遷移機械を
図8に示す。分岐アドレスの下位アドレスによってBH
Tがインデックスされ、0110という履歴が得られる。こ
の履歴と分岐アドレスの下位アドレスを用いてPHTが
インデックスされ、網かけの2ビットカウンタがポイン
トされる。このカウンタが示す値により、分岐の成立/
不成立が予測される。ほかの2レベル適応型分岐予測器
に関しては、例えば、T-Y.Yah, Y.N.Patt,"Alternative
lmplementation of Two Level Adaptive Branch Predi
ction", 19th, International Symposium on Computer
architecture (ISCA),1992を参照されたい。
【0006】一方、近年ではデータ値の予測技術も注目
を集めている。プロセッサの性能向上を妨げる要因の一
つである命令間の依存関係の問題には、上で述べた分岐
命令による制御依存関係(control dependence)の他に資
源依存関係(name dependence)とデータ依存関係(data d
ependence)がある。このうち資源依存関係はレジスタの
数というハードウエア資源の不足により生じるが、レジ
スタ名前替えを施すことにより解消可能である。しかし
データ依存関係は「真の依存関係」とも称されるように解
消できる方法はない。つまりデータ依存関係は、プロセ
ッサの性能を向上する妨げとなる非常に深刻な問題であ
る。
を集めている。プロセッサの性能向上を妨げる要因の一
つである命令間の依存関係の問題には、上で述べた分岐
命令による制御依存関係(control dependence)の他に資
源依存関係(name dependence)とデータ依存関係(data d
ependence)がある。このうち資源依存関係はレジスタの
数というハードウエア資源の不足により生じるが、レジ
スタ名前替えを施すことにより解消可能である。しかし
データ依存関係は「真の依存関係」とも称されるように解
消できる方法はない。つまりデータ依存関係は、プロセ
ッサの性能を向上する妨げとなる非常に深刻な問題であ
る。
【0007】データ値の予測技術は、このデータ依存を
投機的に解消しプロセッサの性能を向上させるための技
術である。先行する命令と依存関係にある命令はそのソ
ースオペランドを予測し、予測されたデータを用いて演
算を実行する。そのため依存関係にあり、本来なら同時
に実行できない命令を、同時に実行することが可能にな
る。
投機的に解消しプロセッサの性能を向上させるための技
術である。先行する命令と依存関係にある命令はそのソ
ースオペランドを予測し、予測されたデータを用いて演
算を実行する。そのため依存関係にあり、本来なら同時
に実行できない命令を、同時に実行することが可能にな
る。
【0008】図9に例を示す。命令I2は命令I1とデータ
依存の関係にあるため、本来は同時に実行できない。し
かし、命令I2のソースオペランドγ2を予測することで
命令I1と同時に実行可能である。図10にデータ値予測
器を用いたプロセッサの例を示す。オペランドの揃って
いない命令は、データ値予測器7を用いてオペランドを
予測し、機能ユニット5で演算を開始する。図11にデ
ータ値予測器7の例を示す。データ値予測器7は命令キ
ャッシュ2に似たハードウエア構成をしている、データ
値予測器7には演算結果に関する過去の履歴が保存され
る。データ値予測器7の各エントリはブログラムカウン
タ(Program Counter :PC)でインデックスされており、
以下の情報を保存している。すなわち、最も最近の演算
結果(pred_value)、演算結果のストライド(stride)、そ
して予測の可否を示す状態(state)である。strideは同
じ命令が最近二回に実行した演算結果の差から求められ
る、stateは過去の履歴がエンコードされて保存されて
おり、次回の予測が可能かどうかを示している。
依存の関係にあるため、本来は同時に実行できない。し
かし、命令I2のソースオペランドγ2を予測することで
命令I1と同時に実行可能である。図10にデータ値予測
器を用いたプロセッサの例を示す。オペランドの揃って
いない命令は、データ値予測器7を用いてオペランドを
予測し、機能ユニット5で演算を開始する。図11にデ
ータ値予測器7の例を示す。データ値予測器7は命令キ
ャッシュ2に似たハードウエア構成をしている、データ
値予測器7には演算結果に関する過去の履歴が保存され
る。データ値予測器7の各エントリはブログラムカウン
タ(Program Counter :PC)でインデックスされており、
以下の情報を保存している。すなわち、最も最近の演算
結果(pred_value)、演算結果のストライド(stride)、そ
して予測の可否を示す状態(state)である。strideは同
じ命令が最近二回に実行した演算結果の差から求められ
る、stateは過去の履歴がエンコードされて保存されて
おり、次回の予測が可能かどうかを示している。
【0009】状態遷移としては例えば、図8で示される
2ビット飽和型カウンタが用いられる、予測が正しい時
にはカウンタをインクリメントし、そうでない時はデク
リメントする。タグが一致した場合には、PCで示される
エントリからpred_valueとstrideとが得られる。予測デ
ータ値はpred_valueとstrideとの和として計算される。
stateも同時に得られ、もし状態がpredictまたはweakly
predictであれば計算された値は予測データ値として用
いられる。そうでない場合は、データ値の予測を行なわ
ない。データ値予測器7には他の構成方法も存在する。
例えば、M.H.Lipasti, J.P.Shen, "Exceeding the Data
flow Limit via Value Prediction", 29th Internation
al Symposium on Microarchitecture (MICRO), 1996,
Y.Sazeides, J.E.Smith, "The Predictability of Data
Value", 30th International Symposium on Microarch
itecture (MICRO), 1997, K.Wang, M.Franklin, "Highl
y Accurate Data Value Prediction using Hyblid Pred
ictors", 30th International Symposium on Microarch
itecture (MICRO), 1997を参照されたい。
2ビット飽和型カウンタが用いられる、予測が正しい時
にはカウンタをインクリメントし、そうでない時はデク
リメントする。タグが一致した場合には、PCで示される
エントリからpred_valueとstrideとが得られる。予測デ
ータ値はpred_valueとstrideとの和として計算される。
stateも同時に得られ、もし状態がpredictまたはweakly
predictであれば計算された値は予測データ値として用
いられる。そうでない場合は、データ値の予測を行なわ
ない。データ値予測器7には他の構成方法も存在する。
例えば、M.H.Lipasti, J.P.Shen, "Exceeding the Data
flow Limit via Value Prediction", 29th Internation
al Symposium on Microarchitecture (MICRO), 1996,
Y.Sazeides, J.E.Smith, "The Predictability of Data
Value", 30th International Symposium on Microarch
itecture (MICRO), 1997, K.Wang, M.Franklin, "Highl
y Accurate Data Value Prediction using Hyblid Pred
ictors", 30th International Symposium on Microarch
itecture (MICRO), 1997を参照されたい。
【0010】
【発明が解決しようとする課題】以上述べたように、プ
ロセッサの性能を向上させる目的で、公知の技術では分
岐予測技術とデータ値予測技術を利用してきた。しか
し、それらの技術には以下のような問題点が存在する。
ロセッサの性能を向上させる目的で、公知の技術では分
岐予測技術とデータ値予測技術を利用してきた。しか
し、それらの技術には以下のような問題点が存在する。
【0011】すでに述べたように分岐予測技術はすでに
長期に渡って研究されてきており、その予測精度を向上
させる試みには限界が見えてきている。例えば、J.Eme
r, N.Gloy, "A Language for Describing Predictors a
nd its Application to Automatic Synthesis", 24th I
nternational Symposium on Computer Architecture (I
SCA), 1997では、予測精度の高い分岐予測器を設計する
ために遺伝的アルゴリズムを用いている。これは、従来
の方法では予測精度を向上させることに限界が見えてい
ることの証拠に他ならない。
長期に渡って研究されてきており、その予測精度を向上
させる試みには限界が見えてきている。例えば、J.Eme
r, N.Gloy, "A Language for Describing Predictors a
nd its Application to Automatic Synthesis", 24th I
nternational Symposium on Computer Architecture (I
SCA), 1997では、予測精度の高い分岐予測器を設計する
ために遺伝的アルゴリズムを用いている。これは、従来
の方法では予測精度を向上させることに限界が見えてい
ることの証拠に他ならない。
【0012】一方データ値予測技術を用いた場合、その
投機的実行の粒度が非常に小さいため、予測精度が非常
に高くても、ハードウエア量にみあった性能向上が達成
できない、例えば、T.Sato, "Load Value Prediction u
sing Two-Hop Reference Address Renaming", 4th Inte
rnational Conference on Computer Science and Infor
matics (IC&S), 1998では90%以上の予測精度にも関わ
らず性能は0.3%しか向上できないケースが報告されて
いる、さらに、上記の二つの技術は独立に研究されてき
たため、両者を同時に利用する際には問題を生じる場合
もある、例えば、T.Sato, "Speculative Resolutionof
Ambiguous Memory Aliasing", International Workshop
on Innovative Architecture for Future Generation
High-Performance Processors and Systems (IWIA), 19
97では、データ依存を投機的に解消すると分岐予測器の
予測精度が低下することが報告されている。
投機的実行の粒度が非常に小さいため、予測精度が非常
に高くても、ハードウエア量にみあった性能向上が達成
できない、例えば、T.Sato, "Load Value Prediction u
sing Two-Hop Reference Address Renaming", 4th Inte
rnational Conference on Computer Science and Infor
matics (IC&S), 1998では90%以上の予測精度にも関わ
らず性能は0.3%しか向上できないケースが報告されて
いる、さらに、上記の二つの技術は独立に研究されてき
たため、両者を同時に利用する際には問題を生じる場合
もある、例えば、T.Sato, "Speculative Resolutionof
Ambiguous Memory Aliasing", International Workshop
on Innovative Architecture for Future Generation
High-Performance Processors and Systems (IWIA), 19
97では、データ依存を投機的に解消すると分岐予測器の
予測精度が低下することが報告されている。
【0013】従って、本発明の目的は、データ値予測技
術を分岐予測技術に適用させることで、予測精度向上に
限界の見えてきた分岐予測技術の予測精度を更に向上さ
せたプロセッサ及び分岐予測器を提供することである。
これにより、これまで高い予測精度を性能向上に結びつ
けることのできなかったデータ値予測技術を用いてプロ
セッサの性能を飛躍的に向上させることである。
術を分岐予測技術に適用させることで、予測精度向上に
限界の見えてきた分岐予測技術の予測精度を更に向上さ
せたプロセッサ及び分岐予測器を提供することである。
これにより、これまで高い予測精度を性能向上に結びつ
けることのできなかったデータ値予測技術を用いてプロ
セッサの性能を飛躍的に向上させることである。
【0014】
【課題を解決するための手段】上記目的を達成するため
本発明によるプロセッサは、命令を実行する一つ以上の
演算器と、一時的なデータ及び演算結果を保持する一つ
以上のレジスタと、前記演算器に命令を供給する手段
と、データ値予測器を備え、予測データ値を用いて分岐
命令を実行することを特徴とする。
本発明によるプロセッサは、命令を実行する一つ以上の
演算器と、一時的なデータ及び演算結果を保持する一つ
以上のレジスタと、前記演算器に命令を供給する手段
と、データ値予測器を備え、予測データ値を用いて分岐
命令を実行することを特徴とする。
【0015】即ち、分岐の履歴を用いて予測を行なうの
ではなく、実際に分岐命令を実行して予測を行なうの
で、過去の履歴を用いるよりも容易に予測精度を向上で
きる。
ではなく、実際に分岐命令を実行して予測を行なうの
で、過去の履歴を用いるよりも容易に予測精度を向上で
きる。
【0016】又、本発明の分岐予測器は、分岐命令が用
いるオペランドの、過去に確定したデータを用いて、次
回の前記命令が用いるオペランドのデータ値を第1の予
測データ値として予測する手段と、さらに、この確定し
ていない第1の予測データ値を用いて、次回の前記命令
が用いるオペランドのデータ値を予測する手段と、前記
第2の予測データ値を用いて分岐命令を実行する手段
と、その実行結果を分岐予測値として保持する手段と、
前記プログラムカウンタに接続され、前記分岐予測値に
対応するアドレスが前記プログラムカウンタのアドレス
と一致した時、前記分岐予測値を出力する手段とからな
っている。
いるオペランドの、過去に確定したデータを用いて、次
回の前記命令が用いるオペランドのデータ値を第1の予
測データ値として予測する手段と、さらに、この確定し
ていない第1の予測データ値を用いて、次回の前記命令
が用いるオペランドのデータ値を予測する手段と、前記
第2の予測データ値を用いて分岐命令を実行する手段
と、その実行結果を分岐予測値として保持する手段と、
前記プログラムカウンタに接続され、前記分岐予測値に
対応するアドレスが前記プログラムカウンタのアドレス
と一致した時、前記分岐予測値を出力する手段とからな
っている。
【0017】これにより、予測精度の向上した、分岐予
測器が実現される。
測器が実現される。
【0018】
【発明の実施の形態】図1に本発明の第1の実施形態に
よる分岐予測器を用いたプロセッサの例を示す。公知例
の分岐予測器6が本発明の分岐予測器8と置き換えられ
ている。本発明の分岐予測器8は分岐演算を実行して予
測を行なうため、機能ユニット5と同じ位置に置かれる
ことになる。また、データ値予測器7も本発明のデータ
値予測器10と置き換えられている。データ値予測器1
0は公知のデータ値予測器7と異なり、連続する2つの
データ値を予測可能である。すなわち、ある命令が現在
使用するオペランドだけでなく、同じ命令が次に出現し
た時に使用するオペランドを予測できる。
よる分岐予測器を用いたプロセッサの例を示す。公知例
の分岐予測器6が本発明の分岐予測器8と置き換えられ
ている。本発明の分岐予測器8は分岐演算を実行して予
測を行なうため、機能ユニット5と同じ位置に置かれる
ことになる。また、データ値予測器7も本発明のデータ
値予測器10と置き換えられている。データ値予測器1
0は公知のデータ値予測器7と異なり、連続する2つの
データ値を予測可能である。すなわち、ある命令が現在
使用するオペランドだけでなく、同じ命令が次に出現し
た時に使用するオペランドを予測できる。
【0019】データ値予測器10の予測するデータを利
用する時には、通常の演算を行なう機能ユニット5は、
データ値予測器10の予測するデータのうち、現在のオ
ペランドを用いる。一方、分岐予測器8は、データ値予
測器が予測するデータのうち、次に出現した時に使用す
べきオペランドを用いて演算を行なう。分岐予測器8の
演算結果、すなわち分岐の成立/不成立は、分岐予測器
8内にあるテーブルに格納される。
用する時には、通常の演算を行なう機能ユニット5は、
データ値予測器10の予測するデータのうち、現在のオ
ペランドを用いる。一方、分岐予測器8は、データ値予
測器が予測するデータのうち、次に出現した時に使用す
べきオペランドを用いて演算を行なう。分岐予測器8の
演算結果、すなわち分岐の成立/不成立は、分岐予測器
8内にあるテーブルに格納される。
【0020】図2に分岐予測器8の構成を示す、分岐予
測器8は分岐演算器810と分岐予測テーブル820か
ら構成される。分岐演算器810は、分岐演算の種類(o
peration)に応じてオベランド(operands)により分岐結
果(成立/不成立)を決定する。分岐予測テーブル820
は、タグアドレスフィールド821と分岐予測フィール
ド822からなり、分岐演算器810の演算結果(成立
/不成立)を保持する。タグアドレスフィールド821
には、分岐命令の命令アドレスを特定するためのタグが
保持され、分岐予測フィールド822には成立/不成立
(taken/not‐taken)が保持されている、分岐予測テー
ブル820はプログラムカウンタ、すなわち命令アドレ
スを用いて参照される。命令アドレスがタグアドレスフ
ィールド821と一致すると、分岐予測フィールド82
2に保持されている値が獲得できる。すなわち、分岐命
令アドレスを用いて分岐予測器8にアクセスすると、予
測された分岐結果(成立/不成立)が獲得できる、図3に
本実施形態で用いるデータ値予測器10の構成を示す。
図10のデータ値予測器7と異なり、ストライド(strid
e)を二度加算することでもう一つの予測値(predicted v
alue 2)が得られる。実際の演算を行なう機能ユニット
5は、データ値予測器10の予測する一方の値predicte
d value 1を用い、分岐予測器8はもう一方の値predic
ted value 2を用いて演算を実行する。つまり、分岐予
測器8は次に同じ分岐命令が出現した時の演算を行なう
ことになる、したがって、その分岐命令が次に出現した
時に命令アドレスを用いて分岐予測器8にアクセスする
と分岐予測結果を得ることが出来るわけである、本発明
の分岐予測器の用いるデータ値予測器は、必ずしも上述
したストライドを用いたデータ値予測器でなくてもよ
く、他のデータ値予測器を用いても構わない。その場合
には、データ値予測器を2つカスケイドに接続し、予測
されたデータ値を用いて再度データ値予測を行い、これ
ら2段のデータ値予測器を参照することで、連続する2
つのデータ値を予測可能になる。
測器8は分岐演算器810と分岐予測テーブル820か
ら構成される。分岐演算器810は、分岐演算の種類(o
peration)に応じてオベランド(operands)により分岐結
果(成立/不成立)を決定する。分岐予測テーブル820
は、タグアドレスフィールド821と分岐予測フィール
ド822からなり、分岐演算器810の演算結果(成立
/不成立)を保持する。タグアドレスフィールド821
には、分岐命令の命令アドレスを特定するためのタグが
保持され、分岐予測フィールド822には成立/不成立
(taken/not‐taken)が保持されている、分岐予測テー
ブル820はプログラムカウンタ、すなわち命令アドレ
スを用いて参照される。命令アドレスがタグアドレスフ
ィールド821と一致すると、分岐予測フィールド82
2に保持されている値が獲得できる。すなわち、分岐命
令アドレスを用いて分岐予測器8にアクセスすると、予
測された分岐結果(成立/不成立)が獲得できる、図3に
本実施形態で用いるデータ値予測器10の構成を示す。
図10のデータ値予測器7と異なり、ストライド(strid
e)を二度加算することでもう一つの予測値(predicted v
alue 2)が得られる。実際の演算を行なう機能ユニット
5は、データ値予測器10の予測する一方の値predicte
d value 1を用い、分岐予測器8はもう一方の値predic
ted value 2を用いて演算を実行する。つまり、分岐予
測器8は次に同じ分岐命令が出現した時の演算を行なう
ことになる、したがって、その分岐命令が次に出現した
時に命令アドレスを用いて分岐予測器8にアクセスする
と分岐予測結果を得ることが出来るわけである、本発明
の分岐予測器の用いるデータ値予測器は、必ずしも上述
したストライドを用いたデータ値予測器でなくてもよ
く、他のデータ値予測器を用いても構わない。その場合
には、データ値予測器を2つカスケイドに接続し、予測
されたデータ値を用いて再度データ値予測を行い、これ
ら2段のデータ値予測器を参照することで、連続する2
つのデータ値を予測可能になる。
【0021】即ち、あるプログラムカウンタに対応する
命令が用いるオペランドに関して、過去の確定したオペ
ランドを用いて、次回の前記命令が用いるオペランドの
データ値を予測し、第1の予測データ値として出力す
る。ここまでは従来と同様である。本発明の分岐予測器
の場合は、さらに、この確定していない第1の予測デー
タ値を用いて、次々回の前記命令が用いるオペランドの
データ値を予測し、第2の予測データ値として出力する
のである。
命令が用いるオペランドに関して、過去の確定したオペ
ランドを用いて、次回の前記命令が用いるオペランドの
データ値を予測し、第1の予測データ値として出力す
る。ここまでは従来と同様である。本発明の分岐予測器
の場合は、さらに、この確定していない第1の予測デー
タ値を用いて、次々回の前記命令が用いるオペランドの
データ値を予測し、第2の予測データ値として出力する
のである。
【0022】以上をまとめると、本発明の分岐予測器8
は、データ値予測器10を用いてオペランドを獲得し、
実際に分岐命令を実行して予測を行なうことを特徴とす
る。
は、データ値予測器10を用いてオペランドを獲得し、
実際に分岐命令を実行して予測を行なうことを特徴とす
る。
【0023】図4に本発明の第2の実施形態による分岐
予測器を用いたプロセッサの他の例を示す。ここでは、
公知例の分岐予測器6が本発明の分岐予測器9と置き換
えられており、分岐予測器9は命令ウィンドウ1だけで
なくレジスタファイル4およびデータ値予測器7とも接
続される。分岐予測器9は命令ウィンドウ1、レジスタ
ファイル4およびデータ値予測器7からオペランドを獲
得し、実際の分岐命令を実行することで、分岐命令の結
果を予測する。すなわち、分岐予測器9は機能ユニット
5に含まれる分岐ユニットと同一のハードウエアであ
る。即ち、同一機能のハードウエアが機能ユニット5の
分岐ユニットの他に、分岐予測器としての分岐ユニット
として、重複して設けられている。
予測器を用いたプロセッサの他の例を示す。ここでは、
公知例の分岐予測器6が本発明の分岐予測器9と置き換
えられており、分岐予測器9は命令ウィンドウ1だけで
なくレジスタファイル4およびデータ値予測器7とも接
続される。分岐予測器9は命令ウィンドウ1、レジスタ
ファイル4およびデータ値予測器7からオペランドを獲
得し、実際の分岐命令を実行することで、分岐命令の結
果を予測する。すなわち、分岐予測器9は機能ユニット
5に含まれる分岐ユニットと同一のハードウエアであ
る。即ち、同一機能のハードウエアが機能ユニット5の
分岐ユニットの他に、分岐予測器としての分岐ユニット
として、重複して設けられている。
【0024】違いは、分岐ユニットが利用するオペラン
ドが命令ウィンドウ1およびレジスタファイル4から読
み出される確定されたものであるのに対して、分岐予測
器9はデータ値予測器7で予測された値を用いる点であ
る。したがつて、本発明のハードウエア構成要素は公知
のものであり、その利用目的及び接続方法の違いが本発
明の核心である。
ドが命令ウィンドウ1およびレジスタファイル4から読
み出される確定されたものであるのに対して、分岐予測
器9はデータ値予測器7で予測された値を用いる点であ
る。したがつて、本発明のハードウエア構成要素は公知
のものであり、その利用目的及び接続方法の違いが本発
明の核心である。
【0025】本実施形態の場合も、用いられるデータ値
予測器は、必ずしも上述したデータ値予測器7でなくて
もよく、どのようなデータ値予測器を用いても構わな
い。本実施形態の場合には、公知のデータ値予測器に手
を加える必要はない。
予測器は、必ずしも上述したデータ値予測器7でなくて
もよく、どのようなデータ値予測器を用いても構わな
い。本実施形態の場合には、公知のデータ値予測器に手
を加える必要はない。
【0026】第1の実施形態と比較して本実施形態の異
なる点は以下の通りである。第1の実施形態では分岐命
令の実行時に次回の分岐演算も同時に実行し、演算結果
を分岐予測値として保存している。一方本実施形態では
あらかじめ演算されて保持されている値を用いるのでは
なく、命令フェッチ時に分岐演算を実行して演算結果、
すなわち分岐予測値を求めている。
なる点は以下の通りである。第1の実施形態では分岐命
令の実行時に次回の分岐演算も同時に実行し、演算結果
を分岐予測値として保存している。一方本実施形態では
あらかじめ演算されて保持されている値を用いるのでは
なく、命令フェッチ時に分岐演算を実行して演算結果、
すなわち分岐予測値を求めている。
【0027】具体的には、命令ウィンドウ1で、分岐命
令と確認されれば、直ちに予測データがデータ値予測器
から直接、分岐予測器に転送され、この分岐予測器とし
ての分岐ユニットで実行し、その結果に基づいて命令の
先読みを行う。
令と確認されれば、直ちに予測データがデータ値予測器
から直接、分岐予測器に転送され、この分岐予測器とし
ての分岐ユニットで実行し、その結果に基づいて命令の
先読みを行う。
【0028】したがって、第1の実施形態と比べて第2
の実施形態では演算に必要なオペランドを獲得するため
の配線が非常に込み入ったものとなっている。一方で、
予測結果を保持する必要がなく、第1の実施形態で必要
な分岐予測テーブル820を必要としない特徴がある。
の実施形態では演算に必要なオペランドを獲得するため
の配線が非常に込み入ったものとなっている。一方で、
予測結果を保持する必要がなく、第1の実施形態で必要
な分岐予測テーブル820を必要としない特徴がある。
【0029】以上をまとめると、本実施形態の分岐予測
器9は、データ値予測器7を用いてオペランドを獲得
し、実際に分岐命令を実行して予測を行なうことを特徴
とする。
器9は、データ値予測器7を用いてオペランドを獲得
し、実際に分岐命令を実行して予測を行なうことを特徴
とする。
【0030】図5に本発明の第3の実施形態によるプロ
セッサの例を示す。ここでは、本発明の分岐予測を公知
の分岐予測器の予測判定器として用いている。図10に
示されるプロセッサのデータ値予測器7を図2に示され
ているような分岐予測器8に置き換え、さらに分岐予測
判定器11が追加されている。分岐予測判定器11はデ
ータ値予測器7で予測されたオペランドを用いて分岐命
令を実行し、その実行結果に基づいて、分岐予測器6の
分岐の成功/失敗を判定する。このため、実際に分岐命
令が実行されて分岐予測の成功/失敗が判定されるより
も早期に判定が可能になり、分岐予測が失敗した時のミ
スペナルティを軽減することが出来る。
セッサの例を示す。ここでは、本発明の分岐予測を公知
の分岐予測器の予測判定器として用いている。図10に
示されるプロセッサのデータ値予測器7を図2に示され
ているような分岐予測器8に置き換え、さらに分岐予測
判定器11が追加されている。分岐予測判定器11はデ
ータ値予測器7で予測されたオペランドを用いて分岐命
令を実行し、その実行結果に基づいて、分岐予測器6の
分岐の成功/失敗を判定する。このため、実際に分岐命
令が実行されて分岐予測の成功/失敗が判定されるより
も早期に判定が可能になり、分岐予測が失敗した時のミ
スペナルティを軽減することが出来る。
【0031】すなわち、本実施形態の分岐予測判定器1
1は、データ値予測器7を用いてオペランドを獲得し、
実際に分岐命令を実行することで、分岐予測器の予測の
判定を行なうことを特徴とする。
1は、データ値予測器7を用いてオペランドを獲得し、
実際に分岐命令を実行することで、分岐予測器の予測の
判定を行なうことを特徴とする。
【0032】
【発明の効果】以上のように、本発明では、分岐の履歴
を用いて予測を行なうのではなく、実際に分岐命令を実
行して予測を行なうので、過去の履歴を用いるよりも容
易に予測精度を向上できる。
を用いて予測を行なうのではなく、実際に分岐命令を実
行して予測を行なうので、過去の履歴を用いるよりも容
易に予測精度を向上できる。
【0033】また、以下の長所もある。分岐命令の場
合、予測されたオペランドが間違っていても結果が正し
いという場合が頻繁に起こり得る。なぜなら、オペラン
ドの相対的な差が分岐命令の結果を支配しているからで
ある。したがって、本発明の分岐予測器は、オペランド
予測器よりも予測精度を高めることが出来る。
合、予測されたオペランドが間違っていても結果が正し
いという場合が頻繁に起こり得る。なぜなら、オペラン
ドの相対的な差が分岐命令の結果を支配しているからで
ある。したがって、本発明の分岐予測器は、オペランド
予測器よりも予測精度を高めることが出来る。
【0034】さらに、予測データ値を用いて実行された
分岐演算の結果を用いて、分岐予測値の成功/失敗を判
定することで、分岐予測失敗によるミスペナルティを軽
減できる。
分岐演算の結果を用いて、分岐予測値の成功/失敗を判
定することで、分岐予測失敗によるミスペナルティを軽
減できる。
【図1】本発明の分岐予測器を用いるプロセッサの例を
表す図
表す図
【図2】本発明の分岐予測器予測器を表す図
【図3】本発明のデータ値予測器を表す図
【図4】本発明の分岐予測器を用いるプロセッサの他の
例を表す図
例を表す図
【図5】本発明の分岐予測器を用いるプロセッサの他の
例を表す
例を表す
【図6】公知例の分岐予測器を用いるプロセッサの例を
表す
表す
【図7】PAs型分岐予測器を表す図
【図8】分岐予測器の状態遷移機械を表す図
【図9】データ投機実行の例を表す図
【図10】データ値予測器を用いるプロセッサの例を表
す図
す図
【図11】データ値予測器の例を表す図
1 命令ウィンドウ 2 命令キャッシュ 3 データキャッシュ 4 レジスタファイル 5 機能ユニット 6 分岐予測器 7 データ値予測器 8 分岐予測器 9 分岐予測器 10 データ値予測器 11 分岐予測判定器 810 分岐演算器 820 分岐予測テーブル 821 タグアドレスフィールド 822 分岐予測フィールド
Claims (6)
- 【請求項1】 命令を実行する一つ以上の演算器と、一
時的なデータ及び演算結果を保持する一つ以上のレジス
タと、前記演算器に命令を供給する手段と、データ値予
測器を備えるプロセッサであって、 予測データ値を用いて分岐命令を実行することを特徴と
するプロセッサ。 - 【請求項2】 命令及びデータを保持するキャッシュメ
モリ装置を更に備えたことを特徴とする請求項1に記載
のプロセッサ。 - 【請求項3】 命令を一時的に格納する命令バッファを
更に備えたことを特徴とする請求項1に記載のプロセッ
サ。 - 【請求項4】 前記予測データ値を用いて実行した分岐
命令の実行結果を分岐予測として用いることを特徴とす
る請求項1に記載のプロセッサ。 - 【請求項5】 前記予測データ値を用いて実行した分岐
命令の実行結果を用いて分岐予測の判定を行なうことを
特徴とする請求項1に記載のプロセッサ。 - 【請求項6】 分岐命令が用いるオペランドの、過去に
確定したデータを用いて、次回の前記命令が用いるオペ
ランドのデータ値を第1の予測データ値として予測する
手段と、さらに、この確定していない第1の予測データ
値を用いて、次回の前記命令が用いるオペランドのデー
タ値を予測する手段と、前記第2の予測データ値を用い
て分岐命令を実行する手段と、その実行結果を分岐予測
値として保持する手段と、前記プログラムカウンタに接
続され、前記分岐予測値に対応するアドレスが前記プロ
グラムカウンタのアドレスと一致した時、前記分岐予測
値を出力する手段とからなる分岐予測器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10302976A JP2000132390A (ja) | 1998-10-23 | 1998-10-23 | プロセッサ及び分岐予測器 |
US09/385,449 US6516409B1 (en) | 1998-10-23 | 1999-08-30 | Processor provided with a data value prediction circuit and a branch prediction circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10302976A JP2000132390A (ja) | 1998-10-23 | 1998-10-23 | プロセッサ及び分岐予測器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000132390A true JP2000132390A (ja) | 2000-05-12 |
Family
ID=17915439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10302976A Pending JP2000132390A (ja) | 1998-10-23 | 1998-10-23 | プロセッサ及び分岐予測器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6516409B1 (ja) |
JP (1) | JP2000132390A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012511212A (ja) * | 2008-12-04 | 2012-05-17 | アナログ デバイシス, インコーポレイテッド | デジタルプロセッサにおいてジャンプ動作を実施するための方法および装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10121792C2 (de) * | 2000-05-26 | 2003-09-25 | Ibm | Universelle Ladeadresse/Wertevorhersageschema |
JP4027620B2 (ja) * | 2001-06-20 | 2007-12-26 | 富士通株式会社 | 分岐予測装置、プロセッサ、及び分岐予測方法 |
US20030131345A1 (en) * | 2002-01-09 | 2003-07-10 | Chris Wilkerson | Employing value prediction with the compiler |
US6978361B2 (en) * | 2002-09-20 | 2005-12-20 | International Business Machines Corporation | Effectively infinite branch prediction table mechanism |
US7143272B2 (en) * | 2002-12-27 | 2006-11-28 | Intel Corporation | Using computation histories to make predictions |
US7962722B2 (en) * | 2008-02-01 | 2011-06-14 | International Business Machines Corporation | Branch target address cache with hashed indices |
US7877586B2 (en) * | 2008-02-01 | 2011-01-25 | International Business Machines Corporation | Branch target address cache selectively applying a delayed hit |
US7844807B2 (en) | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Branch target address cache storing direct predictions |
US7865705B2 (en) * | 2008-02-01 | 2011-01-04 | International Business Machines Corporation | Branch target address cache including address type tag bit |
US8086831B2 (en) * | 2008-02-01 | 2011-12-27 | International Business Machines Corporation | Indexed table circuit having reduced aliasing |
US8694760B2 (en) * | 2009-05-19 | 2014-04-08 | Panasonic Corporation | Branch prediction using a leading value of a call stack storing function arguments |
US8990452B2 (en) | 2011-07-26 | 2015-03-24 | International Business Machines Corporation | Dynamic reduction of stream backpressure |
US8959313B2 (en) * | 2011-07-26 | 2015-02-17 | International Business Machines Corporation | Using predictive determinism within a streaming environment |
US9148495B2 (en) | 2011-07-26 | 2015-09-29 | International Business Machines Corporation | Dynamic runtime choosing of processing communication methods |
US9405553B2 (en) | 2012-01-30 | 2016-08-02 | International Business Machines Corporation | Processing element management in a streaming data system |
US9146775B2 (en) | 2012-04-26 | 2015-09-29 | International Business Machines Corporation | Operator graph changes in response to dynamic connections in stream computing applications |
US9930081B2 (en) | 2012-11-13 | 2018-03-27 | International Business Machines Corporation | Streams optional execution paths depending upon data rates |
JP6250447B2 (ja) * | 2014-03-20 | 2017-12-20 | 株式会社メガチップス | 半導体装置及び命令読み出し制御方法 |
US9348595B1 (en) | 2014-12-22 | 2016-05-24 | Centipede Semi Ltd. | Run-time code parallelization with continuous monitoring of repetitive instruction sequences |
US9135015B1 (en) | 2014-12-25 | 2015-09-15 | Centipede Semi Ltd. | Run-time code parallelization with monitoring of repetitive instruction sequences during branch mis-prediction |
US9208066B1 (en) | 2015-03-04 | 2015-12-08 | Centipede Semi Ltd. | Run-time code parallelization with approximate monitoring of instruction sequences |
US10296346B2 (en) | 2015-03-31 | 2019-05-21 | Centipede Semi Ltd. | Parallelized execution of instruction sequences based on pre-monitoring |
US10296350B2 (en) | 2015-03-31 | 2019-05-21 | Centipede Semi Ltd. | Parallelized execution of instruction sequences |
US9715390B2 (en) | 2015-04-19 | 2017-07-25 | Centipede Semi Ltd. | Run-time parallelization of code execution based on an approximate register-access specification |
GB2592661B (en) * | 2020-03-05 | 2022-05-11 | Advanced Risc Mach Ltd | An apparatus and method for performing branch prediction |
US11941403B2 (en) * | 2020-06-19 | 2024-03-26 | Arm Limited | Selective prediction based on correlation between a given instruction and a subset of a set of monitored instructions ordinarily used to generate predictions for that given instruction |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
JP3599409B2 (ja) * | 1994-06-14 | 2004-12-08 | 株式会社ルネサステクノロジ | 分岐予測装置 |
US6163839A (en) * | 1998-09-30 | 2000-12-19 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
-
1998
- 1998-10-23 JP JP10302976A patent/JP2000132390A/ja active Pending
-
1999
- 1999-08-30 US US09/385,449 patent/US6516409B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012511212A (ja) * | 2008-12-04 | 2012-05-17 | アナログ デバイシス, インコーポレイテッド | デジタルプロセッサにおいてジャンプ動作を実施するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US6516409B1 (en) | 2003-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000132390A (ja) | プロセッサ及び分岐予測器 | |
US10268480B2 (en) | Energy-focused compiler-assisted branch prediction | |
US6202130B1 (en) | Data processing system for processing vector data and method therefor | |
US5752014A (en) | Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous branch prediction | |
KR100431168B1 (ko) | 단일 클럭 사이클 내에 불연속 명령을 페치하기 위한 방법 및 시스템 | |
US7117345B2 (en) | Non-stalling circular counterflow pipeline processor with reorder buffer | |
Rychlik et al. | Efficacy and performance impact of value prediction | |
JP3599409B2 (ja) | 分岐予測装置 | |
US6687812B1 (en) | Parallel processing apparatus | |
US20130346727A1 (en) | Methods and Apparatus to Extend Software Branch Target Hints | |
EP1974254B1 (en) | Early conditional selection of an operand | |
US6735687B1 (en) | Multithreaded microprocessor with asymmetrical central processing units | |
US6871343B1 (en) | Central processing apparatus and a compile method | |
CN116302106A (zh) | 用于促进分支预测单元的改善的带宽的设备、方法和系统 | |
US20220035635A1 (en) | Processor with multiple execution pipelines | |
KR100307980B1 (ko) | 산술 또는 논리 연산의 수행과 동시에 조건 코드 비트를 발생하는 방법 및 시스템 | |
US20030005422A1 (en) | Technique for improving the prediction rate of dynamically unpredictable branches | |
WO2004068337A1 (ja) | 情報処理装置 | |
JP2001060152A (ja) | 分岐予測を抑止する情報処理装置および方法 | |
US20200019402A1 (en) | Varying micro-operation composition based on estimated value of predicate value for predicated vector instruction | |
US5913050A (en) | Method and apparatus for providing address-size backward compatibility in a processor using segmented memory | |
KR100331199B1 (ko) | 병행 생성된 복수의 페치 어드레스 중 하나를 선택하여 메모리요구를 형성하는 명령 페치 방법 및 프로세서 | |
KR20240128829A (ko) | 루프 재생 성능을 최적화하기 위한 프로세서에서 캡처된 루프의 최적화 | |
van der Linden | Instruction-level Parallelism | |
JP2005516301A (ja) | 命令実行方法 |