L12-ac-fp2-mips-machine3-2up

L12-ac-fp2-mips-machine3-2up - CS61C L12 Floating Point II,...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS61C L12 Floating Point II, MIPS Instruction Format III (1) Chae, Summer 2008 UCB Albert Chae, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #12 Floating Point II, MIPS Instruction Format III 2008-7-10 CS61C L12 Floating Point II, MIPS Instruction Format III (2) Chae, Summer 2008 UCB Review Floating Point numbers approximate values that we want to use. Summary (single precision): 31 S Exponent 30 23 22 Significand 1 bit 8 bits 23 bits (-1) S x (1 + Significand) x 2 (Exponent-127) Why do we use bias? Double precision same idea with more bits- 11 bit exponent, bias of 1023- 52 bit significand CS61C L12 Floating Point II, MIPS Instruction Format III (3) Chae, Summer 2008 UCB Peer Instruction from yesterday There is no interval of numbers where the gap between a floating point representation and the next biggest is 1. False ? ???? ???? 000 0000 0000 0000 0000 0001 ? ???? ???? 000 0000 0000 0000 0000 0000 CS61C L12 Floating Point II, MIPS Instruction Format III (4) Chae, Summer 2008 UCB Converting Decimal to FP (1/4) Simple Case: If denominator is an exponent of 2 (2, 4, 8, 16, etc.), then its easy. Show MIPS representation of -0.75 -0.75 = -3/4 -11 two /100 two = -0.11 two Normalized to -1.1 two 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 0000 CS61C L12 Floating Point II, MIPS Instruction Format III (5) Chae, Summer 2008 UCB Converting Decimal to FP (2/4) Not So Simple Case: If denominator is not an exponent of 2. Then we cant represent number precisely, but thats why we have so many bits in significand: for precision Once we have significand, normalizing a number to get the exponent is easy. So how do we get the significand of a neverending number? CS61C L12 Floating Point II, MIPS Instruction Format III (6) Chae, Summer 2008 UCB Converting Decimal to FP (3/4) Fact: All rational numbers have a repeating pattern when written out in decimal. Fact: This still applies in binary. To finish conversion: Write out binary number with repeating pattern. Cut it off after correct number of bits (different for single v. double precision). Derive Sign, Exponent and Significand fields. CS61C L12 Floating Point II, MIPS Instruction Format III (7) Chae, Summer 2008 UCB Example: 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 * 2 = 1.0101010101 2 * 2-2 Sign: 0 Exponent = -2 + 127 = 125 = 01111101 Significand = 0101010101 0111 1101 0101 0101 0101 0101 0101 010 CS61C L12 Floating Point II, MIPS Instruction Format III (8) Chae, Summer 2008 UCB Converting Decimal to FP (4/4) 1. Denormalize: -23.40625 2. Convert integer part: 23 = 16 + ( 7 = 4 + ( 3 = 2 + ( 1 ) ) ) = 10111 2 3. Convert fractional part:...
View Full Document

Page1 / 32

L12-ac-fp2-mips-machine3-2up - CS61C L12 Floating Point II,...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online