A computerβs arithmetic-logic unit (ALU) is the heart of the processor, performing arithmetic and logic operations on data. If youβve studied digital logic, youβve probably learned how to combine simple binaryΒ adder circuitsΒ to build an ALU. However, the 8008βs ALU uses clever logic circuits that can perform multiple operations efficiently. And unlike most 1970βs microprocessors, the 8008 uses a complex carry-lookahead circuit to increase its performance.
The 8008 was Intelβs first 8-bit microprocessor, introduced 45 years ago.1Β While primitive by todayβs standards, the 8008 is historically important because it essentially started the microprocessor revolution and is the ancestor of the x86 processor family that you are probably using right now.2Β I recently took some die photos of the 8008, which I describedΒ earlier. In this article, I reverse-engineer the 8008βs ALU circuits from these die photos and explain how the ALU functions.
Inside the 8008 chip
The image below shows the 8008βs tiny silicon die, highly magnified. Around the outside of the die, you can see the 18 wires connecting the die to the chipβs external pins. The rest of the chip contains the chipβs circuitry, built from about 3500 tiny transistors (yellow) connected by a metal wiring layer (white).
Many parts of the chip work together to perform an arithmetic operation. First, two values are copied from the registers (on the right side of the chip) to the ALUβs temporary registers (left side of the chip) via the 8-bit data bus. The ALU computes the result,
for more detail: Reverse-engineering the surprisingly advanced ALU of the 8008 microprocessor