現在、私は秋の基本情報技術者試験に向けて勉強中です。
その中で、私が得た知識をまとめて記事にしています。
本記事のテーマ
本記事では、コンピュータの加算の仕組みである、半加算器と全加算器の説明を行います。
半加算器
半加算器とは繰り上がりを考慮しない2進数1桁の加算と、1桁の繰り上がりを出力することができます。
具体的に計算するとこうなります!
次に出力Cと出力Sの真理値表をまとめると下記のようになります。
さらに良く見てみると、出力Cは論理積(AND)の真理値表と同じ、出力Sは排他的論理和(XOR)と同じになっています。
つまり、AND回路とXOR回路を繋げれば半加算器が完成します!
全加算器
全加算器とは、2進数で1桁の繰り上がりを含めた1桁の加算結果と、1桁の繰り上がりを出力することができる。
8ビットの計算はこうなります。
そのため、残加算器は3つの入力を受け付ける必要があります。「入力A+入力B+入力C'(桁上がりしてきた数)」が出力される必要があります。
では、どんな回路を使えば全加算器が成り立つか考えます。
まずはじめに考えるのが、「入力A+入力B」の部分。ここは半加算器で作成できます。
次に入力C(桁上がりしてきた数)を計算にくっつけるにはどうすればいいか。
A A
+ B + B
ーーー → ーーー
C S C S
+
C'
つまり次は、「出力S+入力C'」をやれば良い!
だから、半加算器をもう一つ組み合わせて、計算式を成り立たせます。
これが全加算器です。
このように、全加算器は半加算器とOR回路を組み合わせることによって実現できます!
以上で半加算器と全加算器の説明は終了です!
特に全加算器は少し複雑ですが、今回の図を書いてみると分かりやすいと思います。
頑張りましょう!
参考資料
・キタミ式イラストIT塾 基本情報技術者 平成31/01年