Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations
US9940138B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Apr 8, 2009 |
| Grant date | Apr 10, 2018 |
| Priority date | — |
| Expiry date | Mar 22, 2033 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F11/1402
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
Methods and apparatus are disclosed for using a register checkpointing mechanism to resolve multithreading mis-speculations. Valid architectural state is recovered and execution is rolled back. Some embodiments include memory to store checkpoint data. Multiple thread units concurrently execute threads. They execute a checkpoint mask instruction to initialize memory to store active checkpoint data including register contents and a checkpoint mask indicating the validity of stored register contents. As register contents change, threads execute checkpoint write instructions to store register contents and update the checkpoint mask. Threads also execute a recovery function instruction to store a pointer to a checkpoint recovery function, and in response to mis-speculation among the threads, branch to the checkpoint recovery function. Threads then execute one or more checkpoint read instructions to copy data from a valid checkpoint storage area into the registers necessary to recover a valid architectural state, from which execution may resume.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.