Download presentation
Presentation is loading. Please wait.
1
Integer Arithmetic Floating Point Representation Floating Point Arithmetic Topics
2
2’s Complement Integers
3
2’s Complement Addition/Subtraction A + B A What is Overflow? How is it identified?
4
Unsigned Integer Multiplication
5
Q x M AQ
6
Unsigned Integer Multiplication Flow Diagram
7
2’s Comp Multiplication Booth’s Algorithm Q -1 Add one extra bit to the Q register:
8
2’s Comp Multiplication Booth’s Algorithm Q -1
9
2’s Comp Multiplication Booth’s Algorithm
10
Booth : (7) x (3) A Q M 3 7 0000 0011 0 0111 -------------------- 1001 0011 0 0111 A <- (A - M) 1st 1100 1001 1 0111 Shift -------------------- 2nd 1110 0100 1 0111 Shift -------------------- 0101 0100 1 0111 A <- (A + M) 3rd 0010 1010 0 0111 Shift -------------------- 4th 0001 0101 0 0111 Shift --------------------
11
Booth : (7) x (-3) A Q M -3 7 0000 1101 0 0111 -------------------- 1001 1101 0 0111 A <- (A - M) 1st 1100 1110 1 0111 Shift -------------------- 0011 1110 1 0111 A <- (A + M) 2nd 0001 1111 0 0111 Shift -------------------- 1010 1111 0 0111 A <- (A - M) 3rd 1101 0111 1 0111 Shift -------------------- 4th 1110 1011 1 0111 Shift --------------------
12
Booth : (-7) x (3) A Q M 3 -7 0000 0011 0 1001 -------------------- 0111 0011 0 1001 A <- (A - M) 1st 0011 1001 1 1001 Shift -------------------- 2nd 0001 1100 1 1001 Shift -------------------- 1010 1100 1 1001 A <- (A + M) 3rd 1101 0110 0 1001 Shift -------------------- 4th 1110 1011 0 1001 Shift --------------------
13
Booth : (-7) x (-3) A Q M -3 -7 0000 1101 0 1001 -------------------- 0111 1101 0 1001 A <- (A - M) 1st 0011 1110 1 1001 Shift -------------------- 1100 1110 1 1001 A <- (A + M) 2nd 1110 0111 0 1001 Shift -------------------- 0101 0111 0 1001 A <- (A - M) 3rd 0010 1011 1 1001 Shift -------------------- 4th 0001 0101 1 1001 Shift --------------------
14
Unsigned Integer Division
17
Divisor M Dividend Q Quotient in Q Remainder in A
18
What about 2’s Comp Division ? Can we do something like Booth’s Algorithm? Why might we use Booth’s Algorithm for multiplication but not for Division?
19
Single Precision Floating Point Numbers IEEE Standard 32 bit Single Precision Floating Point Numbers are stored as: S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF S: Sign – 1 bit E: Exponent – 8 bits F: Fraction – 23 bits The value V: If E=255 and F is nonzero, then V= NaN ("Not a Number") If E=255 and F is zero and S is 1, then V= - Infinity If E=255 and F is zero and S is 0, then V= Infinity If 0<E<255 then V= (-1)**S * 2 ** (E-127) * (1.F) (exponent range = -127 to +128) If E=0 and F is nonzero, then V= (-1)**S * 2 ** (-126) * (0.F) ("unnormalized" values”) If E=0 and F is zero and S is 1, then V= - 0 If E=0 and F is zero and S is 0, then V = 0 Note: 255 decimal = 11111111 in binary (8 bits) Significand
20
FP Examples
21
Double Precision Floating Point Numbers IEEE Standard 64 bit Double Precision Floating Point Numbers are stored as: S EEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF S: Sign – 1 bit E: Exponent – 11 bits F: Fraction – 52 bits The value V: If E=2047 and F is nonzero, then V= NaN ("Not a Number") If E=2047 and F is zero and S is 1, then V= - Infinity If E=2047 and F is zero and S is 0, then V= Infinity If 0<E<2047 then V= (-1)**S * 2 ** (E-1023) * (1.F) (exponent range = -1023 to +1024) If E=0 and F is nonzero, then V= (-1)**S * 2 ** (-1022) * (0.F) ("unnormalized" values) If E=0 and F is zero and S is 1, then V= - 0 If E=0 and F is zero and S is 0, then V= 0 Note: 2047 decimal = 11111111111 in binary (11 bits) Significand
22
32 bit 2’s Complement Integer Numbers All the Integers from -2,147,483,648 to + 2,147,483,647, i.e. - 2 Gig to + 2 Gig-1
23
32 bit FP Numbers
24
“Density” of 32 bit FP Numbers Note: ONLY 2 32 FP numbers are representable There are only 2 32 distinct combinations of bits in 32 bits !
25
The Added Denormalized FP Numbers
26
Floating Point Addition / Subtraction Steps: Check for zero Align the significands (fractions) Add or Subtract the significands Normalize the Result Bad Results: Exponent Overflow Exponent Underflow Significand Overflow Significand Underflow
27
Floating Point Addition/Subraction
28
Floating Point Multiplication 1)Check for zero 2)Multiply significands 3)Add exponents 4)Normalize Overflow/underflow?
29
Floating Point Multiplication
30
Floating Point Division 1)Check for zero 2)Divide significands 3)Subract exponents 4)Normalize Overflow/underflow?
31
Floating Point Division
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.