📘 ARM & RISC-V MMU
深度研究
📚
30章 · 从基础到前沿
1
01
MMU概述
虚拟地址与物理地址 · 地址翻译 · 权限控制 · 缓存管理
→
2
02
ARMv8-A MMU架构
4级页表 · 翻译粒度 · 用户/内核空间划分
→
3
03
ARMv8-A 页表描述符
PTE格式 · Access Flag · Dirty Bit · Execute Never · TLB
→
4
04
ARMv8-A 转换过程
TTBR0/TTBR1 · TLB查找 · 页表遍历 · 缺页异常
→
5
05
内存属性与域
Normal/Device/Strongly Ordered · 共享属性 · Domain权限
→
6
06
ARMv8-A TLB管理
TLBI指令 · 一致性维护 · ASID与VMID
→
7
07
ARMv8-A SMMU
系统MMU · 虚拟化 · 页表结构与转换
→
8
08
虚拟化扩展
Stage-1/Stage-2 · VTTBR · VSTCR · 嵌套虚拟化
→
9
09
内存加密与隔离
TrustZone · 安全/非安全隔离 · MEE简介
→
10
10
ARMv8-A MMU性能优化
TLB预取 · 页表预取 · 大页 · 多级缓存
→
11
11
MMU调试与诊断
FAR/ESR · 地址翻译故障 · JTAG调试
→
12
12
MMU与Cache一致性
Cache策略 · DMA交互 · MESI/MOESI协议
→
13
13
RISC-V MMU架构概述
M/S/U模式 · SATP · Sv32/Sv39/Sv48/Sv57
→
14
14
RISC-V Sv39页表详解
三级页表 · PTE格式 · R/W/X/U/G/A/D · 4KB/2MB/1GB
→
15
15
地址翻译过程
SATP配置 · 页表遍历 · TLB · Page Fault
→
16
16
RISC-V TLB管理
SFENCE.VMA · 失效策略 · ASID · 上下文切换
→
17
17
物理内存保护 (PMP)
PMP配置 · NAPOT/TOR/NA4 · 与MMU协同
→
18
18
虚拟化扩展 (H扩展)
Hypervisor · Stage-1/Stage-2 · VSATP/HGATP
→
19
19
内存属性与排序
PMO/PMA · RVWMO/RVTSO · 内存排序模型
→
20
20
RISC-V IOMMU
IOMMU架构 · 设备地址翻译 · 中断重映射
→
21
21
RISC-V MMU性能优化
TLB预取 · 大页 · 页表缓存 · 多核一致性
→
22
22
RISC-V MMU调试
SATP检查 · 页表遍历 · scause/stval
→
23
23
ARM vs RISC-V MMU (一)
页表结构 · 粒度 · PTE格式 · 地址空间
→
24
24
ARM vs RISC-V MMU (二)
TLB管理 · 失效指令 · ASID · 缺页异常
→
25
25
ARM vs RISC-V MMU (三)
虚拟化支持 · Stage-1/Stage-2 · IOMMU/SMMU
→
26
26
ARM vs RISC-V MMU (四)
内存属性 · 排序模型 · TrustZone vs PMP
→
27
27
MMU在操作系统中的应用
Linux页表 · 进程地址空间 · fork · mmap
→
28
28
MMU在裸机系统中的应用
裸机初始化 · 页表建立 · Cache协同 · 性能优化
→
29
29
MMU在虚拟化中的应用
KVM/VMware · 影子页表 · EPT/NPT
→
30
30
MMU未来发展趋势
可编程MMU · 近内存计算 · CXL · RISC-V标准化
→