RU2602335C2 - Способ и устройство для предсказания ветвлений - Google Patents
Способ и устройство для предсказания ветвлений Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3848—Speculative 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)
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)
| 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)
| 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)
| 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)
| 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 | 世意法(北京)半导体研发有限责任公司 | 对非控制流指令减少分支检验 |
-
2011
- 2011-07-22 EP EP11174969.3A patent/EP2549376B1/en active Active
-
2012
- 2012-07-16 RU RU2014106700/08A patent/RU2602335C2/ru active
- 2012-07-16 US US14/128,876 patent/US9465615B2/en active Active
- 2012-07-16 IN IN245DEN2014 patent/IN2014DN00245A/en unknown
- 2012-07-16 WO PCT/EP2012/063867 patent/WO2013014012A1/en not_active Ceased
Patent Citations (2)
| 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)
| 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 |