조합 논리회로는 입력과 출력이 있는 논리 게이트 집합으로 출력은 현재 입력에 의해 결정된다. 기억능력이 없는것이 특징이다.
[ 가산기 ]
1 ] 반가산기
반가산기는 1비트를 사용하는 두 개의 입력과 두 개의 출력으로 합[Sum] 과 자리올림[Carry] 이 사용된다.
자리올림수[C] 는 A와 B의 값이 모두 1일 때 발생한다.
- 반가산기 진리표
A | B | 올림수(C) | 합(S) |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
- 카르노 도표를 이용한 올림수와 합에 대해 최적으로 간략화된 부울대수삭
A / B | 0 | 1 |
0 | ||
1 | 1 |
[ 자리올림 ]
C = AB
A / B | 0 | 1 |
0 | 1 | |
1 | 1 |
[ 합 ]
S = A~B + ~AB = A ⊕ B
- 반가산기 논리회로
S = A ⊕ B
C = AB
2 ] 전가산기
하위 비트에서 발생하는 자리 올림을 고려하지 않는 반가산기는 두 비트 이상의 2진수 덧셈 연산을 수행할 수 없다. 반면, 전가산기는 두 입력, 2진수 A와 B 그리고 하위 비트에서 발생한 자리 올림수를 포함하여 2진수 세 개를 더하는 조합 논리회로이다.
자리올림수[C] 는 A,B,Co중 두 개의 값이 1일 때 발생한다.
A | B | Co | 올림수(C) | 합(S) |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
C(out) = ~ABC + A~BC + AB~C + ABC
= A ( ~BC + B~C ) + BC ( ~A + A )
= A ( B ⊕ C ) + BC
S. = ~A~BC + ~AB~C + A~B~C + ABC
= ~A ( ~BC + B~C ) + A ( ~B~C + BC )
= ~A ( B ⊕ C ) + A ~(B ⊕ C ) [ X = B ⊕ C ]
= ~AX + A~X
= A ⊕ X
= A ⊕ ( B ⊕ C )
- 전가산기 논리회로
전가산기 논리회로는 합의 논리연산을 나타내므로 A,B,C 합의 순서는 상관없다.
C(out) = ~ABC + A~BC + AB~C + ABC
= C ( ~AB + A~B ) + AB ( ~C + C )
= C ( A ⊕ B ) + AB
S. = ~A~BC + ~AB~C + A~B~C + ABC
= C ( ~A~B + AB ) + ~C ( ~AB + A~B )
= C ~( A ⊕ B ) + ~C ( A ⊕ B ) [ A ⊕ B = X ]
= C~X + ~CX
= C ⊕ X
= C ⊕ ( A ⊕ B )
[ 감산기 ]
감산기는 두 개 이상의 입력이 있을 경우 입력 하나에 나머지 입력들을 뺄셈 연산해 그 차이를 출력하는 조합 논리회로이다. 가산기에서의 합(S) 는 감산기에서의 차(D) 가 된다. 올림수(C) 대신 빌림수(Br) 이 발생한다.
1 ] 반감산기
반감산기에는 1비트인 두 개의 입력과 1 비트인 두 개의 출력으로 차(D)와 빌림수(Br) 가 존재한다. 두 입력 간의 뺄셈으로 얻은 결과가 출력에서 차가 되고 이 차가 음의 값을 갖는 경우 출력에서 빌림수가 활성화 된다.
- 반감산기 진리표
A | B | 빌림수(Br) | 차(D) |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 |
- 카르노 도표를 이용한 빌림수와 차에 대해 최적으로 간략화된 부울 대수식
A / B | 0 | 1 |
0 | 1 | |
1 |
[ 빌림수 ]
Br = ~AB
.
A / B | 0 | 1 |
0 | 1 | |
1 | 1 |
[ 차 ]
D = ~AB + A~B = A ⊕ B
- 반감산기 논리회로
D = A ⊕ B
Br = ~AB
2 ] 전감산기
반감사기에서 추가적으로 아랫자리에서 요구하는 빌림수에 의한 뺄셈까지도 수행할 수 있도록 설계된 논리회로이다.
입력 중에서 A는 뺄셈을 당하는 수이고 B와 Br은 빼어지는 수다. 그래서 A-B-Br의 계산을 수행하게 된다.
A | B | Br(in) | Br(out) | D |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
- 전감산기 논리회로
D = ( X ⊕ Y ) ⊕ B
Br = ~( X ⊕ Y )B + (~XY)
'전공수업 > 컴퓨터 구조' 카테고리의 다른 글
부울대수 (0) | 2019.10.30 |
---|---|
데이터의 2진수 표현 (0) | 2019.10.30 |
제 1장] 컴퓨터 구조 (0) | 2019.10.10 |