是机器CPU一次处理的数据宽度是32位,操作系统也有32it和64bit之分,你的系统肯定是32bit的
如今面对着铺天盖地的关于64位处理的宣传,有些人可能会产生这样的想法:64位可以让游戏以两倍于以前的速度运行,把粗糙的3D模型转化为平滑而逼真的模型,甚至把一台普通的PC变为超强的游戏机。 另一方面,再听听反面的声音:为什么我们要买并不需要的产品?
事实上,这两种看法都有所偏袒。很明显,64位不可能带来两倍的计算速度,不可能重现当初由8位过渡到16位的那种革命性改变。但64位也不可能是毫无意义的。无论AMD64还是Intel的EM64T,它们都是x86指令的64位扩展,64位能支持更大的内存寻址空间,能带来更简洁的编程模型,并且完全向下兼容32位应用程序,这些都是提高性能的有利因素。
为了帮助大家真正地了解64位到底能有多大的提升,我们测试了AMD和Intel的64位处理器,操作系统是最新版本的64位Windows XP。看看目前桌面市场上最快的处理器在64位和32位应用程序的性能。
64位基础知识
最初,是AMD作为业界的先锋,首先跨入64位(台式机范围)。开始,他们把这种技术叫做x86-64。后来出于市场原因,AMD干脆重新命名为AMD64。实际上,最初AMD K8的微内核就叫做AMD64。面对咄咄逼人的AMD,Intel也加入对64位的支持,当然,名字不能和AMD一样,于是乎EM64T就诞生了。讲到这里,大家应该明白AMD64和EM64T师出同门,他们是相互兼容的。对于普通用户,他们可以说是一样的。
无论叫什么名字,最新的桌面处理器都已经支持64位技术了,包括AMD的Athlon64和Opteron系列,以及Intel的Pentium4 600系列和最新的Xeon。Intel宣称桌面系列的处理器都将支持EM64T,包括低端的Celeron。而AMD并没有承认Sempron系列也将支持AMD64,但是迫于Celeron的压力AMD也很由可能这样做。
时至今天,各种支持64位处理器的Linux已经随处可见。然而微软支持x86-64的Windows XP仍然只有beta版本,直到4月份,Windows XP Professional x64 Edition正式版才能问世(注意和支持Itanium的Windows XP 64-bit Edition完全不同)。一旦Windows XP x64 Edition正式上市,64位的市场才能真正活跃起来,所以大家也一定想了解64位计算对自己到底意味着什么。
从正面的角度来说,改变的并不是很多。Windows x64仍然能运行32位应用程序,而且几乎没什么区别。微软把这种兼容技术叫做WOW64,那些32位应用程序就像运行在32位的Windows一样。但区别还是有的,设备的驱动程序必须重新编译,原有的32位驱动是不能使用的。大多数情况下,Windows x64集成了常用设备的驱动,所以我们无需安装任何额外的驱动就能测试Intel 925X和nForce4的平台。否则,设备供应商必须提供64位驱动才能在Windows x64上正常工作。 例如RealTek和NVIDIA,它们分别提供了64位的声卡和显卡驱动,ATI也推出了beta版本的64位显卡驱动。但是,并不是所有的厂商都发布了64位驱动。
仍然存在着一些程序,它们不能简单地过渡到64位。例如WinXP x64就集成了两个版本的IE浏览器,分别是32位和64位的。系统默认的浏览器是32位的IE,因为几乎所有的ActiveX控件都是32位编码的,很难想像我们只用某种软件的部分功能。同样的,一些直接硬件访问的系统级软件可能会产生某种不可预计的后果,尽管微软很努力,但可以估计一些补丁程序是必不可少的了。当然,最终所有的程序都会顺利过渡到64位,它们只能支持64位的处理器和操作系统。
64位的优点
当AMD研发出x86-64架构时,同时也解决了传统x86固有的一些缺点。其中最重要的就是内存,原来只支持32位的寻址范围,因此最大支持的内存是4GB。4GB对普通的桌面电脑来说的确足够了,但由于市场需要,一些入门级服务器及工作站使用的也是桌面平台,对它们而言,4GB内存的限制就显得捉襟见肘了。
从更深的层次来讲,32位寻址空间的缺陷不仅仅停留在表面的容量上。在默认情况下,Windows XP对应用程序的限制是最大只能使用2GB的内存空间,为系统级任务保留了2GB内存。(Intel为x86发明了一种物理内存扩展技术PAE,使得Windows的Server版本能访问128GB的内存,但是PAE的页面调度效率比较低。)
同时,一部分用户数据在不断增长,从高分辨率的数码相机,到HD视频,还有需要使用512MB显存的游戏。科学计算和技术工作站也一直受到32位寻址的限制。
通过把寻址总线扩展到64位,最大的寻址空间可达2的64次方字节,基本上可以说是没有限制了,每个时钟单位可以传送16字节的数据。目前AMD64处理器支持的寻址空间是40位,也就是1TB,虚拟地址空间可达48位,也就是256TB。WinXP x64支持128GB的物理内存和16TB的虚拟内存。Windows的系统缓存由原有32位的1GB增加到64位的1TB。即使是WinXP x64中的32位应用程序,系统也能为他们各自分配4GB的空间。
简单的说,64位克服了老x86架构的寻址范围的限制,虽然这种改善不能直接带来性能上的提升,但做为计算机最核心的部分,这种改进还是非常关键的。
寄存器
实际上,提升性能最关键的因素是x86-64架构中添加的寄存器。x86-64总共添加了8个常规用途寄存器(GPRs), 总数目达到了16。这16组寄存器都能支持64位的数据。同时x86-64还添加了8组128位的SSE/SSE2寄存器,总数目也达到了16。
实际上,性能还于编码的复杂程度密切相关,复杂的程序需要很多嵌套的循环,更多的寄存器可以提供更高的执行效率。
64位Windows操作系统,这些新版Windows在支持现有软件、应用的同时,可以支持更高的内存以及64位的应用。
早期的64位操作系统用户在使用中可能会遇到新操作系统与外设之间一些冲突,这是因为原来的硬件驱动程序在64位计算机上需要重写。
Windows Server 2003 x64版本全貌如下图所示。在64位中使用的32位应用程序都有一个*32的图标,而且所有32位软件都被装到了一个Program Files (x86)的文件夹,在任务管理器中我们可以清楚地看到。IE分为两个版本:32位和64位版本。
Linux是支持x86 64位系统的最早起飞者,在AMD和Intel纷纷发布支持64位计算的处理器产品后,Red Hat和Novell的Linux操作系统都可以支持他们。尤其是SuSE Linux Enterprise Server 9,在发布之时,除了最早采用2.6内核以外,广泛的硬件平台支持也是它的一大特色。