本发明专利技术公开了一种GPDSP共享乘法器结构的定点浮点运算部件,包括:浮点乘加单元,用于支持双精度浮点操作和SIMD结构双单精度浮点乘法、乘加、乘减和复数乘法操作;定点乘加单元,用于支持64位有符号或无符号定点乘法操作和SIMD结构的双32位有符号或无符号定点乘法操作;64位定点乘法器,通过复用同一个乘法器的结构,将浮点尾数乘法视作无符号定点乘法进行运算。本发明专利技术具有能够提高硬件利用率、减少芯片面积等优点。
【技术实现步骤摘要】
本专利技术主要涉及到微处理器结构与设计领域,特指一种适合高性能通用数字信号处理器(General-PurposeDigitalSignalProcessor,简称GPDSP)中具有共享乘法器结构的定点浮点乘积运算单元。
技术介绍
传统数字信号处理领域中,数据通常以定点方式组织、存储和处理,传统DSP对定点运算提供很高的定点运算性能。然而,在现代通信、图像处理和雷达信号处理等应用领域,随着数据处理量加大、数据计算的精度和实时性要求的增加,通常需要使用更高性能的微处理器。对于数据精度和实时性的要求也在不断提高,由于算法具有高的浮点计算密集型,处理器的浮点数据处理能力显得越发重要。因此,通用高性能DSP需要对定点和浮点运算进行高效的硬件支持。无论是定点算术和浮点算术,乘法是数字信号处理中的重要运算,许多运算的性能是由乘法运算所能达到的性能决定的。衡量数字信号处理器的性能的重要指标之一就是单位时间内所能完成乘累加运算的次数。工程和科学应用领域使用大量矩阵类运算,其中包含大量的点积操作,图形图像和通信领域内FFT/IFFT、FIR滤波运算,包含大量的复数乘法和乘加运算。GPDSP的运算单元中有大量与乘法相关的指令需要用到定点乘法器,如定点乘加单元中的乘法运算、乘加运算、点积运算和复数乘法运算,浮点乘加单元中的单精度浮点尾数乘法,双精度浮点尾数乘法和乘累加、乘后加运算。通常情况下这些指令不同时执行,传统设计浮点与定点分别使用各自的乘法器完成相应运算。这样的设计导致硬件复用率低,占用面积大,浪费硬件资源。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种能够提高硬件利用率、减少芯片面积的GPDSP共享乘法器结构的定点浮点运算部件。为解决上述技术问题,本专利技术采用以下技术方案:一种GPDSP共享乘法器结构的定点浮点运算部件,包括:浮点乘加单元,用于支持双精度浮点操作和SIMD结构双单精度浮点乘法、乘加、乘减和复数乘法操作;定点乘加单元,用于支持64位有符号或无符号定点乘法操作和SIMD结构的双32位有符号或无符号定点乘法操作;64位定点乘法器,通过复用同一个乘法器的结构,将浮点尾数乘法视作无符号定点乘法进行运算。作为本专利技术的进一步改进:所述64位定点乘法器为采用4个32×32乘法器组成一个64位乘法器,用来完成定点32位SIMD乘法、64位乘法、SIMD单精度浮点尾数乘法以及双精度浮点尾数乘法。作为本专利技术的进一步改进:在所述64位定点乘法器中,被乘数Src1和乘数Src2为64位定点乘法器的输入端,作为64位的定点输入或作为53位的浮点输入,经过操作数选择模块使操作数位宽适合32位乘法器;64位的定点输入分为低32位Src[31:0]和高32位Src[63:32],53位浮点操作分为低24位Src[23:0]和高29位Src[52:24];浮点尾数乘法作为无符号定点乘法,不足32位的填0补齐。作为本专利技术的进一步改进:在所述32×32乘法器采用基4Booth编码共产生17个部分积;第一级压缩是首先将其中的16个部分积使用四个4-2压缩器产生8个结果;第二级压缩将上一级的八个结果与未参与第一级压缩的一个部分积通过3个3-2压缩器压缩成6个结果;第三级压缩则是两个3-2压缩器产生4个结果;最后一级压缩用一个4-2压缩器得到最后的两个结果。作为本专利技术的进一步改进:所述定点乘加单元中执行以下流水站:E1站的加法器执行加法指令和减法指令,E1站输出加减法指令结果;E1E2站同时执行32位乘法指令及乘加、乘减、点积、复数指令的乘法部分,E2站输出32位乘法器结果,结果写2拍;E3站执行乘加、乘减、点积、复数等指令的加法部分,同时指令64位乘法指令,E3站输出乘加、乘减结果、64位乘法指令和CMUL复数乘法指令,后两者写2拍;E4站执行点积和复数指令的最后处理,E4站输出点积和复数指令的结果。作为本专利技术的进一步改进:所述浮点乘加单元中执行以下流水站:E1站完成读操作数、例外判断、指数计算,乘法指令的部分积产生、和第一级的部分积压缩;E2站完成乘法结果的第二级、第三级压缩,和128位的对阶移位;E3站完成第四级的部分积压缩、乘法结果的计算,和128位的对阶移位;E4站完成乘法结果的写回、对阶后加法结果的计算和前导0预测;E5站根据前导0预测的结果,完成移位和指数修正操作;E6站完成舍入、规格化和其余指令的结果写回。与现有技术相比,本专利技术的优点在于:1、本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,定点与浮点运算单元共享乘法器,可以实现定点和浮点乘法及与乘法相关的复数乘法和点积指令。乘法器面积比传统设计减少一半,硬件资源利用率大幅提高。2、本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,可以支持定点加减法操作,定点MAC单元支持定点32位SIMD和64位加减法运算。3、本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,可以支持有符号立即数与地址寄存器相加减、通用寄存器与地址寄存器相加减的功能。4、本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,支持数据搬移功能,可实现立即数搬移到地址寄存器或通用寄存器、地址寄存器与通用寄存器之间、通用寄存器之间的数据搬移。5、本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,支持标向量广播指令,单字广播指令将标量寄存器中单字广播到向量寄存器中,双字广播指令是将标量寄存器对Src_o:Src_e中数据(双字)广播到向量寄存器对Dst_o:Dst_e中。附图说明图1是本专利技术的结构示意图。图2是本专利技术在具体应用实例中共享64位乘法器的结构示意图。图3是本专利技术在具体应用实例中32×32位乘法器的压缩结构示意图。图4是本专利技术在具体应用实例中32位乘法器流水线划分示意图。图5是本专利技术在具体应用实例中定点MAC各流水站划分示意图。图6是本专利技术在具体应用实例中浮点MAC各流水站划分示意图。具体实施方式以下将结合说明书附图和具体实施例对本专利技术做进一步详细说明。如图1所示,本专利技术的GPDSP共享乘法器结构的定点浮点运算部件,包含共享的64位定点乘法器、浮点乘加单元MAC(FMAC)和定点乘加单元MAC(IMAC)。浮点乘加单元FMAC支持IEEE-754标准的双精度浮点操作和IEEE-754标准的SIMD结构双单精度浮点乘法、乘加、乘减和复数乘法等操作;定点乘加单元IMAC支持本文档来自技高网...
【技术保护点】
一种GPDSP共享乘法器结构的定点浮点运算部件,其特征在于,包括:浮点乘加单元,用于支持双精度浮点操作和SIMD结构双单精度浮点乘法、乘加、乘减和复数乘法操作;定点乘加单元,用于支持64位有符号或无符号定点乘法操作和SIMD结构的双32位有符号或无符号定点乘法操作;64位定点乘法器,通过复用同一个乘法器的结构,将浮点尾数乘法视作无符号定点乘法进行运算。
【技术特征摘要】
1.一种GPDSP共享乘法器结构的定点浮点运算部件,其特征在于,包括:
浮点乘加单元,用于支持双精度浮点操作和SIMD结构双单精度浮点乘法、乘加、乘减
和复数乘法操作;
定点乘加单元,用于支持64位有符号或无符号定点乘法操作和SIMD结构的双32位有
符号或无符号定点乘法操作;
64位定点乘法器,通过复用同一个乘法器的结构,将浮点尾数乘法视作无符号定点乘法
进行运算。
2.根据权利要求1所述的GPDSP共享乘法器结构的定点浮点运算部件,其特征在于,所
述64位定点乘法器为采用4个32×32乘法器组成一个64位乘法器,用来完成定点32位SIMD
乘法、64位乘法、SIMD单精度浮点尾数乘法以及双精度浮点尾数乘法。
3.根据权利要求2所述的GPDSP共享乘法器结构的定点浮点运算部件,其特征在于,在
所述64位定点乘法器中,被乘数Src1和乘数Src2为64位定点乘法器的输入端,作为64位
的定点输入或作为53位的浮点输入,经过操作数选择模块使操作数位宽适合32位乘法器;
64位的定点输入分为低32位Src[31:0]和高32位Src[63:32],53位浮点操作分为低24位Src[23:0]
和高29位Src[52:24];浮点尾数乘法作为无符号定点乘法,不足32位的填0补齐。
4.根据权利要求2所述的GPDSP共享乘法器结构的定点浮点运算部件,其特征在于,在
所述32×32乘法器采用基4Booth编码共产生17个部分积;第一级压缩是首先将其中的16个
部分积使用四个4-...
【专利技术属性】
技术研发人员:雷元武,彭元喜,韩珊珊,陈书明,刘宗林,田甜,胡封林,刘祥远,刘仲,陈海燕,王耀华,陈虎,马胜,孙书为,许邦建,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。