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

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

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

【技术实现步骤摘要】

本专利技术涉及将翻译后援缓冲器同步到扩充的分页表
技术介绍
虚拟化使得对虚拟化具有硬件和软件支持的单个主机呈示主机的抽象,以便主机 的底层硬件看上去如同一个或多个独立工作的虚拟机。因此每个虚拟机可以作为自包含的 平台。常常,使用虚拟化技术来使多个访客操作系统和/或其他访客软件能够共存,并能够 看上去同时地且看上去独立地在多个虚拟机上执行,而实际物理上在相同的硬件平台上执 行。虚拟机可以仿真主机的硬件或将不同硬件抽象呈示在一起。虚拟化系统可以包括控制主机的虚拟机监视器(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中的映射,所述操作数包括上下 文描述符和EPT指针的至少其中之一。本专利技术涉及一种基于虚拟化的系统,包括处理器;通过总线耦合到所述处理器的存储器;所述处理器的逻辑电路,所述处理器的逻辑电路用于执行指令来将至少部分存储在翻译后援缓冲器(TLB)中的且包括访客地址到主机的物理地 址(主机物理地址)的翻译的映射与至少部分存储在所述基于虚拟化的系统的扩充的分页 表(EPT)中的对应的映射同步;以及至少部分基于所述指令的操作数选择至少部分存储在所述EPT中的映射,所述操 作数包括上下文描述符和EPT指针的至少其中之一。附图说明图1说明进程与物理存储器之间的关系。图2以抽象方式说明一个实施例中虚拟机与主机之间的关系。图3说明一个实施例中的虚拟机环境的高层结构。图3a表示在功能级上一个实施例中的处理器。图4说明一个实施例中使用扩充的分页表的地址计算。图5说明一个实施例中指令执行的流程。具体实施例方式图1示出在基于处理器的系统上执行的进程,该系统集成了处理器和通过总线在 通信上耦合到该处理器的存储器。参考图1,当进程105引用其线性地址空间115 (线性存储 器空间)中的存储器位置110时,由存储器管理130生成对机器125的物理存储器145(机 器物理存储器)中的实际地址140的引用,这可以在硬件(有时集成到处理器120中)中 实现和在软件中实现(一般在机器的操作系统中实现)。存储器管理130其中的功能是将线性地址空间中的位置映射到机器的物理存储器中的位置。如图1所示,进程可以具有与物理机器中可用的实际存储器不同的存储器视图。在图1说明的示例中,进程在从O至1MB 的线性地址空间中工作,实际由存储器管理硬件和软件将该空间映射到物理存储器的一部 分中,而物理存储器本身具有从10至IlMB的地址空间;为了由进程空间地址计算物理地 址,可以将偏移量135加上线性地址。从线性地址空间到物理存储器的更复杂的映射也是 可能的,例如可以将与线性存储器对应的物理地址分成例如页的多个部分,并将其与来自 物理存储器中其他进程的页交替布置。将存储器定制地分成多个页,每个页包含在多个实现中变化的已知量的数据,例 如页可以按具体应用所期望地包含存储器的4096个字节、存储器的1MB或存储器的任何其 他量。因为执行进程引用存储器位置,所以将它们翻译成页引用。在典型的机器中,存储器 管理将对线性存储器中的页的引用映射到机器物理存储器中的页。一般来说,存储器管理 可以使用页表来指定与进程空间页位置对应的物理页位置。管理虚拟机环境中的访客软件的一个方面是存储器的管理。虚拟机中执行的访客 软件所采取的处理存储器管理动作造成控制例如虚拟机监视器的系统的复杂性。考虑例 如两个虚拟机通过虚拟化在x86平台上实现的主机上执行的系统,其中该x86平台包括作 为x86处理器的一部分实现的页表。而且假定每个虚拟机本身向其上执行的访客软件提 供x86机器的抽象。每个虚拟机上执行的访客软件可以对访客线性存储器地址进行引用, 然后由访客机器的存储器管理系统将其翻译成访客物理存储器地址。但是,访客物理存储 器本身可以进一步通过VMM和主机处理器上的硬件中的虚拟化子系统由主机物理存储器 中的映射来实现。因此,则必须由VMM来截取访客进程或访客操作系统对访客存储器的引 用,包括例如对访客x86页表控制寄存器的引用,因为若不进行进一步地处理,则无法将它 们直接传递到主机的页表,这是由于访客物理存储器实际不直接对应于主机物理存储器, 而是经由主机的虚拟化系统进一步再映射。图2具体参考一个实施例中的访客存储器的映射来说明主机上执行的一个或多 个虚拟机之间的关系。图2图示如何通过主机的虚拟化系统再映射访客物理存储器。每个 虚拟机(例如虚拟机A 242和虚拟机B 257)分别向虚拟机上运行的访客软件呈示虚拟处 理本文档来自技高网
...

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

【技术特征摘要】
...

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

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

1