Multiplying two -bit numbers the textbook way produces partial products — one for each bit of the multiplier. Adding them with a chain of adders works, but each addition must wait for the previous carry to propagate. The depth of that chain is , and in a microprocessor running at gigahertz clock rates, even a few nanoseconds of latency are unacceptable.
In 1964, computer scientist Chris S. Wallace published a one-page paper that changed hardware multiplication forever. His key insight was to use carry-save adders (CSAs): a CSA takes three rows of bits and produces two rows — a sum row and a carry row — without propagating carries at all. It is a simple rewiring of full adders, yet it lets you reduce many rows simultaneously in parallel.
Arrange those CSAs in a tree and you can collapse partial-product rows down to just two rows in depth. One final conventional adder then handles the remaining carry propagation. The total delay grows logarithmically instead of linearly — a fundamental improvement that appears in every modern multiplier, from smartphone CPUs to GPU shader units.
Comments
Loading comments...