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

数据多级流水算法模块中的RAM分布结构制造技术

技术编号:7786227 阅读:201 留言:0更新日期:2012-09-21 07:10
本发明专利技术涉及一种应用于数据多级流水处理过程中的RAM存储器。它包括有按各级流水算法模块划分的相应RAM块区,用于存储前一级算法输出供后一级算法使用的中间处理结果数据的缓存Buffer和用于存储最后一级算法输出数据的RAM0块区三部分,其特征在于:各级RAM块区分为算法片区和传递片区,各算法片区提供相应算法模块所需原始数据的读/写操作,各传递片区一方面存储从前一级传递片区传送来的原始数据,另一方面向下一级算法片区和传递片区传送原始数据,其中第一级的算法片区和传递片区的原始数据由DDR传送输入,最后一级RAM块区仅有算法片区,最后一级算法输出的数据经由RAM0块区传送至DDR。本发明专利技术具有如下的优点:能减少对DDR的读/写次数,降低DDR带宽需求。

【技术实现步骤摘要】

本专利技术涉及ー种RAM存储器,具体涉及ー种应用于数据多级流水处理过程中的RAM存储器。
技术介绍
为了提高数字处理系统的效果和性能,可以对原始数据采用多步分级算法处理方式。而在很多情况下包含多级算法的处理流程是“单向流”,即各级算法之间没有反馈或者迭代,后ー级算法依赖于前ー级算法的运算結果,最終的数据处理结果由最后ー级算法产生。如图I所示,数字处理系统共包括η级算法处理步骤,前ー级算法的输出是下ー级 算法的输入,根据算法设计每ー级算法的输入有时还包括原始数据。从图I中可以看出,如果后ー级算法需要等待前ー级算法将所有原始数据处理完成后再对原始数据进行处理,那么整个数据处理过程所需要的时间将会很大,尤其是当原始数据量较大,算法较为复杂而且分级较多时,这种逐级处理的方式将无法满足实时性要求较高的数字处理系统需求。此时则利用流水算法处理方法来提高系统工作频率实现对数据的高速处理,图2为多级流水算法的示意图,图中Ti为第i级算法启动的时刻,T为算法模块完成一级算法流水的时间周期,即相邻两级算法间启动时刻差的最大值。从图2可以看出,在Tl时刻启动第一级算法,产生可以满足第二级算法所需数据后在T2时刻启动第二级算法,依次下去,在Tn时刻启动第一级算法,所以在Tn以后所有η级算法全部启动,最終实现多级流水算法模块的逐级启动并行处理。由于流水处理中后一级算法不需要等待前ー级算法将所有原始数据处理完成后再对原始数据进行处理,所以可以大大减小整个数据处理过程所需要的时间。又由于原始数据往往是随着时间不断更新的,同时数据算法模块在获得一定的原始数据后才能启动算法模块,所以在数字处理系统的数据多级流水算法硬件实现中,通常采用如图3所示的硬件结构。在数据多级流水算法硬件中,为了减少对DDR的读/写次数和减小对DDR的工作频率的要求,在DDR和数据算法模块间还需要加ー级RAM,通过分片设计RAM同时支持多个读/写操作,DDR中存储的原始数据量较大,而RAM存储的数据仅仅是满足数据处理模块中各级算法所需的部分原始数据。图3中,原始数据首先存储到DDR中,然后RAM从DDR中读取所需原始数据,接着数据算法模块从RAM读取数据所需原始数据进行逐级启动并行处理,最后ー级算法将处理后的数据送到RAM,RAM在将处理后的数据传送给DDR进行存储,当经过一定的处理时间段后DDR中存储的经过数据算法模块处理的数据满足一定的量后即进行输出。目前,数据多级流水算法硬件中的RAM采用基于数据独立装载的RAM分布结构,如图4所示。该图中,RAM分为三个部分第一部分是用于存储从DDR读取的原始数据以供处理模块算法使用的RAM块区;第二部分是用于存储前ー级算法处理输出供后ー级算法使用的中间处理结果数据的缓存Buffer ;第三部分是存储最后ー级算法输出数据的RAMtl块区,即用于保存所有数据算法模块对原始数据处理的結果。缓存Buffer由Buffer1,Buffer2, ...,Bufferi,…,Bufferlri组成,其中Bufferi用于存储第i级算法提供给第(i+1)级算法使用的运算結果。每ー级算法为了存储从DDR读取的原始数据设置有相应RAM块区,图4中块区RAM1供第一级算法使用,块区RAM2供第二级算法使用,…,块区RAMi供第i级算法使用,…,块区RAMn供第η级算法使用。在各级算法的设计中,可能需要同时使用多个相同原始数据或同时输出多个处理后的数据。为实现同时从RAM中读/写多个数据,各级算法对应的RAM块区又被分为多个RAM子片。RAM子片是可以提供ー对读/写接ロ的数据存储空间。对某级RAM块区来说,其RAM子片的空间大小等于该级算法的时间周期T内与其关联算法进行运算所需原始数据的大小和原始数据更新的大小之和,也就是,不同级算法对应RAM块区中的RAM子片,其空间大小是不同的。对于存储最后ー级算法输出结果的RAMtl-区,其RAM子片的空间大小等于最后ー级算法的时间周期T内输出数据的大小。图4中,第i级算法同时需要使用Hii个原始数据,则RAMi块区被分为Hii个RAM 子片,即RAMi-区可同时提供Hii个读或写操作,每个RAM子片的内的数据相同,其中 η为算法模块的总级数。第η级算法的计算结果被输出送至RAM的第三部分,即RAMtl块区,根据第η级算法同时输出数据的个数IV RAM0块区被分为Hitl个RAM子片,每个RAM子片内的数据不同,大小同为该级算法的时间周期T内输出数据。在基于数据独立装载的RAM分布结构中,数据的流向为,DDR从外部读取大量的原始数据进行存储,各个RAM块区根据自身的需要从DDR中读取原始数据并随着算法的流水进行RAM块区中的数据更新,第i (I ^ i ^ η)级算法从对应的RAMi块区中同时读取Hii个原始数据并结合第(i_l)级算法的结果进行运算,最終在第η级算法同时输出的Hitl个数据被存储在RAM的RAMtl块区中。如图4所示的基于数据独立装载的RAM分布结构,可以避免多级算法数据算法模块对DDR同时进行读/写请求,而且所需RAM空间较小,但是由于RAM对DDR的读/写次数较多,每级算法对应的RAM块区都要从DDR读取一次原始数据,所以要求的DDR带宽较大,即要求DDR具有较高的工作频率,当数据算法模块包含的算法级数较多吋,DDR的工作频率将会无法满足,也就是,该数据算法在硬件上无法实现。
技术实现思路
本专利技术所要解决的技术问题就是提供ー种数据多级流水算法模块中的RAM分布结构,它能减少对DDR的读/写次数,降低DDR带宽需求。本专利技术所要解决的技术问题是通过这样的技术方案实现的,它包括有按各级流水算法模块划分的相应RAM块区,用于存储前ー级算法输出供后ー级算法使用的中间处理结果数据的缓存Buffer和用于存储最后ー级算法输出数据的RAMtl块区三部分,其特征在于各级RAM块区分为算法片区和传递片区,各算法片区提供相应算法模块所需原始数据的读/写操作,各传递片区一方面存储从前ー级传递片区传送来的原始数据,另一方面向下ー级算法片区和传递片区传送原始数据,其中第一级的算法片区和传递片区的原始数据由DDR传送输入,最后ー级RAM块区仅有算法片区,最后ー级算法输出的数据经由RAMtl块区传送至 DDR。由于RAM与DDR之间都只需要ー对读/写接ロ,从而大大降低了对DDR的带宽需求,特别对于流水算法的级数越多的数据处理,DDR不需要工作在过高的时钟频率下进行数据交换,使多级流水算法在硬件上能够实现。本专利技术具有如下的优点能减少对DDR的读/写次数,降低DDR带宽需求。附图说明本专利技术的附图说明如下 图I为分步多级算法的数据处理流程示意 图2为多级流水算法的示意 图3为多级流水算法的硬件结构示意 图4为基于数据独立装载的RAM分布结构示意 图5为本专利技术的RAM分布结构示意图。具体实施例方式本专利技术的设计构思是基于原始数据在片内传递与更新,不管数据算法模块分为多少级,该分布结构的RAM与DDR之间都只需要I对读/写接ロ,以降低对DDR的带宽需求。下面结合附图和实施例对本专利技术作进ー步说明 如图5所示,本专利技术包括有按各级流水算法模块划分的相应RAM块区,RAM1, RAM2,…RAMi、…RAMn, 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.数据多级流水算法模块中的RAM分布结构,包括有 按各级流水算法模块划分的相应RAM块区, 用于存储前一级算法输出供后一级算法使用的中间处理结果数据的缓存Buffer, 以及用于存储最后一级算法输出数据的RAMtl块区三部分,其特征在于 各级RAM块区分为算法片区和传递片区,各算法片区提供相应算法模块所需原始数据的读/写操作,各传递片区一方面存储从前一级传递片区传送来的原始数据,另一方面向下一级算法片区和传递片区传送原始数据,其中第一级的算法片区X...

【专利技术属性】
技术研发人员:黄扬帆施志勇刘然田逢春甘平刘艳飞邓敏军谭伟敏林健
申请(专利权)人:重庆大学
类型:发明
国别省市:

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

1