論理回路基礎

論理回路基礎
2. 論理ゲート と ブール代数
五島 正裕
論理回路基礎
今日の内容
1. 前回の復習
 アナログとディジタル
2. 本論
 論理ゲート
 ブール代数
3. 今日のまとめ
論理回路基礎
前回の復習
論理回路基礎
アナログ と ディジタル
 情報処理の過程において,
 媒体の持つ物理量 と
 それの表す値 との
写像の方式
 アナログ:連続
 連続的なデータ ⇔ 媒体の連続的な状態
 ディジタル:離散
 離散的なデータ ⇔ 媒体の離散的な状態
論理回路基礎
物理量 と 値 の 写像
値
値
閾値
3
2
1
O
物理量
アナログ
O
物理量
ディジタル
論理回路基礎
アナログ,ディジタル と 信号劣化
 劣化がなければ(S/N 比∞)… アナログがよい
 アナログ:

情報量∞
 ディジタル:

量子化誤差がある
– 8b(256階調)で 0.4%(≒ 人間の識別限界)
– ビット数を増やせば,誤差は減る
論理回路基礎
アナログ,ディジタル と 信号劣化
 劣化があるので… ディジタルがよい
 アナログ:

決して元に戻らない
 ディジタル:

閾値未満のノイズなら,完全に元に戻る
– 2値なら,10~20% くらいなら耐えられる
– ただし,それでも誤るとアナログより致命的になり得る
論理回路基礎
ディジタル の メリット(まとめ)
 記録/伝送
 ノイズによって誤りが発生しにくい

コピーや経年によって情報が劣化しにくい

再現性が高い
 処理
 ディジタル式のコンピュータとの親和性が高い

プログラミング可能
– 圧縮が容易
– 誤り訂正符号などによる誤り訂正が可能
–…
論理回路基礎
ディジタル回路 と 論理回路
 ディジタル回路
 物理的
 通常は,Low/High の2つの物理状態を扱う
 通常は,電子回路で作る
 論理回路
 抽象的,モデル
 真理値の 0/1,false/true を扱う
 ディジタル回路で作る
論理回路基礎
論理ゲート と ブール代数
論理回路基礎
今日の目標
 すべての論理回路は,AND,OR,NOT の組み合わせでできる.
論理回路基礎
論理ゲート
AND
(論理積)
MIL記号
MIL symbol
a
b
a
z
b
論理式
logic expression
真理値表
truth table
z = a∙b
NOT
(論理否定)
OR
(論理和)
z a
z=a+b
z
z=a
z=¬a
a
b
z
a
b
z
0
0
0
0
0
0
a
z
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
論理回路基礎
論理ゲート
NAND
MIL記号
MIL symbol
a
b
a
z
b
論理式
logic expression
真理値表
truth table
buffer?
NOR
z = a∙b
z a
z=a+b
z
z=a
a
b
z
a
b
z
0
0
1
0
0
1
a
z
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
論理回路基礎
論理ゲート
XOR (EOR)
(排他的論理和)
MIL記号
MIL symbol
論理式
logic expression
真理値表
truth table
a
b
XNOR (EQ)
a
z
b
b
z=a
z
b
z=a
a
b
z
a
b
z
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
論理回路基礎
余談
 MIL 記号
 MIL : 米国軍用規格(Military Standard)
 JIS の論理記号もある(が,誰も使わない)
 OR と XOR
 OR :
(包含的)論理和 (inclusive-OR)
 XOR :
排他的 論理和 (exclusive-OR)
 日常の「または」は,どっち?

1年以下の懲役 または 100万円以下の罰金

x = 0, 1
論理回路基礎
組み合わせ回路 (Combinational Circuit)
a
b
c
d
z
z = a∙b + c∙d
論理回路基礎
ブール代数
論理回路基礎
ブール代数
 ブール代数 (Boolean Algebra)
 George Bool

論理計算のために考案
 Claude Shannon

論理回路に応用
論理回路基礎
ブール代数の公理系
1. 変数(ブール変数)の値
 0 または 1
2. 論理和
 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 0, 1 + 1 = 1
3. 論理積
 0 ∙ 0 = 0, 0 ∙ 1 = 1, 1 ∙ 0 = 1, 1 ∙ 1 = 1
論理回路基礎
論理関数
 f : (i1, i2, …, in) → o (i1, i2, …, in, o : ブール変数)
 2入力論理関数:先ほどの AND,OR 等
 1入力論理関数:NOT ,BUF 等
n
2
 n入力の論理関数は 2 とおり
n
 入力は 2 とおり
 そのそれぞれに,0 または 1 を指定できる
n
o
0 0 … 0
0/1
0 0 … 1
0/1
1 1 … 1
…
…
…
…
…
2
i1 i2 … in
0/1
論理回路基礎
すべての1,2入力論理関数
1
2 =2
i1
o0 o1 o2 o3
0
0
0
1
1
1
0
1
0
1
すべての1入力論理関数
21
すべての2入力論理関数
2 =4
i2
i1
o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
2
2 =4
1
22
2 = 16
論理回路基礎
ブール代数の定理
 対合律
 ¬(¬x) = x
 補元律
 結合律
 (x∙y)∙z = x∙(y∙z)
 (x + y) + z = x + (y + z)
 分配律
 x∙(¬x) = 0
 x + y∙z = (x + y)∙(x + z)
 x + (¬x) = 1
 x∙(y + z) = x∙y + x∙z
 べき等律
 吸収律
 x∙x = x,
 x∙(x + y) = x
x+x=x
 x + x∙y = x
 交換律
 x∙y = y∙x
x+y=y+x
 ド・モルガンの定理
 ¬(x∙y) = ¬x + ¬y
 ¬(x + y) = (¬x)∙(¬y)
論理回路基礎
ド・モルガンの法則
 ¬(x∙y) = ¬x + ¬y
 ¬(x + y) = (¬x)∙(¬y)
論理回路基礎
完全性(Completeness,完備性)
 完全集合 (Complete Set)
 論理関数の集合で,
 その要素の組み合わせによって,すべての論理関数を表現できる
 完全集合の例
 {AND, OR, NOT}
 {AND, NOT}
 {OR, NOT}
 {NAND}
 {NOR}
論理回路基礎
完全性の証明 {AND, OR, NOT}
 数学的帰納法:
1. 1入力の論理関数は {AND, OR, NOT} の組合せで表現できる
1.
n 入力の関数を {AND, OR, NOT} の組合せで表現できたと仮定して,(n +
1) 入力の関数が表現できることをいう
論理回路基礎
完全性の証明 {AND, OR, NOT}
1. 1入力の論理関数はすべて,{AND, OR, NOT} の組合せで表現できる.
o0 = 0
0
i1
o0 o1 o2 o3
0
0
0
1
1
1
0
1
0
1
o1 = i1
o2 = ¬i1
o3 = 1
1
論理回路基礎
すべての1,2入力論理関数
1
2 =2
i1
o0 o1 o2 o3
0
0
0
1
1
1
0
1
0
1
すべての1入力論理関数
21
すべての2入力論理関数
2 =4
i2
i1
o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
2
2 =4
1
22
2 = 16
論理回路基礎
完全性の証明 {AND, OR, NOT}
1.
1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,
2 入力の関数が表現できることをいう
0
i1
f0
i1
f1
1
i2 = 0
論理回路基礎
完全性の証明 {AND, OR, NOT}
1.
1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,
2 入力の関数が表現できることをいう
0
i1
f0
i1
f1
1
i2 = 1
論理回路基礎
完全性の証明 {AND, OR, NOT}
1.
n 入力の関数を {AND, OR, NOT} の組合せで表現できたと仮定して,
(n + 1) 入力の関数が表現できることをいう
in+1
in
…
i2
i1
0
0
…
0
0
0
0
…
0
1
…
…
…
1
1
1
0
…
0
0
1
0
…
0
1
…
…
…
…
1
1
…
1
1
f0
f = ¬in+1∙f0 + in+1∙f1
…
…
1
…
…
…
0
o
f1
論理回路基礎
完全性の証明 {AND, OR, NOT}
1.
n 入力の関数を {AND, OR, NOT} の組合せで表現できたと仮定して,
(n + 1) 入力の関数が表現できることをいう
i1
i2
f0
in
i1
i2
f1
in
in+1
論理回路基礎
完全性の証明 一般の場合
 {AND, OR, NOT} が作れることを言う
 ex) {NAND}
AND
OR
NOT
論理回路基礎
今日のまとめ
論理回路基礎
ブール代数
 完全集合:
 すべての論理関数が作れる
 完全集合の例:
 {AND,OR,NOT}
 {NAND}
 完全集合をディジタル回路で作ればよい!
 普通は,{NAND,NOR,NOT}
論理回路基礎
来週以降の予定
 11/ 3
 文化の日
 11/10
 組み合わせ回路の最小化