Specialeforsvar – Københavns Universitet


Design and Simulation of a Simple Reversible Microprocessor

by Michael Kirkedal Thomsen


Reversible computing is a computational model wherein all computations are organized to be logically reversible and where no information is erased. By thermodynamics computability theory has been linked to the physical world and it has been shown that erasure of information in a computing system leads to dissipation of heat.

Reversible computing being a loss-less computing model offers the potential to reduce power consumption and heat dissipation.

In the reversible computing systems reported in the literature the abstract machine is not further detailed in terms of reversible logic gates, which is necessary to bring these computation models close to physical realization. The reversible circuits that have been realized, either by quantum or transistor elements, are not r-Turing complete. This is an obstacle to the investigation of practical reversible computing systems.

In this Master's thesis, we design and study the aspects of a fully reversible processor based on the von Neumann architecture, which is the most widely used computer architecture. Our processor design is simple and has a minimal circuit cost, which is partly due to the RISC strategy for the instruction set architecture. Though small, the reversible instruction set is r-Turing complete and we have used it to implement programs such as an efficient reversible multiplication/division algorithm and a reversible Turing Machine. We design and give schematics for all components of the processor based on reversible logic gates, including a novel reversible ALU design and the non-trivial design of the address calculation. The design is fully implemented using the hardware description language Verilog, which is also used as a software simulator to execute reversible machine-code programs.

Supervisor: Robert Glück, DIKU

Censor: Mads Rosendahl, RUC

The defense will be in English.