DE69727773D1 - Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor - Google Patents

Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor

Info

Publication number
DE69727773D1
DE69727773D1 DE69727773T DE69727773T DE69727773D1 DE 69727773 D1 DE69727773 D1 DE 69727773D1 DE 69727773 T DE69727773 T DE 69727773T DE 69727773 T DE69727773 T DE 69727773T DE 69727773 D1 DE69727773 D1 DE 69727773D1
Authority
DE
Germany
Prior art keywords
branch prediction
pipeline microprocessor
improved branch
improved
microprocessor
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.)
Expired - Lifetime
Application number
DE69727773T
Other languages
English (en)
Other versions
DE69727773T2 (de
Inventor
Jonathan Shiell
George Z N Cai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE69727773D1 publication Critical patent/DE69727773D1/de
Application granted granted Critical
Publication of DE69727773T2 publication Critical patent/DE69727773T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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, 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • 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, 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
DE69727773T 1996-12-10 1997-12-09 Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor Expired - Lifetime DE69727773T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3254996P 1996-12-10 1996-12-10
US32549P 1996-12-10

Publications (2)

Publication Number Publication Date
DE69727773D1 true DE69727773D1 (de) 2004-04-01
DE69727773T2 DE69727773T2 (de) 2004-12-30

Family

ID=21865530

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69727773T Expired - Lifetime DE69727773T2 (de) 1996-12-10 1997-12-09 Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor

Country Status (4)

Country Link
US (1) US5935241A (de)
EP (1) EP0848323B1 (de)
JP (1) JPH10177481A (de)
DE (1) DE69727773T2 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292879B1 (en) * 1995-10-25 2001-09-18 Anthony S. Fong Method and apparatus to specify access control list and cache enabling and cache coherency requirement enabling on individual operands of an instruction of a computer
US6108775A (en) * 1996-12-30 2000-08-22 Texas Instruments Incorporated Dynamically loadable pattern history tables in a multi-task microprocessor
US6490658B1 (en) * 1997-06-23 2002-12-03 Sun Microsystems, Inc. Data prefetch technique using prefetch cache, micro-TLB, and history file
US6175898B1 (en) * 1997-06-23 2001-01-16 Sun Microsystems, Inc. Method for prefetching data using a micro-TLB
US6253276B1 (en) * 1998-06-30 2001-06-26 Micron Technology, Inc. Apparatus for adaptive decoding of memory addresses
US6260121B1 (en) * 1998-06-30 2001-07-10 Micron Technology, Inc. Method for adaptive decoding of memory addresses
US6223280B1 (en) 1998-07-16 2001-04-24 Advanced Micro Devices, Inc. Method and circuit for preloading prediction circuits in microprocessors
US6233678B1 (en) * 1998-11-05 2001-05-15 Hewlett-Packard Company Method and apparatus for profiling of non-instrumented programs and dynamic processing of profile data
US6272623B1 (en) * 1999-01-25 2001-08-07 Sun Microsystems, Inc. Methods and apparatus for branch prediction using hybrid history with index sharing
JP2001067335A (ja) * 1999-06-23 2001-03-16 Denso Corp マイクロコンピュータ
US6470438B1 (en) * 2000-02-22 2002-10-22 Hewlett-Packard Company Methods and apparatus for reducing false hits in a non-tagged, n-way cache
US6351796B1 (en) * 2000-02-22 2002-02-26 Hewlett-Packard Company Methods and apparatus for increasing the efficiency of a higher level cache by selectively performing writes to the higher level cache
US7000096B1 (en) * 2000-08-03 2006-02-14 International Business Machines Corporation Branch prediction circuits and methods and systems using the same
US6990571B2 (en) * 2001-04-25 2006-01-24 Intel Corporation Method for memory optimization in a digital signal processor
JP4027620B2 (ja) * 2001-06-20 2007-12-26 富士通株式会社 分岐予測装置、プロセッサ、及び分岐予測方法
US7024663B2 (en) 2002-07-10 2006-04-04 Micron Technology, Inc. Method and system for generating object code to facilitate predictive memory retrieval
US6954836B2 (en) * 2002-07-11 2005-10-11 Micron Technology, Inc. System and method for processor with predictive memory retrieval assist
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
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
US7890738B2 (en) * 2005-01-20 2011-02-15 International Business Machines Corporation Method and logical apparatus for managing processing system resource use for speculative execution
US7447885B2 (en) * 2005-04-20 2008-11-04 Arm Limited Reading prediction outcomes within a branch prediction mechanism
JP2007052481A (ja) * 2005-08-15 2007-03-01 Matsushita Electric Ind Co Ltd Icカード用lsi
US20070061554A1 (en) * 2005-09-09 2007-03-15 Lsi Logic Corporation Branch predictor for a processor and method of predicting a conditional branch
US7827392B2 (en) * 2006-06-05 2010-11-02 Qualcomm Incorporated Sliding-window, block-based branch target address cache
US20080189495A1 (en) * 2007-02-02 2008-08-07 Mcbrearty Gerald Francis Method for reestablishing hotness of pages
US7779241B1 (en) * 2007-04-10 2010-08-17 Dunn David A History based pipelined branch prediction
US7779232B2 (en) * 2007-08-28 2010-08-17 International Business Machines Corporation Method and apparatus for dynamically managing instruction buffer depths for non-predicted branches
US8924693B2 (en) * 2011-01-21 2014-12-30 Apple Inc. Predicting a result for a predicate-generating instruction when processing vector instructions
WO2013101152A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Embedded branch prediction unit
US8935694B2 (en) 2012-01-23 2015-01-13 International Business Machines Corporation System and method for selectively saving and restoring state of branch prediction logic through separate hypervisor-mode and guest-mode and/or user-mode instructions
US9032191B2 (en) 2012-01-23 2015-05-12 International Business Machines Corporation Virtualization support for branch prediction logic enable / disable at hypervisor and guest operating system levels
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置
US9229723B2 (en) * 2012-06-11 2016-01-05 International Business Machines Corporation Global weak pattern history table filtering
US9395984B2 (en) 2012-09-12 2016-07-19 Qualcomm Incorporated Swapping branch direction history(ies) in response to a branch prediction table swap instruction(s), and related systems and methods
US9513924B2 (en) * 2013-06-28 2016-12-06 Globalfoundries Inc. Predictor data structure for use in pipelined processing
US9619230B2 (en) 2013-06-28 2017-04-11 International Business Machines Corporation Predictive fetching and decoding for selected instructions
EP2972797B1 (de) * 2014-01-27 2018-04-04 VIA Alliance Semiconductor Co., Ltd. Fraktionierte verwendung einer vorhersageverlaufsspeicherung für betriebssystemroutinen
US9983878B2 (en) 2014-05-15 2018-05-29 International Business Machines Corporation Branch prediction using multiple versions of history data
US10534611B2 (en) 2014-07-31 2020-01-14 International Business Machines Corporation Branch prediction using multi-way pattern history table (PHT) and global path vector (GPV)
US9477516B1 (en) 2015-03-19 2016-10-25 Google Inc. Concurrent in-memory data publication and storage system
US9934041B2 (en) 2015-07-01 2018-04-03 International Business Machines Corporation Pattern based branch prediction
GB201802815D0 (en) * 2018-02-21 2018-04-04 Univ Edinburgh Branch target buffer arrangement for instruction prefetching
US10740140B2 (en) * 2018-11-16 2020-08-11 International Business Machines Corporation Flush-recovery bandwidth in a processor
US11449343B2 (en) 2018-12-14 2022-09-20 Apple Inc. Indirect branch predictor storing encrypted branch information fields and security tag for security protection
US11321095B2 (en) 2018-12-14 2022-05-03 Apple Inc. Indirect branch predictor security protection
US11687343B2 (en) * 2020-09-29 2023-06-27 Arm Limited Data processing apparatus and method for providing candidate prediction entries
CN113504943B (zh) * 2021-09-03 2021-12-14 广东省新一代通信与网络创新研究院 用于降低资源使用的混合分支预测装置实现方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8728493D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Jump prediction
US5577217A (en) * 1993-05-14 1996-11-19 Intel Corporation Method and apparatus for a branch target buffer with shared branch pattern tables for associated branch predictions
US5454117A (en) * 1993-08-25 1995-09-26 Nexgen, Inc. Configurable branch prediction for a processor performing speculative execution
US5574871A (en) * 1994-01-04 1996-11-12 Intel Corporation Method and apparatus for implementing a set-associative branch target buffer

Also Published As

Publication number Publication date
EP0848323A2 (de) 1998-06-17
EP0848323B1 (de) 2004-02-25
DE69727773T2 (de) 2004-12-30
EP0848323A3 (de) 1999-02-10
JPH10177481A (ja) 1998-06-30
US5935241A (en) 1999-08-10

Similar Documents

Publication Publication Date Title
DE69727773D1 (de) Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor
DE69729525D1 (de) Biegevorrichtung in einem Heftapparat
DE69734303D1 (de) Pipeline-Befehlszuteilungseinheit in einem superskalaren Prozessor
PT881915E (pt) Melhorias em ou relativas a agentes de contraste
DE69531933D1 (de) Busarchitektur in hochgradiger pipeline-ausführung
DE69129881D1 (de) Verzweigung in einem Pipeline-Prozessor
DE69716663D1 (de) Prozesszuweisung in einem Mehrrechnersystem
DE69510458D1 (de) Rohrverlegung
DE69825350D1 (de) Verzweigungsvorhersage in Rechnersystem
DE69934105D1 (de) Amplitudenbegrenzung in einem CDMA System
DE59702287D1 (de) Verschluss für kunststofftube
DE69617542D1 (de) Objektorientierter Kodierungskompiler
GB2309806B (en) Limited run branch prediction
DE69522454D1 (de) Sofortleistungsverlustmesser in einem Leistungstransistor
DE69731574D1 (de) Kompiliergerät und -verfahren
DE29621995U1 (de) Absperrvorrichtung mit einem Zaun
DE69600967D1 (de) Verbesserungen in oder bezüglich Woks
DE69733613D1 (de) Wegesuche für pakete in einem fernmeldesystem
DE29612040U1 (de) Kunststoff-Verbundrohr
DE69601273T2 (de) Verbesserungen an oder bezüglich Rohrverbindungen
DE9407360U1 (de) Kunststoffrohr
KR960025665U (ko) 분기함
DE9411102U1 (de) Rohrleitung
KR950029393U (ko) 합성수지관
KR950030560U (ko) 관로방수구

Legal Events

Date Code Title Description
8364 No opposition during term of opposition