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

Apple to Release Updated MacBook Air with M4 Chip in March 2025

Apple is preparing to launch updated 13- and 15-inch versions of the MacBook Air laptop,…

2 hours ago

Official Radeon RX 9070 XT Relative Performance Leaked to Press

The VideoCardz portal writes that AMD held a closed briefing for journalists this week, where…

2 hours ago

Kindergarten of some kind: former German data center converted into preschool

Bonn, Germany, is in dire need of kindergartens, so they are sometimes placed in the…

2 hours ago

Apple to Improve iPhone 17 Pro Camera with Focus on Video

According to online sources, Apple will focus more on improving video recording in the new…

3 hours ago

GeForce RTX 5070 Ti with “fallen off” ROPs loses up to 11% performance in synthetic tests

It was previously reported that some GeForce RTX 5090/RTX 5090D graphics cards, and as it…

3 hours ago

Chinese scientists have figured out how to extend the life of lithium-ion batteries

A group of researchers from China has developed a technology that will restore the capacity…

4 hours ago