64位计算是相对于32位计算的新一代高性能计算标准,就像高速公路与山间小路的区别,相比于32位计算,64位提供更大的计算带宽,从而带来更高的性能,使很多过去根本无法实现的设想变成现实。全球最重要的处理器供应商包括:AMD、HP、
IBM、
Intel、
Motorola、
Sun无一例外的都在推动64位计算。
处理器介绍
8位处理器、16位处理器、
32位处理器和
64位处理器,其计数都是8的倍数。它表示一个
时钟周期里,处理器处理的
二进制代码数。“0”和“1”就是
二进制代码,线路上有电信号,则计做1,没有电信号则为0。8位机有8条线路,每个
时钟周期有8个电信号,组成一个字节。所以,随8位处理器上升至64位处理器,每个时钟周期传送1个字节到8个字节,关联到时钟速度提高到若干个千兆赫之后,处理器处理信息的能力越来越大。
需要原因
X86结构在32
位寻址时最大空间只能是4GB,在很多大型数据库、
数字内容的创建、视频内容的创建还有如CAD/CAM等需要将现实世界建模运算的软件都需要大量的
内存容量,此外还有安全加密的需要则使得处理的数据成倍增长。在石油勘探、天气预测等需要大量数据运算的应用环境中,更是需要平台为运算提供更为充裕的
内存容量。64位平台的寻址能力达到了180亿GB,这在未来很长一段时间内都可以解决高端应用中
存储器寻址的瓶颈
这里的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处理器的性能是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技术做一下简单介绍。
AMD
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可以更有效的处理数据,可以在一个
时钟周期中传输更多的信息。
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系列。