当前位置: 首页 > 专利查询>东南大学专利>正文

一种面向嵌入式应用的软件可控Cache的实现方法技术

技术编号:2916716 阅读:192 留言:0更新日期:2012-04-11 18:40
一种面向嵌入式应用的软件可控Cache的实现方法,基于传统的嵌入式Cache结构,增加了一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中。其步骤如下:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程。其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。

【技术实现步骤摘要】

本专利技术属于嵌入式设计领域,特别是一种面向嵌入式应用的软件可控Cache的实现方法,可应用于高性能嵌入式系统芯片设计中数据存储的优化。
技术介绍
在现代高性能嵌入式系统设计中,高速缓存(Cache)有效地解决了处理器和主存之间的速度匹配问题。相对于处理器频率以每年超过40%的速度在提高,存储器的速度每年仅提高11%左右。可以预见,随着处理器与主存之间的这种速度差异越来越大,Cache的设计也将成为决定系统整体性能的关键因素之一。但是传统的面向嵌入式应用的Cache仅由单一的硬件替换算法来预测访问的局部性,并没有充分考虑到软件应用程序的自身特点,与数据存储相关的硬件与软件机制相互分离,从而使得Cache的设计存在利用率低、控制性差的不足。
技术实现思路
本专利技术的目的在于解决上述现有技术中存在的问题,提供一种面向嵌入式应用的软件可控Cache的实现方法,采用该方法获得了对嵌入式系统中片上Cache方便有效的管理机制,同时提高了数据的存储效率,降低了Cache活动功耗,减少了Cache带来的总线开销。为解决现有技术中存在的技术问题,本专利技术所设计的面向嵌入式系统应用的软件可控Cache,针对包括ARM公司的ARM7TDMI微处理器、片上指令数据统一Cache、片外同步动态随机存储器的嵌入式系统。其中,ARM7TDMI嵌入式微处理器与片上高速缓存Cache紧耦合;片外同步动态随机存储器与片上高速缓存Cache之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器的数据接口和控制接口分别通过数据总线和控制总线与EMI外部存储器的数据接口和控制接口对应连接;其特征在于:基于传统的嵌入式Cache结构,增加一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中;方法是:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程;其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。包含以下具体步骤:(1)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录;(2)根据访问记录,将造成Cache预取局部性下降的数据块,标记为CN类型;将访问开销代价大且生命期均匀分布的数据块,标记为CS1类型;将某一时刻被频繁访问的数据块,标记为CS2类型;-->(3)根据(2)中对数据块标记的情况,生成标记信息表的内容,加载到Cache控制器中;(4)标记信息表的具体内容,可以在系统运行过程中,通过软件动态地配置;(5)Cache控制器在系统运行过程中,根据标记信息表的配置情况,监视并控制Cache的工作行为:标记为CN类型的数据块,由处理器直接与外存通信;标记为CS1类型的数据块,在Cache中保留副本;标记为CS2类型的数据块,在其有效生命期内,被优先锁定在Cache中。所述Cache控制器的结构包括三个子模块:标记信息表子模块用于存储三种类型的标记信息;存储副本子模块用于保存数据块的副本;控制逻辑子模块用于监视和控制Cache的工作过程;标记信息表子模块和存储副本子模块中的存储单元,有唯一的地址映射,允许通过软件动态的配置。ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录的内容包括:记录1,每个数据字被访问的次数;记录2,将系统时钟周期以M为单位分成N份,记录每M个时钟周期内每个数据字被访问的次数和时钟开销数。CN类型标记数据块的选取步骤如下:(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录1,将数据块中每个数据字被访问的次数累加求和,得到每个数据块的访问权重;(2)选取权重大于等于1,小于4的数据块,并且将它们以权重大小排序,根据需要的标记条数N-CN,选择其中权重最小的N-CN个数据块。CS1类型标记数据块的选取步骤如下:(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录2,将数据块中每个数据字的周期开销累加,计算每M个时钟周期内各个数据块累计的周期开销数,以及各个数据块在系统运行过程中总共的周期开销数;(2)由上一步的计算结果,得到两类统计图:一类是各个数据块的总体周期开销情况;另一类是各个数据块在以M为单位的时钟周期上更加详细的分布情况;结合两类统计图,根据需要的标记条数N-CS1,从总体周期开销大且生命期均匀分布的数据块中,选取N-CS1个数据块。CS2类型标记数据块的选取步骤如下:(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,将各个数据块中每个数据字的访问次数累加,计算每M个时钟周期内每个数据块的访问次数;(2)由上一步的计算结果,得到各个数据块的访问次数在以M为单位的时钟周期上的分布情况,根据需要的标记条数N-CS2,从需要频繁换进换出且生命期集中分布的数据块中,选取N-CS2个数据块。本方法的步骤进一步解释如下:a)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录:记录1(每个数据字被访问的次数)和记录2(将系统时钟周期以M为单位分成N份,记录每M个时钟周期内每个数据字被访问的次数和时钟开销数);b)从记录1中找到会引起Cache污染的数据块,标记为CN(Cache Noise);例如,对于Cache块大小为4个字的情况,外存地址0xE0到0xEC-->范围内的四个数据字,将作为一个完整的数据块被载入到Cache中,如果某一数据块被处理器访问的几率非常小,那么这样的数据块将会造成Cache预取的时间局部性下降,并且占用Cache资源,使得Cache的利用率降低,这样的数据块就称为引起了Cache污染的数据块;c)从记录2中找到可能被Cache频繁换进换出的数据块,称为Cache敏感数据块,有两种不同类型的Cache敏感数据块:一类是Cache预取操作的开销代价很大,且生命期均匀分布的数据块,标记为CS1(Cache Sensibility-type 1),例如一些全局变量等;另一类是Cache预取操作频繁,且生命期集中分布在某一些特定时刻内的数据块,标记为CS2(Cache Sensibility-type 2),例如一些局部变量或内嵌循环程序段等;d)将标记CN、CS1、CS2的信息分别载入Cache控制器中的标记表,Cache控制器在系统运行过程中,将根据标记信息,分别触发相应的操作:对于标记为CN的数据块,Cache控制器屏蔽Cache的缓存功能,由处理器直接与外存传输数据;对于标记为CS1的数据块,Cache控制器首先判断Cache中是否保存了其副本备份,如果是,则直接读取副本内容,如果没有,发起对外存的预取操作,并且创建其副本备份;对于标记为CS2的数据块,Cache控制器首先判断是否出现在其生命期,若是,本文档来自技高网...

【技术保护点】
一种面向嵌入式应用的软件可控Cache的实现方法,应用于包括ARM7TDMI嵌入式微处理器、片上指令数据统一Cache、片外同步动态随机存储器在内的嵌入式系统设计,其中,ARM7TDMI嵌入式微处理器与片上高速缓存Cache紧耦合;片外同步动态随机存储器与片上高速缓存Cache之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器的数据接口和控制接口分别通过数据总线和控制总线与EMI外部存储器的数据接口和控制接口对应连接;其特征在于:基于传统的嵌入式Cache结构,增加一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中;方法是:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程;其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。...

【技术特征摘要】
1、一种面向嵌入式应用的软件可控Cache的实现方法,应用于包括ARM7TDMI嵌入式微处理器、片上指令数据统一Cache、片外同步动态随机存储器在内的嵌入式系统设计,其中,ARM7TDMI嵌入式微处理器与片上高速缓存Cache紧耦合;片外同步动态随机存储器与片上高速缓存Cache之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器的数据接口和控制接口分别通过数据总线和控制总线与EMI外部存储器的数据接口和控制接口对应连接;其特征在于:基于传统的嵌入式Cache结构,增加一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中;方法是:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程;其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。2、根据权利要求1所述的面向嵌入式应用的软件可控Cache的实现方法,其特征是包含以下具体步骤:(1)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录;(2)根据访问记录,将造成Cache预取局部性下降的数据块,标记为CN类型;将访问开销代价大且生命期均匀分布的数据块,标记为CS1类型;将某一时刻被频繁访问的数据块,标记为CS2类型;(3)根据(2)中对数据块标记的情况,生成标记信息表的内容,加载到Cache控制器中;(4)标记信息表的具体内容,可以在系统运行过程中,通过软件动态地配置;(5)Cache控制器在系统运行过程中,根据标记信息表的配置情况,监视并控制Cache的工作行为:标记为CN类型的数据块,由处理器直接与外存通信;标记为CS1类型的数据块,在Cache中保留副本;标记为CS2类型的数据块,在其有效生命期内,被优先锁定在Cache中。3、根据权利要求2所述的面向嵌入式应用的软件可控Cache的实现方法,其特征在于,Cache控制器的结构包括三...

【专利技术属性】
技术研发人员:刘波王学香杨军刘新宁
申请(专利权)人:东南大学
类型:发明
国别省市:84[中国|南京]

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

1