基于嵌入式DSP應(yīng)用的低功耗優(yōu)化策略
無線系統(tǒng)及有線系統(tǒng)設(shè)計師均必須重視電源效率問題,盡管雙方的出發(fā)點不盡相同:對于移動設(shè)備而言,更長的電池使用壽命、更長的通話時間或更長的工作時間都是明顯的優(yōu)勢,降低電源要求意味著使用體積更小的電池或選擇不同的電池技術(shù),這在一定程度上也緩解了電池發(fā)熱問題;對于有線系統(tǒng)而言,設(shè)計師可通過減小電源體積、減少冷卻需求以及降低風(fēng)扇噪聲來提高電池效率。人們很少會提到這樣一個事實:提高電源效率還可節(jié)省空間,而節(jié)省的空間可以用來增加能夠提高系統(tǒng)性能的組件,尤其是設(shè)計小組希望添加一個以上處理器時,這一點非常重要。
設(shè)計嵌入式DSP處理器或系統(tǒng)功耗要求嚴(yán)格的系統(tǒng)時,采用DSP專用技術(shù)、操作系統(tǒng)及其支持軟件可以降低功耗。超越傳統(tǒng)技術(shù)的DSP或雙處理器設(shè)計在節(jié)約能量方面表現(xiàn)出色。
功耗基礎(chǔ)知識
互補金屬氧化物半導(dǎo)體(CMOS)電路的總功耗是動態(tài)功耗與靜態(tài)功耗之和:
當(dāng)門發(fā)生邏輯狀態(tài)轉(zhuǎn)換并產(chǎn)生內(nèi)部結(jié)點充電所需的開關(guān)電流以及P通道及N通道同時暫態(tài)開啟引起直通電流時,就會出現(xiàn)動態(tài)功耗。通過以下公式可以估算其近似值:

其中,Cpd為動態(tài)電容,F(xiàn)為開關(guān)頻率,Vcc為電源電壓,而Nsw為轉(zhuǎn)換的比特數(shù)。另外,電壓(Vcc)決定著穩(wěn)定工作狀態(tài)下的最大開關(guān)頻率(F)。上述關(guān)系中包含兩個重要概念:動態(tài)功耗與開關(guān)頻率呈線性關(guān)系,與電源電壓呈二次關(guān)系;最大安全開關(guān)頻率取決于電源電壓。為便于本文討論,將特定的頻率及電壓對稱為“設(shè)定點”。
很顯然,降低CPU時鐘速率將相應(yīng)成比例地降低動態(tài)功耗,由于動態(tài)功耗與電源電壓成二次關(guān)系,在不影響系統(tǒng)性能的前提下,通過降低電壓就可能大大降低功耗。不過,對于特定任務(wù)集,降低CPU時鐘速率也會成比例地延長執(zhí)行該任務(wù)集的時間,因此必須仔細分析應(yīng)用以確保滿足其實時需求。
靜態(tài)功耗主要是由于晶體管漏電流造成的。一般說來,CMOS電路的靜態(tài)功耗很低,與其動態(tài)功耗相比可以忽略不計。嵌入式應(yīng)用在不工作期間通常會“閑置”CPU時鐘以減少動態(tài)功耗,從而顯著降低總體功耗。而在未來的設(shè)計中必須特別關(guān)注靜態(tài)功耗問題,因為更高性能的新型晶體管的漏電流將顯著提高。
嵌入式系統(tǒng)常用技術(shù)
常用電源管理技術(shù)可以分為兩類:通過早期硬件設(shè)計決策時實現(xiàn),或在系統(tǒng)運行時實現(xiàn)。設(shè)計早期的決策對滿足性能及功耗至關(guān)重要,下面列出了設(shè)計中需要考慮的十大要素,其中包括硬件選擇、設(shè)計策略及架構(gòu)選擇。大多數(shù)要素都是嵌入式系統(tǒng)的基本要求,其他要素則需要單獨考慮。盡管下列決策是在設(shè)計早期制定的,但有些仍需在整個設(shè)計周期中進行再驗證。如下所列:
1. 選擇低功耗組件;
2. 分割電壓與時鐘域;
3. 支持電壓及頻率調(diào)節(jié)功能;
4. 啟用保持電壓門控功能;
5. 通過軟件利用中斷減少輪詢;
6. 采用分級存儲器模型;
7. 降低輸出負載;
8. 系統(tǒng)啟動時關(guān)閉非關(guān)鍵資源供電;
9. 盡量減少活動PLL數(shù)量;
10. 使用時鐘分頻器快速變換頻率。
確定系統(tǒng)架構(gòu)以后,設(shè)計團隊需要將注意力轉(zhuǎn)向系統(tǒng)運行時環(huán)境。以下列出的14項,在設(shè)計過程中要始終關(guān)注其中大部分內(nèi)容:
1. 不需要時則關(guān)閉門控時鐘;
2. 引導(dǎo)過程中主動關(guān)閉不必要的功耗;
3. 僅在需要時用向子系統(tǒng)供電;
4. 激活外設(shè)低功耗模式;
5. 充分利用外設(shè)活動狀態(tài)檢測器;
6. 使用自動刷新模式;
7. 對應(yīng)用進行基準(zhǔn)測試來確定必需的最小頻率及電壓;
8. 根據(jù)總體活動情況調(diào)整CPU頻率及電壓;
9. 動態(tài)調(diào)節(jié)CPU頻率及電壓以匹配預(yù)計的工作負載;
10. 優(yōu)化代碼的執(zhí)行速度;
11. 使用低功耗代碼序列及數(shù)據(jù)模式;
12. 使用代碼覆蓋技術(shù)減少對高速內(nèi)存的需求;
13. 更換電源時進入簡化功能模式;
14. 平衡精確度與功耗的關(guān)系。
有經(jīng)驗的設(shè)計團隊必須至少在概念上熟悉上述嵌入式系統(tǒng)應(yīng)用設(shè)計要點(其中部分與DSP電路有關(guān))。任何降低功耗的設(shè)計都有可能對性能產(chǎn)生負面影響或?qū)е孪到y(tǒng)不穩(wěn)定。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論