CN112559442A - 一种基于软件定义硬件的阵面数字信号处理系统 - Google Patents
一种基于软件定义硬件的阵面数字信号处理系统 Download PDFInfo
- Publication number
- CN112559442A CN112559442A CN202011453060.0A CN202011453060A CN112559442A CN 112559442 A CN112559442 A CN 112559442A CN 202011453060 A CN202011453060 A CN 202011453060A CN 112559442 A CN112559442 A CN 112559442A
- Authority
- CN
- China
- Prior art keywords
- configuration
- memory
- controller
- digital signal
- signal processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 118
- 230000015654 memory Effects 0.000 claims abstract description 89
- 230000006870 function Effects 0.000 claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims abstract description 13
- 238000003491 array Methods 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 235000019800 disodium phosphate Nutrition 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 235000010582 Pisum sativum Nutrition 0.000 description 3
- 240000004713 Pisum sativum Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229920000120 polyethyl acrylate Polymers 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102000006822 Agouti Signaling Protein Human genes 0.000 description 1
- 108010072151 Agouti Signaling Protein Proteins 0.000 description 1
- 102100036924 Solute carrier family 22 member 5 Human genes 0.000 description 1
- 208000033897 Systemic primary carnitine deficiency Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 108010064675 calcium dependent sulfhydryl protease Proteins 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 208000016505 systemic primary carnitine deficiency disease Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及阵面数字信号处理技术领域,具体公开了一种基于软件定义硬件的阵面数字信号处理系统,其中,包括:可重构处理器、配置控制器和数据存储器,所述配置控制器和所述数据存储器均与所述可重构处理器通信连接;所述配置控制器用于接收配置信息,并根据所述配置信息对所述可重构处理器进行配置;所述可重构处理器用于在所述配置控制器的配置完成后实现计算功能;所述数据存储器用于存储所述可重构处理器计算时所需的计算参数。本发明提供的基于软件定义硬件的阵面数字信号处理系统可以有效提高阵面数字信号处理系统中的运算资源利用效率及能量效率。
Description
技术领域
本发明涉及阵面数字信号处理技术领域,尤其涉及一种基于软件定义硬件的阵面数字信号处理系统。
背景技术
随着通信技术的发展,对于阵面数字信号处理有的需要实现高速、低功耗处理,而有的需要实现灵活和可扩展的个性化和定制化的服务。因此,会存在不同的标准、通信质量的要求、不同规模和算法。支持多种标准和协议将成为这类硬件电路设计中的考虑因素之一。因此,阵面数字信号处理系统,需要有灵活性和可扩展性。除了灵活性和可扩展性之外,能量和面积效率也是重要的问题。
基于ASIC(Application Specific Integrated Circuit,专用集成电路)架构实现阵面数字信号处理系统,灵活性会有非常大局限性。基于通用结构的如基于GPU(Graphics Processing Unit,图形处理器)、GPGPU(General-purpose computing ongraphics processing units,通用图形处理器),这些通用结构具有很高的灵活性和吞吐率,但这些架构的功耗和面积消耗很大,这意味着能量和面积效率较低。
基于FPGA、ASIP和DSP的架构的阵面数字信号处理系统实现了高能量和面积效率。然而,它们只在吞吐率、功耗、面积和灵活性等的一个或两个领域占优势。大多数FPGA提供细粒度并行性和高度的灵活性。但是,FPGA的这种灵活的逻辑和互连将导致较长的配置时间和较大的功耗。DSP易于编程,功耗相对较低。但是,DSP的吞吐率通常本质上受到其指令结构的限制。在每次计算前,都需要进行取指令和解析指令的过程。因此,DSP虽然灵活,但是计算效率相对较低。
发明内容
本发明提供了一种基于软件定义硬件的阵面数字信号处理系统,解决相关技术中存在的计算效率都较低的问题。
作为本发明的一个方面,提供一种基于软件定义硬件的阵面数字信号处理系统,其中,包括:可重构处理器、配置控制器和数据存储器,所述配置控制器和所述数据存储器均与所述可重构处理器通信连接;
所述配置控制器用于接收配置信息,并根据所述配置信息对所述可重构处理器进行配置;
所述可重构处理器用于在所述配置控制器的配置完成后实现计算功能;
所述数据存储器用于存储所述可重构处理器计算时所需的计算参数。
进一步地,所述可重构处理器包括多个处理单元阵列,每个所述处理单元阵列均分别连接所述配置控制器和数据存储器,每个所述处理单元阵列均能够被配置以实现不同的计算功能。
进一步地,每个所述处理单元阵列均包括多个处理单元,每个所述处理单元均能够根据配置信息被配置成不同的计算功能单元。
进一步地,每个所述处理单元均包括:处理单元控制器、配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器,所述配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器均与所述处理单元控制器连接,所述多路选择器、多路分配器和所述路由器均与所述算术逻辑单元连接,所述脉动寄存器与所述多路选择器连接,所述配置存储器连接所述配置加载器,所述配置加载器分别连接所述多路选择器和所述加载存储单元,所述加载存储单元分别连接所述多路选择器和多路分配器,所述本地寄存器分别连接所述多路分配器和多路选择器;
所述处理单元控制器用于控制整个处理单元的处理和计算;
所述配置加载器用于解析所述配置存储器中的配置信息,并用于定义整个处理单元的功能;
所述配置存储器用于存储配置信息;
所述路由器用于实现处理单元之间的数据交换;
所述加载存储单元为实现存储器访问的端口;
所述算术逻辑单元用于根据所述配置信息实现相应的计算功能。
进一步地,所述配置控制器包括多个配置控制器单元,所述配置控制器单元与所述处理单元阵列一一对应,每个所述配置通知其单元均用于配置对应的处理单元阵列。
进一步地,所述配置控制器包括多个配置存储器单元,所述配置存储器单元与所述配置控制器单元一一对应,每个所述配置存储器均用于存储与所述配置控制器单元对应的处理单元阵列的配置信息。
进一步地,所述数据存储器包括多个共享存储器,所述共享存储器与所述处理单元阵列一一对应,每个所述共享存储器均能够存储对应的处理单元阵列所需的计算参数。
进一步地,还包括:
主控单元和嵌入式存储器,所述嵌入式存储器与所述主控单元通信连接,所述主控单元与所述可重构处理器通信连接,所述嵌入式存储器用于存储所述主控单元的控制程序,所述主控单元用于加载所述嵌入式存储器中的控制程序,以控制所述可重构处理器的数据传输至所述数据存储器。
进一步地,还包括:外围设备,所述外围设备分别与所述共享存储器和配置控制器通信连接。
进一步地,所述外围设备包括:系统控制器、UART、中断控制器、定时器和串行外围接口。
通过上述基于软件定义硬件的阵面数字信号处理系统,由于设置可重构处理器、配置控制器和数据存储器,通过配置控制器向可重构处理器进行配置,实现各种计算功能,充分利用硬件资源的计算能管理,且配置信息可以通过软件进行定义,实现软件定义硬件架构,从而可以有效提高阵面数字信号处理系统中的运算资源利用效率及能量效率。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明提供的基于软件定义硬件的阵面数字信号处理系统的结构框图。
图2为本发明提供的基于软件定义硬件的阵面数字信号处理系统的具体实施方式结构框图。
图3为本发明提供的处理单元的结构框图。
图4为本发明提供的基于软件定义硬件的阵面数字信号处理系统的配置流程图。
图5为本发明提供的为阵面数字信号处理的基本功能的示意图。
图6为本发明提供的单通道4相算法示意图。
图7为本发明提供的软件定义硬件架构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互结合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,软件定义芯片是一种关于“芯片架构(包括硬件层和软件层)设计”的新理念和新范式。微处理器(CPU、GPU、DSP)设计的模式是软件,通过将应用算法具体化到命令式的软件指令串(或长指令、SIMD指令等),然后用硬件来实现每条指令及其流水、调度、控制机制,从而完成应用功能的物理实现。由于硬件本身的特性基本没有得到体现,所以硬件本身的优势无法利用所以这种方式的效率是最低的。传统可编程逻辑器件设计的本质是硬件,通过将硬件抽象为一个个空间分布的功能簇,组合实现特定的功能需求。由于软件不包含硬件特性上的任何抽象,所以这种方式的编程易用性是比较差的。软件的计算模式是串行的和时域切换的。硬件的计算模式则相反,是并行化的和空间展开的。微处理器的设计路线忽略了硬件的空间并行性,而传统可编程逻辑器件则轻视了软件的时分复用能力。总而言之,微处理器可以看作是“用硬件实现的软件”,而传统可编程器件就可看作是“用户可配置的硬件”。
软件定义芯片,作为一种新的芯片架构设计范式,希望能够打破软件和硬件隔阂,用软件直接定义硬件的运行时功能和规则,使硬件能够随着软件变化而实时改变功能(其硬件不仅可以在时域上不断切换功能,还可以在空域上支持电路功能的可编程),并有可能能够进行实时的功能优化,从而兼顾硬件的高效率和软件的高灵活性。
参考阵面数字信号处理的性能指标,进行资源计算约1.6w个18bit的乘法器才能满足性能要求,功耗小于10w才能满足整机要求,多相算法实现要求系统主频至少满足625Mhz且每相、每通道数据cycle级同步、算法切换cycle级同步、算法定点化方式多样。考虑到ASIC实现时灵活性有限,FPGA乘法器资源、功耗、主频无法满足要求,CPU、DSP以及GPU存在性能、功耗及cycle级同步、算法切换等问题,针对软件定义硬件进行阵面数字信号处理领域定制优化。
在本实施例中提供了一种基于软件定义硬件的阵面数字信号处理系统,图1是根据本发明实施例提供的基于软件定义硬件的阵面数字信号处理系统的结构框图,如图1所示,包括:
可重构处理器100、配置控制器200和数据存储器300,所述配置控制器200和所述数据存储器300均与所述可重构处理器100通信连接;
所述配置控制器200用于接收配置信息,并根据所述配置信息对所述可重构处理器进行配置;
所述可重构处理器100用于在所述配置控制器的配置完成后实现计算功能;
所述数据存储器300用于存储所述可重构处理器计算时所需的计算参数。
通过上述基于软件定义硬件的阵面数字信号处理系统,由于设置可重构处理器、配置控制器和数据存储器,通过配置控制器向可重构处理器进行配置,实现各种计算功能,充分利用硬件资源的计算能管理,且配置信息可以通过软件进行定义,实现软件定义硬件架构,从而可以有效提高阵面数字信号处理系统中的运算资源利用效率及能量效率。
具体地,如图2所示,所述可重构处理器包括多个处理单元阵列,每个所述处理单元阵列均分别连接所述配置控制器和数据存储器,每个所述处理单元阵列均能够被配置以实现不同的计算功能。
在本发明实施例中,以可重构处理器包括四个4×4的处理单元阵列(PEA)为例进行说明。其中,PEA是可重构处理器主要的计算单元,它们是实现任务加速的关键部分。每个PEA可以动态地划分成子模块,以适应高并行性算法的计算需求。每个处理单元(PE)都可以根据配置信息,被配置成不同操作。本发明实施例中的架构中PEA和PE的设计原则是尽量同时满足算法和电路实现的需求。
具体地,每个所述处理单元阵列均包括多个处理单元,每个所述处理单元均能够根据配置信息被配置成不同的计算功能单元。
在本发明实施例中,以每个处理单元阵列包括8×8的处理单元为例进行说明。
如图3所示,为每个处理单元的结构组成示意图。每个所述处理单元均包括:处理单元控制器、配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器,所述配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器均与所述处理单元控制器连接,所述多路选择器、多路分配器和所述路由器均与所述算术逻辑单元连接,所述脉动寄存器与所述多路选择器连接,所述配置存储器连接所述配置加载器,所述配置加载器分别连接所述多路选择器和所述加载存储单元,所述加载存储单元分别连接所述多路选择器和多路分配器,所述本地寄存器分别连接所述多路分配器和多路选择器;
所述处理单元控制器用于控制整个处理单元的处理和计算;
所述配置加载器用于解析所述配置存储器中的配置信息,并用于定义整个处理单元的功能;
所述配置存储器用于存储配置信息;
所述路由器用于实现处理单元之间的数据交换;
所述加载存储单元为实现存储器访问的端口;
所述算术逻辑单元用于根据所述配置信息实现相应的计算功能。
在本发明实施例中,每个PE包括九个模块,包括一个PE控制器、一个配置加载器、一个路由器、一个算术逻辑单元(ALU)、一个加载存储单元(loadstoreunit,LSU)、两个用于输入1和输入2的脉动寄存器、每个PE中的16个本地寄存器(localregister,LR)、256×64比特的配置存储器以及多路选择器和多路分配器。PE控制器用于控制整个PE的处理和计算。配置加载器解析配置存储器中的配置,并定义整个PE的功能。路由器由配置信息控制,用于PE之间的数据交换。LSU是PE中用于实现存储器访问的端口。根据配置信息,LSU被定义为从SM为ALU加载或存储数据的单元。主计算部分ALU及其输入和输出由配置存储器中的配置信息控制。
根据阵面数字信号处理需求分析,应用包括各种类型的操作。因此,ALU设计了26个不同的功能,包括逻辑运算功能,如与、或、异或、逻辑左/右移位等,以及算术运算功能,如有符号加法、减法、乘法、算术左/右移位、平方根等。考虑到阵面数字信号处理系统的复数运算特性,ALU还具有复数运算功能,如有符号复数加法、减法和乘法。此外,考虑到复数矩阵和向量运算占总计算量的比例很大,ALU中还有一些特殊的函数,如有符号复数乘累加、共轭乘法、共轭乘累加、共轭乘累减等。ALU的功能由5位定长操作码(OpCode)来表示,如表6.1所示。对于复数运算,数据的高16位和低16位分别表示复数的虚部和实部。为了减少操作码和配置信息,当高16位为零时,算术左/右移位和有符号除法运算是实数运算;当高16位不为零时,这些运算是复数运算。此外,阵面数字信号处理算法还包括各种位宽操作和形式。因此,在ALU中需要进行粗粒度和细粒度计算,以加速两种不同的操作。在每个ALU中,对于粗粒度计算来说有两个32比特输入和一个32比特输出;对于细粒度计算来说有一个1比特输入和一个1比特输出。通过这两个数据通路的结合来满足各种位宽计算的要求。此外,32比特数据和1比特数据也可以交叉计算,例如选择和极值函数。为了支持阵面数字信号处理系统的灵活数据访问和可重用性分析,ALU采用灵活输入和输出。对于32比特输入,有6种不同的选择,包括来自路由器的数据、脉动寄存器(SR)、每个PE的LR、GR、SM和来自配置加载器的立即数。32比特(输出1)的计算结果可通过路由器用于其他PE的计算,或保留在每个PE的本地寄存器中用于短期存储,或通过LSU传输到SM进行长期存储,或存储在该PEA的全局寄存器中。1比特输入数据来自路由器(其他PE的输出2),1比特输出通过路由器传输到其他PE。
具体地,如图2所示,所述配置控制器包括多个配置控制器单元,所述配置控制器单元与所述处理单元阵列一一对应,每个所述配置通知其单元均用于配置对应的处理单元阵列。
具体地,所述配置控制器包括多个配置存储器单元,所述配置存储器单元与所述配置控制器单元一一对应,每个所述配置存储器均用于存储与所述配置控制器单元对应的处理单元阵列的配置信息。
具体地,如图2所示,所述数据存储器包括多个共享存储器,所述共享存储器与所述处理单元阵列一一对应,每个所述共享存储器均能够存储对应的处理单元阵列所需的计算参数。
具体地,所述基于软件定义硬件的阵面数字信号处理系统还包括:
主控单元和嵌入式存储器,所述嵌入式存储器与所述主控单元通信连接,所述主控单元与所述可重构处理器通信连接,所述嵌入式存储器用于存储所述主控单元的控制程序,所述主控单元用于加载所述嵌入式存储器中的控制程序,以控制所述可重构处理器的数据传输至所述数据存储器。
在本发明实施例中,主控单元具体可以为ARM7,嵌入式存储器具体可以为ESRAM。
具体地,所述基于软件定义硬件的阵面数字信号处理系统还包括:外围设备,所述外围设备分别与所述共享存储器和配置控制器通信连接。
在一些实施方式中,所述外围设备包括:系统控制器、UART、中断控制器、定时器和串行外围接口。
如图2所示,所述外围设备均通过高速转低速接口AHB2APB与高速总线AHB连接,所述高速总线AHB用于实现嵌入式存储器与多路选择器的通信连接。
应当理解的是,所述多路选择器的路数与所述处理单元阵列的数量一一对应,如图2所示,可重构处理单元包括4个PEA,则对应的多路选择器则为4选1多路选择器。
如图4所示,为本发明实施例提供的基于软件定义硬件的阵面数字信号处理系统的配置方法流程图。
在本发明实施例中,可重构处理器中的计算流被划分为三个级别,包括系统级、PEA级和PE级,首先,ARM7控制ESRAM,通过PEA数据控制器(PEA-DC)将数据传输到其中一个共享存储器,该控制器包括一个多路选择器。在所有数据准备就绪后,配置包的起始地址和长度通过PEA配置控制器(PEA-CC)传输到一个配置存储器中。在PEA所有的数据和配置准备就绪之后,初始化计时器,并启用计时器和PEA。标志位被启用,PEA开始计算。同时,开始计时并等待所有的PEA完成计算。每个PEA读取PEA配置信息以确定PEA的总迭代次数。在PEA中,每个PE读取各自的配置信息,并确定PE配置的迭代次数、配置起始行和总行数。然后,PE读取配置行的内容,并根据数据源、操作码和配置行的迭代次数进行计算。直到所有PE完成计算后,PEA完成一次计算。随后,等待PEA完成所有迭代计算。当所所有PEA完成所有迭代计算时,关闭计时器并打印计时器计数。输出计算所需的时钟周期数。所需数据从PEA存储到SM,ARM将SM内输出数据移到ESRAM。然后,验证正确性并打印结果。最后,关闭PEA以降低功耗开销,并为下一步操作做好准备。
不同算法将被组织成配置信息。配置控制器与PEA_index及主控接口交互。同时,配置控制器还连接到AHB总线以获取配置信息。配置控制器有三个级别的工作流程:
1、在系统级,解析配置字,即接收到的配置信息。
2、在PEA级,读每个PEA的顶层配置信息,它主要描述PEA的整体信息,比如每个PEA的配置包需要循环执行的次数等。
3、在PE级,PEA内部的所有16个PE读他们自己对应的PE顶层配置信息,它主要描述PE的整体信息,比如该PE对应的配置信息在整个配置包中的行数、每个PE的配置信息行需要循环执行的次数等。
4、在PE级,读每个PE的配置信息,这部分主要是每个PE的基础信息,包括输入、输出和操作等。当一个PE读取到该PE配置信息总行数的时候,这个PE的配置信息传输完成。比如,假设PE1的配置信息在配置包中行数为第15行-第32行(该行数可以根据PE顶层配置信息确定),当第32行配置信息读取完成,那么整个PE1的配置信息传输完成。一旦所有个PE的配置信息都传输完成,整个PEA的配置信息传输完成。可重构处理器由配置-数据流水线驱动(contextdatastreampipeline,CDSP)。PE根据配置信息选择输入数据和功能函数,并进行计算过程。并以流水线方式来进行。每个流水线处理中有五个阶段,包括取指、译码、加载数据、执行和回写。此外,流水线中的一个阶段需要两个时钟周期。这些操作由PE中的PE控制器进行控制。首先,通过配置信息加载器从配置信息存储器中取指令。然后,执行译码操作来解析配置信息。根据配置信息,加载ALU的输入数据,然后进行计算。计算完成后,将结果输出并完成处理。这样,每个配置信息的处理依次完成。在可重构处理器中,配置信息流、数据加载和存储以及计算都是通过流水线完成的。
对于配置存储系统预取,配置存储器的总大小为128KB。具体来说,配置存储器分布在每个PE中,每个配置存储器的大小为256×64比特。在可重构阵列的配置过程中,采用了一种全动态可重构三维配置信息技术。三维是指二维的PEA在时间轴上的展开。该技术使PE单元的配置信息在运行过程中能周期性地被替换,而不会出现明显的配置延迟。通常,使用多组非顺序配置信息以固定的执行顺序完成任务。一个组中配置信息的排序可以被解析并用于准确地预测下一个配置信息,从而可以预先获取下一个配置信息。另外,由于PEA使用流水机制进行配置和计算,因此在PE进行动态实时配置时,在执行PE计算的过程中会预先获取下一个周期的配置信息。通过这种方式,实现了PE的配置信息流水处理,采用预取技术能够平均降低36%的配置延迟。
在本发明实施例中,以一个具体的应用场景进行说明基于软件定义硬件的阵面数字信号处理系统的工作原理。
如图5所示,为阵面数字信号处理的基本功能,图6为单通道4相算法示意图,表1为通道配置组合表,其中cycle级同步,cycle级切换。
表1通道配置组合表
其中,sig_gen表示信号生成模块,产生信号类型有:点频,线性调频(正负斜率),矩形波,三角波等,ADC采样率:1GSPS,DAC采样率:1GSPS。
基本的处理流程1为:
发射通道:
1、sig_gen生成250MHZ速率线性调频信号;
2、UFIR-1为64阶fir滤波器,系数为复数,非对称架构;
3、UFIR-2为64阶fir滤波器,系数为实数,非对称架构;
4、UFIR-3为23阶fir滤波器,系数为实数,对称架构,支持2~6倍插值;
5、UFIR-4为64阶fir滤波器,系数为实数,对称架构,支持2~6倍插值。
接收通道:
1、CIC为5级结构,支持2~64倍抽取;
2、DFIR-1为23阶fir滤波器,系数为实数,对称架构,支持2~8倍抽取;
3、DFIR-2为64阶fir滤波器,系数为实数,对称架构,支持2~8倍抽取;
4、DFIR-3为64阶fir滤波器,系数为复数,非对称架构;
5、DFIR-4为64阶fir滤波器,系数为复数,非对称架构。
基本的处理流程2为:
发射通道:
1、sig_gen生成250MHZ速率线性调频信号;
2、UFIR-1bypass;
3、UFIR-2bypass;
4、UFIR-3为32阶fir滤波器,系数为实数,对称架构,支持2~6倍插值;
5、UFIR-4为99阶fir滤波器,系数为实数,对称架构,支持2~6倍插值;
接收通道:
6、CIC为5级结构,支持2~64倍抽取;
7、DFIR-1为32阶fir滤波器,系数为实数,对称架构,支持2~8倍抽取;
8、DFIR-2为99阶fir滤波器,系数为实数,对称架构,支持2~8倍抽取;
9、DFIR-3bypass;
10、DFIR-4bypass。
综上,本发明实施例提供的基于软件定义硬件的阵面数字信号处理系统,针对阵面数字信号处理中多通道处理实现通道cycle级同步,每个通道中的算法进行多相实现时,保持每项数据的cycle级同步,考虑实际运行场景通道数量级通道相数满足cycle级切换、运算资源面积超过整体面积75%,能量效率、面积效率约为asic实现的80%左右;考虑到阵面数字信号处理数据位宽及定点话操作随AD位宽及采样率变化,为了充分利用硬件资源的计算能力,所设计的软件定义硬件架构的计算单元需要支持各种位宽操作和格式。此外,高效的配置机制将提高非计算操作的运算速率,比如数据对齐操作;针对阵面数字信号处理时,滤波系数加载存在多通道多相同步的问题,软件定义硬件架构为了有效地支持这些不同的数据形式和访问模式,需要灵活的内存访问方案。考虑到各种矩阵和向量运算,软件定义硬件架构需要高内存带宽的利用率,以平衡计算密集型和内存密集型运算。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种基于软件定义硬件的阵面数字信号处理系统,其特征在于,包括:可重构处理器、配置控制器和数据存储器,所述配置控制器和所述数据存储器均与所述可重构处理器通信连接;
所述配置控制器用于接收配置信息,并根据所述配置信息对所述可重构处理器进行配置;
所述可重构处理器用于在所述配置控制器的配置完成后实现计算功能;
所述数据存储器用于存储所述可重构处理器计算时所需的计算参数。
2.根据权利要求1所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,所述可重构处理器包括多个处理单元阵列,每个所述处理单元阵列均分别连接所述配置控制器和数据存储器,每个所述处理单元阵列均能够被配置以实现不同的计算功能。
3.根据权利要求2所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,每个所述处理单元阵列均包括多个处理单元,每个所述处理单元均能够根据配置信息被配置成不同的计算功能单元。
4.根据权利要求3所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,每个所述处理单元均包括:处理单元控制器、配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器,所述配置加载器、路由器、算术逻辑单元、加载存储单元、脉动寄存器、本地寄存器、配置存储器、多路选择器和多路分配器均与所述处理单元控制器连接,所述多路选择器、多路分配器和所述路由器均与所述算术逻辑单元连接,所述脉动寄存器与所述多路选择器连接,所述配置存储器连接所述配置加载器,所述配置加载器分别连接所述多路选择器和所述加载存储单元,所述加载存储单元分别连接所述多路选择器和多路分配器,所述本地寄存器分别连接所述多路分配器和多路选择器;
所述处理单元控制器用于控制整个处理单元的处理和计算;
所述配置加载器用于解析所述配置存储器中的配置信息,并用于定义整个处理单元的功能;
所述配置存储器用于存储配置信息;
所述路由器用于实现处理单元之间的数据交换;
所述加载存储单元为实现存储器访问的端口;
所述算术逻辑单元用于根据所述配置信息实现相应的计算功能。
5.根据权利要求2所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,所述配置控制器包括多个配置控制器单元,所述配置控制器单元与所述处理单元阵列一一对应,每个所述配置通知其单元均用于配置对应的处理单元阵列。
6.根据权利要求5所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,所述配置控制器包括多个配置存储器单元,所述配置存储器单元与所述配置控制器单元一一对应,每个所述配置存储器均用于存储与所述配置控制器单元对应的处理单元阵列的配置信息。
7.根据权利要求2所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,所述数据存储器包括多个共享存储器,所述共享存储器与所述处理单元阵列一一对应,每个所述共享存储器均能够存储对应的处理单元阵列所需的计算参数。
8.根据权利要求1所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,还包括:
主控单元和嵌入式存储器,所述嵌入式存储器与所述主控单元通信连接,所述主控单元与所述可重构处理器通信连接,所述嵌入式存储器用于存储所述主控单元的控制程序,所述主控单元用于加载所述嵌入式存储器中的控制程序,以控制所述可重构处理器的数据传输至所述数据存储器。
9.根据权利要求1所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,还包括:外围设备,所述外围设备分别与所述共享存储器和配置控制器通信连接。
10.根据权利要求9所述的基于软件定义硬件的阵面数字信号处理系统,其特征在于,所述外围设备包括:系统控制器、UART、中断控制器、定时器和串行外围接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453060.0A CN112559442A (zh) | 2020-12-11 | 2020-12-11 | 一种基于软件定义硬件的阵面数字信号处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453060.0A CN112559442A (zh) | 2020-12-11 | 2020-12-11 | 一种基于软件定义硬件的阵面数字信号处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559442A true CN112559442A (zh) | 2021-03-26 |
Family
ID=75061353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011453060.0A Pending CN112559442A (zh) | 2020-12-11 | 2020-12-11 | 一种基于软件定义硬件的阵面数字信号处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559442A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968911A (zh) * | 2022-08-01 | 2022-08-30 | 中国人民解放军63921部队 | 算子频度压缩及上下文配置调度的fir可重构处理器 |
WO2024159988A1 (zh) * | 2023-01-31 | 2024-08-08 | 北京清微智能科技有限公司 | 数据流驱动的可重构处理器芯片及可重构处理器集群 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070074001A1 (en) * | 2005-09-29 | 2007-03-29 | Fujitsu Limited | Reconfigurable integrated circuit device |
US20080189514A1 (en) * | 2005-03-03 | 2008-08-07 | Mcconnell Raymond Mark | Reconfigurable Logic in Processors |
CN101685389A (zh) * | 2008-09-28 | 2010-03-31 | 北京大学深圳研究生院 | 一种处理器结构 |
CN103019656A (zh) * | 2012-12-04 | 2013-04-03 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
CN103927269A (zh) * | 2014-04-23 | 2014-07-16 | 东南大学 | 一种基于块匹配的可重构配置信息缓存系统及压缩方法 |
CN103970720A (zh) * | 2014-05-30 | 2014-08-06 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
CN105912501A (zh) * | 2016-05-06 | 2016-08-31 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 |
CN106294278A (zh) * | 2016-08-01 | 2017-01-04 | 东南大学 | 用于动态可重构阵列计算系统的自适硬件预配置控制器 |
CN109597646A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 具有可配置空间加速器的处理器、方法和系统 |
CN110321162A (zh) * | 2019-07-01 | 2019-10-11 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
-
2020
- 2020-12-11 CN CN202011453060.0A patent/CN112559442A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189514A1 (en) * | 2005-03-03 | 2008-08-07 | Mcconnell Raymond Mark | Reconfigurable Logic in Processors |
US20070074001A1 (en) * | 2005-09-29 | 2007-03-29 | Fujitsu Limited | Reconfigurable integrated circuit device |
CN101685389A (zh) * | 2008-09-28 | 2010-03-31 | 北京大学深圳研究生院 | 一种处理器结构 |
CN103019656A (zh) * | 2012-12-04 | 2013-04-03 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
CN103927269A (zh) * | 2014-04-23 | 2014-07-16 | 东南大学 | 一种基于块匹配的可重构配置信息缓存系统及压缩方法 |
CN103970720A (zh) * | 2014-05-30 | 2014-08-06 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
CN105912501A (zh) * | 2016-05-06 | 2016-08-31 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 |
CN106294278A (zh) * | 2016-08-01 | 2017-01-04 | 东南大学 | 用于动态可重构阵列计算系统的自适硬件预配置控制器 |
CN109597646A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 具有可配置空间加速器的处理器、方法和系统 |
CN110321162A (zh) * | 2019-07-01 | 2019-10-11 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
Non-Patent Citations (3)
Title |
---|
GUIQIANG PENG; LEIBO LIU; SHAOJUN WEI;: "A 2.92-Gb/s/W and 0.43-Gb/s/MG Flexible and Scalable CGRA-Based Baseband Processor for Massive MIMO Detection", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 * |
LEIBO LIU,SHAOJUN WEI: "A high energy efficient reconfigurable hybrid neural network processor for deep learing applications", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 * |
魏少军: "可重构计算:软件可定义的计算引擎", 《中国科学:信息科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968911A (zh) * | 2022-08-01 | 2022-08-30 | 中国人民解放军63921部队 | 算子频度压缩及上下文配置调度的fir可重构处理器 |
WO2024159988A1 (zh) * | 2023-01-31 | 2024-08-08 | 北京清微智能科技有限公司 | 数据流驱动的可重构处理器芯片及可重构处理器集群 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213723B (zh) | 一种用于数据流图处理的处理器、方法、设备、及一种非暂时性机器可读介质 | |
Wijtvliet et al. | Coarse grained reconfigurable architectures in the past 25 years: Overview and classification | |
JP6373991B2 (ja) | フィルタベクトル処理動作のためのタップ付き遅延線を利用するベクトル処理エンジンと、関連するベクトル処理システムおよび方法 | |
US7200837B2 (en) | System, method and software for static and dynamic programming and configuration of an adaptive computing architecture | |
KR101781057B1 (ko) | 실행 유닛들과 벡터 데이터 메모리 사이에 병합 회로를 갖는 벡터 프로세싱 엔진, 및 관련된 방법 | |
US20130111188A9 (en) | Low latency massive parallel data processing device | |
JP2016537724A (ja) | ベクトル処理動作のために実行ユニットに入力ベクトルデータのインフライトフォーマット変換を提供するためにベクトルデータメモリと実行ユニットとの間でデータフローパスにおいてフォーマット変換回路を利用するベクトル処理エンジン(vpe)および関連するベクトル処理システムと方法 | |
JP2016537725A (ja) | 実行ユニットとベクトルデータメモリとの間のデータフローパスにおいて逆拡散回路を利用するベクトル処理エンジン、および関連する方法 | |
JP2016537723A (ja) | フィルタベクトル処理動作のためのタップ付き遅延線を利用するベクトル処理エンジンと、関連するベクトル処理システムおよび方法 | |
JP2003216943A (ja) | 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法 | |
US7734896B2 (en) | Enhanced processor element structure in a reconfigurable integrated circuit device | |
CN112559442A (zh) | 一种基于软件定义硬件的阵面数字信号处理系统 | |
Abdelhamid et al. | A highly-efficient and tightly-connected many-core overlay architecture | |
CN113407483B (zh) | 一种面向数据密集型应用的动态可重构处理器 | |
Abdelhamid et al. | MITRACA: A next-gen heterogeneous architecture | |
Tombs et al. | Mocarabe: High-performance time-multiplexed overlays for FPGAs | |
Schmidt et al. | Data-driven array processor for video signal processing | |
Hussain et al. | HARP 2: An X-Scale Reconfigurable Accelerator-Rich Platform for Massively-Parallel Signal Processing Algorithms | |
KR20060090512A (ko) | 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조 | |
Madhu et al. | Synthesis of instruction extensions on hypercell, a reconfigurable datapath | |
KR100952148B1 (ko) | 시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법 | |
Mayer-Lindenberg | High-level FPGA programming through mapping process networks to FPGA resources | |
Schwartz et al. | The optimal synchronous cyclo-static array: a multiprocessor supercomputer for digital signal processing | |
WO2011151000A9 (en) | Method and device for data processing | |
WO2024054233A1 (en) | Configurable wavefront parallel processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210326 |