名古屋工業大学
先進セラミックス研究センター
井田 隆
名古屋工業大学 環境材料工学科 3 年次授業「マテリアルデザイン」の講義ノートです。
二進数の1桁は 0 か 1 の値しかとりません。この二進数での1桁のことを 「1 ビット bit」といいます。 はじめに,「1 ビットの足し算回路」について考えます。 つまり,
という4通りの場合について正しい答えを出力するための回路です。 十進数 (decimal number) での 2 という数は,二進数 (binary number) だと 10 と表されます。このことをはっきりとさせるために,
と書く場合があります。 上の式を二進数で表現すると,
と書けます。
このような計算をどのような電子回路で実現できるでしょうか? おおまかには,2本の入力信号線と2本の出力信号線を備えた回路になるはずです。 つまり,足し算の2つの入力を A, B という2本の入力信号線に割り当て,出力のうち「20 = 1」の桁の数字を Y0 という出力信号線, 「21 = 2」の桁の数字(繰り上がり)を Y1 という出力信号線に割り当てます。 全体としては,図 3.1 のような形になるわけです。
図 3.1
1桁の足し算回路。Y0 は 20 = 1 の桁の数,Y1 は 21 = 2 の桁の数を出力する。
つぎに,この回路の中身を考えましょう。 出力 Y0 ,Y1 と入力 A, B の間には表 3.1 のような関係があります。
A | B | Y1 | Y0 |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
この関係を論理式を使って書くために,次のように考えます。 表 3.1 から,「出力 Y0 が 1 になる」のは,「A = 0 かつ B = 1」の場合と,「A = 1 かつ B = 0」の場合との2通りあります。これを式で表せば,
となります。 この関係は,「排他的論理和 XOR」と同じです。 つまり,XOR ゲートを使えば一桁の足し算の 20 = 1 の桁を得る回路になるわけです。
つぎに,出力 Y1 と入力 A, B の間の関係は,
となります。 この関係は,「論理積 AND」そのものです。つまり,AND ゲートを使えば1桁の足し算の繰り上がりの部分, 21 = 2 の桁を得る回路になるわけです。
これらのことをまとめれば,1ビットの足し算をするための電子回路としては全体として,図 3.2 のような構成にすれば良いわけです。 この「1ビットの足し算回路」は半加算器 half adder と呼ばれます。
図 3.2
「1ビット」の足し算回路 (2)(半加算器)。
XOR ゲートと AND ゲートの組み合わせで実現できる。
2005年9月6日公開
2013年4月16日更新