動(dòng)態(tài)電源管理技術(shù)優(yōu)化嵌入式應(yīng)用性能與功耗比
消費(fèi)者對(duì)采用多媒體嵌入式處理器產(chǎn)品的需求迅速增長(zhǎng),這既要求提高性能又要求降低功耗。但是高性能處理必須增加計(jì)算復(fù)雜度并加快時(shí)鐘速率,如果采用權(quán)宜之計(jì)的節(jié)省功耗設(shè)計(jì)方案,是很難實(shí)現(xiàn)的。我們需要的是一種具有戰(zhàn)略意義的方法來(lái)管理功耗,以便在具體的嵌入式應(yīng)用中優(yōu)化性能與功耗的關(guān)系。利用Blackfin數(shù)字信號(hào)處理器(DSP)系列產(chǎn)品固有的動(dòng)態(tài)電源管理能力,可以實(shí)現(xiàn)這樣的方法。
Blackfin DSP是定點(diǎn)、雙16位MAC或雙40位ALU數(shù)字信號(hào)處理器。它們非常適合于對(duì)功耗敏感的多媒體應(yīng)用,因?yàn)樗鼈冎С忠环N多級(jí)的電源管理方法,可以根據(jù)系統(tǒng)的需求調(diào)整性能。下面我們先來(lái)看看嵌入式系統(tǒng)中的幾個(gè)關(guān)鍵的功耗問(wèn)題考慮,再看看Blackfin處理器系列如何采樣動(dòng)態(tài)電源管理功能來(lái)解決這些問(wèn)題。
1. 改變頻率和電壓
現(xiàn)代DSP通常適合用于采用CMOS 場(chǎng)效應(yīng)管(FET)開(kāi)關(guān)的一種處理過(guò)程,在穩(wěn)定的狀態(tài)期間要么完全導(dǎo)通,要么完全關(guān)斷(漏電流除外)。靜態(tài)功耗(處理器空閑時(shí)的靜態(tài)功耗)通常要比動(dòng)態(tài)功耗低得多,動(dòng)態(tài)功耗是當(dāng)器件頻繁地開(kāi)關(guān)并且電壓擺動(dòng)時(shí)由于FET負(fù)載電容以極高的開(kāi)關(guān)頻率充放電引起的。
在
器件的等效負(fù)載電容中存儲(chǔ)的電荷量(Q)等于電容乘以其兩端所存儲(chǔ)的電壓(也就是DSP的內(nèi)核電源電壓,Vcore),
Q = CVcore,
因?yàn)榻o此電容充電的器件電流定義為電荷對(duì)時(shí)間的變化率,即動(dòng)態(tài)電流(Idyn),由下式給出
Idyn = dQ/dt = C(dVcore/dt)
電容器電壓隨時(shí)間的變化率dVcore/dt是電容充電速度或放電速度的一種度量。對(duì)于給定的時(shí)鐘頻率(F),因?yàn)樽羁焱瓿梢淮纬潆娀蚍烹姂?yīng)發(fā)生在一個(gè)時(shí)鐘周期內(nèi)。因此
dVcore/dt = Vcore(F)
Idyn = C(dVcore/dt) = CVcoreF
最后,動(dòng)態(tài)功耗與Vcore×Idyn成正比,或者
Pdyn ∝ CVcore2F
因此很顯然,動(dòng)態(tài)功耗與工作電壓的平方成正比,與工作頻率成正比。所以,如果降低F可以線性地降低動(dòng)態(tài)功耗,而降低Vcore可以呈指數(shù)地降低功耗。
考慮圖1中的應(yīng)用組合了三種不同的DSP功能,所以它們具有完全不同的性能需求:
F0(x) 1.5 V 300 MHz
F1(y) 1.0 V 100 MHz
F2(z) 1.3 V 225 MHz
例如,F(xiàn)0(x)可能是一種視頻處理算法,F(xiàn)1(y)可能是某種監(jiān)視模式(其中DSP采集數(shù)據(jù)并進(jìn)行很少的處理),而F2(z)可能是將壓縮視頻流送出串行端口的過(guò)程。
當(dāng)DSP長(zhǎng)時(shí)間處于監(jiān)視活動(dòng)中時(shí),僅僅改變頻率(不改變電壓)對(duì)功耗敏感的應(yīng)用中是很有用的。也就是說(shuō),如果DSP正在等待一個(gè)外部觸發(fā),它就不需要以最高頻率運(yùn)行。
但是,在某些電池供電應(yīng)用中,簡(jiǎn)單地改變頻率對(duì)于節(jié)省功耗可能還不夠。例如,如果某應(yīng)用運(yùn)行了三部分的代碼,降低其中任何一部分的工作頻率都意味著這部分代碼會(huì)花更長(zhǎng)的時(shí)間去運(yùn)行。但是如果DSP運(yùn)行時(shí)間加長(zhǎng)的話,當(dāng)三部分代碼都完成時(shí),消耗的總功率是一樣的。例如,如果頻率降低二分之一,代碼會(huì)執(zhí)行兩倍長(zhǎng)的時(shí)間,所以就不能節(jié)省凈功耗。
另一方面,通過(guò)降低電壓和頻率可以節(jié)省相當(dāng)大的功耗。節(jié)省的功耗可以用下式來(lái)表征:
PR/PN=(FCR/FCN)(VDDR/VDDN)2(TFR/TFN)
其中:
* PR/PN表示降低功耗與標(biāo)稱功耗的比率
* FCN表示標(biāo)稱內(nèi)核的時(shí)鐘頻率
* FCR表示降低內(nèi)核的時(shí)鐘頻率
* VDDN表示標(biāo)稱內(nèi)部電源電壓
* VDDR表示降低內(nèi)部電源電壓
* TFR/表示以FCR頻率運(yùn)行的持續(xù)時(shí)間
* TFN表示以FCN頻率運(yùn)行的持續(xù)時(shí)間
例如,圖2示出了具有如下特性的一種情況:
* FCN = 300 MHz
* FCR = 100 MHz
* VDDN = 1.5 V
* VDDR = 1.0 V
* TFR = 3
* TFN = 1
因此
(PR/PN) = (100/300)(1.0/1.5)2 ×(3/1) = 0.44(功耗節(jié)省了56%)
G1和G2是在DSP上運(yùn)行的函數(shù)。
例2用了雙倍運(yùn)行時(shí)間,但是節(jié)省了功耗56%。
兩例中的G1工作條件相同,但是G2的工作電壓分別為1V和1.5V,因此功耗下降比率為 (1.0/1.5)2。
因?yàn)锽lackfin DSP不僅具有可設(shè)置的工作頻率,而且允許內(nèi)核電壓根據(jù)頻率變化而變化,所以以降低的頻率和降低的電壓運(yùn)行某一部分代碼時(shí)可以節(jié)省功耗,即使執(zhí)行時(shí)間會(huì)變長(zhǎng)。在ADSP-21532上可以自動(dòng)進(jìn)行電 壓頻率的轉(zhuǎn)變,而對(duì)于ADSP-21535,需要遵循一種簡(jiǎn)單的順序。當(dāng)然,重要的是記住,開(kāi)發(fā)商必需保證在任何系統(tǒng)時(shí)鐘改變期間與外部系統(tǒng)連接的外圍通道的完整性。
一個(gè)視頻電話應(yīng)用示出了如何通過(guò)改變工作頻率和工作電壓來(lái)顯著延長(zhǎng)電池壽命的能力。例如,如果僅僅在視頻連接期間需要最高性能(最大內(nèi)核時(shí)鐘頻率),那么在使用電話僅用于語(yǔ)音處理的時(shí)候可以將內(nèi)核頻率降低到某個(gè)預(yù)先設(shè)定值。對(duì)于僅注重附加功能而對(duì)時(shí)間不敏感的操作(例如,個(gè)人管理器),可以進(jìn)一步降低頻率。在Blackfin DSP上每一次改變PLL頻率都在40ms內(nèi)完成。
Blackfin 時(shí)鐘產(chǎn)生單元
時(shí)鐘產(chǎn)生單元包括鎖相環(huán)路(PLL)和相關(guān)的控制電路,是Blackfin DSP中動(dòng)態(tài)電源管理的一個(gè)完整單元。其中的PLL是高度可編程的,從而允許用戶動(dòng)態(tài)地控制處理器的特性和功耗。
圖3示出ADSP-21532時(shí)鐘產(chǎn)生單元的簡(jiǎn)單框圖。輸入晶體或振蕩器信號(hào)(10MHz~33MHz)施加到CLKIN引腳。用一個(gè)可選的1倍~31倍倍頻器作用這個(gè)信號(hào)以便產(chǎn)生VCO頻率。然后,獨(dú)立的A驅(qū)動(dòng)器和B驅(qū)動(dòng)器各自產(chǎn)生內(nèi)核時(shí)鐘(CCLK)和系統(tǒng)或
外圍設(shè)備時(shí)鐘(SCLK)頻率。控制邏輯保證系統(tǒng)時(shí)鐘頻率不會(huì)超過(guò)內(nèi)核時(shí)鐘頻率。
采用本方法的最大優(yōu)勢(shì)在于CCLK和SCLK在工作期間可以改變,幾乎沒(méi)有什么時(shí)間周期開(kāi)銷。因此,設(shè)計(jì)工程師無(wú)需兩次考慮改變時(shí)鐘頻率以便滿足其代碼不同部分的不同性能需求。從設(shè)計(jì)工程師的角度來(lái)看,結(jié)果可以線性地節(jié)省動(dòng)態(tài)功耗,不會(huì)增加任何實(shí)現(xiàn)上的成本。
時(shí)鐘產(chǎn)生單元的另一個(gè)特點(diǎn)就是它可以被旁路以便允許CLKIN信號(hào)直接連接到CCLK。這種能力允許在不頻繁地工作期間采用很低頻率的CCLK,以便進(jìn)一步降低總功耗。
2. 靈活的電源管理模式
許多應(yīng)用都包含一組工作模式,其顯著區(qū)別在于不同的處理需求??紤]圖4所示的系統(tǒng),其中電池供電的傳感器包含一個(gè)DSP,用作中央處理器。DSP的其中某個(gè)外圍設(shè)備可能用于采樣周?chē)h(huán)境的參數(shù)。在這種需要極低處理功耗的模式A中,該DSP可能只是讀取零星的遙測(cè)數(shù)據(jù)分組。當(dāng)它已經(jīng)讀取了足夠的數(shù)據(jù)可以調(diào)用某種計(jì)算的算法時(shí),該DSP隨后就進(jìn)入模式B——需要大量處理的計(jì)算模式。還有可能同時(shí)存在模式C,以便在沒(méi)有傳感器信號(hào)和不需要處理時(shí)提供超低功耗。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論