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

回收地址翻译数据结构的现有字段以扩展存储器访问控制制造技术

技术编号:2871226 阅读:192 留言:0更新日期:2012-04-11 18:40
一种方法,包括:    确定需要修改活动地址翻译数据结构的内容;以及    在修改所述活动地址翻译数据结构中的条目以与访客地址翻译数据结构中的对应条目保持一致时,避免重写所述活动地址翻译数据结构中条目的一部分,其中,所述活动地址翻译数据结构中的条目的所述部分包括至少一个访问控制指示符。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及存储器访问控制,更具体地说,本专利技术涉及回收(reclaim)地址翻译数据结构中的现有字段以扩展对存储器访问的控制。
技术介绍
计算机处理器访问系统存储器以获取或存储系统存储器中的数据。具体地说,处理器使用存储器中数据的物理地址以标识并访问数据。然而,数据存储在存储器中的物理地址并不是处理器在内部操纵期间用来索引数据的地址。相反地,根据程序指令,处理器为正在被处理的数据分配了虚拟地址。因此,存储器访问经常需要将虚拟地址翻译成物理地址。传统的地址翻译机制一般基于翻译后援缓冲器(translation lookasidebuffer,TLB),这是一种处理器内的结构,用作以前处理过的地址翻译的高速缓存。例如,在32位Intel体系结构的处理器指令集体系结构(ISA)(以下称为IA-32 ISA)中,地址翻译由TLB和页表层级结构(page-table hierarchy)控制。被处理器的控制寄存器CR3所引用的页表层级结构是一种翻译数据结构,当允许调页时,其用于将虚拟存储器地址(在IA-32 ISA上下文中也被称作线性存储器地址)翻译成物理存储器地址。页表层级结构包括页目录(PD)、一组页表(多个PT)和多个页帧(PF)。一般地,虚拟存储器地址到物理存储器地址的翻译开始于使用虚拟地址的高20位(对4KB的页)或高10位(对4MB的页)来查找TLB。如果找到了匹配项,就将包含在TLB中的物理页帧的高位与虚拟地址的低位相连接,以形成物理地址。如果没有找到匹配项,处理器就查询页表层级结构,以确定虚拟地址到物理地址的翻译,然后就在TLB中缓存这一翻译。PD和PT中的每个条目一般都包括各种字段,所述字段控制存储器页的可访问性。这些字段的示例包括当前(P)标志,其表示被该条目所引用的页是否有效,用户/管理者(U/S)标志,其基于特权级来控制对该条目所引用的页的访问,以及读/写(R/W)标志,基于访问类型(即读或写)来控制访问。
技术实现思路
本专利技术描述了一种方法和装置,用于回收地址翻译数据结构中的现有位,以扩展对虚拟机环境中的存储器访问的控制。通过本专利技术提供的方法和装置,地址翻译数据结构中的现有字段可以多种方式而被解释和使用,而不会丧失通用性,从而扩展了对虚拟机环境中的存储器访问的控制。附图说明在附图中以示例性而非限制性的方式图示了本专利技术,其中相同的标号指向类似的元件,其中图1图示了虚拟机环境的一个实施例,本专利技术可运行于其中;图2是虚拟TLB系统的一个实施例的方框图;图3是以下过程的一个实施例的流程图,该过程用于在虚拟机环境中回收地址翻译数据结构中的现有字段,以扩展对存储器访问的控制;图4是在IA-32 ISA中支持地址翻译的虚拟TLB系统的一个实施例的方框图;并且图5图示了用于IA-32 ISA的传统页表层级结构中的页目录条目(PDE)和页表条目(PTE)的格式。具体实施例方式在下面的描述中,为了说明的目的,给出了大量的具体细节,以提供对本专利技术的透彻的了解。然而,对本领域内的技术人员来说,很明显没有这些具体细节也可实施本专利技术。下面的详细描述的一些部分以对计算机系统的寄存器或存储器中的数据位的操作的算法和符号表示的形式而被提供。这些算法式描述和表示是一种手段,数据处理领域内的技术人员借助这种手段可向本领域内其他技术人员最有效地表达其工作的实质。在此,并且也是一般地,算法被设想成自我一致的操作序列,可以获得预期结果。所述操作是那些需要对物理量进行物理操纵的操作。尽管未必一定如此,但是这些量一般都采用了能够被存储、传输、组合、比较或者操纵的电或磁信号的形式。主要是为了通用起见,将这些信号称为位、值、元素、符号、字符、项、数字等等经常已被证明是很方便的。然而应该理解到,所有这些以及类似的术语都要和合适的物理量相结合,并且仅仅是应用到这些量的便捷标记。除非在下述讨论中以相反的明显形式具体地提出了,应该理解到,在整个的本专利技术中,使用“处理”或“计算”或“运算”或“确定”等术语的讨论可以指称计算机系统或类似的电子计算设备的动作或过程,该系统操纵被表示成计算机系统的寄存器和存储器中的物理(电子)量的数据,并将之转换成类似地被表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备中的物理量的其他数据。在下面对实施例的具体描述中对附图做了标号,这些附图以图示的形式示出了多个可实施本专利技术的具体实施例。在附图中,相同的数字在几个视图中都描述基本相似的组件。用充分的细节描述了这些实施例,以使得本领域内的技术人员可实施本专利技术。也可应用其他实施例,并且可做出结构性、逻辑性或电气性改变,而不会偏离本专利技术的范围。而且应该理解到,本专利技术的各种实施例尽管有所不同,但未必是互相排斥的。例如,在一个实施例中描述的具体特征、结构或特性可被包括在其他实施例中。因此,下面的详细描述不应该被理解成限制性的,并且,本专利技术的范围只由所附权利要求来限定,也包括这些权利要求的等同物的全部范围。图1图示了虚拟机环境100的一个实施例,本专利技术可运行于其中。在此实施例中,裸平台硬件116包括一个计算平台,其能够例如执行标准操作系统(OS)或虚拟机监控器(VMM),例如VMM 112。VMM 112虽然一般是以软件实现的,但也可模拟裸机接口并向更高级软件输出。这种更高级软件可包括标准或实时OS,可以是一个具有有限的操作系统功能的高度精简的操作环境,或者可以不包括传统OS工具。或者,VMM 112例如可以运行在另一个VMM中或其上。VMM及它们的特征和功能都是本领域内的技术人员所公知的,并且可以用例如软件、固件或通过各种技术的组合来实现。平台硬件116包括处理器118和存储器120。处理器118可以是任何类型的能执行软件的处理器,例如微处理器、数字信号处理器、微控制器等等。存储器120可以是硬盘、软盘、随机访问存储器(RAM)、只读存储器(ROM)、闪存、上述设备的任意组合,或处理器118可读的任何其他类型的机器介质。存储器120可以存储用来执行本专利技术的方法实施例的指令。平台硬件116可以是个人计算机(PC)、大型机、手持设备、便携式计算机、机顶盒,或任何其他计算设备。VMM 112向其他软件(即“访客”软件,guest software)提供一个或多个虚拟机(VM)的抽象,其可向各种访客提供相同或不同的抽象。图1示出了两个虚拟机,102和114。运行在每个VM上的访客软件可以包括访客OS例如访客OS 104或106,以及各种访客软件应用程序108和110。访客OS 104和106期望访问VM 102和114中的物理资源(例如处理器寄存器、存储器和I/O设备)以及执行其他功能,所述访客OS 104或106运行在VM 102和114之上。例如,在地址翻译操作期间,访客OS期望分配物理存储器,提供免受软件应用程序(例如应用程序108或110)影响的保护以及在软件应用程序之间的保护,使用多种调页技术等等。然而,在虚拟机环境中,处理器118和VMM 112需要拥有对地址翻译操作的最终控制权,以支持对VM 102和114的正确操作,并提供免受VM 102和114影响的保护以及在VM 102和114之间的保护。在一个实施例中,提供了一种在此称为虚拟翻译后援缓冲本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:理查德·乌利希吉尔伯特·奈格埃里克·科塔罗布尔斯斯塔林塞尔瓦拉·杰亚辛格阿兰·卡希迈克尔·科祖克史蒂文·M·贝内特
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1