《PCI Express体系结构导读16》-- 虚拟化技术 1. 虚拟化技术一般指多个进程共享一个cpu,多个进程的虚拟空间共享同一个物理内存等;本章所说的虚拟化技术是指在一个处理器系统中运行多个虚拟处理器系统,其中每个虚拟处理器系统都有独立的虚拟运行环境,包括cpu,内存和外部设备;虽然他们彼此独立,但是仍然可以使用相同的物理资源——因此需要专门的硬件(VMM,virtual machine monitor)对其进行管理;一般操作系统中,处理器使用MMU(memory management unit)进行地址转换和访问权限检查;每个进程都具有独立的页表存放虚拟地址到物理地址的映射关系和属性,但是如果进程每次访问物理内存都需要访问页表时,将严重影响进程的执行效率,为此设置了TLB(translation lookaside buffer)作为页表的cache;IOMMU与MMU类似,也有IO页表,IOTLB;2. IOMMUTA中包含IO页表和IOTLB:Intel IA处理器和AMD处理器使用不同的技术实现TA和ATPT,其中Intel IA处理器使用VT-d技术,AMD使用IOMMU;Intel的VT-d:Root-entry对应bus[7:0],context-entry对应device[4