The vintage 74181 ALU chip: how it works and why it’s so strange (2017)
righto.com
righto.com
The carry-lookahead adder used in the 74181 was patented by IBM in 1957 [2].
Carry-lookahead is O(log n) in time and 0(n log n) in space. Carry-skip and carry-save are O(sqrt n) in time and O(n) in space [3].
I couldn't figure out what Intel or ARM or even RISC-V use. But according to this [4], full-lookahead for 32b is 5 gate latency while only being 4 times larger than ripple.
[1] https://apollo181.wixsite.com/apollo181/about
[2] https://patents.google.com/patent/US2966305
[3] https://booksite.elsevier.com/9780123838728/references/appen...
[4] http://www.cs.cornell.edu/courses/cs3410/2010sp/lecture/topi...
Does anyone know what Intel's Tiger Lake or ARM's A77 or RISC-V BOOM (and I looked at the Chisel source) use?
But what I'm really interested in is which adder modern microarchitectures use.
Yes, we all know that you can implement RISC-V using a clever arrangement of turtles and that the resulting egg-gestation-based adder has no analog in electronic circuits. Moving on....
The Z80 uses a 4-bit "double-clocked" ripple-carry ALU: http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-h...
Interestingly enough, the 8008 that came before all of those uses carry lookahead:
http://www.righto.com/2017/02/reverse-engineering-surprising...
Most likely. What I liked about the old microcoded minicomputer designs back then was how accessible they were. The parts being fairly easy to understand with simple interfaces.