논리 게이트 진리표: 필수 참고 가이드
AND, OR, NOT, NAND, NOR, XOR, XNOR을 위한 완전한 진리표 참고 자료입니다. 부울 식, 범용 게이트 증명, CPU 활용 사례를 함께 다룹니다.
요약: 진리표는 가능한 모든 입력 조합과 논리 게이트가 만들어 내는 결정론적 출력을 나열합니다. 이 참고 자료는 AND, OR, NOT, NAND, NOR, XOR, XNOR의 일곱 표준 게이트를 부울 식과 표로 다루며, NAND 게이트 네 개로 XOR 동작을 재현하는 예제도 제공합니다.
진리표는 논리 게이트의 최종 명세입니다. 가능한 모든 입력 상황과 게이트가 만들어 낼 하나의 결정론적 출력을 빠짐없이 열거합니다. 진리표를 읽고 작성하는 일은 디지털 설계의 기초 역량입니다. 같은 표기법은 이후의 카르노 맵, 곱의 합 유도, 회로 검증에도 등장합니다.
기본 게이트: 계산의 원시 요소
기초 게이트인 AND, OR, NOT은 디지털 팔레트의 삼원색입니다. 이론적으로 모든 복잡한 논리 함수는 이 세 가지의 조합으로 그려 낼 수 있습니다.
NOT 게이트(인버터)
NOT 게이트는 모든 게이트 중 가장 단순합니다. 입력 하나와 출력 하나를 가지며, 입력 신호를 반전하는 것이 역할입니다. 1을 주면 0을 내보내고, 0을 주면 1을 내보냅니다. 논리에서 대립을 구현한 형태입니다.
부울 식:
| 입력 (A) | 출력 (Y) |
|---|---|
| 0 | 1 |
| 1 | 0 |
AND 게이트
AND 게이트는 조건의 게이트입니다. 모든 입력이 1일 때에만 1을 출력합니다. 엄격한 보안 검색대라고 생각해 보세요. 입장하려면 신분증과 티켓이 모두 필요하다면 ID = 1 AND Ticket = 1이어야 합니다. 어느 하나라도 부족하면 출력은 0입니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR 게이트
OR 게이트는 선택의 게이트입니다. 입력 중 하나라도 1이면 1을 출력합니다. AND 게이트보다 관대한 대응물입니다. 티켓 OR 초대장 중 어느 하나로 행사장에 들어갈 수 있다면, 둘 중 하나만 참(= 1)이면 입장할 수 있습니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
범용 게이트의 놀라운 힘
어떤 디지털 회로를 만들기 위해 AND, OR, NOT이 모두 필요한 것은 아닙니다. 모든 부울 함수는 게이트 종류 하나만으로도 만들 수 있습니다. 이 성질을 기능적 완전성이라 하며, 이를 지닌 두 게이트가 NAND와 NOR입니다.
이것이 왜 중요할까요? 제조에서는 일관성이 핵심입니다. 하나의 게이트 유형, 예를 들어 NAND만 만들도록 수백만 개의 트랜지스터를 제작하는 편이 서로 다른 여러 유형을 만드는 것보다 훨씬 효율적이고 비용도 적게 듭니다. 이것이 실리콘 칩 경제성의 비결입니다.
NAND 게이트(NOT-AND)
NAND 게이트는 AND 게이트 뒤에 NOT 게이트를 연결한 것입니다. AND 게이트와 정확히 반대의 출력을 만듭니다. 모든 입력이 1일 때에만 0을 출력합니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NOR 게이트(NOT-OR)
마찬가지로 NOR 게이트는 OR 게이트 뒤에 NOT 게이트를 연결한 것입니다. 모든 입력이 0일 때에만 1을 출력합니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
기능적 완전성을 증명하려면 NAND 게이트만으로 세 가지 기본 게이트를 구성할 수 있습니다.
- NOT 게이트: NAND 게이트의 두 입력을 서로 연결합니다. 입력
A가 두 입력 모두에 들어가므로 출력은 입니다. - AND 게이트: NAND 게이트의 출력을 NOT 게이트로 구성한 NAND 게이트에 통과시킵니다. 출력은 입니다.
- OR 게이트: 입력
A와B를 각각 반전합니다(NAND를 NOT으로 구성한 게이트 사용). 그 결과를 세 번째 NAND 게이트에 넣습니다. 드 모르간 법칙에 따라 출력은 입니다.
배타적 게이트: 차이 검출기
이 게이트들은 입력이 같은지 다른지에 기반한 특수한 논리를 처리합니다.
XOR 게이트(배타적 OR)
XOR 게이트는 “둘 중 하나이되, 둘 다는 아닌” 게이트입니다. 입력이 서로 다를 때에만 1을 출력합니다. 이 동작은 산술과 오류 검사에서 매우 유용합니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XNOR 게이트(배타적 NOR)
XNOR 게이트는 XOR의 논리적 반대입니다. 입력이 같을 때에만 1을 출력하는 동등성 검출기입니다.
부울 식:
| 입력 (A) | 입력 (B) | 출력 (Y) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
digisim.io에서 시뮬레이션하기
회로를 만들면 진리표가 구체적으로 드러납니다. NAND 게이트의 기능적 완전성을 보이려면 NAND 게이트 네 개로 XOR 게이트를 구성해 보세요.
- 작업 공간 열기: digisim.io 시뮬레이터로 이동합니다. 빈 캔버스가 보입니다.
- 구성 요소 배치:
- 입력 스위치 두 개를 캔버스로 끌어다 놓고 ‘A’, ‘B’로 이름을 붙입니다.
- 2입력 NAND 게이트 네 개를 캔버스로 끌어다 놓습니다.
- 출력 LED 하나를 캔버스로 끌어다 놓고 ‘Y’로 이름을 붙입니다.
- 회로 배선:
- 입력
A를 NAND 게이트 #1의 첫 번째 입력과 NAND 게이트 #2의 첫 번째 입력에 연결합니다. - 입력
B를 NAND 게이트 #1의 두 번째 입력과 NAND 게이트 #3의 첫 번째 입력에 연결합니다. - NAND 게이트 #1의 출력을 NAND 게이트 #2와 NAND 게이트 #3의 두 번째 입력 모두에 연결합니다.
- NAND 게이트 #2의 출력을 NAND 게이트 #4의 첫 번째 입력에 연결합니다.
- NAND 게이트 #3의 출력을 NAND 게이트 #4의 두 번째 입력에 연결합니다.
- 마지막으로 NAND 게이트 #4의 출력을 출력 LED ‘Y’에 연결합니다.
- 진리표 시험: 이제 A와 B의 입력 스위치를 토글하고 LED를 관찰합니다.
A=0, B=0: LED가 꺼집니다(0).A=0, B=1: LED가 켜집니다(1).A=1, B=0: LED가 켜집니다(1).A=1, B=1: LED가 꺼집니다(0).
방금 NAND 게이트만 사용해 XOR 게이트의 진리표를 실험적으로 검증했습니다. 직접 조작할 수 있는 방식으로 기능적 완전성의 원리를 증명한 것입니다.
실제 활용 사례
이 추상적인 게이트들은 우리가 매일 쓰는 기기 안에서 핵심 역할을 합니다.
- RAM 패리티 검사에서의 XOR: 컴퓨터 메모리(DRAM)는 완벽하지 않습니다. 방사선이나 전기적 잡음 때문에 비트가 가끔 뒤집힐 수 있습니다. 이를 검출하기 위해 많은 시스템이 패리티 비트를 사용합니다. 데이터 8비트마다 아홉 번째 비트를 저장합니다. 이 비트는 8개의 데이터 비트를 모두 XOR하여 계산합니다. 1인 비트 수가 홀수이면 XOR 결과(패리티 비트)는 1이고, 짝수이면 0입니다. 데이터를 다시 읽을 때도 계산을 다시 수행합니다. 새 결과가 저장된 패리티 비트와 일치하지 않으면 시스템은 오류가 발생했음을 알 수 있습니다.
- CPU 산술 논리 장치(ALU)에서의 AND: ALU는 CPU의 수학적 두뇌입니다. 프로그래밍 언어에서 비트 단위
AND연산을 수행하면 CPU는 해당 비트를 ALU 안의 AND 게이트 묶음으로 직접 보냅니다. 이는 한 바이트 안에서 특정 비트를 분리하는 데 쓰이는 “마스킹” 기법의 기반이기도 합니다. 예를 들어 바이트D의 네 번째 비트가 설정되었는지 확인하려면 프로그래머는D AND 00001000을 계산할 수 있습니다. 결과가 0이 아니면 그 비트가 설정된 것입니다. 초당 수십억 번 실행되는 이 단순한 검사는 AND 게이트의 진리표 위에 직접 세워져 있습니다.
진리표는 외워야 할 참고 자료 그 이상입니다. 설계 도구이자 디버깅 보조 도구이며, 디지털 세계의 구성 요소를 정의하는 최종 명세입니다.
디지털 논리 101에서 이 게이트들을 직접 배선해 보거나, 부울 대수 기초로 넘어가 표 뒤의 식을 다뤄 보세요.



