[发明专利]一种具有数据前送结构的浮点乘加单元有效
| 申请号: | 200710179975.5 | 申请日: | 2007-12-20 | 
| 公开(公告)号: | CN101221490A | 公开(公告)日: | 2008-07-16 | 
| 发明(设计)人: | 李兆麟;李恭琼;邬健元 | 申请(专利权)人: | 清华大学 | 
| 主分类号: | G06F7/57 | 分类号: | G06F7/57;G06F9/38 | 
| 代理公司: | 北京众合诚成知识产权代理有限公司 | 代理人: | 朱琨 | 
| 地址: | 100084北*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 具有 数据 结构 浮点 单元 | ||
技术领域
本发明涉及浮点运算单元设计,是一种用于实现高性能浮点运算的高速浮点乘加单元。
背景技术
文献数据表明,几乎50%的浮点乘法指令后面紧跟的指令为浮点加法或减法。因此,浮点乘加融合操作A+B×C已经成为科学运算和多媒体应用中的一种基本操作。由于浮点乘加融合操作在应用程序中如此频繁地出现,用浮点乘加融合单元(简化为MAF单元)来实现该操作已经成为现代高性能商业处理器的一个很好的选择。这种实现方式主要有以下两个优点:(1)仅需要一次舍入,不是两次;(2)通过共享一些组成模块,可降低电路延迟和硬件开销。
乘加(MAF)指令需要3个操作数。例如,执行A+(B×C)操作,当把乘加指令中操作数A置为0时执行的是乘法指令,把操作数B或C置为1时,执行的是加法指令。在已实现的多数处理器中,浮点乘加运算一般通过以下步骤来实现(见图1):
首先对被乘数C做波茨编码,然后用进位保存压缩加法器(CSA)组成的压缩树实现B×C,得到两个部分积。在进行乘法的同时,操作数A进行取反和对齐移位操作。操作数A和B×C的符号可能相同,也可能相反。如果A和B×C的符号相反,将A和B×C做有效减法,需要得到A的补码进行相加,A需要取反。否则如果A和B×C的符号相同做有效加法,A不需要取反。下面不管是否需要进行取反操作,将通过取反器之后的A记为Ainv。
在IEEE-754标准中,单精度操作数的尾数是24比特,再加上2个额外的舍入位,Ainv比B×C的结果的最高位最多左移55位,或者比B×C结果的最高位最多右移106比特,即移位范围在[-55,106]之间。在浮点乘加的设计中为了使移位简单化,规一化A的移位方向为向右移位。所以Ainv最初置于B×C左端55比特的位置,Ainv在对齐中右移位的位数是56-(exp(A)-(exp(B)+exp(C)-1024),其中,exp(A),exp(B)和exp(C)分别是操作数A,B和C的指数。
把对齐移位后的Ainv、和B×C压缩后的部分积用压缩比为3∶2的进位保存加法器(CSA)压缩,得到两个部分积,同时处理A求补时所需要的加1。
利用2中压缩后得到的两个部分积进行前导零预测(LZA,leading zero anticipator),得到加法结果的规格化左移的位数。同时判断最终结果的正负。
在前导零预测和符合预测的同时做半加操作,并完成部分的加法运算。进行半加操作是为了保证后面能正确地进行舍入。由于符号预测所需要的时间比半加操作多,可在此时间空隙里完成最终加法的一部分。
加法结果利用LZA预测的左移的位数进行规格化左移。若3中符号预测部件判断最终结果为负,则选择2中压缩后得到的部分积的补数形式经第4步处理后的结果进行规格化移位。
最终加法和舍入操作。
图1所示的现有技术的不足:
连续两条指令存在数据相关时,流水线将被迫等待两个周期(三级流水实现时,n级流水实现时将等待n-1个周期),而在实际应用中,数据相关又是一个非常普遍的现象。
相对图1所示的现有技术,本发明设计实现了一种具有数据前送结构的浮点乘加单元。与现有技术的不同在于,将流水线中间两级的结果提前馈送至第一级的输入处,加速了指令流的执行效率,同时增加的硬件开销和延时都很小。
发明内容
本发明的目的在于设计一种高性能的全流水线的双精度高速的浮点乘加单元,对于发生数据相关的指令进行加速,提高浮点指令流的执行效率。
为实现上述目的,本发明提供了一种具有数据前送结构的浮点乘加单元。数据前送是指在流水线实现的处理器中,如果前后两条指令发生数据相关,即后一条指令的原操作数采用前一条指令的结果,则前一条指令的中间结果可以反馈到运算单元的输入,作为后一条指令的操作数进行运算。
本发明提供了一种双精度的浮点乘加运算单元,实现形式为A+B×C的乘加操作,其特征在于,该设计的双精度浮点乘加运算单元由三级流水实现,且操作数A和B可以是上一指令的中间结果,可由三部分构成:A由55比特的A1、A2和常数项CON构成,B由55比特的B1、B2和一个常数项构成,A和B的常数项都可以是0或1,该浮点乘加单元含有:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710179975.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于摩托车制动器的制动盘
- 下一篇:作为抗菌剂的噁唑烷酮类化合物
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





