Tell us how yes! Finally, how to remove the heat.
The answer is reversible gates. Universal quantum computers naturally use reversible gates, but reversible gates can also exist in fairly conventional digital computers. To be honest, however, I've never understood the details of reversible gates to the extent that I understood why they can't be easily built.
----------
(p. 14)
For present designs, the slower the clock, the more
efficient the computing--and what we would like to have is ever-faster
processors. Hopefully, more efficient designs will be found in the next
few years, since by then reversible computing apparently will have to be
implemented for the reasons given below.
1.7 Reversible Gates
When we calculate kT ln 2 for, say, 100o C, we obtain 3.6 x 10^-21
J(oules). This amount may seem negligible, but even with the absolute
minimum of one bit of logical information supported by only one bit of
physical information (electron state) in a gate, such a bit passes through
thousands of gates during each of billions of clock cycles each second.
When we consider that the number of transistors in a CPU (central pro-
cessing unit) may soon reach 1 billion, and that within a few years CPU
clock speed may exceed 10 GHz (see p. 135), we can estimate that the
maximal number of processed bits per second will exceed 10^19 bits per
second per CPU. Then we can easily calculate that unless we overcome
kT ln 2 per bit, no cooling could prevent such CPUs from melting. As
we have already said, the hardware will have to be changed to replace
today's clock pulses with resonating "swings." For example, electrons
could ballistically oscillate in silicon crystals or carbon nanotubes until
they hit a programmed lattice defect, which change change [sic] the paths
of some of them in order to perform logical operations. Such oscilla-
tions would need only a tiny amount of energy dissipation to keep them
swinging with a constant frequency.
Reversible hardware will also require a new kind of software to imple-
ment and use a reversible logic algebra. It seems that development of
such a software is feasible. For example, it has already turned out that
a comparatively small number of oscillation delays would be required.
In today's computers, a series of delays of relevant clock pulses is always
implemented. In Figs. 1.1 and 1.2 we can see that a pulse (square wave)
cannot arrive at both a gate and a source at the same instant. We first
have to switch the gate on, and only after a delay can we let current
through. Each transistor has such a delay built into it. Groups of gates
in a computer are incorporated into sophisticated timed circuits. The
gates then "calculate" within the time window determined by successive
clock ticks. Any voltage-level change that occurs in response to a clock
tick must charge or discharge parasitic capacitances associated with a
transistor and its surrounding circuitry. The energy cost of (dis)charging
a capacitor is C V^2 / 2. In a conventional circuit, most of this energy is
dissipated resistively into the environment. In a reversible gate, on the
(p. 15)
other hand, the energy stored in parasitic capacitances is not dissipated
but is returned back to the circuit.
The software for the first reversible processors has already been imple-
ented [De Vos et al., 2001]. Essentially, it is a clever way to implement
calculations by swinging electrons back and forth. At the end of each
swing, all obtained outputs are either copied and taken out [Bennett,
1973; Bennett, 1969] or reintroduced into the next swing. A classical re-
versible computer will most probably be a link between today's classical
computer and a would-be quantum one, when the shrinking of com-
puter elements hits the one atom barrier in about two decades. It is
no coincidence that reversible algebras underlying reversible computer
and quantum computer theories were developed in parallel and that
they have many characteristics in common: reversibility, control, and
universality. General software, on the other hand, diverged: classical
reversible computing software is just a technical blueprint for speeding
up already existing general purpose hardware, while a general software
for quantum computing still does not exist and is not likely to resemble
reversible computing software. Therefore, we will not consider reversible
computing software any longer but will present some details of its alge-
bra that will turn out to be relevant for the algebra of quantum gates
later on.
We mentioned above that the logically reversible NOT gate is not re-
versible physically (in today's computers) because a voltage must switch
the gate in order for a current to pass through the source to the drain.
So it might be better to call the gate states within reversible computers
before and after rather than input and output as with standard com-
puters. These terms stress that we do not let gate current "through" a
transistor--we only redirect it so as to be able to reuse it. (This is why
reversible computing is sometimes called green computing.)
In Fig. 1.4, we show the so-called controlled-NOT, CNOT operation,
which reuses the "gate current" of a NOT gate and serves as a reversible
logic gate. CNOT cannot be used to express and then reverse the NAND
operation (see Fig. 1.3, p. 13 and Fig. 1.4(a)) since it has only two
outputs and for a reversible NAND we need three outputs: one to give
its value and two to record the two inputs. CCNOT, shown in Fig. 1.4(b),
can do just that--as shown in Fig. 1.5(a) [Feynman, 1985]. Moreover,
it turns out that CCNOT is one of over 38,975 universal logic gates
[De Vos et al., 2001] among 8!=40,320 reversible gates with three binary
inputs and three binary outputs.
Graphical representations of the kind presented in Fig. 1.4--reversible
circuits--are very common in both reversible and quantum logic, where
"logic" simply means a set of rules for handling gates. Expressions
(p. 16)
[figure]
Figure 1.4. Reversible circuits: (a) C(controlled)NOT gate (B~ = B_ for A = 1 and
B~ = B for A = 0); (b) CCNOT (Toffoli) gate (C~~ = C_ for A = B = 1; C~~ = C
otherwise).
on the left-hand side are "before" (inputs) and on the right-hand side
are "after" (outputs). Dots stand for controlling gates and mean that
expressions do not change by passing through these gates from left to
right. The gate they control is the (+) gate. Graphs can be concatenated
as shown in Fig. 1.5(b).
Pavicic, Mladen. 2006.
Quantum Computation and Quantum Communication: Theory and Experiments. New York, NY: Springer Science + Business Media.