64位和32位是什么意思,历史新知我整理,欢迎阅读!
32位和64位含义:位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为多少位,多少位(以32位为例)32位指令集就是运行32位数据的指令,也就是说处理器一次可以运行32bit数据。
实际上呢, *** 作系统只是硬件和应用软件中间的一个平台。 32位 *** 作系统针对的32位的CPU设计。 64位 *** 作系统针对的32位的CPU设计。 所以呢我们必须了解一下32位 、64位CPU。
所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据。
如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器,比如Intel 80286 CPU需要8个指令,32位的处理器需要4个指令,而64位处理器则只要两个指令,显然,在工作频率相同的情况下,64位处理器的处理速度会比16位、32位的更快。而且除了运算能力之外,与32位处理器相比,64位处理器的优势还体现在系统对内存的控制上。
由于地址使用的是特殊的整数,而64位处理器的一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。传统32位处理器的寻址空间最大为4GB,使得很多需要大容量内存的数据处理程序在这时都会显得捉襟见肘,形成了运行效率的瓶颈。
而64位的处理器在理论上则可以达到1800万个TB,1TB等于1024GB,1GB等于1024MB,所以64位的处理器能够彻底解决32位计算系统所遇到的瓶颈现象,速度快人一等,对于那些要求多处理器可扩展性、更大的可寻址内存、视频/音频/三维处理或较高计算准确性的应用程序而言,AMD 64处理器可提供卓越的性能。
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。
�迪终嬲�庖迳系?4位计算,光有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系列。
本教程 *** 作环境:windows7系统、Dell G3电脑。某台微机安装的是64位 *** 作系统中,64位指的是CPU的字长,即CPU每次能处理64位二进制数据。
计算机采用二进制编码方式表示数、字符、指令和其它控制信息。计算机在存储、传送或 *** 作时,作为一个单元的一组二进制码称为字,一个字中的二进制位的位数称为字长。
字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制位数,字长总是8的整数倍,通常PC机的字长为32位,64位。
64位CPU就是在同一时间内处理字长为64位的二进制数据。二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。常用的字长为8位、16位、32位和64位。字长为8位的编码称为字节,是计算机中的基本编码单位。
一个 64 位的 CPU,内部可能有外部数据总线或不同大小的地址总线,可能比较大或比较小;术语“64位”也常用于描述这些总线的大小。例如,目前有许多机器有着使用 64 位总线的 32 位处理器(如最初的 Pentium 和之后的 CPU),因此有时会被称作“64位”。同样的,某些 16 位处理器(如 MC68000,摩托罗拉公司生产的一款16位处理器,因集成约68000个晶体管而得名)指的是 16/32 位处理器具有 16 位的总线,不过内部也有一些 32 位的性能。这一术语也可能指计算机指令集的指令长度,或其它的数据项(如常见的 64 位双精度浮点数)。去掉进一步的条件,“64位”计算机架构一般具有 64 位宽的整数型寄存器,它可支持(内部和外部两者) 64 位“区块”(chunk)的整数型数据。
64位和32位比较
从32位到64位架构的改变是一个根本的改变,因为大多数 *** 作系统必须进行全面性修改,以取得新架构的优点。其它软件也必须进行移植,以使用新的性能;较旧的软件一般可借由硬件兼容模式(新的处理器支持较旧的 32 位版本指令集)或软件模拟进行支持。或者直接在 64 位处理器里面实作 32 位处理器内核(如同 Intel 的 Itanium 处理器,其内含有 x86 处理器内核,用来执行 32 位 x86 应用程序)。支持 64 位架构的 *** 作系统,一般同时支持 32 位和 64 位的应用程序。
明显的例外是 AS/400,其软件执行在虚拟的指令集架构,称为 TIMI(技术独立机器界面),它会在执行之前,以低阶软件转换成本地机器码。低阶软件必须全部重写,以搬移整个 OS 以及所有的软件到新的平台。例如,当 IBM 转移较旧的 32/48 位“IMPI”指令集到 64 位 PowerPC(IMPI 完全不像 32 位 PowerPC,所以这比从 32 位版本的指令集转移到相同指令集的 64 位版本的规模还要庞大)。
64 位架构无疑可应用在需要处理大量数据的应用程序,如数码视频、科学运算、和早期的大型数据库。在其它工作方面,其 32 位兼容模式是否会快过同等级的 32 位系统,这部分已有很多争论。在 x86-64 架构(AMD64 和 Intel 64)中,主要的 32 位 *** 作系统和应用程序,可平滑的执行于 64 位硬件上。
Sun 的 64 位 Java虚拟机的启动速度比 32 位虚拟机还慢,因为 Sun 仍假定所有的 64 位机器都是服务器,而且只有为 64 位平台实作“服务器”编译器(C2)。“客户端”编译器(C1)产生较慢的代码,不过编译较快速。所以尽管在 64 位 JVM 的 Java 程序在一段很长的周期会执行的较好(一般为长时间运作的“服务器”应用程序),它的启动时间可能更久。对于短生命期的应用程序(如 Java 编译器 javac) 增加启动时间可控制执行时间,使 64 位的 JVM 整体变慢。
应当指出,在 32 位和 64 位处理器时,速度并不是唯一的考量因素。应用程序,如多任务、压力测试(stress testing)、丛集(clustering)(用于HPC)可能更适合 64 位架构以正确部署。为了以上原因,64 位丛集已广泛部署于大型组织,如 IBM、Vodafone、HP、微软。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)