Arithmetic Circuits


Arithmetic is where the answer is right and everything is nice and you can look out the window and see the blue sky-or the answer is wrong and you have to start all over and try again and see how it comes out this time.
-Carl Sandberg



Introduction

In this chapter we will examine arithmetic circuits as detailed case studies of the principles of combinational logic design. Up to this point, we have concentrated on circuits that manipulate binary numbers as unsigned magnitudes only. We begin this chapter looking at ways to represent both positive and negative numbers in the binary system, and at the various schemes for adding and subtracting signed numbers. Then we will revisit the circuits for the half and full adder, as these form the basis for just about every arithmetic circuit we will meet.

Arithmetic circuits provide excellent examples of the trade-offs between circuit speed and complexity. We will examine two approaches for high-speed addition, carry look-ahead logic and carry select addition. These allow us to sum numbers very quickly, but at the cost of a much more complex network with many more gates.

We will also learn how to design one of the most important subsystems in a digital computer: the arithmetic logic unit or ALU. The ALU comprises the combinational logic that implements logic operations, such as AND and OR, and arithmetic operations, such as ADD and SUBTRACT. It is at the heart of the instruction execution portion of every computer that has ever been built.

Table of Contents

5.1. Number Systems
5.2. Networks for Binary Addition
5.3. Arithmetic Logic Unit Design
5.4. BCD Addition
5.5. Combinational Multiplier
5.6. An 8 x 8 Bit Multiplier
Chapter Review
Exercises

[Table of Contents] [Next] [Prev]

This file last updated on 07/14/96 at 05:41:25.
randy@cs.Berkeley.edu;