1 J K CK Q Q PR CLR J K CK Q0 PR CLR J K CK Q1 Q PR CLR PR

§9.コンピュータ回路の基礎-レジスタと加算器-
コンピュータの基本機能:
(一時的)記憶と演算
例:電卓で行う演算 A ← A + B
A は電卓の表示部分:数を一時的に置く機能(レジスタ)が必須
<レジスタ(register:置数器)>
コンピュータ(CPU)の内部にある,データやアドレスなどを一時的に保存しておく記憶装置
外部メモリよりも高速にアクセスできる
JK-FF で作ることができる:1 bit の記憶ができる.
PR
J
Q
CK
Q
K
CLR
4 bit のレジスタ:D3D2D1D0 の 4 ビットデータが,クロックパルスで記憶され,Q3Q2Q1Q0 に出力
される.
Q0
Q1
PR
J
PR
Q0
J
CK
K
Q0
K
Q3
PR
Q1
J
CK
CLR
D0
Q2
PR
J
Q2
CK
CK
Q1
K
CLR
K
Q2
CLR
D1
D2
1
Q3
Q3
CLR
D3
<加算器>
演算:論理演算と算術演算
論理演算(AND,OR,NOT)は,ブール代数にしたがって行えば良い.
算術演算は論理演算とは異なる(例:論理演算では 1+1=1 だが,算術演算では 1+1=10(2))
算術演算(四則演算:加減乗除)
減算は負の数(補数)を加える.乗算は桁ずらし加算.除算は難しい(特別なルーチンが必要)
.
1桁の加算:
X + Y = S,これと桁上がり(キャリー:C)
X
X Y
S
C
0 0
0
0
0 1
1
0
1 0
1
0
1 1
0
1
S
Y
X
Y
X
C
S
X
S
HA
HA
Y
C
Y
C
二つの入力(X と Y)に対し,その和(S)と桁上がり(C)を出力する回路を,半加算器(Half Adder)
と呼び,上のような記号で書く.ただし,これは,下の桁からの桁上がりの処理ができないため,
半加算器を2個使用した全加算器(Full Adder)を用いる.
X + Y + C1 →
S,C2
X
S
S
HA
Y
S
HA
C
C
C2
C1
半加算器による全加算器の構成
2
X
Y
S
FA
COUT
CIN
全加算器の記号の例(キャリー入力とキャリー出力がある)
○4 ビットの加算器
X3
S3
Y3
FA
COUT
CIN
X2
C
S2
Y2
FA
COUT
CIN
X1
S1
Y1
FA
COUT
CIN
X0
S0
Y0
FA
COUT
CIN
X3 X2 X1 X0
Y3 Y2 Y1 Y0
C S3 S2 S1 S0
3