[發明專利]高吞吐量低延時的單精度浮點數除法器設計方法在審
| 申請號: | 202111359140.4 | 申請日: | 2021-11-17 |
| 公開(公告)號: | CN113946311A | 公開(公告)日: | 2022-01-18 |
| 發明(設計)人: | 呂飛;陳建;程任翔;夏燕 | 申請(專利權)人: | 金陵科技學院 |
| 主分類號: | G06F7/487 | 分類號: | G06F7/487 |
| 代理公司: | 南京眾聯專利代理有限公司 32206 | 代理人: | 呂書桁 |
| 地址: | 210000 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 吞吐量 延時 精度 浮點 法器 設計 方法 | ||
1.高吞吐量低延時的單精度浮點數除法器設計方法,其特征在于:包括有如下步驟:
步驟1:通過通用分段線性PWL使用適當的段數和分數比特寬度來滿足預定義的最大絕對誤差的要求:
用線性分段方式計算1/1.x的近似值,采用以下式子計算:
其中x是尾數;
斜率qs的小數位與其他數據qw的小數位寬度分開,其中qs<qw;
把qw和kw的值設置相同,預定義的最大絕對誤差ep為6.8e-5;
步驟2:對戈德施密特算法進行改進,并執行一次改進之后戈德施密特算法迭代,線性分段運算結果Rp是1/1.x的近似值;
改進之后戈德施密特算法的遞歸方程為:
xi+1=xi(1+Ri)
Ri+1=Ri2
初始值為:
x0=A·app(l/B)
R0=1-B·app(1/B)
運算之后的初始值為:x0=1.y×Rp (2)
R0=1-1.x×Rp (3)
此時的改進后的結果為:
Rg=x0+x0×R0 (4)
步驟3:誤差分析:
戈德施密特算法的誤差可以表示為
1.x和1.y都屬于該范圍[1、2),所以戈德施密特的研究范圍為:
戈德施密特迭代里,做兩次四舍五入,引入了誤差:x0<2,所以由于R0四舍五入操作引起的誤差為
ed<2-qr (7)
由X0引起的Rd
ex<2-qr-1 (8)
所以Rd四舍五入引起的誤差為
er<2-25 (9)
Rd的誤差包含了(6)、(7)、(8)、(9)中的四個部分,它的范圍表示為
且qr不小于26,ep大于2-13.5;
為了達到1ulp的精度,誤差小于2-24,由于qx的值被設置為與qr相同,所以方程(9)應不大于2-24
步驟4:通過booth編碼進行尾數除法:
通過線性分段將式(1)分成35段,通過34個加法器將分段器的輸出與第2段到第34段的起點進行比較;通過比較器輸出的符號選擇輸入x的相應段的斜率和y截距;根據-4booth編碼規則生成五個部分積PPSp,由k的booth編碼選擇;斜率k包含8位;
計算PP1到PP5的和和y截距,采用壓縮器將其壓縮為兩個結果;這兩個結果通過加法器相加,得到PP1到PP5的和和y截距;加法器輸出的截斷結果是PWL部分Rp的結果;
由(2)到(4)執行戈德施密特算法的迭代;設xp=1.x·Rp,因為Rp近似為1/1.x,且誤差小于6.8e-5,xp接近于1,xp的值可以用下式來表示:
其中i是分數部分,Xp0是整數部分的第一位,
此時,式(3)表示為
不論Xp0為1還是0,1-xp0=-xp0,(13)寫為:
在計算基-8的1.x和1.y的部分積的加法器與計算Rp的加法器是同一個,
根據(2)和(14),部分積通過booth編碼選擇為R0,因此,PPSx和PPSy的選擇組合在一起節省多路復用器;基數-8booth編碼選擇表,在(13)中對乘法結果求反,
步驟5:硬件電路中的舍入操作:
通過在第qr+1個分數位處加1并截斷,成為qr個分數位;在部分積和中嵌入了加1的運算;
計算x0和R0的部分積樹,Rp的二進制化為以下形式
S.S...SX...X
S為符號位,X為任意位,Rp保留一個符號位;
得到x0和R0,通過式(4)得到Rg,
計算x0與PPSx0的部分積,得到部分積PP1到PP5和x0,使其被壓縮為兩個結果,再通過加法器得到Rg。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于金陵科技學院,未經金陵科技學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111359140.4/1.html,轉載請聲明來源鉆瓜專利網。





