为什么32位架构不使用两个寄存器来存储等于64位的地址并且可以使用更大的RAM空间

问题描述:

我只是深入研究了32位和64位处理器,并发现一个令人满意的答案,即32位机器最多只能存储2^32个寄存器,因此最多只能使用4GB左右,因为它只能跟踪最大数量的整数。为什么32位架构不使用两个寄存器来存储等于64位的地址并且可以使用更大的RAM空间

但我想知道,为什么不使用两个寄存器来存储类似于存储一个非常大的数字为1000000000000.

+0

有机器可以做到这一点。它只是非常缓慢 – Vality

时如何使用两个寄存器地址你可以做到这一点使用像LONG数据类型。这只会溢出到另一个寄存器。唯一的区别是访问速度和你对这些值所做的操作不是标准的,并且比64位机器需要更多的计算时间。

考虑在32位机器中增加2个LONG。然后,ALU仅适用于32位值,因此它必须单独执行,这会导致大量不必要的读取和存储。