缓存及其控制方法技术

技术编号:16345923 阅读:33 留言:0更新日期:2017-10-03 22:19
一种缓存及其控制方法。所述缓存包括:控制单元和存储区,其中,所述存储区,包括第一子区,所述第一子区适于存储存储地址的标识信息以及对应的使用频度信息,所述第一子区所存储的存储地址的使用频度均大于预设频度;所述控制单元包括:提取子单元;地址划分子单元;第一处理子单元,适于根据所述存储地址对应的缓存块的地址信息,搜索所述第一子区;根据搜索结果判断所述存储地址在所述第一子区中是否命中;第一执行子单元,适于根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回。应用所述缓存可以提高Cache性能评估的准确性。

【技术实现步骤摘要】
缓存及其控制方法
本专利技术涉及缓存
,具体涉及一种缓存及其控制方法。
技术介绍
嵌入式片上系统(SystemOnChip,SOC)中,一般采用EEPROM或闪存(Flash)等非易失性存储器(Non-Volatilememory,NVM)作为存储指令的存储器。微处理器(MCU)通过读取NVM中的指令并执行,完成系统设计、运行等功能。通常情况下,MCU执行的速度比NVM的读取速度快得多,导致MCU经常处于读取指令的等待状态,这使得读取指令的速度成为片上系统、尤其是高性能片上存储系统的瓶颈。在系统设计中,解决这一技术问题的主流方案是采用指令缓存(InstructionCache,简称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中读取对应的数据并返回,以及更新所述第三子区中存储的信息。可选地,所述第二执行子模块适于当所述第一子区的对应位置处均已存储相应的信息时,采用如下步骤更新所述第一子区:根据所述第一子区中各缓存块的使用频度信息,按照预先获取到的替换算法,对所述第一子区的缓存块进行替换,将在所述第三子区中命中的缓存块的标识信息以及对应的使用频度信息写入至被替换的位置。可选地,所述存储器还包括:第四子区,适于存储前一次在所述第一子区中命中时所对应的缓存块的地址信息;所述控制单元还包括:第二处理子单元及第二执行子单元,其中:所述第二处理子单元,适于在所述根据所述存储地址对应的缓存块的地址信息,搜索第一子区之前,根据所述存储地址对应的缓存块的地址信息搜索所述第四子区,判断所述存储地址在所述第四子区中是否命中;所述第二执行子单元,适于当所述存储地址在所述第四子区中命中时,从所述第二子区中读取对应的数据并返回;所述第一处理模块适于当所述存储地址在所述第四子区中未命中时,搜索所述第一子区,并根据搜索结果判断所述存储地址在所述第一子区中是否命中。可选地,所述缓存块的地址信息包括:所述缓存块的标识信息及地址索引信息。本专利技术实施例还提供了一种缓存的控制方法,所述方法包括:当接收到访问缓存请求时,从所述访问缓存请求中提取待访问的数据的存储地址;对所述存储地址进行划分,获得所述存储地址对应的缓存块的地址信息;根据所述存储地址对应的缓存块的地址信息,搜索第一子区,所述第一子区适于存储存储地址的标识信息以及对应的使用频度信息,所述第一子区所存储的存储地址的使用频度均大于预设频度;根据搜索结果判断所述存储地址在所述第一子区中是否命中;根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回。可选地,所述根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回,包括:当所述存储地址在所述第一子区中命中时,更新所述第一子区中存储的信息,以及从第二子区中读取对应数据并返回,其中,所述第二子区适于存储与所述第一子区所存储的存储地址对应的数据。可选地,所述根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回,包括:当所述存储地址在所述第一子区中未命中时,根据所述缓存块的地址信息搜索第三子区中存储的信息,所述第三子区适于存储预取的数据及对应的缓存块的地址信息;根据搜索结果判断所述存储地址在所述第三子区中是否命中;根据所述存储地址在所述第三子区中是否命中的判断结果,获取相应的数据并返回。可选地,所述根据所述存储地址在所述第三子区中是否命中的判断结果,获取相应的数据并返回,包括:当所述存储地址在所述第三子区中命中时,更新所述第一子区及第二子区中存储的信息,从所述第三子区中读取对应的数据并返回;按照预设顺序从NVM中进行数据预取,并将预取到的数据存储在所述第三子区中;当所述存储地址在所述第三子区中未命中时,从所述NVM中读取对应的数据并返回,以及更新所述第三子区中存储的信息。可选地,当所述第一子区的对应位置处均已存储相应的信息时,所述更新所述第一子区包括:根据所述第一子区中各缓存块的使用频度信息,按照预先获取到的替换算法,对所述第一子区的缓存块进行替换,将在所述第三子区中命中的缓存块的标识信息以及对应的使用频度信息写入至被替换的位置。可选地,在所述根据所述存储地址对应的缓存块的地址信息,搜索第一子区本文档来自技高网
...
缓存及其控制方法

【技术保护点】
一种缓存,其特征在于,包括:控制单元和存储区,其中:所述存储区,包括第一子区,所述第一子区适于存储存储地址的标识信息以及对应的使用频度信息,所述第一子区所存储的存储地址的使用频度均大于预设频度;所述控制单元包括:提取子单元,适于当接收到访问缓存请求时,从所述访问缓存请求中提取待访问的数据的存储地址;地址划分子单元,适于对所述提取子单元所提取的存储地址进行划分,获得所述存储地址对应的缓存块的地址信息;第一处理子单元,适于根据所述存储地址对应的缓存块的地址信息,搜索所述第一子区;根据搜索结果判断所述存储地址在所述第一子区中是否命中;第一执行子单元,适于根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回。

【技术特征摘要】
1.一种缓存,其特征在于,包括:控制单元和存储区,其中:所述存储区,包括第一子区,所述第一子区适于存储存储地址的标识信息以及对应的使用频度信息,所述第一子区所存储的存储地址的使用频度均大于预设频度;所述控制单元包括:提取子单元,适于当接收到访问缓存请求时,从所述访问缓存请求中提取待访问的数据的存储地址;地址划分子单元,适于对所述提取子单元所提取的存储地址进行划分,获得所述存储地址对应的缓存块的地址信息;第一处理子单元,适于根据所述存储地址对应的缓存块的地址信息,搜索所述第一子区;根据搜索结果判断所述存储地址在所述第一子区中是否命中;第一执行子单元,适于根据所述存储地址在所述第一子区中是否命中的判断结果,获取相应的数据并返回。2.如权利要求1所述的缓存,其特征在于,所述存储区还包括:第二子区,适于存储与所述第一子区所存储的存储地址对应的数据;所述第一执行子单元包括:第一执行模块,适于更新所述第一子区中存储的信息,以及从所述第二子区中读取对应数据并返回。3.如权利要求1所述的缓存,其特征在于,所述存储区还包括:第三子区,适于存储预取的数据及对应的缓存块的地址信息;所述第一执行子单元包括:第一处理模块以及第二执行模块,所述第一处理模块适于当所述存储地址在所述第一子区中未命中时,根据所述缓存块的地址信息搜索所述第三子区中存储的信息;根据搜索结果判断所述存储地址在所述第三子区中是否命中;所述第二执行模块,适于根据所述存储地址在所述第三子区中是否命中的判断结果,获取相应的数据并返回。4.如权利要求3所述的缓存,其特征在于,所述第二执行模块包括:第一执行子模块,适于当所述存储地址在所述第三子区中命中时,更新所述第一子区及第二子区中存储的信息,从所述第三子区中读取对应的数据并返回;按照预设顺序从NVM中进行数据预取,并将预取到的数据存储在所述第三子区中;第二执行子模块,适于当所述存储地址在所述第三子区中未命中时,从所述NVM中读取对应的数据并返回,以及更新所述第三子区中存储的信息。5.如权利要求4所述的缓存,其特征在于,所述第二执行子模块适于当所述第一子区的对应位置处均已存储相应的信息时,采用如下步骤更新所述第一子区:根据所述第一子区中各缓存块的使用频度信息,按照预先获取到的替换算法,对所述第一子区的缓存块进行替换,将在所述第三子区中命中的缓存块的标识信息以及对应的使用频度信息写入至被替换的位置。6.如权利要求2所述的缓存,其特征在于,所述存储器还包括:第四子区,适于存储前一次在所述第一子区中命中时所对应的缓存块的地址信息;所述控制单元还包括:第二处理子单元及第二执行子单元,其中:所述第二处理子单元,适于在所述根据所述存储地址对应的缓存块的地址信息,搜索第一子区之前,根据所述存储地址对应的缓存块的地址信息搜索所述第四子区,判断所述存储地址在所述第四子区中是否命中;所述第二执行子单元,适于当所述存储地址在所述第四子区中命中时,从所述第二子区中读取对应的数据并返回;所述第一处理模块适于当所述存储地址在所述第四子区中未命中时,搜索所述第一子区,并根据搜索结果判断所述存储地...

【专利技术属性】
技术研发人员:俞军沈磊李清张纲陆继承邬佳希马宁杨皓轩
申请(专利权)人:上海复旦微电子集团股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1