KR101829369B1 - 오버라이딩하는 분기 예측기들에서의 추론적 이력 포워딩, 및 관련 회로들, 방법들 및 컴퓨터 판독가능한 매체들 - Google Patents
오버라이딩하는 분기 예측기들에서의 추론적 이력 포워딩, 및 관련 회로들, 방법들 및 컴퓨터 판독가능한 매체들 Download PDFInfo
- Publication number
- KR101829369B1 KR101829369B1 KR1020167025917A KR20167025917A KR101829369B1 KR 101829369 B1 KR101829369 B1 KR 101829369B1 KR 1020167025917 A KR1020167025917 A KR 1020167025917A KR 20167025917 A KR20167025917 A KR 20167025917A KR 101829369 B1 KR101829369 B1 KR 101829369B1
- Authority
- KR
- South Korea
- Prior art keywords
- branch
- branch prediction
- prediction
- history
- speculative
- 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.)
- Expired - Fee Related
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
- 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 (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 |
|---|---|
| KR20160135726A KR20160135726A (ko) | 2016-11-28 |
| KR101829369B1 true KR101829369B1 (ko) | 2018-02-19 |
Family
ID=52829348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020167025917A Expired - Fee Related KR101829369B1 (ko) | 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 (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060036837A1 (en) * | 2004-08-13 | 2006-02-16 | Stark Jared W | Prophet/critic hybrid predictor |
Family Cites Families (14)
| 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 | 윤종용 | 분기 예측 정확도 히스토리를 이용한 분기 예측기 |
| US6886093B2 (en) * | 2001-05-04 | 2005-04-26 | Ip-First, Llc | Speculative hybrid branch direction predictor |
| US6895498B2 (en) * | 2001-05-04 | 2005-05-17 | Ip-First, Llc | Apparatus and method for target address replacement in speculative branch target address cache |
| US7836288B2 (en) | 2004-09-14 | 2010-11-16 | Arm Limited | Branch prediction mechanism including a branch prediction memory and a branch prediction cache |
| US7877584B2 (en) * | 2005-08-29 | 2011-01-25 | The Invention Science Fund I, Llc | Predictive processor resource management |
| 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 |
| US8788797B2 (en) | 2010-12-22 | 2014-07-22 | Advanced Micro Devices, Inc. | Combined level 1 and level 2 branch predictor |
| EP2690549A1 (en) * | 2011-03-23 | 2014-01-29 | Fujitsu Limited | Arithmetic processing device, information processing device, and arithmetic processing method |
| 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 EP EP15716237.1A patent/EP3123305A1/en not_active Withdrawn
- 2015-03-23 CA CA2939834A patent/CA2939834C/en active Active
- 2015-03-23 KR KR1020167025917A patent/KR101829369B1/ko not_active Expired - Fee Related
- 2015-03-23 JP JP2016557109A patent/JP6370918B2/ja not_active Expired - Fee Related
- 2015-03-23 WO PCT/US2015/021997 patent/WO2015148372A1/en not_active Ceased
- 2015-03-23 CN CN201580014711.7A patent/CN106104466B/zh active Active
- 2015-03-23 TW TW104109240A patent/TWI588739B/zh active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060036837A1 (en) * | 2004-08-13 | 2006-02-16 | Stark Jared W | Prophet/critic hybrid predictor |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150268958A1 (en) | 2015-09-24 |
| KR20160135726A (ko) | 2016-11-28 |
| TW201602907A (zh) | 2016-01-16 |
| TWI588739B (zh) | 2017-06-21 |
| JP2017509995A (ja) | 2017-04-06 |
| WO2015148372A1 (en) | 2015-10-01 |
| CN106104466A (zh) | 2016-11-09 |
| CA2939834C (en) | 2019-09-17 |
| CN106104466B (zh) | 2019-05-28 |
| US9582285B2 (en) | 2017-02-28 |
| JP6370918B2 (ja) | 2018-08-08 |
| EP3123305A1 (en) | 2017-02-01 |
| CA2939834A1 (en) | 2015-10-01 |
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 | |
| US9830152B2 (en) | Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor | |
| KR20180127379A (ko) | 프로세서-기반 시스템들 내의 로드 경로 이력에 기반한 어드레스 예측 테이블들을 사용하는 로드 어드레스 예측들의 제공 | |
| KR101705211B1 (ko) | 분기 예측 테이블 스왑 명령(들)에 응답하여 분기 방향 히스토리(들)를 스왑하는 것, 및 관련 시스템들 및 방법들 | |
| US20180081690A1 (en) | Performing distributed branch prediction using fused processor cores in processor-based systems | |
| US20160019061A1 (en) | MANAGING DATAFLOW EXECUTION OF LOOP INSTRUCTIONS BY OUT-OF-ORDER PROCESSORS (OOPs), AND RELATED CIRCUITS, METHODS, AND COMPUTER-READABLE MEDIA | |
| KR101829369B1 (ko) | 오버라이딩하는 분기 예측기들에서의 추론적 이력 포워딩, 및 관련 회로들, 방법들 및 컴퓨터 판독가능한 매체들 | |
| US10223118B2 (en) | Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor | |
| US20160170770A1 (en) | Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media | |
| JP6271572B2 (ja) | 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 | |
| US20160077836A1 (en) | Predicting literal load values using a literal load prediction table, and related circuits, methods, and computer-readable media | |
| EP3335111B1 (en) | Predicting memory instruction punts in a computer processor using a punt avoidance table (pat) | |
| 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 | |
| KR20170128335A (ko) | Oop(out-of-order processor)에 의한 루프 명령들의 실행을 위한 예약 스테이션 회로 및 관련된 방법 및 컴퓨터-판독 가능한 매체 | |
| US10635446B2 (en) | Reconfiguring execution pipelines of out-of-order (OOO) computer processors based on phase training and prediction | |
| US20190294443A1 (en) | Providing early pipeline optimization of conditional instructions in processor-based systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| A302 | Request for accelerated examination | ||
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| AMND | Amendment | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T13-X000 | Administrative time limit extension granted |
St.27 status event code: U-3-3-T10-T13-oth-X000 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PX0901 | Re-examination |
St.27 status event code: A-2-3-E10-E12-rex-PX0901 |
|
| PX0701 | Decision of registration after re-examination |
St.27 status event code: A-3-4-F10-F13-rex-PX0701 |
|
| X701 | Decision to grant (after re-examination) | ||
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20250209 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20250209 |