Computer Engineering FloatingPoint page 1 Floating Point Number system corresponding to the decimal notation 1,837 * 10 significand exponent A great number.

Slides:



Advertisements
Similar presentations
Computer Engineering FloatingPoint page 1 Floating Point Number system corresponding to the decimal notation 1,837 * 10 significand exponent A great number.
Advertisements

Topics covered: Floating point arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3:
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3: IT Students.
Datorteknik FloatingPoint bild 1 Floating point Number system corresponding to the decimal notation 1,837 * 10 significand exponent a great number of corresponding.
Floating Point Numbers
CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (2)
Computer ArchitectureFall 2007 © September 5, 2007 Karem Sakallah CS 447 – Computer Architecture.
Booth’s Algorithm.
Number Systems Standard positional representation of numbers:
COE 308: Computer Architecture (T032) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (cont.) (Appendix A, Computer Architecture: A Quantitative.
Floating Point Numbers
CSE 378 Floating-point1 How to represent real numbers In decimal scientific notation –sign –fraction –base (i.e., 10) to some power Most of the time, usual.
Floating Point Numbers
COE 308: Computer Architecture (T041) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (Appendix A, Computer Architecture: A Quantitative Approach,
Computer ArchitectureFall 2008 © August 27, CS 447 – Computer Architecture Lecture 4 Computer Arithmetic (2)
Binary Representation and Computer Arithmetic
Computer Organization and Architecture Computer Arithmetic Chapter 9.
Computer Arithmetic Nizamettin AYDIN
Computer Arithmetic. Instruction Formats Layout of bits in an instruction Includes opcode Includes (implicit or explicit) operand(s) Usually more than.
Computer Arithmetic.
Fixed-Point Arithmetics: Part II
Computing Systems Basic arithmetic for computers.
ECE232: Hardware Organization and Design
Floating Point. Agenda  History  Basic Terms  General representation of floating point  Constructing a simple floating point representation  Floating.
S. Rawat I.I.T. Kanpur. Floating-point representation IEEE numbers are stored using a kind of scientific notation. ± mantissa * 2 exponent We can represent.
Floating Point (a brief look) We need a way to represent –numbers with fractions, e.g., –very small numbers, e.g., –very large numbers,
CH09 Computer Arithmetic  CPU combines of ALU and Control Unit, this chapter discusses ALU The Arithmetic and Logic Unit (ALU) Number Systems Integer.
Oct. 18, 2007SYSC 2001* - Fall SYSC2001-Ch9.ppt1 See Stallings Chapter 9 Computer Arithmetic.
CSC 221 Computer Organization and Assembly Language
1 Number Systems Lecture 10 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3:
Lecture notes Reading: Section 3.4, 3.5, 3.6 Multiplication
Computer Arithmetic Floating Point. We need a way to represent –numbers with fractions, e.g., –very small numbers, e.g., –very large.
Computer Architecture Lecture 22 Fasih ur Rehman.
Chapter 3 Arithmetic for Computers. Chapter 3 — Arithmetic for Computers — 2 Arithmetic for Computers Operations on integers Addition and subtraction.
Floating Point Numbers Representation, Operations, and Accuracy CS223 Digital Design.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale Floating point arithmetic.
Number Representation Fixed and Floating Point
Fixed-point and floating-point numbers Ellen Spertus MCS 111 October 4, 2001.
Chapter 9 Computer Arithmetic
William Stallings Computer Organization and Architecture 8th Edition
Floating Point Representations
Integer Division.
Floating Point Number system corresponding to the decimal notation
CS 232: Computer Architecture II
PRESENTED BY J.SARAVANAN. Introduction: Objective: To provide hardware support for floating point arithmetic. To understand how to represent floating.
William Stallings Computer Organization and Architecture 7th Edition
Luddy Harrison CS433G Spring 2007
Number Representations
CSCI206 - Computer Organization & Programming
How to represent real numbers
ECEG-3202 Computer Architecture and Organization
Chapter 8 Computer Arithmetic
Numbers with fractions Could be done in pure binary
Number Representations
Presentation transcript:

Computer Engineering FloatingPoint page 1 Floating Point Number system corresponding to the decimal notation 1,837 * 10 significand exponent A great number of corresponding binary standards exists. There is one common standard: IEEE (IEC 559) 4

Computer Engineering FloatingPoint page 2 IEEE Number representations: –Single precision (32 bits) sign:1 bit exponent:8 bits fraction:23 bits –Double precision (64 bits) sign:1 bit exponent:11 bits fraction:52 bits

Computer Engineering FloatingPoint page 3 Single Precision Format 1823 Sign S Exponent E: excess 127 binary integer Mantissa M: normalized binary significand w/ hidden integer bit: 1.M Excess 127; actual exponent is e = E N = (-1) S * (1.M [bit-string])*2 e SEM

Computer Engineering FloatingPoint page 4 Example 1 SEM e = E e = = -1 N = (-1) 1 * (1.1 [bit-string]) *2 -1 N = -1 * 0.11 [bit-string] N = -1 * (2 -1 * *1) N = -1 * (0.5* *1) =

Computer Engineering FloatingPoint page 5 Single Precision Range Magnitude of numbers that can be represented is in the range: *(1.0) to *( ) which is approximately: 1.8* to 3.4 *10 38

Computer Engineering FloatingPoint page 6 IEEE Fraction part: 23 / 52 bits; 0  x < 1 Significand: 1 + fraction part. “1” is not stored; “hidden bit”. corresponds to 7 resp. 16 decimal digits. Exponent: 127 / 1023 added to the exponent; “biased exponent”. corresponds to to / to

Computer Engineering FloatingPoint page 7 IEEE Special features: –Correct rounding of “halfway” result (to even number). –Includes special values: NaNNot a number  Infinity -  - Infinity –Uses denormal number to represent numbers less than 2 -E min –Rounds to nearest by default; Three other rounding modes exist. –Sophisticated exception handling.

Computer Engineering FloatingPoint page 8 Add / Sub (s1 * 2 e1 ) +/- (s2 * 2 e2 ) = (s1 +/- s2) * 2 e3 = s3 * 2 e3 –s = 1.s, the hidden bit is used during the operation. 1: Shift summands so they have the same exponent: –e.g., if e2 < e1: shift s2 right and increment e2 until e1 = e2 2: Add/Sub significands using the sign bits for s1 and s2. –set sign bit accordingly for the result. 3: Normalize result (sign bit kept separate): –shift s3 left and decrement e3 until MSB = 1. 4: Round s3 correctly. –more than 23 / 52 bits is used internally for the addition.

Computer Engineering FloatingPoint page 9 Multiplication (s1 * 2 e1 ) * (s2 * 2 e2 ) = s1 * s2 * 2 e1+e2 so, multiply significands and add exponents. Problem: Significand coded in sign & magnitude; use unsigned multiplication and take care of sign. Round 2n bits significand to n bits significand. Normalize result, compute new exponent with respect to bias.

Computer Engineering FloatingPoint page 10 Accurate Arithmetic 1. Multiply the two significands to get the 2n-bits product: –But we have only 23/52 bit to store the result! Case 1: x0 = 0, shift needed: Case 2: x0 = 1, increment exponent, set g = r; r = STICKY or r. x0 x1 x2 x3 x4 x5g r s s s s PA x1 x2 x3 x4 x5 g r STICKY 0….0 PA x0 x1 x2 x3 x4 x5 r (STICKY or r) STICKY PA The s bits are OR:ed together (“sticky bit”) STICKY guard round bit

Computer Engineering FloatingPoint page 11 Rounding 2: For both cases: if r = 0, P is the correctly rounded product. if r = 1 and STICKY = 1, then P + 1 is the correctly rounded product if r = 1 and s = 0, (the “halfway case”), then P is the correctly rounded product if x5 (or g) is 0 P+1 is the correctly rounded product if x5 (or g) is 1

Computer Engineering FloatingPoint page 12 Division (s1 * 2 ) / (s2 * 2 ) = (s1 / s2) * 2 e1 e1-e2 so, divide significands and subtract exponents Problem: Significand coded in signed- magnitude - use unsigned division (different algoritms exists) and take care of sign Round n + 2 (guard and round) bits significand to n bits significand Compute new exponent with respect to bias