Intel’s groundbreaking 8008 microprocessor was first produced 45 years ago.1
This chip, Intel’s first 8-bit microprocessor, is the ancestor of the x86 processor family that you may be using right now.
I couldn’t find good die photos of the 8008, so I opened one up and took some detailed photographs. These new die photos are in this article, along with a discussion of the 8008’s internal design.
The photo above shows the tiny silicon die inside the 8008 package.
(Click the image for a higher resolution photo.)
You can barely see the wires and transistors that make up the chip.
The squares around the outside are the 18 pads that are connected to the external pins by tiny bond wires.
You can see the text “8008” on the right edge of the chip and “© Intel 1971” on the lower edge.
The initials HF appear on the top right for Hal Feeney, who did the chip’s logic design and physical layout.
(Other key designers of the 8008 were Ted Hoff, Stan Mazor, and Federico Faggin.)
The diagram below highlights some of the major functional blocks of the chip. On the left is the 8-bit Arithmetic/Logic Unit (ALU), which performs the actual data computations.3 The ALU uses two temporary registers to hold its input values.
These registers take up significant area on the chip, not because they are complex, but because they need large transistors to drive signals through the ALU circuitry.
Below the registers is the carry look ahead circuitry. For addition and subtraction, this circuit computes all eight carry values in parallel to improve performance.2
Since the low-order carry depends on just the low-order bits, while the higher-order carries depend on multiple bits, the circuit block has a triangular shape.
The triangular layout of the ALU is unusual. Most processors stack the circuitry for each bit into a regular rectangle (a bit-slice layout). The 8008, however, has eight blocks (one for each bit) arranged haphazardly to fit around the space left by the triangular carry generator.
The ALU supports eight simple operations.3
In the center of the chip is the instruction register and the instruction decoding logic that determines the meaning of each 8-bit machine instruction.
Decoding is done with a Programmable Logic Array (PLA), an arrangement of gates that
matches bit patterns and generates the appropriate control signals for the rest of the chip.
On the right are the storage blocks.
The 8008’s seven registers are in the upper right.
In the lower right is the address stack, which consists of eight 14-bit address words.
Unlike most processors, the 8008’s call stack is stored on the chip instead of in memory.
The program counter is just one of these addresses, making subroutine calls and returns very simple.
The 8008 uses dynamic memory for this storage.
The physical structure of the chip is very close to the block diagram in the 8008 User’s Manual (below), with blocks located on the chip in nearly the same positions as in the block diagram.