專利名稱:一種應(yīng)用于gpu中的冪指數(shù)運(yùn)算裝置和運(yùn)算方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路領(lǐng)域,特別是涉及一種應(yīng)用于嵌入式系統(tǒng)中涉及圖形學(xué)中 Phong光照模型里的高光計(jì)算方法。
背景技術(shù):
Phong光照計(jì)算模型是一種能夠產(chǎn)生真實(shí)感很強(qiáng)的顏色計(jì)算方法,該計(jì)算模型與物理事實(shí)足夠接近,對(duì)各種光照條件和材質(zhì)屬性都能獲得很好的繪制效果,但是該算法計(jì)算量大,運(yùn)算復(fù)雜,特別是,其中的高光計(jì)算部分還應(yīng)用了冪指數(shù)運(yùn)算Cosx Θ,是Phong光照計(jì)算模型中最耗時(shí)的部分。隨著3D圖形應(yīng)用對(duì)圖像真實(shí)感的要求越來越高,Phong模型也越來越多得應(yīng)用到光照計(jì)算中。而對(duì)于嵌入式系統(tǒng),其處理器能力有限。將Phong光照模型應(yīng)用到嵌入式系統(tǒng)當(dāng)中,需要快速準(zhǔn)確的計(jì)算出COSxQ的結(jié)果,并且在集成電路設(shè)計(jì)時(shí)還要滿足嵌入式系統(tǒng)面積和功耗的要求。目前,計(jì)算冪指數(shù)的方法主要有查找表法和分段直線近似法。查找表(LookUp Table,LUT)將預(yù)先計(jì)算好的值存進(jìn)Ram中,然后根據(jù)輸入X在表中查找出最接近的結(jié)果。這種方法采樣點(diǎn)越多,結(jié)果的精度就越高,但是同時(shí)所需的存儲(chǔ)空間就越大。而且這種方法只能用于單輸入,對(duì)COSx Θ的查找需要三步。圖形硬件中的特殊功能單元(Special Function Unit,SFU)是一種基于查找表的方法,能夠計(jì)算除倒數(shù),倒數(shù)的平方根,以2為底的對(duì)數(shù),以 2為底的指數(shù)以及求小數(shù)部分五種功能。利用SFU查找出Cosx Θ的結(jié)果的步驟為I)根據(jù)輸入cos Θ在LUT中找出對(duì)應(yīng)的系數(shù)cO,cl, c2 ;2)計(jì)算 cO+clgcos Θ +c2gcos2 Θ ,得至Ij Iog2Cos Θ 的近似結(jié)果;3)計(jì)算 mul_result = xlog2cos θ ;4)根據(jù)輸入mul_result在LUT中查找出對(duì)應(yīng)的系數(shù)c3, c4, c5 ;5)計(jì)算 c3+c4gmul_result+c5gmul_result2,即得到 cosx Θ 的近似值。用SFU計(jì)算Cosx Θ所花費(fèi)的資源太多。需要用到兩塊LUT,七次乘法,四次加法, 計(jì)算所需的cycle數(shù)也比較長。并且精度越高,LUT就會(huì)越大。因此,這種方法不適合應(yīng)用于嵌入式系統(tǒng)中。分段直線近似法分別將區(qū)間
的log2(l+f)曲線和2f曲線用分段直線去近似。分的段數(shù)越多,結(jié)果就越精確,但同時(shí)硬件的開銷也會(huì)增大。目前主要有三段和8段兩種分段方法。三段(記做3u-3u)將區(qū)間
分為
、[1/4,3/4]、[3/4,I]三個(gè)區(qū)間;八段(記做8-8)將區(qū)間
按1/8的間隔平均分成8段。以上兩種分段直線近似的方法與查找表法相比,硬件的開銷會(huì)小一些,誤差會(huì)比查找表法大,把這種方法應(yīng)用到圖形算法中,生成圖形像素的RGB顏色值的誤差會(huì)比較大(最大為3)。但是,可以對(duì)分段方法做一些優(yōu)化,以提聞精度,減小誤差。有上述現(xiàn)有技術(shù)的分析可知,查找表法所占用的硬件資源比較多,計(jì)算也比較耗時(shí)。傳統(tǒng)的分段直線近似法雖然占用的硬件資源比較少,但是誤差比較大。
發(fā)明內(nèi)容
基于上述現(xiàn)有技術(shù),本發(fā)明提出一種應(yīng)用于GPU中的冪指數(shù)運(yùn)算裝置和運(yùn)算方法,基于分段直線近似的方法實(shí)現(xiàn)了 Phong模型中的高光計(jì)算中的冪指數(shù)運(yùn)算。本發(fā)明提出了一種應(yīng)用于GPU中的冪指數(shù)運(yùn)算方法,該方法包括以下步驟第一步,計(jì)算Iog2Cos Θ ,數(shù)學(xué)表達(dá)式為
權(quán)利要求
1.一種應(yīng)用于GPU中的冪指數(shù)運(yùn)算方法,其特征在于,該方法包括以下步驟第一步, 計(jì)算Iog2Cos Θ ,數(shù)學(xué)表達(dá)式為
2.—種應(yīng)用于GPU中的冪指數(shù)運(yùn)算裝置,其特征在于,該運(yùn)算裝置包括Iog2Cose運(yùn)算單元和運(yùn)算單元,所述l0g2C0S Θ運(yùn)算單元包括第一、第二多路選擇器,二進(jìn)制23位乘以16位的CSA乘法器和第一、第二加法器;第一多路器包括a。 a7共8路輸入,s [7:0]為選通信號(hào),且s[7:0]為八位2進(jìn)制數(shù),第二多路選擇器包括C。 C7共8路輸入,s[7:0]為選通信號(hào),且s[7:0]為八位2進(jìn)制數(shù);所述二進(jìn)制23位乘以16位的CSA乘法器用于實(shí)現(xiàn) Iog2Cos Θ運(yùn)算,數(shù)學(xué)表達(dá)式為
全文摘要
本發(fā)明涉及集成電路領(lǐng)域,特別是公開了一種應(yīng)用于GPU中的冪指數(shù)運(yùn)算硬件裝置和運(yùn)算方法第一步,計(jì)算log2cosθ第二步,計(jì)算xlog2cosθ;第三步,計(jì)算2mul_result;第四步,得到2mul_result之后,就可以用IEEE754單精度浮點(diǎn)數(shù)表示cosxθ的近似值。與現(xiàn)有技術(shù)相比,本發(fā)明能夠能夠在滿足嵌入式系統(tǒng)因?yàn)榭臻g大小和功耗而受限制的計(jì)算能力的同時(shí),快速而又比較準(zhǔn)確的圖形處理單元完成Phong模型中的高光計(jì)算,為集成電路的設(shè)計(jì)提供了具有更好的圖形處理能力的嵌入式系統(tǒng)設(shè)計(jì)。
文檔編號(hào)G06F7/552GK102609236SQ201210019688
公開日2012年7月25日 申請(qǐng)日期2012年1月21日 優(yōu)先權(quán)日2012年1月21日
發(fā)明者孫濟(jì)洲, 常軼松, 李炳超, 郭煒, 魏繼增 申請(qǐng)人:天津大學(xué)