[发明专利]增加虚拟机标识符域的方法及装置有效
申请号: | 201410295091.6 | 申请日: | 2014-06-25 |
公开(公告)号: | CN104077176B | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 胡伟武;台运方;蔡万伟;刘奇 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/0882;G06F12/109;H04L29/08 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 增加 虚拟机 标识符 方法 装置 | ||
技术领域
本发明实施例涉及云计算技术,尤其涉及一种增加虚拟机标识符域的方法及装置。
背景技术
随着云计算的应用,系统虚拟化得到了越来越快的发展,越来越多的架构尝试着增加虚拟化的支持,除了X86架构之外,单字长定点指令平均执行速度(Million Instructions Per Second,简称MIPS)架构也提出了MIPS架构上相应的硬件辅助虚拟化规范。转换旁视缓冲器(Translation Lookaside Buffer,简称TLB)用于实现虚拟地址到物理地址转换的关键部件。TLB各个表项都实现了虚拟地址到物理地址的转换。TLB表项是内容相关联且需要用索引地址进行索引,不同表项的索引地址不能相同。
由于操作系统的不同进程可能使用相同的虚拟地址,因此通常在TLB表项中增加地址空间描述符(ASID)域,ASID和虚拟地址一起构成索引地址,以保证各TLB表项的索引地址不相同。然而,不同的虚拟机可能会使用相同的ASID和相同的虚拟地址,造成两个或以上不同TLB表项的索引地址重复。为避免不同表项的索引地址重复,现有技术通过延长TLB表项的长度,并在延长后的TLB表项中新增虚拟机标识符(VPID,virtual processor identifier)域,VPID作用是为了让不同虚拟机的相同虚拟地址(包括相同的ASID)能同时存在于一个物理TLB中。其中,VPID是硬件辅助虚拟化的重要组成部分。
但是,由于现有技术中是通过延长TLB表项的长度来避免不同表项的索引地址重复,因此,增加了TLB的设计复杂度。
发明内容
本发明实施例提供一种增加虚拟机标识符域的方法及装置,在TLB表项中增加VPID域的同时,降低了TLB的设计复杂度。
第一方面,本发明实施例提供一种增加虚拟机标识符域的方法,其中,所述方法包括:
在将虚拟机任务的虚拟地址写入所述虚拟机任务对应的转换旁视缓冲器表项的虚拟地址空间段时,获取寄存器中存储的掩码域的各比特位的值及虚拟机标识符域的各比特位的值;其中,所述掩码域的长度与所述虚拟机标识符域的长度均为L;所述掩码域的低位至高位依次对应所述虚拟机标识符域的低位至高位;其中,L>=1;
依次遍历所述虚拟地址空间段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虚拟地址空间段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次对应所述掩码域的低位至高位;其中,VN表示所述虚拟地址空间段允许使用的虚拟地址的比特位的数目,PN表示处理器支持的物理地址的比特位的数目;
若与所述遍历到的比特位对应的所述掩码域的比特位为1,则将所述遍历到的比特位的值,替换为所述遍历到的比特位对应的所述虚拟机标识符域的比特位的值。
根据第一方面、在第一方面的第一种可能的实现方式中,所述在将虚拟机任务的虚拟地址写入所述虚拟机任务对应的转换旁视缓冲器表项的虚拟地址空间段之前,还包括:
在所述寄存器中增加所述掩码域及所述虚拟机标识符域,并分别为所述掩码域及所述虚拟机标识符域的各比特位赋值。
根据第一方面、在第一方面的第二种可能的实现方式中,所述在将虚拟机任务的虚拟地址写入所述虚拟机任务对应的转换旁视缓冲器表项的虚拟地址空间段之前,还包括:获取VN及PN的具体值。
根据第一方面、第一方面的第一种至第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述寄存器为控制寄存器。
第二方面,本发明实施例提供一种增加虚拟机标识符域的装置,其中,所述装置包括:
第一获取模块,用于在将虚拟机任务的虚拟地址写入所述虚拟机任务对应的转换旁视缓冲器表项的虚拟地址空间段时,获取寄存器中存储的掩码域的各比特位的值及虚拟机标识符域的各比特位的值;其中,所述掩码域的长度与所述虚拟机标识符域的长度均为L;所述掩码域的低位至高位依次对应所述虚拟机标识符的低位至高位;其中,L>=1;
遍历模块,用于依次遍历所述虚拟地址空间段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虚拟地址空间段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次对应所述掩码域的低位至高位;其中,VN表示所述虚拟地址空间段允许使用的虚拟地址的比特位的数目,PN表示处理器支持的物理地址的比特位的数目;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410295091.6/2.html,转载请声明来源钻瓜专利网。