본문 바로가기
전공수업/컴퓨터 구조

조합 논리회로

by wonseok99 2019. 11. 13.

조합 논리회로는 입력과 출력이 있는 논리 게이트 집합으로 출력은 현재 입력에 의해 결정된다. 기억능력이 없는것이 특징이다.

 

[ 가산기 ]

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