[又名什邡站長(zhǎng)網(wǎng)]關(guān)于profile的介紹和匯編代碼級(jí)的優(yōu)化問題
今天,[又名什邡站長(zhǎng)網(wǎng)]總結(jié)了一下《關(guān)于profile的介紹和匯編代碼級(jí)的優(yōu)化問題》,下面就簡(jiǎn)單來說說這兩個(gè)問題,希望對(duì)建站的朋友們有所啟示,謝謝大家瀏覽。
關(guān)于profile的相關(guān)介紹
C6x的Debug工具提供了一個(gè)profile界面。在圖9中,包括了幾個(gè)重要的窗口,左上角的窗口是顯示出我們寫的C語言,可以讓我們知道現(xiàn)在做到了哪一步。右上角的窗口顯示的是C6x所編譯出來的匯編語言,同樣的我們也可以知道現(xiàn)在做到了哪一步。左下角的窗口是命令列,是讓我們下指令以及顯示訊息的窗口。而中間的profile窗口就是在profile模式下最重要的窗口,它顯示出的項(xiàng)目如下表:
表5:profile的各項(xiàng)參數(shù)[8]
字段 意義
Count 被呼叫的次數(shù)
Inclusive 包含子程序的總執(zhí)行clock數(shù)
Incl-Max 包含子程序的執(zhí)行一次最大clock數(shù)Exclusive 不包含子程序的總執(zhí)行clock數(shù)Excl-Max 不包含子程序的執(zhí)行一次最大clock數(shù)利用這個(gè)profile模式我們可以用來分析程序中每個(gè)函數(shù)被呼叫的次數(shù)、執(zhí)行的時(shí)脈數(shù)等等。用這個(gè)分析的結(jié)果,程序員就可以知道哪個(gè)函數(shù)所花費(fèi)的時(shí)脈最多,是可以再改進(jìn)的,而針對(duì)它來作最佳化。
關(guān)于profile的介紹和匯編代碼級(jí)的優(yōu)化問題
匯編代碼級(jí)的優(yōu)化可能會(huì)遇到的問題匯總
在經(jīng)過C代碼的優(yōu)化之后,還不能滿足性能上的要求,則可以通過profile clock工具找出效率很低的部分,使用線性匯編重新改寫。再通過匯編優(yōu)化器編譯,匯編優(yōu)化器從輸入的線性匯編代碼中,完成以下功能:
● 尋找可以平行執(zhí)行的CPU指令。
● 在軟件流水線期間,處理流水線標(biāo)號(hào)。
● 分配寄存器的用法。
● 分配功能單元。
TI提供的匯編優(yōu)化器可以得到很高的效率,一般可以滿足性能上的要求。
優(yōu)化中的問題
在匯編代碼級(jí)的優(yōu)化過程中,總是要對(duì)程序進(jìn)行一定的改動(dòng)的情況,這樣經(jīng)常會(huì)出現(xiàn)一些問題。問題匯總?cè)缦拢?/p>
1)優(yōu)化結(jié)果的驗(yàn)證
優(yōu)化過的程序往往不知道是否運(yùn)行正確,這時(shí)就需要程序員來加以驗(yàn)證。驗(yàn)證時(shí)一般采用的辦法就是通過測(cè)試序列來驗(yàn)證。測(cè)試序列指的是對(duì)于不同的算法所取的一組特殊的數(shù)據(jù),這些數(shù)據(jù)可以準(zhǔn)確的反映算法的特性。
測(cè)試序列中每組數(shù)據(jù)包括:輸入數(shù)據(jù)和輸出數(shù)據(jù),通過對(duì)輸入數(shù)據(jù)的運(yùn)算,把結(jié)果與輸出數(shù)據(jù)進(jìn)行比較,判斷程序的正確性。一些常見的算法,一般都提供了測(cè)試序列。還有一些,沒有測(cè)試序列。這時(shí)就需要根據(jù)算法的特點(diǎn),自己構(gòu)造測(cè)試序列,進(jìn)行驗(yàn)證。構(gòu)造的時(shí)候,注意序列最好有幾組,數(shù)據(jù)最好有一定的長(zhǎng)度,這樣驗(yàn)證的更準(zhǔn)確。
2)內(nèi)存泄漏的問題
C64X系列DSP的內(nèi)部存儲(chǔ)空間有1MB,其中程序和數(shù)據(jù)還有CPU的二級(jí)緩存將共享這片空間,因此當(dāng)程序的運(yùn)行不正常時(shí),很有可能就是內(nèi)存泄漏造成的。因此,在程序設(shè)計(jì)中,應(yīng)盡量不用指針,同時(shí)注意進(jìn)行邊界檢測(cè)。
程序設(shè)計(jì)的一些方法
程序設(shè)計(jì)時(shí),一切應(yīng)以滿足實(shí)際的要求為目標(biāo)。在實(shí)際的設(shè)計(jì)中,除了優(yōu)化能夠提高性能以外,還可以采取其他的辦法,利用DSP的特性,提高程序的運(yùn)行性能,滿足實(shí)際的設(shè)計(jì)要求。
1、把程序和經(jīng)常要用的數(shù)據(jù)放入片內(nèi)RAM
片內(nèi)RAM與CPU——工作在同一時(shí)鐘頻率,比片外RAM性能高得多。因此把程序放在片內(nèi)可以大大提高運(yùn)行的速度。同時(shí)對(duì)于一些經(jīng)常要用到的數(shù)據(jù),放入片內(nèi),也會(huì)節(jié)省處理時(shí)間。
2、通過DMA技術(shù)搬移數(shù)據(jù)
對(duì)于C64X芯片,其片內(nèi)RAM有1MB,但是對(duì)于一些大型的圖像處理算法而言,仍可能是不夠的,因此經(jīng)常通過DMA技術(shù),把需要用到的數(shù)據(jù)搬入片內(nèi),把不需要的搬到片外,可以大大的提高程序的運(yùn)行速度。
3、CACHE的使用
增大CACHE,可以明顯的提高性能。但是C64X系列DSP中程序和數(shù)據(jù)還有CACHE共享片內(nèi)RAM,因此增大CACHE,就減小了實(shí)際的片內(nèi)可用空間,設(shè)計(jì)中需要注意。
總結(jié):以上就是[又名什邡站長(zhǎng)網(wǎng)]整理的《關(guān)于profile的介紹和匯編代碼級(jí)的優(yōu)化問題》全部?jī)?nèi)容,下希望對(duì)建站的朋友們有所啟示,謝謝大家瀏覽。如要關(guān)注更多網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化方面的知識(shí)請(qǐng)收藏本站?!緒ww.yidnid.com】
總結(jié):以上就是關(guān)于《[又名什邡站長(zhǎng)網(wǎng)]關(guān)于profile的介紹和匯編代碼級(jí)的優(yōu)化問題》的全部?jī)?nèi)容,希望對(duì)大家有所幫助。想了解更多有網(wǎng)站優(yōu)化、搜索引擎排名、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)的相關(guān)內(nèi)容,請(qǐng)收藏本站及時(shí)關(guān)注本站更新。通盛網(wǎng)絡(luò)官方網(wǎng)址:www.yidnid.com「網(wǎng)站優(yōu)化」電話:13357671511
(備注:出于傳播知識(shí)、信息的目的,本站部分文章、圖片來源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)第一時(shí)間告知,小編核實(shí)后會(huì)立刻刪除,不接受、不回復(fù)任何形式的惡意索賠。)
- 「SEO基礎(chǔ)入門」深入剖析百度···
- 「SEO基礎(chǔ)入門」你了解H標(biāo)簽···
- 「SEO基礎(chǔ)入門」再談網(wǎng)站為什···
- 「SEO基礎(chǔ)入門」常見搜索引擎···
- 「SEO基礎(chǔ)入門」巧用技巧,增···
- 「SEO基礎(chǔ)入門」關(guān)鍵詞疊加:···
- 「SEO基礎(chǔ)入門」子域名與子目···
- 「SEO基礎(chǔ)入門」SEO 全析···
- 「SEO基礎(chǔ)入門」域名轟炸:搜···
- 「SEO基礎(chǔ)入門」SEO 常見···
- SEO建站:打造高效網(wǎng)絡(luò)平臺(tái)的···
- 「SEO基礎(chǔ)入門」SEO 入門···
- 「SEO基礎(chǔ)入門」404頁(yè)面是···
- 「SEO基礎(chǔ)入門」搜索引擎網(wǎng)站···
- 「SEO基礎(chǔ)入門」白帽、黑帽與···
- 「SEO基礎(chǔ)入門」反向鏈接是什···
- 「SEO入門」詳解網(wǎng)頁(yè)設(shè)計(jì)中 ···
- 「SEO基礎(chǔ)」全面解析 HTT···
- 「SEO基礎(chǔ)」SEO 中常見的···
- 「SEO優(yōu)化」深入剖析企業(yè) S···