Post

Intel's 386 processor (1985) moved the x86 architecture to 32 bits, but it needed to be backward compatible with earlier 16 and 8-bit processors. As a result, it needed complicated circuitry for its internal registers: six different circuits for 30 registers. Let's look at the silicon circuits. 1/N

10 reposts87 likes

Zooming in on the 386 shows 30 registers. The registers are constructed from one-bit cells, creating the grid pattern in the image. However, the six different types of cells create visible changes in the texture. A "notch" is created by the 16-bit registers, half the width of the 32-bit registers.

The building block for a register is two inverters connected in a loop. You can put this loop into two different states, allowing it to store a bit. The circuit becomes more complicated when you add transistors to control reading and writing.

Here's a closeup of four register cells, storing four bits. I dissolved the metal layers and polysilicon to show the underlying silicon. (The silicon regions that have been "doped" are visible by the dark borders.) I've labeled the 8 transistors in each cell.

Looking at another part of the register circuitry shows a different circuit that uses 10 transistors, rather than 8 before. This allows two reads and a write to happen in parallel. Moreover, this circuit has more control lines, allowing 32-bit, 16-bit, or 8-bit accesses.