并行位反序装置和方法制造方法及图纸

技术编号:7580623 阅读:264 留言:0更新日期:2012-07-19 06:52
本发明专利技术公开了一种并行位反序装置及方法,其中所述并行位反序装置包括并行位反序单元(314)、蝶形计算与控制单元(309)和存储器(311),所述蝶形计算与控制单元(309)通过数据总线(310)与所述存储器(311)相连,所述并行位反序单元(314)用于对所述蝶形计算与控制单元(309)所计算的蝶形组数据进行位反序。所述并行位反序单元(314)包括地址反序逻辑(306),地址反序逻辑(306)与蝶形计算与控制单元(309)相连,用于对来自蝶形计算与控制单元(309)读取地址进行镜像反序和右移操作。

【技术实现步骤摘要】

本专利技术属于集成电路设计中的位反序数据存储与排列,与快速傅立叶变换(FFT) 算法、集成电路结构紧密相关,具体涉及ー种并行位反序装置和并行位反序方法。
技术介绍
信号处理系统经常需要将信号内容在时域和频域进行转换,快速傅立叶变换算法 (FFT)可进行时域和频域间的信号转换。相对于其它转换算法来说,快速傅立叶变換算法具有结构统一、计算量少的优点,因此广泛应用于信号处理系统中。FFT算法输入N个数据,输出N个数据;一般称时域至频域的变换为正向变换,而频域至时域的变换变逆向变换。我们称时域数据按采样时间排列的顺序为“自然序”,即每个数据点的采样时间是递增的;同样称频域数据按频率高低排列的順序“自然序”,即每个数据点对应的频率是递增的。与“自然序”对应的是“位反序”,即将自然序中的每个数据点的索引写成ニ进制的形式,将该ニ进制索引镜像反序后,得到的索引值即为该数据点在“位反序”中的索引值。假设我们可以用:3bit表示索引值,自然序中索引值3表示成ニ进制为 (011)2,进行镜像反序后,其ニ进制值为(110)2,即十进制中的6,因此,“6”即为位反序排列后该数据对应的索引值。FFT算法有多种实现方式,一般可分成按时域抽取和按频域抽取两种。图1示出了按频域抽取的算法,原始数据100为自然序排序,在进行计算前必须经过位反序操作103对数据进行序列变换,使其按位反序排列,反序后数据101经计算后的输出数据102为自然序排列。在时间抽取算法中,输入数据为自然序排列,但输出数据是位反序排列;因此,在对输出数据作进一步处理前,需要对输出数据进行序列变换,使其按自然序排列。已有ー些专利实现了位反序数据排列,如美国专利US 2003/0028571A1 (Real-time metnod for oit-reversal of large size arrays)米用两步骤反序方法第一步骤利用DMA在外部存储器与片上存储器之间进行大尺寸反序排列, 第二步骤利用处理器实现小尺寸内部的数据反序排列。该方法存在的问题是在利用处理器实现小尺寸内部的数据反序排列吋,一、内部排序需要多次迭代,对于长度为N的数据,需要Iog2N-I次迭代;ニ、每次迭代只能以标量为单位读写数据,无法实现多个数据并行排序。 因此,该专利描述的位反序数据排列方法效率很低。美国专利 US 7,640, 284B1 (Bit Reversal Methods for a Parallel Processor) 描述了 nVidia公司利用图形处理器(GPU)中多处理核或SIMD执行部件实现并行位反序排列的方法。该专利技术虽然实现了并行位反序排列,但仍存在以下问题一、每个处理核或执行部件在计算位反序地址时,需要多次访问查找表并进行多次移位操作,仅仅计算位反地址时就需要多个时钟周期,执行效率低;ニ、正如该专利第21页第10行所述,该方法只能减少而无法消除多个处理器或SIMD功能部件的存储访问冲突,存储访问冲突进ー步降低了位反序排列操作的执行效率。
技术实现思路
(一)要解决的技术问题本专利技术所述解决的技术问题是提高并行位反序排列操作的执行效率,以对多粒度并行FFT计算装置更好的支持。( ニ )技术方案本专利技术提出一种并行位反序装置,包括并行位反序単元、蝶形计算与控制单元和存储器,所述蝶形计算与控制单元通过数据总线与所述存储器相连,所述并行位反序単元用于对所述蝶形计算与控制单元所计算的蝶形组数据进行位反序;所述并行位反序単元包括地址反序逻辑,地址反序逻辑与蝶形计算与控制单元相连,用于对来自蝶形计算与控制单元读取地址进行镜像反序和右移操作;所述并行位反序单元还包括多粒度并行存储器、 地址选择器;所述多粒度并行存储器与地址选择器相连接,用于接收所述地址选择器输出的地址;所述该多粒度并行存储器还与所述蝶形计算与控制单元相连接,用于接收蝶形计算与控制单元输出的写数据和读写粒度值。所述并行位反序单元还包括数据反序网络,所述数据反序网络与所述多粒度并行存储器相连接,以接收来自所述多粒度并行存储器的读数据。所述数据反序网络用于蝶形组组内数据的位反序排列。所述地址选择器分別与所述蝶形计算与控制单元和所述地址反序逻辑相连接,用于选择输出到存储器的读写地址。本专利技术还提出一种并行位反序方法,用于并行位反序装置中,所述并行位反序装置包括并行位反序単元和存储器,所述并行位反序単元包括多粒度并行存储器,所述方法包括如下步骤步骤200、将数据从所述存储器搬运至所述多粒度并行存储器,搬运后自然序列数据等分成2n个组,依次存放在多粒度并行存储器的2n个存储块中,其中η为正整数; 步骤201保持数据组内索引不变,将数据组索引反序;步骤202、保持数据组内索引不变,数据组索引也不变,将组内索引移至高位;步骤203、保持数据组索引不变,将组内索引反序。所述并行位反序装置还包括蝶形计算与控制单元,所述方法的步骤在所述蝶形计算与控制単元的控制下进行。所述并行位反序单元还包括地址反序逻辑和地址选择器;蝶形计算与控制单元通过移位指示线和读取地址线与地址反序逻辑相连接。在步骤201中,移位指示线的值设为Α-η,其中A为读取地址线的位宽,同时将读写地址线上的读取地址设为数据组索引,地址选择器选择地址反序逻辑的输出,作为存储器的读写地址。在步骤203中,从多粒度并行存储器中读取的数据经过数据反序网络的位反序排列后,输出到蝶形计算与控制单元。在步骤203之后,所述数据反序网络的输出端得到2"个数位反序排序后的数据, 以直接进行蝶形计算。(三)有益效果本专利技术将自然序数据存放在支持多粒度并行读写的存储器中,根据地址递增的顺序并行读取多个经位反序排序后数据。该方法首先对需要排序的数据进行分組,利用三个原理对数据进行排序1.利用存储器多粒度读写特性实现组内数据与数据组之间的反序排列;2.利用硬件逻辑部件实现组内数据的反序排;3.利用不同读写地址,实现数据组之间的反序排序。本专利技术的整个位反序操作过程只需读取一次存储器,不存在迭代过程,处理器可直接对读取的位反序数据进行ー下步操作,如FFT中的蝶形计算;同时,本专利技术的主法在并行读取存储器时不存在访问冲突,读取和排序过程可深度流水,具有极高的执行效率; 另外,本专利技术可根据具体实现灵活指定并行粒度。附图说明图1是数据长度为8吋,按频率抽取的基2FFT算法流程图;图2是本专利技术的并行位反序方法的流程图;图3是本专利技术的并行位反序装置的结构示意图;图4是当并行粒度为4,数据长度为32吋,位反序操作前各个数据在存储器中的分布示意图;图5是本专利技术的多粒度并行存储器的逻辑结构示意图;图6是本专利技术的的多粒度并行存储器在不同读写粒度下,存储器的编址方式和逻辑Bank划分的示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并參照附图,对本专利技术进ー步详细说明。为了实现并行位反序排列,首先定义并行粒度W = 2η,(η为正整数),并行粒度指从存储器并行读取并排序的数据个数。在进行位反序操作之前,我们先对数据进行分組,每 W个数据构成一組。对于数据长度N= 2Τ的数据来说,每个数据索引需要T个比特位来表示;数据分组后,数据索引的组分成两部分数据组索引g和组内数据索引b。当并行粒度为本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:谢少林蒿杰汪涛尹磊祖
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:

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

1
相关领域技术