公开/公告号CN105094744A
专利类型发明专利
公开/公告日2015-11-25
原文格式PDF
申请/专利权人 成都腾悦科技有限公司;
申请/专利号CN201510449047.0
发明设计人 周海林;
申请日2015-07-28
分类号G06F7/57(20060101);
代理机构成都金英专利代理事务所(普通合伙);
代理人袁英
地址 610000 四川省成都市高新区府城大道西段399号9栋13层6号
入库时间 2023-12-18 12:21:18
法律状态公告日
法律状态信息
法律状态
2022-10-28
专利实施许可合同备案的生效 IPC(主分类):G06F 7/57 专利申请号:2015104490470 专利号:ZL2015104490470 合同备案号:X2022990000804 让与人:浙江曲速科技有限公司 受让人:合肥曲速超维集成电路有限公司 发明名称:一种可变浮点数据微处理器 申请日:20150728 申请公布日:20151125 授权公告日:20180116 许可种类:独占许可 备案日期:20221013
专利实施许可合同备案的生效、变更及注销
2020-01-17
专利权的转移 IPC(主分类):G06F7/57 登记生效日:20191227 变更前: 变更后: 申请日:20150728
专利申请权、专利权的转移
2018-01-16
授权
授权
2015-12-23
实质审查的生效 IPC(主分类):G06F7/57 申请日:20150728
实质审查的生效
2015-11-25
公开
公开
技术领域
本发明涉及一种可变浮点数据微处理器。
背景技术
目前的处理器中,我们普遍采用的是IEEE754标准的浮点标准,在该标准中主要使用了单精度浮点数、双精度浮点数、临时浮点数,很大程度上增加了数据的表示范围,所以浮点数计算在工程计算、科学计算中得到了广泛的使用。
由于浮点数据在计算时完全依赖计算机的浮点计算单元,然而在处理器体系中的浮点数标准并不相同,例如有些处理器使用的是美国国家浮点数据标准,而有些处理器公司使用的是自己公司的浮点数据标准,而在有些处理器中只能支持定点浮点数计算。导致许多为传统处理器所编写的程序不能很好的移植到其他处理器平台,移植的人力成本大大增加。
在有些科学计算中需要更加精确的浮点数据计算,这时我们需要更加宽的浮点数据,普通处理器平台并不能满足该精确度要求,这时我们只有用软件模拟或者放弃该处理器平台,软件模拟的方式会花费大量处理器时间,从而导致处理器的效率下降。
由于可变浮点数据处理器在计算中可以改变浮点数中符号位、指数位和尾数位的顺序和长度,还有浮点数的宽度,如果使用可变浮点数据处理器,势必可以更加方便地进行浮点的移植,而且具有更高的精确度。
发明内容
本发明的目的在于克服现有技术的不足,提供一种新型的可变浮点数据微处理器,可以改变浮点数中符号位、指数位和尾数位的顺序和长度,还有浮点数的宽度,可移植性好,可以表示更高精度的浮点数据,安全性高。
本发明的目的是通过以下技术方案来实现的:一种可变浮点数据微处理器,浮点数由符号域、阶码域、尾数域组成,浮点数=符号位.尾数×2阶码,(2阶码)表示2的阶码次方,浮点数的组成如下:
符号域:用S表示,符号域占1位,0表示正数,1表示负数;
阶码域:用E表示,以整数形式指明小数点在数据中的位置,决定了浮点数的表示范围,浮点数的阶码域E等于指数e加上一个固定的偏移值,该偏移值为(2阶码域的位宽-1-1);
尾数域:用M表示,用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;
所述可变浮点数据微处理器包括自定义浮点配置寄存器,自定义浮点配置寄存器由数据长度寄存器、符号位寄存器、位阶长度寄存器和尾数长度寄存器组成,并且自定义浮点数的组成顺序就是自定义浮点配置寄存器配置组成顺序,自定义浮点数的组成顺序为:自定义浮点配置寄存器0,自定义浮点配置寄存器1,自定义浮点配置寄存器2,自定义浮点配置寄存器3;尾数域长度加阶码域长度加符号域长度等于浮点数据长度,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器0:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器1:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器2:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器3:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点数中定义如下五种类型的浮点数:
(1)当阶码域E的阶码为全0且尾数域M的尾数也为全0时,符号位为0/1,称为正负0;
(2)当阶码域E的阶码为全1且尾数域M的尾数为全0时,符号位为0/1,称为正负无穷大;
(3)当阶码域E的阶码为全1且尾数域M的尾数为非0时,符号位为0/1,称为非法的浮点数;
(4)当阶码域E的阶码为任意值且尾数域M的尾数为全0时,符号位为0/1,或者当阶码域E的值比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零;
(5)当阶码域E的阶码为1~(2阶码域的位宽-1),且尾数域M的尾数为任意值时,符号位为0/1,称为规格化数;当尾数的值不为0时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,称为浮点数的规格化表示。
本发明的有益效果是:可变浮点数据处理器在计算过程中可以改变浮点数中符号位、指数位和尾数位的顺序和长度,还有浮点数的宽度,可移植性好,而且可以表示更高精度的浮点数据,安全性也更高。
具体实施方式
下面进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
一种可变浮点数据微处理器,浮点数由符号域、阶码域、尾数域组成,浮点数=符号位.尾数×2阶码,(2阶码)表示2的阶码次方,浮点数的组成如下:
符号域:用S表示,符号域占1位,0表示正数,1表示负数;
阶码域:用E表示,以整数形式指明小数点在数据中的位置,决定了浮点数的表示范围,浮点数的阶码域E等于指数e加上一个固定的偏移值,该偏移值为(2阶码域的位宽-1-1);
尾数域:用M表示,用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;
所述可变浮点数据微处理器包括自定义浮点配置寄存器,自定义浮点配置寄存器由数据长度寄存器、符号位寄存器、位阶长度寄存器和尾数长度寄存器组成,并且自定义浮点数的组成顺序就是自定义浮点配置寄存器配置组成顺序,自定义浮点数的组成顺序为:自定义浮点配置寄存器0,自定义浮点配置寄存器1,自定义浮点配置寄存器2,自定义浮点配置寄存器3;尾数域长度加阶码域长度加符号域长度等于浮点数据长度,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器0:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器1:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器2:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点配置寄存器3:如果低2位等于二进制00,表示自定义浮点数据长度;如果低2位等于二进制01,表示符号域;如果低2位等于二进制10,表示阶码域;如果低2位等于二进制11,表示尾数域;剩下的其他数据位表示这种数据的长度,其中符号域长度只能是长度为1,否则错误产生未知结果,处理器产生异常;
自定义浮点数中定义如下五种类型的浮点数:
(1)当阶码域E的阶码为全0且尾数域M的尾数也为全0时,符号位为0/1,称为正负0;
(2)当阶码域E的阶码为全1且尾数域M的尾数为全0时,符号位为0/1,称为正负无穷大;
(3)当阶码域E的阶码为全1且尾数域M的尾数为非0时,符号位为0/1,称为非法的浮点数;
(4)当阶码域E的阶码为任意值且尾数域M的尾数为全0时,符号位为0/1,或者当阶码域E的值比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零;
(5)当阶码域E的阶码为1~(2阶码域的位宽-1),且尾数域M的尾数为任意值时,符号位为0/1,称为规格化数;当尾数的值不为0时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,称为浮点数的规格化表示。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
机译: 使用本机浮点微处理器指令来操纵16位浮点数据表示的系统和方法
机译: 使用本机浮点微处理器指令来操纵16位浮点数据表示的系统和方法
机译: 通过微处理器中的共享数据路径传送整数数据和浮点数据的方法和处理设备