《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于嵌入式Linux的智能手機省電設計
基于嵌入式Linux的智能手機省電設計
摘要: 每個系統要正常運行都有賴于CPU 的性能, 系統軟件, 中間件一集各種系統策略等等, 智能手機也是一樣。這篇文章主要探討了給智能手機選擇合適的CPU, 以及在手機電源管理中的動態電源管理(DPM) 和自適應電壓調整(AVS) 技術。最后, 我還對手機軟件設計進行一點優化工作, 實現了軟件的節能設計。
Abstract:
Key words :

每個系統要正常運行都有賴于CPU 的性能, 系統軟件, 中間件一集各種系統策略等等, 智能手機也是一樣。這篇文章主要探討了給智能手機選擇合適的CPU, 以及在手機電源管理中的動態電源管理(DPM) 和自適應電壓調整(AVS) 技術。最后, 我還對手機軟件設計進行一點優化工作, 實現了軟件的節能設計。

引言

智能手機中包含了很多耗能設備, 諸如MP3、MPEG- 4、Wi-Fi、數碼相機、3D 游戲等等。在手機電池容量還沒有實現質的飛躍的前提下, 我們不得不考慮手機電源節能的問題。我主要通過了以下四個方面來闡述在基于Linux 平臺上的智能手機的解決方案。

CPU 的選擇

盡管現在有了各種在不過多加重功耗負擔的前提下提高性能的技術, 但用一個芯片來處理這么多各種各樣的任務, 恐怕已經不是一個很好的選擇了。一是因為這些功能對芯片處理功能的要求可能各不相同, 二是因為一個負擔著如此眾多任務的芯片勢必需要很高的速度, 降低功耗變得很困難。

在這種情況下, 多CPU 系統(MPCore)成為一個必然的趨勢。多CPU 系統的一個明顯的優勢是: 針對不同的任務處理需要, 不同的CPU 可以各盡其職, 將自身的優勢充分發揮, 由此帶給手機最優化的性能表現。另一個優勢顯然還是體現在對功耗的控制上: 假如用單CPU 來完成所有的功能, 不可避免地需要一個很高的CPU 速度, 從而造成很高的功耗。用一顆高速CPU 來完成這樣的任務, 無疑是大牛拉小車, 同時浪費很多能源。多CPU 系統可以根據不同的任務需要合理地啟動、停止相應的CPU 來完成任務,不需要的時候處于停歇狀態, 實現最大限度地控制功耗。

既然我們選擇了多CPU 的架構, 那么接下來CPU 的性能就是我們要考慮的第二大問題。一般的情況下, 我們是在CPU 的性能( Performance) 和功耗(Power Consumption) 方面進行比較和選擇。通常可以采用每執行1M次指令所消耗的能量來進行衡量, 即Watt/MIPS。

我們把CPU 的功率消耗分為兩大部分: 內核消耗功率PCORE和外部接口控制器消耗功率PI/O, 總的功率等于兩者之和, 即PPCORE+PI/O。對于PCORE, 關鍵在于其供電電壓和時鐘頻率的高低; 對于PI/O 來講, 除了留意各個專門I/O 控制器的功耗外, 還必須關注地址和數據總線寬度。

在數字集成電路設計中, CMOS 電路的靜態功耗很低, 與其動態功耗相比基本可以忽略不計。CMOS 電路動態功耗的計算公式如下:

Pd=CT*V2*f, 其中Pd 是CMOS 芯片的動態功耗, C是CMOS芯片的負載電容, V 是CMOS 芯片的工作電壓, f 是CMOS 芯片的工作頻率。

由上可見, 當CPU 確定后, 我可以通過降低頻率和電壓來減少系統的功耗。

在CPU 的選擇方面, 我們推薦采用Intel 的Xscale 芯片, 以及IBM的PowerPC405G 芯片。

動態電源管理(DPM)

系統不可能始終處于滿負荷狀態, 因為系統的工作量隨時都在改變。動態電源管理(DPM) 通過選擇性的將空閑的系統組件置于低能耗狀態實現了系統整體能耗的最優化。

我們更為關注的是DPM在Linux 框架結構下的實現。圖1 展示了電源管理和嵌入式Linux 堆棧之間的關系。

 

以下是一些于電源管理相關的接口以及API:

內核接口。在針對Linux 的DPM 架構中, 內核中的DPM 子系統負責維持系統的電源狀態, 并把DPM 系統的各個電源得到管理的元件聯系在一起。DPM 子系統通過多個API 直接與設備驅動程序通信, 這些API 把驅動程序從完全運行狀態轉為各種電源得到管理的狀態。策略管理器( 或應用軟件自身) 通過多個API向DPM 子系統提供指導, 這些API 定義各種策略, 并在定義好的運行點之間轉移整個系統。

驅動程序接口。啟用了DPM 的設備驅動程序比默認驅動程序具有更多“狀態”: 由外部事件通過各種狀態來驅動它們, 或通過來自內核DPM 子系統的回調來驅動它們, 從而反映并遵循運行策略。驅動程序API 還允許驅動程序登記它們連接和管理的各個設備的基本運行特征, 從而實現更精細的策略決策。

用戶程序API, 用戶程序( 應用軟件) 分為三類:

(1)可感知電源管理的應用軟件;

(2)可感知電源管理的“包裝器”中的傳統應用軟件;

(3)不帶電源管理的傳統應用軟件。

可感知電源管理的應用軟件能夠充分利用來自策略管理器的API, 從而建立各自的基礎約束, 并強制電源管理策略發生變化, 以便匹配各自的執行要求。不直接帶有電源管理功能的傳統應用軟件可以“包裝”到代碼或補丁中, 從而實現相當的效果, 它們還可以按照默認行為來運行, 這取決于更寬范圍的默認策略管理。

嵌入式Linux DPM 下的實際機制包括各種API, 比如dpm_set_os ()( 內核) 、assert_constraint ()、remove_constraint () 和set_operating_state () ( 內核和驅動程序) 、set_policy () 和set_task_state()( 經由系統調用的用戶級接口) , 以及/proc 接口。

電源管理策略在系統電源管理中扮演了極為關鍵的角色。DPM的策略抽象模型的執行體系類似于狀態機。在DPM中有2個概念很重要: 一個是執行點(operating points), 另一個是執行狀態( operating states) 。DPM的執行點來自一些獨立的系統參數, 包括執行電壓, 頻率, 以及總線帶寬等等。隨著事件的改變, 系統的狀態也不斷的改變( 如圖2 所示) 。在DPM中, 每個系統狀態都是一個執行狀態, 包括空閑態、活動態和睡眠態。

 

自適應電壓調整(AVS)

在CPU 的選擇部分, 我們知道了系統能耗是與電壓和頻率緊密相關的?,F在我們來探討一下調整電壓在降低能耗方面的作用。在電壓調整方面, 自適應電壓調整是一種很有效的方法。自適應電壓調整AVS(Adaptive Voltage Scaling)是通過反饋機制將電源電壓調整到給定工作負載(處理量)所需的最小值。這種閉環方式可進一步減小功耗, 但需要將部分電源管理電路置入主處理器。

成功實現AVS 的關鍵是在基帶芯片中集成部分系統電源管理電路, 即內置AVS 控制器(圖3)。這一關鍵模塊包含專門的電路和算法, 用來確定給定處理量下的最優電壓。通過向電壓調整器的參考端輸入饋送誤差信號, 可以生成最優的VDD, 無需提供不必要的電壓余量, 從而減少了電能損耗。對任何閉環方法來說, 環路帶寬都是很重要的。環路快速跟蹤并穩定的能力決定了基帶電源動態調整以自適應工作負載突變的能力。

 

通過軟件方法降低設備功耗

低能耗軟件優化對于基于處理器系統的應用程序而言, 是最有發展前途的降低系統能耗的技術方法。這種方法對于那些計算復雜度較高的應用程序最為有效。因為只有在應用程序執行的時候, 才會消耗大量電源。

這項技術的最終目的是在執行較為復雜的應用程序時, 盡量降低能耗。我們的程序用于降低計算的復雜度, 但不能改變程序原本的行為?,F在我們通過圖4(A) 中的例子, 來闡述一下一些有關軟件優化的想法。

 

考慮主函數中第一次調用過程test。如果檔參數a 和差數k都是0 的概率為90%, 我們可以將源代碼改寫為圖4(B) , 通過改寫, 我們減少了test 過程中的循環數。但在現實中, 參數a 和k 并不是總是為0。那么test 的過程調用不能被新的過程sp_test 所完全替代。我們用一個條件語句來限定過程的調用, 所有的過程調用依賴于cvd_test()的結果。當過程cvd_test()檢測為一般情況( a,k同時為0) , 符合此條件的修正后的代碼被執行。如果當過程cvd_test()檢測為非一般情況( a,k 非同時為0) , 原有的代碼被執行。在另一方面, 當過程cvd_test()檢測為非一般情況, 我們提升了程序的計算復雜度, 也相應提高了能耗。

一般而言, 對代碼優化有各種各樣不同的方法。如果我不考慮參數k, 我們可以將源代碼轉化為圖4(C) 所示。a 為0 的概率大于a 和k 同時為0 的概率。在不同情況下, 對原有代碼所做的修改有不同的效果。

最后, 我們必須檢驗修改過的代碼對原有代碼的影響, 是不是改變了原有代碼的行為, 在任何條件下我們都不能去擅自改變原有代碼的行為。代碼質量的提升也是相當的重要的。對于C 語言來說, 將一些簡單的函數轉換為宏定義時一種比較有效的方法。

綜上所述, 我們可以將一般情況下代碼優化分為4 個步驟:

(1)一般案例的選擇。選擇最有效的、最長被調用的案例。

(2)一般案例的提煉。為給出的一般案例建立一個過程。

(3)全局檢測。檢測改變后的調用對于全局的影響。

(4)提高代碼質量。使用一些編程語言中的基本技巧, 以提高代碼質量。

總結

在移動終端設備設計方面, 節能成為了一個很重要的設計指標。我們選取了更高效的CPU 以降低能耗。對于交互式應用程序而言, 我們使用DPM策略降低處于空閑態的能耗, 這種方法主要使用于OS 層。而AVS 技術是通過電壓調整來實現減少能耗。在應用程序層, 我們通過對軟件的優化來達到降低能耗的目的。在Intel? PXA27x 處理芯片環境下, 通過以上方法, 我們降低了26%的能耗, 提高了30%的系統性能以及增加了7%的代碼量。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲亚洲精品三区日韩精品在线视频 | 国产精品欧美一区喷水 | 欧美精品日韩www.p站| 久久免费偷拍视频| 久久精品欧洲| 久久久五月天| 久久精品欧美日韩| 久久久噜噜噜久久人人看| 久久精品72免费观看| 欧美在线看片a免费观看| 午夜精品久久久久| 欧美在线一区二区三区| 欧美在线免费视屏| 久久国产欧美精品| 久久久久久久欧美精品| 久久综合色8888| 免费成人在线观看视频| 欧美成人一区在线| 欧美日韩国语| 欧美四级剧情无删版影片| 欧美日精品一区视频| 国产精品va在线播放| 国产精品午夜春色av| 国产午夜亚洲精品不卡| 激情久久久久久| 亚洲欧洲一区二区天堂久久| 日韩写真在线| 亚洲影院色无极综合| 欧美在线高清视频| 亚洲激情午夜| 一区二区三区视频在线看| 亚洲影音一区| 久久久999国产| 欧美成人a视频| 国产精品高潮呻吟久久av黑人| 国产免费观看久久| 伊人成人开心激情综合网| 亚洲日本va午夜在线电影| 亚洲午夜在线观看视频在线| 久久aⅴ国产欧美74aaa| 亚洲人成久久| 亚洲一区国产一区| 久久人人九九| 欧美日韩精品二区第二页| 国产精品日韩一区| 亚洲福利精品| 中文精品视频| 亚洲盗摄视频| 亚洲一区二区视频在线观看| 久久久青草婷婷精品综合日韩 | 久久不射电影网| 欧美v国产在线一区二区三区| 欧美性一区二区| 国产专区欧美精品| 亚洲乱码国产乱码精品精天堂| 亚洲男人的天堂在线| 亚洲日本aⅴ片在线观看香蕉| 亚洲在线视频网站| 麻豆精品在线视频| 国产精品伦一区| 亚洲国产视频一区| 性欧美大战久久久久久久免费观看| 亚洲人成网站在线观看播放| 午夜精品一区二区三区在线视 | 欧美日韩人人澡狠狠躁视频| 国产亚洲精品久久久久久| 亚洲激情视频在线观看| 亚洲欧美日韩久久精品| 日韩视频在线你懂得| 久久精品一本| 国产精品久久久久久久第一福利| 在线观看免费视频综合| 亚洲欧美成人网| 一区二区三区 在线观看视频| 久久久蜜桃精品| 国产精品免费看片| 91久久黄色| 久久精品视频在线观看| 午夜精品久久久久久久99水蜜桃| 欧美精品18+| 狠久久av成人天堂| 亚洲字幕一区二区| 亚洲婷婷综合色高清在线| 欧美88av| 黄色精品免费| 欧美一级在线视频| 午夜精品视频在线观看| 欧美日韩国产精品一卡| 在线观看欧美视频| 欧美在线精品一区| 欧美伊人久久| 国产精品vvv| 日韩一区二区高清| 亚洲免费观看高清在线观看| 久久综合网络一区二区| 国产精品中文在线| 亚洲午夜视频在线| 亚洲永久免费视频| 欧美日韩视频一区二区三区| 亚洲激情电影在线| 亚洲人成在线免费观看| 久久尤物视频| 国内精品国语自产拍在线观看| 亚洲一区国产精品| 亚洲欧美另类在线| 欧美亚州在线观看| 亚洲美女网站| 一区二区三区精品| 欧美日韩一二三区| 99国内精品久久| 亚洲视频在线视频| 欧美无乱码久久久免费午夜一区| 亚洲免费成人av电影| 正在播放亚洲| 欧美日韩综合一区| 一区二区三区欧美日韩| 亚洲一区二区三区午夜| 国产精品福利网| 亚洲一级一区| 欧美综合二区| 国产综合18久久久久久| 亚洲国产岛国毛片在线| 欧美freesex交免费视频| 亚洲国产视频一区二区| 亚洲理论在线| 欧美日韩你懂的| 亚洲视频在线观看视频| 亚洲欧美日韩人成在线播放| 国产精品毛片一区二区三区 | 久久久精品欧美丰满| 狠狠色狠狠色综合日日小说| 久久精品免费看| 欧美顶级大胆免费视频| 亚洲美女精品久久| 亚洲免费视频一区二区| 国产精品一区二区在线| 欧美在线免费播放| 欧美freesex交免费视频| 亚洲看片免费| 午夜国产精品视频| 国产一区二区久久| 亚洲精品韩国| 欧美午夜精品久久久久久孕妇 | 久久精品视频免费观看| 麻豆视频一区二区| 亚洲日本va午夜在线电影| 亚洲一级黄色av| 国产美女精品在线| 91久久夜色精品国产网站| 欧美精品久久久久久| 亚洲视频在线观看| 久久久中精品2020中文| 亚洲激情第一区| 亚洲欧美一区二区视频| 国一区二区在线观看| 日韩一区二区精品| 国产精品免费看片| 亚洲黄色影院| 国产精品国产亚洲精品看不卡15| 午夜一区二区三区不卡视频| 欧美成人国产一区二区| 正在播放欧美视频| 久久人91精品久久久久久不卡| 91久久久久久久久| 欧美在线观看网站| 亚洲黄色免费电影| 欧美一区二区三区四区在线观看地址 | 亚洲大胆在线| 午夜国产欧美理论在线播放| 尤妮丝一区二区裸体视频| 亚洲在线电影| 亚洲国产高清一区| 欧美一级日韩一级| 亚洲精品久久久久久久久久久久| 欧美专区亚洲专区| 亚洲精品在线三区| 久久精品国产久精国产思思| 亚洲精品国产精品国自产在线 | 韩日成人在线| 亚洲一区二区三区成人在线视频精品| 国产亚洲精品7777| 亚洲午夜视频在线| 一区二区三区在线视频播放| 亚洲综合欧美| 亚洲经典在线| 久久久久久网站| 正在播放日韩| 欧美精品日韩精品| 亚洲第一精品在线| 国产精品伊人日日| 一区二区三区四区蜜桃| 在线看欧美日韩| 久久精品视频一| 亚洲一区999| 欧美日韩国产精品| 91久久中文| 国内精品免费在线观看| 亚洲欧美一区二区原创| 亚洲精品一区二区三区婷婷月| 久久综合伊人|