在我的电脑上,它在64位处理器上运行32位操作系统。所以安装的所有应用程序都是32位,我的计算机有2GB RAM。如果我在保持相同的32位应用程序的同时安装64位操作系统,这会改善性能吗?还是有任何不利之处?
答案 0 :(得分:2)
讨论32位和64位软件意味着开发此类软件是为了利用具有32位或64位寄存器大小的CPU。
寄存器是处理单元直接使用的存储器(不是RAM)的微小部分,用于临时保存操作结果(变量种类),例如,当两个数字相加时,ALU从两个寄存器读取,执行操作并将答案写入另一个寄存器。这些寄存器越大,它可以处理的值越大。 32位处理器的寄存器数可以处理最大32位大小的值,而64位处理器可以处理双倍大小的数字,而不是基于32位的处理器, 导致2 ^ 32个更多值。
32位操作系统是在具有32位CPU寄存器的机器上执行CPU操作的操作系统。 64位操作系统在64位处理器上运行良好,但在32位处理器上运行不正常,因为它们的寄存器对于这样的操作系统来说太小了。
当一个程序在一个操作系统上运行时,32位应用程序将在64位操作系统上运行(好吧,大部分时间都是这样),尽管它们只使用他们需要的任何CPU寄存器的一半,因为该程序是设计的不处理大于2 ^ 32位的值:这意味着在64位操作系统上运行的32位应用程序将运行而不会获得任何特定的性能提升。同样,64位应用程序永远不会在32位操作系统上运行,因为它需要比实际可用资源更多的资源。
希望我足够清楚和正确,多年前我研究过处理器架构......
答案 1 :(得分:1)
这适用于x86 / x86_64上的64位应用程序:
因此,选择可能取决于您决定使用哪种应用程序。
答案 2 :(得分:0)
64位的意思是应用程序可以使用超过2GB的虚拟内存。如果你有超过4GB的RAM并且你的应用程序需要使用超过2GB的内存(sql server!),那么可能会有一个性能内存(因为它可以在内存中存储更多页面而不是从磁盘读取它们)
如果不是这种情况并且你拥有相同数量的内存,那么你将无法获得性能提升,并且可能会略微减少(假设你在这里的Windows上)来处理在64位上运行的32位应用程序bit o / s有一个复杂的重定向系统(应用程序要求system32并发送到syswow64) - 其中一些很简单但有些像com注册查找可能导致许多reg打开引擎盖(做一个regopen for一个不存在的clsid,看看kernel32使用procmon代表你做了多少!)。
因此,除非你有一个非常具体的用例,听起来你没有,它不会更快