一种用于存算融合式处理器架构的定点数据动态截位方法技术

技术编号:33290756 阅读:21 留言:0更新日期:2022-05-01 00:09
本发明专利技术公开了一种用于存算融合式处理器架构的定点数据动态截位方法,将输入的定点数据d_in中的截位数据d_cut,根据舍入模式向定点数据d_in高位的有效数据d_valid进行舍入进位处理,再对舍入进位处理后的精确值d_precise的低out_w位进行饱和处理后输出,得到定点数据d_in截位后的输出值d_out;舍入进位处理由定点数据d_in的二进制整数部分加上进位值完成,进位值由二进制小数部分与特殊值相加形成,不同舍入模式对应不同特殊值。本发明专利技术兼容IEEE 754中的五种标准舍入模式,解决了现有定点数据截位方法定点舍入模式单一的问题。有定点数据截位方法定点舍入模式单一的问题。有定点数据截位方法定点舍入模式单一的问题。

【技术实现步骤摘要】
一种用于存算融合式处理器架构的定点数据动态截位方法


[0001]本专利技术涉及定点数据截位处理
,尤其是一种用于存算融合式处理器架构的定点数据动态截位方法。

技术介绍

[0002]数字信号处理(DSP)技术的不断发展,具有高速的数据处理能力和强大的指令系统,能够快速、实时地实现各种数字信号处理运算,在各个领域得到应用。定点DSP芯片相较于浮点DSP芯片,还具有价格较低、运算速度较快、占用内存单元较少等特点,应用更为广泛。
[0003]定点DSP芯片的处理器架构内部采用二进制补码表示数据,若不经过特殊处理,数据就是定点形式。在数字信号处理过程中,大量乘、加运算会导致数据位宽的增加,从而需要增加硬件逻辑单元数量,需要对数据进行截位。
[0004]目前,在定点数据截位电路中,为提高有效数据的精度,还需对截掉的尾数进一步进行舍入处理,而现有定点数据截位电路存在定点舍入模式单一的缺点。此外,现有的定点数据截位采用截取位宽固定的静态截位方式,当截取位宽需要根据需求变化时,便无法满足需求,存在不具有可扩展性、通用性低的缺点。

技术实现思路

[0005]针对现有定点数据截位处理方式存在的上述问题,本专利技术提供了一种用于存算融合式处理器架构的定点数据动态截位方法。
[0006]一种用于存算融合式处理器架构的定点数据动态截位方法,将输入的定点数据d_in中的截位数据d_cut,根据舍入模式向定点数据d_in高位的有效数据d_valid进行舍入进位处理,再对舍入进位处理后的精确值d_precise的低out_w位进行饱和处理后输出,得到定点数据d_in截位后的输出值d_out。
[0007]进一步的,舍入进位处理由定点数据d_in的二进制整数部分加上进位值完成,进位值由二进制小数部分与特殊值相加形成,不同舍入模式对应不同特殊值。
[0008]进一步的,舍入进位处理具体包括以下步骤:
[0009]步骤A1,将定点数据d_in算术右移cut_n位,并在高位补上定点数据d_in的符号位,得到有效数移位值d_arsht,其中cut_n为截取位宽;
[0010]步骤A2,将定点数据d_in的低cut_max位逻辑左移cut_max

cut_n位,低位补0,得到的截位值d_llsht,其中cut_max=in_w

out_w为最大截取位宽,in_w为输入位宽,out_w为输出位宽;
[0011]步骤A3,对截位值d_llsht进行数据压缩,将其从cut_max位压缩至2位,得到截位压缩值d_cut_zip,压缩算法为d_cut_zip[1]=d_llsht[cut_max

1],d_cut_zip[0]等于d_llsht低cut_max

1位数据进行位或运算的结果值;
[0012]步骤A4,将截位压缩值与特殊值相加,得到进位值(0或1);
[0013]步骤A5,将有效数移位值d_arsht与进位值相加,得到精确值d_precise。
[0014]进一步的,饱和处理方式为:
[0015]当精确值d_precise为正数且其值超出out_w位所能表示的正数范围时,则发生上溢,输出值d_out等于out_w位的011

1;
[0016]当精确值d_precise为负数且其值超出out_w位所能表示的负数范围时,则发生下溢,输出值d_out等于out_w位的100

0;
[0017]当精确值d_precise的值未超出out_w位所能表示的数据范围时,输出值d_out等于d_precise[out_w

1:0]。
[0018]本专利技术的有益效果:1、兼容IEEE 754中的五种标准舍入模式,解决了现有定点数据截位方法定点舍入模式单一的问题;2、实现定点数据截取位宽变化地动态截位需求,极大地提高了定点数据截位电路的通用性,具有良好的可扩展性;3、通过对截位数据进行压缩,以及采用超前进位加法器中的进位算法,降低了路径时延,减少了硬件逻辑单元数量。
附图说明
[0019]图1为实施例1所述的定点输入数据结构图;
[0020]图2为实施例1所述的定点输入数据算术右移后结果;
[0021]图3为实施例1所述的定点输入数据逻辑左移后结果;
[0022]图4为实施例1所述的定点数据动态截位方法流程图。
具体实施方式
[0023]下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。
[0024]实施例1
[0025]一种用于存算融合式处理器架构的定点数据动态截位方法,将输入的定点数据d_in中的截位数据d_cut,根据舍入模式向定点数据d_in高位的有效数据d_valid进行舍入进位处理,再将舍入进位处理后的精确值d_precise的低out_w位进行饱和处理后输出,得到定点数据d_in截位后的输出值d_out。
[0026]下面结合表1对不同舍入模式对应不同的舍入进位处理进行说明。表1中的输入数据分别通过十进制数和二进制数表示。二进制数总位宽为7位,整数部分4位,小数部分3位,整数和小数之间以下划线分隔,数据带有符号,以补码的形式显示;十进制数为该行二进制数据对应的十进制表示,若二进制整数部分为I(X),小数部分为F(X),则定点数据为X=I(X)+F(X)。例如,7位二进制正数0001_111,整数部分I(X)=0001,对应十进制为+1,小数部分F(X)=111,对应十进制为+0.875(0.5+0.25+0.125),因而X=I(X)+F(X)=1+0.875=+1.875;7位二进制负数1110_111,整数部分I(X)=1110,对应十进制为

2;小数部分F(X)=111,对应十进制为+0.875,因而X=I(X)+F(X)=

2+0.875=

1.125。
[0027][0028]表1
[0029]表1中包含IEEE 754中五种标准舍入模式:
[0030](1)向负无穷舍入,即将十进制数取其不大于该数的最大整数;
[0031](2)向正无穷舍入,即将十进制数取其不小于该数的最小整数;
[0032](3)向零舍入,即当为正数时,十进制数取不大于该数的最大整数;当为负数时,十进制数取不小于该数的最小整数;
[0033](4)就近向远离零舍入,即当十进制数小数不等于0.5时,进行四舍五入操作;当十进制数小数等于0.5时,若为正数,则向整数舍入进1,若为负数,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于存算融合式处理器架构的定点数据动态截位方法,其特征在于,将输入的定点数据d_in中的截位数据d_cut,根据舍入模式向定点数据d_in高位的有效数据d_valid进行舍入进位处理,再对舍入进位处理后的精确值d_precise的低out_w位进行饱和处理后输出,得到定点数据d_in截位后的输出值d_out。2.根据权利要求1所述的用于存算融合式处理器架构的定点数据动态截位方法,其特征在于,舍入进位处理由定点数据d_in的二进制整数部分加上进位值完成,进位值由二进制小数部分与特殊值相加形成,不同舍入模式对应不同特殊值。3.根据权利要求2所述的用于存算融合式处理器架构的定点数据动态截位方法,其特征在于,舍入进位处理具体包括以下步骤:步骤1,将定点数据d_in算术右移cut_n位,并在高位补上定点数据d_in的符号位,得到有效数移位值d_arsht,其中cut_n为截取位宽;步骤2,将定点数据d_in的低cut_max位逻辑左移cut_max

cut_n位,低位补0,得到的截位值d_llsht,其中cut_max=in_w

out_w为最大截取位宽,in_w为输入位宽,out_w为输出位宽;步骤3,对截位值d_...

【专利技术属性】
技术研发人员:肖贞杰刘玉胡孔阳韩琼磊刘金良周洁
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1