[发明专利]缓存及其控制方法在审
申请号: | 201610169736.0 | 申请日: | 2016-03-23 |
公开(公告)号: | CN107229574A | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | 俞军;沈磊;李清;张纲;陆继承;邬佳希;马宁;杨皓轩 | 申请(专利权)人: | 上海复旦微电子集团股份有限公司 |
主分类号: | G06F12/0871 | 分类号: | G06F12/0871;G06F12/121 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 张凤伟,吴敏 |
地址: | 200433 上海市杨浦区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 及其 控制 方法 | ||
技术领域
本发明涉及缓存技术领域,具体涉及一种缓存及其控制方法。
背景技术
嵌入式片上系统(System On Chip,SOC)中,一般采用EEPROM或闪存(Flash)等非易失性存储器(Non-Volatile memory,NVM)作为存储指令的存储器。微处理器(MCU)通过读取NVM中的指令并执行,完成系统设计、运行等功能。
通常情况下,MCU执行的速度比NVM的读取速度快得多,导致MCU经常处于读取指令的等待状态,这使得读取指令的速度成为片上系统、尤其是高性能片上存储系统的瓶颈。
在系统设计中,解决这一技术问题的主流方案是采用指令缓存(Instruction Cache,简称Cache)。通过在Cache内存储MCU频繁访问的数据及这些数据的存储地址,当MCU引用NVM中的某地址时,Cache便先检查是否存有该地址。若存有该地址,则将对应的指令返回MCU,否则MCU从NVM中获取对应的指令。
由于Cache的读取速度比NVM快得多,因此,当访问的数据在Cache中找到,即命中时,MCU可以直接从Cache中读取对应的数据,而无需访问速度较慢的NVM。如果Cache的命中率足够高,MCU近似于直接从RAM中读取指令,因而整体读取速度可以大大提高。
在实际应用中,嵌入式SOC的应用需求多种多样,如何根据特定的应用需求,选择最合适的Cache结构和参数,是嵌入式SOC设计者面临的一个很大挑战。为此,在嵌入式SOC的Cache设计中,通常需要对所设计的缓存的工作过程进行模拟,用于评估不同的结构和参数对最终Cache性能的影响。
然而,现有的Cache结构在模拟过程中,仅能得到Cache的命中率,而Cache的命中率不能反映Cache真实性能,最终导致Cache性能评估的准确性较低。
发明内容
本发明解决的技术问题是如何设计Cache结构以提高Cache性能评估的准确性。
为解决上述技术问题,本发明实施例提供一种缓存,所述缓存包括:控制单元和存储区,其中:
所述存储区,包括第一子区,所述第一子区适于存储存储地址的标识信息以及对应的使用频度信息,所述第一子区所存储的存储地址的使用频度均大于预设频度;
所述控制单元包括:提取子单元,适于当接收到访问缓存请求时,从所述访问缓存请求中提取待访问的数据的存储地址;地址划分子单元,适于对所述提取子单元所提取的存储地址进行划分,获得所述存储地址对应的缓存块的地址信息;第一处理子单元,适于根据所述存储地址对应的缓存块的地址信息,搜索所述第一子区;根据搜索结果判断所述存储地址在所述第一子区中是否命中;第一执行子单元,适于根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回。
可选地,所述存储区还包括:第二子区,适于存储与所述第一子区所存储的存储地址对应的数据;
所述第一执行子单元包括:第一执行模块,适于更新所述第一子区中存储的信息,以及从所述第二子区中读取对应数据并返回。
可选地,所述存储区还包括:第三子区,适于存储预取的数据及对应的缓存块的地址信息;
所述第一执行子单元包括:第一处理模块以及第二执行模块,所述第一处理模块适于当所述存储地址在所述第一子区中未命中时,根据所述缓存块的地址信息搜索所述第三子区中存储的信息;根据搜索结果判断所述存储地址在所述第三子区中是否命中;所述第二执行模块,适于根据所述存储地址在所述第三子区中是否命中的判断结果,获取相应的数据并返回。
可选地,所述第二执行模块包括:
第一执行子模块,适于当所述存储地址在所述第三子区中命中时,更新所述第一子区及第二子区中存储的信息,从所述第三子区中读取对应的数据并返回;按照预设顺序从NVM中进行数据预取,并将预取到的数据存储在所述第三子区中;
第二执行子模块,适于当所述存储地址在所述第三子区中未命中时,从所述NVM中读取对应的数据并返回,以及更新所述第三子区中存储的信息。
可选地,所述第二执行子模块适于当所述第一子区的对应位置处均已存储相应的信息时,采用如下步骤更新所述第一子区:根据所述第一子区中各缓存块的使用频度信息,按照预先获取到的替换算法,对所述第一子区的缓存块进行替换,将在所述第三子区中命中的缓存块的标识信息以及对应的使用频度信息写入至被替换的位置。
可选地,所述存储器还包括:第四子区,适于存储前一次在所述第一子区中命中时所对应的缓存块的地址信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海复旦微电子集团股份有限公司,未经上海复旦微电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610169736.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:获取信息的方法和系统
- 下一篇:缓存性能的评估方法及装置