CN102707931A - 一种基于并行数据通道的数字信号处理器 - Google Patents
一种基于并行数据通道的数字信号处理器 Download PDFInfo
- Publication number
- CN102707931A CN102707931A CN2012101422478A CN201210142247A CN102707931A CN 102707931 A CN102707931 A CN 102707931A CN 2012101422478 A CN2012101422478 A CN 2012101422478A CN 201210142247 A CN201210142247 A CN 201210142247A CN 102707931 A CN102707931 A CN 102707931A
- Authority
- CN
- China
- Prior art keywords
- parallel
- digital signal
- arithmetical logic
- signal processor
- passage
- 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
Images
Abstract
本发明提供一种基于并行数据通道的数字信号处理器,其并行数据通道依次包括:并行乘法单元,由多个并行乘法器构成,执行多路实数乘法或复数乘法,可执行旁路操作;并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该层可执行旁路操作;并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作。本发明提高了数字信号处理器的处理性能及效率。
Description
技术领域
本发明涉及数字信号处理器技术领域,尤其涉及一种基于并行数据通道的数字信号处理器。
背景技术
可编程处理器通过软件程序实现不同的计算功能,具有高度的灵活性。处理器的一个重要组件是算数逻辑单元(ALU),执行算术和逻辑运算。通用处理器上的ALU支持简单的算术运算和逻辑运算。在通用处理器上,复杂的计算被分解为多步的ALU运算来实现。通常的数字信号处理算法均可由通用可编程处理器执行,但其并不适合使用在由电池供电或者有低功耗要求的嵌入式系统中。因为通用处理器无法同时满足数字信号处理算法对处理速度,实施成本,以及功耗的要求。
专用数字信号处理器是一种针对特定的数字信号处理应用而设计的可编程处理器。它使用特殊的处理器架构,如优化算术逻辑单元来提高计算速度。数字信号处理算法通常需要对一组输入数据进行快速和重复的数学运算,往往需要实时计算,对延迟有严格要求。数字信号处理器上执行的数学运算通常由重复的数学计算,如乘加计算(MAC)构成。这些计算在通用处理器上被进一步分解并通过多步执行来实现。专用处理器通过设计特殊的逻辑计算单元单步完成这些基本运算而提高运算速度。
现有技术有一种超长指令字(VLIW)处理器的并行操作,VLIW结构的处理器结构通过指令级并行运行提高处理速度。VLIW处理器同时执行多条指令,充分利用处理器的硬件资源来提高处理速度。缺点是程序指令字过长,和并行效率不高。VLIW处理器把多个操作合并成一个超长指令,一次读入并同时执行其中的多个操作,但是由于程序执行的操作受依赖关系限制,一些操作不能在VLIW处理器上并行执行,通常超长指令字中的某个操作为空操作(NOP),使得程序效率降低,也影响处理能力。而且一些特殊的数字信号处理算法无法在VLIW处理器上高效的执行,这是因为VLIW处理器依赖编译器决定操作执行的顺序,而现有的代码生成工具还不能分析专用数字信号处理算法并利用专用硬件和指令提高处理速度,且在执行多数的同构重复的数字信号处理算法时,控制代码过于冗余,开销过大。
现有技术还有一种单指令多数据(SIMD,Single Instruction Multiple Data)处理器的一维并行数据通道,SIMD结构的处理器结构通过数据级并行计算提高处理速度,由多个处理单元同时对多个数据执行相同操作。但是传统SIMD处理器只是针对数据并行处理而简单扩展了ALU单元使之能够同时处理多路输入数据,对于专用数字信号处理算法,将其较复杂的操作分解为简单的SIMD操作后性能提高并不明显。
发明内容
本发明实施例提供一种基于并行数据通道的数字信号处理器,以提高数字信号处理器的处理性能及效率。
为了达到上述技术目的,本发明实施例提供了一种基于并行数据通道的数字信号处理器,所述数字信号处理器的并行数据通道依次包括并行乘法单元,并行运算单元组,及并行累加单元三层硬件,其中:
所述并行乘法单元,由多个并行乘法器构成,用于执行多路实数乘法或者复数乘法,该并行乘法单元层可执行旁路(bypass)操作;
所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作;
所述并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作。
优选的,在本发明一实施例中,所述并行乘法单元还可以包括操作数转发(operandforwarding)电路,用于进行指数运算。
优选的,在本发明一实施例中,所述并行运算单元组的交换网络由数据选择器组构成。
进一步地,优选的,本发明一实施例中,所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,可以包括:所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。
优选的,在本发明一实施例中,所述多级算术逻辑通道可以包括三层算术逻辑通道(需要说明的是,层数可根据并行N决定,实例中8路并行时有三层,4路并行时2层,16路并行时4层,本发明实施例并行运算单元组的层数不固定为三层,本发明实施例并不以此为限)。
优选的,在本发明一实施例中,所述并行乘法单元由2N个并行乘法器构成,其中,N为大于或等于2的自然数。
进一步地,优选的,在本发明一实施例中,所述并行运算单元组由3N个算术逻辑单元构成(此处与上同,N=8时为3N,N=4时为2N,N=16时为4N),该并行运算单元组可以包括三层算术逻辑通道,每一层算术逻辑通道分别包括N个算术逻辑单元。
进一步地,优选的,在本发明一实施例中,所述并行累加单元由N个并行累加单元构成。
另一方面,本发明实施例提供一种基于并行数据通道的数字信号处理器,所述数字信号处理器的并行数据通道包括并行运算单元组,其中:所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作。
优选的,在本发明一实施例中,所述并行运算单元组的交换网络由数据选择器组构成;所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,包括:所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。
上述技术方案具有如下有益效果:因为采用一种基于并行数据通道的数字信号处理器,所述数字信号处理器的并行数据通道依次包括并行乘法单元,并行运算单元组,及并行累加单元三层硬件,其中:所述并行乘法单元,由多个并行乘法器构成,用于执行多路实数乘法或者复数乘法,该并行乘法单元层可执行旁路(bypass)操作;所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作;所述并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作的技术手段,所以提高了数字信号处理器的处理性能及效率,可以使用简单高效的指令支持面向专用数字信号处理应用的快速和重复的计算。本发明实施例可单独通过并行运算单元组运行各种function(DCT,FIR等)的映射方法;本发明实施例主要考虑是对于处理器结构不包含第一和第三级,还是可以用第二级的各种映射达到高性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于并行数据通道的数字信号处理器结构示意图;
图2为本发明应用实例数字信号处理器的并行数据通道示意图;
图3为本发明应用实例第一层并行乘法单元的实现示意图;
图4为本发明应用实例第二层并行运算单元组的实现示意图;
图5为本发明应用实例第三层并行累加单元的实现示意图;
图6为本发明应用实例常规SIMD操作的实现示意图;
图7为本发明应用实例长型FIR(有限冲激响应,Finite Impulse Response)滤波器的实现示意图;
图8为本发明应用实例并行多路短FIR滤波器的实现示意图;
图9为本发明应用实例复数FIR的实现示意图;
图10为本发明应用实例FFT(Fast Fourier Transformation,快速傅氏变换)运算的实现示意图;
图11为本发明应用实例DCT(离散余弦变换,Discrete Cosine Transform)运算的第一个并行数据通道实现示意图;
图12为本发明应用实例DCT运算的第二个并行数据通道实现示意图;
图13为本发明应用实例排序操作的实现示意图;
图14为本发明应用实例生成指数序列的实现示意图;
图15为本发明应用实例Taylor(泰勒)操作的实现示意图;
图16为本发明应用实例对多种数据格式的支持的实现示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一种基于并行数据通道的数字信号处理器结构示意图,所述数字信号处理器的并行数据通道1依次包括并行乘法单元11,并行运算单元组12,及并行累加单元13三层硬件,其中:
所述并行乘法单元11,由多个并行乘法器构成,用于执行多路实数乘法或者复数乘法,该并行乘法单元层可执行旁路操作(即无操作);
所述并行运算单元组12,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作;
所述并行累加单元13,由多个并行累加单元构成,用于执行累加和后处理操作。
如图2所示,为本发明应用实例数字信号处理器的并行数据通道示意图,优选的,在本发明一实施例中,所述多级算术逻辑通道可以包括三层算术逻辑通道(需要说明的是,层数可根据并行N决定,实例中8路并行时有三层,4路并行时2层,16路并行时4层,本发明实施例并行运算单元组的层数不固定为三层,本发明实施例并不以此为限)。所述并行乘法单元由16个并行乘法器构成。所述并行运算单元组由24个算术逻辑单元构成,该并行运算单元组可以包括三层算术逻辑通道,每一层算术逻辑通道分别包括8个算术逻辑单元。所述并行累加单元由8个并行累加单元构成。需要说明的是,本发明应用实例所述的并行乘法单元中的并行乘法器个数,并行运算单元组中的算术逻辑单元个数,每一层算术逻辑通道中的算术逻辑单元个数,及并行累加单元中的累加单元个数以及并行运算单元组的层数不固定为三层并不以上述数字个数为限,其他个数的数目也在本发明实施例的保护范围之内。
第一层:并行乘法单元,用于进行实数及复数乘法,该层由多个并行乘法器构成。可被配置为执行多路实数乘法或者复数乘法。该层可执行旁路操作(通过旁路bypass电路实现,可以用于旁路这一层上的乘法器设备,即将输入端开的数据传递到输出端口作为输出数据,不做乘法操作)该层可以使用operand forwarding(操作数转发)电路支持指数运算,例如:x,x2,x3,x4,…。
第二层:运算单元(PE,Processing Element)组,包括多个算术逻辑单元,为由多级算术逻辑通道及所述多个算术逻辑单元互联构成的交换网络,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值等操作,该并行运算单元组层可执行旁路(bypass)操作。可配置该层进行操作如:1.长字节乘法;2.复数乘法;3.累加;4.排序操作;5.专用DSP(Digital SignalProcessing,数字信号处理)运算操作。
第三层:并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作(post-processing)。
上述第一层和第三层支持传统的SIMD操作,而对于复杂的操作,将由三层硬件以管道(或流水并行,Pipeline)方式并行执行。
数字信号处理器的并行数据通道可为执行简单操作的数据通道,包括:1.加法、减法、最小值、最大值、绝对值;2.逻辑运算,如与、或、异或;3.算术移位或逻辑移位;4.前导零计数(count leading zeros);5.后处理操作如缩放(scaling)、舍入(rounding)、饱和(saturation)。或者为执行高级数字信号处理操作的数据通道,包括:1.FIR(有限冲激响应,Finite Impulse Response)滤波器;2.基-2,基-4的蝶形运算(butterfly)操作;3.1D DCT(离散余弦变换,Discrete Cosine Transform);4.Bitonic sorting(超群的分类)排序;5.非线性滤波(最大值,最小值,或者中值);6.指数运算;7.快速泰勒级数展开。
每层的硬件包括:
如图3所示,为本发明应用实例第一层并行乘法单元的实现示意图,包括:1.乘法器;2.operand forwarding(操作数转发)电路,用于进行指数运算。其中,乘法器为包含*的方块;a0,b0,c0,a1,b1,c1是寄存器,是该层的输入数据;Ext为extension(扩展),是对a0,b0,c0,a1,b1,c1寄存器数据做符号扩展的模块;r为寄存器。
如图4所示,为本发明应用实例第二层并行运算单元组的实现示意图,并行运算单元组的交换网络由数据选择器组构成,三级双精度算术逻辑通道,每一级算术逻辑通道由多路并行算术逻辑单元构成。上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。其中,每个AB是一个算术逻辑单元,r为第一层的输出,是该层的输入,为寄存器。
如图5所示,为本发明应用实例第三层并行累加单元的实现示意图,可以包括:1.旁路旁路(bypass)选择电路;2.累积加法器寄存器;3.累积加法器;4.逻辑计算单元;5.find-first-one block(先发现阻止);6.移位单元;7.舍入(rounding);8.饱和单元(saturation);9.标志位单元(flag generation)。其中,AB是第三层的算术逻辑单元,与第二层的AB不同。t为第二层的输出。a或b为第一层的输入,在第二层被执行旁路(bypass)操作到第三层作为输入。
本发明实施例或应用实例上述技术方案具有如下有益效果:因为采用一种基于并行数据通道的数字信号处理器,所述数字信号处理器的并行数据通道依次包括并行乘法单元,并行运算单元组,及并行累加单元三层硬件,其中:所述并行乘法单元,由多个并行乘法器构成,用于执行多路实数乘法或者复数乘法,该并行乘法单元层可执行旁路操作;所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及所述多个算术逻辑单元互联构成的交换网络,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作;所述并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作的技术手段,所以提高了数字信号处理器的性能及效率,可以使用简单高效的指令支持面向专用数字信号处理应用的快速和重复的计算。本发明实施例可以提高专用处理器运行数字信号处理算法的速度,通过本发明实施例提供的数据通道,可设计高效的专用指令支持常用的数字信号处理如泰勒展开,滤波器,变换,矩阵运算等,以提高运算速度。
以下举算法的应用实例进行说明:
1.常规SIMD操作:如图6所示,为本发明应用实例常规SIMD操作的实现示意图,常规SIMD操作仅使用第三层的累积加法器层进行并行算术逻辑运算,第一层并行乘法器和第二层并行运算单元组被执行旁路(bypass)操作。常规SIMD操作包括向量加减,比较,绝对值,移位,逻辑运算,以及前导零计数。
2.长型FIR滤波器:如图7所示,为本发明应用实例长型FIR滤波器的实现示意图,长型FIR滤波器,如阶数(tap)大于并行数据通道宽度N的FIR滤波器,在数据通道的第一层,每个输入数据跟对应的系数相乘,乘法的结果通过第二层所示链接的并行运算单元组得到该输入数组跟对应系数的乘累加结果。该结果在第三层通过累加器进行累加和后处理(A/P)得到长型FIR滤波器的计算结果。
3.并行多路短FIR滤波器:如图8所示,为本发明应用实例并行多路短FIR滤波器的实现示意图,FIR的阶数小于并行数据通道的宽度N时,使用上述二维并行数据通道可并行执行多路短FIR滤波器运算。如图8所示,在一个8路并行数据通道上同时运行两个4阶FIR滤波器。
4.复数FIR:如图9所示,为本发明应用实例复数FIR的实现示意图,对于复数形式,第一层的并行乘法器将执行复数的实部与实部,虚部与虚部,实部与虚部的乘法运算,在第二层的并行运算单元组首先对第一层的乘法结果对应的实部与虚部相加得到结果的实部与虚部,然后通过与实数FIR类似的累加得到FIR运算结果。
5.FFT运算:如图10所示,为本发明应用实例FFT运算的实现示意图,本发明应用实例的并行数据通道可用于加速FFT计算。如图10所示为一个用于FFT的基-4的复数蝶形运算在8路并行数据通道中的实现。第一层的并行乘法器用于输入数据与旋转因子的乘法计算。第二层并行运算单元组首先对乘法器相应结果相加得到复数乘法结果的实部与虚部,然后通过第二层中运算单元间的互联交换网络交换数据完成蝶形加减计算。数据通道的最后一层,即第三层用于进行后处理,例如进行数据缩放(scaling)、舍入(rounding)、和饱和(saturation)操作。
6.DCT(离散余弦变换运算)运算:该实例由两个DCT指令完成DCT运算,其并行数据通道分别如图11和图12所示:如图11所示,为本发明应用实例DCT运算的第一个并行数据通道实现示意图,如图12所示,为本发明应用实例DCT运算的第二个并行数据通道实现示意图。
7.排序操作:如图13所示,为本发明应用实例排序操作的实现示意图,第一层执行旁路(bypass)操作,第二层并行运算单元组可用于排序操作。进行排序操作时,每个运算单元执行最大或最小比较操作。通过一对运算单元,其中一个执行最大比较,另一个执行最小比较,可以进行2个输入数据的排序,包括二者相等情况。图13中构成的并行数据通道在第二层可以对4个输入数据进行排序。如图13所示,在一个8路并行数据通道上对两组输入向量(每组由4个元素构成)进行排序操作。对于奇数个元素构成的输入数据排序,通过该并行数据通道的排序操作还可以选择中间的一个数,该操作可用于进行一些非线性滤波器,如中值滤波器计算。
8.生成指数序列:如图14所示,为本发明应用实例生成指数序列的实现示意图,并行数据通道第一层的并行乘法器单元包含反馈电路用于快速生成指数序列,在乘法器单元输入x后,第一次产生x2,其被反馈回乘法器输入与x继续相乘得到x3,依次类推得到x的各指数幂。同时,并行的多路乘法器同时工作产生并行的指数序列,如图14所示x0~x8。
9.Taylor(泰勒)操作:如图15所示,为本发明应用实例Taylor(泰勒)操作的实现示意图,Taylor级数展开用于估算函数值。在本发明应用实例的二维并行数据通道上,可以通过与指数生成类似的方法,同时应用二维数据通道的乘累加结构,实现对多路输入数据的并行泰勒展开操作。在一个N路输入的并行数据通道上可以同时计算N个泰勒级数产开。在泰勒展开操作中,一组乘法器被用于计算输入的各阶指数幂,另外一组乘法器用于与对应的系数相乘。
10.对多种数据格式的支持:如图16所示,为本发明应用实例对多种数据格式的支持的实现示意图,该二维并行数据通道可进行不同的数据类型的计算,如图16所示为2倍宽度数据的向量乘法::输入的2倍宽度的数据被分为高位和低位两部分分别进行乘法,第二层处理单元进行前两级移位加运算和最后一级旁路(BP,bypass)操作,最后在第三层进行后处理操作(post-processing,图中简称为POST)得到计算结果。
本发明应用实例提高了数字信号处理器的性能及效率,可以使用简单高效的指令支持面向专用数字信号处理应用的快速和重复的计算。本发明实施例可以提高专用处理器运行数字信号处理算法的速度,通过本发明实施例提供的数据通道,可设计高效的专用指令支持常用的数字信号处理如泰勒展开,滤波器,变换,矩阵运算等,以提高运算速度。
另一方面,本发明实施例提供一种基于并行数据通道的数字信号处理器,所述数字信号处理器的并行数据通道包括并行运算单元组,其中:所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作。优选的,所述并行运算单元组的交换网络由数据选择器组构成;所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,包括:所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。即本发明实施例可单独通过并行运算单元组运行各种function(DCT,FIR等)的映射方法。例如:并行运算单元组可按照图11的映射方法完成某算法。本发明实施例主要考虑是对于处理器结构不包含第一和第三级,还是可以用第二级的各种映射达到高性能。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电脑、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于并行数据通道的数字信号处理器,其特征在于,所述数字信号处理器的并行数据通道依次包括并行乘法单元,并行运算单元组,及并行累加单元三层硬件,其中:
所述并行乘法单元,由多个并行乘法器构成,用于执行多路实数乘法或者复数乘法,该并行乘法单元层可执行旁路操作;
所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作;
所述并行累加单元,由多个并行累加单元构成,用于执行累加和后处理操作。
2.如权利要求1所述数字信号处理器,其特征在于,所述并行乘法单元还包括操作数转发电路,用于进行指数运算。
3.如权利要求1所述数字信号处理器,其特征在于,所述并行运算单元组的交换网络由数据选择器组构成。
4.如权利要求3所述数字信号处理器,其特征在于,所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,包括:
所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。
5.如权利要求1所述数字信号处理器,其特征在于,所述多级算术逻辑通道包括三层算术逻辑通道。
6.如权利要求1所述数字信号处理器,其特征在于,所述并行乘法单元由2N个并行乘法器构成,其中,N为大于或等于2的自然数。
7.如权利要求6所述数字信号处理器,其特征在于,所述并行运算单元组由3N个算术逻辑单元构成,该并行运算单元组包括三层算术逻辑通道,每一层算术逻辑通道分别包括N个算术逻辑单元。
8.如权利要求7所述数字信号处理器,其特征在于,所述并行累加单元由N个并行累加单元构成。
9.一种基于并行数据通道的数字信号处理器,其特征在于,所述数字信号处理器的并行数据通道包括并行运算单元组,其中:
所述并行运算单元组,包括多个算术逻辑单元,为由多级算术逻辑通道及由每层之间所述多个算术逻辑单元互联构成的交换网络连接,每一级算术逻辑通道由多个并行算术逻辑单元执行并行算术逻辑操作,上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,每个算术逻辑单元用于进行加法、减法、比较、移位,或绝对值操作,该并行运算单元组层可执行旁路操作。
10.如权利要求9所述数字信号处理器,其特征在于,所述并行运算单元组的交换网络由数据选择器组构成;所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络传递至下一级算术逻辑通道,包括:所述上一级算术逻辑通道的运算结果可通过构成的所述交换网络,利用所述数据选择器组交换数据以传递至下一级算术逻辑通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101422478A CN102707931A (zh) | 2012-05-09 | 2012-05-09 | 一种基于并行数据通道的数字信号处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101422478A CN102707931A (zh) | 2012-05-09 | 2012-05-09 | 一种基于并行数据通道的数字信号处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102707931A true CN102707931A (zh) | 2012-10-03 |
Family
ID=46900760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101422478A Pending CN102707931A (zh) | 2012-05-09 | 2012-05-09 | 一种基于并行数据通道的数字信号处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102707931A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104617962A (zh) * | 2014-12-03 | 2015-05-13 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
WO2016192412A1 (en) * | 2015-05-29 | 2016-12-08 | Huawei Technologies Co., Ltd. | Floating point computation apparatus and method |
US9785405B2 (en) | 2015-05-29 | 2017-10-10 | Huawei Technologies Co., Ltd. | Increment/decrement apparatus and method |
CN107315632A (zh) * | 2017-06-27 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种双调合并排序方法及系统 |
CN108984235A (zh) * | 2018-06-29 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种数据处理的方法以及相关装置 |
CN109324826A (zh) * | 2017-04-21 | 2019-02-12 | 上海寒武纪信息科技有限公司 | 计数装置和计数方法 |
CN109447892A (zh) * | 2017-03-31 | 2019-03-08 | 三星电子株式会社 | 半导体装置 |
CN109558170A (zh) * | 2018-11-06 | 2019-04-02 | 海南大学 | 一种支持数据级并行和多指令融合的二维数据通路架构 |
CN109614075A (zh) * | 2012-10-31 | 2019-04-12 | 无比视视觉技术有限公司 | 算术逻辑单元 |
CN111310904A (zh) * | 2016-04-29 | 2020-06-19 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络训练的装置和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237667A (en) * | 1987-06-05 | 1993-08-17 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor system having host processor for writing instructions into internal processor memory |
WO2001009717A1 (en) * | 1999-08-02 | 2001-02-08 | Morton Steven G | Video digital signal processor chip |
CN1685309A (zh) * | 2002-09-24 | 2005-10-19 | 美商内数位科技公司 | 计算上高效数学引擎 |
-
2012
- 2012-05-09 CN CN2012101422478A patent/CN102707931A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237667A (en) * | 1987-06-05 | 1993-08-17 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor system having host processor for writing instructions into internal processor memory |
WO2001009717A1 (en) * | 1999-08-02 | 2001-02-08 | Morton Steven G | Video digital signal processor chip |
CN1685309A (zh) * | 2002-09-24 | 2005-10-19 | 美商内数位科技公司 | 计算上高效数学引擎 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614075B (zh) * | 2012-10-31 | 2023-08-18 | 无比视视觉技术有限公司 | 算术逻辑单元 |
CN109614075A (zh) * | 2012-10-31 | 2019-04-12 | 无比视视觉技术有限公司 | 算术逻辑单元 |
CN104617962A (zh) * | 2014-12-03 | 2015-05-13 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
CN104617962B (zh) * | 2014-12-03 | 2017-09-29 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
WO2016192412A1 (en) * | 2015-05-29 | 2016-12-08 | Huawei Technologies Co., Ltd. | Floating point computation apparatus and method |
US9785405B2 (en) | 2015-05-29 | 2017-10-10 | Huawei Technologies Co., Ltd. | Increment/decrement apparatus and method |
US9836278B2 (en) | 2015-05-29 | 2017-12-05 | Huawei Technologies Co., Ltd. | Floating point computation apparatus and method |
CN111310904B (zh) * | 2016-04-29 | 2024-03-08 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络训练的装置和方法 |
CN111310904A (zh) * | 2016-04-29 | 2020-06-19 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络训练的装置和方法 |
CN109447892B (zh) * | 2017-03-31 | 2023-11-28 | 三星电子株式会社 | 半导体装置 |
CN109447892A (zh) * | 2017-03-31 | 2019-03-08 | 三星电子株式会社 | 半导体装置 |
US11645072B2 (en) | 2017-03-31 | 2023-05-09 | Samsung Electronics Co., Ltd. | Semiconductor device |
CN109324826B (zh) * | 2017-04-21 | 2021-03-26 | 上海寒武纪信息科技有限公司 | 计数装置和计数方法 |
CN109324826A (zh) * | 2017-04-21 | 2019-02-12 | 上海寒武纪信息科技有限公司 | 计数装置和计数方法 |
CN107315632A (zh) * | 2017-06-27 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种双调合并排序方法及系统 |
CN108984235A (zh) * | 2018-06-29 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种数据处理的方法以及相关装置 |
CN109558170B (zh) * | 2018-11-06 | 2021-05-04 | 极芯通讯技术(南京)有限公司 | 一种支持数据级并行和多指令融合的二维数据通路架构 |
CN109558170A (zh) * | 2018-11-06 | 2019-04-02 | 海南大学 | 一种支持数据级并行和多指令融合的二维数据通路架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102707931A (zh) | 一种基于并行数据通道的数字信号处理器 | |
CN100530168C (zh) | 用于执行计算操作的系统、方法及设备 | |
CN100405361C (zh) | 用于执行计算操作的方法、系统以及设备 | |
CN101986264B (zh) | 用于simd向量微处理器的多功能浮点乘加运算装置 | |
CN103092562B (zh) | 控制移位分组数据的位校正的装置 | |
CN104111816B (zh) | Gpdsp中多功能simd结构浮点融合乘加运算装置 | |
CN110765709B (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
US8239442B2 (en) | Computing module for efficient FFT and FIR hardware accelerator | |
CN101729463A (zh) | 一种实现快速傅立叶变换、反变换的硬件装置及方法 | |
CN102945224A (zh) | 基于fpga的高速可变点fft处理器及其处理方法 | |
CN101937423B (zh) | 一种流水式fft/ifft的处理系统 | |
CN101763338A (zh) | 一种点数可变的混合基fft/ifft实现装置及其方法 | |
CN101706712B (zh) | 浮点向量乘加运算装置和方法 | |
CN1963745A (zh) | 高速分裂式乘累加器mac装置 | |
CN104504205A (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
JP2015503785A (ja) | Fft/dftの逆順ソーティングシステム、方法およびその演算システム | |
CN100378719C (zh) | 基2单路深度延时反馈的流水线构成fft处理器的实现方法 | |
CN104268124A (zh) | 一种fft实现装置和方法 | |
US20220171605A1 (en) | Systolic array cells with multiple accumulators | |
CN103677735B (zh) | 一种数据处理装置及数字信号处理器 | |
CN202281998U (zh) | 一种标量浮点运算加速器 | |
CN1553310A (zh) | 高速低功耗乘法器的对称分割算法及电路结构 | |
CN110764602B (zh) | 用于降低存储开销的汇流阵列 | |
CN203276276U (zh) | 一种实时数据处理单元及处理器 | |
CN100440192C (zh) | 粗粒度可重配置计算结构中算术单元结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |