以下文档介绍了Windows 64位和32位架构之间的一些差异,并提供了在使用某些NI软件时应采用的最佳架构建议。
64位架构具有多种优势。主要优势是能够利用更大容量的计算机内存。运行32位Microsoft Windows系统的计算机最多只能支持4 GB的RAM,而64位Windows系统支持的内存上限为8到2 TB,具体取决于操作系统版本(家庭版、专业版或企业版)。如需详细了解不同Windows版本的最大内存限制,请参阅Microsoft网站上的Windows版本的内存限制一文。
由于64位架构可以利用比32位系统更大的物理内存,因而能够为需要在64位硬件上运行应用程序的用户提供更高的性能。可用内存越多,系统性能越高,因为这避免了硬盘驱动器上页面文件的换入换出进程(硬盘驱动器的数据速率要比物理内存和缓存区慢得多)。
除了更高的物理内存外,64位处理器上增加的寄存器也可以提高应用程序的执行速度。
尽管64位操作系统提供了诸多优势,但如果当前可用的大部分软件是针对32位系统而设计的,那么过渡到64位系统可能并不可行或者不是理想选择。迁移到64位架构意味着运行不同的Windows内核,因此安装的任何驱动程序都必须与64位架构兼容。 大多数NI软件和驱动程序都兼容64位架构。 但是,请务必区分64位操作系统兼容性与可以充分利用架构和可用内存的64位原生支持之间的区别。
为了阐明这一区别,NI驱动程序可以分解为两个不同的组件:用户模式和内核模式。驱动程序内核模式组件的架构必须与操作系统的架构相匹配。而驱动程序用户模式组件的架构并不一定要与操作系统架构相匹配。因此,在用户模式下运行的任何软件都可以开发为32位或64位。 大多数NI驱动程序的内核模式组件能够在64位或32位操作系统上运行。但是,只有特定NI驱动程序具有64位用户模式组件。因此,即使驱动程序可以在64位版本的Windows系统上运行,该驱动程序也可能无法充分利用64位架构。
当驱动程序使用的用户模式架构与内核模式架构不同时,软件层会将32位架构转换为64位。 这种转换需要一定处理时间和资源。64位Windows在操作系统内含的名为Windows-on-Windows (WOW64)的子系统中提供了此软件层。该子系统允许32位应用程序在64位环境中运行,但性能会受到一定影响。
Windows-on-Windows子系统可将32位Windows应用程序转换为64位环境。该子系统负责处理因操作系统架构差异而需要进行的许多结构更改。WOW64的主要目的是创建一个32位环境,提供32位Windows应用程序未经修改即可在64位系统上运行所需的接口。尽管这是Windows操作系统中相对轻量级的软件层,但也可能导致性能下降。因此,在32位操作系统上运行32位应用程序的效率更高,因为这不需要Windows-on-Windows转换。
大多数NI驱动程序同时支持32位和64位架构。此外,从LabVIEW 2009版本开始,便提供单独的32位和64位软件版本。这些单独的版本仅适用于英文版的LabVIEW基本版、完整版或专业版软件,且仅支持一部分LabVIEW模块和工具包。 LabVIEW NXG和所有兼容的驱动程序仅与64位系统兼容。
从2011年开始,NI软件的所有新版本均会在其自述文件中说明其与64位Windows和64位LabVIEW的兼容性。NI计划在未来持续监测这一需求并在其他产品中优先考虑该迁移。
如要查看兼容软件的完整列表,请参阅:
参照下图,确定优化应用程序性能的理想Windows架构。