ATE247846T1 - Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstruktur - Google Patents
Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstrukturInfo
- Publication number
- ATE247846T1 ATE247846T1 AT00909946T AT00909946T ATE247846T1 AT E247846 T1 ATE247846 T1 AT E247846T1 AT 00909946 T AT00909946 T AT 00909946T AT 00909946 T AT00909946 T AT 00909946T AT E247846 T1 ATE247846 T1 AT E247846T1
- Authority
- AT
- Austria
- Prior art keywords
- branch
- history
- bits
- hybrid
- shared access
- Prior art date
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/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 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/3848—Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques
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)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/236,081 US6272623B1 (en) | 1999-01-25 | 1999-01-25 | Methods and apparatus for branch prediction using hybrid history with index sharing |
| PCT/US2000/001500 WO2000043869A1 (en) | 1999-01-25 | 2000-01-24 | Methods and apparatus for branch prediction using hybrid history with index sharing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ATE247846T1 true ATE247846T1 (de) | 2003-09-15 |
Family
ID=22888065
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AT00909946T ATE247846T1 (de) | 1999-01-25 | 2000-01-24 | Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstruktur |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US6272623B1 (de) |
| EP (1) | EP1157329B1 (de) |
| AT (1) | ATE247846T1 (de) |
| DE (1) | DE60004640T2 (de) |
| WO (1) | WO2000043869A1 (de) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19728839C1 (de) * | 1997-07-05 | 1998-09-03 | Bosch Gmbh Robert | Abschirmgehäuse für Mikrowellenschaltungen |
| US6189091B1 (en) * | 1998-12-02 | 2001-02-13 | Ip First, L.L.C. | Apparatus and method for speculatively updating global history and restoring same on branch misprediction detection |
| US6499101B1 (en) | 1999-03-18 | 2002-12-24 | I.P. First L.L.C. | Static branch prediction mechanism for conditional branch instructions |
| US6546481B1 (en) | 1999-11-05 | 2003-04-08 | Ip - First Llc | Split history tables for branch prediction |
| US6715064B1 (en) * | 2000-01-21 | 2004-03-30 | Intel Corporation | Method and apparatus for performing sequential executions of elements in cooperation with a transform |
| KR100395763B1 (ko) * | 2000-02-01 | 2003-08-25 | 삼성전자주식회사 | 멀티프로세싱 마이크로프로세서에 적합한 분기 예측기 |
| US6745323B1 (en) * | 2000-08-03 | 2004-06-01 | International Business Machines Corporation | Global history vector recovery circuits and methods and systems using the same |
| US7000096B1 (en) * | 2000-08-03 | 2006-02-14 | International Business Machines Corporation | Branch prediction circuits and methods and systems using the same |
| US6779108B2 (en) * | 2000-12-15 | 2004-08-17 | Intel Corporation | Incorporating trigger loads in branch histories for branch prediction |
| JP4027620B2 (ja) | 2001-06-20 | 2007-12-26 | 富士通株式会社 | 分岐予測装置、プロセッサ、及び分岐予測方法 |
| US20060248319A1 (en) * | 2002-02-05 | 2006-11-02 | Sun Microsystems, Inc. | Validating branch resolution to avoid mis-steering instruction fetch |
| US7076640B2 (en) | 2002-02-05 | 2006-07-11 | Sun Microsystems, Inc. | Processor that eliminates mis-steering instruction fetch resulting from incorrect resolution of mis-speculated branch instructions |
| US7055021B2 (en) * | 2002-02-05 | 2006-05-30 | Sun Microsystems, Inc. | Out-of-order processor that reduces mis-speculation using a replay scoreboard |
| US7143272B2 (en) * | 2002-12-27 | 2006-11-28 | Intel Corporation | Using computation histories to make predictions |
| US7143273B2 (en) * | 2003-03-31 | 2006-11-28 | Intel Corporation | Method and apparatus for dynamic branch prediction utilizing multiple stew algorithms for indexing a global history |
| US7370183B2 (en) * | 2003-04-11 | 2008-05-06 | Board Of Regents, The University Of Texas System | Branch predictor comprising a split branch history shift register |
| KR100980076B1 (ko) * | 2003-10-24 | 2010-09-06 | 삼성전자주식회사 | 저전력 분기 예측 시스템 및 분기 예측 방법 |
| US7243219B2 (en) * | 2003-12-24 | 2007-07-10 | Intel Corporation | Predicting instruction branches with a plurality of global predictors using varying amounts of history instruction |
| US7752426B2 (en) * | 2004-08-30 | 2010-07-06 | Texas Instruments Incorporated | Processes, circuits, devices, and systems for branch prediction and other processor improvements |
| US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
| KR100630702B1 (ko) * | 2004-10-05 | 2006-10-02 | 삼성전자주식회사 | 명령어 캐쉬와 명령어 변환 참조 버퍼의 제어기, 및 그제어방법 |
| US20070061554A1 (en) * | 2005-09-09 | 2007-03-15 | Lsi Logic Corporation | Branch predictor for a processor and method of predicting a conditional branch |
| US7461243B2 (en) * | 2005-12-22 | 2008-12-02 | Sun Microsystems, Inc. | Deferred branch history update scheme |
| US8301871B2 (en) * | 2006-06-08 | 2012-10-30 | International Business Machines Corporation | Predicated issue for conditional branch instructions |
| US7487340B2 (en) * | 2006-06-08 | 2009-02-03 | International Business Machines Corporation | Local and global branch prediction information storage |
| US7707398B2 (en) * | 2007-11-13 | 2010-04-27 | Applied Micro Circuits Corporation | System and method for speculative global history prediction updating |
| US8131982B2 (en) * | 2008-06-13 | 2012-03-06 | International Business Machines Corporation | Branch prediction instructions having mask values involving unloading and loading branch history data |
| US10338923B2 (en) * | 2009-05-05 | 2019-07-02 | International Business Machines Corporation | Branch prediction path wrong guess instruction |
| KR101239131B1 (ko) * | 2009-11-05 | 2013-03-08 | 한국전자통신연구원 | 무선주파수인식 리더 및 그것의 이득 제어 방법 |
| US8521999B2 (en) * | 2010-03-11 | 2013-08-27 | International Business Machines Corporation | Executing touchBHT instruction to pre-fetch information to prediction mechanism for branch with taken history |
| US9652245B2 (en) * | 2012-07-16 | 2017-05-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Branch prediction for indirect jumps by hashing current and previous branch instruction addresses |
| US20170322810A1 (en) * | 2016-05-06 | 2017-11-09 | Qualcomm Incorporated | Hypervector-based branch prediction |
| US11334361B2 (en) * | 2020-03-02 | 2022-05-17 | Arm Limited | Shared pointer for local history records used by prediction circuitry |
| US12099844B1 (en) | 2022-05-30 | 2024-09-24 | Ceremorphic, Inc. | Dynamic allocation of pattern history table (PHT) for multi-threaded branch predictors |
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> | ブランチ予測方法及びブランチプロセッサ |
| US5758142A (en) * | 1994-05-31 | 1998-05-26 | Digital Equipment Corporation | Trainable apparatus for predicting instruction outcomes in pipelined processors |
| GB9504743D0 (en) * | 1995-03-09 | 1995-04-26 | Int Computers Ltd | Jump prediction |
| US5687360A (en) * | 1995-04-28 | 1997-11-11 | Intel Corporation | Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction |
| 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 |
| US5901307A (en) * | 1996-07-22 | 1999-05-04 | International Business Machines Corporation | Processor having a selectively configurable branch prediction unit that can access a branch prediction utilizing bits derived from a plurality of sources |
| DE69727773T2 (de) * | 1996-12-10 | 2004-12-30 | Texas Instruments Inc., Dallas | Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor |
| US6374349B2 (en) * | 1998-03-19 | 2002-04-16 | Mcfarling Scott | Branch predictor with serially connected predictor stages for improving branch prediction accuracy |
| US6332189B1 (en) * | 1998-10-16 | 2001-12-18 | Intel Corporation | Branch prediction architecture |
-
1999
- 1999-01-25 US US09/236,081 patent/US6272623B1/en not_active Expired - Lifetime
-
2000
- 2000-01-24 DE DE60004640T patent/DE60004640T2/de not_active Expired - Fee Related
- 2000-01-24 EP EP00909946A patent/EP1157329B1/de not_active Expired - Lifetime
- 2000-01-24 AT AT00909946T patent/ATE247846T1/de not_active IP Right Cessation
- 2000-01-24 WO PCT/US2000/001500 patent/WO2000043869A1/en not_active Ceased
-
2001
- 2001-06-26 US US09/888,440 patent/US6510511B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US6510511B2 (en) | 2003-01-21 |
| DE60004640D1 (de) | 2003-09-25 |
| EP1157329A1 (de) | 2001-11-28 |
| WO2000043869A1 (en) | 2000-07-27 |
| EP1157329B1 (de) | 2003-08-20 |
| US6272623B1 (en) | 2001-08-07 |
| US20020029333A1 (en) | 2002-03-07 |
| DE60004640T2 (de) | 2004-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ATE247846T1 (de) | Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstruktur | |
| WO1997030389A3 (en) | Method and apparatus for improved branch prediction accuracy in a superscaler microprocessor | |
| ATE428984T1 (de) | Verfahren und vorrichtung zum senden von daten von mehreren quellen über einen kommunikationsbus | |
| ATE451653T1 (de) | Verfahren und systeme zum bewegen von daten unter verwendung von riegeln | |
| BR9915737A (pt) | Aparelho e processo de gerenciamento de poço | |
| WO1998025196A3 (en) | Dynamic branch prediction for branch instructions with multiple targets | |
| WO2004088464A3 (en) | System and method for data cleansing | |
| ATE433161T1 (de) | Verfahren und vorrichtung für neue gerätetreiberinstallation durch einen betriebssystem | |
| ATE270442T1 (de) | Konstruktionssystem und verfahren zum konstruieren oder entwerfen neuer bauteile | |
| ATE385325T1 (de) | Verfahren und einrichtung zur konfiguration eines steuerungssystems | |
| NO20004629L (no) | Database egnet for konfigurering og/eller optimalisering av et system, samt fremgangsmÕte for Õ generere databasen | |
| BR0009008A (pt) | Sistema e método para dispositivos para teste e validação dotados de um sistema operacional embutido | |
| DE69913323D1 (de) | Verfahren zur zuteilung von ressourcen | |
| DE60011142D1 (de) | Vorrichtung und verfahren für leistungs- und fehlerdatenanalyse | |
| ATE368886T1 (de) | Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen | |
| DE69518453D1 (de) | Verfahren und System zum Dynamischen Auswählen eines Kommunikationsmodus | |
| GB2431756B (en) | Method and apparatus for automatically evaluating and allocating resources in a cell based system | |
| ATE407401T1 (de) | Verfahren und vorrichtung zur erzeugung eines modussignals bei einem rechnersystem mit mehreren komponenten | |
| MY133728A (en) | Multi-module encryption method | |
| ES2184335T3 (es) | Procedimiento de representacion de interconexiones entre una pluralidad de archivos de datos y un aparato y un programa de ordenador para realizar todas las etapas de dicho procedimiento. | |
| DE602004024985D1 (de) | System und methode für die inkrementelle objektgenerierung | |
| DE19981232D2 (de) | Kommunikationssystem und ein hierfür geeignetes Verfahren zum Betreiben eines Kommunikationssystems | |
| ATE534972T1 (de) | System und verfahren zum erhalten von objektdaten | |
| ATE338939T1 (de) | Verfahren zum austausch digitaler wägezellen | |
| CN113591231B (zh) | 一种模拟行车方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RER | Ceased as to paragraph 5 lit. 3 law introducing patent treaties |