CN106020778A - 还原寄存器重命名映射 - Google Patents
还原寄存器重命名映射 Download PDFInfo
- Publication number
- CN106020778A CN106020778A CN201610299507.0A CN201610299507A CN106020778A CN 106020778 A CN106020778 A CN 106020778A CN 201610299507 A CN201610299507 A CN 201610299507A CN 106020778 A CN106020778 A CN 106020778A
- Authority
- CN
- China
- Prior art keywords
- instruction
- flow
- register renaming
- risk
- map
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000008859 change Effects 0.000 claims abstract description 34
- 230000009467 reduction Effects 0.000 claims description 92
- 238000013507 mapping Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 abstract description 75
- 230000008569 process Effects 0.000 description 35
- 238000005516 engineering process Methods 0.000 description 23
- 238000000151 deposition Methods 0.000 description 11
- 230000002159 abnormal effect Effects 0.000 description 9
- 238000004321 preservation Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012367 process mapping Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (3)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1200172.3 | 2012-01-06 | ||
GB201200172A GB2498203B (en) | 2012-01-06 | 2012-01-06 | Restoring a register renaming map |
CN201310003736.XA CN103197919B (zh) | 2012-01-06 | 2013-01-05 | 用于还原寄存器重命名映射的方法和装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310003736.XA Division CN103197919B (zh) | 2012-01-06 | 2013-01-05 | 用于还原寄存器重命名映射的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020778A true CN106020778A (zh) | 2016-10-12 |
CN106020778B CN106020778B (zh) | 2018-12-11 |
Family
ID=45788556
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610299507.0A Expired - Fee Related CN106020778B (zh) | 2012-01-06 | 2013-01-05 | 用于还原寄存器重命名映射的方法和装置 |
CN201310003736.XA Expired - Fee Related CN103197919B (zh) | 2012-01-06 | 2013-01-05 | 用于还原寄存器重命名映射的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310003736.XA Expired - Fee Related CN103197919B (zh) | 2012-01-06 | 2013-01-05 | 用于还原寄存器重命名映射的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9128700B2 (zh) |
EP (2) | EP2613251B1 (zh) |
CN (2) | CN106020778B (zh) |
GB (2) | GB2503612B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110520837A (zh) * | 2017-04-18 | 2019-11-29 | 国际商业机器公司 | 基于重命名寄存器恢复的寄存器上下文还原 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2503612B (en) * | 2012-01-06 | 2014-08-06 | Imagination Tech Ltd | Restoring a register renaming map |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
GB2520731B (en) * | 2013-11-29 | 2017-02-08 | Imagination Tech Ltd | Soft-partitioning of a register file cache |
GB2538237B (en) * | 2015-05-11 | 2018-01-10 | Advanced Risc Mach Ltd | Available register control for register renaming |
US9430244B1 (en) * | 2015-10-28 | 2016-08-30 | Centipede Semi Ltd. | Run-time code parallelization using out-of-order renaming with pre-allocation of physical registers |
CN105242905B (zh) * | 2015-10-29 | 2018-03-09 | 华为技术有限公司 | 数据假相关的处理方法和装置 |
US9928128B2 (en) | 2016-04-01 | 2018-03-27 | International Business Machines Corporation | In-pipe error scrubbing within a processor core |
US10445094B2 (en) * | 2016-05-27 | 2019-10-15 | Arm Limited | Method and apparatus for reordering in a non-uniform compute device |
GB2551548B (en) * | 2016-06-22 | 2019-05-08 | Advanced Risc Mach Ltd | Register restoring branch instruction |
US10572265B2 (en) | 2017-04-18 | 2020-02-25 | International Business Machines Corporation | Selecting register restoration or register reloading |
US10740108B2 (en) | 2017-04-18 | 2020-08-11 | International Business Machines Corporation | Management of store queue based on restoration operation |
US10782979B2 (en) * | 2017-04-18 | 2020-09-22 | International Business Machines Corporation | Restoring saved architected registers and suppressing verification of registers to be restored |
US10540184B2 (en) | 2017-04-18 | 2020-01-21 | International Business Machines Corporation | Coalescing store instructions for restoration |
US10545766B2 (en) | 2017-04-18 | 2020-01-28 | International Business Machines Corporation | Register restoration using transactional memory register snapshots |
US10552164B2 (en) * | 2017-04-18 | 2020-02-04 | International Business Machines Corporation | Sharing snapshots between restoration and recovery |
US10564977B2 (en) | 2017-04-18 | 2020-02-18 | International Business Machines Corporation | Selective register allocation |
US11010192B2 (en) | 2017-04-18 | 2021-05-18 | International Business Machines Corporation | Register restoration using recovery buffers |
US10489382B2 (en) | 2017-04-18 | 2019-11-26 | International Business Machines Corporation | Register restoration invalidation based on a context switch |
US10963261B2 (en) | 2017-04-18 | 2021-03-30 | International Business Machines Corporation | Sharing snapshots across save requests |
US10649785B2 (en) * | 2017-04-18 | 2020-05-12 | International Business Machines Corporation | Tracking changes to memory via check and recovery |
TR201911815A2 (tr) | 2019-08-05 | 2021-02-22 | Tobb Ekonomi Ve Teknoloji Ueniversitesi | Mi̇kroi̇şlemci̇lerde kullanima uygun bi̇r tek yön kaydirmali yeni̇den adlandirma tablosu devresi̇ |
US10877768B1 (en) * | 2019-09-06 | 2020-12-29 | Microsoft Technology Licensing, Llc | Minimizing traversal of a processor reorder buffer (ROB) for register rename map table (RMT) state recovery for interrupted instruction recovery in a processor |
US11061677B1 (en) | 2020-05-29 | 2021-07-13 | Microsoft Technology Licensing, Llc | Recovering register mapping state of a flushed instruction employing a snapshot of another register mapping state and traversing reorder buffer (ROB) entries in a processor |
CN111984326B (zh) * | 2020-07-02 | 2023-12-19 | 江苏华创微系统有限公司 | 混合式寄存器别名表恢复系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881305A (en) * | 1996-12-13 | 1999-03-09 | Advanced Micro Devices, Inc. | Register rename stack for a microprocessor |
US20050120191A1 (en) * | 2003-12-02 | 2005-06-02 | Intel Corporation (A Delaware Corporation) | Checkpoint-based register reclamation |
US20050125634A1 (en) * | 2002-10-04 | 2005-06-09 | Fujitsu Limited | Processor and instruction control method |
US20050251654A1 (en) * | 2004-04-21 | 2005-11-10 | Erik Altman | System and method of execution of register pointer instructions ahead of instruction issue |
US20070001110A1 (en) * | 2003-06-11 | 2007-01-04 | Koninklijke Philips Electronics N.V. | Optical scanning device |
US20080276076A1 (en) * | 2007-05-01 | 2008-11-06 | Christopher Michael Abernathy | Method and apparatus for register renaming |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030154363A1 (en) * | 2002-02-11 | 2003-08-14 | Soltis Donald C. | Stacked register aliasing in data hazard detection to reduce circuit |
US20070043934A1 (en) | 2005-08-22 | 2007-02-22 | Intel Corporation | Early misprediction recovery through periodic checkpoints |
US7711934B2 (en) | 2005-10-31 | 2010-05-04 | Mips Technologies, Inc. | Processor core and method for managing branch misprediction in an out-of-order processor pipeline |
US20080077778A1 (en) * | 2006-09-25 | 2008-03-27 | Davis Gordon T | Method and Apparatus for Register Renaming in a Microprocessor |
US8078854B2 (en) * | 2008-12-12 | 2011-12-13 | Oracle America, Inc. | Using register rename maps to facilitate precise exception semantics |
TWI389026B (zh) * | 2009-06-08 | 2013-03-11 | Rdc Semiconductor Co Ltd | 暫存器更名表的回復方法與回復系統 |
GB2503612B (en) * | 2012-01-06 | 2014-08-06 | Imagination Tech Ltd | Restoring a register renaming map |
US9672044B2 (en) * | 2012-08-01 | 2017-06-06 | Nxp Usa, Inc. | Space efficient checkpoint facility and technique for processor with integrally indexed register mapping and free-list arrays |
-
2012
- 2012-01-06 GB GB1317920.5A patent/GB2503612B/en not_active Expired - Fee Related
- 2012-01-06 GB GB201200172A patent/GB2498203B/en not_active Expired - Fee Related
- 2012-07-31 US US13/563,025 patent/US9128700B2/en active Active
- 2012-12-10 EP EP20120196230 patent/EP2613251B1/en active Active
- 2012-12-10 EP EP20140159851 patent/EP2750028A1/en not_active Ceased
-
2013
- 2013-01-05 CN CN201610299507.0A patent/CN106020778B/zh not_active Expired - Fee Related
- 2013-01-05 CN CN201310003736.XA patent/CN103197919B/zh not_active Expired - Fee Related
-
2015
- 2015-08-03 US US14/816,651 patent/US9436470B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881305A (en) * | 1996-12-13 | 1999-03-09 | Advanced Micro Devices, Inc. | Register rename stack for a microprocessor |
US20050125634A1 (en) * | 2002-10-04 | 2005-06-09 | Fujitsu Limited | Processor and instruction control method |
US20070001110A1 (en) * | 2003-06-11 | 2007-01-04 | Koninklijke Philips Electronics N.V. | Optical scanning device |
US20050120191A1 (en) * | 2003-12-02 | 2005-06-02 | Intel Corporation (A Delaware Corporation) | Checkpoint-based register reclamation |
US20050251654A1 (en) * | 2004-04-21 | 2005-11-10 | Erik Altman | System and method of execution of register pointer instructions ahead of instruction issue |
US20080276076A1 (en) * | 2007-05-01 | 2008-11-06 | Christopher Michael Abernathy | Method and apparatus for register renaming |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110520837A (zh) * | 2017-04-18 | 2019-11-29 | 国际商业机器公司 | 基于重命名寄存器恢复的寄存器上下文还原 |
Also Published As
Publication number | Publication date |
---|---|
US9436470B2 (en) | 2016-09-06 |
GB2498203B (en) | 2013-12-04 |
EP2613251B1 (en) | 2014-04-30 |
EP2750028A1 (en) | 2014-07-02 |
GB2503612A (en) | 2014-01-01 |
US20130179665A1 (en) | 2013-07-11 |
US20150339123A1 (en) | 2015-11-26 |
US9128700B2 (en) | 2015-09-08 |
EP2613251A1 (en) | 2013-07-10 |
GB201200172D0 (en) | 2012-02-22 |
GB201317920D0 (en) | 2013-11-27 |
CN103197919A (zh) | 2013-07-10 |
GB2498203A (en) | 2013-07-10 |
CN106020778B (zh) | 2018-12-11 |
GB2503612B (en) | 2014-08-06 |
CN103197919B (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020778A (zh) | 还原寄存器重命名映射 | |
US11429393B2 (en) | Apparatus and method for supporting out-of-order program execution of instructions | |
KR102074961B1 (ko) | 비대칭 실행 유닛들의 효율적인 스케줄링을 위한 방법 및 장치 | |
US9201746B2 (en) | Method for mirroring a log file by threshold driven synchronization | |
CN104583935B (zh) | 状态机引擎中的指令插入 | |
CN104995606B (zh) | 用于将程序代码从推测区域恢复到非推测区域的写拷贝缓冲器 | |
US20150220450A1 (en) | Return Stack Buffer Having Multiple Address Slots Per Stack Entry | |
KR101996892B1 (ko) | 동적 포트 리맵핑을 이용하여 명령어 스케줄링 동안 데드록을 방지하기 위한 방법 및 장치 | |
TW200422948A (en) | Data speculation based on addressing patterns identifying dual-purpose register | |
US9524166B2 (en) | Tracking long GHV in high performance out-of-order superscalar processors | |
US10289419B2 (en) | Method and apparatus for sorting elements in hardware structures | |
US20160371088A1 (en) | Split-level history buffer in a computer processing unit | |
CN102890624B (zh) | 用于管理无序毫码控制操作的方法和系统 | |
CN206058178U (zh) | 得到主移位寄存器的一个或多个检查点的硬件结构 | |
CN104615409B (zh) | 跳越mov指令的处理器和由该处理器使用的方法 | |
CN107111487A (zh) | 在乱序(ooo)处理器中提供早期指令执行,以及相关设备、方法和计算机可读媒体 | |
US11899940B2 (en) | Apparatus and method for handling memory load requests | |
TW201346718A (zh) | 使用單一表格儲存臆測結果及架構結果 | |
US7900027B2 (en) | Scalable link stack control method with full support for speculative operations | |
CN118435168A (zh) | 具有微操作推测性挑选的多周期调度器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hertfordshire Applicant after: Mex Technology Co.,Ltd. Address before: Hertfordshire Applicant before: Hai Luo Software Co.,Ltd. |
|
TA01 | Transfer of patent application right |
Effective date of registration: 20180717 Address after: California, USA Applicant after: Imagination Technologies Ltd. Address before: Hertfordshire Applicant before: Mex Technology Co.,Ltd. Effective date of registration: 20180717 Address after: Hertfordshire Applicant after: Hai Luo Software Co.,Ltd. Address before: Hertfordshire Applicant before: Imagination Technologies Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181211 Termination date: 20200105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |