計算機基礎 根来 均 (第4 (第4週) 論理回路 計算機基礎 08 根来 授業の目的 計算機内部 (CPU) で、どのような「論 理回路」を用いて演算や論理演算が行わ れているかを理解する。 1 計算機基礎 08 根来 参考書に関するコメント ソフトウェアにハードウェア、そして インターネットまで概要が書かれている。 ■ 「(電気・電子系教科書シリーズ 17)計算機システ 17)計算機システ ム」 春日健・舘泉雄治 著/コロナ社 ■ 原理を中心に説明。 「コンピュータのしくみを理解するための 10 章」 C 言語によるプログラムの例もある。 馬場敬信 著/技術評論社 「(情報科学こんせぷつ)コンピュータの仕組み」 尾内理紀夫 著/朝倉書店 現在の CPU, メモリアーキテクチャが 詳しく書かれている。 論理回路 計算機基礎 08 根来 (ブール代数: boolean algebra) 1854 英 Boole がブール論理 / 1938 米 Claude E. Shannon が計算機に適用 スイッチ回路で 論理和 (OR) 論理和を実現 A A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1 ここでの 0, 1 は、偽 (false, 0)と 真 (true, 1) を表し、2 進数の和を 表してるのではない。 B MIL記号 (米国軍用規格 Military Standard) A OR “gate” B 2 計算機基礎 08 根来 論理積(AND ) 論理積(AND) A 0 0 1 1 A・B B 0 1 0 1 0 0 0 1 B (inverter を用いる) 家電製品で 使われる インバータとは 違います A 1 0 MIL記号 A 論理否定(NOT ) 論理否定(NOT) A 0 1 B A MIL記号 計算機基礎 08 根来 否定論理和(NOR, 否定論理和(NOR, Negative OR) OR) A 0 0 1 1 B 0 1 0 1 A+B 1 0 0 0 A 0 0 1 1 B 0 1 0 1 A・B A B 否定論理積(NAND, 否定論理積(NAND, Negative AND) AND) 1 1 1 0 A B 3 排他的論理和(XOR, 排他的論理和(XOR, eXclusive OR) OR) A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 0 A B A 半加算回路 S (和 ) X 例 (X=)1 (Y=)1 10 計算機基礎 08 根来 B Y Cr(桁上げ) || || Cr S 計算機基礎 08 根来 基本論理回路 論理和 (OR) 否定論理和 (NOR) 論理積 (AND) 論理否定 (NOT) 否定論理積 (NAND) 排他的論理和 (XOR) 4 計算機基礎 08 根来 実際の回路では NAND か NOR だけ! NAND だけの例 A B A・B 0 0 1 1 0 1 0 1 1 1 1 0 NOT ! AND ! さらに OR は、ド・モルガン則 (A+B = A・B) より、 NOT と AND で表せる! A + B = A・B A B 計算機基礎 08 根来 さらに、NAND は簡単な実際の (半導体)回路で実現可能 Drain - - - nn Gate +++ - - - P n Source MOS 電界効果トランジスタ 5 計算機基礎 08 根来 さらに、NAND は簡単な実際の (半導体)回路で実現可能 C 1→0 Drain A 0→1 n P Gate n Source MOS 電界効果トランジスタ B 0→1 1 / 0:電位が高い/低い状態 計算機基礎 08 根来 全加算器 (full adder, FA) 半加算回路 半加算回路の 図での (X=) A 半加算回路の図の Cr に下位からの桁 上げの結果も入っ ている。 (Y=) B C (下位からの桁上げ) D (桁上げ) S (和) 半加算回路 6 計算機基礎 08 根来 全加算器 (full adder, FA) 半加算回路 半加算回路の 図での (X=) A 半加算回路の図の Cr に下位からの桁 上げの結果も入っ ている。 (Y=) B FA D (桁上げ) S (和) C (下位からの桁上げ) 半加算回路 2つの FA を使った例 A B C A’ (2桁目の) B’ D FA (1桁目の) C’ FA S 計算機基礎 08 根来 D’ S’ 1桁目の FA の桁上がりの D であり、2桁目のFA の C’。 例 (1) (A’=) 1 1 (=A) (B’=) 0 1 (=B) 1 0 0 || || || D’ S’ S 7 計算機基礎 08 根来 演算回路 2進数で 16 桁 (16 bit) の加算回路 a = (a16a15 …. a1)2 b = (b16b15 …. b1)2 s = (s16s15 …. s1)2 s = a+b a16 b16c16 FA ・・・・ a3 b3 c3 a2 b2 c2 a1 b1 c 1 FA FA FA s16 s3 引き算は? s2 s1 回路で加算が可能 -> 全演算が可能 計算機基礎 08 根来 符号化回路 (Encoder) 入力(例えば、キーボードから) 電流 0 1 2 3 4 5 6 7 0 3 bit 目 1 2 bit 目 符号化 された 出力 1 1 bit 目 問: 0 から 15 (F) まで符号化する符号化回路は? 8 解読回路 (Decoder) 計算機基礎 08 根来 符号化された 3 bit 目 0 2 bit 目 1 1 1 bit 目 0 1 2 3 4 5 6 7 出力(例えば、モニターに表示) 問: 4 bit の場合は、どうなる? 計算機基礎 08 根来 フリップフロップ (Flip-Flop, FF) 回路 (set) S 1 Q0 1 0 1 R Q 記号 S R Q Q 9 計算機基礎 08 根来 フリップフロップ (Flip-Flop, FF) 回路 入力が 0 になっても 1 bit の情報を保持。 S 1 bit の記憶素子 として利用 (SRAM) 0 Q0 1 0 1 R Q 記号 S R 例えば、この 出力値が 1 bit の情報に対応 する。 Q Q 計算機基礎 08 根来 フリップフロップ (Flip-Flop, FF) 回路 S Q 1 0 R 1 (reset) 記号 1 Q0 S R Q Q 10 計算機基礎 08 根来 まとめ ブール代数を用いた、基本的な論理回路の組み 合わせで加算回路を構成 2つの半加算回路を用いて全加算回路を構成 し、それを n 個繋げて n 桁の演算回路を構成 実際の回路は、半導体を用いた NAND/NOR 回路の みで全ての論理回路を構成 四則演算が回路を用いて可能 符号化回路や解読回路も同様に構成可能 フリップフロップ回路は、1ビットの(高速) 記憶素子として利用可能 11
© Copyright 2024 ExpyDoc