本发明专利技术公开了一种基于掩码的混合浮点乘法低功耗控制方法。包括硬件自动确定混合浮点乘法操作类型,将标准的浮点乘数与被乘数尾数的高位填充全0,使所述浮点乘数、所述被乘数均与复用定点硬件乘法器输入位宽相同;对于浮点乘法操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则、符号扩展规则获得部分积,并将无效尾数移至高位,采用掩码控制无效尾数不参与部分积压缩求和运算,以节省逻辑功耗。本发明专利技术还公开了一种基于掩码的混合浮点乘法低功耗控制装置。本发明专利技术支持复用定点乘法硬件实现浮点乘法的低功耗控制,硬件自动检测浮点乘法运算,基于掩码控制高位扩充位编码,具有硬件开销低、易于逻辑实现、功耗控制简单等优点。
A low power control method and device of mixed floating point multiplication based on mask
【技术实现步骤摘要】
一种基于掩码的混合浮点乘法低功耗控制方法及装置
本专利技术涉及高性能微处理器设计与低功耗设计领域,特别是涉及一种基于掩码的混合浮点乘法低功耗控制方法及装置。
技术介绍
随着半导体工艺的飞速发展,微处理器芯片集成规模与工作频率不断提高,导致芯片功耗急剧增长,对芯片的散热、能耗与可靠性等带来巨大挑战,因此,低功耗设计成为微处理器设计研究热点。浮点运算处理能力一直是高性能微处理器的重要评价指标,而表征这一能力的关键核心部件是浮点乘法或浮点乘加(包含浮点乘法)单元,同时为了追求超高性能浮点运算能力,现代高性能微处理器芯片往往会采用向量结构例化超多浮点乘法单元,因此,浮点乘法单元动态功耗也是高性能微处理器的功耗主要来源。浮点乘法单元具有面积大、延迟长、结构复杂等特点,为了便于流水和节省硬件开销,一般采用基4-booth编码、有限符号扩展技术和进位保留加法器CSA(CarrySaveAdder)等技术实现,首先采用基4-booth编码与有限符号扩展技术根据乘数对被乘数进行编码得到多个部分积,然后利用4-2CSA或者3-2CSA对部分积进行压缩求和得到最终乘法结果。基4-booth编码和CSA实现的乘法器比较常用的低功耗技术包括操作数隔离、时钟门控等,在此基础上,一种可行的低功耗控制方法为浮点乘法与定点乘法独立硬件实现,通常浮点乘法与定点乘法不会同时进行运算,因此该技术可以通过操作数隔离和时钟门控等控制在进行浮点乘法运算时定点乘法组合逻辑与时序逻辑不会进行动态翻转而降低功耗。但该技术的缺点是会增加逻辑开销,特别是对于集成超多浮点乘法单元的高性能微处理器,硬件开销与功耗控制尤其需要平衡考虑。此外,定点乘法器一般比浮点乘法器大,比如在64位处理器中,64位定点乘法需要64*64大小的乘法器实现,而64位双精度浮点乘法只需要53*53位的乘法器实现,因此双精度浮点乘法完全可以复用64位定点乘法器,通过增加少量逻辑开销实现混合浮点乘法功能。综上,为节省硬件开销,通常可以基于定点乘法器通过增加少量复用逻辑实现混合浮点乘法,而针对这种复用实现的混合浮点乘法器中执行浮点乘法运算时对部分无效逻辑进行功耗控制,可以在操作数隔离、时钟门控等基础上进一步降低浮点乘法功耗。
技术实现思路
本专利技术目的是提供一种基于掩码的混合浮点乘法低功耗控制方法及装置,以较低的硬件开销实现混合浮点乘法器中进行浮点运算时自动控制无效逻辑翻转,以节省动态功耗,进而提高高性能微处理器能效比。根据本专利技术的第一方面,提供了一种基于掩码的混合浮点乘法低功耗控制方法,包括:确定混合浮点乘法操作类型,将标准的浮点乘数与被乘数尾数的高位填充全0,使所述浮点乘数、所述被乘数均与复用定点硬件乘法器输入位宽相同;对于浮点乘法操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则获得编码部分积,同时根据预设的符号扩展规则得到部分积的两位符号扩展位与低两位补码位,并将两位符号扩展位填充至浮点被乘数部分积编码有效尾数的高两位,而低两位补码扩充至部分积低位,即实现了无效尾数移至高位操作,进而得到所有编码部分积。进一步的,设置部分积掩码,即部分积有效尾数位(包括高两位符号扩展位与低两位补码位)对应掩码为0,其余无效尾数位掩码为1,控制部分积压缩求和过程中掩码为1的部分积尾数不参与求和运算,以降低部分积求和逻辑功耗;对于定点乘法,不需要进行乘数与被乘数填充,直接采用定点乘法硬件实现乘法运算即可。根据本专利技术的第二方面,提供了一种基于掩码的混合浮点乘法低功耗控制装置,浮点与定点乘法复用一套硬件设计实现,包括:检测模块:硬件自动确定混合浮点乘法操作类型,对于浮点乘法,将符合标准的浮点乘数与被乘数尾数的高位填充全0,使浮点乘数、被乘数均与定点乘法位宽相同,进而复用定点乘法硬件实现乘法运算;处理模块:对于浮点操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则、符号扩展规则获得部分积,并将无效尾数移至高位,设置部分积掩码,使得对应无效尾数位掩码为1;对于定点操作,部分积正常编码,并设置部分积掩码为全0。计算模块:根据部分积掩码进行部分积求和,对应掩码为1的部分积编码位不参与压缩求和运算,掩码为0的部分积对应位参与压缩求和,如果是定点乘法操作,求和最后得到乘法结果,如果是浮点乘法操作,最后求和得到浮点尾数乘法结果,再根据指数与符号运算处理合并得到最终浮点乘法结果。本专利技术的有益效果为:1.支持复用定点乘法硬件实现浮点乘法的低功耗控制,硬件自动检测浮点乘法运算,基于掩码控制高位扩充位编码,具有硬件开销低、易于逻辑实现、功耗控制简单等优点。2.通过硬件动态监测浮点乘法运算、硬件自动控制booth编码高位掩码、浮点乘法运算时掩码控制高位扩充位为全0以控制逻辑无效翻转。附图说明图1是根据本专利技术一实施例的一种基于掩码的混合浮点乘法低功耗控制方法的流程图;图2是根据本专利技术一实施例的一种基于掩码的混合浮点乘法低功耗控制装置的结构图;图3是根据本专利技术一实施例的掩码实现部分积编码高位无效尾数填充为0示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1示出了根据本专利技术一实施例的一种基于掩码的混合浮点乘法低功耗控制方法的流程,包括:S11、确定混合浮点乘法操作类型,对于浮点乘法,将符合标准的浮点乘数与被乘数尾数的高位填充全0,使浮点乘数、被乘数均与定点乘法位宽相同,进而复用定点乘法硬件实现乘法运算。在本说明书实施例中,以64位混合乘法为例,实际不限于此,定点乘法位宽为64位,为复用该乘法逻辑实现浮点乘法,需要将符合IEEE754标准的双精度浮点乘数与被乘数53位尾数在高位填充全0,补齐至64位。S12、对于浮点操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则、有限符号扩展规则获得部分积,并将无效尾数移至高位,进一步的,设置部分积掩码,使得对应无效尾数位掩码为1,对于定点操作,部分积正常编码,并设置部分积掩码为全0。在本说明书实施例中,作为优选实施例,部分积编码采用基-4Booth编码规则得到32个部分积,具体包括:以双精度浮点乘数B的每两位对被乘数A进行编码;对所有数i进行计算,并将计算结果转换成被乘数A的倍数。在本说明书实施例中,编码实现如下表所示:其中,以乘数B(…b2b1b0)为基准对被乘数A进行编码求部分积,对所有数i(i=0,1,2…,n/2-1),计算b2i+b2i-1-2b2i+1的值,并将结果转换成被乘数A的倍数。在本说明书实施例中,作为优选,符号扩展采用有限符号扩展技术得到符号扩展位E,在有效尾数本文档来自技高网...
【技术保护点】
1.一种基于掩码的混合浮点乘法低功耗控制方法,其特征为,包括:/nS11、硬件自动确定混合浮点乘法操作类型,将标准的浮点乘数与被乘数尾数的高位填充全0,使所述浮点乘数、所述被乘数均与复用定点硬件乘法器输入位宽相同;/nS12、对于浮点乘法操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则、符号扩展规则获得部分积,并将无效尾数移至高位;/nS13、根据所述部分积掩码进行部分积求和,对应掩码为1的部分积编码位不参与压缩求和运算,掩码为0的部分积对应位参与压缩求和。/n
【技术特征摘要】
1.一种基于掩码的混合浮点乘法低功耗控制方法,其特征为,包括:
S11、硬件自动确定混合浮点乘法操作类型,将标准的浮点乘数与被乘数尾数的高位填充全0,使所述浮点乘数、所述被乘数均与复用定点硬件乘法器输入位宽相同;
S12、对于浮点乘法操作,将填充后的浮点乘数与被乘数根据预设的乘法编码规则、符号扩展规则获得部分积,并将无效尾数移至高位;
S13、根据所述部分积掩码进行部分积求和,对应掩码为1的部分积编码位不参与压缩求和运算,掩码为0的部分积对应位参与压缩求和。
2.根据权利要求1所述的一种基于掩码的混合浮点乘法低功耗控制方法,其特征为,步骤S12中还包括:
设置部分积掩码,使得所述部分积对应的无效尾数位掩码为1;
对于定点乘法操作,部分积正常编码,并设置所述部分积掩码为全0。
3.根据权利要求1所述的一种基于掩码的混合浮点乘法低功耗控制方法,其特征为,步骤S13中还包括:
若是定点乘法操作,求和最后得到的乘法结果;
若是浮点乘法操作,求和最后得到的浮点尾数乘法结果,再根据指数与符号运算处理合并得到最终浮点乘法结果。
【专利技术属性】
技术研发人员:吴铁彬,许勇,陈芳园,王谛,高红光,李宏亮,
申请(专利权)人:无锡江南计算技术研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。