• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種單精度浮點對數(shù)運算的硬件實現(xiàn)

      2017-03-24 13:07:50焦永
      電腦知識與技術 2017年1期
      關鍵詞:對數(shù)

      焦永

      摘要:超越函數(shù)計算在高性能微處理器、DSP以及GPU的設計中均會涉及,對數(shù)是其中比較重要的一種運算。目前的做法一般是采用多項式展開或者查表法:采用多項式展開法達到要求的精度,需要計算的乘法和加法非常多;若采用直接查表法,所需要的ROM資源將非常多。該文提出了一種高效的單精度浮點對數(shù)運算的實現(xiàn)方法,采用展開式和查表相結合的方法,可以實現(xiàn)對任意底數(shù)的對數(shù)運算,同時在運算器數(shù)量和ROM資源數(shù)量間達到平衡。

      關鍵詞:單精度浮點;對數(shù);查表

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)01-0235-02

      Abstract: Transcendental function computing is used in high-performance microprocessors, DSP and GPU, the logarithm is one of the important operations. Most implementation is generally used polynomial expansion or look-up table method: achieving high precision accuracy needs a lot of multiplication and addition operations while using polynomial expansion method; the ROM resources will be very much while using direct look-up table method. This paper presents an efficient single-precision floating-point logarithm algorithm, using the polynomial expansion and look-up table combination, which can achieve any base of the logarithm, while the resources of ALU and ROM are balanced.

      Key words: single precision floating-point; logarithm; lookup

      1 概述

      單精度對數(shù)運算在高性能微處理器、DSP和GPU中經(jīng)常使用到。硬件實現(xiàn)對數(shù)運算的方法一般是多項式展開法或者查表法,多項式展開法需要使用的運算器(浮點乘法、加法)數(shù)量非常多;查表法需要使用的ROM資源非常多,本文采用一種多項式展開和查表相結合的算法,實現(xiàn)了對任意底數(shù)的對數(shù)運算,同時在運算器數(shù)量和ROM資源數(shù)量間達到平衡。

      2 IEEE 754單精度浮點數(shù)據(jù)格式

      IEEE754標準[1]定義了單精度32位和雙精度64位浮點數(shù)的格式。32位IEEE754單精度標準值中,第一位是符號位,其后8位用來存放指數(shù),最后23位用來存放小數(shù)尾數(shù),如圖1所示。

      在IEEE754單精度浮點標準中,最高位為符號位(0為正,1為負),階碼共8位,階碼=階碼的真值+7fH,尾數(shù)共23位,進行了歸一化,以產(chǎn)生一個1.f格式的數(shù),f是小數(shù)部分,占用分配的23位。因為規(guī)格化的數(shù)最左一位總是1,所以不需要存儲該位,在該格式中它是隱式的。

      3 單精度浮點對數(shù)運算算法

      設,其中x為單精度浮點數(shù)且x>0,n>0且n≠1,求y。

      根據(jù)對數(shù)的運算性質(zhì)可以將y寫成,n為外部輸入的值,可以將輸入常數(shù)n變?yōu)檩斎氤?shù),那么問題就轉變?yōu)橛嬎?,的計算采用多項式展開和查表相結合的算法。

      對于單精度浮點數(shù)(其中),那么:

      E為x的指數(shù)部分,容易提取,ln2為常數(shù),所以問題變?yōu)橛嬎恪?/p>

      根據(jù)泰勒展開公式[2]:設n是一個正整數(shù),如果定義在一個包含a的區(qū)間上的函數(shù)f在a點處n+1次可導,那么對于這個區(qū)間上的任意x都有,其中的多項式稱為函數(shù)在a處的泰勒展開式,是泰勒公式的余項且是的高階無窮小。

      若要使結果保證單精度浮點數(shù)的精度,即24位小數(shù),那么需滿足,不妨設,其中,,此時可保證(此處未考慮浮點乘法和加法的精度損失,實際結果的誤差可能會超過),所以原計算可以轉換成計算,下面的問題是計算和。

      首先計算,由于a只有8位小數(shù)(二進制),擬采用查表法,預先計算好1.00000000~1.11111111的自然對數(shù)值(單精度浮點數(shù)),將其存儲在32×256的ROM中。

      再計算,同樣采用查表法,預先計算好1.00000000~1.11111111的倒數(shù)值(單精度浮點數(shù)),將其存儲在32×256的ROM中,其余的就是浮點加法和乘法運算。

      4 硬件實現(xiàn)

      根據(jù)前面對算法的描述,將該算法的硬件實現(xiàn)結構如圖2所示。

      根據(jù)硬件實現(xiàn)結構,計算浮點對數(shù)運算的模塊需要的邏輯資源為:3個單精度浮點加法、3個單精度浮點乘法、2個256×32(bit)=1KB的ROM。

      將該算法用Verilog語言描述,在(1,2)區(qū)間生成一些隨機測試激勵(為便于比較,將輸入和輸出的單精度浮點數(shù)轉化成十進制小數(shù)[3])在Modelsim[4]環(huán)境下進行仿真,仿真波形如圖3所示,其中輸入數(shù)據(jù)、實際結果、運行結果和誤差見表1所示(以2為底數(shù))。

      單精度浮點數(shù)的精度為2-23=1.19×10-7,由仿真結果可以看出,在硬件實現(xiàn)的計算結果與真實結果相比,誤差都不會超過1×2-23,能夠滿足單精度浮點數(shù)的精度要求。

      5 結論

      本文針對高性能微處理器、DSP、GPU設計中用到的單精度浮點對數(shù)運算的實現(xiàn),提出一種基于多項式展開和查表法相結合的硬件實現(xiàn)算法,該算法可以實現(xiàn)任意底數(shù)的對數(shù)運算,將該算法使用Verilog語言描述,并進行仿真,在運算精度、硬件資源消耗方面均達到較理想的效果。

      參考文獻:

      [1]the Institute of Electrical and Electronics Engineers, EEE Standard for Binary Floating-Point Arithmetic [S], July 26, 1985

      [2] 同濟大學數(shù)學系.高等數(shù)學[M].6版.北京:高等教育出版社,2007.

      [3] https://www.h-schmidt.net/FloatApplet/IEEE754.html [OL]

      [4] https://www.mentor.com/company/higher_ed/modelsim-student-edition [OL]

      猜你喜歡
      對數(shù)
      例說換底公式的應用
      含有對數(shù)非線性項Kirchhoff方程多解的存在性
      一類帶對數(shù)非線性項的拋物方程解的存在性和爆破
      指數(shù)與對數(shù)
      指數(shù)與對數(shù)
      比較底數(shù)不同的兩個對數(shù)式大小的方法
      對數(shù)簡史
      與對數(shù)運算“過過招”
      神奇的對數(shù)換底公式
      基于對數(shù)正態(tài)分布的出行時長可靠性計算
      大英县| 武冈市| 错那县| 遂平县| 富川| 西昌市| 黑龙江省| 武清区| 酒泉市| 额济纳旗| 东方市| 应用必备| 莆田市| 黄平县| 墨玉县| 晋江市| 浦北县| 施甸县| 石河子市| 高碑店市| 睢宁县| 呼玛县| 宁海县| 商水县| 东莞市| 万盛区| 彭州市| 道孚县| 开化县| 浦东新区| 辽中县| 左云县| 山东| 伽师县| 托克托县| 大同县| 巴林左旗| 尤溪县| 建始县| 张北县| 都江堰市|