The Pentium FDIV bug was a bug in Intel's original Pentium floating point unit. A software bug (or just “bug” is an error flaw mistake Failure, fault or “undocumented feature” in a Computer program that prevents it The Pentium brand refers to Intel 's single-core x86 Microprocessor based on the P5 fifth-generation Microarchitecture. A floating point unit (FPU is a part of a Computer system specially designed to carry out operations on Floating point numbers Certain floating point division operations performed with these processors would produce incorrect results. In Computing, floating point describes a system for numerical representation in which a string of digits (or Bits represents a Real number. In Mathematics, especially in elementary Arithmetic, division is an arithmetic operation which is the inverse of Multiplication. According to Intel, there were a few missing entries in the lookup table used by the divide operation algorithm. In Computer science, a lookup table is a Data structure, usually an Array or Associative array, often used to replace a runtime computation with [1]
The flaw was publicly disclosed by Professor Thomas Nicely, then at Lynchburg College, in 1994[2]. Lynchburg College is a private college in Lynchburg, Virginia, USA, related by covenant to the Christian Church (Disciples of Christ with approximately
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),[3] both the flaw and Intel's handling of the matter were heavily criticized. Byte magazine was an influential Microcomputer magazine in the late 1970s and throughout the 1980s because of its wide-ranging editorial coverage Intel ultimately recalled the defective processors.
Contents |
Professor Thomas Nicely, then a professor of mathematics at Lynchburg College, had written code to enumerate primes, twin primes, prime triplets, and prime quadruplets. In Mathematics, a prime number (or a prime) is a Natural number which has exactly two distinct natural number Divisors 1 A twin prime is a Prime number that differs from another prime number by Two. In Mathematics, a prime triplet is a set of three Prime numbers of the form ( p, p +2 p +6 or ( p, p +4 p A prime quadruplet (sometimes called prime quadruple) is four primes of the form { p, p +2 p +6 p +8} 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. Events 1525 - Martin Luther marries Katharina von Bora, against the Celibacy rule decreed by the Roman Catholic Church for Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) ) until October 19, 1994. Events 202 BCE - The Battle of Zama results in the defeat of Carthage and Hannibal. Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) On October 24, 1994 he reported the issue to Intel. Events 69 - Second Battle of Bedriacum, forces under Antonius Primus the commander of the Danube armies loyal to Vespasian, defeat Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) 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. The P6 Microarchitecture is the sixth generation Intel X86 Microprocessor architecture released in 1995. The Pentium Pro is a sixth-generation X86 -based Microprocessor developed and manufactured by Intel introduced in November 1995
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]. Events 637 - Antioch surrenders to the Muslim forces under Rashidun Caliphate after the Battle of Iron bridge. Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar)
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). The Internet is a global system of interconnected Computer networks See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal See the terminology section below for information regarding inconsistent use of the terms assembly and assembler 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 [5] in Electronic Engineering Times, "Intel fixes a Pentium FPU glitch" by Alexander Wolfe. Events 1492 - The Ensisheim Meteorite the oldest Meteorite with a known date of impact strikes the Earth around noon in a Wheat Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar)
The story was subsequently picked up by CNN in a segment which aired on November 21, 1994. Events 164 BC - Judas Maccabaeus, son of Mattathias of the Hasmonean family restores the Temple in Jerusalem. Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) 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. International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology The IBM 5x86C is an IBM -branded and -produced version of the Cyrix -designed Cyrix Cx5x86 CPU. A microprocessor incorporates most or all of the functions of a Central processing unit (CPU on a single Integrated
On December 20, 1994 Intel offered to replace all flawed Pentium processors on the basis of request, in response to mounting public pressure[6]. Events 69 - Vespasian, formerly a general under Nero, enters Rome to claim the title of Emperor. Year 1994 ( MCMXCIV) was a Common year starting on Saturday (link will display full 1994 Gregorian calendar) 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.
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.
| Family | Model | Stepping | Manufacturing Stepping | Clock rate | FSB speed | S-spec |
|---|---|---|---|---|---|---|
| 5 | 1 | 3 | B1 | 60 MHz | 60 MHz | Q0352 |
| 5 | 1 | 3 | B1 | 60 MHz | 60 MHz | Q0412 |
| 5 | 1 | 3 | B1 | 60 MHz | 60 MHz | SX753 |
| 5 | 1 | 3 | B1 | 66 MHz | 66 MHz | Q0353 |
| 5 | 1 | 3 | B1 | 66 MHz | 66 MHz | Q0413 |
| 5 | 1 | 3 | B1 | 66 MHz | 66 MHz | SX754 |
| 5 | 1 | 5 | C1 | 60 MHz | 60 MHz | Q0466 |
| 5 | 1 | 5 | C1 | 60 MHz | 60 MHz | SX835 |
| 5 | 1 | 5 | C1 | 60 MHz | 60 MHz | SZ949 |
| 5 | 1 | 5 | C1 | 66 MHz | 66 MHz | Q0467 |
| 5 | 1 | 5 | C1 | 66 MHz | 66 MHz | SX837 |
| 5 | 1 | 5 | C1 | 66 MHz | 66 MHz | SZ950 |
| Family | Model | Stepping | Manufacturing Stepping | Clock rate | FSB speed | S-spec |
|---|---|---|---|---|---|---|
| 5 | 2 | 1 | B1 | 75 MHz | 50 MHz | Q0601 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | Q0542 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | Q0613 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | Q0543 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | SX879 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | SX885 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | SX909 |
| 5 | 2 | 1 | B1 | 90 MHz | 60 MHz | SX874 |
| 5 | 2 | 1 | B1 | 100 MHz | 66 MHz | Q0563 |
| 5 | 2 | 1 | B1 | 100 MHz | 66 MHz | Q0587 |
| 5 | 2 | 1 | B1 | 100 MHz | 66 MHz | Q0614 |
| 5 | 2 | 1 | B1 | 100 MHz | 66 MHz | SX886 |
| 5 | 2 | 1 | B1 | 100 MHz | 66 MHz | SX910 |
| 5 | 2 | 2 | B3 | 75 MHz | 50 MHz | Q0606 |
| 5 | 2 | 2 | B3 | 75 MHz | 50 MHz | SX951 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | Q0628 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | Q0611 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | Q0612 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX923 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX922 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX921 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX942 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX943 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SX944 |
| 5 | 2 | 2 | B3 | 90 MHz | 60 MHz | SZ951 |
| 5 | 2 | 2 | B3 | 100 MHz | 66 MHz | Q0677 |
| 5 | 2 | 2 | B3 | 100 MHz | 66 MHz | SX960 |
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. In Personal computers the Front Side Bus ( FSB) is the bus that carries data between the CPU and the northbridge. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. In Personal computers the Front Side Bus ( FSB) is the bus that carries data between the CPU and the northbridge. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. Microsoft Calculator is a calculation application included with all versions of the Microsoft Windows Operating system. 0/3145727. 0 = 1. 333 820 449 136 241 002 (Correct value) 4195835. 0/3145727. 0 = 1. 333 739 068 902 037 589 (Flawed Pentium)