我所知道的唯一区别是64位和32位处理器的寄存器大小分别为64位和32位,而且在64位处理器中地址为64位。除此之外,这两者之间还有其他的区别吗?
我所知道的唯一区别是64位和32位处理器的寄存器大小分别为64位和32位,而且在64位处理器中地址为64位。除此之外,这两者之间还有其他的区别吗?
x86_64拥有比x86更多的寄存器,因此可以在CPU上执行更多的工作,而不是不断地从内存中获取位。此外,x86_64保证CPU至少支持SSE2,所以编译器知道它可以针对其进行优化。
这些是关键的差异,但这些差异有许多影响 - 例如,由于地址更大,您可以有效访问的内存量更大 - 传统上,32位操作系统的内存限制在约4GB左右。
2 ^ 32 = 4294967296位
,相当于4GB。2 ^ 64 = 18446744073709551616位
,相当于17179869184 GB。提取自:这里。
物理地址扩展(PAE)是一种功能,允许x86处理器访问大于4 GB的物理地址空间。这可以达到64 GB。要使用PAE,操作系统必须支持此功能。所有主要的操作系统都允许使用PAE,包括Windows。
因此,内存访问不能真正作为32位和64位操作系统之间区别的依据。
另一方面,现在进入市场的几乎所有处理器都具备64位能力,因此它实际上取决于您的操作系统允许多少内存访问。