基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史 2008/5/8 基本情報技術概論 (第3回) 演算 と 論理回路 埼玉大学 理工学研究科 堀山 貴史 2008/01/23
前回の復習 数値の表現方法 文字の表現方法 ASC I I コード J I S コード、シフト JIS、EUC、Unicode 演算 四則演算 (+, -, ×, ÷) 10進法での筆算と同じようにできる 2進数では、0, 1 を操作すれば実現できる 1 0100 + 0110 1 0 1 0
論理演算
論理演算 2進数の四則演算 (+, -, ×, ÷) は、 0, 1 を操作すれば実現できる 与えられた 0, 1 (入力) から、 0, 1 を操作すれば実現できる 与えられた 0, 1 (入力) から、 計算結果の 0, 1 (出力) を得る仕組みを作ろう! 例) NOT : 入力の否定 (0,1 を反転させる) 入力 出力 A f 0 1 1 0 A f (真理値表)
論理演算 回路記号 真理値表 論理式 NOT (否定) AND (論理積) OR (論理和) XOR (排他的 f = A f = ¬ A A f 0 1 1 0 f = A f = ¬ A A f f = A ・ B f = A ∧ B A B f 0 0 0 0 1 0 1 0 0 1 1 1 A B f AND (論理積) A B f 0 0 0 0 1 1 1 0 1 1 1 1 f = A + B f = A ∨ B A B f OR (論理和) A B f A B f 0 0 0 0 1 1 1 0 1 1 1 0 f = A + B XOR (排他的 論理和)
論理演算: NAND 論理演算 回路記号 真理値表 論理式 NOT (否定) AND (論理積) NAND f = A f = ¬ A A 論理演算: NAND 論理演算 回路記号 真理値表 論理式 NOT (否定) A f 0 1 1 0 f = A f = ¬ A A f A B f 0 0 0 0 1 0 1 0 0 1 1 1 AND (論理積) A B f f = A ・ B f = A ∧ B A B f 0 0 1 0 1 1 1 0 1 1 1 0 f = A ・ B f = A ∧ B A NAND f B
論理演算: NOR 論理演算 回路記号 真理値表 論理式 NOT (否定) OR (論理和) NOR f = A f = ¬ A A f 論理演算: NOR 論理演算 回路記号 真理値表 論理式 NOT (否定) A f 0 1 1 0 f = A f = ¬ A A f A B f 0 0 0 0 1 1 1 0 1 1 1 1 OR (論理和) f = A + B f = A ∨ B A B f A B f 0 0 1 0 1 0 1 0 0 1 1 0 f = A + B f = A ∨ B A B f NOR
各ビットごとに、指示された論理演算を行う 練習: ビット演算 各ビットごとに、指示された論理演算を行う 1 1 1 1 1 1 1 1 AND AND 1 1 1 1 1 1 1 1 AND 1 1 1 1 マスク演算 (この部分は演算結果が必ず 0 になる)
マスク演算 (この部分は演算結果が必ず 1 になる) 練習: ビット演算 1 1 1 1 1 1 1 1 OR OR 1 1 1 1 1 1 1 1 OR 1 1 1 1 マスク演算 (この部分は演算結果が必ず 1 になる)
ビット反転 (この部分はビットが反転する) 練習: ビット演算 1 1 1 1 1 1 1 1 XOR XOR 1 1 1 1 1 1 1 1 XOR 1 1 1 1 ビット反転 (この部分はビットが反転する) 0クリア (同じものの XOR は、全ビット 0 になる)
論理回路 2進数の四則演算 (+, -, ×, ÷) は、 0, 1 を操作すれば実現できる 論理素子 (NOT, AND, OR, …) 0, 1 を操作すれば実現できる 論理素子 (NOT, AND, OR, …) 0, 1 の入力 から、0, 1 の出力 を得る仕組み 論理回路 論理素子を用いて、論理演算を実現する 組合せ回路と順序回路に分類できる
組合せ回路 現在の入力のみから出力が決められる回路 例) 半加算器 (half adder) … 入力 A, B を 加算 し、 ________________ ________________ 現在の入力のみから出力が決められる回路 例) 半加算器 (half adder) … 入力 A, B を 加算 し、 その桁の和 (Sum) S と 桁上げ (Carry) C を 出力 1 0 1 + 1 1 0 入力 出力 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 B S A C
例) 全加算器 (full adder) 入力された A, B, C in を 加算し、 その桁の和 S と 桁上げ Cout を 出力 1 1 0 1 + 1 1 0 0 入力された A, B, C in を 加算し、 その桁の和 S と 桁上げ Cout を 出力 A B Cin 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 入力 出力 S 0 0 0 1 1 0 1 1 Cout B A Cin Cout S
例) 加算器 0 1 0 1 + 1 1 1 1 0 1 0 0 全加算器 A3 B3 S3 C3 全加算器 A2 B2 S2 C2 例) 加算器 1 1 1 1 0 1 0 1 + 1 1 1 1 0 1 0 0 全加算器 A3 B3 S3 C3 全加算器 A2 B2 S2 C2 全加算器 A1 B1 S1 C1 半加算器 A0 B0 S0 C0
論理回路 と 論理式 次の論理回路と論理式は等価? 真理値表で確かめる S = X + Y + Z C S = X + Y + Z Y C = X ・ Y + Y ・ Z + Z ・ X S Z X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 C S 0 0 0 1 1 0 1 1 X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 C S 0 0 0 1 1 0 1 1
論理回路の設計に利用する 論理回路 真理値表 論理式 カルノー図 XY 00 01 11 10 Z 1 1 1 1 1 参考: カルノー図 参考: カルノー図 論理回路の設計に利用する X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 C S 0 0 0 1 1 0 1 1 論理回路 X C Y 真理値表 Z 論理式 カルノー図 XY 00 01 11 10 Z C = X ・ Y + Y ・ Z + Z ・ X 1 1 1 1 1
順序回路 記憶を保持することができる 記憶 (内部状態) と 現在の入力から 出力が決められる回路 論理素子がループしている部分がある ________________ 記憶を保持することができる 記憶 (内部状態) と 現在の入力から 出力が決められる回路 論理素子がループしている部分がある 例) フリップフロップ (S R フリップ フロップなど) カウンタ ________________
例) S R フリップ フロップ 内部状態 入力 出力 S R Qn-1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Qn 0 1 - S Q n 内部状態保持 リセット Q n R セット 禁止入力
例) S R フリップ フロップ 内部状態 入力 出力 S R Qn-1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 基本情報技術概論(第3回) 2008/5/8 例) S R フリップ フロップ 内部状態 入力 出力 S R Qn-1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Qn 0 1 - 0 1 0 0 1 1 S Q n 内部状態保持 リセット Q n R 0 0 1 セット 1 0 禁止入力
X OR Y を、NAND だけを使って表した論理式はどれか 練習問題: 組合せ回路 (H17年度 秋) X OR Y を、NAND だけを使って表した論理式はどれか ア. ((X NAND Y) NAND X) NAND Y イ. (X NAND X) NAND (Y NAND Y) ウ. (X NAND Y) NAND (X NAND Y) エ. X NAND (Y NAND (X NAND Y))
各ビットごとに、指示された論理演算を行う 練習: ビット演算 各ビットごとに、指示された論理演算を行う 1 1 1 1 1 1 1 1 AND AND 1 1 1 1 1 1 1 1 1 1 1 1 AND 1 1 1 1 マスク演算 (この部分は演算結果が必ず 0 になる)
マスク演算 (この部分は演算結果が必ず 1 になる) 練習: ビット演算 1 1 1 1 1 1 1 1 OR OR 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 OR 1 1 1 1 マスク演算 (この部分は演算結果が必ず 1 になる)
ビット反転 (この部分はビットが反転する) 練習: ビット演算 1 1 1 1 1 1 1 1 XOR XOR 1 1 1 1 1 1 1 1 1 1 1 1 XOR 1 1 1 1 ビット反転 (この部分はビットが反転する) 0クリア (同じものの XOR は、全ビット 0 になる)
この文面は、TOKYO TECH OCW の利用 条件を参考にしました この教材のご利用について この教材は、以下に示す利用条件の下で、著作権者にわざわざ許諾を求めることなく、無償で自由にご利用いただけます。講義、自主学習はもちろん、翻訳、改変、再配布等を含めて自由にご利用ください。 非商業利用に限定 この教材は、翻訳や改変等を加えたものも含めて、著作権者の許諾を受けずに商業目的で利用することは、許可されていません。 著作権の帰属 この教材および教材中の図の著作権は、次ページ以降に示す著作者に帰属します。この教材、または翻訳や改変等を加えたものを公開される場合には、「本教材 (or 本資料) は http://www.al.ics. saitama-u.ac.jp/horiyama/OCW/ の教材です (or 教材を改変したものです」 との旨の著作権表示を明確に実施してください。なお、この教材に改変等を加えたものの著作権は、次ページ以降に示す著作者および改変等を加えた方に帰属します。 同一条件での頒布・再頒布 この教材、または翻訳や改変等を加えたものを頒布・再頒布する場合には、頒布・再頒布の形態を問わず、このページの利用条件に準拠して無償で自由に利用できるようにしてください。
この教材のご利用について 配布場所 http://www.al.ics.saitama-u.ac.jp/horiyama/OCW/ この powerpoint ファイルの著作者 堀山 貴史 2007-2009 horiyama@al.ics.saitama-u.ac.jp 改変等を加えられた場合は、お名前等を追加してください 図の著作者 p. 4, 8, 9, 10, 18, 19, 23, 24, 25 クリップアート : Microsoft Office Online / クリップアート その他 堀山 貴史