SMMU介绍(1)

📅 2026/6/30 15:41:04
SMMU介绍(1)
SMMU所承担的任务与处理核中的MMU类似就是在I/O设备发出的DMA请求进入片上网络NOC互联结构之前先对其地址进行转换处理。DMA地址需要被转换主要基于以下两个原因隔离防止IO设备随意访问物理内存便捷缓解DMA操作对物理连续的大内存的需求。为了把设备传输的流量和地址转换对应上同时区分 SMMU 后面挂载的不同设备每个请求除了地址、读写类型和权限外还带有一个额外字段用来标识它所属的流。不同的流在逻辑上对应不同的设备SMMU 能够针对每个流分别进行地址转换和访问校验。系统里可能有不止一个 SMMU。某个 SMMU 可能只负责处理单个设备的流量也可能负责处理一组设备的流量。SMMU的地址翻译过程和处理核中的MMU类似也是为了支持虚拟化的两个阶段翻译每个阶段独立使能第一阶段VA到IPA操作系统负责管理只能做到进程间隔离第二阶段IPA到PA虚拟机监控器负责管理可以做到虚拟机之间隔离如果两个阶段都使能我们称之为nested。