一种零散数据访问sdram的控制电路及方法

文档序号:9765787阅读:297来源:国知局
一种零散数据访问sdram的控制电路及方法
【技术领域】
[0001]本发明属于集成电路设计技术,涉及一种零散数据访问SDRAM的控制电路及方法。
【背景技术】
[0002]在图像或视频实时处理的系统中,对外存的访问速度有非常高的要求,并且图像是基于二维形式进行存储。而SDRAM以其高数据带宽及大容量的特性常被应用于此类系统中。而在图像或视频的处理过程中需要请求很多跨行的零散数据,而DDR2SDRAM在对于跨行读取数据时需要重新刷新,刷新需要的时间很长,严重影响系统的处理效率。
[0003]现有的解决方案是在存储时改变图像的存储格式,使其基于宏块的数据在同一行内,从而尽量减少跨行读取数据的频率。但是该方案增加了地址计算和控制电路的逻辑复杂度,并且也无法彻底避免跨行读取数据,没有从根本上解决此问题。

【发明内容】

[0004]为了解决现有的零散数据访问SDRAM的效率低的技术问题。本发明提供一种零散数据访问SDRAM的控制电路及方法。
[0005]本发明的技术解决方案:
[0006]一种零散数据访问SDRAM的控制电路,其特殊之处在于:包括读请求处理模块、流水处理模块、地址计算模块、读数据控制模块和数据缓存模块;
[0007]读请求处理模块接收外部发送的外部读请求,监控流水处理模块的饱和状态,并在流水处理模块为未饱和状态时,产生二级读请求后发送给流水处理模块;接收读数据控制模块返回的读数据并转发给外部;
[0008]流水处理模块接收来自读请求处理模块的二级读请求,经过仲裁处理后产生饱和状态和当前授权请求,将饱和状态反馈给读请求处理模块;将当前授权请求发送给地址计算模块和读数据控制模块;
[0009]地址计算模块接收来自流水处理模块的当前授权请求和来自外部的地址信息,根据地址信息计算要访问的SDRAM的映射地址并发送给读数据控制模块;
[0010]读数据控制模块接收来自流水处理模块的当前授权请求和来自地址计算模块的映射地址,向要访问的SDRAM控制器发起访问请求,接收SDRAM控制器返回的读数据暂存在数据缓存模块中,待接收完成后将暂存在数据缓存模块中的所有读数据转发至读请求处理模块;
[0011]数据缓存模块用于暂存SDRAM控制器返回的读数据。
[0012]流水处理模块能够同时处理三条二级读请求。
[0013]一种零散数据访问SDRAM的控制方法,其特殊之处在于:包括以下步骤:
[0014]I)读请求处理模块接收外部发送的外部读请求,判断流水处理模块的饱和状态:
[0015]若为饱和状态,则等待;
[0016]若为未饱和状态,则发送二级读请求给流水处理模块;
[0017]2)流水处理模块接收二级读请求,经过仲裁处理后产生饱和状态和当前授权请求,将饱和状态反馈给读请求处理模块;
[0018]将当前授权请求发送给地址计算模块和读数据控制模块;
[0019]3)地址计算模块接收当前授权请求和来自外部的地址信息,根据地址信息计算要访问的SDRAM的映射地址并发送给读数据控制模块;
[0020]4)读数据控制模块接收当前授权请求和来自地址计算模块的映射地址,向要访问的SDRAM控制器发起访问请求;
[0021 ] 5)SDRAM控制器返回读数据,并暂存在数据缓存模块中,待接收完成后将暂存在数据缓存模块中的所有读数据转发至读请求处理模块;
[0022 ] 6)读请求处理模块将返回的读数据转发给外部。
[0023]流水处理模块能够同时处理三条二级读请求。
[0024]本发明的技术效果是:
[0025]本发明提供的零散数据访问SDRAM的控制电路,通过对读请求进行两级请求和3级流水化处理,均衡了 SDRAM的访问带宽问题实现多次请求低延迟响应,将需要取回的跨行数据所消耗的行刷新时间均衡的分配至多个请求进行分担,减少了每次请求平均消耗的等待时间,提高了系统的访问效率。
【附图说明】
[0026]图1为本发明的零散数据访问SDRAM控制电路的结构框图。
【具体实施方式】
[0027]下面结合附图对本发明的技术方案做进一步详细描述。
[0028]本发明的零散数据访问SDRAM控制电路的结构框图如图1所示,本发明提供一种零散数据访问SDRAM的控制电路,包括读请求处理模块,流水处理模块,地址计算模块,读数据控制模块和数据缓存模块;读请求处理模块和流水处理模块相连,读请求处理模块和数据缓存模块相连,读请求处理模块和地址计算模块相连,地址计算模块和读数据控制模块相连,读数据控制模块和流水处理模块相连,读数据控制模块和数据缓存模块相连。
[0029]其中读请求处理模块,用于响应外部读请求和产生二级读请求,并按要求回复请求的数据;具体为,所述的读请求处理模块接收到读SDRAM数据请求后,判断流水处理模块中的流水是否满负载,若没有满,则响应该请求,并向流水处理模块发送二级读数据请求;当检测到数据缓存模块中对应的缓存模块有数据后将该组数据取出并回复至对应的请求者。
[0030]流水处理模块用来对读请求处理模块发送过来的二级读SDRAM数据请求进行流水化处理;
[0031 ]地址计算模块是用于计算访问SDRAM的地址信息;
[0032]读数据控制模块主要完成发起对SDRAM的读访问,并对从SDRAM取回的数据按照请求的特点进行分类处理并将处理后的数据保存至数据缓存模块;
[0033]数据缓存模块分三个部分,分别用于存储对应请求从SDRAM中所取回的数据,采用乒乓存储策略。
[0034]本实施例的零散数据访问SDRAM的控制电路及方法的工作过程为:首先,读请求处理模块接收到读SDRAM数据请求后,判断流水处理模块中的流水是否满负载,若没有满,则响应该请求,并向流水处理模块发送二级读数据请求;流水处理模块接收读请求处理模块产生的二级读请求,将其压入流水线,并给读请求处理模块反馈一个响应信号;读请求处理模块接收到该响应信号后通知地址计算模块开始地址计算;流水处理模块将请求逐次传输到读数据控制模块,读数据控制模块接收到流水处理模块写入的请求后向地址计算模块发起读地址请求,并将读出的地址写往SDRAM并等待SDRAM中的数据返回;读数据控制模块接收到SDRAM返回的读数据后根据对应的请求情况按要求对取回的数据进行转换处理,比如部分丢弃、拼接重组等;处理完成后将数据写入数据缓存模块中的相应缓存空间;读请求处理模块检测到数据缓存模块对应空间内有足够数据后,开始读出该部分的数据并将其传输给请求者。
[0035]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种零散数据访问SDRAM的控制电路,其特征在于:包括读请求处理模块、流水处理模块、地址计算模块、读数据控制模块和数据缓存模块; 读请求处理模块接收外部发送的外部读请求,监控流水处理模块的饱和状态,并在流水处理模块为未饱和状态时,产生二级读请求后发送给流水处理模块;接收读数据控制模块返回的读数据并转发给外部; 流水处理模块接收来自读请求处理模块的二级读请求,经过仲裁处理后产生饱和状态和当前授权请求,将饱和状态反馈给读请求处理模块;将当前授权请求发送给地址计算模块和读数据控制模块; 地址计算模块接收来自流水处理模块的当前授权请求和来自外部的地址信息,根据地址信息计算要访问的SDRAM的映射地址并发送给读数据控制模块; 读数据控制模块接收来自流水处理模块的当前授权请求和来自地址计算模块的映射地址,向要访问的SDRAM控制器发起访问请求,接收SDRAM控制器返回的读数据暂存在数据缓存模块中,待接收完成后将暂存在数据缓存模块中的所有读数据转发至读请求处理模块; 数据缓存模块用于暂存SDRAM控制器返回的读数据。2.根据权利要求1所述的零散数据访问SDRAM的控制电路,其特征在于:流水处理模块能够同时处理三条二级读请求。3.一种零散数据访问SDRAM的控制方法,其特征在于:包括以下步骤: 1)读请求处理模块接收外部发送的外部读请求,判断流水处理模块的饱和状态: 若为饱和状态,则等待; 若为未饱和状态,则发送二级读请求给流水处理模块; 2)流水处理模块接收二级读请求,经过仲裁处理后产生饱和状态和当前授权请求,将饱和状态反馈给读请求处理模块; 将当前授权请求发送给地址计算模块和读数据控制模块; 3)地址计算模块接收当前授权请求和来自外部的地址信息,根据地址信息计算要访问的SDRAM的映射地址并发送给读数据控制模块; 4)读数据控制模块接收当前授权请求和来自地址计算模块的映射地址,向要访问的SDRAM控制器发起访问请求; 5)SDRAM控制器返回读数据,并暂存在数据缓存模块中,待接收完成后将暂存在数据缓存模块中的所有读数据转发至读请求处理模块; 6)读请求处理模块将返回的读数据转发给外部。4.根据权利要求3所述的零散数据访问SDRAM的控制方法,其特征在于:流水处理模块能够同时处理三条二级读请求。
【专利摘要】本发明提供一种零散数据访问SDRAM的控制电路及方法,该零散数据访问SDRAM的控制电路包括读请求处理模块,流水处理模块,地址计算模块,读数据控制模块和数据缓存模块,其中读请求处理模块和流水处理模块相连,读请求处理模块和数据缓存模块相连,读请求处理模块和地址计算模块相连,地址计算模块和读数据控制模块相连,读数据控制模块和流水处理模块相连,读数据控制模块和数据缓存模块相连。本发明可以处理零散数据访问SDRAM。本发明提供的电路和方法,提高了零散数据读访问SDRAM的访问效率。
【IPC分类】G06F3/06
【公开号】CN105528182
【申请号】CN201510924278
【发明人】陈威宇, 许宏杰, 卢俊, 安博锋, 颜哲, 王婷
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年4月27日
【申请日】2015年12月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1