Every program you run adds numbers thousands of times per second. Deep inside the CPU, binary addition seems trivial: line up the bits, add each pair, carry the one. But that "carry the one" is the problem.
In a ripple-carry adder — the most naive design — each bit position must wait for the carry from the position below it. Adding two 64-bit numbers means the carry signal may have to ripple through 64 stages before the answer is ready. The delay grows linearly with the number of bits.
The carry-lookahead adder (CLA), invented in its modern form by Gerald Weinberger and J. L. Smith at IBM in 1958 and formalized by Flores shortly after, breaks this chain. Instead of waiting, it precomputes whether each bit position will generate a carry on its own, or merely propagate a carry from below — and then combines these signals in a tree so that all carries are known simultaneously.
The result: addition delay grows as gate levels instead of . For a 64-bit adder that is the difference between 64 gate delays and roughly 6. Modern processors use variants of this idea (Kogge-Stone, Brent-Kung, Han-Carlson trees) in every arithmetic unit.
Comments
Loading comments...