System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 浮点型数据乘法器系统技术方案_技高网

浮点型数据乘法器系统技术方案

技术编号:41337625 阅读:3 留言:0更新日期:2024-05-20 09:56
本发明专利技术提供一种浮点型数据乘法器系统,该系统在进行乘法运算时,只需要一个加法器即可实现乘法运算。在当今进行大数据分析和人工智能学习时,大型集成电路的海量运算必不可少,相应地,乘法运算作为基本运算则在海量运算中被大量应用,由此也将不得不在集成电路中布局海量的加法器单元。而采用本发明专利技术所提供的浮点型数据乘法器系统进行乘法运算,系统中仅仅需要配置一个加法器即可,这就大大降低了运算的复杂程度,同时也大大降低了加法器元件的数量,由此大大提高了集成电路的运算性能。

【技术实现步骤摘要】

本专利技术涉及一种浮点型数据乘法器系统


技术介绍

1、当今社会,随着大数据的普及,人工智能得到飞速应用。与之相伴的是海量的数据处理。进一步,随着社会节奏的日益加快,数据处理速度也变得愈加快速。这就为硬件的数据运算能力提出了巨大的挑战。

2、尤其在人工智能进行大数据分析的过程中,普遍运用了卷积神经网络,对应地,集成电路的运算负荷也愈加严重。尤其在卷积神经网络的运算中,大量运用到乘法运算,相应地,在集成电路中就要配备相应的乘法器。

3、众所周知,乘法器中所进行的乘法运算实质上是加法运算的叠加。在多位数乘以多位数的乘法运算中(无论是二进制还是十进制),往往需要进行多次加法运算。例如,三位数abc乘以三位数def,就需要首先以d乘以abc再前移两位形成关于d的乘积,再以e乘以abc前移一位形成关于e的乘积,再以f乘以abc形成关于f的乘积,然后再配备一个加法器将f的乘积与e的乘积相加形成二者之和,再配备另一个加法器将该和与d的乘积相加得出abc与def的乘积。这种运算至少要在集成电路中配备2个加法器。这还仅仅是相对简单的三位数乘法,如果位数更多,则单次运算中加法器要配备的数量也相应增加。

4、由此,可以想见,在集成电路中进行大数据运算时,配备的加法器的数量将烦不胜烦数不胜数,导致电路元件数量的急剧上升,严重降低了运算电路的整体性能。因此,当前继续一种系统能够有效地降低运算电路中加法器的数量,由此极大增强运算电路的性能。


技术实现思路

1、本专利技术提供浮点型数据乘法器系统,有效地解决了现有技术存在的上述问题。

2、具体而言,本专利技术提供一种浮点型数据乘法器系统,该系统包括切分单元、数值判断单元、移位单元、中间段乘积输出单元、符号赋值单元、最终乘积输出单元以及只有一个加法器,该系统用于对二进制数a和二进制数b进行乘法运算,其中,二进制数a和二进制数b被输入该系统,二进制数a被等值转换成e5m2格式的fp8数据a’,所述切分单元将数据a‘切分成指数段、符号段以及底数段a”,底数段a”被输入数值判断单元,根据数值判断单元的判断结果进行分情况处理:第1情况:如果数值判断单元判断底数段a”=0,则最终乘积输出单元直接输出二进制数a和b的乘积为0;第2情况:如果数值判断单元判断底数段a”=1,则中间段乘积输出单元将直接输出二进制数b作为中间乘积;第3情况:如果数值判断单元判断底数段a”=210,则移位单元对二进制数b进行一次移位由此形成数值b’=210*b=102*b作为中间乘积;第4情况:如果数值判断单元判断底数段a”=310,则移位单元首先对二进制数b进行一次移位形成二进制数102*b,再将102*b与b输入加法器进行加法运算,形成数值b’=102*b+b作为中间乘积;第5情况:如果数值判断单元判断底数段a”=410,则移位单元对二进制数b进行两次移位由此形成数值b’=410*b=1002*b作为中间乘积;第6情况:如果数值判断单元判断底数段a”=510,则移位单元首先对二进制数b进行两次移位形成二进制数1002*b,再将1002*b与b输入加法器进行加法运算,形成数值b’=1002*b+b作为中间乘积;第7情况:如果数值判断单元判断底数段a”=610,则移位单元首先对二进制数b进行两次移位形成二进制数1002*b,然后并行地对二进制数b进行一次移位形成二进制数102*b,再将1002*b与102*b输入加法器进行加法运算,形成数值b’=1002*b+102*b作为中间乘积;第8情况:如果数值判断单元判断底数段a”=710,则移位单元首先对二进制数b进行三次移位形成二进制数10002*b,再将10002*b与b本身输入加法器进行减法运算,形成数值b’=10002*b-b作为中间乘积,在第2情况至第8情况中的任一情况下,所述中间乘积由中间段乘积输出单元输出,然后,移位单元根据指数段对中间乘积进行进位形成中间值c’,随后,符号赋值单元根据符号段对中间值c’进行符号赋值,由此形成最终值c=a*b由最终乘积输出单元输出,作为二进制数a和b的乘积。

3、可选地,所述第4情况能够被替换成第4’情况:如果数值判断单元判断底数段a”=310,则移位单元首先对二进制数b进行两次移位形成二进制数1002*b,再将1002*b与b输入加法器进行减法运算,形成数值b’=1002*b-b作为中间乘积。

4、可选地,所述第7情况能够被替换成第7’情况:如果数值判断单元判断底数段a”=610,则移位单元首先对二进制数b进行三次移位形成二进制数10002*b,然后并行地对二进制数b进行一次移位形成二进制数102*b,再将10002*b与102*b输入加法器进行减法运算,形成数值b’=10002*b-102*b作为中间乘积。

5、可选地,二进制数b是e5m2格式的fp8数据,或者是e4m3格式的fp8数据,或者是fp16的二进制浮点型数。

6、可选地,符号赋值单元使用非门来实现。

7、本专利技术所提供的浮点型数据乘法器系统进行乘法运算时,只需要一个加法器即可实现乘法运算。在当今进行大数据分析和人工智能学习时,大型集成电路的海量运算必不可少,相应地,乘法运算作为基本运算则在海量运算中被大量应用,由此也将不得不在集成电路中布局海量的加法器单元。而采用本专利技术所提供的浮点型数据乘法器系统进行乘法运算,系统中仅仅需要配置一个加法器即可,这就大大降低了运算的复杂程度,同时也大大降低了加法器元件的数量,由此大大提高了集成电路的运算性能。

本文档来自技高网...

【技术保护点】

1.一种浮点型数据乘法器系统,其特征在于,该系统包括切分单元、数值判断单元、移位单元、中间段乘积输出单元、符号赋值单元、最终乘积输出单元以及只有一个加法器,该系统用于对二进制数A和二进制数B进行乘法运算,其中,

2.根据权利要求1所述的系统,其特征在于,所述第4情况能够被替换成第4’情况:

3.根据权利要求1或2所述的系统,其特征在于,所述第7情况能够被替换成第7’情况:

4.根据权利要求1所述的系统,其特征在于,二进制数B是E5M2格式的FP8数据,或者是E4M3格式的FP8数据,或者是FP16的二进制浮点型数。

5.根据权利要求1所述的系统,其特征在于,符号赋值单元使用非门来实现。

【技术特征摘要】

1.一种浮点型数据乘法器系统,其特征在于,该系统包括切分单元、数值判断单元、移位单元、中间段乘积输出单元、符号赋值单元、最终乘积输出单元以及只有一个加法器,该系统用于对二进制数a和二进制数b进行乘法运算,其中,

2.根据权利要求1所述的系统,其特征在于,所述第4情况能够被替换成第4’情况:

3....

【专利技术属性】
技术研发人员:杨林黄河于杨
申请(专利权)人:深圳明琪紫芯科技有限公司
类型:发明
国别省市:

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

1