CN106104466B - 在超越控制分支预测器中的推测历史转递以及相关电路、方法和计算机可读媒体 - Google Patents

在超越控制分支预测器中的推测历史转递以及相关电路、方法和计算机可读媒体 Download PDF

Info

Publication number
CN106104466B
CN106104466B CN201580014711.7A CN201580014711A CN106104466B CN 106104466 B CN106104466 B CN 106104466B CN 201580014711 A CN201580014711 A CN 201580014711A CN 106104466 B CN106104466 B CN 106104466B
Authority
CN
China
Prior art keywords
branch
branch prediction
prediction
history
predictor
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.)
Active
Application number
CN201580014711.7A
Other languages
English (en)
Chinese (zh)
Other versions
CN106104466A (zh
Inventor
瑞米·默汉麦德·艾尔·雪克
瑞谷蓝·达莫达伦
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.)
Qualcomm Inc
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
Publication of CN106104466A publication Critical patent/CN106104466A/zh
Application granted granted Critical
Publication of CN106104466B publication Critical patent/CN106104466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables

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)
CN201580014711.7A 2014-03-24 2015-03-23 在超越控制分支预测器中的推测历史转递以及相关电路、方法和计算机可读媒体 Active CN106104466B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/223,091 2014-03-24
US14/223,091 US9582285B2 (en) 2014-03-24 2014-03-24 Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media
PCT/US2015/021997 WO2015148372A1 (en) 2014-03-24 2015-03-23 Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media

Publications (2)

Publication Number Publication Date
CN106104466A CN106104466A (zh) 2016-11-09
CN106104466B true CN106104466B (zh) 2019-05-28

Family

ID=52829348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580014711.7A Active CN106104466B (zh) 2014-03-24 2015-03-23 在超越控制分支预测器中的推测历史转递以及相关电路、方法和计算机可读媒体

Country Status (8)

Country Link
US (1) US9582285B2 (enExample)
EP (1) EP3123305A1 (enExample)
JP (1) JP6370918B2 (enExample)
KR (1) KR101829369B1 (enExample)
CN (1) CN106104466B (enExample)
CA (1) CA2939834C (enExample)
TW (1) TWI588739B (enExample)
WO (1) WO2015148372A1 (enExample)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995447B2 (en) * 2020-10-15 2024-05-28 Centaur Technology, Inc. Quick predictor override and update by a BTAC
JP2022094507A (ja) 2020-12-15 2022-06-27 富士通株式会社 演算処理回路及び演算処理方法
US11868773B2 (en) 2022-01-06 2024-01-09 International Business Machines Corporation Inferring future value for speculative branch resolution in a microprocessor
CN116149733A (zh) * 2023-02-28 2023-05-23 北京智芯微电子科技有限公司 指令转移预测系统、方法、装置、计算机设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134654A (en) * 1998-09-16 2000-10-17 Sun Microsystems, Inc. Bi-level branch target prediction scheme with fetch address prediction
US20010056531A1 (en) * 1998-03-19 2001-12-27 Mcfarling Scott Branch predictor with serially connected predictor stages for improving branch prediction accuracy
CN1397876A (zh) * 2001-05-04 2003-02-19 智慧第一公司 假想分支目标地址高速缓存中置换目标地址的装置及方法
US20050132175A1 (en) * 2001-05-04 2005-06-16 Ip-First, Llc. Speculative hybrid branch direction predictor
US20060036837A1 (en) * 2004-08-13 2006-02-16 Stark Jared W Prophet/critic hybrid predictor
US20070050776A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Predictive processor resource management
US20120166775A1 (en) * 2010-12-22 2012-06-28 Advanced Micro Devices, Inc. Combined level 1 and level 2 branch predictor
CN103150142A (zh) * 2011-12-07 2013-06-12 苹果公司 具有滞后的下一获取预测器训练

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317240B1 (ko) * 1999-10-21 2001-12-22 윤종용 분기 예측 정확도 히스토리를 이용한 분기 예측기
US7836288B2 (en) 2004-09-14 2010-11-16 Arm Limited Branch prediction mechanism including a branch prediction memory and a branch prediction cache
US7673122B1 (en) 2005-09-29 2010-03-02 Sun Microsystems, Inc. Software hint to specify the preferred branch prediction to use for a branch instruction
US7707398B2 (en) 2007-11-13 2010-04-27 Applied Micro Circuits Corporation System and method for speculative global history prediction updating
US8832418B2 (en) * 2009-08-28 2014-09-09 Via Technologies, Inc. Efficient branch target address cache entry replacement
JPWO2012127666A1 (ja) * 2011-03-23 2014-07-24 富士通株式会社 演算処理装置、情報処理装置及び演算処理方法
US9201654B2 (en) 2011-06-28 2015-12-01 International Business Machines Corporation Processor and data processing method incorporating an instruction pipeline with conditional branch direction prediction for fast access to branch target instructions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056531A1 (en) * 1998-03-19 2001-12-27 Mcfarling Scott Branch predictor with serially connected predictor stages for improving branch prediction accuracy
US6134654A (en) * 1998-09-16 2000-10-17 Sun Microsystems, Inc. Bi-level branch target prediction scheme with fetch address prediction
CN1397876A (zh) * 2001-05-04 2003-02-19 智慧第一公司 假想分支目标地址高速缓存中置换目标地址的装置及方法
US20050132175A1 (en) * 2001-05-04 2005-06-16 Ip-First, Llc. Speculative hybrid branch direction predictor
US20060036837A1 (en) * 2004-08-13 2006-02-16 Stark Jared W Prophet/critic hybrid predictor
US20070050776A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Predictive processor resource management
US20120166775A1 (en) * 2010-12-22 2012-06-28 Advanced Micro Devices, Inc. Combined level 1 and level 2 branch predictor
CN103150142A (zh) * 2011-12-07 2013-06-12 苹果公司 具有滞后的下一获取预测器训练

Also Published As

Publication number Publication date
TW201602907A (zh) 2016-01-16
KR101829369B1 (ko) 2018-02-19
US9582285B2 (en) 2017-02-28
JP2017509995A (ja) 2017-04-06
KR20160135726A (ko) 2016-11-28
WO2015148372A1 (en) 2015-10-01
TWI588739B (zh) 2017-06-21
EP3123305A1 (en) 2017-02-01
US20150268958A1 (en) 2015-09-24
CN106104466A (zh) 2016-11-09
CA2939834C (en) 2019-09-17
JP6370918B2 (ja) 2018-08-08
CA2939834A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
EP3436930B1 (en) Providing load address predictions using address prediction tables based on load path history in processor-based systems
US10255074B2 (en) Selective flushing of instructions in an instruction pipeline in a processor back to an execution-resolved target address, in response to a precise interrupt
US9830152B2 (en) Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor
US20180081690A1 (en) Performing distributed branch prediction using fused processor cores in processor-based systems
CN104603747B (zh) 响应于分支预测表调换指令而调换分支方向历史及相关的系统和方法
CN106104466B (zh) 在超越控制分支预测器中的推测历史转递以及相关电路、方法和计算机可读媒体
US10223118B2 (en) Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor
JP2015535634A (ja) 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体
US20160077836A1 (en) Predicting literal load values using a literal load prediction table, and related circuits, methods, and computer-readable media
WO2016014239A1 (en) ENFORCING LOOP-CARRIED DEPENDENCY (LCD) DURING DATAFLOW EXECUTION OF LOOP INSTRUCTIONS BY OUT-OF-ORDER PROCESSORS (OOPs), AND RELATED CIRCUITS, METHODS, AND COMPUTER-READABLE MEDIA
US20190065060A1 (en) Caching instruction block header data in block architecture processor-based systems
US20240385841A1 (en) Fetching beyond predicted-taken branch instructions in fetch bundles of processor-based devices
US20190294443A1 (en) Providing early pipeline optimization of conditional instructions in processor-based systems
WO2024238458A1 (en) Fetching beyond predicted-taken branch instructions in fetch bundles of processor-based devices
US20160092232A1 (en) Propagating constant values using a computed constants table, and related apparatuses and methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant