一种用于FFT处理器的数据无冲突存取方法技术

技术编号:14739753 阅读:73 留言:0更新日期:2017-03-01 13:35
本发明专利技术涉及FFT处理器的存取方法技术领域,公开了一种用于FFT处理器的数据无冲突存取方法,包括:基于数据堆计算公式以获得待存取数据所在的堆;计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址。该方法具有支持较大基的单蝶形单元运算和较小基的多蝶形单元运算,可以充分利用FFT处理器的硬件并行度,从而能够避免在同时存取多个待存取数据时发生数据冲突的问题的优点。

【技术实现步骤摘要】

本专利技术涉及FFT处理器的存取方法
,特别是涉及一种用于FFT处理器的数据无冲突存取方法
技术介绍
FFT是离散傅里叶变换(DFT)的一种快速实现方法,可以将数据在时域和频域之间进行转换。由于FFT是计算密集型算法,通常采用专用硬件进行FFT运算处理。基于存储的(memory-based)架构是一种常用的FFT专用硬件架构。基于存储的FFT架构,即,FFT处理器,其至少包括一个存储器、一组处理单元和一个控制单元。FFT处理器可以采用数据无冲突算法同时存取多个数据用于处理单元做蝶形运算,存储器还需要同时存储多个数据用于保存当前蝶形运算的结果。为了解决同时存取多个数据时的数据冲突问题,需要一种用于FFT处理器的数据无冲突存取方法以保证需要的数据能够并行无冲突存取。通常基于存储架构的FFT处理器的处理单元支持较大基的单蝶形单元运算和较小基的多蝶形单元运算,比如处理单元同时支持一个基四和两个基二运算。但是大部分现有的数据无冲突存取算法只能支持特定的FFT处理器中的处理单元,有些数据无冲突存取算法无法同时支持较大基的单蝶形单元运算和较小基的多蝶形单元运算。
技术实现思路
(一)要解决的技术问题本专利技术的目的是提供一种用于FFT处理器的数据无冲突存取方法,以解决FFT处理器同时支持较大基的单蝶形单元运算和较小基的多蝶形单元运算时的数据冲突问题。(二)技术方案为了解决上述技术问题,本专利技术提供一种用于FFT处理器的数据无冲突存取方法,包括:基于数据堆计算公式以获得待存取数据所在的堆;计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址。其中,基于FFT处理器的并行度以及FFT处理器内的最大基构建第一平衡方程,所述第一平衡方程为P=Nmax=2L,其中,P为FFT处理器的并行度,Nmax为FFT处理器内的最大基,L为2的幂指数。其中,将FFT运算的总点数N总按照混合基算法分解为m级蝶形运算,每一级蝶形运算的点数为N1,N2........Nm,待存取数据在每一级蝶形运算中可由n1,n2.......nm来确定,其中,ni(i=1,2,3····m)分别代表待存取数据在第i级的蝶形运算中的排序。其中,所述数据堆计算公式为其中,bank为待存取数据在存储器组中的堆,ai(i=1,2,3·····m)为ni或ni的位倒序,modNmax为对Nmax进行取模运算。其中,当FFT运算的总点数N总按照混合基算法分解为m级蝶形运算时,若m≥2,则至少有一个ai满足其中,为ni的位倒序,ni为待存取数据在第i级蝶形运算的排序。其中,在计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址的步骤中,当FFT处理器中的总点数N总小于等于Nmax时,所述待存取数据在所述堆中的存储地址都相同,即,addr=0;当FFT处理器中的总点数N总大于Nmax时,所述待存取数据在所述堆中的存储地址有两种选择。其中,若在m级蝶形运算中有一个级为j级,j级满足1≤j<m,N0×N1×…×Nj≤Nmax,N0×N1×…×Nj+1>Nmax,则所述待存取数据的地址方程为addr=Nm…Nj+2n′j+1+…+Nmnm-1+nm,其中,addr为待存取数据的地址,m代表蝶形运算的级,Nm为第m级蝶形运算的点数,nm为待存取数据在第m级蝶形运算中的排序。其中,n’j+1为nj+1的高位比特,>>为右移符号,为对向上取整。其中,若在m级蝶形运算中有一个级为j级且j级满足1<j≤m,Nj…Nm≤Nmax,Nj-1…Nm>Nmax,则所述待存取数据的地址方程为addr=Nj-1…N2n1+…+Nj-1nj-2+nj-1,其中,N′j-1为Nj-1的高位比特,n′j-1为nj-1的高位比特。其中,其中,N′j-1为nj-1的高位比特,Nj-1为第j-1级蝶形运算的点数,>>为右移符号,Nmax为FFT处理器内的最大基,n’j-1为nj-1的高位比特,nj-1为待存取数据在第j-1级蝶形运算中的排序,Nm为第m级蝶形运算的点数。Nj为第j级蝶形运算的点数。(三)有益效果本专利技术提供的用于FFT处理器的数据无冲突存取方法,与现有技术相比,具有如下优点:该方法支持较大基的单蝶形单元运算和较小基的多蝶形单元运算,可以充分利用FFT处理器的硬件并行度,从而能够避免在同时存取多个待存取数据时发生数据冲突的问题。附图说明图1为本申请的实施例的用于FFT处理器的数据无冲突存取方法的步骤流程示意图;图2为本申请的实施例的用于FFT处理器的数据无冲突存取方法的位倒序示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实例用于说明本专利技术,但不用来限制本专利技术的范围。如图1所示,图1示意性地显示了该数据无冲突存取方法的步骤流程示意图。该方法包括:步骤S410,基于数据堆计算公式以获得待存取数据所在的堆。步骤S420,计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址。基于存储的FFT处理器的硬件数据用于无线通信系统(4G和WLAN),其并行度为16,可以最多支持同时处理一个基16、两个基8、两个基5、四个基4、四个基3或八个基2蝶形运算。FFT处理器可以支持8至8192点的2的整数幂FFT运算和12至2400点的非2的整数幂DFT运算(可以用基2、基3、基5完成运算)。该FFT处理器的存储器包含一个或多个存储器组,每个寄存器组包含P个堆。在每一级蝶形运算中,存储器从一个确定的存储器组中读取待存取数据,并将该待存取数据送入处理单元,然后,将处理单元的结果保存到同一个或另一个确定的存储器组中。待存取数据在存储器组中的地址由其所在的堆和其在堆中的地址唯一确定。由此可知,若想确定出待存取数据在存储器组中的地址,则首先应当确定出待存取数据在存储器组中的堆,即,通过步骤S410便可获得。然后,确定出该待存取数据在堆中的地址,即通过步骤S420便可获得。该方法支持较大基的单蝶形单元运算和较小基的多蝶形单元运算,可以充分利用FFT处理器的硬件并行度,从而能够避免在同时存取多个待存取数据时发生数据冲突的问题。为优化上述技术方案中的步骤S410,基于FFT处理器的并行度以及FFT处理器内的总点数构建第一平衡方程,所述第一平衡方程为P=Nmax=2L,其中,P为FFT处理器的并行度,Nmax为FFT处理器内的最大基,L为2的幂指数。在一个实施例中,将FFT运算的总点数N总按照混合基算法分解为m级蝶形运算,每一级蝶形运算的点数为N1,N2........Nm,待存取数据在每一级蝶形运算中可由n1,n2.......nm来确定,其中,ni(i=1,2,3·····m)分别代表待存取数据在第i级的蝶形运算中的排序。为优化上述技术方案中的步骤S410,在上述技术方案的基础上,该数据堆计算公式为其中,bank为待存取数据在存储器组中的堆,ai(i=1,2,3·····m)为ni或ni的位倒序,modNmax为对Nmax进行取模运算。ni(i=1,2,…m)的数据位宽为L比特,不满L比特的通过高位补零达到L比特。需要说明的是,位倒序是将数据按照比特位倒序输出,结果的本文档来自技高网...
一种用于FFT处理器的数据无冲突存取方法

【技术保护点】
一种用于FFT处理器的数据无冲突存取方法,其特征在于,包括:基于数据堆计算公式以获得待存取数据所在的堆;计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址。

【技术特征摘要】
1.一种用于FFT处理器的数据无冲突存取方法,其特征在于,包括:基于数据堆计算公式以获得待存取数据所在的堆;计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中的地址。2.根据权利要求1所述的用于FFT处理器的数据无冲突存取方法,其特征在于,基于FFT处理器的并行度以及FFT处理器内的最大基构建第一平衡方程,所述第一平衡方程为P=Nmax=2L,其中,P为FFT处理器的并行度,Nmax为FFT处理器内的最大基,L为2的幂指数。3.根据权利要求2所述的用于FFT处理器的数据无冲突存取方法,其特征在于,将FFT运算的总点数N总按照混合基算法分解为m级蝶形运算,每一级蝶形运算的点数为N1,N2........Nm,待存取数据在每一级蝶形运算中可由n1,n2.......nm来确定,其中,ni(i=1,2,3·····m)分别代表待存取数据在第i级的蝶形运算中的排序。4.根据权利要求3所述的用于FFT处理器的数据无冲突存取方法,其特征在于,所述数据堆计算公式为bank=(Σi=1mai)modNmax,]]>其中,bank为待存取数据在存储器组中的堆,ai(i=1,2,3·····m)为ni或ni的位倒序,modNmax为对Nmax进行取模运算。5.根据权利要求4所述的用于FFT处理器的数据无冲突存取方法,其特征在于,当FFT运算的总点数N总按照混合基算法分解为m级蝶形运算时,若m≥2,则至少有一个ai满足其中,为ni的位倒序,ni为待存取数据在第i级蝶形运算的排序。6.根据权利要求1所述的用于FFT处理器的数据无冲突存取方法,其特征在于,在计算所述待存取数据在所述堆中的地址,从而确定出所述待存取数据在FFT处理器的存储器组中...

【专利技术属性】
技术研发人员:刘大可刘劭晗
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

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

1