999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TMS320C64x系列 DSP的軟件優(yōu)化技術(shù)

2014-09-18 07:12:08徐書(shū)文
電視技術(shù) 2014年13期
關(guān)鍵詞:流水指令優(yōu)化

葛 珊,徐書(shū)文

(中國(guó)電子科技集團(tuán)公司第三研究所,北京 100015)

數(shù)字信號(hào)處理器(DSP)的應(yīng)用起始于20世紀(jì)80年代,主要應(yīng)用于無(wú)線通信、一維信號(hào)處理(FFT運(yùn)算)、二維信號(hào)處理(圖像處理)等數(shù)據(jù)運(yùn)算量大的系統(tǒng)設(shè)備中。主頻從10 MHz發(fā)展到目前1 GHz以上,片內(nèi)RAM容量從幾百字節(jié),發(fā)展到上百兆字節(jié),外設(shè)功能也從簡(jiǎn)單的數(shù)據(jù)讀取擴(kuò)展到控制、通信于一體的數(shù)字信號(hào)處理器。C6000系列產(chǎn)品是TI公司繼C5000系列產(chǎn)品之后推出的速度更高、功能更強(qiáng)大的產(chǎn)品。基于其特殊的硬件、軟件結(jié)構(gòu),已被廣泛應(yīng)用于雷達(dá)信號(hào)處理、圖像處理、工業(yè)控制、航空航天等領(lǐng)域。

TMS320C64x系列DSP芯片是TI公司C6000系列產(chǎn)品中的一種,該系列芯片為定點(diǎn)DSP芯片,主頻為600 MHz~1 GHz,但其外設(shè)工作頻率最高為133 MHz,通過(guò)研究發(fā)現(xiàn),必須在外設(shè)數(shù)據(jù)采集及軟件編程設(shè)計(jì)方面進(jìn)行優(yōu)化設(shè)計(jì),才能大幅度提高算法的運(yùn)算速度,發(fā)揮芯片主頻提高的真正潛能。該芯片具有很高的操作靈活性和速度,同時(shí)如何充分利用它的硬件結(jié)構(gòu)及資源,發(fā)揮它的高速處理能力,是軟件設(shè)計(jì)人員首要考慮的問(wèn)題。軟件優(yōu)化技術(shù)對(duì)實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā)具有重要意義[1-4]。

1 優(yōu)化設(shè)計(jì)

1.1 開(kāi)發(fā)系統(tǒng)配置

CCS 2.0(C6000)是TI推出的專門(mén)開(kāi)發(fā)C6000系列DSP的集成開(kāi)發(fā)環(huán)境。CCS集成了工程管理工具、代碼編輯器、代碼產(chǎn)生工具、代碼調(diào)試工具等。編譯器的設(shè)置,是軟件優(yōu)化的先決條件,在程序代碼編譯前,需要在工程文件的Build Options控制編譯器選項(xiàng)中選擇-o2/-o3選項(xiàng),這樣可以使編譯器最大限度地進(jìn)行分析和優(yōu)化。

1.2 C代碼的優(yōu)化方法

為了使C代碼獲得最好的性能,編寫(xiě)時(shí)應(yīng)遵循下述規(guī)則:

1)對(duì)于定點(diǎn)乘法輸入應(yīng)盡可能使用short型數(shù)據(jù),該數(shù)據(jù)類型可以有效利用C64x的16位乘法器;

2)對(duì)循環(huán)計(jì)數(shù)器使用int或unsigned int類型,避免不必要的符號(hào)擴(kuò)展指令;

3)使用restrict關(guān)鍵字限定一個(gè)指針、引用或數(shù)組;

4)使用內(nèi)聯(lián)函數(shù)可以快速優(yōu)化C代碼,其使用方法與調(diào)用函數(shù)一樣。

1.3 線性匯編代碼優(yōu)化方法

編寫(xiě)高效的匯編代碼應(yīng)遵循下述規(guī)則:

1)使用并行的匯編代碼,充分利用某些指令的延時(shí)間隙,執(zhí)行代碼;

2)使用打包數(shù)據(jù)處理,充分利用C64x寬的存儲(chǔ)空間通路,用字或者雙字的讀取和存儲(chǔ)操作數(shù)來(lái)進(jìn)行字或者半字?jǐn)?shù)據(jù)訪問(wèn);

3)合并多操作為單個(gè)操作指令,C64x提供了許多能將一些一般操作結(jié)合在一起的指令,這些指令能減少代碼中的指令數(shù),減少代碼長(zhǎng)度,利于簡(jiǎn)化編程。

1.4 交叉匯編代碼使用

由于C語(yǔ)言靈活性強(qiáng)、便于閱讀,在編寫(xiě)程序代碼時(shí),可以用C語(yǔ)言編寫(xiě)代碼的主體框架,將代碼中耗時(shí)最長(zhǎng)的部分抽取出來(lái),用并行匯編代碼編寫(xiě),這樣可以大幅提高代碼的執(zhí)行速度。

1.5 軟件流水方法

軟件流水就是編排循環(huán)指令,使循環(huán)的多次迭代能夠并行執(zhí)行。軟件流水應(yīng)從4個(gè)方面進(jìn)行考慮,分別是循環(huán)次數(shù)、冗余循環(huán)、循環(huán)展開(kāi)和推測(cè)執(zhí)行。

1)循環(huán)計(jì)數(shù)

最有效的軟件流水的循環(huán)是按遞減計(jì)數(shù)形式對(duì)循環(huán)進(jìn)行計(jì)數(shù)。可以選擇編譯器的-o2或-o3選項(xiàng)優(yōu)化循環(huán)。

2)消除冗余循環(huán)

冗余循環(huán)的存在使代碼尺寸增加,也對(duì)代碼性能有影響。因此,運(yùn)用編譯器的-mh或-mhn選項(xiàng)可以減少冗余循環(huán),提高編譯器完成優(yōu)化的能力。

3)循環(huán)展開(kāi)

當(dāng)單次迭代操作沒(méi)有充分利用C64x結(jié)構(gòu)的所有資源時(shí),可使用循環(huán)展開(kāi)提高性能。有3種循環(huán)展開(kāi)的方法:(1)編譯器自動(dòng)執(zhí)行循環(huán)展開(kāi);(2)在程序中使用UNROLL偽指令建議編譯器做循環(huán)展開(kāi);(3)用戶自己在代碼中展開(kāi)。

4)推測(cè)執(zhí)行

運(yùn)用編譯器的-mh選項(xiàng)有助于編譯器消除軟件流水的填充和排空,間接地減輕寄存器壓力,可以獲得更簡(jiǎn)潔的代碼和更佳的性能。

2 優(yōu)化設(shè)計(jì)中注意的問(wèn)題及解決方法

2.1 軟件流水限制條件

在以下3種情況中,不能進(jìn)行軟件流水:

1)如果一個(gè)寄存器值存在的時(shí)間過(guò)長(zhǎng),這個(gè)代碼不能進(jìn)行軟件流水;

2)如果循環(huán)體內(nèi)有復(fù)雜的條件代碼,對(duì)于C64x超過(guò)6個(gè)條件寄存器時(shí),這個(gè)循環(huán)不可以進(jìn)行軟流水;

3)一個(gè)有條件增大的循環(huán)控制變量的循環(huán)不能進(jìn)行軟件流水。

2.2 避免交叉通路阻塞

避免交叉通路阻塞的方法有2種:

1)通過(guò)安排指令,當(dāng)操作數(shù)被更新至少一個(gè)周期以后再進(jìn)行交叉通路操作數(shù)讀取操作,交叉通路阻塞可以避免;

2)適當(dāng)?shù)木幣牛珻64x能夠在每個(gè)時(shí)鐘周期、每個(gè)數(shù)據(jù)交叉通路進(jìn)行一次源操作數(shù)讀取操作,可以避免交叉通路阻塞。

3 仿真驗(yàn)證

以計(jì)算兩個(gè)16×16像素圖像的灰度絕對(duì)差為例,分析程序優(yōu)化前后的運(yùn)算耗時(shí)情況。兩個(gè)16×16像素圖像的灰度絕對(duì)差公式為

式中:R(u,v),S(u,v)分別表示16×16像素的圖像矩陣,每個(gè)像素為8 bit數(shù)據(jù)。優(yōu)化前,每次加載一個(gè)8 bit數(shù)據(jù)處理,測(cè)試代碼運(yùn)行時(shí)間后,發(fā)現(xiàn)速度提高不明顯,因此,需要對(duì)代碼進(jìn)行改進(jìn)。選用3種不同的打包數(shù)據(jù)處理方式對(duì)代碼進(jìn)行優(yōu)化:

1)方法1,用1條16 bit數(shù)據(jù)加載指令(LDHU,2LDB)實(shí)現(xiàn)一次加載2個(gè)8 bit(字)數(shù)據(jù)處理。

2)方法2,用1條32 bit數(shù)據(jù)加載指令(LDW,LDNW)實(shí)現(xiàn)一次加載4個(gè)8 bit(雙字)數(shù)據(jù)處理,并且運(yùn)用一組DOTPU4,SUBABS4指令進(jìn)行運(yùn)算。

3)方法3,用1條64 bit數(shù)據(jù)加載指令(LDDW,LDNDW)實(shí)現(xiàn)一次加載8個(gè)8 bit(4個(gè)字)數(shù)據(jù)處理,并且運(yùn)用兩組并行的DOTPU4,SUBABS4指令進(jìn)行運(yùn)算,同時(shí)使用并行的匯編代碼,充分利用某些指令的延時(shí)間隙,執(zhí)行代碼。

優(yōu)化前后運(yùn)算時(shí)間對(duì)比見(jiàn)表1。

表1 代碼優(yōu)化前后比較

從表1中可以看到,軟件優(yōu)化設(shè)計(jì)主要是通過(guò)利用數(shù)據(jù)并行加載、寄存器流水并行處理、減少循環(huán)次數(shù)的方法,可以大大減少運(yùn)算時(shí)間,提高運(yùn)行速度。

4 結(jié)論

在TMS320C64x系列DSP芯片應(yīng)用中,大部分每秒百萬(wàn)次指令運(yùn)算發(fā)生在緊湊的循環(huán)中,所以對(duì)于C64x代碼產(chǎn)生工具來(lái)說(shuō),在重要的循環(huán)中充分利用片內(nèi)的硬件資源,在軟件流水中,利用VelociTI結(jié)構(gòu)的多樣資源,可以大大提高代碼的效率。因此,本文介紹的基于C64x系列DSP的軟件優(yōu)化方法,為高速實(shí)時(shí)系統(tǒng)設(shè)計(jì)提供了一種很好的解決方法。

:

[1]Texas Instruments Incorporated.TMS320C6000優(yōu)化編譯器用戶手冊(cè)[M].田黎育,譯.北京:清華大學(xué)出版社,2005.

[2]Texas Instruments Incorporated.TMS320C6000程序員手冊(cè)[M].朱夢(mèng)宇,譯.北京:清華大學(xué)出版社,2005.

[3]Texas Instruments Incorporated.TMS320C6000匯編語(yǔ)言工具用戶手冊(cè)[M].何佩琨,譯.北京:清華大學(xué)出版社,2005.

[3]覃團(tuán)發(fā),泰德興,劉遠(yuǎn)毅,等.基于TMS320C6416的寬帶語(yǔ)音G.722.2聲碼器的實(shí)時(shí)實(shí)現(xiàn)[J].電聲技術(shù),2006,30(1):48-51

猜你喜歡
流水指令優(yōu)化
聽(tīng)我指令:大催眠術(shù)
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
流水
文苑(2020年10期)2020-11-07 03:15:26
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
流水有心
坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
主站蜘蛛池模板: 成人无码一区二区三区视频在线观看| aa级毛片毛片免费观看久| 美女无遮挡免费网站| 91精品小视频| 亚洲国产日韩在线观看| 露脸国产精品自产在线播| 精品人妻AV区| 免费网站成人亚洲| 日韩黄色在线| 亚洲综合天堂网| 国产成人av一区二区三区| 一本色道久久88亚洲综合| 亚洲最大情网站在线观看| 久久中文字幕2021精品| 欧美天堂久久| 亚洲午夜国产片在线观看| 国产美女在线观看| 午夜免费视频网站| 日韩国产黄色网站| 亚洲欧美成人网| 无码视频国产精品一区二区 | 国产精品爽爽va在线无码观看 | 亚洲欧美自拍一区| 免费毛片a| 亚洲天堂日韩av电影| 国产永久无码观看在线| 亚洲第一在线播放| 亚洲一区二区三区在线视频| 一区二区偷拍美女撒尿视频| 日韩天堂在线观看| 福利在线一区| 日韩在线永久免费播放| 久久精品中文字幕少妇| 亚洲黄网视频| 日韩在线成年视频人网站观看| 国产精品视频白浆免费视频| 亚洲福利片无码最新在线播放 | 国产精品视屏| 色婷婷视频在线| 最新精品久久精品| 日韩精品一区二区三区免费在线观看| 久草网视频在线| 99爱视频精品免视看| 久久国产乱子| 996免费视频国产在线播放| 欧美成人精品高清在线下载| 国产精品国产三级国产专业不| 国产嫩草在线观看| 青青草原国产免费av观看| 欧美一道本| 亚洲首页在线观看| 91美女视频在线观看| 精品国产自在在线在线观看| 国产H片无码不卡在线视频| 亚洲午夜福利精品无码| 日本精品视频一区二区| 亚洲日韩日本中文在线| 性激烈欧美三级在线播放| 一本久道久综合久久鬼色| 在线视频精品一区| 国产在线八区| 国产精品手机视频一区二区| 狠狠亚洲五月天| 精品国产污污免费网站| 亚洲av日韩av制服丝袜| 久久一日本道色综合久久| 国产欧美日韩另类精彩视频| 精品乱码久久久久久久| 久久婷婷六月| 国产情侣一区二区三区| 欧美激情第一欧美在线| 亚洲最大综合网| 97青草最新免费精品视频| 亚洲系列中文字幕一区二区| 尤物特级无码毛片免费| 日韩AV手机在线观看蜜芽| 精品人妻一区无码视频| 亚洲综合色在线| 午夜精品影院| 久久精品国产精品一区二区| 欧美精品在线看| 91在线日韩在线播放|