[发明专利]一种64比特浮点乘加器及其浮点运算流水节拍处理方法有效
申请号: | 200910093047.6 | 申请日: | 2009-09-27 |
公开(公告)号: | CN101692202A | 公开(公告)日: | 2010-04-07 |
发明(设计)人: | 齐子初;郭崎;胡伟武 | 申请(专利权)人: | 北京龙芯中科技术服务中心有限公司 |
主分类号: | G06F7/57 | 分类号: | G06F7/57 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 史霞 |
地址: | 100012 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 64 比特 浮点 乘加器 及其 运算 流水 节拍 处理 方法 | ||
技术领域
本发明涉及微处理器技术领域,特别是涉及一种微处理器中的浮点乘 加部件设计技术,尤其涉及到一种64比特浮点乘加器及其浮点运算流水 节拍处理方法。
背景技术
为了达到浮点计算的高效率,在许多微处理器中使用一个浮点运算单 元浮点乘加器来实现连续的浮点乘法和加法两个操作。浮点乘加器在一条 指令中执行(A×B)+C的操作,并且只有一次舍入操作,从而提高了计 算的精度。当把乘加指令中操作数C置为0时执行的是乘法指令,把操作 数B置为1时,执行的是加法指令,所以浮点乘加器也可以用来做单独的 乘法和单独的加法操作。
在微处理器中采用与浮点乘加运算相对应的浮点乘加部件,与单纯的 浮点乘法器和浮点加法器相比,采用浮点乘加部件有以下两个好处:
①降低了用乘法器和全加器执行乘加指令的延迟。通常的微处理器中 实现的浮点乘法是2~4拍,浮点加法2~3拍,而浮点乘加指令的延迟一 般在3~5拍左右,可以看出一条浮点乘法指令接着一条浮点加法指令所 需要的节拍数之和大于等于一条浮点乘加指令的执行节拍数,所以采用浮 点乘加指令降低了先乘后加(乘加)的指令序列的延迟。
②比乘法器和全加器的硬件开销之和要小,而且提高了乘加指令结果 的精度。浮点乘加器只在A×B+C结束后做一次舍入(rounding)和规格 化(normalization),而用浮点乘法和浮点加法指令来实现浮点乘加指令 时,需要先进行乘法的舍入和规格化,然后进行加法的舍入和规格化,要 做两次舍入和规格化。只做一次舍入和规格化使得浮点乘加器硬件规模比 浮点乘法器和浮点加法器之和的硬件规模要小一些。并且在浮点乘加器 中,进行舍入的数据长度是161比特,提高了浮点运算的精度。
在已实现的多数处理器中,浮点乘加运算都是基于IBM RS/6000中的 算法改进,一般通过以下步骤来实现(相关内容请见参考文献1:Design of the IBM RISC System/6000 floating-point execution unit,IBM journal of Research & Development,Vol.34,pp.59-70,1990,参考文 献2:Second-Generation RISC Floating Point with Multiply-Add Fused, IEEE Journal of Solid state circuits,Vol.25,pp.1207-1213,1990)
1、操作数A×B利用乘法压缩树进行压缩,得到carry(进位)和sum (和)两个部分积。在进行乘法树压缩的同时,操作数C进行取反和对齐 移位操作。
2、把对齐移位后的Cinv和A×B压缩后的carry和sum用压缩比为 3∶2的161bit乘法进位保留加法器(CSA)树(tree)压缩,得到两个 部分积。把3∶2乘法进位保留加法器(CSA)压缩后得到的两个部分积做 161bit加法运算,同时利用这两个部分积进行161bitLZA(Leading Zero Anticipator,首位0的个数预测)得到加法结果的规格化左移的位数。
3、加法结果利用LZA预测的左移的位数进行规格化左移和舍入操作 得到最终的计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京龙芯中科技术服务中心有限公司,未经北京龙芯中科技术服务中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910093047.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种访问存储器的方法、系统和总线仲裁装置
- 下一篇:一种清洗晶片容器的方法