何时需要64位计算?

互联网 | 编辑: 2003-11-10 00:00:00编译

什么时候需要64位?那得先看看,理论上,64位运算的好处在哪里?

4GB以上内存寻址

4GB内存是什么概念呢?呵呵,没有人认为自己有迫切的需要,当然没有需要。多数主板支持2GB或者更大的内存,但,能用够这些内存的人很少很少。然而4GB呢?那是目前32位操作系统可以分配给单个应用程序的最大内存(部分操作系统只达到2GB或更少)。实际上,稍微了解工作站、服务器的人就知道,32位系统早已突破4GB物理内存的限制。通过物理地址扩充(Physical Address Extension,PAE)以及企业内存架构(Enterprise Memory Architecture),Windows 2000/XP Advanced Server能够寻址8 GB,而Data Center Server版甚至达到64 GB。

当然,32位系统访问超过4GB的内存时效率并不高。我们将话题退回到4GB。什么软件需要4GB,这里讨论的是个人用户使用的软件。4GB的容量对于软件而言都显得太大了。当然,软件运行所产生的数据会比软件自身庞大许多,这在图形图像处理软件和3D游戏上经常发生。对这些软件而言,数据就像桌子上的杂物,无穷无尽,多大的桌子都能摊满。这就带来两个问题:其一,对使用桌子的人而言,他的手有多长(软件的寻址能力);其二,将杂物放在桌面上的效率能比放到抽屉里高多少,其中是否有一个平衡点?

很显然,64位的推广者们会强调手长的必要性,非常容易理解,也没有必要重复。第二个问题就非常挠头了。事实证明,巨大而凌乱的桌子通常被认为是主人管理不善。实际上,没有人愿意将杂物放在桌子的边缘,在到达这个临界点之前,多数人会主动收拾收拾。这也是任何一个训练有素的程序员都懂得的道理,而且,在他们的脑海中,桌子的边缘不是由理论决定,而是由市场决定。因此,回顾历史,我们就可以看到,当主流的桌子是n时,我们使用2n大的桌子就已经很爽,而4n带来的效果却不甚明显,一贯如此。128MB时,我们只要有256MB就很幸福;目前的主流在256MB和512MB之间徘徊,那幸福的定义是512MB~1GB……4GB的桌子什么时候才能归为幸福?

摩尔定律的周期是18个月,即使内存一年翻一番(不考虑技术和价格因素),即使现在“小康”的标准已经达到1GB,4GB也是两年之后的事情。

笔者个人认为内存容量要实现这样的突破,起码得等到2005年。2004年内存的闹腾重点是升级至DDR2,而且,这个迁移进程还受到价格因素的束缚,要实现规格和容量的双重跃进并不现实。到2005年,DDR2平台稳定,内存才开始新一轮的量变。

统一架构

这是普及64位最伟大的理由。需要使用64位运算的服务器有限度,但是,我们有没有必要让它们孤立?说白了,统一架构的意思就是,同一组织内部的32位运算的PC和小型服务器没有必要与64位服务器割裂,为其中任何一台电脑准备的软件可以在其他任何平台上运行,这样的组织和升级会非常非常的平滑。

但这里有一点点漏洞。硬件与软件发展的剪刀差非常严重,64位CPU提前进入桌面便是例子。我们是打算让PC兼职服务器,还是打算让服务器将来“堕落”成PC?在64位的硬件环境真正能够普及之前,软件的通用性有必要么?另外,即使使用同一开发工具,就可以开发从32位桌面运算到64位服务器,如同杀猪刀不但可以杀猪,也可以杀牛,更可以杀鸡——有多少商业机构愿意这么做?指定的应用有对应的硬件(不仅仅是CPU)和专用的软件,这到底是一种无奈,还是一种需要?实际上,软件平台的混合和割裂,比硬件平台可怕得多。不同平台之间流动的其实只是数据,而不是代码。在PC上运行Windows XP Advanced Server,仅仅是娱乐。

剪刀差仍然存在

对于现行的任何硬件,我们都可以找到让其精疲力竭的软件和应用。但关键的问题还是,有多少人、多少事情,在普遍意义上能够实现这一点。微软的操作系统被称为臃肿的怪物,可是,微软各代软件对硬件的需求呈线性提高,而当前硬件的发展则是非线性的。这就是前面所说的剪刀差。64位便是例子。

反过来想想,真正的64位应用意味着什么?更长的指令意味着更长的代码,也就意味着更大的内存容量和带宽的占用,对硬盘也一样。如果用户不知道什么时候能拥有4GB内存、不知道双精度浮点为何物,我们有没有勇气让他们知道,64位指令消耗了多少内存带宽?或者,Ureal的64位版比32位版快多少?

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑