首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

内存分配及Cache优化

内存分配及Cache优化

内存分配及Cache优化

  与PC机相比,DSP的程序数据存储空间非常有限。因此,对于视频编码这种需要处理大量数据的程序而言,必须合理安排数据和程序的存储方式,实现对存储器的优化。实验表明,合理利用两级缓存并配合低工作频率外部存储器,系统的效率能达到全部使用高工作频率内部存储器的80%~90%。

  本文将占据较大空间的数据或使用频率不高的程序放在片外存储器中,启用L2 Cache,调用C6000的芯片支持库CSL中的CACHE-setL2Mode函数,将L2设置为198KB的SRAM和64KB的Cache模式。并根据H.264算法本身的结构,采取以下方法对存储器进行优化:利用CCS的分析工具Profile分析C代码,将反复调用的程序段(例如DCT变换和IDCT变换)放在片内程序存储区中,把频繁用到的数据段(如编码表)放在片内数据存储器中,把运用次数较少的程序和数据段放在片外存储器中,避免对程序或数据进行不必要的反复搬移。

  在H.264编码器运行过程中,由于一帧图象的数据量很大,因此将参考帧和当前帧数据放到片外存储器中,需要用到时,再将它们从外部存储器搬到片内存储器中,以提高程序的运行效率。
继承事业,薪火相传
返回列表