[發明專利]一種浮點乘加融合單元的五級流水線結構有效
| 申請號: | 200710099408.9 | 申請日: | 2007-05-18 |
| 公開(公告)號: | CN101174200A | 公開(公告)日: | 2008-05-07 |
| 發明(設計)人: | 李兆麟;李恭瓊;張軒 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F7/57 | 分類號: | G06F7/57 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100084北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 浮點 融合 單元 流水線 結構 | ||
技術領域
本發明涉及浮點運算單元設計,是一種用于實現高性能浮點運算的高速浮點乘加融合單元。
背景技術
文獻數據表明,幾乎50%的浮點乘法指令后面緊跟的指令為浮點加法或減法。因此,浮點乘加融合操作A+B×C已經成為科學運算和多媒體應用中的一種基本操作。由于浮點乘加融合操作在應用程序中如此頻繁地出現,用浮點乘加融合單元(簡化為MAF單元)來實現該操作已經成為現代高性能商業處理器的一個很好的選擇。這種實現方式主要有以下兩個優點:(1)僅需要一次舍入,不是兩次;(2)通過共享一些組成模塊,可降低電路延遲和硬件開銷。
乘加(MAF)指令需要3個操作數。例如,執行A+(B×C)操作,當把乘加指令中操作數A置為0時執行的是乘法指令,把操作數B或C置為1時,執行的是加法指令。在已實現的多數處理器中,浮點乘加運算一般通過以下步驟來實現(相關內容請見參考文獻1:Floating-Point?Multiply-Add-Fused?with?Reduced?Latency,實現過程的框圖見圖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的結果的最高位最多左移26位,或者比B×C結果的最高位最多右移48比特,即移位范圍在[-26,48]之間。在浮點乘加的設計中為了使移位簡單化,規一化A的移位方向為向右移位。所以Ainv初始是在B×C左移26比特的初始位置,Ainv在對齊中右移位的位數是27-(exp(A)-(exp(B)+exp(C)-127),其中,exp(A),exp(B)和exp(C)分別是操作數A,B和C的指數。
2.把對齊移位后的Ainv、和B×C壓縮后的部分積用壓縮比為3∶2的進位保存加法器(CSA)壓縮,得到兩個部分積,同時處理A求補時所需要的加1。
3.利用2中壓縮后得到的部分積進行前導零預測(LZA,leading?zero?anticipator)得到加法結果的規格化左移的位數。同時判斷最終結果的正負。
4.在前導零預測和符合預測的同時做半加操作,并完成部分的加法運算。進行半加操作是為了保證后面能正確進行舍入。由于符號預測所需要的時間比半加操作多,可在此時間空隙里完成最終加法的一部分。
5.加法結果利用LZA預測的左移的位數進行規格化左移。若3符號預測部件判斷最終結果為負,則選擇2中壓縮后得到的部分積的補數形式經4處理后的結果進行規格化移位。
6.最終加法和舍入操作。
圖1所示的現有技術的不足如下:
(1)未處理對前導零預測邏輯可能引入的一位左移進行處理
(2)乘法結果采用兩個48位部分積表示,會引起一位溢出錯誤,
(3)加數移位對齊和規格化移位時需要移入‘0…0’或‘1…1’。加數為負或者最終結果的符號被檢測到為負時需要移入‘1…1’,用來在最低位加一求補時傳播進位。其選擇邏輯在關鍵路徑上,增加了延時。
發明內容
本發明的目的在于設計一種高性能的全流水線的單精度高速浮點乘加融合單元,同時保證較少的硬件開銷。
本發明的另一個目的是糾正已有運算單元細節處不完善而造成精度損失之處,提供一個高精度的浮點乘加單元。
為實現上述目的,本發明提供了一種五級流水實現的單精度浮點乘加運算單元,實現形式為A+(B×C)的乘加操作,其吞吐量為每周期一條指令,如圖2所示,具體結構如下:
第一級流水線:由指數處理單元1、以4為基的波茨編碼器3、3∶2的進位保存加法器(CSA)組成的部分積壓縮樹4的一部分和符號處理單元2組成;其中,
指數處理單元1根據操作數A的指數,B的指數和C的指數計算其指數差d
d=exp(A)-(exp(B)+exp(C)-127),
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710099408.9/2.html,轉載請聲明來源鉆瓜專利網。





