next up previous
Next: Replace J with Up: MIT REVERSIBLE COMPUTING PROJECT Previous: Merge Instruction and

Eliminate START and FINISH

START and FINISH are inherently irreversible. After executing FINISH there is no way to know whether the previously-executed instruction was same FINISH instruction, or the previous instruction. Thus there is an ambiguity as to the predecessor state, and charge recovery cannot be performed perfectly. Ditto for START when running in reverse.

The instructions could be left in with a warning that they cause dissipation when they are first encountered, or they could be declared to be NO-OPs on the real processor, and used only for debugging purposes in the simulator. A real machine will never use them anyway, because operating systems run forever.



Michael Frank
Wed Jul 23 13:48:27 EDT 1997