15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Earl E. Swartzlander, Jr.<br />

University of Texas at Austin<br />

Gensuke Goto<br />

Yamagata University<br />

9.1 High-Speed Computer Arithmetic<br />

Earl E. Swartzlander, Jr.<br />

Introduction<br />

© 2002 by CRC Press LLC<br />

9<br />

Computer Arithmetic<br />

9.1 High-Speed Computer Arithmetic<br />

Introduction • Fixed-Point Number Systems • Fixed-Point<br />

Arithmetic Algorithms • Floating Point<br />

Arithmetic • Conclusions<br />

9.2 Fast Adders and Multipliers<br />

Introduction • Adder • Carry Skip<br />

Adder • Multiplier • Conclusion<br />

The speed of a computer is determined to a first order by the speed of the arithmetic unit and the speed<br />

of the memory. Although the speed of both units depends directly on the implementation technology,<br />

arithmetic unit speed also depends strongly on the logic design. Even for an integer adder, speed can<br />

easily vary by an order of magnitude while the complexity varies by less than 50%.<br />

This chapter section begins with a brief discussion of binary fixed point number systems in the subsection<br />

on “Fixed Point Number Systems.” The subsection on “Fixed Point Arithmetic Algorithms” provides<br />

examples of fixed point implementations of the four basic arithmetic operations (i.e., add, subtract,<br />

multiply, and divide). Finally, the “Floating Point Arithmetic” subsection describes algorithms for floating<br />

point arithmetic.<br />

Regarding notation, capital letters represent digital numbers (i.e., n-bit words), while subscripted lower<br />

case letters represent bits of the corresponding word. The subscripts range from 0 to n − 1 to indicate the bit<br />

position within the word (x 0 is the least significant bit of X, x n−1 is the most significant bit of X, etc.). The<br />

logic designs presented in this chapter are based on positive logic with AND, OR, and INVERT operations.<br />

Depending on the technology used for implementation, different logical operations (such as NAND and<br />

NOR) or direct transistor realizations may be used, but the basic concepts do not change significantly.<br />

Fixed-Point Number Systems<br />

Most arithmetic is performed with fixed-point numbers, which have constant scaling (i.e., the position<br />

of the binary point is fixed). The numbers can be interpreted as fractions, integers, or mixed numbers,<br />

depending on the application. Pairs of fixed-point numbers are used to create floating-point numbers,<br />

as discussed in “Floating-Point Arithmetic” subsection.<br />

At the present time, fixed-point binary numbers are generally represented using the two’s complement<br />

number system. This choice has prevailed over the sign magnitude and one’s complement number systems,<br />

because the frequently performed operations of addition and subtraction are easiest to perform on two’s

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!