在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16959|回复: 28

[原创] FPGA中memory的应用——多通道共享缓存

[复制链接]
发表于 2011-10-30 15:59:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 lucien_1986 于 2012-3-13 15:17 编辑

FPGA应用于通信领域时,常常外接大容量memory器件用于缓存,常用的有DDR3 SDRAM、QDRII等。对于这些器件,如何提高它们的使用效率是值得深入研究的。本文侧重于讨论在一个memory被多通道共同使用时,如果提高memory的利用效率。
       本文以一个四通道memory应用为例:一个FPGA中有四路独立的数据处理电路,但是共用同一个QDRII作为它们的数据缓存单元,用于应付数据突发。QDRII的接口总带宽能满足同时处理四路数据输入输出的带宽要求,但是QDRII的缓存容量是有限的,是将整个缓存容量平均的分配给四路(或称为四个通道)呢,还是采用动态共享的机制达到缓存容量灵活配置呢?
     最简单也最容易想到的分配办法是将QDRII的总缓存容量平均的分配给四个通道,这样子简单,在FPGA中实现起来也比较容易。但是这种方法有一个弊端,就是两个通道之间无法共享缓存空间,即使其中一个通道缓存有大量剩余,也不能分配给其他的通道使用,造成缓存能力的大量浪费和缓存效果不佳。
      所以,有必要实现多通道间的缓存空间共享,但控制逻辑又不能过于复杂,要便于在FPGA中以较少的资源来实现。下文中是我觉得比较理想的一种实现办法。
       将整个QDRII的缓存空间分成若干份,以一个72M缓存容量的QDRII为例,可以将它分成72份,每份的容量是1M,每份为一个最小存储单元。也可以分的更细,最小存储单元的粒度越小,共享的效率越高,但是维护起来越复杂,存储时最小存储单元的切换也就越频繁,控制逻辑也更复杂。所以要根据实际需要选择合适的最小存储单元容量。下文中为描述方便起见,以存储颗粒来表示一个可以分配调度的最小存储单元。
       整个缓存空间被分割成若干个独立的存储颗粒以后,首先需要有一个管理调度模块用来分配、调度、回收存储颗粒。管理模块根据各个通道的使用需求,动态的分配存储颗粒,并在通道释放该存储颗粒时将它回收,以供下一次分配使用。
     每个存储颗粒有一个编号(ID),和它在QDRII中的地址段有一个对应关系,例如,ID=0,对应的是地址20'h0~20'hff;ID=1,对应的是地址20'h100~20'h1ff。也就是根据存储颗粒的大小,以及它的ID,可以知道它在QDRII中的位置。
      各个通道根据自己的存储需求,动态的申请
发表于 2011-10-31 09:02:17 | 显示全部楼层
原来这就是所谓的内存共享了把?
发表于 2011-10-31 09:52:37 | 显示全部楼层
比较有道理! 学习了!
 楼主| 发表于 2011-10-31 21:38:42 | 显示全部楼层
回复 2# hsboyfxj


    这个是内存共享的基本思路,很多相关的内存共享机制都是基于这个基本路线的。
发表于 2011-12-14 12:23:20 | 显示全部楼层
多对列共享存储的方式:
将这个存储容量作成一个链式存储,分片共享;
发表于 2012-2-8 13:57:29 | 显示全部楼层
其实就是一个内存管理问题,这可以无限参考操作系统中各种对内存的管理和使用方式。
发表于 2012-2-8 14:41:26 | 显示全部楼层
学习了,,,
发表于 2012-2-15 00:06:20 | 显示全部楼层
不错。学习 学习
发表于 2012-3-24 20:36:22 | 显示全部楼层
lucien_1986大侠,在此发帖,小弟必须顶呀
发表于 2012-3-29 19:02:22 | 显示全部楼层
受教了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 13:53 , Processed in 0.035333 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表