一种小数加法结果圆整方法与装置制造方法及图纸

技术编号:15547472 阅读:25 留言:0更新日期:2017-06-07 13:05
本发明专利技术提供一种小数加法结果圆整方法,包括以下步骤:定义加法器参数,根据加法器输入操作数设定进位传递因子、进位产生因子和进位取消因子,利用进位传递因子和进位取消因子判断计算低位部分处理结果,利用进位传递因子和进位产生因子判断计算高位部分处理结果,得到圆整输出。同时公开了一种小数加法结果圆整装置。本发明专利技术通过将低位计算和高位进位预测两个部分独立出来进行处理,可以代替现有技术中小数加法结果采用两个独立加法器计算的方式,经过测试,可以有效地提高现有技术中计算效率,而且在浮点乘法器或定点小数操作中,本发明专利技术所提供的方法可以更快速的对低位结果进行判断,以更快的开始后续操作。

Rounding method and device for decimal addition result

The present invention provides a method for rounding decimals results, comprising the following steps: defining the parameters according to the adder, adder input operands set carry propagation factor, carry generation factor and carry cancellation factor, use transfer factor and carry off carry low part factor judgment calculation results, using the carry propagation factor and carry generation factor calculation high some results are obtained, rounding output. A rounding device for decimal addition results is also disclosed. According to this invention, low computation and high prediction of two independent parts carry out for processing, can replace the existing technology of decimals results by two independent adder calculation method, after testing, can effectively improve the efficiency of existing technology, but also in the fixed-point decimal floating-point multiplier or operation, the method provided by the invention can be more quickly on the low to judge the results, with a faster start the subsequent operation.

【技术实现步骤摘要】

本专利技术涉及数据处理及专用集成电路
,尤其涉及一种小数加法结果圆整方法与装置
技术介绍
对加法器结果的圆整(Round)操作,通常也称为舍入操作,是常见的结果处理操作之一,几乎在所有处理器中都会有类似的设计。在浮点加法器中,如果加法器的两个输入数的指数不同,一般会将指数较小的输入数的尾数右移之后在与另一个输入数进行操作。在输出结果之前,移出的位需要向上圆整。按照IEEE的圆整标准,是否将低位向上进位需要综合考虑所有移出位、加法器结果最低有效位和次低有效位。在这种情况下,最直接的处理方式是先判断决定是否需要进位,然后再进行加法运算。在利用浮点乘累加器或者定点乘累加器对小数操作时,指令要求结果输出位宽与输入位宽相同。因此,乘法器会将输入操作数的位宽加倍,如果不对位宽进行限定,在经过多次乘法操作之后,理论上运算结果的位宽将以指数形式增长。为了避免出现这种不必要的情况,指令都需要将运算结果圆整。因此,加法器的结果需要将低半部分按照规则舍入并选择高半部分。在这种情况下,最直接的方式是先得到加法器的计算结果,然后根据结果的低半部分,决定是否向上进位,然后再计算进位结果。在不同的环境下,加法器结果的圆整操作使用不同的设计方式。在现有技术中的高性能处理器中,浮点加法器的圆整操作常见的方法是使用进位选择和双加法器的设计方式,即同时处理需要进位的结果以及不需要进位的结果。在加法器进行计算的同时,判断是否需要舍入,然后在加法器得出结果之后进行选择。但是在浮点乘加器或者定点小数乘加器的设计中,使用传统的进位选择需要消耗更多的资源。而且因为低半部分的结果判断需要较多时间,无法在高半部分的计算完毕之前得出,所以仍然不能快速的得到结果。综上所述,现有高性能处理器中的浮点乘加器或者定点小数乘加器存在圆整方法消耗的资源多且无法快速得到结果的问题。
技术实现思路
本专利技术公开一种小数加法结果圆整方法,以解决现有高性能处理器中浮点乘加器或者定点小数乘加器消耗资源多且无法快速得到结果的问题。一种小数加法结果圆整方法,其特征在于,包括以下步骤:定义编码加法器的参数,所述参数包括两个位宽为n的加法器输入操作数a[n-1:0]和b[n-1:0],加法器初始进位c0,加法器输出s[n-1:0]以及圆整结果r[m-1:0];根据所述加法器输入操作数设定每一位的进位传递因子p[n-1:0],进位产生因子g[n-1:0]和进位取消因子k[n-1:0],其中p[n-1:0]=a[n-1:0]^b[n-1:0],g[n-1:0]=a[n-1:0]&b[n-1:0],k[n-1:0]=~(a[n-1:0]|b[n-1:0]),^代表异或逻辑,&代表与逻辑,~代表取反逻辑,|代表或逻辑;接收所述加法器输入操作数和初始进位,利用所述进位传递因子和进位取消因子预先判断计算生成低位部分处理结果;将低位部分分为三段,将p[n-m-1]和k[n-m-2]同或计算得到所述低位部分的最高位zl[n-m-1],将每一位的进位传递因子与与其相比低一位的进位取消因子按位异或计算得到所述低位部分的次高位至次低位zl[n-m-2:1],将p[0]与初始进位c0同或计算得到zl[0],将n-m位zl[n-m-1:0]进行n-m位的与操作,得到低位部分处理结果mid;接收所述加法器输入操作数,利用所述进位传递因子和进位产生因子判断预测高位部分处理结果,将高m位的进位传递因子与与其相比低一位的进位产生因子异或计算得到高m位结果zh[m-1:0],将高m位结果zh[m-1:0]的每一位的与所有低于该权重的位做与操作得到高m位的高位进位预测结果zhc[m-1:0];将加法器低位部分输出的最高位s[n-m-1]分别和所述高位进位预测结果zhc[m-1:0]的每一位分别进行与逻辑计算,得到zhcs[m-1:0];将加法器高位部分的输出s[n-1:n-m+1]和zhcs[m-1:1]进行异或计算得到部分圆整输出r[m-1:1];利用加法器的部分输出s[n-m]作为选择信号,s[n-m]为高则选择mid和s[n-m-1]的或非逻辑计算结果作为所述圆整输出的最低位,s[n-m]为低则选择~mid和s[n-m-1]的与逻辑计算结果作为所述圆整输出的最低位,得到r[0]。本专利技术所公开的小数加法结果圆整方法,通过将低位计算和高位进位预测两个部分独立出来,可以代替现有技术中采用两个独立加法器计算的方式,经过测试,可以有效地提高现有技术中计算效率,而且在浮点乘法器或定点小数操作中,本专利技术所提供的方法可以更快速的对低位结果进行判断,以更快的开始后续操作。本专利技术同时公开了一种小数加法结果圆整装置,包括第一加法器;第一逻辑单元,所述第一逻辑单元被配置为接收加法器输入操作数和初始进位,利用根据所述加法器输入操作数生成的进位传递因子和进位取消因子预先判断计算生成低位部分处理结果;第二逻辑单元,所述第二逻辑单元被配置为接收加法器输入操作数,利用根据所述加法器输入操作数生成的进位传递因子和进位产生因子预先预测计算高位部分处理结果;圆整结果输出单元,所述圆整结果输出单元耦接所述第一加法器、第一逻辑单元和第二逻辑单元,所述圆整结果输出单元使用所述第一加法器、第一逻辑单元和第二逻辑单元的输出结果,形成圆整结果。本专利技术所公开的小数加法圆整装置,可以降低芯片面积的40%,同时在有效降低芯片面积的条件下,很好的解决了圆整操作需要处理的低位结果判断、高位进位计算和溢出判断三个问题,同时提高了结果输出的速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所公开的小数加法结果圆整方法的一种流程图;图2为本专利技术所公开的小数加法结果圆整方法的另一种流程图;图3为本专利技术所公开的小数加法圆整装置的结构示意框图;图4为图3中第一逻辑单元的逻辑电路示意图;图5为图3中第二逻辑单元的逻辑电路示意图;图6为图3所公开的小数加法圆整装置的逻辑电路示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1所示为本专利技术所公开的小数加法结果圆整方法第一种实施例的流程图,本专利技术旨在更快的给出计算结果,避免同时进行并行加法和进位选择操作,降低使用的加法器资源。具体来说,本实施例包括以下步骤:定义编码加法器的参数,所述参数包括两个位宽为n的加法器输入操作数a[n-1:0]和b[n-1:0],加法器初始进位c0,加法器输出s[n-1:0]以及圆整结果r[m-1:0]。根据所述加法器输入操作数设定对应每一位的进位传递因子p[n-1:0],进位产生因子g[n-1:0]和进位取消因子k[n-1:0],其中p[n-1:0]=a[n-1:0]^b[n-1:0],本文档来自技高网
...
一种小数加法结果圆整方法与装置

【技术保护点】
一种小数加法结果圆整方法,其特征在于,包括以下步骤:定义编码加法器的参数,所述参数包括两个位宽为n的加法器输入操作数 a[n‑1:0]和b[n‑1:0], 加法器初始进位c0,加法器输出s[n‑1:0]以及圆整结果r[m‑1:0] ;根据所述加法器输入操作数设定每一位的进位传递因子p[n‑1:0],进位产生因子g[n‑1:0]和进位取消因子k[n‑1:0],其中p[n‑1:0]= a[n‑1:0]^ b[n‑1:0],g[n‑1:0]= a[n‑1:0]& b[n‑1:0],k[n‑1:0]=~(a[n‑1:0]| b[n‑1:0]),^代表异或逻辑,&代表与逻辑,~代表取反逻辑,|代表或逻辑;接收所述加法器输入操作数和初始进位,利用所述进位传递因子和进位取消因子预先判断计算生成低位部分处理结果:将低位部分分为三段,将p[n‑m‑1]和k[n‑m‑2]同或计算得到所述低位部分的最高位zl[n‑m‑1],将每一位的进位传递因子与与其相比低一位的进位取消因子按位异或计算得到所述低位部分的次高位至次低位zl[n‑m‑2:1],将p[0]与初始进位c0同或计算得到zl[0],将n‑m位zl[n‑m‑1:0]进行n‑m位的与操作,得到低位部分处理结果mid;接收所述加法器输入操作数,利用所述进位传递因子和进位产生因子判断预测高位部分处理结果,将高m位的进位传递因子与与其相比低一位的进位产生因子异或计算得到高m位结果zh[m‑1:0],将高m位结果zh[m‑1:0]的每一位的与所有低于该权重的位做与操作得到高m位的高位进位预测结果zhc[m‑1:0];将加法器低位部分输出的最高位s[n‑m‑1]分别和所述高位进位预测结果zhc[m‑1:0]的每一位分别进行与逻辑计算,得到zhcs[m‑1:0];将加法器高位部分的输出s[n‑1:n‑m+1]和zhcs[m‑1:1]进行异或计算得到部分圆整输出r[m‑1:1];利用加法器的部分输出s[n‑m]作为选择信号,s[n‑m]为高则选择mid和s[n‑m‑1]的或非逻辑计算结果作为所述圆整输出的最低位,s[n‑m]为低则选择~mid和s[n‑m‑1]的与逻辑计算结果作为所述圆整输出的最低位,得到r[0]。...

【技术特征摘要】
1.一种小数加法结果圆整方法,其特征在于,包括以下步骤:定义编码加法器的参数,所述参数包括两个位宽为n的加法器输入操作数a[n-1:0]和b[n-1:0],加法器初始进位c0,加法器输出s[n-1:0]以及圆整结果r[m-1:0];根据所述加法器输入操作数设定每一位的进位传递因子p[n-1:0],进位产生因子g[n-1:0]和进位取消因子k[n-1:0],其中p[n-1:0]=a[n-1:0]^b[n-1:0],g[n-1:0]=a[n-1:0]&b[n-1:0],k[n-1:0]=~(a[n-1:0]|b[n-1:0]),^代表异或逻辑,&代表与逻辑,~代表取反逻辑,|代表或逻辑;接收所述加法器输入操作数和初始进位,利用所述进位传递因子和进位取消因子预先判断计算生成低位部分处理结果:将低位部分分为三段,将p[n-m-1]和k[n-m-2]同或计算得到所述低位部分的最高位zl[n-m-1],将每一位的进位传递因子与与其相比低一位的进位取消因子按位异或计算得到所述低位部分的次高位至次低位zl[n-m-2:1],将p[0]与初始进位c0同或计算得到zl[0],将n-m位zl[n-m-1:0]进行n-m位的与操作,得到低位部分处理结果mid;接收所述加法器输入操作数,利用所述进位传递因子和进位产生因子判断预测高位部分处理结果,将高m位的进位传递因子与与其相比低一位的进位产生因子异或计算得到高m位结果zh[m-1:0],将高m位结果zh[m-1:0]的每一位的与所有低于该权重的位做与操作得到高m位的高位进位预测结果zhc[m-1:0];将加法器低位部分输出的最高位s[n-m-1]分别和所述高位进位预测结果zhc[m-1:0]的每一位分别进行与逻辑计算,得到zhcs[m-1:0];将加法器高位部分的输出s[n-1:n-m+1]和zhcs[m-1:1]进行异或计算得到部分圆整输出r[m-1:1];利用加法器的部分输出s[n-m]作为选择信号,s[n-m]为高则选择mid和s[n-m-1]的或非逻辑计算结果作为所述圆整输出的最低位,s[n-m]为低则选择~mid和s[n-m-1]的与逻辑计算结果作为所述圆整输出的最低位,得到r[0]。2.根据权利要求1所述的小数加法结果圆整方法,其特征在于,还包括以下步骤:溢出判断;在浮点操作中,如果所述加法器输出最高位有进位则N上溢出;...

【专利技术属性】
技术研发人员:周沈刚李任伟
申请(专利权)人:青岛朗思信息科技有限公司
类型:发明
国别省市:山东;37

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

1