[发明专利]一种页表缓存TLB中表项的访问方法,及处理芯片有效
申请号: | 201680057302.X | 申请日: | 2016-08-11 |
公开(公告)号: | CN108139981B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 蔡卫光;顾雄礼;方磊 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/1009 | 分类号: | G06F12/1009 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 tlb 中表 访问 方法 处理 芯片 | ||
1.一种页表缓存TLB中表项的访问方法,其特征在于,所述表项包括至少一个组合表项,所述组合表项包括虚拟大页号,位向量字段以及物理大页号,其中,所述虚拟大页号为N个连续的虚拟页的标识,所述位向量字段包含N个比特,所述N个比特和所述N个连续的虚拟页一一对应,且所述N个比特分别用来标识所述N个连续的虚拟页的页表存在状态,所述物理大页号为所述N个连续的虚拟页所对应的N个连续的物理页的标识,所述方法包括:
接收虚拟地址,计算所述虚拟地址的虚拟大页号以及所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量;所述虚拟地址的虚拟大页号由所述虚拟地址所属的虚拟页号除以N取整得到;所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量由所述虚拟地址所属的虚拟页号除以N取余得到;所述N为大于1的整数;
确定所述虚拟地址的虚拟大页号与所述TLB包括的组合表项中的虚拟大页号是否相同,并确定所述组合表项中的位向量字段中与所述虚拟地址所属虚拟页对应的比特是否为预定值;
若所述两个确定结果均为是,则确定所述虚拟地址对应的物理页号为:所述组合表项中的物理大页号与所述N的乘积,再与所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量的和。
2.根据权利要求1所述方法,其特征在于,所述表项包括至少一个独立表项,所述独立表项包括虚拟大页号,虚拟大页内偏移量,物理大页号以及物理大页内偏移量,其中,所述虚拟大页由N个连续的虚拟页构成,所述虚拟大页号为所述N个连续的虚拟页的标识,所述虚拟大页内偏移量为相对于所述独立表项的虚拟大页号的第一个虚拟页号的偏移量,所述物理大页由所述N个连续的虚拟页所对应的N个连续的物理页构成,所述物理大页号为所述N个连续的虚拟页所对应的N个连续的物理页的标识,所述物理大页内偏移量为相对于所述独立表项的物理大页号的第一个物理页号的偏移量,所述方法还包括:
确定所述虚拟地址的虚拟大页号与所述TLB包括的独立表项中的虚拟大页号是否相同,并确定所述独立表项中的虚拟大页内偏移量与所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量是否相同;
若所述两个确定结果均为相同,则确定所述虚拟地址对应的物理页号为:所述独立表项的物理大页号与所述N的乘积,再与所述独立表项的物理大页内偏移量的和。
3.根据权利要求2所述方法,其特征在于,若所述组合表项中的位向量字段中与所述虚拟地址所属虚拟页对应的比特为非预定值,并且,所述独立表项中的虚拟大页内偏移量与所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量不相同,所述组合表项还还包括用于表示所述组合表项是否可用于地址预测的标识位,所述方法还包括:
若所述虚拟地址的虚拟大页号与所述组合表项中的虚拟大页相同,且所述组合表项中包含用于表示所述组合表项可用于地址预测的标识位,则确定预测页号以所述预测页进行访存,并执行页表移动;所述预测页号为:所述组合表项中的物理大页号与所述N的乘积,再与所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量的和。
4.根据权利要求3所述方法,其特征在于,在所述执行页表移动之后,所述方法还包括:
若所述页表移动的结果表明所述预测页号正确,将所述组合表项中的位向量字段中与所述虚拟地址所属虚拟页在所述虚拟大页内的偏移量对应的比特修改为所述预定值。
5.根据权利要求3所述方法,其特征在于,在所述执行页表移动之后,所述方法还包括:
若所述页表移动的结果表明所述预测页号错误,在所述组合表项中设置用于表示所述组合表项不可用于地址预测的标识位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680057302.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于合并存储器页的方法和存储器合并功能
- 下一篇:多信道输入/输出虚拟化