[发明专利]用于存取高速缓存的方法与装置有效
申请号: | 201611215570.8 | 申请日: | 2016-12-26 |
公开(公告)号: | CN107818053B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 郑杰仁;张传华 | 申请(专利权)人: | 晶心科技股份有限公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马雯雯;臧建明 |
地址: | 中国台湾新竹市新*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 存取 高速缓存 方法 装置 | ||
1.一种用于存取高速缓存的方法,包括:
由位预测单元产生对应于指令的预测位,其中所述指令来自于中央处理器并指示存取所述高速缓存;
由指令执行单元产生对应于所述指令的虚拟地址;
由加载/储存单元通过结合所述预测位与所述虚拟地址中的一部分虚拟页偏移来产生预测缓存索引,其中所述预测位不是从所述虚拟地址获取的;以及
由所述加载/储存单元使用所述预测缓存索引从所述高速缓存读取数据。
2.根据权利要求1所述的方法,还包括:
由所述加载/储存单元使用所述预测缓存索引从所述高速缓存读取实体标签;
由内存管理单元将所述虚拟地址转换为实体地址;
由所述加载/储存单元判断所述预测位是否相同于所述实体地址中的特定位;
由所述加载/储存单元判断所述实体标签是否相同于所述实体地址中的特定标签;以及
若所述预测位相同于所述实体地址中的所述特定位且所述实体标签相同于所述实体地址中的所述特定标签,将从所述高速缓存中读取的所述数据传送给所述中央处理器。
3.根据权利要求2所述的方法,其中由所述位预测单元产生对应于所述指令的所述预测位的步骤包括:
产生对应于所述指令的预测虚拟地址;
根据所述预测虚拟地址读取转译后备缓冲区;
判断第一预测位是否通过读取所述转译后备缓冲区而获得;
若所述第一预测位未通过读取所述转译后备缓冲区而获得,由替代位产生器提供第二预测位;以及
根据所述第一预测位与所述第二预测位的其中之一产生所述预测位。
4.根据权利要求3所述的方法,其中产生对应于所述指令的所述预测虚拟地址的步骤包括:
从所述指令中获得缓存器编号;以及
提供所述缓存器编号所对应的基底缓存器的基地址作为所述预测虚拟地址。
5.根据权利要求3所述的方法,其中产生对应于所述指令的所述预测虚拟地址的步骤包括:
从所述指令中获得缓存器编号;
判断所述缓存器编号是否符合阴影缓存器列表;以及
若所述缓存器编号符合所述阴影缓存器列表,将对应于所述缓存器编号的基地址加上所述指令所指示的偏移值以产生所述预测虚拟地址。
6.根据权利要求5所述的方法,其中产生对应于所述指令的所述预测虚拟地址的步骤还包括:
若所述缓存器编号不符合所述阴影缓存器列表,使用所述指令所对应的程序计数器的至少一位读取参考预测表格;
若从所述参考预测表格获得步幅值与对应于所述程序计数器的虚拟地址,将所述步幅值加上对应于所述程序计数器的所述虚拟地址,以获得所述预测虚拟地址;以及
若未从所述参考预测表格获得所述步幅值与对应于所述程序计数器的所述虚拟地址,从对应于所述缓存器编号的基底缓存器获得所述预测虚拟地址。
7.根据权利要求3所述的方法,其中由所述替代位产生器提供所述第二预测位的步骤包括:
提供替代位作为所述第二预测位,
其中所述替代位为具有常数值的位或来自于先前加载/存取指令且作为预测位使用的位。
8.根据权利要求3所述的方法,其中由所述替代位产生器提供所述第二预测位的步骤包括:
通过使用对应于所述指令的历史表格索引来读取历史表格以提供作为所述第二预测位的替代位。
9.根据权利要求8所述的方法,还包括:
若所述第一预测位未通过读取所述转译后备缓冲区而获得,根据所述内存管理单元对应于所述虚拟地址产生的所述实体地址更新所述历史表格。
10.根据权利要求9所述的方法,其中更新所述历史表格的步骤包括:
对所述指令所对应的基地址与所述指令所指示的偏移值执行逻辑操作,以产生所述历史表格索引;以及
记录所述历史表格索引与所述实体地址中的所述特定位之间的映射关系于所述历史表格中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于晶心科技股份有限公司,未经晶心科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611215570.8/1.html,转载请声明来源钻瓜专利网。