64位会带来软件变革?
IT商界
前奏:64位计算机正式登陆
苹果公司联手IBM公司于近日推出了号称全球第一台的64位个人电脑Power Mac G5;而另一边PC市场上,欢喜冤家Intel和AMD公司之间一场关于64位电脑的大拼杀正在迅速全面地展开,究竟会鹿死谁手。在斗法中Intel公司拉拢了HP公司准备利用IA-64体系概念用于64位电脑;而AMD公司则高举兼容大旗,推出能全面兼容X86体系的X86-64体系。
精明的微软则再次打出中庸牌,准备推出分别支持Intel公司IA-64体系和AMD公司X86-64体系的两个版本的64位Windows操作平台。一时间,刚刚从CPU频率之争平静下来的电脑世界又沸腾了起来。但我们在关注的同时也产生了疑问,“64位的迷雾”也就随之悄然而降。究竟64位CPU或者更确切点讲64位的计算机体系是什么?64位的Windows是什么?为什么会有两个版本的64位Windows操作系统?64位的应用软件又是什么?它能给我们的现在的软件架构带来怎样的变革?……
解惑:64位计算的软件变化
计算机的运行快慢取决于CPU对二进制代码0和1“消化”的快慢。在相同的时钟频率下,每次CPU的处理数据越多,则计算机运行速度就越快,性能就越好。现在的32位计算机的CPU每次只能处理32位二进制代码,即4个字节,64位计算机的核心是64位的CPU,它每次可以处理64位二进制代码,即8个字节。所以在相同时钟频率下,64位计算机比32位计算机的处理能力提高一倍,意思就是如果64位计算机配合64位软件系统,计算能力比32位软件系统的计算能力要强。
此外64位CPU的另一个性能提升表现在寻址空间以指数方式暴长。32位CPU共有32条地址线,只能管理4GB的内存,而64位CPU有64条地址线,可以寻址到16TB的内存,即1600亿亿字节,实在是大得超乎想象。基于64位CPU所拥有的这些超强能力,为那些需要处理大量数据(超过4GB甚至更多的)的数据库和复杂的CAD软件用户提供了更快更好的应用运算能力,因为系统可以一次把数据全部读入内存,每当用户需要的时候,数据结果就会立刻算出,不用为慢吞吞地读硬盘而浪费时间。
另外,浮点和SIMD运算(单指令多数据流技术)也能从64位处理中受惠。64位CPU本身就能计算64位浮点数格式(加倍精确度可达小数点15位)。有了64位CPU我们可以用整数来处理很多现在需要浮点解决的数学问题,这样会极大地提高这方面的性能。众所周知的动画运算需要消耗大量的CPU效率,以前电子游戏机Nintendo 64和Sony的PlayStation2早就采用IBM的64位Power芯片。所以,当64位运算进入桌面后,家庭娱乐和多媒体渲染软件必然会有一个新天地。
当然,64位计算机并不是有了个64位的CPU就行了,它还需要有完整的配套硬件体系和相应的软件系统才能构成。其实早在上个世纪90年代初期,64位计算机就已经诞生。但64位计算机一直都只是大型服务器、工作站的代名词。而运行在这些64位计算机上的系统平台基本都是一些专有的UNIX、Linux系统。目前的64位桌面电脑大体可以分为3大体系:一是苹果公司的Power Mac G5系列(已面市),一是Intel公司IA-64体系,还有就是AMD公司X86-64体系。苹果公司使用的软件系统自然是Macintosh,而后两位则不得不仰仗Windows的鼻息。
斗争:64位新市场提前备战
要让用户能够真正体验64位计算的快感,是不能缺少64位软件的。然而这次64位Windows的版本之争的主角不再是微软内部的不同平台,而是Intel和AMD。原因是Intel公司的IA-64体系和AMD公司的X86-64体系是根本不同的两种体系,这和原先32位世界里大家都是X86体系的情况完全不同了。这样将来使用不同版本或者更确切点讲是选择不同体系的64位计算机,我们就要面对不同的境遇。
由于IA-64体系是全新的架构,它不兼容以前的X86体系,也就是说原先运行在32位计算机上的不论是Windows还是应用程序不能运行在IA-64体系的计算机上。这点的确令人很沮丧,而且目前看来要解决还不是件简单的事情。首先操作系统要从底层做调整来适应新的64位指令体系,其次需要有运行在新操作系统上的各种编译平台,然后就是将所有的软件重新编译甚至还要进行代码级的修改后重新发布,这样看来简直就是一项不可能一蹴而就的任务。但鉴于Intel公司一贯强悍的市场作风,加上微软等软硬件厂商的支持,说不定会带来一场技术拉动市场的经典风暴。但就笔者个人观点,Intel公司是在冒险走钢丝。
另一方面,如果选择了AMD的X86-64体系,则上面的问题都能得到很好的解决。X86-64是X86的延续,它提供了全面支持16位、32位和64位的能力。据网上的一篇透露了新版本Windows的报告上称,在AMD的Opteron(AMD推出的针对服务器市场的64位处理器)机器上,软件的性能“令人惊异”。据称只把原32位Office和其他微软的软件放在机器上,用64位Windows运行,能感觉到性能的显著提高。可以看出微软似乎对AMD的平稳方式而不是用激进的方式推行64位的Windows操作系统更感兴趣。毕竟在32位系统上有数目惊人的应用程序。
显而易见地,当用户选择64位计算机的时候,他们首先关心的是否能够在新的系统下使用那些旧的程序。另一方面在现有的API(Windows应用程序编程接口)上,加入对64位数据的支持,这样或许更能满足目前对64位系统的最迫切的需求。
问题:64位系统,现在我们需要吗
在预测未来的时候,人们往往习惯回头看看历史。可以说32位取代16位非常成功。当然这和当时的Intel和微软高举兼容大旗实现从16位到32位的平稳过渡是密不可分的。而笔者认为最重要的还是微软的Windows操作系统特别是Windows 9X的推出,充分发挥出了32位系统的潜能。而事实上现在32位系统和64位系统之间的差距远没有当年的16位系统和32位系统之间的差距来得大。
最近有专家评论,以目前的技术,还远没挖掘出32位系统的全部潜力。另外64位系统现在还很缺乏足够出色的表现来吸引用户,很重要的原因就是针对64位系统的应用软件实在是太少。所以目前我们还无法体会到64位应用的乐趣。另外对于大多数用户和应用程序来说,对超大内存的需要并不迫切,而且像Windows XP这类的操作系统,也只为应用程序提供了2GB的逻辑寻址空间。如果选择64位系统只是为了简单获得更快的运算能力,那恐怕是不会有多大吸引力的。
相关链接
目前的64位操作系统有
用于大型机或工作站的各种专有UNIX和Linux系统,例如Compaq公司的Tru64 Unix及由此衍生出来的中国计算机软件与技术服务总公司推出的COSIX64 V5.0,还有HP、SUN公司都有自己的64位操作系统。
另外苹果公司最新推出的支持“G5”系列的OS X系统,Mac OS X Jaguar版本。
微软即将推出64位版本的Windows XP与Windows Server 2003操作系统。
编后:经过10多年的发展,32位系统步入了成熟阶段,性能提升越来越缓慢。计算机在未来全面转向具有更大的内存寻址空间、更超强的计算能力的64位系统是大势所趋。
有专门机构曾经预测,目前网络的发展带来的海量数据增长是惊人的,如果按照目前的速度,最多到2005年,就将超过32位计算机系统所能支持的规模。现在在金融、民航、证券、科研等需要进行海量信息处理的领域,早已经采用了64位系统。
很明显,64位计算迟早会一统天下,但问题是,AMD在32位计算还是市场主流的今天推出个人版的64位处理器,时间上是否过于超前?
