Reversible Computing and Copying Information
June 5, 2019

Every copied bit buys saved work and consumes physical state. Reversible computing makes that exchange part of the architecture: cache an intermediate value, carry it where the circuit needs it, then return temporary storage to a known state without erasing useful information.

A Copy Trades Time for State

Ordinary software caches a value so several branches can reuse it. The cache replaces repeated arithmetic with storage and movement. A physical circuit pays the same bill in registers, wires, switching energy, fanout, and occupied volume.

A fixed-volume machine cannot create fresh blank state forever. Eventually it must reclaim storage. Irreversible logic overwrites old values and releases energy through that loss of information. Reversible logic instead carries enough history to run selected operations backward.

Uncomputation Closes the Loop

A reversible circuit can compute an intermediate result, copy the part that later stages need, and reverse the original path to clear temporary state. That sequence turns cleanup into a designed computation rather than an invisible overwrite.

The architecture therefore chooses between three resources at every branch: recompute a value, retain it, or uncompute the machinery that produced it. Each choice changes area, latency, routing, and energy.

Design Copies as First-Class Operations

Mark where information fans out. Give every retained value a lifetime. Pair temporary work with a return path. These choices make the physical meaning of caching explicit and open a route toward machines that conserve information while still sharing results across parallel computation.

Originally posted on LinkedIn

Brian Greenforest · (2019-06-05 19:45:25 UTC)

Open the original LinkedIn post · LinkedIn activity 6542124072942338048

LinkedIn status when archived: Visible to anyone on or off LinkedIn.

Thoughts on reversible computing... Copy of information is required to avoid re-computation of sub-branches of logic expressions. Everyone knows how the cache concept does dramatically improve performance. The tricky thing about the copy concept is that it does require the erasure of information (not just scrambling), because the state space must come from somewhere in a fixed volume computer—physically. What are your thoughts on this, dear fellow computer science researchers?