TWI588739B - 在超越分流預測器中之推測歷史轉遞及其相關電路、方法及電腦可讀媒體 - Google Patents
在超越分流預測器中之推測歷史轉遞及其相關電路、方法及電腦可讀媒體 Download PDFInfo
- Publication number
- TWI588739B TWI588739B TW104109240A TW104109240A TWI588739B TW I588739 B TWI588739 B TW I588739B TW 104109240 A TW104109240 A TW 104109240A TW 104109240 A TW104109240 A TW 104109240A TW I588739 B TWI588739 B TW I588739B
- Authority
- TW
- Taiwan
- Prior art keywords
- prediction
- shunt
- offload
- history
- predictor
- Prior art date
Links
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
- 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
-
- 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/3844—Speculative 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)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| 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 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201602907A TW201602907A (zh) | 2016-01-16 |
| TWI588739B true TWI588739B (zh) | 2017-06-21 |
Family
ID=52829348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104109240A TWI588739B (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)
| 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 (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| TW201108109A (en) * | 2009-08-28 | 2011-03-01 | Via Tech Inc | Method for updating a branch target address cache in a microprocessor and related microprocessor |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6374349B2 (en) | 1998-03-19 | 2002-04-16 | 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 |
| 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 |
| US8788797B2 (en) | 2010-12-22 | 2014-07-22 | Advanced Micro Devices, Inc. | Combined level 1 and level 2 branch predictor |
| WO2012127666A1 (ja) * | 2011-03-23 | 2012-09-27 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理方法 |
| 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 |
| US8959320B2 (en) * | 2011-12-07 | 2015-02-17 | Apple Inc. | Preventing update training of first predictor with mismatching second predictor for branch instructions with alternating pattern hysteresis |
-
2014
- 2014-03-24 US US14/223,091 patent/US9582285B2/en active Active
-
2015
- 2015-03-23 TW TW104109240A patent/TWI588739B/zh active
- 2015-03-23 CN CN201580014711.7A patent/CN106104466B/zh active Active
- 2015-03-23 CA CA2939834A patent/CA2939834C/en active Active
- 2015-03-23 EP EP15716237.1A patent/EP3123305A1/en not_active Withdrawn
- 2015-03-23 WO PCT/US2015/021997 patent/WO2015148372A1/en not_active Ceased
- 2015-03-23 JP JP2016557109A patent/JP6370918B2/ja not_active Expired - Fee Related
- 2015-03-23 KR KR1020167025917A patent/KR101829369B1/ko not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| TW201108109A (en) * | 2009-08-28 | 2011-03-01 | Via Tech Inc | Method for updating a branch target address cache in a microprocessor and related microprocessor |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2015148372A1 (en) | 2015-10-01 |
| CA2939834A1 (en) | 2015-10-01 |
| CN106104466B (zh) | 2019-05-28 |
| KR20160135726A (ko) | 2016-11-28 |
| US9582285B2 (en) | 2017-02-28 |
| EP3123305A1 (en) | 2017-02-01 |
| TW201602907A (zh) | 2016-01-16 |
| KR101829369B1 (ko) | 2018-02-19 |
| US20150268958A1 (en) | 2015-09-24 |
| CN106104466A (zh) | 2016-11-09 |
| JP6370918B2 (ja) | 2018-08-08 |
| JP2017509995A (ja) | 2017-04-06 |
| CA2939834C (en) | 2019-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| 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 | |
| EP3436930B1 (en) | Providing load address predictions using address prediction tables based on load path history in processor-based systems | |
| US9830152B2 (en) | Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor | |
| US20160055003A1 (en) | Branch prediction using least-recently-used (lru)-class linked list branch predictors, and related circuits, methods, and computer-readable media | |
| US20180081690A1 (en) | Performing distributed branch prediction using fused processor cores in processor-based systems | |
| TWI588739B (zh) | 在超越分流預測器中之推測歷史轉遞及其相關電路、方法及電腦可讀媒體 | |
| TW202307652A (zh) | 用於最佳化迴圈緩衝效能之採用處理器中的迴圈特性預測的迴圈緩衝 | |
| EP3433728B1 (en) | Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor | |
| JP6271572B2 (ja) | 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 | |
| EP2856304B1 (en) | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media | |
| US20160077836A1 (en) | Predicting literal load values using a literal load prediction table, and related circuits, methods, and computer-readable media | |
| US20160019060A1 (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 | |
| WO2019045940A1 (en) | INSERTING INSTRUCTION BLOCK HEADER DATA CACHING IN SYSTEMS BASED ON BLOCK ARCHITECTURE PROCESSOR | |
| US20170046167A1 (en) | Predicting memory instruction punts in a computer processor using a punt avoidance table (pat) | |
| US10331447B2 (en) | Providing efficient recursion handling using compressed return address stacks (CRASs) in processor-based systems | |
| US20190294443A1 (en) | Providing early pipeline optimization of conditional instructions in processor-based systems |