嵌入式系統(tǒng)的性能優(yōu)化設(shè)計_第1頁
嵌入式系統(tǒng)的性能優(yōu)化設(shè)計_第2頁
嵌入式系統(tǒng)的性能優(yōu)化設(shè)計_第3頁
嵌入式系統(tǒng)的性能優(yōu)化設(shè)計_第4頁
嵌入式系統(tǒng)的性能優(yōu)化設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

嵌入式系統(tǒng)的低功耗設(shè)計內(nèi)容低功耗設(shè)計概述功耗控制技術(shù)Moblin的功耗控制技術(shù)8.1低功耗設(shè)計概述嵌入式低功耗的重要性嵌入式系統(tǒng)的功耗組成CMOS電路的基本功耗模型8.1.1嵌入式低功耗的重要性HotPlateNuclearReactor386486PentiumPentiumProPentium2Pentium3Pentium4(Prescott)Pentium4為什么功耗問題這么重要?電池容量不遵循摩爾定律增長Processor(MIPS)HardDisk(capacity)Memory(capacity)Battery(energystored)012345616x14x12x10x8x6x4x2x1xImprovement

(comparedtoyear0)Time(years)8.1.2嵌入式系統(tǒng)的功耗組成CPU不再是唯一的功耗的組成處理器、無線通信、屏幕是嵌入式系統(tǒng)的3個主要功耗部件8.1.3CMOS電路的基本功耗模型分為靜態(tài)功耗和動態(tài)功耗——回顧第3章關(guān)于處理器的知識,實際上這一點對所有CMOS電路都適用。靜態(tài)功耗曾經(jīng)微不足道,但現(xiàn)在隨著工藝制程(130nm、90nm、60nm)向深納米發(fā)展,問題已經(jīng)變得非常突出。動態(tài)功耗=aCFV2a為與電路有關(guān)的一個調(diào)整參數(shù);C為一個時鐘周期內(nèi)的總柵電容,對于一個處理器來說它是固定的。V最關(guān)鍵,因為動態(tài)功耗與其平方成正比。此外隨著工藝制程(130nm、90nm、60nm)的發(fā)展,工作電壓要求越來越低。F為時鐘頻率。V與F的制約關(guān)系V越高,可以支持的F越高8.2功耗控制技術(shù)功耗控制可以從不同層次來實現(xiàn),根據(jù)實現(xiàn)效果,從高到低可分為:系統(tǒng)設(shè)計軟件算法設(shè)計硬件的設(shè)計8.2.1系統(tǒng)設(shè)計的低功耗考慮待機模式的設(shè)計卸載計算密集任務(wù)到專用硬件動態(tài)電源管理(DynamicPowerManagement)動態(tài)電壓/頻率調(diào)整(DynamicVoltage/FrequencyScaling)時鐘門控(ClockGating)技術(shù)8.2.1.1待機模式的設(shè)計對于大多數(shù)家電希望能用遙控器控制開關(guān)所以待機時,不能完全斷電。常用的實現(xiàn)方法包括兩種:偽待機方案待機時就是程序不運行,關(guān)閉顯示待機功耗很大備份MCU方案用一個非常低功耗的MCU來負責(zé)遙控器的響應(yīng),并且控制主CPU的電源待機時主CPU完全斷電8.2.1.2卸載計算密集任務(wù)到專用硬件通過把復(fù)雜的計算卸載(offloading)到專門的硬件上,放低對主處理器的主頻要求比如一視頻播放器里的YUV→RGB轉(zhuǎn)換環(huán)節(jié)如果用CPU來做,對于720p的可能要用掉一個嵌入式處理器(400Mhz左右)的全部計算能力,功耗10瓦左右。但是如果用一個專門的硬件電路來做(并行的多個乘加單元),可能10Mhz的工作頻率就夠了,也許幾十個mW功耗就夠了采用具有專門對你的計算密集應(yīng)用有專門加速模塊的SoC比如TIOMAP2420里的Imaging/VideoAccelerator模塊如果價格不敏感,可以直接利用FPGA設(shè)計加速模塊8.2.1.3動態(tài)電源管理(DynamicPowerManagement)很多處理器或者外設(shè)支持多種不同的睡眠模式一般是通過關(guān)斷部分電路的電源實現(xiàn)睡眠不同的睡眠模式下,關(guān)斷的范圍不一樣,從而從睡眠恢復(fù)所需的時間也不一樣盡量讓系統(tǒng)在沒有活動任務(wù)時進入盡可能深的睡眠模式需要操作系統(tǒng)和應(yīng)用軟件的配合才能實現(xiàn)模式切換的頻度的折中從睡眠模式恢復(fù)到正常狀態(tài)的這個過程往往比正常模式還要費電比如硬盤從靜止→啟動到規(guī)定的轉(zhuǎn)速過于激進的切換,可能導(dǎo)致頻繁的恢復(fù),所以反而更耗電過于保守的切換,節(jié)電效果也不好8.2.1.3動態(tài)電源管理處理器功耗管理策略處理器的運行方式可以用一個電源狀態(tài)機來描述:8.2.1.3動態(tài)電源管理處理器功耗管理策略(續(xù))

處理器的電源(即功耗)有兩種不同類型的管理策略:一種是靜態(tài)電源管理機制。它由用戶調(diào)用,不依賴于處理器活動。一個靜態(tài)機制的例子是通過節(jié)電模式來節(jié)省電源。這種方式用一條指令來進入,通過接收一個中斷或其他事件來結(jié)束。另一種是動態(tài)電源管理機制。它是基于處理器的動態(tài)活動來對功耗來進行控制的。例如,當(dāng)指令運行時,如果處理器某些部分的邏輯不需運行,那么處理器也許會關(guān)掉這些特定部分。8.2.1.3動態(tài)電源管理APM、ACPI標(biāo)準(zhǔn)實現(xiàn)嵌入式計算系統(tǒng)的低功耗,需要硬件和操作系統(tǒng)協(xié)同地工作。為協(xié)調(diào)操作系統(tǒng)和硬件對功耗和電源的管理,需要為兩者制定一套統(tǒng)一的接口規(guī)范。最早的規(guī)范是APM(Advancedpowermanagement,高級功耗管理),它是由Intel和微軟聯(lián)手發(fā)布的一組API,使運行于與IBM兼容的個人計算機上的操作系統(tǒng)能與BIOS協(xié)同實現(xiàn)功耗管理。目前的規(guī)范是ACPI(AdvancedConfigurationandPowerInterface,高級配置和電源接口),它是從APM發(fā)展過來的。ACPI是一個電源管理服務(wù)的開放工業(yè)標(biāo)準(zhǔn)。它與多種操作系統(tǒng)兼容,最初目標(biāo)是針對個人計算機的。ACPI提供了一些電源管理的基本工具并抽象出硬件層。操作系統(tǒng)有自己的電源管理模型,它通過ACPI向硬件發(fā)送需求控制,然后觀察硬件狀態(tài)將其作為電源管理的輸入,從而實現(xiàn)對計算機和外圍設(shè)備的電源的控制。8.2.1.3動態(tài)電源管理APM、ACPI標(biāo)準(zhǔn)ACPI在整個計算機系統(tǒng)中結(jié)構(gòu)目前一些流行操作系統(tǒng)和軟件平臺,如WindowsXP、Moblin等,都是支持ACPI。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)當(dāng)任務(wù)空閑(或稱處于非活躍狀態(tài))時,計算機系統(tǒng)可通過進入各種低功耗的工作模式的方式來節(jié)能,這些低功耗的工作模式有時又統(tǒng)稱為“睡眠”模式。系統(tǒng)的這些低功耗工作模式,介于系統(tǒng)完全啟動和完全關(guān)閉狀態(tài)之間,擁有多種形式,每種形式擁有自己的特點,能滿足不同角度的用戶需求。這些工作模式包括:待機(Standby)系統(tǒng)處于“待機(Standby)”模式時,將切斷所用硬件組件的電源,從而減少計算機的電源消耗?!按龣C”可切斷外圍設(shè)備、顯示器甚至硬盤驅(qū)動器的電源,但會保留計算機內(nèi)存的電源,以不至于丟失工作數(shù)據(jù)。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)待機(Standby)(續(xù))待機模式的主要優(yōu)點在于恢復(fù)時間短,只需數(shù)秒時間系統(tǒng)就可恢復(fù)到之前的狀態(tài)。缺點在于待機模式仍需要對內(nèi)存供電。這樣內(nèi)存內(nèi)容將不會被保存到文件夾中,因而也就不會因為內(nèi)存重新加載而影響運行速度。但是,如果在該模式下發(fā)生電源中斷,所有未保存的內(nèi)存內(nèi)容都將丟失。因此,待機又稱為掛起到內(nèi)存(SuspendtoRAM,簡稱STR)。處于待機狀態(tài)的系統(tǒng),除硬盤外,其他設(shè)備還是處于加電等待狀態(tài)(也就是說喚醒時無須重新加電,通俗地說就是原地待命),所以電源、處理器、顯卡等設(shè)備的風(fēng)扇還是處于工作中,鍵盤指示燈也是亮著的。我們可以通過按鍵盤任意鍵或動一下鼠標(biāo)來喚醒電腦,這時硬盤就會重新加電并啟動,然后和內(nèi)存、處理器等設(shè)備交換數(shù)據(jù),從而完成返回到原來工作模式的任務(wù)。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)休眠(Hibernate)系統(tǒng)處于“休眠(Hibernate)”模式時,將保存運行狀態(tài)的一份映像到外部存儲器中,然后關(guān)閉計算機電源。這樣重啟電源時,運行就會恢復(fù)到按原來離開時的樣子,如文件和文檔就會按原來離開時的樣子在桌面上打開。休眠模式比待機模式的脫機程度更深,因此有助于節(jié)省更多的電量,但重啟時間更長。此外,休眠模式還具備更高的安全性。這是因為該模式不僅會像睡眠模式那樣關(guān)閉對外設(shè)和硬盤的供電,而且還會切斷對RAM內(nèi)存芯片的供電。因此,又稱為掛起到硬盤(SuspendtoDisk,簡稱STD)。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)休眠(Hibernate)(續(xù))由于休眠模式會在關(guān)閉電源之前,將內(nèi)存中的所有數(shù)據(jù)保存至(寫入)外部存儲器(一般是硬盤)上的參考文件中。退出休眠模式時,系統(tǒng)將恢復(fù)(讀?。┰撐募⑾鄳?yīng)的數(shù)據(jù)重新加載到內(nèi)存中。這樣,系統(tǒng)就恢復(fù)到了之前的工作模式。由于休眠模式需要保存內(nèi)存數(shù)據(jù),因此與睡眠模式相比,該模式的恢復(fù)(喚醒)時間要更長。這種模式的優(yōu)勢在于其完全不耗電,因此不怕休眠后供電異常,但代價是需要一塊和物理內(nèi)存一樣大小的硬盤空間。而這種模式的恢復(fù)速度較待機模式慢。休眠狀態(tài)的計算機系統(tǒng)幾乎和通常關(guān)機一樣安靜,用戶還可以完全切斷電源,而內(nèi)存的數(shù)據(jù)(即運行狀態(tài))不會由于斷電而丟失。與待機相比,休眠一般難以通過外部設(shè)備來喚醒的,它需要和正常開機一樣啟動系統(tǒng);不過和開機相比,休眠后啟動系統(tǒng)無需一個一個進程地來啟動,只須要將硬盤中的內(nèi)存鏡像讀取到內(nèi)存中即可,因此速度較開機還是快得多。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)睡眠(Sleep)“睡眠(Sleep)”模式結(jié)合了待機和休眠的所有優(yōu)點。將系統(tǒng)切換到睡眠狀態(tài)后,系統(tǒng)會將內(nèi)存中的數(shù)據(jù)全部轉(zhuǎn)存到硬盤上的休眠文件中,然后關(guān)閉除了內(nèi)存外所有設(shè)備的供電,讓內(nèi)存中的數(shù)據(jù)依然維持著。這樣,當(dāng)用戶想要恢復(fù)的時候,如果在睡眠過程中供電沒有發(fā)生過異常,就可以直接從內(nèi)存中的數(shù)據(jù)恢復(fù),速度很快;但如果睡眠過程中供電異常,內(nèi)存中的數(shù)據(jù)已經(jīng)丟失了,還可以從硬盤上恢復(fù),只是速度會慢一點。不過無論如何,這種模式都不會導(dǎo)致數(shù)據(jù)丟失。此外,睡眠模式也不是一直不變地持續(xù)下去的,如果系統(tǒng)進入睡眠模式一段時間后沒有被喚醒,那么還會自動被轉(zhuǎn)入休眠狀態(tài),并關(guān)閉對內(nèi)存的供電,進一步節(jié)約能耗。8.2.1.3動態(tài)電源管理操作系統(tǒng)支持的常見低功耗狀態(tài)實現(xiàn)這些低功耗狀態(tài)節(jié)能,一方面需要操作系統(tǒng)的支持,另一方面也要求硬件提供相應(yīng)的支持,如支持高級配置和電源接口(ACPI),這樣的協(xié)同才能實現(xiàn)上述功能。當(dāng)空閑時間(又稱非活躍時間)達到指定長度,或者檢測出電池電量不足時,操作系統(tǒng)可自動將計算機系統(tǒng)置于各種相應(yīng)的低功耗狀態(tài),從而達到整個系統(tǒng)節(jié)能的目的。8.2.1.4動態(tài)電壓/頻率調(diào)整(DynamicVoltage/FrequencyScaling)某些新的CPU可以讓軟件動態(tài)的改變工作電壓和頻率通常兩者按一定比例同步的修改,電壓上升,可以運行的最高頻率上升某些時候CPU上執(zhí)行的任務(wù)并不一定要求很快完成比如在Windows事件循環(huán)中idle階段的一些處理此時可以將CPU頻率改慢,同時CPU電壓改低→兩者都對降低功耗有貢獻8.2.1.4動態(tài)電壓/頻率調(diào)整動態(tài)電壓/頻率調(diào)整技術(shù)實例:SpeedStep、EIST、C&Q技術(shù)SpeedStep是由Intel公司推出的,對IntelCPU進行功耗控制的一項技術(shù)。后來Intel發(fā)展了該技術(shù),現(xiàn)在一般統(tǒng)稱為EIST(EnhancedIntelSpeedStepTechnology,增強型智能變頻)。此技術(shù)最早用在IntelPentium3-M處理器上,現(xiàn)在IntelPentium46xx、PentiumM、PentiumD、酷睿(Core)、Atom等多種系列上都采用了此技術(shù)。此技術(shù)的基本原理是通過調(diào)整處理器的電壓和頻率,來減少其功耗和發(fā)熱,當(dāng)然隨著電壓和頻率的降低,處理器的處理速度也會隨之有所降低。采用此技術(shù)的系統(tǒng),不僅更加節(jié)能,而且不需要安裝大功率散熱器來散熱,也不用擔(dān)心長時間使用因溫度過高導(dǎo)致電腦不穩(wěn)定。8.2.1.4動態(tài)電壓/頻率調(diào)整動態(tài)電壓/頻率調(diào)整技術(shù)實例:SpeedStep、EIST、C&Q技術(shù)對于AMD處理器,該公司推出了兩種與EIST類似的CPU節(jié)流技術(shù)。一個是C&Q(Cool'n'Quiet)技術(shù),俗稱“涼又靜”。該技術(shù)用在了它的桌面和服務(wù)器處理器生產(chǎn)線上。其目標(biāo)不是去延長電池壽命,因為它并沒有用在AMD移動處理器上,而是為了產(chǎn)生少的熱量。當(dāng)處理器的任務(wù)不是很重時,該技術(shù)會根據(jù)處理器的任務(wù)量的多少來調(diào)用和關(guān)閉一些晶體管,這樣可減少散熱需求,并據(jù)此將系統(tǒng)風(fēng)扇逐漸下降到較低速度,從而產(chǎn)生更涼爽、更安靜的操作,這恰好是該項技術(shù)的名字來由。8.2.1.4動態(tài)電壓/頻率調(diào)整動態(tài)電壓/頻率調(diào)整技術(shù)實例:SpeedStep、EIST、C&Q技術(shù)同樣,要實現(xiàn)C&Q功能,系統(tǒng)必須滿足以下條件:支持C&Q的處理器、支持C&Q的主板和相應(yīng)的BIOS、適當(dāng)?shù)腂IOS設(shè)置、操作系統(tǒng)的支持和正確的系統(tǒng)設(shè)置。另一種CPU節(jié)流(CPUthrottling)技術(shù)是AMDPowerNow。該技術(shù)主要用在移動處理器上,而在桌面系統(tǒng)上也能找到一些支持的CPU,如AMDK6-2+。該技術(shù)以每秒30次的頻率“偵察”處理器的負荷情況,根據(jù)實際情況動態(tài)更改工作頻率和電壓,從而達到降低發(fā)熱和功耗的目的。8.2.1.5時鐘門控(ClockGating)技術(shù)時鐘門控技術(shù)是通過另一種途徑來實現(xiàn)節(jié)能的,它通過關(guān)閉和開啟相關(guān)模塊的時鐘來實現(xiàn)功耗控制的。此技術(shù)最早在諸如OMAP3之類的手機傳統(tǒng)芯片家族中應(yīng)用,而Intel從Pentium4處理器也開始采用它來實現(xiàn)節(jié)能。采用時鐘門控技術(shù),如果在當(dāng)前的時鐘周期內(nèi),系統(tǒng)沒有用到某些邏輯模塊,則切斷這些模塊的時鐘信號,關(guān)閉模塊的電路使其邏輯開關(guān)不改變狀態(tài),這樣僅需要保留漏電流而其切換功率消耗接近于零,從而達到降低功耗的效果。而當(dāng)有工作要做時,重新激活模塊的時鐘。以上過程又稱裁剪時鐘樹(pruneclocktree)。從某種意義上來說,時鐘門控實際上是可變頻率時鐘的一種極限情況——即只有零和最高頻率兩種值。為實現(xiàn)此技術(shù),要求每個模塊——又稱功能單元塊(FunctionalUnitBlock,F(xiàn)UB)——都包含有時鐘門邏輯電路,也就是說,要實現(xiàn)時鐘樹的裁剪必須有附加邏輯部件來保證。時鐘門控有幾種實現(xiàn)形式。一種是通過軟件的手工時鐘門控,此方法中,由驅(qū)動來開啟或關(guān)閉指定空閑控制器所使用的不同時鐘。另一種是自動時鐘門控,此方法中,硬件能被告知或自己檢測到是否有工作在做,然后如果指定時鐘不再需要的話則關(guān)閉它。這些模式互相影響、融合。例如,一個內(nèi)部橋或總線可能會使用自動門控,這樣它始終被門控關(guān)閉著,直到處理器或DMA引擎需要使用它才結(jié)束。而總線上的外圍設(shè)備如果在軟件上沒有使用到的話,則可能被驅(qū)動程序中的門控相關(guān)代碼關(guān)閉。8.2.2軟件的考慮

程序設(shè)計中的低功耗遵循的主要的原則和建議有:1.低功耗優(yōu)化的最基本原則低功耗優(yōu)化的最基本原則盡量減少處理器和各種外設(shè)的工作時間。當(dāng)不需要某個外設(shè)和不需要處理器運算時,盡可能地把處理器和外設(shè)的功耗降低或關(guān)閉。由于處理器的功耗在系統(tǒng)的總功耗中所占比例較大,因此要盡可能縮短處理器的工作時間,較長地處于空閑方式或掉電方式是軟件設(shè)計降低嵌入式系統(tǒng)功耗的關(guān)鍵。8.2.2軟件的考慮2.總體建議是:高性能=低功耗基本上所有軟件層次的性能優(yōu)化的措施對于降低功耗都是有積極作用的:算法層次優(yōu)化→減少運算次數(shù)→降低CPU頻率要求實現(xiàn)層次優(yōu)化減少完成同樣的運算次數(shù)所需的CPU時鐘數(shù)→降低CPU頻率要求減少內(nèi)存數(shù)據(jù)搬運次數(shù)→減少總線、內(nèi)存的功耗一般來說,在電壓固定的大多數(shù)情況下,短暫時間內(nèi)以峰值速度運行而長時間地處于深度空閑狀態(tài),比長時間以低時鐘率(即工作頻率)運行而僅以短時間處于輕度空閑狀態(tài),節(jié)能的效率要高得多。因此,同樣的任務(wù)以最短的時間運行完,然后進入空閑狀態(tài),比以較長的時間運行完,然后才進入短暫的空閑狀態(tài),消耗的電能要少得多。采用快速算法也可以降低功耗,這實際上也是遵循了高性能等于低功耗這條建議。8.2.2軟件的考慮3.盡量使用功耗低的硬件來實現(xiàn)任務(wù)完成同樣的任務(wù)可以選擇不同的硬件來實現(xiàn),然而不同的硬件的功耗開銷是不一樣,應(yīng)該選擇功耗低的硬件來實現(xiàn)。一般地,寄存器訪問的能耗是最低的,高速緩存訪問的能耗比主存訪問的能耗低。因此在程序設(shè)計時應(yīng)該盡量遵循以下建議:盡量有效使用寄存器。分析高速緩存行為來發(fā)現(xiàn)主要的高速緩存沖突。盡可能在存儲系統(tǒng)中使用頁模式訪問。8.2.2軟件的考慮4.輪詢是低功耗優(yōu)化的大敵。程序在等待狀態(tài)改變或者訪問外設(shè)時可能會采用輪詢(poll)的方法,此方法有時又稱“飛速旋轉(zhuǎn)”(spinning)代碼。輪詢讓處理器重復(fù)執(zhí)行幾條指令,其功率消耗與繁重計算任務(wù)基本相當(dāng),而其作用僅僅是等待狀態(tài)改變,卻無法讓等待期進入空閑狀態(tài),造成功耗的大量浪費。因此,在低功耗設(shè)計中,應(yīng)該盡量避免使用輪詢,而使用替代方法。例如,對外設(shè)的訪問使用中斷方式來代替輪詢;客戶-服務(wù)器協(xié)作模型中,將客戶端不停地查詢服務(wù),改為服務(wù)器主動推(push)服務(wù)給客戶端;在線程同步時,如果需要查詢狀態(tài)改變,可以使用操作系統(tǒng)提供的事件量(event)、信號量(semaphore)等服務(wù)來實現(xiàn)。8.2.2軟件的考慮5.事件驅(qū)動的程序設(shè)計方法從軟件設(shè)計方法來說,低功耗程序應(yīng)該盡量遵循事件驅(qū)動的程序設(shè)計。所謂事件驅(qū)動的程序設(shè)計就是程序設(shè)計成響應(yīng)事件的模式:當(dāng)有事件來就運行處理事件;當(dāng)沒有事件到達,或事件處理完程序放棄處理器處于“休眠”狀態(tài)。這里說的事件是廣義的事件,包括用戶的輸入、網(wǎng)絡(luò)通信事件、進程/線程同步時的事件等。在Windows系統(tǒng)中,事件驅(qū)動被稱為消息驅(qū)動。采用事件驅(qū)動設(shè)計的程序,使處理器的利用率特別高:只有真正有事情要處理時才運行,無事情處理時,讓出處理器,這樣操作系統(tǒng)和硬件就能在處理器讓出的時間內(nèi)及時地偵測到處理器處于空閑狀態(tài),從而做出降低功耗的操作。事件驅(qū)動的程序設(shè)計方法在嵌入式系統(tǒng)的一個特殊分支領(lǐng)域——無線傳感器網(wǎng)絡(luò)——中幾乎被當(dāng)做鐵的紀律。8.2.2軟件的考慮6.減少程序中類似于輪詢的周期性操作前面說輪詢操作使系統(tǒng)消耗不必要的電能,而實際上,程序中一些不必要的周期性觸發(fā)或運行的操作同樣有著與輪詢類似的消耗不必要的電能的效果。Moblin中的TicklessIdle技術(shù)實際上是操作系統(tǒng)內(nèi)核程序遵循此原則采取的改進,即去除內(nèi)核中周期性的定時操作。此外還有很多Linux應(yīng)用程序中常見的不必要的周期性觸發(fā)或運行的操作。例如鼠標(biāo)移動(每秒1次,在屏保中常用)、音量改變(每秒10次,在混頻器程序中常用)。這些常見的不必要的周期性觸發(fā)或運行的操作,會導(dǎo)致系統(tǒng)從空閑狀態(tài)中不必要地喚醒,應(yīng)該引起我們的注意,小心地加以避免或改進,否則它們會輕易地抵消掉各種節(jié)能技術(shù)帶來的功耗節(jié)省。8.2.2軟件的考慮7.通信、數(shù)據(jù)采集上的低功耗建議在數(shù)據(jù)采集中,A/D轉(zhuǎn)換需要消耗功率,采集的速度越快,則消耗的功率越多,而產(chǎn)生的數(shù)據(jù)量也越大,處理器需要花費越多的時間來處理數(shù)據(jù),從而功耗越大。因此數(shù)據(jù)采集時中盡量降低采集的速率。在通信模塊設(shè)計中,盡量地提高傳送的波特率(每秒鐘串行口傳送的數(shù)據(jù)位數(shù))。提高通信速率,就意味著通信時間的縮短,因而減少了通信時高功耗的時間,降低了總的功耗。同理,在使用WiFi通信時,應(yīng)多使用突發(fā)(burst)模式來傳輸數(shù)據(jù),這樣可以縮短通信(特別是發(fā)送數(shù)據(jù))的時間,便于WiFi設(shè)備盡快進入空閑狀態(tài)。傳感器網(wǎng)絡(luò)中,此建議的形式稍微有所變化:減少網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)的容量就能節(jié)省網(wǎng)絡(luò)內(nèi)部處理所消耗的能量。因此在傳感器網(wǎng)絡(luò)中應(yīng)該盡量減少通信數(shù)據(jù)量,而不是單純地縮短通信時間。8.2.2軟件的考慮8.外設(shè)通信和界面設(shè)計上的低功耗建議如果外設(shè)支持動態(tài)電源調(diào)整,盡量用突發(fā)(burst)模式來訪問數(shù)據(jù)比如本來播放一個大小為2MB的視頻文件以每秒200KB讀數(shù)據(jù)的話需要10s的時間,但是如果在第一秒以2MB速率讀數(shù)據(jù)的話,后9秒相應(yīng)外設(shè)可以進入休眠狀態(tài)。GUI如果不是一定需要用16位色就夠了,24位/32位色意味著更多的計算和內(nèi)存數(shù)據(jù)的搬移→更高的功耗8.2.2軟件的考慮9.建立電源感知的程序嵌入式系統(tǒng)(如MID、上網(wǎng)本等)的電源經(jīng)常在連接外接電源和未連接外接電源(即使用電池電源)狀態(tài)之間切換,這兩種電源狀態(tài)對軟件的功耗要求完全不同,前者對功耗不敏感,但多半也會要求性能優(yōu)先,而后者對功耗敏感,因此需要在性能和功耗之間進行平衡。對此,應(yīng)用程序應(yīng)當(dāng)檢測出設(shè)備當(dāng)前使用電源的類型,做出與電源相關(guān)變化相適應(yīng)的調(diào)整,即達到電源感知(power-aware)的效果。此外電源管理中存在一些潛在的可能會影響軟件行為的因素,如設(shè)備電池低于特定閾值時轉(zhuǎn)入關(guān)閉狀態(tài),以及自動休眠等。應(yīng)用設(shè)計時也應(yīng)考慮這些電源管理事件帶來的環(huán)境變化,重視這些因素給運行可能帶來的影響,做出相應(yīng)的應(yīng)對,這就達到某種電源管理感知的效果。例如,應(yīng)用正在進行耗時的運算(如冗長的浮點運算、查詢循環(huán)系統(tǒng)、復(fù)雜的圖形重現(xiàn)等),就可能被這些電源管理事件所中斷或暫停,作為應(yīng)對措施之一是需要及時地保存現(xiàn)場,在環(huán)境允許時,及時從中斷狀態(tài)中恢復(fù)。此外還可以針對電源進行某種防御性編程。如提前考慮到用戶將會啟動的任務(wù)(例如,播放電影)。提前確定是否有足夠的電池電量來完成該任務(wù),并且如果根據(jù)電池電量的當(dāng)前狀態(tài)不能成功完成,則要在任務(wù)啟動時向用戶報警。程序通過多種可能的方式開來讀取電源的狀態(tài),來決定程序應(yīng)該采取的行動。8.2.3硬件的設(shè)計使用低功耗工藝的器件改善芯片的電路設(shè)計和制造工藝,是一種在物理級別上獲得節(jié)能效果的技術(shù)。如:SoI(絕緣體上硅結(jié)構(gòu)),High-K(高介電常數(shù))等。在保證吞吐率的情況下,降低總線寬度總線越寬,需要驅(qū)動的信號越多,功耗越大盡量選用低電壓版本的器件例如:1.8vMobileDDRSDRAMvs2.5V標(biāo)準(zhǔn)DDRSDRAM8.2.3硬件的設(shè)計節(jié)能的電路設(shè)計和制造工藝例子其中之一是采用超低電壓(UltraLowVoltage,ULV)技術(shù)的處理器。ULV系列處理器一方面降低處理器核心電壓,另一方面有選擇地縮減處理器的核心數(shù)量甚至尺寸,從而從硬件上(物理上)實現(xiàn)功耗的控制。此外,與ULV處理器類似,45納米制造工藝也是從硬件層面上降低處理器的功耗,只不過其技術(shù)涉及面更廣一點??傮w來說,45納米制造工藝能將處理器內(nèi)部晶體管間的切換功耗降低近30%,將晶體管切換速度提高20%,而減少柵極漏電流10倍以上,源極向漏極的漏電流5倍以上。這就為芯片帶來更低的功耗和更持久的電池續(xù)航時間,同時擁有更多的晶體管數(shù)目以及更小尺寸。IntelAtom就采用了45納米制造工藝節(jié)能技術(shù)。隨著制造工藝的發(fā)展,制造精度的進一步提升,芯片在其尺寸越來越小的同時,其物理功耗也就越來越低。8.3Moblin的功耗控制技術(shù)Moblin作為基于IntelAtom的軟件平臺,其突出的特點之一是對低功耗的重視和支持。Moblin功耗控制和管理包括了多個方面的技術(shù)和組成部分,這些組件實現(xiàn)的層次不同,有的集成在Linux內(nèi)核中,如TicklessIdle;有的作為Moblin基礎(chǔ)層的一個模塊出現(xiàn),如設(shè)備和總線功耗管理;有的則以工具的形式出現(xiàn),如PowerTOP、BLTK等。這些組件大部分不是Moblin所特有的,如TicklessIdle技術(shù)已應(yīng)用于當(dāng)前各種Linux中,很多Linux也配備了BLTK。8.3Moblin的功耗控制技術(shù)

下面我們其中幾個組件重點介紹一下:1.TicklessIdle無滴答空閑(TicklessIdle),有的翻譯成“非固定頻率”、“沒有空循環(huán)”等,是一種用在Linux內(nèi)核中用以提高功耗節(jié)省能力的技術(shù)。傳統(tǒng)的Linux內(nèi)核對處理器使用一個周期定時器,來記錄系統(tǒng)狀態(tài),調(diào)度負載平衡、維持各種處理器定時器事件等。早期的定時器頻率一般是100Hz,而新內(nèi)核則使用250Hz或1000Hz。然而,當(dāng)處理器空閑時,這些周期定時事件卻消耗著大量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論