Unformatted text preview:

Intel Division BugPowerPoint PresentationLots of DiscussionTheir AnalysisAre spreadsheet numbers independent?Grove StatementPictoriallyThe Radix-4 SRT Divide AlgorithmWithout Details: 7/3Slide 10Slide 11ResolutionIntel Division Bug … Comic Perspective01/14/19 CSE 378 Floating-point 1Intel Division Bug•Scroll back to Autumn 1994 …The beginning…Thomas Nicely of Lynchburg College discovered that he got the wrong answers with his Pentium, and posted a query on the Internet asking if others had discovered the same thing?01/14/19 CSE 378 Floating-point 2FROM: Dr. Thomas R. Nicely Professor of Mathematics Lynchburg College, 1501 Lakeside Drive, Lynchburg, Virginia 24501-3199RE: Bug in the Pentium FPUDATE: 30 October 1994It appears that there is a bug in the floating point unit (numeric coprocessor) of many, and perhaps all, Pentium processors.In short, the Pentium FPU is returning erroneous values for certain division operations. For example,1/824633702441.0is calculated incorrectly (all digits beyond the eighth significant digit are in error). This can be verified in compiled code, an ordinary spreadsheet such as Quattro Pro or Excel, or even the Windows calculator (use the scientific mode), by computing(824633702441.0)*(1/824633702441.0),which should equal 1 exactly (within some extremely small rounding error; in general, coprocessor results should contain 19 significant decimal digits). However, the Pentiums tested return0.999999996274709702for this calculation. A similar erroneous value is obtained for x*(1/x) for most values in the interval00824633702418 <= x <= 82463370244901/14/19 CSE 378 Floating-point 3Lots of Discussion•Being on the Internet rather than a private communication with Intel or with some small group of colleagues, the posting attracted considerable attention and made it into the national media•Many researchers jumped in finding dramatic cases:x=4195835, y=3145727 and z=x-(x/y)*yshould equal 0, but on the Pentium z=256•Immediately IBM quit shipping PCs with Pentiums•Intel blamed it’s radix-4 SRT algorithm and said the error would occur once in 27,000 years of using a spreadsheet (and had been fixed in new chips)01/14/19 CSE 378 Floating-point 4Their Analysis01/14/19 CSE 378 Floating-point 5Are spreadsheet numbers independent?•A fire storm began as people pointed out the error in this reasoning–Spreadsheet use is likely to focus on a small set of numbers–When calculations are complete is the answer any good?–IBM’s analysis showed an error rate of 1 in 15 days•The people who complained the loudest were scientific computing types, who, naturally, knew what they were talking about•Eventually, Andy Grove, CEO of Intel issued a statement over Thanksgiving weekend saying that no chip is perfect (true enough) and adding ...01/14/19 CSE 378 Floating-point 6Grove Statement 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.==If we think your use warrants a new chip, we’ll give you one.01/14/19 CSE 378 Floating-point 7Pictorially01/14/19 CSE 378 Floating-point 8The Radix-4 SRT Divide Algorithm•So, what went wrong?•SRT independently invented by Sweeny & Robertson and Tocher in 1958•Features:–Radix 4 means it works on 2 binary digits at a time: faster–Non-restoring means quotient bits can be -2, -1, 0, 1, 2–Consider division...–Table driven–Bad divisors: 1.0001, 1.0100, 1.0111, 1.1010, 1.1101 163 ) 818762 63 18801/14/19 CSE 378 Floating-point 9Without Details: 7/301/14/19 CSE 378 Floating-point 10Half of symmetric table01/14/19 CSE 378 Floating-point 11These entries should contain +2 but they were 001/14/19 CSE 378 Floating-point 12Resolution•The matter was settled when, late in December, Intel agreed to replace anyone’s chip …Intel will exchange the current version of the Pentium processor for an updated version in which this floating-point divide flaw is corrected for any owner who requests it, free of charge anytime during the life of their computer. Just call 1-800-628-8686.•It is estimated the recall cost Intel $500M, and an untold cost to its reputation01/14/19 CSE 378 Floating-point 13Intel Division Bug … Comic PerspectiveQ: How many Pentium designers does it take to screw in a light bulb?A: 1.99904274017, but that's close enough for non-technical people.Q: Why didn't Intel call the Pentium the 586?A: Because they added 486 and 100 on the first Pentium and got 585.999983605. Q: Complete the following word analogy: Add is to Subtract as Multiply is to(1) Divide, (2) Round, (3) Random, (4) On a Pentium, all of the aboveA: Number 4.Q: What does the element Pentium decay into?A: Inert silicon with the emission of a press


View Full Document

UW CSE 378 - Intel Division Bug

Documents in this Course
Encoding

Encoding

20 pages

Load more
Download Intel Division Bug
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Intel Division Bug and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Intel Division Bug 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?