用于处理浮点数的设备和方法技术

技术编号:27096627 阅读:68 留言:0更新日期:2021-01-25 18:35
本发明专利技术公开了电路和相关联的方法,用于处理两个浮点数(A、B)以生成所述两个数字之和(A+B)与所述两个数字之差(A

【技术实现步骤摘要】
用于处理浮点数的设备和方法

技术介绍

[0001]浮点算术在多种应用中很有用,包括但不限于图形、数据处理、图像处理、信号处理、控制算法、科学编程,以及许多其他应用。将浮点数相加在一起是浮点算术中最基本的操作之一,并且在各种不同的应用和实施中都是普遍存在的。
[0002]浮点加法可以例如通过在通用处理单元上执行合适的指令来在软件中实现。替代性地,浮点加法可以例如通过适当地配置固定功能电路在硬件中实现。一般来讲,与硬件实施相比,软件实施允许更大的灵活性(例如,就设计时间之后改变加法运算而言,例如改变要相加在一起的数字的数量);然而,一般来讲,与软件实施相比,硬件实施提供更有效的操作(例如,就更低的等待时间和更低的功耗而言)。因此,如果认为操作的效率比灵活性更重要(例如,如果已知需要在功耗和等待时间非常重要的装置,诸如电池供电的移动装置(例如,智能电话、平板电脑或膝上型电脑)中多次执行特定类型的加法操作),那么硬件实施可能比软件实施更合适。

技术实现思路

[0003]提供本
技术实现思路
是为了以简化的形式介绍下文在具体实施方式中进一步描述的一系列概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0004]当在专用硬件中实现任何功能性(例如,浮点加法)时,硬件的大小是一个考虑因素,特别是要在大小受到严格限制的装置例如在移动装置中使用该硬件时。因此,在设计用于处理单元的硬件时,需要在以下方面进行权衡:(i)功耗,(ii)处理性能,以及(iii)大小(也可以被称为“半导体面积”或“硅面积”)。可以对这些因素中的一个因素进行改进(例如,降低功耗、提高处理性能或减少硅面积),但这可导致其他一个或两个因素的恶化(例如,增加功耗、降低处理性能或增加硅面积)。本文描述了用于处理将被相加在一起的至少三个浮点数的集合的加法器电路和相关联的方法,该加法器电路和相关联的方法可以提供这些因素中的一个或多个因素的改进,而不必导致其他一个或多个因素的恶化。该方法包括从至少三个数字中标识具有相同符号的至少两个数字,即,均为正或均为负的至少两个数字。使用一个或多个相同符号浮点加法器将所标识的至少两个数字相加在一起。相同符号浮点加法器包括被配置为将具有相同符号的浮点数相加在一起的电路,而不包括被配置为将具有不同符号的数字相加在一起的电路。
[0005]根据一个方面,提供了一种处理输入集合的机器实现的方法,该输入集合包括至少三个待求和的浮点数,该输入集合包括一个或多个正数和一个或多个负数,该方法包括:
[0006]接收输入集合的至少三个浮点数;
[0007]标识输入集合中具有相同符号的至少两个数字;以及
[0008]使用一个或多个相同符号浮点加法器将所标识的至少两个数字相加在一起,以产生一个或多个部分求和结果,
[0009]其中一个或多个相同符号浮点加法器在固定功能电路中实现,该固定功能电路被
配置为将具有相同符号的浮点数相加在一起,并且其中一个或多个相同符号浮点加法器不包括被配置为将具有不同符号的数字相加在一起的电路。
[0010]本专利技术人已经认识到两点。首先,如果提前知道浮点数具有相同的符号,则将浮点数加在一起比较容易。其次,在三个数字的任何集合中,至少必须存在两个数字具有相同的符号(或更一般地,在(2n)或(2n-1)个数字的任何集合中,至少存在n个数字具有相同的符号)。可以利用这种组合的标识,通过首先标识并且将具有相同符号的数字相加在一起来简化将至少三个浮点数的任何集合相加在一起的过程。
[0011]可以使用2:1相同符号加法器(即,具有两个输入端和一个输出端的相同符号加法器)将具有相同符号的两个数字相加在一起。
[0012]可以使用两个2:1相同符号加法器将具有相同符号的三个数字相加在一起,其中第一加法器的输出端将输入中的一个输入提供给第二加法器。替代性地,可以提供单个3:1相同符号加法器(即,具有三个输入端和一个输出端的相同符号加法器),以将具有相同符号的三个数字相加在一起。将具有相同符号的三个数字有效地相加在一起可能是有用的,例如,当期望将五个数字(具有任意符号)相加在一起时,因为在五个数字的任何集合中,至少存在三个共享相同符号的数字。
[0013]在使用多个相同符号浮点加法器将所标识的具有相同符号的数字相加在一起的情况下,加法器中的至少一些可以串联布置(即,一个或多个加法器的输出端将输入提供给一个或更多其他加法器)。加法器的串联布置可以包括具有多个层的树,其中树的每一层具有许多输入,并且产生的中间结果的数量小于输入的数量,其中中间结果作为输入被提供给下一层。
[0014]优选地,不使用混合符号加法器来产生一个或多个部分求和结果。
[0015]该方法还可以包括输出一个或多个部分求和结果和来自输入集合的每个剩余的数字。在此,“剩余的数字”是意指除所标识的具有相同符号的至少两个数字之外的数字。
[0016]该方法还可以包括:将一个或多个部分求和结果和来自输入集合的每个剩余的数字相加在一起,从而计算输入集合的总和,其中所述将一个或多个部分求和结果和来自输入集合的每个剩余的数字相加在一起包括使用在固定功能电路中实现的至少一个混合符号浮点加法器,该固定功能电路被配置为将具有相同或不同符号的浮点数相加在一起。
[0017]该方法还可以包括:使用混合符号浮点加法器将从输入集合导出的多个数字相加在一起,其中多个数字中的至少一个数字是由相同符号浮点加法器产生的部分求和结果,从而计算输入集合的总和,其中混合符号浮点加法器在固定功能电路中实现,该固定功能电路被配置为将具有相同或不同符号的浮点数相加在一起。
[0018]一个或多个相同符号浮点加法器可以包括相同符号浮点加法器的第一阵列和相同符号浮点加法器的第二阵列,其中标识具有相同符号的至少两个数字包括:至少评估输入集合的每个浮点数的符号位;仅当输入集合的每个浮点数的符号位为零时,才将该浮点数传递到第一阵列的相应的输入;仅当输入集合的每个浮点数的符号位为一时,才将该浮点数传递到第二阵列的相应的输入;该方法还包括将第二阵列的输出与第一阵列的输出进行组合。
[0019]组合可以包括使用浮点减法器(特别是如果第二阵列的输出表示为正数)从第一阵列的输出减去第二阵列的输出。替代性地,组合可以包括将第二阵列的输出与第一阵列
的输出相加(特别是如果第二阵列的输出被表示为负数)。
[0020]在该方法中,来自输入集合的正数在第一阵列中相加在一起,并且来自输入集合的负数在第二阵列中相加在一起。
[0021]第一阵列的输入数量可以等于输入集合中浮点数的数量。第二阵列的输入数量可以等于输入集合中浮点数的数量。
[0022]第一阵列和第二阵列可以由两个不同的阵列实现。两个不同的阵列可以同时操作。
[0023]第一阵列和第二阵列可以由单个阵列来实现,该单个阵列在第一时间被操作为第一阵列并且在不同的第二时间被操作为第二阵列。
[0024]标识具有相同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种机器实现的处理输入集合的方法,所述输入集合包括两个浮点数(A、B),每个浮点数具有符号,以生成所述两个浮点数之和(A+B)和所述两个浮点数之差(A-B),所述方法包括:接收(804)所述输入集合的所述两个浮点数;使用相同符号浮点加法器(1020)来计算(806)所述两个浮点数的绝对值之和,以产生第一结果;使用浮点减法器(1032)来计算(808)所述两个浮点数的所述绝对值之差,以产生第二结果;以及基于以下项生成(810、812)所述两个浮点数之和(A+B)和所述两个浮点数之差(A+B):所述第一结果、所述第二结果,以及每个浮点数的所述符号,其中所述相同符号浮点加法器(1020)在固定功能电路中实现,所述固定功能电路被配置为将具有相同符号的浮点数相加在一起,并且其中所述相同符号浮点加法器不包括被配置为将具有不同符号的数字相加在一起的电路。2.如权利要求1所述的方法,其中生成所述两个浮点数之和(A+B)和所述两个浮点数之差(A-B)包括:从所述第一结果和所述第二结果中的一者生成(812)所述两个浮点数之和(A+B);以及从所述第一结果和所述第二结果中的另一者生成(812)所述两个浮点数之差(A-B)。3.如前述权利要求中任一项所述的方法,其中生成所述两个浮点数之和(A+B)和所述两个浮点数之差(A-B)包括基于所述两个浮点数中每一个浮点数的所述符号校正(810)所述第一结果的符号和所述第二结果的符号。4.一种电路,所述电路被配置为处理包括两个浮点数(A、B)的输入集合,每个浮点数具有符号,以生成所述两个浮点数之和(A+B)和所述两个浮点数之差(A-B),所述电路包括:输入,所述输入被配置为接收(804)所述输入集合的所述两个浮点数;相同符号浮点加法器(1020),所述相同符号浮点加法器被配置为计算(806)所述两个浮点数的所述绝对值之和,以产生第一结果;浮点减法器(1032),所述浮点减法器被配置为计算(808)所述两个浮点数的所述绝对值之差,以产生第二结果;以及多路复用和符号校正逻辑(1010),所述多路复用和符号校正逻辑被配置为基于以下项来生成所述两个浮点数之和(A+B)和所述两个浮点数之差(A-B):所述第一结果、所述第二结果,以及每个浮点数(A、B)的所述符号,其中所述相同符号浮点加法器在固定功能电路中实现,所述固定功能电路被配置为将具有相同符号的浮点数相加在一起,并且其中所述相同符号浮点加法器不包括被配置为将具有不同符号的数字相加在一起的电路。5.如权利要求1所述的方法或如权利要求4所述的电路,其中所述...

【专利技术属性】
技术研发人员:萨姆
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1