Chapter 8: Memory & I/O Systems | 메모리 계층 구조와 입출력의 세계

Chapter 8: Memory & I/O Systems | 메모리 계층 구조와 입출력의 세계
Harris & Harris · Digital Design & Computer Architecture

💾 Chapter 8: Memory & I/O Systems

메모리 계층 구조, 캐시, 가상 메모리, I/O — Memory Wall을 넘어서

아무리 빠른 프로세서를 설계해도, 데이터를 제때 공급하지 못하면 프로세서는 멈춰 기다릴 수밖에 없습니다. 이 “Memory Wall” 문제는 컴퓨터 아키텍처의 가장 근본적인 도전 과제입니다. Chapter 8은 이를 극복하기 위한 메모리 계층 구조(Memory Hierarchy), 캐시, 가상 메모리, 그리고 I/O 시스템을 다룹니다. 2026년 최신 트렌드로는 AI 데이터센터의 메모리 벽을 허물고 있는 CXL(Compute Express Link) 메모리 패브릭 기술을 함께 살펴봅니다.

🏔️ 1. 메모리 계층 구조

프로세서 속도와 메모리 접근 속도의 격차를 극복하기 위해, 메모리를 계층적으로 배치합니다. 이 구조가 작동하는 근본 원리는 프로그램이 가지는 지역성(Locality)입니다.

시간적 지역성 (Temporal) 최근에 접근한 데이터는 가까운 미래에 다시 접근할 가능성이 높습니다. 예: 루프 내의 변수, 카운터.
📍 공간적 지역성 (Spatial) 접근한 데이터 주변의 데이터가 곧 접근될 가능성이 높습니다. 예: 배열 순회, 명령어 순차 실행.
메모리 계층 피라미드
레지스터
~32개, ~0.3ns, 가장 빠름
L1 캐시 (SRAM)
32~64KB, ~1ns
L2/L3 캐시 (SRAM)
256KB~32MB, ~5~30ns
메인 메모리 (DRAM/DDR5)
16~512GB, ~50~100ns
가상 메모리 (SSD/HDD)
TB~PB, ~0.1ms(SSD)~10ms(HDD), 가장 큼

↑ 위로 갈수록: 빠르고, 작고, 비쌈  |  ↓ 아래로 갈수록: 느리고, 크고, 저렴

⚡ 2. 캐시 (Caches)

캐시는 자주 사용하는 데이터를 프로세서 가까이에 SRAM으로 복사해두는 하드웨어입니다. 캐시의 성능은 AMAT(Average Memory Access Time) 수식으로 평가합니다.

AMAT (평균 메모리 접근 시간) AMAT = thit + pmiss × tmiss
파라미터정의전형적 값
thit캐시 Hit 시 접근 시간1~3 사이클
pmiss캐시 Miss 확률 (Miss Rate)2~10%
tmissMiss 시 하위 메모리 접근 페널티50~200 사이클

🗺️ 캐시 매핑 방식

32비트 메모리 주소를 Tag | Index | Byte Offset으로 분해하여 캐시 위치를 결정합니다.

직접 사상 (Direct Mapped) 각 메모리 블록이 캐시의 정해진 1곳에만 배치. 구현 간단, 충돌(Conflict) 잦음. 연관도(Associativity) = 1.
N-Way 집합 연관 각 Set 내 N개 위치 중 자유 선택. 충돌 감소. 현대 L1은 보통 4~8 Way. 교체 정책(LRU 등) 필요.
완전 연관 (Fully Assoc.) 어느 위치든 가능. 충돌 최소화. 하지만 Tag 비교 하드웨어 비용이 커서 TLB 등 소규모 캐시에만 사용.
AMAT 계산 예시 // 조건: L1 Hit Time = 1 cycle, L1 Miss Rate = 5% // L2 Hit Time = 10 cycles, L2 Miss Rate = 20% // Main Memory Access = 200 cycles // L2 AMAT: AMAT_L2 = 10 + 0.20 × 200 = 50 cycles // 전체 AMAT (L1 관점): AMAT = 1 + 0.05 × 50 = 3.5 cycles // → Miss Rate 5%가 평균 접근 시간을 3.5배로 증가시킴! // 이것이 캐시 최적화가 중요한 이유

🌐 3. 가상 메모리 (Virtual Memory)

가상 메모리는 물리적 DRAM 용량보다 훨씬 큰 메모리 공간을 프로그램에 제공하며, 프로그램 간 메모리 보호(Protection)격리(Isolation)를 가능하게 하는 핵심 기술입니다.

📖 페이지 테이블 (Page Table) 가상 주소(VA) → 물리 주소(PA) 변환 매핑을 저장하는 테이블. 메인 메모리에 상주하며, OS가 관리합니다. 페이지 단위(보통 4KB)로 매핑.
TLB (Translation Lookaside Buffer) “페이지 테이블용 캐시”. 최근 사용된 VA→PA 변환 결과를 프로세서 내부에 저장하여, 매번 메인 메모리의 페이지 테이블에 접근하는 오버헤드를 제거합니다. 보통 완전 연관(Fully Associative) 구조.
메모리 접근 전체 흐름

CPU가 가상 주소로 데이터 요청 → TLB에서 VA→PA 변환 (TLB Hit) → 변환된 PA로 캐시에서 데이터 검색 (Cache Hit) → 데이터 반환. TLB Miss 시 페이지 테이블 참조, 캐시 Miss 시 메인 메모리 접근, 페이지 폴트(Page Fault) 시 디스크에서 페이지를 메모리로 로드합니다.

🔌 4. 메모리 매핑 I/O

Memory-Mapped I/O는 외부 장치(LED, 센서, UART 등)의 제어 레지스터를 메모리 주소 공간에 매핑하여, 별도의 I/O 명령어 없이 일반 lw/sw 명령어로 장치를 제어하는 방식입니다.

C — Memory-Mapped I/O로 LED 제어 // 0xBF886000 = LED 제어 포트의 물리 주소 #define LED_PORT (*(volatile unsigned int *)0xBF886000) void turn_on_led() { LED_PORT = 0x00000001; // 해당 주소에 1을 써서 LED ON } int read_switch() { // 0xBF886010 = 스위치 입력 포트 return *(volatile unsigned int *)0xBF886010; }
volatile 키워드의 중요성

volatile은 컴파일러에게 “이 주소의 값은 하드웨어에 의해 언제든 바뀔 수 있으므로, 절대로 캐시하거나 최적화하지 말고 매번 실제 메모리에 접근하라”고 지시합니다. volatile 없이 I/O 포트를 읽으면, 컴파일러가 이전 읽기 결과를 재사용하여 새 입력을 감지하지 못하는 치명적 버그가 발생할 수 있습니다.

🚀 5. 2026년 산업 동향: CXL 메모리 패브릭

교과서의 메모리 계층 구조(레지스터→캐시→DRAM→디스크)는 2026년 CXL(Compute Express Link) 기술로 인해 근본적으로 재편되고 있습니다. CXL은 기존 계층 사이에 새로운 메모리 티어를 삽입하여, AI 시대의 Memory Wall을 돌파합니다.

2026 UPDATE
🔗 CXL — 메모리 패브릭의 시대

CXL은 PCIe 물리 계층 위에서 동작하는 캐시 일관성(Cache-Coherent) 인터커넥트로, 컴퓨트와 메모리를 독립적으로 확장할 수 있게 합니다. 2026년에는 CXL이 실험적 기술에서 데이터센터의 핵심 인프라로 전환되었습니다.

CXL 3.1 주류 채택: PCIe 6.1 기반으로 양방향 128GB/s 대역폭 달성. 2026년 신규 출하 서버의 90% 이상이 CXL 대응 가능. 메모리 확장(Expansion), 풀링(Pooling), 패브릭(Fabric) 세 가지 사용 모델이 생산 환경에서 활용 중.
Microsoft Azure CXL 프리뷰: 주요 퍼블릭 클라우드가 CXL 메모리를 활용한 VM 인스턴스를 제공하기 시작. 하이퍼스케일러 TCO(Total Cost of Ownership) 15~20% 절감 달성.
인라인 메모리 압축: CXL 컨트롤러에 LZ4 등 압축 IP를 통합하여, 유효 메모리 용량을 물리적 DRAM의 2~3배로 확장. DDR5 공급 부족 상황에서 비용 효율적 대안.
DDR5 대중화 + DDR4 재활용: DDR5 채택률이 데이터센터 DRAM 시장의 40%를 넘어선 가운데, CXL 확장기를 통해 기존 DDR4를 CXL 메모리로 재활용하는 전략도 등장.

📊 교과서 메모리 계층 → 2026 진화

교과서 개념2026 진화
레지스터 → 캐시 → DRAM → 디스크 (4계층) 레지스터 → L1/L2/L3 캐시 → HBM (GPU) → DDR5 (CPU) → CXL 메모리 (Far Memory) → NVMe SSD → 클라우드 스토리지
AMAT = thit + pmiss × tmiss 다단계 캐시/메모리 티어를 재귀적으로 적용. CXL 티어의 지연은 DRAM보다 약간 길지만 SSD보다 수 배 빠름
고정 DIMM 슬롯 (CPU에 종속) CXL로 컴퓨트와 메모리 독립 확장. 메모리 풀링으로 Stranded Memory 문제 해결
Memory-Mapped I/O (lw/sw) PCIe/CXL 기반 MMIO + DMA. NVMe, GPU, AI 가속기 모두 메모리 매핑 방식 사용
가상 메모리 (4KB 페이지) Huge Pages(2MB/1GB) + 다단계 TLB + CXL 메모리의 NUMA 노드 관리
CXL 시장 전망

CXL Type 3 메모리 확장 시장은 2026년 약 18~25억 달러 규모로 추정되며, 2028년까지 160억 달러로 성장할 전망입니다. AI 모델이 기하급수적으로 커지면서 GPU의 HBM 용량만으로는 부족한 상황이 일상화되었고, CXL은 이를 해결하는 핵심 인프라로 자리잡았습니다. 교과서에서 배운 캐시 일관성(Cache Coherence) 원리가 CXL의 작동 기반입니다.

📋 핵심 요약

주제핵심 포인트수식 / 키워드
메모리 계층지역성(Temporal/Spatial) 활용. 위=빠름+작음, 아래=느림+큼Reg → Cache → DRAM → Disk
캐시Direct/N-Way/Fully Assoc. Tag|Index|Offset 주소 분해AMAT = thit+pmiss×tmiss
가상 메모리VA→PA 변환. Page Table + TLB. 보호 & 격리Page Fault → 디스크 접근
Memory-Mapped I/OI/O 레지스터를 메모리 주소에 매핑. lw/sw로 제어volatile 키워드 필수
2026 트렌드CXL 3.1 메모리 패브릭. DDR5 대중화. 메모리 풀링/분리시장 $1.8~2.5B (CXL 2026)

댓글