<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > FPU加法器的設計與實(shí)現

FPU加法器的設計與實(shí)現

作者: 時(shí)間:2012-08-29 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:浮點(diǎn)運算器的核心運算部件是浮點(diǎn),它是實(shí)現浮點(diǎn)指令各種運算的基礎,其設計優(yōu)化對于提高浮點(diǎn)運算的速度和精度相當關(guān)鍵。文章從浮點(diǎn)算法和電路實(shí)現的角度給出設計方法,通過(guò)VHDL語(yǔ)言在OuartusII中進(jìn)行設計和驗證,此通過(guò)狀態(tài)機控制運算,有效地降低了功耗,提高了速度,改善了性能。
關(guān)鍵詞:浮點(diǎn)運算;加法器;設計;VHDL;狀態(tài)機

在一般的處理器中,浮點(diǎn)加法、減法、轉換和傳送最終都是可以轉換為采用浮點(diǎn)加法器實(shí)現,所以浮點(diǎn)加法器的使用頻率高達55%,是使用頻率最高的浮點(diǎn)運算模塊。浮點(diǎn)加法的兩個(gè)特點(diǎn),一是它復雜,二是它被使用的頻率在所有操作里面是最高的,所以它是現代微處理器和數字信號處理器中非常關(guān)鍵的部分。因此.浮點(diǎn)加法器的設計對的整體性能十分重要。

1 運算方法
最基本的浮點(diǎn)加法算法需要相對最多的串行運算操作,它需要完成兩個(gè)浮點(diǎn)操作數的求和運算,包括尾數部分的求和以及相應修改結果的指數值,而且最終結果必須是符合正IEEE754標準的規格化浮點(diǎn)數。
根據IEEE754浮點(diǎn)數表示方法與運算規則,其表示如公式(1)所示:
a.JPG
公式中:s為尾數的符號;t為指數的符號;e為尾數;f為指數。存儲格式如圖1所示。

本文引用地址:http://dyxdggzs.com/article/193319.htm

b.JPG


為方便浮點(diǎn)數的乘除法運算,文中將e=1.n的表示方法改為e=1n,這樣不斷減少了進(jìn)行乘除運算后的額外移位操作而且不增加加減法運算的運算量。
一般情況下,在浮點(diǎn)運算中為了提高數據表示的精度,通常需要將一段離散數據在實(shí)數軸上集中表示,這就需要對浮點(diǎn)數的表示方法進(jìn)行限制,因此在浮點(diǎn)數中尾數的位數應大于指數的值,這樣表示的優(yōu)點(diǎn)是其數據精度相對較高。
本浮點(diǎn)加法模塊,將采用突破浮點(diǎn)數表示方法的上述限制,使指數的值可以遠遠大于尾數的位數,這樣數據的表達范圍增大,實(shí)數軸上較寬的一段離散數據就可表達。然而這種做法的缺點(diǎn)是,一方面當數據表示寬度增大后,其精度就會(huì )降低,原因是表示的匯聚點(diǎn)距離拉大;另外一種情況是會(huì )出現數據移空現象,例如當一個(gè)操作數很大,而另一個(gè)操作數很小時(shí),如果要進(jìn)行減法運算,會(huì )出現在對階移位的過(guò)程中將一個(gè)操作數移成了空數據,其值將會(huì )變成零。因此當兩個(gè)操作數進(jìn)行加法運算時(shí),假如它們之間的差距很大,就可以不進(jìn)行運算,直接將較大的操作數直接輸出作為運算結果,就可將無(wú)謂操作避免,從而節省運行時(shí)間。
對于浮點(diǎn)數加法運算來(lái)說(shuō),它要求參與運算的兩個(gè)操作數有一個(gè)共同的特點(diǎn),那就是指數相同。只有當兩個(gè)操作數的指數相同時(shí)才能夠進(jìn)行加法運算。浮點(diǎn)數加法如公式(2)所示:
c.JPG
簽于浮點(diǎn)加法運算的特殊要求,兩個(gè)浮點(diǎn)操作數存進(jìn)行運算時(shí)需要通過(guò)以下幾個(gè)步驟完成。第1步進(jìn)行0操作數的檢查,如果判定兩個(gè)操作數中任意一個(gè)操作數為零,則沒(méi)有必要進(jìn)行后續一系列的操作,直接輸出結果,從而節省運算時(shí)間;第2步,看它們的階碼是否相同,也就是小數點(diǎn)是否對齊,若相同則表示對齊,否則就必須通過(guò)對階使小數點(diǎn)對齊,即階碼相同。第3步,對階結束后,進(jìn)行尾數求和,方法和定點(diǎn)加法運算相同。第4步,對結果進(jìn)行規格化。第5步,進(jìn)行必要的舍入處理。另外在進(jìn)行加法器設計時(shí),將和減法一起進(jìn)行考慮,采用補碼運算,這樣將來(lái)的操作就可以直接調用加法核去完成。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPU 加法器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>