JP2008532142A - ループ終結分岐により分岐履歴レジスタの更新を抑制すること - Google Patents
ループ終結分岐により分岐履歴レジスタの更新を抑制すること Download PDFInfo
- Publication number
- JP2008532142A JP2008532142A JP2007557182A JP2007557182A JP2008532142A JP 2008532142 A JP2008532142 A JP 2008532142A JP 2007557182 A JP2007557182 A JP 2007557182A JP 2007557182 A JP2007557182 A JP 2007557182A JP 2008532142 A JP2008532142 A JP 2008532142A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- branch instruction
- loop
- instruction
- bhr
- 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.)
- Granted
Links
- 238000011156 evaluation Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002411 adverse Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method 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/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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop 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/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
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)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Radar Systems Or Details Thereof (AREA)
- Molds, Cores, And Manufacturing Methods Thereof (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
Abstract
Description
[0010]11−分岐が起きるであろうことが強く予測される
[0011]10−分岐が起きるであろうことが弱く予測される
[0012]01−分岐が起きないであろうことが弱く予測される
[0013]分岐が起きないであろうことが強く予測される
カウンターは対応する分岐命令が「起きる」ことを評価する毎にインクリメントし、分岐命令が「起きない」ことを評価する毎にデクリメントする。カウンターのMSBは2つのモードを持つ分岐予測器である。それは、潜在する予測の強度または重みに関係なく、分岐が起きるかまたは起きないかを予測するであろう。飽和カウンターはめったに起こらない分岐評価の予測エラーを低減する。一方向を一貫して評価する分岐はカウンターを飽和するであろう。他の方向へのめったに起こらない評価は、カウンター値(および予測の強度)を変更するであろうが、2つのモードを持つ予測値を変更しないであろう。従って、めったに起こらない評価は、2度ではなく一度予測ミスするのみであろう。飽和カウンターのテーブルは説明に役立つ実例に過ぎない。一般に、BHTは、さまざまな分岐予測機構を含むテーブルをインデックスしてもよい。
Claims (22)
- 分岐命令の特性に応答して分岐命令の実行時に分岐履歴レジスタ(BHR)の更新を任意に抑圧することを備えた分岐予測方法。
- 前記分岐命令の特性は前記分岐がバックワードであるということである、請求項1の方法。
- 前記分岐命令の特性は前記分岐がループ終了分岐であるということである、請求項1の方法。
- 前記分岐命令のPCは、前記BHRを更新するために最後の分岐命令のPCを記憶する最後の分岐PC(LBPC)レジスタの内容と一致する、請求項3の方法。
- 前記分岐命令のPCは、前記BHRを更新するために前記最後の複数の分岐命令のPCsを記憶する複数のLBPCレジスタのいずれかの内容と一致する、請求項4の方法。
- 前記分岐命令の特性は、前記分岐命令が分岐を終了するためにコンパイラーにより発生された固有の分岐命令である、請求項3の方法。
- 前記分岐命令の特性は、前記分岐命令が、ループ終了分岐命令であることを示す1つ以上のビットを含むことである、請求項3の方法。
- 条件付分岐命令の評価を予測するように機能的に作用する分岐予測器と、
前記分岐予測器からの予測に基いて命令を推論的にフェッチして実行するように機能的に作用する命令実行パイプラインと、
前記条件付き分岐命令の評価を記憶するように機能的に作用する分岐履歴レジスタ(BHR)と、
前記分岐命令の特性に応答して前記条件付分岐命令の評価を記憶することを抑圧するように機能的に作用する制御回路と、
を備えたプロセッサー。 - 前記BHRを更新する分岐命令のPCを記憶するように機能的に作用する最後の分岐PC(LBPC)をさらに備え、前記制御回路は、前記分岐命令のPCが前記LBPCレジスタの内容と一致するなら前記条件付分岐命令の評価を記憶することを抑圧するように機能的に作用する、請求項8のプロセッサー。
- 前記BHRを更新する複数の分岐命令のPCsを記憶するように機能的に作用する複数のLBPCレジスタをさらに備え、前記制御回路は、前記分岐命令のPCが任意のLBPCレジスタの内容と一致するなら、前記条件付分岐命令の評価を記憶することを抑圧するように機能的に作用する、請求項9の方法。
- 前記分岐命令が、ループ終了命令であるという表示を含むなら、前記制御回路は、前記条件付き分岐命令の評価を記憶することを抑圧するように機能的に作用する、請求項8の方法。
- 前記分岐命令がループ終了命令であるという表示は命令タイプである、請求項11の方法。
- 前記分岐命令目標アドレスが前記分岐命令PCより小さいなら前記制御回路は、前記条件付分岐命令の評価を記憶することを抑圧するように機能的に作用する、請求項8の方法。
- プログラムコードに応答して命令を発生するように機能的に作用するコンパイラーまたはアセンブラーと、
コードループを終了させる条件付分岐命令を示すように機能的に作用するループ終了分岐命令マーキング機能と、
を備えたコンパイラーまたはアセンブラー。 - 前記ループ終了分岐命令マーキング機能は、各ループを終了させるために固有のタイプの分岐命令を発生するように機能的に作用する、請求項14のコンパイラーまたはアセンブラー。
- 前記ループ終了分岐命令マーキング機能は、ループを終了させる各条件付分岐命令にループ終了インジケーターを挿入するように機能的に作用する、請求項14のコンパイラーまたはアセンブラー。
- 前記ループ終了インジケーターは、前記条件付分岐命令操作コード内の所定のフィールドに挿入された1またはそれ以上のビットを備えた、請求項16のコンパイラーまたはアセンブラー。
- 以前の条件付分岐命令の評価を記憶する分岐履歴レジスタ(BHR)を用いた分岐予測の方法において、
ループ終了分岐を検出することと、
関連する分岐命令の評価を記憶するであろうBHRの更新を抑圧することと、
を備えた方法。 - ループ終了分岐を検出することは、前記関連する分岐命令のPCと、前記BHRを更新するために最後の分岐命令のPCを記憶する最後の分岐PC(LBPC)レジスタの内容との間に一致を検出することを備えた、請求項18の方法。
- ループ終了分岐を検出することは、関連する分岐命令のPCと、BHRを更新するために最後の複数の分岐命令のPCsを記憶する複数のLBPCレジスタのいずれかの内容との間に一致を検出することを備えた、請求項18の方法。
- ループ終了分岐を検出することは、分岐を終了させるためにコンパイラーにより発生された固有の分岐命令をデコードすることを備えた、請求項18の方法。
- ループ終了分岐を検出することは、ループ終了分岐命令であることを示す関連分岐命令操作コード内に1つまたはそれ以上のビットを検出することを備えた、請求項18の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/066,508 | 2005-02-24 | ||
US11/066,508 US20060190710A1 (en) | 2005-02-24 | 2005-02-24 | Suppressing update of a branch history register by loop-ending branches |
PCT/US2006/006531 WO2006091778A2 (en) | 2005-02-24 | 2006-02-24 | Suppressing update of a branch history register by loop-ending branches |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010266368A Division JP2011100466A (ja) | 2005-02-24 | 2010-11-30 | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008532142A true JP2008532142A (ja) | 2008-08-14 |
JP2008532142A5 JP2008532142A5 (ja) | 2013-01-24 |
JP5198879B2 JP5198879B2 (ja) | 2013-05-15 |
Family
ID=36577533
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007557182A Expired - Fee Related JP5198879B2 (ja) | 2005-02-24 | 2006-02-24 | ループ末尾に置かれた分岐により分岐履歴レジスタの更新を抑制すること |
JP2010266368A Withdrawn JP2011100466A (ja) | 2005-02-24 | 2010-11-30 | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
JP2014162801A Pending JP2015007995A (ja) | 2005-02-24 | 2014-08-08 | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010266368A Withdrawn JP2011100466A (ja) | 2005-02-24 | 2010-11-30 | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
JP2014162801A Pending JP2015007995A (ja) | 2005-02-24 | 2014-08-08 | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
Country Status (11)
Country | Link |
---|---|
US (1) | US20060190710A1 (ja) |
EP (2) | EP2270651A1 (ja) |
JP (3) | JP5198879B2 (ja) |
KR (1) | KR100930199B1 (ja) |
CN (2) | CN101160561B (ja) |
AT (1) | ATE483198T1 (ja) |
DE (1) | DE602006017174D1 (ja) |
ES (1) | ES2351163T3 (ja) |
IL (1) | IL185362A0 (ja) |
MX (1) | MX2007010386A (ja) |
WO (1) | WO2006091778A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277529A (ja) * | 2009-06-01 | 2010-12-09 | Fujitsu Ltd | 情報処理装置及び分岐予測方法 |
JP2011526045A (ja) * | 2008-06-27 | 2011-09-29 | クゥアルコム・インコーポレイテッド | ループ制御システムおよび方法 |
KR101376900B1 (ko) | 2011-12-07 | 2014-03-20 | 애플 인크. | 이력에 의한 다음 인출 예측기 트레이닝 |
JP2015007995A (ja) * | 2005-02-24 | 2015-01-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607209B2 (en) * | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
JP4393317B2 (ja) * | 2004-09-06 | 2010-01-06 | 富士通マイクロエレクトロニクス株式会社 | メモリ制御回路 |
US8904155B2 (en) * | 2006-03-17 | 2014-12-02 | Qualcomm Incorporated | Representing loop branches in a branch history register with multiple bits |
US7962724B1 (en) * | 2007-09-28 | 2011-06-14 | Oracle America, Inc. | Branch loop performance enhancement |
US7956552B2 (en) * | 2008-03-18 | 2011-06-07 | International Business Machiness Corporation | Apparatus, system, and method for device group identification |
US20110047357A1 (en) * | 2009-08-19 | 2011-02-24 | Qualcomm Incorporated | Methods and Apparatus to Predict Non-Execution of Conditional Non-branching Instructions |
CN101807145B (zh) * | 2010-04-16 | 2012-12-26 | 浙江大学 | 栈式分支预测器的硬件实现方法 |
US9690583B2 (en) | 2011-10-03 | 2017-06-27 | International Business Machines Corporation | Exploiting an architected list-use operand indication in a computer system operand resource pool |
US9286072B2 (en) | 2011-10-03 | 2016-03-15 | International Business Machines Corporation | Using register last use infomation to perform decode-time computer instruction optimization |
US8615745B2 (en) | 2011-10-03 | 2013-12-24 | International Business Machines Corporation | Compiling code for an enhanced application binary interface (ABI) with decode time instruction optimization |
US8756591B2 (en) | 2011-10-03 | 2014-06-17 | International Business Machines Corporation | Generating compiled code that indicates register liveness |
US10078515B2 (en) | 2011-10-03 | 2018-09-18 | International Business Machines Corporation | Tracking operand liveness information in a computer system and performing function based on the liveness information |
US9329869B2 (en) | 2011-10-03 | 2016-05-03 | International Business Machines Corporation | Prefix computer instruction for compatibily extending instruction functionality |
US9354874B2 (en) | 2011-10-03 | 2016-05-31 | International Business Machines Corporation | Scalable decode-time instruction sequence optimization of dependent instructions |
US8612959B2 (en) | 2011-10-03 | 2013-12-17 | International Business Machines Corporation | Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization |
US9697002B2 (en) | 2011-10-03 | 2017-07-04 | International Business Machines Corporation | Computer instructions for activating and deactivating operands |
US9304776B2 (en) * | 2012-01-31 | 2016-04-05 | Oracle International Corporation | System and method for mitigating the impact of branch misprediction when exiting spin loops |
US9268569B2 (en) | 2012-02-24 | 2016-02-23 | Apple Inc. | Branch misprediction behavior suppression on zero predicate branch mispredict |
US9858077B2 (en) | 2012-06-05 | 2018-01-02 | Qualcomm Incorporated | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media |
US20140156978A1 (en) * | 2012-11-30 | 2014-06-05 | Muawya M. Al-Otoom | Detecting and Filtering Biased Branches in Global Branch History |
US10261826B2 (en) | 2014-06-02 | 2019-04-16 | International Business Machines Corporation | Suppressing branch prediction updates upon repeated execution of an aborted transaction until forward progress is made |
US10289414B2 (en) | 2014-06-02 | 2019-05-14 | International Business Machines Corporation | Suppressing branch prediction on a repeated execution of an aborted transaction |
US10503538B2 (en) * | 2014-06-02 | 2019-12-10 | International Business Machines Corporation | Delaying branch prediction updates specified by a suspend branch prediction instruction until after a transaction is completed |
US10235172B2 (en) | 2014-06-02 | 2019-03-19 | International Business Machines Corporation | Branch predictor performing distinct non-transaction branch prediction functions and transaction branch prediction functions |
US10635446B2 (en) * | 2015-09-24 | 2020-04-28 | Qualcomm Incorporated | Reconfiguring execution pipelines of out-of-order (OOO) computer processors based on phase training and prediction |
US9639370B1 (en) * | 2015-12-15 | 2017-05-02 | International Business Machines Corporation | Software instructed dynamic branch history pattern adjustment |
GB2548603B (en) * | 2016-03-23 | 2018-09-26 | Advanced Risc Mach Ltd | Program loop control |
US20180349144A1 (en) * | 2017-06-06 | 2018-12-06 | Intel Corporation | Method and apparatus for branch prediction utilizing primary and secondary branch predictors |
US10613867B1 (en) | 2017-07-19 | 2020-04-07 | Apple Inc. | Suppressing pipeline redirection indications |
CN111177663B (zh) * | 2019-12-20 | 2023-03-14 | 青岛海尔科技有限公司 | 编译器的代码混淆改进方法及装置、存储介质、电子装置 |
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 |
US11113067B1 (en) * | 2020-11-17 | 2021-09-07 | Centaur Technology, Inc. | Speculative branch pattern update |
CN112988234A (zh) * | 2021-02-06 | 2021-06-18 | 江南大学 | 一种面向不稳定控制流循环体的分支指令辅助预测器 |
US11868779B2 (en) * | 2021-09-09 | 2024-01-09 | International Business Machines Corporation | Updating metadata prediction tables using a reprediction pipeline |
US11928474B2 (en) * | 2022-06-03 | 2024-03-12 | Microsoft Technology Licensing, Llc | Selectively updating branch predictors for loops executed from loop buffers in a processor |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS635442A (ja) * | 1986-06-26 | 1988-01-11 | Matsushita Electric Ind Co Ltd | プログラムル−プ検出記憶装置 |
JPS6418841A (en) * | 1987-07-14 | 1989-01-23 | Nec Corp | Information processor for prefetching instruction |
JPH06332699A (ja) * | 1993-05-03 | 1994-12-02 | Internatl Business Mach Corp <Ibm> | プログラム処理方法及びコンピュータ・システム |
JPH10133873A (ja) * | 1996-04-29 | 1998-05-22 | Internatl Business Mach Corp <Ibm> | 複数の分岐予測方式のうちの選択された1つを使用して条件分岐命令を投機的に実行するためのプロセッサおよび方法 |
US6427206B1 (en) * | 1999-05-03 | 2002-07-30 | Intel Corporation | Optimized branch predictions for strongly predicted compiler branches |
JP2003256197A (ja) * | 2002-02-20 | 2003-09-10 | Arm Ltd | データ処理装置における命令の予測 |
JP2004038323A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 分岐予測装置および分岐予測方法 |
JP2004326330A (ja) * | 2003-04-23 | 2004-11-18 | Kyushu Inst Of Technology | キャッシュメモリ、及びキャッシュメモリの電力削減方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2555664B2 (ja) * | 1987-01-22 | 1996-11-20 | 日本電気株式会社 | 分岐ヒストリテーブル書込制御方式 |
US5175827A (en) * | 1987-01-22 | 1992-12-29 | Nec Corporation | Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table |
JPH06243036A (ja) * | 1993-02-12 | 1994-09-02 | Hitachi Ltd | キャッシュ制御システム |
US5404473A (en) * | 1994-03-01 | 1995-04-04 | Intel Corporation | Apparatus and method for handling string operations in a pipelined processor |
JP3494484B2 (ja) * | 1994-10-12 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
US5893142A (en) * | 1996-11-14 | 1999-04-06 | Motorola Inc. | Data processing system having a cache and method therefor |
US6253373B1 (en) * | 1997-10-07 | 2001-06-26 | Hewlett-Packard Company | Tracking loop entry and exit points in a compiler |
JP2001166948A (ja) * | 1999-12-07 | 2001-06-22 | Nec Corp | プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体 |
JP4243463B2 (ja) * | 2002-08-19 | 2009-03-25 | 株式会社半導体理工学研究センター | 命令スケジューリングのシミュレーション方法とシミュレーションシステム |
US7290089B2 (en) * | 2002-10-15 | 2007-10-30 | Stmicroelectronics, Inc. | Executing cache instructions in an increased latency mode |
US20050102659A1 (en) * | 2003-11-06 | 2005-05-12 | Singh Ravi P. | Methods and apparatus for setting up hardware loops in a deeply pipelined processor |
US20060190710A1 (en) * | 2005-02-24 | 2006-08-24 | Bohuslav Rychlik | Suppressing update of a branch history register by loop-ending branches |
-
2005
- 2005-02-24 US US11/066,508 patent/US20060190710A1/en not_active Abandoned
-
2006
- 2006-02-24 ES ES06735979T patent/ES2351163T3/es active Active
- 2006-02-24 CN CN2006800126198A patent/CN101160561B/zh not_active Expired - Fee Related
- 2006-02-24 CN CN201310409847.0A patent/CN103488463B/zh not_active Expired - Fee Related
- 2006-02-24 EP EP10181327A patent/EP2270651A1/en not_active Withdrawn
- 2006-02-24 MX MX2007010386A patent/MX2007010386A/es active IP Right Grant
- 2006-02-24 KR KR1020077021427A patent/KR100930199B1/ko not_active IP Right Cessation
- 2006-02-24 DE DE602006017174T patent/DE602006017174D1/de active Active
- 2006-02-24 WO PCT/US2006/006531 patent/WO2006091778A2/en active Application Filing
- 2006-02-24 JP JP2007557182A patent/JP5198879B2/ja not_active Expired - Fee Related
- 2006-02-24 AT AT06735979T patent/ATE483198T1/de not_active IP Right Cessation
- 2006-02-24 EP EP06735979A patent/EP1851620B1/en not_active Not-in-force
-
2007
- 2007-08-19 IL IL185362A patent/IL185362A0/en unknown
-
2010
- 2010-11-30 JP JP2010266368A patent/JP2011100466A/ja not_active Withdrawn
-
2014
- 2014-08-08 JP JP2014162801A patent/JP2015007995A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS635442A (ja) * | 1986-06-26 | 1988-01-11 | Matsushita Electric Ind Co Ltd | プログラムル−プ検出記憶装置 |
JPS6418841A (en) * | 1987-07-14 | 1989-01-23 | Nec Corp | Information processor for prefetching instruction |
JPH06332699A (ja) * | 1993-05-03 | 1994-12-02 | Internatl Business Mach Corp <Ibm> | プログラム処理方法及びコンピュータ・システム |
JPH10133873A (ja) * | 1996-04-29 | 1998-05-22 | Internatl Business Mach Corp <Ibm> | 複数の分岐予測方式のうちの選択された1つを使用して条件分岐命令を投機的に実行するためのプロセッサおよび方法 |
US6427206B1 (en) * | 1999-05-03 | 2002-07-30 | Intel Corporation | Optimized branch predictions for strongly predicted compiler branches |
JP2003256197A (ja) * | 2002-02-20 | 2003-09-10 | Arm Ltd | データ処理装置における命令の予測 |
JP2004038323A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 分岐予測装置および分岐予測方法 |
JP2004326330A (ja) * | 2003-04-23 | 2004-11-18 | Kyushu Inst Of Technology | キャッシュメモリ、及びキャッシュメモリの電力削減方法 |
Non-Patent Citations (1)
Title |
---|
JPN6011045860; Po-Yung Chang et al.: '"Improving branch prediction accuracy by reducing pattern history table interference"' Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques,1996. , 199610, pages:48-57, IEEE * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015007995A (ja) * | 2005-02-24 | 2015-01-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
JP2011526045A (ja) * | 2008-06-27 | 2011-09-29 | クゥアルコム・インコーポレイテッド | ループ制御システムおよび方法 |
JP2010277529A (ja) * | 2009-06-01 | 2010-12-09 | Fujitsu Ltd | 情報処理装置及び分岐予測方法 |
KR101376900B1 (ko) | 2011-12-07 | 2014-03-20 | 애플 인크. | 이력에 의한 다음 인출 예측기 트레이닝 |
Also Published As
Publication number | Publication date |
---|---|
MX2007010386A (es) | 2007-10-18 |
DE602006017174D1 (de) | 2010-11-11 |
JP2015007995A (ja) | 2015-01-15 |
IL185362A0 (en) | 2008-02-09 |
JP2011100466A (ja) | 2011-05-19 |
KR100930199B1 (ko) | 2009-12-07 |
EP1851620B1 (en) | 2010-09-29 |
EP2270651A1 (en) | 2011-01-05 |
WO2006091778A2 (en) | 2006-08-31 |
KR20070105365A (ko) | 2007-10-30 |
ATE483198T1 (de) | 2010-10-15 |
EP1851620A2 (en) | 2007-11-07 |
CN103488463A (zh) | 2014-01-01 |
ES2351163T3 (es) | 2011-02-01 |
CN101160561B (zh) | 2013-10-16 |
CN101160561A (zh) | 2008-04-09 |
JP5198879B2 (ja) | 2013-05-15 |
US20060190710A1 (en) | 2006-08-24 |
CN103488463B (zh) | 2016-11-09 |
WO2006091778A3 (en) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5198879B2 (ja) | ループ末尾に置かれた分岐により分岐履歴レジスタの更新を抑制すること | |
JP2008532142A5 (ja) | ||
JP2011100466A5 (ja) | ||
EP2479662B1 (en) | Representing loop branches in a branch history register with multiple bits | |
JP5335946B2 (ja) | 電力的に効率的な命令プリフェッチ機構 | |
KR101074621B1 (ko) | 프로액티브 브랜치 타겟 어드레스 캐시 관리를 위한 방법들 및 장치 | |
JP2009530754A5 (ja) | ||
JP2004533695A (ja) | 分岐目標を予測する方法、プロセッサ、及びコンパイラ | |
US7827392B2 (en) | Sliding-window, block-based branch target address cache | |
KR20070118135A (ko) | 인덱스당 2개 이상의 분기 타겟 어드레스를 저장하는 분기타겟 어드레스 캐시 | |
KR20090061644A (ko) | 명시적 서브루틴 호출의 브랜치 예측 동작을 에뮬레이트하기 위한 방법 및 장치 | |
KR101048258B1 (ko) | 가변 길이 명령 세트의 브랜치 명령의 최종 입도와 캐싱된 브랜치 정보의 관련 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101130 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20101130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111206 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20111206 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120807 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121106 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121113 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20121130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121207 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5198879 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
LAPS | Cancellation because of no payment of annual fees |