在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 源碼級(jí)和算法級(jí)的功耗測(cè)試與優(yōu)化

            源碼級(jí)和算法級(jí)的功耗測(cè)試與優(yōu)化

            作者: 時(shí)間:2010-03-12 來源:網(wǎng)絡(luò) 收藏




            從表1可知,對(duì)于相同數(shù)據(jù)類型,加、減、乘、除和取余操作的功耗一樣,與、或、非操作的功耗一樣,而移位功耗最低。對(duì)于不同數(shù)據(jù)類型來說,32位數(shù)比16位數(shù)的操作功耗低,16位數(shù)比8位數(shù)的操作功耗低。32位浮點(diǎn)數(shù)與32位整形數(shù)的操作功耗一樣。在所有數(shù)據(jù)類型中64位浮點(diǎn)數(shù)的操作功耗最高。

            測(cè)試環(huán)境的處理器StrongARM110為32位處理器,對(duì)8位數(shù)和16位數(shù)的處理要考慮字節(jié)對(duì)齊問題,而對(duì)32位就不用考慮該問題。

            ②對(duì)函數(shù)、內(nèi)聯(lián)函數(shù)和宏定義的功耗進(jìn)行測(cè)試。如表2所列,內(nèi)聯(lián)函數(shù)和宏定義的功耗比一般函數(shù)的功耗低,CPU周期數(shù)及指令數(shù)也小。



            ③對(duì)相同功能不同實(shí)現(xiàn)語句的功耗進(jìn)行測(cè)試。主要針對(duì)循環(huán)語句、選擇語句(二元和多元)、乘法、移位、除法、移位進(jìn)行測(cè)試,測(cè)試結(jié)果如表3所列。


            從表3可知,同樣實(shí)現(xiàn)循環(huán)功能,for循環(huán)的功耗比while、goto的要大,goto語句的功耗明顯最低;二元選擇運(yùn)算中三目運(yùn)算比if語句的功耗低,但是只能在單條賦值語句中使用三目運(yùn)算,在復(fù)雜的多條語句的情況下,兩者功耗一樣;多元選擇運(yùn)算中,switch語句比if…elseif…語句功耗低;寄存器變量的操作比自動(dòng)變量的操作功耗低近50%,因?yàn)樘幚砥鲝募拇嫫骼镏苯幼x取變量省去了反復(fù)從內(nèi)存讀取變量的過程,從而達(dá)到降低功耗的目的。

            2.2

            是比更高一層次的測(cè)試,不同的算法針對(duì)同一問題的考慮方面不同,如可靠性、易用性、時(shí)間復(fù)雜度、空間復(fù)雜度、功耗等。以往對(duì)軟件算法的研究著重在性能上面,本文把功耗作為主要考慮對(duì)象,研究算法對(duì)功耗的影響。為了便于討論,本文提出一具體問題,針對(duì)該問題提出5種不同的算法,然后分析這些算法對(duì)軟件功耗的影響。

            問題描述:對(duì)于1字節(jié)的變量v,求其二進(jìn)制表示中1的個(gè)數(shù)。

            算法1:用除法和取余實(shí)現(xiàn)。對(duì)于二進(jìn)制操作,除以2,原來的數(shù)將會(huì)減少1個(gè)0,如果在除的過程中有余,就表示當(dāng)前位置為1。

            算法2:使用與(即移位>>)操作。操作,把8位數(shù)字v與00000001進(jìn)行與操作,如果結(jié)果為1,表示當(dāng)前8位的最后1位為1,否則為0,然后再將v右移1位,循環(huán)進(jìn)行。

            算法3:使用與&操作,僅考慮v中1的個(gè)數(shù)。

            算法4:使用分支操作,直接把0~255的情況都羅列出來,使用switch…case…,即可得到答案。

            算法5:使用查表法,將0~255中1的個(gè)數(shù)直接存儲(chǔ)在數(shù)組Array中,v作為數(shù)組的下標(biāo),則Array[v]就是v中1的個(gè)數(shù)。


            評(píng)論


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

            關(guān)閉