The Intel 8086 was released in 1978, starting the x86 line that still dominates computing. I'm reverse-engineering the chip by studying the silicon die, and I think I've spotted a bug fix in the silicon. They didn't have microcode updates then so they patched the silicon. 🧵

Here's the fix. They pulled two signals horizontally out of the "Group Decode ROM". They went to a NOR gate and an inverter that they added in an empty space. This signal went to another NOR gate, the gate split in two to add another input. This strange layout caught my eye.

The bug was an obscure problem: if you updated the stack segment register and the stack pointer and got an interrupt in the middle, the interrupt frame got pushed to the wrong location (essentially written to a random spot in memory).

Follow

@kenshirriff Easy mistake to make. Interrupt handling is tricky.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.