목차
1.디지탈시스템의 개요
2.수의 표현
3.여러가지 부호
4.부울 대수
5.논리식의 간단화
6.기본적인 논리회로
7.멀티바이브레이터 회로
8. 시미터 트리거회로
9. 계수회로와 레지스터
10. Shift Register
10. 연산 장치
2.수의 표현
3.여러가지 부호
4.부울 대수
5.논리식의 간단화
6.기본적인 논리회로
7.멀티바이브레이터 회로
8. 시미터 트리거회로
9. 계수회로와 레지스터
10. Shift Register
10. 연산 장치
본문내용
back 시키는 회로로 구성된다.
항상 A ~ F 에 초기값을 주어야 한다. 그 초기값으로 0 을 가한 후 clock을 가하면 작용을 하지 않는다. 임의의 100101(2)의 수를 A ~ F 사이에 가해보자 아래는 그 출력파형을 나타낸다.
ⓐ 출력파형
clock
A
B
C
D
E
F
4. serial input / parallel output type 3 bit shift register
직렬 data 입력과 4 병력출력 레지스터
① 회로
<그림 10.2> 회로도
5. parallel input / serial output type 3 bit shift register
<그림 10.3> 회로도
parallel input data는 각 flip-flop의 Preset input과 clear input을 통해서 비동기적으로 입력된다.
출력은 C를 통해서 얻을 수 있다.
범용레지스터(universal register)
① serial input / serial output
② serial input / parallel output
③ parallel input / serial output
right / left shift 등의 여러가지 기능을
보유하고있는 register를 말한다.
cf) 범용 집적회로
10. 연산 장치
1. 가산기
⑴ 반 가산기(Half Adder)
: 1 bit의 덧셈
① 진리표
A
B
SUM
Carry
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
② 논리식
SUM = Ab B + A Bb
= A B
Carry = AB
③ 회로
A
SUM
B
carry
<그림 10.1> 반가산기 회로
⑵ 전 가산기 (Full Adder)
: carry 까지 더하는 덧셈기
① 진리표
A
B
C
SUM
Carry
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
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
② 논리식
SUM = Ab Bb C + Ab B Cb + A Bb Cb + A B C
Carry = Ab B C + A Bb C + A B Cb + A B C
= A B + A C + B C
③ 회로
C
A
H ASC Carry
B
H AS
C SUM
<그림 10.2> 전가산기 회로
⑶ 병렬 2진 가산기
A4 A3 A2 A1
B4 B3 B2 B1
ex) 1 0 1 1
+ 0 1 0 1 FA FA FA HA
S5 S4 S3 S2 S1
<그림 10.3> 병렬 2진 가산기
2. 감산기
⑴ 반 감산기 (Half Subtractor)
: 1 bit의 2진수 뺄셈
① 진리표
A
B
차
자리 빌림수
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
② 논리식
차 = AbB + ABb
= A B
빈수 = AbB
③ 회로
A
차
B
빈수
<그림 10.4> 반 감산기 회로
⑵ 전 감산기(Full Subtractor)
: 빈수까지 뺄셈
① 진리표
B'
B
C
차
빈 수
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
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
② 논리식
차 = Ab B B'b + A Bb B'b + Ab Bb B' + A B B'b
빈수 = Ab B B' + Ab Bb B' + Ab B B' + A B B'
= Ab B + Ab B' + B B'
③ 회로
빈수
A
H S차 빈수 빈수
B
H S
B' 차
<그림 10.5> 전 감산기 회로
⑶ 병렬 2진 감산기
A -B
ex.) A 1 0 0 1 1 0↘ 0 0↘ 0 1↘ 1 0
-B - 0 0 1 0 1 10빈수
FS FS FS HS
0 0 1 1 1
Difference(차)
3. 곱셈기
구성 : 가산기만 사용하면 회로는 간단하나 시간이 늦어지고 곱셈기만 사용하면 회
로는 복잡해지고 시간은 빨라지고 가격이 비싸진다.그래서 가산기와 곱셈기
의 특징을 절충한 형태로 가산기와 레지스터로 구성한다.
1 0 1 → 피승수 ................ 피승수 register에 입력
× 0 1 0 → 승 수 ................ MQ register에 입력
0 0 0
1 0 1 ===> 부분곱 .............. 누산기에 기록된다.
0 0 0
0 1 0 1 0 → 곱 .................... 누산기와 MQ register에 기억됨
부호있는 4 bit 2진수 끼리의 곱셈장치
피승수 register
22 21 20
부호 MSB LSB
X0 X1 X2 X3
FAFAFAFA
Y0→부호
Right shift → Y1 Y2 Y3→승수
MSB LSB
부호 25 24 23 22 21 20
누산기 MQ register
* 곱셈 방식 (누산기는 RESET 시킴으로서 전부 0 으로 setting한다.)
① 두수의 부호 bit 를 비교 → 같으면 0 으로 다르면 1 로 set한다.
② MQ register 의 20 bit 조사
→ 1 : 누산기의 내용과 피승수의 값을 병렬 가산기로 더하여 누산기에
집어넣는다.
0 : 더하지 않는다.
③ 누산기와 MQ register 를 함께 오른쪽으로 1 bit shift 한다.
④ ②,③ 과정을 되풀이한다.
(단, 승수의 bit 자리수 만큼 연산되도록 한다.)
⑤ 전체의 곱이 누산기와 MQ register 에 남아있게 된다.
⑥ ①에서 결정한 부호 bit 를 누산기의 부호 bit 에 넣어 주므로서 연산이 종결
된다.
둘다 같으므로
0 을 setting 한다
0 1 0 1
FA FA FA FA
0
? ? ? ? 0 1 1
1 이므로
누산기는 0 1 0 1 이 되고
0
1 bit shift 하면 0 0 1 0 1 0 1
1 이므로
누산기는 0 1 1 1 이 되고
1+0 0+1 1+0
0
1 bit shift 하면 0 0 1 1 1 1 0
0 이므로
그냥 1 bit shift 하면
0
0 0 0 1 1 1 1
1 이므로
따라서 20 자리부터 뽑아보면 결과치인 곱은 11112 이 되어서 십진수
15 를 가르킨다. 물론 부호는 sign bit 가 0 이므로 + 이다.
항상 A ~ F 에 초기값을 주어야 한다. 그 초기값으로 0 을 가한 후 clock을 가하면 작용을 하지 않는다. 임의의 100101(2)의 수를 A ~ F 사이에 가해보자 아래는 그 출력파형을 나타낸다.
ⓐ 출력파형
clock
A
B
C
D
E
F
4. serial input / parallel output type 3 bit shift register
직렬 data 입력과 4 병력출력 레지스터
① 회로
<그림 10.2> 회로도
5. parallel input / serial output type 3 bit shift register
<그림 10.3> 회로도
parallel input data는 각 flip-flop의 Preset input과 clear input을 통해서 비동기적으로 입력된다.
출력은 C를 통해서 얻을 수 있다.
범용레지스터(universal register)
① serial input / serial output
② serial input / parallel output
③ parallel input / serial output
right / left shift 등의 여러가지 기능을
보유하고있는 register를 말한다.
cf) 범용 집적회로
10. 연산 장치
1. 가산기
⑴ 반 가산기(Half Adder)
: 1 bit의 덧셈
① 진리표
A
B
SUM
Carry
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
② 논리식
SUM = Ab B + A Bb
= A B
Carry = AB
③ 회로
A
SUM
B
carry
<그림 10.1> 반가산기 회로
⑵ 전 가산기 (Full Adder)
: carry 까지 더하는 덧셈기
① 진리표
A
B
C
SUM
Carry
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
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
② 논리식
SUM = Ab Bb C + Ab B Cb + A Bb Cb + A B C
Carry = Ab B C + A Bb C + A B Cb + A B C
= A B + A C + B C
③ 회로
C
A
H ASC Carry
B
H AS
C SUM
<그림 10.2> 전가산기 회로
⑶ 병렬 2진 가산기
A4 A3 A2 A1
B4 B3 B2 B1
ex) 1 0 1 1
+ 0 1 0 1 FA FA FA HA
S5 S4 S3 S2 S1
<그림 10.3> 병렬 2진 가산기
2. 감산기
⑴ 반 감산기 (Half Subtractor)
: 1 bit의 2진수 뺄셈
① 진리표
A
B
차
자리 빌림수
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
② 논리식
차 = AbB + ABb
= A B
빈수 = AbB
③ 회로
A
차
B
빈수
<그림 10.4> 반 감산기 회로
⑵ 전 감산기(Full Subtractor)
: 빈수까지 뺄셈
① 진리표
B'
B
C
차
빈 수
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
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
② 논리식
차 = Ab B B'b + A Bb B'b + Ab Bb B' + A B B'b
빈수 = Ab B B' + Ab Bb B' + Ab B B' + A B B'
= Ab B + Ab B' + B B'
③ 회로
빈수
A
H S차 빈수 빈수
B
H S
B' 차
<그림 10.5> 전 감산기 회로
⑶ 병렬 2진 감산기
A -B
ex.) A 1 0 0 1 1 0↘ 0 0↘ 0 1↘ 1 0
-B - 0 0 1 0 1 10빈수
FS FS FS HS
0 0 1 1 1
Difference(차)
3. 곱셈기
구성 : 가산기만 사용하면 회로는 간단하나 시간이 늦어지고 곱셈기만 사용하면 회
로는 복잡해지고 시간은 빨라지고 가격이 비싸진다.그래서 가산기와 곱셈기
의 특징을 절충한 형태로 가산기와 레지스터로 구성한다.
1 0 1 → 피승수 ................ 피승수 register에 입력
× 0 1 0 → 승 수 ................ MQ register에 입력
0 0 0
1 0 1 ===> 부분곱 .............. 누산기에 기록된다.
0 0 0
0 1 0 1 0 → 곱 .................... 누산기와 MQ register에 기억됨
부호있는 4 bit 2진수 끼리의 곱셈장치
피승수 register
22 21 20
부호 MSB LSB
X0 X1 X2 X3
FAFAFAFA
Y0→부호
Right shift → Y1 Y2 Y3→승수
MSB LSB
부호 25 24 23 22 21 20
누산기 MQ register
* 곱셈 방식 (누산기는 RESET 시킴으로서 전부 0 으로 setting한다.)
① 두수의 부호 bit 를 비교 → 같으면 0 으로 다르면 1 로 set한다.
② MQ register 의 20 bit 조사
→ 1 : 누산기의 내용과 피승수의 값을 병렬 가산기로 더하여 누산기에
집어넣는다.
0 : 더하지 않는다.
③ 누산기와 MQ register 를 함께 오른쪽으로 1 bit shift 한다.
④ ②,③ 과정을 되풀이한다.
(단, 승수의 bit 자리수 만큼 연산되도록 한다.)
⑤ 전체의 곱이 누산기와 MQ register 에 남아있게 된다.
⑥ ①에서 결정한 부호 bit 를 누산기의 부호 bit 에 넣어 주므로서 연산이 종결
된다.
둘다 같으므로
0 을 setting 한다
0 1 0 1
FA FA FA FA
0
? ? ? ? 0 1 1
1 이므로
누산기는 0 1 0 1 이 되고
0
1 bit shift 하면 0 0 1 0 1 0 1
1 이므로
누산기는 0 1 1 1 이 되고
1+0 0+1 1+0
0
1 bit shift 하면 0 0 1 1 1 1 0
0 이므로
그냥 1 bit shift 하면
0
0 0 0 1 1 1 1
1 이므로
따라서 20 자리부터 뽑아보면 결과치인 곱은 11112 이 되어서 십진수
15 를 가르킨다. 물론 부호는 sign bit 가 0 이므로 + 이다.
소개글