发明名称 Restoring a register renaming map
摘要 A technique for restoring a register renaming map is described. In one example, a restore table having a number of storage locations saves a copy of the register renaming map whenever a flow-risk instruction is passed to a re-order buffer. When all storage locations are full, further instructions still pass to the re-order buffer, but a copy of the map is not saved. A storage location subsequently becomes available when its associated flow-risk instruction is executed. A register renaming map state for an unrecorded flow-risk instruction passed to the re-order buffer while the storage locations were full is generated and stored in the available location. This is generated using the restore table entry for a previous flow-risk instruction and re-order buffer values for intervening instructions between the previous and unrecorded flow-risk instructions. The restore table can be used to restore the map if an unexpected change in instruction flow occurs.
申请公布号 US9128700(B2) 申请公布日期 2015.09.08
申请号 US201213563025 申请日期 2012.07.31
申请人 Imagination Technologies Limited 发明人 Jackson Hugh
分类号 G06F9/38;G06F9/30 主分类号 G06F9/38
代理机构 Vorys, Sater, Seymour and Pease LLP 代理人 Vorys, Sater, Seymour and Pease LLP ;DeLuca Vincent M
主权项 1. A method of restoring a register renaming map in an out-of-order processor, comprising: storing a copy of the register renaming map state in a storage location of a restore table whenever a flow-risk instruction is inserted into a re-order buffer, until all storage locations are utilised; determining that a storage location has subsequently become available; generating a derived register renaming map state for an unrecorded flow-risk instruction inserted into the re-order buffer whilst all storage locations were utilised, based on a previously stored register renaming map state for an older flow-risk instruction and values stored in the re-order buffer for intervening instructions inserted between the older flow-risk instruction and the unrecorded flow-risk instruction; storing the derived register renaming map state for the unrecorded flow-risk instruction at the available storage location; and in the event that execution of one of the flow-risk instructions causes an unexpected change in instruction flow, restoring the register renaming map using the register renaming map state associated with that flow-risk instruction in the restore table.
地址 Kings Langley GB