Pentium FDIV bug

Pentium FDIV bug

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. [cite web |publisher=Intel |title=FDIV Replacement Program: Description of the Flaw |date=2004-07-09 |url=http://support.intel.com/support/processors/pentium/sb/CS-013007.htm |id=Solution ID CS-013007 |accessdate=2006-12-19 ]

The flaw was publicly disclosed by Professor Thomas Nicely, then at Lynchburg College, in 1994 [cite web|title=Pentium FDIV flaw FAQ|url=http://www.trnicely.net/pentbug/pentbug.html|author=Professor Thomas Nicely] .

Although encountering the flaw was extremely rare in practice ("Byte" magazine estimated that 1 in 9 billion floating point divides with random parameters would produce inaccurate results), [cite journal |author=Tom R. Halfhill |date=1995-03 |title=An error in a lookup table created the infamous bug in Intel's latest processor |journal=BYTE |issue=March 1995 |url=http://www.byte.com/art/9503/sec13/art1.htm |accessdate=2006-12-19 ] both the flaw and Intel's handling of the matter were heavily criticized. Intel ultimately recalled the defective processors.

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, when 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 [cite web|title=Original Pentium FDIV flaw e-mail|url=http://www.trnicely.net/pentbug/bugmail1.html|author=Professor Thomas Nicely] .

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 first appeared in the press on November 7, 1994, in an article [cite web|title=Intel fixes a Pentium FPU glitch|url=http://web.ccr.jussieu.fr/ccr/Documentation/Calcul/matlab5v11/docs/00001/00197.htm|author=Alexander Wolfe] in Electronic Engineering Times, "Intel fixes a Pentium FPU glitch" by Alexander Wolfe.

The story was subsequently picked up by CNN in a segment which aired on November 21 1994. This brought it into widespread public prominence.

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 would have negligible effect on most users, it 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 [cite web|url=http://findarticles.com/p/articles/mi_m0EIN/is_1994_Dec_20/ai_15939945|title=Intel adopts upon-request replacement policy on Pentium processors with floating point flaw; Will take Q4 charge against earnings|accessdate=2006-12-24|date=1994-12-20|publisher=Business Wire] . 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. Some of the defective chips were later turned into key rings by Intel.

A 1995 article in "Science" describes the value of number theory problems in discovering computer bugs and gives the mathematical background and history of Brun's constant, the problem Nicely was working on when he discovered the bug.cite journal
last = Cipra
first = Barry
date = 1995-01-13
title = How number theory got the best of the Pentium chip
journal = Science
volume = 267
issue = 5195
pages = 175
issn = 0036-8075
doi = 10.1126/science.267.5195.175
]

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 affected models, the Intel Processor Frequency ID Utility checks for the presence of this bug.

The following tables list the 10 affected processors. The 39 S-spec of those 10 processors are not listed in the intel processor spec finder web page.

The presence of the bug can be checked manually by performing the following calculation in any application that uses native floating point numbers, including the Calculator in Windows 95/98:

4195835.0/3145727.0 = 1.333 820 449 136 241 002 (Correct value) 4195835.0/3145727.0 = 1.333 739 068 902 037 589 (Value returned by flawed Pentium)

References

ee also

* f00f
* Intel
* Anomaly in software
* MOS Technology 6502#Dubious_features

External links

* [http://www.trnicely.net/#PENT Personal website of Dr. Nicely, who discovered the bug]
* [http://www.cs.earlham.edu/~dusko/cs63/fdiv.html A page with precise information, also about the cause]
* [http://www.maa.org/mathland/mathland_5_12.html Ivars Peterson's Mathland on the bug]
* [http://www.mathworks.com/company/newsletters/news_notes/pdf/win95cleve.pdf A Tale of Two Numbers] , by Cleve Moler of The MathWorks
** [http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=1666&objectType=file ZIP-file containing more details] (See ZIP file format for details on the file)
* [http://support.intel.com/support/processors/pentium/fdiv/ Intel's official site]
* [http://www.netjeff.com/humor/item.cgi?file=PentiumJokes Pentium bug jokes]
* [http://www.cpucollection.se/details.php?image_id=784 Unopened Intel CPU box from the FDIV replacement program]
* [http://www.cpucollection.se/details.php?image_id=1139 Intel key chain with Andy Grove quote regarding the FDIV bug]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Pentium FDIV Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium-FDIV-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium FDIV bug — …   Википедия

  • FDIV-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium MMX — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • Pentium — Infobox Computer Hardware Cpu name = Pentium caption = 75 MHz classic Pentium processor produced start = 1993 produced end = 1999 slowest = 60 | slow unit = MHz fastest = 300 | fast unit = MHz fsb slowest = 50 | fsb slow unit = fsb fastest = 66 | …   Wikipedia

  • Bug du Pentium — Bug de la division du Pentium Le bug de la division du Pentium est un bogue informatique ayant affecté le microprocesseur Pentium du fabriquant Intel peu après son lancement en 1994 : une erreur était introduite lors de certaines opérations… …   Wikipédia en Français

  • Pentium —   [zu griech. penta »fünf«], Bezeichnung für den 1993 von der Firma Intel vorgestellten Nachfolger des 486er Prozessors sowie der seitdem auf den Markt gekommenen PC Prozessoren von Intel (Prozessor). Die Abkehr von den bis dahin numerischen… …   Universal-Lexikon

  • Pentium-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”