【技术实现步骤摘要】
具有元数据位的64位虚拟地址和不会由于元数据位的非规范值而失败的规范性检查
[0001]本文中所描述的实施例总体上涉及数据处理。具体而言,本文中所描述的实施例一般涉及处理器中的存储器寻址。
技术介绍
[0002]虚拟存储器是一种通常采用的存储器管理技术,其提供对计算机上可用的实际物理存储位置的抽象并典型地用于创建存在相比于实际上可用的更多的实际物理存储位置的假象。当使用虚拟存储器时,软件使用虚拟地址来访问存储器中的数据。这些虚拟地址包含指向或指示数据的经虚拟化的位置的地址或值。这些虚拟地址有时被称为指针,或者在一些指令集架构(例如,x86)中被称为线性地址并广泛地表示逻辑地址而非数据的实际物理地址。使用地址转换将这些虚拟地址转换或变换为指向数据被存储在其中的实际物理存储位置的物理地址。
附图说明
[0003]通过参考以下描述以及用于说明实施例的附图,可最佳地理解本专利技术。在附图中:
[0004]图1是采用X位规范形式的64位虚拟地址、示例48位地址空间、以及示例57位地址空间的框图。
[00 ...
【技术保护点】
【技术特征摘要】
1.一种处理器,包括:解码电路,用于对存储器访问指令进行解码,所述存储器访问指令用于指示一个或多个存储器地址操作数,所述一个或多个存储器地址操作数用于具有地址生成信息和元数据;以及执行电路,与所述解码电路耦合,所述执行电路用于:基于所述一个或多个存储器地址操作数来生成64位虚拟地址,所述64位虚拟地址具有用于指示所述64位虚拟地址与用户级对应还是与管理程序级对应的位63、开始于位0的用于存储从所述地址生成信息生成的地址的X位地址字段、以及用于存储所述元数据的一个或多个元数据位;以及对所述64位虚拟地址执行不会由于所述一个或多个元数据位中所存储的所述元数据的非规范值而失败的规范性检查。2.如权利要求1所述的处理器,其中,所述一个或多个元数据位包括从所述64位虚拟地址的位62到位X的元数据字段。3.如权利要求1所述的处理器,其中,所述执行电路用于生成具有多于八个的元数据位的所述64位虚拟地址。4.如权利要求1所述的处理器,进一步包括用于存储一个或多个控制位的一个或多个寄存器,所述一个或多个控制位用于控制所述一个或多个元数据位的多个不同的可能数量中的一个数量。5.如权利要求4所述的处理器,其中,所述一个或多个元数据位的所述多个不同的可能数量包括六个元数据位和十五个元数据位。6.如权利要求1所述的处理器,其中,用于执行所述规范性检查的所述执行电路用于至少检查所述位63和位(X
‑
1)的规范性而不检查所述一个或多个元数据位的规范性。7.如权利要求1所述的处理器,其中,所述执行电路用于不检查位[62:X]中的任何位的规范性。8.如权利要求1所述的处理器,其中,所述执行电路用于在执行所述规范性检查和后续的地址转换之前使所述一个或多个元数据位规范。9.如权利要求1至8中任一项所述的处理器,进一步包括用于存储用户级元数据位控制的一个或多个寄存器,所述用户级元数据位控制用于控制当所述位63为零时所述一个或多个元数据位的数量而不论当前处理器特权级别如何。10.如权利要求1至8中任一项所述的处理器,进一步包括用于存储用户级元数据位控制的一个或多个寄存器,所述用户级元数据位控制用于控制所述用户级的所述一个或多个元数据位的数量,其中,即使在所述处理器当前被配置成使用X位地址宽度时,所述用户级的所述一个或多个元数据位的数量也被允许是多于(64
‑
X)位的。11.如权利要求1至8中任一项所述的处理器,进一步包括用于存储用户级元数据位控制的一个或多个寄存器,所述用户级元数据位控制用于控制所述用户级的所述一个或多个元数据位的数量,其中,即使在所述处理器当前被配置成用于使用57位地址宽度时,所述用户级的所述一个或多个元数据位的数量也被允许是多于6位的。12.如权利要求1至8中任一项所述的处理器,其中,所述执行电路包括:地址生成电路系统,所述地址生成电路系统用于生成所述64位虚拟地址;
用于防止所述规范性检查由于所述一个或多个元数据位中所存储的所述元数据的所述非规范值而失败的电路系统;以及规范性检查电路系统,所述规范性检查电路系统用于对所述64位虚拟地址执行所述规范性检查。13.一种由处理器执行的方法,所述方法包括:对存储器访问指令进行解码,所述存储器访问指令用于指示一个或多个存储器地址操作数,所述一个或多个存储器地址操作数用于具有地址生成信息和元数据;基于所述一个或多个存储器地址操作数来生成64位虚拟地址,所述6...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。