【转载】x86和x64


x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个 intel通用计算机系列的编号,也标识一套 通用的计算机指令集合,由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾、P2、P4、赛扬系列都是支持X86指令系统的,所以都属于X86家族。 

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位计算的。

主流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可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。 

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系列。

你可能感兴趣的:(X64,X86)