Kim Seon Deok
[논리회로] 2. 부울 대수와 논리 게이트 본문
2.1 불대수(Bool algebra) 기본 정의
컴퓨터는 동일한 기능을 하면서 좀 더 간단하게 하기 위해 불 대수를 이용한 2진 논리를 사용한다.
대수를 구성하기 위한 보편적인 공준
폐쇄(closure) : 요소의 모든 쌍에 대해 연산자가 요소로 대응
결합법칙(associative law) : (x*y)*z = x*(y*z)
교환법칙(communicative law) : x*y = y*x
분배법칙(distributive law) : x*(y.z) = (x*y).(y*z)
단위원 (identity element) : e*x = x*e = x 역원 x*y = e
2.2 불대수의 공리적 정리
불대수는 덧셈, 곱셈만 가능하다. 역이 없어서 뺄셈, 나눗셈이 없다.
불대수는 요소가 0,1뿐임
연산자 + 에 폐쇄적 연산자 ·에 폐쇄적
0은 + 에 관한 단위원 연산자 1은 ·에 관한 단위원
+에 대해서 교환적 ·에 관해서 교환적
·는 +에 관해서 분배적 +는 ·에 관해서 분배적
보수(not)가 존재
x+x프라임 = 1 x·x프라임 = 0
서로 다른 요소가 적어도 2개 존재
불대수의 공준과 정리
특히 함수의 보수가 and, or 연산자를 서로 바꾸고 각 리터럴을 보수화해서 얻는 드모르간 법칙이 아주 중요하다.
2.3 불 함수
다음 F2를 두 가지 방식으로 표현하면
왼쪽은 수식을 변형하지 않고 그대로 나타낸 경우로 3개의 and gate에 각각 3개,3개,2개 총 8개의 리터럴이 입력으로 들어간 모습이다.
오른쪽은 수식을 간략하게 한 경우로 2개의 and gate에 각각 2개, 2개 총 4개의 리터럴이 입력으로 들어간 모습이다.
and gate의 수 감소, 리터럴의 수 감소, 항의 수가 감소하였다.
따라서 불대수의 성질을 이용한 수식의 간략화를 통해 같은 일을 하는데 gate의 수가 줄어들어 매우 경제적인 효과를 볼 수 있다.
2.4 정준(canonical) 형식 & 표준(standard) 형식
정준형식을 이용해 불함수를 표현하는 방식은 크게 3가지 가 있다.
- 진리표 생성
- 불대수 성질 이용
- 수식 이용
- 최소항(minterm) = 표준곱(standard product) : 2진 변수의 각 조합 and 에서 대응되는 비트가 0이면 프라임을 붙이고 1이면 붙이지 않는 항을 말한다. > 최종 곱이 1이 되도록 함
x = 1, x 프라임 = 0
- 최대항(maxterm) = 표준합(standard sum) : 2진 변수의 각 조합 or 에서 대응되는 비트가 1이면 프라임을 붙이고 0이면 붙이지 않는 항을 말한다. > 최종 합이 0이 되도록 함
x = 0, x 프라임 = 1
부울 함수는 canonical 방식을 통해 최소항의 합 (m0 + m1 + m2+,,,)또는 최대항의 곱(M0*M1*M2*....)으로 표현가능하다.이 때 변수의 개수가 n개이면 만들 수 있는 모든 조합은 2^n개이다. 변수가 누락되어 있는 경우 불대수 정리를 이용해 누락된 변수를 살려주어야 한다.
f1불함수로 진리표를 그려보았을 때 1이 나오는 경우는 민텀에 해당하고, 0이 나오는 경우는 최대항에 해당한다.
표준형식을 이용해 불함수를 표현하는 방법은 2가지이다.
- 곱의 합(sum of product) = 정준형식의 최소항의 합
- 합의 곱(product of sum) = 정준형식의 최대항의 곱
*정준형식과 표준형식을 사용하여 논리게이트를 짜면 2 level로 만들 수 있다.
왼쪽은 위의 식을 있는 그대로 gate로 표현한 것이고, 오른쪽은 함수식을 최소항의 합으로 나타낸 것을 그대로 gate로 표현한 것이다.
왼쪽식에서 AB는 하나의 게이트를 통해 OR의 입력으로 들어가지만, C(D+E)는 2번의 게이트를 통해 OR의 입력으로 들어가기 때문에 타이밍이 맞지 않아 delay가 발생하여 느려진다. 하지만 모든 게이트의 입력 갯수는 2개이다.
오른쪽 식은 곱의 합으로 나타내어진 식이므로 모두 1개의 and 게이트를 거쳐 or 게이트의 입력으로 들어간다.
그렇기 때문에 delay가 발생하지 않는다. 하지만 or게이트의 입력갯수가 3개이므로 왼쪽보다 or게이트의 리터럴이 많다.
불함수는 and,or,not 연산의 항으로 표시되어 있기 때문에 구현하기 용이하다.
and와 or게이트보다 nand,nor 게이트가 더 쉽게 구현되기 때문에 더 보편적으로 사용된다.
2.5 디지털 논리 게이트
inverter는 이진수를 뒤집어주는 역할을 하고, buffer는 신호를 잠깐 담은 후 그대로 내보내는 역할을 하여 신호의 준위를 명확하게 맞추어준다.(0.5v를 0v로)
xor은 1의 갯수가 홀수면 1(True), 짝수면 0(False)을 출력하는 기함수(odd function)이다.
exclusive nor은 xnor과 같으며 xor에 not을 붙인 것이다.
nor와 nand게이트는 결합법칙이 성립하지 않아 순서가 바뀌면 결과가 바뀐다.
정-부논리
정논리(positive logic)는 논리 1 을 나타내기 위해 고준위(고전압) H를 취하는 것이고, 부논리(negative logic)는 논리 1을 나타내기 위해 저준위(저전압) L을 취하는 것이다.
'논리회로' 카테고리의 다른 글
[논리회로] 6. 레지스터와 카운터 (0) | 2022.10.23 |
---|---|
[논리회로] 5. 동기식 순차 논리 (0) | 2022.10.17 |
[논리회로] 4. 조합논리 (0) | 2022.10.14 |
[논리회로] 3. 게이트 레벨 최소화 (0) | 2022.10.12 |
[논리회로] 1. 디지털 시스템과 2진수 (0) | 2022.10.10 |