[发明专利]一种指令预取过滤方法有效
申请号: | 201911184479.8 | 申请日: | 2019-11-27 |
公开(公告)号: | CN110990062B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 王国澎 | 申请(专利权)人: | 上海高性能集成电路设计中心 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F12/1027 |
代理公司: | 上海泰能知识产权代理事务所(普通合伙) 31233 | 代理人: | 宋缨;钱文斌 |
地址: | 200120 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 过滤 方法 | ||
1.一种指令预取过滤方法,其特征在于,在指令缓存和下一级存储系统之间设置指令预取过滤装置,所述指令预取过滤装置包括若干条目的过滤缓冲,其中,每个条目的过滤缓冲对应一个基本页面,用于记录并追踪所述基本页面中已装入指令缓存的Cache行;每次预取时直接查询所述指令预取过滤装置,以检验所预取的Cache行是否已经在指令缓存中,然后根据查询结果决定是否向下一级存储系统发出指令预取请求。
2.根据权利要求1所述的指令预取过滤方法,其特征在于,所述每个条目的过滤缓冲设置有效位、虚拟页面基址、物理页面基址、进程号和线程号;每个条目的过滤缓冲还设置Cache行有效位向量作为页面中已装入的Cache行的指示标记,基本页面中的Cache行与有效位指示向量一一对应。
3.根据权利要求1所述的指令预取过滤方法,其特征在于,当触发指令预取时,使用预取页面基址查询所述指令预取过滤装置,若命中表示该页面已被装入,此时再用页内偏移值查看Cache行有效位向量,若该Cache行已被装入,不用发出预取,否则发出预取;若不命中,则该Cache行不在指令缓存中,发出预取;当预取发出时,根据之前的查询结果更新所述指令预取过滤装置的状态,若命中则将命中条目对应偏移处的Cache行有效位置起,否则分配一个新的过滤缓冲条目并置起对应位置的Cache行有效位,表示该Cache行已被装入。
4.根据权利要求3所述的指令预取过滤方法,其特征在于,在指令预取查询不命中时,预取目标所在基本页面尚未被装入,若操作系统使用基本页面,且所述指令预取过滤装置缓冲深度和指令流TLB条目数相同时,利用指令预取过滤装置的查询结果进行指令流页表预取;若操作系统使用大页或者指令预取过滤缓冲深度小于指令流TLB条目数时,使用所述指令预取过滤装置的预取查询结果作为触发指令流页表条目预取的条件。
5.根据权利要求1所述的指令预取过滤方法,其特征在于,若取指查询缺失,当指令缓存发起向下一级存储系统的取指请求时,使用缺失的取指地址查询所述指令预取过滤装置,若命中则将命中条目对应偏移处的Cache行有效位置起,否则分配一个新的过滤缓冲条目并将对应位置的Cache行有效位进行标记,表示该Cache行已被装入。
6.根据权利要求1所述的指令预取过滤方法,其特征在于,每当装填指令缓存引发Cache行淘汰时,使用被淘汰的Cache行地址查询所述指令预取过滤装置,将命中页面中对应的Cache行有效位清0。
7.根据权利要求1所述的指令预取过滤方法,其特征在于,每当有刷新请求时,同步刷新所述指令预取过滤装置;对于指令缓存刷新,若是全刷新,则将所述指令预取过滤缓冲条目全部置无效;若是指令Cache行刷新,则使用刷新地址查询所述指令预取过滤装置,命中且对应的Cache行有效时,将其有效位清0,否则不做任何操作;对于指令流TLB刷新,使用刷新地址查询所述指令预取过滤装置,将命中页面的有效位清0。
8.根据权利要求1所述的指令预取过滤方法,其特征在于,每当有Cache一致性置无效请求时,使用该一致性请求地址同时查询指令缓存和所述指令预取过滤装置,命中指令缓存时,将命中的Cache行置无效,同时将指令预取过滤装置的命中条目中对应的Cache行有效位置无效;若不命中指令缓存时,不做任何操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海高性能集成电路设计中心,未经上海高性能集成电路设计中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911184479.8/1.html,转载请声明来源钻瓜专利网。