[发明专利]一种浮点运算装置及方法有效
申请号: | 201910239124.8 | 申请日: | 2019-03-27 |
公开(公告)号: | CN109901813B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 冯春阳;刘刚;张兴革;彭琅;王俊杰;黄晶 | 申请(专利权)人: | 北京市合芯数字科技有限公司 |
主分类号: | G06F7/483 | 分类号: | G06F7/483;G06F7/487 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 马永芬 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 浮点 运算 装置 方法 | ||
1.一种浮点运算装置,其特征在于,包括:
功能分类及译码模块,用于接收待处理浮点数及第一控制信号,第一控制信号包括:装置工作使能、异常使能、向量/标量模式选择、单精度/双精度数据选择及除法/平方根计算模式选择,对第一控制信号进行译码,根据译码结果对所述待处理浮点数进行拆分,根据拆分后的待处理浮点数生成数据分配信号,根据预设的数据类型生成用于运算选择的第二控制信号;
运算处理模块,运算处理模块包括多个运算子模块,支持多功能32/64位二进制浮点运算,运算子模块的个数根据待处理的浮点数位确定,用于根据所述数据分配信号及所述第二控制信号对所述待处理浮点数进行数据检测及运算,生成运算状态标志及运算结果,运算处理模块还包括:浮点数检测子模块,用于对待处理浮点数中的特殊类型数据及运算前的异常进行检测,运算子模块至少包括:第一运算子模块、第二运算子模块、第三子模块及第四子模块,其中,
第一运算子模块,用于对32位单精度浮点数、64位双精度浮点数及按照二进制双精度浮点格式扩展的单精度浮点数进行运算,输入和输出数据位宽均为64位;
第二运算子模块,用于对32位单精度浮点数进行运算,输入和输出数据位宽均为32位;
第三运算子模块,用于对32位单精度浮点数、64位双精度浮点数进行运算,输入和输出数据位宽均为64位;
第四运算子模块,用于对32位单精度浮点数进行运算,输入和输出数据位宽均为32位;
运算结果输出模块,用于输出所述待处理浮点数的运算状态标志及运算结果,包括:表征运算结果异常状态的异常标志和表征特殊状态的特殊状态标志。
2.根据权利要求1所述的浮点运算装置,其特征在于,所述第二控制信号包括:启动信号、功能选择及精度控制。
3.根据权利要求1或2任一所述的浮点运算装置,其特征在于,所述功能分类及译码模块还用于接收中断控制信号,根据所述中断控制信号中断所述待处理浮点数的运算操作。
4.一种浮点运算方法,其特征在于,包括如下步骤:
获取待处理浮点数及第一控制信号,第一控制信号包括:装置工作使能、异常使能、向量/标量模式选择、单精度/双精度数据选择及除法/平方根计算模式选择,对第一控制信号进行译码,根据译码结果对所述待处理浮点数进行拆分,根据拆分后的待处理浮点数生成数据分配信号,根据预设的数据类型生成用于运算选择的第二控制信号;
根据所述数据分配信号及所述第二控制信号对所述待处理浮点数进行数据检测及运算,包括:对32位单精度浮点数、64位双精度浮点数及按照二进制双精度浮点格式扩展的单精度浮点数进行运算,输入和输出数据位宽均为64位;
对32位单精度浮点数进行运算,输入和输出数据位宽均为32位;
对32位单精度浮点数、64位双精度浮点数进行运算,输入和输出数据位宽均为64位;
对32位单精度浮点数进行运算,输入和输出数据位宽均为32位;
生成运算状态标志及运算结果,包括:对待处理浮点数中的特殊类型数据及运算前的异常进行检测,生成表征运算结果异常状态的异常标志和表征特殊状态的特殊状态标志;
输出所述待处理浮点数的运算状态标志及运算结果。
5.根据权利要求4所述的浮点运算方法,其特征在于,采用基4数字循环SRT算法实现对所述待处理浮点数进行浮点除法或平方根运算。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求4或5中任一所述的浮点运算方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京市合芯数字科技有限公司,未经北京市合芯数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910239124.8/1.html,转载请声明来源钻瓜专利网。