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