64位技术

更新时间:2024-01-23 21:08

64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非现在才有的,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64bit处理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等

优点

64bit计算主要有两大优点:可以进行更大范围的整数运算;可以支持更大的内存。不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍。实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,目前情况下也是在32bit应用下性能更强。所以要认清64bit处理器的优势,但不可迷信64bit。

要实现真正意义上的64位计算,光有64位的处理器是不行的,还必须得有64位的操作系统以及64位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现64位计算的。目前,在64位处理器方面,Intel和AMD两大处理器厂商都发布了多个系列多种规格的64位处理器;而在操作系统和应用软件方面,目前的情况不容乐观。

技术

目前主流CPU使用的64位技术主要有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容现在的传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium 2,一般用户不会涉及到,因此这里仅对AMD64位技术和Intel的EM64T技术做一下简单介绍。

AMD64位技术

AMD64的位技术是在原始32位X86指令集的基础上加入了X86-64扩展64位X86指令集,使这款芯片在硬件上兼容原来的32位X86软件,并同时支持X86-64的扩展64位计算,使得这款芯片成为真正的64位X86芯片。这是一个真正的64位的标准,X86-64具有64位的寻址能力。

X86-64新增的几组CPU寄存器将提供更快的执行效率。寄存器是CPU内部用来创建和储存CPU运算结果和其它运算结果的地方。标准的32-bit x86架构包括8个通用寄存器(GPR),AMD在X86-64中又增加了8组(R8-R9),将寄存器的数目提高到了16组。X86-64寄存器默认位64-bit。还增加了8组128-bit XMM寄存器(也叫SSE寄存器,XMM8-XMM15),将能给单指令多数据流技术(SIMD)运算提供更多的空间,这些128位的寄存器将提供在矢量和标量计算模式下进行128位双精度处理,为3D建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照X86-64标准生产的CPU可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。

AMD64位移动版处理器 在AMD的计划中,这款处理器的核心是“Lancaster”,采用了90纳米SOI制程,内置1M全速L2和单通道内存控制器,采用与Socket 754 Athlon 64相同的封装。和桌面版的Athlon 64相比,采用了低电压设计,以实现35W以下的TDP。并且在Windows(R) XP Service Pack 2的系统环境下,能够使用CPU防病毒功能。

AMD64位移动版处理器是基于AMD64位处理器开发出来的,是当今世上唯一的64位处理器,目前主要应用于AMD架构的笔记本电脑上。AMD Mobile Athlon 64处理器目前有五个版本,它们分别是:

Mobile Athlon 64 2700+ /核心电压1.2V/最大功耗35W

Mobile Athlon 64 2800+ /核心电压1.2V/最大功耗35W

Mobile Athlon 64 2800+ /核心电压1.4V/最大功耗62W

Mobile Athlon 64 3000+ /核心电压1.4V/最大功耗62W

Mobile Athlon 64 3200+ /核心电压1.4V/最大功耗62W Mobile AMD Athlon 64处理器性能强劲,跟桌面的Athlon 64处理器一样,是基于Clawhammer核心、用0.13微米工艺制造的。该处理器整合了内存控制器,这就意味着内存控制器的运行速度能跟CPU一样,同时,它跟CPU其他单元之间的通信也是以CPU速度进行的,这样,在基于该处理器的操作系统环境下内存延迟低了很多,大大提升了电脑的运行速度。除此之外,它的二级缓存的容量更达1M,更高的缓存容量意味着处理器的回写速度更快。

Mobile Athlon 64位处理器还采用了可以让晶体管的频率提升35%以上先进的SOI技术生产。它的晶体管数量达到了1亿5百90万个,核心面积也大大增加,为192平方毫米。在降低能耗方面,Mobile AMD Athlon 64处理器采用了AMD PowerNow!技术。利用这项技术,该移动处理器可以根据处理器的负载情况,来决定该处理器的性能,比如说运行单一的“记事本”程序,该处理器就会只调用很少的资源,此时,处理器的功率非常低,发热量也很低;而当玩游戏时,该处理器又会自动地将其性能发挥到极限,以便满足高负荷的需求,当然,此时它无论在功率和发热量方面都会比较大。通过这项技术,就可以让该处理器在性能和功耗、发热量、电池供电时间之间取得一个平衡。

Mobile AMD Athlon 64处理器虽然是一款64位的处理器,但它可以向下兼容目前大多数32位的软件。由此看来,Mobile AMD Athlon 64处理器的性能确实不错,不过,它也有不少令人遗憾之处。

首先,它的功率较大,以至发热量也较大,耗电量也大。例如,Mobile Athlon 64 2700+的主频为1.60G,虽然是低电压版本,但其功率也在35W左右,其它以上版本的功率更是高达62W,而同为1.60G全美达90纳米Efficeon处理器的功率只有7W,英特尔Dothan处理器1.70G的只有21W,相比之下,Mobile AMD Athlon 64处理器的功率过高。而功率高必然会带来更高的发热量,同时会缩短笔记本电池持续性使用时间。

其次,目前支持64位的软件还很少,64位显得华而不实。我们知道,64位的处理器需要用64位的软件才能真正体现出64位的优势,但现在绝大多数软件都是32位的。

在32位操作系统下,与英特尔Dothan处理器相比,并不见得明显胜出。英特尔Dothan处理器目前主频可达2.0G,相当于P4 3.2G的性能,采用了0.09微米工艺制造,拥有高达2M的二级缓存;而Mobile AMD Athlon 64虽然标称最高达3200+,但其主频其实为2.80G,二级缓存为1M,采用的是0.13微米工艺制造,如果同在32位操作系统下运行,其性能并不见得会比英特尔Dothan处理器强。

EM64T技术

Intel官方是给EM64T这样定义的:EM64T全称Extended Memory 64 Technology,即扩展64bit内存技术。EM64T是Intel IA-32架构的扩展,即IA-32e(Intel Architectur-32 extension)。IA-32处理器通过附加EM64T技术,便可在兼容IA-32软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行32 bit线性地址写入。EM64T特别强调的是对32 bit和64 bit的兼容性。Intel为新核心增加了8个64 bit GPRs(R8-R15),并且把原有GRPs全部扩展为64 bit,如前文所述这样可以提高整数运算能力。增加8个128bit SSE寄存器(XMM8-XMM15),是为了增强多媒体性能,包括对SSE、SSE2和SSE3的支持。

Intel为支持EM64T技术的处理器设计了两大模式:传统IA-32模式(legacy IA-32 mode)和IA-32e扩展模式(IA-32e mode)。在支持EM64T技术的处理器内有一个称之为扩展功能激活寄存器(extended feature enable register,IA32_EFER)的部件,其中的Bit10控制着EM64T是否激活。Bit10被称作IA-32e模式有效(IA-32e mode active)或长模式有效(long mode active,LMA)。当LMA=0时,处理器便作为一颗标准的32 bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。

目前AMD方面支持64位技术的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技术的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。

intel的EM64T内存扩展技术

EM64T本质上和AMD64一样都是IA-32的增强版本,Xeon借助于EM64T可实现高达1TB(40bit)的物理内存寻址和256TB(48bit)的虚拟内存寻址,并且良好地支持现有32位x86代码的执行,这一点跟AMD64无异,同时也是Intel开发EM64T的出发点—让现有的x86指令集能够执行64位代码,而继续保持对32位代码的良好兼容。但由于多方面的限制,无论是EM64T还是AMD64均只能实现比32位指令集更大内存空间的寻址,而无法真正做到纯64位指令集的1PB(50bit)和16EB(64bit)的物理内存虚拟内存寻址(IA-64就能做到这一点),其关键在于EM64T和AMD64本质上仍是基于32位的x86指令集,只是Intel和AMD分别采用不同的技术手段对x86指令集进行扩展,从而实现对64位的支持。

和AMD64一样,EM64T由于要在同时运行32位和64位程序,因此会针对不同的需要运行于不同的操作模式,同时其引入的多种操作模式之间的切换较为成功地解决了32位程序在64位操作系统下的运行效率问题,当中包括了传统模式、兼容模式和纯64位模式。

传统模式(Legacy Mode)

这种模式是为了令64位Xeon能没有障碍地执行现有的32位和16位程序而设计的,实际上就是32位x86时代的IA-32模式,此时现有x86程序无需作任何的改变,和我们目前使用着的32位环境一模一样。因为Nacona Xeon的核心仍然是沿着32位设计的,所以这个模式只是把所有为64位计算而新增的运算机制都屏蔽起来。

兼容模式(Compatibility Mode)

兼容模式允许64位操作系统(如Windows XP x64 Edition)良好地运行基于32位和16位代码的程序,此时32位程序无需重编译即可以保护模式运行,而16位程序则要依赖于操作系统和驱动程序是否支持保护模式,情况类似于32位环境下的IA-32虚拟实模式。和传统模式相同,兼容模式允许程序利用物理内存扩展实现64GB的物理内存寻址,但这并非纯64位模式的准64位寻址

纯64位模式(Full 64bit Mode)

此模式是三种模式当中最为高效的,同时可充分发挥EM64T的威力,但这种模式需要纯64位环境的支持,包括64位操作系统和64位应用程序。在64位操作系统和相应驱动程序的支持下,系统和应用程序能够访问EM64T所支持最大容量的扩展内存,这时Xeon平台的性能可得到最充分的发挥,当然运行于此模式下的程序需要修改其微代码以便支持64位指令操作。

可以预见,在未来相当长的一段时间里,在64位操作系统下我们最常用的是兼容模式,因为现存的大量32位应用程序不可能在短期内为x86-64指令集而重新开发,为了保证现有的32位程序能够继续在Xeon平台上顺利执行,EM64T提供了一种出色的解决方案。而对于传统的32位操作系统和应用程序,Xeon平台当然可以百分百地相容运行,本来EM64T就是扩展的32位x86指令集,兼容32位程序是件很自然的事。

EM64T在64位的实现方式上跟AMD64指令集有很多相似之处,但在关键的地方两者还是有很大差别,而Intel追加的大多数64位指令与AMD64指令集相兼容,因此Microsoft就不用为两家公司的64位处理器开发各自的64位操作系统。目前Microsoft推出的Windows XP x64 Edition操作系统(Beta)可同时支持EM64T和AMD64,能够兼容几乎所有的32位应用程序和大部分新增64位应用程序。

EM64T和AMD64的区别

AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。

x86-64(AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。 AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上 AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器。

也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技术类似,采用64位的线性平面寻址,加入8个新的通用寄存器(GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同AMD64一样是向下兼容的。 Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。

应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。

名词解释

64位计算

在计算机发展史上,人类历经了从8位计算到16位计算、从16位计算到32位计算两次飞跃,32位计算是目前服务器市场的主流。64位计算是相对于32位计算的新一代高性能计算标准,就象高速公路与山间小路的区别,相比于32位计算,64位提供更大的计算带宽,从而带来更高的性能,使很多过去根本无法实现的设想变成现实。目前,全球最重要的处理器供应商包括:AMD、HP、IBM、Intel、Motorola、Sun无一例外的都在推动64位计算

64位处理器

8位处理器、16位处理器、32位处理器和64位处理器,其计数都是8的倍数。它表示一个时钟周期里,处理器处理的二进制代码数。“0”和“1”就是二进制代码,线路上有电信号,则计做1,没有电信号则为0。8位机有8条线路,每个时钟周期有8个电信号,组成一个字节。所以,随8位处理器上升至64位处理器,每个时钟周期传送1个字节到8个字节,关联到时钟速度提高到若干个千兆赫之后,处理器处理信息的能力越来越大

64位数据运算

目前X86结构在32位寻址时最大空间只能是4GB,在很多大型数据库、数字内容的创建、视频内容的创建还有如CAD/CAM等需要将现实世界建模运算的软件都需要大量的内存容量,此外还有安全加密的需要则使得处理的数据成倍增长。在石油勘探、天气预测等需要大量数据运算的应用环境中,更是需要平台为运算提供更为充裕的内存容量。64位平台的寻址能力达到了180亿GB,这在未来很长一段时间内都可以解决高端应用中存储器寻址的瓶颈

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}