| ALU: k-bit | ||||||||||||||
| To operate on k-bit values, |
|
|||||||||||||
| we can connect k 1-bit ALU's | ||||||||||||||
| 32-bit ALU is constructed using 32 | ||||||||||||||
| 1-bit ALU's | ||||||||||||||
| Input bits are connected in pairs | ||||||||||||||
| Control bits (Binvert, Operation) | ||||||||||||||
| are connected to each ALU | ||||||||||||||
| cout from each ALU is connected to | ||||||||||||||
| cin of next most significant bit ALU | ||||||||||||||
| (ripple carry) | ||||||||||||||
| cin for lsb is 1 for subtract operation | ||||||||||||||
| Set from ALU31 (msb) is connected | ||||||||||||||
| to Less input of ALU0 (lsb) | ||||||||||||||
| (0 input for all other ALUs) | ||||||||||||||
| Overflow from ALU31 is additional output | ||||||||||||||
| 32-bit ALU (Fig. 4.18) | ||||||||||||||