如何優(yōu)化嵌入式DSP應用的功耗
采用軟硬件技術(shù)可以提高電源效率,而使用內置電源管理 API 的 DSP RTOS 更容易實(shí)現上述目的。
本文引用地址:http://dyxdggzs.com/article/150616.htm作者:Scott Gary,德州儀器 (TI)
無(wú)線(xiàn)及有線(xiàn)系統設計師均必須重視電源效率問(wèn)題,盡管雙方的出發(fā)點(diǎn)不盡相同。
對于移動(dòng)設備而言,更長(cháng)的電池使用壽命、更長(cháng)的通話(huà)時(shí)間或更長(cháng)的工作時(shí)間都是明顯的優(yōu)勢。降低電源要求意味著(zhù)使用體積更小的電池或選擇不同的電池技術(shù),這在一定程度上也緩解了電池發(fā)熱問(wèn)題。
對于有線(xiàn)系統而言,設計師可通過(guò)減小電源體積、減少冷卻需求以及降低風(fēng)扇噪聲來(lái)提高電池效率。人們很少會(huì )提到這樣一個(gè)事實(shí):提高電源效率還可節省空間,用以增加能夠提高系統性能的組件,尤其是設計小組希望添加一個(gè)以上處理器時(shí),這一點(diǎn)非常重要。
設計嵌入式 DSP 處理器或系統功耗要求嚴格的系統時(shí),采用 DSP 專(zhuān)用技術(shù)、操作系統及其支持軟件可以降低功耗。超越傳統技術(shù)的 DSP 或雙處理器設計在節約能量方面表現出色。
本文將討論傳統及專(zhuān)門(mén)針對 DSP 的功耗優(yōu)化技術(shù),首先對使用到的術(shù)語(yǔ)和原理進(jìn)行定義與說(shuō)明。
功耗基礎知識
互補金屬氧化物半導體 (CMOS) 電路的總功耗是動(dòng)態(tài)功耗與靜態(tài)功耗之和 [參考資料 3]:
當門(mén)發(fā)生邏輯狀態(tài)轉換并產(chǎn)生內部結點(diǎn)充電所需的開(kāi)關(guān)電流以及P 通道及N 通道同時(shí)暫態(tài)開(kāi)啟引起直通電流時(shí),就會(huì )出現動(dòng)態(tài)功耗。通過(guò)以下公式可以估算其近似值:
其中,Cpd 為動(dòng)態(tài)電容,F 為開(kāi)關(guān)頻率,Vcc 為電源電壓,而 Nsw 為轉換的比特數。
另外,電壓 (Vcc) 決定著(zhù)穩定工作狀態(tài)下的最大開(kāi)關(guān)頻率 (F)。
上述關(guān)系中包含兩個(gè)重要概念:
- 動(dòng)態(tài)功耗與開(kāi)關(guān)頻率呈線(xiàn)性關(guān)系,與電源電壓呈二次關(guān)系。
- 最大安全開(kāi)關(guān)頻率取決于電源電壓。
為便于本文討論,將特定的頻率及電壓對稱(chēng)為“設定點(diǎn)”。
很顯然,降低 CPU 時(shí)鐘速率將相應成比例地降低動(dòng)態(tài)功耗,由于動(dòng)態(tài)功耗與電源電壓成二次關(guān)系,在不影響系統性能的前提下,通過(guò)降低電壓就可能額外大大降低功耗。
不過(guò),對于特定任務(wù)集,降低 CPU 時(shí)鐘速率也會(huì )成比例地延長(cháng)執行該任務(wù)集的時(shí)間,因此必須仔細分析應用以確保滿(mǎn)足其實(shí)時(shí)需求。
靜態(tài)功耗主要是由于晶體管漏電流造成的。一般說(shuō)來(lái),CMOS 電路的靜態(tài)功耗很低,與其動(dòng)態(tài)功耗相比可以忽略不計。嵌入式應用在不工作期間通常會(huì )“閑置”CPU 時(shí)鐘以減少動(dòng)態(tài)功耗,從而顯著(zhù)降低總體功耗。
而在未來(lái)的設計中必須特別關(guān)注靜態(tài)功耗問(wèn)題,因為更高性能的新型晶體管的漏電流將顯著(zhù)提高 [參考資料 13]。
嵌入式系統常用技術(shù)
常用電源管理技術(shù)可以分為兩類(lèi):通過(guò)早期硬件設計決策實(shí)現或在系統運行時(shí)實(shí)現。
設計早期的決策對滿(mǎn)足性能及功耗至關(guān)重要,下面列出了設計中需要考慮的十大要素,其中包括硬件選擇、設計策略及架構選擇。大多數要素都是嵌入式系統的基本要求,其它要素則需要單獨考量。盡管下列決策是在設計早期制定的,但有些仍需在整個(gè)設計周期中進(jìn)行再驗證。如下所列:
- 選擇低功耗組件
- 分割電壓與時(shí)鐘域;
- 支持電壓及時(shí)鐘縮放功能;
- 啟用保持電壓門(mén)控功能;
- 利用軟件中斷減少輪詢(xún);
- 采用分級存儲器模型;
- 降低輸出負載;
- 引導時(shí)關(guān)閉非關(guān)鍵無(wú)動(dòng)力資源;
- 盡量減少活動(dòng) PLL 數量;
- 使用時(shí)鐘分割器快速變換頻率。
有關(guān)上述列表的詳細信息如表 1 所示。
表 1. 通過(guò)早期硬件設計決策降低功耗
確定系統架構以后,設計團隊需要將注意力轉向系統運行時(shí)環(huán)境。雖然以下列出的僅 14項,但在設計過(guò)程中要始終關(guān)注其中大部分內容。
- 不需要時(shí)則關(guān)閉門(mén)時(shí)鐘
- 引導過(guò)程中主動(dòng)關(guān)閉不必要的功耗
- 僅在需要時(shí)用門(mén)向子系統供電
- 激活外設低功耗模式
- 充分利用外設活動(dòng)檢測器
- 使用自動(dòng)刷新模式
- 通過(guò)基準應用確定最小必需頻率及電壓
- 根據總體活動(dòng)情況調整 CPU 頻率及電壓
- 動(dòng)態(tài)調度 CPU 頻率及電壓以匹配預測工作負載
- 優(yōu)化代碼的執行速度
- 使用低功耗代碼序列及數據模型
- 使用代碼覆蓋技術(shù)減少對高速內存的需求
- 更換電源時(shí)進(jìn)入簡(jiǎn)化性能模式
- 平衡精確度與功耗的關(guān)系
老練的設計團隊必須至少要從概念上熟悉上述嵌入式系統應用設計要素(其中一項與 DSP電路有關(guān)),有關(guān)上述列表的詳細信息如表 2 所示。
表 2. 通過(guò)常用運行時(shí)技術(shù)降低功耗
實(shí)現表 1 及表 2 所述做法及策略并不容易。任何降低功耗的設計都有可能對性能產(chǎn)生負面影響或導致系統不穩定。下表列出了使用基本電源管理技術(shù)所面臨的主要難題。
表 3. 實(shí)際嵌入式系統設計面臨的主要難題
DSP RTOS 如何解決難題
大多數老練的嵌入式系統設計師都知道,表 2 中列出的許多技術(shù)問(wèn)題都可以在操作系統中解決,而不必讓每個(gè)新的設計項目都“從零開(kāi)始”。
上述最有價(jià)值并且得到普遍認可的技術(shù)中的一個(gè)子集已包括在 RTOS 中,相關(guān)技術(shù)包括:閑置、關(guān)閉活動(dòng)電源、器件驅動(dòng)器通知、內存管理、V/F 縮放。由于設計目標不盡相同,將這些技術(shù)構建到 RTOS 中需要很多技巧。設計師必須可以選擇混合或匹配子集。關(guān)鍵的設計目標就是高效性、靈活性以及操作系統的松耦合。
TI 的 DSP/BIOS™ 操作系統的電源管理器 (PWRM) 非常適于用作現有 RTOS 的電源管理模塊 [參考資料 4]。盡管以下描述的實(shí)施是就特定 DSP/BIOS 而言的,但其概念可簡(jiǎn)單地運用其他操作系統,甚至用于無(wú)操作系統的應用環(huán)境。
電源管理器的要求
電源管理器實(shí)施的關(guān)鍵要求如下:
- 管理決策必須由應用觸發(fā),而不是操作系統觸發(fā);
- 電源管理活動(dòng)應當針對大部分應用代碼透明;
- 電源管理器必須支持電壓與頻率 (V/F) 縮放,并充分利用芯片空閑與睡眠模式;
- 電源管理器必須在應用代碼、驅動(dòng)器以及操作系統本身范圍內協(xié)調電源事件處理,并在發(fā)生特定事件時(shí)向客戶(hù)端發(fā)出通知;
- 電源管理特性必須在任何線(xiàn)程環(huán)境中可用,并且還必須對特定客戶(hù)端的多個(gè)實(shí)例可用(如一個(gè)器件驅動(dòng)器的多個(gè)實(shí)例);
- 在向客戶(hù)端發(fā)出電源事件通知時(shí),電源管理器必須支持事件處理的延遲完成,并在等待延遲客戶(hù)端的完成信號的同時(shí)通知其他客戶(hù)端;
- 對具有不同功能的不同平臺,電源管理器必須是可擴展的和便攜性的。
為滿(mǎn)足上述的關(guān)鍵要求,可將電源管理器作為 DSP/BIOS 的附屬模塊被添加,如圖 1 所示。
圖 1. 電源管理器分區
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論