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 zugriffsstruktur

Info

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
Application number
AT00909946T
Other languages
English (en)
Inventor
Adam R Talcott
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of ATE247846T1 publication Critical patent/ATE247846T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3848Speculative 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)
AT00909946T 1999-01-25 2000-01-24 Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstruktur ATE247846T1 (de)

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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 멀티프로세싱 마이크로프로세서에 적합한 분기 예측기
US7000096B1 (en) * 2000-08-03 2006-02-14 International Business Machines Corporation Branch prediction circuits and methods and systems using the same
US6745323B1 (en) * 2000-08-03 2004-06-01 International Business Machines Corporation Global history vector recovery 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 富士通株式会社 分岐予測装置、プロセッサ、及び分岐予測方法
US7055021B2 (en) * 2002-02-05 2006-05-30 Sun Microsystems, Inc. Out-of-order processor that reduces mis-speculation using a replay scoreboard
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
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
WO2023235146A1 (en) * 2022-05-30 2023-12-07 Ceremorphic, Inc. Dynamic allocation of pattern history table (pht) for multi-threaded branch predictors

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
US6510511B2 (en) 2003-01-21
DE60004640T2 (de) 2004-06-17
WO2000043869A1 (en) 2000-07-27
DE60004640D1 (de) 2003-09-25
US6272623B1 (en) 2001-08-07
EP1157329B1 (de) 2003-08-20
US20020029333A1 (en) 2002-03-07
EP1157329A1 (de) 2001-11-28

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
ATE251319T1 (de) Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersysteme
BR9915737A (pt) Aparelho e processo de gerenciamento de poço
ATE270442T1 (de) Konstruktionssystem und verfahren zum konstruieren oder entwerfen neuer bauteile
GB2431756B (en) Method and apparatus for automatically evaluating and allocating resources in a cell based system
BR0009008A (pt) Sistema e método para dispositivos para teste e validação dotados de um sistema operacional embutido
ATE268025T1 (de) Vorrichtung und verfahren für leistungs- und fehlerdatenanalyse
ATE385325T1 (de) Verfahren und einrichtung zur konfiguration eines steuerungssystems
DE50213107D1 (de) Verfahren zum zugriff auf informationen und/oder dienste eines verteilten automatisierungssystems
DE60332654D1 (de) Speicherverwaltungsverfahren und einrichtung
ATE522868T1 (de) Assoziativer speicher mit eingabegruppen und überspringungsoperationen
DE69518453D1 (de) Verfahren und System zum Dynamischen Auswählen eines Kommunikationsmodus
CN105988854A (zh) 动态编译方法及装置
BRPI0507185A (pt) processo e sistemas para a transmissão de dados úteis entre aparelhos de telecomunicação
ATE294411T1 (de) Programmiergerät
DE60238140D1 (de) Verfahren und system zur ermittlung der durch ein fahrzeug zurückgelegten wegstrecke
MY133728A (en) Multi-module encryption method
KR960024924A (ko) 애넥스 레지스터 파일용 식별비트 발생 방법 및 장치
BR0114295A (pt) Processo para automaticamente estabelecer e atualizar uma tabela de distâncias
CN105700931A (zh) 一种代码注入方法及装置
DE60005157D1 (de) Verfahren und anordnung für blockdatenübertragung
DE19981232D2 (de) Kommunikationssystem und ein hierfür geeignetes Verfahren zum Betreiben eines Kommunikationssystems

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties