JP5415268B2 - 分岐先アドレスキャッシュにおけるルックアップの低減方法および装置 - Google Patents
分岐先アドレスキャッシュにおけるルックアップの低減方法および装置 Download PDFInfo
- Publication number
- JP5415268B2 JP5415268B2 JP2009524785A JP2009524785A JP5415268B2 JP 5415268 B2 JP5415268 B2 JP 5415268B2 JP 2009524785 A JP2009524785 A JP 2009524785A JP 2009524785 A JP2009524785 A JP 2009524785A JP 5415268 B2 JP5415268 B2 JP 5415268B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- branch
- instruction
- address
- btac
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 74
- 230000004044 response Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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, 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- 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
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30061—Multi-way branch instructions, e.g. CASE
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
Description
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[1]分岐先アドレスキャッシュ(BTAC)へのルックアップを低減する方法であって、命令キャッシュ(I−キャッシュ)中の第1の命令アドレスのルックアップにおけるミスに応じて、前記BTACから分岐先アドレスを検索することと; 前記BTACからの前記分岐先アドレスを前記I−キャッシュに格納することと、 なお、前記分岐先アドレスは前記I−キャッシュ中の前記第1の命令アドレスに関連する; を備えた方法。
[2]前記I−キャッシュ中の前記第1の命令アドレスをルックアップすることと; 前記I−キャッシュ中の前記第1の命令アドレスに関連する前記分岐先アドレスを検索することと; をさらに備えた、[1]に記載の方法。
[3]前記第1の命令アドレスに関連する前記第1の命令をフェッチすることと; フェッチされるべき第2の命令が前記分岐先アドレスに関連することを予測することと; をさらに備えた、[1]に記載の方法。
[4]前記分岐先アドレスに基づいて前記第2の命令をフェッチすることをさらに備えた、[3]に記載の方法。
[5]前記第1の命令についての誤予測を検知することをさらに備えた、[4]に記載の方法。
[6]I−キャッシュラインの少なくとも1つの無効化によって前記I−キャッシュを管理することと、前記I−キャッシュラインにおける前記分岐先アドレスを無効化することと、前記I−キャッシュ中の前記分岐先アドレスを更新することとをさらに備えた、[5]に記載の方法。
[7]前記第1の命令についての誤予測を検知することは、 前記第1の命令のための実際の分岐先アドレスを計算することと; 前記実際の分岐先アドレスを前記I−キャッシュ中の前記分岐先アドレスと比較することと、なお、前記実際の分岐先アドレスは前記I−キャッシュ中の前記分岐先アドレスと一致しない; をさらに備えた、[5]に記載の方法。
[8]分岐命令を命令キャッシュ(I−キャッシュ)に格納する方法であって、 命令キャッシュ(I−キャッシュ)中の分岐命令アドレスをルックアップすることと; I−キャッシュミスに応じて分岐先アドレスキャッシュ(BTAC)から分岐先アドレスを検索することと; 前記分岐先アドレスを前記I−キャッシュのエントリーに格納することと; を備えた方法。
[9]I−キャッシュヒットに応じて前記分岐先アドレスを前記I−キャッシュから検索することをさらに備えた、[8]に記載の方法。
[10]フェッチされるべき次の命令が前記分岐先アドレスに関連することを予測することをさらに備えた、[9]に記載の方法。
[11]誤予測に基づいて前記I−キャッシュ中の前記分岐先アドレスを更新することをさらに備えた、[8]に記載の方法。
[12]前記誤予測によって前記エントリー中の前記分岐先アドレスを更新することは、前記分岐命令の実際の分岐アドレスを決定することと; 前記実際の分岐アドレスを前記分岐先アドレスと比較することと、なお、前記実際の分岐解決は前記予測された標的アドレスと一致しない; をさらに備えた、[11]に記載の方法。
[13]フェッチされるべき前記分岐先アドレスを送るかどうかを予測することをさらに備えた、[9]に記載の方法。
[14]フェッチされるべき前記分岐先アドレスを送ることをさらに備えた、[13]に記載の方法。
[15]分岐先アドレスキャッシュ(BTAC)へのルックアップを低減するためのシステムであって、 分岐先アクセスキャッシュ(BTAC)と; 第1の分岐命令アドレスのルックアップにおけるキャッシュミスに応じて、前記BTACから分岐先アドレスを検索するように構成された命令キャッシュ(I−キャッシュ)と、なお、前記I−キャッシュは前記分岐先アドレスを格納するように構成される; を備えたシステム。
[16]前記I−キャッシュは、ルックアップされた前記I−キャッシュ中に第1の分岐命令アドレスを持ち、かつ、前記I−キャッシュから検索された前記第1の分岐命令アドレスに関連する前記分岐先アドレスを持つように構成された、[15]に記載のシステム。
[17]前記I−キャッシュは、フェッチされた前記第1の命令アドレスに関係する前記第1の命令を持ち、前記システムは、さらに、フェッチされるべき第2の命令が前記分岐先アドレスに関連することを予測するように構成された分岐予測回路を備えた、[15]に記載のシステム。
[18]前記I−キャッシュは、前記I−キャッシュからフェッチされた前記分岐先アドレスに基づく前記第2の命令を持つように構成された、[17]に記載のシステム。
[19]フェッチされるべき前記第2の命令を誤予測するように構成された更新ロジックをさらに備えた、[18]に記載のシステム。
[20]I−キャッシュラインの少なくとも1つの無効化によって前記I−キャッシュを管理し、前記I−キャッシュラインにおける前記分岐先アドレスを無効化し、前記I−キャッシュ中の前記分岐先アドレスを更新するように構成された制御ロジック回路をさらに備えた、[19]に記載のシステム。
Claims (21)
- 命令キャッシュ(I−キャッシュ)を用いて、分岐先アドレスキャッシュ(BTAC)へのルックアップを低減する方法であって、前記方法は、
前記I−キャッシュ中に格納されるべき第1の分岐命令の第1の命令アドレスを利用した、前記第1の分岐命令のルックアップにおけるミスに応じて、前記BTACから第1の分岐先アドレスを検索すること、前記第1の分岐先アドレスは、前記第1の分岐命令の分岐先アドレスである、と;
前記BTACから検索される前記第1の分岐先アドレスを、前記第1の命令アドレスに関連する第1の位置で、前記I−キャッシュに格納すること、なお、前記I−キャッシュは、前記第1の分岐命令を含む複数の命令を格納するよう構成され、前記BTACから検索される前記第1の分岐先アドレスは、パイプラインの処理段階における前記第1の分岐命令の先の分岐解決の検知に応じて前記BTACに与えられている、と;
前記I−キャッシュでの第1の命令アドレスのルックアップに応じて、前記第1の命令アドレスが前記I−キャッシュに格納されている場合に、前記第1の分岐先アドレスを前記I−キャッシュから検索することと;
を備えた方法。 - 前記第1の分岐命令に関連する誤予測を検知することをさらに備えた、請求項1に記載の方法。
- 前記誤予測に関連するI−キャッシュラインの少なくとも1つの無効化を行うことと、
前記I−キャッシュラインにおける前記分岐先アドレスを無効化することと、
前記I−キャッシュ中の前記分岐先アドレスを更新することと、
をさらに備えた、請求項2に記載の方法。 - 前記誤予測を検知することは、
前記第1の分岐命令に関連する実際の分岐先アドレスを計算することと;
前記実際の分岐先アドレスが前記I−キャッシュに格納された前記第1の分岐先アドレスと一致しないことを判断することと;
をさらに備えた、請求項2に記載の方法。 - 第2のI−キャッシュでの第2の命令アドレスのルックアップにおける第2のミスに応じて、前記BTACから第2の分岐先アドレスを受けることと、
前記第2の分岐先アドレスを、前記第2の命令アドレスに関連する第2の位置で前記第2のI−キャッシュに格納することと、
をさらに備えた、請求項1に記載の方法。 - 前記BTACからの前記第1の分岐先アドレスを検索することは、前記BTACにおける前記第1の分岐命令の前記第1の命令アドレスをルックアップすることを備え、前記BTACにおける前記第1の分岐命令の前記第1の命令アドレスをルックアップすることは、特定の間接分岐命令が前記I−キャッシュの中で見つからない場合に制限される、請求項1記載の方法。
- 前記BTACを更新することと、前記パイプラインから受けとられる解決された分岐先アドレスで前記I−キャッシュを更新することと、をさらに備える、請求項1記載の方法。
- 前記パイプラインでの分岐解決の検知に応じて、解決された分岐先アドレスのデータを前記I−キャッシュに与えることにより、前記I−キャッシュを更新すること、をさらに備える、請求項1記載の方法。
- 命令キャッシュ(I−キャッシュ)中の分岐命令に関連する分岐命令アドレスをルックアップすることと;
前記分岐命令に関連するI−キャッシュミスに応じて分岐先アドレスキャッシュ(BTAC)から分岐先アドレスを検索すること、前記分岐先アドレスは、前記分岐命令の特定の分岐先アドレスである、と;
前記BTACから検索される前記分岐先アドレスを前記I−キャッシュのエントリーに格納すること、なお、前記エントリーは前記I−キャッシュの中の前記分岐命令アドレスと関連付けられ、前記BTACから検索される分岐先アドレスは、パイプラインの処理段階における前記分岐命令の先の分岐解決の検知に応じて前記BTACに与えられている、と;
前記I−キャッシュでの前記分岐命令アドレスのルックアップに応じて、前記分岐命令アドレスが前記I−キャッシュに格納されている場合に、前記分岐先アドレスを前記I−キャッシュから検索することと;
を備えた方法。 - フェッチされるべき次の命令が前記分岐先アドレスに関連することを予測することをさらに備えた、請求項9に記載の方法。
- 前記予測が正しくない場合、前記I−キャッシュ中の前記分岐先アドレスを更新することをさらに備えた、請求項10に記載の方法。
- 前記分岐先アドレスを更新することは、
前記分岐命令の実際の分岐先アドレスを前記パイプラインから受け取ることと;
前記I−キャッシュに格納され、前記BTACに格納された前記分岐先アドレスを、前記実際の分岐先アドレスと置き換えることと;
をさらに備えた、請求項11に記載の方法。 - 第2のI−キャッシュでの第2の分岐命令アドレスをルックアップすることと、
第2のI−キャッシュミスに応じて、前記BTACから第2の分岐先アドレスを検索することと、
前記第2のI−キャッシュにおける第1のエントリーに、前記BTACから検索される前記第2の分岐先アドレスを格納することと、
をさらに備えた、請求項9に記載の方法。 - 前記BTACから前記特定の分岐先アドレスを検索することは、前記BTACにおける前記分岐命令アドレスをルックアップすることを備え、前記BTACにおける前記分岐命令アドレスをルックアップすることは、特定の間接分岐命令が前記I−キャッシュの中で見つからない場合に制限される、請求項9記載の方法。
- 命令キャッシュ(I−キャッシュ)を用いて分岐先アドレスキャッシュ(BTAC)へのルックアップを低減するための装置であって、前記装置は、
前記BTACと;
前記I−キャッシュと、
ここで、前記I−キャッシュは、
第1の分岐命令を含む命令を格納し、
前記I−キャッシュにおける第1の分岐命令アドレスのルックアップのときのI−キャッシュミスに応じて、前記BTACから第1の分岐先アドレスを検索し、ここで、前記第1の分岐命令アドレスは、前記I−キャッシュに格納された前記第1の分岐命令に関連付けられ、前記第1の分岐先アドレスは、前記第1の分岐命令の分岐先アドレスに関連付けられる、
前記BTACから検索される前記第1の分岐先アドレスを格納する、
ように構成され;
前記I−キャッシュでの第1の分岐命令アドレスのルックアップに応じて、前記第1の分岐命令アドレスが前記I−キャッシュに格納されている場合に、前記分岐先アドレスを前記I−キャッシュから検索することと;
を備え、
前記BTACから検索される前記第1の分岐先アドレスは、パイプラインの処理段階において前記第1の分岐命令の先の分岐解決の検知に応じて、前記BTACに与えられている、
装置。 - フェッチされるべき第2の命令が前記I−キャッシュに格納された前記第1の分岐先アドレスに関連することを予測するように構成された分岐予測回路をさらに備えた、請求項15に記載の装置。
- 前記I−キャッシュは、さらに、前記第2の命令をフェッチする要求に応じて前記第1の分岐先アドレスをプログラムカウンタに与えるように構成された、請求項16に記載の装置。
- フェッチされるべき前記第2の命令の誤予測を解決するように構成された更新ロジック回路をさらに備えた、請求項17記載の装置。
- 前記第1の分岐先アドレスを含むI−キャッシュラインの少なくとも1つの無効化によって前記I−キャッシュを管理し、前記I−キャッシュラインにおける前記第1の分岐先アドレスを無効化し、前記I−キャッシュ中の前記第1の分岐先アドレスを更新するように構成された制御ロジック回路をさらに備えた、請求項18に記載の装置。
- 前記BTACは、2つまたはそれより多くのプロセッサの間で共用される、請求項15記載の装置。
- 前記I-キャッシュは、さらに、前記I−キャッシュミスに応じて、前記第1の分岐先アドレスが検索される場合に、前記BTACにおける前記第1の分岐先アドレスのルックアップを実行するように構成され、前記BTACにおける前記第1の分岐命令アドレスの前記ルックアップは、特定の間接分岐命令が前記I−キャッシュの中で見つからない場合に制限される、請求項15記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/464,996 | 2006-08-16 | ||
US11/464,996 US7640422B2 (en) | 2006-08-16 | 2006-08-16 | System for reducing number of lookups in a branch target address cache by storing retrieved BTAC addresses into instruction cache |
PCT/US2007/075996 WO2008022190A1 (en) | 2006-08-16 | 2007-08-15 | Methods and apparatus for reducing lookups in a branch target address cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010501101A JP2010501101A (ja) | 2010-01-14 |
JP5415268B2 true JP5415268B2 (ja) | 2014-02-12 |
Family
ID=38799335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009524785A Active JP5415268B2 (ja) | 2006-08-16 | 2007-08-15 | 分岐先アドレスキャッシュにおけるルックアップの低減方法および装置 |
Country Status (13)
Country | Link |
---|---|
US (1) | US7640422B2 (ja) |
EP (1) | EP2057536B1 (ja) |
JP (1) | JP5415268B2 (ja) |
KR (1) | KR101049319B1 (ja) |
CN (1) | CN101501635B (ja) |
BR (1) | BRPI0715899A2 (ja) |
CA (1) | CA2659310C (ja) |
ES (1) | ES2676303T3 (ja) |
HU (1) | HUE039149T2 (ja) |
MX (1) | MX2009001747A (ja) |
RU (1) | RU2419835C2 (ja) |
TW (1) | TWI397816B (ja) |
WO (1) | WO2008022190A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865705B2 (en) * | 2008-02-01 | 2011-01-04 | International Business Machines Corporation | Branch target address cache including address type tag bit |
US7844807B2 (en) * | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Branch target address cache storing direct predictions |
CN105468334A (zh) * | 2008-12-25 | 2016-04-06 | 世意法(北京)半导体研发有限责任公司 | 对非控制流指令减少分支检验 |
EP2798470A4 (en) * | 2011-12-29 | 2015-07-15 | Intel Corp | PRE-ACQUISITION OF ANTEMOTE BY MANAGED INSTRUCTION |
CN104252334B (zh) * | 2013-06-29 | 2017-07-07 | 华为技术有限公司 | 分支目标地址获取方法和装置 |
CN106776367B (zh) * | 2016-12-13 | 2020-05-12 | 上海高性能集成电路设计中心 | 基于位置对应关系的指令Cache一致性的实现方法 |
CN110825442B (zh) * | 2019-04-30 | 2021-08-06 | 成都海光微电子技术有限公司 | 一种指令预取方法及处理器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2534662B2 (ja) * | 1986-03-25 | 1996-09-18 | 日本電気株式会社 | 命令キヤツシユ制御方法 |
US4722050A (en) * | 1986-03-27 | 1988-01-26 | Hewlett-Packard Company | Method and apparatus for facilitating instruction processing of a digital computer |
US5136697A (en) * | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
US5093778A (en) * | 1990-02-26 | 1992-03-03 | Nexgen Microsystems | Integrated single structure branch prediction cache |
US5774710A (en) * | 1996-09-19 | 1998-06-30 | Advanced Micro Devices, Inc. | Cache line branch prediction scheme that shares among sets of a set associative cache |
US6427192B1 (en) * | 1998-09-21 | 2002-07-30 | Advanced Micro Devices, Inc. | Method and apparatus for caching victimized branch predictions |
US6324643B1 (en) | 1999-10-01 | 2001-11-27 | Hitachi, Ltd. | Branch prediction and target instruction control for processor |
US6651162B1 (en) | 1999-11-04 | 2003-11-18 | International Business Machines Corporation | Recursively accessing a branch target address cache using a target address previously accessed from the branch target address cache |
TW564369B (en) * | 2001-07-16 | 2003-12-01 | Ip First Llc | Apparatus and method for handling BTAC branches that wrap across instruction cache lines |
US7096348B2 (en) * | 2003-12-15 | 2006-08-22 | Freescale Semiconductor, Inc. | Method and apparatus for allocating entries in a branch target buffer |
KR100630702B1 (ko) * | 2004-10-05 | 2006-10-02 | 삼성전자주식회사 | 명령어 캐쉬와 명령어 변환 참조 버퍼의 제어기, 및 그제어방법 |
US7418676B2 (en) * | 2005-01-19 | 2008-08-26 | Seiko Epson Corporation | Asynchronous circuit design tool and computer program product |
-
2006
- 2006-08-16 US US11/464,996 patent/US7640422B2/en active Active
-
2007
- 2007-08-15 JP JP2009524785A patent/JP5415268B2/ja active Active
- 2007-08-15 EP EP07814118.1A patent/EP2057536B1/en active Active
- 2007-08-15 CA CA2659310A patent/CA2659310C/en active Active
- 2007-08-15 RU RU2009109226/08A patent/RU2419835C2/ru not_active IP Right Cessation
- 2007-08-15 HU HUE07814118A patent/HUE039149T2/hu unknown
- 2007-08-15 KR KR1020097005401A patent/KR101049319B1/ko active IP Right Grant
- 2007-08-15 BR BRPI0715899-8A patent/BRPI0715899A2/pt not_active Application Discontinuation
- 2007-08-15 CN CN2007800302141A patent/CN101501635B/zh active Active
- 2007-08-15 ES ES07814118.1T patent/ES2676303T3/es active Active
- 2007-08-15 MX MX2009001747A patent/MX2009001747A/es active IP Right Grant
- 2007-08-15 WO PCT/US2007/075996 patent/WO2008022190A1/en active Application Filing
- 2007-08-16 TW TW096130402A patent/TWI397816B/zh active
Also Published As
Publication number | Publication date |
---|---|
CA2659310C (en) | 2011-11-15 |
RU2009109226A (ru) | 2010-09-27 |
JP2010501101A (ja) | 2010-01-14 |
US7640422B2 (en) | 2009-12-29 |
MX2009001747A (es) | 2009-02-25 |
CN101501635B (zh) | 2013-10-16 |
KR20090042318A (ko) | 2009-04-29 |
EP2057536B1 (en) | 2018-04-11 |
KR101049319B1 (ko) | 2011-07-13 |
TW200815981A (en) | 2008-04-01 |
CN101501635A (zh) | 2009-08-05 |
US20080046702A1 (en) | 2008-02-21 |
RU2419835C2 (ru) | 2011-05-27 |
EP2057536A1 (en) | 2009-05-13 |
WO2008022190A1 (en) | 2008-02-21 |
HUE039149T2 (hu) | 2018-12-28 |
ES2676303T3 (es) | 2018-07-18 |
BRPI0715899A2 (pt) | 2013-07-30 |
CA2659310A1 (en) | 2008-02-21 |
TWI397816B (zh) | 2013-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5410281B2 (ja) | 非シーケンシャル命令アドレスをプリフェッチするための方法および装置 | |
JP5558814B2 (ja) | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 | |
EP1889152B1 (en) | A method and apparatus for predicting branch instructions | |
JP5734945B2 (ja) | スライドウィンドウブロックベースの分岐ターゲットアドレスキャッシュ | |
US7797520B2 (en) | Early branch instruction prediction | |
JP5415268B2 (ja) | 分岐先アドレスキャッシュにおけるルックアップの低減方法および装置 | |
KR20090094335A (ko) | 서브루틴 호를 인지하기 위한 방법들 및 장치 | |
US20140143522A1 (en) | Prefetching based upon return addresses | |
US8943301B2 (en) | Storing branch information in an address table of a processor | |
US20040225866A1 (en) | Branch prediction in a data processing system | |
US11526356B2 (en) | Prefetch mechanism for a cache structure | |
TWI768547B (zh) | 管線式電腦系統與指令處理方法 | |
US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130205 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130507 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130918 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5415268 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |