[发明专利]一种浮点乘加器在审
| 申请号: | 202210350374.0 | 申请日: | 2022-04-02 |
| 公开(公告)号: | CN114741049A | 公开(公告)日: | 2022-07-12 |
| 发明(设计)人: | 王嗣茗;杨思博;李明;李世平;郝明 | 申请(专利权)人: | 江苏华创微系统有限公司;中国电子科技集团公司第十四研究所 |
| 主分类号: | G06F7/487 | 分类号: | G06F7/487;G06F7/544;G06F7/57 |
| 代理公司: | 南京擎天知识产权代理事务所(普通合伙) 32465 | 代理人: | 涂春春 |
| 地址: | 211899 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 浮点 乘加器 | ||
1.一种浮点乘加器,实现形式为A*B+C的浮点乘加运算,其特征在于,所述浮点乘加器采用三级流水线方式实现浮点乘加运算,第一流水节拍完成浮点乘法,第二流水节拍完成加法,第三流水节拍完成舍入操作和例外判断,并输出最终结果;
第一流水节拍包括符号位处理模块、指数预处理模块、161位的右移模块、取反模块、部分积生成模块和华莱士压缩树模块,
符号位处理模块根据操作码和三个操作数的符号位进行判断得出待修正的符号位,符号位处理模块的输出结果的fs*ft的符号位和fr的符合位送入第三流水节拍的符号位判断模块,符号位处理模块的输出结果的有效减指示信号送入取反模块;其中fs、ft和fr分别指代A*B+C中的A、B和C;
指数预处理模块和161位的右移模块构成指数顶层模块,指数顶层模块内的指数预处理模块同时输入三个操作数的指数位,计算中间指数结果,提供给第二流水节拍内的指数计算模块进行指数计算,同时指数预处理模块根据fs*ft+fr的指数计算出fr需要的右移位数,提供给161位的右移模块,161位的右移模块同时输入指数预处理模块的结果右移位数和fr的尾数位对fr的尾数进行右移;
取反模块根据符号位处理模块提供的有效减指示信号判断是否对右移后的fr的尾数进行取反,取反模块输出的fr低106位的数送入第二流水节拍内的106位的3:2压缩器,取反模块输出的尾数fr的高55位的数同时送入第二流水节拍内的前导零预测模块和161位的超前进位加法器,取反模块输出的3位的舍入信号送入第二流水节拍内的164位的左移模块;
部分积生成模块和华莱士压缩树模块构成乘法模块,部分积生成模块同时输入fs的尾数位和ft的尾数位,进行两个浮点尾数的乘法运算,部分积生成模块的输出送入华莱士压缩树模块进行压缩,生成106位的sum和106位的carry两组数据;
第二流水节拍包括前导零预测模块、指数计算模块、106位的3:2压缩器、161位的超前进位加法器和164位的左移模块,106位的3:2压缩器、161位的超前进位加法器和164位的左移模块构成加法模块;
第一流水节拍生成的106位的sum、106位的carry、取反模块输出的尾数fr的高55位的数和取反模块输出的fr低106位的数一起输入前导零预测模块,将前导零预测模块的预测结果输出给164位的左移模块,进行左移移位;
第一流水节拍的中间指数的结果和前导零预测模块的预测结果一起输入指数计算模块, 对中间指数进行修正,指数计算模块的输出结果送入第三流水节拍的指数后处理模块;
加法模块内的106位的3:2压缩器同时输入第一流水节拍生成的106位的sum、106位的carry和取反模块输出的fr低106位的数进行压缩,106位的3:2压缩器的输出结果送入161位的超前进位加法器;
加法模块内的161位的超前进位加法器同时输入106位的3:2压缩器的输出结果和取反模块输出的尾数fr的高55位的数进行加和,161位的超前进位加法器的输出结果送入164位的左移模块,161位的超前进位加法器的输出结果的最终结果符号位分别送入前导零预测模块和第三流水节拍内的符号位判断模块;
164位的左移模块同时输入前导零预测模块的左移位数、161位的超前进位加法器的输出结果和取反模块输出的3位的舍入信号,164位的左移模块根据前导零预测模块输出的左移位数对161位的超前进位加法器的输出结果进行移位,164位的左移模块的输出结果送入第三流水节拍的取绝对值模块;
第三流水节拍包括符号位判断模块、特殊值处理模块、取绝对值模块、舍入判断模块、53位的加法器、MUX选择模块、指数后处理模块和数据选择模块,
符号位判断模块同时输入操作码、舍入模式、第一流水节拍内的fs*ft的符号位和fr的符合位以及第二流水节拍内的最终结果符号位,符号位判断模块输出的符号位送入数据选择模块;
特殊值处理模块同时输入fs*ft的特殊值指示信号、fs的特殊值指示信号、ft的特殊值指示信号、fr的特殊值指示信号和舍入模式,特殊值处理模块的输出结果送入数据选择模块;特殊值处理模块得出的例外信息作为例外判断输出;
取绝对值模块对输入的110位的第二流水节拍的164位的左移模块的输出结果根据符号位判断是否取绝对值,取绝对值模块的输出结果中的有效数据根据舍入模式、符号位、round位和sticky位判断是否需要加1操作,需要加1操作的送入53位的加法器,不需要的则送入MUX选择模块;取绝对值模块的输出结果中的需要舍入的数据送入舍入判断模块,同时舍入判断模块输入舍入模式,舍入判断模块将舍去部分的数据进行舍入判断并且其输出结果送入MUX选择模块;
MUX选择模块对送入的数据用舍入进位的结果来选择数据,其输出结果的高53位同时送入指数后处理模块和数据选择模块;
指数后处理模块同时输入第二流水节拍的指数结果和MUX选择模块输出结果的高53位数据,指数后处理模块输出的指数送入数据选择模块;
数据选择模块同时输入符号位判断模块输出的符号位、特殊值处理模块的输出结果、指数后处理模块输出的指数、MUX选择模块输出的尾数和IEEE754标准里定义的特殊值,选择最终结果输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏华创微系统有限公司;中国电子科技集团公司第十四研究所,未经江苏华创微系统有限公司;中国电子科技集团公司第十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210350374.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种混合分支预测算法的仲裁方法
- 下一篇:一种新的核反应堆周期计算方法





