JP2008538251A - 投機的分岐予測最適化のためのシステム及びその方法 - Google Patents

投機的分岐予測最適化のためのシステム及びその方法 Download PDF

Info

Publication number
JP2008538251A
JP2008538251A JP2008505339A JP2008505339A JP2008538251A JP 2008538251 A JP2008538251 A JP 2008538251A JP 2008505339 A JP2008505339 A JP 2008505339A JP 2008505339 A JP2008505339 A JP 2008505339A JP 2008538251 A JP2008538251 A JP 2008538251A
Authority
JP
Japan
Prior art keywords
branch prediction
speculative branch
processor
instructions
depth
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
JP2008505339A
Other languages
English (en)
Inventor
シハデ イライアス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2008538251A publication Critical patent/JP2008538251A/ja
Pending legal-status Critical Current

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

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

Abstract

プロセッサの投機的分岐予測効率を表す値が求められ、投機的分岐予測深度がそれに応じて調整される。プロセッサの投機的分岐予測効率は、1命令当たりのクロックの平均個数(平均CPI)によって表すことができる。これによれば、平均CPIの増加は、間違って予測された投機的分岐予測のためにプロセッサの効率が悪くなっていることを示し、逆に、減少は、プロセッサの有する、適切に予測された投機的分岐予測の比率がより高くなっていることを示す。このように、プロセッサが投機的分岐予測をより効果的に予測しているときは、プロセッサの利用可能な投機的分岐予測深度を増加させて、この増加された効率を活用することができ、プロセッサが投機的分岐予測をあまり効果的に予測していないときは、誤った投機的分岐予測を遂行する際にプロセッサにより使用される処理サイクル及び電力を削減又は最小化するように利用可能な投機的分岐予測深度を減少させることができる。

Description

本開示は、投機的分岐予測技法を対象とし、より詳細には、適応型投機的分岐予測最適化のための技術を対象とする。
分岐予測技法は、プロセッサの性能を高めるためにプロセッサ及び他の処理デバイスで頻繁に使用される。分岐予測の1つのタイプには、投機的分岐予測が含まれる。この投機的分岐予測によれば、最初の条件分岐予測が行われた後、その最初の分岐予測が解決する前に、1つ又は2つ以上の投機的分岐予測を行うことができる。ここで、行われる投機的分岐予測の個数は、利用可能な投機的予測深度と呼ばれる。投機的分岐予測は、或る投機的分岐予測に先行する条件分岐予測が選ばれた場合に、その投機的分岐予測は、条件分岐予測になり、その新しい条件分岐予測に関係した命令は、すでにプリフェッチされ、プロセッサのパイプラインによる実行に利用可能であるという点で多くの場合に有利である。その結果、プロセッサのパイプラインがフルに利用されることになり、それによって、プロセッサのストールが防止される。
一方、投機的分岐予測は、最初の条件分岐予測が選ばれなかった場合に、パイプラインは、その投機的分岐予測に関係した命令をプリフェッチしてキャッシュ及び/又はパイプライン自体にロードする際の時間及び電力の双方を浪費してしまうという点で不利となる場合がある。その結果、プロセッサは、パイプラインに誤った予測や分岐の実行を強いるために、また、誤って予測された分岐の実行に起因するデータを除去又は無視するために、エネルギー及び時間を浪費してしまう。
したがって、従来の処理デバイスは、投機的分岐予測の有利な点と不利な点との間の最適なバランスの達成を試みて、所定の利用可能な投機的分岐予測深度を利用する場合がある。しかしながら、投機的分岐予測のヒット/ミスの割合及び条件分岐の平均個数は、アプリケーションに非常に特有のものであるので、どの特定の所定の利用可能な投機的分岐予測深度を選択しても、その深度は、多くの場合、プロセッサによって実行されるアプリケーションの一部又は全部にとって準最適であることが分かる。したがって、適応型投機的分岐予測深度最適化のためのシステム及び方法が有利となる。
図1〜図4は、プロセッサ及び他の処理デバイスにおける投機的分岐予測の適応型最適化のためのさまざまなシステム及び技法を示している。本開示の少なくとも1つの実施形態によれば、プロセッサの投機的分岐予測効率を表す値が求められ、投機的分岐予測深度が、その効率値に従って調整される。プロセッサの投機的分岐予測効率は、たとえば、1命令当たりのクロックの個数(CPI)によって表すことができる。
これによれば、CPIの増加は、間違って予測された投機的分岐予測のためにプロセッサの効率が悪くなっていることを示し、逆に、CPIの減少は、プロセッサの有する、適切に予測された投機的分岐予測の比率がより高くなっていることを示す。このように、プロセッサが投機的分岐予測をより効果的に予測しているアプリケーションを実行しているときは、プロセッサの利用可能な投機的分岐予測深度を増加させて、この増加された効率を活用することができ、プロセッサが投機的分岐予測をあまり効果的に予測していないときは、誤った投機的分岐予測を遂行する際にプロセッサにより使用される処理サイクル及び電力を削減又は最小化するように利用可能な投機的分岐予測深度を減少させることができる。
次に図1を参照すると、適応型投機的分岐予測深度最適化技法を利用する1つの例示的な処理デバイス100が、本開示の少なくとも1つの実施形態に従って示されている。処理デバイス100は、命令キャッシュ106に結合されたプリフェッチモジュール104を有するパイプライン102を備える。図示するように、パイプライン102は、命令デコードモジュール108、命令キュー110、アドレス計算モジュール112、実行モジュール114、ライトバックモジュール115等をさらに備えることができる。処理デバイス100は、少なくともプリフェッチモジュール104及び実行モジュール114に結合された投機的分岐予測状態マシン120をさらに備える。
投機的分岐予測状態マシン120は、少なくとも1つの実施形態では、プロセッサの投機的分岐予測効率を表すために求められた1つ又は2つ以上の値に基づいて、プリフェッチモジュール104に利用可能な、利用可能な投機的分岐予測深度を動的に調整するように動作可能である。一実施形態では、1命令当たりの平均クロック、すなわち平均CPIは、プロセッサの投機的分岐予測効率の表示として投機的分岐予測状態マシン120により利用され、このCPI値から、状態マシン120は、プリフェッチモジュール104によって使用される新しい投機的分岐予測深度を求めることもできるし、プリフェッチモジュール104によって使用される既存の投機的分岐予測深度を調整することもできる。
次に図2を参照すると、状態マシン120がより詳細に示されている。図示した例では、状態マシン120は、深度調整モジュール206に結合された予測効率モジュール202を備える。予測効率モジュール202は、パイプラインクロック124等の周期信号を受け取る入力、現在の命令サイクルについてのカウント命令(ITC:instruction to count)の個数の指示又はその個数の表示(ITC信号123)を受け取る入力、及び実行モジュール114から受け取られた信号126を受け取る入力を含む。ここで、命令が実行モジュール114によってコミットされた時、実行モジュール114は、信号126をアサートするか、又は、特定の値を信号126として提供する。クロック信号124のパルス及び信号126から導出されるコミットされた命令のカウントを使用することによって、予測効率モジュール202は、ITC信号123によって規定された命令サイクルの平均CPIを求めることができる。
この平均CPIは、命令サイクルについてのプロセッサの投機的分岐予測効率を示すものとして、深度調整モジュール206へ信号204として出力することができる。信号204において出力された平均CPIに基づいて、深度調整モジュール206は、プリフェッチモジュール104に利用可能な投機的分岐予測深度をインクリメントするのか、それともデクリメントするかどうかを判断することができる。
ここで、現在の命令サイクルの平均CPIが前の命令サイクルの平均CPIよりも大きいときは、利用可能な深度をデクリメントすることができ、逆に、現在の命令サイクルの平均CPIが前の命令サイクルの平均CPIよりも小さいときは、深度調整モジュール206は、プリフェッチモジュール104によって使用される利用可能な投機的分岐予測深度をインクリメントすることができる。代替的に、深度調整モジュール206は、CPI値を1つ又は2つ以上のしきい値と比較することに基づいて、プリフェッチモジュール104によって使用される新しい利用可能な投機的分岐予測深度値を求めることもできる。このように、深度調整モジュール206は、所与のアプリケーションに使用される投機的分岐予測深度の有効性を評価するために、或る命令サイクルの平均CPIを前の命令サイクルの平均CPIと比較することに基づいて、利用可能な投機的分岐予測深度を動的に調整することができる。
次に図3を参照すると、予測効率モジュール202の例示的な一実施態様が、本開示の少なくとも1つの実施形態に従って示されている。モジュール202は、クロックカウンタ302、クロックカウントレジスタ304、命令カウンタ306、比較モジュール308、除算器312、遅延素子322、ORゲート320、及びITCレジスタ122を備える。クロックカウンタ302は、パイプラインクロック124を受け取る入力、及び、クロックカウントレジスタ304の入力に結合された出力を含む。クロックカウンタレジスタ304は、比較モジュール308の出力に結合された第2の入力、及び、除算器312の入力に結合された出力をさらに備える。命令カウンタ306は、コミットされた命令信号126を受け取る入力、及び、比較モジュール308の第1の入力に結合された出力を備える。比較モジュールは、ITCレジスタ122の出力に結合された第2の入力をさらに備える。上述したように、ITCレジスタ122には、たとえばソフトウェアドライバ又はオペレーティングシステムを介して、ITC信号123として提供できるITC値をロードすることができる。
動作中、命令サイクルの開始時に、クロックカウンタ302及び命令カウンタ306が、たとえば、ORゲート320を介して提供されるリセット信号を介してリセットされる。クロックカウンタ302は、次に、パイプラインクロック124の各パルスにおいてインクリメントされる。同様に、命令カウンタ306が、現在の命令サイクル中に実行モジュール114によってコミットされた命令の現在の個数を表すように、命令カウンタ306は、コミットされた信号126が実行モジュール114によってアサートされるごとにインクリメントされる。命令カウンタ306の現在の値は、比較モジュール308に提供され、同様に、ITCレジスタ122に記憶されたITC値も比較モジュール308に提供される。これらの値が等しいか又はほぼ等しいとき、比較モジュール308は、同等信号310をアサートし、それによって、実行モジュール114によってコミットされた命令の個数が、オペレーティングシステム又はソフトウェアドライバによって指示されたカウント命令の個数と等しいか又はほぼ等しいことを示す。クロックカウントレジスタ304は、一実施形態では、現在の命令サイクル中にパイプラインクロック124からクロックカウンタ302によって決定されるクロックサイクル又はパルスの現在の個数を記憶する。同等信号310のアサートに応答して、クロックカウントレジスタ304は、現在のクロックカウントを除算器312に出力する。除算器312は、現在の命令サイクルのクロックカウントをカウント命令(ITC)の個数で除算して、現在の命令サイクル中に実行モジュール114によってコミットされたそれらの命令について、1命令当たりのクロックの平均個数(平均CPI)を求める。一実施形態では、除算器312は、右シフト入力としてITC信号123を有するシフタとして実装される。求められた平均CPIの表示は、信号204として出力することができる。
次に図4を参照すると、1つ又は2つ以上の命令サイクルの平均CPIに基づいて、プロセッサ100により使用される利用可能な投機的分岐予測深度を調整するための1つの例示的な方法が、本開示の少なくとも1つの実施形態に従って示されている。この方法400は、ブロック402で開始する。ブロック402において、特定の命令サイクルについてカウントされる命令の個数を表す1つ又は複数のITC値が、たとえばITCレジスタ122にロードされる。ブロック404において、実行モジュール114によってコミットされた命令の個数が、現在の命令サイクルについてカウントされる。ブロック406において、パイプラインクロック124のパルス又はサイクルの個数がカウントされる。ステップ408において、この命令サイクルの平均CPIが、ブロック404でカウントされた、コミットされた命令の個数に対する、ブロック406でカウントされたサイクルの個数の比率に基づいて求められる。ブロック410において、現在の命令サイクルの平均CPIが、前の命令サイクルの平均CPIと比較される。現在の命令サイクルの平均CPIが前の命令サイクルの平均CPIよりも小さい状況は、プロセッサ110の投機的分岐予測がより効果的であるか、又は、より効果的になりつつあることを示すものと解釈することができ、したがって、ブロック412において、プリフェッチモジュール104によって利用される利用可能な投機的分岐予測深度を或る値だけインクリメントすることができる。たとえば、深度を一定の増分だけインクリメントしたり(たとえば、1だけインクリメント)、特定のパーセンテージだけインクリメントしたり(たとえば、投機的分岐予測を20%だけインクリメント)等することができる。
カウント命令の個数(すなわち、ITCの値)は、平均CPIが計算される継続期間を表し、したがって、その結果の平均CPIの因子となり得る。たとえば、ITC値が、たとえばタイトループにおける命令の個数よりも小さい場合、平均CPI値は、そのタイトループの実行によって不自然に低いものとして計算される場合がある。同様に、大きすぎるITC値は、プロセッサの分岐予測効率を完全には反映していない見積もり平均CPI値となる場合がある。したがって、現在の平均CPIが、前の平均CPIよりも小さい場合には、次の命令サイクルについて平均CPIが計算される継続期間を精緻化するために、ITC値をブロック414において減少させることができる。たとえば、現在のITC値が所定の最小ITC値よりも大きいことを確認した後、たとえば、ITCレジスタ122の値を右に1ビットだけシフトすることによって、ITC値を半分だけ削減することができる。
現在の命令サイクルの平均CPIが前の命令サイクルの平均CPIよりも大きい場合は、プロセッサがその投機的分岐予測であまり効果的でないか又は効果的でなくなってきていることを示すものと解釈することができる。したがって、プリフェッチモジュール104が選ぶことができる投機的分岐予測の個数を削減し、したがって、ミスした投機的分岐予測に起因する浪費されたプロセッササイクル時間及び電力消費を削減又は最小化するために、ブロック418において、利用可能な分岐予測深度を或る量だけデクリメントすることができる。その上、これは、現在のITC値が、適切な平均CPI値を求めることができる命令の個数としては不十分であることを表す場合もある。したがって、ブロック420において、現在のITC値を増加させて、次のサイクル中にカウントされる命令の個数を増加させることができる。たとえば、ITC値が所定の最大ITC値よりも小さいことを確認した後、たとえば、ITCレジスタ122を左に1ビットだけシフトすることによって、現在のITC値を増加させて、そのサイズを2倍にすることができる。
次の命令サイクルでは、かつての現在の平均CPIが、前の平均CPIとなるように設定され、次の命令サイクルについて方法400を繰り返すことができる。したがって、方法400の繰り返される反復の結果、プロセッサによって行われる投機的分岐予測の有効性の変動に加えて、多くの場合、アプリケーションに非常に依存する誤りのある投機的分岐予測のコストの変動に順応するように、プリフェッチモジュール104によって使用される利用可能な投機的分岐予測深度が動的に調節される。
上記で開示した内容は、制限的ではなく、例示的なものとみなされるべきであり、添付の特許請求の範囲は、本発明の真の趣旨及び範囲内に入るすべての変更、高度化、及び他の実施形態をカバーすることを目的としている。したがって、本発明の範囲は、法律によって許可される最大範囲まで、添付の特許請求の範囲及びその均等物の許容可能な最も広い解釈によって決定されるべきであり、上記詳細な説明によって制限も限定もされない。
本開示の少なくとも1つの実施形態による適応型投機的分岐予測深度最適化を利用する1つの例示的な処理デバイスのブロック図である。 本開示の少なくとも1つの実施形態による図1の処理デバイスの1つの例示的な投機的分岐予測状態マシンを示すブロック図である。 本開示の少なくとも1つの実施形態による1つの例示的な予測効率モジュールを示すブロック図である。 本開示の少なくとも1つの実施形態による最適な投機的分岐予測深度を求めるための1つの例示的な方法を示すフロー図である。

Claims (10)

  1. プロセッサによる1つ又は2つ以上の命令の実行中に発生する周期パルス数を定量化し、
    前記周期パルス数を所定の値と比較することに基づいて、分岐予測の利用可能な深度を調整する、方法。
  2. 前記周期パルス数の定量化では、1命令当たりの前記パルスの比率が求められる、請求項1に記載の方法。
  3. 前記周期パルス数の定量化では、所定数の命令に対する該周期パルス数を求める、請求項1に記載の方法。
  4. 前記分岐予測の利用可能な深度の調整に従って、前記所定数の命令を調整する、請求項1に記載の方法。
  5. 前記所定数の命令の調整では、前記分岐予測の利用可能な深度を減少させることに応じて、前記所定数の命令を増加させる、請求項4に記載の方法。
  6. 前記所定数の命令の調整では、前記分岐予測の利用可能な深度を増加させることに応じて、前記所定数の命令を減少させる、請求項5に記載の方法。
  7. 前記所定数の命令は、所定の最小数の命令及び所定の最大数の命令によって設定された範囲内に維持される、請求項6に記載の方法。
  8. 前記分岐予測は、投機的分岐予測を含む、請求項1に記載の方法。
  9. プロセッサの命令実行効率を定量化するように動作可能な第1の部分(202)と、
    前記命令実行効率に基づいて、利用可能な投機的分岐予測深度を調整する第2の部分(206)と
    を備える、システム。
  10. 前記第1の部分(202)は、周期信号を受け取る第1の入力(124)と、命令の実行に応じてアサートされる命令カウント信号を受け取る第2の入力(126)と、実行された命令数と比較される前記周期信号のパルス数の第1の表示を提供する出力(204)とを有し、前記第1の表示は、前記命令実行効率を表す、請求項9に記載のシステム。
JP2008505339A 2005-04-04 2006-03-21 投機的分岐予測最適化のためのシステム及びその方法 Pending JP2008538251A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/098,153 US8001363B2 (en) 2005-04-04 2005-04-04 System for speculative branch prediction optimization and method thereof
PCT/US2006/010150 WO2006107581A2 (en) 2005-04-04 2006-03-21 System for speculative branch prediction optimization and method thereof

Publications (1)

Publication Number Publication Date
JP2008538251A true JP2008538251A (ja) 2008-10-16

Family

ID=36696018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008505339A Pending JP2008538251A (ja) 2005-04-04 2006-03-21 投機的分岐予測最適化のためのシステム及びその方法

Country Status (8)

Country Link
US (1) US8001363B2 (ja)
EP (1) EP1866747B1 (ja)
JP (1) JP2008538251A (ja)
KR (1) KR20070116848A (ja)
CN (1) CN100573444C (ja)
DE (1) DE602006006429D1 (ja)
TW (1) TWI403953B (ja)
WO (1) WO2006107581A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536611A (ja) * 2018-08-29 2021-12-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 分岐信頼スロットル

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI258078B (en) * 2003-10-07 2006-07-11 Via Tech Inc Pre-fetch controller and method thereof
US9304773B2 (en) * 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
US7711935B2 (en) * 2007-04-30 2010-05-04 Netlogic Microsystems, Inc. Universal branch identifier for invalidation of speculative instructions
KR100957241B1 (ko) * 2008-03-14 2010-05-12 손영전 조작 신호 빈도수에 의한 집단 명령 제어 방법 및 장치
GB2461902B (en) * 2008-07-16 2012-07-11 Advanced Risc Mach Ltd A Method and apparatus for tuning a processor to improve its performance
CN102750219B (zh) * 2011-04-22 2015-05-20 清华大学 基于cpu硬件性能监控计数器的cpi精确测量方法
US9582284B2 (en) * 2011-12-01 2017-02-28 International Business Machines Corporation Performance of processors is improved by limiting number of branch prediction levels
KR101711388B1 (ko) 2013-01-28 2017-03-02 삼성전자주식회사 파이프라인에서 블럭을 스케줄하는 컴파일 방법 및 장치
CN104966228B (zh) * 2015-06-15 2018-05-25 昆明理工大学 一种基于arima与lssvm模型的cpi组合预测方法
US10255100B2 (en) * 2015-12-03 2019-04-09 International Business Machines Corporation Performance optimization engine for processor parameter adjustment
US10318303B2 (en) 2017-03-28 2019-06-11 Oracle International Corporation Method and apparatus for augmentation and disambiguation of branch history in pipelined branch predictors
CN110825442B (zh) * 2019-04-30 2021-08-06 成都海光微电子技术有限公司 一种指令预取方法及处理器
US11163683B2 (en) 2019-08-01 2021-11-02 International Business Machines Corporation Dynamically adjusting prefetch depth
US11301386B2 (en) 2019-08-01 2022-04-12 International Business Machines Corporation Dynamically adjusting prefetch depth

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240526A (ja) * 1997-02-27 1998-09-11 Fujitsu Ltd 分岐予測装置
JP2001092659A (ja) * 1999-09-17 2001-04-06 Nec Corp 投機実行命令例外制御方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE940855A1 (en) * 1993-12-20 1995-06-28 Motorola Inc Data processor with speculative instruction fetching and¹method of operation
US6092187A (en) 1997-09-19 2000-07-18 Mips Technologies, Inc. Instruction prediction based on filtering
US6523110B1 (en) * 1999-07-23 2003-02-18 International Business Machines Corporation Decoupled fetch-execute engine with static branch prediction support
US6574727B1 (en) * 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6691220B1 (en) * 2000-06-06 2004-02-10 International Business Machines Corporation Multiprocessor speculation mechanism via a barrier speculation flag
US6728873B1 (en) * 2000-06-06 2004-04-27 International Business Machines Corporation System and method for providing multiprocessor speculation within a speculative branch path
US6748522B1 (en) * 2000-10-31 2004-06-08 International Business Machines Corporation Performance monitoring based on instruction sampling in a microprocessor
US7865747B2 (en) * 2000-10-31 2011-01-04 International Business Machines Corporation Adaptive issue queue for reduced power at high performance
US7024545B1 (en) * 2001-07-24 2006-04-04 Advanced Micro Devices, Inc. Hybrid branch prediction device with two levels of branch prediction cache

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240526A (ja) * 1997-02-27 1998-09-11 Fujitsu Ltd 分岐予測装置
JP2001092659A (ja) * 1999-09-17 2001-04-06 Nec Corp 投機実行命令例外制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536611A (ja) * 2018-08-29 2021-12-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 分岐信頼スロットル
JP7430173B2 (ja) 2018-08-29 2024-02-09 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 分岐信頼スロットル

Also Published As

Publication number Publication date
DE602006006429D1 (de) 2009-06-04
EP1866747A2 (en) 2007-12-19
KR20070116848A (ko) 2007-12-11
EP1866747B1 (en) 2009-04-22
US8001363B2 (en) 2011-08-16
TW200703093A (en) 2007-01-16
CN101156133A (zh) 2008-04-02
US20060224872A1 (en) 2006-10-05
WO2006107581A2 (en) 2006-10-12
TWI403953B (zh) 2013-08-01
WO2006107581A3 (en) 2007-02-22
CN100573444C (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
JP2008538251A (ja) 投機的分岐予測最適化のためのシステム及びその方法
JP5335946B2 (ja) 電力的に効率的な命令プリフェッチ機構
US7979725B2 (en) Computer power conservation apparatus and method that controls speculative execution by adjusting branch confidence threshold based on processor load
CN104978284B (zh) 处理器子程序高速缓冲存储器
JP5579694B2 (ja) 復帰スタックを管理する方法および装置
US20070260853A1 (en) Switching processor threads during long latencies
JP2009501961A (ja) 予測的なプロセッサコンポーネントサスペンドのためのシステム及びその方法
JP2022500777A (ja) ループ終了予測を用いたプロセッサのループモードの促進又は抑制
US7941646B2 (en) Completion continue on thread switch based on instruction progress metric mechanism for a microprocessor
US7130991B1 (en) Method and apparatus for loop detection utilizing multiple loop counters and a branch promotion scheme
US9489204B2 (en) Method and apparatus for precalculating a direct branch partial target address during a misprediction correction process
US10324727B2 (en) Memory dependence prediction
WO2002050667A2 (en) Speculative register adjustment
CN117632262A (zh) 分支预测方法及系统、分支预测器、处理器和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090310

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120808