Document Sample

Symbol Representation and Floating Point Numbers Chapters 2 and 3 Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 1 Symbol Representation Early versions (60s and 70s) Six-bit binary code (CDC) EBCDIC – extended binary coded decimal interchange code (IBM) Presently used – ASCII – American standard code for information interchange – byte (8 bit) code specified by American National Standards Institute (ANSI) Unicode – 16 bit code and an extended 32 bit version Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 2 ASCII Each byte pattern represents a character (symbol) Convenient to write in hexadecimal, e.g., 00000000 0ten 00hex null 01000001 65ten 41hex A 01100001 97ten 61hex a See Figure 2.21, page 91 (Edition 3) or Figure 3.15, page 142 (Edition 2) C program – string -- terminating with a null byte 01000101 01000011 01000101 00000000 69ten, 45hex 67ten, 43hex 69ten, 45hex 00ten, 00hex E C E Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 3 MIPS: load byte, store byte lb $t0, 0($sp) # read byte from memory sb $t0, 0($gp) # write byte to memory Examine the string copy procedure (C code) and the corresponding MIPS assembly code on pages 92-93 (pages 143-144 in Edition 2). Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 4 Floating Point Numbers Integers: the universe is infinite but discrete No fractions No numbers between 5 and 6 A countable (finite) number of items in a finite range Real numbers – the universe is infinite and continuous Fractions represented by decimal notation Rational numbers, e.g., 5/2 = 2.5 Irrational numbers, e.g., 22/7 = 3.14159265 . . . Infinite numbers exist even in the smallest range Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 5 Wide Range of Numbers A large number: 976,000,000,000,000 = 9.76 × 1014 A small number: 0.0000000000000976 = 9.76 × 10-14 Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 6 Scientific Notation Decimal numbers 0.513×105, 5.13×104 and 51.3×103 are written in scientific notation. 5.13×104 is in normalized scientific notation. Binary numbers Base 2 Binary point – multiplication by 2 moves the point to the left. Normalized scientific notation, e.g., 1.0two×2-1 Known as floating point numbers. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 7 Floating Point Numbers General format ±1.bbbbb two×2eeee or (-1)S × (1+F) × 2E Where S = sign, 0 for positive, 1 for negative F = fraction (or mantissa) as a binary integer, 1+F is called significand E = exponent as a binary integer, positive or negative (two’s complement) Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 8 Binary to Decimal Conversion Binary (-1)S (1.b1b2b3b4) × 2E Decimal (-1)S × (1 + b1×2-1 + b2×2-2 + b3×2-3 + b4×2-4) × 2E Example: -1.1100 × 2-2 (binary) = - (1 + 2-1 + 2-2) ×2-2 = - (1 + 0.5 + 0.25)/4 = - 1.75/4 = - 0.4375 (decimal) Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 9 MIPS Single Precision S E: 8-bit Exponent F: 23-bit Fraction bits 23-30 bits 0-22 bit 31 Max |E| ~ 127, 2127 ~ 1038 Range of magnitudes, 2×10-38 to 2×1038 Overflow: Exponent requiring more than 8 bits. Number can be positive or negative. Underflow: Fraction requiring more than 23 bits. Number can be positive or negative. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 10 MIPS Double Precision S E: 11-bit Exponent F: 52-bit Fraction + bits 20-30 bits 0-19 bit 31 Continuation of 52-bit Fraction bits 0-31 Max |E| ~ 1023, 21023 ~ 10308 Range of magnitudes, 2×10-308 to 2×10308 Overflow: Exponent requiring more than 11 bits. Number can be positive or negative. Underflow: Fraction requiring more than 52 bits. Number can be positive or negative. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 11 IEEE 754 Floating Point Standard Biased exponent: true exponent range [-127,127] is changed to [0, 255]: Biased exponent is an 8-bit positive binary integer. True exponent obtained by subtracting 127ten or 01111111two First bit of significand is always 1: ± 1.bbbb . . . b × 2E 1 before the binary point is implicitly assumed. Significand field represents 23 bit fraction after the binary point. Significand range is [1, 2). Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 12 Examples Biased exponent (0-255), bias 127 (01111111) to be subtracted 1.1010001 × 210100 = 0 10010011 10100010000000000000000 = 1.6328125 × 220 -1.1010001 × 210100 = 1 10010011 10100010000000000000000 = -1.6328125 × 220 1.1010001 × 2-10100 = 0 01101011 10100010000000000000000 = 1.6328125 × 2-20 -1.1010001 × 2-10100 = 1 01101011 10100010000000000000000 = -1.6328125 × 2-20 0.5 0.125 0.0078125 0.6328125 Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 13 Numbers in 32-bit Formats Two’s complement integers Expressible numbers -231 0 231-1 Floating point numbers Negative underflow Positive underflow Negative Expressible Expressible Positive Overflow negative positive Overflow numbers numbers - (2 – 2-23)×2127 -2-127 0 2-127 (2 – 2-23)×2127 Ref: W. Stallings, Computer Organization and Architecture, Sixth Edition, Upper Saddle River, NJ: Prentice-Hall. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 14 Positive Zero in IEEE 754 0 00000000 00000000000000000000000 Biased Fraction exponent + 1.0 × 2-127 Smallest positive number in single-precision IEEE 754 standard. Interpreted as positive zero. Exponent less than -127 is positive underflow; can be regarded as zero. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 15 Negative Zero in IEEE 754 1 00000000 00000000000000000000000 Biased Fraction exponent - 1.0 × 2-127 Smallest negative number in single-precision IEEE 754 standard. Interpreted as negative zero. True exponent less than -127 is negative underflow; may be regarded as 0. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 16 Positive Infinity in IEEE 754 0 11111111 00000000000000000000000 Biased Fraction exponent + 1.0 × 2128 Largest positive number in single-precision IEEE 754 standard. Interpreted as + ∞ If true exponent = 128 and fraction ≠ 0, then the number is greater than ∞. It is called “not a number” or NaN and may be interpreted as ∞. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 17 Negative Infinity in IEEE 754 1 11111111 00000000000000000000000 Biased Fraction exponent -1.0 × 2128 Smallest negative number in single-precision IEEE 754 standard. Interpreted as - ∞ If true exponent = 128 and fraction ≠ 0, then the number is less than - ∞. It is called “not a number” or NaN and may be interpreted as - ∞. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 18 Addition and Subtraction 0. Zero check - Change the sign of subtrahend - If either operand is 0, the other is the result 1. Significand alignment: right shift smaller significand until two exponents are identical. 2. Addition: add significands and report exception if overflow occurs. 3. Normalization - Shift significand bits to normalize. - report overflow or underflow if exponent goes out of range. 4. Rounding Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 19 Example Subtraction: 0.5ten- 0.4375ten Step 0: Floating point numbers to be added 1.000two×2-1 and -1.110two×2-2 Step 1: Significand of lesser exponent is shifted right until exponents match -1.110two×2-2 → - 0.111two×2-1 Step 2: Add significands, 1.000two + (- 0.111two) Result is 0.001two ×2-1 Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 20 Example (Continued) Step 3: Normalize, 1.000two× 2-4 No overflow/underflow since 127 ≥ exponent ≥ -126 Step 4: Rounding, no change since the sum fits in 4 bits. 1.000two ×2-4 = (1+0)/16 = 0.0625ten Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 21 FP Multiplication: Basic Idea Separate sign Add exponents Multiply significands Normalize, round, check overflow Replace sign Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 22 FP Multiplication: Step 0 Multiply, X × Y yes no X = 0? Y = 0? Steps 1 - 5 no yes Z=0 Return Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 23 FP Mult. Illustration Multiply 0.5ten and -0.4375ten (answer = - 0.21875ten) or Multiply 1.000two×2-1 and -1.110two×2-2 Step 1: Add exponents -1 + (-2) = -3 Step 2: Multiply significands 1.000 ×1.110 0000 1000 1000 1000 1110000 Product is 1.110000 Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 24 FP Mult. Illustration (Cont.) Step 3: Normalization: If necessary, shift significand right and increment exponent. Normalized product is 1.110000 × 2-3 Check overflow/underflow: 127 ≥ exponent ≥ -126 Step 4: Rounding: 1.110 × 2-3 Step 5: Sign: Operands have opposite signs, Product is -1.110 × 2-3 Decimal value = - (1+0.5+0.25)/8 = - 0.21875ten Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 25 FP Division: Basic Idea Separate sign. Check for zeros and infinity. Subtract exponents. Divide significands. Normalize/overflow/underflow. Rounding. Replace sign. Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 26 MIPS Floating Point 32 floating point registers, $f0, . . . , $f31 FP registers used in pairs for double precision; $f0 denotes double precision content of $f0,$f1 Data transfer instructions: lwc1 $f1, 100($s2) # $f1←Mem[$s1+100] swc1 $f1, 100($s2) # Mem[$s2+100]←$f1 Arithmetic instructions: (xxx=add, sub, mul, div) xxx.s single precision xxx.d double precision Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 27 Recommended (Not Mandatory) Visit www.computerhistory.org to learn about the developments in computers. Many of the names and events in your book and those discussed in the class appear there. When in Silicon Valley, visit the Computer History Museum (Route 101, Mountain View, CA). Oct. 11-13, 2004 ELEC 5200-001/6200-001 Lecture 8 28

DOCUMENT INFO

Shared By:

Categories:

Tags:
complex numbers, how to, single precision, natural numbers, extended precision, negative numbers, irrational numbers, double precision, real numbers, floating point, rational numbers, ﬂoating point, floating point number, null hypothesis, point format

Stats:

views: | 8 |

posted: | 1/19/2010 |

language: | English |

pages: | 28 |

OTHER DOCS BY mtr14643

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.