【发布时间】:2014-11-09 05:38:00
【问题描述】:
在阅读英特尔手册时,我遇到了以下情况:
在支持 Intel 64 架构的处理器上,
IA32_SYSENTER_ESP字段和IA32_SYSENTER_EIP字段都必须包含一个规范地址。
什么是“规范地址”?
【问题讨论】:
-
我从未听说过,但 Google 向我展示了 this - 不知道这是否是您想要的。
-
我的猜测是物理内存地址,而不是页表翻译的地址。
-
@marko:不,规范或不仅适用于虚拟地址。使用 4 级页表 (Why in 64bit the virtual address are 4 bits short (48bit long) compared with the physical address (52 bit long)?),只有足够的空间来转换 48 位,并且 canonical = 正确符号扩展为 64。IceLake I 中将添加一个添加第 5 级页表选项的扩展想想,将虚拟地址空间扩大到 57 位。使用非易失性 DIMM,对巨大的虚拟和物理地址空间的需求正在增长。
标签: assembly x86-64 intel memory-address virtual-address-space