運(yùn)行時(shí)電源管理技術(shù)的原理是什么?
通常情況下在實(shí)時(shí)嵌入式系統(tǒng)中可部署一些設(shè)計(jì)及運(yùn)行時(shí)電源管理技術(shù)。盡管我們討論的是某些可擴(kuò)大標(biāo)準(zhǔn)多線程讀取操作系統(tǒng)(OS)的特定電源管理技術(shù),但應(yīng)當(dāng)強(qiáng)調(diào)指出的是,采用搶先式(preemptive)的多線程讀取OS本身常常能夠?qū)崿F(xiàn)顯著的電源節(jié)約。不利用OS的實(shí)時(shí)應(yīng)用常常要求應(yīng)用周期性探詢(xún)接口以檢測(cè)事件。從電源角度看,這樣的效率是相當(dāng)?shù)偷?。使用OS可使應(yīng)用能夠利用中斷驅(qū)動(dòng)模式,其中程序就會(huì)在需要的時(shí)候開(kāi)始執(zhí)行,以響應(yīng)外部事件。此外,當(dāng)基于OS的應(yīng)用沒(méi)有可做的事情時(shí),其就會(huì)進(jìn)入空閑線程,這時(shí)則可啟動(dòng)低功率操作模式,以減少功耗。
但是,操作系統(tǒng)除了能簡(jiǎn)單地為DSP內(nèi)核啟用空閑模式之外,其還需要提供復(fù)雜得多的電源管理支持。在實(shí)踐中,大量功率被周邊設(shè)備所消耗,可能是片上器件,也可能是外部設(shè)備,此外存儲(chǔ)器也會(huì)消耗大量功率。任何電源管理方法都應(yīng)當(dāng)具備管理外設(shè)功耗的支持,這是至關(guān)重要的。此外,電壓與功耗之間的平方關(guān)系意味著,更高效的方法是在要求較低電壓的較低時(shí)鐘速率上執(zhí)行代碼,而不是先以最高的時(shí)鐘速率執(zhí)行而后再轉(zhuǎn)為空閑。我們將概括講解在操作系統(tǒng)中實(shí)施電源管理支持的眾多機(jī)遇:
系統(tǒng)上電行為:處理器及其片上外設(shè)一般均以最高時(shí)鐘速率全面上電啟動(dòng)。不可避免的是,有些資源的供電啟動(dòng)還尚不需要,或者根本就不會(huì)在應(yīng)用過(guò)程中用到。舉例而言,MP3播放器就很少使用其USB端口與PC進(jìn)行通信。在啟動(dòng)時(shí),操作系統(tǒng)必須為應(yīng)用提供一種調(diào)節(jié)系統(tǒng)的機(jī)制,從而關(guān)閉不必要的電源消耗器件或使之處于空閑狀態(tài)。
空閑模式:CMOS電路中的有效功耗只有在當(dāng)電路進(jìn)行時(shí)鐘計(jì)時(shí)的情況下才發(fā)生。通過(guò)關(guān)閉不需要的時(shí)鐘,可以消除不必要的有效功耗。在等待外部事件時(shí),大多數(shù)DSP都融入了暫時(shí)終止CPU有效功耗的機(jī)制。CPU時(shí)鐘的"閑置"通常由"停止"或"閑置"指令觸發(fā),其在應(yīng)用或操作系統(tǒng)閑置時(shí)進(jìn)行調(diào)用。一些DSP進(jìn)行多個(gè)時(shí)鐘域分區(qū),可以使這些域分別處于空閑狀態(tài),以中止未使用模塊中的有效功耗。例如,在TI的TMS320C5510 DSP中,可以有選擇性地使6個(gè)時(shí)鐘域閑置,其中包括CPU、高速緩存、DMA、外設(shè)時(shí)鐘、時(shí)鐘生成器,以及外部存儲(chǔ)器接口。
除了支持閑置DSP及其片上外設(shè)之外,操作系統(tǒng)還必須提供用于閑置外部周邊設(shè)備的機(jī)制。例如,一些編碼譯碼器具備可以被激活的內(nèi)置低功率模式。我們面臨的一個(gè)挑戰(zhàn)是類(lèi)似看門(mén)狗定時(shí)器這樣的外設(shè)。通常情況下,看門(mén)狗定時(shí)器應(yīng)根據(jù)預(yù)定義的時(shí)間間隔提供服務(wù),以避免其激活。這樣,減緩或中止處理的電源管理技術(shù)就可能無(wú)意中導(dǎo)致應(yīng)用故障。因此,該OS應(yīng)當(dāng)使應(yīng)用在睡眠模式期間禁用此類(lèi)外設(shè)。
斷電:盡管空閑模式消除了有效功耗,但靜態(tài)功耗即便在電路不進(jìn)行切換的情況下也會(huì)出現(xiàn),這主要是由于逆向偏壓泄漏(reverse-bias leakage)造成的。如果系統(tǒng)包括的某個(gè)模塊不必隨時(shí)供電,那么我們就可以通過(guò)讓操作系統(tǒng)僅在需要時(shí)才為子系統(tǒng)上電,從而減少功耗。到目前為止,嵌入式系統(tǒng)開(kāi)發(fā)商對(duì)最小化靜態(tài)功耗投入的工作極少,因?yàn)镃MOS電路的靜態(tài)功耗非常低。但是,新型、具有更高性能的晶體管使電流泄漏顯著增加,這就要求我們對(duì)可降低靜態(tài)功耗及更復(fù)雜的睡眠模式給予新的關(guān)注。
電壓與頻率縮放(frequency scaling)有效功耗與切換頻率成線性比例,但與電源電壓成平方比。以較低的頻率運(yùn)行應(yīng)用與在全時(shí)鐘頻率上運(yùn)行該應(yīng)用并轉(zhuǎn)入閑置相比,談不上節(jié)約了多少功率。但是,如果頻率與平臺(tái)上可用的更低操作電壓兼容的話,那么我們就可能通過(guò)降低電壓來(lái)實(shí)現(xiàn)顯著的節(jié)約,這正是由于上述平方關(guān)系的緣故。這也使人們就如何通過(guò)電壓縮放來(lái)節(jié)約功率進(jìn)行了大量的學(xué)術(shù)研究。
盡管電壓縮放是一種潛在的、非常誘人的、降低功耗的方法,但在現(xiàn)實(shí)世界的應(yīng)用中我們對(duì)其加以利用時(shí)應(yīng)當(dāng)小心。這是由于我們需要完全了解該系統(tǒng)是否仍能滿(mǎn)足它的實(shí)時(shí)最后期限。降低電壓(進(jìn)而降低CPU頻率)將改變給定任務(wù)的執(zhí)行時(shí)間,從而有可能導(dǎo)致人物錯(cuò)過(guò)實(shí)時(shí)最后期限。即便新頻率與最后期限兼容,但如果開(kāi)關(guān)頻率及電壓的等待時(shí)間太長(zhǎng),還是會(huì)出現(xiàn)問(wèn)題。影響等待時(shí)間的因素包括如下:
* 對(duì)穩(wěn)壓器進(jìn)行再編程所需時(shí)間
* DSP能否在電壓更改期間繼續(xù)執(zhí)行其他任何代碼
需要對(duì)外設(shè)進(jìn)行再編程,如串行端口或外部存儲(chǔ)器接口,與接收不同始終來(lái)源的周邊外設(shè)相接。例如,CPU 時(shí)鐘速率降低可能要求減少訪問(wèn)外部存儲(chǔ)器的等待狀態(tài)數(shù)量。
對(duì)用于生成操作系統(tǒng)時(shí)鐘報(bào)時(shí)信號(hào)的計(jì)時(shí)器進(jìn)行再編程的可能性,將影響操作系統(tǒng)時(shí)基的絕對(duì)正確性。
盡管電壓縮放實(shí)際等待時(shí)間會(huì)根據(jù)所選DSP以及需要再編程外設(shè)的數(shù)量而不同,但在許多系統(tǒng)中,等待時(shí)間僅為幾百微秒甚至幾毫秒。在許多實(shí)時(shí)應(yīng)用中,這將使電壓縮放不切實(shí)際。盡管存在上述弱點(diǎn),但僅在某些可事先預(yù)見(jiàn)的模式下,那些需要完全處理功率的應(yīng)用,還是有可能利用電壓縮放的。例如,便攜式音樂(lè)播放機(jī)可利用DSP進(jìn)行MP3譯碼及用戶(hù)接口要求的一般控制處理。如果僅MP3譯碼要求完全時(shí)鐘速率,那么DSP便可在執(zhí)行用戶(hù)接口功能時(shí)降低其電壓,而僅在音樂(lè)數(shù)據(jù)開(kāi)始流向DSP時(shí)才以完全功率工作。