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],将 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。