【技术实现步骤摘要】
用于管理转换旁视缓冲的方法和装置
本专利技术的实施例总体上涉及计算机体系结构,更具体地,涉及用于管理转换旁视缓冲(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,所述辅助转换表的条目将客户物理地址映射为所述系统中的主机物理地址。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。