Reversible computing is any
model of computation where the
computational process
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An espe ...
, to some extent, is
time-reversible. In a model of computation that uses
deterministic
Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
transitions from one state of the abstract machine to another, a necessary condition for reversibility is that the
relation of the
mapping from states to their successors must be
one-to-one
One-to-one or one to one may refer to:
Mathematics and communication
*One-to-one function, also called an injective function
*One-to-one correspondence, also called a bijective function
*One-to-one (communication), the act of an individual comm ...
. Reversible computing is a form of
unconventional computing.
Due to the
unitarity of
quantum mechanics,
quantum circuits are reversible, as long as they do not "
collapse" the
quantum states they operate on.
Reversibility
There are two major, closely related types of reversibility that are of particular interest for this purpose:
physical reversibility and logical reversibility.
A process is said to be ''physically reversible'' if it results in no increase in physical
entropy; it is
isentropic. There is a style of circuit design ideally exhibiting this property that is referred to as charge recovery logic,
adiabatic circuit
Adiabatic circuits are low-power electronic circuits which use " reversible logic" to conserve energy. The term " adiabatic" refers to an ideal thermodynamic process in which no heat or mass is exchanged with the surrounding environment, allud ...
s, or adiabatic computing (see
Adiabatic process). Although ''in practice'' no nonstationary physical process can be ''exactly'' physically reversible or isentropic, there is no known limit to the closeness with which we can approach perfect reversibility, in systems that are sufficiently well isolated from interactions with unknown external environments, when the laws of physics describing the system's evolution are precisely known.
A motivation for the study of technologies aimed at implementing reversible computing is that they offer what is predicted to be the only potential way to improve the
computational energy efficiency of computers beyond the fundamental
von Neumann–Landauer limit[ Third lecture: Statistical Theories about Information] of energy dissipated per irreversible
bit operation
In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operati ...
. Although the Landauer limit was millions of times below the energy consumption of computers in the 2000s and thousands of times less in the 2010s, proponents of reversible computing argue that this can be attributed largely to architectural overheads which effectively magnify the impact of Landauer's limit in practical circuit designs, so that it may prove difficult for practical technology to progress very far beyond current levels of energy efficiency if reversible computing principles are not used.
Relation to thermodynamics
As was first argued by
Rolf Landauer while working at
IBM, in order for a computational process to be physically reversible, it must also be ''logically reversible''.
Landauer's principle is the rigorously valid observation that the oblivious erasure of ''n'' bits of known information must always incur a cost of in thermodynamic
entropy. A discrete, deterministic computational process is said to be logically reversible if the transition function that maps old computational states to new ones is a
one-to-one function; i.e. the output logical states uniquely determine the input logical states of the computational operation.
For computational processes that are nondeterministic (in the sense of being probabilistic or random), the relation between old and new states is not a
single-valued function
In mathematics, a multivalued function, also called multifunction, many-valued function, set-valued function, is similar to a function, but may associate several values to each input. More precisely, a multivalued function from a domain to a ...
, and the requirement needed to obtain physical reversibility becomes a slightly weaker condition, namely that the size of a given ensemble of possible initial computational states does not decrease, on average, as the computation proceeds forwards.
Physical reversibility
Landauer's principle (and indeed, the
second law of thermodynamics
The second law of thermodynamics is a physical law based on universal experience concerning heat and energy interconversions. One simple statement of the law is that heat always moves from hotter objects to colder objects (or "downhill"), unles ...
itself) can also be understood to be a direct
logical consequence of the underlying
reversibility of physics, as is reflected in the
general Hamiltonian formulation of mechanics, and in the
unitary time-evolution operator of
quantum mechanics more specifically.
The implementation of reversible computing thus amounts to learning how to characterize and control the physical dynamics of mechanisms to carry out desired computational operations so precisely that we can accumulate a negligible total amount of uncertainty regarding the complete physical state of the mechanism, per each logic operation that is performed. In other words, we would need to precisely track the state of the active energy that is involved in carrying out computational operations within the machine, and design the machine in such a way that the majority of this energy is recovered in an organized form that can be reused for subsequent operations, rather than being permitted to dissipate into the form of heat.
Although achieving this goal presents a significant challenge for the design, manufacturing, and characterization of ultra-precise new physical mechanisms for
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, there is at present no fundamental reason to think that this goal cannot eventually be accomplished, allowing us to someday build computers that generate much less than 1 bit's worth of physical entropy (and dissipate much less than ''kT'' ln 2 energy to heat) for each useful logical operation that they carry out internally.
Today, the field has a substantial body of academic literature behind it. A wide variety of reversible device concepts,
logic gate
A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic ga ...
s,
electronic circuit
An electronic circuit is composed of individual electronic components, such as resistors, transistors, capacitors, inductors and diodes, connected by conductive wires or traces through which electric current can flow. It is a type of electri ...
s, processor architectures,
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
s, and application
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s have been designed and analyzed by
physicist
A physicist is a scientist who specializes in the field of physics, which encompasses the interactions of matter and energy at all length and time scales in the physical universe.
Physicists generally are interested in the root or ultimate ca ...
s,
electrical engineer
Electrical engineering is an engineering discipline concerned with the study, design, and application of equipment, devices, and systems which use electricity, electronics, and electromagnetism. It emerged as an identifiable occupation in the ...
s, and
computer scientists.
This field of research awaits the detailed development of a high-quality, cost-effective, nearly reversible logic device technology, one that includes highly energy-efficient
clocking and
synchronization mechanisms, or avoids the need for these through asynchronous design. This sort of solid engineering progress will be needed before the large body of theoretical research on reversible computing can find practical application in enabling real computer technology to circumvent the various near-term barriers to its energy efficiency, including the von Neumann–Landauer bound. This may only be circumvented by the use of logically reversible computing, due to the
second law of thermodynamics
The second law of thermodynamics is a physical law based on universal experience concerning heat and energy interconversions. One simple statement of the law is that heat always moves from hotter objects to colder objects (or "downhill"), unles ...
.
Logical reversibility
Logical reversibility means that the output can be computed from the input, and vice versa. Reversible functions are
bijective
In mathematics, a bijection, also known as a bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other ...
. This means that reversible gates (and
circuits, i.e. compositions of multiple gates) have the same number of inputs as outputs.
An
inverter (NOT) gate is logically reversible because it can be ''undone''. The NOT gate may however not be physically reversible, depending on its implementation.
The
exclusive or
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ (one is true, the other is false).
It is symbolized by the prefix operator J and by the infix operators XOR ( or ), EOR, EXOR, , ...
(XOR) gate is irreversible because its two inputs cannot be unambiguously reconstructed from its single output, or alternatively, because information erasure is not reversible. However, a reversible version of the XOR gate—the
controlled NOT gate (CNOT)—can be defined by preserving one of the inputs as a 2nd output. The three-input variant of the CNOT gate is called the
Toffoli gate. It preserves two of its inputs ''a,b'' and replaces the third ''c'' by
. With
, this gives the AND function, and with
this gives the NOT function. Thus, the Toffoli gate is
universal and can implement any
Boolean function (if given enough initialized
ancilla bits).
Similarly, in the
Turing machine
A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
model of computation, a reversible Turing machine is one whose transition function is invertible, so that each machine state has at most one predecessor.
Yves Lecerf proposed a reversible Turing machine in a 1963 paper, but apparently unaware of Landauer's principle, did not pursue the subject further, devoting most of the rest of his career to ethnolinguistics. In 1973
Charles H. Bennett, at IBM Research, showed that a universal Turing machine could be made both logically and thermodynamically reversible, and therefore able in principle to perform an arbitrarily large number of computation steps per unit of physical energy dissipated, if operated sufficiently slowly. Thermodynamically reversible computers could perform useful computations at useful speed, while dissipating considerably less than ''
kT'' of energy per logical step. In 1982
Edward Fredkin and
Tommaso Toffoli proposed the
Billiard ball computer, a mechanism using classical hard spheres to do reversible computations at finite speed with zero dissipation, but requiring perfect initial alignment of the balls' trajectories, and Bennett's review compared these "Brownian" and "ballistic" paradigms for reversible computation. Aside from the motivation of energy-efficient computation, reversible logic gates offered practical improvements of
bit-manipulation transforms in cryptography and computer graphics. Since the 1980s, reversible circuits have attracted interest as components of
quantum algorithms, and more recently in photonic and nano-computing technologies where some switching devices offer no
signal gain.
Surveys of reversible circuits, their construction and optimization, as well as recent research challenges, are available.
See also
*
*
*
*
*
*
*, on the uncertainty interpretation of the second law of thermodynamics
*
*
*
*
*
*
*, a variant of reversible cellular automata
*
*
*
References
Further reading
*
*
* Perumalla K. S. (2014), ''Introduction to Reversible Computing'',
CRC Press
The CRC Press, LLC is an American publishing group that specializes in producing technical books. Many of their books relate to engineering, science and mathematics. Their scope also includes books on business, forensics and information tec ...
.
*
External links
Introductory article on reversible computingInternet Archive backupof the "Reversible computing community Wiki" that was administered by Frank
Recent Workshops on Reversible ComputationOpen-source toolkit for reversible circuit design
{{DEFAULTSORT:Reversible Computing
Digital electronics
Models of computation
Thermodynamics