View Single Post
Benson's Avatar
Posts: 4,930 | Thanked: 2,272 times | Joined on Oct 2007
#3255
Originally Posted by egoshin View Post
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)
Cool!

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.
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.