中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

        下面例子是算法中計(jì)算幀能量的函數(shù),其中包含兩個(gè)單循環(huán)體。進(jìn)行時(shí),首先要確定循環(huán)的次數(shù)。對(duì)于循環(huán)次數(shù)是變量的情況,器不進(jìn)行并行;其次盡量減少數(shù)據(jù)存取次數(shù),例如以32位存取指令對(duì)16位數(shù)據(jù)進(jìn)行存取,可以節(jié)省一半的存取周期。仔細(xì)觀察C代碼,會(huì)發(fā)現(xiàn)兩次循環(huán)次數(shù)相同。第二個(gè)循環(huán)要用到第一個(gè)循環(huán)的結(jié)果,因此可以將兩個(gè)循環(huán)合并在一起,這樣就避免了在第二個(gè)循環(huán)中再?gòu)拇鎯?chǔ)器中取結(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ù)名定義,對(duì)c變量前加__Comp_En .cproc Dpnt;函數(shù)頭定義,Dpnt是參數(shù)

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

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

        zero Rez

        zero Rez1

        zero Rez2

        mv Dpnt,c1

        mvk 30,i ;確定循環(huán)次數(shù)。因?yàn)橛肔DW代替LDH,循環(huán)次數(shù)減少一半。

        loop1 .trip 30

        ldw *c1++,x1

        shl x1,16,t1

        shr t1,2,t1

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

        smpyh t1,t1,m1

        smpyh t2,t2,m2

        sadd Rez1,m1,Rez1

        sadd Rez2,m2,Rez2

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

        [i] b loop1

        sadd Rez1,Rez2,Rez

        .return Rez

        .endproc

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

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

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

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

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

        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉