Engineer finds transistors in Pentium processor that cost Intel $475 million 30 years ago

Electronics history and reverse engineering specialist Ken Shirriff said he was able to discover transistors in the first generation Intel Pentium processors that caused the “FDIV error” that cost the manufacturer $475 million in 1994.

Image source: oldbytes.space/@kenshirriff

The FDIV (Floating Point Division) bug was that processors did not correctly perform the division operation of floating point numbers. The expert armed himself with a microscope and examined the programmable logic array (PLA) responsible for this error. The Intel Pentium processor based on the P5 architecture was manufactured using the 800 nm process technology – the crystal contains 3.1 million transistors, and their arrangement can actually be studied under a microscope and the blocks of operations on the chip can be identified. With modern processors, which have tens of billions of transistors, this is impossible.

The floating point unit on Pentium processors was faster than on chips of the time, thanks to the SRT division algorithm, which allowed division at a rate of two bits per clock. In order for it to function correctly, a table of 2048 cells with the values ​​“-2”, “-1”, “0”, “1” and “2” was placed on the chip in 112 rows. The values ​​were expressed by the presence or absence of transistors in the cells. But five table entries were missing important transistors, resulting in default values ​​of “0” instead of the correct “2”. This caused floating point calculations to produce incorrect results.

The FDIV error was discovered by Lynchburg College mathematics professor Thomas R. Nicely, but Intel initially called it insignificant and said that it could only occur once every 27 thousand years. IBM, however, determined that it could occur every 24 days and stopped selling Pentium processors. As a result, Intel recalled all processors and suffered a loss of $475 million. It is noteworthy that as a result of the study, Shirriff revealed the absence of not 5 data points, as previously assumed, but 16, and 11 not previously detected did not cause errors “by pure luck,” the engineer noted . Intel ended up quickly fixing the bug by filling all the unused entries on the boards with “2” values, and it worked.

admin

Share
Published by
admin

Recent Posts

OpenAI has released an AI agent called Operator, which will surf the Internet for the user.

OpenAI has unveiled a “research version” of an AI agent that can independently perform various…

44 minutes ago

Galaxy S25 received Snapdragon Satellite, but Samsung forgot to tell about it

Often, during high-profile presentations, some new device functions remain “behind the scenes”, despite the fact…

2 hours ago

Koei Tecmo announced Ninja Gaiden 4 from PlatinumGames and released a remake of Ninja Gaiden 2 on Unreal Engine 5

The return of the “legendary Japanese series” promised by Windows Central editor Jez Corden at…

3 hours ago

MSI releases quiet mechanical keyboard Strike 600 for $80 using Kailh switches

MSI has introduced the full-size gaming keyboard Strike 600. The main features of the new…

3 hours ago