TW200745945A - Processor core and method for managing branch misprediction in an out-order processor pipeline - Google Patents

Processor core and method for managing branch misprediction in an out-order processor pipeline

Info

Publication number
TW200745945A
TW200745945A TW095140051A TW95140051A TW200745945A TW 200745945 A TW200745945 A TW 200745945A TW 095140051 A TW095140051 A TW 095140051A TW 95140051 A TW95140051 A TW 95140051A TW 200745945 A TW200745945 A TW 200745945A
Authority
TW
Taiwan
Prior art keywords
instruction
pipeline
processor
misprediction
processor core
Prior art date
Application number
TW095140051A
Other languages
English (en)
Chinese (zh)
Inventor
Karagada Ramarao Kishore
Kjeld Svendsen
Vidya Rajagopalan
Maria Ukanwa
Original Assignee
Mips Tech 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
Priority claimed from US11/261,655 external-priority patent/US7734901B2/en
Priority claimed from US11/261,654 external-priority patent/US7711934B2/en
Application filed by Mips Tech Inc filed Critical Mips Tech Inc
Publication of TW200745945A publication Critical patent/TW200745945A/zh

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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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
    • 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/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
    • 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
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

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)
TW095140051A 2005-10-31 2006-10-30 Processor core and method for managing branch misprediction in an out-order processor pipeline TW200745945A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/261,655 US7734901B2 (en) 2005-10-31 2005-10-31 Processor core and method for managing program counter redirection in an out-of-order processor pipeline
US11/261,654 US7711934B2 (en) 2005-10-31 2005-10-31 Processor core and method for managing branch misprediction in an out-of-order processor pipeline

Publications (1)

Publication Number Publication Date
TW200745945A true TW200745945A (en) 2007-12-16

Family

ID=38267515

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095140051A TW200745945A (en) 2005-10-31 2006-10-30 Processor core and method for managing branch misprediction in an out-order processor pipeline

Country Status (2)

Country Link
TW (1) TW200745945A (fr)
WO (1) WO2007084202A2 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI470546B (zh) * 2009-02-12 2015-01-21 Via Tech Inc 微處理器、管線式微處理器、快速執行條件分支指令之方法、以及解析第一或第二類別條件分支指令之方法
TWI549054B (zh) * 2011-12-28 2016-09-11 英特爾股份有限公司 用於分支預測錯誤之賦能及去能第二跳越執行單元之技術
CN115617402A (zh) * 2022-11-18 2023-01-17 北京数渡信息科技有限公司 一种适用于通用处理器的解耦合分支预测方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6079014A (en) * 1993-12-02 2000-06-20 Intel Corporation Processor that redirects an instruction fetch pipeline immediately upon detection of a mispredicted branch while committing prior instructions to an architectural state
US5586278A (en) * 1994-03-01 1996-12-17 Intel Corporation Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor
US6108769A (en) * 1996-05-17 2000-08-22 Advanced Micro Devices, Inc. Dependency table for reducing dependency checking hardware
US6760835B1 (en) * 2000-11-22 2004-07-06 Lsi Logic Corporation Instruction branch mispredict streaming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI470546B (zh) * 2009-02-12 2015-01-21 Via Tech Inc 微處理器、管線式微處理器、快速執行條件分支指令之方法、以及解析第一或第二類別條件分支指令之方法
TWI549054B (zh) * 2011-12-28 2016-09-11 英特爾股份有限公司 用於分支預測錯誤之賦能及去能第二跳越執行單元之技術
CN115617402A (zh) * 2022-11-18 2023-01-17 北京数渡信息科技有限公司 一种适用于通用处理器的解耦合分支预测方法及装置

Also Published As

Publication number Publication date
WO2007084202A2 (fr) 2007-07-26
WO2007084202A3 (fr) 2007-10-04

Similar Documents

Publication Publication Date Title
US10503511B2 (en) Circuit, system, and method for determining whether a branch instruction is predicted based on a capture range of a second instruction
JP5722396B2 (ja) 明示的サブルーチンコールの分岐予測動作をエミュレートするための方法および装置
KR101459536B1 (ko) 사전 통지 기법들을 사용하여 프로그램의 순차적 흐름을 변경하기 위한 방법들 및 장치
JP5137948B2 (ja) ローカル及びグローバル分岐予測情報の格納
US7949861B2 (en) Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline
US20040111594A1 (en) Multithreading recycle and dispatch mechanism
EP2864868B1 (fr) Procédés et appareil pour étendre des indications cibles de branche logicielle
US7711934B2 (en) Processor core and method for managing branch misprediction in an out-of-order processor pipeline
IE80854B1 (en) Processor ordering consistency for a processor performing out-of-order instruction execution
WO2006086713A2 (fr) Execution d'instruction conditionnelle par l'intermediaire d'une instruction emissaire a des fins d'evaluation de condition
WO2006094196A3 (fr) Procede et appareil destines a la reduction de la consommation electrique au moyen d'un processeur a multiples pipelines heterogenes
JP2003523573A (ja) プロセッサにおける書き込みトラヒックを減少するシステム及び方法
EP2087420A2 (fr) Procédés et dispositif permettant de reconnaître un appel de sous-programme
IL183283A0 (en) Pre-decode error handling via branch correction
WO2006007075A3 (fr) Execution selective d'extractions en vue d'operations de mise en memoire lors d'executions speculatives
US7254693B2 (en) Selectively prohibiting speculative execution of conditional branch type based on instruction bit
US20100146247A1 (en) Method and System for Managing Out of Order Dispatched Instruction Queue with Partially De-Coded Instruction Stream
CN114008587A (zh) 在处理器中的推测性错误预测恢复中限制基于负载的控制无关(ci)指令的重放
TW200745945A (en) Processor core and method for managing branch misprediction in an out-order processor pipeline
WO2007085010A3 (fr) Sélection conditionnelle précoce d'un opérande
EP3198400A1 (fr) Prédiction de dépendance d'instructions
US20100306513A1 (en) Processor Core and Method for Managing Program Counter Redirection in an Out-of-Order Processor Pipeline
US20050114632A1 (en) Method and apparatus for data speculation in an out-of-order processor
US20110078486A1 (en) Dynamic selection of execution stage
Zero Basic Idea