DE10084556T1 - Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten Verzweigungsbefehlen - Google Patents
Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten VerzweigungsbefehlenInfo
- Publication number
- DE10084556T1 DE10084556T1 DE10084556T DE10084556T DE10084556T1 DE 10084556 T1 DE10084556 T1 DE 10084556T1 DE 10084556 T DE10084556 T DE 10084556T DE 10084556 T DE10084556 T DE 10084556T DE 10084556 T1 DE10084556 T1 DE 10084556T1
- Authority
- DE
- Germany
- Prior art keywords
- branch instructions
- predicted branch
- optimized execution
- statically predicted
- statically
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3846—Speculative instruction execution using static prediction, e.g. branch taken strategy
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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/304,600 US6427206B1 (en) | 1999-05-03 | 1999-05-03 | Optimized branch predictions for strongly predicted compiler branches |
| US09/304,600 | 1999-05-03 | ||
| PCT/US2000/011789 WO2000067116A1 (en) | 1999-05-03 | 2000-05-01 | Optimized execution of statically strongly predicted branch instructions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE10084556T1 true DE10084556T1 (de) | 2002-04-25 |
| DE10084556B4 DE10084556B4 (de) | 2005-11-24 |
Family
ID=23177181
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10084556T Expired - Fee Related DE10084556B4 (de) | 1999-05-03 | 2000-05-01 | Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten Verzweigungsbefehlen |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US6427206B1 (de) |
| CN (1) | CN1150455C (de) |
| AU (1) | AU4812500A (de) |
| DE (1) | DE10084556B4 (de) |
| GB (1) | GB2363878B (de) |
| TW (1) | TWI223195B (de) |
| WO (1) | WO2000067116A1 (de) |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3683439B2 (ja) * | 1999-08-24 | 2005-08-17 | 富士通株式会社 | 分岐予測を抑止する情報処理装置および方法 |
| JP2001243070A (ja) * | 2000-02-29 | 2001-09-07 | Toshiba Corp | プロセッサ及び分岐予測方法並びにコンパイル方法 |
| US20020059562A1 (en) * | 2000-09-26 | 2002-05-16 | Yutaka Haga | Apparatus for collecting profiles of programs |
| JP3890910B2 (ja) * | 2001-03-21 | 2007-03-07 | 株式会社日立製作所 | 命令の実行結果予測装置 |
| CN100382017C (zh) * | 2002-07-09 | 2008-04-16 | 徐肇昌 | 子序网模块及其调用方法 |
| US7143272B2 (en) * | 2002-12-27 | 2006-11-28 | Intel Corporation | Using computation histories to make predictions |
| US7343481B2 (en) * | 2003-03-19 | 2008-03-11 | Arm Limited | Branch prediction in a data processing system utilizing a cache of previous static predictions |
| US7340628B2 (en) * | 2003-03-27 | 2008-03-04 | Nxp B.V. | Branch based activity monitoring |
| US20040225866A1 (en) * | 2003-05-06 | 2004-11-11 | Williamson David James | Branch prediction in a data processing system |
| DE602004030575D1 (de) * | 2003-07-09 | 2011-01-27 | Nxp Bv | Verfahren und system zur zweigprädiktion |
| US20050154859A1 (en) * | 2004-01-14 | 2005-07-14 | Arm Limited | Branch prediction in a data processing apparatus |
| US20050228977A1 (en) * | 2004-04-09 | 2005-10-13 | Sun Microsystems,Inc. | Branch prediction mechanism using multiple hash functions |
| DE602005027338D1 (de) * | 2004-04-21 | 2011-05-19 | Fujitsu Ltd | Abzweigungsvorhersageeinrichtung, verfahren dafür und prozessor |
| CN101002169A (zh) * | 2004-05-19 | 2007-07-18 | Arc国际(英国)公司 | 微处理器架构 |
| DE112004002877T5 (de) * | 2004-06-02 | 2007-05-03 | Intel Corporation, Santa Clara | TLB-korrelierter Verzweigungsvorhersager und Verfahren zu seiner Verwendung |
| US20060015706A1 (en) * | 2004-06-30 | 2006-01-19 | Chunrong Lai | TLB correlated branch predictor and method for use thereof |
| US20060190710A1 (en) * | 2005-02-24 | 2006-08-24 | Bohuslav Rychlik | Suppressing update of a branch history register by loop-ending branches |
| US7644258B2 (en) * | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
| US7627739B2 (en) * | 2005-08-29 | 2009-12-01 | Searete, Llc | Optimization of a hardware resource shared by a multiprocessor |
| US8255745B2 (en) * | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
| US8296550B2 (en) * | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
| US8275976B2 (en) * | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
| US8181004B2 (en) * | 2005-08-29 | 2012-05-15 | The Invention Science Fund I, Llc | Selecting a resource management policy for a resource available to a processor |
| US7877584B2 (en) * | 2005-08-29 | 2011-01-25 | The Invention Science Fund I, Llc | Predictive processor resource management |
| US7653834B2 (en) * | 2005-08-29 | 2010-01-26 | Searete, Llc | Power sparing synchronous apparatus |
| US8375247B2 (en) * | 2005-08-29 | 2013-02-12 | The Invention Science Fund I, Llc | Handling processor computational errors |
| US7779213B2 (en) * | 2005-08-29 | 2010-08-17 | The Invention Science Fund I, Inc | Optimization of instruction group execution through hardware resource management policies |
| US8209524B2 (en) * | 2005-08-29 | 2012-06-26 | The Invention Science Fund I, Llc | Cross-architecture optimization |
| US7739524B2 (en) * | 2005-08-29 | 2010-06-15 | The Invention Science Fund I, Inc | Power consumption management |
| US7647487B2 (en) * | 2005-08-29 | 2010-01-12 | Searete, Llc | Instruction-associated processor resource optimization |
| US8423824B2 (en) | 2005-08-29 | 2013-04-16 | The Invention Science Fund I, Llc | Power sparing synchronous apparatus |
| US8214191B2 (en) * | 2005-08-29 | 2012-07-03 | The Invention Science Fund I, Llc | Cross-architecture execution optimization |
| US7774558B2 (en) * | 2005-08-29 | 2010-08-10 | The Invention Science Fund I, Inc | Multiprocessor resource optimization |
| US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
| US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
| US8516300B2 (en) * | 2005-08-29 | 2013-08-20 | The Invention Science Fund I, Llc | Multi-votage synchronous systems |
| US20070050604A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Fetch rerouting in response to an execution-based optimization profile |
| US20070050605A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Freeze-dried ghost pages |
| US7725693B2 (en) * | 2005-08-29 | 2010-05-25 | Searete, Llc | Execution optimization using a processor resource management policy saved in an association with an instruction group |
| US7971042B2 (en) | 2005-09-28 | 2011-06-28 | Synopsys, Inc. | Microprocessor system and method for instruction-initiated recording and execution of instruction sequences in a dynamically decoupleable extended instruction pipeline |
| US7562206B2 (en) * | 2005-12-30 | 2009-07-14 | Intel Corporation | Multilevel scheme for dynamically and statically predicting instruction resource utilization to generate execution cluster partitions |
| JP4873546B2 (ja) * | 2006-06-20 | 2012-02-08 | ルネサスエレクトロニクス株式会社 | データ処理装置、データ処理方法 |
| KR100817056B1 (ko) * | 2006-08-25 | 2008-03-26 | 삼성전자주식회사 | 분기이력 길이표시기, 분기예측 시스템 및 분기 예측 방법 |
| US7779241B1 (en) * | 2007-04-10 | 2010-08-17 | Dunn David A | History based pipelined branch prediction |
| EP2063355B1 (de) * | 2007-11-22 | 2017-09-20 | Sony Interactive Entertainment Europe Limited | Zweigstellenvorhersageverfahren |
| CN101770358B (zh) * | 2010-02-10 | 2013-01-30 | 龙芯中科技术有限公司 | 微处理器跳转指令分支预测处理系统和方法 |
| US20140156978A1 (en) * | 2012-11-30 | 2014-06-05 | Muawya M. Al-Otoom | Detecting and Filtering Biased Branches in Global Branch History |
| 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 |
| US11579886B2 (en) * | 2018-01-09 | 2023-02-14 | International Business Machines Corporation | System and method for multi-level classification of branches |
| US11113066B2 (en) | 2018-01-09 | 2021-09-07 | International Business Machines Corporation | Predicting a branch instruction classified as simple or hard to predict based on a confidence counter in a branch type table |
| CN110688153B (zh) * | 2019-09-04 | 2020-08-11 | 深圳芯英科技有限公司 | 一种指令分支执行控制方法及相关设备、指令结构 |
| US11809873B2 (en) * | 2020-04-29 | 2023-11-07 | Intel Corporation | Selective use of branch prediction hints |
| 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 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0628184A (ja) * | 1991-08-26 | 1994-02-04 | Internatl Business Mach Corp <Ibm> | ブランチ予測方法及びブランチプロセッサ |
| EP0544026A1 (de) | 1991-11-26 | 1993-06-02 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Einrichtung zur Sprungvorhersage bei der Durchführung von Sprungbefehlen |
| AU6701794A (en) * | 1993-05-14 | 1994-12-12 | Intel Corporation | Speculative history mechanism in a branch target buffer |
| TW261676B (de) * | 1993-11-02 | 1995-11-01 | Motorola Inc | |
| JP3599409B2 (ja) | 1994-06-14 | 2004-12-08 | 株式会社ルネサステクノロジ | 分岐予測装置 |
| GB9521980D0 (en) * | 1995-10-26 | 1996-01-03 | Sgs Thomson Microelectronics | Branch target buffer |
| US5742805A (en) | 1996-02-15 | 1998-04-21 | Fujitsu Ltd. | Method and apparatus for a single history register based branch predictor in a superscalar microprocessor |
| US5761490A (en) | 1996-05-28 | 1998-06-02 | Hewlett-Packard Company | Changing the meaning of a pre-decode bit in a cache memory depending on branch prediction mode |
| US5896259A (en) * | 1997-08-05 | 1999-04-20 | Raytheon Company | Preheating device for electronic circuits |
-
1999
- 1999-05-03 US US09/304,600 patent/US6427206B1/en not_active Expired - Lifetime
-
2000
- 2000-05-01 GB GB0125908A patent/GB2363878B/en not_active Expired - Fee Related
- 2000-05-01 CN CNB008098727A patent/CN1150455C/zh not_active Expired - Fee Related
- 2000-05-01 WO PCT/US2000/011789 patent/WO2000067116A1/en not_active Ceased
- 2000-05-01 AU AU48125/00A patent/AU4812500A/en not_active Abandoned
- 2000-05-01 DE DE10084556T patent/DE10084556B4/de not_active Expired - Fee Related
- 2000-05-20 TW TW089108388A patent/TWI223195B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TWI223195B (en) | 2004-11-01 |
| DE10084556B4 (de) | 2005-11-24 |
| WO2000067116A1 (en) | 2000-11-09 |
| GB2363878B (en) | 2003-12-17 |
| CN1150455C (zh) | 2004-05-19 |
| GB0125908D0 (en) | 2001-12-19 |
| CN1359488A (zh) | 2002-07-17 |
| US6427206B1 (en) | 2002-07-30 |
| GB2363878A (en) | 2002-01-09 |
| AU4812500A (en) | 2000-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE10084556T1 (de) | Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten Verzweigungsbefehlen | |
| DE69813616D1 (de) | Cyclohexencarboxylate als inhibitoren der neuraminidase | |
| ID24638A (id) | Senyawa-senyawa anti aritmia bispidina | |
| DE69933088D1 (de) | Vliw-verarbeiter verarbeitet befehle von verschiedenen breiten | |
| DE69928195D1 (de) | Komplettierung von Untrerdruck-Bohrlöchern | |
| DE69824508D1 (de) | Fernsprechbasiertes Anweisungssystem | |
| DE50103557D1 (de) | Assistenzsystem zur auswahl von strecken | |
| ID22956A (id) | Sintesa disulfida dan polisulfida organik | |
| DK1150991T3 (da) | Præparater til behandling af inflammatoriske reaktioner | |
| DE69728139T2 (de) | Pyrrolopyrrolone als inhibitoren von neutrophiler elastase | |
| DK1042228T3 (da) | Fremgangsmåde til behandling af cementslam | |
| IT1305979B1 (it) | Defluorurazione di acqua di rifiuto. | |
| DK0923998T3 (da) | Behandling af våde rørledninger til gastransport | |
| DK1008558T3 (da) | Fremgangsmåde til behandling af organisk spildevand | |
| DE60006799D1 (de) | Oralverabreichbare lösung von prucaloprid | |
| FI980679L (fi) | Kannatinpalkki | |
| ATE505545T1 (de) | Veränderung von pflanzenfasern | |
| DE69927626D1 (de) | Ausführung von Permutationen | |
| KR970023755U (ko) | 조립식 판넬의 체결장치 | |
| PT1232141E (pt) | Eteres de o-desmetil-venlafaxina | |
| DK0889014T3 (da) | Fremgangsmåde til behandling af slam | |
| ID20659A (id) | Arsitektur kemampuan cache | |
| DE59812710D1 (de) | Flüssigkeitsablass | |
| DE69912290D1 (de) | Durchführung | |
| KR970051959U (ko) | 도로용 배수구의 물받이 통 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |