Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021242400 - 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

Some content of this application is unavailable at the moment. If this situation persists, please contact us here
Publication Number WO/2021/242400
Publication Date 02.12.2021
International Application No. PCT/US2021/025287
International Filing Date 01.04.2021
IPC
G06F 9/38 2018.1
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
38Concurrent instruction execution, e.g. pipeline, look ahead
CPC
G06F 11/1471
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
11Error detection; Error correction; Monitoring
07Responding to the occurrence of a fault, e.g. fault tolerance
14Error detection or correction of the data by redundancy in operation
1402Saving, restoring, recovering or retrying
1471involving logging of persistent data for recovery
G06F 2201/84
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
2201Indexing scheme relating to error detection, to error correction, and to monitoring
84Using snapshots, i.e. a logical point-in-time copy of the data
G06F 8/441
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
44Encoding
441Register allocation; Assignment of physical memory space to logical memory space
G06F 9/30047
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30003Arrangements for executing specific machine instructions
3004to perform operations on memory
30047Prefetch instructions; cache control instructions
G06F 9/30079
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30003Arrangements for executing specific machine instructions
30076to perform miscellaneous control operations, e.g. NOP
30079Pipeline control instructions
G06F 9/30101
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30098Register arrangements
30101Special purpose registers
Applicants
  • MICROSOFT TECHNOLOGY LICENSING, LLC [US]/[US]
Inventors
  • SETH, Kiran Ravi
  • TEKMEN, Yusuf Cagatay
  • SMITH, Rodney Wayne
  • PRIYADARSHI, Shivam
  • KOTHINTI NARESH, Vignyan Reddy
Agents
  • SWAIN, Cassandra T.
  • BARKER, Doug
  • CHATTERJEE, Aaron C.
  • CHEN, Wei-Chen Nicholas
  • CHOI, Daniel
  • CHURNA, Timothy
  • DINH, Phong
  • EVANS, Patrick
  • GABRYJELSKI, Henry
  • GUPTA, Anand
  • HWANG, William C.
  • JARDINE, John S.
  • LEE, Sunah
  • LEMMON, Marcus
  • MARQUIS, Thomas
  • MEYERS, Jessica
  • ROPER, Brandon
  • SPELLMAN, Steven
  • SULLIVAN, Kevin
  • WALKER, Matt
  • WIGHT, Stephen A.
  • WISDOM, Gregg
  • WONG, Ellen
  • WONG, Thomas S.
  • ZHANG, Hannah
  • AKHTER, Julia
  • KADOURA, Judy M.
  • NIU, Bo
  • OLANIRAN, Qudus
  • BROWN, Renee
  • TRAN, Kimberly
Priority Data
16/887,82729.05.2020US
Publication Language English (en)
Filing Language English (EN)
Designated States
Title
(EN) 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
(FR) RÉCUPÉRATION D'ÉTAT DE MAPPAGE DE REGISTRE D'UNE INSTRUCTION VIDÉE UTILISANT UN INSTANTANÉ D'UN AUTRE ÉTAT DE MAPPAGE DE REGISTRE ET TRAVERSANT DES ENTRÉES DE TAMPON DE REMISE EN ORDRE (ROB) DANS UN PROCESSEUR
Abstract
(EN) A register mapping circuit for recovering a register mapping state associated with a flushed instruction by traversing ROB entries from a snapshot of another register mapping state. The register mapping circuit includes a ROB control circuit, a snapshot circuit, and a register rename recovery circuit (RRRC). The ROB control circuit allocates ROB entries to instructions entering a processor pipeline, including a target ROB entry allocated to a target instruction and other ROB entries allocated to other instructions. The snapshot circuit captures snapshots of logical register-to-physical register mapping states in the rename map table in association with a subset of instructions that could be flushed. If the target instruction is flushed, the RRRC restores the rename map table register mapping state corresponding to the target instruction based on a snapshot in a ROB entry allocated to another instruction, and traverses register mapping updates in the intervening ROB entries.
(FR) L'invention concerne un circuit de mappage de registre permettant de récupérer un état de mappage de registre associé à une instruction vidée en traversant des entrées de ROB à partir d'un instantané d'un autre état de mappage de registre. Le circuit de mappage de registre comprend un circuit de commande de ROB, un circuit d'instantané et un circuit de récupération de nom de registre (RRRC). Le circuit de commande de ROB attribue des entrées de ROB à des instructions entrant dans un pipeline de processeur, comprenant une entrée de ROB cible attribuée à une instruction cible et d'autres entrées de ROB attribuées à d'autres instructions. Le circuit d'instantané capture des instantanés d'états de mappage de registre logique à physique dans la table de carte de renommage en association avec un sous-ensemble d'instructions qui pourraient être vidées. Si l'instruction cible est vidée, le RRRC restaure l'état de mappage de registre de table de carte de renommage correspondant à l'instruction cible sur la base d'un instantané dans une entrée de ROB attribuée à une autre instruction, et traverse des mises à jour de mappage de registre dans les entrées de ROB intermédiaires.
Related patent documents
Latest bibliographic data on file with the International Bureau