Intel EM64T技术详解

时间:2009-11-22 15:53:43  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:内存之间的位宽,从而让系统支持更大容量的内存 (32bit处理器最多只能支持内存容量只有4GB,而64bit的最高则达64GB)。 寻址空间对应表
  正文:

Intel官方是给EM64T这样定义的:EM64T全称Extended Memory 64 Technology,即64位内存扩展技术,它是Intel IA-32架构(Intel Architectur-32 extension)的一个扩展,且兼容原来的架构。通过增加CPU的运算位宽扩展增加CPU和内存之间的位宽,从而让系统支持更大容量的内存 (32bit处理器最多只能支持内存容量只有4GB,而64bit的最高则达64GB)。

寻址空间对应表

处理器

虚拟内存寻址

物理内存寻址

物理内存容量

Prescott(P4,普通PC处理器)

Nocona(Xeon,服务器处理器)

48 bit

36 bit

为 了实现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扩展模式下。

EM64T的运行模式

传统IA-32模式

IA-32e扩展模式

保护模式

真实地址模式

真实8086模式

兼容模式

64位模式

在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的。

----www.002pc.com


从上面的描述我们可以看出,在不同模式的转换中,处理最大的变化便是寄存器的改变。这正是因为64bit与32bit定义的最大不同就是在寄存器上。我们可以从下表看出寄存器的具体变化情况。

 

64位模式

64兼容模式

名称

数量

容量bits

名称

数量

容量bits

通用寄存器(GPRs)

RAX,BX,
RCX,RDX,
RBP,RSI,
RDI,RSP,
R8-15

16

64

EAX, EBX, ECX,
EDX, EBP, ESI,
EDI, ESP

8

32

指令指针

RIP

1

64

EIP

1

32

浮点寄存器

ST0-7

8

80

ST0-7

8

80

多媒体寄存器

MM0-7

8

64

MM0-7

8

64

SSE寄存器

XMM0-15

16

128

XMM0-7

8

128

栈宽度

64

16或32


在上表中,我们可以清楚地看到处理器的寄存器在不同模式下的变化情况。虽然支持EM64T的Prescott核心拥有16个GPRs(通用寄存器),但他们并非任何时候都会工作的,Intel根据不同的运行模式定义了他们的工作状态。
支持EM64T的处理器型号
EM64T技术最早是被应用在采用了Nocona核心的Xeon处理器上,尽管 Prescott核心支持EM64T技术,但直到最近的 Prescott 2M核心,EM64T才开始被激活。这样,支持此技术的处理器便有Xeon、Pentium 4 Extreme Edition、Pentium 4 600和酷睿系列等。酷睿之后的Intel处理器也将一直支持EM64T技术。


注:我们常说的64位指的是AMD公司出的64位CPU,而EM64T则是intel按照 自己的意思理解出来的64位,也就是和amd的64位对应的另外一种叫法。实际上EM64T是在32位基础上扩展来的,应该是一种伪64,是过渡期的一种 解决方案。说白了提到64位指的是AMD的64位CPU,而EM64T则指的是INTEL公司的CPU。
"Intel EM64T技术详解"由第二电脑网原创提供,转载请注明:http://www.002pc.com/diy/hardware/cpu/11492.html


关键字:

关于《Intel EM64T技术详解》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td