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.