尽管数据总线大小为 64 位,但现代 AMD64 兼容 CPU 的地址总线大小在一段时间内是 48 位,这允许使用 48 位长的虚拟内存地址,最大可寻址虚拟内存为 2^48 = > 256 TB。
Intel 表示[1],自从 Ice Lake CPU 架构开始,他们的 CPU 支持具有 57 位长虚拟内存地址的 5 级分页。 Linux 从 Kernel 4.14 [2] 开始支持这一点。
这是否意味着支持具有 57 位长虚拟内存地址的 5 级分页的 CPU 实现了 57 位长地址总线?
我的问题的背景是,大约10-15年前,了解现代CPU的地址总线和数据总线大小不是问题,但大约十年后,找到有关地址总线的信息并不容易尺寸。
[2]https://www.kernel.org/doc/html/latest/x86/x86_64/5level-paging.html
答案1
不,它们(最多)实现 52 位地址总线。 4 级和 5 级分页在 4.5 节中描述英特尔® 64 和 IA-32 架构软件开发人员手册,第 3A 卷:
5级分页将57位线性地址转换为52位物理地址。
据我所知,当前的 Intel CPU 每个插槽最多支持 6TiB RAM(参见示例8362),小于 2 43;所以我怀疑,即使地址总线覆盖的不仅仅是物理内存,CPU上的地址垫也少于52个(在套接字4189中)。