1 / 9

Floating Point Hardware and Algorithms

Floating Point Hardware and Algorithms. Ch.3. Review. 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?

ivanbritt
Download Presentation

Floating Point Hardware and Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Floating Point Hardware and Algorithms Ch.3

  2. Review • 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; • Example multiplier • Improve performance through better algorithms • Example: multiplier • Improve performance through better data representation.

  3. Floating point numbers • 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. FP Representation S Exponent Fraction Value = (-1)S X F X 2 E 32 bit single precision 64 bit double precision On to IEEE 754 format

  5. Nothing is simple (IEEE 754 not yet) • 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

  6. Binary Representation • 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.

  7. IEE754 Format 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.

  8. Floating Point Operation: Addition • Now lets look at floating point arithmetic unit. We will examine only addition.

  9. FP Addition and Multiplication • Components: operands, ALU, control, comparison, shifters, normalize, round • Control • ALUs

More Related