第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路

Slides:



Advertisements
Similar presentations
2009/11/10 10 進数と r 進数を相互に変換できる コンピュータのための数を表現できる 2進数の補数を扱える コンピュータにおける負の数の表現を説明で きる コンピュータでの演算方法を説明できる 文字や記号の表現方法を示せる 第7回 今日の目標 § 2.2 数の表現と文字コード.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
第7章 計算の機構.
10進数 Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 例: 3271 = (3×103) + (2×102) + (7×101) + (1×100) 8進数 Digits: 0, 1, 2, 3, 4, 5, 6, 7 例: 3271 = (3×83) + (2×82)
第3回 論理式と論理代数 本講義のホームページ:
第1回 オリエンテーション ディジタル工学とは何だろうか?
第12回 順序回路の解析方法 瀬戸 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表
電子回路設計 電子制御設計製図Ⅰ  2009年11月17日 Ⅳ限目.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
第2回 真理値表,基本ゲート, 組合せ回路の設計
Verilog HDL 12月21日(月).
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
テープ(メモリ)と状態で何をするか決める
第4回 カルノー図による組合せ回路の簡単化 瀬戸 目標 ・AND-OR二段回路の実現コスト(面積、遅延)が出せる
プログラムはなぜ動くのか.
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
補数 n:桁数、b:基数 bの補数 bn-x 253(10進数)の10の補数は、 =747
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
7. 順序回路 五島 正裕.
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
5. 機能的な組み合わせ回路 五島 正裕.
第8回  論理ゲートの中身と性質 論理ゲートについて,以下を理解する 内部構成 遅延時間,消費エネルギー 電圧・電流特性 瀬戸.
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
アルゴリズムとチューリングマシン 「もの」(商品)としてのコンピュータ 「こと」(思想)としてのコンピュータ アルゴリズム
電子回路設計 電子制御設計製図Ⅰ  2010年11月30日 Ⅲ限目.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
メカトロニクス 12/8 OPアンプ回路 メカトロニクス 12/8.
ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28.
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
ディジタル回路 2. ブール代数 と 論理ゲート 五島 正裕.
第5回 今日の目標 §1.6 論理演算と論理回路 ブール代数の形式が使える 命題と論理関数の関係を示せる
プログラミング演習Ⅱ 課題4第3週 画像処理 (1) ビット演算子.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
第3章 演算装置.
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
電気電子情報第一(前期)実験 G5. ディジタル回路
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
7. 機能的な組み合わせ回路 五島 正裕.
ディジタル回路 7. 機能的な組み合わせ回路 五島 正裕.
第11回 よく使われる順序回路 複数のFFを接続した回路を解析する際の考え方を学ぶ カウンタ回路の仕組みを理解し,設計できるようにする 瀬戸.
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
論理回路 第12回
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
データの表現 2進数 0と1を使う。 基数(基準になる数)が2. 101(2) かっこで2進数と示すことがある。
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
コンピュータアーキテクチャ 第 5 回.
メカトロニクス 12/15 デジタル回路 メカトロニクス 12/15.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
コンピュータの五大要素 入力装置 データ(プログラム)を取り込む 出力装置 処理結果のデータを外部に取り出す
プログラムの開発手順 1.プログラム設計(仕様の決定) 2.コーディング(ソースファイルの作成) 3.アセンブル(オブジェクトファイル
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
論理回路(and,or,not)を作成. 回路を組み合わせ半/全加算器.
2008年7月11日 論理回路(and,or,not)を作成. 回路を組み合わせ半/全加算器.
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
香川大学創造工学部 富永浩之 情報数学1 第3-3章 多進法での四則演算 香川大学創造工学部 富永浩之
2009年8月18日,新潟大学 「情報」と「ものづくり」 の実践教育3 下保敏和,佐藤亮一.
Presentation transcript:

第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路 シフト回路 選択回路

本日学習する組合せ回路 CPUの内部 01010 加算器等 組合せ回路 010110101

ディジタル回路の例 – 入場者数カウントシステム 2進数 010 パルス パルス数 加算 回路 入場者数 記憶回路 光 センサ 2進数 010 2進数 001 7セグ 表示回路 7セグ (表示装置)

f 予備知識: LED (発光するダイオード) (ア) (ア) の電圧を,(イ) と比べて, 2 V程度 高くすると点灯 (イ) (ア) の電圧を,(イ) と比べて, 2 V程度 高くすると点灯 (イ) デジタル回路で,H, Lの判別に使用できる (流れすぎないよう,電流制限用の抵抗Rが必要) f 例: LEDが点灯するのは,       出力fの値が  H  のとき R

予備知識: 7セグメントディスプレイ 7個の LED (セグメント,区画) があつまったもの Hにセットすることで,点灯する a f b g 予備知識: 7セグメントディスプレイ 7個の LED (セグメント,区画) があつまったもの Hにセットすることで,点灯する a H a b H c f H g b d H e L e c f L g H d GND (L)

エンコーダ・デコーダとは? 組合せ回路の一種 いろいろなバリエーションが存在 デコーダ エンコーダ 配線の本数 を表す 4 8 8 4 配線の本数 を表す 配線を省略形 で書くと… 4 8 8 4 デコーダ エンコーダ

例えば,x3x2x1x0 =0011 (10進数で3) のとき a=1, b=1, c=1, d=1, g=1を出力 デコーダの一例: 7セグ点灯用 デコーダ 入力: 0~9 を表す2進数(4 ビット x3x2x1x0) 出力: 7セグ点灯用信号 (a, b, c, d, e, f, g) 用デコーダ 例えば,x3x2x1x0 =0011 (10進数で3) のとき a=1, b=1, c=1, d=1, g=1を出力

7セグ点灯用 デコーダの真理値表 10進 a b c d e f g 1 上記以外 * 1 2 3 4 5 6 7 8 9 x3 x2 x1 1 上記以外 * 1 2 3 4 5 6 7 8 9 ドントケア

復習: カルノー図による簡単化(例: 出力e) 1 * x2 x3 x2 x1 x0 a e 1 上記以外 * x2x0 x1x0 x1 x0 x3 e = x1x0 + x2x0 他の出力a-gについても同様

その他にも,いろいろな組み合わせ回路があります(教科書をP42-49を読んで下さい) その他のデコーダの例 (74138) Enable(イネーブル)入力: 機能をオンにするかどうかを決定 C, B, A: 2進数を表す(Cが最上位): どの出力をアクティブにするか Enableが アクティブ その他にも,いろいろな組み合わせ回路があります(教科書をP42-49を読んで下さい)

1ビット加算回路 (半加算器) a b cout s 1 算術和: 論理和とは異なる! 紛らわしいので注意! 1 a 1 入力 + 1 b 1ビット加算回路 (半加算器) 算術和: 論理和とは異なる! 紛らわしいので注意! 1 a 1 入力 + 1 b + + 1 + 1 0 1 1 cout s 出力 a a b b a b cout s 1 半加算器 cout s cout s (繰上り) (和) carry sum

1ビット加算回路 (全加算器) 下位ビットからの繰上り cin も考慮した回路 例 cin 1 a b cin cout s 1 a 入力 1ビット加算回路 (全加算器) 下位ビットからの繰上り cin も考慮した回路 例 cin 1 a b cin cout s 1 a 入力 + 1 b 1 cout s 出力 a b cin 全加算器 cout s (桁上げ) (和) carry sum

4ビットの加算器の真理値表による設計 以下省略... (長い) 例: 4ビットの加算器 真理値表が大きすぎるため, うまい設計方法ではない 例: 4ビットの加算器 真理値表が大きすぎるため,  うまい設計方法ではない 28 = 256 入力パターン 8ビット加算器だと, 216 = 65536 入力パターン 入力 出力 A B S a3 a2 a1 a0 b3 b2 b1 b0 s3 s2 s1 s0 1 A B a3 a2 a1 a0 b3 b2 b1 b0 4 4 4ビット 加算器 4ビット 加算器 4 s3 s2 s1 s0 S 以下省略... (長い)

右の桁(0ビット目)から順に,計算を進めていけばよい 筆算による,4ビットの2進数の加算 (復習) 右の桁(0ビット目)から順に,計算を進めていけばよい 3 ビ ッ ト 目 2 ビ ッ ト 目 1 ビ ッ ト 目 ビ ッ ト 目 c(桁上げ) 1 1 1 A a3 1 a2 a1 1 a0 5 b3 1 b2 1 b1 1 b0 B 7 + S 1 s3 1 s2 s1 s0 12

4ビット加算器の実現 cout0 =cin1 cout2 =cin3 cout1 =cin2 cout3 1 1 1 cin0 a3 1 全加算器を、 各ビットごとに, 4個 カスケードに接続し,筆算と同じ流れで計算 cout0 =cin1 cout2 =cin3 cout1 =cin2 cout3 1 1 1 cin0 a3 1 a2 a1 1 a0 b3 1 b2 1 b1 1 b0 1 s3 1 s2 s1 s0 a3 cin3 cin2 cin1 cin0=0 b3 a2 b2 a1 b1 a0 b0 a b cin a b cin a b cin a b cin 全加算器 (3ビット目) 全加算器 (2ビット目) 全加算器 (1ビット目) 全加算器 (0ビット目) cout s cout s cout s cout s cout3 s3 cout2 s2 cout1 s1 cout0 s0

4ビット加算器 の計算のようす (A=5, B=7) 答 S = 12 1 1 1 1 1 1 1 1 cin3 a2 cin2 a1 1 1 1 1 1 1 1 1 cin3 a2 cin2 a1 cin1 cin0 a3 b3 b2 b1 a0 b0 a b cin a b cin a b cin a b cin 全加算器 (3ビット目) 全加算器 (2ビット目) 全加算器 (1ビット目) 全加算器 (0ビット目) cout s cout s cout s cout s cout3 s3 cout2 s2 cout1 s1 cout0 s0 1 1 1 1 1 答 S = 12

4ビット減算器 (引き算) A – B = A + (-B): 減算は「負数を加算」することで実現 例: 6 – 7 = 6 + (-7) 例: 6 – 7 = 6 + (-7) -7を4ビットの2の補数で表すと、 7 : 0111 -7 : 1000  (反転) + 1 = 1001 (0) c(桁上げ) 1 1 a 3..0 6 + 1 1 b 3..0 -7 1 1 1 1 s 3..0 -1

減算回路 1 1 1 1 1 a3 b3 a2 b2 a1 b1 a0 b0 1 a b a b a b a b cout cin cout A – B = A + (-B): 引く数 (B)の2の補数(-B) を作り,加算 2の補数表現: 反転 して、 1 を足す 反転 : BをNOT ゲートに通す 1を足す: 0ビット目の全加算器の Cin を 1 (5V) にする A=6, B=7の例 (S=-1) 1 1 1 1 1 a3 b3 a2 b2 a1 b1 a0 b0 1 a b a b a b a b cout cin cout cin cout cin cout cin 1 s s s s s3 s2 s1 s0 1 1 1 1

シフト (ずらす) 回路: 単なる配線(ゲートは不要) シフト (ずらす) 回路: 単なる配線(ゲートは不要) 左1ビットシフト 右1ビットシフト 1 1 5 1 1 5 a3 a2 a1 a0 a3 a2 a1 a0 x3 x2 x1 x0 x3 x2 x1 x0 1 1 10 1 2 2  を“かける”のと同じ 2  で“割る”のと同じ 小数点は切り捨て

選択回路( セレクタ,マルチプレクサ ) c x y a f 1 cx cy 複数の入力から、 選択信号 c で選択した一つを出力 c 選択 選択回路( セレクタ,マルチプレクサ ) 複数の入力から、 選択信号 c で選択した一つを出力 選択 信号 c c x y a f 1 x f y 1 回路図記号 (省略形) c cx x f cy y ゲート 回路図

選択回路 の動作 (図解) 選択信号(c)の値によって、入力信号が切り替わる c=0のとき c=1のとき c c x x f f y y 1 選択回路 の動作 (図解) 選択信号(c)の値によって、入力信号が切り替わる c=0のとき c=1のとき c c x x f f y 1 y 1

4ビット セレクタ c x3 f3 y3 c x2 4 f2 y2 X 4 F 4 x1 Y f1 y1 x0 f0 y0 4ビット セレクタ 2 つの 4 ビットデータ(X, Y)から、一つ選んで出力する c x3 f3 y3 1 c x2 1ビットセレクタを、 4 個並べる (制御信号cは共通) f2 4 y2 1 X 4 F 4 x1 Y 1 f1 省略した 回路図 y1 1 x0 f0 y0 1

4bit ALU(Arithmetic Logic Unit, 算術・論理演算ユニット) S3~S0, M, Cn の設定により, 加算(PLUS), 減算(MINUS), ビット毎の論理演算(AND, OR, ..) など,さまざまな演算が実行可能 LSB: A0, B0, F0 MSB: A3, B3, F3 減算 加算 AND OR

まとめ よく使われる組合せ回路 7セグ用デコーダ,加減算回路,シフト回路,選択回路 真理値表を書くには適さない場合がある ビット単位の回路を組合せ,多ビット用回路を設計可能