[發(fā)明專利]一種基于查表操作的高速浮點(diǎn)除法部件裝置在審
| 申請?zhí)枺?/td> | 201510081089.3 | 申請日: | 2015-02-15 |
| 公開(公告)號: | CN104615404A | 公開(公告)日: | 2015-05-13 |
| 發(fā)明(設(shè)計(jì))人: | 鄒曉峰;童元滿;李仁剛;李拓;劉金廣;李國川 | 申請(專利權(quán))人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類號: | G06F7/52 | 分類號: | G06F7/52 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 操作 高速 浮點(diǎn) 除法 部件 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算技術(shù)領(lǐng)域,尤其涉及一種基于查表操作的高速浮點(diǎn)除法計(jì)算部件裝置。
背景技術(shù)
隨著高速通信、多媒體處理等更多新的應(yīng)用算法出現(xiàn),浮點(diǎn)除法已經(jīng)成為一種基本的浮點(diǎn)操作,但也是浮點(diǎn)四則運(yùn)算中最為復(fù)雜的。浮點(diǎn)除法有三種實(shí)現(xiàn)方法:基于查找表法、函數(shù)迭代法和數(shù)字迭代法。雖然現(xiàn)代大多數(shù)通用微處理器已經(jīng)實(shí)現(xiàn)了浮點(diǎn)除法,但除法卻仍然是這些處理器實(shí)現(xiàn)的性能瓶頸。
發(fā)明內(nèi)容
考慮到浮點(diǎn)除法的本身算法具有較高的復(fù)雜性,單獨(dú)實(shí)現(xiàn)除法指令模塊硬件資源開銷較大,為提高提高應(yīng)用中浮點(diǎn)除法的計(jì)算性能,降低硬件資源開銷和功耗,本發(fā)明將浮點(diǎn)求倒數(shù)和求平方根倒數(shù)運(yùn)算采用基于查找表的實(shí)現(xiàn),并加入SIMD操作。該裝置能夠?qū)崿F(xiàn)雙/單精度浮點(diǎn)數(shù)據(jù)求倒數(shù)和雙/單精度浮點(diǎn)數(shù)據(jù)求平方根倒數(shù)操作。
本發(fā)明包括:(1)12位復(fù)用定點(diǎn)加法器;(2)12位定點(diǎn)加法器;(3)倒數(shù)查找表;(4)平方根倒數(shù)查找表;(5)指數(shù)生成邏輯;(6)尾數(shù)生成邏輯。其中:
(1)、12位復(fù)用定點(diǎn)加法器:計(jì)算SIMD高位數(shù)據(jù)的結(jié)果浮點(diǎn)數(shù)的指數(shù);
(2)、12位定點(diǎn)加法器:計(jì)算SIMD低位數(shù)據(jù)的結(jié)果浮點(diǎn)數(shù)的指數(shù);
(3)、倒數(shù)查找表:查找并生成浮點(diǎn)數(shù)據(jù)倒數(shù)的尾數(shù)部分;
(4)、平方根倒數(shù)查找表:查找并生成浮點(diǎn)數(shù)據(jù)平方根倒數(shù)的尾數(shù)部分;
(5)、指數(shù)生成邏輯:根據(jù)前期計(jì)算結(jié)果修正并生成結(jié)果浮點(diǎn)數(shù)的指數(shù)部分;
(6)、尾數(shù)生成邏輯:生成結(jié)果浮點(diǎn)數(shù)的尾數(shù)。
本發(fā)明能夠?qū)崿F(xiàn)雙/單精度浮點(diǎn)數(shù)據(jù)求倒數(shù)和雙/單精度浮點(diǎn)數(shù)據(jù)求平方根倒數(shù)操作。
查表求倒數(shù)和平方根倒數(shù)大致計(jì)算過程主要包含兩步,如下:
第一步:計(jì)算結(jié)果的指數(shù)。對于求倒數(shù),結(jié)果指數(shù)為源操作數(shù)實(shí)際指數(shù)的相反數(shù),對于平方根倒數(shù),結(jié)果指數(shù)為源操作數(shù)實(shí)際指數(shù)的????????????????????????????????????????????????倍;
第二步:根據(jù)源操作數(shù)的尾數(shù)高8位,查表得到結(jié)果尾數(shù)的高8位。
在實(shí)際應(yīng)用中,當(dāng)計(jì)算精度要求不高時(shí),可以直接將查表得到的結(jié)果作為計(jì)算結(jié)果,而對于精度要求較高的應(yīng)用算法,則需要進(jìn)行函數(shù)迭代提高結(jié)果的精度。做法是通過上述查表法為乘法迭代提供一個(gè)近似的除數(shù)倒數(shù)或平方根倒數(shù)值。
本發(fā)明中,本發(fā)明根據(jù)浮點(diǎn)數(shù)尾數(shù)部分的高8位,通過查表可以得到精確度為精度的結(jié)果,然后將這個(gè)結(jié)果利用牛頓-拉夫森方法(Newton-Raphson),也就是利用泰勒級數(shù)前幾項(xiàng)求函數(shù)根的方法。求浮點(diǎn)倒數(shù)增加精度的迭代公式如公式1,平方根倒數(shù)如公式2所示。
?????????????????公式1
???公式2
其中,V的倒數(shù)或者平方根倒數(shù)已經(jīng)查表得到。通過上述迭代公式,每迭代一次結(jié)果精度增加一倍。基于上述算法可以實(shí)現(xiàn)任意和形式的浮點(diǎn)運(yùn)算。
倒數(shù)的查找表決定著浮點(diǎn)倒數(shù)的性能、硬件資源開銷和計(jì)算精度,其容量是隨著尾數(shù)的寬度和精度呈指數(shù)增長的。因此,對于浮點(diǎn)倒數(shù)的查找表實(shí)現(xiàn),關(guān)鍵是查找表的構(gòu)造,需要在精度和硬件資源開銷之間獲得平衡。
目前,浮點(diǎn)倒數(shù)查找表的構(gòu)造方法主要包括三種:直接近似法、線性近似法和部分積陣列法。本發(fā)明中的查找表使用的是直接近似法。這種方法也是基于查找初始倒數(shù)值除法中最常用的方法。查找表的構(gòu)造過程也就是產(chǎn)生具有一定精度的倒數(shù)值序列。
對于給定的符合IEEE-754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù)X,對于求倒數(shù)和平方根倒數(shù),結(jié)果的指數(shù)可以很快通過源操作數(shù)指數(shù)求出,而尾數(shù)位則要通過查找表得到。例如,對于浮點(diǎn)求倒數(shù)指令,本發(fā)明采用尾數(shù)的高8位來索引倒數(shù)查找表,查表得到的倒數(shù)近似值也取8位,因此,本發(fā)明的倒數(shù)查找表容量為2048位,即2048bits,查詢?nèi)肟趇可以通過公式3得到倒數(shù)的近似值:
??????公式3
其中,m為查詢?nèi)肟谖粩?shù),n為輸出近似值位數(shù)。
通過上述計(jì)算方法能夠得到高8位尾數(shù)全部情況下的倒數(shù)的查找表入口值。通過這一方法也可以得到浮點(diǎn)平方根倒數(shù)的查找表入口值,對于浮點(diǎn)平方根倒數(shù),本發(fā)明選取的是尾數(shù)的高9位來索引,查表得到的近似值也取8位,因此,浮點(diǎn)平方根倒數(shù)的查找表容量為4096位,即4096bits。通過上述方法構(gòu)造的倒數(shù)查找表,可以得到精確度為精度的結(jié)果。同樣可以用類似方法可以構(gòu)造雙精度倒數(shù)和平方根倒數(shù)的查找表。
附圖說明
圖1是本發(fā)明的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510081089.3/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 .將單個(gè)記錄載體上的數(shù)據(jù)進(jìn)行排序、選擇、合并或比較的裝置
G06F7-22 .用于排序或合并在連續(xù)記錄載體
G06F7-38 .只利用數(shù)制表示,例如利用二進(jìn)制、三進(jìn)制、十進(jìn)制表示來完成計(jì)算的方法或裝置
G06F7-58 .隨機(jī)數(shù)或偽隨機(jī)數(shù)發(fā)生器
- 浮點(diǎn)異常處理裝置
- 一種微處理器浮點(diǎn)部件驗(yàn)證裝置
- 一種計(jì)算機(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)換方法、裝置、存儲(chǔ)介質(zhì)及計(jì)算機(jī)設(shè)備
- 浮點(diǎn)計(jì)算方法及系統(tǒng)
- 浮點(diǎn)數(shù)處理器
- 一種浮點(diǎn)數(shù)據(jù)處理方法及裝置





