发明名称 具有浮点精度保持功能的浮点累加/累减运算方法
摘要 本发明公开了一种具有浮点精度保持功能的浮点累加/累减运算方法,实施步骤如下:1)扩充对阶寄存器、扩展结果寄存器、二进制加法器的宽度;将运算分解为浮点加/减法运算以及浮点累加/累减指令;2)执行浮点加/减法运算,将运算结果存储在扩展结果寄存器中,将运算结果进行规格化与舍入操作后写入目的浮点寄存器;3)执行浮点累加/累减指令,每一次执行浮点累加/累减指令时,从浮点寄存器文件中读出第一个操作数、从扩展结果寄存器中读取第二个操作数,然后返回执行步骤2);在执行最后一个浮点累加/累减指令后,将目的浮点寄存器中的数据输出。本发明具有浮点运算精度高、硬件逻辑实现简单、应用范围广、使用灵活方便的优点。
申请公布号 CN103019647B 申请公布日期 2015.06.24
申请号 CN201210494197.X 申请日期 2012.11.28
申请人 中国人民解放军国防科学技术大学 发明人 倪晓强;邰强强;窦强;王永文;张承义;高军;孙彩霞;隋兵才;陈微;赵天磊;黄立波;王蕾
分类号 G06F7/485(2006.01)I 主分类号 G06F7/485(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种具有浮点精度保持功能的浮点累加/累减运算方法,其特征在于其实施步骤如下:1)预先扩充对阶寄存器的宽度使得浮点运算前的浮点数对阶操作不进行数据截断、扩展结果寄存器的宽度用于存储临时运算结果,同时扩充二进制加法器的宽度使其满足扩充宽度后的对阶寄存器和扩展结果寄存器;在进行运算时将浮点累加/累减运算分解为第一次浮点加/减法运算指令以及后续的浮点累加/累减指令,获取第一次浮点加/减法运算指令作为当前运算指令,获取当前运算指令的两个操作数并执行下一步;2)将当前运算指令的两个操作数执行浮点加/减法运算,将运算结果存储在扩展结果寄存器中,同时将运算结果进行规格化与舍入操作后写入目的浮点寄存器;3)依次执行后续的浮点累加/累减指令,将后续的浮点累加/累减指令作为当前运算指令,从浮点寄存器文件中读出当前运算指令的第一个操作数、从扩展结果寄存器中读取上一次的计算结果作为当前运算指令的第二个操作数,然后调用执行步骤2);在执行最后一个浮点累加/累减指令后,将目的浮点寄存器中的数据作为最终运算结果输出;所述步骤2)的详细步骤如下:2.1)求取当前运算指令两个操作数之间的阶差;2.2)根据所述阶差将两个操作数进行对阶操作,将对阶操作后的数据存储在所述扩充宽度后的对阶寄存器中;2.3)将两个操作数的浮点数尾数字段通过扩充位宽后的二进制加法器完成加法或者减法计算,将计算结果存储在扩充宽度后的扩展结果寄存器中,同时将运算结果进行规格化与舍入操作后写入目的浮点寄存器。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院
您可能感兴趣的专利