“早熟”的64位技术

硬件新主张

从2003年9月26日AMD正式发布Athlon 64处理器以来,64位计算功能登上PC平台已经三年有余,然而配套的操作系统以及应用程序却迟迟未能普及。随着CPU主频的不断提高和双核技术迅速普及,我们似乎已经遗忘了64位计算功能。尽管64位版Windows Vista近在咫尺,可是我们对于64位的美好幻想还剩下多少呢?

64位陷入尴尬:软件支持力度不足

64位计算平民化的时代已经来临。和以前8位向16位跃进、16位向32位跃进耗时十几年的情况不同, 64位CPU推出没几年,就出现了64位的Windows XP和64位的Windows Server 2003,而64位版本的Windows Vista也近在咫尺。但是让所有拥有64位CPU的用户感到非常郁闷的是,64位操作系统已经推出很长一段时间,而真正的64位应用软件却少得可怜,这直接导致大量64位CPU依然工作在32位操作系统之下,64位成为一个空有其名的壳子。

我们没有任何理由去埋怨微软,因为至今还可从微软网站注册并下载限制试用120天的Windows Server 2003 64bit。但是,究竟是什么束缚了64位技术在PC平台的发展呢?可以看出,软件开发商并不买64位技术的账,因为64位与32位的兼容只是硬件技术的兼容,软件技术的兼容根本无从谈起。

3-d10-1-1.jpg
AMD于2003年首推64位CPU

对于软件开发商来说,兼容性是始终要考虑的问题。既然现在还有大量32位CPU存在,那么就不得不考虑只推出32位应用程序。如果强制采用64位CPU的代码编写方式,肯定会失去大量客户,这是所有软件开发商都不愿意看到的局面。不过随着时间的推移,当那些32位CPU彻底退出历史舞台,64位CPU占据90%以上市场份额时,不用AMD和微软鼓动,追求更佳性能表现的软件开发商也会主动投入64位时代的怀抱。

关注核心问题:64位技术优势到底在哪?

如今的64位CPU并不会出现运行32位程序性能下降的现象,那么实际上64位又有多大的好处呢?这是很多读者都十分关心的话题。相关的测试结果已经铺天盖地,比较明显的是:仅有操作系统支持64位是远远不够的,应用程序也必须支持64位技术才能让系统发挥最大的性能。在Windows XP Professional x64操作系统中,运行普通的32位应用程序时几乎看不到任何性能提升,而一旦运行专门为64位指令优化过的64位应用程序时,测试结果普遍都能够取得10%左右的提升。

3-d10-1-2.jpg
硬件平台的64位与32位双兼容并不等于软件平台双兼容

要理解64位CPU,就要明白64位的含义。64位是指操作数和指令,64位CPU的操作数最高可达64位,因此存放操作数的通用寄存器(GPR)也是64位的。与32位CPU相比,64位CPU对于提高内存访问效率以及缩短周期计算中的等待时间都是大有帮助的。当然,由于64位通用寄存器的存在,CPU的内存寻址范围也大幅扩展,这也是当前服务器领域普遍依赖于64位技术的原因之一。但是,这一技术优势也让很多人误以为PC平台的64位CPU只能起到扩展内存寻址范围的作用,对于性能提升并无帮助,这是一个认识上的误区。

尽管Windows XP以及Windows Server 2003都有64bit版本,无奈的是,软件开发商还没有垂青64位技术,而微软的支持力度也稍稍有些不足。现在,Windows Vista的推出可谓是一个难得的契机。在Windows Vista上,64位CPU能否表现优异,软件开发商会否给予更多的关注,这是64位CPU能否“平反”的关键。

写在最后:给64位技术一点时间

回想当年的386处理器,16位向32位的转变是如此艰难。而如今计算机应用的普及化程度更高,其转变自然更加困难。Intel原本的设想是“回避”问题,选择合适的时机来强推。虽然AMD的64位策略打乱了Intel的计划,但应用软件商的合作不力却是64位技术发展的一个障碍。我们现在看到的64位技术仅仅是一锅“夹生饭”,在还没发展到最高峰的时候,给它一点成熟的时间,相信64位技术会给我们一个满意的答案。