欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

x86和X64是什么意思?通俗易懂的介绍

程序员文章站 2022-03-03 17:55:42
x86和X64是什么意思?通俗易懂的介绍x86是对基于intel处理器的系统的标准缩写,这里的64位技术是相对于32位而言的,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据,下面简要为大家介绍下... 13-11-22...

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位计算的。目前,在64位处理器方面,intel和amd两大处理器厂商都发布了多个系列多种规格的64位处理器;而在操作系统和应用软件方面,目前的情况不容乐观。因为真正适合于个人使用的64位操作系统现在就只有windows xp x64,而windows xp x64本身也只是一个过渡性质的64位操作系统,在windows vista发布以后就将被淘汰,而且windows xp x64本身也不太完善,易用性不高,一个明显的例子就是各种硬件设备的驱动程序很不完善,而且现在64位的应用软件还基本上没有,确实硬件厂商和软件厂商也不愿意去为一个过渡性质的操作系统编写驱动程序和应用软件。所以要想实现真正的64位计算,恐怕还得等到windows vista普及一段时间之后才行。

目前主流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系列。

相关标签: X86 x64