在书中,我读到以下内容:



我的期望是,如果它是64位处理器,则地址空间也应该是2 ^ 64。

所以我想知道限制的原因是什么?

最佳答案

因为这就是所有需要的东西。 48位为您提供256 TB的地址空间。好多啊。您不会很快看到一个需要更多资源的系统。

因此,CPU制造商采取了捷径。他们使用的指令集允许完整的64位地址空间,但是当前的CPU仅使用低48位。另一种选择是浪费晶体管来处理更大的地址空间,这是多年以来不需要的。

因此,一旦我们接近48位的限制,就只需要释放处理全部地址空间的CPU即可,但是它不需要对指令集做任何更改,也不会破坏兼容性。

关于x86-64 - 为什么x86-64系统只有48位虚拟地址空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6716946/

10-10 04:50