[发明专利]预取缓存控制方法、装置、芯片以及计算机可读存储介质有效
申请号: | 201910701880.8 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110442382B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 韩景通 | 申请(专利权)人: | 西安芯海微电子科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 深圳协成知识产权代理事务所(普通合伙) 44458 | 代理人: | 章小燕 |
地址: | 710000 陕西省西安市高新区丈*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 控制 方法 装置 芯片 以及 计算机 可读 存储 介质 | ||
本发明公开了一种预取缓存控制方法、装置、芯片以及计算机可读存储介质,其中,该方法包括,获取处理器请求访问的第一指令组地址,若所述第一指令组地址未处于预设的预取缓存或记录缓存中,则在内存中获取与所述第一指令组地址对应的第一内容,其中,所述第一内容包括第一指令组;将所述预取缓存中的第二内容更新到所述记录缓存,并将所述预取缓存中的第二内容更新为所述第一内容。实现了一种高效的预取缓存控制方案,避免了因循环指令被覆盖而需要重新读取,提高了连续指令和循环指令的读取效率。
技术领域
本发明涉及电子技术领域,尤其涉及一种预取缓存控制方法、装置、芯片以及计算机可读存储介质。
背景技术
在现有的芯片架构技术方案中,大多采用非易失性的存储单元来存放用户程序以及相关的应用数据,其中,非易失器件包括EEPROM(Electrically Erasable Programmableread only memory带电可擦可编程只读存储器)、Flash(闪存)等。
一般而言,非易失性的存储单元的放置位置主要有外挂和内嵌两种,其中,考虑到外挂程序存储设备的数据接口一般是串行的,其读取速率较慢,因此,外挂程序存储设备需搭配相对复杂的Cache预取单元,需要较多的缓存单元,以及使用预测技术来维护高速缓存的存取和优先级,适用性较低;考虑到在特定场景下,系统的性能难以预料,具体到MCU微控制器,一般应用在低功耗、高性能、高实时性的场景,因此,在现有技术中,大多采用并行数据线的内嵌式Flash作为程序存储设备。
众所周知,内嵌式相较于外挂式程序存储器的读取速率有显著提高,但相对于高速的CPU运行频率,直接读取依然难以满足实际需求。目前的做法大多是加大Flash每次访问获取的数据位宽,同时,在处理器和Flash间加入预取控制,采用循环缓存的方式,保证顺序执行指令的性能提高。但是,上述方案存在一个缺陷,当预取的下一组指令需要缓存时,会造成部分循环指令被覆盖,需要重新读取,从而影响到循环指令的执行效率。
综上所述,现有技术中的缓存方案仍在存在执行效率较低的问题。
发明内容
为了解决现有技术中的上述技术缺陷,本发明提出了一种预取缓存控制方法,该方法包括:
获取处理器请求访问的第一指令组地址,若所述第一指令组地址未处于预设的预取缓存或记录缓存中,则在内存中获取与所述第一指令组地址对应的第一内容,其中,所述第一内容包括第一指令组;
将所述预取缓存中的第二内容更新到所述记录缓存,并将所述预取缓存中的第二内容更新为所述第一内容;
将所述第一指令组发送至所述处理器。
可选的,将所述预取缓存中的第二内容更新到所述记录缓存,并将所述预取缓存中的第二内容更新为所述第一内容,包括:
根据预先设置的多个指令组地址与多个所述预取缓存之间的对应关系,从多个所述预取缓存中确定与所述第一指令组地址对应的目标预取缓存;
将所述目标预取缓存中当前缓存的第二内容移动到所述记录缓存,并在所述目标预取缓存中写入所述第一内容。
可选的,所述获取处理器请求访问的指令组地址之后,所述方法还包括:
若所述第一指令组地址处于所述预取缓存或记录缓存中,则获取与所述第一指令组地址对应的第一指令组;
将所述第一指令组发送至所述处理器。
可选的,将所述第一指令组发送至所述处理器之后,所述方法还包括:
确定所述第一指令组地址的后继指令组地址;
若所述预取缓存或所述记录缓存中未缓存有所述后继指令组地址对应的第三内容,则在所述内存中读取所述第三内容;
将所述第三内容写入所述预取缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安芯海微电子科技有限公司,未经西安芯海微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910701880.8/2.html,转载请声明来源钻瓜专利网。