当前位置: 首页 > 专利查询>何安平专利>正文

基于异步控制的浮点数加法器和浮点数的相加方法技术

技术编号:20362452 阅读:25 留言:0更新日期:2019-02-16 16:20
本发明专利技术涉及一种基于异步控制的浮点数加法器和浮点数相加方法,该加法器包括:对接移位模块、加法模块、规格化移位模块和多个异步控制模块;其中,对接移位模块用于对多个浮点数进行预处理,以使得多个浮点数的阶码相同;加法模块用于对经过对接移位模块预处理的多个浮点数的小数部分进行相加,以得到初始计算结果;规格化移位模块用于对初始计算结果进行移位,以得到规格化的最终计算结果;多个异步控制模块分别对应连接对接移位模块、加法模块和规格化移位模块,用于控制对接移位模块、加法模块和规格化移位模块运行的逻辑顺序。本发明专利技术的浮点数加法器能够有效地降低浮点数加法器的运行功耗,并极大的提升了浮点数加法器的运算速度。

【技术实现步骤摘要】
基于异步控制的浮点数加法器和浮点数的相加方法
本专利技术涉及集成电路中浮点数的算术运算领域,尤其涉及一种基于异步控制的浮点数加法器和浮点数的相加方法。
技术介绍
人类社会快速发展,进入了信息时代。而推动社会进入信息时代推力在于计算机的产生和快速发展。计算机产业的基础是集成电路产业,只有集成电路设计做的越小,速度做的越快,计算机所能做的工作便会越多,信息产业才能产生更多的可能。目前,工艺水平大幅度提高,微处理器的性能有了惊人的发展,微处理器也随之不断更新换代。计算机的主要功能是在进行数值运算,数值运算的速度决定了计算的处理能力。随着人工智能以及大数据技术的快速发展,对计算机的计算能力进一步提出了要求。计算机不单单要进行快速的数据处理,也需要处理数值特别大的数据。数据的类型可以分为定点数以及浮点数,定点数所能表示的数据大小很有限,而且不能表示小数。而浮点数,可以灵活地表示更大范围、更高精度的实数。用浮点数替代定点数已经被广泛地使用在各种计算科学中。传统的cpu(计算机处理器)在进行浮点数数据处理的时候,需要消耗大量的时间资源,而一款专用浮点数计算模块可以起到浮点数计算加速的目的。在所有的浮点数的计算中,55%的浮点数计算都在做浮点数加法,可见浮点数加法运算是使用频率最高的浮点数运算,浮点数加法器成为微处理器、现代信号处理系统中最重要的部分之一。浮点数的设计来自于电子电气工程师协在1985年制定的IEEE-754二进制浮点数规范,这也是浮点数专用计算器的工业标准。如图1所示,是IEEE-754标准的单精度浮点数的位数图,其由32位二进制组成,用科学计数法的方式表示了一个由-1.2*10-38到+1.2*10-38、-3.4*1038到3.4*1038的数值。其中,s代表浮点数的符号位,e代表着浮点数的指数位,f代表着浮点数的小数部分。将浮点数转化为实数为,(-1)s*2(e-127)*1.f。f中记录的部分是小数部分,但是其个位部分始终为1。在进行加法运算中,要还原它的个位部分进行运算,因为还原后的值才是其真实值。根据IEEE-754标准来说,设计浮点数加法器的算法,需要经过以下几个步骤。1、阶码相减;2、对阶移位;3、尾数相加减;4、规格化处理。在做浮点数加法的时候,就是在保证阶码部分相等的情况下,将浮点数的小数部分直接进行相加。最后再按照IEEE-754标准的规定对最后结果进行改造,使其符合标准规定,这也就是最后的规格化过程。保证阶码相等就是通过对阶操作进行的。但是,阶码的数值改变,为保证整体数值大小不变,需要小数部分进行移位。阶码加一后,小数部分(用二进制来表示)需要整体向右移动一位。对于而二进制来讲,整体向右移动一位相当于是数值大小变为原来的二分之一。价码加一,相当于整体乘了一个二,此消彼长正好抵消。最后规格化过程,也涉及到对小数部分的整体移位,因为其要保证小数部分的最高位为1。传统的浮点数加法器的设计通常都是基于同步的设计的标准算法以及双通道算法。标准算法如图2所示,Ea,Eb送入指数比较器进行比较,得到阶差,前移位器会将指数较小的那个小数部分右移diff位,得到的结果送入定点数加法器进行相加。规格化单元对结果进行规格化处理,在规格化单元中设计一个前导1检测电路(即图中的LOD),来判断在结果中第一个1的位置。并根据位置进行左移。使用同步电路设计需要考虑电路运行中所可能产生的最慢时延情况,使其能在两个同步脉冲信号之间就可以完成最慢时延。同步脉冲信号周期无法改变,会造成速度快的部分在等待速度慢的部分执行完毕。而在浮点数加法器设计中,移位过程的移位位数是不确定的,通常需要多个时钟周期来完成,而移位工作硬件执行速度极快,用单个时钟周期去完成移位工作会造成时间浪费。如图3所示,是双通道算法。双通道算法,其有两个并行的数据通道,当阶码相差大于1的时候,这种情况,前期的对阶操作可能会需要很多时间,但是之后的规格化阶段移位就相对比较简单,只需要移动一位或者不移动。而当阶码差小于1的时候,前期的对接操作不需要移位或者只需要移动一位,而后面的规格化操作可能需要大规模移位。双通道算法将原来的两个移位过程化简成只需要一次移位过程,这可以极大加速运算速度,但是这种方法所消耗的资源是巨大的。这种通过资源消耗而提高的运算速度的方法,在一些对硬件面积有严格要求的情况下变得十分不可取。以上两种设计方法,都是通过同步的设计。这种设计方法,是由同步电路进行驱动,也就是说,只要电路处于运行之中,而没有实际的数据输入情况下,电路仍处于运行状态,这样导致大量的功耗浪费。在物联网领域,在物联网终端设备中,往往不需要电路始终在计算数据,只有在需要的时候才进行数据计算,如果让电路一直处于运行状态,太过耗费功耗。并且,对于物联网终端设备来说,其往往自带电池,有限的电量设计使得工程师在进行电路设计时,需要特别考虑功耗问题。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种基于异步控制的浮点数加法器和浮点数相加方法,通过在浮点数加法器中增加异步控制模块来实现加法器的异步控制,使得加法器在进行计算时才会被启动运行,进而降低了加法器的功率消耗,同时,通过异步控制有效地提升了加法器的运算速度。为了解决上述技术问题,根据本专利技术一方面,提供了一种基于异步控制的浮点数加法器,包括:对接移位模块、加法模块、规格化移位模块和多个异步控制模块;其中,所述对接移位模块用于对多个浮点数进行预处理,以使得所述多个浮点数的阶码相同;所述加法模块用于对经过所述对接移位模块预处理的所述多个浮点数的小数部分进行相加,以得到初始计算结果;所述规格化移位模块用于对所述初始计算结果进行移位,以得到规格化的最终计算结果;所述多个异步控制模块分别对应连接所述对接移位模块、所述加法模块和所述规格化移位模块,用于控制所述对接移位模块、所述加法模块和所述规格化移位模块运行的逻辑顺序。进一步地,所述多个异步控制模块依次连接;以及所述多个异步控制模块具体用于:在所述多个异步控制模块中的一个异步控制模块接收到其他异步控制模块的握手信号后,产生异步控制信号,所述控制信号驱动所述异步控制信号对应连接的所述述对接移位模块、所述加法模块和所述规格化移位模块运行。进一步的,所述对接移位模块、所述加法模块和所述规格化移位模块前端均设置有缓存模块,所述缓存模块用于在接收到所述异步控制信号后,完成所述对接移位模块、所述加法模块和所述规格化移位模块中的数据传输。进一步的,所述对接移位模块包括比较器和第一移位器;其中,所述比较器用于将所述多个浮点数两两相减,根据计算出的数值的正负判断出所述多个浮点数的阶数的大小;所述第一移位器用于将所述比较器判断出的阶数较小的浮点数向阶数较大的浮点数进行对阶。进一步的,所述加法模块具体用于将所述多个浮点数的小数部分的多位数中的相对应的每一位同时相加。进一步的,所述规格化移位模块包括:第二移位器,用于改变所述初始计算结果的指数,并对所述初始计算结果的小数部分进行移位,以得到所述最终计算结果。根据本专利技术另一方面,提供一种基于异步控制的浮点数相加方法,该方法包括:在接收到第一异步控制信号后,接收多个浮点数,并对所述多个浮点数进行预处理,以使得所述多个浮点数的阶码相同;在接收到第二异步控本文档来自技高网
...

【技术保护点】
1.一种基于异步控制的浮点数加法器,其特征在于,包括:对接移位模块、加法模块、规格化移位模块和多个异步控制模块;其中,所述对接移位模块用于对多个浮点数进行预处理,以使得所述多个浮点数的阶码相同;所述加法模块用于对经过所述对接移位模块预处理的所述多个浮点数的小数部分进行相加,以得到初始计算结果;所述规格化移位模块用于对所述初始计算结果进行移位,以得到规格化的最终计算结果;所述多个异步控制模块分别对应连接所述对接移位模块、所述加法模块和所述规格化移位模块,用于控制所述对接移位模块、所述加法模块和所述规格化移位模块运行的逻辑顺序。

【技术特征摘要】
1.一种基于异步控制的浮点数加法器,其特征在于,包括:对接移位模块、加法模块、规格化移位模块和多个异步控制模块;其中,所述对接移位模块用于对多个浮点数进行预处理,以使得所述多个浮点数的阶码相同;所述加法模块用于对经过所述对接移位模块预处理的所述多个浮点数的小数部分进行相加,以得到初始计算结果;所述规格化移位模块用于对所述初始计算结果进行移位,以得到规格化的最终计算结果;所述多个异步控制模块分别对应连接所述对接移位模块、所述加法模块和所述规格化移位模块,用于控制所述对接移位模块、所述加法模块和所述规格化移位模块运行的逻辑顺序。2.根据权利要求1所述的基于异步控制的浮点数加法器,其特征在于,所述多个异步控制模块依次连接;以及所述多个异步控制模块具体用于:在所述多个异步控制模块中的一个异步控制模块接收到其他异步控制模块的握手信号后,产生异步控制信号,所述控制信号驱动所述异步控制信号对应连接的所述述对接移位模块、所述加法模块和所述规格化移位模块运行。3.根据权利要求2所述的基于异步控制的浮点数加法器,其特征在于,所述对接移位模块、所述加法模块和所述规格化移位模块前端均设置有缓存模块,所述缓存模块用于在接收到所述异步控制信号后,完成所述对接移位模块、所述加法模块和所述规格化移位模块中的数据传输。4.根据权利要求1-3中任一项所述的基于异步控制的浮点数加法器,其特征在于,所述对接移位模块包括比较器和第一移位器;其中,所述比较器用于将所述多个浮点数两两相减,根据计算出的数值的正负判断出所述多个浮点数的阶数的大小;所述第一移位器用于将所述比较器判断出的阶数较小的浮点数向阶数较大的浮点数进行对阶。5.根据权利要求4所述的绝缘检测电路基于异步控制的浮点数加...

【专利技术属性】
技术研发人员:何安平李鹏飞李双强
申请(专利权)人:何安平李鹏飞李双强
类型:发明
国别省市:甘肃,62

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

1