System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种计算单元制造技术_技高网

一种计算单元制造技术

技术编号:40015256 阅读:4 留言:0更新日期:2024-01-16 15:54
本专利公开了一种计算单元,属于处理器基础架构设计领域,用于支持任意精度的卷积计算,降低功耗和电路复杂度。本发明专利技术的主要技术方案为:预处理模块,用于补全操作数的有效数;预对齐模块,用于加数的有效数移位,得到移位后的加数有效位;乘法器模块,用于计算乘积的有效数;补码加法器模块,用于根据移位后的加数有效位和乘积的有效数计算结果有效数;标准化模块,用于根据结果有效数获得标准化后的结果有效数。

【技术实现步骤摘要】

本专利技术涉及处理器基础架构设计领域,尤其涉及一种计算单元


技术介绍

1、现有的可以支持多精度浮点乘累加计算的计算单元设计中,有对于时间与空间不采取复用,对多精度采用分离的模块设计,这种形式存在的问题是对于新型浮点格式的数据的支持需要使用多条比较精度、乘法计算偏置、移位指令组合实现,增大代码量的同时带来更多的取指译码功耗。还有采用单比特或低比特时域复用的方式,采用多周期复用单元计算结果并移位相加产生最终结果,但是由于在多个周期内复用一套运算单元,在此期间不能进行流水线化,为了解决此问题必须使用双时钟域策略,数据在跨时钟域之间传输,但是在快到慢的时钟域中,不仅需要触发器链进行抑制亚稳态的传播,还要防止慢时钟域采不到快时钟域的数据,因此就额外添加反馈与握手电路。


技术实现思路

1、本专利技术提供一种计算单元,用于解决因支持多精度计算而产生的功耗过高或无法流水线化的问题。

2、本专利技术实施例提供一种计算单元,所述计算单元包括

3、可变精度参数处理模块,用于根据操作数的指数宽度得到处于偏置状态的最大指数值;处于偏置状态的最大指数值表示处于偏置状态的指数能够表示的最大数,处于偏置状态的数值宽度为本专利技术实施例提供的计算单元能够支持的最大指数位宽。

4、可变精度标准化舍入参数模块,用于根据操作数的尾数宽度,得到舍入位、奇偶位、粘贴位、参与舍入的尾数位;

5、舍入与异常检查模块,用于根据所述舍入位、奇偶位、粘贴位、参与舍入的尾数位得到最终输出结果;还用于根据处于偏置状态的最大指数值进行异常检查,输出异常表示和/或有效信号。为了支持任意精度的浮点格式计算,本计算单元引入了两个额外变量:操作数指数宽度和操作数尾数宽度,同时基于两个变量改进了现有的计算单元架构,设置了可变精度参数处理模块、可变精度标准化舍入参数模块、舍入与异常检查模块用于处理两个输入变量从而实现支持任意精度的浮点乘累加计算,且不会因为增大代码量而导致高功耗。

6、所述可变精度参数处理模块,还用于根据操作数的指数宽度得到指数偏置值。

7、所述可变精度参数处理模块包括:

8、比较器,用于将输入操作数的指数宽度与比较器的索引值对比,将对比结果输入至选择器;

9、选择器,用于根据对比结果输出所述指数偏置值和/或所述处于偏置状态的最大指数值。

10、所述选择器与所述比较器连接;所述比较器与所述选择器的个数等于最大偏置长度。

11、所述计算单元还包括:

12、预处理模块,用于补全操作数的有效数;本专利技术提供的计算单元根据引入的两个额外变量,对现有的预处理模块进行了适应性改进,使其能够处理根据操作数指数宽度得到的偏置状态的最大指数值和指数偏置值,实现补全有效数;将操作数的符号数、指数、尾数分开;判断操作数类型等功能;

13、预对齐模块,用于加数的有效数移位,得到移位后的加数有效位;

14、乘法器模块,用于计算乘积的有效数;

15、补码加法器模块,用于根据移位后的加数有效位和乘积的有效数计算结果有效数;

16、标准化模块,用于根据结果有效数获得标准化后的结果有效数。

17、得到参与舍入的尾数位包括:

18、根据所述操作数的尾数宽度,得到实际有效数位数p;

19、根据实际有效数位数p,将所述标准化后的结果有效数的p位以内的数据保留,得到参与舍入的尾数位;由于是支持任意精度的浮点乘累加计算单元,所以在舍入与异常检查模块中,标准化模块得到的p位有效数并不全部需要,因此在可变精度标准化舍入参数模块中根据操作数的尾数宽度,得到实际的有效数位数,再根据实际的有效数位数获得参与舍入的尾数位。

20、得到舍入位包括:将所述标准化后的结果有效数输入选择器,选择所述标准化后的结果有效数的p+1位的数据作为舍入位。

21、所述预对齐模块,还用于计算第一粘贴位;

22、所述标准化模块,还用于根据所述第一粘贴位,得到第二粘贴位;

23、所述可变精度标准化舍入参数模块,还用于计算第三粘贴位;

24、所述舍入与异常检查模块,还用于根据所述第二粘贴位和所述第三粘贴位得到第四粘贴位;

25、其中,所述第四粘贴位用于确定所述参与舍入的尾数是否需要舍入。

26、所述异常检查包括:向上溢出和向下溢出;

27、其中,向上溢出是所述最终输出结果的指数位大于或等于所述的处于偏置状态的最大指数值;

28、向下溢出是所述最终输出结果的指数位小于或等于实际最小指数值。

29、所述计算单元还包括:第一流水线模块、第二流水线模块、第三流水线模块,用于数据的接收与传输。加入三段流水线逻辑的技术效果是缩短关键路径延时

30、本专利技术实施例提供一种计算芯片,所述芯片设置有本专利技术实施例提供的所述计算单元。

31、专利技术的有益效果:

32、本专利技术是能支持任意精度的浮点乘累加计算的计算单元,与采用时域复用的方式实现任意精度的浮点乘累加单元相比,能够支持流水线化,从而避免跨时钟域数据传输冒险竞争所产生的毛刺,缩短任意精度浮点乘累加模块的关键路径延时。与标准单精度浮点乘累加单元相比,通过设置操作数指数宽度、尾数宽度在同一个计算单元中支持任意的精度,减少了单精度模块支持新型精度格式的功耗;从而减少计算的功耗。

本文档来自技高网...

【技术保护点】

1.一种计算单元,其特征在于,所述计算单元包括:

2.根据权利要求1所述的计算单元,其特征在于,所述可变精度参数处理模块,还用于根据操作数的指数宽度得到指数偏置值。

3.根据权利要求1或2所述的计算单元,其特征在于,所述可变精度参数处理模块包括:

4.根据权利要求3所述的计算单元,其特征在于,所述选择器与所述比较器连接;所述比较器与所述选择器的个数等于最大偏置长度。

5.根据权利要求1所述的计算单元,其特征在于,所述计算单元还包括:

6.根据权利要求1或5所述的计算单元,其特征在于,得到参与舍入的尾数位包括:

7.根据权利要求1或5所述的计算单元,其特征在于,所述预对齐模块,还用于计算第一粘贴位;

8.根据权利要求1所述的计算单元,其特征在于,所述异常检查包括:向上溢出和向下溢出;

9.根据权利要求1所述的计算单元,其特征在于,所述计算单元还包括:第一流水线模块、第二流水线模块、第三流水线模块,用于数据的接收与传输。

10.一种计算芯片,其特征在于,所述芯片上设置有如权利要求1至10任一项的所述计算单元。

...

【技术特征摘要】

1.一种计算单元,其特征在于,所述计算单元包括:

2.根据权利要求1所述的计算单元,其特征在于,所述可变精度参数处理模块,还用于根据操作数的指数宽度得到指数偏置值。

3.根据权利要求1或2所述的计算单元,其特征在于,所述可变精度参数处理模块包括:

4.根据权利要求3所述的计算单元,其特征在于,所述选择器与所述比较器连接;所述比较器与所述选择器的个数等于最大偏置长度。

5.根据权利要求1所述的计算单元,其特征在于,所述计算单元还包括:

6.根据权利要求...

【专利技术属性】
技术研发人员:孙惜阳雷亚雄高曰超赵志达李森
申请(专利权)人:北京思丰可科技有限公司
类型:发明
国别省市:

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

1