2024 marks the 30th anniversary of Intel’s announcement of a math glitch on some of its Pentium CPUs (via Heise).
In 1993, Intel launched its first generation Pentium CPUs, which used the new P5 architecture (hence Pentium) and succeeded the older Intel 486 from 1989. The new chip boasted the first-ever superscalar design, branch prediction, and a faster-floating point unit (FPU) that would help speed up doing math involving floating point numbers, basically those with a decimal point.
One of the reasons why floating point math got a speed boost on the Pentium was thanks to using the Sweeney-Robertson-Tocher algorithm for division. Thanks to this upgrade, the Pentium could calculate division at a rate of two bits per clock cycle, while the 486 could only muster one bit per cycle.
However, the algorithm required the Pentium to set aside an array of 2,048 cells (like those in a modern SSD), of which 1,066 needed to be set to values between -2 and 2. Intel made a small but critical mistake when setting up the array; five cells were set to 0 instead of 2.
Any time the algorithm needed to check these cells to do floating point division (or FDIV), it would do the math incorrectly, so the bug was born.
Because only five of the 1,066 populated cells had the wrong value, floating point division calculations were usually correct until at least the fourth digit, which is perhaps why the bug went unnoticed for over a year. Eventually, math professor Thomas Nicely at Lynchburg College discovered the bug, running calculations on multiple computers, one of which used a Pentium.
By October 1994, Nicely was certain the bug was embedded in the Pentium CPU itself and sent a letter to Intel about it. He also began telling others in the academic community about the bug, which became public knowledge very quickly thanks to the nascent Internet. About a week later, the media started reporting on the FDIV bug, and it became such a big story that CNN even ran a segment on it.
But before Intel even received the letter, it was already aware of the problem and was patching it so newly manufactured chips would operate as intended. There was, however, no plan at first to replace any Pentiums affected by the bug because Intel believed it was justn’t a big deal. Those who wanted a replacement chip without the bug needed to show Intel that they were actually encountering it.
Intel’s attitude towards the FDIV bug sparked significant backlash, and Intel’s long-time business partner IBM took matters into its own hands by halting sales of Intel-powered PCs. IBM and other OEMs also offered replacements for Pentiums.
On December 20, Intel finally decided to stop ignoring the issue and announced a recall for all buggy Pentiums. Intel acknowledged the problem in its 1994 annual report, saying it had been “engulfed in a controversy,” and admitted it cost $475 million to recall the defective CPUs. However, Intel also claimed Pentium sales continued to climb during the FDIV “crisis” and that its “PCs everywhere” strategy was working.
The FDIV bug episode was the first time Intel ever had to recall CPUs, and it was also the company’s first major hardware error, but certainly not the last. 2024 was not only the 30th anniversary of the FDIV bug but also the year that Intel acknowledged that Raptor Lake CPUs were frying themselves to death due to too much voltage.
This time around, Intel didn’t need to recall all Raptor Lake CPUs, but it has replaced all chips damaged by the elevated voltage bug. The company also issued a new CPU microcode via new motherboard BIOSes to prevent the bug from happening again.
While the FDIV bug couldn’t be genuinely fixed with software or firmware patches, at least it didn’t kill any processors. Given how infrequently Pentium owners encountered the FDIV bug, the Raptor Lake elevated voltage bug arguably impacted more users, although not every processor suffered damage.
#years #Intels #infamous #Pentium #FDIV #bug #reared #ugly #math #bug #caused #Intels #CPU #recall