Pentium fdiv bug From Wikipedia, the free encyclopedia Jump to: navigation, search The




Дата канвертавання25.04.2016
Памер51.75 Kb.

Pentium FDIV bug

From Wikipedia, the free encyclopedia


Jump to: navigation, search

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 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, 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 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.


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.

The presence of the bug can be checked manually by performing the following calculation in nearly any application, including the Windows calculator:

4195835.0/3145727.0 = 1.333 820 449 136 241 000 (Correct value)

4195835.0/3145727.0 = 1.333 739 068 902 037 589 (Flawed Pentium)

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.

References


  1. ^ FDIV Replacement Program: Description of the Flaw. Intel (2004-07-09). Retrieved on 2006-12-19.

  2. ^ Professor Thomas Nicely. Pentium 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 Pentium 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.

See also


  • f00f

  • Intel

  • Anomaly in software

External links


  • Personal website of Dr. Nicely, who discovered the bug

  • A page with precise information, also about the cause

  • Ivars Peterson's Mathland on the bug

  • A Tale of Two Numbers, by Cleve Moler of The MathWorks

  • Intel's official site

  • Pentium bug jokes

Retrieved from "http://en.wikipedia.org/wiki/Pentium_FDIV_bug"

Categories: Programming bugs | X86 architecture | Hardware bugs

FDIV Replacement Program


 

In December of 1994, Intel announced a lifetime replacement policy on the well publicized floating point unit flaw,contained in the then current version (60-100MHz) of the Pentium® processor. Non-FPU flawed versions of the Pentiumprocessor began shipping in late 1994. If you took delivery of your system on Jan 1, 1995 or later, it is increasinglyprobable that you have a processor without the flaw. Therefore, it is important that you check your system to determineif a replacement is needed. See question 2 in the FAQs to find out how you can easily check your system for theflaw.

The replacement program is directed at End Users of working systems who are concerned about the impact of this flawon their applications (see White Paper for more information).The FAQ describes the replacement process as well as answers commonly asked questions. Inaddition to this guide, you can call the customer service numbers for information regarding the replacementprogram.



  • Frequently Asked Questions (updated - 14 May 98) about the Pentium® processor replacement program

  • Intel® Processor Frequency ID Utility: a utility that will identify the Intel processor contained in your PC

  • Customer Service Telephone Numbers for replacement

  • Intel White Paper: Detailed Statistical Analysis of Floating Point Flaw in Pentium Processors





FWD: The President of Intel responds


chou@cs.ucla.edu
Sun, 27 Nov 94 16:18:57 PST

  • Messages sorted by: [ date ][ thread ][ subject ][ author ]

  • Next message: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"

  • Previous message: Lawrence C Paulson: "AUTOMATH"

Piping...Path:
delphi.cs.ucla.edu!whirlwind!library.ucla.edu!agate!howland.reston.ans.net!m
ath.ohio-state.edu!magnus.acs.ohio-state.edu!csn!carbon!carbon!not-for-mail
From: jrothman@carbon.cudenver.edu (Jay Rothman)
Newsgroups: sci.stat.math,sci.stat.edu,comp.theory
Subject: The President of Intel responds...
Date: 27 Nov 1994 14:25:25 -0700
Organization: University of Colorado at Denver
Lines: 112
Distribution: inet
Message-ID: <3batg5$ju@carbon.cudenver.edu>
NNTP-Posting-Host: carbon.denver.colorado.edu
X-Newsreader: TIN [version 1.2 PL2]
Xref: delphi.cs.ucla.edu sci.stat.math:3284 sci.stat.edu:3372
comp.theory:11379

Newsgroups: comp.sys.intel


Subject: My Perspective on Pentium - AGS
Date: 27 Nov 1994 19:31:21 GMT
Organization: Netcom
Lines: 102
Distribution: world
Message-ID: <3bamq9$avt@ixnews1.ix.netcom.com>
NNTP-Posting-Host: ix-pa3-16.ix.netcom.com

Andy Grove has asked me to post the following for him. Since it is the

weekend and we are out of the office, I am posting from my home system.

Richard Wirt


Director SW Technology
Intel Corp

This is Andy Grove, president of Intel. I'd like to comment a bit on

the conversations that have been taking place here.

First of all, I am truly sorry for the anxiety created among you by

our floating point issue. I read thru some of the postings and it's

clear that many of you have done a lot of work around it and

that some of you are very angry at us.

Let me give you my perspective on what has happened here.

The Pentium processor was introduced into the market in May of '93

after the most extensive testing program we at Intel have ever

embarked on. Because this chip is three times as complex as the 486,

and because it includes a number of improved floating point

algorithms, we geared up to do an array of tests, validation, and

verification that far exceeded anything we had ever done. So did many

of our OEM customers. We held the introduction of the chip several

months in order to give them more time to check out the chip and their

systems. We worked extensively with many software companies to this

end as well.

We were very pleased with the result. We ramped the processor faster

than any other in our history and encountered no significant problems

in the user community. Not that the chip was perfect; no chip ever

is. From time to time, we gathered up what problems we found and put

into production a new "stepping" -- a new set of masks that

incorporated whatever we corrected. Stepping N was better than

stepping N minus 1, which was better than stepping N minus 2. After

almost 25 years in the microprocessor business, I have come to the the

conclusion that no microprocessor is ever perfect; they just come

closer to perfection with each stepping. In the life of a typical

microprocessor, we go thru half a dozen or more such steppings.

Then, in the summer of '94, in the process of further testing (which

continued thru all this time and continues today), we came upon the

floating point error. We were puzzled as to why neither we nor anyone

else had encountered this earlier. We started a separate project,

including mathematicians and scientists who work for us in areas other

than the Pentium processor group to examine the nature of the problem

and its impact.

This group concluded after months of work that (1) an error is only

likely to occur at a frequency of the order of once in nine billion

random floating point divides, and that (2) this many divides in all

the programs they evaluated (which included many scientific

programs) would require elapsed times of use that would be longer than

the mean time to failure of the physical computer subsystems. In

other words, the error rate a user might see due to the floating point

problem would be swamped by other known computer failure mechanisms.

This explained why nobody -- not us, not our OEM customers, not the

software vendors we worked with and not the many individual users --

had run into it.

As some of you may recall, we had encountered thornier problems with

early versions of the 386 and 486, so we breathed a sigh of relief

that with the Pentium processor we had found what turned out to be a

problem of far lesser magnitude. We then incorporated the fix into

the next stepping of both the 60 and 66 and the 75/90/100 MHz Pentium

processor along with whatever else we were correcting in that next

stepping.

Then, last month Professor Nicely posted his observations about this

problem and the hubbub started. Interestingly, I understand from

press reports that Prof. Nicely was attempting to show that

Pentium-based computers can do the jobs of big time supercomputers in

numbers analyses. Many of you who posted comments are evidently also

involved in pretty heavy duty mathematical work.

That gets us to the present time and what we do about all this.

We would like to find all users of the Pentium processor who are

engaged in work involving heavy duty scientific/floating point

calculations and resolve their problem in the most appropriate fashion

including, if necessary, by replacing their chips with new ones. We

don't know how to set precise rules on this so we decided to do it

thru individual discussions between each of you and a technically

trained Intel person. We set up 800# lines for that purpose. It is

going to take us time to work thru the calls we are getting, but we

will work thru them. I would like to ask for your patience here.

Meanwhile, please don't be concerned that the passing of time will

deprive you of the opportunity to get your problem resolved -- we

will stand behind these chips for the life of your computer.

Sorry to be so long-winded -- and again please accept my apologies

for the situation. We appreciate your interest in the Pentium

processor, and we remain dedicated to bringing it as close to

perfection as possible.

I will monitor your communications in the future -- forgive me if I

can't answer each of you individually.

Andy Grove




  • Next message: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"

  • Previous message: Lawrence C Paulson: "AUTOMATH"

FWD: NYTimes article on Pentium bug


chou@cs.ucla.edu
Sun, 27 Nov 94 11:54:31 PST

  • Messages sorted by: [ date ][ thread ][ subject ][ author ]

  • Next message: John Harrison: "Re: FWD: NYTimes article on Pentium bug"

  • Previous message: chou@cs.ucla.edu: "FWD: The President of Intel responds"

  • Next in thread: John Harrison: "Re: FWD: NYTimes article on Pentium bug"

I saw a report on NBC News about this too.

Cheers,
- Ching Tsun

Piping...Path:
delphi.cs.ucla.edu!whirlwind!library.ucla.edu!agate!howland.reston.ans.net!v
ixen.cso.uiuc.edu!sdd.hp.com!col.hp.com!csn!carbon!carbon!not-for-mail
From: jrothman@carbon.cudenver.edu (Jay Rothman)
Newsgroups: sci.stat.edu,comp.theory
Subject: NYTimes article on Pentium bug
Date: 27 Nov 1994 11:48:10 -0700
Organization: University of Colorado at Denver
Lines: 145
Distribution: inet
Message-ID: <3bak9a$s8r@carbon.cudenver.edu>
NNTP-Posting-Host: carbon.denver.colorado.edu
X-Newsreader: TIN [version 1.2 PL2]
Xref: delphi.cs.ucla.edu sci.stat.edu:3370 comp.theory:11378

11/24:CIRCUIT FLAW CAUSES PENTIUM CHIP TO MISCALCULATE, INTEL ADMITS

By JOHN MARKOFF

c.1994 N.Y. Times News Service

SAN FRANCISCO - An elusive circuitry error is causing a chip used in
millions of computers to generate inaccurate results in certain rare
cases, heightening anxiety among many scientists and engineers who rely on
their machines for precise calculations.

The flaw, an error in division, has been found in the Pentium, the current


top microprocessor from Intel Corp., the world's largest chip maker. The
chip, in several different configurations, is used in many computers sold
for home and business use, including those made by IBM, Compaq, Dell,
Gateway 2000 and others.

The flaw appears in all Pentium chips now on the market, in certain types


of division problems involving more than five significant digits, a
mathematical term that can include numbers before and after a decimal
point.

Intel declined to say how many Pentium chips it made or sold, but


Dataquest, a market research company in San Jose, Calif., estimated that
in 1994 Intel would sell about six million Pentiums, roughly 10 percent of
the number of personal computers sold worldwide.

Intel said Wednesday that it did not believe the chip needed to be


recalled, asserting that the typical user would have but one chance in
more than nine billion of encountering an inaccurate result as a
consequence of the error, and thus there was no noticeable consequence to
users of business or home computers. Indeed, the company said it was
continuing to send computer makers Pentium chips built before the problem
was detected.

William Kahan of the University of California at Berkeley, one of the


nation's experts on computer mathematics, expressed skepticism about
Intel's claims that the error would only occur in extremely rare
instances.

"These kinds of statistics have to cause some wonderment," he said. "They


are based on assertions about the probability of events whose probability
we don't know."

At Jet Propulsion Laboratory in Pasadena, Calif., one satellite


communications researcher who learned of the error this week said six
Pentium machines were used in his group and their use had been suspended
for now.

"The Pentium appeared as a cost-effective means to do the kind of


analytical computing that scientists and engineers do," said David Bell,
the researcher. "But when we hear and see that there are problems, that
puts a question mark on the results."

A number of other computer scientists and engineers said the probability


of encountering the problem would vary wildly depending upon what software
the computer was using.

In addition to its growing role in PCs, the Pentium chip is used in a


number of larger computers that harness individual chips to work in
tandem, creating supercomputer power. This technique, known as parallel
processing, is used for weather forecasting, the aerodynamic simulation
used in automotive and airplane design and in molecular engineering.

Intel said the problem came to its attention in June and was corrected


then, at the design stage. That change took some time to make its way
through the chip production process, and Intel has only recently begun
providing its largest customers with the revised chips, the company said.

Intel acknowledged that the flaw could affect certain scientific and


engineering applications in rare cases. Stephen L. Smith, the company's
engineering manager for the Pentium, said discussions were under way with
scientists and engineers.

"Those are exactly the people who should call us," he said. "We're willing


to work with them and understand what applications they are using that
might be affected."

For Intel, which has spent millions of dollars on an advertising campaign


using the slogan "Intel Inside," the news of the defect might create
something of a public relations problem.

In recent months Intel has had success in positioning the Pentium as a


chip for scientific and engineering applications, boasting that at a lower
cost it matches the speed of rival processors made by Digital Equipment,
Hewlett-Packard, IBM and Sun Microsystems.

"The issue is being sure that the arithmetic is right," said Cleve Moler,


chairman and chief scientist of the Mathworks, a software company in
Natick, Mass., that develops mathematical software. "There are enough
other things that can go wrong that I don't want to think about
arithmetic."

The Pentium flaw is not the first to be found in microprocessors. Both


Intel's 386 and 486 chips, predecessors of the Pentium that remain in wide
use, have had different math errors that were corrected when they were
discovered. And in 1991 Sun Microsystems acknowledged that a division
error in its Sparc work stations created a security loophole. That problem
was later corrected.

Some computer users said they believed that Intel had not acted quickly


enough after discovering the error.

"Intel has known about this since the summer; why didn't they tell


anyone?" said Andrew Schulman, the author of a series of technical books
on PCs. "It's a hot issue, and I don't think they've handled this well."

The company said that after it discovered the problem this summer, it ran


months of simulations of different applications, with the help of outside
experts, to determine whether the problem was serious.

The Pentium error occurs in a portion of the chip known as the floating


point unit, which is used for extremely precise computations. In rare
cases, the error shows up in the result of a division operation.

Intel said the error occurred because of an omission in the translation of


a formula into computer hardware. It was corrected by adding several dozen
transistors to the chip.

The error was made public earlier this month after Thomas Nicely, a


mathematics professor at Lynchburg College in Lynchburg, Va., sent a
private electronic-mail message to several colleagues, asking them to
check their machines for the error.

Nicely was calculating a series of reciprocals of prime numbers, in part


to show that PCs now had enough power to be used instead of supercomputers
for computationally intensive tasks.

Nicely, who is now consulting with Intel, said he had run more than one


quadrillion calculations on a revised Pentium chip and had not reproduced
the error.

After the Pentium flaw was made public, Intel began telling users that it


had discovered and corrected the flaw in June, and last week it quietly
began offering replacement chips to users concerned about the error.

Executives at Compaq Computer Corp. and Dell Computer Corp., two large


Pentium customers, said they had begun to receive calls from users who had
found the error using a test recommended by Nicely.

A spokeswoman for Compaq said the company was referring the calls to


Intel. A spokesman for Dell said the company had been contacted recently
by Intel and was dealing directly with customers.

Re: FWD: NYTimes article on Pentium bug


John Harrison (John.Harrison@cl.cam.ac.uk)
Tue, 29 Nov 1994 16:04:03 +0000

  • Messages sorted by: [ date ][ thread ][ subject ][ author ]

  • Next message: Gerard Huet: "Formally verified arithmetic"

  • Previous message: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"

  • Maybe in reply to: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"

I'm curious about whether the problem was in the underlying algorithm used
or its hardware implementation. If I interpret the press report correctly:

| Intel said the error occurred because of an omission in the translation of
| a formula into computer hardware. It was corrected by adding several dozen
| transistors to the chip.

the error arose in transcription at some stage. Is that right? Perhaps I


read too much into journalese. But if so, it may be that formal
verification wouldn't have helped unless it was very tightly coupled with
the production process.

Nevertheless, I believe floating point hardware is a particularly good


target for formal verification by theorem proving. Providing the necessary
mathematical infrastructure for such verification efforts was the
motivation for all my work on formalizing analysis in HOL (though it has
since become an interest in itself).

John.



  • Next message: Gerard Huet: "Formally verified arithmetic"

  • Previous message: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"

  • Maybe in reply to: chou@cs.ucla.edu: "FWD: NYTimes article on Pentium bug"


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка