Modifications to PISA architecture to support guaranteed
reversibility and other features
This document specifies a number of proposed
modifications to the PISA (Pendulum Instruction Set
Architecture) assembly-level instruction set and
instruction semantics, the original version of which
was specified in
http://www.ai.mit.edu/~cvieri/pisa.ps, version of May
5. The advantages of these new modifications are:
- Machine operation may be guaranteed
reversible independently of the correctness of user
source programs, while still allowing programs to
compile to efficient code.
- The number of different instruction opcodes is
reduced.
- Subroutine calls require fewer instructions in
the caller.
- The direction of program execution can be
controlled in software, allowing a single copy of a
subroutine to be called either forwards or in reverse.
- Instruction and data memories are merged,
making program loaders and other OS features newly possible.
- I/O instructions are provided.
- A special instruction for hardware garbage
disposal is provided.
We do not modify the overall instruction set encoding
in terms of the number, size, or meaning of bit-fields.
However, some opcodes will need to be reassigned since
some instructions have been added, and others removed.
Full paper:
This paper is part of the M series of working memos
produced by the MIT Reversible Computing
Project.
Michael Frank 4/3/97