当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于细粒存储器保护的方法和设备技术

技术编号:12855325 阅读:96 留言:0更新日期:2016-02-11 19:54
本申请公开了用于细粒存储器保护的方法和设备。用于细粒存储器保护的设备和方法。例如,方法的一个实施例包括:使用虚拟地址来执行第一查找操作,以标识存储器页面的物理地址,所述存储器页面包括多个子页面;判断对于所述存储器页面,是否启用子页面许可;如果子页面许可被启用,那么,执行第二查找操作,以确定与所述存储器页面的所述子页面中的一个或多个相关联的许可;以及,实现与所述一个或多个子页面相关联的所述许可。

【技术实现步骤摘要】
【专利说明】用于细粒存储器保护的方法和设备
技术介绍

本专利技术总体涉及计算机处理器领域。更具体而言,本专利技术涉及用于细粒存储器保 护的设备和方法。 相关技术描述 虚拟机系统是包括支持一个或多个虚拟机(VM)的虚拟机监视器(VMM)的计算机 系统。虚拟机监视器(VMM)是控制物理计算机硬件并给在虚拟机(VM)内执行的程序呈现 它们正在在真正的物理计算机硬件上执行的假象的软件程序。每一个VM都通常充当由〃 访客"操作系统(OS) (即,由VMM托管的OS)控制的自包含平台,该平台执行时好像它在真 实机器上运行,而不是在VM内。 为实现此模仿,VM内的某些操作(例如,配置设备硬件的企图)必须被VMM捕捉 并模仿,VMM将执行模仿虚拟硬件资源(例如,被模仿的设备)以维持访客OS正在操纵真 正硬件的假象的操作。如此,在虚拟机系统中,从VM到VMM的过渡以及反向过渡将以某种 频率发生,该频率取决于VMM必须模仿的指令和事件的数量。 在虚拟存储器系统中,由软件(〃虚拟〃地址)所生成的存储器地址被硬件转换为 然后被用来引用存储器的物理地址。此转换过程叫做分页,用于执行转换的硬件叫做分页 硬件。在许多虚拟存储器系统中,虚拟到物理地址转换由驻留在存储器中的一组数据结构 (叫做"页面表")中的系统软件进行定义。现代的虚拟存储器系统通常在系统的中央处理 单元(CPU)中包括专门的缓存结构,常常叫做转换后备缓冲器(TLB),该结构存储有关虚拟 到物理地址转换的信息,并能够比存储器快得多地被访问。 当OS停止执行一个进程并开始执行另一个进程时,它通常将通过指示硬件使用 新的一组分页结构,来改变地址空间。这可以使用软件或硬件机制来实现,以使TLB的全部 内容作废或删除。比进程之间的变化更频繁的是进程和OS软件之间的控制的过渡。由于 此,如果TLB在每一个这样的过渡中被作废,则系统性能将受到严重损失。如此,现代的操 作系统通常被构建为不要求地址空间的更改。每个地址空间中的(虚拟)存储器地址的一 个或多个范围被保护,以便只有OS才可以访问那些范围中的地址。 某些虚拟机系统可以支持多层VMM。例如,有时被称为虚拟机扩展(VMX)根的单一 VMM直接控制CPU。此VMX根可以在访客VM中支持本身可以支持访客VM的其他"访客'?ΜΜ。 对于分层的支持可以通过软件、硬件,或两者的组合来提供。 VMM可以在页面级别监视运行时数据结构完整性。即,读/写特权及其他存储器策 略在存储器页面的粒度实现,存储器页面通常是4k字节尺寸。OS内的带内(IB)代理通过 VMX根来配置这些策略。对被监视的页面的写入访问生成虚拟化异常(VE)。利用现有的硬 件,这会导致IB代理对存储器访问者进行检查/列出白名单。由于此架构,假共享的数据 结构(相同4K页面上的数据)可能会导致必须被IB代理蛮力过滤的大量的VE事件。子 页面(小于4K)区域保护适用的使用情况的其他示例是:用于虚拟化的存储器映射的输入 /输出(MMIO)设备存储器区域;用于页面表中的稀疏映射的页面表保护;对VM存储器设立 检查点;以及,支持存储器监视仅限于用于VM自省的4K粒度的应用程序编程接口(API)的 任何VMM架构。 附图简述 结合以下附图,从以下【具体实施方式】中可获得对本专利技术更好的理解,其中: 图IA是示出根据本专利技术的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图; 图IB是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图; 图2是根据本专利技术的实施例的具有集成的存储器控制器和图形器件的单核处理 器和多核处理器的框图; 图3示出根据本专利技术的一个实施例的系统的框图; 图4示出根据本专利技术的实施例的第二系统的框图; 图5示出根据本专利技术的实施例的第三系统的框图; 图6示出了根据本专利技术的实施例的芯片上系统(SoC)的框图; 图7示出根据本专利技术的各实施例的对照使用软件指令转换器将源指令集中的二 进制指令转换成目标指令集中的二进制指令的框图; 图8示出了用于细粒存储器保护的架构的一个实施例; 图9示出了用于细粒存储器保护的一个实施例中使用的更多细节; 图10示出了在一个实施例中在分层表结构中执行的查询; 图11示出了用于细粒存储器保护的方法的一个实施例;以及 图12示出了用64位向量表示读取(R)、写入(W)、执行禁用(XD),以及脏位的实施 例。 【具体实施方式】 在下面的描述中,出于说明目的,阐述了众多具体细节以便提供对以下描述的本 专利技术的实施例的全面理解。然而,对本领域的技术人员显而易见的是,可以在没有这些具体 细节中的一些细节的情况下实施本专利技术的实施例。在其他实例中,公知的结构和设备以框 图形式示出,以避免使本专利技术实施例的基本原理不清楚。 示例性处理器架构和数据类型 图IA是示出根据本专利技术的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图。图IB是示出根据本专利技术的各实施例的要包括在处理 器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构核的 框图。图IA-B中的实线框示出有序流水线和有序核,而任选增加的虚线框示出寄存器重命 名的无序发布/执行流水线和核。给定有序方面是无序方面的子集的情况下,将描述无序 方面。 在图IA中,处理器流水线100包括获取级102、长度解码级104、解码级106、分配 级108、重命名级110、调度(也称为分派或发布)级112、寄存器读取/存储器读取级114、 执行级116、写回/存储器写入级118、异常处理级122以及提交级124。 图IB示出了处理器核190,包括耦合到执行引擎单元150的前端单元130,该执 行引擎单元和该前端单元两者都耦合到存储器单元170。核190可以是精简指令集计算 (RISC)核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又 一选项,核190可以是专用核,诸如例如网络或通信核、压缩引擎、协处理器核、通用计算图 形处理器单元(GPGPU)核、或图形核等等。 前端单元130包括親合到指令高速缓存单元134的分支预测单元132,该指令高速 缓存单元耦合到指令转换后备缓冲器(TLB) 136,该指令转换后备缓冲器耦合到指令获取单 元138,该指令获取单元耦合到解码单元140。解码单元140 (或解码器)可解码指令,并生 成从原始指令解码出的、或以其他方式反映原始指令的、或从原始指令导出的一个或多个 微操作、微代码进入点、微指令、其他指令、或其他控制信号作为输出。解码单元140可使用 各种不同的机制来实现。合适的机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵 列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核190包括(例如,在解码单元 140中或否则在前端单元130内的)微代码ROM或存储某些宏指令的微代码的其他介质。 解码单元140耦合到执行引擎单元150中的重命名/分配器单元152。 执行引擎单元150包括耦合到引退单元154的重命名/分配器单元152和一组一 个或多个调度器单元156。调度器单元156表示任意数量本文档来自技高网...
用于细粒存储器保护的方法和设备

【技术保护点】
一种方法,包括:使用虚拟地址来执行第一查找操作,以标识存储器页面的物理地址,所述存储器页面包括多个子页面;判断对于所述存储器页面,是否启用子页面许可;如果子页面许可被启用,那么,执行第二查找操作,以确定与所述存储器页面的所述子页面中的一个或多个相关联的许可;以及,实现与所述一个或多个子页面相关联的所述许可。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:R·L·萨希塔V·尚伯格G·尼格J·爱德华兹I·欧兹尔B·E·亨特利S·什沃茨曼D·M·杜汉姆A·V·安德森M·勒梅
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1