128位浮點(diǎn)對數(shù)運(yùn)算單元硬件設(shè)計(jì)
發(fā)布時(shí)間:2020-08-08 14:02
【摘要】:在科學(xué)計(jì)算、氣象預(yù)測等應(yīng)用場景中,使用了大量的浮點(diǎn)超越函數(shù)計(jì)算。目前的硬件處理器還不包含超越函數(shù)基本運(yùn)算硬件單元,仍然采用軟件庫函數(shù)通過迭代逼近等方式將超越函數(shù)轉(zhuǎn)化為近似的代數(shù)函數(shù)進(jìn)行求解。該類方法往往需要頻繁的調(diào)用各種浮點(diǎn)運(yùn)算的子程序,運(yùn)算效率低下。此外隨著科學(xué)計(jì)算的發(fā)展,對計(jì)算精度的要求也不斷提高,一般的雙精度計(jì)算已經(jīng)無法滿足軍事、天文等領(lǐng)域的應(yīng)用要求,128位或更高精度的浮點(diǎn)運(yùn)算的需求不斷被提出。隨著集成電路生產(chǎn)工藝水平的不斷進(jìn)步,處理器能夠集成的電路門數(shù)越來越多,單位門數(shù)的功耗與面積呈指數(shù)遞減,超越函數(shù)計(jì)算的全硬件化成本不斷降低。將超越函數(shù)算法硬件化作為CPU的協(xié)處理器,將成為提高處理器運(yùn)算性能的一個(gè)新方向。對數(shù)運(yùn)算是超越函數(shù)中應(yīng)用最多的函數(shù)之一,本文針對128位的高精度浮點(diǎn)對數(shù)運(yùn)算單元完成了硬件IP設(shè)計(jì)。論文針對CORDIC(COordinate Rotation DIgital Computer)算法進(jìn)行了分析和改進(jìn),設(shè)計(jì)了一種新的面向128位浮點(diǎn)對數(shù)運(yùn)算的四步并行分支CORDIC算法。128位浮點(diǎn)數(shù)包含113位精度位,論文中提出的改進(jìn)算法支持每步驟完成4位并行計(jì)算。提出的改進(jìn)算法以雙曲坐標(biāo)系下的CORDIC算法作為基礎(chǔ),設(shè)定算法中的y恒為負(fù)值,將迭代方向的取值由{-1,1}簡化為{0,1},并通過并行計(jì)算x,y,z的方式每次進(jìn)行四步迭代方向的預(yù)測。由于和y的取值特點(diǎn),可以直接根據(jù)并行計(jì)算結(jié)果獲得下四次迭代方向,根據(jù)預(yù)測的迭代方向直接選擇并行計(jì)算結(jié)果中正確一組作為當(dāng)次迭代輸出。以這種方式將四次單步迭代合并成一次四步迭代,解決了原有算法需要大量計(jì)算周期的缺陷,提高了運(yùn)行效率。論文在硬件設(shè)計(jì)過程中采用模塊化的設(shè)計(jì)方式,依照浮點(diǎn)對數(shù)運(yùn)算的特點(diǎn),將整個(gè)浮點(diǎn)對數(shù)運(yùn)算單元的設(shè)計(jì)分為四個(gè)模塊,分別為預(yù)處理模塊、尾數(shù)對數(shù)運(yùn)算模塊、指數(shù)乘法模塊以及加法合并輸出模塊。預(yù)處理模塊主要負(fù)責(zé)進(jìn)行輸入浮點(diǎn)數(shù)的解碼,將浮點(diǎn)計(jì)算轉(zhuǎn)化為定點(diǎn)計(jì)算,同時(shí)對輸入的異常數(shù)值進(jìn)行檢測并進(jìn)行處理。尾數(shù)對數(shù)運(yùn)算模塊作為對數(shù)運(yùn)算單元的核心模塊,將四步并行分支CORDIC算法進(jìn)行了硬件實(shí)現(xiàn),通過并行預(yù)測計(jì)算的方式提高運(yùn)算速度。在指數(shù)乘法模塊的實(shí)現(xiàn)中,采用基-8 Booth乘法和超前進(jìn)位加法的思想設(shè)計(jì)了高速的專用乘法器,對輸入的指數(shù)部分進(jìn)行相應(yīng)的計(jì)算。最后將以上兩個(gè)模塊的結(jié)果輸入加法合并模塊,通過超前進(jìn)位加法器進(jìn)行結(jié)果合并,然后進(jìn)行舍入和浮點(diǎn)規(guī)范化的處理,得到最終結(jié)果。論文硬件設(shè)計(jì)使用Verilog語言進(jìn)行硬件建模,利用Synopsys的設(shè)計(jì)工具在TSMC 65nm工藝下進(jìn)行了設(shè)計(jì)的仿真和綜合。在測試過程利用python平臺生成了2000萬組128位浮點(diǎn)隨機(jī)數(shù)據(jù),經(jīng)測試,所有的計(jì)算結(jié)果均能達(dá)到113位的有效精度,達(dá)到計(jì)算精度要求。在500MHz的工作頻率下,硬件總面積約為0.72mm~2,硬件功耗約為62.38mW,總計(jì)算周期僅為37個(gè)時(shí)鐘周期。綜上,論文實(shí)現(xiàn)了預(yù)期目標(biāo),完成了128位高精度浮點(diǎn)對數(shù)運(yùn)算單元的設(shè)計(jì)。
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2019
【分類號】:TP332.2
【圖文】:
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文量 1旋轉(zhuǎn)了θ度角到達(dá)末位置 2,那么得到式(2-,可以得到式(2-3)取cos ,我們得到了最終的旋轉(zhuǎn)表達(dá)式(2-4),cos 項(xiàng)的作用僅僅是改變了旋轉(zhuǎn)矢量的模長,并為了簡化問題,在只考慮旋轉(zhuǎn)角度的情況下將cos 旋轉(zhuǎn)過程區(qū)分,將這種簡化的旋轉(zhuǎn)模式稱為偽旋轉(zhuǎn)2-5)是偽旋轉(zhuǎn)過程的數(shù)學(xué)表達(dá)式。
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文表 4-2 中,將所有的 18 個(gè)乘法運(yùn)算按照計(jì)算依賴關(guān)系分為 3 層,第一只需要進(jìn)行移位操作就可以完成。第二層需要依賴第一層的計(jì)算結(jié)果,則需要第二層的計(jì)算結(jié)果。在這種方式下,最慢的計(jì)算結(jié)果也只需要一兩次加法就可以完成,總共需要 5 次移位運(yùn)算以及 14 次加法計(jì)算。相乘法單元,大大減少了計(jì)算成本。oth 編碼乘法本二進(jìn)制乘法按位進(jìn)行,按照從最低位到最高位的順序?qū)Τ藬?shù)的每一位斷,設(shè)定初始部分積為 0,如果乘數(shù)的第 位( 從 0 開始計(jì)數(shù))為 1,則將左移 位,得到當(dāng)次部分積,否則當(dāng)次部分積為 0。最后將所有的部分積到最終的乘法運(yùn)算結(jié)果。這種思想來自豎式算法,易于實(shí)現(xiàn),是硬件的算法基礎(chǔ)。由于其逐位判斷的特性,導(dǎo)致在數(shù)據(jù)位寬增加的時(shí)候,部數(shù)量會(huì)線性增加。最終的加法陣列的計(jì)算延時(shí)將會(huì)非常龐大。oth 編碼乘法[49]是一種那快速乘法算法,通過對乘數(shù)進(jìn)行編碼,從而達(dá)部分積數(shù)量的目的。式(4-1)為基-4Booth 算法的基本原理。
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2019
【分類號】:TP332.2
【圖文】:
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文量 1旋轉(zhuǎn)了θ度角到達(dá)末位置 2,那么得到式(2-,可以得到式(2-3)取cos ,我們得到了最終的旋轉(zhuǎn)表達(dá)式(2-4),cos 項(xiàng)的作用僅僅是改變了旋轉(zhuǎn)矢量的模長,并為了簡化問題,在只考慮旋轉(zhuǎn)角度的情況下將cos 旋轉(zhuǎn)過程區(qū)分,將這種簡化的旋轉(zhuǎn)模式稱為偽旋轉(zhuǎn)2-5)是偽旋轉(zhuǎn)過程的數(shù)學(xué)表達(dá)式。
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文表 4-2 中,將所有的 18 個(gè)乘法運(yùn)算按照計(jì)算依賴關(guān)系分為 3 層,第一只需要進(jìn)行移位操作就可以完成。第二層需要依賴第一層的計(jì)算結(jié)果,則需要第二層的計(jì)算結(jié)果。在這種方式下,最慢的計(jì)算結(jié)果也只需要一兩次加法就可以完成,總共需要 5 次移位運(yùn)算以及 14 次加法計(jì)算。相乘法單元,大大減少了計(jì)算成本。oth 編碼乘法本二進(jìn)制乘法按位進(jìn)行,按照從最低位到最高位的順序?qū)Τ藬?shù)的每一位斷,設(shè)定初始部分積為 0,如果乘數(shù)的第 位( 從 0 開始計(jì)數(shù))為 1,則將左移 位,得到當(dāng)次部分積,否則當(dāng)次部分積為 0。最后將所有的部分積到最終的乘法運(yùn)算結(jié)果。這種思想來自豎式算法,易于實(shí)現(xiàn),是硬件的算法基礎(chǔ)。由于其逐位判斷的特性,導(dǎo)致在數(shù)據(jù)位寬增加的時(shí)候,部數(shù)量會(huì)線性增加。最終的加法陣列的計(jì)算延時(shí)將會(huì)非常龐大。oth 編碼乘法[49]是一種那快速乘法算法,通過對乘數(shù)進(jìn)行編碼,從而達(dá)部分積數(shù)量的目的。式(4-1)為基-4Booth 算法的基本原理。
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 K·C·
本文編號:2785663
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2785663.html
最近更新
教材專著