高性能浮點乘法單元的設(shè)計
發(fā)布時間:2020-05-05 16:44
【摘要】: 高性能浮點乘法單元是現(xiàn)代數(shù)字信號處理器中的重要部件,是完成高性能實時數(shù)字信號處理和圖像處理的關(guān)鍵所在,它的性能優(yōu)劣直接影響到CPU的浮點處理能力。浮點乘法單元具有面積大、延遲長、結(jié)構(gòu)復(fù)雜的特點。如何設(shè)計出高速、簡單且結(jié)構(gòu)規(guī)則的浮點乘法器成為廣泛關(guān)注的問題。過去的十多年中,研究者擴展了Booth編碼算法的空間,提高了乘法器的性能;改進了部分積壓縮技術(shù),使乘法器結(jié)構(gòu)更加規(guī)則;以傳輸管邏輯、多路選擇器和動態(tài)技術(shù)為基礎(chǔ)的各種電路實現(xiàn)方法也持續(xù)刷新高性能乘法器的實現(xiàn)記錄;與此同時,與物理實現(xiàn)緊密相關(guān)的乘法器拓撲結(jié)構(gòu)的研究也碩果累累。但不斷提高的高性能運算需求使得高性能乘法單元的設(shè)計和實現(xiàn)仍然是當前的熱門話題。 本論文主要完成高性能浮點乘法器的設(shè)計與驗證,是微電子中心高性能浮點處理單元(FPU, Float Point Uint)項目的重要組成部分,按照Top-down的現(xiàn)代IC設(shè)計方法,以實現(xiàn)64位雙精度浮點數(shù)的乘法運算為主,兼容32位單精度浮點數(shù)。 文章首先討論了IEEE-754中規(guī)定的浮點數(shù)格式以及基本操作,并對浮點乘法的幾種算法進行分析,深入研究了Booth算法及其各種改進算法,對比后選擇改進的Booth2算法用于乘法單元的設(shè)計。接著分析了乘法器的陣列選擇,討論乘法單元的兩種典型陣列結(jié)構(gòu),研究用于部分積求和的各種加法器,選取Wallace樹型結(jié)構(gòu)作為壓縮陣列,混合加法器進行最終的部分積求和運算。為了提高性能,課題引入流水線技術(shù),對浮點乘法單元整體采用五級流水線結(jié)構(gòu)進行控制,在全流水狀態(tài)下基本上等效于一個周期完成一次乘法操作,真正實現(xiàn)高性能的乘法器。 設(shè)計完成后通過搭建驗證平臺,通過模擬仿真的方法,用大量激勵向量對浮點乘法單元的功能進行驗證,并采取特殊激勵和隨機激勵相結(jié)合的方式,以提高驗證的覆蓋率。為了檢測時序要求,采用中芯國際SMIC的0.18μm CMOS工藝對其進行了邏輯綜合,保證浮點乘法單元的延時要求,時鐘頻率預(yù)期達到500MHz。
【圖文】:
個時鐘周期部分和與乘數(shù)向右移一位,與被與上一次得到的部分和相加。這種結(jié)構(gòu)中乘。由于這種結(jié)構(gòu)每次只能產(chǎn)生和累加一個部作數(shù)的個數(shù),所以使用這種結(jié)構(gòu)得到部分積法需要 n 個時鐘周期。不過由于實現(xiàn)起來簡,比較容易得到較高頻率。同時,該方法需的乘法需要 n 個加法器和 2n 個寄存器,所很多。但是如果乘法器是作為系統(tǒng)的一個部信號,那么乘法器的頻率就要受制于系統(tǒng)的這個優(yōu)點,,而高的時鐘頻率就沒法表現(xiàn)出來需要減少一次乘法所需要的周期數(shù)。最直接部分積產(chǎn)生電路和加法器,在一個時鐘周期把這些部分積串行的和以前周期累加的結(jié)果要更多的硬件資源,也會在一個周期內(nèi)產(chǎn)生積生成電路的個數(shù),使得乘法器的頻率和整不降低系統(tǒng)頻率的前提下,提高乘法器的性
2 譯碼得到的部分積可以很容易實現(xiàn)。同時,采用 Booth2 譯碼分積的個數(shù)大約為(N+1)/2,減少了近一半的部分積,這樣就法器的運算速度。而,這種譯碼方式也有一些不足之處。首先譯碼部分需要大量積的選擇邏輯也比較復(fù)雜。通過減少部分積的數(shù)量節(jié)約下來的勢也許會被產(chǎn)生部分積的電路帶來的延遲和面積所抵消,特別少的乘法器更是如此。所以,Booth2 算法適合對位數(shù)較寬的于基于 Booth2 譯碼的補碼形式的部分積產(chǎn)生陣列如圖2-4所示形式,為了保證最高位產(chǎn)生的部分積為正或負,就必須在每個添加一串 1 或 0(部分積前添位多少不一致,要使得各個部分),否則還需要求補運算進行修正。圖中可以得到以下結(jié)論:首先,符號擴展位增加了扇出,影響度,運算位數(shù)越大,這種影響越明顯;其次,完成符號擴展位加額外的加法電路,增加了電路的面積與功耗。這樣,就需要進一步處理,減少擴展位的位數(shù)。
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2009
【分類號】:TP368.1
本文編號:2650458
【圖文】:
個時鐘周期部分和與乘數(shù)向右移一位,與被與上一次得到的部分和相加。這種結(jié)構(gòu)中乘。由于這種結(jié)構(gòu)每次只能產(chǎn)生和累加一個部作數(shù)的個數(shù),所以使用這種結(jié)構(gòu)得到部分積法需要 n 個時鐘周期。不過由于實現(xiàn)起來簡,比較容易得到較高頻率。同時,該方法需的乘法需要 n 個加法器和 2n 個寄存器,所很多。但是如果乘法器是作為系統(tǒng)的一個部信號,那么乘法器的頻率就要受制于系統(tǒng)的這個優(yōu)點,,而高的時鐘頻率就沒法表現(xiàn)出來需要減少一次乘法所需要的周期數(shù)。最直接部分積產(chǎn)生電路和加法器,在一個時鐘周期把這些部分積串行的和以前周期累加的結(jié)果要更多的硬件資源,也會在一個周期內(nèi)產(chǎn)生積生成電路的個數(shù),使得乘法器的頻率和整不降低系統(tǒng)頻率的前提下,提高乘法器的性
2 譯碼得到的部分積可以很容易實現(xiàn)。同時,采用 Booth2 譯碼分積的個數(shù)大約為(N+1)/2,減少了近一半的部分積,這樣就法器的運算速度。而,這種譯碼方式也有一些不足之處。首先譯碼部分需要大量積的選擇邏輯也比較復(fù)雜。通過減少部分積的數(shù)量節(jié)約下來的勢也許會被產(chǎn)生部分積的電路帶來的延遲和面積所抵消,特別少的乘法器更是如此。所以,Booth2 算法適合對位數(shù)較寬的于基于 Booth2 譯碼的補碼形式的部分積產(chǎn)生陣列如圖2-4所示形式,為了保證最高位產(chǎn)生的部分積為正或負,就必須在每個添加一串 1 或 0(部分積前添位多少不一致,要使得各個部分),否則還需要求補運算進行修正。圖中可以得到以下結(jié)論:首先,符號擴展位增加了扇出,影響度,運算位數(shù)越大,這種影響越明顯;其次,完成符號擴展位加額外的加法電路,增加了電路的面積與功耗。這樣,就需要進一步處理,減少擴展位的位數(shù)。
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2009
【分類號】:TP368.1
【引證文獻】
相關(guān)期刊論文 前1條
1 管幸福;余寧梅;路偉;;一種wallace樹壓縮器硬件結(jié)構(gòu)的實現(xiàn)[J];計算機工程與應(yīng)用;2011年23期
本文編號:2650458
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2650458.html
最近更新
教材專著