MMU¶
🧭
MMU
MMU — 페이지 테이블, TLB, IOMMU/SMMU
🎯 학습 목표¶
- Trace (분석) 가상→물리 주소 변환의 multi-level page table walk 전 과정 추적
- Diagram (분석) TLB, multi-level translation, IOMMU의 데이터 흐름과 캐시 계층 그리기
- Apply (적용) ARMv8 4-level translation 및 SMMU stage ½를 시나리오에 매핑
- Analyze (분석) TLB miss penalty, page fault, page walk caching의 성능 영향 정량 분석
- Design (생성) Dual-Reference Model 기반 MMU DV 환경 + Custom Thin VIP 설계
📋 사전 지식¶
- CPU 아키텍처 기본: 가상/물리 주소 개념, 명령어 사이클
- 캐시 계층 이해: L1/L2/L3, hit/miss, line size
- OS 메모리 관리 기초: 프로세스별 가상 주소 공간, 페이지
- AMBA AXI (Module 04 IOMMU에서 transaction 분석 시 도움)
🗺️ 개념 맵¶
개념 의존성 — 순서대로 학습 권장
각 노드 = 모듈 (클릭하여 이동) · 화살표(→) = 선수 지식 흐름
📚 학습 모듈¶
01
Unit 1: MMU 기본 개념 및 주소 변환
02
Page Table Structure
03
TLB
04
IOMMU / SMMU
05
Performance Analysis
06
MMU DV Methodology
★
Quick Reference Card
📊 모듈 흐름¶
M01
Fundamentals
▶
M02
Page Table
▶
M03
TLB
▶
M04
IOMMU/SMMU
▶
M05
Performance
▶
M06
DV
▶
M07
Quick Ref
📖 관련 자료¶
- 📚 용어집 (Glossary) — MMU 핵심 용어 ISO 11179 형식
- 📝 퀴즈 (Quizzes) — 챕터별 5문항 (Bloom mix)
- 📋 코스 개요 & 컨셉 맵
💡 학습 팁¶
효율적 학습
- VA → PA 변환을 손으로: 4-level walk을 화이트보드에서 직접 그릴 수 있어야 함
- TLB miss penalty 정량화: page walk이 메모리 access N번 → 성능 영향 직관 형성
- SMMU와 MMU 차이: CPU MMU는 cores 내장, SMMU는 SoC-level (DMA 마스터들 보호)
흔한 함정
- TLB stale entry: page table 업데이트 후 TLB invalidate 누락 → 잘못된 PA 사용
- IOMMU bypass: pre-IOMMU SoC는 DMA가 시스템 메모리 무제한 access → 보안 hole
- ASID/VMID 충돌: 다른 process/VM이 같은 VA를 다른 PA로 매핑할 때 ASID 비교 누락