Niklas Deworetzki
Software, Science & More!
Designing a Reversible Stack Machine
Abstract
Reversible computing is a continuously advancing area of active research and an increasing number of available reversible programming languages, compilers, and interpreters are primarily based on register-based execution environments, such as PISA. In this paper, we report on our progress in developing a novel reversible stack machine, which combines the inherent reversibility of stacks with a clean instruction set to create a highly performant reversible machine. The instruction set, as well as strategies for implementing reversible arithmetic and control flow, will be explained.