Transcript Document
コンピュータアーキテクチャI #3 二変数論理関数 平成27年4月24日 教科書p.17~p.40 本日の講義内容 ブール代数 – 土・モルガンの法則の証明(真理値表を使って) 二変数論理関数 – 二変数論理関数の種類 – 完全系 – ブール代数による項の整理 主なブール代数の定理(4) 任意の元𝐴, 𝐵に対し,次のド・モルガンの定理が成 立する 𝐴+𝐵 =𝐴⋅𝐵 𝐴⋅𝐵 =𝐴+𝐵 𝑨 𝑩 𝑨+𝑩 𝑨+𝑩 𝑨 𝑩 𝑨⋅𝑩 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 𝑨 𝑩 𝑨⋅𝑩 𝑨⋅𝑩 𝑨 𝑩 𝑨+𝑩 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 2変数論理関数とは 2つの論理変数A,Bから組み立てられる関数 𝑍 =𝐴○𝐵 ○には何か論理演算子が入る A,Bはそれぞれ0,1の値をとりうるので,4通りの 入力パターンがある ある入力パターンに対して,出力は0,1の2通り 24=16通りの「2変数論理関数」があると共に,そ れ以上は存在しない 2変数論理関数のパターン A 1 1 0 0 A 1 1 0 0 B 1 0 1 0 B 1 0 1 0 #0 0 0 0 0 #8 1 0 0 0 #1 0 0 0 1 #9 1 0 0 1 #2 0 0 1 0 #10 1 0 1 0 #3 0 0 1 1 #11 1 0 1 1 #4 0 1 0 0 #12 1 1 0 0 #5 0 1 0 1 #13 1 1 0 1 #6 0 1 1 0 #14 1 1 1 0 #7 0 1 1 1 #15 1 1 1 1 Ex) #4は 𝐴, 𝐵 = (1,0)のときのみ𝑍 = 1となる2変数関数𝑓(𝐴, 𝐵)を表す 2変数論理関数𝑭(𝑨, 𝑩)のいろいろ(1) #0: 𝐹 𝐴, 𝐵 = 0 – – 入力に関わらず出力が0 定数0 #1:𝐹 0,0 = 1 – ORの否定に等しい.“NOR” (Not-OR)と呼ばれる #2:𝐹 0,1 = 1 – 𝐴⋅𝐵 #3:𝐹 0,1 = 𝐹 0,0 = 1 – 𝐴が0のときのみ1なので,𝐴の否定に等しい 2変数論理関数𝑭(𝑨, 𝑩)のいろいろ(2) #4:𝐹(1,0) = 1 – 𝐴𝐵 #5:𝐹 1,0 = 𝐹 0,0 = 1 – 𝐵が0のときのみ1なので,𝐵の否定に等しい #6:𝐹 1,0 = 𝐹 0,1 = 1 – 𝐴𝐵 + 𝐴𝐵 – 排他的論理和(XOR, EOR)と言われ,𝐴⨁𝐵で表す #7:𝐹 1,0 = 𝐹 0,1 = 𝐹 0,0 = 1 – 𝐴, 𝐵共に1以外は1なので,ANDの否定に等しい – NANDと呼ばれる 2変数論理関数𝑭(𝑨, 𝑩)のいろいろ(3) #8:𝐹 1,1 = 1 – AND(𝐴 ⋅ 𝐵) #9:𝐹 1,1 = 𝐹 0,0 = 1 – 𝐴𝐵 + 𝐴 ⋅ 𝐵 = 𝐴 ⊕ 𝐵 #10:𝐹 1,1 = 𝐹 0,1 = 1 – 𝐴に関わらず,𝐵の値に等しいので,単に𝐵 #11:𝐹 1,1 = 𝐹 0,1 = 𝐹 0,0 = 1 – 𝐴+𝐵 2変数論理関数𝑭(𝑨, 𝑩)のいろいろ(4) #12:𝐹 1,1 = 𝐹 1,0 = 1 – 𝐵に関わらず出力は𝐴に等しいので,単に𝐴 #13:𝐹 1,1 = 𝐹 1,0 = 𝐹(0,0) = 1 – 𝐴+𝐵 #14:𝐹 1,1 = 𝐹 1,0 = 𝐹 0,1 = 1 – 𝐴か𝐵のどちらか一方でも1ならば出力は1 – 論理和(OR)である #15:𝐹 1,1 = 𝐹 1,0 = 𝐹 0,1 = 𝐹 0,0 = 1 – 入力に関わらず出力が1 – 定数1 完全系 2変数論理関数16種類 – AND, OR, NOTがあればすべて表現できる – 上記3演算をもって「完全系」をなす,という 他に完全系を成す演算(素演算)はあるか? – NAND, NORは単独で完全系をなす – NOTとAND, NOTとORも完全系をなす 単一演算子による完全系:NOR NOR: 𝐴 + 𝐵 = 𝐴 ⋅ 𝐵 = 𝐴‖𝐵 NORを使った論理演算 – NOT: 𝐴 = 𝐴‖𝐴 – OR: 𝐴 + 𝐵 = (𝐴‖𝐵)‖(𝐴‖𝐵) – AND : 𝐴 ⋅ 𝐵 = (𝐴‖𝐴)‖(𝐵‖𝐵) 単一演算子による完全系:NAND NAND: 𝐴 ⋅ 𝐵 = 𝐴 + 𝐵 = 𝐴|𝐵 NANDを使った論理演算 – NOT: 𝐴 = 𝐴|𝐴 = 1|𝐴 – AND: 𝐴 ⋅ 𝐵 = (𝐴|𝐵)|(𝐴|𝐵) – OR: 𝐴 + 𝐵 = 𝐴 𝐴 |(𝐵|𝐵) 最小項と最大項 最小項 – すべての論理変数が真,または偽の形で含まれている論 理積項 最大項 – すべての論理変数が真,または偽の形で含まれている論 理和項 加法標準形と乗法標準形 今まで書いてきた論理式 ex) 𝐴𝐵𝐶 + 𝐴𝐵𝐶 + 𝐴𝐵𝐶 (論理)積を各項に,それを(論理)和で結んだ形 「加法標準形」という 真理値が0となる項も含めて書くと「主加法標準形」と 呼ばれる – (論理)和項を(論理)積で結んだ形は「乗法標準形」と呼 ばれる – – – – 多変数論理関数の表現 主加法標準形 – 𝑛個の論理変数を持つ論理変数𝐹について, 𝐹 𝑋1 , 𝑋2 , ⋯ , 𝑋𝑛 = 𝐹 0,0, ⋯ , 0,0 + 𝐹 0,0, ⋯ , 0,1 + 𝐹 0,0, ⋯ , 1,0 +⋯ + 𝐹 1,1, ⋯ , 1,1 論理最小項 𝑋1 𝑋2 ⋯ 𝑋𝑛−1 𝑋𝑛 𝑋1 𝑋2 ⋯ 𝑋𝑛−1 𝑋𝑛 𝑋1 𝑋2 ⋯ 𝑋𝑛−1 𝑋𝑛 𝑋1 𝑋2 ⋯ 𝑋𝑛−1 𝑋𝑛 – 論理積の和,と言う形で表現する. – すべての入出力の組合せを列挙する. 論理関数の簡単化とは 論理式の項数を少なくすること – ド・モルガンの定理や各種ブール代数の公理・定理を駆使 して項数を減らす 論理式で使われている演算子を統一すること – 完全系を成すNANDやNORのみで論理式を記述し,必要 な部品の種類を減らす 論理式の簡単化の例(1) 与えられた論理式: – 𝑌 = 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 – 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 = 𝐴𝐵𝐷 𝐶 + 𝐶 = 𝐴𝐵𝐷 – 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 = 𝐴𝐵𝐶 𝐷 + 𝐷 = 𝐴𝐵𝐶 – 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 = 𝐴 + 𝐴 𝐵𝐶𝐷 = 𝐵𝐶𝐷 𝑌 = 𝐴𝐵𝐷 + 𝐴𝐵𝐶 + 𝐵𝐶𝐷 論理式の簡単化の例(2) 与えられた論理式: – 𝑌 = 𝐴𝐵𝐶 𝐷 + 𝐴𝐵𝐶𝐷 + 𝐴𝐵 𝐶𝐷 + 𝐴𝐵𝐶𝐷 + 𝐴𝐵 𝐶 𝐷 + 𝐴𝐵𝐶𝐷 + 𝐴 𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 – 𝑌 = 𝐴𝐵𝐶 + 𝐴𝐶𝐷 + 𝐴𝐵 𝐶 + 𝐴𝐵𝐶 – 𝑌 = 𝐴𝐶 + 𝐴𝐵 + 𝐴𝐶𝐷 簡単化の練習 次の論理式を簡単化しなさい –𝑌 = 𝐴𝐵 + 𝐴𝐵 + 𝐴 𝐵 –𝑌 = 𝐴 + 𝐵 ⋅ (𝐴 + 𝐵) 本日のまとめと来週の予定 ブール代数の基礎 – – – – ブール代数と定理 二変数論理関数 完全系 ブール代数を利用した項の整理 来週の予定(5月1日) – ブール代数演習 – 単元テスト