CN101339546A - 地址映射方法和操作数并行的fft处理系统 - Google Patents

地址映射方法和操作数并行的fft处理系统 Download PDF

Info

Publication number
CN101339546A
CN101339546A CNA2008100436960A CN200810043696A CN101339546A CN 101339546 A CN101339546 A CN 101339546A CN A2008100436960 A CNA2008100436960 A CN A2008100436960A CN 200810043696 A CN200810043696 A CN 200810043696A CN 101339546 A CN101339546 A CN 101339546A
Authority
CN
China
Prior art keywords
address
operand
memory bank
operands
interior
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
Application number
CNA2008100436960A
Other languages
English (en)
Inventor
周海峰
曾珠峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RDA Microelectronics (Shanghai) Corp. Ltd.
Original Assignee
NAVASIC MICROELECTRONICS (SHANGHAI) Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NAVASIC MICROELECTRONICS (SHANGHAI) Inc filed Critical NAVASIC MICROELECTRONICS (SHANGHAI) Inc
Priority to CNA2008100436960A priority Critical patent/CN101339546A/zh
Publication of CN101339546A publication Critical patent/CN101339546A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明涉及一种地址映射方法和操作数并行的FFT处理系统。通过该方法每一次产生多个操作数的初次地址,然后处理该初次地址,生成片地址和内地址,所述片地址为所述存储操作数的存储器所包括的存储体的地址,所述内地址为所述各操作数在各存储体内的地址;由该地址映射方法,可使操作数存放在不同的存储体,从而使蝶形运算中的操作数可并行。该操作数并行的FFT处理系统的去冲突映射器将操作数的初次地址转换为无冲突地址,从而保证操作数可存放在不同的存储体,FFT处理器可并行访问这些操作数,进而加快运算速度。

Description

地址映射方法和操作数并行的FFT处理系统
技术领域
本发明涉及FFT处理,特别是有关于蝶形运算中操作数的地址映射方法和操作数并行访问的FFT处理系统。
背景技术
FFT(快速傅立叶变换,Fast Fourier Transformation)是数字信号处理应用中最重要的算法之一,无论是频域抽取(DFT)还是时域抽取(DIT),都可以通过消除冗余减少FFT的计算量。以DFT为例,其基本原理是:将数据序列分成两个等长的序列,将N点的DFT转换成两个N/2点的DFT,重复此过程直到将数据序列分解成N/2个2点的FFT,作为原始数据的这些点被重新整序,N/2个2点DFT取一对数据进行计算,这些输出每4个组合在一起,进行N/4个4点DFT的计算;然后适当的组合,计算8点的FFT,直到最后得到N点FFT。以上描述中,N为抽样值。
FFT处理系统在进行蝶形运算时,最基本的硬件结构包括处理器和存储器,存储器存储操作数和旋转因子。处理器自存储器抽取操作数,并对抽取的操作数进行复数乘法、累加等计算。
蝶形运算一般是多级计算,每一级要进行多次的计算,每一次计算所用的操作数一般称为一组操作数。对基4的蝶形运算,每一次运算涉及4个操作数。依次访问(读出或写入)至少需4个时钟周期,若操作数可并行访问,速度可提升4倍。但已有的地址映射方式不支持FFT处理器并行访问存储器,举例说明如下:
2048点的蝶形运算,需进行1级基2和5级基4。存储操作数的存储器由4个存储体构成。按现有的地址映射方式,存储器地址自0到2047,连续设置;4个存储体区分为0#存储体,1#存储体,2#存储体和3#存储体。基于此,0#存储体的地址是0到511,1#存储体的地址为512到1023,2#存储体的地址为1024到1535,3#存储体的地址为1536到2047。
当第一级为基2,第二级为基4时:第二级有操作数512组,每组4个,步长256。随机取该级运算中的一组操作数的地址[2,258,514,770],其在存储器的位置如表1所示。
表1操作数地址与存储体的对应关系
  操作数地址   存储体
  2   存储体0
  258   存储体0
  514   存储体1
  770   存储体1
由表1,地址2和258在0#存储体,地址514和770在1#存储体。显然,FFT无法并行访问该4个地址中的操作数。
N点基2n的蝶形运算,存储操作数的存储器包括2n个存储体。按传统的存储器地址映射方式,存储器地址连续设置为0到N-1。2n个存储体区分为0#存储体,1#存储体,2#存储体...(2n-1)#存储体。则0#存储体地址是0到
Figure A20081004369600051
1#存储体的地址是
Figure A20081004369600052
Figure A20081004369600053
......,(2n-1)#存储体的地址为
Figure A20081004369600054
Figure A20081004369600055
第一级运算的步长为N/2n,取第一级运算中的一组操作数对应的地址 [ 0 , N 2 n , 2 × N 2 n , . . . , ( 2 n - 1 ) × N 2 n ] ; 第二级步长为
Figure A20081004369600057
取第二级运算中一组操作数对应的地址 [ 0 , N 2 n × 2 , . . . , ( 2 n - 1 ) × N 2 n × 2 ] .
按照传统的存储器地址映射方式,上述第一级运算中所选取的地址为每个存储体的开始地址,由于 N 2 n &times; 2 < N 2 n , 所以第二级运算中所选取的地址,至少0和
Figure A200810043696000510
属于同一个存储体。
可见,对于二级以上的任意N点的蝶形运算,按照现有的地址映射方式,会出现多个操作数地址位于同一个存储体的情况,造成处理器无法并行访问操作数。
为此,有必要提出一种技术方案,使蝶形运算时的操作数可由FFT处理器并行访问,也就是并行读取或写入。
发明内容
有鉴于此,本发明提出一种地址映射方法,使N点蝶形运算时每一次计算所需的操作数可并行。本发明还提供了一种操作数并行的FFT处理系统,该FFT处理系统在进行N点蝶形运算时,可并行访问操作数。
本发明所述地址映射方法是这样实现的:
步骤a:每一次产生多个操作数各自的初次地址,其中,所述操作数与存储所述操作数的存储器所包括的存储体个数均为2n
步骤b:处理步骤a产生的初次地址,生成片地址和内地址,所述片地址和内地址构成无冲突地址,其中,所述片地址为所述各存储体地址,所述内地址为所述各操作数在各存储体内的地址。其中步骤b细化为:
使初次地址在2n进制下,各位依次相加,并让相加所得的和对2n取模,该模即为片地址;
抽取初次地址二进制下的低m-n位,形成内地址,其中,m是N-1二进制下的位宽。
通过本发明所述的地址映射方法,所述操作数的地址可分别映射到不同的存储体,使操作数在蝶形运算中可并行。
本发明所述之操作数并行的FFT处理系统包括处理器、操作数存储器、旋转因子存储器、地址生成器和无冲突映射器。操作数存储器存储N点蝶形运算的操作数,且该操作数存储器由2n个存储体构成;地址生成器产生旋转因子的地址,以及生成多个操作数各自的初次地址,其中,所述操作数与所述存储体个数相同;去冲突映射器,自地址生成器接收所述初次地址,处理该初次地址获得无冲突地址,其中,无冲突地址包括片地址和内地址,所述片地址为所述各存储体的地址,所述内地址为操作数在各存储体内的地址;处理器,依据所述无冲突地址自操作数存储器取得操作数,依据所述旋转因子地址自旋转因子存储器取得旋转因子,进行蝶形运算。
所述操作数并行的FFT处理系统还包括2n到2n的读选择器,及2n到2n的写选择器;其中,读选择器的输入端连接各存储体,输出端连接所述处理器的输入端,写选择器的输入端连接所述处理器的输出端,输出端连接各存储体。
此外,所述去冲突映射器计算初次地址在2n进制下各位的和,并对所述和取模,获得片地址;所述去冲突映射器抽取初次地址在二进制下的低m-n位,构成内地址,其中,m是N-1在二进制下的位宽。
本发明所述的操作数并行的FFT处理系统,其每一次计算所需的操作数分配至不同的存储体,使处理器可以并行访问这些操作数。
附图说明
图1a为本发明所述地址映射方法流程图;
图1b为本发明所述地址映射方法步骤202的细化流程图;
图2为本发明所述操作数并行的FFT处理系统结构示意图;
图3为运行基4蝶形运算的操作数并行的FFT处理系统结构示意图;
图4为运行基8蝶形运算的操作数并行的FFT处理系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明所述地址映射方法应用于N点基2n的蝶形运算,或者应用于混合蝶形运算,所述混合蝶形运算是基2n与基2n-1、基2n-2、...、基2中的任一个或多个组合构成的混合运算。所述操作数存储在存储器中,该存储器包括2n个存储体。
图1a是本发明所述地址映射方法流程图。如图,在步骤201,生成多个操作数各自的初次地址,其中,所述初次地址依传统地址映射方法产生,且所述操作数与所述存储体的个数相同,为2n个,基于所述操作数与所述初次地址的一一对应关系,所述操作数的初次地址也为2n个。
具体地说,N点基2n蝶形运算时,蝶形运算每一次计算所需的操作数是2n个,也就是说上述产生的2n个操作数的初次地址是蝶形运算每一次计算所需的操作数的初次地址;N点混合蝶形运算时,上述产生的2n个初次地址是基2n蝶形运算每一次计算所需的操作数的初次地址,是基2k蝶形运算所需的任
Figure A20081004369600081
组操作数的初次地址,其中,k=n-1,n-2,...,1中的任一个。
在步骤202,处理所述初次地址,获得由片地址和内地址构成的无冲突地址;其中,片地址是所述存储体的地址,内地址是所述操作数在该存储体内的存放地址。
当本发明地址映射方法执行于蝶形运算的硬件处理系统时,步骤201和步骤202重复执行,直到蝶形运算结束。
图1b是步骤202的细化。参考图1b,在步骤2020,使初次地址在2n进制下,各位依次相加;然后让相加所得的和对2n取模,该模即为片地址;以公式表示片地址与初次地址的映射关系如下,其中,CS表示片地址:
CS = [ &Sigma; i = 0 r - 1 A ( i ) ] mod ( 2 n )
r = | log 2 n N | 亦即r是
Figure A20081004369600084
向上取整;A(i)为初次地址2n进制下各位的值。
在步骤2021,抽取所述初次地址在二进制下的低m-n位,构成内地址,其中m是N-1在二进制下的位宽。以公式表示如下,其中,Aderess表示内地址,Am-1-n...A0是初次地址低m-n位:
Adress=Am-1-n...A0,其中, m = log 2 N .
经过步骤202的处理,初次地址转换为无冲突地址,操作数与初次地址的映射关系转换为操作数与无冲突地址的映射关系。由此,每一次蝶形运算所涉及的2n个操作数(基2n时为一组操作数或混合运算时,针对基2n
Figure A20081004369600091
组操作数)将依据片地址和内地址分配到不同的存储体,使FFT处理系统进行蝶形运算时,可并行访问所有操作数。
图2是本发明所述操作数并行的FFT处理系统结构示意图。如图所示,该FFT处理系统包括操作数存储器12、旋转因子存储器15、地址生成器14、去冲突映射器16、读选择器11、写选择器13和FFT处理器10。本发明所述操作数并行的FFT处理系统可处理N点基2n的蝶形运算,也可处理混合蝶形运算,所述混合蝶形运算是基2n与基2n-1、基2n-2、...、基2中的任一个或多个组合构成的混合运算。
操作数存储器12存储N点蝶形运算的操作数,且其包括2n个存储体,每个存储体对应一个片地址,以十进制表示为0,1,2,......,2n-1。本发明中,操作数在所述存储体内的存放地址为内地址,各存储体的内地址由0开始,到
Figure A20081004369600092
结束。旋转因子存储器15存储旋转因子。
地址生成器14产生旋转因子的地址以及产生多个操作数各自的初次地址。需要说明的是,蝶形运算一般会进行多级,每一级都有多次计算,本发明中,每一次计算所需的操作数个数与存储体的个数相同,为2n个;地址生成器14每一次生成蝶形运算一次所需的操作数的地址,也就是2n个,之后再生成下一次运算所需的操作数的地址,如此反复直到蝶形运算结束。
地址生成器14依照传统现有的地址映射方式,产生所述各操作数的初次地址。本发明中,产生的初次地址与所述存储体个数相同,为2n个。具体地说,N点基2n蝶形运算时,上述产生的2n个初次地址是蝶形运算所需的一组操作数的初次地址;N点混合蝶形运算时,上述产生的2n个初次地址是基2n蝶形运算所需的一组操作数的初次地址,是基2k蝶形运算所需的
Figure A20081004369600093
组操作数的初次地址,其中,k为[n-1,n-2,...,1]中的任一个。
所述初次地址送入去冲突映射器16。N点的基2n的蝶形运算,N个操作数,初次地址最大为N-1,故地址生成器14到去冲突映射器16的传输线需至少可传输地址’b(N-1)。其中,’b表示跟随其后的为二进制数。
去冲突映射器16对所述初次地址进行去冲突处理,以获得无冲突地址。所述无冲突地址由片地址和内地址构成。接收到地址生成器14产生的初次地址后,去冲突映射器16计算该初次地址在2n进制下各位的和,并让所述和针对2n取模,该模即为片地址。以公式表示片地址与初次地址的关系如式(1)所示,其中CS表示片地址:
CS = [ &Sigma; i = 0 r - 1 A ( i ) ] mod ( 2 n ) - - - ( 1 )
式(1)中, r = | log 2 n N | 亦即r是
Figure A20081004369600103
向上取整;A(i)为初次地址2n进制下各位的值。
去冲突映射器16抽取初次地址二进制下的低m-n位,构成内地址。其中,m是N-1二进制下的位宽。以公式表示内地址与初次地址的关系如式(2)所示,其中,Adress表示内地址。
Adress=Am-1-n,...A0                    (2)
式(2)中, m = log 2 N , Am-1-n,...A0是所述初次地址的低m-n位。
本发明所述的操作数并行的FFT处理系统,操作数存储器12包括2n个存储体,片地址由0开始,最大为2n-1;各存储体的内地址由0开始,到
Figure A20081004369600105
结束,内地址最大是
Figure A20081004369600106
基于此,去冲突映射器16到各存储体的传输线需至少可并行传输片地址’b2n和内地址
Figure A20081004369600107
读选择器11是2n到2n的选择器。其输入端连接操作数储器12的各存储体,输出端连接FFT处理器10的操作数输入端(至少2n个)。读操作时,读选择器11自去冲突映射器16取得所述各操作数的无冲突地址,依据其片地址CS获知操作数所在的存储体,依据其内地址Adress获知操作数在该存储体内的地址。进而FFT处理器10通过读选择器11自操作数储器12的各存储体并行读出该组操作数。
FFT处理器10依据地址生成器14产生的旋转因子的地址,自旋转因子存储器15读取处理所需的旋转因子。FFT处理器10依据读取的旋转因子和所述操作数做蝶形运算。
写选择器13为2n到2n的选择器。其输入端连接FFT处理器10的操作数输出端,输出端连接操作数储器12的各存储体。写操作时,写选择器13自无冲突映射器16取得各操作数的无冲突地址。继而FFT处理器10将蝶形运算的结果(新一组的操作数),依据该无冲突地址通过写选择器13写入操作数储器12。
综上,经过去冲突映射器16的去冲突处理,初次地址转换为无冲突地址,操作数与初次地址的映射关系转换为操作数与无冲突地址的映射关系。由此,依据操作数和无冲突地址的映射,操作数可分别放置在操作数存储器12的2n个存储体,使FFT处理器10可并行读取所有的操作数,或写入操作数到操作数存储器12。
以下结合图1a,图1b和图2简要说明本发明所述地址映射方法执行于本发明所述的操作数并行的FFT处理系统。
如步骤201,地址生成器14按照传统的地址映射方式产生2n个操作数各自的初次地址。然后,如步骤202所示,去冲突映射器16计算初次地址在2n进制下各位的和,并让所述和对2n取模,该模即为片地址;以及抽取初次地址在二进制下的低m-n位,构成内地址,由此获得无冲突地址。
依据操作数与无冲突地址的映射关系,FFT处理器10通过读选择器11自操作数存储器12读取操作数,并依据地址生成器14产生的旋转因子地址自旋转因子存储器读取处理所需的旋转因子,进行蝶形运算。同样,依据操作数与无冲突地址的映射关系,FFT处理器10通过写选择器11向操作数存储器12写入操作数。
进一步举例说明本发明所述地址映射方法和所述操作数并行的FFT处理系统:
例一:
本例以进行基4的蝶形运算做说明,以64点为例。
图3为基4蝶形运算的操作数并行的FFT处理系统结构示意图。如图,操作数存储器12由0#存储体120、1#存储体121、2#存储体122和3#存储体123共4个存储体构成,故片地址至少两位。各存储体具有16个存储空间,相应地,各存储体有16个内地址,故内地址至少四位。由此本例中,去冲突映射器16连接每个存储体的传输线至少需可并行传输6位地址。
读选择器11和写选择器13分别为4到4的选择器,其设计方式为现有技术,这里不再赘述。读选择器11和写选择器13分别自去冲突映射器16取得所述操作数的无冲突地址。之后,FFT处理器10通过读选择器11自相应的存储体读出所述操作数,或通过写选择器13向相应的存储体写入操作数。
在第二级基4蝶形运算中,随机取该级运算中地址生成器14生成的一组初次地址(3,7,11,15)。
去冲突映射器16收到地址生成器14传输的该地址后,计算初次地址在2n进制下各位的和,并让所述和对2n取模,以获得片地址,初次地址与片地址如公式(1)所示的映射关系,其中,r=3。去冲突映射器16自初次地址抽取其低m-n位,构成内地址,初次地址与内地址的映射关系如公式(2)所示,其中m=6,n=2,所以内地址是二进制下初次地址的低4位。后续针对片地址的计算,为方便起见,公式(1)中的A(i)用二进制表示。
针对3,即’b000011:
A(2)=′b00;A(1)=′b00;A(0)=′b11,由公式(1),片地址为A(2),A(1)和A(0)相加后除以4取模,故:
CS = [ &Sigma; i = 0 2 A ( i ) ] mod ( 2 2 ) = [ A ( 2 ) + A ( 1 ) + A ( 0 ) ] mod ( 2 2 ) = &prime; b 11 ,
由公式(2),Adress=Am-1-n,...A0内地址为’b000011的低4位,故内地址为’b0011。
故经去冲突映射器16处理后,初次地址为3的操作数将放置在3#存储体123的内地址为′b0011的存储空间。
针对7,即’b000111:
A(2)=′b00;A(1)=′b01;A(0)=′b11,依据公式(1)和(2)计算,CS=b00,内地址Adress=′b0111
故经去冲突映射器16处理后,初次地址为7的操作数将放置在0#存储体120的内地址为′b0111的存储空间。
针对11,即’b001011:
A(2)=′b00;A(1)=′b10;A(0)=′b11,依据公式(1)和(2)计算,CS=′b01,内地址Adress=′b1011
故经去冲突处理后,初次地址为’b001011的操作数将放置在1#存储体121的内地址为′b1011的存储空间。
针对15,即’b001111:
A(2)=′b00;A(1)=′b11;A(0)=′b11,依据公式1)和(2),由去冲突映射器16计算,CS=′b10,内地址Adress=′b1111
故经去冲突处理后,初次地址为15的操作数将放置在2#存储体122的内地址为′b1111的存储空间。
表2为地址映射对比表。可以看出,所述初次地址如不经过去冲突映射器16的去冲突处理,其所对应的操作数都将存放在0#存储体120中,使FFT处理器10无法并行读取或写入这些操作数。但是,经过去冲突处理后,这些操作数将分别存放在不同的存储体,使FFT处理器可并行读取或写入,加快了处理速度。
对应读操作,读选择器11自无冲突映射器16获得该组操作数的无冲突地址,本例中,FFT处理器10通过读操作器11自相应的3#存储体,0#存储体,1#存储体,2#存储体并行读出操作数;FFT处理器10依据地址生成器14产生的旋转因子地址,自旋转因子存储器15中读出处理所需要的旋转因子;FFT处理器10结合所述操作数和旋转因子做基4蝶形运算。
对应写操作,写选择器13自去冲突映射器16获得该组操作数的无冲突地址,FFT处理器10将基4蝶形运算获得的新一组操作数通过写操作器13并行送入相应的3#存储体,0#存储体,1#存储体,2#存储体。
表2地址映射对比表
  初次地址   初次地址存储体   无冲突地址   无冲突地址存储体
  000011   0#存储体   110011   3#存储体
  000111   0#存储体   000111   0#存储体
  001011   0#存储体   011011   1#存储体
  001111   0#存储体   111111   2#存储体
例二:
本例以进行基8蝶形运算来进行说明,以512点为例。
本例中,第一存储器12包括8个存储体;读选择器和写选择器均为8到8的选择器。
按照现有的地址映射方法,512点基8蝶形运算中,初次地址最多9位,故地址生成器14到去冲突映射器16的传输线最少可传输9位地址。
512点基8蝶形运算,操作数存储器12包括8个存储体,故片选地址至少3位。内地址最大为63,所以内地址至少6位。由此本例中,去冲突映射器16连接每个存储体的传输线需至少可传输9位地址。
以下仅描述本例与例一的主要不同之处,相同或相似之处不再多加描述。图4为运行512点基8蝶形运算的操作数并行的FFT处理系统结构示意图。在第二级基8蝶形运算中,随机抽取地址生成器14生成的一组操作数地址为(65,73,81,89,97,105,113,121)(此组操作数之间步长为 512 8 &times; 8 = 8 ),该地址由去冲突映射器16重新计算,以获得无冲突地址。去冲突处理的原理过程同例一,这里就不多做描述。512点的基8处理中,r=3;m=9,n=3。
针对65,即’b001000001:
A(2)=′b001;A(1)=′b001;A(0)=b001,由公式(1),片地址为A(2),A(1)和A(0)相加后对8取模,故:
CS = [ &Sigma; i = 0 2 A ( i ) ] mod ( 2 3 ) = [ A ( 2 ) + A ( 1 ) + A ( 0 ) ] mod ( 2 3 ) = &prime; b 010 ,
由公式(2):Adress=Am-1-n...A0,故内地址为′b000001
所以,经去冲突处理后,初次地址为’b00100001的操作数放置在2#存储体121中内地址为′b000001的存储空间。
针对73,即’b001001001:
A(2)=′b001;A(1)=′b001;A(0)=′b001,依据公式1计算,CS=′b011,内地址Adress=′b001001
经去冲突处理后,初次地址为’b001001001的操作数放置在3#存储体中内地址为′b001001的存储空间。
针对81,即’b001010001:
A(2)=′b001;A(1)=′b010;A(0)=′b001,依据公式1计算,CS=′b100,内地址Adress=′b010001
经去冲突处理后,初次地址为’b001010001的操作数放置在4#存储体中内地址为′b010001的存储空间。
针对89,即’b001011001:
A(2)=′b001;A(1)=′b011;A(0)=′b001,依据公式1计算,CS=′b101,内地址Adress=′b011001
经去冲突处理后,初次地址为’b001010001的操作数放置在5#存储体中内地址为′b011001的存储空间。
针对97,即’b001100001:
A(2)=′b001;A(1)=′b100;A(0)=′b001,依据公式1计算,CS=′b110,内地址A4dress=′b100001
经去冲突处理后,初次地址为’b001010001的操作数放置在6#存储体126中内地址为′b100001的存储空间。
针对105,即’b001101001:
A(2)=′b001;A(1)=′b101;A(0)=′b001,依据公式1计算,CS=′b111,内地址Adress=′b101001
经去冲突处理后,初次地址为’b001101001的操作数放置在7#存储体127中内地址为′b101001的存储空间。
针对113,即’b001110001:
A(2)=′b001;A(1)=′b110;A(0)=′b001,依据公式1计算,CS=b000,内地址Adress=′b110001
经去冲突处理后,初次地址为’b001110001的操作数放置在0#存储体120中内地址为′b110001的存储空间。
针对121,即’b001111001:
A(2)=′b001;A(1)=′b111;A(0)=′b001,依据公式1计算,CS=b001,内地址Adress=′b111001
经去冲突处理后,初次地址为’b001111001的操作数放置在1#存储体121中内地址为2′b111001的存储空间。
表4地址映射对比表
  初次地址   初次地址存储体   无冲突地址   无冲突地址存储体
  001000001   1#存储体   010000001   2#存储体
  001001001   1#存储体   011001001   3#存储体
  001010001   1#存储体   100010001   4#存储体
  001011001   1#存储体   101011001   5#存储体
  001100001   1#存储体   110100001   6#存储体
  001101001   1#存储体   111101001   7#存储体
  001110001   1#存储体   000110001   0#存储体
  001111001   1#存储体   001111001   1#存储体
表4是本例的地址映射表,列出了初次地址及其所在的存储体,以及无冲突地址和它对应的存储体。由表4可以看出,经过去冲突处理,初次地址对应的操作数被放置到不同存储体中。
需要说明的是,例二所述的操作数并行的FFT处理系统,同样也可处理基4的蝶形运算。
例三:
本例为2048点的基4和基2混合运算。2048点的蝶形运算,需进行1级基2运算,5级基4运算;实际处理中,可以在基2运算后,再进行5级基4运算;也可在进行5级基4运算后,再做基2运算。
本例以先进行基2运算为例来说明,但作为举例,并未表明本发明仅仅局限于此,本领域内技术人员易于变换为先做5级基4,再做1级基2的运算。
本例仍以图3为例进行说明。2048点初次地址最多11位,和例1比,所述操作数并行的FFT处理系统的区别主要在于连接地址生成器14和无冲突地址映射器16的传输线最少可传输11位地址。
进行基4和基2的蝶形运算,本例第一存储器12包括4个存储体。故片地址至少2位。每个存储体的内地址最大为511,所以内地址最多9位。基于此,去冲突映射器16到每个存储体的传输线需至少可传输11位地址。
对基4运算而言,所述地址映射方法的处理同例一,故以下仅对基2运算作简单说明。基2的蝶形运算,一组两个操作数。在本例操作数并行的FFT处理系统,执行本发明所述的地址映射方法,产生基2蝶形运算中操作数的无冲突地址。基2运算中,地址生成器14每一次产生4个操作数各自的初次地址,由去冲突映射器16对其进行处理,而FFT处理器一次性处理两组操作数,进行蝶形运算。
随机取地址生成器14产生的两组操作数的初次地址分别为(512,1536)和(514,1538),执行本发明所述地址映射方法,去冲突映射器16按照公式(1)产生片地址,按照公式(2)产生内地址,其中,r=6;m=11,n=2,故内地址是初次地址的低9位。
针对512,即’b01000000000:
A(5)=′b00;A(4)=′b10;A(3)=′b00,A(2)=′b00,A(1)=′b00,A(0)=b00,,
由此,CS=′b10,内地址Adress=′b000000000;
经去冲突处理后,初次地址为512的操作数放置在2#存储体中内地址为′b000000000的存储空间。
针对1536,即’b11000000000:
A(5)=′b01;A(4)=′b10;A(3)=′b00,A(2)=′b00,A(1)=′b00,A(0)=′b00,据此CS=′b11,内地址Adress=′b000000000;
经去冲突处理后,初次地址为1536的操作数放置在3#存储体中内地址为′b000000000的存储空间。
针对514,即’b01000000010:
A(5)=′b00;A(4)=′b10;A(3)=′b00,A(2)=′b00,A(1)=′b00,A(0)=′b10,
CS=′b00,内地址Adress=‘b00000010;
经去冲突处理后,初次地址为514的操作数放置在0#存储体中内地址为’b00000010的存储空间。
针对1538,即b’11000000010:
A(5)=′b01;A(4)=′b10;A(3)=′b00,A(2)=′b00,A(1)=′b00,A(0)=′b10,
CS=b01,内地址Adress=’b000000010;
经去冲突处理后,初次地址为1538的操作数放置在1#存储体中内地址为’b000000010的存储空间。
这样,针对基2和基4的混合蝶形运算,基4运算和例一相同,基2运算地址生成器每一次产生4个操作数的初次地址,经去冲突映射器16处理后,分配到不同的存储体,而FFT处理器则可并行访问该4个操作数,以进行蝶形运算。
对于基2n和基2k的蝶形运算而言,本发明所述操作数并行的FFT处理系统,可运行基2n的蝶形运算时,就可以运行基2k的蝶形运算,或者基2n与基2k的混合蝶形运算。
结合上述举例描述,可以看出,执行本发明所述的地址映射方法及应用本发明所述的操作数并行的FFT处理系统,可将蝶形运算的操作数分别映射到各存储体,使蝶形运算一次性计算所需要的操作数可由FFT处理器并行访问。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1、一种地址映射方法,应用于N点蝶形运算的操作数地址映射,其特征在于,所述地址映射方法包括:
步骤a:产生多个操作数各自的初次地址,其中,所述操作数以及存放所述操作数的存储器所包括的存储体的个数俱为2n
步骤b:处理步骤a产生的初次地址,生成片地址和内地址,所述片地址和内地址构成无冲突地址,其中,所述片地址为所述各存储体地址,所述内地址为所述各操作数在各存储体内的地址。
2、根据权利要求1所述的地址映射方法,其特征在于,所述步骤b包括:
使所述初次地址在2n进制下,各位依次相加,并让相加所得的和对2n取模,该模即为片地址;
抽取所述初次地址二进制下的低m-n位,形成内地址,其中,m是N-1在二进制下的位宽。
3、一种操作数并行的FFT处理系统,其特征在于,包括:
操作数存储器,用以存储N点蝶形运算的操作数,且该操作数存储器由2n个存储体构成;
旋转因子存储器,用以存储旋转因子;
地址生成器,产生旋转因子的地址,以及产生多个操作数各自的初次地址,其中,所述操作数与所述初存储体的个数相同;
去冲突映射器,接收地址生成器产生的初次地址,处理该初次地址获得无冲突地址,其中,无冲突地址包括片地址和内地址,所述片地址为所述各存储体的地址,所述内地址为操作数在各存储体内的地址。
处理器,依据所述无冲突地址自操作数存储器取得操作数,依据所述旋转因子地址自旋转因子存储器取得旋转因子,进行蝶形运算。
4、根据权利要求3所述的操作数并行的FFT处理系统,其特征在于,所述操作数并行的FFT处理系统还包括2n到2n的读选择器,及2n到2n的写选择器;其中,读选择器的输入端连接各存储体,输出端连接所述处理器的输入端,写选择器的输入端连接所述处理器的输出端,输出端连接各存储体。
5、根据权利要求3所述的操作数并行的FFT处理系统,其特征在于,所述去冲突映射器计算所述初次地址在2n进制下各位的和,并让所述和针对2n取模,该模即为片地址。
6、根据权利要求3所述的操作数并行的FFT处理系统,其特征在于,所述去冲突映射器抽取所述初次地址在二进制下的低m-n位,形成内地址,其中,m是N-1在二进制下的位宽。
CNA2008100436960A 2008-08-07 2008-08-07 地址映射方法和操作数并行的fft处理系统 Pending CN101339546A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100436960A CN101339546A (zh) 2008-08-07 2008-08-07 地址映射方法和操作数并行的fft处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100436960A CN101339546A (zh) 2008-08-07 2008-08-07 地址映射方法和操作数并行的fft处理系统

Publications (1)

Publication Number Publication Date
CN101339546A true CN101339546A (zh) 2009-01-07

Family

ID=40213616

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100436960A Pending CN101339546A (zh) 2008-08-07 2008-08-07 地址映射方法和操作数并行的fft处理系统

Country Status (1)

Country Link
CN (1) CN101339546A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411557A (zh) * 2011-12-31 2012-04-11 中国科学院自动化研究所 多粒度并行fft计算装置
CN102622318A (zh) * 2012-02-27 2012-08-01 中国科学院声学研究所 一种存储器控制电路及其控制的向量数据寻址方法
CN103034621A (zh) * 2012-12-13 2013-04-10 合肥工业大学 基2×k并行fft架构的地址映射方法及系统
WO2013097236A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 多粒度并行fft计算装置
WO2013097219A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 一种用于并行fft计算的数据存取方法及装置
CN103218348A (zh) * 2013-03-29 2013-07-24 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN103699515A (zh) * 2013-12-27 2014-04-02 中国科学院计算技术研究所 一种fft并行处理装置和方法
CN103838704A (zh) * 2014-03-20 2014-06-04 南京大学 一种高吞吐率的fft加速器
CN104699624A (zh) * 2015-03-26 2015-06-10 中国人民解放军国防科学技术大学 面向fft并行计算的无冲突存储访问方法
CN106469134A (zh) * 2016-08-29 2017-03-01 北京理工大学 一种用于fft处理器的数据无冲突存取方法
CN112511480A (zh) * 2020-11-10 2021-03-16 展讯半导体(成都)有限公司 二次fft和ifft变换方法及相关产品
CN112689832A (zh) * 2020-05-28 2021-04-20 深圳市大疆创新科技有限公司 数据处理方法、装置、可移动平台及存储介质
CN114995765A (zh) * 2022-06-06 2022-09-02 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176929B2 (en) 2011-12-31 2015-11-03 Institute Of Automation, Chinese Academy Of Sciences Multi-granularity parallel FFT computation device
WO2013097236A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 多粒度并行fft计算装置
WO2013097219A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 一种用于并行fft计算的数据存取方法及装置
CN102411557A (zh) * 2011-12-31 2012-04-11 中国科学院自动化研究所 多粒度并行fft计算装置
US9317481B2 (en) 2011-12-31 2016-04-19 Institute Of Automation, Chinese Academy Of Sciences Data access method and device for parallel FFT computation
CN102411557B (zh) * 2011-12-31 2014-06-25 中国科学院自动化研究所 多粒度并行fft计算装置
CN102622318A (zh) * 2012-02-27 2012-08-01 中国科学院声学研究所 一种存储器控制电路及其控制的向量数据寻址方法
CN102622318B (zh) * 2012-02-27 2014-09-10 中国科学院声学研究所 一种存储器控制电路及其控制的向量数据寻址方法
CN103034621A (zh) * 2012-12-13 2013-04-10 合肥工业大学 基2×k并行fft架构的地址映射方法及系统
CN103034621B (zh) * 2012-12-13 2015-08-19 合肥工业大学 基2×k并行fft架构的地址映射方法及系统
CN103218348A (zh) * 2013-03-29 2013-07-24 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN103218348B (zh) * 2013-03-29 2016-01-27 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN103699515A (zh) * 2013-12-27 2014-04-02 中国科学院计算技术研究所 一种fft并行处理装置和方法
CN103699515B (zh) * 2013-12-27 2017-01-18 中国科学院计算技术研究所 一种fft并行处理装置和方法
CN103838704A (zh) * 2014-03-20 2014-06-04 南京大学 一种高吞吐率的fft加速器
CN104699624A (zh) * 2015-03-26 2015-06-10 中国人民解放军国防科学技术大学 面向fft并行计算的无冲突存储访问方法
CN104699624B (zh) * 2015-03-26 2018-01-23 中国人民解放军国防科学技术大学 面向fft并行计算的无冲突存储访问方法
CN106469134A (zh) * 2016-08-29 2017-03-01 北京理工大学 一种用于fft处理器的数据无冲突存取方法
CN106469134B (zh) * 2016-08-29 2019-02-15 北京理工大学 一种用于fft处理器的数据无冲突存取方法
CN112689832A (zh) * 2020-05-28 2021-04-20 深圳市大疆创新科技有限公司 数据处理方法、装置、可移动平台及存储介质
WO2021237554A1 (zh) * 2020-05-28 2021-12-02 深圳市大疆创新科技有限公司 数据处理方法、装置、可移动平台及存储介质
CN112511480A (zh) * 2020-11-10 2021-03-16 展讯半导体(成都)有限公司 二次fft和ifft变换方法及相关产品
CN114995765A (zh) * 2022-06-06 2022-09-02 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备
CN114995765B (zh) * 2022-06-06 2023-11-21 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN101339546A (zh) 地址映射方法和操作数并行的fft处理系统
Hagerup et al. Efficient minimal perfect hashing in nearly minimal space
CN101571849B (zh) 一种快速傅立叶变换处理器及其方法
CN103699515B (zh) 一种fft并行处理装置和方法
Tarnauceanu Classifying fuzzy subgroups of finite nonabelian groups
CN1655143A (zh) 使用大小减半的存储器的快速傅立叶变换处理器和方法
CN102043760B (zh) 数据处理方法及系统
CN101763338A (zh) 一种点数可变的混合基fft/ifft实现装置及其方法
CN103777896B (zh) 基于3d存储器的地址生成器
CN105446897A (zh) 高速缓存哈希
CN101836202A (zh) 快速傅立叶变换/反快速傅立叶变换运算核
Allemann An efficient algorithm for combinatorial group testing
CN103034621B (zh) 基2×k并行fft架构的地址映射方法及系统
Hutchinson et al. Constructing canonical strategies for parallel implementation of isogeny based cryptography
US8023401B2 (en) Apparatus and method for fast fourier transform/inverse fast fourier transform
CN110727964A (zh) 一种区块链大数据处理方法及系统
US20150331634A1 (en) Continuous-flow conflict-free mixed-radix fast fourier transform in multi-bank memory
US20130046806A1 (en) Fast fourier transform circuit
CN111221501A (zh) 一种用于大数乘法的数论变换电路
CN101833540B (zh) 信号处理方法和装置
Grebinski et al. Optimal query bounds for reconstructing a Hamiltonian cycle in complete graphs
Baig et al. An improved scheme in the two query adaptive bitprobe model
Wu et al. Efficient VLSI architecture of Bluestein’s FFT for fully homomorphic encryption
CN101694648A (zh) 傅里叶变换处理方法和装置
Sorenson Sieving for pseudosquares and pseudocubes in parallel using doubly-focused enumeration and wheel datastructures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: RDA MICROELECTRONICS( SHANGHAI ) CO., LTD.

Free format text: FORMER OWNER: NAWEI MICROELECTRONICS SCIENCE AND TECHNOLOGY( SHANGHAI ) CO., LTD.

Effective date: 20100108

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20100108

Address after: Room 2, building 690, building 302, blue wave road, Zhangjiang hi tech park, Shanghai, China: 201203

Applicant after: RDA Microelectronics (Shanghai) Corp. Ltd.

Address before: No. 116, building 572, Lane 9, blue wave road, Shanghai, Pudong New Area, China: 201203

Applicant before: NavAsic Microelectronics (Shanghai), Inc.

DD01 Delivery of document by public notice

Addressee: Du Juanjuan

Document name: Notification of Passing Examination on Formalities

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090107