RU2602335C2 - Способ и устройство для предсказания ветвлений - Google Patents

Способ и устройство для предсказания ветвлений Download PDF

Info

Publication number
RU2602335C2
RU2602335C2 RU2014106700/08A RU2014106700A RU2602335C2 RU 2602335 C2 RU2602335 C2 RU 2602335C2 RU 2014106700/08 A RU2014106700/08 A RU 2014106700/08A RU 2014106700 A RU2014106700 A RU 2014106700A RU 2602335 C2 RU2602335 C2 RU 2602335C2
Authority
RU
Russia
Prior art keywords
branch
command
instruction
memory
address
Prior art date
Application number
RU2014106700/08A
Other languages
English (en)
Russian (ru)
Other versions
RU2014106700A (ru
Inventor
Жан-Поль СМЕТС
Эрик РЕЙСХАУВЕР
Original Assignee
Телефонактиеболагет Л М Эрикссон (Пабл)
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 Телефонактиеболагет Л М Эрикссон (Пабл) filed Critical Телефонактиеболагет Л М Эрикссон (Пабл)
Publication of RU2014106700A publication Critical patent/RU2014106700A/ru
Application granted granted Critical
Publication of RU2602335C2 publication Critical patent/RU2602335C2/ru

Links

Images

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
    • 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/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 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

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)
RU2014106700/08A 2011-07-22 2012-07-16 Способ и устройство для предсказания ветвлений RU2602335C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP11174969.3A EP2549376B1 (en) 2011-07-22 2011-07-22 Method and apparatus for branch prediction.
EP11174969.3 2011-07-22
US201161515361P 2011-08-05 2011-08-05
US61/515,361 2011-08-05
PCT/EP2012/063867 WO2013014012A1 (en) 2011-07-22 2012-07-16 Method and apparatus for branch prediction

Publications (2)

Publication Number Publication Date
RU2014106700A RU2014106700A (ru) 2015-08-27
RU2602335C2 true RU2602335C2 (ru) 2016-11-20

Family

ID=44910038

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014106700/08A RU2602335C2 (ru) 2011-07-22 2012-07-16 Способ и устройство для предсказания ветвлений

Country Status (5)

Country Link
US (1) US9465615B2 (cg-RX-API-DMAC7.html)
EP (1) EP2549376B1 (cg-RX-API-DMAC7.html)
IN (1) IN2014DN00245A (cg-RX-API-DMAC7.html)
RU (1) RU2602335C2 (cg-RX-API-DMAC7.html)
WO (1) WO2013014012A1 (cg-RX-API-DMAC7.html)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2731327C1 (ru) * 2017-01-19 2020-09-01 Интернэшнл Бизнес Машинз Корпорейшн Команда защищенной логической загрузки и сдвига
RU2832273C1 (ru) * 2024-06-07 2024-12-23 Акционерное общество "МЦСТ" Процессор с усовершенствованным хранилищем вызываемых адресов

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639368B2 (en) 2014-06-13 2017-05-02 International Business Machines Corporation Branch prediction based on correlating events
US9875106B2 (en) * 2014-11-12 2018-01-23 Mill Computing, Inc. Computer processor employing instruction block exit prediction
US10402200B2 (en) 2015-06-26 2019-09-03 Samsung Electronics Co., Ltd. High performance zero bubble conditional branch prediction using micro branch target buffer
US9934041B2 (en) 2015-07-01 2018-04-03 International Business Machines Corporation Pattern based branch prediction
US10210090B1 (en) 2017-10-12 2019-02-19 Texas Instruments Incorporated Servicing CPU demand requests with inflight prefetchs
US11086629B2 (en) * 2018-11-09 2021-08-10 Arm Limited Misprediction of predicted taken branches in a data processing apparatus
US12067399B2 (en) 2022-02-01 2024-08-20 Apple Inc. Conditional instructions prediction
US12493469B1 (en) 2023-08-30 2025-12-09 Ventana Micro Systems Inc. Microprocessor that extends sequential multi-fetch block macro-op cache entries
US12498927B1 (en) 2023-08-30 2025-12-16 Ventana Micro Systems Inc. Microprocessor that allows same-fetch block start address co-residence of unrolled loop multi-fetch block macro-op cache entry and loop body macro-op cache entry used to build same
US12493466B1 (en) 2023-08-30 2025-12-09 Ventana Micro Systems Inc. Microprocessor that builds inconsistent loop that iteration count unrolled loop multi-fetch block macro-op cache entries
US12498929B1 (en) 2022-11-03 2025-12-16 Ventana Micro Systems Inc. Microprocessor that performs partial fallback abort processing of multi-fetch block macro-op cache entries
US12450067B1 (en) 2023-08-30 2025-10-21 Ventana Micro Systems Inc. Microprocessor that performs selective multi-fetch block macro-op cache entry invalidation
US12498926B1 (en) 2023-08-30 2025-12-16 Ventana Micro Systems Inc. Microprocessor that builds consistent loop iteration count unrolled loop multi-fetch block macro-op cache entries
US12498928B1 (en) 2023-08-30 2025-12-16 Ventana Micro Systems Inc. Microprocessor that builds multi-fetch block macro-op cache entries in two-stage process
US12450066B1 (en) 2023-08-30 2025-10-21 Ventana Micro Systems Inc. Microprocessor that builds sequential multi-fetch block macro-op cache entries
US12450068B2 (en) 2023-07-25 2025-10-21 Apple Inc. Biased conditional instruction prediction
US12498933B1 (en) 2023-08-30 2025-12-16 Ventana Micro Systems Inc. Prediction unit that predicts successor fetch block start address of multi-fetch block macro-op cache entry
US12493468B1 (en) 2023-08-30 2025-12-09 Ventana Micro Systems Inc. Microprocessor that performs mid-macro-op cache entry restart abort processing
US12487926B1 (en) * 2023-08-30 2025-12-02 Ventana Micro Systems Inc. Prediction unit that predicts branch history update information produced by multi-fetch block macro-op cache entry

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552314B2 (en) * 1998-12-31 2009-06-23 Stmicroelectronics, Inc. Fetching all or portion of instructions in memory line up to branch instruction based on branch prediction and size indicator stored in branch target buffer indexed by fetch address
RU2367004C2 (ru) * 2004-11-22 2009-09-10 Квэлкомм Инкорпорейтед Обработка ошибок предварительного декодирования через коррекцию ветвлений

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9521978D0 (en) * 1995-10-26 1996-01-03 Sgs Thomson Microelectronics Computer instruction supply
US7493480B2 (en) * 2002-07-18 2009-02-17 International Business Machines Corporation Method and apparatus for prefetching branch history information
KR100980076B1 (ko) 2003-10-24 2010-09-06 삼성전자주식회사 저전력 분기 예측 시스템 및 분기 예측 방법
KR100591769B1 (ko) 2004-07-16 2006-06-26 삼성전자주식회사 분기 예측 정보를 가지는 분기 타겟 버퍼
CN101763249A (zh) 2008-12-25 2010-06-30 世意法(北京)半导体研发有限责任公司 对非控制流指令减少分支检验

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552314B2 (en) * 1998-12-31 2009-06-23 Stmicroelectronics, Inc. Fetching all or portion of instructions in memory line up to branch instruction based on branch prediction and size indicator stored in branch target buffer indexed by fetch address
RU2367004C2 (ru) * 2004-11-22 2009-09-10 Квэлкомм Инкорпорейтед Обработка ошибок предварительного декодирования через коррекцию ветвлений

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2731327C1 (ru) * 2017-01-19 2020-09-01 Интернэшнл Бизнес Машинз Корпорейшн Команда защищенной логической загрузки и сдвига
RU2832273C1 (ru) * 2024-06-07 2024-12-23 Акционерное общество "МЦСТ" Процессор с усовершенствованным хранилищем вызываемых адресов

Also Published As

Publication number Publication date
WO2013014012A1 (en) 2013-01-31
RU2014106700A (ru) 2015-08-27
EP2549376B1 (en) 2019-03-13
EP2549376A1 (en) 2013-01-23
IN2014DN00245A (cg-RX-API-DMAC7.html) 2015-06-05
US20140229719A1 (en) 2014-08-14
US9465615B2 (en) 2016-10-11

Similar Documents

Publication Publication Date Title
RU2602335C2 (ru) Способ и устройство для предсказания ветвлений
US8751776B2 (en) Method for predicting branch target address based on previous prediction
US7882338B2 (en) Method, system and computer program product for an implicit predicted return from a predicted subroutine
US7278012B2 (en) Method and apparatus for efficiently accessing first and second branch history tables to predict branch instructions
JP2003005956A (ja) 分岐予測装置、プロセッサ、及び分岐予測方法
KR101081674B1 (ko) 워킹 글로벌 히스토리 레지스터를 이용하기 위한 시스템 및 방법
JP5815596B2 (ja) プロシージャリターンシーケンスを加速するための方法およびシステム
US10048969B2 (en) Dynamic branch predictor indexing a plurality of weight tables by instruction address fetch history and making a prediction based on a product sum calculation of global history register values and outputted weight table value
US8473727B2 (en) History based pipelined branch prediction
KR102635965B1 (ko) 마이크로 프로세서의 프론트 엔드 및 이를 이용한 컴퓨터 구현 방법
GB2542831A (en) Fetch unit for predicting target for subroutine return instructions
US20140250289A1 (en) Branch Target Buffer With Efficient Return Prediction Capability
JP2009524167A (ja) オペランドの早期の条件付き選択
US7447883B2 (en) Allocation of branch target cache resources in dependence upon program instructions within an instruction queue
US12314724B2 (en) Arithmetic processing device and arithmetic processing method
CN111522584A (zh) 一种硬件循环加速处理器及其执行的硬件循环加速方法
US20140019722A1 (en) Processor and instruction processing method of processor
US20090070569A1 (en) Branch prediction device,branch prediction method, and microprocessor
US20070294518A1 (en) System and method for predicting target address of branch instruction utilizing branch target buffer having entry indexed according to program counter value of previous instruction
US12487828B2 (en) Processor having switch instruction circuit
HK40092280A (zh) 分支预测方法、装置、处理器、介质及设备

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant