[发明专利]虚拟机的TLB填写方法、装置及存储介质有效
| 申请号: | 201910473311.2 | 申请日: | 2019-05-31 |
| 公开(公告)号: | CN110196757B | 公开(公告)日: | 2021-08-03 |
| 发明(设计)人: | 王俊儒;毛碧波;高翔 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/1036 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 荣甜甜;刘芳 |
| 地址: | 100*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 虚拟机 tlb 填写 方法 装置 存储 介质 | ||
1.一种虚拟机的TLB填写方法,其特征在于,所述方法包括:
获取待填入转换检测缓冲区TLB的目标虚拟地址,以及,访问所述目标虚拟地址的目标进程的标识;
根据所述目标虚拟地址和所述目标进程的标识,从虚拟机的影子页表中获取与所述目标虚拟地址和所述目标进程的标识对应的目标机器地址,所述影子页表包括至少一个虚拟地址的至少一个映射关系,所述虚拟地址的每个映射关系用于指示所述虚拟地址对应的一种组合,所述组合包括:机器地址和进程的标识;
将所述目标进程的标识、所述目标虚拟地址、所述目标机器地址之间的映射关系填入TLB中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标虚拟地址和所述目标进程的标识,从影子页表中获取与所述目标虚拟地址和所述目标进程的标识对应的目标机器地址,包括:
根据所述目标虚拟地址,从所述影子页表中查询所述目标虚拟地址的至少一个目标映射关系,每个所述目标映射关系用于指示所述目标虚拟地址对应的一种目标组合;
根据所述目标进程的标识,从所述至少一个目标映射关系中确定出与所述目标进程的标识对应的目标机器地址。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标虚拟地址,从所述影子页表中查询所述目标虚拟地址对应的至少一个目标映射关系,包括:
使用所述目标虚拟地址的第一比特段,从所述影子页表中索引出至少一个所述目标映射关系。
4.根据权利要求3所述的方法,其特征在于,所述组合中还包括:标签,所述标签为所述组合对应的虚拟地址的第二比特段;所述根据所述目标进程的标识,从所述至少一个目标映射关系中确定出与所述目标进程和所述目标虚拟地址对应的目标机器地址,包括:
A:从第i个目标映射关系中获取目标组合的标签,所述i为大于或等于1的整数;
B:将所述目标虚拟地址的第二比特段,与所述目标组合的标签进行比较;若相同,则执行C,若不同,则执行E;
C:判断所述目标组合中的进程的标识与所述目标进程的标识是否相同;若相同,执行D,若不同,执行E;
D:将所述目标组合中的机器地址作为所述目标机器地址;
E、判断所述i是否小于所述至少一个目标映射关系的数量,若是,执行F;
F、将i加1,并返回执行A。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标进程的标识、所述目标虚拟地址、所述目标机器地址之间的映射关系填入TLB中之前,所述方法包括:
确定所述目标机器地址有效。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取访存指令异常消息,所述访存指令异常消息用于指示所述目标虚拟地址访存异常,所述访存指令异常消息包括:所述目标进程的标识;
根据所述目标虚拟地址和所述目标进程的标识,获取所述目标虚拟地址和所述目标进程的标识对应的所述目标机器地址;
将所述目标进程的标识、所述目标虚拟地址、所述目标机器地址之间的映射关系填入所述影子页表中。
7.根据权利要求6所述的方法,其特征在于,所述影子页表中同一虚拟地址的映射关系的数量小于或等于预设阈值;
所述将所述目标进程的标识、所述目标虚拟地址、所述目标机器地址之间的映射关系填入所述影子页表中,包括:
若所述影子页表中当前所包括的所述目标虚拟地址的映射关系的数量等于所述预设阈值,则将访存频率低的进程对应的所述目标虚拟地址的映射关系从所述影子页表中删除;
将所述目标进程的标识、所述目标虚拟地址、所述目标机器地址之间的映射关系填入所述影子页表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473311.2/1.html,转载请声明来源钻瓜专利网。





