JP2013229038A - プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 - Google Patents
プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 Download PDFInfo
- Publication number
- JP2013229038A JP2013229038A JP2013119018A JP2013119018A JP2013229038A JP 2013229038 A JP2013229038 A JP 2013229038A JP 2013119018 A JP2013119018 A JP 2013119018A JP 2013119018 A JP2013119018 A JP 2013119018A JP 2013229038 A JP2013229038 A JP 2013229038A
- Authority
- JP
- Japan
- Prior art keywords
- btac
- branch
- entry
- replacement
- instruction
- 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
Links
- 238000000034 method Methods 0.000 title claims description 51
- 230000004044 response Effects 0.000 claims abstract description 12
- 241001522296 Erithacus rubecula Species 0.000 claims description 7
- 238000011010 flushing procedure Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration 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
- 238000012545 processing Methods 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3848—Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques
-
- 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
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/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 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】BTACと分岐予測子回路とを含むマルチプルステージ分岐予測システムにおいて、BTACは、BTACエントリを格納するように構成される。分岐予測子回路は、状態情報を格納するように構成される。分岐予測子回路は、状態情報を用いて分岐命令の方向を予測し、分岐命令の実際の分岐結果に応答して、格納された状態情報に基づいてBTACエントリを管理する。
【選択図】図2
Description
11−選択されると強く予測された
10−選択されると弱く予測された
01−選択されないと弱く予測された
00−選択されないと強く予測された
一般にBHTは、従来、分岐履歴レジスタ(BHR)内に格納されたビットによってインデックスされる。従来のBHTの出力は、選択されたか選択されないかの判定であり、その結果、分岐命令のターゲットアドレスか次のサイクル内の次の連続アドレスかの何れかをフェッチする。BHTは一般に、自身が知られるようになると、分岐出力情報とともに更新される。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
マルチプルステージ分岐予測システムであって、
分岐ターゲットアドレスキャッシュ(BTAC)エントリを格納するように構成されたBTACと、
状態情報を格納し、前記状態情報を用いて分岐命令の方向を予測し、前記分岐命令の実際の分岐結果に応答して前記状態情報に基づいて前記BTACエントリを管理するように構成された分岐予測子回路と
を備えるシステム。
[C2]
C1に記載のシステムにおいて、
前記分岐予測子回路は、前記BTACから前記BTACエントリを除去するように構成されたシステム。
[C3]
C1に記載のシステムにおいて、
前記分岐予測子回路は、延長された期間、前記BTAC内に前記BTACエントリを保持するように構成されたシステム。
[C4]
C1に記載のシステムにおいて、
前記BTACは、格納された1つ又は複数のエントリを置換え順序で保持するように構成され、前記分岐予測子回路は、前記置換え順序にある前記BTACエントリの位置を修正するように構成されたシステム。
[C5]
C4に記載のシステムにおいて、
前記分岐予測子回路は、前記BTACエントリの置換えの可能性を高めるために、前記置換え順序において、前記BTACエントリの位置を現在の位置より高く修正するように構成されたシステム。
[C6]
C1に記載のシステムにおいて、
置換えポインタを更に備え、前記BTACエントリは、修正されたラウンドロビン置換えポリシーを用い、前記分岐予測子回路は、前記BTACエントリを示すように前記置換えポインタを修正するように構成されたシステム。
[C7]
プロセッサ内に配置されたC1に記載のシステム。
[C8]
分岐ターゲットアドレスキャッシュ(BTAC)を管理する方法であって、
条件付分岐命令の実際に決定された分岐方向を受け取ることと、
受け取った前記分岐方向に応答して分岐予測子回路の状態情報を評価することと、
前記分岐予測子回路の状態情報に従って前記条件付分岐命令に関連する前記BTAC内のエントリを管理することと
を備える方法。
[C9]
C8に記載の方法において、
前記BTAC内のエントリを管理することは、前記BTACから前記エントリを除去することを備える方法。
[C10]
C8に記載の方法において、
前記BTAC内のエントリを管理することは、延長された期間、前記BTAC内で前記エントリを保持することを備える方法。
[C11]
C8に記載の方法において、
前記BTAC内に格納されたエントリを置換え順序で保持することを更に備え、前記BTAC内で前記エントリを保持することは更に、前記置換え順序における前記エントリの位置を修正することを備える方法。
[C12]
C11に記載の方法において、
前記エントリの位置を修正することは、前記エントリを示すように置換えポインタを修正することを備える方法。
[C13]
パイプラインのマルチプルフラッシュサイクルの可能性を低減する方法であって、
条件付分岐命令の第1の方向を暗黙に予測することと、
前記条件付分岐命令の第2の方向を状態情報に基づいて予測することと、
前記第1の方向と前記第2の方向との間の矛盾に応答して、前記条件付分岐命令に関連する分岐ターゲットアドレスキャッシュ(BTAC)エントリを管理することと
を備える方法。
[C14]
C13に記載の方法において、
状態情報を用いて前記BTACを管理することは、前記BTACから前記BTACエントリを除去することを備える方法。
[C15]
C13に記載の方法において、
状態情報を用いて前記BTACを管理することは、延長された期間、前記BTAC内で前記BTACエントリを保持することを備える方法。
[C16]
C13に記載の方法において、
前記BTAC内に格納された1つ又は複数のエントリを置換え順序で保持することを更に備え、状態情報を用いて前記BTACを管理することは、前記置換え順序において前記BTACエントリの位置を修正することを備える方法。
[C17]
C16に記載の方法において、
前記BTACエントリの位置を修正することは、前記BTACエントリを示すように置換えポインタを修正することを備える方法。
Claims (17)
- マルチプルステージ分岐予測システムであって、
分岐ターゲットアドレスキャッシュ(BTAC)エントリを格納するように構成されたBTACと、
状態情報を格納し、前記状態情報を用いて分岐命令の方向を予測し、前記分岐命令の実際の分岐結果に応答して前記状態情報に基づいて前記BTACエントリを管理するように構成された分岐予測子回路と
を備えるシステム。 - 請求項1に記載のシステムにおいて、
前記分岐予測子回路は、前記BTACから前記BTACエントリを除去するように構成されたシステム。 - 請求項1に記載のシステムにおいて、
前記分岐予測子回路は、延長された期間、前記BTAC内に前記BTACエントリを保持するように構成されたシステム。 - 請求項1に記載のシステムにおいて、
前記BTACは、格納された1つ又は複数のエントリを置換え順序で保持するように構成され、前記分岐予測子回路は、前記置換え順序にある前記BTACエントリの位置を修正するように構成されたシステム。 - 請求項4に記載のシステムにおいて、
前記分岐予測子回路は、前記BTACエントリの置換えの可能性を高めるために、前記置換え順序において、前記BTACエントリの位置を現在の位置より高く修正するように構成されたシステム。 - 請求項1に記載のシステムにおいて、
置換えポインタを更に備え、前記BTACエントリは、修正されたラウンドロビン置換えポリシーを用い、前記分岐予測子回路は、前記BTACエントリを示すように前記置換えポインタを修正するように構成されたシステム。 - プロセッサ内に配置された請求項1に記載のシステム。
- 分岐ターゲットアドレスキャッシュ(BTAC)を管理する方法であって、
条件付分岐命令の実際に決定された分岐方向を受け取ることと、
受け取った前記分岐方向に応答して分岐予測子回路の状態情報を評価することと、
前記分岐予測子回路の状態情報に従って前記条件付分岐命令に関連する前記BTAC内のエントリを管理することと
を備える方法。 - 請求項8に記載の方法において、
前記BTAC内のエントリを管理することは、前記BTACから前記エントリを除去することを備える方法。 - 請求項8に記載の方法において、
前記BTAC内のエントリを管理することは、延長された期間、前記BTAC内で前記エントリを保持することを備える方法。 - 請求項8に記載の方法において、
前記BTAC内に格納されたエントリを置換え順序で保持することを更に備え、前記BTAC内で前記エントリを保持することは更に、前記置換え順序における前記エントリの位置を修正することを備える方法。 - 請求項11に記載の方法において、
前記エントリの位置を修正することは、前記エントリを示すように置換えポインタを修正することを備える方法。 - パイプラインのマルチプルフラッシュサイクルの可能性を低減する方法であって、
条件付分岐命令の第1の方向を暗黙に予測することと、
前記条件付分岐命令の第2の方向を状態情報に基づいて予測することと、
前記第1の方向と前記第2の方向との間の矛盾に応答して、前記条件付分岐命令に関連する分岐ターゲットアドレスキャッシュ(BTAC)エントリを管理することと
を備える方法。 - 請求項13に記載の方法において、
状態情報を用いて前記BTACを管理することは、前記BTACから前記BTACエントリを除去することを備える方法。 - 請求項13に記載の方法において、
状態情報を用いて前記BTACを管理することは、延長された期間、前記BTAC内で前記BTACエントリを保持することを備える方法。 - 請求項13に記載の方法において、
前記BTAC内に格納された1つ又は複数のエントリを置換え順序で保持することを更に備え、状態情報を用いて前記BTACを管理することは、前記置換え順序において前記BTACエントリの位置を修正することを備える方法。 - 請求項16に記載の方法において、
前記BTACエントリの位置を修正することは、前記BTACエントリを示すように置換えポインタを修正することを備える方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/427,349 | 2006-06-29 | ||
US11/427,349 US8935517B2 (en) | 2006-06-29 | 2006-06-29 | System and method for selectively managing a branch target address cache of a multiple-stage predictor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518553A Division JP5558814B2 (ja) | 2006-06-29 | 2007-06-28 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015041619A Division JP2015144001A (ja) | 2006-06-29 | 2015-03-03 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013229038A true JP2013229038A (ja) | 2013-11-07 |
JP2013229038A5 JP2013229038A5 (ja) | 2014-10-30 |
Family
ID=38846531
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518553A Expired - Fee Related JP5558814B2 (ja) | 2006-06-29 | 2007-06-28 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
JP2013119018A Withdrawn JP2013229038A (ja) | 2006-06-29 | 2013-06-05 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
JP2015041619A Pending JP2015144001A (ja) | 2006-06-29 | 2015-03-03 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
JP2017007265A Pending JP2017107578A (ja) | 2006-06-29 | 2017-01-19 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518553A Expired - Fee Related JP5558814B2 (ja) | 2006-06-29 | 2007-06-28 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015041619A Pending JP2015144001A (ja) | 2006-06-29 | 2015-03-03 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
JP2017007265A Pending JP2017107578A (ja) | 2006-06-29 | 2017-01-19 | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Country Status (12)
Country | Link |
---|---|
US (2) | US8935517B2 (ja) |
EP (2) | EP2035921B1 (ja) |
JP (4) | JP5558814B2 (ja) |
KR (1) | KR101074621B1 (ja) |
CN (1) | CN101479700B (ja) |
BR (1) | BRPI0713434A2 (ja) |
CA (1) | CA2654231A1 (ja) |
ES (1) | ES2386478T3 (ja) |
MX (1) | MX2008016116A (ja) |
RU (1) | RU2421783C2 (ja) |
TW (1) | TWI386850B (ja) |
WO (1) | WO2008003019A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015144001A (ja) * | 2006-06-29 | 2015-08-06 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3798998B2 (ja) * | 2002-06-28 | 2006-07-19 | 富士通株式会社 | 分岐予測装置および分岐予測方法 |
JP5145809B2 (ja) * | 2007-07-31 | 2013-02-20 | 日本電気株式会社 | 分岐予測装置、ハイブリッド分岐予測装置、プロセッサ、分岐予測方法、及び分岐予測制御プログラム |
WO2010081942A1 (fr) | 2008-12-05 | 2010-07-22 | Alex Hr Roustaei | Piles ou micro piles a hydrogene avec un generateur d ' hydrogene |
FR2956869B1 (fr) | 2010-03-01 | 2014-05-16 | Alex Hr Roustaei | Systeme de production de film flexible a haute capacite destine a des cellules photovoltaiques et oled par deposition cyclique des couches |
JP2011209774A (ja) * | 2010-03-26 | 2011-10-20 | Fujitsu Ltd | 分岐予測方法及びその方法を実行する分岐予測回路 |
US8375565B2 (en) | 2010-05-28 | 2013-02-19 | Western Digital (Fremont), Llc | Method for providing an electronic lapping guide corresponding to a near-field transducer of an energy assisted magnetic recording transducer |
US8351307B1 (en) | 2010-06-04 | 2013-01-08 | Western Digital (Fremont), Llc | Trailing edge optimized near field transducer having non-rectangular pin cross section |
US8320219B1 (en) | 2010-06-15 | 2012-11-27 | Western Digital (Fremont), Llc | Trailing edge optimized near field transducer |
JP5656074B2 (ja) * | 2011-02-21 | 2015-01-21 | 日本電気株式会社 | 分岐予測装置、プロセッサ及び分岐予測方法 |
US9201654B2 (en) * | 2011-06-28 | 2015-12-01 | International Business Machines Corporation | Processor and data processing method incorporating an instruction pipeline with conditional branch direction prediction for fast access to branch target instructions |
US8749790B1 (en) | 2011-12-08 | 2014-06-10 | Western Digital (Fremont), Llc | Structure and method to measure waveguide power absorption by surface plasmon element |
CN104220980B (zh) * | 2011-12-29 | 2018-01-19 | 英特尔公司 | 经管理的指令缓存预取 |
US9298465B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Asynchronous lookahead hierarchical branch prediction |
US9430241B2 (en) | 2012-06-15 | 2016-08-30 | International Business Machines Corporation | Semi-exclusive second-level branch target buffer |
US9280351B2 (en) | 2012-06-15 | 2016-03-08 | International Business Machines Corporation | Second-level branch target buffer bulk transfer filtering |
US20140006752A1 (en) * | 2012-06-27 | 2014-01-02 | Qualcomm Incorporated | Qualifying Software Branch-Target Hints with Hardware-Based Predictions |
US10042776B2 (en) * | 2012-11-20 | 2018-08-07 | Arm Limited | Prefetching based upon return addresses |
US9441938B1 (en) | 2013-10-08 | 2016-09-13 | Western Digital (Fremont), Llc | Test structures for measuring near field transducer disc length |
JP6393590B2 (ja) * | 2013-11-22 | 2018-09-19 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US9563430B2 (en) | 2014-03-19 | 2017-02-07 | International Business Machines Corporation | Dynamic thread sharing in branch prediction structures |
US20170371669A1 (en) * | 2016-06-24 | 2017-12-28 | Qualcomm Incorporated | Branch target predictor |
US10353819B2 (en) * | 2016-06-24 | 2019-07-16 | Qualcomm Incorporated | Next line prefetchers employing initial high prefetch prediction confidence states for throttling next line prefetches in a processor-based system |
GB2553582B (en) * | 2016-09-13 | 2020-07-08 | Advanced Risc Mach Ltd | An apparatus and method for generating and processing a trace stream indicative of instruction execution by processing circuitry |
US10613869B2 (en) * | 2018-03-29 | 2020-04-07 | Arm Limited | Branch target address provision |
US20210149676A1 (en) * | 2019-11-14 | 2021-05-20 | Higon Austin R&D Center Corporation | Branch Prediction Method, Branch Prediction Unit and Processor Core |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2018A (en) * | 1841-03-26 | Joseph francis | ||
US4018A (en) * | 1845-05-01 | Closing and opening the- entrances to beehives | ||
EP0666538A2 (en) * | 1994-02-04 | 1995-08-09 | Motorola, Inc. | Data processor with branch target address cache and method of operation |
JPH0962508A (ja) * | 1995-08-29 | 1997-03-07 | Hitachi Ltd | 分岐登録命令を有するプロセッサ |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2560889B2 (ja) * | 1990-05-22 | 1996-12-04 | 日本電気株式会社 | マイクロプロセッサ |
JP3494484B2 (ja) * | 1994-10-12 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
JPH10105401A (ja) * | 1996-09-30 | 1998-04-24 | Fujitsu Ltd | プロセッサの分岐命令予測装置 |
US7103794B2 (en) * | 1998-06-08 | 2006-09-05 | Cacheflow, Inc. | Network object cache engine |
US5890008A (en) * | 1997-06-25 | 1999-03-30 | Sun Microsystems, Inc. | Method for dynamically reconfiguring a processor |
US5964870A (en) * | 1997-09-22 | 1999-10-12 | Intel Corporation | Method and apparatus for using function context to improve branch |
US6263427B1 (en) * | 1998-09-04 | 2001-07-17 | Rise Technology Company | Branch prediction mechanism |
US6553488B2 (en) * | 1998-09-08 | 2003-04-22 | Intel Corporation | Method and apparatus for branch prediction using first and second level branch prediction tables |
US6601161B2 (en) * | 1998-12-30 | 2003-07-29 | Intel Corporation | Method and system for branch target prediction using path information |
US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6732260B1 (en) * | 2000-03-06 | 2004-05-04 | Intel Corporation | Presbyopic branch target prefetch method and apparatus |
US7000096B1 (en) * | 2000-08-03 | 2006-02-14 | International Business Machines Corporation | Branch prediction circuits and methods and systems using the same |
US7200740B2 (en) | 2001-05-04 | 2007-04-03 | Ip-First, Llc | Apparatus and method for speculatively performing a return instruction in a microprocessor |
US20040172524A1 (en) * | 2001-06-29 | 2004-09-02 | Jan Hoogerbrugge | Method, apparatus and compiler for predicting indirect branch target addresses |
US7082520B2 (en) * | 2002-05-09 | 2006-07-25 | International Business Machines Corporation | Branch prediction utilizing both a branch target buffer and a multiple target table |
US6965983B2 (en) | 2003-02-16 | 2005-11-15 | Faraday Technology Corp. | Simultaneously setting prefetch address and fetch address pipelined stages upon branch |
US7266676B2 (en) * | 2003-03-21 | 2007-09-04 | Analog Devices, Inc. | Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays |
US7831817B2 (en) * | 2003-04-15 | 2010-11-09 | Arm Limited | Two-level branch prediction apparatus |
KR100528479B1 (ko) * | 2003-09-24 | 2005-11-15 | 삼성전자주식회사 | 전력 소모를 감소시키기 위한 분기 예측기 및 구현방법 |
JP4213181B2 (ja) * | 2004-04-21 | 2009-01-21 | 富士通株式会社 | 分岐予測装置、その方法、及びプロセサ |
US7437543B2 (en) * | 2005-04-19 | 2008-10-14 | International Business Machines Corporation | Reducing the fetch time of target instructions of a predicted taken branch instruction |
US8935517B2 (en) * | 2006-06-29 | 2015-01-13 | Qualcomm Incorporated | System and method for selectively managing a branch target address cache of a multiple-stage predictor |
-
2006
- 2006-06-29 US US11/427,349 patent/US8935517B2/en active Active
-
2007
- 2007-06-28 CN CN200780023873.2A patent/CN101479700B/zh not_active Expired - Fee Related
- 2007-06-28 MX MX2008016116A patent/MX2008016116A/es active IP Right Grant
- 2007-06-28 WO PCT/US2007/072317 patent/WO2008003019A2/en active Application Filing
- 2007-06-28 CA CA002654231A patent/CA2654231A1/en not_active Abandoned
- 2007-06-28 EP EP07840305A patent/EP2035921B1/en not_active Not-in-force
- 2007-06-28 BR BRPI0713434-7A patent/BRPI0713434A2/pt not_active IP Right Cessation
- 2007-06-28 RU RU2009102809/08A patent/RU2421783C2/ru not_active IP Right Cessation
- 2007-06-28 KR KR1020097001907A patent/KR101074621B1/ko not_active IP Right Cessation
- 2007-06-28 ES ES07840305T patent/ES2386478T3/es active Active
- 2007-06-28 JP JP2009518553A patent/JP5558814B2/ja not_active Expired - Fee Related
- 2007-06-28 EP EP11195677.7A patent/EP2434393B1/en not_active Not-in-force
- 2007-06-29 TW TW096123816A patent/TWI386850B/zh not_active IP Right Cessation
-
2011
- 2011-10-26 US US13/281,913 patent/US8782383B2/en not_active Expired - Fee Related
-
2013
- 2013-06-05 JP JP2013119018A patent/JP2013229038A/ja not_active Withdrawn
-
2015
- 2015-03-03 JP JP2015041619A patent/JP2015144001A/ja active Pending
-
2017
- 2017-01-19 JP JP2017007265A patent/JP2017107578A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2018A (en) * | 1841-03-26 | Joseph francis | ||
US4018A (en) * | 1845-05-01 | Closing and opening the- entrances to beehives | ||
EP0666538A2 (en) * | 1994-02-04 | 1995-08-09 | Motorola, Inc. | Data processor with branch target address cache and method of operation |
JPH07262006A (ja) * | 1994-02-04 | 1995-10-13 | Motorola Inc | 分岐ターゲットアドレスキャッシュを備えたデータプロセッサ |
JPH0962508A (ja) * | 1995-08-29 | 1997-03-07 | Hitachi Ltd | 分岐登録命令を有するプロセッサ |
Non-Patent Citations (3)
Title |
---|
JPN6012015635; '技術速報「分岐予測機構を強化」' 日経エレクトロニクス no.607, 19940509, 10頁, 日経BP社 * |
JPN6012015638; David Levitan et al.: '"The PowerPC 620(TM) microprocessor: a high performance superscalar RISC microprocessor"' Compcon '95.'Technologies for the Information Superhighway', Digest of Papers. , 19950509, pages:285-291, IEEE * |
JPN6014005298; C.H.Perleberg et al.: '"Branch target buffer design and optimization"' IEEE Transactions on Computers Volume:42,Issue: 4, 199304, pages:396-412, IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015144001A (ja) * | 2006-06-29 | 2015-08-06 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2434393B1 (en) | 2017-12-20 |
RU2421783C2 (ru) | 2011-06-20 |
WO2008003019A3 (en) | 2008-05-02 |
US8782383B2 (en) | 2014-07-15 |
KR20090031751A (ko) | 2009-03-27 |
EP2434393A1 (en) | 2012-03-28 |
JP2017107578A (ja) | 2017-06-15 |
JP2015144001A (ja) | 2015-08-06 |
CN101479700B (zh) | 2015-06-03 |
EP2035921A2 (en) | 2009-03-18 |
BRPI0713434A2 (pt) | 2012-03-13 |
US20080005543A1 (en) | 2008-01-03 |
EP2035921B1 (en) | 2012-06-06 |
WO2008003019A2 (en) | 2008-01-03 |
TWI386850B (zh) | 2013-02-21 |
MX2008016116A (es) | 2009-01-20 |
CA2654231A1 (en) | 2008-01-03 |
KR101074621B1 (ko) | 2011-10-17 |
CN101479700A (zh) | 2009-07-08 |
US20120042155A1 (en) | 2012-02-16 |
US8935517B2 (en) | 2015-01-13 |
RU2009102809A (ru) | 2010-08-10 |
JP5558814B2 (ja) | 2014-07-23 |
TW200816046A (en) | 2008-04-01 |
ES2386478T3 (es) | 2012-08-21 |
JP2009543223A (ja) | 2009-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5558814B2 (ja) | プロアクティブ分岐ターゲットアドレスキャッシュ管理のための方法及び装置 | |
JP5734945B2 (ja) | スライドウィンドウブロックベースの分岐ターゲットアドレスキャッシュ | |
US7856548B1 (en) | Prediction of data values read from memory by a microprocessor using a dynamic confidence threshold | |
JP2015007995A (ja) | ループ終結分岐により分岐履歴レジスタの更新を抑制すること | |
JP2008532142A5 (ja) | ||
JP2009536770A (ja) | ブロックに基づく分岐先アドレスキャッシュ | |
EP2057536B1 (en) | Methods and apparatus for reducing lookups in a branch target address cache | |
US6738897B1 (en) | Incorporating local branch history when predicting multiple conditional branch outcomes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140617 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20140916 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150303 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20150327 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150327 |