|
Intel EM64T技术详解兼容性方面的改进 Intel官方是给EM64T这样定义的:EM64T全称Extended Memory 64 Technology,即64位内存扩展技术,它是Intel IA-32架构(Intel Architectur-32 extension)的一个扩展,且兼容原来的架构。通过增加CPU的运算位宽扩展增加CPU和内存之间的位宽,从而让系统支持更大容量的内存(32bit处理器最多只能支持内存容量只有4GB,而64bit的最高则达64GB)。
为了实现64bit和32bit两种运算间的兼容,Intel在原来32bit处理器核心的基础上加入了8个64 bit GPRs(通用寄存器)和内存指针(memory pointers),从而实现了64 bit内存寻址。在理论上,虽然EM64T架构最高可以支持64 bit内存寻址,但由于设计和制造工艺等方面的因素,并非所有EM64T的处理器都能达到理论的上限,所以,在64 bit和32bit内存寻址之间提供一个48 bit的虚拟内存寻址,以增强两者间的兼容性。 EM64T模式的运行及识别 既然,EM64T是一种兼容性很强的64 bit扩展技术,那么它是如何工作的呢? Intel为支持EM64T技术的处理器可分为两大类:传统IA-32模式和IA-32e扩展模式,两大类下具体又可分为多种运行模式,具体如下表:在支持EM64T技术的处理器内有一个称之为扩展功能激活寄存器(Extended Feature Enable Register,IA32_EFER)的部件,其中一个被称作长模式有效(Long Mode Active,LMA)的Bit10控制器控制EM64T是否被激活。当LMA=0时,处理器便作为一颗标准的32 bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。
在IA-32e扩展模式下的兼容模式和64位模式,两者都需要64bit操作系统和64bit驱动程序的支持,但后者才是真正的64bit计算。在64bit模式下,必须要有64bit的操作系统、驱动程序和应用程序三者合作。此时,处理器内的新增的8个GPRs和8个SSE寄存器(XMM8 -XMM15)才会被激活,原有的8个GPRS(RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP)的宽度也会同时扩展为64bit,并且启用64bit指令指针。此时,处理器才能利用64bit指令操作来支持64bit内存寻址,进行双精度(64bit)整数运算。 而在另一种兼容模式下,计算机允许在64bit操作系统下不需要预编译就可以运行大多数传统16bit或32bit应用程序,这和传统IA-32模式下基本相同,只不过此时的操作系统和驱动程序都是64bit的。 从上面的描述我们可以看出,在不同模式的转换中,处理最大的变化便是寄存器的改变。这正是因为64bit与32bit定义的最大不同就是在寄存器上。我们可以从下表看出寄存器的具体变化情况。
在上表中,我们可以清楚地看到处理器的寄存器在不同模式下的变化情况。虽然支持EM64T的Prescott核心拥有16个GPRs(通用寄存器),但他们并非任何时候都会工作的,Intel根据不同的运行模式定义了他们的工作状态。 支持EM64T的处理器型号 EM64T技术最早是被应用在采用了Nocona核心的Xeon处理器上,尽管Prescott核心支持EM64T技术,但直到最近的 Prescott 2M核心,EM64T才开始被激活。这样,支持此技术的处理器便有Xeon、Pentium 4 Extreme Edition以及Pentium 4 600系列等,具体的处理器型号请参阅下表。
(责任编辑:城尘) 责编: 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
最新专题 推荐圈子 |
|