情報技術

情報技術
~2値の論理と演算~
2014年5月1日
笠井俊信
今回の目標
2値情報を扱う基本となる理論(プール代数)に
ついて学び,それがハードウェアの実現にどの
ように用いられるかを学ぶ.
プール代数
• 論理(2値)を扱う
• (論理)変数は論理値(0 or 1)をとる
• 2値の入力と出力の関係は,論理変数に対する
(論理)演算からなる(論理)関数によって定義
• 論理演算の機能を持つ論理素子を使って,論理
関数を回路で表現したものが論理回路
• コンピュータは基本的に論理回路で構成
基本論理演算
• 論理積(乗法 AND) x・y
– 2変数がともに1の時,論理積は1
– 2変数のいずれかが0の時,論理積は0
• 論理和(加法 OR) x+y
– 2変数のいずれかが1の時,論理和は1
– 2変数がともに0の時,論理和は0
• 論理否定(否定 NOT) x
– 変数が0の時,論理否定は1
– 変数が1の時,論理否定は0
演算の優先順位は,否定,乗法,加法の順
真理値表
論理変数の値とそれに対する論理関数の値の関係の表
x
y
x・y
x+y
x
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
プール代数の定理
名称
単位元則
零元則
べき等則
補元則
交換則
結合則
分配則
吸収則
ド・モルガン則
AND形式
x・1=x
x・0=0
OR形式
x+0=x
x+1=1
x・x=x
x・x=0
x+x=x
x・y=y・x
(x・y)・z=x・(y・z)
x+y・z=(x+y)・(x+z)
x+y=y+x
(x+y)+z=x+(y+z)
x・(x+y)=x
x・y=x+y
x+x=1
x・(y+z)=x・y+x・z
x+x・y=x
x+y=x・y
例題1
分配則x+y・z=(x+y)・(x+z)を真理値表で確かめよ
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
y・z
0
0
0
1
0
0
0
1
x+y x+z
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
(x+y)・(x+z)
0
0
0
1
1
1
1
1
x+y・z
0
0
0
1
1
1
1
1
論理式の作り方
すべての論理関数は,真理値表,論理式で表現すること
が可能.
論理式を回路で構成したものが論理回路であり,論理式
と1対1に対応
• 入力のすべての組み合わせのうち,出力が1の
ものだけについて,入力が1のものはそのまま,0
なら否定したものの積の式を書く.この式を最小
項という.
• 最小項の論理和が求める論理式である.
主加法標準形 or 積和標準形
例題2
3入力のうち,多数が1の時出力1となり,多数が0
の時出力0となる多数決論理の論理式を書け
x
y
z
f
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
x・y・z
x・y・z
x・y・z
x・y・z
f = x・y・z + x・y・z +
x・y・z + x・y・z
演習問題
• 吸収則x・(x+y)=x, x+x・y=xを真理値表で
確かめよ
• 2入力の比較器(2入力が同じなら1,異なる
なら0を出力)の真理値表と論理式を書け
演習問題1
吸収則x・(x+y)=x, x+x・y=xを真理値表で確かめよ
x
y
x+y
x・(x+y)
x・y
x+x・y
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
演習問題2
2入力の比較器(2入力が同じなら1,異なるなら0
を出力)の真理値表と論理式を書け
x
y
f
0
0
1
1
0
1
0
1
1
0
0
1
x・y
f = x・y+ x・y
x・y
x y
0
0
1
1
0
1
0
1
x・y x・y x・y+ x・y
1
0
0
0
0
0
0
1
1
0
0
1
f
1
0
0
1