Itanium (IA64) 处理器的地址空间

Itanium (IA64) 处理器的地址空间

我最近了解到,AMD-64 (x86_64) 处理器虽然理论上能够寻址 64 位地址空间,但实际上只能寻址 48 位。显然,AMD 并不认为完整的 64 位地址空间在短期内是必要的或实用的。

来自维基百科文章

AMD64 架构定义了 64 位虚拟地址格式,其中低 48 位在当前实现中使用。这允许最多 256 TB(2 48字节)的虚拟地址空间。

事实上,这个有限的地址空间有时实际上会被程序员“利用”,他们会在指针的高 16 位中塞入额外的信息。(例如,tagged_ptr在 Boost C++ 库中)。

我正在尝试找出这种做法是否适用于其他 64 位架构,例如 IA64 和 PowerPC。我在 Google 上搜索了一段时间,但找不到任何相关信息。

(很少使用的) IA64 架构或 PowerPC 架构在实践中是否也只有 48 位地址空间?

答案1

不,正常情况是所有 64 位都用于地址,即使其中许多位始终为零。

只有 AMD64 的情况不常见,因此值得一提的是,仅使用 48 位。

IA-64

它是一种 64 位寄存器丰富的显式并行架构。基本数据字为 64 位,可按字节寻址。逻辑地址空间为 2 64字节。

相关内容