《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > DSP編程技巧之:程序優化

DSP編程技巧之:程序優化

2015-09-18
關鍵詞: DSP 編程技巧

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

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 韩国美女爽快毛片免费 | 伊人久热这里只有精品视频99 | 国内精品久久久久久影院8f | 亚洲在线网站 | 看真人视频一级毛片 | 免费看孕妇毛片全部播放 | 国产精品99久久99久久久看片 | 欧美人禽杂交狂配毛片 | 韩国19禁主播裸免费福利 | 国产精品99r8免费视频2022 | 大陆老头xxxxxhd | 亚洲天堂久久精品成人 | 亚洲免费网站观看视频 | 一级女性全黄久久生活片免费 | 人成精品视频三区二区一区 | 精品欧美成人高清视频在线观看 | 国内真实愉拍系列情侣 | 欧美va在线播放免费观看 | 国产亚洲精品一区二区久久 | 国产欧美va欧美va香蕉在线 | 欧美一级大黄特黄毛片视频 | 亚洲国产成人精彩精品 | 久久精品国产精品青草色艺 | 在线精品国产成人综合第一页 | 日本人的色道www免费一区 | 国产精品免费精品自在线观看 | 成人网中文字幕色 | 久久一区二区精品综合 | 99免费在线播放99久久免费 | 美女亚洲视频 | 美女黄视频网站 | 精品一区二区三区在线视频 | 91欧美视频| 久久这 | 九九精品视频一区二区三区 | 性欧美精品久久久久久久 | 丰满寡妇一级毛片 | 久久亚洲欧洲日产国码 | 91精品国产91 | 国产成人精品亚洲 | 美女视频黄a视频美女大全 美女视频黄a视频免费全程 |