Adders
The central computational element in any computer is the adder. Counting in a number system always proceeds by incrementing the least significant digit. A digit advances from its maximum value back to zero by generating a carry to the digit on its left. Thus 011 is followed by 100 in base 2 as the next units value is 0 with a carry, the second digit receives a carry and increments from its maximum value to zero again with a carry and the third digit then receives the carry and increments to 1. Adding two numbers is just an extension of this concept of counting. In every digit position, there are two operands and a possible carry. The operation of an adder is as follows: the two operands and the carry-in are added together. If the result is less than the base, this sum is outputted with a carry-out of 0. 0therwise the base is subtracted from the total of the two operands and the carry-in and this sum is outputted with a carry-out.
|
Binary One-bit |
||||
|
x |
y |
Cin |
Sum |
Cout |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
1 |
0 |
0 |
1 |
|
1 |
1 |
1 |
1 |
1 |

We have defined the interface, function and internal gate structure for a one-bit adder. So from now on we will treat this adder as a block. Below is pictured an N-bit parallel adder.
