アセンブラプログラミング演習 2012.11.19 2012年度 「第三回講義録」 情報科学科 早藤 貴範 第三回講義のアジェンダ -演習:step3- 1.グラフィックス *CASLⅡによるビデオメモリの使い方 ビデオメモリ(フレームバッファ) ⇒ ディスプレー 2.ソフトによるハードの機能の拡大 *論理回路の設計 *加算器の設計 ・命題論理 ・論理代数(ブール代数) ・論理回路 ・加算回路 関西学院大学 画像データの格納 メモリ ⇒ フレームバッファ ⇒ ビットマップディスプレー ↑ (ビデオメモリ) ↑ グラフィックコントローラ 画素の階調・色の指定 y1 y2 x1 x2 フレームバッファ (ビデオメモリ) ビットマップディスプレー 関西学院大学 グラフィックス画面 グラフィックス画面 *CASLⅡはグラフィックス機能を持たない *メモリダンプウインドウをグラフィックス画面として用いる ・アドレス 1000 – 107F をビデオメモリとする 1000 : 0000 0000 0000 0000 0000 0000 0000 0000 1008 : 0000 0000 0000 0000 0000 0000 0000 0000 1010 : 0000 0000 0000 0000 0000 0000 0000 0000 1018 : 0000 0000 0000 0000 0000 0000 0000 0000 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1060 : 0000 0000 0000 0000 0000 0000 0000 0000 1068 : 0000 0000 0000 0000 0000 0000 0000 0000 1070 : 0000 0000 0000 0000 0000 0000 0000 0000 1078 : 0000 0000 0000 0000 0000 0000 0000 0000 関西学院大学 メモリダンプウインドウ 1000 1008 1010 1018 1020 1028 1030 1038 1040 1048 1050 1058 1060 1068 1070 1078 関西学院大学 : : : : : : : : : : : : : : : : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 グラフィックス画面のルール 1.4ビットを1ピクセルとする 2.1画面は32x16ピクセル(pixel)である(512画素) 3.各ピクセルは16階調の濃淡を持つ(濃:F、淡:0) ・ピクセル(画素):画像を構成する最小単位の領域 ・画像 :ピクセル(画素)の2次元配列 1ピクセル⇒4ビット 1ピクセル 0001 1000 : 0000 0000 0000 0000 5000 0000 0000 0000 1008 : 0000 0000 0001 0000 6000 0000 0000 0000 1010 : 0000 0000 0002 ABCD 7000 0000 0000 0000 1018 : 0000 0000 0003 0000 8000 0000 0000 0000 1020 : 0000 0000 0004 0000 9000 0000 0000 0000 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 関西学院大学 例:画面中央付近に1ピクセルの点を表示させよ 1000 1008 1010 1018 1020 1028 1030 1038 1040 1048 1050 1058 1060 1068 1070 1078 : : : : : : : : : : : : : : : : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 関西学院大学 Central Processing Unit(CPU) & Digital Signal Processer(DSP) Central Processing Unit(CPU) 例:Pentium *汎用マイクロプロセッサーで、多機能を持つ処理・演算装置 *基本的な機能の回路だけを有し、必要な機能はソフトで補う ・ソフトによるハードの機能の拡大 ・多くの機能で処理は遅く、特殊用途では特に性能が低い Digital Signal Processor(DSP) 例:PS 2用DSP *ディジタル信号処理専用の1チップ・マイクロプロセッサー *特殊機能の回路を持ち、ハードウエアで高速処理を達成 ・積和演算の繰り返し高速処理回路を持つ。 ・汎用マイクロプロセッサーより、1桁以上高速処理 *音声・画像処理用、ACサーボ用、通信のモデム用 ソフトウエア・オリエンティド or ハードウエア・オリエンティド 関西学院大学 CASLⅡとPICアセンブラの差異 COMETⅡとCASLⅡ *基本的なハード構成 ⇒ 基本的なコマンド(ニーモニック) *例: 論理演算のコマンド:AND、OR、XOR *ソフトによるハードの機能の拡大 新機能をサブルーティンで構成 全ての論理回路をAND、OR、XOR PICとPICアセンブラ *特殊なハード構成と特殊なコマンド(ニーモニック) ・制御用特殊命令 *特殊用途のハードの高速化 関西学院大学 機械語命令の比較(1) -CASLⅡとPICアセンブラ言語- CASLⅡ *ロード、ストア命令:LD、ST、LAD *算術・論理演算命令:ADDA、ADDL、SUBA、SUBL *論理演算命令:AND、OR、XOR *比較演算命令:CPA、CPL *シフト命令:SLA、SRA、SLL、SRL *分岐命令:JPL、JMI、JNZ、JZE、JOV、JUMP *スタック・コール・リターン命令・その他:PUSH、POP、CALL、RET、NOP PICアセンブラ *転送命令:MOVF、MOVWF&LW *算術演算命令:ADDWF&LW、SUBWF&LW、INCF、DECF *論理演算命令:COMF、ANDWF&LW、IORWF&LW、XORWF&LW *ローテイト演算:RLF、RRF *その他の演算命令:CLRF、CLRW、BCF、BSF、SWAPF、CLRWDT *分岐命令:INCFSZ、DECFSZ、BTFSC、BTFSS、GOTO *サブルーティン命令その他:CALL、RETFIE、RETLW、RETURN、NOP SLEEP 関西学院大学 機械語命令の比較(2) -CASLⅡとPICアセンブラ言語- CASLⅡとPICアセンブラの差異 1.PICアセンブラにあって、CASLⅡにない命令 *INCF、DECF *COMF *CLRF、CLRW、BCF、BSF、SWAPF、CLRWDT *INCFSZ、DECFSZ、BTFSC、BTFSS 2.CASLⅡにあって、PICアセンブラにない命令 *JPL、JMI、JNZ、JZE、JOV、JUMP *PUSH、POP PICアセンブラの特徴 *ビット対応の命令があること ・BCF、BSF、BTFSC、BTFSS *特殊な命令:INCFSZ、DECFSZ(命令の目的?) 関西学院大学 コンピュータの基本原理 「3つの論理の等値関係」がコンピュータの本質 3つの論理 記号論理学 ブール代数 電子回路理論 2値論理 真(True)/偽(False) 1 / 0 ON / OFF コンピュータ回路の実現 *電子回路理論 半導体回路理論 *「半導体は産業の米」、「シリコン帝国」 *半導体貿易摩擦、国防問題 関西学院大学 論理回路の基礎 記号論理学 ⇒ 論理代数(ブール代数) ⇒ 論理回路 命題論理(1) 1.命題論理の基本単位は、<命題(proposition)> *命題 : 主張を表す言明 *例 : 北山氏の兄は南山氏である。 2.命題は真理値(truth value)を持つ *命題が真の時、その真理値をTと表す *命題が偽の時、その真理値をFと表す 3.基本命題は論理的関係で結ばれ、複合命題を形成する *北山氏の兄は南山氏である(A)+北山氏の父は向山氏である(B) *北山氏の兄は南山氏であり、父は向山氏である(C) *複合命題Cは、<命題A かつ 命題B>となる *複数の基本命題を結ぶもの : 論理結合子 命題論理(2) -propositional ligic- 4.基本命題の真理値と複合命題の真理値 *複合命題の真理値はそれを構成する基本命題の真理値で 決定づけられる *複合命題 : ・北山氏の兄は南山氏であり、父は向山氏である(C) 北山氏の兄は南山氏である(A) ・ 父は向山氏である(B) ・複合命題Cは、 <命題A かつ 命題B>となる C=A・ B A T T F F B T F T F C T F F F = A 1 1 0 0 B 1 0 1 0 C 1 0 0 0 基本的な論理結合子(1) 1.論理否定 (negation : NOT) A 2.論理積 (conjunction : AND) A ・ B 3.論理和 (disjunction : OR) A + B 4.排他的論理和 A + B (exclusive disjunction : EXOR) 論理関数の基本法則 複合命題=論理結合子を含む式=論理式=論理関数 ・同一法則 X+X=X、X+1=1、X・X=X、X・1=X ・交換法則 X+Y=Y+X、 X・Y=Y・X ・結合法則 (X+Y)+Z=X+(Y+Z)、(X・Y)・Z=X・(Y・Z) ・分配法則 X+(Y・Z)=(X+Y)・(X+Z) X・(Y+Z)=(X・Y)+(X・Z) ・否定法則 X+X=1、 X・X=0 ・二重否定 X=X ・吸収法則 X+(X・Y)=X、 X・(X+Y)=X ・ド・モルガン法則 X+Y=X・Y、 X・Y=X+Y ド・モルガンの法則の証明 -真理値表による方法- (1) A+B=A・B の証明 A B A + B A + B A B A ・B 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 (2) 同様に、 A・B=A+B の証明 ド・モルガンの法則の証明 -ベン図による方法- (1)A+B=A ・ B (2)A ・ B=A+B A+B= A ・ B= A= A= B= B= A・B= A+B= 命題論理の双対性 -ド・モルガン則による証明- 命題論理では、<・>と<+>、<0>と<1>を全て 同時に置換しても、その論理式が成立する。(双対性) (1) A+B=A ・ B A ・ B = A+B (2) A ・ B=A+B A+B = A ・ B Hint : A+B = A+B を用いる 基本的な論理結合子(2) -排他的論理和- 演習1.排他的論理和(反一致回路)は次の論理関数で表さ れることを証明しなさい。 A+B= A・B + A・B =(A + B) ・ (A + B) (積和標準型) (和積標準型) 演習2.「演習1」において、積和標準型の論理関数と 和積標準型の論理関数が等価であることを、 ド・モルガンの法則を用いて証明しなさい。 基本的な論理結合子(3) -排他的論理和- 排他的論理和 (exclusive disjunction : EXOR) : A + B A B A+B A・B A・B A+B A+B 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 0 A+B= A・B + A・B =(A + B) ・ (A + B) (積和標準型) (和積標準型) 積和標準型と和積標準型の論理関数が等価性 -排他的論理和の場合- A+B= A・B + A・B =(A + B) ・ (A + B) A + B = (A + B) ・ (A + B) (積和標準型) (和積標準型) (和積標準型) = A ・ (A + B) + B・ (A + B) =A・A+A・B+B・A+B・B =A・B+B・A =A・B+A・B (積和標準型) 論理式・論理関数の標準型(1) 論理式の2つの標準型 ある真理値表が与えられた時、 それを表す論理式(normal form)は無数に存在する。 標準となる論理式 の形式を決めておく事が望ましい 積和標準型 (disjunctive normal form) (○ ・ △ ・ ▽)+(▽ ・ △ ・ □)+(◇ ・ □ ・ ○) 和積標準型 (conjunctive normal form) (○+△+▽) ・ (▽+△+□) ・ (◇+□+○) 論理式の作り方 2変数関数の真理値表が与えられた時、 元の論理関数(表中のF3とF4 )の作り方を考えなさい X1 X2 F3 X2 ⇒X2 X1X2 F14 X1 ⇒X1 X1+X2 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 F3は積和標準型、F14は和積標準型で作成 F3を和積標準型、F14を積和標準型で作成可能 論理式の作成方法(1) -排他的論理和の場合- 排他的論理和の真理値表が与えられている。 その積和標準型論理式EXORを作成しなさい 作成手順 1.真理値表に<1>が2項ある。積和標準型を2項で形成 EXOR = (X1・X2) + (X1・X2) 2.2項が互いに<1>になるように、X1とX2のサインを決める EXOR = (X1・X2) + (X1・X2) X1 X2 0 0 0 1 1 0 1 1 EXOR 0 1 1 0 X1・X2 0 1 0 X1・X2 0 1 0 論理式の作成方法(2) -排他的論理和の場合(別解法)- 排他的論理和の真理値表が与えられている。 その積和標準型論理式EXORを作成しなさい 作成手順 1.真理値表に<0>が2項ある。積和標準型を2項で形成 EXOR = (X1・X2) + (X1・X2) 2.2項が互いに<0>になるように、X1とX2のサインを決める EXOR = (X1・X2) + (X1・X2) X1 X2 0 0 0 1 1 0 1 1 EXOR 0 1 1 0 X1・X2 0 1 X1・X2 0 1 0 0 論理式の作成方法(3) -排他的論理和の場合- 排他的論理和の真理値表が与えられている。 その和積標準型論理式EXORを作成しなさい 作成手順 1.真理値表に<0>が2項ある。和積標準型を2項で形成 EXOR = (X1+X2) ・ (X1+X2) 2.2項が互いに<0>になるように、X1とX2のサインを決める EXOR = (X1+X2) ・ (X1+X2) X1 X2 0 0 0 1 1 0 1 1 EXOR 0 1 1 0 X1+X2 0 1 1 X1+X2 X1+X2 1 1 1 0 論理式の作成方法(4) -排他的論理和の場合(別解法)- 排他的論理和の真理値表が与えられている。 その和積標準型論理式EXORを作成しなさい 作成手順 1.真理値表に<1>が2項ある。和積標準型を2項で形成 EXOR = (X1+X2) ・ (X1+X2) 2.2項が互いに<1>になるように、X1とX2のサインを決める EXOR = (X1+X2) ・ (X1+X2) X1 X2 0 0 0 1 1 0 1 1 EXOR 0 1 1 0 X1+X2 0 1 1 1 X1+X2 1 1 1 0 1変数論理関数 1変数論理関数を全て書きだしなさい。 その中で意味を持つ論理関数はF3(x)だけであることを 説明しなさい。F3(x)は論理否定(NOT)という。 x F1(x) F2(x) F3(x) F4(x) 0 0 0 1 1 1 0 1 0 1 F1(x) = constant o F2(x) = X F3(x) = X F4(x) = constant 1 2変数論理関数(1) 2変数論理関数を全て書き出しなさい。 それらが全て、AND,OR,NOTで書ける事を確認しなさい。 X1 0 0 1 1 X2 0 1 0 1 F1 F2 F 3 F4 F5 F6 F7 F8 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 X1・X2 X1・X2(AND) X2 X1・X2 X1+X2(XOR) X1 X1+X2(OR) 2変数論理関数(2) 2変数論理関数を全て書き出しなさい。 それらが全て、AND,OR,NOTで書ける事を確認しなさい。 X1 0 0 1 1 X2 0 1 0 1 F9 F10 F11 F12 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 X1+X2(NOR) X1+X2(IOR)) X2 (NOT) X1+X2 F13 F14 F15 F16 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 X1(NOT) X1+X2 X1・X2(NAND) 1 2変数関数の式の変形 2変数関数において、F3を和積標準型、F14を積和標準型で 表し、最も簡潔な式に変形しなさい。 真理値表 X1 X2 F3 F14 0 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 F3 = (X1+X2)・(X1+X2)・(X1+X2) = (X1+(X2+X2))・(X1+X2) = X1・(X1+X2) = X1・X1+X1・X2 = X1・X2 F14 = X1・X2+X1・X2+X1・X2 = (X1・(X2+X2)+X1・X2 = X1+(X1・X2) = (X1+X1)・(X1+X2) = X1+X2 論理式・論理関数の標準型(2) 等価な論理関数は無数に存在する 最も簡単な実用的回路に対応する論理関数が重要 多数決関数M(3変数関数)の標準型関数 多数決関数Mの真理値表 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M 0 0 0 1 0 1 1 1 多数決関数Mの標準型 M = AB+BC+CA = ABC+ABC+ABC+ABC (簡易型) (積和型) = (A+B+C) (A+B+C) (A+B+C) (A+B+C) = AB+ABC+ABC 論理積記号<・>は省略 (和積型) (汎用型) 多数決関数M -積和標準型論理関数の作成ー A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M ABC ABC ABC ABC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 論理積記号<・>は省略 1.M=1が4項ある。 積和型を4項で作成 M=ABC+ABC +ABC+ABC 2.各4項が独立に <1>になるように サインを決定 3. M=ABC+ABC +ABC+ABC 多数決関数M -和積標準型論理関数の作成ー 多数決関数Mの真理値表が与えられている。 和積標準型の論理関数を作成しなさい。 論理式の簡単化 -ベン(Venn)図による方法- M = A・B・C + A・B・C + A・B・C + A・B・C = A・B + B・C + C・A A・B・C A C A・B・C B 論理式の簡単化 -カルノー(Karnaugh)図による方法- M = A・B・C + A・B・C + A・B・C + A・B・C = A・B + B・C + C・A A BC 00 01 0 1 11 10 A・B・C + A・B・C = A・C X X X A・B・C + A・B・C = B・C X A・B・C + A・B・C = A・B 半導体回路 -MOSFETの動作- MOSFET素子は、NOT論理回路そのもでのである MOSFET素子は、入力を反転した出力を出す インバータ(inverter) = NOT論理回路 Metal-Oxide-Semiconductor Field Effect Transistor Vout RL 3 NOT回路 2 S D MOSFET動作 ⇒ VG VD Vout 1 0 1 2 3 4 VG MOSFETの構造 VG>0 SiO2膜 ゲート電極 ソース n e n ドレイン VD>0 n-MOSFETの表記法 VG p-Si n-MOSFETの構造 VD S Vout D RL MOS インバータN(NOT回路) VDD VDD RL Vout VIN VGG:常時導通 VGG Vout VIN 負荷抵抗型 負荷トランジスタ型 MOSFETによる論理回路 V NOT論理回路が基本 V V X X A A B NOT論理回路 NAND論理回路 X A B NOR論理回路 MOSFETによる論理回路 演習問題 NOTゲートだけを用いて、 ANDゲートとORゲートを構成しなさい。 NOTゲートだけを用いて、 NANDゲートとNORゲートを構成しなさい。 NOTゲートだけを用いて、 ANDゲートとORゲートを構成する場合と NANDゲートとNORゲートを構成する場合では どちらの回路がシンプルか比較しなさい。 実際のMOSFET論理回路 NOT論理回路が1つのMOSFETで構成できるために、 今日のトランジスタ論理回路は NOT、AND、ORを基本とするのではなく NOT、NAND、NORを基本とする。 さらに、nMOSFETやpMOSFETを 基本とするのではなく、 高速・低消費電力を特徴とする CMOSFETを基本とする。 CMOSFET=complementary MOSFET CMOSFETによる基本論理回路(1) V V A X A X B NOT論理回路 NAND論理回路 CMOSFETによる基本論理回路(2) V A X 各自設計の こと B NAND論理回路 NOR論理回路 基本論理回路・論理ゲートの記号 ANDゲート ORゲート NANDゲート NORゲート NOTゲート 論理回路の従属性 AND論理回路、OR論理回路、NOT論理回路は、 各々が従属していることをしめせ。 A・B=A・B=A+B A+B =A+B=A・B NORゲートの活用(1) NORゲートを用いて、 NOTゲート、ANDゲート、ORゲートを構成しなさい。 NOT A=A+A A A A A AND A A・B = A・B = A+B = A+A+B+B B OR A+B = A+B = A+B+A+B A B A A・B A+B NANDゲートの活用(1) NANDゲートを用いて、 NOTゲート、ANDゲート、ORゲートを構成しなさい。 NOT A A=A・A A AA AND A B A・B = A・B = A・B・A・B OR A+B=A・B = A・A・B・B A A・B A A+B B 排他的論理和XORの論理回路(1) A+B= A・B + A・B =(A + B) ・ (A + B) A (積和標準型) (和積標準型) A A+B A+B B B 積和標準型 和積標準型 排他的論理和XORの論理回路(2) 排他的論理和の論理回路をNORゲートで構成する。 A+B=(A+B)・(A+B) = (A+B)・(A+B) =(A+B)+(A+B) = (A+B)+(A+A)+(B+B) A B A+B 排他的論理和XORの論理回路(3) 排他的論理和の論理回路をNANDゲートで構成する。 A+B=(A・B)+(A・B) = (A・B)+(A・B) = A・B・A・B = A・(B・B)・(A・A)・B A A+B B 排他的論理和XORの論理回路(4) 排他的論理和の論理回路をNANDゲートで構成する。 A+B=(A+B)・(A+B) =A・(A+B)+B・(A+B) A・B =A・(A・B)+B・(A・B) =A・(A・B)・B・(A・B) A A+B B 論理回路のまとめ NOTゲート、ANDゲート、ORゲートは、独立ではない 全ての組み合わせ回路は、 NOTゲート、ANDゲート、ORゲートの組み合わせで実現可能 NOTゲート、ANDゲート、ORゲートは、 いずれもNANDゲートもしくはNORゲートだけで構成可能 全ての組み合わせ回路は、 NANDゲートもしくはNORゲートだけで構成可能 半加算器の論理回路 半加算器の真理値表を作成し、その論理回路を設計せよ 半加算器の 真理値表 半加算器の論理式 A B S C S=A+B=A・B+A・B =(NANDゲート)を利用 C=A・B 1 1 0 1 半加算器の論理回路 1 0 1 0 0 1 1 0 0 0 0 0 A B S=A+B C=A・B 全加算器の論理回路 全加算器の真理値表 An Bn Cn Sn Cn+1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 An+1 An An-1 Bn+1 Bn Bn-1 Sn+1 Sn Sn-1 Cn+1 Cn Cn-1 論理式・論理関数の標準型(2) 等価な論理関数は無数に存在する 最も簡単な実用的回路に対応する論理関数が重要 多数決関数M(3変数関数)の標準型関数 多数決関数Mの真理値表 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M 0 0 0 1 0 1 1 1 多数決関数Mの標準型 M = AB+BC+CA = ABC+ABC+ABC+ABC (簡易型) (積和型) = (A+B+C) (A+B+C) (A+B+C) (A+B+C) = AB+ABC+ABC 論理積記号<・>は省略 (和積型) (汎用型) 多数決回路の設計 多数決回路をANDゲートとORゲートを用いて設計せよ。 また、NANDゲートを用いて設計しなさい。 X=A・B+B・C+C・A *3個のANDゲートと2個のORゲートで構成可能 *12個のNANDゲートで構成可能 (1AND=2NAND、1OR=3NAND) A B C A・B+B・C A・B+B・C+C・A 全加算器の論理回路(1) 半加算器の論理回路を用いて、 全加算器の論理回路を設計しなさい。 Sn=AnBnCn+AnBnCn+AnBnCn+AnBnCn =(AnBn+AnBn)Cn+(AnBn+AnBn)Cn =(An+Bn)Cn+(An+Bn)Cn =An+Bn+Cn Cn+1=AnBnCn+AnBnCn+AnBnCn+AnBnCn =AnBn(Cn+Cn)+(AnBn+AnBn)Cn =An・Bn+(An+Bn)・Cn 全加算器の論理回路(1) 半加算器の論理回路を用いて、 全加算器の論理回路を設計しなさい。 最下位の桁の加算は、半加算器で計算可能 上位の各桁の加算は、下位の桁上がりを考慮する Cn An Bn HA S S C HA C Sn Cn+1 全加算回路の設計 半加算回路を用いないで、全加算回路を設計しなさい。 Sn= An+Bn+Cn Cn+1=AnBnCn+AnBnCn+AnBnCn+AnBnCn = M(A,B,C)=多数決回路 An Sn Bn Cn M Cn+1 加算器設計のまとめ 半加算器 S = A + B = A・B+ A・B C = A・B A B S=A+B C=A・B 全加算器 Cn An Bn A B HA Sn=An+Bn+Cn Cn+1=An・Bn+(An+Bn)・Cn S C HA HA S C Sn Cn+1 FA S C nビット加算器の構成 A1 B1 HA C2 A2 B2 S2 FA C3 A3 B3 S3 FA C4 A4 B4 S1 S4 FA ゲート回路(gate circuit) 2入力AND回路で構成、 AND回路の性質から 制御信号Sが1のとき、出力Cは入力Aに等しく ⇒ 通過 制御信号Sが0のとき、出力Cは常に0となる ⇒ 遮断 ゲート回路の 真理値表 S 0 0 1 1 A 0 1 0 1 C 0 0 0 1 入力信号A 出力C 制御信号C ゲート回路 nMOS複合回路構成法(1) 真理値表 A B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 C 0 1 0 1 0 1 0 1 V 1 1 1 1 1 0 0 0 和積型 : <0>の3項に注目 (A+B+C) ・(A+B+C) ・(A+B+C)の 3項各々を<0>にする (A+B+C) ・(A+B+C) ・(A+B+C) = (A+B+C) ・{(A+B)+(C・C)} = A+{(B+C)・B} = A+{(B・B)+(B・C)} = A+(B・C) = A+B+C = A・(B+C) nMOS複合回路構成法(2) VGG A B A B C VDD Vout C Vout nMOS複合回路構成法(3) VGG VDD Vout A C B A B C Vout 組み合わせ回路 真理値表を表現する論理を実現するために、基本回路を 組み合わせて構成した回路を組み合わせ回路という 全ての入力値を決めれば、出力値は一義的に決まる 記憶機能を持つ順序論理回路は、 入力に対する出力応答が 入力の現在値と入力の過去の値に影響を受ける ファンイン(fan-in)と ファンアウト(fan-out) 論理回路への入力と出力のこと 数には制限がある ゲート回路 論理信号の転送と遮断(伝送の開閉)の回路 AND回路の入力の一方を制御信号に、他方を情報信号に
© Copyright 2024 ExpyDoc