• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究

    TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究

    作者: 時間:2009-03-19 來源:網(wǎng)絡(luò) 收藏

    下面例子是算法中計算幀能量的函數(shù),其中包含兩個單循環(huán)體。進(jìn)行時,首先要確定循環(huán)的次數(shù)。對于循環(huán)次數(shù)是變量的情況,器不進(jìn)行并行;其次盡量減少數(shù)據(jù)存取次數(shù),例如以32位存取指令對16位數(shù)據(jù)進(jìn)行存取,可以節(jié)省一半的存取周期。仔細(xì)觀察C代碼,會發(fā)現(xiàn)兩次循環(huán)次數(shù)相同。第二個循環(huán)要用到第一個循環(huán)的結(jié)果,因此可以將兩個循環(huán)合并在一起,這樣就避免了在第二個循環(huán)中再從存儲器中取結(jié)果,減少了一半的Load操作。

      long Comp_En( short *Dpnt)

        { int i ;

      long Rez ;

      short Temp[60] ;

      for ( i = 0 ; i 60 ; i ++)

      Temp[i] = shr( Dpnt[i], (short) 2) ;

      Rez=(long) 0 ;

      for (i=0; i 60; i ++)

       Rez=L_mac(Rez, Temp[i], Temp[i]);

      return Rez ;

      }

    相應(yīng)的線性匯序如下:

      .global _Comp_En ;函數(shù)名定義,對c變量前加__Comp_En .cproc Dpnt;函數(shù)頭定義,Dpnt是參數(shù)

      .reg Rez,Rez1,Rez2,I ;寄存器定義,不必考慮實際的寄存器分配

      .reg t1,t2,x1,c1,m1,m2

    zero Rez

    zero Rez1

    zero Rez2

    mv Dpnt,c1

    mvk 30,i ;確定循環(huán)次數(shù)。因為用LDW代替LDH,循環(huán)次數(shù)減少一半。

    loop1 .trip 30

    ldw *c1++,x1

    shl x1,16,t1

    shr t1,2,t1

    shr x1,2,t2 ;將兩個循環(huán)合在一起,又減少了一半的從內(nèi)存取數(shù)據(jù)的時間。

    smpyh t1,t1,m1

    smpyh t2,t2,m2

    sadd Rez1,m1,Rez1

    sadd Rez2,m2,Rez2

    [i] sub i,1,i ;循環(huán)計數(shù)器從30遞減

    [i] b loop1

    sadd Rez1,Rez2,Rez

    .return Rez

    .endproc

    消耗時間(時鐘周期):C語言為32971;線性匯編語言為93。

    2.3 使用線性匯編改寫復(fù)雜函數(shù)中的循環(huán)體

      當(dāng)函數(shù)的邏輯關(guān)系復(fù)雜,判斷、跳轉(zhuǎn)、函數(shù)調(diào)用情況特別多時,上面方法的效果就會大打折扣。這時可以使用線性匯編將其中的循環(huán)部分改寫成一個函數(shù),以優(yōu)化后的函數(shù)調(diào)用代替循環(huán)部分,而不是優(yōu)化整個復(fù)雜函數(shù)。

      高速數(shù)字信號處理器件的應(yīng)用范圍越來越廣,特別是在移動通信領(lǐng)域中,軟件無線電、智能天線等新技術(shù)的實現(xiàn)都需要強(qiáng)大的實時數(shù)字信號處理的支持。系列完全可以滿足此類要求。但目前對于并行技術(shù)的軟硬件開發(fā)還處在摸索階段,如何充分利用高速的資源,是這方面的重點。本文了最新推出的的優(yōu)化策略,從工程和的角度總結(jié)出一套既能滿足實時性又能保證開發(fā)時效性的實用的優(yōu)化方法,以供分饗。

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

    上一頁 1 2 3 下一頁

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 竹北市| 皮山县| 赤城县| 石家庄市| 清远市| 乌拉特前旗| 息烽县| 玉龙| 舒兰市| 昌都县| 沾益县| 子洲县| 涿鹿县| 青神县| 石门县| 凤凰县| 临潭县| 大埔县| 义乌市| 平远县| 天台县| 达孜县| 曲麻莱县| 侯马市| 台江县| 九江市| 新邵县| 嘉定区| 承德县| 武邑县| 贡山| 武宁县| 大洼县| 安多县| 宿松县| 象州县| 金山区| 泗阳县| 股票| 苏州市| 汝州市|