|
2010-04-23
, 00:51
|
|
Posts: 4,930 |
Thanked: 2,272 times |
Joined on Oct 2007
|
#3252
|
It is difficult to say. The total energy from battery definitely increases with higher frequency even you run with low voltage. And most of that energy dissipates on CPU.
Just to understand better that a small example. I ran a stock kernel and measured a current from battery under different frequencies. The 250MHz (playing MP3 music) takes only around 110mA but 600MHz (hard loop in shell) takes TEN times more - around 1400mA (screen is dark etc). But CPU VDD1 voltage still differs only 1.26 times (1.58 in square).
So, the biggest power consumption increase is in frequency increase.
|
2010-04-23
, 01:11
|
Posts: 1,729 |
Thanked: 388 times |
Joined on Jan 2010
@ Canada
|
#3253
|
Your data's not sufficient to show that. You're running two quite different workloads, and I suspect it's not clocking most of the time with the MP3 load. Now if you run the same loop with the frequency limited to 250 MHz, you'd have an accurate comparison, and I'd expect the power to scale something like V^2*F.
Assuming the V^2*F WAG is right, overclocking from 600 to 850 would be the same power if you can reduce voltage from 1.35V to 1.13V, and -- assuming your workload involves doing fixed tasks followed by idling (instead of runaway loops, games that can't keep framerate up on either setting, etc.) -- the overclocked option will finish sooner and run cooler overall. So I'd guess that esthrel's comparison of 850MHz@1.2V is not harder on the CPU than stock settings for typical usage, but you're right, it is hard to say.
|
2010-04-23
, 02:23
|
Posts: 992 |
Thanked: 995 times |
Joined on Dec 2009
@ California
|
#3254
|
> It is difficult to say. The total energy from battery definitely increases with higher frequency even you run with low voltage. And most of that energy dissipates on CPU.
> Just to understand better that a small example. I ran a stock kernel and measured a current from battery under different frequencies. The 250MHz (playing MP3 music) takes only around 110mA but 600MHz (hard loop in shell) takes TEN times more - around 1400mA (screen is dark etc). But CPU VDD1 voltage still differs only 1.26 times (1.58 in square).
> So, the biggest power consumption increase is in frequency increase.
Your data's not sufficient to show that. You're running two quite different workloads, and I suspect it's not clocking most of the time with the MP3 load. Now if you run the same loop with the frequency limited to 250 MHz, you'd have an accurate comparison, and I'd expect the power to scale something like V^2*F.
|
2010-04-23
, 02:44
|
|
Posts: 4,930 |
Thanked: 2,272 times |
Joined on Oct 2007
|
#3255
|
OK, I re-did measurements with the same hard loop in shell. I used scaling_max_freq to limit to frequency to 250MHz and verified each time via scaling_cur_freq and cpuinfo_cur_freq. For more accurate measurement I switched phone to offline and delayed measurement via "sleep 10" after I locked phone.
In 600MHz I got
battery current = 1000mA (approx)
VDD1 = 5 (1.350V)
VDD2 = 3 (1.200V)
In 250MHz I got
battery current = 400mA (pretty close)
VDD1 = 2 (1.075V)
VDD2 = 2 (1.075V)
So, in accordance with your formula (V^2 * F) voltage increase should increase energy consumption by 1.58 but a real energy consumption increase is 6.25 due to (1000mA/400mA)^2, formula: W = I^2 * R.
|
2010-04-23
, 04:27
|
Posts: 992 |
Thanked: 995 times |
Joined on Dec 2009
@ California
|
#3256
|
Cool!
Wrong formula... You're modeling the N900 as a resistor (voltage goes up, current goes up), when the main load on the battery is a switching DC-DC power-supply (voltage goes up, current goes down). I'd go with P=I*V, and since the battery voltage shouldn't change much, and in the opposite direction of the current (increased voltage drop due to internal resistance at the heavier current), I'd neglect it: P ~ I is conservative.
So by my math, you've got increase by 2.5 only (but actually less).
I'd figure:
Voltage ratio = ((1.35+1.2)/2)/1.075=1.186
Frequency ratio = 600/250 = 2.4
Predicted power ratio = 1.186^2*2.4 = 3.37
So, actually, it's less than V^2*F.
|
2010-04-23
, 04:48
|
Posts: 310 |
Thanked: 383 times |
Joined on Jan 2010
|
#3257
|
I agree with you - the current is measured in battery and it looks like energy consumption is increased by 2.4, you right.
But in this case a run on 600MHz would save battery because 600MHz runs 2.4 faster 250MHz and it is 2.4 times shorter than 250MHz. However, if I set "ignore_nice_load" which in effect decreases the number of switches from 250MHz to 600MHz I definitely have around 50% increase in battery life.
Some theory is needed to explain it. For a moment I start disbelieving in BQ27X00 measurements - it contradicts my experience.
However, somebody reports a battery saving then he set 500MHz as a minimum frequency.
|
2010-04-23
, 04:50
|
Posts: 992 |
Thanked: 995 times |
Joined on Dec 2009
@ California
|
#3258
|
|
2010-04-23
, 05:48
|
Posts: 992 |
Thanked: 995 times |
Joined on Dec 2009
@ California
|
#3259
|
The Following User Says Thank You to egoshin For This Useful Post: | ||
|
2010-04-23
, 05:59
|
|
Posts: 741 |
Thanked: 900 times |
Joined on Nov 2007
@ Auckland NZ
|
#3260
|
|
or is it fatal if the cpu runs straight at 600mhz in stock and dosent drop?
sorry....this overclocking is somewhat unclear for dummies like me.
in layman's term, Oc makes n900 fast in every aspect, including "life span" drain