콘텐츠로 바로가기

Digital Logic & Processor Physics

트랜지스터 수준의 물리적 신호 처리부터 논리 게이트, 그리고 연산 장치의 아키텍처를 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

computer-architecture-embedded-systemscomputer-architectureembedded-systemsdigital-logicprocessor-physicsarchitecture-hardwarelearningcpu-architecture9 min read

1. Overview

디지털 논리 및 프로세서 물리(Digital Logic & Processor Physics, DLP)는 추상적인 하이레벨 소프트웨어 코드가 전기적 펄스(Signal)와 트랜지스터의 물리적 개폐 상태로 변환되어 실질적인 연산을 수행하는 '0과 1의 하드웨어 세계'를 탐구하는 시스템 기저 학문입니다.

이 영역은 컴퓨터 아키텍처의 가장 근본적인 물리적/논리적 계층입니다. 수십억 개의 미세한 반도체 트랜지스터 스위칭이 어떻게 복잡한 불리언 논리식(Boolean Logic)을 형성하고, 나아가 덧셈과 곱셈을 수행하는 산술 논리 장치(ALU), 데이터를 유지하는 레지스터(Register), 그리고 이 모든 것을 지휘하는 중앙 제어 장치(Control Unit)로 거대하게 통합되는지를 추적합니다. 학습자는 단순히 고수준 언어 코딩에 머물지 않고, **명령어 집합 아키텍처(Instruction Set Architecture, ISA)**라는 '소프트웨어와 하드웨어 간의 불변 계약(Contract)'을 해독하며, 극한의 성능 최적화가 요구되는 고성능 서버 컴퓨팅 및 임베디드 기기 제어의 물리적 토대를 마련합니다.

2. Scope & Boundaries

In-Scope

  • 디지털 데이터 체계 (Data Representation): 2의 보수(Two's Complement) 기반 정수 표현, 고정 소수점(Fixed-point)과 부동 소수점(IEEE 754)의 물리적 비트 레이아웃 분해.
  • 조합 및 순차 논리 회로 (Logic Circuits): 가산기(Adder), 멀티플렉서(MUX), 데이터의 영속성을 보장하는 래치(Latch)와 플립플롭(Flip-Flop), 유한 상태 기계(FSM) 설계.
  • 마이크로아키텍처 및 데이터패스 (Microarchitecture): 명령어의 Fetch-Decode-Execute 라이프사이클 물리적 경로, 제어 신호(Control Signal) 테이블, 싱글 사이클/멀티 사이클 아키텍처 구조.
  • 파이프라이닝 및 ISA (Pipelining & ISA): 하드웨어 기능을 노출하는 ISA(RISC-V, ARM), 5-Stage 파이프라인 설계, 데이터/제어 해저드(Hazard) 완화(Forwarding, Branch Prediction).

Out-of-Scope

  • 순수 반도체 소재 및 물리 화학: 실리콘 웨이퍼 에칭 공정, EUV 리소그래피 노광, MOSFET 트랜지스터의 전자/정공 이동도 분석 → 전자 및 신소재 공학 도메인으로 위임.
  • 커널 레벨의 프로세스 추상화: 가상 메모리 매핑(Paging), 커널 선점(Preemption), 스레드 컨텍스트 스위칭 관리 → 03. Operating Systems & System Mechanics 노드로 위임.
  • 고급 언어 컴파일 파이프라인: C/Rust 코드를 파싱하여 AST(추상 구문 트리)를 만들고 최적화하는 과정 → 05. Programming Languages & Compilers 영역으로 위임.

Boundaries

  • DLP vs OS (03. Kernel): DLP는 한 개의 명령어가 데이터 버스를 타고 들어와 연산기를 거치고 결과를 레지스터에 기록하는 물리적인 '마이크로초 단위의 전기 신호 흐름(Datapath)'에 집중합니다. 반면 OS는 이 한정된 물리적 하드웨어 자원(CPU Core, RAM)을 시분할하여 수십 개의 소프트웨어 프로세스가 마치 독점하는 것처럼 '추상화하고 스케줄링'하는 거시적 통제에 초점을 둡니다.

3. Counterexample

  • 맹목적인 어셈블리 문법 암기 (Syntax-only Memory): x86이나 ARM의 어셈블리 니모닉(Mnemonic) 문법을 외워 코드만 짤 줄 아는 것은 본질적인 하드웨어 설계 지식이 아닙니다. 특정 어셈블리 명령어(예: ADD R1, R2, R3)가 디코딩될 때, 어떤 핀의 제어선(Control Line) 전압이 HIGH가 되어 멀티플렉서의 경로를 열고 ALU 연산 모드를 덧셈으로 변경하는지, 그 물리적인 데이터패스 흐름(Wire)을 도면 위에 그리고 설명할 수 있어야 합니다.
  • 소프트웨어 관점의 지연율(Latency) 착각: 소스 코드 상에서 명령어 1줄이 항상 1클록(Clock Cycle)에 실행될 것이라 가정하는 것은 안티패턴입니다. L1 캐시 미스나 파이프라인 분기 예측 실패(Branch Misprediction) 시 발생하는 파이프라인 플러시(Flush) 패널티로 인해 수십 사이클이 낭비될 수 있음을 하드웨어 구조적 관점에서 인지해야 합니다.

4. Prerequisites

  • 컴퓨터 과학 기본 수리력 (Basic): 2진수/16진수 연산, 비트 마스킹(Bit Masking), 시프트(Shift) 연산에 대한 수학적 및 프로그래밍적 직관력. (ROOT)
  • 명제 논리 (Recommended): AND, OR, NOT, XOR 논리 결합과 부울 대수를 최적화할 수 있는 이산 논리적 사고 방식. (01-02. LFV)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Digital Data & Gates 전압의 아날로그적 변화를 이산적인 불리언 연산으로 추상화하는 게이트 로직과, 실수 등 복잡한 데이터가 비트로 저장되는 원리를 배웁니다. P1/Digital
2 Sequential Logic & FSM 클록(Clock)에 동기화하여 데이터를 일시 저장하는 플립플롭을 배우고, 상태 전이 기반의 컨트롤러 로직(FSM)을 설계합니다. P1/Digital
3 Datapath & Microarchitecture 레지스터 뱅크, ALU, 메모리를 와이어로 연결하여 '명령어를 실제로 수행할 수 있는' 기본 프로세서의 물리적 뼈대를 구축합니다. P1/Machine
4 Pipelining & ILP 명령어 실행을 파이프라인으로 중첩(Overlap)하여 스루풋을 극대화하고, 이때 필연적으로 발생하는 데이터 충돌(해저드)을 하드웨어적으로 해결합니다. P2

6. Learning Topics

Basic

Core Topic 01: 디지털 논리 게이트와 이진 데이터 표현 (Logic Gates & Binary Rep.)

  • Why to Learn: 프로그램의 모든 변수(Int, Float, Pointer)가 하드웨어 메모리와 레지스터에서 '전압의 On/Off(1과 0) 상태'로 어떻게 물리적으로 사상(Mapping)되는지 깨닫기 위함입니다.
  • What to Learn:
    • Concepts: 트랜지스터 스위칭, 기본 논리 게이트(AND/OR/NOT/NAND), 부울 대수(Boolean Algebra), 2의 보수법(Two's Complement).
    • Skills: 부동 소수점(IEEE 754)의 물리적 비트 분해(Sign, Exponent, Mantissa), 카르노 맵(Karnaugh Map)을 이용한 회로 비용 최적화.
    • Tools: Logisim (디지털 논리 시뮬레이터), 진리표 매트릭스.
    • Trade-offs: 부동소수점 비트 할당 시, 유효숫자 정밀도(Precision, Mantissa 비트) 확장 vs 표현 가능한 값의 범위(Range, Exponent 비트) 확보 간의 제로섬 트레이드오프.
  • How to Learn:
    • 1단계: 2진수 덧셈에서 오버플로우(Overflow)가 발생하는 비트 패턴의 조건을 2의 보수 체계 관점에서 증명하고 하드웨어 플래그(Flag)로 도출해 봅니다.
    • 2단계: IEEE 754 Single Precision 형식으로 0.1과 0.2를 더할 때 왜 무한 소수로 전개되며 멘티사 비트가 소실(Truncate)되어 미세 오차가 생기는지 원리를 뜯어봅니다.
  • Implement: 파이썬으로 특정 실수(예: -12.625)를 입력받으면, IEEE 754 표준 32비트 이진 문자열(1_10000010_1001010000...)로 정확하게 변환해 내는 하위 레벨 비트 연산기(Bit Manipulator) 구현.

Core Topic 02: 조합 및 순차 논리 회로 설계 (Combinational & Sequential Logic)

  • Why to Learn: CPU 코어 내에서 상태 없이 즉각적인 계산만 하는 유닛(ALU)과, 데이터를 영구/임시로 기억하며 흐름을 제어하는 유닛(Register)의 설계 원리를 구별하기 위해서입니다.
  • What to Learn:
    • Concepts: 조합 회로(디코더, 멀티플렉서/MUX, 반가산기, 전가산기), 순차 회로(래치, 플립플롭 D/T/JK), 클록(Clock), 유한 상태 기계(FSM).
    • Skills: 클록 엣지(Edge-triggered) 동기화 시스템 타이밍 다이어그램 분석, Moore 및 Mealy 모델에 기반한 하드웨어 컨트롤러 상태 전이도 설계.
    • Tools: 하드웨어 기술 언어 기초(Verilog/VHDL 개념적 접근).
    • Trade-offs: 비동기식 회로의 극한의 빠른 응답 속도 vs 동기식(클록 기반) 회로의 노이즈 억제 및 안정적 설계 파이프라인 보장 간의 선택.
  • How to Learn:
    • 1단계: 전가산기(Full Adder) 32개를 직렬로 연결한 리플 캐리 가산기(Ripple Carry Adder)에서, 최하위 비트의 캐리가 최상위까지 도달하는 전파 지연(Propagation Delay) 병목을 시뮬레이터로 측정합니다.
    • 2단계: 신호등 제어기나 자판기의 로직을 클록에 맞춰 상태가 전이되는 FSM(Finite State Machine) 회로망으로 설계해 봅니다.
  • Implement: 현재의 입력 신호(Input)와 플립플롭에 저장된 현재 상태(State) 비트를 결합하여 다음 상태를 결정하고 출력하는, 객체 지향 기반의 소프트웨어 FSM 시뮬레이션 클래스 작성.

Practical

Core Topic 03: ISA 인터페이스와 데이터패스 물리 제어 (ISA & Datapath Control)

  • Why to Learn: 컴파일된 어셈블리 명령어가 CPU에 진입했을 때, 명령어를 해독(Decode)하여 내부 부품들의 스위치를 조작하는 두뇌(Control Unit)의 역할을 이해하기 위함입니다.
  • What to Learn:
    • Concepts: 명령어 집합 아키텍처 명세, Opcode와 피연산자(Operand) 포맷, 레지스터 파일(Register File), ALU 라우팅, RISC vs CISC 아키텍처 철학.
    • Skills: 특정 명령어(예: ADD, LOAD, BRANCH)의 Fetch-Decode-Execute 라이프사이클 추적, 멀티플렉서 제어 신호표(Control Signal Table) 맵핑.
    • Tools: RISC-V Instruction Simulator (예: RARS, Venus).
    • Trade-offs: 명령어 길이를 고정하여 하드웨어 디코더를 극도로 단순/가속화하는 RISC 구조 vs 복잡 가변 길이 명령어를 써서 메모리 대역폭 점유율(코드 밀집도)을 극대화하는 x86 CISC 구조.
  • How to Learn:
    • 1단계: RISC-V 프로세서 블록도 위에 LW (Load Word) 명령어가 들어왔을 때, 프로그램 카운터(PC)부터 레지스터 파일을 거쳐 데이터 메모리(SRAM)로 가는 와이어(Wire) 활성화 경로를 형광펜으로 그려봅니다.
    • 2단계: 산술 명령어(ADD)와 분기 명령어(BEQ)가 각각 ALU 연산기, 레지스터 쓰기 제어핀(RegWrite), 메모리 읽기 핀(MemRead)에 어떤 전압 배정(1/0)을 주는지 테이블로 비교합니다.
  • Implement: 32비트 16진수 기계어 코드(Hex) 묶음을 입력받아 비트 마스킹으로 Opcode와 레지스터 번호를 파싱하고, 이를 사람이 읽을 수 있는 어셈블리 문자열로 출력해 내는 미니 역어셈블러(Disassembler) 개발.

Advanced

Core Topic 04: 파이프라이닝 및 유닛 병렬 최적화 (Pipelining & ILP)

  • Why to Learn: 현대 클라우드 서버의 멀티 기가헤르츠(GHz) CPU가 한 번에 한 개씩 명령을 처리하지 않고, 공장 컨베이어 벨트처럼 수백 개의 명령어를 겹쳐서 실행(Instruction Level Parallelism)하는 물리적 마법을 통제하기 위함입니다.
  • What to Learn:
    • Concepts: 5단계 기본 파이프라인(IF-ID-EX-MEM-WB), 구조적(Structural)/데이터(Data)/제어(Control) 해저드(Hazard).
    • Skills: 포워딩(Data Forwarding/Bypassing) 회로를 추가하여 데이터 파이프라인 스톨(Stall/Bubble) 없애기, 분기 예측(Branch Prediction) 및 브랜치 타겟 버퍼(BTB) 최적화.
    • Tools: 고급 CPU 아키텍처 시뮬레이터 시각화 툴.
    • Trade-offs: 파이프라인을 20단계 이상 잘게 쪼개어(Superpipelining) 칩의 클록(Clock) 주파수를 극대화하는 속도 이득 vs 분기 예측에 실패했을 때 파이프라인을 전부 비우면서 발생하는 막대한 지연 패널티.
  • How to Learn:
    • 1단계: RAW(Read-After-Write) 데이터 의존성이 있는 어셈블리 코드 세트를 작성하고, 만약 포워딩 회로가 없다면 NOP(No-Op) 버블이 몇 사이클이나 삽입되어야 하는지 타이밍 다이어그램(Timing Diagram)을 그립니다.
    • 2단계: CPU의 분기 예측기를 속이기 위해 예측하기 힘든 패턴(if (random % 2))의 반복문 코드를 짜보고, 런타임 성능 저하를 perf 같은 프로파일링 도구로 관측해 봅니다.
  • Implement: 5-Stage 파이프라인 상태 배열을 모사하여, 명령어 시퀀스 입력 시 데이터 의존성(Register ID 충돌)을 검사하고 파이프라인에 발생할 Stall 사이클 횟수를 산출(Detect)하는 시뮬레이터 모듈.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
ISA (명령어 집합 아키텍처) 하드웨어가 이해하고 실행할 수 있는 명령어와 가시적 하드웨어 구조의 규격입니다. 기본 기초 정의 RISC-V, ARM Microp-architecture 어셈블리 언어와 동일시함 P1:CS2023/Machine-level core
ALU (산술 논리 장치) 산술 연산과 논리 연산을 물리적으로 처리하는 프로세서 내부의 핵심 실행 유닛입니다. 추천 연산 처리 Datapath Control Unit 단순 계산기 조각으로만 인식 SWEBOK core
Flip-Flop (플립플롭) 클록 신호에 동기화되어 1비트 정보를 유지하는 순차 논리의 기본 소자입니다. 추천 데이터 기억 Register Latch 래치와 구분을 못함 Industry Docs core
Hazard (해저드) 파이프라인 구조에서 다음 명령어가 예정된 사이클에 실행되지 못하게 방해하는 현상입니다. 실무 성능 저해 Pipelining Forwarding 오류(Error)와 혼동함 P1:CS2023/Digital core

8. References

Primary References

Secondary References

  • [Computer Organization and Design] Patterson & Hennessy (RISC-V Edition) — Standard architecture text.
  • [Digital Design and Computer Architecture] Harris & Harris — Links digital logic with architecture.

Industry References

  • [ARM Architecture Reference Manual] — Real-world ISA implementation documentation.
  • [IBM Knowledge Center] CPU Architecture Basics — Enterprise computing perspectives.

9. Final Checklist

Primary Checklist

  • 트랜지스터 스위칭으로부터 논리 게이트 및 ALU가 형성되는 물리적 계층을 설명 가능한가? (P1)
  • 특정 ISA의 명령어가 실행될 때 제어 신호가 아키텍처 내에서 어떻게 전파되는지 이해하는가? (P1)

Secondary Checklist

  • 파이프라인 해저드의 원인을 식별하고 하드웨어적 해결책(Forwarding 등)을 제안할 수 있는가?
  • 동기식 회로에서 클록 주기가 하드웨어 지연(Latency)에 의해 결정되는 원리를 아는가?

Industry Checklist

  • 특정 타겟 하드웨어의 데이터시트를 읽고 사용 가능한 명령어와 레지스터 구조를 코드로 매핑 가능한가? (SFIA)
  • 수치 연산 시 부동 소수점 오차 및 오버플로 발생 지점을 하드웨어 사양 기반으로 예측 가능한가?

Architecture Hardware

1 / 9