CN118034640A - 浮点型数据乘法器系统 - Google Patents
浮点型数据乘法器系统 Download PDFInfo
- Publication number
- CN118034640A CN118034640A CN202410284824.XA CN202410284824A CN118034640A CN 118034640 A CN118034640 A CN 118034640A CN 202410284824 A CN202410284824 A CN 202410284824A CN 118034640 A CN118034640 A CN 118034640A
- Authority
- CN
- China
- Prior art keywords
- unit
- binary number
- value
- binary
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000013067 intermediate product Substances 0.000 claims description 67
- 239000000047 product Substances 0.000 claims description 39
- 239000012467 final product Substances 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 238000007405 data analysis Methods 0.000 abstract description 3
- 238000007792 addition Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种浮点型数据乘法器系统,该系统在进行乘法运算时,只需要一个加法器即可实现乘法运算。在当今进行大数据分析和人工智能学习时,大型集成电路的海量运算必不可少,相应地,乘法运算作为基本运算则在海量运算中被大量应用,由此也将不得不在集成电路中布局海量的加法器单元。而采用本发明所提供的浮点型数据乘法器系统进行乘法运算,系统中仅仅需要配置一个加法器即可,这就大大降低了运算的复杂程度,同时也大大降低了加法器元件的数量,由此大大提高了集成电路的运算性能。
Description
技术领域
本发明涉及一种浮点型数据乘法器系统。
背景技术
当今社会,随着大数据的普及,人工智能得到飞速应用。与之相伴的是海量的数据处理。进一步,随着社会节奏的日益加快,数据处理速度也变得愈加快速。这就为硬件的数据运算能力提出了巨大的挑战。
尤其在人工智能进行大数据分析的过程中,普遍运用了卷积神经网络,对应地,集成电路的运算负荷也愈加严重。尤其在卷积神经网络的运算中,大量运用到乘法运算,相应地,在集成电路中就要配备相应的乘法器。
众所周知,乘法器中所进行的乘法运算实质上是加法运算的叠加。在多位数乘以多位数的乘法运算中(无论是二进制还是十进制),往往需要进行多次加法运算。例如,三位数ABC乘以三位数DEF,就需要首先以D乘以ABC再前移两位形成关于D的乘积,再以E乘以ABC前移一位形成关于E的乘积,再以F乘以ABC形成关于F的乘积,然后再配备一个加法器将F的乘积与E的乘积相加形成二者之和,再配备另一个加法器将该和与D的乘积相加得出ABC与DEF的乘积。这种运算至少要在集成电路中配备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的乘积。
可选地,所述第4情况能够被替换成第4’情况:如果数值判断单元判断底数段A”=310,则移位单元首先对二进制数B进行两次移位形成二进制数1002*B,再将1002*B与B输入加法器进行减法运算,形成数值B’=1002*B-B作为中间乘积。
可选地,所述第7情况能够被替换成第7’情况:如果数值判断单元判断底数段A”=610,则移位单元首先对二进制数B进行三次移位形成二进制数10002*B,然后并行地对二进制数B进行一次移位形成二进制数102*B,再将10002*B与102*B输入加法器进行减法运算,形成数值B’=10002*B-102*B作为中间乘积。
可选地,二进制数B是E5M2格式的FP8数据,或者是E4M3格式的FP8数据,或者是FP16的二进制浮点型数。
可选地,符号赋值单元使用非门来实现。
本发明所提供的浮点型数据乘法器系统进行乘法运算时,只需要一个加法器即可实现乘法运算。在当今进行大数据分析和人工智能学习时,大型集成电路的海量运算必不可少,相应地,乘法运算作为基本运算则在海量运算中被大量应用,由此也将不得不在集成电路中布局海量的加法器单元。而采用本发明所提供的浮点型数据乘法器系统进行乘法运算,系统中仅仅需要配置一个加法器即可,这就大大降低了运算的复杂程度,同时也大大降低了加法器元件的数量,由此大大提高了集成电路的运算性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图进行论述,显然,在结合附图进行描述的技术方案仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1示出了根据本发明的浮点型数据乘法器系统的大致运行框架图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚完整描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部实施例。基于本发明中所述的实施例,本领域普通技术人员在不需要创造性劳动的前提下所得到的所有其它实施例,都在本发明所保护的范围内。
尤其需要注意的是,本发明的描述涉及到二进制和十进制这两种数据表达方式。因此,在本文中,以右下脚标的形式来表达二进制或者十进制,例如1002,表达的是二进制下表述为“100”的数字,该数字换算成十进制则是410,意思是十进制下表述为“4”的数字。当然,在下文中,“0”和“1”则无需用脚标来表示进制,因为这两个数字无论在十进制下还是二进制下表述都完全相同,且无论用十进制表示还是二进制表示,其数值大小也都没有改变。
概括而言,本发明提供一种浮点型数据乘法器系统,能够利用特定格式的浮点型数据进行巧妙构造,由此在进行二进制数据的乘法运算时,只需要配备一个加法器即可,相比于现有技术需要用到潜在的多个加法器的情况,在乘法运算电路中大大节约了元件数量(尤其是加法器的数量),进而大大降低了运算量。
具体而言,设定两个二进制数A和B输入上述浮点型数据乘法器系统,其目的是输出这两个二进制数A和B的乘积。
二进制数A首先等值转换成E5M2格式的FP8数据A’。众所周知,E5M2格式的FP8数据包含五位指数位、两位底数位、一位符号位。
为此,上述浮点型数据乘法器系统特别设置数据切分单元,数据A‘输入该数据切分单元并根据E5M2格式的特性被该单元切分成指数段、底数段、符号段,其中指数段包含数据A’的五位指数位,符号段包含一位符号位,而底数段则包含两位底数位再加上E5M2格式所特有的一位底数缺省位。
由此可以看出,通过数据切分单元切分出的数据A’的底数段A”实际上为三位数的二级制数据,穷举为:000(=十进制0),001(=十进制1),010(=十进制2),011(=十进制3),100(=十进制4),101(=十进制5),110(=十进制6),111(=十进制7)。
由此可以看出,要计算A和B的乘积,首先就要考虑计算底数段A”与B的乘积。
由此,底数段A”输入上述系统的数值判断单元,该单元对底数段A”进行数值判断。
如果数值判断单元判断底数段A”=十进制0,则浮点型数据乘法器系统将不再进行任何运算,浮点型数据乘法器系统的最终乘积输出单元将直接输出二进制数A和B的乘积为0。原因在于,如果底数段A”=0,那么无论指数位和符号位赋予何值,FP8数据A’必然为0,也就意味着二进制数A=0。由此,众所周知,0乘以任何数都为0,因此只要A=0,必然就有A*B=0,因此,最终乘积输出单元就直接输出二进制数A和B的乘积为0,而无需考虑数据A’的符号位和指数位,也无需考虑二进制数B的具体数值。
如果数值判断单元判断底数段A”=十进制1,则浮点型数据乘法器系统也无需做乘法运算(当然,与上文不同的是,并非不做任何运算),浮点型数据乘法器系统的中间段乘积输出单元将直接输出二进制数B。原因在于,任何数乘以1均等于该数。在此基础上,浮点型数据乘法器系统再调用其中的移位单元和符号赋值单元,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,二进制数B本身,当然为与下文统一起见,此处的输出值“二进制数B本身”也视为中间乘积)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制2,则浮点型数据乘法器系统也无需做乘法运算。由于十进制2=二进制10(即,210=102),因此,在计算底数段A”与二进制数B的乘积时,并不需要做乘法运算,只需要浮点型数据乘法器系统再调用其中的移位单元对二进制数B进行一次移位,由此形成中间乘积B’=210*B=102*B,其中,上述等式中的102表示二进制下表达为“10”的数,该等式中的210表示十进制下表达为“2”的数,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制3,则浮点型数据乘法器系统就需要调用本发明中设置的唯一的加法器。在计算底数段A”与二进制数B的乘积时,A”*B=310*B=210*B+110*B=102*B+12*B=102*B+B,则移位单元首先对二进制数B进行一次移位形成二进制数102*B,再将102*B与B输入加法器进行加法运算,形成中间乘积B’=102*B+B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制4,则浮点型数据乘法器系统也无需做乘法运算。由于十进制4=二进制100(即,410=1002),因此,在计算底数段A”与二进制数B的乘积时,并不需要做乘法运算,只需要浮点型数据乘法器系统再调用其中的移位单元对二进制数B进行两次移位,由此形成中间乘积B’=410*B=1002*B,其中,上述等式中的1002表示二进制下表达为“100”的数,该等式中的410表示十进制下表达为“4”的数,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制5,则浮点型数据乘法器系统就需要调用本发明中设置的唯一的加法器。在计算底数段A”与二进制数B的乘积时,A”*B=510*B=410*B+110*B=1002*B+12*B=1002*B+B,则移位单元首先对二进制数B进行两次移位形成二进制数1002*B,再将1002*B与B输入加法器进行加法运算,形成中间乘积B’=1002*B+B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制6,则浮点型数据乘法器系统也需要调用本发明中设置的唯一的加法器。在计算底数段A”与二进制数B的乘积时,A”*B=610*B=410*B+210*B=1002*B+102*B,则移位单元首先对二进制数B进行两次移位形成二进制数1002*B,然后并行地对二进制数B进行一次移位形成二进制数102*B,再将1002*B与102*B输入加法器进行加法运算,形成中间乘积B’=1002*B+102*B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
如果数值判断单元判断底数段A”=十进制7,则浮点型数据乘法器系统也需要调用本发明中设置的唯一的加法器,当然思路需要进行一定程度的逆向改变。在计算底数段A”与二进制数B的乘积时,A”*B=710*B=810*B-110*B=10002*B-B,则移位单元首先对二进制数B进行三次移位形成二进制数10002*B,再将10002*B与B本身输入加法器进行减法运算,形成中间乘积B’=10002*B-B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
由此可见,采用本发明所提供的浮点型数据乘法器系统,在计算二进制数A和B乘积时,只要将其中一个二进制数A率先转化为E5M2的FP8数据,则至多只需要采用该系统中唯一的一个加法器进行一次加法运算(或者加法运算的逆运算——减法运算),即可实现底数段与二进制数B的乘积运算,在此基础上,再进行指数段和符号段的运算则皆不足虑,因为指数段运算只需要对二进制中间数进位即可,而符号段的运算甚至只需要符号赋值单元提供一个非门即可实现。
上文中已经详细介绍了本发明的浮点型数据乘法器系统的基本运行流程。图1示出了根据本发明的浮点型数据乘法器系统的大致运行框架图。
通过上文可以总结出,本发明所提供的浮点型数据乘法器系统,在将二进制数A转换为E5M2的FP8数据,巧妙地利用了该格式之数据的固有特点,形成了如下运算逻辑:
0*B=0;
1*B=B;
210*B=102*B;
310*B=210*B+B=102*B+B;
410*B=1002*B;
510*B=410*B+B=1002*B+B;
610*B=410*B+210*B=1002*B+102*B;
710*B=810*B-B=10002*B-B。
从上述逻辑可以看出,本发明所提供的系统对于二进制数B并没有特别的格式要求,二进制B本身也可以是E5M2格式的FP8数据,也可以是E4M3格式的FP8数据,也可以是FP16的二进制浮点型数据。
实际上,受到上式“710*B=810*B-B=10002*B-B”启发,本系统中如果数值判断单元判断底数段A”=十进制3或6,也可以有并行的减法方案。
例如,如果数值判断单元判断底数段A”=十进制3(即,310),则浮点型数据乘法器系统也需要调用本发明中设置的唯一的加法器进行减法运算。在计算底数段A”与二进制数B的乘积时,A”*B=310*B=410*B-110*B=1002*B-B,则移位单元首先对二进制数B进行两次移位形成二进制数1002*B,再将1002*B与B本身输入加法器进行减法运算,形成中间乘积B’=1002*B-B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
再例如,如果数值判断单元判断底数段A”=十进制6(即,610),则浮点型数据乘法器系统也需要调用本发明中设置的唯一的加法器进行减法运算。在计算底数段A”与二进制数B的乘积时,A”*B=610*B=810*B-210*B=10002*B-102*B,则移位单元首先对二进制数B进行三次移位形成二进制数10002*B,再并行对二进制数B进行一次移位形成二进制数102*B,再将10002*B与102*B输入加法器进行减法运算,形成中间乘积B’=10002*B-102*B,随后,该中间乘积B’由中间段乘积输出单元输出。然后,移位单元根据切分单元所切出的指数段,对中间段乘积输出单元输出的值(即,中间乘积B’)进行进位,由此形成中间值C’,随后,符号赋值单元根据切分单元所切出的符号段对中间值C’进行符号赋值,由此形成最终值C=A*B,最终值C由最终乘积输出单元输出,作为二进制数A和B的乘积。
由此可见,本发明所提供的浮点型数据乘法器系统进行乘法运算时,只需要一个加法器即可实现乘法运算。而正如之前章节所言,在当今进行大数据分析和人工智能学习时,大型集成电路的海量运算必不可少,相应地,乘法运算作为基本运算则在海量运算中被大量应用,由此也将不得不在集成电路中布局海量的加法器单元。而采用本发明所提供的浮点型数据乘法器系统进行乘法运算,系统中仅仅需要配置一个加法器即可,这就大大降低了运算的复杂程度,同时也大大降低了加法器元件的数量,由此大大提高了集成电路的运算性能。
以上所述仅为本发明的示例性实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种浮点型数据乘法器系统,其特征在于,该系统包括切分单元、数值判断单元、移位单元、中间段乘积输出单元、符号赋值单元、最终乘积输出单元以及只有一个加法器,该系统用于对二进制数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的乘积。
2.根据权利要求1所述的系统,其特征在于,所述第4情况能够被替换成第4’情况:
如果数值判断单元判断底数段A”=310,则移位单元首先对二进制数B进行两次移位形成二进制数1002*B,再将1002*B与B输入加法器进行减法运算,形成数值B’=1002*B-B作为中间乘积。
3.根据权利要求1或2所述的系统,其特征在于,所述第7情况能够被替换成第7’情况:
如果数值判断单元判断底数段A”=610,则移位单元首先对二进制数B进行三次移位形成二进制数10002*B,然后并行地对二进制数B进行一次移位形成二进制数102*B,再将10002*B与102*B输入加法器进行减法运算,形成数值B’=10002*B-102*B作为中间乘积。
4.根据权利要求1所述的系统,其特征在于,二进制数B是E5M2格式的FP8数据,或者是E4M3格式的FP8数据,或者是FP16的二进制浮点型数。
5.根据权利要求1所述的系统,其特征在于,符号赋值单元使用非门来实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410284824.XA CN118034640A (zh) | 2024-03-12 | 2024-03-12 | 浮点型数据乘法器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410284824.XA CN118034640A (zh) | 2024-03-12 | 2024-03-12 | 浮点型数据乘法器系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118034640A true CN118034640A (zh) | 2024-05-14 |
Family
ID=90985824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410284824.XA Pending CN118034640A (zh) | 2024-03-12 | 2024-03-12 | 浮点型数据乘法器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118034640A (zh) |
-
2024
- 2024-03-12 CN CN202410284824.XA patent/CN118034640A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984227B (zh) | 一种针对复数平方根的近似计算装置及方法 | |
Timarchi et al. | Arithmetic circuits of redundant SUT-RNS | |
CN116400883A (zh) | 一种可切换精度的浮点乘加器 | |
CN117111881B (zh) | 支持多输入多格式的混合精度乘加运算器 | |
CN107133012B (zh) | 一种高速自定义浮点复数除法器 | |
CN113608718B (zh) | 一种实现素数域大整数模乘计算加速的方法 | |
JP2001005643A (ja) | 累乗演算装置 | |
KR910001535A (ko) | 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자코드의 승산방법 및 회로 | |
US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
CN118034640A (zh) | 浮点型数据乘法器系统 | |
Kaivani et al. | Improving the speed of decimal division | |
CN111984226A (zh) | 一种基于双曲cordic的立方根求解装置及求解方法 | |
CN116484927A (zh) | 基于线性折线拟合的Sigmoid激活函数电路 | |
CN116974512A (zh) | 浮点运算装置、矢量处理装置、处理器及电子设备 | |
KR100331846B1 (ko) | 실수 연산기 | |
GB1582958A (en) | Digital system for binary multiplication of a number by a sum of two numbers | |
KR19980043591A (ko) | 정보 보호용 모듈러 승산 장치 | |
US20080071852A1 (en) | Method to perform a subtraction of two operands in a binary arithmetic unit plus arithmetic unit to perform such a method | |
RU2751802C1 (ru) | Умножитель по модулю | |
KR100805272B1 (ko) | 부호화를 이용하는 곱셈 장치 및 그 방법 | |
CN111610955B (zh) | 一种数据饱和加打包处理部件、芯片及设备 | |
JP3675111B2 (ja) | 3入力比較器 | |
KR100259095B1 (ko) | 정규화 기능을 갖는 가산기 | |
CN118502717A (zh) | 算术逻辑单元、处理器、计算芯片和计算设备 | |
Lloris Ruiz et al. | Multiplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |