[发明专利]矢量处理器实现FFT的系统及其数据交换、地址生成方法有效

专利信息
申请号: 201611021245.8 申请日: 2016-11-21
公开(公告)号: CN106776474B 公开(公告)日: 2019-04-16
发明(设计)人: 李炜;陶建平;王和国 申请(专利权)人: 江苏宏云技术有限公司
主分类号: G06F17/14 分类号: G06F17/14;G06F7/544;G06F9/38;G06F9/302;G06F9/30
代理公司: 北京德崇智捷知识产权代理有限公司 11467 代理人: 徐波;卫麟
地址: 215600 江苏省连*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 矢量 处理器 实现 fft 运算 方法 系统
【权利要求书】:

1.一种矢量处理器实现FFT运算的系统,包括顺序串联的指令存储器(106)、取址单元(107)、译码单元(108)和执行单元(109),其特征在于,所述执行单元(109)包括矢量寄存器单元(100)、数据交换网络(101)、矢量运算单元(102)、数据存储单元(104)、地址产生单元(103)和数据存储器(105),所述的矢量寄存器单元(100)、数据交换网络(101)和矢量运算单元(102)顺序串联形成环形结构,所述矢量寄存器单元(100)的输出端同时连接数据交换网络(101)的输入端与数据存储单元(104)的输入端,矢量寄存器单元(100)的第一输入端连接矢量运算单元(102)的输出端,矢量寄存器单元(100)的第二输入端连接数据存储单元(104)的第一输出端,数据存储单元(104)的第二输出端与数据存储器(105)的输入端双向交互连接,数据存储器(105)的另一输入端连接地址产生单元(103);

所述顺序串联的指令存储器(106)、取址单元(107)和译码单元(108)用以产生指令译码控制信号,控制执行单元(109)。

2.根据权利要求1所述的矢量处理器实现FFT运算的系统,其特征在于,所述矢量运算单元(102)中包括4个并行的乘累加单元,每个乘累加单元由顺序串联的乘法器、取反器和加法器构成;第一乘累加单元中的乘法器输出端通过取反器后连接至第三乘累加单元中的加法器输入端,第二乘累加单元中的乘法器输出端通过取反器后连接至第四乘累加单元中的加法器输入端,第三乘累加单元中的乘法器输出端通过取反器后连接至第一乘累加单元中的加法器输入端,第四乘累加单元中的乘法器输出端连接第二乘累加单元中的加法器输入端。

3.根据权利要求2所述的矢量处理器实现FFT运算的系统,其特征在于,所述的数据交换网络(101)用以对即将进行FFT蝶形运算的旋转因子{I(w),R(w)}、蝶形运算的第一个数据{I(x1),R(x1)}、蝶形运算的第二个数据{I(x2),R(x2)}的实部与虚部按照矢量运算单元(102)的要求进行交换,交换得到三个矢量数据:加法矢量数据{I(x1),R(x1),I(x1),R(x1)}、第一乘法矢量数据{I(x2),I(x2),R(x2),R(x2)}和第二乘法矢量数据{R(w),I(w),I(w),R(w)},所述三个矢量数据的结构为{元素3,元素2,元素1,元素0},数据交换网络(101)的输出端用以将加法矢量数据的元素0至元素3依次送至第一至第四乘累加单元的加法器数据接口,将第一乘法矢量数据的元素0至元素3依次送至第一至第四乘累加单元的乘法器的第一数据接口,将第二乘法矢量数据的元素0至元素3依次送至第一至第四乘累加单元的乘法器的第二数据接口。

4.根据权利要求1所述的矢量处理器实现FFT运算的系统,其特征在于,所述的矢量寄存器单元(100)由8个一级矢量寄存器组成,每个一级矢量寄存器分别由2个二级寄存器组成,每个二级寄存器分别由2个三级寄存器组成。

5.如权利要求3所述系统的数据交换方法,其特征在于,该方法包括以下步骤:

第1步,根据数据读取指令读入存储器地址指针所对应的旋转因子{I(w),R(w)}、蝶形运算的第一个数据{I(x1),R(x1)}和蝶形运算的第二个数据{I(x2),R(x2)};

第2步,通过数据交换网络(101)将读入的旋转因子{I(w),R(w)}、蝶形运算的第一个数据{I(x1),R(x1)}、蝶形运算的第二个数据{I(x2),R(x2)}按照加法矢量数据{I(x1),R(x1),I(x1),R(x1)}、第一乘法矢量数据{I(x2),I(x2),R(x2),R(x2)}和第二乘法矢量数据{R(w),I(w),I(w),R(w)}的形式进行矢量数据交换;

第3步,向矢量运算单元(102)的四个加法数据接口依次输入加法矢量数据{I(x1),R(x1),I(x1),R(x1)}中的四个元素,向矢量运算单元的四个第一数据接口依次输入第一乘法矢量数据{I(x2),I(x2),R(x2),R(x2)}中的四个元素,向矢量运算单元的四个第二数据接口依次输出第二乘法矢量数据{R(w),I(w),I(w),R(w)}中的四个元素。

6.如权利要求3所述系统的地址生成方法,其特征在于,该方法在每一级蝶形运算后,并行的生成输入数据地址、输出数据地址和旋转因子地址,所述输入数据地址和输出数据地址根据所处FFT蝶形运算的级数不同按照如下方式生成:

在第一级FFT蝶形运算中,输入数据的地址从0开始,按照reverse模式进行更新,即由高位向低位每次进1的方式进行自增;reverse模式下地址更新方式为(dpx.addr&(0xfffe<<fft_stage))|(reverse(dpx.addr[0:15]+(0x8000>>fft_stage))&~(0xfffe<<fft_stage));其中,0xfffe为常数,“<<”为逻辑左移,fft_stage为FFT运算的级数,dpx.addr为地址指针,“&”为按位与运算,“reverse”为按位颠倒运算,0x8000为常数,“>>”为右移运算,“+”为相加运算,“~”为按位取反运算,“|”为按位或运算;在第一级FFT蝶形运算中,输出数据的地址按照从0到7的顺序产生;

在第二级以及以后各级的FFT蝶形运算中,输入数据和输出数据的地址均从0开始,按照一次keep模式、一次nbf模式交替的方式产生;keep模式下地址保持不变;nbf模式下地址更新的方式为((dpx.addr+dpx.offset)+1)&(~dpx.offset);其中,dpx.offset为地址指针偏移,dpx.addr为地址指针,“~”为按位取反运算,“+”为加法运算,“&”为按位与运算;第二级蝶形运算开始dpx.offset的初值设置为2,之后每完成一级蝶形运算,dpx.offset的取值都需要乘以2后再进行下一级FFT蝶形运算;

所述旋转因子地址按照如下方式生成:

每一级FFT蝶形运算中,旋转因子的读取地址按照twf模式进行更新,twf模式下地址变换方式为(dpx.addr&(0xffff<<fft_stage))|((dpx.addr+dpx.offset)&~(0xffff<<fft_stage)));其中,0xffff为常数,“<<”为逻辑左移,fft_stage为FFT运算的级数,dpx.addr为地址指针,“&”为按位与运算,“+”为相加运算,“~”为按位取反运算,“|”为按位或运算;第一级FFT运算中旋转因子对应的存储器地址指针的偏移值为2fft_stage-1,其中,fft_stage为FFT运算的级数,在每次进入下一级运算前,偏移值均除以2。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏宏云技术有限公司,未经江苏宏云技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611021245.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top