The 8086 microprocessor is almost 45 years old, but the x86 architecture still rules computing. I’m reverse engineering the 8086 by studying its silicon die under a microscope. This thread looks at one of its unusual circuits: the bootstrap driver.?


Modern processors are built from CMOS technology, but the older 8086 used NMOS transistors. The bootstrap driver provides more voltage and current for circuits that require more than a regular NMOS gate can produce. For instance, to drive 16 transistors to control a 16-bit bus.

The 8086 chip runs on 5 volts, but you can get more oomph out of a transistor if you put more than 5 volts on the gate. But how do you get a higher voltage? That’s the bootstrap trick. Put 5V on a capacitor, then raise the other end to 5V. The capacitor now holds 10 volts.

The bootstrap driver circuit may be more than I can explain on Twitter, but I’ll give it a try. It takes an input and generates a high-current, full-voltage pulse output. It uses three transistors and is controlled by the chip’s clock.

Step 1: the input flows through transistor 1 to the gate of transistor 2. It charges up the (parasitic) capacitors attached to the gate. Meanwhile, the inverted clock pulls the output low.

Step 2: the clock switches on, pulling the output high. This boosts the low side of the gate capacitors, raising the gate voltage, which raises the output, raising the capacitors, raising the output… (the bootstrap effect). Transistor 1 blocks the gate voltage from leaving.

Step 3: the clock switches off. The lower transistor pulls the output low, while transistor 1 lets the gate discharge. The capacitors are discharged, ready for the next cycle.

The 8086 contains 81 bootstrap drivers, shown in this diagram as red dots. They are mostly located next to the registers and ALU, boosting control signals from the control circuitry in the middle of the chip.

This diagram is a closeup of the die, showing six of the bootstrap drivers that control the Arithmetic/Logic Unit (ALU). Each one has three transistors: a large drive transistor and two other smaller transistors. The transistors are arranged to minimize the space they use.

For more details on the 8086’s bootstrap driver, see my blog post:
https://www.righto.com/2022/11/the-unusual-bootstrap-drivers-inside.html
@kenshirriff wow , what a nice article. could you put all things on PDF file?