一, 什么是MMU?
MMU(Memory Management Unit 内存管理单元),即内存管理单元,是计算机硬件中的一个重要组件,主要负责处理中央处理器(CPU)的内存访问请求。
其工作原理如下:
- 当程序发出内存访问请求,包括读取或写入操作以及逻辑地址(虚拟地址)。
- 然后,MMU根据页表等数据结构将逻辑地址转换为物理地址。
- 接着,MMU将物理地址发送给内存控制器进行实际的内存读写操作。
- 最后,内存控制器将数据返回给MMU,再由MMU将数据返回给程序。
二,什么是IOMMU?
IOMMU(input/output memory management unit 输入/输出内存管理单元)是一个更广泛的概念,用于多种架构(包括x86/x64和ARM),其原理与CPU中的MMU相似,管理设备的内存访问请求,实现地址转换和内存保护。
它的主要作用之一是控制设备DMA(Direct Memory Access)地址到机器物理地址