《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > DSP編程技巧之:程序優(yōu)化

DSP編程技巧之:程序優(yōu)化

2015-09-18
關(guān)鍵詞: DSP 編程技巧

  上一期講解了DSP編程技巧之:編譯流程與處理器選項(xiàng),這期繼續(xù)講解程序優(yōu)化。在二三十年前人們剛開始使用C語(yǔ)言代替匯編進(jìn)行開發(fā)的時(shí)候,因?yàn)楫?dāng)初的處理器/控制器性能很弱,而編譯器的能力也有限,所以形成了一些C語(yǔ)言編程效率不高的印象。但是今天的硬件性能已經(jīng)非常強(qiáng)大,而編譯器的能力也是日新月異,如果我們不熟練掌握匯編編程中的一些關(guān)鍵技術(shù),編寫的匯編代碼的效率已經(jīng)很難超過編譯器從C語(yǔ)言轉(zhuǎn)換出來(lái)的匯編代碼了。
  如果我們使用C語(yǔ)言進(jìn)行編程的話,編譯器除了可以把我們的加減乘除這樣的操作轉(zhuǎn)換為ADD、MPY以及相關(guān)的尋址、寄存器操作外,還可以在編譯產(chǎn)生匯編代碼的過程中進(jìn)行不同程度的優(yōu)化。優(yōu)化的過程要根據(jù)器件的特點(diǎn)與指令集等進(jìn)行有針對(duì)性的配置,所以在不同的器件上同一段C代碼優(yōu)化產(chǎn)生的結(jié)果可能不一樣,但是其基本思想都是一致的;甚至是不同公司的編譯器,在優(yōu)化選項(xiàng)和優(yōu)化效果上面也是基本一致的。在CCS軟件的編譯器中,我們可以使用的基本的優(yōu)化級(jí)別有5級(jí),如表1所示。需要注意的是,別名就是我們?cè)诰幾g器選項(xiàng)中實(shí)際使用的名字,因?yàn)樽煮w的原因,看起來(lái)可能會(huì)有混淆,以-O0為例,其中的第一個(gè)是字母O是大寫的字母0,表示優(yōu)化Optimization,而不是阿拉伯?dāng)?shù)字的0;第二個(gè)才是是阿拉伯?dāng)?shù)字中的零,用數(shù)字表示優(yōu)化的序號(hào)或者說(shuō)優(yōu)化的程度。
  根據(jù)需要,我們可以選擇需要的優(yōu)化級(jí)別,例如可以選擇優(yōu)化代碼的尺寸,從而減小代碼占用的存儲(chǔ)器空間;一般情況下使用-O2或者-O3可以實(shí)現(xiàn)在代碼運(yùn)行速度、代碼占用的存儲(chǔ)器空間和編譯速度幾個(gè)因素之間的最優(yōu)化。但是優(yōu)化也是有一定的代價(jià)的,首先編譯的時(shí)間會(huì)隨著優(yōu)化級(jí)別的提高而增加;其次如果我們的代碼不夠嚴(yán)謹(jǐn),可能會(huì)產(chǎn)生意外的結(jié)果,例如某些看起來(lái)沒用的變量直接被編譯器給“忽視”了,但是我們本來(lái)保留它可能是有目的的,例如用來(lái)做為調(diào)試用的變量,結(jié)果它被優(yōu)化掉了而失去了意義,這時(shí)我們就需要使用一些特殊的C語(yǔ)言關(guān)鍵字告訴編譯器,這個(gè)變量用在這里是有其它目的的,不能把它給優(yōu)化掉,等等;這些以后可以詳解。
  關(guān)于優(yōu)化的更多細(xì)節(jié),大家可以參考一些有關(guān)高效編程的書,因?yàn)榫幾g器雖然可以對(duì)代碼進(jìn)行優(yōu)化,如果我們的代碼寫的太爛,編譯器估計(jì)也要吐血了。

  在上面的文章里,我們提到了DSP編程中程序優(yōu)化最常使用到的選項(xiàng)問題,主要提到的幾個(gè)選項(xiàng)包括-O1、-O2、-O3、-O4等等。雖然我們是以DSP為例進(jìn)行說(shuō)明的,但是對(duì)于其它的處理器,例如ARM、CPU、一些高級(jí)的單片機(jī)如MSP430、PIC等等和一些編譯環(huán)境,例如Keil、Xilinx SDK等,它們使用的一般的優(yōu)化選項(xiàng)和基本內(nèi)容也是大同小異的,即同樣的優(yōu)化級(jí)別,優(yōu)化的目的都是基本一致的。
  這些都是基本的操作,如果我們的目的僅僅是優(yōu)化代碼性能或者尺寸的話。如果我們想了解優(yōu)化過程中產(chǎn)生和使用的更多信息的話,對(duì)于DSP本身而言,它的一些其它特性對(duì)于程序的運(yùn)行性能也是非常關(guān)鍵的,此時(shí)在基本的優(yōu)化選項(xiàng)基礎(chǔ)上,我們又要注意一下高級(jí)的優(yōu)化選項(xiàng)的影響。例如,某些匯編指令在做諸如FFT變化的時(shí)候能夠成倍的提高效率,所以開啟高級(jí)優(yōu)化選項(xiàng)使得編譯器有針對(duì)性地生成相關(guān)的指令就非常重要。下面我們看一下編譯器的高級(jí)優(yōu)化選項(xiàng)有哪些。因?yàn)橐紤]到指令集等因素,這里以C28x系列為例進(jìn)行分析。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品毛片在线| 国产一区二区三区高清播放| 久久国产精品一区二区| 99国产精品99久久久久久| 久久国产一区二区三区| 西西裸体人体做爰大胆久久久| 亚洲视频精选| 在线综合亚洲欧美在线视频| 最新精品在线| 亚洲黄一区二区三区| 亚洲国产另类精品专区| **欧美日韩vr在线| 亚洲电影在线观看| 亚洲韩国精品一区| 亚洲茄子视频| 日韩视频精品| 一本久久综合亚洲鲁鲁| 一区二区三区久久久| 国产精品99久久99久久久二8 | 亚洲激情影院| 亚洲破处大片| 99re成人精品视频| 在线亚洲伦理| 亚洲在线国产日韩欧美| 性欧美在线看片a免费观看| 香蕉久久一区二区不卡无毒影院| 性18欧美另类| 亚洲激情小视频| 日韩亚洲欧美综合| 亚洲欧美日韩国产成人| 欧美一区成人| 久久婷婷国产麻豆91天堂| 欧美成年视频| 欧美日韩视频一区二区| 国产精品久久久久免费a∨| 国产欧美短视频| 激情一区二区| 亚洲精品一区二区网址| 中文国产成人精品| 欧美在线观看网站| 亚洲欧洲日本专区| 亚洲系列中文字幕| 久久精品在线播放| 欧美精品久久久久a| 国产精品美女久久久免费| 国产亚洲一级高清| 亚洲精品123区| 亚洲午夜精品久久| 久久精品国产久精国产一老狼| 亚洲精品久久久蜜桃| 亚洲无限乱码一二三四麻| 久久大逼视频| 欧美国产日本在线| 国产精品久久久久久久9999 | 99精品视频免费观看视频| 亚洲欧美日本日韩| 免费av成人在线| 国产精品区一区| 影音先锋久久精品| 一区二区三区成人精品| 久久精品国产亚洲高清剧情介绍 | 久久精品国产免费观看| 欧美激情一区二区三级高清视频| 国产精品国产三级国产普通话三级| 国产一区二区三区久久久| 亚洲九九九在线观看| 欧美一区二区大片| 一区二区高清在线| 久久野战av| 国产精品欧美日韩一区| 亚洲国内自拍| 久久超碰97中文字幕| 一本久道久久综合婷婷鲸鱼| 久久精品在线播放| 国产精品多人| 亚洲激情视频在线观看| 久久激五月天综合精品| 亚洲欧美日韩成人| 欧美全黄视频| 精品99一区二区三区| 亚洲一区二区精品在线观看| 亚洲精品看片| 久久九九精品99国产精品| 欧美日韩一区三区四区| 在线成人性视频| 午夜精品一区二区三区在线播放 | 亚洲一区二区视频在线| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品一级二级三级| 亚洲伦理自拍| 最新日韩在线视频| 久久久最新网址| 国产欧美一区二区精品秋霞影院 | 欧美日韩伦理在线| 一区二区三区在线观看国产| 亚洲综合不卡| 亚洲永久免费精品| 欧美日韩免费观看一区| 亚洲成人在线视频播放| 久久gogo国模裸体人体| 午夜伦欧美伦电影理论片| 欧美日韩三级视频| 亚洲人体1000| 最近中文字幕mv在线一区二区三区四区| 欧美与欧洲交xxxx免费观看| 国产精品jizz在线观看美国 | 亚洲女性裸体视频| 欧美日韩一区二区三区| 亚洲三级免费| 99精品免费| 欧美黄色影院| 亚洲国产精品va在线观看黑人 | 午夜在线视频观看日韩17c| 欧美日韩在线播放一区| 亚洲美女毛片| 国产精品99久久久久久www| 欧美精品三级日韩久久| 亚洲国产精品国自产拍av秋霞| 亚洲激情网站免费观看| 蜜桃av综合| 亚洲国产成人久久| 亚洲理论在线观看| 欧美激情一区三区| 亚洲免费激情| 亚洲一区免费网站| 国产精品久久久久久久app| 亚洲一区二区三区免费视频| 午夜精品福利一区二区三区av | 狠狠干成人综合网| 久久精品国产清高在天天线| 久久噜噜噜精品国产亚洲综合 | 中文在线一区| 新片速递亚洲合集欧美合集| 国产精品私人影院| 午夜一区在线| 久久免费视频这里只有精品| 影音先锋久久久| 亚洲免费观看高清完整版在线观看熊 | 日韩亚洲欧美在线观看| 欧美日本一道本| 一本色道久久综合精品竹菊| 亚洲一级二级| 国产欧美一区二区精品忘忧草| 午夜精品视频在线| 久久综合给合久久狠狠狠97色69| 在线欧美小视频| 一区二区国产在线观看| 国产精品免费网站| 亚洲欧美日韩精品综合在线观看 | 国内精品久久久久伊人av| 亚洲国语精品自产拍在线观看| 欧美国产精品va在线观看| 一区二区三区日韩| 久久精品电影| 亚洲黄色成人久久久| 亚洲婷婷在线| 国产欧美一区二区三区另类精品 | 欧美精品在线免费播放| 亚洲图片在线观看| 久久久久九九九| 亚洲人午夜精品| 欧美一区二区福利在线| 黄色成人在线免费| 一区二区激情| 国产一区二区欧美日韩| 日韩视频在线一区二区| 国产精品一区二区黑丝| 亚洲电影成人| 欧美午夜不卡在线观看免费| 欧美一区二区免费视频| 欧美激情一区二区三区在线视频 | 欧美一区二区在线免费观看| 欧美99在线视频观看| 在线视频亚洲欧美| 久久综合伊人77777蜜臀| 99亚洲一区二区| 久久人人97超碰精品888| 艳妇臀荡乳欲伦亚洲一区| 久久久国产一区二区三区| 日韩一级二级三级| 另类春色校园亚洲| 亚洲一区二区三区国产| 欧美成ee人免费视频| 亚洲自拍电影| 欧美日本不卡高清| 欧美专区中文字幕| 国产精品红桃| 亚洲毛片在线看| 国产精品专区第二| 一本大道久久a久久精二百| 国产一区二区在线观看免费| 中文亚洲欧美| 亚洲福利在线看| 久久久亚洲精品一区二区三区| 一区二区三区不卡视频在线观看 | 欧美在线观看视频在线| 欧美午夜精彩| 日韩一级欧洲| 精品二区视频| 久久精品国产77777蜜臀|