CN117270812A - 定点浮点融合的多精度加法减法运算方法及乘法运算方法 - Google Patents
定点浮点融合的多精度加法减法运算方法及乘法运算方法 Download PDFInfo
- Publication number
- CN117270812A CN117270812A CN202310988997.5A CN202310988997A CN117270812A CN 117270812 A CN117270812 A CN 117270812A CN 202310988997 A CN202310988997 A CN 202310988997A CN 117270812 A CN117270812 A CN 117270812A
- Authority
- CN
- China
- Prior art keywords
- point
- fixed
- floating point
- operands
- control logic
- 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
- 238000007667 floating Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004927 fusion Effects 0.000 claims abstract description 21
- 238000010606 normalization Methods 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000011410 subtraction method Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 4
- 238000007792 addition Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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/52—Multiplying; Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种定点浮点融合的多精度加法减法运算方法及乘法运算方法。定点浮点融合的多精度加法减法运算方法,包括:控制逻辑模块根据输入操作数确定运算器的运算模式,运算模式包括:浮点运算模式和定点运算模式,根据运算模式输出运算结果。本方法通过一套硬件资源支持了定点和浮点两种运算,相比于传统的定点浮点独立运算部件,使用了更少的计算资源,能够获得更小的芯片面积。
Description
技术领域
本发明涉及集成电路技术领域,并且更具体地,涉及一种定点浮点融合的多精度加法减法运算方法及乘法运算方法。
背景技术
浮点运算单元和定点/整型运算单元是各类芯片中的必要计算单元,在高性能和大算力芯片中拥有的数量十分庞大,面积占比很高。传统芯片硬件设计中,通常将浮点和定点/整形运算单元分别设计和实现,两者分别独立占据私有计算资源,造成核心计算资源不能共享,芯片面积过大。
发明内容
针对现有技术的不足,本发明提供一种定点浮点融合的多精度加法减法运算方法及乘法运算方法。
根据本发明的一个方面,提供了一种定点浮点融合的多精度加法减法运算方法,包括:
控制逻辑模块根据输入操作数确定运算器的运算模式,运算模式包括:浮点运算模式和定点运算模式;
在运算模式为浮点运算模式的情况下,接收两个输入操作数,并送入解包模块将两个操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数,对包含隐含位的尾数恢复为有效数;
解包模块得到的两个操作数的符号进入控制逻辑模块,控制逻辑模块根据操作数的符号分别对两个操作数的有效数进行选择性的求补码;
两个操作数的指数进入减法器进行减法运算得到操作数的指数差,并根据两个操作数的指数差,对两个操作数的有效数进行对齐,得到对齐后的有效数;
控制逻辑模块将对齐后的有效数通过输入mux模块送入定点加法器,得到浮点有效数加和结果并送入控制逻辑模块;
两个操作数的浮点有效数加和结果进入规格化模块,对浮点有效数加和结果进行规格化,规格化移位的第一移位值送入控制逻辑模块,规格化的结果进入舍入和求补码模块,得到舍入后的有效数;
将舍入后的有效数再次进行规格化,确定输出结果浮点数尾数,并将规格化移位的第二移位值送入控制逻辑模块;
控制逻辑模块将的第一移位值、第二移位值和输入操作数中较大的指数进行相加,得到输出结果浮点数指数;
控制逻辑模块根据有效数加和结果的正负得出输出结果浮点数符号;
将输出结果浮点数符号、输出结果浮点数指数以及输出结果浮点数尾数进行打包,打包成标准的浮点数标识格式,输出浮点运算结果。
可选地,还包括:在输出结果浮点数符号为负的情况下,对输出结果有效数进行求补码运算。
可选地,还包括:
在运算模式为定点运算模式的情况下,控制逻辑模块控制输入mux模块将操作数直接进入定点加法器;
定点加法器将两个输入操作数进行加法运算得到定点计算加法结果;
控制逻辑模块控制输出mux模块将定点计算加法结果直接输出,完成定点运算。
根据本发明的另一个方面,提供了一种定点浮点融合的多精度加法减法运算器,用于实现上述所述的任意一项定点浮点融合的多精度加法减法运算方法。
根据本发明的另一个方面,提供了一种定点浮点融合的多精度乘法运算方法,包括:
控制逻辑模块根据输入操作数确定运算器的运算模式,运算模式包括:浮点运算模式和定点运算模式;
运算模式为浮点运算模式下,输入操作数进入解包模块,解包模块将操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数;
解包模块得到的两个操作数的尾数经过恢复有效数逻辑模块,恢复隐藏位,得到完整有效数;
两个操作数的有效数通过输入mux模块进入定点乘法器,进行乘法运算;
两个输入操作数的指数进入定点加法器计算得到输出结果指数;
控制逻辑模块根据两个输入操作数的符号,确定输出结果符号;
对定点乘法器的输出尾数进行规格化和舍入,确定输出结果尾数,并同步调整输出结果指数;
将输出结果符号、输出结果指数和输出结果尾数打包成浮点数格式,得到输出浮点结果。
可选地,控制逻辑根据两个输入操作数的符号,确定输出结果符号,包括:
控制逻辑模块根据两个输入操作数的符号以及同号为正,异号为负原则,确定输出结果符号。
可选地,同步调整输出结果指数,包括:
根据规格化的移位值和舍入是否产生进位对输出结果指数进行调整,其中进位为输出结果指数减去移位值并加上舍入产生的进位。
可选地,还包括:
当运算模式为定点计算模式时,控制逻辑模块控制输入mux模块将两个输入操作数直接送入定点乘法器;
定点乘法器将输入操作数进行乘法运算得到定点计算乘法结果;
控制逻辑模块控制输出MUX模块将定点计算结果直接输出,完成定点运算。
根据本发明的另一个方面,提供了一种定点浮点融合的多精度乘法运算器,用于实现上述所述的任意一项定点浮点融合的多精度乘法运算方法。
从而,本发明提供了一套硬件支持了定点和浮点两种运算,相比于传统的定点浮点独立运算部件,使用了更少的计算资源,能够获得更小的芯片面积。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1是本发明实施例第一个方面提供的定点浮点融合的多精度加法减法运算方法的流程示意图;
图2是本发明实施例第二个方面提供的定点浮点融合的多精度加法减法运算器的结构示意图;
图3是本发明实施例第三个方面提供的定点浮点融合的多精度乘法运算方法的流程示意图;
图4是本发明实施例第四个方面提供的定点浮点融合的多精度乘法运算器的结构示意图。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1是本发明实施例第一个方面提供的定点浮点融合的多精度加法减法运算方法的流程示意图。本实施例可应用在电子设备上,如图1所示,定点浮点融合的多精度加法减法运算方法100包括以下步骤:
步骤101,控制逻辑模块根据输入操作数确定运算器的运算模式,运算模式包括:浮点运算模式和定点运算模式;
步骤102,在运算模式为浮点运算模式的情况下,接收两个输入操作数,并送入解包模块将两个操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数,对包含隐含位的尾数恢复为有效数;
步骤103,解包模块得到的两个操作数的符号进入控制逻辑模块,控制逻辑模块根据操作数的符号分别对两个操作数的有效数进行选择性的求补码;
步骤104,两个操作数的指数进入减法器进行减法运算得到操作数的指数差,并根据两个操作数的指数差,对两个操作数的有效数进行对齐,得到对齐后的有效数;
步骤105,控制逻辑模块将对齐后的有效数通过输入mux模块送入定点加法器,得到浮点有效数加和结果并送入控制逻辑模块;
步骤106,两个操作数的浮点有效数加和结果进入规格化模块,对浮点有效数加和结果进行规格化,规格化移位的第一移位值送入控制逻辑模块,规格化的结果进入舍入和求补码模块,得到舍入后的有效数;
步骤107,将舍入后的有效数再次进行规格化,确定输出结果浮点数尾数,并将规格化移位的第二移位值送入控制逻辑模块;
步骤108,控制逻辑模块将的第一移位值、第二移位值和输入操作数中较大的指数进行相加,得到输出结果浮点数指数;
步骤109,控制逻辑模块根据有效数加和结果的正负得出输出结果浮点数符号;
步骤110,将输出结果浮点数符号、输出结果浮点数指数以及输出结果浮点数尾数进行打包,打包成标准的浮点数标识格式,输出浮点运算结果。
可选地,还包括:在输出结果浮点数符号为负的情况下,对输出结果有效数进行求补码运算。
可选地,还包括:
在运算模式为定点运算模式的情况下,控制逻辑模块控制输入mux模块将操作数直接进入定点加法器;
定点加法器将两个输入操作数进行加法运算得到定点计算加法结果;
控制逻辑模块控制输出mux模块将定点计算加法结果直接输出,完成定点运算。
本发明第二个方面提出的定点浮点融合的加法减法运算器结构如图2所示,用于实现加法减法运算方法。加法减法运算器具有2个输入信号和1个输出信号。输入信号x和y分别接受两个操作数,操作数的类型可以为浮点或定点格式。输入信号“定点浮点选择信号”用来控制运算器的运算模式为定点运算或浮点运算。输出信号s为运算结果的输出。
本发明提出的定点浮点融合的加法减法运算器运算原理过程如下:
(1)控制逻辑接收“定点浮点选择信号”输入信号,确定运算器的当前运算模式。当运算模式为浮点运算模式时,工作过程如下:
①输入操作数x,y首先进入解包模块,解包模块将浮点操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数。对包含隐含位的尾数恢复为有效数。
②解包得到的操作数符号信号进入控制逻辑,控制逻辑模块根据操作数的符号对操作数的有效数进行选择性的求补码。
③两个操作数的指数进行减法运算得到操作数的指数差。根据两个浮点操作数的指数差,对两个操作数的有效数进行对齐,得到对齐后的有效数。
④控制逻辑模块根据运算模式为浮点模式,将对齐后的有效数送入定点加法器,得到浮点有效数加和结果。
⑤浮点操作数的有效数加和结果进入规格化模块,对加和进行规格化,规格化移位值送入控制逻辑模块,规格化的结果进入舍入和求补码模块。得到舍入后的有效数。
⑥由于规格化的有效数经过舍入可能变为非规格化,因此需要将舍入后的有效数再次进行规格化。
⑦两次规格化的移位值送入控制逻辑模块,控制逻辑模块将移位值和输入浮点操作数中较大的指数进行相加,得到输出结果浮点数的指数;
⑧控制逻辑模块根据有效数加和的结果的正负得出输出结果浮点数的符号,如果计算结果为负,则对输出结果有效数进行求补码运算;
⑨将浮点计算结果的符号,指数和有效数进行打包,打包成标准的浮点数表示格式,完成浮点运算。
当运算模式为定点计算时,工作过程如下:
①控制逻辑器根据运算模式,控制输入mux模块将定点操作数直接进入定点加法器。
②定点加法器将输入数据进行加法运算得到定点计算加法结果。
③控制逻辑器控制输出MUX模块将定点计算结果直接输出,完成定点运算。
图3是本发明实施例第三个方面提供的定点浮点融合的多精度乘法运算方法的流程示意图。本实施例可应用在电子设备上,如图3所示,定点浮点融合的多精度乘法运算方法300包括以下步骤:
步骤301,控制逻辑模块根据输入操作数确定运算器的运算模式,运算模式包括:浮点运算模式和定点运算模式;
步骤302,运算模式为浮点运算模式下,输入操作数进入解包模块,解包模块将操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数;
步骤303,解包模块得到的两个操作数的尾数经过恢复有效数逻辑模块,恢复隐藏位,得到完整有效数;
步骤304,两个操作数的有效数通过输入mux模块进入定点乘法器,进行乘法运算;
步骤305,两个输入操作数的指数进入定点加法器计算得到输出结果指数;
步骤306,控制逻辑模块根据两个输入操作数的符号,确定输出结果符号;
步骤307,对定点乘法器的输出尾数进行规格化和舍入,确定输出结果尾数,并同步调整输出结果指数;
步骤308,将输出结果符号、输出结果指数和输出结果尾数打包成浮点数格式,得到输出浮点结果。
可选地,控制逻辑根据两个输入操作数的符号,确定输出结果符号,包括:
控制逻辑模块根据两个输入操作数的符号以及同号为正,异号为负原则,确定输出结果符号。
可选地,同步调整输出结果指数,包括:
根据规格化的移位值和舍入是否产生进位对输出结果指数进行调整,其中进位为输出结果指数减去移位值并加上舍入产生的进位。
可选地,还包括:
当运算模式为定点计算模式时,控制逻辑模块控制输入mux模块将两个输入操作数直接送入定点乘法器;
定点乘法器将输入操作数进行乘法运算得到定点计算乘法结果;
控制逻辑模块控制输出MUX模块将定点计算结果直接输出,完成定点运算。
本发明第四个方面提出的定点浮点融合的乘法运算器结构如图4所示,用于实现乘法运算方法。乘法运算器具有2个输入信号和1个输出信号。输入信号x和y分别接受两个操作数,操作数的类型可以为浮点或定点格式。输入信号“定点浮点选择信号”用来控制运算器的运算模式为定点运算或浮点运算。输出信号Z为运算结果的输出。
本发明提出的定点浮点融合的乘法运算器运算原理过程如下:
(1)控制逻辑接收“定点浮点选择信号”输入信号,确定运算器的当前运算模式。当运算模式为浮点运算模式时,工作过程如下:
①输入操作数x,y首先进入解包模块,解包模块将浮点操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数。对包含隐含位的尾数恢复为有效数。
②解包得到的两个操作数的尾数经过恢复有效数逻辑,恢复隐藏位,得到完整有效数;
③两个操作数的有效数进入定点乘法模块,进行乘法运算;
④两个输入操作数的进入定点加法器计算的得到指数运算结果;
⑤控制逻辑根据两个输入操作数的符号,“同号为正,异号为负”,确定输出结果的符号;
⑥根据操作模式,对定点乘法器的输出尾数进行规格化和舍入,计算结果直接作为输出结果的尾数。并同步调整输出指数,即根据规格化的移位值和舍入是否产生进位进行调整,即指数减去移位值并加上舍入产生的进位。(如果产生进位则加,不产生进位则不加。);
⑦将计算的到的符号、指数和尾数打包成浮点数格式,得到输出浮点结果。
当运算模式为定点计算时,工作过程如下:
①逻辑控制器根据运算模式,控制输入mux将定点操作数直接进入定点乘法器。
②定点乘法器将输入数据进行乘法运算得到定点计算乘法结果。
③逻辑控制器控制输出MUX将定点计算结果直接输出,完成定点运算。
从而,本发明中使用一套硬件支持了定点和浮点两种运算,相比于传统的定点浮点独立运算部件,使用了更少的计算资源,能够获得更小的芯片面积。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明中涉及的器件、系统、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、系统、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
还需要指出的是,在本发明的系统、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (9)
1.一种定点浮点融合的多精度加法减法运算方法,其特征在于,包括:
控制逻辑模块根据输入操作数确定运算器的运算模式,所述运算模式包括:浮点运算模式和定点运算模式;
在所述运算模式为所述浮点运算模式的情况下,接收两个输入操作数,并送入解包模块将两个所述操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数,对包含隐含位的尾数恢复为有效数;
解包模块得到的两个操作数的符号进入所述控制逻辑模块,所述控制逻辑模块根据操作数的符号分别对两个操作数的所述有效数进行选择性的求补码;
两个操作数的指数进入减法器进行减法运算得到操作数的指数差,并根据两个操作数的指数差,对两个操作数的所述有效数进行对齐,得到对齐后的有效数;
所述控制逻辑模块将对齐后的有效数通过输入mux模块送入定点加法器,得到浮点有效数加和结果并送入控制逻辑模块;
两个操作数的浮点有效数加和结果进入规格化模块,对所述浮点有效数加和结果进行规格化,规格化移位的第一移位值送入控制逻辑模块,规格化的结果进入舍入和求补码模块,得到舍入后的有效数;
将舍入后的有效数再次进行规格化,确定输出结果浮点数尾数,并将规格化移位的第二移位值送入所述控制逻辑模块;
所述控制逻辑模块将的第一移位值、第二移位值和输入操作数中较大的指数进行相加,得到输出结果浮点数指数;
控制逻辑模块根据有效数加和结果的正负得出输出结果浮点数符号;
将输出结果浮点数符号、输出结果浮点数指数以及输出结果浮点数尾数进行打包,打包成标准的浮点数标识格式,输出浮点运算结果。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述输出结果浮点数符号为负的情况下,对输出结果有效数进行求补码运算。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述运算模式为所述定点运算模式的情况下,所述控制逻辑模块控制所述输入mux模块将所述操作数直接进入所述定点加法器;
所述定点加法器将两个输入操作数进行加法运算得到定点计算加法结果;
所述控制逻辑模块控制输出mux模块将所述定点计算加法结果直接输出,完成定点运算。
4.一种定点浮点融合的多精度加法减法运算器,其特征在于,用于实现上述权利要求1-3任意一项所述的定点浮点融合的多精度加法减法运算方法。
5.一种定点浮点融合的多精度乘法运算方法,其特征在于,包括:
控制逻辑模块根据输入操作数确定运算器的运算模式,所述运算模式包括:浮点运算模式和定点运算模式;
所述运算模式为所述浮点运算模式下,所述输入操作数进入解包模块,所述解包模块将所述操作数的符号、指数和尾数信息解码,得到每个操作数的符号、指数和尾数;
解包模块得到的两个操作数的尾数经过恢复有效数逻辑模块,恢复隐藏位,得到完整有效数;
两个操作数的有效数通过输入mux模块进入定点乘法器,进行乘法运算;
两个输入操作数的指数进入定点加法器计算得到输出结果指数;
所述控制逻辑模块根据两个输入操作数的符号,确定输出结果符号;
对所述定点乘法器的输出尾数进行规格化和舍入,确定输出结果尾数,并同步调整输出结果指数;
将所述输出结果符号、所述输出结果指数和所述输出结果尾数打包成浮点数格式,得到输出浮点结果。
6.根据权利要求5所述的方法,其特征在于,控制逻辑根据两个输入操作数的符号,确定输出结果符号,包括:
控制逻辑模块根据两个输入操作数的符号以及同号为正,异号为负原则,确定所述输出结果符号。
7.根据权利要求5所述的方法,其特征在于,同步调整输出结果指数,包括:
根据规格化的移位值和舍入是否产生进位对所述输出结果指数进行调整,其中进位为所述输出结果指数减去移位值并加上舍入产生的进位。
8.根据权利要求5所述的方法,其特征在于,还包括:
当所述运算模式为定点计算模式时,控制逻辑模块控制输入mux模块将两个输入操作数直接送入定点乘法器;
所述定点乘法器将输入操作数进行乘法运算得到定点计算乘法结果;
所述控制逻辑模块控制输出MUX模块将定点计算结果直接输出,完成定点运算。
9.一种定点浮点融合的多精度乘法运算器,其特征在于,用于实现上述权利要求5-8任意一项所述的定点浮点融合的多精度乘法运算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988997.5A CN117270812A (zh) | 2023-08-07 | 2023-08-07 | 定点浮点融合的多精度加法减法运算方法及乘法运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988997.5A CN117270812A (zh) | 2023-08-07 | 2023-08-07 | 定点浮点融合的多精度加法减法运算方法及乘法运算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117270812A true CN117270812A (zh) | 2023-12-22 |
Family
ID=89201664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310988997.5A Pending CN117270812A (zh) | 2023-08-07 | 2023-08-07 | 定点浮点融合的多精度加法减法运算方法及乘法运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270812A (zh) |
-
2023
- 2023-08-07 CN CN202310988997.5A patent/CN117270812A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8463834B2 (en) | Floating point multiplier with first and second partial product shifting circuitry for result alignment | |
AU2018388451B2 (en) | System and method of floating point multiply operation processing | |
US8626813B1 (en) | Dual-path fused floating-point two-term dot product unit | |
EP1857925B1 (en) | Method and apparatus for decimal number multiplication using hardware for binary number operations | |
CN107025091B (zh) | 二进制融合乘加浮点计算 | |
JP2021525403A (ja) | 改良された低精度の2進浮動小数点形式設定 | |
CN111290732B (zh) | 基于posit数据格式的浮点数乘法运算电路 | |
CN109901813B (zh) | 一种浮点运算装置及方法 | |
JP3313560B2 (ja) | 浮動小数点演算処理装置 | |
CN114461176B (zh) | 一种算术逻辑单元、浮点数处理方法、gpu芯片、电子设备 | |
US10140090B2 (en) | Computing and summing up multiple products in a single multiplier | |
US10296294B2 (en) | Multiply-add operations of binary numbers in an arithmetic unit | |
US7552165B2 (en) | Method and system to implement an improved floating point adder with integrated adding and rounding | |
GB2265741A (en) | Computation of sticky-bit in parallel with multiplication | |
CN117420982A (zh) | 包括融合乘累加器的芯片、设备及数据运算的控制方法 | |
CN117270812A (zh) | 定点浮点融合的多精度加法减法运算方法及乘法运算方法 | |
JPH09204295A (ja) | スティッキービット検出回路 | |
US7080112B2 (en) | Method and apparatus for computing an approximation to the reciprocal of a floating point number in IEEE format | |
US7739323B2 (en) | Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator | |
CN111290790B (zh) | 一种定点转浮点的转换装置 | |
US9280316B2 (en) | Fast normalization in a mixed precision floating-point unit | |
CN112783470A (zh) | 一种用于执行浮点对数运算的装置和方法 | |
EP3647939A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
CN112711440A (zh) | 用于转换数据类型的转换器、芯片、电子设备及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |