The Intel 8086 processor (1978) started the x86 architecture still used today. This chip only had 40 pins, so the address pins needed to be reused for data or status. (The pins are connected to the pads around the edge.) It took some tricky circuitry to make this work. 🧵
The output pins need high current, so each pin has multiple large transistors in parallel. This diagram shows how long, parallel transistors are created from polysilicon and silicon, and then wired together by the metal layer on top.
Each pin has a latch to store the output value, as well as a circuit to read incoming data. This diagram shows how that circuitry looks on the die, underneath the metal layer. These transistors are much larger than regular logic transistors.
Although the 8086 had 16-bit registers, it created a larger 20-bit address space by breaking memory into segments. A special address adder computed the physical address from the segment and offset. These values moved through the chip over the internal AD and C buses.
This diagram shows the main functional blocks of the 8086. The address/data pins are along the edges. The address adder is in the upper left. Address and data values move across the various buses. Complicated bus control logic handles the memory accesses.
To support the different types of address pins, four different circuits were required, more than I'd expect. The 8086 is full of special cases: The top 4 address pins also provide status, but one pin constantly updates while the others don't. The bottom 4 pins use an extra latch.
For much more on the address/data pins, see my blog post: http://www.righto.com/2023/07/8086-pins.html
Reverse-engineering the 8086 processor's address and data pin circuits

The Intel 8086 microprocessor (1978) started the x86 architecture that continues to this day. In this blog post, I'm focusing on a small p...

@kenshirriff I understand Intel used to HATE adding extra pins to DIPs. Today's processors have more than 3k pins ... vorsprung durch technik!

@kenshirriff

"This diagram shows the main functional blocks of the 8086."

Your whole thread on this is so interesting!

It numbs the mind to think that this was, what 1980? (vs Moores Law...)

Thanks.