caoxiao
平民
UID 2935949
精华
0
积分 72
帖子 20
金币 292 个
威望 0 点
阅读权限 10
注册 2008-4-13
状态 离线
|
|
|
英特尔64位处理器!Intel EM64T技术详解
有读者反映,“Itanium(安腾)处理器才是真正的64位架构,而采用了EM64T技术的Pentium 4处理器并不算真正意义上的64位处理器,把EM64T架构等同于Intel的64位 CPU架构是不严谨的!”是的,非常感谢这位热心的读者。从严格意义上而言,EM64T架构跟纯64 bit处理器有着本质的区别,它更像是一种介于32bit和纯64 bit处理器之间的兼容性架构。 兼容性方面的改进
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 | 64 GB |
为了实现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的。
从上面的描述我们可以看出,在不同模式的转换中,处理最大的变化便是寄存器的改变。这正是因为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系列等,具体的处理器型号请参阅下表。处理器型号 | 主频 | 核心 | L2 | 制程 | 前端总线FSB | 接口 | Xeon | 2.80-3.60GHz | Nocona | 1M/2M | 90nm | 800 MHz | Socket604 | Pentium 4 Extreme Edition | 3.73GHz | Prescott 2M | 2M | 90nm | 1066 MHz | LGA775 | Pentium 4 660 | 3.6GHz | Prescott 2M |
| 90nm | 800MHz | LGA775 | Pentium 4 650 | 3.4GHz | Prescott 2M | 2M | 90nm | 800MHz | LGA775 | Pentium 4 640 | 3.2GHz | Prescott 2M | 2M | 90nm | 800MHz | LGA775 | Pentium 4 630 | 3.0GHz | Prescott 2M | 2M | 90nm | 800MHz | LGA775 |
|
|
下图显示了64位工作模式。从图1我们可以看出64 bit处理器的指令宽度并没有改变,只是增大了通用寄存器和数据通道的宽度,可以简单的理解为64 bit处理器是拥有数据宽度为64 bit的寄存器并且可以一次传输,魔域私服运算64 bits的数据。那么64 bit处理器都有哪些优点呢?
1、可以进行更大范围的整数运算,一个32 bit整数可以表示232也就是4GB数值,而一个64 bit整数264也就是1800万TB,可以看作无限大。
2、可以支持更大的内存,即64 bit处理器可以支持64 bit内存魔域私服寻址。
以往我们认为64位计算机的强大性能更适合于大型服务器和专业工作站,似乎对于面向普通用户的桌面PC来说有些大材小用了。其实不然,随着互联网和多媒体应用的发展,桌面PC用户对于电脑性能的也日益增加,比如大型的3D游戏、HDTV的播放等等完美世界私服,同样需要强大的运算性能。
|
|
EM64T(Intel Extended Memory 64 Technology)即64位英特尔内存扩展技术,该技术为服务器和工作站平台应用提供扩充的内存寻址能力,拥有更多的内存地址空间,可带来更大的应用灵活性,理论上最大可使用16EB,足够满足当前和将来的软件应用需求,特别有利于提升音视频编辑,CAD等复杂工程软件及游戏软件的应用。而普通的32位CPU可寻址内存最大为4GB(约40亿字节)。目前只有800MHz前端系统总线的至强支持EM64T技术。 我们常说的64位指的是AMD公司出的64位CPU,而EM64T则是intel按照自己的意思理解出来的64位,也就是和amd的64位对应的另外一种叫法。实际上EM64T是在32位基础上扩展来的,应该是一种伪64,是过渡期的一种解决方案。说白了提到64位指的是AMD的64位CPU,而EM64T则指的 完美世界私服是INTEL公司的CPU。
实际上AMD的64位CPU是64位兼容32位运算,而INTEL的EM64T是32位兼容64位运算。
最后我们需要注意的一点是:64 bit处理器的性能并不相当于两倍32 bit处理器的性能。我们不能因为数字上的变化,而简单的认为64 bit处理器的性能是32 bit处理器性能的两倍。实际上在32 bit应用下,32 bit处理器的性能甚至会更强,即使是64 bit处理器,目前情况下也是在32 bit应用下性能更加强大。所以我们在认清64 bit处理器优势的同时, 完美世界咨迅站不可过度迷信64 bit。
|

|
|
|