• 検索結果がありません。

論理回路 入力 の組 によって出力が決まる 演算に用いる

N/A
N/A
Protected

Academic year: 2024

シェア "論理回路 入力 の組 によって出力が決まる 演算に用いる"

Copied!
37
0
0

読み込み中.... (全文を見る)

全文

(1)論理回路. • 組合せ回路 : 入力 (の組) によって出力が決まる −→ 演算に用いる • 順序回路 : 内部状態を保持し、 入力と入力前の状態とによって 出力と出力後の状態とが決まる −→ データ (bit 情報) の保持に用いる —計算機数学・電子計算機概論 I. 1—. (2) 論理回路の基本部品 :. 論理素子 (論理ゲート). • NOT: 否定 : ¬A. • OR: 論理和 : A ∨ B. • AND: 論理積 : A ∧ B. • XOR: 排他的論理和 : A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B) • NOR: 論理和の否定 : ¬(A ∨ B) = ¬A ∧ ¬B. • NAND: 論理積の否定 : ¬(A ∧ B) = ¬A ∨ ¬B —計算機数学・電子計算機概論 I. 2—. (3) 論理素子の真理値表. NOT X 0 1 A 1 0 B XOR 0 1 0 0 1 A 1 1 0. B OR 0 1 0 0 1 A 1 1 1. B AND 0 1 0 0 0 A 1 0 1. B NOR 0 1 0 1 0 A 1 0 0. B NAND 0 A 1. 0 1 1 1 1 0. —計算機数学・電子計算機概論 I. 3—. (4) 論理素子の MIL 記号 論理素子を回路図で表現するのに用いる記号. NOT: A. OR:. AND:. A B A B. X. XOR:. X. NOR:. X. NAND:. A B A B A B. —計算機数学・電子計算機概論 I. X. X. X 4—. (5) 論理素子 どんな論理回路も これらの論理素子の組合せで表せるか?. −→ “論理回路・論理素子が表すもの” の定式化が必要 −→ “Boole 関数”(真理値 (の組) を値とする関数) —計算機数学・電子計算機概論 I. 5—. (6) 組合せ回路 入力 (の組) によって出力が決まる. n 入力 m 出力の回路は Boole 関数 f : Xf −→ {0, 1}m (ここに Xf ⊂ {0, 1}n は許される入力全体) を定める 組合せ回路 : Boole 関数の論理素子による実現 以下では、NOT, OR, AND を用いた実現を考える —計算機数学・電子計算機概論 I. 6—. (7) 組合せ回路 例: XOR を NOT, OR, AND で表す. A X B A B. X —計算機数学・電子計算機概論 I. 7—. (8) 半加算器 (semi adder, SA) 入力 : A,B: 各桁の値 出力 : X: 上への繰上がり, Y: 当桁の値. X A. XOR Y. B —計算機数学・電子計算機概論 I. 8—. (9) 演習問題 全加算器 (full adder, FA) を、 NOT, OR, AND を用いて構成せよ. • 入力 : A,B: 各桁の値, C: 下からの繰上がり • 出力 : X: 上への繰上がり, Y: 当桁の値. X A B C. FA. Y. —計算機数学・電子計算機概論 I. 9—. (10) 演習問題 全加算器 (full adder) を部品として用いて、 二進 4 桁の符号付き整数値 2 つの 加算を行なう組合せ回路を構成せよ。 但し、桁溢れの発生を判定し、 桁溢れが生じた場合は overflow flag を立てよ。 • 入力 : A1, A2, A3, A4; B1, B2, B3, B4 : 数値 (A1, B1 は符号 bit) • 出力 : X1, X2, X3, X4 : 加算の結果 (X1 は符号 bit) Y : overflow flag (桁溢れが発生したら 1、しなければ 0) —計算機数学・電子計算機概論 I. 10—. (11) (再掲) 論理回路 • データ (bit 情報) の保持 −→ 順序回路 • 基本的な演算 −→ 組合せ回路 組合せ回路 入力 (の組) によって出力が決まる (演算回路). n 入力 m 出力の回路は Boole 関数 f : Xf −→ {0, 1}m. (ここに Xf ⊂ {0, 1}n は許される入力全体) —計算機数学・電子計算機概論 I. 11—. (12) 順序回路. • 内部状態を保持し、 • 入力と入力前の状態とによって、 • 出力と出力後の状態が決まる 許される内部状態 : Qf ⊂ {0, 1}B. n 入力 m 出力の順序回路は Boole 関数 f : Qf × Xf −→ Qf × {0, 1}m. (ここに Xf ⊂ {0, 1}n は許される入力全体) を定める —計算機数学・電子計算機概論 I. 12—. (13) 順序回路. 内部状態を計算機内に如何に保持するか. • コンデンサに電荷を蓄える • 複数の安定状態を持つ論理回路で実現 例: フリップフロップ. —計算機数学・電子計算機概論 I. 13—. (14) フリップフロップ (flip-flop) 原理図:. Q. Q 0. 11. 0. これに入出力端子を付ける —計算機数学・電子計算機概論 I. 14—. (15) SR-フリップフロップ (Set-Reset). S. Q. R. Q. —計算機数学・電子計算機概論 I. 15—. (16) SR-フリップフロップ (Set-Reset) (S, R) = (1, 0)−→(0, 0)−→(0, 1)−→(0, 0). S. R. 1. 1. 0. 0. Q. Q. —計算機数学・電子計算機概論 I. 16—. (17) SR-フリップフロップ (Set-Reset) (S, R) = (1, 0)−→(0, 0)−→(0, 1)−→(0, 0). S. R. 0. 1. 0. 0. Q. Q. —計算機数学・電子計算機概論 I. 16—. (18) SR-フリップフロップ (Set-Reset) (S, R) = (1, 0)−→(0, 0)−→(0, 1)−→(0, 0). S. R. 0. 0. 1. 1. Q. Q. —計算機数学・電子計算機概論 I. 16—. (19) SR-フリップフロップ (Set-Reset) (S, R) = (1, 0)−→(0, 0)−→(0, 1)−→(0, 0). S. R. 0. 0. 0. 1. Q. Q. —計算機数学・電子計算機概論 I. 16—. (20) SR-フリップフロップ (Set-Reset) (S, R) = (1, 1) は禁止入力 (Xf = {(0, 0), (0, 1), (1, 0)}) S 0 0 0 0 1 1 1 1. R 0 0 1 1 0 0 1 1. Q 0 1 0 1 0 1 0 1. Q 0 1 0 0 1 1 x x. S 0 0 1 1. R Q 0 Q 1 0 0 1 1 x. —計算機数学・電子計算機概論 I. 17—. (21) SR-フリップフロップ (Set-Reset) 入力が (S, R) = (1, 1) とならない回路設計. −→ S = R となるようにしてみる D. S. R. Q. Q. −→ 入力 D を保持・出力 但し、これだと D をそのまま流しているのと同じ —計算機数学・電子計算機概論 I. 18—. (22) SR-フリップフロップ (Set-Reset) 入力が (S, R) = (1, 1) とならない回路設計. −→ S = R となるようにしてみる D. S. R. Q. Q. −→ 入力 D を保持・出力 但し、これだと D をそのまま流しているのと同じ —計算機数学・電子計算機概論 I. 18—. (23) SR-フリップフロップ (Set-Reset) これだと D をそのまま流しているのと同じ −→ 書込スイッチを付けよう • T : スイッチ入力 ? T = 0 : そのまま ? T = 1 : D を取り込む. D. T. Q. Q —計算機数学・電子計算機概論 I. 19—. (24) SR-フリップフロップ (Set-Reset). D T T 0 0 1 1. D 0 1 0 1. S 0 0 0 1. R Q 0 Q 0 Q 1 0 0 1. S. Q. R. Q. T D S R 0 ∗ 0 0 1 ∗ D D. Q Q D. —計算機数学・電子計算機概論 I. 20—. (25) SR-フリップフロップ (Set-Reset). D T. S. Q. R. Q. • Q からの出力により他の値を計算 • 他からの入力により D を計算 −→ Q が D に影響を与えることにより、 状態が変わってしまう —計算機数学・電子計算機概論 I. 21—. (26) SR-フリップフロップ (Set-Reset). D T. S. Q. R. Q. • Q からの出力により他の値を計算 • 他からの入力により D を計算 −→ Q が D に影響を与えることにより、 状態が変わってしまう —計算機数学・電子計算機概論 I. 21—. (27) SR-フリップフロップ (Set-Reset). 回路の他の部分とタイミングを合わせる必要あり. −→ 出力を一旦せき止めて、 一段階づつ計算を進める. −→ D-フリップフロップ・クロックパルスの利用 —計算機数学・電子計算機概論 I. 22—. (28) SR-フリップフロップ (Set-Reset). 回路の他の部分とタイミングを合わせる必要あり. −→ 出力を一旦せき止めて、 一段階づつ計算を進める. −→ D-フリップフロップ・クロックパルスの利用 —計算機数学・電子計算機概論 I. 22—. (29) SR-フリップフロップ (Set-Reset). 回路の他の部分とタイミングを合わせる必要あり. −→ 出力を一旦せき止めて、 一段階づつ計算を進める. −→ D-フリップフロップ・クロックパルスの利用 —計算機数学・電子計算機概論 I. 22—. (30) D-フリップフロップ (Double, Delay). D T. SR1. SR2. S1 Q1. S2 Q2. Q. R1 Q1. R2 Q2. Q. T • T = 1, T = 0 =⇒ SR1: 取込、SR2: 保持 • T = 0, T = 1 =⇒ SR1: 保持、SR2: 取込 —計算機数学・電子計算機概論 I. 23—. (31) D-フリップフロップ (Double, Delay). D Q T Q. =. D Q T. • T = 1 : 入力 D を内部に取り込む (出力 Q は変わらない) • T = 0 : 内部状態を Q に送り出す (入力 D は受付けない) —計算機数学・電子計算機概論 I. 24—. (32) 計算の実行 例: (CC は適当な組合せ回路・A は外部入力) • T = 1 : 入力 D を内部に取り込む • T = 0 : Q に出力 −→ CC の入力へ −→ CC での計算結果が D に到達 • T = 1 : 新たな D を内部に取り込む −→ T = 1 → 0 → 1 と変化する度に、 計算が一段階進む. A. in. out CC. D Q T. —計算機数学・電子計算機概論 I. 25—. (33) クロックパルス 一定の周期で 1 → 0 → 1 を繰り返す信号 (クロックパルス, clock pulse) を. 水晶発振器などで発生させることにより、. 回路全体での同期を取って、計算を進める. クロックパルスの周波数 −→ 計算機の動作の速さ (動作 clock ○○ Hz) —計算機数学・電子計算機概論 I. 26—. (34) (二進) カウンタ T が一周期変化する度に 内部状態が 1 → 0 → 1 と変化する. D T Q. —計算機数学・電子計算機概論 I. 27—. (35) 四進カウンタ. T が一周期変化する度に、内部状態が 00 → 01 → 10 → 11 → 00 と変化する. D T Q. D T Q. CK. —計算機数学・電子計算機概論 I. 28—. (36) 計算機の機能 ここまでに紹介した 基本的な論理回路の部品を組合わせて、 以下の機能を実現する計算機を構成する. • データの保持・書込・読出 −→ 順序回路 • データの処理 (演算) −→ 組合せ回路 • (データの入出力). • 実行の制御 ? プログラムの読出 ? 順次実行 ? 条件分岐 —計算機数学・電子計算機概論 I. 29—. (37) 「計算」の定式化 計算機に於ける「計算」の各ステップ (= 命令の実行) は、. • 外部からの入力 • 内部状態 (メモリ・レジスタ) の現在の値 に従って、 • 外部への出力 • 内部状態 (メモリ・レジスタ) の値の変更 を行なうこと —計算機数学・電子計算機概論 I. 30—. (38)

参照

関連したドキュメント

連絡先 [email protected] 授業の計画・内容 第1週 2進数と基数変換 第2週 論理演算 第3週 ベン図とブール代数の基礎

AND, OR, NOT, XOR,バッファ, NAND, NOR,半加算回路,全加算回路,エンコーダ,

したがって、減算の演算も減算対象を 2 の補数で表して、加算器で加えることで可能となります。その減 算器を図 16 で表します。.

現在のデジタル社会を支えるコンピュータ、インターネット、通信等すべての電子機器を構成

現在のデジタル社会を支えるコンピュータ、インターネット、通信等すべての電子機器を構成

現在のデジタル社会を支えるコンピュータ、インターネット、通信等すべての電子機器を構成

ANDの意図 ORの意図

を記憶する記憶素子と, 2 つの関数を計算する回路により構成できる 出力 = λ(入力, 状態) ( 関数). 次状態 = δ(入力, 状態)