콘텐츠로 이동

MMU 용어집

핵심 용어 ISO 11179 형식 정의.


A — ASID / ATS

ASID (Address Space Identifier)

Definition. Process별 가상 주소 공간을 구분하기 위한 TLB tag로, context switch 시 TLB 전체 flush를 회피하고 cold miss 폭증을 방지.

Source. ARMv8 ARM, §D5.

Related. VMID, TLB invalidation, context switch.

Example. ARMv8: 8 또는 16-bit ASID. Linux는 PID와 매핑.

See also. Module 03 — TLB

ATS (Address Translation Services)

Definition. Device가 IOMMU에 사전 주소 변환을 요청해 변환 결과를 device 측에 캐싱하는 PCIe 표준 메커니즘.

Source. PCIe Spec, ATS extension.

Related. SVM, PRI, Device TLB.

See also. Module 04 — IOMMU/SMMU


I — IOMMU / IPA

IOMMU (Input-Output MMU)

Definition. Device의 메모리 access를 가상 주소로 관리하여 device 격리, DMA 보호, 가상화 지원을 제공하는 SoC-level MMU.

Source. ARM SMMU Spec, Intel VT-d Spec.

Related. SMMU, StreamID, Stage 2.

Example. GPU/NIC/DMA의 시스템 메모리 access 격리. 가상화 환경에서 VM 간 메모리 보호.

See also. Module 04

IPA (Intermediate Physical Address)

Definition. Stage 1 translation의 결과로 OS가 보는 "물리" 주소이지만 실제 PA는 아닌 가상화 환경의 중간 주소.

Source. ARMv8 virtualization extension.

Related. Stage 1, Stage 2, VMID.

Flow. VA → (Stage 1, OS) → IPA → (Stage 2, hypervisor) → PA.

See also. Module 04


P — Page Table / PTE / Page Walk / PWC

Page Table

Definition. VPN(Virtual Page Number) → PPN(Physical Page Number) 매핑을 저장하는 메모리 내 자료구조로, multi-level 계층 구조로 메모리 효율을 확보.

Source. OS / CPU architecture textbooks.

Related. PTE, Page Walk, Multi-level.

See also. Module 02 — Page Table Structure

PTE (Page Table Entry)

Definition. 단일 page mapping을 표현하는 entry로 PFN, valid, R/W, U/S, ASID, dirty/access 등의 필드를 포함.

Source. ARMv8 ARM, §D4-D5.

Related. Page Table, Block Descriptor (Huge page).

See also. Module 02

Page Walk

Definition. TLB miss 시 HW Walk Engine 또는 SW Handler가 page table을 다단계로 traverse해 VA→PA 변환을 수행하는 과정.

Source. ARMv8 ARM.

Related. TLB Miss, PWC, Walk Engine.

Cost. 4-level walk = 4 memory accesses. PWC hit이면 1-2 access로 단축.

See also. Module 02, Module 03

PWC (Page Walk Cache)

Definition. Page walk 중 중간 레벨 PTE를 캐싱하는 소형 하드웨어 캐시로, 인접한 VA의 walk 비용을 40-60% 절감.

Source. Modern CPU microarchitecture.

Related. Page Walk, TLB hierarchy.

See also. Module 02


S — SMMU / SVM / StreamID / Stage ½

SMMU (System Memory Management Unit)

Definition. ARM의 IOMMU 표준으로, SoC 내 모든 device 마스터의 메모리 access를 단일 SMMU가 가상 주소로 관리.

Source. ARM SMMU Architecture v3 Spec.

Related. IOMMU, StreamID, Stage ½.

See also. Module 04

SVM (Shared Virtual Memory)

Definition. Device가 CPU의 가상 주소 공간을 직접 사용해 pin/map 없이 같은 page table로 동작하는 메커니즘.

Source. Heterogeneous System Architecture (HSA), ARM SMMU SVA.

Related. ATS, PRI, Device TLB.

Example. GPU가 CPU의 malloc 포인터를 그대로 사용 (NUMA 페이지도 자동).

See also. Module 04

StreamID

Definition. SMMU에서 device 마스터를 고유 식별하는 ID로, StreamID별 translation context를 적용.

Source. ARM SMMU Spec.

Related. SubstreamID (process within a device), Context Descriptor.

See also. Module 04

Stage 1 / Stage 2 Translation

Definition. 가상화 환경의 두 단계 변환. Stage 1은 OS가 관리하는 VA→IPA, Stage 2는 hypervisor가 관리하는 IPA→PA.

Source. ARMv8 virtualization extension, SMMU Spec.

Related. IPA, VMID, Hypervisor.

See also. Module 04


T — TLB / TLBI

TLB (Translation Lookaside Buffer)

Definition. VA→PA 변환 결과를 캐싱하는 고속 하드웨어 캐시로, MMU 성능의 핵심 컴포넌트.

Source. ARMv8 ARM, §D5.

Related. ASID/VMID tagging, set-associative, replacement policy.

Hierarchy. micro-TLB (4-16 entries) → L1 TLB (수십) → L2 TLB (수천).

See also. Module 03

TLBI (TLB Invalidate)

Definition. Stale TLB entry를 무효화하는 명령어로, page table 변경이나 ASID/VMID 재사용 시 필수.

Source. ARMv8 ARM, §D5.

Related. Stale TLB entry, TLB shootdown, IPI.

Variants. TLBI VAE1 (VA-by), TLBI ASIDE1 (ASID-by), TLBI VMALLE1 (full).

See also. Module 03


V — VMID

VMID (Virtual Machine Identifier)

Definition. VM별 가상 주소 공간을 구분하는 TLB tag로, 가상화 환경에서 ASID와 함께 사용.

Source. ARMv8 virtualization extension.

Related. ASID, Stage 2, hypervisor.

See also. Module 03, Module 04


추가 약어

약어 풀네임 의미
MMU Memory Management Unit CPU 내장 주소 변환 유닛
VA Virtual Address 가상 주소
PA Physical Address 물리 주소
VPN Virtual Page Number VA의 page 부분
PPN Physical Page Number PA의 frame 부분
TTBR Translation Table Base Register Page Table base 주소 레지스터
TCR Translation Control Register Translation 설정
MAIR Memory Attribute Indirection Register 메모리 속성
NS Non-Secure TrustZone non-secure 표시
PRI Page Request Interface IOMMU의 SVM page fault 협력