Checkpointing a computer hardware architecture state using a stack or queue
AssigneeNVIDIA Corporation
InventorsMadhu Swarna, Jinghua Jiang
Life of this patent
Estimating the term…
Abstract
Various embodiments relating to saving and recovering a hardware architecture state are provided. In one embodiment, during a first mode of operation, entries in a first portion of a random-access memory (RAM) are manipulated. A current version of less than all of the entries of the first portion is saved to a checkpointed version in response to a checkpoint event that triggers operation in a second mode of operation. During the second mode of operation, entries in a second portion of the RAM are manipulated. The checkpointed version of less than all of the entries of the first portion is recovered as the current version in response to a restore event that triggers resumption of operation in the first mode.
Claims20
A method for saving and recovering a hardware architecture state using a random-access memory (RAM) including a plurality of entries divided into a first portion and a second portion, the method comprising:
- during a first mode of operation, manipulating entries in the first portion;
- saving a current version of less than all of the entries of the first portion to a checkpointed version in response to a checkpoint event that triggers operation in a second mode of operation;
- during the second mode of operation, manipulating entries in the second portion;
- and
- recovering the checkpointed version of less than all of the entries of the first portion as the current version in response to a recover event that triggers resumption of operation in the first mode.
A method for saving and recovering a hardware architecture state using a random-access memory (RAM) including a plurality of entries divided into a normal portion and a runahead portion, the method comprising:
- during a normal mode of execution of instructions, manipulating entries of the normal portion without manipulating entries of the runahead portion;
- saving a current version of a pointer that points to an entry of the normal portion to a checkpointed version to preserve a state of the normal portion in response to entering a runahead mode of speculative execution of instructions;
- during the runahead mode, manipulating entries of the runahead portion without manipulating entries of the normal portion;
- and
- recovering the checkpointed version of the pointer as the current version in response to exiting the runahead mode.
A method for saving and recovering a hardware architecture state using a random-access memory (RAM) including a plurality of entries divided into a normal stack and a runahead stack, the method comprising:
- during a normal mode of execution of instructions, manipulating entries of the normal stack without manipulating entries of the runahead stack;
- saving a current version of a top-of-stack pointer that points to a top entry of the normal stack to a checkpointed version in response to entering a runahead mode of speculative execution of instructions;
- during the runahead mode, manipulating entries of the runahead stack without manipulating entries of the normal stack;
- and
- recovering the checkpointed version of the top-of-stack pointer as the current version in response to exiting the runahead mode.
Dependencies are inferred from the claim text.