최종 수정 : 24.12.26
부울 대수 및 논리 게이트
부울 대수(boolean algebra)는 1854년 영국의 조지 부울(George Boole)이 논리학을 체계적으로 표현하기 위해 부울 대수 시스템을 제안했고, 1938년 샤논(Claude Shannon)이 2가지 값만 갖는 스위치를 대수(switching algebra) 시스템을 고안하여 오늘날 디지털 컴퓨터에서 사용하고 있다. 부울 대수에서는 1과 0만을 사용하며, 스위치의 온(1)과 오프(0), 전기신호의 유(1)과 무(0), 명제의 참(1)과 거짓(0)으로 표현한다.
1. 부울 대수의 기본 연산과 기본 게이트
기본 연산으로는 논리곱(AND), 논리합(OR), 논리부정(NOT), 배타적 논리합(XOR) 등 연산이 있다. 논리회로(logic circuit)를 설계할 때 사용하는 기호를 논리 게이트(logic gate)라고 한다. 논리 게이트로는 AND, OR, NOT가 있으며, 응용 게이트로 Exclusive-OR, Exclusive-NOR, NAND, NOR가 있다.
논리곱(AND)
☞ A이면서 B이어야 된다는 논리이며 A and B, AB, A∧B, A∩B로 표시한다.
논리합(OR)
☞ A이든지 B이면 된다는 논리이며 A or B, A + B, A∨B, A∪B로 표시한다.
논리부정(NOT)
☞ 변수 A가 참이면 거짓으로, 거짓이면 참으로 되는 논리이다. A̅, A', NOT A로 표시한다.
Exclusive-OR(배타적-OR)
☞ A와 B가 서로 다른 상태이어야 된다는 논리이며 A xor B, A ⊕ B로 표시한다.
Exclusive-NOR(배타적-NOR)
☞ A와 B가 서로 같은 상태이어야 된다는 논리이다.
NAND 게이트
☞ AND-NOT으로 1개의 변수라도 0이 존재하면 무조건 1이 되는 상태이다.
NOR 게이트
☞ OR-NOT으로 2개의 변수가 동시에 0일 때만 1이 되는 상태이다.
2. 부울 대수의 기본 법칙
부울 대수를 이용하면 회로식을 간단히 할 수 있고 회로도가 간단해져서 하드웨어인 게이트의 수를 줄일 수가 있으며 원가절감이 된다.
법칙 | 논리합 | 논리곱 |
교환법칙 | A+B = B+A | A * B = B * A |
결합법칙 | A+(B+C) = (A+B)+C | A * (B * C) = (A * B) * C |
분배법칙 | A+(B * C) = (A+B)(A+C) | A * (B+C) = (A * B)+(A * C) |
동일법칙 | A+A = A | A * A = A |
흡수법칙 | A+A * B = A | A * (A+B) = A |
0과 1의 관계 | 0+A = A 1+A = 1 |
0 * A = 0 1 * A = A |
부정의 관계 | A+A' = 1, (A')' = A | A * A' = 0, ((A')')' = A' |
드모르간의 법칙 | (A+B)' = A' * B' | (A * B)' = A'+B' |
3. 카르노 맵(karnaugh map)
논리식을 간략화하는 방법으로 부울 대수식과 카르노 맵을 이용한 방식이 있다. 부울 대수는 신호선수가 많아서 수식이 복잡해지면 간략화하기가 어렵지만 카르노 맵을 이용하면 간단히 해결할 수 있다.
1) 입력이 2개인 카르노 맵
☞ 입력 신호선이 A, B 2개이면 2² = 4 가지 상태를 갖는다. 1개, 2개, 4개로 셀을 묶을 수 있다.
2) 입력이 3개인 카르노 맵
☞ 입력 신호선이 A, B, C 3개이면 2³ = 8 가지 상태를 갖는다. 1개, 2개, 4개, 8개로 셀을 묶을 수 있다.
Don't care 조건
● 도표에서 1 또는 0, 어떤 값을 가져도 상관없는 조건을 돈케어(don't care)라 한다.
● 간략화는 방법에 따라 포함할 수도 포함하지 않을 수도 있다. d 또는 X로 표시한다.
3) 입력이 4개인 카르노 맵
☞ 입력 신호선이 A, B, C, D 4개이면 2⁴ = 16가지 상태를 갖는다. 1개, 2개, 4개, 8개, 16개로 셀을 묶을 수 있다.
참고
독학사 교재
댓글