Digital Logic & Boolean Algebra
0과 1의 이진 세계를 구축하는 논리 게이트의 물리적 구현과, 복잡한 회로를 수식으로 단순화하는 불리언 대수의 법칙을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
디지털 논리 및 불리언 대수(Digital Logic & Boolean Algebra, DLB)는 현대 컴퓨터 하드웨어를 구성하는 가장 기초적인 벽돌이자 언어입니다.
컴퓨터의 모든 고등 연산은 결국 전압의 유무(High/Low)로 표현되는 이진 논리 게이트들의 조합으로 환원됩니다. 학습자는 AND, OR, NOT과 같은 기본 게이트가 어떻게 결합하여 가산기(Adder)나 멀티플렉서(MUX)를 형성하는지 배우고, **불리언 대수(Boolean Algebra)**와 **카르노 맵(Karnaugh Map)**을 통해 회로의 복잡도를 물리적으로 최소화하는 기법을 익힙니다. 이를 통해 하드웨어의 물리적 한계를 수학적 최적화로 극복하고, 효율적인 프로세서 설계의 논리적 토대를 마련합니다.
2. Scope & Boundaries
In-Scope
- Logic Gates Physics: 트랜지스터 기반의 스위칭 논리 및 전압 레벨 표현
- Boolean Laws: 드 모르간의 법칙, 분배 법칙 등 수식 간소화 역학
- Karnaugh Maps: 인접한 셀의 묶음을 통한 논리식의 기하학적 최소화
- Combinational Circuits: 상태를 저장하지 않는 즉각적 출력 논리 (Gating Logic)
Out-of-Scope
- 플립플롭과 같은 상태 저장 회로 (02. Memory Systems 영역으로 위임)
- 반도체 도핑 등 미시적 소자 물리 (전문 반도체 공학 영역)
Boundaries
- DLB vs. Mathematics: 수학적 불리언 대수가 '추상적 대수 구조'를 다룬다면, DLB는 전파 지연(Propagation Delay)과 전력 소모라는 '물리적 제약 하의 구현'에 집중합니다.
3. Counterexample
- 단순히 "진리표(Truth Table)를 외우는 것"은 DLB 학습이 아닙니다. 왜 특정 회로에서 **글리치(Glitch)**가 발생하는지 정적 해저드(Static Hazard) 관점에서 분석할 수 있어야 하고, 논리적으로는 동일하지만 NAND 게이트만으로(Universal Gate) 전체 회로를 재구성했을 때 얻는 제조 공정상의 이점을 물리적으로 소통할 수 있어야 합니다.
4. Prerequisites
- Propositional & Predicate Logic (Basic): 참/거짓의 논리 연산 기초가 필수입니다. (01-02-01 PPL)
- Discrete Structures & Modeling (Recommended): 집합과 관계의 수리적 개념이 권장됩니다. (01-01 DSM)
5. Learning Map
- Gate Primitives: 전압의 흐름을 논리적 0과 1로 고착화하는 기본 소자를 이해합니다.
- Algebraic Reduction: 복잡한 게이트 그물을 불리언 수식으로 변환하고 최소화합니다.
- Map Optimization: 카르노 맵을 사용하여 기계적으로 최적의 게이트 조합을 도출합니다.
- Functional Blox: 개별 게이트를 모아 인코더, 디코더 등 의미 있는 논리 블록을 구축합니다.
6. Learning Topics
Basic
Core: 논리 게이트와 진리표 (Logic Gates Foundations)
- Why to Learn: 하드웨어의 모든 지능이 시작되는 최소 단위의 물리적 동작을 정의하기 위함입니다.
- What to Learn:
- 기본 게이트: AND, OR, NOT, XOR, NAND, NOR
- 진리표(Truth Table): 입력 조합에 따른 출력의 전수 모델링
- 범용 게이트(Universal Gates): NAND/NOR만으로 모든 논리 구현이 가능한 이유
- How to Learn:
- 복합 논리식(예: )을 보고 게이트 다이어그램으로 작도 실습
- 전압 그래프(Timing Diagram)를 통해 입력 변화가 출력에 반영되는 시점 관찰
- Implement: 논리 게이트 회로를 시뮬레이션하고 입력에 따른 출력 결과를 실시간으로 보여주는 가상 로직 보드
Recommended
Core: 불리언 대수의 법칙과 간소화 (Boolean Simplification)
- Why to Learn: 회로에 들어가는 게이트 수를 줄여 전력 소모와 제조 비용을 물리적으로 낮추기 위해서입니다.
- What to Learn:
- 대수 법칙: 교환, 결합, 분배, 흡수 법칙
- 드 모르간의 법칙(De Morgan's Laws): 부정과 논리 합/곱의 물리적 반전
- SOP(Sum of Products)와 POS(Product of Sums) 정규형
- How to Learn:
- 복잡한 논리 배선을 대수 법칙을 적용하여 단 두 줄의 코드로 줄이는 수리적 연습
- 논리식의 '쌍대성(Duality)' 원리를 이해하고 회로 반전 기술 습득
- Implement: 입력된 불리언 스트링을 파싱하고 대수 법칙을 단계별로 적용하여 간소화 결과를 내놓는 엔진
Practical
Core: 카르노 맵과 최적화 (Karnaugh Mapping)
- Why to Learn: 대수 법칙의 숙련도와 상관없이 기계적이고 시각적으로 '가장 완벽한 최소형'을 찾기 위함입니다.
- What to Learn:
- 그레이 코드(Gray Code) 배열을 통한 항의 인접성 확보
- 묶음(Group) 규칙: 2의 거듭제곱 단위로 묶는 물리적 이유
- 무정의(Don't Care) 조건의 전략적 활용 물리
- How to Learn:
- 4변수 카르노 맵에서 인접한 셀을 묶어 최적화된 SOP 식을 도출하는 반복 실습
- 카르노 맵이 '구(Sphere)' 형태의 위상을 갖는 물리적 연속성 이해
- Implement: 진리표를 입력하면 자동으로 카르노 맵을 그리고 최적 식을 도출하는 맵핑 툴
Advanced
Core: 조합 논리 회로 설계와 지연 (Combinational Logic Design)
- Why to Learn: 게이트들이 모여 '덧셈'이나 '선택'과 같은 고수준 데이터 처리를 수행하게 하기 위해서입니다.
- What to Learn:
- 산술 회로: 반가산기(Half Adder), 전가산기(Full Adder), 비교기
- 데이터 선택: Multiplexer(MUX)와 Demultiplexer(DeMUX)
- 전파 지연(Propagation Delay)과 크리티컬 패스(Critical Path) 분석
- How to Learn:
- 전가산기 회로를 설계하고, 상위 비트로 올라가며 발생하는 캐리(Carry) 지연 현상 물리 분석
- 8-to-1 MUX를 사용하여 복잡한 논리 함수를 단일 칩으로 구현하는 전략 수립
- Implement: 4비트 가산기 회로를 설계하고 게이트 지연 시간을 고려한 응답 속도 시뮬레이션
7. Terminology
8. References
Primary
- [P1] CS2023 - AR/Digital Logic and Digital Systems — Core requirements.
- [P2] SWEBOK v4.0 - Computing Foundations / Digital Logic — Engineering context.
Secondary
- [Digital Design and Computer Architecture] Harris & Harris — Integrated view of logic and arch.
- [Fundamentals of Logic Design] Charles H. Roth — Comprehensive logic theory.
Industry
- [Intel 64 and IA-32 Architectures Software Developer's Manual] — Basic logic in actual ISAs.
- [ASIC/FPGA Design Flows] — Industry optimization standards.
9. Final Checklist
Primary
- 주어진 3변수 논리 게이트 회로를 보고 즉각적으로 진리표를 작성하고 동작을 물리적으로 서술할 수 있는 가? (P1)
- 드 모르간의 법칙을 사용하여 NAND 게이트만으로 OR 연산을 구현하는 회로 구성을 입증할 수 있는 가? (P1)
Secondary
- 카르노 맵에서 특정 묶음이 'Essential Prime Implicant'인지 판별하여 중복된 게이트 제거를 입증할 수 있는 가?
- 전파 지연이 발생했을 때 일시적으로 출력이 튀는 현상(Dynamic Hazard)의 원인을 물리적으로 설명 가능한가?
Industry
- FPGA 설계 시, LUT(Look-Up Table) 소모량을 줄이기 위해 불리언 간소화 기법을 적용한 아키텍처 개선안을 제안할 수 있는 가? (SFIA)
- 고속 연산 장치 설계 시, 'Critical Path'를 분석하여 전체 시스템 클록 속도를 제한하는 병목 게이트를 찾아낼 수 있는 가?