Pentium FDIV bug

From Wikipedia, the free encyclopedia

The Pentium FDIV bug was a bug in Intel's original Pentium floating point unit. Certain floating point division operations performed with these processors would produce incorrect results. According to Intel, there were a few missing entries in the lookup table used by the divide operation algorithm.[1]

The flaw was publicly disclosed by Professor Thomas Nicely, then at Lynchburg College, in 1994[2].

Although encountering the flaw was extremely rare in practice (Byte estimated that 1 in 9 billion floating point divides with random parameters would produce inaccurate results),[3] both the flaw and Intel's handling of the flaw were heavily criticized. Intel ultimately recalled the defective processors.

Contents

[edit] Chronology

Professor Thomas Nicely, then a professor of mathematics at Lynchburg College, had written code to enumerate primes, twin primes, prime triplets, and prime quadruplets. Nicely noticed some inconsistencies in the calculations on June 13, 1994 shortly after adding a Pentium system to his group of computers, but was unable to eliminate other factors (such as programming errors, motherboard chipsets, etc.) until October 19, 1994. On October 24, 1994 he reported the issue to Intel. According to Nicely, his contact person at Intel would later admit that Intel had been aware of the problem since May 1994, where the flaw had been discovered when testing the FPU for its new Intel P6 core, first used in the Pentium Pro.

On October 30, 1994, Nicely sent an email out describing the error he had discovered in the Pentium floating point unit to various contacts, requesting reports of testing for the flaw on 486-DX4s, Pentiums and Pentium clones[4].

This flaw in the Pentium FPU was quickly verified by other people around the Internet, and became known as the Pentium FDIV bug (FDIV is the x86 assembly language instruction for floating point division). Other people found division problems where the result returned by the Pentium was off by up to 61 parts per million.

The story was picked up by CNN on November 21, 1994.

Publicly, Intel acknowledged the floating point flaw but claimed that it was not serious and would not affect most users. Intel offered to replace processors to users who could prove that they were affected. However, although most independent estimates found the bug to be of little importance and have negligible effect on most users, it has caused a great public outcry. Companies like IBM (whose IBM 5x86C microprocessor competed at that time with the Intel Pentium line) joined the condemnation.

On December 20, 1994 Intel offered to replace all flawed Pentium processors on the basis of request, in response to mounting public pressure[5]. This had a huge potential cost to the company, although it turned out that only a small fraction of Pentium owners bothered to get their chips replaced.

[edit] Affected models

This problem occurred only on some models of the original Pentium processor. Any Pentium family processor with a clock speed of at least 120 MHz is new enough not to have this bug.

On appropriate models, the Intel Processor Frequency ID Utility checks for the presence of this bug.

[edit] Trivia

  • Some of the defective chips were later turned into keyrings by Intel.
  • Pentium's FDIV bug became a topic for jokes in computer folklore; see External links.

[edit] References

  1. ^ FDIV Replacement Program: Description of the Flaw. Intel (2004-07-09). Retrieved on 2006-12-19.
  2. ^ Professor Thomas Nicely. P*ntium FDIV flaw FAQ.
  3. ^ Tom R. Halfhill (1995-03). "An error in a lookup table created the infamous bug in Intel's latest processor". BYTE (March 1995). Retrieved on 2006-12-19. 
  4. ^ Professor Thomas Nicely. Original P*ntium FDIV flaw e-mail.
  5. ^ Intel adopts upon-request replacement policy on Pentium processors with floating point flaw; Will take Q4 charge against earnings. Business Wire (1994-12-20). Retrieved on 2006-12-24.

[edit] See also

[edit] External links