原載于機鋒論壇galaxy II 9100(蓋世兔)專區(qū)——2012-1-20日
-----------------原文的分割線-----------------
相信好多同學苦于兔子的耗電,看到省電牛核之后,又發(fā)現(xiàn)好多人說刷過之后會燒CPU,遂糾結(jié)在刷與不刷之間,下面給出我的一些看法。(新人第一次發(fā)帖,請大家輕飛板磚,大過年的,飛點金磚吧^__^)
俺對省電、降壓、燒CPU的一些看法:
由于前兩周剛剛?cè)胧滞米樱褂弥畜@訝發(fā)現(xiàn),這不是兔子,是電耗子。。。所以到處尋找解決辦法,前天看到了這個帖子,剛剛想刷,發(fā)現(xiàn)底下有關(guān)于燒CPU的爭論,于是考慮了一下,其實,在我看來,這是一個簡單的物理題,基于能量守恒定理,電池就那么大的容量(只能提供固定的能量),想要延長使用時間,則必須降低功耗。而牛核的原理是基于降低電池給硬件的“供給”電壓(不是充電電源電壓,也不是電池電壓,是電池給硬件的“輸出”電壓)來實現(xiàn)降低功率,從而實現(xiàn)節(jié)電。從公式P=UI就能看出(這個公式不需要解釋吧=。=),平時使用中,U降低,P一定會下降,所以會感覺到明顯省電。
可能有的同學會問,這么簡單的原理,難道三星不會做,非要讓我們自己來?OK,聽我下面再慢慢道來。
其實每個機器CPU的最大功率(額定功率)都是一定的(不超頻情況下),也就是P最大值一定(這個很好理解吧?好吧,這個不好理解,好多同學回復(fù)都在糾結(jié)它為啥是一定的?其實,可以把它理解為額定功率,就像平常的家用電器,上面都會標注一個額定功率:P=xx瓦),當你運行大程序時,我們假設(shè)一個極限情況,CPU耗用到了上限(實際消耗功率=額定功率),再看P=UI這個公式,P一定(實際消耗功率已經(jīng)跑到了硬件額定功率的上限),U被人為降低,則I(電流)必須增大才能保持住P不變,而機器硬件對電流的承載也是有上限的,當超過這個上限。。。現(xiàn)在明白為什么會燒CPU了么?
再來解釋一下三星為什么不做。像這種大公司,每出一款產(chǎn)品,為保證品質(zhì)會做很多種測試(尤以蘋果為最),他們會根據(jù)測試結(jié)果給定機器最后參數(shù),誠如世界上沒有完美的人一樣,也沒有完美的產(chǎn)品,在“提高電壓參數(shù),耗電”和“降低電壓參數(shù),有一定幾率燒硬件”這兩個測試結(jié)果中,三星一定會選擇前者,畢竟在消費者眼中,耗電和燒硬件,孰輕孰重?其實所有大公司做這種決定,一定是偏向保守和危險性小的那種。
說到最后再多解釋一下,我不是反對牛核,更不是反對大家去刷,上面我也提到過,三星設(shè)定的電壓參數(shù),一定是趨于“保守”的,對于平時手機正常使用(待機)來說,確實有些浪費,所以,我的建議是:
只用手機發(fā)短信打電話的——極限版或中和版
偶爾玩玩小游戲,裝裝軟件的——正常版或中和版
經(jīng)常跑大型游戲的——還是別鬧了...,要不就刷正常版拼RP和兔子體質(zhì)=。=
其實跑大型游戲,即使刷了牛核也基本不會省電,W=PT,P跑到了上限,W(電量)的損耗只和T(時間)有關(guān)系,電壓和電流都沒意義了。
俺考慮再三,最后決定不刷,因為俺屬于那種不喜歡刷機,喜歡找一個穩(wěn)定平衡的ROM,然后裝亂七八糟的應(yīng)用那種,尤其最近剛剛安裝了模擬器,感覺那個東西比較耗CPU資源(模擬運算嘛),所以就不拼RP給兔子壓力了(俺RP一向拼不贏任何人T_T)。俺目前考慮的省電方向是精簡或者關(guān)閉系統(tǒng)里面沒用的進程和服務(wù),這個還木有太多想法,請有經(jīng)驗的老鳥不吝指點,給些建議、帖子鏈接或者其它節(jié)電方向均可,先拜謝了~
最后聲明一下,俺不是專家,沒有做過芯片級的研究,沒有做過android的開發(fā),兔子也是這個月剛?cè)胧郑械膬H僅是多年電腦、手機玩家經(jīng)驗,以及IT從業(yè)者相關(guān)經(jīng)驗,所以,上面所說的東西,可能會似是而非,面對真正的專家會貽笑大方,可以指正,請勿噴,謝謝!
------------回復(fù)節(jié)選--------------
“P=UI這個公式,當U下降時,P會隨之下降。而不會出現(xiàn)P不變,I上升的情況。U=Z*I,I也會隨著U下降而下降(Z是阻抗)?!?br>
——呵呵,感覺像是回到了初中。。。
當初我們學習的教材,U(電壓)=I(電流)R(電阻),現(xiàn)在電阻R改用Z了么?
我們已知不變的條件:W是電池容量,不變(其實會變,我們考慮理想狀況);R是機器硬件電阻,不變
我們假設(shè)兩種情況:待機和跑極限大游戲
待機時:P可變。根據(jù)U=IR,U下降,R不變,I下降;根據(jù)P=UI,UI均下降,P隨之下降,這個沒有疑問吧?所以待機用牛核必然是省電的。
跑極限大游戲:P不變。為什么P會不變?這個可能是沒有理解的地方,當執(zhí)行極限大程序,CPU達到處理能力的上限時,也就是達到了額定功率(最大功率),這時P就會不變(想再變大,除非它是變形金剛能自我進化=。=;想變???對不起,大程序不讓,一條接一條的指令需要你來運算,趕緊跑吧您nei。。。其實也會變化,游戲也好,軟件也好,會有相應(yīng)的釋放機制,由于影響很小,我們忽略不計,仍然考慮理想狀況),這個能理解嗎?所以目前有三個不變條件:W,R,P,根據(jù)P=UI,P不變,U下降,則I必須上升;根據(jù)W=PT,P不變,電池電量損耗,只和時間有關(guān)系,所以,用牛核跑大游戲,基本不會省電。
這個證明應(yīng)該比較清晰了吧,其實這里基本沒有R什么事。。。
樓主想的大部分有道理,不過還是想的少了。CPU的功率是不斷變化的,不是像樓主說的不變的。如果按樓主說的不變。那加壓豈不是能做到讓CPU熱量減???P=UI=IIR啊……還有,省點是綜合的,屏幕,通信部分,也需要耗電。CPU確實是耗電大戶,但是他的頻率也是在變化的,變化不也是在自動改變功率么。其實一個好的算法,讓CPU盡量工作在較低的頻率范圍上才是降低CPU這塊功耗的正路。
LZ您弄錯了,廠商給出的CPU最大功耗并不是不會變的,電壓、溫度還有超頻等等都會對CPU本身的功耗造成影響。所謂不會變的叫TDP,即熱設(shè)計功耗。百度了一下,熱設(shè)計功耗(TDP)的作用是反應(yīng)一顆處理器熱量釋放的指標,它的含義是當處理器達到負荷最大的時候,釋放出的熱量,單位為瓦(W)。處理器的熱功耗(TDP)并不是處理器的真正功耗(P),兩者的公式是不同的。
功耗 P=UI
熱功耗 TDP=Tj-Ta=Pc(RTj+RTc+RTf)=Pc RTz
手機上不太清楚,因為沒人測試過,電腦上有過很多這樣的測試,對CPU單純地提高或者降低電壓都會對CPU的功耗產(chǎn)生比較大的影響,特別是滿載功耗,有時候光加電壓不超頻比不加壓超頻耗電都要來得猛。
百度了一下TDP,全稱是“Thermal Design Power”,中文直譯“散熱設(shè)計功耗”。CPU TDP值對應(yīng)CPU 在滿負荷(CPU 利用率為100%)可能會達到的最高散熱熱量,散熱器必須保證在處理器TDP最大的時候,CPU的溫度仍然在設(shè)計范圍之內(nèi)。
還有一段,內(nèi)容不錯,我直接照搬下來了:
CPU的TDP功耗并不是CPU的真正功耗。功耗(功率)是CPU的重要物理參數(shù),根據(jù)電路的基本原理,功率(P)=電流(A)×電壓(V)。所以,CPU的功耗(功率)等于流經(jīng)處理器核心的電流值與該處理器上的核心電壓值的乘積。而TDP是指CPU電流熱效應(yīng)以及其他形式產(chǎn)生的熱能,他們均以熱的形式釋放。顯然CPU的TDP小于CPU功耗。換句話說,CPU的功耗很大程度上是對主板提出的要求,要求主板能夠提供相應(yīng)的電壓和電流;而TDP是對散熱系統(tǒng)提出要求,要求散熱系統(tǒng)能夠把CPU發(fā)出的熱量散掉,也就是說TDP功耗是要求CPU的散熱系統(tǒng)必須能夠驅(qū)散的最大總熱量。
呵呵,看完這些可能會更好理解一些了吧。換句話說,做用于CPU為它提供能量的,只有兩個:電壓、電流(木有其它的東西了吧?),所以,CPU能夠承受的理論電壓(U)上限和理論電流(I)上限值,就是它的理論功耗P上限。能量是可以轉(zhuǎn)化的,再根據(jù)能量守恒,入=出,所以CPU的功耗,一部分做功(W)用于系統(tǒng)運算了,而另一部分就損失在了發(fā)熱(Q)上。所以,PT(時間)=W(做功)+Q(熱量)
可能你將我前文中的P,理解為了上面說的W(做功)。另外你說的“光加電壓不超頻比不加壓超頻耗電都要來得猛”也是這個道理,光加壓不超頻,其實等同于PT上限沒有變化,剛剛運行階段,或者不滿負荷運行的時候,提速很明顯;但是滿負荷運行的時候,速度和沒加壓之前基本沒區(qū)別,而提高的電壓,基本都用于發(fā)熱了。而超頻之后,相當于提高了上面的PT上限值,即使?jié)M負荷運行,雖然Q會上升,但是W也是會上升(主頻升高,處理能力增強)的。
具體的熱功耗計算方法,實在太復(fù)雜了,和本文沒有太大關(guān)系,所以就不贅述了(俺也沒那個水平T_T),有興趣的話,可以百度(其實俺百度出來一篇,新人木有發(fā)鏈接權(quán)限呀。。。)
其實,由于CPU并不是每時每刻都在進行大量運算,核心電壓與核心電流時刻都處于變化中,是瞬時值,所以我們只考慮待機和滿負荷兩種極限形態(tài)下的理想狀況。
有個問題樓主沒鬧明白。降低電壓的主要目的就是為了降低CPU的功率,并不是樓主所說,功率恒定不變。如果功率不變化,電池送出的總功率還是那么多,起不到任何省電的目的。那個牛核能省電,好像是事實吧?(沒用過,我在用siayh降壓…)
電路這塊差不多還給老師了,不過大概意思還記得點。大概就是這樣,CPU你可以理解成一堆2極管堆一塊。2極管有閥值有漏電流,只要電壓過了閥值,漏電流夠小,那就能工作。反正原理大概就這樣,誰更清楚來拍磚啊,這塊我一直比較漿糊…降壓內(nèi)核我覺得現(xiàn)在出現(xiàn)的問題就是,大家的CPU體質(zhì)不一樣,電壓降低多少臨近閥值是個未知數(shù)。還有個問題就是電壓的控制,現(xiàn)在都是電路自己控制的,軟件控制的降壓只是理論應(yīng)該是那么大,誰也說不好實際是不是那樣啊。
可能我們的描述過于繁瑣了,你提到的“有個問題樓主沒鬧明白。降低電壓的主要目的就是為了降低CPU的功率,并不是樓主所說,功率恒定不變?!边@點我是同意的,因為待機時,CPU沒有跑到上限,所以降低電壓,CPU功率是降低的,P(額定輸出功率)T > P(實際輸出功率)T+Q(發(fā)熱,這里忽略)。所以牛核在待機方面省電效果明顯。
當另外一種情況,跑大游戲,將CPU達到耗用上限(CPU100%),這個時候,CPU輸出功率也達到了上限值,基本不變了(這是我說的功率不變情況)P(額定輸出功率)T=W(運算做功)+Q(發(fā)熱)=P(實際輸出功率)T+Q(發(fā)熱)。所以牛核跑大游戲省電效果不會很明顯。
降壓腳本的大概原理應(yīng)該是根據(jù)CPU不同頻率,給定不同的電壓。
嗯,我之前推測確實存在部分誤區(qū),猜測牛核可能是設(shè)定一個電壓上限,然后根據(jù)程序不同,電壓進行自適應(yīng),木有想到會通過降壓腳本,劃分CPU頻率按step進行控制。如果CPU跑到極限,不降低電壓,那么確實風險要小很多(或者說和沒刷之前一樣)。但同時,如果某個或某幾個step給定的電壓值接近物理極限,體質(zhì)不好的兔子不需要跑極限大程序,可能同樣也會出問題,而且?guī)茁蕰?。不過大體上,這個和我的表述并不沖突,可能是我之前寫的太羅嗦了。。。