用于管理转换旁视缓冲的方法和装置制造方法及图纸

技术编号:10821372 阅读:103 留言:0更新日期:2014-12-26 02:42
本发明专利技术涉及用于管理转换旁视缓冲的方法和装置。根据本发明专利技术的实施例,TLB未命中所引起的一系列操作不再需要管理器的干预。相反,当发生TLB未命中时,硬件直接向虚拟机发出中断。以此方式,可以借助于硬件级别的辅助转换表来高效地管理TLB。这样,可以极大地降低系统开销,提高系统性能。公开了分别与支持虚拟化的系统中的硬件、管理器和虚拟机相关联的方法和装置。

【技术实现步骤摘要】
用于管理转换旁视缓冲的方法和装置
本专利技术的实施例总体上涉及计算机体系结构,更具体地,涉及用于管理转换旁视缓冲(TLB)的方法和装置。
技术介绍
地址映射机制被广泛使用于现代计算机体系结构中。在系统中,上层应用所使用的存储器地址是虚拟地址(Virtual Address, VA)。操作系统(Operating System, OS)负责将应用所指定的VA映射到存储器的物理地址(Physical Address,PA),以便执行对存储器资源的真实访问。随着虚拟化(virtualizat1n)等技术的发展,地址映射可能需要执行多次地址转换。具体而言,虚拟化允许多个OS在单个物理机器上并发地运行,并且由此引入了一个称为管理器或超级管理程序(hypervisor)的软件层,用于控制客户(gUest)0S对系统的物理资源的访问。此时,地址映射包括两次地址转换。首先,客户OS将客户应用所指定的客户虚拟地址(Guest Virtual Address,GVA)转换为客户物理地址(Guest PhysicalAddress,GPA)。接下来,管理器将GPA转换为主机物理地址(Host Physical Address,ΗΡΑ),它是实际的存储器物理地址。 为了加速地址转换,绝大多数现代计算机处理器配备有转换旁视缓冲(Translat1n Lookaside Buffer, TLB)。TLB是页表的高速缓存,用于存储页表中的部分条目。在进行地址转换时,TLB首先被访问。如果包含所请求虚拟地址的页表条目存在于TLB中(称为TLB命中),则可以实现快速的地址转换。反之,如果包含所请求虚拟地址的页表条目不在TLB中(TLB未命中),则需要在页表中查询对应的条目,并且将该条目写入TLB 中。 一般而言,存在两种TLB管理机制,即,硬件管理机制和软件管理机制。相对于传统的硬件管理机制而言,软件管理的TLB可以实现较大的灵活性,因此已得到越来越多的应用。然而,在传统的软件管理TLB中,由于客户OS无法访问存储于硬件中的TLB,因此管理器必须维护一个影子(shadoW)TLB。而且,由TLB未命中所引起的各种操作都需要由管理器来处理。在此期间,可能需要在用户模式和特权模式之间执行一次或多次切换。这种软件管理机制将会导致显著的开销,严重地影响系统的总体性能。 因此,本领域中需要一种以更为高效和有效的方式来实现TLB软件管理的方法和 >J-U ρ?α装直。
技术实现思路
鉴于现有技术中存在的上述问题以及其他潜在问题,本专利技术提供在支持虚拟化的系统中管理TLB的方法和装置。 在本专利技术的第一方面,提供一种在支持虚拟化的系统中管理转换旁视缓冲TLB的方法。该方法包括:利用存储器访问指令所指定的客户虚拟地址来查询所述TLB,所述存储器访问指令接收自运行于所述系统中的虚拟机;响应于在所述TLB中未命中所述客户虚拟地址,向所述虚拟机发出中断以使所述虚拟机处理所述未命中;以及根据所述虚拟机对所述未命中的所述处理的结果,利用辅助转换表来管理所述TLB,所述辅助转换表的条目将客户物理地址映射为所述系统中的主机物理地址。 在本专利技术的第二方面,提供一种在支持虚拟化的系统中管理转换旁视缓冲TLB的方法。该方法包括:接收来自所述系统的硬件的中断,所述中断由在辅助转换表中未命中客户物理地址而引起,所述客户物理地址根据运行于所述系统中的虚拟机所发出的存储器访问指令而被确定;确定与所述客户物理地址相对应的所述系统中的主机物理地址;以及响应于所述存储器访问指令涉及针对存储器空间的访问,向所述辅助转换表写入将所述客户物理地址映射为所述主机物理地址的条目。 在本专利技术的第三方面,提供一种在支持虚拟化的系统中管理转换旁视缓冲TLB的由硬件实现的装置。该装置包括=TLB查询单元,被配置为利用存储器访问指令所指定的客户虚拟地址来查询所述TLB,所述存储器访问指令接收自运行于所述系统中的虚拟机;第一中断发出单元,被配置为响应于在所述TLB中未命中所述客户虚拟地址,向所述虚拟机发出中断以使所述虚拟机处理所述未命中;以及TLB管理单元,被配置为根据所述虚拟机对所述未命中的所述处理的结果,利用辅助转换表来管理所述TLB,所述辅助转换表的条目将客户物理地址映射为所述系统中的主机物理地址。 在本专利技术的第四方面,提供一种在支持虚拟化的系统中管理转换旁视缓冲TLB的装置。该装置包括:中断接收单元,被配置为接收来自所述系统的硬件的中断,所述中断由在辅助转换表中未命中客户物理地址而引起,所述客户物理地址根据运行于所述系统中的虚拟机所发出的存储器访问指令而被确定;地址转换单元,被配置为确定与所述客户物理地址相对应的所述系统中的主机物理地址;以及转换表写入单元,被配置为响应于所述存储器访问指令涉及针对存储器空间的访问,向所述辅助转换表写入将所述客户物理地址映射为所述主机物理地址的条目。 通过下文描述将会理解,根据本专利技术的实施例,TLB未命中所引起的一系列操作不再需要管理器的干预。相反,当发生TLB未命中时,硬件直接向虚拟机(更具体地,虚拟机的操作系统)发出中断。以此方式,可以借助于硬件级别的辅助转换表来高效地管理TLB。这样,可以极大地降低系统开销,提高系统性能。 【附图说明】 通过结合附图对本专利技术示例性实施方式进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显其中: 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的示意性框图; 图2示出了根据支持虚拟化的系统200的示意性框图; 图3示出了根据本专利技术示例性实施例的辅助转换表的工作原理的框图; 图4示出了根据本专利技术示例性实施例的用于管理TLB的方法400的示意性流程图; 图5示出了根据本专利技术示例性实施例的用于管理TLB的方法500的示意性流程图; 图6示出了根据本专利技术示例性实施例的用于管理TLB的方法600的示意性流程图; 图1示出了根据本专利技术示例性实施例的用于管理TLB的装置700的示意性框图; 图8示出了根据本专利技术示例性实施例的用于管理TLB的装置800的示意性框图;以及 图9示出了根据本专利技术示例性实施例的用于管理TLB的装置900的示意性框图。 贯穿所有附图,相同或相似的标号被用来表示相同或相似的元素。 【具体实施方式】 下面将参照附图更详细地描述本专利技术的优选实施方式。虽然附图中显示了本专利技术的优选实施方式,然而应该理解,可以以各种形式实现本专利技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本专利技术更加透彻和完整,并且能够将本专利技术的范围完整地传达给本领域的技术人员。 所属
的技术人员知道,本专利技术可以实现为装置、方法或计算机程序产品。因此,本专利技术可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。 可以采用一个或多个计算机可读的介质的任意组合。计本文档来自技高网
...
用于管理转换旁视缓冲的方法和装置

【技术保护点】
一种在支持虚拟化的系统中的硬件处管理转换旁视缓冲TLB的方法,所述方法包括:利用存储器访问指令所指定的客户虚拟地址来查询所述TLB,所述存储器访问指令接收自运行于所述系统中的虚拟机;响应于在所述TLB中未命中所述客户虚拟地址,向所述虚拟机发出中断以使所述虚拟机处理所述未命中;以及根据所述虚拟机对所述未命中的所述处理的结果,利用辅助转换表来管理所述TLB,所述辅助转换表的条目将客户物理地址映射为所述系统中的主机物理地址。

【技术特征摘要】
1.一种在支持虚拟化的系统中的硬件处管理转换旁视缓冲TLB的方法,所述方法包括: 利用存储器访问指令所指定的客户虚拟地址来查询所述TLB,所述存储器访问指令接收自运行于所述系统中的虚拟机; 响应于在所述TLB中未命中所述客户虚拟地址,向所述虚拟机发出中断以使所述虚拟机处理所述未命中;以及 根据所述虚拟机对所述未命中的所述处理的结果,利用辅助转换表来管理所述TLB,所述辅助转换表的条目将客户物理地址映射为所述系统中的主机物理地址。2.根据权利要求1所述的方法,其中利用辅助转换表来管理所述TLB包括: 接收来自所述虚拟机的TLB写入指令,所述TLB写入指令用于向所述TLB写入将所述客户虚拟地址映射为客户物理地址的条目; 利用所述客户物理地址查询辅助转换表; 响应于在所述辅助转换表中命中所述客户物理地址,确定与所述客户物理地址对应的主机物理地址;以及 向所述TLB写入将所述客户虚拟地址映射为所述主机物理地址的条目。3.根据权利要求2所述的方法,其中利用辅助转换表来管理所述TLB还包括: 响应于在所述辅助转换表中未命中所述客户物理地址,向所述系统的管理器发出中断以使所述管理器更新所述辅助转换表。4.根据权利要求1到3任一项所述的方法,还包括: 响应于在所述TLB中命中所述客户虚拟地址并且包含所述客户虚拟地址的条目被禁止访问,向所述系统的管理器发出指示数据存储异常的中断。5.根据权利要求1到3任一项所述的方法,还包括: 响应于在所述TLB中未命中所述客户虚拟地址,将所述存储器访问指令的上下文存储在特定于所述虚拟机的寄存器中。6.根据权利要求1到3任一项所述的方法,其中所述虚拟机对所述未命中的所述处理的所述结果包括来自所述虚拟机的TLB写入指令,所述TLB写入指令用于向所述TLB写入将所述客户虚拟地址映射为客户物理地址的条目,所述客户物理地址是所述虚拟机通过查询页表确定的。7.—种在支持虚拟化的系统中的管理器处管理转换旁视缓冲TLB的方法,所述方法包括: 接收来自所述系统的硬件的中断,所述中断由在辅助转换表中未命中客户物理地址而引起,所述客户物理地址根据运行于所述系统中的虚拟机所发出的存储器访问指令而被确定; 确定与所述客户物理地址相对应的所述系统中的主机物理地址;以及响应于所述存储器访问指令涉及针对存储器空间的访问,向所述辅助转换表写入将所述客户物理地址映射为所述主机物理地址的条目。8.根据权利要求7所述的方法,还包括: 响应于所述存储器访问指令涉及针对输入/输出设备的访问, 向所述辅助转换表写入将所述客户物理地址映射为所述主机物理地址的条目;以及 禁止对所写入的所述条目的访问。9.根据权利要求7所述的方法,还包括: 响应于所述存储器访问指令涉及针对输入/输出设备的访问, 访问特定于所述虚拟机的寄存器,以获得所述存储器访问指令的上下文;以及 基于获取的所述上下文来执行针对所述输入/输出设备的所述访问。10.一种在支持虚拟化的系统中的硬件处管理转换旁视缓冲TLB的装置,所述装置由硬件实现并且包括: TLB查询单元,被配置为利用存储器访问指令所指定的客户虚拟地址来查询所述TL...

【专利技术属性】
技术研发人员:常晓涛戈弋H·弗兰克王鲲
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1