標籤:add 連網 hit 多個 實踐 策略 idt margin 軟體
本文是嵌入式企鵝圈原創團隊成員、NVIDIA資深開發project師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以及溫度相關,怎樣確定?下面是軟體系統架構,後面會具體解說。
當然,因為功耗需求越來越高,最佳化技術也越來越複雜。各個廠商都有一些各自獨到的技術。假設有興趣也歡迎讀者朋友留言豐富內容。或者發郵件給我討論:[email protected],謝謝。
本篇文章為行動裝置功耗最佳化的概述部分,接下來將會深入分析各個部分的原理和實踐。敬請關注!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border: none; max-width: 100%;" />
移動智慧型裝置功耗最佳化系列--前言(NVIDIA資深project師分享)