CN108958705A - 一种支持混合数据类型的浮点融合乘加器及其应用方法 - Google Patents
一种支持混合数据类型的浮点融合乘加器及其应用方法 Download PDFInfo
- Publication number
- CN108958705A CN108958705A CN201810669457.XA CN201810669457A CN108958705A CN 108958705 A CN108958705 A CN 108958705A CN 201810669457 A CN201810669457 A CN 201810669457A CN 108958705 A CN108958705 A CN 108958705A
- Authority
- CN
- China
- Prior art keywords
- floating
- data type
- precision
- point
- adder
- 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.)
- Granted
Links
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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种支持混合数据类型的浮点融合乘加器及其应用方法,支持混合数据类型的浮点融合乘加器包括三个浮点乘法器、一个中间数据整合部件和三个多输入加法器,应用方法包括对混合数据进行分类,输入到相应的浮点乘法单元,将未舍入的中间乘法结果输出到中间数据整合部分,中间整合部分对乘法结果进行整形,输出到相应数据类型的浮点加法单元。本发明为处理混合数据类型的浮点乘加运算设计,能够完成不同数据类型之间的融合乘加计算,且在进行低精度乘法和高精度加法融合时,可保持中间过程乘法结果的精度。
Description
技术领域
本发明涉及微处理器中支持浮点乘法加法的功能部件,具体涉及一种支持混合数据类型的浮点融合乘加器及其应用方法。
背景技术
随着计算机指令集的不断发展,多种精度数据需要综合处理的情况出现,然而现有的乘加电路无法直接处理不同精度的数据。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种支持混合数据类型的浮点融合乘加器及其应用方法,本发明能够完成不同数据类型之间的融合乘加计算,且在进行低精度乘法和高精度加法融合时,可保持中间过程乘法结果的精度。
为了解决上述技术问题,本发明采用的技术方案为:
一种支持混合数据类型的浮点融合乘加器,包括三个浮点乘法器、一个中间数据整合部件和三个多输入加法器,所述三个浮点乘法器分别包括半精度乘法器、单精度乘法器、双精度乘法器,所述三个多输入加法器分别包括半精度多输入加法器、单精度多输入加法器、双精度多输入加法器,所述三个浮点乘法器均包含两个输出端,且一个输出端直接输出、另一个输出端通过中间数据整合部件后与三个多输入加法器的一路输入端相连。
优选地,所述中间数据整合部件为缓冲部件BUFFER。
本发明还提供一种权利要求前述支持混合数据类型的浮点融合乘加器的应用方法,实施步骤包括:
1)从发射队列中获得两个乘法操作数和一个加法操作数的元素大小的信息;
2)根据两个乘法操作数的元素大小信息确定乘法操作的数据类型,乘法操作的数据类型为半精度、单精度、双精度中的一种;根据加法操作数的元素大小信息确定加法操作的数据类型,加法操作的数据类型为半精度、单精度、双精度中的一种;
3)将两个乘法操作数根据数据类型输入乘法操作的数据类型所对应的浮点乘法器,将加法操作数输入加法操作的数据类型所对应的多输入加法器;
4)浮点乘法器的输出结果不经舍入直接输出给中间数据整合部件;
5)中间数据整合部件对浮点乘法器输入的结果进行整形处理得到新的数据类型结果;
6)中间数据整合部件将得到的新的数据类型结果输出到加法操作的数据类型所对应的多输入加法器;
7)通过加法操作的数据类型所对应的多输入加法器进行浮点加法运算输出结果,完成融合乘加运算。
优选地,步骤5)中的整形处理包括对其指数部分EXP进行位移,对其尾数部分FRAC进行拓展,最后拼接为新的数据类型结果。
和现有技术相比,本发明具有下述有益效果:
1、本发明可用于完成不同数据类型之间的融合乘加计算。
2、在进行低精度乘法和高精度加法融合时,可保持中间过程乘法结果的精度。
附图说明
图1为本发明实施例浮点融合乘加器的结构示意图。
图2为本发明实施例浮点融合乘加器应用方法的基本流程示意图。
具体实施方式
如图1所示,本实施例支持混合数据类型的浮点融合乘加器包括三个浮点乘法器、一个中间数据整合部件和三个多输入加法器,三个浮点乘法器分别包括半精度乘法器、单精度乘法器、双精度乘法器,三个多输入加法器分别包括半精度多输入加法器、单精度多输入加法器、双精度多输入加法器,三个浮点乘法器均包含两个输出端,且一个输出端直接输出、另一个输出端通过中间数据整合部件后与三个多输入加法器的一路输入端相连。参见图1,本实施例中三个浮点乘法器、一个中间数据整合部件和三个多输入加法器均具有独立的控制信号ctrl。半精度乘法器具有两个半精度乘法操作数输入端HALF_A和HALF_B、一个半精度输出端HALF_MUL_OUT以及一个输出至中间数据整合部件的输出端。单精度乘法器具有两个单精度乘法操作数输入端SINGLE_A和SINGLE_B、一个单精度输出端SINGLE_MUL_OUT以及一个输出至中间数据整合部件的输出端。双精度乘法器具有两个双精度乘法操作数输入端DOUBLE_A和DOUBLE_B、一个双精度输出端DOUBLE_MUL_OUT以及一个输出至中间数据整合部件的输出端。半精度多输入加法器的输入端具有半精度加法操作数输入端HALF_C和HALF_D、连接到中间数据整合部件的半精度加法操作数输入端以及半精度加法操作结果输出端HALF_ADD_OUT。单精度多输入加法器的输入端具有单精度加法操作数输入端SINGLE_C和SINGLE_D、连接到中间数据整合部件的单精度加法操作数输入端以及单精度加法操作结果输出端SINGLE_ADD_OUT。双精度多输入加法器的输入端具有双精度加法操作数输入端DOUBLE_C和DOUBLE_D、连接到中间数据整合部件的双精度加法操作数输入端以及双精度加法操作结果输出端DOUBLE_ADD_OUT。
本实施例中,中间数据整合部件为缓冲部件BUFFER。
如图2所示,本实施例支持混合数据类型的浮点融合乘加器的应用方法的实施步骤包括:
1)从发射队列中获得两个乘法操作数和一个加法操作数的元素大小的信息;
2)根据两个乘法操作数的元素大小信息确定乘法操作的数据类型,乘法操作的数据类型为半精度、单精度、双精度中的一种;根据加法操作数的元素大小信息确定加法操作的数据类型,加法操作的数据类型为半精度、单精度、双精度中的一种;
3)将两个乘法操作数根据数据类型输入乘法操作的数据类型所对应的浮点乘法器,将加法操作数输入加法操作的数据类型所对应的多输入加法器;本实施例中,将两个乘法操作数根据数据类型输入乘法操作的数据类型所对应的浮点乘法器,将加法操作数输入加法操作的数据类型所对应的多输入加法器均为通过浮点乘法器以及多输入加法器的控制信号ctrl实现;
4)浮点乘法器的输出结果不经舍入直接输出给中间数据整合部件;
5)中间数据整合部件对浮点乘法器输入的结果进行整形处理得到新的数据类型结果;
6)中间数据整合部件将得到的新的数据类型结果输出到加法操作的数据类型所对应的多输入加法器;本实施例中,中间数据整合部件将得到的新的数据类型结果输出到加法操作的数据类型所对应的多输入加法器为通过中间数据整合部件的控制信号ctrl实现;
7)通过加法操作的数据类型所对应的多输入加法器进行浮点加法运算输出结果,完成融合乘加运算。
本实施例中,步骤5)中的整形处理包括对其指数部分EXP进行位移,对其尾数部分FRAC进行拓展,最后拼接为新的数据类型结果。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种支持混合数据类型的浮点融合乘加器,其特征在于:包括三个浮点乘法器、一个中间数据整合部件和三个多输入加法器,所述三个浮点乘法器分别包括半精度乘法器、单精度乘法器、双精度乘法器,所述三个多输入加法器分别包括半精度多输入加法器、单精度多输入加法器、双精度多输入加法器,所述三个浮点乘法器均包含两个输出端,且一个输出端直接输出、另一个输出端通过中间数据整合部件后与三个多输入加法器的一路输入端相连。
2.根据权利要求1所述的支持混合数据类型的浮点融合乘加器,其特征在于:所述中间数据整合部件为缓冲部件BUFFER。
3.一种权利要求1或2所述的支持混合数据类型的浮点融合乘加器的应用方法,其特征在于实施步骤包括:
1)从发射队列中获得两个乘法操作数和一个加法操作数的元素大小的信息;
2)根据两个乘法操作数的元素大小信息确定乘法操作的数据类型,乘法操作的数据类型为半精度、单精度、双精度中的一种;根据加法操作数的元素大小信息确定加法操作的数据类型,加法操作的数据类型为半精度、单精度、双精度中的一种;
3)将两个乘法操作数根据数据类型输入乘法操作的数据类型所对应的浮点乘法器,将加法操作数输入加法操作的数据类型所对应的多输入加法器;
4)浮点乘法器的输出结果不经舍入直接输出给中间数据整合部件;
5)中间数据整合部件对浮点乘法器输入的结果进行整形处理得到新的数据类型结果;
6)中间数据整合部件将得到的新的数据类型结果输出到加法操作的数据类型所对应的多输入加法器;
7)通过加法操作的数据类型所对应的多输入加法器进行浮点加法运算输出结果,完成融合乘加运算。
4.根据权利要求3所述的支持混合数据类型的浮点融合乘加器的应用方法,其特征在于,步骤5)中的整形处理包括对其指数部分EXP进行位移,对其尾数部分FRAC进行拓展,最后拼接为新的数据类型结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810669457.XA CN108958705B (zh) | 2018-06-26 | 2018-06-26 | 一种支持混合数据类型的浮点融合乘加器及其应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810669457.XA CN108958705B (zh) | 2018-06-26 | 2018-06-26 | 一种支持混合数据类型的浮点融合乘加器及其应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958705A true CN108958705A (zh) | 2018-12-07 |
CN108958705B CN108958705B (zh) | 2021-11-12 |
Family
ID=64486674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810669457.XA Active CN108958705B (zh) | 2018-06-26 | 2018-06-26 | 一种支持混合数据类型的浮点融合乘加器及其应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958705B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634558A (zh) * | 2018-12-12 | 2019-04-16 | 上海燧原科技有限公司 | 可编程的混合精度运算单元 |
CN111596887A (zh) * | 2020-05-22 | 2020-08-28 | 天津国科医工科技发展有限公司 | 一种基于可重构计算结构的内积计算方法 |
WO2021073512A1 (zh) * | 2019-10-14 | 2021-04-22 | 安徽寒武纪信息科技有限公司 | 用于浮点运算的乘法器、方法、集成电路芯片和计算装置 |
WO2021147395A1 (zh) * | 2020-01-20 | 2021-07-29 | 华为技术有限公司 | 算数逻辑单元、浮点数乘法计算的方法及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030203717A1 (en) * | 1998-04-27 | 2003-10-30 | Chuprun Jeffery Scott | Satellite based data transfer and delivery system |
CN1818851A (zh) * | 2005-02-09 | 2006-08-16 | 国际商业机器公司 | 用于执行浮点算术运算的系统和方法 |
US20070074008A1 (en) * | 2005-09-28 | 2007-03-29 | Donofrio David D | Mixed mode floating-point pipeline with extended functions |
CN101021832A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 支持局部寄存和条件执行的64位浮点整数融合运算群 |
CN101452571A (zh) * | 2007-12-07 | 2009-06-10 | 辉达公司 | 积和熔加功能单元 |
CN101770355A (zh) * | 2009-12-30 | 2010-07-07 | 北京龙芯中科技术服务中心有限公司 | 兼容双精度和双单精度的浮点乘加器及其兼容处理方法 |
CN104111816A (zh) * | 2014-06-25 | 2014-10-22 | 中国人民解放军国防科学技术大学 | Gpdsp中多功能simd结构浮点融合乘加运算装置 |
CN104991757A (zh) * | 2015-06-26 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种浮点处理方法及浮点处理器 |
CN106575214A (zh) * | 2014-08-18 | 2017-04-19 | 高通股份有限公司 | 融合乘加运算的模拟 |
CN107168678A (zh) * | 2017-05-09 | 2017-09-15 | 清华大学 | 一种改进的浮点乘加器及浮点乘加计算方法 |
-
2018
- 2018-06-26 CN CN201810669457.XA patent/CN108958705B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030203717A1 (en) * | 1998-04-27 | 2003-10-30 | Chuprun Jeffery Scott | Satellite based data transfer and delivery system |
CN1818851A (zh) * | 2005-02-09 | 2006-08-16 | 国际商业机器公司 | 用于执行浮点算术运算的系统和方法 |
US20070074008A1 (en) * | 2005-09-28 | 2007-03-29 | Donofrio David D | Mixed mode floating-point pipeline with extended functions |
CN101021832A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 支持局部寄存和条件执行的64位浮点整数融合运算群 |
CN101452571A (zh) * | 2007-12-07 | 2009-06-10 | 辉达公司 | 积和熔加功能单元 |
CN101770355A (zh) * | 2009-12-30 | 2010-07-07 | 北京龙芯中科技术服务中心有限公司 | 兼容双精度和双单精度的浮点乘加器及其兼容处理方法 |
CN104111816A (zh) * | 2014-06-25 | 2014-10-22 | 中国人民解放军国防科学技术大学 | Gpdsp中多功能simd结构浮点融合乘加运算装置 |
CN106575214A (zh) * | 2014-08-18 | 2017-04-19 | 高通股份有限公司 | 融合乘加运算的模拟 |
CN104991757A (zh) * | 2015-06-26 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种浮点处理方法及浮点处理器 |
CN107168678A (zh) * | 2017-05-09 | 2017-09-15 | 清华大学 | 一种改进的浮点乘加器及浮点乘加计算方法 |
Non-Patent Citations (3)
Title |
---|
K. MANOLOPOULOS ET,AL.: ""An Efficient Multiple Precision Floating-Point Multiply-Add Fused Unit"", 《MICROELECTRONICS JOURNAL》 * |
尹一笑等: ""一种浮点融合乘加部件的设计与实现"", 《第十三届计算机工程与工艺会议(NCCET09’)论文集》 * |
田甜等: ""高性能浮点融合运算部件的设计与实现"", 《2012全国计算机体系结构学术年会论文集》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634558A (zh) * | 2018-12-12 | 2019-04-16 | 上海燧原科技有限公司 | 可编程的混合精度运算单元 |
CN109634558B (zh) * | 2018-12-12 | 2020-01-14 | 上海燧原科技有限公司 | 可编程的混合精度运算单元 |
WO2021073512A1 (zh) * | 2019-10-14 | 2021-04-22 | 安徽寒武纪信息科技有限公司 | 用于浮点运算的乘法器、方法、集成电路芯片和计算装置 |
WO2021147395A1 (zh) * | 2020-01-20 | 2021-07-29 | 华为技术有限公司 | 算数逻辑单元、浮点数乘法计算的方法及设备 |
CN111596887A (zh) * | 2020-05-22 | 2020-08-28 | 天津国科医工科技发展有限公司 | 一种基于可重构计算结构的内积计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108958705B (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958705A (zh) | 一种支持混合数据类型的浮点融合乘加器及其应用方法 | |
US10649733B2 (en) | Multiply add functional unit capable of executing scale, round, getexp, round, getmant, reduce, range and class instructions | |
Fokkink | Introduction to process algebra | |
CN103984521B (zh) | Gpdsp中simd结构浮点除法的实现方法及装置 | |
CN107305484A (zh) | 一种非线性函数运算装置及方法 | |
CN105335127A (zh) | Gpdsp中支持浮点除法的标量运算单元结构 | |
AU2017399399B2 (en) | Method and system for optimizing database system, electronic device, and storage medium | |
US10423733B1 (en) | Systems and methods for sharing resources having different data types | |
WO2023000938A1 (zh) | 一种流水线cpu架构图的绘制方法及终端设备 | |
CN100367191C (zh) | 一种快速流水线型除法器 | |
CN112148249B (zh) | 点积运算实现方法、装置、电子设备及存储介质 | |
Cody | Analysis of proposals for the floating-point standard | |
CN107783932A (zh) | 计算器的信息处理方法、移动终端及计算机可读存储介质 | |
Katke et al. | Design and implementation of 5 stages pipelined architecture in 32 bit RISC processor | |
Singh et al. | VHDL environment for floating point Arithmetic Logic Unit-ALU design and simulation | |
CN106168941B (zh) | 一种支持复数乘法的fft蝶形运算硬件实现电路 | |
Zhang et al. | Modelling SAMIPS: A synthesisable asynchronous MIPS processor | |
Li et al. | A scalable systolic accelerator for estimation of the spectral correlation density function and its FPGA implementation | |
RahulNarasimhan et al. | High speed multiply-accumulator coprocessor realized for digital filters | |
Belanovic et al. | Design methodology of signal processing algorithms in wireless systems | |
Lasith et al. | Efficient implementation of single precision floating point processor in FPGA | |
CN102073617B (zh) | 利用wpf技术完成计算的系统 | |
Saini et al. | Efficient Implementation of Pipelined Double Precision Floating Point Multiplier | |
CN109242004A (zh) | 数据特征构建方法、装置、计算机设备及存储介质 | |
Swaminathan et al. | Calculator Interface Design in Verilog HDL Using MIPS32 Microprocessor |
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 | ||
CB02 | Change of applicant information |
Address after: 300452 Building 5, Xin'an pioneer Plaza, Binhai New Area marine high tech Development Zone, Tianjin Applicant after: Feiteng Information Technology Co.,Ltd. Address before: 300452 Building 5, Xin'an pioneer Plaza, Binhai New Area marine high tech Development Zone, Tianjin Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |