加算器のときと同様に「1 ビットの ALU」を構成し、
それを組み合わせることで「 ビットの ALU」が実現できる。
[AND、OR、加算を行なう ALU]
まず、AND、OR、加算を行なう 1 ビットの ALU は図 3 のように 構成される。
操作入力 の値によって、出力 の値が AND、OR、加算のいずれかに 選択される。全加算器のためにキャリーイン および キャリーアウト が存在することにも注意しよう。
この 1 ビット ALU を 32 個組み合わせれば、32 ビット ALU が構成される (図 4)。
加算器の時には、最下位ビット (図 4 では と )
の計算にはキャリーインを考慮する必要はなかったが、
ここではキャリーイン が存在する。それは減算を
行なう ALU を構成したいためである。
それを次節でみよう。
[減算のための ALU の拡張]
32 ビットの符号付き数 と の減算 は、 とすることで加算にすることができた。 ただし、 は の符号を反転することで得られる。 符号反転は「ビット反転をして 1 を加える」ことで実現される (付録 A.2 参照)。
のビット反転を行なえるようにした 1 ビット ALU は 図 5である。
また、この ALU を 32 個繋げたのが図 6 である。
[問題]