移動智能設備功耗優化系列--前言(NVIDIA資深工程師分享)


本文是嵌入式企鵝圈原創團隊成員、NVIDIA資深開發工程師Terry發表的第一篇文章,其將對“移動智能設備功耗優化”這個專題展開一個系列的總結分享。Terry毫無保留地總結分享其在主導NVIDIA多個項目開發中的移動設備功耗優化經驗,極具價值!

隨着智能移動設備的功能越來越多,CPU/Memory頻率也越來越高,隨之帶來的功耗問題也越來越嚴重,如何延長手機的待機以及使用時間一直以來都是各個手機廠商不得不面對的問題。本專題將逐一為各位讀者講解一下當前主流的功耗優化策略以及一些實用的優化調試方法,希望可以起到拋磚引玉的作用。

現在主流的移動CPU最高頻率動輒1-2GHz,更高的頻率帶來更高的功耗,因此我們並不需要CPU時時刻刻工作在最高頻率上,大部分時間里,CPU實際是工作在輕負載狀態下,根據不同的系統負載,CPU可以工作在多核/單核,高頻/低頻,或者在FCPU(比如A57)和SCPU(比如A53)之間切換,如果負載更輕,比如關屏待機,CPU可以切換到LP0,使得CPU功耗趨近於0。以上過程涉及到以下技術。


一、 LinuxCPUquite機制

對於多核CPU,運行游戲需要將所有Core online,瀏覽網頁也許1個核就足夠了,如何評估當前需要幾個Core online? 如何實現CPU core 的hot plug?由於這個技術是Nvidia獨有的,涉及到商業秘密,故不能展開寫,如果有需要的朋友請自行Google。


二、 LinuxCPUfreq機制

用戶場景不同,對性能的需求也不同,CPU應該運行在什么頻率?頻率低了會卡,高了費電。如果有突發事件,如何升頻降頻既保證系統流暢又不過多消耗能量?以下是軟件系統框架,后面會詳細講解。


三、 LinuxCPUIdle機制

如果負載非常輕,系統可以進入更低的Pstate(比如LP0/SC7),關閉CPU,Memory,外設以減少功耗。如何實現?系統如何喚醒?以下是軟件系統框架,后面會詳細講解。


四、 DVFS動態電壓頻率調節

這個大家應該不陌生,這是一種實時電壓頻率調節技術,由於CMOS制成的需求,CPU想穩定的跑到更高的頻率需要更高的電壓,而這個電壓又跟芯片的Speedo和Iddq以及溫度相關,如何確定?以下是軟件系統框架,后面會詳細講解。


當然,由於功耗需求越來越高,優化技術也越來越復雜,各個廠商都有一些各自獨到的技術,如果有興趣也歡迎讀者朋友留言豐富內容,或者發郵件給我討論:terrywang0712@qq.com,謝謝。

本篇文章為移動設備功耗優化的概述部分,接下來將會深入分析各個部分的原理和實踐,敬請關注!


      嵌入式企鵝圈原創團隊由阿里、魅族、nvidia、龍芯、炬力、拓爾思等資深工程師組成。百分百原創,每周兩篇,分享嵌入式、Linux、物聯網、GPU、Android、自動駕駛等技術。歡迎掃碼關注微信公眾號:嵌入式企鵝圈, 實時推送原創文章!





注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com