久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標(biāo)題:TMS320C6000系列DSP的軟件優(yōu)化技術(shù)

1樓
wangxinxin 發(fā)表于:2010-11-22 13:58:04

1 DSP系統(tǒng)的軟件優(yōu)化流程

DSP系統(tǒng)的軟件優(yōu)化流程如圖1所示。整個工作流程分為3個階段:

圖片點擊可在新窗口打開查看

第1階段,直接根據(jù)需要用高級C語言實現(xiàn)DSP功能,測試代碼的正確性。然后,移植到C6X平臺,利用C6X開發(fā)環(huán)境Profile測試程序的運行時間。若不滿足要求,則進(jìn)入下一階段。

第2階段,利用C6X提供的優(yōu)化方式和其他各種優(yōu)化技巧,如使用不同的編譯器選項使能軟件流水,循環(huán)展開,字存取代替半字存取等,優(yōu)化C語言代碼。如果還不能滿足要求,則進(jìn)入第3階段。

第3階段,將C語言代碼中耗時最長的部分抽取出來,用線性匯編語言重寫,用匯編優(yōu)化器進(jìn)行優(yōu)化。使用profile確定這段代碼是否需要進(jìn)一步優(yōu)化。

2 優(yōu)化過程

首先,用C語言編寫程序,并通過編譯驗證其正確性。然后,使用內(nèi)聯(lián)函數(shù)和合適的優(yōu)化選項進(jìn)行優(yōu)化,并通過CCS中的profiler確定是否有函數(shù)需要被進(jìn)一步優(yōu)化,使用線性匯編語言重寫需要被優(yōu)化的函數(shù)。最后,使用匯編優(yōu)化編程技巧和匯編優(yōu)化器優(yōu)化匯編代碼。

2.1 編譯器

當(dāng)優(yōu)化器被激活時,將完成圖2所示的過程。C/C++語言源代碼首先通過一個完成預(yù)處理的解析器(Parser),生成一個中間文件(.if)作為優(yōu)化器(Optimizer)的輸入。優(yōu)化器生成一個優(yōu)化文件(.opt),這個文件作為完成進(jìn)一步優(yōu)化的代碼生成器(Code generator)的輸入,最終生成匯編文件(.asm)。當(dāng)選擇編譯選項時,-o2和-o3將盡可能地優(yōu)化軟件。

圖片點擊可在新窗口打開查看

2.2 編譯器內(nèi)聯(lián)函數(shù)

TMS320C6X提供了很多內(nèi)聯(lián)函數(shù),它們直接映射為內(nèi)嵌C6X匯編指令的特殊函數(shù),這樣可迅速優(yōu)化C語言代碼。C編譯器以內(nèi)聯(lián)函數(shù)的形式支持所有C語言代碼不易表達(dá)的指令。內(nèi)聯(lián)函數(shù)用下劃線"_"開頭,如例2,使用時如同調(diào)用普通函數(shù)一樣。下面結(jié)合實例,研究一下完成200點點積經(jīng)過上述各種優(yōu)化技術(shù)優(yōu)化后的代碼效率。完成200點的點積運算C語言代碼程序dotp.c如下:


圖片點擊可在新窗口打開查看
3 線性匯編代碼的優(yōu)化

優(yōu)化線性匯編代碼,首先是盡可能地使指令并行,使得同一時間內(nèi)多個功能單元同時被使用,然后是調(diào)整代碼順序,縮減等待時延(NOPS),如例5。接下來使用字訪問short型數(shù)據(jù),如例6,最后使用軟件流水技術(shù)。當(dāng)進(jìn)行實際操作時,并不是要按順序地完成上面的每一步。只要達(dá)到要求,就可以結(jié)束。

3.1 C語言代碼轉(zhuǎn)換到線性匯編代碼

定點點積中,C語言代碼內(nèi)部循環(huán)使用線性匯編指令,如例3所示。

圖片點擊可在新窗口打開查看
3.2 線性匯編的資源分配

①裝載指令(LDW)必須使用.D單元。

②乘法指令(MPY和MPYH)必須使用.M單元。

③加法指令(ADD)使用.L單元。

④減法指令(SUB)使用.S單元。

⑤跳轉(zhuǎn)指令(B)使用.S單元。

由此得到例4的匯編代碼。

圖片點擊可在新窗口打開查看
完成200次循環(huán)迭代,經(jīng)過profile clock分析循環(huán)部分,需要16×200=3200 cycles。

3.3 使用并行指令完成點積代碼

使用并行指令完成點積代碼如例5所示。

圖片點擊可在新窗口打開查看
使用并行指令,循環(huán)體內(nèi)需要8個時鐘周期。這段循環(huán)代碼的執(zhí)行周期為8×200=1600 cycles。

3.4 使用字存取原short型數(shù)據(jù)

為進(jìn)一步提高效率,使用字存取原short型數(shù)據(jù),如例6所示。
圖片點擊可在新窗口打開查看

圖片點擊可在新窗口打開查看
這段代碼在循環(huán)體內(nèi)仍然是8個時鐘周期,迭代100次為8×100=800 cycles。

4 軟件流水技術(shù)

軟件流水技術(shù)是用在循環(huán)語句中調(diào)用指令的方法,即安排循環(huán)中的多個迭代運算并行執(zhí)行。在編譯C語言代碼時,可以選擇編譯器的-o2或-o3選項,編譯器將根據(jù)程序盡可能地安排軟件流水。圖3所示為運用軟件流水的循環(huán)結(jié)構(gòu),它包括A、B、C、D、E五次迭代,同一周期最多執(zhí)行五次迭代的不同指令(陰影部分)。圖3中陰影部分稱為"循環(huán)內(nèi)核",核中不同的指令并行執(zhí)行。核前執(zhí)行的過程稱為"流水線填充",核后執(zhí)行的過程稱為"流水線排空"。

圖片點擊可在新窗口打開查看
在DSP算法中存在大量的循環(huán)操作,因此充分運用軟件流水線方式,能極大地提高程序的運行速度。當(dāng)手繪軟件流水時,首先要畫出相關(guān)圖,如圖4所示,然后建立軟件流水迭代間隔編排表,最后根據(jù)編排表寫出程序。

在畫相關(guān)圖時應(yīng)遵循:

①畫出節(jié)點和路徑;

②寫出完成各指令需要的CPU周期;

③為各節(jié)點指派功能單元;

④分開路徑,以使最多的功能單元被使用。

根據(jù)相關(guān)圖寫出模迭代間隔安排表,如表1所列。

由此迭代間隔表寫出對應(yīng)代碼:

圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看

圖片點擊可在新窗口打開查看
由此得到的代碼所需CPU時鐘周期為7+100+l=108 cycles。
5 總 結(jié)

各種優(yōu)化技術(shù)所需時鐘數(shù)如表2所列。表中括號內(nèi)數(shù)字為循環(huán)內(nèi)核時鐘周期,括號前數(shù)字為流水線填充時鐘周期,括號后數(shù)字為流水線排空CPU時鐘周期。

圖片點擊可在新窗口打開查看
由此得出遵循以上的軟件優(yōu)化流程和代碼優(yōu)化技術(shù),可以極大地提高代碼效率,這對實際應(yīng)用具有重大意義。
 
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .04688 s, 2 queries.
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
亚洲线精品一区二区三区八戒| 精品无人区一区二区三区竹菊| 最新国产精品久久精品| 久久精品亚洲乱码伦伦中文 | 91精品久久久久久久久99蜜臂| 51午夜精品国产| 欧美一级片在线观看| 欧美第一区第二区| 久久久一区二区三区捆绑**| 国产三级精品三级| 中文字幕中文字幕一区二区| 一区二区三区蜜桃网| 亚洲福中文字幕伊人影院| 日本不卡视频一二三区| 精久久久久久久久久久| 国产成人精品免费网站| 99视频有精品| 国产综合18久久久久久| 秋霞毛片久久久久久久久| 在线观看日韩羞羞视频| 精品婷婷伊人一区三区三| 日韩午夜激情免费电影| 国产欧美日韩在线观看| 亚洲欧美偷拍三级| 五月婷婷另类国产| 国产一区视频网站| av电影在线观看一区| 国产精品区一区二区三在线播放| 91小视频免费看| 久久五月天婷婷| 一本色道久久综合亚洲91| 在线播放中文一区| 国产三级精品三级| 亚洲永久免费av| 久久99久久久久久久久久久| 99视频精品全部免费在线| 狠狠色综合色区| 中文字幕成人一区| 欧美一区二区视频在线观看| 中文字幕的久久| 亚洲成人一二三| 国产不卡视频在线观看| 国产精品一区二区不卡视频| 亚洲日本精品| 日韩欧美卡一卡二| 亚洲视频在线一区观看| 蜜臀av一级做a爰片久久| gogogo免费视频观看亚洲一| 九九99久久| 欧美伦理视频网站| 国产午夜精品福利| 亚洲成人精品影院| 丁香婷婷综合网| 久久久久久99| 欧美老女人第四色| 国产精品久久毛片a| 美女视频黄 久久| 99视频国产精品免费观看| 亚洲永久激情精品| 精品噜噜噜噜久久久久久久久试看| 1000部国产精品成人观看| 久久成人麻豆午夜电影| 99国产在线视频| 99久久精品一区| 亚洲女同女同女同女同女同69| 亚洲一区二区三区四区在线| 国产在线播精品第三| 都市激情久久久久久久久久久| 日韩在线导航| 日韩一区二区中文字幕| 亚洲免费观看高清完整| 国产精品亚洲成人| 国产一区二区中文字幕免费看| 99re国产视频| 色婷婷综合久久久久中文 | 在线日韩国产精品| 久久精品水蜜桃av综合天堂| 三级成人在线视频| 97国产超碰| 欧美少妇bbb| 亚洲视频一区二区免费在线观看| 国产精品一级片在线观看| 明星裸体视频一区二区| 欧美一卡2卡三卡4卡5免费| 亚洲欧美激情小说另类| 国产福利电影一区二区三区| 日本一区精品| 久久日一线二线三线suv| 青青草原综合久久大伊人精品 | 一区在线播放视频| 国产+成+人+亚洲欧洲自线| 亚州欧美一区三区三区在线| 亚洲精品一区在线观看| 秋霞成人午夜伦在线观看| 国产精品伊人日日| 91精品国产综合久久福利| 亚洲一区二区三区小说| 91麻豆蜜桃| 欧美精品日韩精品| 亚洲小说欧美激情另类| 7777精品久久久大香线蕉小说| 欧美性色综合网| 一区二区高清在线| 91在线在线观看| 欧美美女直播网站| 亚洲超碰精品一区二区| 国产精品免费一区二区三区四区| 制服丝袜国产精品| 日韩电影网1区2区| 老牛影视免费一区二区| 精品国产1区2区3区| 狠狠色丁香婷综合久久| 亚洲成人自拍视频| 国产精品国产三级国产aⅴ入口| 理论片日本一区| 亚洲7777| 亚洲日本在线天堂| 91久久极品少妇xxxxⅹ软件| 91精品国产综合久久香蕉的特点 | 国产精品青青草| 91精品在线一区二区| 亚洲国产精品一区二区www| 91香蕉视频黄| 欧美剧在线免费观看网站| 亚洲影院在线观看| 波多野结衣精品久久| 欧美高清hd18日本| 婷婷丁香久久五月婷婷| 超碰97网站| 日韩午夜激情电影| 美洲天堂一区二卡三卡四卡视频 | 欧美亚洲动漫另类| 亚洲另类一区二区| 91久久伊人青青碰碰婷婷| 久久伊99综合婷婷久久伊| 国产.欧美.日韩| 欧美一区二区三区四区久久| 国产精品资源网| 精品国产一区二区三区麻豆小说| 久久美女艺术照精彩视频福利播放| 国产成人自拍高清视频在线免费播放| 色先锋资源久久综合| 亚洲sss视频在线视频| 乱一区二区三区在线播放| 久久久国产精品麻豆| 成人小视频免费在线观看| 欧美日韩国产a| 亚洲地区一二三色| 国产九色精品| 国产欧美精品一区| 91视频一区二区| 欧美videofree性高清杂交| 成人精品视频一区| 欧美日韩成人在线| 老司机精品视频一区二区三区| 亚洲一区三区视频在线观看| 午夜av电影一区| 五月天亚洲综合情| 亚洲美女在线国产| 狠狠色综合色区| 一区二区三区日本| 欧美日韩在线一二三| 亚洲人成电影网站色mp4| 精品久久久三级| 国产视频一区不卡| 96成人在线视频| 国产日韩成人精品| 99re国产在线播放| 日本一二三不卡| 激情伦成人综合小说| 国产精品亲子乱子伦xxxx裸| 国产另类自拍| 亚洲视频一区二区免费在线观看| 日韩av在线电影观看| 亚洲一区二区欧美日韩| 日韩精品一线二线三线| 亚洲国产精品影院| 欧美视频日韩视频在线观看| 久久se这里有精品| 欧美高清一级片在线| 国产成人在线网站| 久久久国产精品午夜一区ai换脸| 91久久爱成人| 国产精品嫩草影院com| 成人区精品一区二区| 亚洲乱码中文字幕| 色爱区成人综合网| 亚洲成av人综合在线观看| 日韩不卡av| 精彩视频一区二区| 日韩一二在线观看| 97精品国产97久久久久久久久久久久| 日韩亚洲欧美高清| 91丨国产丨九色丨pron| 中文乱码免费一区二区| 久久这里精品国产99丫e6| 日本视频在线一区| 在线免费视频一区二区| 青青草国产精品97视觉盛宴| 伊人久久大香线蕉av一区|