DOC PREVIEW
Berkeley COMPSCI 61C - Lecture Notes

This preview shows page 1-2-3-19-20-38-39-40 out of 40 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS61C L11 Floating Point II (1)Beamer, Summer 2007 © UCBScott Beamer, Instructorinst.eecs.berkeley.edu/~cs61cCS61C : Machine Structures Lecture #11 – Floating Point II2007-7-12Sony &Nintendomake E3Newswww.nytimes.comCS61C L11 Floating Point II (2)Beamer, Summer 2007 © UCBReview• Floating Point numbers approximatevalues that we want to use.• IEEE 754 Floating Point Standard is mostwidely accepted attempt to standardizeinterpretation of such numbers• Every desktop or server computer sold since~1997 follows these conventions• Summary (single precision):031S Exponent30 23 22Significand1 bit 8 bits 23 bits• (-1)S x (1 + Significand) x 2(Exponent-127)• Double precision identical, bias of 1023CS61C L11 Floating Point II (3)Beamer, Summer 2007 © UCB“Father” of the Floating point standardIEEE Standard754 for BinaryFloating-PointArithmetic.www.cs.berkeley.edu/~wkahan/…/ieee754status/754story.htmlProf. Kahan1989ACM TuringAward Winner!CS61C L11 Floating Point II (4)Beamer, Summer 2007 © UCBPrecision and AccuracyPrecision is a count of the number bits in acomputer word used to represent a value.Accuracy is a measure of the differencebetween the actual value of a number andits computer representation.Don’t confuse these two terms!High precision permits high accuracy but doesn’t guarantee it. It is possible to have high precisionbut low accuracy. Example:float pi = 3.14;pi will be represented using all 24 bits of thesignificant (highly precise), but is only anapproximation (not accurate).CS61C L11 Floating Point II (5)Beamer, Summer 2007 © UCBFractional Powers of 20 1.0 11 0.5 1/22 0.25 1/43 0.125 1/84 0.0625 1/165 0.03125 1/326 0.0156257 0.00781258 0.003906259 0.00195312510 0.000976562511 0.0004882812512 0.00024414062513 0.000122070312514 0.0000610351562515 0.000030517578125i 2-iCS61C L11 Floating Point II (6)Beamer, Summer 2007 © UCBRepresentation of Fractions“Binary Point” like decimal point signifiesboundary between integer and fractional parts:xx.yyyy21202-12-22-32-4Example 6-bitrepresentation:10.10102 = 1x21 + 1x2-1 + 1x2-3 = 2.62510If we assume “fixed binary point”, range of 6-bitrepresentations with this format:0 to 3.9375 (almost 4)CS61C L11 Floating Point II (7)Beamer, Summer 2007 © UCBUnderstanding the Significand (1/2)• Method 1 (Fractions):• In decimal: 0.34010 => 34010/100010 => 3410/10010• In binary: 0.1102 => 1102/10002 = 610/810 => 112/1002 = 310/410• Advantage: less purely numerical, morethought oriented; this method usuallyhelps people understand the meaning ofthe significand betterCS61C L11 Floating Point II (8)Beamer, Summer 2007 © UCBUnderstanding the Significand (2/2)• Method 2 (Place Values):• Convert from scientific notation• In decimal: 1.6732 = (1x100) + (6x10-1) +(7x10-2) + (3x10-3) + (2x10-4)• In binary: 1.1001 = (1x20) + (1x2-1) +(0x2-2) + (0x2-3) + (1x2-4)• Interpretation of value in each positionextends beyond the decimal/binary point• Advantage: good for quickly calculatingsignificand value; use this method fortranslating FP numbersCS61C L11 Floating Point II (9)Beamer, Summer 2007 © UCBExample: Converting Binary FP to Decimal• Sign: 0 => positive• Exponent:• 0110 1000two = 104ten• Bias adjustment: 104 - 127 = -23• Significand:• 1 + 1x2-1+ 0x2-2 + 1x2-3 + 0x2-4 + 1x2-5 +...=1+2-1+2-3 +2-5 +2-7 +2-9 +2-14 +2-15 +2-17 +2-22= 1.0ten + 0.666115ten0 0110 1000 101 0101 0100 0011 0100 0010• Represents: 1.666115ten*2-23 ~ 1.986*10-7 (about 2/10,000,000)CS61C L11 Floating Point II (10)Beamer, Summer 2007 © UCBConverting Decimal to FP (1/3)• Simple Case: If denominator is anexponent of 2 (2, 4, 8, 16, etc.), thenit’s easy.• Show MIPS representation of -0.75• -0.75 = -3/4• -11two/100two = -0.11two• Normalized to -1.1two x 2-1• (-1)S x (1 + Significand) x 2(Exponent-127)• (-1)1 x (1 + .100 0000 ... 0000) x 2(126-127)1 0111 1110 100 0000 0000 0000 0000 0000CS61C L11 Floating Point II (11)Beamer, Summer 2007 © UCBConverting Decimal to FP (2/3)• Not So Simple Case: If denominator isnot an exponent of 2.• Then we can’t represent number precisely,but that’s why we have so many bits insignificand: for precision• Once we have significand, normalizing anumber to get the exponent is easy.• So how do we get the significand of aneverending number?CS61C L11 Floating Point II (12)Beamer, Summer 2007 © UCBConverting Decimal to FP (3/3)• Fact: All rational numbers have arepeating pattern when written out indecimal.• Fact: This still applies in binary.• To finish conversion:• Write out binary number with repeatingpattern.• Cut it off after correct number of bits(different for single v. double precision).• Derive Sign, Exponent and Significandfields.CS61C L11 Floating Point II (13)Beamer, Summer 2007 © UCBExample: Representing 1/3 in MIPS• 1/3= 0.33333…10= 0.25 + 0.0625 + 0.015625 + 0.00390625 + …= 1/4 + 1/16 + 1/64 + 1/256 + …= 2-2 + 2-4 + 2-6 + 2-8 + …= 0.0101010101… 2 * 20= 1.0101010101… 2 * 2-2• Sign: 0• Exponent = -2 + 127 = 125 = 01111101• Significand = 0101010101…0 0111 1101 0101 0101 0101 0101 0101 010CS61C L11 Floating Point II (14)Beamer, Summer 2007 © UCBRepresentation for ± ∞• In FP, divide by 0 should produce ± ∞,not overflow.• Why?• OK to do further computations with ∞E.g., X/0 > Y may be a valid comparison• Ask math majors• IEEE 754 represents ± ∞• Most positive exponent reserved for ∞• Significands all zeroesCS61C L11 Floating Point II (15)Beamer, Summer 2007 © UCBRepresentation for 0• Represent 0?• exponent all zeroes• significand all zeroes too• What about sign?•+0: 0 00000000 00000000000000000000000•-0: 1 00000000 00000000000000000000000• Why two zeroes?• Helps in some limit comparisons• Ask math majorsCS61C L11 Floating Point II (16)Beamer, Summer 2007 © UCBSpecial Numbers• What have we defined so far? (Single Precision)Exponent Significand Object0 0 00 nonzero ???1-254 anything +/- fl. pt. #255 0 +/- ∞255 nonzero ???• Professor Kahan had clever ideas;“Waste not, want not”• Exp=0,255 & Sig!=0 …CS61C L11 Floating Point II (17)Beamer, Summer 2007 © UCBRepresentation for Not a Number• What is sqrt(-4.0)or 0/0?• If ∞ not an error, these shouldn’t be either.• Called Not a Number (NaN)• Exponent = 255, Significand nonzero• Why is this useful?• Hope NaNs help with debugging?• They contaminate: op(NaN, X) = NaNCS61C L11 Floating Point


View Full Document

Berkeley COMPSCI 61C - Lecture Notes

Documents in this Course
SIMD II

SIMD II

8 pages

Midterm

Midterm

7 pages

Lecture 7

Lecture 7

31 pages

Caches

Caches

7 pages

Lecture 9

Lecture 9

24 pages

Lecture 1

Lecture 1

28 pages

Lecture 2

Lecture 2

25 pages

VM II

VM II

4 pages

Midterm

Midterm

10 pages

Load more
Download Lecture Notes
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 Lecture Notes 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 Lecture Notes 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?