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

将翻译后援缓冲器同步到扩充的分页表制造技术

技术编号:2832334 阅读:208 留言:0更新日期:2012-04-11 18:40
一种处理器包括用于执行指令以将从基于虚拟化的系统的访客的物理地址(访客物理地址)到基于虚拟化的系统的主机的物理地址(主机物理地址)且存储在翻译后援缓冲器(TLB)中的映射与存储在基于虚拟化的系统的扩充的分页表(EPT)中对应的映射同步。

【技术实现步骤摘要】

本专利技术涉及将翻译后援緩冲器同步到扩充的分页表。技术背景虚拟化使得对虚拟化具有硬件和软件支持的单个主机呈示主机 的抽象,以便主机的底层硬件看上去如同一个或多个独立工作的虚 拟机。因此每个虚拟机可以作为自包含的平台。常常,使用虚拟化 技术来使多个访客操作系统和/或其他访客软件能够共存,并能够看 上去同时地且看上去独立地在多个虚拟机上执行,而实际物理上在 相同的硬件平台上执行。虛拟机可以仿真主机的硬件或将不同硬件 抽象呈示在一起。虚拟化系统可以包括控制主机的虚拟机监4见器(VMM)。 VMM 提供在具有一组资源(例如处理器、存储器、I/O装置)的虛拟机中 工作的访客软件。VMM可以将物理主机的一些或所有组件映射到虚 拟机中,并且可以创建在VMM中的软件中仿真的完全虚拟的组件, 这些虚拟组件包括在虚拟机中(例如虚拟I/O装置)。因此VMM可 以说是提供至访客软件的虚拟棵机接口。 VMM使用硬件虚拟化 结构体系中的便利来向虚拟机提供服务并提供针对主机上执行的多 个虛拟机以及这些多个虚拟机之间的保护。由于访客软件在虚拟机 中执行,所以如果访客软件直接在硬件平台上执行,则访客软件执 行的某些指令(例如访问外围设备的指令)常常会直接访问硬件。在VMM支持的虚拟化系统中,这些指令可能导致转变到VMM,本 文称为虚拟机退出。VMM以适于与访客软件执行所在的虚拟机一致 的主机硬件和主机外围设备的方式处理软件中的指令。相似地,主 机中生成的某些中断和异常可能需要VMM来解释和管理或由VMM 来调整以适于访客软件,之后才传递到访客软件来用于实现服务。 VMM然后将控制转移到访客软件,并且虚拟机恢复操作。从VMM 到访客软件的转移在本文中称为虚拟机进入。如本领域中公知的,常常使用页表来提供典型基于处理器的系 统中的从线性存储器到物理存储器的映射。页表一般是存储器驻留 的结构,并且因此访问页表以确定与线性地址对应的物理地址来促 成存储器访问,这可能将处理时间延迟。为了緩解此问题,许多处 理器实现在处理器中包括称为翻译后援緩冲器(TLB)的高速存储器 或寄存器组,其中基于页表中的值将正在使用中的当前线性至物理 存储器映射的一些子集緩存。这使处理器能够比处理器需要访问页 表的情况下 一般所可能的速度更快速地访问线性地址至对应的物理 地址的翻译。处理器实现一般提供用于管理TLB的指令,包括基于 存储在页表中的当前翻译来无效或更新TLB中的所有项的指令。
技术实现思路
本专利技术涉及一种基于虚拟化的系统的处理器,包括 处理器总线;用于存储从访客地址到主机物理地址的映射的纟爰冲器; 用于接收指令并接收操作数的提取逻辑; 用于将所述指令解码的解码逻辑;以及逻辑至少部分存储在扩充的分页表(EPT)中的对应的映射的同步,所述 同步还至少部分基于所述指令的操作数,所迷操作数还包括上下文 描述符和EPT指针的至少其中之一。 本专利技术涉及一种方法,包括在包括主机和访客的基于虚拟化的系统中,将至少部分存储在 翻译后援緩沖器(TLB)中的且包括访客地址到所述主机的物理地址 (主机物理地址)的翻译的映射与至少部分存储在所述基于虚拟化 的系统的扩充的分页表(EPT)中的对应的映射同步;以及映射,所述操作数包括上下文描述符和EPT指针的至少其中之一。 本专利技术涉及一种基于虛拟化的系统,包括处理器;通过总线耦合到所述处理器的存储器;所述处理器的逻辑电路,所述处理器的逻辑电路用于执行指令来将至少部分存储在翻译后援緩冲器(TLB)中的且包括访 客地址到主机的物理地址(主机物理地址)的翻译的映射与至少部 分存储在所述基于虚拟化的系统的扩充的分页表(EPT)中的对应的 映射同步;以及至少部分基于所述指令的操作数选择至少部分存储在所述EPT 中的映射,所述操作数包括上下文描述符和EPT指针的至少其中之附图说明图1说明进程与物理存储器之间的关系。图2以抽象方式说明一个实施例中虛拟机与主机之间的关系。图3说明一个实施例中的虚拟机环境的高层结构。图3a表示在功能级上一个实施例中的处理器。 图4说明一个实施例中使用扩充的分页表的地址计算。 图5说明一个实施例中指令执行的流程。具体实施方式图1示出在基于处理器的系统上执行的进程,该系统集成了处 理器和通过总线在通信上耦合到该处理器的存储器。参考图1,当进 程105引用其线性地址空间115 (线性存储器空间)中的存储器位置 110时,由存储器管理130生成对机器125的物理存储器145 (机器 物理存储器)中的实际地址140的引用,这可以在硬件(有时集成 到处理器120中)中实现和在软件中实现(一般在机器的操作系统 中实现)。存储器管理130其中的功能是将线性地址空间中的位置映 射到机器的物理存储器中的位置。如图1所示,进程可以具有与物 理机器中可用的实际存储器不同的存储器视图。在图1说明的示例 中,进程在从0至1 MB的线性地址空间中工作,实际由存储器管理 硬件和软件将该空间映射到物理存储器的 一部分中,而物理存储器 本身具有从10至11 MB的地址空间;为了由进程空间地址计算物理 地址,可以将偏移量135加上线性地址。从线性地址空间到物理存 储器的更复杂的映射也是可能的,例如可以将与线性存储器对应的 物理地址分成例如页的多个部分,并将其与来自物理存储器中其他 进程的页交替布置。将存储器定制地分成多个页,每个页包含在多个实现中变化的已知量的数据,例如页可以按具体应用所期望地包含存储器的4096 个字节、存储器的1 MB或存储器的任何其他量。因为执行进程引用 存储器位置,所以将它们翻译成页引用。在典型的机器中,存储器 管理将对线性存储器中的页的引用映射到机器物理存储器中的页。 一般来说,存储器管理可以使用页表来指定与进程空间页位置对应 的物理页位置。管理虛拟机环境中的访客软件的一个方面是存储器的管理。虛 拟机中执行的访客软件所采取的处理存储器管理动作造成控制例如 虛拟机监视器的系统的复杂性。考虑例如两个虚拟机通过虛拟化在x86平台上实现的主机上执行的系统,其中该x86平台包括作为x86 处理器的一部分实现的页表。而且假定每个虚拟机本身向其上执行 的访客软件提供x86机器的抽象。每个虚拟机上执行的访客软件可 以对访客线性存储器地址进行引用,然后由访客机器的存储器管理 系统将其翻译成访客物理存储器地址。但是,访客物理存储器本身 可以进一步通过VMM和主机处理器上的硬件中的虚拟化子系统由 主机物理存储器中的映射来实现。因此,则必须由VMM来解释访 客进程或访客操作系统对访客存储器的引用,包括例如对访客x86 页表控制寄存器的引用,因为若不进行进一步地处理,则无法将它 们直接传递到主机的页表,这是由于访客物理存储器实际不直接对 应于主机物理存储器,而是经由主机的虛拟化系统进一步再映射。图2具体参考一个实施例中的访客存储器的映射来说明主机上 执行的一个或多个虚拟机之间的关系。图2图示如何通过主机的虚 拟化系统再映射访客物理存储器。每个虚拟机(例如虚拟机A 242 和虚拟机B 257 )分别向虚拟机上运行的访客软件呈示虚拟处理器245 和255。每个机器分别向访客操作系统或其他访客软件提供物理存储 器的抽象、访客物理存储器240和250。因本文档来自技高网
...

【技术保护点】
一种基于虚拟化的系统的处理器,包括:处理器总线;用于存储从访客地址到主机物理地址的映射的缓冲器;用于接收指令并接收操作数的提取逻辑;用于将所述指令解码的解码逻辑;以及逻辑电路,用于至少部分响应所述指令的解码来执行将所述缓冲器中存储的从访客地址到主机的物理地址(主机物理地址)的映射与至少部分存储在扩充的分页表(EPT)中的对应的映射的同步,所述同步还至少部分基于所述指令的操作数,所述操作数还包括上下文描述符和EPT指针的至少其中之一。

【技术特征摘要】
US 2006-8-15 11/5049641.一种基于虚拟化的系统的处理器,包括处理器总线;用于存储从访客地址到主机物理地址的映射的缓冲器;用于接收指令并接收操作数的提取逻辑;用于将所述指令解码的解码逻辑;以及逻辑电路,用于至少部分响应所述指令的解码来执行将所述缓冲器中存储的从访客地址到主机的物理地址(主机物理地址)的映射与至少部分存储在扩充的分页表(EPT)中的对应的映射的同步,所述同步还至少部分基于所述指令的操作数,所述操作数还包括上下文描述符和EPT指针的至少其中之一。2. 如权利要求1所述的处理器,其特征在于,所述緩冲器包括 翻译后援緩沖器(TLB)。3. 如权利要求1所述的处理器,其特征在于,所述逻辑电路包 括至少部分基于微码指令工作的逻辑电路。4. 如权利要求1所述的处理器,其特征在于,所述EPT至少部 分存储在通过总线与所述处理器耦合的存储器中。5. 如权利要求1所述的处理器,其特征在于,所述逻辑电路还 至少部分基于从所述指令的操作数导出的上下文描述符来从所述EPT 中选择映射。6. 如权利要求5所述的处理器,其特征在于,所述逻辑电路还 至少部分基于从所述上下文描述符导出的EPT指针来从所述EPT中 选择映射。7. 如权利要求1所述的处理器,其特征在于,所述逻辑电路还 至少部分基于所述指令的操作数选择所述访客地址。8. 如权利要求2所述的处理器,其特征在于, 所述映射的同步还包括至少部分基于所述EPT中存储的映射来 更新所述TLB中存储的映射;以及所述对应的映射还包括所述EPT中存储的且与所述TLB中存储 的映射具有相同访客地址的映射。9. 如权利要求2所述的处理器,'其特征在于,所述映射的同步 还包括刷新所述TLB中存储的映射。10. 如权利要求1所述的处理器,其特征在于,所述逻辑电路还 至少部分基于所述指令的操作数来选择所述指令的执行才莫式。11. 如权利要求2所述的处理器,其特征在于, 所述提取逻辑还接收所述指令的第一操作数、所述指令的笫二操作数和所述指令的第三操作数; 所述逻辑电^各还基于从所述指令的第一操作数导出的上下文描述符来选择 至少部分存储在所述EPT中的映射;至少部分基于所述指令的第二操作数来选择所述访客地址;以及至少部分基于所述指令的第三操作数来选择所述指令的执 行冲莫式;以及所述指令的执行模式是如下模式的其中之一第一模式,在所述第一模式中,仅将所述TLB中存储的且与所 述访客地址关联的单个映射与所述EPT中对应的映射同步;第二才莫式,在所述第二才莫式中,将所述TLB中存储的且与从所 述上下文描述符导出的EPT上下文关联的所有映射与所述EPT中对 应的映射同步;以及第三才莫式,在所述第三才莫式中,将所述TLB中存储的且与任何 EPT上下文关联的所有映射与EPT中对应的映射同步。12. 如权利要求1所述的处理器,其特征在于,所述访客地址还 包4舌访客物理地址。13. 如权利要求1所述的处理器,其特征在于,所述访客地址还包括访客线性地址。14. 一种方法,包括在包括主机和访客的基于虚拟化的系统中,将至少部分存储在 翻译后援緩沖器(TLB)中的且包括访客地址到所述主机的物理地址 (主机物理地址)的翻译的映射与至少部分存储在所述基于虚拟化 的系统的扩充的分页表(EPT)中的对应的映射同步;以及至少部分基于所述指令的操作数选择至少部分存储在所述EPT 中的映射,所述操作数包括上下文描述符和EPT指针的至少其中之15. 如权利要求14所述的方法,还包括部分基于从所述指令的操作数导出的上下文描述符从所述EPT 选择映射。16. 如权利要求15所述的方法,还包括部分基于从所述上下文描述符导出的EPT指针选择至少部分存 储在所述EPT中的映射。17. 如权利要求14所述的方法,还包括至少部分基于所述指令的操作数来选择所述访客地址。18. 如权利要求14所述的方法,其特征在于,将所述映射同步 还包括至少部...

【专利技术属性】
技术研发人员:SM贝内特AV安德森G奈格尔R乌利希D罗杰斯R马杜卡鲁穆库马纳C拉斯特S舍恩贝格
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1