一种面向fft和fir的共享数据缓存结构及管理方法

文档序号:8361365阅读:529来源:国知局
一种面向fft和fir的共享数据缓存结构及管理方法
【技术领域】
[0001] 本发明涉及嵌入式可重构系统领域,具体地,涉及一种面向多个可重构阵列的共 享数据缓存装置及控制方法。
【背景技术】
[0002] 处理器与专用集成电路是传统的计算机系统结构的运算平台,处理器的特点在于 通过执行指令集中的相关指令来完成计算,不同去改动底层的硬件环境。但处理器的运算 速度要比专用集成电路慢很多,每个独立的操作具有更高的执行开销。专用集成电路的特 点在于用硬件来实现应用的操作具有很高的速度、效率和精度,但其缺陷在于开发周期太 长,代价太高,而且硬件电路一旦制作好以后是不能被随意改动的。
[0003] FPGA可重构技术的出现,大大改变了传统的嵌入式设计的方法,可重构计算作为 一种新型时空域的计算模式,获得了越来越广泛的关注,其主要的应用领域包括多媒体处 理、移动通信、数字信号处理、数据加解密等。然而,在军事目标匹配、大数运算、声呐波束合 成、基因组匹配、图像纹理填充、集成电路的计算机辅助设计等等之中,随应用场合的不同, 可重构系统对性能的提高程度也大不相同。一般情况下,系统内FPGA数量越多,总体的性 能就越好,按系统中FPGA的芯片数量进行平均,每块FPGA能使运算速度提高7~30倍,但 平均每块芯片提高的速度倍数很低。
[0004] 随着计算性能要求的提高,计算复杂度的越来越高,粗粒度可重构架构的计算资 源也大量增加,使用多个可重构阵列来完成这些应用,在多个可重构阵列同时进行数据访 问的时候,会造成访问冲突,产生访问延迟,增加了数据的访问时间,使得计算性能大大降 低。如何减少数据的访问时间,提高数据的访问速度,成为了提高可重构系统计算性能研宄 中的一个重要课题。

【发明内容】

[0005] 本发明的目的在于解决上述现有技术中存在的问题,提供一种面向FFT算法和 FIR算法的共享数据缓存结构及管理方法,通过对可重构单元共享存储器中的各个存储单 元进行两节拍处理,减少了访存冲突,降低了数据访问的时间,使得可重构系统的性能大大 提升。
[0006] 为解决上述技术问题,本发明采用的技术方案是:可重构单元共享存储器采用两 节拍存储区域结构,片内外数据共享交互单元分为N对两节拍存储结构,N为可重构阵列的 数目;片上中间数据存储单元分为N对两节拍先进先出寄存器。
[0007] 本发明提供了一种面向多个可重构阵列的共享数据缓存结构及管理方法,其可重 构单元共享存储器由两部分组成:常规共享数据存储器、FFT/FIR共享数据存储器。
[0008] 所述常规共享数据存储器:用于存储除FFT算法和FIR算法以外的常规算法的计 算数据;
[0009] 所述FFT/FIR共享数据存储器:当可重构阵列进行的是FFT算法或FIR算法的计 算时,用于存储计算数据;
[0010] 其中,FFT/FIR共享数据存储器由三部分组成:常数存储单元、片内外数据共享交 互单元、片上中间数据存储单元。
[0011] 常数存储单元用于从外部存储器中写入可重构阵列计算中所需要的常数,并将常 数写入可重构阵列中。
[0012] 片内外数据共享交互单元用于从外部存储器中写入可重构阵列计算所需要的采 样数据,并存储阵列计算的中间数据和计算结果,并将计算结果写入外部存储器,按可重构 阵列的数目N,片内外数据共享交互单元分为2N个存储区域,其中有N个单节拍存储区域 和N个双节拍存储区域,可重构阵列从单节拍存储区域中读取数据,对于多行数据的读取, 可以进行两节拍轮换并行读取,提高数据传输速度;而阵列上一步的计算结果写入双节拍 存储区域中,两者并行完成,本步计算结束后,将计算结果写入单节拍存储区域中,并从对 应的双节拍存储区域中读取下一步的计算数据,两者并行完成,以达到降低访存冲突,减少 访存时间的目的。
[0013] 片上中间数据存储单元用于存储各阵列计算过程中需要进行阵列间交互的中间 结果,每个阵列对应一对先进先出寄存器,一个单节拍先进先出寄存器和一个双节拍先进 先出寄存器,阵列从对应的单节拍先进先出寄存器中读取数据,同时其他任一阵列将其中 间数据写入该阵列的双节拍先进先出寄存器中,下一步,该阵列可以从双节拍先进先出寄 存器中读取数据,其他任一阵列可将中间结果数据写入单节拍先进先出寄存器中,同样降 低了访存冲突,减少了访存时间。
[0014] 可重构单元共享存储器的管理方法的特征在于,针对不同的算法,如FFT算法, FIR算法,常规算法,对数据有不同的处理方法,尤其对FFT算法和FIR算法的数据进行分类 管理,实现了数据的并行读写,减少了数据访问冲突,具体步骤如下:
[0015] (1)片内外数据传输控制器通过访问片外存储接口将外部存储器的数据写入至可 重构单元共享存储器中。对于常规算法,数据写入常规共享数据存储器中;对于FFT算法和 FIR算法,数据写入FFT/FIR共享数据存储器中,其中,常数数据写入常数存储单元,操作数 写入片内外数据共享交互单元;
[0016] (2)可重构单元共享存储器将(1)中读取的数据分步写入至可重构阵列中进行算 术逻辑运算。对于FFT算法和FIR算法,数据通过片内外数据共享交互单元中的两节拍存 储区域结构向可重构阵列传输;
[0017] (3)可重构阵列将需要在阵列间交互的中间数据存储至片上中间数据存储单元。 对于FFT算法和FIR算法,数据在阵列间的交互通过两节拍先进先出寄存器完成;
[0018] (4)各可重构阵列将运算后所得最终输出数据写入可重构单元共享存储器中。对 于FFT算法和FIR算法,输出数据写入片内外数据共享交互单元中的两节拍存储区域结构 中;
[0019] (5)片内外数据传输控制器仲裁读写访问请求,并最终将结果从可重构单元共享 存储器写入片外存储器。
【附图说明】
[0020] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本人发明的 实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0021] 图1为多阵列可重构系统的结构框架图;
[0022] 图2为FFT/FIR共享数据存储器的结构框架图,以4阵列可重构系统为例;
[0023] 图3为片内外数据共享交互单元中存储器的两节拍存储结构及操作方式,以4阵 列可重构系统为例;
[0024] 图4为多阵列可重构系统的算法处理流程图;
[0025] 图5为FFT/FIR高速存储单元的数据流图;
【具体实施方式】
[0026] 以下结合附图对本发明的缓存结构及管理方法实施例进行说明,应当理解,此处 所描述的缓存结构及管理方法实施例仅用于说明和解释本发明,并不用于限定本发明。
[0027] 图1为嵌入式多阵列可重构的框架结构,其包括片内外数据传输控制器,用于仲 裁数据从外部存储器写入可重构单元共享存储器和数据从可重构单元共享存储器写出外 部存储器;可重构单元共享存储器,用于存储可重构阵列运算需要的数据,以及可重构阵列 的计算结果;可重构处理器,包含多个可重构阵列,用于进行算术逻辑运算;片上配置信息 存储器,用于存储可重构单元共享存储器、片内外数据传输控制器以及可重构处理器的配 置信息。
[0028] 图2为FFT/FIR共享数据存储器的结构框架图,以4阵列可重构系统为例。如图 2所示,对于FFT/FIR共享数据存储器:寄存器堆#0表示常数存储单元,寄存器堆#0从外 部存储器中读取常数数据,并写入可重构阵列中;寄存器堆#1表示片内外数据共享交互单 元,寄存器堆#1从外部存储器中读取输入数据,并写入可重构阵列的缓存中,同时,寄存器 堆#1又可存储可重构阵列计算的结果,并将最终结果写入外部存储器中;先入先出寄存器 堆#0~4表示片上中间数据存取单元,4个可重构阵列将需要进行阵列间交互的计算中间 数据写入对应的先入先出寄存器堆中,由其对应的可重构阵列读取。
[0029] 图3为片内外数据共享交互单元中存储器的两节拍存储区域结构的轮换操作方 式,以4阵列可重构系统为例,每行两节拍存储区域对应一个可重构阵列,在每个时钟周 期,阵列可以分别对单节拍、双节拍存储区域进行读和写操作,并在下一个时钟周期轮换, 以避免读写冲突,同时提高系统运行速度。
[0030] 图4、5为算法处理流程图,微处理器根据所要处理的算法类型将相应的配置
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1