ATE496329T1 - System und verfahren zur verwendung eines funktionierenden globalen vorgeschichteregisters - Google Patents

System und verfahren zur verwendung eines funktionierenden globalen vorgeschichteregisters

Info

Publication number
ATE496329T1
ATE496329T1 AT07844606T AT07844606T ATE496329T1 AT E496329 T1 ATE496329 T1 AT E496329T1 AT 07844606 T AT07844606 T AT 07844606T AT 07844606 T AT07844606 T AT 07844606T AT E496329 T1 ATE496329 T1 AT E496329T1
Authority
AT
Austria
Prior art keywords
register
branch
history information
prehistory
branch history
Prior art date
Application number
AT07844606T
Other languages
English (en)
Inventor
Brian Michael Stempel
James Norris Dieffenderfer
Thomas Andrew Sartorius
Rodney Wayne Smith
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ATE496329T1 publication Critical patent/ATE496329T1/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
    • 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
    • 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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling

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)
  • Hardware Redundancy (AREA)
AT07844606T 2006-11-03 2007-10-25 System und verfahren zur verwendung eines funktionierenden globalen vorgeschichteregisters ATE496329T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/556,244 US7984279B2 (en) 2006-11-03 2006-11-03 System and method for using a working global history register
PCT/US2007/082538 WO2008055045A1 (en) 2006-11-03 2007-10-25 A system and method for using a working global history register

Publications (1)

Publication Number Publication Date
ATE496329T1 true ATE496329T1 (de) 2011-02-15

Family

ID=38926137

Family Applications (1)

Application Number Title Priority Date Filing Date
AT07844606T ATE496329T1 (de) 2006-11-03 2007-10-25 System und verfahren zur verwendung eines funktionierenden globalen vorgeschichteregisters

Country Status (8)

Country Link
US (1) US7984279B2 (de)
EP (1) EP2084602B1 (de)
JP (1) JP5209633B2 (de)
KR (1) KR101081674B1 (de)
CN (1) CN101529378B (de)
AT (1) ATE496329T1 (de)
DE (1) DE602007012131D1 (de)
WO (1) WO2008055045A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5145809B2 (ja) * 2007-07-31 2013-02-20 日本電気株式会社 分岐予測装置、ハイブリッド分岐予測装置、プロセッサ、分岐予測方法、及び分岐予測制御プログラム
US20100031011A1 (en) * 2008-08-04 2010-02-04 International Business Machines Corporation Method and apparatus for optimized method of bht banking and multiple updates
US8078851B2 (en) * 2008-12-18 2011-12-13 Faraday Technology Corp. Processor and method for recovering global history shift register and return address stack thereof by determining a removal range of a branch recovery table
JP5367416B2 (ja) * 2009-03-04 2013-12-11 光洋サーモシステム株式会社 搬送ロボット装置
WO2013100998A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Processor with second jump execution unit for branch misprediction
US9229723B2 (en) 2012-06-11 2016-01-05 International Business Machines Corporation Global weak pattern history table filtering
US9858081B2 (en) * 2013-08-12 2018-01-02 International Business Machines Corporation Global branch prediction using branch and fetch group history
US10372590B2 (en) 2013-11-22 2019-08-06 International Business Corporation Determining instruction execution history in a debugger
JP5863855B2 (ja) 2014-02-26 2016-02-17 ファナック株式会社 分岐命令を高速に処理するためのインストラクションキャッシュを有するプログラマブルコントローラ
CN113721985B (zh) * 2021-11-02 2022-02-08 超验信息科技(长沙)有限公司 Risc-v向量寄存器分组设置方法、装置及电子设备
US20230315468A1 (en) * 2022-03-30 2023-10-05 Advanced Micro Devices, Inc. Enforcing consistency across redundant tagged geometric (tage) branch histories

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155818A (en) * 1988-09-28 1992-10-13 Data General Corporation Unconditional wide branch instruction acceleration
US5604877A (en) * 1994-01-04 1997-02-18 Intel Corporation Method and apparatus for resolving return from subroutine instructions in a computer processor
JPH08106387A (ja) * 1994-10-06 1996-04-23 Oki Electric Ind Co Ltd 命令プリフェッチ回路及びキャッシュ装置
US5918245A (en) * 1996-03-13 1999-06-29 Sun Microsystems, Inc. Microprocessor having a cache memory system using multi-level cache set prediction
US5860017A (en) * 1996-06-28 1999-01-12 Intel Corporation Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5838962A (en) * 1997-04-09 1998-11-17 Hewlett-Packard Company Interrupt driven dynamic adjustment of branch predictions
US6157988A (en) * 1997-08-01 2000-12-05 Micron Technology, Inc. Method and apparatus for high performance branching in pipelined microsystems
US6418530B2 (en) 1999-02-18 2002-07-09 Hewlett-Packard Company Hardware/software system for instruction profiling and trace selection using branch history information for branch predictions
US6622240B1 (en) * 1999-06-18 2003-09-16 Intrinsity, Inc. Method and apparatus for pre-branch instruction
SE0003446L (sv) * 2000-09-27 2002-03-28 Ericsson Telefon Ab L M En pipelinemikroprocessor och ett förfarnade relaterande därtill
US6886093B2 (en) 2001-05-04 2005-04-26 Ip-First, Llc Speculative hybrid branch direction predictor
US7107438B2 (en) * 2003-02-04 2006-09-12 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for performing early correction of conditional branch instruction mispredictions
US20040225866A1 (en) * 2003-05-06 2004-11-11 Williamson David James Branch prediction in a data processing system
US20050228977A1 (en) * 2004-04-09 2005-10-13 Sun Microsystems,Inc. Branch prediction mechanism using multiple hash functions
US7181190B2 (en) 2004-04-30 2007-02-20 Microsoft Corporation Method for maintaining wireless network response time while saving wireless adapter power
CN1961285B (zh) * 2004-06-02 2011-05-25 英特尔公司 Tlb相关分支预测器及其使用方法
US7752426B2 (en) * 2004-08-30 2010-07-06 Texas Instruments Incorporated Processes, circuits, devices, and systems for branch prediction and other processor improvements
US7278012B2 (en) * 2005-06-02 2007-10-02 Qualcomm Incorporated Method and apparatus for efficiently accessing first and second branch history tables to predict branch instructions
TW200739419A (en) * 2006-04-07 2007-10-16 Univ Feng Chia Prediction mechanism of a program backward jump instruction

Also Published As

Publication number Publication date
WO2008055045A1 (en) 2008-05-08
EP2084602A1 (de) 2009-08-05
KR20090089358A (ko) 2009-08-21
US7984279B2 (en) 2011-07-19
JP5209633B2 (ja) 2013-06-12
US20080109644A1 (en) 2008-05-08
EP2084602B1 (de) 2011-01-19
CN101529378B (zh) 2013-04-03
JP2010509680A (ja) 2010-03-25
KR101081674B1 (ko) 2011-11-09
CN101529378A (zh) 2009-09-09
DE602007012131D1 (de) 2011-03-03

Similar Documents

Publication Publication Date Title
ATE496329T1 (de) System und verfahren zur verwendung eines funktionierenden globalen vorgeschichteregisters
ATE511674T1 (de) Verfahren und system zur auflösung gleichzeitig vorgegebener verzweigungsinstruktionen
EP2109849A4 (de) System und verfahren zur auswahl und darstellung von werbeinhalten auf basis natürlicher sprachverarbeitung gesprochener eingaben
ATE467179T1 (de) Verfahren zum testen eines computerprogramms
ATE488793T1 (de) Verfahren zum test eines elektronischen steuerungssystems
DE602007004374D1 (de) Gerät und Verfahren zur Arbeitslastberechnung für einen Verbrennungsmotor
ATE519154T1 (de) Vorrichtung und verfahren zur durchführung von permutationsoperationen auf daten
DE602006006429D1 (de) System zur optimierung spekulativer verzweigungsvorhersagen und verfahren dafür
GB2501433A (en) Updating software
WO2007131224A3 (en) Methods and apparatus to detect data dependencies in an instruction pipeline
DE602005025907D1 (de) Verrohrungen und verfahren zur verwendung solcher verrohrungen in unterirdischen zementierungen
ATE535861T1 (de) Verfahren und vorrichtungen zur zweigvorhersage und verarbeitung von mikroprozessoranweisungen und dergleichen
WO2009105725A3 (en) System and method for instruction latency reduction in graphics processing
ATE541199T1 (de) Verfahren zur anzeige von ermüdungsbeschädigung eines metallobjekts
ATE514161T1 (de) Vorrichtung und verfahren zum berechnen eines fingerabdrucks eines audiosignals, vorrichtung und verfahren zum synchronisieren und vorrichtung und verfahren zum charakterisieren eines testaudiosignals
DE602007012027D1 (de) Abweichungsbestimmungsvorrichtung und Verfahren für eine Vorrichtung zur Rückführung von Kurbelgehäuseentlüftungsgas
DE602007001927D1 (de) Verfahren und Vorrichtung zur Tonsignalkorrektur und Computerprogramm
ATE465085T1 (de) Verfahren und systeme zur implementierung ortsbasierter geräuschunterdrückungsverfahren
ATE550645T1 (de) Verfahren zur zerstörungsfreien prüfung von rohren
DE602004011889D1 (de) Anordnung und Verfahren zur Durchführung einer frühen Korrektur von falschen Vorhersagen beim bedingten Verzweigungsbefehl
DE602004005467D1 (de) Verfahren zur Versagenserkennung eines variablen Einlassystems
DE602006015766D1 (de) Verfahren und Anordnung für Kühlung eines Abgassystems
WO2007125390A3 (en) Method and apparatus for moving area operator definition instructions statements within control flow structures
EP3067794A3 (de) System und verfahren zur neuerteilung von parken für einen mikroprozessor
TW200951704A (en) Method for automatically simulating manual testing after powering on of computer, detection system, and external storage device

Legal Events

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