【技术实现步骤摘要】
支持可变指数位宽的多精度Posit编解码运算装置及方法
[0001]本专利技术涉及支持可变指数位宽的多精度Posit编解码运算装置及方法。
技术介绍
[0002]Posit(参考文献:Gustafson J L,Yonemoto I T.Beating floating point at its own game:Posit arithmetic[J].Supercomputing frontiers and innovations,2017,4(2):71
‑
86.)格式自提出以来便受到学术界、工业界的广泛关注,并被证明在部分神经网络应用中存在潜在的优势:即利用低精度的Posit格式代替高精度的传统浮点格式,在减少计算复杂度、降低存储需求的同时,也能保持模型精度不变。这得益于Posit格式在动态范围与数值精度间的平衡,而动态可配置的指数位宽es使得这种平衡更加灵活(指数位宽es越大,越偏向大的动态范围;指数位宽es越小,越偏向高的数值精度),极大提升了Posit运算的灵活性。
[0003]另一方面,神经网络应用中不同网络层和操作的计算精度往往不同,通过在运算中实现灵活的精度配置,不仅能够大幅提高计算效率,降低能耗,低精度运算下也能减少神经网络的参数存储需求。然而,Posit格式由于存在独特的regime字段,其编解码过程相比传统浮点格式也更加复杂。若通过在硬件中同时实现各种精度的Posit编解码单元,将极大增加硬件开销,增加Posit运算的成本。因此,实现硬件高效的多精度Posit编解码单 ...
【技术保护点】
【技术特征摘要】
1.支持可变指数位宽的多精度Posit编解码运算装置,其特征在于,包括多精度Posit译码器、多精度Posit运算单元和多精度Posit编码器;所述多精度Posit译码器接收Posit输入数据、精度模式控制信号和指数位宽es配置信号,完成译码操作,得到有效的符号、指数及尾数值输出;所述多精度Posit运算单元根据得到的有效符号、指数及尾数值完成相应的运算,并将运算结果发送给多精度Posit编码器,多精度Posit编码器根据精度模式控制信号和指数位宽es配置信号,完成Posit输出数据的编码。2.根据权利要求1所述的装置,其特征在于,所述多精度Posit译码器包括多精度二进制补码模块、多精度前导0/1计数模块、多精度regime移位模块和多精度掩码求指数尾数模块;所述多精度二进制补码模块采用分段的方法实现多精度的二进制补码操作,具体包括:先将输入的操作数按照所支持的最低精度模式划分为N段子操作数,即子操作数0~子操作数N
‑
1,并根据精度模式控制信号确定每一段子操作数的有效符号,将子操作数与其对应的有效符号通过异或运算完成对于负数所有位全部取反运算,以及对于正数所有位不变的运算;根据精度模式控制信号、子操作数的有效符号,以及低位产生的进位,确定异或运算后的结果是否需要加1;最终,将得到的N段子结果拼接,并根据精度模式控制信号在符号位比特处与有效符号值进行或运算,得到多精度二进制补码运算后的值。3.根据权利要求2所述的装置,其特征在于,所述多精度前导0/1计数模块采用分段计数的方法,低精度模式下的计数结果通过加法器与选择器处理得到高精度下的计数结果,具体包括:将要处理的操作数按照所支持的最低精度划分为N段子操作数,即子操作数0~子操作数N
‑
1,通过N组并行的前导0/1计数模块计算得到N组子操作数各自的前导0或1数,分别为:cpm[0]~cpm[N
‑
1],以及N组子操作数各自的数据有效信号,分别为:vpm[0]~vpm[N
‑
1],满足数据有效信号vpm为1时,cpm为确切的前导0或前导1数;否则数据有效信号vpm为0时,代表子操作数输入为全0或全1,此时cpm为0;当精度模式控制信号为所支持的最低精度时,cpm[0]~cpm[N
‑
1]为需要的前导0/1计数结果;否则,每相邻两段子操作数的计数结果通过逐级两两组合处理,得到下一精度模式的计数结果。4.根据权利要求3所述的装置,其特征在于,所述多精度regime移位模块采用分段与分级移位的方法实现对多精度移位的支持,具体包括:将操作数按照所支持的最低的精度模式划分为N段子操作数,即子操作数0~子操作数N
‑
1,并根据精度模式控制信号确定每一段子操作数的左移移位量,在支持的最低精度模式下,每个子操作数的最大移位量为子操作数的位宽,用L比特的数保存,其中L为对子操作数的位宽做log2运算后的值;在支持的最高精度模式下下,最大移位量为操作数的总位宽,用K比特的数保存,其中K为对操作数的总位宽做log2运算后的值;进行分段与分级移位,将N个子操作数并行送入各自的移位器中,完成1~L级的移位;在所支持的最低精度模式下,N组移位器输出的子结果0~子结果N
‑
1为最终移位的结果,直接舍弃左移溢出的高位;如果精度模式控制信号为更高的精度模式,则将高位的移位器左移后的结果与低位的移位器左移时溢出的位进行按位或运算,以实现在高精度模式下的连贯移位。5.根据权利要求4所述的装置,其特征在于,在多精度掩码求指数尾数模块中,根据输
入的指数位宽es配置信号和精度模式控制信号确定指数段及尾数段的掩码,同时,多精度regime移位模块输出的仅含指数段及尾数段的操作数也通过左移es
‑
bit以保证指数段的值右对齐,尾数段的值左对齐;将移位后的值分别与指数段掩码、尾数段掩码按位与运算,得到指数段和尾数段的结果;根据精度模式控制信号选择操作数各个比特对应的掩码为指数段掩码还是零,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。