64位技术究竟意味着什么 如果你还不知道64位Windows,那么现在也应该关注一下了。
首先,对64位技术的历史作一个简短回顾:64位技术—即使是对Windows来说—也并不新鲜。Unix和OpenVMS使用64位技术已经有好几年了。Digital Equipment公司(DEC)在90年代中期就有在64位Alpha芯片上运行Windows NT系统的Alpha服务器了。
英特尔引进DEC的技术开发了名为IA64的Itanium芯片,我们原来认为那就是支持64位Windows的平台。后来,英特尔和AMD开发了x64,它是简单的x86上带有64位扩展编址的32位处理器。
这两者之间的不同之处在于Itanium是全新的结构。尽管x64系统不具备Itanium系统的高端特性和可扩展性,但它对大多数应用来说也已经绰绰有余——并且它的价格要低廉得多。尽管也有低端的Itanium系统,但x64仍然由于其价格优势大幅度取代了Itanium的位置。
64位技术究竟意味着什么? 那么,64位技术究竟有什么特别之处呢?首先,64位对内存分配有好处,比如更快的I/O。下面的表格比较了x86,x64和IA64之间的内存分配。
32位(x86)
支持的物理内存 |
可编址物理内存 |
内核模式地址空间
(对操作系统来说) |
用户模式进程可用内存 |
64GB |
4GB* |
2GB |
2GB** |
*可采用boot.ini文件中的PAE开关和基于AWE(Address Windowing Extentions)
的应用程序扩展到实际物理内存大小。
**可采用boot.ini文件中的/3gb开关扩展到3GB
64位(x64)
支持的物理内存 |
可编址物理内存 |
内核可用内存 |
用户模式进程可用内存 |
256GB |
8TB* |
6657GB |
8192GB |
*理论上64位地址空间是16艾(百万兆)字节—这正是Windows系统所实现的。
64位(IA64)
支持的物理内存 |
可编址物理内存 |
内核可用内存 |
用户/应用程序可用内存 |
3TB-4TB |
24TB |
16TB |
8TB |
需要注意的是,这些表格仅用于比较。例如,表格中不同的数值都可以适用于Itanium,它们有可能都是正确的。
这个技术的实现确实是64位平台的限制因素。硬件总线、DIMM(双内联内存模块)和其它组件决定了内存限制。
x86的限制在体系结构方面。在x64和IA64里,技术实现则是限制因素。即使我们可以让x86技术采用更大的内存模型,情况也会变得很复杂。而此时,64位技术能编址的内存空间已经多于系统能实现的了。
可编址内存很重要,因为一旦你用尽物理内存,内存管理器就会启动磁盘中页面文件的存储指令。页面文件与内存之间数据转移—称为内存分页或交换—对性能有影响。
最好的情况是把所有程序加载到内存。在x86中,除非是很小的应用程序,这不可能实现。64位技术大大扩展了这些限制。