64位系统真的比32位系统快吗?
网友解答: 之所以有64位操作系统,并不是为了能比32位操作系统更快,而是为了可以同时处理更多数据,正如很多人回答的那样,64位系统理论上能支持2^64b的寻址空间,32位系统通常最多只
之所以有64位操作系统,并不是为了能比32位操作系统更快,而是为了可以同时处理更多数据,正如很多人回答的那样,64位系统理论上能支持2^64b的寻址空间,32位系统通常最多只能支持2^32(也就是4GB)的空间。
一个操作系统快不快,取决的因素很多,假设其它条件一样,一个是64位系统+64位处理器,另一个是32位系统+32位处理器,它们的速度取决于处理器的时钟频率和指令集。然而大家都知道,64位处理器是较新的,它本身的速度和指令集都比老旧的32位处理器更有优势,当然,使用64位时,单个寄存器可以保存两倍的数据,比如在寄存器中始终可以添加两个32位数字而不会溢出,这允许一条加法指令比32位加法指令的结果稍微快一点,但这个差距是在整个计算的操作过程中,是非常微不足道的。
64位系统最大的优势在于计算机可以处理更多的内存,因此程序可以将数据保存在内存中,而不是频繁从缓慢的磁盘中读取,这或许是大多数用户看到延迟的地方,当然前提是你的内存要够大,还有刚说过的处理器本身速度上的差异带来的影响。
顺便说下关于系统和内存的常见的错误。
其实32位处理器是可以使用4GB以上内存的,比如Pentium Pro的处理器具有36位物理地址,它就具有64GB(2^36b=64GB)的寻址空间,Intel称之为PAE。
Windows内核也是支持PAE的,但微软使用一种非常粗糙的方式来禁用消费级版本的Windows中的PAE,我们可以修改Windows内核以在Windows中启用PAE,从而也能让32位系统支持4GB以上内存。
另外,32位Windows可以运行16或32位程序,但64位Windows不能运行16位程序,因此,如果需要运行16位程序(特别是Windows 3.x或某些Windows 95程序),则必须使用32位Windows。还有就是32位的CPU就不能用于64位的Windows(因为CPU一次只能处理32bit,而操作系统给你的指令是要处理64bit)。
网友解答:我看了几个回答,回答得都不是那么正确。
目前64位CPU能运行32位软件是因为CPU内采用了兼容32位指令来实现的。这样相当于CPU中有两套硬件,而对于相同晶体管数量和制程来比较的话,32位CPU必然比64位CPU快。
Intel曾经非常激进的认为以后是64位的天下,从而推出了ia64的指令集,但是由于32位已经出现了很长一段时间配的,非常多的软件针对32位写的。所以它败给了AMD的兼容32位x86指令集的x86_64指令集。因为是做了兼容,但是还是有一小部分软件在安装64位系统下不能兼容运行。
当然由于64位CPU配和64位系统后,能使用的内存更多,所以用空间换时间的软件设计方案也会更多,相比于内存紧张的32位系统,当然会更快。