新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何優化嵌入式DSP應用的功耗

        如何優化嵌入式DSP應用的功耗

        作者: 時間:2011-06-06 來源:網絡 收藏

        電源管理器位于內核之外,其不是系統中的一項任務,而是一系列可在控制線程以及器件驅動器環境中執行任務的 API。

        這意味著無需修改內核。但在 CPU 時鐘與操作系統定時器時鐘相耦合的平臺上,/BIOS 時鐘模塊 (CLK) 需要補充例行程序,這對頻率縮放非常重要,因為這些例行程序能夠作為 PWRM 的客戶端程序適應操作系統時鐘。

        電源管理器寫入并讀取時鐘空閑配置寄存器,并通過控制 CPU 時鐘速率及穩壓電路的平臺特定型功率擴展庫 (PSL) [參考資料. 5]直接與 硬件相連接。PSL 將電源管理器及的其他部分與頻率和電壓控制硬件的低級實施細節相隔離。

        電源管理器擁有若干個與相關的任務。由設計工程師對其進行靜態配置,并在運行時進行動態調用:

        • 空閑時鐘域 —— 電源管理器提供的接口可使特定時鐘域處于空閑狀態,從而降低有效。此外,其還可以在 OS 空閑環路 (idle loop) 的適當點提供能自動使 CPU 和高速緩存處于空閑狀態的機制。
        • 降低引導時間的——電源管理器包含一個鉤子機制 (hook mechanism),這使開發人員能夠設定省電功能,以便在引導時間實現自動調用。
        • 電壓及頻率 (V/F) 縮放——電源管理器提供的接口可使應用動態更改 DPS 內核的工作電壓及頻率。因此,應用可利用該特性根據相關的處理要求相應調整。電源管理器 API 可設定應用中的電壓是否應隨同頻率進行縮放,以及在降壓 (down-voltage transition) 轉換過程中是否可繼續執行任務,轉換時延由負載而定,有可能會較長;如果處理器在降壓轉換期間工作正常,則允許繼續執行應用;此外,電源管理器還包含用于查詢 V/F 設定點屬性及時延的 API。
        • 睡眠模式——電源管理器包含的配置接口及運行時接口使開發人員可喚醒自定義睡眠模式,以便在非工作狀態期間節省電能。
        • 電源事件的注冊及通知——為了調整整個應用中的 V/F 縮放比例、睡眠模式以及其他事件,電源管理擁有一套注冊及通知機制 (registration and notification mechanism),以使諸如應用代碼、外設驅動器、封裝內容以及 OS 時鐘模塊等實體能夠進行注冊,用于通知會影響這些實體的特定事件,例如“即將更改 V/F 設定點”、“完成更改V/F 設定點”、“進入睡眠模式”、“從睡眠模式中喚醒”以及出現“電源故障”等。通知進程 (notification process) 是電源管理器的重要特性。當無需通知時可使用“未登記”功能。

        電源管理器 API

        表 4 對運行時應用編程接口進行了匯總。

        PWRM_changeSetpoint

        對最新的 V/F 設定點進行初始化更改

        PWRM_configure

        為 PWRM 設置新的配置參數

        PWRM_getCapabilities

        在該平臺上獲取有關 PWRM 性能的信息

        PWRM_getCurrentSetpoint

        獲取當前的有效設定點

        PWRM_getNumSetpoints

        獲取該平臺上可用設定點的數量

        PWRM_getSetpointInfo

        獲取設定點的相應頻率及電壓值

        PWRM_getTransitionLatency

        獲取兩個設定點之間比例縮放的時延

        PWRM_idleClocks

        使特定時鐘域立即進入空閑模式

        PWRM_registerNotify

        注冊可在發生特定功耗事件時進行調用的函數

        PWRM_sleepDSP

        將 DSP 轉換至新的睡眠狀態

        PWRM_releaseDependency

        解除此前聲明的資源依賴性

        PWRM_setDependency

        聲明對電源的可管理資源具有依賴性

        PWRM_unregisterNotify

        未注冊來自 PWRM 的事件通知

        表 4. 電源管理運行時 API 的匯總

        戰略實施

        由于已經建立了提高電源效率的基礎,下一步工作就應該進行戰略定義,以便開發低功耗應用,并充分利用 OS 中的部分技術及支持。

        所建議的策略包括以下 11 個步驟。該戰略具有可重復性:
        當無法滿足電源管理目標,也就是說需要采用額外的運行時方案才能滿足應用電源預算時,就可重復訪問這些步驟。

        1. 從初始就考慮到電源效率;
        2. 選擇低功耗組件;
        3. 對電源進行建模和估測,并進行相應的硬件測試;
        4. 針對電源管理和測量設計具備鉤子機制的 HW;
        5. 構建可大幅提高工作效率的 SW;
        6. 啟用簡單的電源管理“開/關機切換”特性;
        7. 在無需電源管理的情況下也可率先進入工作;
        8. 重復開啟“開機”特性,并測量功耗開銷 (payoff);
        9. 開啟代碼生成功能、重置代碼及數據,并調整 “熱點” 監測;
        10. 進行校準,以實現頻率及電壓的最小化;
        11. 激活所有的電源管理特性,并進行相應部署。

        表 5 對上述戰略進行了非常詳盡的匯總說明。我們將在下文討論高效應用上述策略。

        表 5. 低功耗應用開發的詳細策略

        音頻應用范例

        選用現成的 DSP 評估板 5509A EVM PLUS 板作為測試平臺,該評估板不僅支持 V/F 縮放 ,還包含針對 DSP 內核與總體系統電源測量的鉤子機制。

        需要注意的是,EVM 作為易于使用的評估平臺,并未在出廠時提供最佳功耗配置。另外,在評估效果時應謹記由于其易于配置,所以 EVM 上測量的總體系統電源數量就應多于通常情況下部署的平臺。EVM 還能以 DSP 內核級與系統級兩種方法測量各種技術的有效性。

        步驟 1 無需解釋。步驟 2 及 4 基本上都由這種特殊 EVM 完成,這充分表明了該平臺的廣泛適用性。步驟 3(試驗)在 EVM 上進行,目的是測量各種技術的效果(如片上與片外存取的內核及系統電源、DMA 與 CPU 傳輸的比較、空閑外設及時鐘域的作用等等)。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孟州市| 兴宁市| 锡林郭勒盟| 石家庄市| 霍山县| 瑞安市| 泰州市| 盐津县| 同江市| 景洪市| 三原县| 涟水县| 兴宁市| 台东县| 沙河市| 长武县| 海晏县| 鸡泽县| 太康县| 若尔盖县| 永州市| 察隅县| 禹城市| 旺苍县| 巢湖市| 曲周县| 六枝特区| 奉新县| 抚宁县| 聂荣县| 平和县| 开远市| 文成县| 天等县| 河间市| 平罗县| 东辽县| 青浦区| 博白县| 宁南县| 正宁县|