[發(fā)明專利]一種64比特浮點(diǎn)乘加器及其浮點(diǎn)運(yùn)算流水節(jié)拍處理方法有效
| 申請?zhí)枺?/td> | 200910093047.6 | 申請日: | 2009-09-27 |
| 公開(公告)號: | CN101692202A | 公開(公告)日: | 2010-04-07 |
| 發(fā)明(設(shè)計)人: | 齊子初;郭崎;胡偉武 | 申請(專利權(quán))人: | 北京龍芯中科技術(shù)服務(wù)中心有限公司 |
| 主分類號: | G06F7/57 | 分類號: | G06F7/57 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 史霞 |
| 地址: | 100012 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 64 比特 浮點(diǎn) 乘加器 及其 運(yùn)算 流水 節(jié)拍 處理 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器技術(shù)領(lǐng)域,特別是涉及一種微處理器中的浮點(diǎn)乘 加部件設(shè)計技術(shù),尤其涉及到一種64比特浮點(diǎn)乘加器及其浮點(diǎn)運(yùn)算流水 節(jié)拍處理方法。
背景技術(shù)
為了達(dá)到浮點(diǎn)計算的高效率,在許多微處理器中使用一個浮點(diǎn)運(yùn)算單 元浮點(diǎn)乘加器來實(shí)現(xiàn)連續(xù)的浮點(diǎn)乘法和加法兩個操作。浮點(diǎn)乘加器在一條 指令中執(zhí)行(A×B)+C的操作,并且只有一次舍入操作,從而提高了計 算的精度。當(dāng)把乘加指令中操作數(shù)C置為0時執(zhí)行的是乘法指令,把操作 數(shù)B置為1時,執(zhí)行的是加法指令,所以浮點(diǎn)乘加器也可以用來做單獨(dú)的 乘法和單獨(dú)的加法操作。
在微處理器中采用與浮點(diǎn)乘加運(yùn)算相對應(yīng)的浮點(diǎn)乘加部件,與單純的 浮點(diǎn)乘法器和浮點(diǎn)加法器相比,采用浮點(diǎn)乘加部件有以下兩個好處:
①降低了用乘法器和全加器執(zhí)行乘加指令的延遲。通常的微處理器中 實(shí)現(xiàn)的浮點(diǎn)乘法是2~4拍,浮點(diǎn)加法2~3拍,而浮點(diǎn)乘加指令的延遲一 般在3~5拍左右,可以看出一條浮點(diǎn)乘法指令接著一條浮點(diǎn)加法指令所 需要的節(jié)拍數(shù)之和大于等于一條浮點(diǎn)乘加指令的執(zhí)行節(jié)拍數(shù),所以采用浮 點(diǎn)乘加指令降低了先乘后加(乘加)的指令序列的延遲。
②比乘法器和全加器的硬件開銷之和要小,而且提高了乘加指令結(jié)果 的精度。浮點(diǎn)乘加器只在A×B+C結(jié)束后做一次舍入(rounding)和規(guī)格 化(normalization),而用浮點(diǎn)乘法和浮點(diǎn)加法指令來實(shí)現(xiàn)浮點(diǎn)乘加指令 時,需要先進(jìn)行乘法的舍入和規(guī)格化,然后進(jìn)行加法的舍入和規(guī)格化,要 做兩次舍入和規(guī)格化。只做一次舍入和規(guī)格化使得浮點(diǎn)乘加器硬件規(guī)模比 浮點(diǎn)乘法器和浮點(diǎn)加法器之和的硬件規(guī)模要小一些。并且在浮點(diǎn)乘加器 中,進(jìn)行舍入的數(shù)據(jù)長度是161比特,提高了浮點(diǎn)運(yùn)算的精度。
在已實(shí)現(xiàn)的多數(shù)處理器中,浮點(diǎn)乘加運(yùn)算都是基于IBM?RS/6000中的 算法改進(jìn),一般通過以下步驟來實(shí)現(xiàn)(相關(guān)內(nèi)容請見參考文獻(xiàn)1:Design of?the?IBM?RISC?System/6000?floating-point?execution?unit,IBM journal?of?Research?&?Development,Vol.34,pp.59-70,1990,參考文 獻(xiàn)2:Second-Generation?RISC?Floating?Point?with?Multiply-Add?Fused, IEEE?Journal?of?Solid?state?circuits,Vol.25,pp.1207-1213,1990)
1、操作數(shù)A×B利用乘法壓縮樹進(jìn)行壓縮,得到carry(進(jìn)位)和sum (和)兩個部分積。在進(jìn)行乘法樹壓縮的同時,操作數(shù)C進(jìn)行取反和對齊 移位操作。
2、把對齊移位后的Cinv和A×B壓縮后的carry和sum用壓縮比為 3∶2的161bit乘法進(jìn)位保留加法器(CSA)樹(tree)壓縮,得到兩個 部分積。把3∶2乘法進(jìn)位保留加法器(CSA)壓縮后得到的兩個部分積做 161bit加法運(yùn)算,同時利用這兩個部分積進(jìn)行161bitLZA(Leading?Zero Anticipator,首位0的個數(shù)預(yù)測)得到加法結(jié)果的規(guī)格化左移的位數(shù)。
3、加法結(jié)果利用LZA預(yù)測的左移的位數(shù)進(jìn)行規(guī)格化左移和舍入操作 得到最終的計算結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京龍芯中科技術(shù)服務(wù)中心有限公司,未經(jīng)北京龍芯中科技術(shù)服務(wù)中心有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910093047.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F7-00 通過待處理的數(shù)據(jù)的指令或內(nèi)容進(jìn)行運(yùn)算的數(shù)據(jù)處理的方法或裝置
G06F7-02 .比較數(shù)字值的
G06F7-06 .將單個記錄載體上的數(shù)據(jù)進(jìn)行排序、選擇、合并或比較的裝置
G06F7-22 .用于排序或合并在連續(xù)記錄載體
G06F7-38 .只利用數(shù)制表示,例如利用二進(jìn)制、三進(jìn)制、十進(jìn)制表示來完成計算的方法或裝置
G06F7-58 .隨機(jī)數(shù)或偽隨機(jī)數(shù)發(fā)生器
- 浮點(diǎn)異常處理裝置
- 一種微處理器浮點(diǎn)部件驗證裝置
- 一種計算機(jī)圖像處理系統(tǒng)
- 實(shí)現(xiàn)浮點(diǎn)數(shù)指數(shù)分析替換的裝置及方法
- 實(shí)現(xiàn)浮點(diǎn)數(shù)符號分析替換的裝置及方法
- 一種可變浮點(diǎn)數(shù)據(jù)微處理器
- 浮點(diǎn)數(shù)據(jù)類型轉(zhuǎn)換方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備
- 浮點(diǎn)計算方法及系統(tǒng)
- 浮點(diǎn)數(shù)處理器
- 一種浮點(diǎn)數(shù)據(jù)處理方法及裝置





