一种针对FFT基模块映射的脉动阵列可重构处理器制造技术

技术编号:34982536 阅读:32 留言:0更新日期:2022-09-21 14:26
本发明专利技术涉及一种针对FFT基模块映射的脉动阵列可重构处理器,包括:可重构处理单元阵列、共享内存、主控制器、片内存储器;可重构处理单元阵列负责FFT运算,包含m

【技术实现步骤摘要】
一种针对FFT基模块映射的脉动阵列可重构处理器


[0001]本专利技术涉及计算机系统领域,尤其是涉及一种针对FFT基模块映射的多层次存储结构脉动阵列可重构处理器。

技术介绍

[0002]随着信息技术的高速发展,计算机、通信、消费电子等计算密集型领域对信号处理能力的需求不断增长。作为分析和处理数字信号的重要手段,快速傅里叶变换(fast Fourier transform,FFT)应用广泛。但是,FFT算法实现计算量大且消耗时间,特别是在科学计算、图像处理等领域,定点数据无法满足精度要求,需采用浮点格式,大量的浮点数复数乘法运算带来了极大的计算负担。在万物互联的时代,计算效率是衡量系统性能的重要标准之一,计算效率的不足将导致系统方案在精度、实时性等方面进行折中。当下,新兴应用场景和需求不断涌现,相应FFT运算的点数各不相同,对系统灵活性提出了更高要求。因此,实现计算效率高、灵活性强的FFT加速器具有重要意义。
[0003]现有FFT加速方法主要分为两大类:(1)基于软件优化提高的方法基于软件优化提高的方法一般在通用平台如CPU、GPU上实现,建立在对目标平台流水机制和内存架构深入理解的基础上。虽然这类方法已经在目标平台上进行了高度优化,但受限于固有的内存访问模式,计算效率仍然无法满足需求。
[0004](2)基于硬件专门设计的方法基于硬件专门设计的方法一般是由FPGA或者ASIC实现。由于可以专门设计存储架构,基于硬件的方法可以获得更高的性能。凭借并行特性,FPGA一度被认为是最具前景的解决方案,但FPGA能耗高,无法满足功耗敏感型应用的需求。基于ASIC的方案面积效率和能量效率高,但由于固化了电路功能,仅支持单一应用,灵活性不足,而且设计成本高,无法适应新兴应用的迭代速度。
[0005]综上所述,上述方案均无法同时满足计算、面积和能量效率、实时性、灵活性中的多个需求。

技术实现思路

[0006]为解决该问题,本专利技术提出一种针对FFT基模块映射的多层次存储结构脉动阵列可重构处理器,基于动态可重构处理器架构CGRA实现FFT加速。CGRA工具链采用高层次语言(如C或C++),可以缩短开发周期。可重构单元为CGRA提供了多层次的灵活性和并行性。此外,CGRA在能量和面积效率方面均优于细粒度的FPGA。
[0007]本专利技术的技术方案为:一种针对FFT基模块映射的脉动阵列可重构处理器,包括:可重构处理单元阵列、主控制器、共享内存、片内存储器;可重构处理单元阵列负责FFT运算,其包括m
×
n个可重构处理单元,m为行数,n为列数;
主控制器用于解析配置包,并将配置信息写入每个可重构处理单元中的配置存储器,可重构处理单元在数据流和配置流的双重驱动下执行相应的操作,每个可重构处理单元以及可重构处理单元之间的互连均能单独配置,可重构处理单元阵列能被动态划分为子阵列以进行算法级并行处理,实现加速;所述共享内存包括多组存储器,用于负责与片内存储器进行数据交互,以及存储每级FFT运算所产生的中间数据;所述片内存储器包括全局寄存器和本地寄存器,用于存储程序、配置信息和数据。
[0008]另一方面,针对FFT基模块映射的脉动阵列处理器,其执行运算处理的方法包括如下步骤:第一步,主控制器将原始数据从片内存储器搬移到共享内存;数据准备完成后,主控制器解析配置字,将各可重构单元的配置信息写入相应的本地寄存器;在所有数据和配置信息准备完成后,初始化计时器,启动可重构处理单元阵列;第二步,可重构处理单元阵列读取配置信息,确定迭代次数;部分可重构处理单元从共享内存中读取原始数据,各可重构处理单元读取对应的配置信息,并执行所指定的操作,当所有可重构处理单元完成操作后,结束可重构处理单元阵列的一次迭代;继续执行,直到完成所有迭代;停止计时器,记录时钟周期数;在FFT运算期间,每级FFT运算产生的中间数据存储在共享内存中;第三步,部分可重构处理单元将FFT运算结果写入共享内存,再写入片内存储器。
[0009]有益效果:本专利技术提出了一种针对FFT基模块映射的多层次存储结构脉动阵列可重构处理器,可以有效提高浮点数格式FFT运算的计算效率高,尤其能够满足高精度、强实时性的应用需求;通过简单地增加共享内存的容量,在不改变其他硬件模块的情况下可以处理更大点数的FFT运算,可扩展性强。
附图说明
[0010]图1为本专利技术的可重构处理器架构图;图2为基4运算核映射模块;图3为基于子阵列的多点数FFT映射示意图。
具体实施方式
[0011]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0012]根据本专利技术的实施例,提出一种针对FFT基模块映射的多层次存储结构脉动阵列可重构处理器,本专利技术针对FFT算法特征及访存带宽进行优化,该方法在总体上提供了一种计算效率高、可扩展性强的FFT硬件加速方案,所述可重构处理器包括:可重构处理单元阵列、共享内存、主控制器、片内存储器等主要模块,整体架构如图1所示。
[0013]可重构处理单元阵列负责FFT运算,包含m
×
n个可重构处理单元。
[0014]主控制器用于解析配置包,并将配置信息写入每个可重构处理单元中的配置存储器,可重构处理单元在数据流和配置流的双重驱动下执行相应的操作;每个可重构处理单元以及可重构处理单元之间的互连均可单独配置,因此可重构处理单元阵列可以被动态划分为子阵列以进行算法级并行处理,实现加速。
[0015]根据本专利技术的实施例,在系统架构设计的过程中,针对大点数FFT运算需求,将可重构处理器处理架构进行实时动态重组,通过配置信息,将独立的处理单元配置为脉动阵列,同时通过软件定义多种重构处理单元阵列的裁剪拼接方式,形成对多种算法有利的多种脉动阵列架构。所述的大点数是指如128K、256K点FFT;1、如256K点FFT 需要进行2维折叠 导致FFT计算时会出现矩阵转置的情况,为了最大化FFT计算效率需要针对访存带宽和1维 FFT计算进行乒乓缓冲。
[0016]2、由于FFT碟形计算访存不连续的特点,对PE阵列对应的share memory进行针对性的优化,包括bank数、bank位宽。
[0017]共享内存是多组存储器,主要有两方面的作用,一是负责与片内存储器进行数据交互,二是存储每级FFT运算所产生的中间数据。通过增加共享内存的容量,加速器可以处理更大点数的FFT运算,从而便于后续扩展。
[0018]根据本专利技术的实施例,为提高数据存取效率,设计了层次化的数据存储系统,架构涉及系统、可重构处理单元阵列、可重构处理单元三级,对应提供数据存取的物理单元分别为共享内存、全局寄存器和本地寄存器。全局寄存器的主要作用是存储指向多个可重构处理单元的数据和参数。本地寄存器主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对FFT基模块映射的脉动阵列可重构处理器,其特征在于,包括:可重构处理单元阵列、主控制器、共享内存、片内存储器;可重构处理单元阵列负责FFT运算,其包括m
×
n个可重构处理单元,m为行数,n为列数;主控制器用于解析配置包,并将配置信息写入每个可重构处理单元中的配置存储器,可重构处理单元在数据流和配置流的双重驱动下执行相应的操作,每个可重构处理单元以及可重构处理单元之间的互连均能单独配置,可重构处理单元阵列能被动态划分为子阵列以进行算法级并行处理,实现加速;所述共享内存包括多组存储器,用于负责与片内存储器进行数据交互,以及存储每级FFT运算所产生的中间数据;所述片内存储器包括全局寄存器和本地寄存器,用于存储程序、配置信息和数据。2.根据权利要求1所述的一种针对FFT基模块映射的脉动阵列可重构处理器,其特征在于,还包括:采用层次化的数据存储方式,架构层次涉及可重构处理器、可重构处理单元阵列、可重构处理单元三级,对应提供数据存取的物理单元分别为共享内存、全局寄存器和本地寄存器;全...

【专利技术属性】
技术研发人员:徐安林张强刘念梁小虎郝万宏陈昊杨欢
申请(专利权)人:中国人民解放军六三九二一部队
类型:发明
国别省市:

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

1