+1 - 関西学院大学理工学部情報科学科

アセンブラプログラミング演習
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回路の入力の一方を制御信号に、他方を情報信号に