[发明专利]一种缓存系统和方法在审
申请号: | 201410048036.7 | 申请日: | 2014-01-29 |
公开(公告)号: | CN104731718A | 公开(公告)日: | 2015-06-24 |
发明(设计)人: | 林正浩 | 申请(专利权)人: | 上海芯豪微电子有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 无 | 代理人: | 无 |
地址: | 200092 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 系统 方法 | ||
技术领域
本发明涉及计算机,通讯及集成电路领域。
背景技术
通常缓存的作用是将更低级存储器中的部分内容复制在其中,使这些内容能被更高级存储器或处理器核快速存取,以保证流水线的持续运行。
现行缓存的寻址都基于以下方式,用地址中的索引段寻址读出标签存储器中的标签与地址中的标签段进行匹配;用地址中索引段与块内位移段共同寻址读出缓存中的内容。如果从标签存储器中读出的标签与地址中的标签段相同,那么从缓存中读出的内容有效,称为缓存命中。否则,如果从标签存储器中读出的标签与地址中的标签段不相同,称为缓存缺失,从缓存中读出的内容无效。对于多路组相联的缓存,同时对各个路组并行进行上述操作,以检测哪个路组缓存命中。命中路组对应的读出内容为有效内容。若所有路组都为缺失,则所有读出内容都无效。缓存缺失之后,缓存控制逻辑将低级存储媒介中的内容填充到缓存中。
缓存缺失可分为三类状况:强制缺失、冲突缺失和容量缺失。在现有缓存结构中,除了预取成功的小部分内容外,强制缺失是不可避免的。但是,现有的预取操作会带来不小的代价。此外,虽然多路组相联缓存可以降低冲突缺失,但受制于功耗及速度限制(如因为多路组相联缓存结构要求将所有路组由同一索引寻址的内容及标签同时读出并比较),路组数难以超过一定数目。
现代的缓存系统通常由多路组相连的多层次缓存构成。新的缓存结构,如:牺牲缓存、跟踪缓存以及预取等都是基于上述基本缓存结构并改善上述结构。然而,随着日渐扩大的处理器/存储器速度鸿沟,现行体系结构,特别是多种缓存缺失,已成为是制约现代处理器性能提升的最严重瓶颈。
本发明提出的方法与系统装置能直接解决上述或其他的一个或多个困难。
发明内容
本发明提出了一种缓存方法,其特征在于,对填充到一级缓存的指令进行审查,提取出相应的指令信息;根据所述指令信息,将一级缓存中所有分支指令的分支目标指令预先存储到二级缓存中;提供一个第一读指针对一级缓存寻址以读出对应指令供处理器核执行;根据处理器核执行指令产生的反馈信息,更新第一读指针的值;当处理器核执行分支指令时,无论分支转移是否发生,后续将被执行的指令已经存储在二级缓存中;若分支转移发生,第一读指针被更新为所述分支指令的分支目标寻址地址值;若分支转移没有发生,第一读指针被更新为该分支指令顺序执行的后一条指令的寻址地址值。
可选的,在所述方法中,根据所述指令信息,提前将处理器核将要执行到的分支指令的分支目标指令从二级缓存填充到一级缓存,使得处理器核执行到该分支指令时,无论分支转移是否发生,后续将被执行的指令已经存储在一级缓存中。
可选的,在所述方法中,对填充到一级缓存的指令进行审查,提取出相应的指令信息;第一读指针根据所述指令信息而非指令本身的功能确定如何更新。
可选的,在所述方法中,当第一读指针指向一条有条件分支指令,且其后一条是无条件分支指令时,则根据处理器核对有条件分支指令的执行结果,若分支转移发生,第一读指针被更新为所述有条件分支指令的分支目标寻址地址值;若分支转移没有发生,第一读指针被更新为所述无条件分支指令的分支目标寻址地址值;使得处理器核不需要单独一个时钟周期执行所述无条件分支指令。
可选的,在所述方法中,对第一读指针的值进行缓冲,并由所述缓冲后的第一读指针值对一级缓存寻址以读出对应指令供处理器核执行;第一读指针提前指向分支指令,若该分支指令的分支目标指令尚未存储在一级缓存中,则将该分支目标指令从二级缓存填充到一级缓存,使得处理器核执行到该分支指令时,无论分支转移是否发生,后续将被执行的指令已经存储在一级缓存中。
可选的,在所述方法中,提供一个第二读指针;所述第二读指针提前指向第一读指针之后的分支指令,若该分支指令的分支目标指令尚未存储在一级缓存中,则将该分支目标指令从二级缓存填充到一级缓存,使得处理器核执行到该分支指令时,无论分支转移是否发生,后续将被执行的指令已经存储在一级缓存中。
可选的,在所述方法中,当处理器核执行到分支指令时,根据分支预测选择顺序执行下一指令和分支目标指令中的一个作为后续指令执行,并保存另一个的寻址地址;若分支转移结果与分支预测一致,则继续执行后续指令;若分支转移结果与分支预测不一致,则清空流水线,并从所述保存的寻址地址对应的指令重新执行。
可选的,在所述方法中,所述指令信息包括指令类型和分支指令的分支目标寻址地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯豪微电子有限公司;,未经上海芯豪微电子有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410048036.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型计算器
- 下一篇:一种Shellcode的动态检测方法