其他分享
首页 > 其他分享> > [转] SMMU背景和实现分析

[转] SMMU背景和实现分析

作者:互联网

转自 

https://blog.csdn.net/gaojy19881225/article/details/82585973

SMMUv3

https://blog.csdn.net/ytfy339784578/article/details/104254322

https://blog.csdn.net/ytfy339784578/article/details/104254338

 

了解SMMU产生背景之前,首先要了解DMA工作原理。因为SMMU的产生主要是为了解决虚拟化平台下的DMA重映射问题。 DMA,外设和内存的连接件,用于解放CPU。外设可以通过DMA,将搜集的数据批量传输到内存,然后再发送一个中断通知CPU去内存取。这样减少了CPU被中断的次数,提高了系统的效率。DMA要能够正常工作,首先要进行正确的配置(包括通道选择、DMA源外设地址、DMA目的内存地址及尺寸等信息);其次,一般需要连续的一段或多段物理内存。由于DMA不能像CPU一样通过MMU操作虚拟地址,所以DMA需要的是连续的物理地址。 这对Hypervisor+GuestOS的虚拟化系统来说必须解决一个问题:GuestOS看到的内存并非真实的物理内存,Guest OS的驱动无法正常地把连续的物理内存分配给硬件。于是,现代计算机设计了引入了IOMMU(ARM架构叫SMMU)架构,来对非CPU的外部设备,也提供一个MMU部件,对这些设备发出的地址请求进行翻译。DMA设备是其中最重要的应用。
————————————————
版权声明:本文为CSDN博主「一墨一飞花」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gaojy19881225/article/details/82585973

标签:分析,DMA,SMMU,背景,csdn,内存,article,net,CPU
来源: https://www.cnblogs.com/yi-mu-xi/p/12336451.html