《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 高速深流水線浮點加法單元的設計
高速深流水線浮點加法單元的設計
2015年微型機與應用第20期
張 明1,2,鄭莉平1,余寧梅1
1.西安理工大學 自動化與信息工程學院,陜西 西安 710048; 2.中國航天科技集團公司第九研究院第七七一研究所,陜西 西安 710119
摘要: 在X87執行環境下,采用基于Two-Path算法的并行深度流水線優化算法,設計了一種能夠實現符合IEEE-754標準的單精度、雙精度和擴展雙精度及整型數據且舍入模式可控的高速浮點加法器。采用并行深度流水設計,經驗證,功能滿足設計要求,使用TSMC 65 nm工藝庫進行綜合,其工作頻率可達900 MHz。
Abstract:
Key words :

  摘  要: 在X87執行環境下,采用基于Two-Path算法的并行深度流水線優化算法,設計了一種能夠實現符合IEEE-754標準的單精度、雙精度和擴展雙精度及整型數據且舍入模式可控的高速浮點加法器。采用并行深度流水設計,經驗證,功能滿足設計要求,使用TSMC 65 nm工藝庫進行綜合,其工作頻率可達900 MHz。

  關鍵詞: 浮點加法器;IEEE-754;Two-Path算法;并行流水線

0 引言

  浮點運算單元(FPU)是微處理器(CPU)的重要組成部分,是進行大規模數據運算處理的關鍵技術[1]。在通用處理器中,浮點加法指令、浮點減法指令及浮點反轉減法指令最終都是使用浮點加法單元來實現的[2]。浮點加法運算過程是由指數差計算、尾數對階移位、有效數相加、前導零計算、規格化操作、例外處理等單獨操作組成。通過提高各個操作步驟的并行化,減少運算過程的關鍵路徑,可以提高浮點加法運算單元的性能[3]。根據設計要求,對浮點加法單元的結構進行并行優化,采用基于Two-Path算法的深度流水設計,在X87執行環境下進行仿真驗證,兼容X87指令集中的浮點加法指令,包括對控制狀態寄存器、狀態寄存器和標記寄存器的處理過程。

1 數據格式

  本設計兼容IEEE-754浮點標準,IEEE-754標準浮點數據具體格式[4]如表1所示。

Image 007.png

  實數Y=(-1)S×F×2E-Bias,其中:S(sign)為符號位,F(significand)是有效數字位,E(exponent)為指數位,Bias為偏移值[5]。目前主流計算機系統中運算數據的表現形式均是通過上述表達式轉換而來的。

2 浮點加法單元的算法

  2.1 浮點加法單元Two-Path算法

  由于傳統浮點加法算法每個步驟之間都是串行執行的,限制了FPU的執行效率,FARMWARL M P提出的Two-Path算法[6]主要在以下方面進行了改進:

  (1)通過判斷指數差的符號,對操作數進行交換,使其總是較大的操作數在前。除指數相等的情況外,數據轉換這一步驟可以省略。在指數相等的情況下,則不需要進行對階移位,有效減法的運算結果是一個精確值,不必進行舍入操作。數據轉換步驟中的加法與舍入步驟中的加法互斥,可以將傳統算法中三個全長加法延時減少一個。

  (2)在有效數加法的運算過程中,指數差絕對值△E≦1的情況下,運算結果一般不會出現多位數據有多個零的情況,故不需要對結果進行全長的規格化移位操作。當指數差絕對值△E>1時,有效數的加法過程只需一個全長的對階移位器。對于有效數減法,可以分兩種情況:①如果指數差絕對值△E≦1,只需要一個全長的規格化移位。這種情況下,一位的對階移位和尾數交換條件能夠通過指數差絕對值的最低位和指數比較與尾數比較的結果來進行預測。②指數差絕對值△E>1,則需要一個全長的對階移位器,但卻不需要超過一位的規格化移位。因此,全長的規格化移位與全長的對階移位是互斥的,并且在關鍵路徑上兩種移位器只會出現一個。上述情況可以表示為:當△E≦1且是有效減法運算時為近端(CLOSE)路徑;當△E>1時為遠端(FAR)路徑。

  (3)在近端CLOSE路徑中,將有效數相加和前導零計算并行處理,采用前導零預測直接從兩個源操作數中預測出有效加法運算后結果中前導一的位置,得到規格化移位量[7]。

  2.2 Two-Path并行深度流水優化算法

  為進一步提高浮點加法運算單元的性能,引入了合并舍入的Two-Path算法。由于舍入計算的實現一般要等到運算結果產生后根據舍入模式才可以執行,并且只是對結果進行小數量的修改。合并舍入的Two-Path算法需要通路上每一個有效數的加法器同時計算出有效數相加結果(sum)和有效數相加結果加一(sum+1)兩個運算結果。為此,浮點運算單元的主加法器采用混合加法器來同時計算sum和sum+1兩個結果,混合加法器是一個專用加法器,通過共用內部硬件單元的方法以減少運算規模。在得到了可能的運算結果之后,通過分析浮點運算結果的末尾的多位有效數據包括最低位(LSB)、警戒位(guard bit)、舍入位(round bit)和粘貼位(sticky bit),最終選擇需要的結果。由于舍入方式的不同,還需要產生一個有效數相加結果加2(sum+2)的運算結果,并且需要一個舍入矯正操作。在旁路通道上,需要在執行主通路時同時處理符號位的結果以及特殊數據的運算過程,保證整個設計的并行化。

  本文基于合并舍入的Two-Path算法提出了一種高速深流水線浮點加法單元設計,共6級流水線。第1級完成分離操作場(符號場、指數場、尾數場),指數差的計算以及尾數大小的比較;第2級實現尾數交換、有效加減法的判斷、結果符號預判、通路選擇等操作;第3級完成尾數對階移位,其中FAR通路是全長對階移位,CLOSE通路是最多一位的移位;第4級進行有效數相加和前導零預測;第5級完成舍入選擇和指數尾數規格化;第6級完成最終結果的選擇、特殊數據處理、對例外的標記。其算法結構如圖1所示,通過Verilog HDL硬件描述語言對算法進行實現。

Image 001.png

3 浮點加法單元的實現與驗證

  3.1 指數差計算

  該模塊通過分別計算|expa-expb|和|expb-expa|,其中expa為操作數0的指數,expb為操作數1指數。通過16 bit超前進位加法器,分別得出操作數0指數減操作數1的結果(exp_ab)及進位(cout_ab)和操作數1指數減操作數0的結果(exp_ba)及進位(cout_ba),從而得到兩個源操作數的指數大小關系:不等于(exp_diff_sign)和等于(exp_diff_zero),以及指數差的絕對值(exp_diff),如圖2所示。

Image 002.png

  3.2 移位器

  設計中共有兩個全長移位器,其中一個移位器為 67 bit數據尾數對階移位器,用來對較小的尾數進行邏輯右移。通過指數差判斷移位量,從而得到較小尾數對階移位后的結果。另一個移位器為65 bit數據規格化移位器,用來對CLOSE通路有效數相加計算后的結果進行規格化左移位。通過前導零預測得出移位量,然后對運算結果進行移位,完成規格化操作。

  3.3 加法器設計

  加法器是浮點加法單元最主要的模塊電路。本設計在不同階段的操作過程中運用了多種加法器。實現16 bit超前進位加法器,需要使用4個超前進位加法器模塊(CLA)進行級聯[8]。CLOSE通路指數規格化同樣采用的是16 bit超前進位加法器,如圖3所示。

Image 003.png

  有效數相加模塊采用64 bit的混合加法器,即采取4個16 bit混合加法器并行計算,每個16 bit的混合加法器計算出16 bit的計算結果(out0_0、out1_0、out2_0、out3_0)及其進位(cout0_0、cout1_0、cout2_0、cout3_0)和計算結果加一(out0_1、out1_1、out2_1、out3_1)及其進位(cout0_1、cout1_1、cout2_1、cout3_1),再通過每一級的進位來選擇最終結果(sum_0)及其進位(cout_0)和最終結果加一(sum_1)及其進位(cout_1),如圖4所示。

Image 004.png

  3.4 前導零計算

  前導零預測邏輯電路是提高浮點加法器性能的關鍵。前導零計算一般有兩種方式:前導零檢測和前導零預測[9]。前導零檢測處理的是浮點加法運算中有效數相加的結果,而預測處理的是需要進行浮點加法運算中有效數相加的兩個有效數,即前導零預測不需要等待浮點數加法運算有效數相加的計算結果就可以得到前導零的個數。兩者均可以完成有效數相加后結果的前導零的計算,但前導零預測可以與有效數相加運算并行進行,很大程度地提高浮點加法運算的性能,圖5為前導零檢測電路結構與前導預測電路結構框圖。

Image 005.png

  3.5 浮點加法運算單元的驗證

  本設計功能驗證采用VMM測試方法學,通過System verilog系統硬件描述語言搭建對比測試平臺,產生定向測試激勵和受約束隨機測試激勵[10],對本設計的運算結果與C模型運算結果進行比對,比對結果一致,覆蓋率達到100%,功能上滿足設計要求。圖6為完成一次FADD指令的結果波形圖。

Image 006.png

4 結論

  本文從浮點加法單元的算法結構入手,提出了高速深流水線浮點加法單元設計。使用TSMC 65 nm工藝庫進行綜合,其工作頻率可達900 MHz,兼容X87指令集,可用于高通量CISC微處理器中。

參考文獻

  [1] 張予器.超高精度浮點運算的關鍵技術研究[D].長沙:國防科學技術大學,2005.

  [2] 陳弦,張偉功,于倫正.并行浮點加法器架構與核心算法的研究[J].計算機工程與應用,2006,17(3):53-55.

  [3] 夏杰,宣志斌,薛忠杰.基于流水線結構的浮點加法器IP核設計[J].微計算機信息,2008,24(9):192-193.

  [4] 朱亞超.基于IEEE 754的浮點數存儲格式分析研究[J].計算機與信息技術,2006(9):50-52.

  [5] Intel Corporation. Intel 64 and IA-32 Architectures Software Developer′s Manual[Z]. U.S: Intel Corporation,2011.

  [6] 王穎,林正浩.快速浮點加法器的優化設計[J].電子工程師,2004,30(11):24-26.

  [7] 靳戰鵬.高速浮點加法運算單元的研究與實現[D].西安:西北工業大學,2006.

  [8] 夏有為,林正浩,楊曉峰.一款32位嵌入式CPU的定點加法器設計[J].電子技術應用,2005,31(10):76-78.

  [9] 李星,胡春媚,李勇,等.前導1預測算法的設計與實現[J].計算機科學.2013,40(4):31-35.

  [10] [美]克里斯·斯皮爾.SystemVerilog驗證測試平臺編寫指南[M].張春,趙益新,麥宋平,譯.北京:科學出版社,2009.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一精品在线| 日韩一级精品| 亚洲高清免费在线| 国产在线成人| 国产精品视频久久一区| 欧美日本亚洲视频| 欧美成人免费小视频| 久久久欧美一区二区| 欧美一区二区三区在线免费观看| 亚洲视频综合在线| 日韩一级免费| 夜夜躁日日躁狠狠久久88av| 亚洲精品美女久久7777777| 久久精品亚洲一区| 久久黄色网页| 欧美一区免费视频| 午夜日韩激情| 欧美在线观看一区| 久久精品国产亚洲一区二区三区| 性久久久久久久| 午夜精品福利在线| 午夜精品福利一区二区三区av| 亚洲在线视频网站| 亚洲自拍16p| 亚洲欧美第一页| 亚洲欧美日韩精品在线| 亚洲在线网站| 午夜亚洲福利| 欧美中文字幕精品| 亚洲电影一级黄| 最近看过的日韩成人| 亚洲人成网站777色婷婷| 亚洲经典三级| aa级大片欧美三级| 亚洲影音一区| 欧美中在线观看| 久久裸体艺术| 欧美国产日本韩| 欧美日韩精品免费观看视频| 欧美视频四区| 国产麻豆9l精品三级站| 国产亚洲成av人在线观看导航| 国产一区二区三区久久 | 亚洲综合电影| 久久av老司机精品网站导航| 亚洲高清在线| 亚洲免费精彩视频| 亚洲一级一区| 久久久www成人免费无遮挡大片| 噜噜噜噜噜久久久久久91| 欧美二区不卡| 国产精品国产三级国产aⅴ无密码| 国产精品五区| 精品91视频| 99精品国产在热久久下载| 亚洲欧美日韩成人高清在线一区| 久久精品一二三| 一本色道精品久久一区二区三区| 亚洲一区三区在线观看| 久久国产精品72免费观看| 免费的成人av| 国产精品久久久免费| 韩国三级电影一区二区| 亚洲精品日韩激情在线电影| 亚洲欧美www| 亚洲伦理在线免费看| 午夜精彩视频在线观看不卡| 久久一区二区三区四区| 欧美日韩精品二区第二页| 国产婷婷色一区二区三区| 亚洲福利视频在线| 亚洲综合日韩在线| 亚洲精品乱码久久久久久黑人| 亚洲欧美制服另类日韩| 久久亚洲综合色| 国产精品国产三级国产专播品爱网 | 亚洲国产美女精品久久久久∴| 亚洲图片自拍偷拍| 久久久久久久一区二区三区| 欧美日本乱大交xxxxx| 国产一区二区三区四区三区四| 亚洲日本在线视频观看| 欧美一级播放| 亚洲视频一区二区免费在线观看| 久久野战av| 国产精品久久久久久av下载红粉 | 亚洲免费av电影| 久久av一区二区三区| 亚洲伊人色欲综合网| 免费日韩av片| 国产一二三精品| 亚洲一区二区三区精品视频| 亚洲精品免费观看| 久久久国际精品| 国产精品美女在线| 亚洲精品少妇| 亚洲激情第一区| 久久久噜噜噜久久中文字幕色伊伊| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产精品va在线看黑人动漫| 午夜精品理论片| 亚洲一品av免费观看| 欧美激情视频网站| 影音先锋另类| 一区二区毛片| 日韩亚洲不卡在线| 欧美超级免费视 在线| 国产主播精品在线| 亚洲欧美日韩精品久久| 亚洲自拍啪啪| 欧美日韩一级片在线观看| 亚洲国产日韩综合一区| 久久精品欧洲| 久久久久久九九九九| 国产精品综合色区在线观看| 一二美女精品欧洲| 在线视频日韩精品| 欧美久久精品午夜青青大伊人| 亚洲国产成人精品女人久久久| 久久精品国产精品亚洲| 久久精品夜色噜噜亚洲a∨| 国产精品一区免费观看| 亚洲永久免费精品| 香蕉视频成人在线观看| 国产精品国产三级国产aⅴ入口| 一本大道久久a久久精品综合| 日韩午夜在线播放| 欧美剧在线观看| 亚洲三级影院| 99精品久久久| 欧美日一区二区三区在线观看国产免| 亚洲精品你懂的| 一区二区三区欧美日韩| 欧美日韩日日夜夜| 宅男噜噜噜66一区二区| 亚洲欧美变态国产另类| 国产精品国产精品国产专区不蜜| 亚洲网站视频| 久久er99精品| 激情六月综合| 亚洲精品日韩久久| 欧美精品久久久久久| 亚洲精品欧美日韩专区| 亚洲一区www| 国产精品一区二区三区久久久 | 欧美一区二区三区精品 | 久久亚洲欧美国产精品乐播| 激情成人亚洲| 亚洲欧洲综合另类| 欧美久久影院| 中文亚洲欧美| 久久黄色级2电影| 在线观看91精品国产入口| 亚洲精品乱码| 欧美午夜激情小视频| 亚洲午夜激情网站| 久久九九国产| 亚洲国产精品传媒在线观看| 99视频国产精品免费观看| 欧美午夜在线一二页| 午夜影院日韩| 欧美1区3d| 日韩视频免费| 久久国产色av| 亚洲国产精品一区二区尤物区| 一区二区三区免费网站| 国产精品一区视频网站| 亚洲电影在线| 欧美日韩精品在线播放| 亚洲女女女同性video| 美女91精品| 一区二区三区国产在线| 久久精品亚洲一区二区| 亚洲精品国精品久久99热| 欧美一级专区免费大片| 在线观看三级视频欧美| 亚洲一区在线播放| 狠狠爱综合网| 亚洲无人区一区| 国产一区二区三区成人欧美日韩在线观看 | 精品99视频| 中文亚洲欧美| 国内精品久久久久久久果冻传媒| 亚洲免费观看在线观看| 国产日韩视频一区二区三区| 亚洲精品视频在线观看免费| 国产精品另类一区| 最新69国产成人精品视频免费| 国产精品电影网站| 亚洲国产高清一区二区三区| 国产精品国产三级国产aⅴ9色| 亚洲国产美国国产综合一区二区| 国产精品成人午夜| 亚洲国产va精品久久久不卡综合| 欧美午夜a级限制福利片| 亚洲电影免费观看高清完整版| 国产精品海角社区在线观看| 亚洲激情在线播放| 国产一区 二区 三区一级| 中国成人黄色视屏|