半加算器
Half adder

名古屋工業大学
先進セラミックス研究センター
井田 隆

名古屋工業大学 環境材料工学科 3 年次授業「マテリアルデザイン」の講義ノートです。

前へ 上へ 次へ


第1部 コンピュータの基礎
Fundamentals about Computer

第3章 算術演算
Arithmetic operation

3−1 電子回路による加算
Addition with electronic circuits

3−1−1 半加算器
Half adder

二進数の1桁は 0 か 1 の値しかとりません。この二進数での1桁のことを 「1 ビット bit」といいます。 はじめに,「1 ビットの足し算回路」について考えます。 つまり,

0 + 0 = 0
 

0 + 1 = 1
 

1 + 0 = 1
 

1 + 1 = 2
 

という4通りの場合について正しい答えを出力するための回路です。 十進数 (decimal number) での 2 という数は,二進数 (binary number) だと 10 と表されます。このことをはっきりとさせるために,

(2)d = (10)b
 

と書く場合があります。 上の式を二進数で表現すると,

0 + 0 = (00)b
 

0 + 1 = (01)b
 

1 + 0 = (01)b
 

1 + 1 = (10)b
 

と書けます。

このような計算をどのような電子回路で実現できるでしょうか? おおまかには,2本の入力信号線と2本の出力信号線を備えた回路になるはずです。 つまり,足し算の2つの入力を A, B という2本の入力信号線に割り当て,出力のうち「20 = 1」の桁の数字を Y0 という出力信号線, 「21 = 2」の桁の数字(繰り上がり)を Y1 という出力信号線に割り当てます。 全体としては,図 3.1 のような形になるわけです。


図 3.1
1桁の足し算回路。Y0 は 20 = 1 の桁の数,Y1 は 21 = 2 の桁の数を出力する。

つぎに,この回路の中身を考えましょう。 出力 Y0Y1 と入力 A, B の間には表 3.1 のような関係があります。

表 3.1
1ビット加算回路の入力 AB と出力 Y0Y1 の関係
ABY1Y0
0000
0101
1001
1110

この関係を論理式を使って書くために,次のように考えます。 表 3.1 から,「出力 Y0 が 1 になる」のは,「A = 0 かつ B = 1」の場合と,「A = 1 かつ B = 0」の場合との2通りあります。これを式で表せば,

Y0 = (AB) ∨ (AB)
 

となります。 この関係は,「排他的論理和 XOR」と同じです。 つまり,XOR ゲートを使えば一桁の足し算の 20 = 1 の桁を得る回路になるわけです。

つぎに,出力 Y1 と入力 A, B の間の関係は,

Y1 = AB
 

となります。 この関係は,「論理積 AND」そのものです。つまり,AND ゲートを使えば1桁の足し算の繰り上がりの部分, 21 = 2 の桁を得る回路になるわけです。

これらのことをまとめれば,1ビットの足し算をするための電子回路としては全体として,図 3.2 のような構成にすれば良いわけです。 この「1ビットの足し算回路」は半加算器 half adderハーフ・アダー と呼ばれます。


図 3.2
「1ビット」の足し算回路 (2)(半加算器)。 XOR ゲートと AND ゲートの組み合わせで実現できる。


前へ 上へ 次へ

2005年9月6日公開
2013年4月16日更新