1707|0

7018

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

C6000 Cache(缓存) [复制链接]

1. 为什么需要Cache?
大容量的存储器(如DRAM)访问速度受到限制,一般比CPU时钟速度慢很多;小容量的存储器(如SRAM)能提供快速的访问速度。因此很多高性能的处理器都提供分层的存储访问架构。

如图3所示,左右分别是平坦式存储器架构和2层cache的多层存储架构。在左边的架构中,即使CPU能运行在600MHz,但由于片内/片外存储器只能运行在300MHz/100MHz,CPU在访问存储时需插入等待周期。
 



图3  平坦式和层级式存储器架构

2. Cache部分工作状态说明
Cache hit(缓存命中):对于已经缓存的程序/数据,访问将引起缓存命中,缓存中的指令/数据立即送入CPU而无需等待。
Cache miss(缓存缺失):发生缺失时,首先通过EMIF读入需要的指令/数据,指令/数据在送入CPU的同时被存入Cache,读入程序/数据的过程CPU被挂起。
Cache flush(缓存命中):清空Cache已经缓存的数据。
Cache freeze(缓存冻结):Cache内容不再改变,发生缺失时,从EMIF中读入的指令包不会同时存入Cache。
Cache bypass(缓存旁路):Cache内容不再改变,任何程序/数据都将从缓存外存储器访问。
3. C6000的存储架构
C6000系列DSP在片内RAM和CPU之间提供两层Cache L1和L2,每层Cache又分为独立的程序Cache和数据Cache。其中L1是固定的,L2可以被重映射为普通片内RAM。

对程序/数据进行访问时,CPU首先到L1 Cache中寻找,命中则直接访问,如果产生缺失,则继续在L2Cache中寻找,如果还未命中,则到片内RAM或片外RAM中寻址数据。
 


图4  C6000 CPU的程序/数据访问流程

4. 访问定位的规律
由图4可知,要保证CPU的存储访问效率,只有在CPU在大部分的访问都是只针对最靠近它的存储区时才有效。幸运的是,根据访问定位的规律,这一条可以保证。访问的定位规律表明程序在一个相对小的时间窗口对仅需要一个相对较小size的数据和代码。数据定位的两条规律:
空间关联性:当一个数据被访问时,它临近的数据又很大可能会被后续的存储访问。
时间关联性:一个存储区被访问时,在下一个临近的时间点还会被访问。
5. 优化cache性能
从访问定位规律出发,可总结出优化cache性能的一些基本准则:
让函数尽可能充分的对数据处理以提高数据的重用。
组织数据和代码以提高cache命中率。
合理的空间划分来平衡程序cache和数据cache。
组合那些对相同数据进行处理的函数在一个存储区域。
 

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
      关闭
      站长推荐上一条 1/10 下一条
      中星联华&ADI明日直播
      直播主题:大咖面对面,轻松玩转高速ADC性能测试
      直播时间:3月25日(周二)14:00
      活动奖励:京东卡、双肩包

      查看 »

       
      EEWorld订阅号

       
      EEWorld服务号

       
      汽车开发圈

       
      机器人开发圈

      About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

      站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 10

      北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

      电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
      快速回复 返回顶部 返回列表