基于大规模粗粒度嵌入式可重构系统及其处理方法

文档序号:6548443阅读:194来源:国知局
基于大规模粗粒度嵌入式可重构系统及其处理方法
【专利摘要】本发明公开了一种基于大规模粗粒度嵌入式可重构系统及其处理方法,其包括:系统总线、配置总线、嵌入式微处理器、外部存储器、中断控制器、直接内存访问控制器、片上数据存储器、片上配置信息存储器、可重构处理器和重构控制器。该方法针对N阶FIR滤波器,其输入序列与滤波系数序列直接卷积得到输出序列,在直接型结构的基础上,用可重构处理器进行优化和加速。
【专利说明】基于大规模粗粒度嵌入式可重构系统及其处理方法
【技术领域】
[0001]本发明涉及嵌入式可重构系统领域,尤其涉及一种可应用于雷达、通信等场合的基于大规模粗粒度嵌入式可重构系统及其处理方法。
【背景技术】
[0002]通用处理器与专用集成电路(ASIC)是传统的计算机系统结构领域的两大主流算法。然而,随着应用领域对系统的性能、能耗、上市时间等指标需求的不断提高,这两种传统计算模式的弊端就暴露出来。
[0003]通用处理器方法适用范围广,但是计算效率低,专用集成电路虽然可以提高计算速度和计算效率,满足性能需求,但是ASIC器件的灵活性很差。
[0004]为了在灵活性和计算效率之间实现很好的权衡,可重构计算(reconfigurablecomputing)技术应运而生。可重构计算是当前计算机系统结构领域的发展趋势之一,它的架构介于通用处理器和ASIC之间,并且综合了二者长处。它通过对可重构设备进行配置,可以使之由一个通用的计算平台转化为一个专用的硬件系统,以完成具体的计算任务,相当于计算任务同时在时间和空间上展开,显示出了应用的灵活性和很高的计算性能。此外,可重构计算技术还具有系统能耗低、可靠性高、上市时间短等优势。这些优势使得可重构计算技术在各个应用领域尤其是嵌入式应用领域有着广阔的应用前景。很多在嵌入式领域中的主流应用,例如多媒体应用、加/解密应用以及通信应用等都非常适合利用可重构计算技术实现。当前的可重构计算技术主要还是用于尖端【技术领域】中的计算平台,但随着可重构逻辑器件成本逐渐降低,运行时可重构计算技术不断完善,我们有理由相信可重构计算技术具备的种种优势会使其在更多的领域里大有作为。
[0005]传统的可重构计算系统如ReMAP,AsAP,DRP等可重构系统架构,这些系统架构阵列重构阵列内的互联方式较为简单,在进行FIR滤波器运算时,其存在阵列利用率较低,运算FIR滤波器尤其是高阶FIR滤波器的周期较长等缺点,阵列间的互联没有充分考虑FIR滤波运算的并行,导致FIR的运算效率较低。此外,传统的可重构计算系统在同时保持FIR滤波运算中阶数变化的灵活性与较小的运算周期方面也存在较大问题。

【发明内容】

[0006]有鉴于此,本发明提出一种基于大规模粗粒度嵌入式可重构系统及其处理方法,通过提高计算并行度,优化流水线等方法实现了对高阶滤波器的高效率FIR运算。
[0007]为实现上述目的,本发明采用的技术方案是针对N阶FIR滤波器(N大于等于32),其输入序列与滤波系数序列直接卷积得到输出序列,在直接型结构的基础上,用可重构处理器进行优化。
[0008]本发明提供了一种基于大规模粗粒度嵌入式可重构系统,其包括:系统总线、配置总线、嵌入式微处理器、外部存储器、中断控制器、直接内存访问控制器、片上数据存储器、片上配置信息存储器、可重构处理器和重构控制器;[0009]可重构处理器用于映射FIR算法的数据,其中,通过分析FIR算法来确定FIR算法的运算流程,接着根据运算流程和FIR中数据输入特点制定数据输入方式,然后将FIR算法映射到所述可重构处理器上;
[0010]直接内存访问控制器将所需要使用到的配置信息和运算数据存入相应的片上配置信息存储器和片上数据存储器中;
[0011]嵌入式微处理器,通过对其设置可启动所述重构控制器,将配置信息从配置总线发送到所述可重构处理器,控制所述可重构处理器任务的执行,当可重构处理器完成当前任务后,发送中断信号给嵌入式微处理器;
[0012]系统总线,用于连接所述嵌入式可重构系统中的功能部件,包括外部存储器,直接内存访问控制器,嵌入式微处理器,中断控制器,可重构处理器,片上数据存储器;系统总线对于所有连接到其上的功能部件,都支持双向的数据访问。通过系统总线,嵌入式微处理器可以访问并控制系统中各个功能部件的工作状态,或从外部存储器和片上数据存储器中读取所需的指令和数据信息;此外,可重构处理器和直接内存访问控制器也可以通过系统总线访问片上数据存储器和外部存储器,读取或写入所需的数据信息;
[0013]配置总线,用于连接重构控制器,片上配置信息存储器和可重构处理器;此外配置总线与系统总线双向连接构成完整的嵌入式可重构系统,使得嵌入式微处理器与外部存储器可以读取和访问配置总线上的信息;其中,嵌入式微处理器的控制信息通过系统总线到达配置总线并控制重构控制器生成配置信息,所述配置信息通过配置总线单向写入到可重构处理器或存入片上配置信息存储器,从而实现可重构处理器功能的配置;配置总线支持可重构处理器的单向传输功能,支持与重构控制器,片上配置信息存储器,系统总线双向的数据传输功能;其中,重构控制器或片上配置信息存储器将配置信息写入到配置总线上,然后配置总线将这些配置信息单向地发送到可重构处理器;
[0014]中断控制器,用于向嵌入式微处理器发起一次中断请求;其中,中断输入源包括直接内存访问控制器和可重构处理器。当直接内存访问控制器完成一次数据搬运时,将通过中断控制器向嵌入式微处理器发起一次中断请求,以完成后续的功能;当可重构处理器完成一套或多套配置所对应的计算任务时后,中断控制器需发送中断信号给嵌入式微处理器,通知嵌入式微处理器启动重构控制器发出下一套或多套的配置信息;
[0015]外部存储器用于存储所述嵌入式可重构系统的初始化数据,片上数据存储器用于存储外部存储器所传输的数据信息和本系统运行过程中所需的数据信息,片上配置信息存储器用于存储外部存储器通过配置总线写入的初始化配置信息。
[0016]优选地,所述可重构处理器由四可重构阵列、四可重构阵列配置寄存器堆、一配置信息加载接口、一片上可重构阵列数据共享存储单元配置寄存器堆和一片上可重构阵列数据共享存储单元组成。
[0017]优选地,每一个所述可重构阵列分别能够完成乘法运算和加法运算;所述可重构阵列配置寄存器堆分别用于对应可重构阵列的功能配置;所述配置信息加载接口用于接收配置总线上发送的配置信息,并分别发送到可重构处理器中的片上可重构阵列数据共享存储单元配置寄存器堆和可重构阵列配置寄存器堆;片上可重构阵列数据共享存储单元配置寄存器堆用于片上可重构阵列数据共享存储单元的功能配置;片上可重构阵列数据共享存储单元用于运算过程中四个可重构阵列间数据的存储和最终运算结果的传递。[0018]优选地,所述片上可重构阵列数据共享存储单元的结构包括一个存储单元选择器,一个中间计算结果数据缓存单元,一个系数缓存单元和一个外存数据访问接口。
[0019] 优选地,所述存储单元选择器通过读取并解析不同的配置信息来选择访问中间计算结果数据缓存单元或系数缓存单元,所述中间计算结果数据缓存单元用于存储四个所述可重构阵列运算中间过程的数据和最终运算结果,所述系数缓存单元用于存储四个所述可重构阵列进行FIR运算时所需要的滤波器系数,所述外存数据访问接口用于实现所述片上可重构阵列数据共享存储单元与外部存储器之间的数据交互。
[0020]优选地,每一个可重构阵列包括由64个基本运算单元构成的8X8 二维基本运算阵列;所述基本运算阵列中包含32个乘法器和32个加法器,所述基本运算阵列中的每个所述基本运算单元都附带一个寄存器,用于暂存下一步计算所需的数据,所述基本运算阵列第八行第八列是I个累加器,计算的最终结果通过该累加器输出。
[0021]优选地,在η时刻,将FIR算法转化成数据流图的过程主要分为两部分,第一部分为乘加运算,乘法运算的输入数据为采样点X(n-k)与滤波系数h(k)(其中k = 0,l,…,N-1),输入数据按顺序平均分布在四个可重构阵列上,经过一次可重构阵列计算后每个阵列的输出数据写入片上可重构阵列数据共享存储单元中的中间计算结果数据缓存单元,第二部分是将中间计算结果数据缓存单元中的四个数据读出到可重构处理器中的任意一个可重构阵列做求和运算即可得到最终所需的输出y(n);对于一个固定的FIR滤波器,它的阶数和滤波系数序列是固定的,可将滤波系数序列事先存储在系数缓存单元中,当使用该滤波器时,系数缓存单元把该滤波系数序列存到相应的乘法器中;其中x(n-k)为复数形式的数据,h(k)为复数形式的数据,η是输入数据的时刻,N为滤波器单位脉冲响应长度;四个可重构阵列是同时进行运算实现由乘加运算构成的FIR算法。
[0022]本发明还提供了一种基于大规模粗粒度嵌入式可重构系统处理方法,其包括以下步骤:
[0023](I)分析FIR算法特点,归纳出数据流图;
[0024](2)根据数据流图确定的运算流程,结合FIR数据输入特点,制定FIR的数据输入方式;
[0025](3)确定了数据流图和数据输入方式后,针对可重构处理器的特点,在了解其工作机制和内部各个寄存器的作用的基础上配置可重构处理器并生成配置信息;
[0026](4)然后通过直接内存访问控制器将配置信息、所需要使用到的运算数据、本地生成的滤波器系数存入相应的片上数据存储器和片上配置信息存储器中;
[0027](5)对嵌入式处理器进行设置,启动重构控制器,将配置信息从发送到可重构处理器,控制可重构处理器任务的执行。
[0028]优选地,在所述步骤(1)中,在η时刻,将FIR算法转化成数据流图的过程主要分为两部分,第一部分为乘加运算,乘法运算的输入数据为采样点x(n-k)与滤波系数h(k)(其中k = 0,1,…,N-1),输入数据按顺序平均分布在四个可重构阵列上,经过一次可重构阵列计算后每个阵列的输出数据写入片上可重构阵列数据共享存储单元中的中间计算结果数据缓存单元,第二部分是将中间计算结果数据缓存单元中的四个数据读出到可重构处理器中的任意一个可重构阵列做求和运算即可得到最终所需的输出y(n);对于一个固定的FIR滤波器,它的阶数和滤波系数序列是固定的,可将滤波系数序列事先存储在系数缓存单元中,当使用该滤波器时,系数缓存单元把该滤波系数序列存到相应的乘法器中;其中X (n-k)为复数形式的数据,h(k)为复数形式的数据,η是输入数据的时刻,N为滤波器单位脉冲响应长度;四个可重构阵列是同时进行运算实现由乘加运算构成的FIR算法。
[0029]本发明与现有技术相比,其优点在于:
[0030](I)本发明一种基于大规模粗粒度嵌入式可重构系统,充分运用可重构系统具有多种可用的可独立配置的可重构阵列,每个阵列可独立、并行的完成不同的计算任务,使其可在同一段时间内执行大量的计算操作,适合大规模并行性计算,通过把FIR算法映射到可重构阵列上的方式,由可重构阵列阵列对FIR算法进行加速,比传统的软件运算方法实现效率更闻;
[0031 ] (2) 一种基于大规模粗粒度嵌入式可重构系统处理方法面向N (N≥32)阶FIR滤波器计算,通过重构控制器对配置信息的传送与控制,可实现对不同阶数的FIR运算,比传统的硬件实现方法灵活性更高。
[0032]最后通过仿真验证,实现1024点128阶FIR运算仅需2055个时钟周期,其运算周期明显减少。
[0033]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0034]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中: [0035]图1为嵌入式可重构系统结构框图;
[0036]图2为可重构处理器的结构框图;
[0037]图3为可重构阵列的结构框图。
【具体实施方式】
[0038]下面结合附图对本发明做进一步说明。
[0039]名词释义:有限长单位脉冲响应滤波器(FIR, Finite Impulse Response),可重构阵列(RCA, Reconfigurable Array, ), ARM920T (一款微处理器名称),32bit 的AMBA2.0AHB( —款嵌入式高性能总线名称),直接内存访问控制器(DMAC),运算单元(PE),主设备(master),从设备(slaver),嵌入式可重构阵列片上系统(system on chip, SoC),中断控制器(INTC)。
[0040]表1为本发明的一种基于大规模粗粒度动态可重构处理器的有限长单位脉冲响应(FIR)滤波器的实现方法涉及到的可重构阵列内部寄存器说明;
[0041]表2为本发明的一种基于大规模粗粒度动态可重构处理器的有限长单位脉冲响应(FIR)滤波器的实现方法涉及到的可重构阵列配置信息说明。
[0042]表1:
[0043]
【权利要求】
1.一种基于大规模粗粒度嵌入式可重构系统,其包括:系统总线、配置总线、嵌入式微处理器、外部存储器、中断控制器、直接内存访问控制器、片上数据存储器、片上配置信息存储器、可重构处理器和重构控制器; 其中,通过分析FIR算法来确定FIR算法的运算流程,接着根据运算流程和FIR中数据输入特点制定数据输入方式,然后将FIR算法映射到所述可重构处理器上; 通过直接内存访问控制器将配置信息、所需要使用到的运算数据存入相应的所述片上配置信息存储器和所述片上数据存储器中; 设置所述嵌入式微处理器启动所述重构控制器,将配置信息从配置总线发送到所述可重构处理器,控制所述可重构处理器任务的执行; 当可重构处理器完成当前任务后,通过中断控制器发送中断信号给嵌入式微处理器。
2.如权利要求1所述的嵌入式可重构系统,其特征在于:所述可重构处理器由四可重构阵列、四可重构阵列配置寄存器堆、一配置信息加载接口、一片上可重构阵列数据共享存储单元配置寄存器堆和一片上可重构阵列数据共享存储单元组成。
3.如权利要求2所述的嵌入式可重构系统,其特征在于:每一个所述可重构阵列分别能够完成乘法运算和加法运算;所述可重构阵列配置寄存器堆分别用于对应可重构阵列的功能配置;所述配置信息加载接口用于接收配置总线上发送的配置信息,并分别发送到可重构处理器中的片上可重构阵列数据共享存储单元配置寄存器堆和可重构阵列配置寄存器堆;片上可重构阵列数据共享存储单元配置寄存器堆用于片上可重构阵列数据共享存储单元的功能配置;片上可重构阵列数据共享存储单元用于运算过程中四个可重构阵列间数据的存储和最终运算结 果的传递。
4.如权利要求2或3所述的嵌入式可重构系统,其特征在于:所述片上可重构阵列数据共享存储单元的结构包括一个存储单元选择器,一个中间计算结果数据缓存单元,一个系数缓存单元和一个外存数据访问接口。
5.如权利要求4所述的嵌入式可重构系统,其特征在于:所述存储单元选择器通过读取并解析不同的配置信息来选择访问中间计算结果数据缓存单元或系数缓存单元,所述中间计算结果数据缓存单元用于存储四个所述可重构阵列运算中间过程的数据和最终运算结果,所述系数缓存单元用于存储四个所述可重构阵列进行FIR运算时所需要的滤波器系数,所述外存数据访问接口用于实现所述片上可重构阵列数据共享存储单元与外部存储器之间的数据交互。
6.如权利要求2所述的嵌入式可重构系统,其特征在于:每一个可重构阵列包括由64个基本运算单元构成的8X8 二维基本运算阵列;所述基本运算阵列中包含32个乘法器和32个加法器,所述基本运算阵列中的每个所述基本运算单元都附带一个寄存器,用于暂存下一步计算所需的数据,所述基本运算阵列第八行第八列是I个累加器,计算的最终结果通过该累加器输出。
7.如权利要求2所述的嵌入式可重构系统,其特征在于:在η时刻,将FIR算法转化成数据流图的过程主要分为两部分,第一部分为乘加运算,乘法运算的输入数据为采样点χ(n-k)与滤波系数h(k)(其中k = 0,1,…,N-1),输入数据按顺序平均分布在四个可重构阵列上,经过一次可重构阵列计算后每个阵列的输出数据写入片上可重构阵列数据共享存储单元中的中间计算结果数据缓存单元,第二部分是将中间计算结果数据缓存单元中的四个数据读出到可重构处理器中的任意一个可重构阵列做求和运算即可得到最终所需的输出y(n);对于一个固定的FIR滤波器,它的阶数和滤波系数序列是固定的,可将滤波系数序列事先存储在系数缓存单元中,当使用该滤波器时,系数缓存单元把该滤波系数序列存到相应的乘法器中;其中x(n-k)为复数形式的数据,h(k)为复数形式的数据,η是输入数据的时刻,N为滤波器单位脉冲响应长度;四个可重构阵列是同时进行运算实现由乘加运算构成的FIR算法。
8.一种基于大规模粗粒度嵌入式可重构系统处理方法,其包括以下步骤: (1)分析FIR算法特点,归纳出数据流图; (2)根据数据流图确定的运算流程,结合FIR数据输入特点,制定FIR的数据输入方式; (3)确定了数据流图和数据输入方式后,针对可重构处理器的特点,在了解其工作机制和内部各个寄存器的作用的基础上配置可重构处理器并生成配置信息; (4)然后通过直接内存访问控制器将配置信息、所需要使用到的运算数据、本地生成的滤波器系数存入相应的片上数据存储器和片上配置信息存储器中; (5)对嵌入式处理器进行设置,启动重构控制器,将配置信息从发送到可重构处理器,控制可重构处理器任务的执行。
9.如权利要求8所述的嵌入式可重构系统处理方法,其特征在于:在所述步骤(1)中,在η时刻,将FIR算法转化成数据流图的过程主要分为两部分,第一部分为乘加运算,乘法运算的输入数据为采样点χ (n-k)与滤波系数h(k)(其中k = 0,l,…,N-1),输入数据按顺序平均分布在四个可重构阵列上,经过一次可重构阵列计算后每个阵列的输出数据写入片上可重构阵列数据共享存储单元中的中间计算结果数据缓存单元,第二部分是将中间计算结果数据缓存单元中的四个数据读出到可重构处理器中的任意一个可重构阵列做求和运算即可得到最终所 需的输出y(n);对于一个固定的FIR滤波器,它的阶数和滤波系数序列是固定的,可将滤波系数序列事先存储在系数缓存单元中,当使用该滤波器时,系数缓存单元把该滤波系数序列存到相应的乘法器中;其中x(n-k)为复数形式的数据,h(k)为复数形式的数据,η是输入数据的时刻,N为滤波器单位脉冲响应长度;四个可重构阵列是同时进行运算实现由乘加运算构成的FIR算法。
【文档编号】G06F9/44GK103984560SQ201410240683
【公开日】2014年8月13日 申请日期:2014年5月30日 优先权日:2014年5月30日
【发明者】曹鹏, 刘波, 汪芮合, 杨苗苗, 刘杨, 朱婉瑜 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1