ALU: 1-bit | ||||||||||||||
How about subtraction? | ||||||||||||||
We can use the adder to add the negated form of the operand | ||||||||||||||
a - b = a + (-b) | ||||||||||||||
Add an inverter to the circuit to negate b | ||||||||||||||
This gives 1's complement | ||||||||||||||
How do we get 2C value? | ||||||||||||||
Use cin = 1 for least significant bit | ||||||||||||||
a + ~b + 1 = a + (~b + 1) = a + (-b) = a - b | ||||||||||||||
Another MUX with control input Binvert |
|
|||||||||||||
can select b or -b | ||||||||||||||
1-bit ALU with subtraction | ||||||||||||||
(Fig. 4.16) | ||||||||||||||