在很早之前,AMD和Intel就将硬件虚拟化技术融合在了自己的处理器中,并在桌面处理器宣传中将处理器的虚拟化功能当作一个重要的卖点。而AMD将要在今年发布的9系列芯片组,唯一有一点新意的技术,也是一项为虚拟化服务的IOMMU(中文名为“输入输出内存管理单元”)技术。实际上无论是大型企业还是有特殊需求的人群,PC的虚拟化功能都将为他们带来极大的好处,这也是为什么AMD和Intel如此看重硬件虚拟化的原因。可以说,在桌面系统纯粹的平台性能、以及常见的功能外,虚拟化领域是AMD和Intel的另一个战场。
殊途同归,处理a器上的虚拟化比拼
Intel的处理器虚拟技术VT实际上只是Intel Virtualization整套技术中的一环,在安腾服务器处理器上的VT技术叫做VT-i,而在普通桌面处理器上的VT技术叫做VT-x。VT-x提供了一套新指令来建立、管理和退出VM(虚拟机),就如同操作内存管理一样。VT-x扩展了传统的x86处理器架构,它引入了两种操作模式:VMX root operation(根虚拟化操作)和VMX non-root operation(非根虚拟化操作),统称为VMX操作模式。VMX root operation是VMM运行所处的模式,设计给VMM,其行为跟传统Intel处理器的IA32架构并无特别不同。
在这一架构下,一些过去通过软件模拟的指令现在可以通过处理器直接运行在虚拟的操作系统中,这样不但提升了效率,同时还可以让虚拟机模拟使用64bit操作系统。
此外,针对过去软件虚拟化技术的不足,Intel的VT-x可以在虚拟机出现问题的时候,让处理器有能力转换控制器,使虚拟的操作系统在不中断的情况下解决问题,保证了虚拟系统的稳定。
而AMD的AMD-V技术从原理上来看,基本和Intel VT-x技术的思路一致,两者在实现手段和效果上也很类似。不过虚拟化很重要的一点就是管理虚拟操作系统的内存,而这则成为了两家公司在处理器虚拟化技术中的差异。要知道,AMD-V技术发布的时候,AMD已经将内存控制器集成在处理器中,而Intel的VT-x技术诞生时,内存控制器还在北桥中,所以AMD-V虚拟化技术相比Intel的VT-x引入了独特的新指令,这使得AMD-V只需要通过内存管理中心向虚拟的系统分配内存即可,而不像传统虚拟化技术那样复杂。这不但为虚拟机提供了更好的性能,同时可以更好地管理虚拟系统的内存。
IOMMU,让虚拟化走向芯片组
IOMMU(Input/Output Memory Management Unit,输入输出内存管理单元)是AMD 9系列芯片组最新加入的功能。IOMMU的功能是管理对系统内存的设备访问,它位于外围设备和主机之间,将来自设备请求的地址转换为系统内存地址,并检查每个接入的适当权限。这主要是把设备可见的虚拟地址映射成物理地址,为服务器、桌面的I/O虚拟化提供一种安全、灵活、高性能的方案。
新闻热点
疑难解答