Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations
US6631514B1 · kind B1 · utility
Assignee
Inventor
Key dates
| Filing date | Jan 6, 1998 |
| Grant date | Oct 7, 2003 |
| Priority date | — |
| Expiry date | Apr 28, 2020 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F9/45525
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
The inventive emulator dynamically translates instructions in code written for a first architecture into code for a second architecture. The emulator designates various checkpoints in the original code, and speculatively reorders the placement of the translated code instructions according to optimization procedures. If during the execution of the reordered code, a trap should occur, then the emulator resets the original code to the most recent checkpoint and begins executing the original code sequentially in a line-by-line manner until the section is completed or branched out of. The original code is reset by changing the program counter to the checkpoint, and reversing the effects of each instruction which has been executed subsequent to the checkpoint. Thus, any native instructions which correspond to original instructions which occur sequentially prior to the checkpoint have been executed, and any native instructions which correspond to original instructions which occur sequentially subsequent to the checkpoint have not been executed.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.