浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 傳感與控制

常用的降低軟件功耗的方法

發(fā)布時(shí)間:2012/2/18 19:30:03 訪問(wèn)次數(shù):1306

     采用高效率的算法可以有效地降低功耗,一些常用的方法如下:JJF1E1614C030R100    
    (1)用查表的方法代替實(shí)時(shí)的計(jì)算,盡量減少CPU的運(yùn)算量。特別是在沒(méi)有硬件浮點(diǎn)處理單元的MCU進(jìn)行浮點(diǎn)處理時(shí),直接用MCU進(jìn)行浮點(diǎn)處理將會(huì)消耗大量的時(shí)間。將一些運(yùn)算的結(jié)果預(yù)先算好,放在Flash存儲(chǔ)器中,用查表的方法替代實(shí)時(shí)的計(jì)算,減少CPU的運(yùn)算工作量,可以有效地降低CPU的功耗。很多微處理器都有快速有效的查表指令和尋址方式,用于優(yōu)化查表算法。這種處理萬(wàn)法在離散余弦變換和A/D數(shù)據(jù)采集中能夠帶來(lái)可觀的效率提升。
    (2)對(duì)于不可避免的實(shí)時(shí)計(jì)算,應(yīng)注意計(jì)算的精度,算到精度夠了就應(yīng)立即結(jié)束,避免“過(guò)度”的計(jì)算。在精度允許的情況下,使用簡(jiǎn)單函數(shù)代替復(fù)雜函數(shù)作近似運(yùn)算,也是減少功耗的有效方法。
    (3)盡量使用短的數(shù)據(jù)類型,如盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù)。
    (4)盡量使用分?jǐn)?shù)運(yùn)算而避免浮點(diǎn)數(shù)運(yùn)算等。
    (5)用移位運(yùn)算代替乘除法運(yùn)算。采用MCU計(jì)算乘除法也是非常耗時(shí)的,如果采用左移和右移的辦法來(lái)實(shí)現(xiàn)乘除法運(yùn)算,將會(huì)減少運(yùn)算時(shí)間。注意,除法的移位計(jì)算只能針對(duì)除數(shù)比較特殊的情況。
    (6)采用快速算法。在搜索算法中,使用二分搜索算法和分段查找算法的效率是不同的。從理論上可以估算,在1024個(gè)測(cè)量值的查找中,二分搜索最壞情況下10次可以查找到結(jié)果,順序搜索最壞可能需要1024次。這在測(cè)量數(shù)值更多的情況下更為突出,一個(gè)高效率的查找算法有助于減小程序運(yùn)行功耗。
    (7)數(shù)字信號(hào)處理中的運(yùn)算,采用FFT和快速卷積等,可以節(jié)省大量運(yùn)算時(shí)間。
    (8) -個(gè)程序使用中斷方式還是查詢方式,對(duì)于很多應(yīng)用來(lái)說(shuō)并不那么重要,但在軟件低功耗設(shè)計(jì)特性上卻相差甚遠(yuǎn)。例如,ADC在采榘少量的數(shù)據(jù)時(shí),MCU讀取A/D轉(zhuǎn)換數(shù)據(jù)可以采用查詢方式或中斷方式。查詢方式和中斷方式的低功耗特性相差甚遠(yuǎn)。使用中斷方式,MCU可以什么都不做,甚至可以進(jìn)入待機(jī)或停止模式。而采用查詢方式,MCU必須不停地讀取I/O端口寄存器,需要消耗很多額外的功耗。
    (9)采用定時(shí)器。在程序中可以采用軟件延時(shí)。但是,如果系統(tǒng)的定時(shí)器資源充裕,在需要定時(shí)的場(chǎng)合,最好采用硬件定時(shí)器,當(dāng)定時(shí)器到了定時(shí)時(shí)間后,向MCU發(fā)出中斷請(qǐng)求信號(hào),這樣可以減少M(fèi)CU的工作時(shí)間,進(jìn)而可以降低功耗。
    (10)用宏代替子程序。在程序執(zhí)行的過(guò)程中,讀RAM需要比讀Flash更大的功耗。宏是在編譯器預(yù)處理階段進(jìn)行替代,而在子程序的調(diào)用中MCU需要進(jìn)行現(xiàn)場(chǎng)保護(hù)。
     采用高效率的算法可以有效地降低功耗,一些常用的方法如下:JJF1E1614C030R100    
    (1)用查表的方法代替實(shí)時(shí)的計(jì)算,盡量減少CPU的運(yùn)算量。特別是在沒(méi)有硬件浮點(diǎn)處理單元的MCU進(jìn)行浮點(diǎn)處理時(shí),直接用MCU進(jìn)行浮點(diǎn)處理將會(huì)消耗大量的時(shí)間。將一些運(yùn)算的結(jié)果預(yù)先算好,放在Flash存儲(chǔ)器中,用查表的方法替代實(shí)時(shí)的計(jì)算,減少CPU的運(yùn)算工作量,可以有效地降低CPU的功耗。很多微處理器都有快速有效的查表指令和尋址方式,用于優(yōu)化查表算法。這種處理萬(wàn)法在離散余弦變換和A/D數(shù)據(jù)采集中能夠帶來(lái)可觀的效率提升。
    (2)對(duì)于不可避免的實(shí)時(shí)計(jì)算,應(yīng)注意計(jì)算的精度,算到精度夠了就應(yīng)立即結(jié)束,避免“過(guò)度”的計(jì)算。在精度允許的情況下,使用簡(jiǎn)單函數(shù)代替復(fù)雜函數(shù)作近似運(yùn)算,也是減少功耗的有效方法。
    (3)盡量使用短的數(shù)據(jù)類型,如盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù)。
    (4)盡量使用分?jǐn)?shù)運(yùn)算而避免浮點(diǎn)數(shù)運(yùn)算等。
    (5)用移位運(yùn)算代替乘除法運(yùn)算。采用MCU計(jì)算乘除法也是非常耗時(shí)的,如果采用左移和右移的辦法來(lái)實(shí)現(xiàn)乘除法運(yùn)算,將會(huì)減少運(yùn)算時(shí)間。注意,除法的移位計(jì)算只能針對(duì)除數(shù)比較特殊的情況。
    (6)采用快速算法。在搜索算法中,使用二分搜索算法和分段查找算法的效率是不同的。從理論上可以估算,在1024個(gè)測(cè)量值的查找中,二分搜索最壞情況下10次可以查找到結(jié)果,順序搜索最壞可能需要1024次。這在測(cè)量數(shù)值更多的情況下更為突出,一個(gè)高效率的查找算法有助于減小程序運(yùn)行功耗。
    (7)數(shù)字信號(hào)處理中的運(yùn)算,采用FFT和快速卷積等,可以節(jié)省大量運(yùn)算時(shí)間。
    (8) -個(gè)程序使用中斷方式還是查詢方式,對(duì)于很多應(yīng)用來(lái)說(shuō)并不那么重要,但在軟件低功耗設(shè)計(jì)特性上卻相差甚遠(yuǎn)。例如,ADC在采榘少量的數(shù)據(jù)時(shí),MCU讀取A/D轉(zhuǎn)換數(shù)據(jù)可以采用查詢方式或中斷方式。查詢方式和中斷方式的低功耗特性相差甚遠(yuǎn)。使用中斷方式,MCU可以什么都不做,甚至可以進(jìn)入待機(jī)或停止模式。而采用查詢方式,MCU必須不停地讀取I/O端口寄存器,需要消耗很多額外的功耗。
    (9)采用定時(shí)器。在程序中可以采用軟件延時(shí)。但是,如果系統(tǒng)的定時(shí)器資源充裕,在需要定時(shí)的場(chǎng)合,最好采用硬件定時(shí)器,當(dāng)定時(shí)器到了定時(shí)時(shí)間后,向MCU發(fā)出中斷請(qǐng)求信號(hào),這樣可以減少M(fèi)CU的工作時(shí)間,進(jìn)而可以降低功耗。
    (10)用宏代替子程序。在程序執(zhí)行的過(guò)程中,讀RAM需要比讀Flash更大的功耗。宏是在編譯器預(yù)處理階段進(jìn)行替代,而在子程序的調(diào)用中MCU需要進(jìn)行現(xiàn)場(chǎng)保護(hù)。
相關(guān)技術(shù)資料
2-18常用的降低軟件功耗的方法
相關(guān)IC型號(hào)
JF1E1614C030R100
暫無(wú)最新型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

滑雪繞樁機(jī)器人
   本例是一款非常有趣,同時(shí)又有一定調(diào)試難度的玩法。EDE2116AB... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!