30-year-old Pentium FDIV bug tracked down in the silicon — Ken Shirriff takes the microscope to Intel's first-ever recall

A die photo of the original Pentium processor with its blocks labeled. The image is made of red and brown blocks, with one tiny segment zoomed and enhanced into.
(Image credit: Ken Shirriff)

Noted hardware historian and reverse-engineer Ken Shirriff recently found the exact transistors in the original Intel Pentium which caused the "FDIV bug", leading to a $475 million recall in 1994. As seen on his Mastodon thread, Shirriff took a microscopic dive into the PLA which holds a faulty division table, tracking down the root cause of Intel's first major failure 30 years ago.

The image seen above is a photo of the CPU die of the original Pentium chip, Intel's first CPU on the P5 architecture which helped the company become a household name. The Pentium was made on an 800nm process, with the above die shot taken through stitched-together microscope photography. The die contains 3.1 million transistors, with transistor grids being visible to microscopic vision and the operations of blocks on the die able to be identified. Compare this to today's processors, which have tens of billions of transistors and are nigh-indecipherable.

The math error that led to the FDIV bug was caused by calculation errors in the PLA (programmable logic array). The Pentium's floating point unit was much faster than contemporary chips, thanks to the SRT division algorithm. SRT calculates division at two bits per clock cycle, compared to one bit per clock cycle of Pentium's predecessor.

For this to work, SRT required the presence of a 2,048-cell table on the die, listing values -2, -1, 0, 1, and 2 in a very compact 112 rows. The values are indicated by the presence or lack of transistors along grid points. This would have been a brilliant strategy, if not for one flaw: 5 entries on the table are missing their crucial transistors, set to 0 by default rather than the correct "2".

The mislabeled entries create an error in floating point calculations, but the error's rarity was debated in the day. After discovery by Professor Thomas Nicely, the FDIV bug was called unimportant by Intel, claiming it would only happen once every 27,000 years. IBM declared it could happen every 24 days and halted sales of Pentiums. Intel caved to immense monetary pressure and recalled all affected chips at a loss of $475 million (read our 30th-anniversary post on the event for more of the history).

"Smart mathematicians figured out Pentium's division algorithm and the missing entries in 1995 by examining the pattern of errors," says Shirriff. "But I can confirm it in silicon." What's more, Shirriff's investigation found 16 missing data points, 11 more than the originally believed five. These 11 don't cause errors simply "due to luck." Intel later fixed the problem by filling all unused entries on the boards with 2's, a quick fix that worked and saved tons of room on future revisions of the Pentium.

For a fuller description of the Pentium die and the error, see Shirriff's full Mastodon thread. In the coming days, Shirriff promises a deeper dive into his investigation on his blog, which may include if it's possible to fix bug-affected Pentiums through physically editing the PLA.

Dallin Grimm
Contributing Writer

Dallin Grimm is a contributing writer for Tom's Hardware. He has been building and breaking computers since 2017, serving as the resident youngster at Tom's. From APUs to RGB, Dallin has a handle on all the latest tech news. 

  • Geef
    - The Pentium was made on an 800nm process -
    Wow, how the times have changed. Even removing the two zeros doesn't make it even match my phone's processor nm size.
    Reply
  • umeng2002_2
    For those too young, 475 million dollars was a lot of money back in the 90s.
    Reply
  • magbarn
    umeng2002_2 said:
    For those too young, 475 million dollars was a lot of money back in the 90s.

    Still remembering buying my first loaded 1993 Civic EX for $15,000, which is now a $32,000 2024 Civic Touring

    Geef said:
    - The Pentium was made on an 800nm process -
    Wow, how the times have changed. Even removing the two zeros doesn't make it even match my phone's processor nm size.
    I still remember my PC Magazine that had a die shot of the first Pentium when it came out and I was drooling while I was gaming on a 386SX overclocked to 20Mhz. Man I'm getting old.
    Reply
  • umeng2002_2
    I was too young to care about these chips, and when I was old enough to care, I was too poor to afford Intel CPUs. Ha. But I do remember hearing about this bug.
    Reply
  • hotaru251
    Geef said:
    Wow, how the times have changed. Even removing the two zeros doesn't make it even match my phone's processor nm size.
    I mean in past "nm" use to be actual size but now-a-days its not actually about the size. (thats why different people's "3nm" are different)
    Reply
  • abufrejoval
    umeng2002_2 said:
    For those too young, 475 million dollars was a lot of money back in the 90s.
    It was also a lot of money in the 1980's, which is when I bought my first PC, an IBM PC-AT clone for the equivalent of $10,000 back then, about the price of a nice used Porsche 911.

    But I need it to make money and a Porsche wasn't going to help (I was into programming not pimping).

    I also got an 80287 (and Windows 1.0) for free from Intel, when I bought an Intel Above Board with 1.5MB of extra RAM.

    That 80287 never miscalculated and even worked with the 80386 a few years later, while Windows 1 was quickly removed from the 20MB hard drive, because just couldn't compete with GEM and disk capacity was precious.
    Reply
  • rsquared
    umeng2002_2 said:
    For those too young, 475 million dollars was a lot of money back in the 90s.
    Equivalent to a little over a billion dollars now after inflation adjustment.

    Intel's bigger problem with the FDIV bug was their terrible handling of it. If they had just admitted they made a mistake it probably would've gone by mostly unnoticed. Instead they responded like Haha, so what, only loser nerds like you would care about that tiny error. Which quickly blew up into a big PR nightmare for them that echoed for years afterward.
    Reply
  • SkyBill40
    Intel: It's not a big deal . Don't worry about it.
    Mathematicians: Oh, we beg to differ.
    ** Intel pays $475M **

    Also Intel: We're sorry.
    Reply
  • DS426
    My family's (my parents) first computer was a Compaq Presario, purchased in and model year 1995. It had a Pentium II 200 MHz, which wasn't the fastest CPU at the time but thought to be crazy fast compared to the earlier IBM PC clones, e.g. something with a 386 or 486. The possibility of 3D gaming was a wonderful concept back then, even as that first Compaq only had some 2 MB graphics adapter (not a GPU). My next PC would be my first custom self-built one. I think I was about ten years old.

    I can recall the original "Intel Inside" commercials. AMD wasn't a common household name back then and wouldn't be the rest of that decade, but Intel quickly got there, probably by circa 1998 if not sooner. Also fun reminiscing about those old names like Soyo, Voodoo, PC Power & Cooling, Sony Vaio, Gateway 2000, Abit, VIA (still around today but prevalent in the PC world back then due to their chipsets being common for AMD platforms, e.g. KT133, and I'm thinking Intel as well), Maxtor, and others.
    Reply
  • IAcidBurnI
    DS426 said:
    My family's (my parents) first computer was a Compaq Presario, purchased in and model year 1995. It had a Pentium II 200 MHz, which wasn't the fastest CPU at the time but thought to be crazy fast compared to the earlier IBM PC clones, e.g. something with a 386 or 486. The possibility of 3D gaming was a wonderful concept back then, even as that first Compaq only had some 2 MB graphics adapter (not a GPU). My next PC would be my first custom self-built one. I think I was about ten years old.

    I can recall the original "Intel Inside" commercials. AMD wasn't a common household name back then and wouldn't be the rest of that decade, but Intel quickly got there, probably by circa 1998 if not sooner. Also fun reminiscing about those old names like Soyo, Voodoo, PC Power & Cooling, Sony Vaio, Gateway 2000, Abit, VIA (still around today but prevalent in the PC world back then due to their chipsets being common for AMD platforms, e.g. KT133, and I'm thinking Intel as well), Maxtor, and others.
    AMD was pretty well known even back in the the Pentium II days. AMD K6-2 was a pretty popular budget option. Later K6-3 vs Pentium III and finally the popular Athlon. These were all launched in the late 90s.
    Reply