Transcript 第3章

第3章 論理回路
コンピュータでは,データを2進数の0と1で表現している.この
2つの値,すなわち,2値で扱われるデータを論理データという.
論理データの計算・判断・記憶は論理回路により実現される.
コンピュータのハードウェアは,
基本的に論理回路で作られている。
論理回路の素子
論理積回路
論理和回路
否定回路
1
コンピュータとネットワーク概論
第3章 論理回路
3.1 基本的な論理回路
論理回路は,基本論理回路と呼ばれる論理積
回路(ANDゲート),論理和回路(ORゲート)と否
定回路(NOTゲート)を組み合わせて設計される.
コンピュータはなぜ高速計算できるのか,なぜ
大容量記憶できるのか,これらを理解するには,
論理回路の知識が必要である.
2
コンピュータとネットワーク概論
第3章 論理回路
●論理積回路
論理積とは,入力変数AとBと,
出力Zとの関係は右の真理表に
示し,次の式で表される.
Z  A B
論理積は,AかつBの両方とも
1であるとき,Zが1となるので,
論理積の演算は,原理的に右の
回路で実現できる.論理積回路
をANDゲートともいう.
記号: A
Z
A
B
AとB両方ともON
のとき,ランプZ
が点灯
Z
B
3
コンピュータとネットワーク概論
第3章 論理回路
●論理和回路
論理和とは,入力変数AとBと,
出力Zの関係をとすると,右の真
理表に示し,次の式で表される.
Z  A B
論理和は,AまたはBいずれか
が1であるとき,Zが1となるので,
論理和の演算は,原理的に右の
回路で実現できる.論理和回路
をORゲートともいう.
記号: A
B
A
B
Z
AまたはBがONの
とき,Zが点灯
Z
4
コンピュータとネットワーク概論
第3章 論理回路
●否定回路
論理否定は,入力データをAと
し,出力をZとすると,Zは常にA
と逆の値をもつ.その真理表を
右表に示し,次の式で表す.
ZA
否定回路をNOT回路ともいう.
記号:
A
Z
5
コンピュータとネットワーク概論
第3章 論理回路
例題: AとBを8ビットの入力データA=01110011,B=10110101とする.
論理積Z=A・B,論理和Z=A+Bと否定 Z  A 計算しなさい.
■論理積の結果は,Z=A・B=00110001
となる
■論理和の結果は,Z=A+B=11110111
となる.
01110011
AND
10110101
00110001
01110011
OR
10110101
11110111
■否定の結果は, Z  A=10001100と
なる.
6
コンピュータとネットワーク概論
第3章 論理回路
●NANDゲート
NAND回路は論理積と否定の演算を合わせたもので,そ
の回路図記号及びANDゲートとNOTゲートの構成回路は
次のようになる.
7
コンピュータとネットワーク概論
第3章 論理回路
●NORゲート
NOR回路は論理和と否定の演算を合わせたもので,その
回路図記号及びORゲートとNOTゲートの構成回路は次の
ようになる.
8
コンピュータとネットワーク概論
第3章 論理回路
●EXORゲート
EXOR回路は排他的論理和といい,AまたはBの片一方
が1であるとき,Zが1となる演算である.その真理表と回路
記号は次のようになる.
9
コンピュータとネットワーク概論
第3章 論理回路
3.2 論理代数の法則
A,B,Cを論理データとし,次の関係式が成り立つ.
10
コンピュータとネットワーク概論
第3章 論理回路
●論理代数の法則の応用
論理代数の法則は,論理回
路の設計及び最適化に使われ
る.IC(集積回路)の製造上で,
最も作りやすいのはNAND回
路である.論理式関係式により,
NAND回路を用いて基本論理
回路のANDゲート,ORゲート
とNOTゲートが作られる.つま
り,NAND回路だけで,すべて
の論理回路が作れる.
ANDゲート
ORゲート
NOTゲート
11
コンピュータとネットワーク概論
第3章 論理回路
3.3 組合せ回路
与えられた入力データのみによって出力値が決まる論理回
路を組合せ回路という.コンピュータにおいて,半加算器,全
加算器,エンコーダ,デコーダなどは全部組合せ回路で作ら
れている.
コンピュータは勿論,どんな複雑な計算でもできるが,ハー
ドウェアの面では,加算しかできない.すなわち,高速計算の
基本は加算を高速に行うことである.
加算には,半加算と全加算がある.
12
コンピュータとネットワーク概論
第3章 論理回路
●半加算器
1ビットの2つの数xとyの加算を考える.x=1とy=1のと
き,x+y結果は0となり,桁上りが生じ,1となる.このとき
の入出力の関係を下の真理表に示す.このような加算を
行う論理回路を半加算器HA(Half Adder)という.
13
コンピュータとネットワーク概論
第3章 論理回路
●半加算器の論理回路
半加算器HAは,EXOR回路とANDゲートを用いて作られ
る.また,基本論理回路のみでも作られる.
c  x y
z  x y  x y  x y
14
コンピュータとネットワーク概論
第3章 論理回路
●全加算器
4ビットの数(x3x2x1x0)2と(y3y2y1y0) 2の加算を考える.最下位の
x0+y0の加算は半加算器で計算でき,結果をz0とし,桁上りを
c0とすると,x1+y1を計算するとき,c0を加える必要がある.こ
のような桁上りを含める3つの入力データの加算回路を全加
算器FA(Full Adder)という.その真理表を次のように示す.
x 3 x 2 x1 x 0
y 3 y 2 y1 y 0
 c 2 c1 c 0
z 4 z 3 z 2 z1 z 0
15
コンピュータとネットワーク概論
第3章 論理回路
●全加算器の論理式,記号と構成回路
ci  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1
 xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1
 yi  ci 1 ( xi  xi )  xi  ci 1 ( yi  yi )  xi  yi (ci 1  ci 1 )
 yi  ci 1  xi  ci 1  xi  yi
zi  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1  xi  yi  ci 1
16
コンピュータとネットワーク概論
第3章 論理回路
●4ビットの加算器の構成
x 3 x 2 x1 x 0
y 3 y 2 y1 y 0
 c 2 c1 c 0
cz 4 z 3 z 2 z1 z 0
実現する
17
コンピュータとネットワーク概論
第3章 論理回路
3.4 順序回路
出力値がそのとき与えられた入力データのみな
らず過去の入力にも依存する論理回路を順序回
路という.
順序回路は,記憶素子として,コンピュータに用
いられる.メモリ,レジスタ,カウンタなどは順序回
路から構成されている.
18
コンピュータとネットワーク概論
第3章 論理回路
●順序回路の例
順序回路の基本は,フリップフロップ(FF,
flip-flop)回路である.その記号は右に示す.
フリップフロップの基本はリセッ
ト・セットフリップフロップといい,
RS-FFと記し, Rはリセット入力端
子,Sはセット入力端子,Q(n)は出
力端子である.S=1のとき,Q=1と
なり,R=1のとき,Q=0となる.S=0,
R=0とき,出力がそのままの状態
で変わらなく,記憶機能を果たして
いる.
19
コンピュータとネットワーク概論
第3章 論理回路
●RS-FFの実現
RS-FFは,NORゲートにより作られる.
要注意
―
20
コンピュータとネットワーク概論
第3章 論理回路
RS-FFを用いて,レジスタ(register)が作られる.レジスタはコンピュー
タの中で高速にデータのやりとりできる記憶装置である.
書き込み信号が1のとき,入力データx3 x2 x1 x0が記憶され,
0のとき記憶されているデータは変わらない.読み出し信号
が1のときのみ,保存されているデータが出力される.リセッ
ト信号が1のとき,0にリセットされる.
4ビット
レジスタ
21
コンピュータとネットワーク概論
第3章 論理回路
第3章のまとめ
1.コンピュータは基本的に論理回路から作られている.
2.論理回路には組合せ回路(コンピュータの演算部分)と
順序回路(コンピュータの記憶部分)がある.
3.論理演算と基本論理回路
●論理積と論理積回路(ANDゲート)
●論理和と論理和回路(ORゲート)
●否定と否定回路(NOTゲート)
22
コンピュータとネットワーク概論
第3章 論理回路
第3章のまとめ
完
4.その他論理回路
●NAND回路:NANDのみでどんな論理回路でも作られる
●NOR回路
●EXOR回路
5.組合せ論理回路
●コンピュータの演算機能は組合せ論理回路から実現
●演算の基本は加算,半加算器と全加算器がある
6.順序回路
●コンピュータの記憶機能は順序回路によって実現
●記憶素子はフリップフロップによって実現
●レジスタ(メモリ)の構成
23
コンピュータとネットワーク概論
第3章 論理回路