SMMU介绍(1)

        SMMU所承担的任务,与处理核中的MMU类似,就是在I/O设备发出的DMA请求进入片上网络NOC互联结构之前,先对其地址进行转换处理。

DMA地址需要被转换主要基于以下两个原因:

  • 隔离,防止IO设备随意访问物理内存;

  • 便捷,缓解DMA操作对物理连续的大内存的需求。

        为了把设备传输的流量和地址转换对应上,同时区分 SMMU 后面挂载的不同设备,每个请求除了地址、读写类型和权限外,还带有一个额外字段,用来标识它所属的流。不同的流在逻辑上对应不同的设备,SMMU 能够针对每个流分别进行地址转换和访问校验。系统里可能有不止一个 SMMU。某个 SMMU 可能只负责处理单个设备的流量,也可能负责处理一组设备的流量。

     SMMU的地址翻译过程和处理核中的MMU类似,也是为了支持虚拟化的两个阶段翻译,每个阶段独立使能:

  • 第一阶段,VA到IPA,操作系统负责管理,只能做到进程间隔离
  • 第二阶段,IPA到PA,虚拟机监控器负责管理,可以做到虚拟机之间隔离

如果两个阶段都使能,我们称之为nested。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值