| 5个要事先考虑的问题
1)为什么我要转移到64-bit 平台呢?
可惜的是,很多在期待64-bit 计算的用户中,没有多少人能够真正知道64-bit
计算究竟能够为他们带来什么,他们只是知道AMD 承诺将提供“更好的性能”。
其中64-bit 计算的最大效益就是消除今天桌面电脑的内存限制,还有带来更快的代码执行效率
。在64-bit 处理器使用64-bit 编译器对代码进行编译的时候,性能会比32-bit的配置有本质上的区别
。虽然说不同应用程序带来的性能增长不同,但基本的幅度是在5-15% 之间 。在今天的操作系统上,如果能够突破4GB
的内存限制,性能的增长将可以看到立竿见影的效果,但对于家庭、应用办公和游戏用户来说,需要使用这样海量的内存还为时尚早
。在64-bit OS 上面运行32-bit 应用程序并不会带来任何的性能增长,相反有时候可能还会获得反效果,造成性能下降。
如果你需要开发全新的应用程序,AMD64 将是非常好的选择,因为它能够同步开发基于32-bit
和64-bit 的程序。但是我们又面队这样的现实,家庭和游戏用户在相当长的一段时间内没有办法使用到64-bit
处理器。从长远的利益来说,工作站和服务器的管理员正在为是否转移到64-bit 平台而争论不休,而由于软件方面的原因,个人市场则需要假以时日
。

Windows XP 64-bit 在默认的情况下使用了物理地址扩展
2)完全肃清了内存的限制
人们在过去对Windows 的最大抱怨就是它糟糕的内存管理,还有不支持大量的内存。也许你也听过吧,Windows
9x 最高仅可以支持512MB 的内存,而32-bit 版本的基于NT 核心的Windows
XP 最高也仅可以支持4GB 的内存。Windows Server 2000 和2003
版本 的服务器、数据中心版本在使用了PAE(Physical Address Extension:物理地址扩展)之后,可以支持高达32GB
的内存。但似乎这不是解决32-bit操作系统内存限制最好的办法(在默认的情况下,这些操作系统的PAE功能是禁止的)。
支持AMD64 的Windows XP 64-bit 版本可以支持高达16TB 的物理内存,相当于16,000GB,简直是恐怖呀。现在64-bit
应用程序可以使用海量的内存,而非32-bit Windows 限制的2GB 。我相信在很长的一段时间内,人们都不会抱怨16TB
的内存不够用了。
当然在操作系统和处理器能够完全使用这些内存之后,硬件就会变成限制了。今天的高端2P
Opteron 系统的主板能够使用高达16GB 的内存,然而由于目前市场上并没有单条的2GB
DDR SDRAM ,因此它最高也仅能使用8GB 内存。4和8-路系统将可能支持更大容量的内存,但如果说在单个系统里面会用到TB
以上内存的话,还需要很长的一段时间。
这里要请大家了解一件事情,一面引起混淆,那就是32-bit 程序运行在Windows
XP 64-bit 版本操作系统的时候,每个进程仅能够使用4GB 的内存。但是这里指的4GB
内存是每个进程专注的内存地址,不需要分享给其它软件或者操作系统。那么,这样目前的32-bit
应用程序使用在64-bit OS 的时候,就是它不是64-bit 代码,都将有可能运行得更加流畅。
3)所有的程序都能够正常运行吗?
这里就是AMD64架构的魅力所在,就像Opteron/Athlon 64 架构可以协同执行32-bit
和64-bit 代码那样,windows XP 64-bit 版本也可以执行其它的软件。你可以在运行64-bit
应用程序的同时,执行32-bit 的应用程序,而其中是全速运行的,没有任何性能损失。很多程序,比如游戏、图形应用程序,程序设计应用;运行在64-bit
XP 版本将比32-bit XP 版本更加流畅 。
也许我们都知道,Intel 的64-bit Itanium和Itanium2 处理器能够同时运行32-bit
和64-bit 的程序,但Itanium 处理32-bit 软件的时候是使用模拟的方式。由于我们没有专门在Itanium
测试32-bit 的软件,因此也不敢斗胆估计其相关的性能,但32-bit 在Itanium里肯定是不可能获得"全速"的性能。
现在Itanium同步运行32-bit 和 64-bit 应用程序已经并非天方夜谈了,我们不用安装特别的指令就可以轻松地执行32-bit
的应用程序。而随着AMD64 的及时发布,目前的32-bit 应用程序都能够得以保留,并得到一定程度的性能提升。
但是一切都并非想象的那么容易,要想允许Windows XP 64-bit 版本运行32-bit
的应用程序,还有一个有趣的概念,这里称作Windows On Windows 64。(缩写为WoW64
)。
WoW64 是在Windows XP 和Windows Server 操作系统上支持AMD64
的技术,它只是简单地把32-bit 函数翻译为64-bit ,以便操作系统能够理解它。但是WoW64
使用的术语变量,使得它犹如是运行在64-bit 变量上面的另外一个32-bit 版本操作系统,其实事实并非如此。WoW64
对于终端用户来说,是完全无缝的,并且如果早前我没有阅读过AMD 的技术文档,我对于它在测试系统中起的积极作用还无从而知呢。
从技术文档里我们可以知道,WoW64 是绝对无缝的,所有32-bit 应用程序在没有任何冲突的情况下能够以优良的状态运行。大家知道,在应用程序和操作系统之间的层,是Microsoft
操作系统的需要,而非AMD Athlon 64 处理器构建的。WoW64 也使用在Itanium
处理器上面,用于32-bit 应用程序。

WoW64 (Windows On Windows 64) 的作用
|