Intel Division Bug Scroll back to Autumn 1994 … The beginning…

Slides:



Advertisements
Similar presentations
Multiplying Decimals Multiplying decimals is similar to multiplying whole numbers. The difference is that we place a decimal point in the product
Advertisements

Physics Rules for using Significant Figures. Rules for Averaging Trials Determine the average of the trials using a calculator Determine the uncertainty.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Winter 2004 Lecture 7.
Addition Subtraction Multiplication Division
The Game of Algebra or The Other Side of Arithmetic The Game of Algebra or The Other Side of Arithmetic © 2007 Herbert I. Gross by Herbert I. Gross & Richard.
The Mathematics of Chemistry Significant Figures.
Data Representation Number Systems.
Decimals as an Extension of Percents © Math As A Second Language All Rights Reserved next #8 Taking the Fear out of Math %
Arithmetic of Positive Integer Exponents © Math As A Second Language All Rights Reserved next #10 Taking the Fear out of Math 2 8 × 2 4.
Chapter 1 Number Sense See page 8 for the vocabulary and key concepts of this chapter.
Lecture for Week Spring.  Numbers can be represented in many ways. We are familiar with the decimal system since it is most widely used in everyday.
Rounding Off Whole Numbers © Math As A Second Language All Rights Reserved next #5 Taking the Fear out of Math.
1 Lecture 5 Floating Point Numbers ITEC 1000 “Introduction to Information Technology”
Aim: How can we perform mathematical calculations with significant digits? Do Now: State how many sig. figs. are in each of the following: x 10.
Decimals.
Computer Arithmetic and the Arithmetic Unit Lesson 2 - Ioan Despi.
Lecture 12: Integer Arithmetic and Floating Point CS 2011 Fall 2014, Dr. Rozier.
1 Dividers Lecture 10. Required Reading Chapter 13, Basic Division Schemes 13.1, Shift/Subtract Division Algorithms 13.3, Restoring Hardware Dividers.
Computer Architecture Lecture 32 Fasih ur Rehman.
Addition, Subtraction, Multiplication, Division by a whole number, and Division by a decimal.
RULE #1: Standard Scientific Notation is a number from 1 to 9 followed by a decimal and the remaining significant figures and an exponent of 10 to hold.
Grade School Again: A Parallel Perspective CS Lecture 7.
Mathematical Operations with Significant Figures Ms. McGrath Science 10.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
Measurements and Units Chemistry is a quantitative science – How much of this blue powder do I have? – How long is this test tube? – How much liquid does.
Chapter 8: Estimating with Confidence
Part 2 Significant Figures with Calculations
Scientific Conventions and Mathematical Procedures
Chapter 3 “Scientific Measurement”
PS/IS 276 Grade 3 Parent Math Workshop
STANDARD ALGORITHMS For Year Olds
Using Scientific Measurements.
WHY DO SCIENTISTS TAKE MEASUREMENTS ?
Understanding Significant Figures
Read the instruments below
Chapter 1 Decimals Part 1.
ME 142 Engineering Computation I
Aim: Why are Significant Figures Important?
Addition Subtraction Multiplication Division
Addition Subtraction Multiplication Division
Integer Division.
Lecture 9: Floating Point
Samuel Hishmeh EE 585: Fault Tolerant Computing October 12th 2006
Significant Numbers in Calculations
Dr. Clincy Professor of CS
Unit 1 Significant Figures.
7 Chapter Rational Numbers as Decimals and Percent
CDA 3100 Summer 2011.
CSE 575 Computer Arithmetic Spring 2003 Mary Jane Irwin (www. cse. psu
STANDARD ALGORITHMS YEARS 4-7
Addition Subtraction Multiplication Division
Scientific Notation Scientific notation takes the form: M x 10n
Integers in 2’s compliment Floating point
Using Scientific Measurements.
STANDARD ALGORITHMS YEAR 2, 3, 4
Measurements in Chemistry
Measurements in Chemistry
SCIENTIFIC NOTATION.
WHY DO SCIENTISTS TAKE MEASUREMENTS ?
Addition Subtraction Multiplication Division
STANDARD ALGORITHMS For 7-10 Year Olds
STANDARD ALGORITHMS Year 2 – Year 5 and above Readiness
Significant Digits Calculations.
Addition Subtraction Multiplication Division
7 Chapter Decimals: Rational Numbers and Percent
STANDARD ALGORITHMS YEARS 5-8
Is it OK to write down all digits on your calculator?
ID1050– Quantitative & Qualitative Reasoning
Python Creating a calculator.
Presentation transcript:

Intel 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? 2/16/2019 CSE 378 Floating-point

FROM: Dr. Thomas R. Nicely Professor of Mathematics Lynchburg College, 1501 Lakeside Drive, Lynchburg, Virginia 24501-3199 RE: Bug in the Pentium FPU DATE: 30 October 1994 It 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.0 is 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 return 0.999999996274709702 for this calculation. A similar erroneous value is obtained for x*(1/x) for most values in the interval 00824633702418 <= x <= 824633702449 2/16/2019 CSE 378 Floating-point

Lots 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)*y should 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) 2/16/2019 CSE 378 Floating-point

Their Analysis 2/16/2019 CSE 378 Floating-point

Are 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 ... 2/16/2019 CSE 378 Floating-point

If we think your use warrants a new chip, we’ll give you one. Grove 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. 2/16/2019 CSE 378 Floating-point

Pictorially 2/16/2019 CSE 378 Floating-point

The 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 1 63 ) 818762 63 188 2/16/2019 CSE 378 Floating-point

Without Details: 7/3 2/16/2019 CSE 378 Floating-point

Half of symmetric table 2/16/2019 CSE 378 Floating-point

These entries should contain +2 but they were 0 2/16/2019 CSE 378 Floating-point

Resolution 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 reputation 2/16/2019 CSE 378 Floating-point

Intel Division Bug … Comic Perspective Q: 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 above A: Number 4. Q: What does the element Pentium decay into? A: Inert silicon with the emission of a press release. 2/16/2019 CSE 378 Floating-point