로직 게이트 진리표 완벽 가이드: 종류, 심볼, 동작 원리
로직 게이트와 진리표란?
디지털 시스템은 인간 기술의 정점에 있습니다. 이런 시스템은 보통 디지털 형태로 정보를 저장, 처리, 통신하는 마이크로컨트롤러나 컴퓨터를 포함합니다.
하지만 그게 전부는 아닙니다.
디지털 회로는 이진 숫자(1과 0) 형태로 정보를 교환합니다. 게다가 로직 게이트는 오늘날 우리가 가진 방대한 디지털 로직 회로의 토대를 마련했습니다.
하지만 기본 로직 게이트 진리표를 더 깊이 이해하려면 불 대수(Boolean logic)에 익숙해야 합니다.
다행히 이 글이 로직 게이트, 이진 입력, 논리 연산, 입력 조합에 대한 모든 것을 알려드립니다.
자, 시작해 볼까요!
작동 원리
여러 컴퓨터가 복잡한 연산을 수행할 수 있는 건 디지털 로직 게이트의 상호 관계 덕분입니다.
제조사들은 분자, 트랜지스터, 광학, 다이오드, 릴레이 등을 통해 기본 게이트를 구현합니다. 심지어 다양한 기계적 요소로도 구현 가능합니다. 따라서 로직 게이트를 전자 회로로 생각할 수 있습니다.
로직 게이트는 소규모 집적 회로(SSI), 초대규모 집적 회로(VLSI), 대규모 집적 회로(LSI) 등 다양한 형태로 구축할 수 있습니다.
또한 집적 전자 소자의 모든 게이트 입력/출력과 외부 연결에 접근할 수 있습니다. 개별 로직 게이트와 유사합니다.
진리표 (Truth Table)
진리표
출처: 위키미디어 커먼즈
진리표는 입력 변수의 다양한 조합을 담고 있습니다. 또한 그에 대응하는 출력 변수도 보여줍니다.
더 나아가 진리표는 로직 회로의 게이트 출력이 다양한 입력 로직 레벨에 어떻게 반응하는지 설명합니다.
이 표에서 전압 레벨은 로직 1과 로직 0입니다. 두 가지 로직 레벨인 네거티브 로직과 포지티브 로직이 있습니다.
로직 하이(Logic High)와 로직 로우(Logic Low)
단순 로직 게이트의 모든 입력과 출력에는 두 레벨이 있습니다: ON/OFF, HIGH/LOW, TRUE/FALSE, 또는 1/0.
포지티브 로직 시스템에서 높은 전압 레벨은 1, 낮은 전압 레벨은 0입니다.
그러나 네거티브 로직 시스템에서는 높은 전압 레벨이 0, 낮은 전압 레벨이 1입니다.
하지만 TTL(트랜지스터-트랜지스터 로직)을 고려하면 낮은 상태를 0볼트, 높은 상태를 5볼트로 볼 수 있습니다.
로직 게이트의 종류
모든 종류의 디지털 소자를 통합하기 위해 조합할 수 있는 7가지 주요 게이트 타입이 있습니다. 7가지 로직 게이트 타입과 작동 방식을 자세히 살펴보겠습니다.
AND 게이트
AND 게이트는 2개 이상의 입력이 필요하며 단일 출력을 생성합니다. 모든 입력이 로직 1 상태일 때만 로직 1 출력을 생성합니다.
마찬가지로 모든 입력이 로직 0 상태일 때 로직 0 출력을 만듭니다.
AND 연산을 나타내는 기호는 "." 또는 기호 없음입니다.
또한 X와 Y 입력이 있다면 AND 게이트 출력을 Z = XY로 표현할 수 있습니다. AND 게이트를 '전부 아니면 전무(all or nothing) 게이트'라고도 부릅니다.
3입력 및 2입력 AND 게이트의 로직 심볼과 진리표는 다음과 같습니다.
출처: 위키 커먼즈 (편집됨)
3입력 AND 게이트
진리표
또한 트랜지스터나 다이오드를 사용해 개별 AND 게이트를 구현할 수 있습니다.
X와 Y 입력을 각각 0V 또는 +5V로 표현할 수 있습니다. Z는 출력을 나타냅니다.
AND 게이트 다이오드에서 두 입력이 같은 값(X=+5V, Y=+5V)이면 다이오드는 OFF 상태가 됩니다.
이때 전류가 저항을 통해 흐르지 않습니다. 따라서 전압 강하가 없습니다. 결과적으로 출력은 Z=+5V입니다.
마찬가지로 두 입력이 모두 0V이면 병렬 다이오드가 ON 상태가 되어 단락 회로처럼 동작합니다. 출력도 0V와 일치합니다.
OR 게이트
개별 AND 게이트처럼 OR 게이트도 2개 이상의 입력을 가지며 단일 출력을 생성합니다.
하지만 OR 게이트는 입력 중 하나라도 로직 1 상태이면 로직 1 출력을 생성합니다. 마찬가지로 입력 중 하나라도 로직 0 상태이면 로직 0 출력을 생성합니다.
즉, OR 게이트는 입력 중 하나라도 1이면 1을 출력하는 단일 소자입니다. 이를 나타내는 기호는 "+"입니다.
X와 Y가 입력이면 출력을 Z = X + Y로 표현할 수 있습니다. OR 게이트를 '어느 하나 또는 전부(any or all) 게이트'라고도 부릅니다.
3입력 및 2입력 OR 게이트의 로직 게이트 심볼과 진리표:
2입력 OR 게이트
진리표
3입력 OR 게이트
진리표
또한 트랜지스터나 다이오드를 사용해 개별 OR 게이트를 구현할 수 있습니다. X와 Y 입력은 각각 0V 또는 +5V입니다. Z는 출력을 나타냅니다.
두 입력이 같은 값(X=0V, Y=0V)이면 두 다이오드 모두 OFF 상태가 됩니다. 따라서 전류가 저항을 통해 흐르지 않습니다. 전압 강하가 없으므로 출력은 Z = 0V입니다.
또한 두 입력 중 하나라도 +5V이면 병렬 다이오드가 ON 상태가 되어 단락 회로처럼 작동합니다.
NOT 게이트
NOT 게이트는 입력을 반대로 만듭니다. 그래서 인버터(inverter)라고도 부릅니다. NOT 게이트는 단일 입력과 단일 병렬 출력을 가집니다.
이 소자의 출력은 항상 입력의 보수(complement)입니다. 따라서 로직 0 입력이면 NOT 게이트는 로직 1 출력을, 그 반대도 마찬가지입니다.
"-" 기호가 NOT 연산을 나타냅니다. 'X'가 입력 변수, 'Z'가 출력 변수를 나타낼 때 NOT 연산은 Z = X̅(바)로 읽습니다.
NOT 게이트의 로직 심볼과 진리표:
NOT 게이트 심볼
진리표
X로 표현된 입력은 0V 또는 +5V입니다. Z도 출력을 나타냅니다. 따라서 입력 X가 0V이면 트랜지스터(Q1)가 역바이어스되어 OFF 상태로 유지됩니다.
이유는 전류가 저항을 통해 흐르지 않기 때문입니다. 전압 강하가 없으므로 출력 전류(Z)는 +5V와 일치합니다.
NAND 게이트
NAND 게이트는 첫 번째 범용 게이트(universal gate)입니다. 범용 게이트는 단독으로 로직 회로를 실현할 수 있습니다.
이 게이트는 AND, OR, NOT 세 가지 주요 로직 레벨 기능을 수행할 수 있습니다. 또한 NAND 게이트는 NOT 게이트와 AND 게이트의 융합입니다.
"—" 기호가 NAND 연산을 표현합니다. NAND 게이트는 모든 입력이 로직 1 레벨일 때만 로직 0 출력을 생성합니다.
2입력 NAND 게이트의 심볼과 진리표:
2입력 NAND 게이트
진리표
이산 NAND 게이트의 입력 X와 Y가 +5V이면 두 다이오드 모두 OFF 상태입니다. 또한 트랜지스터(Q1)가 저항의 공급으로부터 충분한 베이스 드라이브를 얻습니다. 따라서 트랜지스터가 ON되고 출력은 0V와 일치합니다.
NOR 게이트
NOR은 NOT OR을 의미해 NOR 게이트는 NOT 게이트와 OR 게이트의 조합입니다. NOR 게이트는 두 번째 범용 게이트입니다. 여기서 NOR 게이트는 로직 0 레벨에서만 로직 1 레벨 출력을 생성합니다.
다른 입력 조합에서는 출력이 로직 0 레벨을 유지합니다. NOR 게이트의 심볼과 진리표:
2입력 NOR 게이트 심볼
진리표
2입력 AND 게이트. X와 Y로 표현된 입력은 0V일 수 있습니다. 따라서 트랜지스터 Q1과 Q2는 OFF 상태를 유지합니다. 이 때문에 전압이 저항을 통해 흐르지 않습니다. 전압 강하가 없으므로 출력 전류(Z)는 +5V와 일치합니다.
그러나 입력 중 하나라도 +5V와 같거나 둘 다 5V와 일치하면 유사한 트랜지스터가 ON 상태로 유지됩니다. 따라서 출력 전류는 접지와 관련되어 0V가 됩니다.
배타적 OR 게이트 (Exclusive-OR Gate, XOR)
Ex-OR 게이트는 2입력 단일 출력의 로직 회로입니다. 두 입력 중 어느 하나가 로직 1 상태를 취하거나 둘 다 로직 1 상태이면 로직 1 상태를 취합니다.
또한 출력은 로직 0 상태를 취합니다. Ex-OR 게이트를 인버터처럼 사용할 수 있습니다. 이를 위해 한 입력 단자를 로직 1에 연결합니다.
심볼과 진리표:
Ex-OR 게이트
진리표
배타적 NOR 게이트 (Exclusive-NOR Gate, XNOR)
X-NOR 게이트는 X-OR 게이트와 NOT 게이트의 융합입니다. 또한 2입력 단일 출력 개념을 가집니다.
X-NOR은 두 입력이 모두 로직 0이거나 로직 1일 때 로직 1 출력을 가집니다. 입력 한 부분이 1이고 다른 부분이 0이면 출력은 로직 0이 됩니다.
이 게이트를 일치 게이트(coincidence gate)라고도 부릅니다. 왜일까요? 간단합니다! 입력이 일치할 때만 출력(1)을 생성하기 때문입니다.
이 게이트도 두 입력 단자를 로직 0에 연결해 인버터로 사용할 수 있습니다.
심볼:
배타적 NOR 게이트
마무리
수백만 개의 로직 게이트 각각이 고유한 응용 분야를 가집니다. AND 게이트는 데이터를 채널을 통해 처리되게 하는 인에이블 게이트로 작동합니다. OR 게이트는 회로에서 둘 이상의 이벤트 감지를 돕습니다.
NOT 타입 게이트는 대부분 회로에서 인버터처럼 작동하고, NAND 게이트는 거의 모든 회로에서 범용으로 쓰입니다. NOR 게이트도 범용이며, XOR과 XNOR 게이트는 산술 연산을 평가하고 회로에서 패리티 검출과 암호화를 돕습니다. 자, 이 글을 마칩니다. 궁금한 점이 있으면 연락 주세요. 기꺼이 도와드리겠습니다.