Devices, methods and computer program products for reverse execution of a simulation
AssigneeIntel Corporation
InventorsSamuel Rydh, Peter S. Magnusson, Bengt Werner
Life of this patent
Estimating the term…
Abstract
Devices, methods, and software program products for reverse execution of a simulation and/or tracing a value are provided. A state of a preceding checkpoint may be restored and a simulation may be run forward. Break points or watch points may be noted and the state of the last occurring breakpoint or watch point preceding the current simulation position may be restored. If no breakpoint or watch point occurred, an earlier checkpoint may be loaded and the previous steps may be repeated.
Claims20
A system comprising:
- a simulator, which includes a processor, to simulate a simulating platform including simulated hardware and coupled to a target object by an interface, the simulator including instructions, stored on a memory coupled to the processor, to:
- restore a state of a preceding checkpoint relative to a current simulation position;
- simulate forward from the preceding checkpoint by replaying recorded events and noting break points or watch points, the recorded events including non-deterministic events, and the simulating forward from the preceding checkpoint to the current simulation position having a same instruction flow as an initial simulation;
- thereafter restore the state of a last occurring breakpoint or watch point preceding the current simulation position, after reaching the current simulation position;
- if no breakpoint or watch point occurred between the preceding checkpoint and the current simulation position, define an earlier checkpoint, the earlier checkpoint earlier than the preceding checkpoint, as the preceding checkpoint;
- and repeat the restoring of the preceding checkpoint state, the simulating, thereafter restoring, and the defining.
A method comprising:
- simulating, using a processor, a simulating platform including simulated hardware and coupled to a target object by an interface, including:
- restoring a state of a preceding checkpoint relative to a current simulation position;
- simulating forward from the preceding checkpoint by replaying recorded events and noting break points or watch points, the recorded events including non-deterministic events, and the simulating forward from the preceding checkpoint to the current simulation position having a same instruction flow as an initial simulation;
- thereafter restoring the state of a last occurring breakpoint or watch point preceding the current simulation position, after reaching the current simulation position;
- if no breakpoint or watch point occurred between the preceding checkpoint and the current simulation position, defining an earlier checkpoint, the earlier checkpoint earlier than the preceding checkpoint, as the preceding checkpoint;
- and repeating the restoring of the preceding checkpoint state, the simulating, thereafter restoring, and the defining.
An article comprising a non-transitory machine-accessible storage medium including instructions that when executed cause a system to:
- simulate a simulating platform including simulated hardware and coupled to a target object by an interface, including instructions to:
- restore a state of a preceding checkpoint relative to a current simulation position;
- simulate forward from the preceding checkpoint by replaying recorded events and noting break points or watch points, the recorded events including non-deterministic events, and the simulating forward from the preceding checkpoint to the current simulation position having a same instruction flow as an initial simulation;
- thereafter restore the state of a last occurring breakpoint or watch point preceding the current simulation position, after reaching the current simulation position;
- if no breakpoint or watch point occurred between the preceding checkpoint and the current simulation position, define an earlier checkpoint, the earlier checkpoint earlier than the preceding checkpoint, as the preceding checkpoint;
- and repeat the restoring of the preceding checkpoint state, the simulating, thereafter restoring, and the defining.
Dependencies are inferred from the claim text.