Floating Point Hardware and Algorithms

Download Report

Transcript Floating Point Hardware and Algorithms

Floating Point Hardware and
Algorithms
1
CH.3
4/2/2016
Review
2
 4-bit multiplier using 4-bit adder
 32-bit multiplier using 32 bit adder + 32
multiplicand, 32-bit multiplier, 64-bit product, and a
control unit  this is a sequential multiplier
 Improve performance. How?


What is performance? Define performance. Speed, flops,
power consumption, etc.
Improve performance through hardware optimization;


Improve performance through better algorithms


Example multiplier
Example: multiplier
Improve performance through better data representation.
4/2/2016
Floating point numbers
3
 Why do we need them?
 To represent very large number and very small number.
 To represent a larger range of number with a given size
in bits.
 Lets consider a 4 bit container
 Lets consider a 8 bit container
 Now lets look at some data sizes,



An astronautical unit (Au)is the distance between the earth and the
sun in meters.
150,000,000,000 meters
Size of Helium atom: 1 angstrom: 10-10 meters
 See more details on units of measurement here
4/2/2016
FP Representation
4
S
Exponent
Fraction
Value = (-1)S X
F
X2E
32 bit single precision
64 bit double precision
On to IEEE 754 format
4/2/2016
Nothing is simple (IEEE 754 not yet)
5
 Consider the representation of real number.
 Eg.: -56.731 or -0.4539
 Lets see how we can go from this human readable
form to IEEE 754


Goals: you want to represent as large a range as possible
You want to include features that will optimize processing
 Exponent, fraction, sign of exponent, sign of fraction
-56.731 or -0.4539  -0.56731 X 102 -0.4539 X 100
0
2
1
56731
4/2/2016
Binary Representation
6
 Now lets look at binary representation
 Eg. 0.00001010 X 23
-0.0000000 X 2-4
How will you add these numbers?
How will you multiply these?
 When you answer these questions, you find that it
will help to have the numbers in (i) fractional form,
(ii) normalized, and (iii) exponents mapped to a
positive range by adding a bias.
 Also it is possible to represent a larger range by
implying the leading 1 in the normalized fraction and
a single zero.
4/2/2016
IEE754 Format
7
A floating point number will be represented by a
normalized fraction with implied leading 1, biased
exponent mapped onto a positive range (no sign
needed) and only sign bit is for the entire number.
In other words:
Fp = (S, normalized fraction, biased E) is equivalent
(-1)S X (1 + fraction) X 2 (E-bias)
Lets look at some examples.
4/2/2016
Floating Point Operation: Addition
8
 Now lets look at floating point arithmetic unit. We
will examine only addition.
4/2/2016
FP Addition and Multiplication
9
 Components: operands, ALU, control, comparison,
shifters, normalize, round
 Control
 ALUs
4/2/2016