Apple CPU vs. Intel CPU.. Fight!

Cicobuff, you seem to be misunderstanding the original point wumpus made. He argued that a faster SoC is more power efficient because it completes a task in less time.

Thats not related to process node, as every chipmaker makes slower and faster CPUs(or cores) on each node.

It is very much possible to test his claim, unfortunately no-one has done so in the mobile space. There are however, a plethora of tests on desktop CPUs that shows there to be a substantial loss in efficiency as voltage ramps up despite the increased speed in completing a task.

Wumpus’ claim was that slower CPUs are never more power efficient. So far he hasn’t, despite about 10 more posts, been able to provide a single source that provides evidence for that. Instead he’s somehow conflated ‘slow’ with ‘old’ and argued that older being less efficient than newer means a slower cpu is less efficient than a faster one no matter what.

That’s mistaking correlation for causation.

This thread is always so spicy! Love it.

Could you guys go back to calling each other illiterate three-year-olds? I can’t, uh, “enjoy” this thread without the name-calling.

Please hurry.

Was that what he was saying? I thought he was saying that the race-to-idle design was more efficient in typical use cases.

There could have been some conflation of issues, but I guess I picked up what I wanted to interpret =). The “spicy” language used between you guys added to the confusion ha.

I think that you may have cracked the code! I think that we just have slightly different definitions of an SoC (System on a Chip).

He’s got a more holistic view of the word “System” means and for a phone he believes that:
The SoC Contains:

  • GPU
  • Separate Baseband Chips
  • 1 CPU Core
  • RAM *
  • Display Hardware *
  • Operating System
  • Web Browser
  • Any Applications

The SoC Does Not Contain:

  • JavaScript
  • Camera
  • Additional CPU Cores
  • RAM (superfluous amounts above what the Apple device being discussed has)
  • Extra Pixels (superfluous amounts above what the Apple device being discussed has)

Needs Additional Information:

  • Speakers
  • Battery

It’s starting to make more sense now. Thanks @Timex

In general, contrary to the bizarro Android “slow devices are good mmkay” group-think that goes on here, a faster CPU typically does better on battery life because it plows through the work at an accelerated rate and gets back to idle sleep state faster, which is where the real power savings are.

This was his claim.

CPUs that can get to idle quicker after the workload has finished = more efficient.

CPUs that can respond within workload to varying load = more efficient.

CPUs that use less idle power = more efficient.

As voltage increases, task efficiency decreases.

A core clocked at 4Ghz is not more ‘efficient’ than the same core clocked at e.g. 3Ghz. It can be depending on total system power usage and whether the additional ‘on’ time of the entire system as it waits for task to finish, offsets the gains from the power efficiency of completing the task at a lower speed, but ‘it depends’ is the answer and it’s a far more complex truth than @wumpus’s claim that faster automagically equals more efficient because ‘muh idle’.

Consumers value responsiveness and battery life, but I suspect that market testing by major mobile phone manufacturers has shown that consumers actually value responsiveness more than battery life.

Ah, I can see where the issue lies.

wumpus and your definition of efficiency are different. Generally speaking, the definition you adopted is the efficiency at a specific task. And you are right in saying that completing the task faster (with the same chip process) will mean expending more energy and becoming less efficient.

But the race to idle design measures efficiency by the time spent the CPU is turned on, i.e. over the lifetime of user interaction with the device and thus CPU.

The closest day to day engineering equivalent/analogy that we experience here in Asia I can think of is the use of “Inverter” air conditioning technologies. Energy is Asia is typically more costly compared to the west so the Japanese implemented this concept of “Inversion” in air conditioning (I’m not sure if this is popular in the West).

It is to use a huge amount of power to very quickly cool the room, and then shutdown the compressor. They measure efficiencies by the power expended to keep the room cool over the entire period the room is cooled and not just at the task of getting the room to a certain temperature. So the spike in power for a brief period of time uses much less energy compared to an old type compressor that just chug along constantly drawing power.

…No. I haven’t once said or claimed that efficiency should be measured outside of the entire user interaction with the device.

Race to idle was initially designed for CPUs that couldn’t dynamically alter voltage with load. As voltage stayed constant, the efficiency gains in running at a lower frequency were much, much smaller than if voltage could be reduced at the same time (you can look up the formulas if you’re bothered).

With the widespread advent of DVFS technologies(e.g. SpeedStep, which alters frequency and voltage), the efficiency games of running at MAX to achieve MIN quicker have dissipated.

Further, as process nodes have shrunk, the proportion of total power that is taken up by leakage (which has a non-linear relationship with heat) has massively increased e.g.

https://m.eet.com/media/1065831/Natl4Fig1.gif

https://m.eet.com/media/1071002/Apafig1.jpg

https://m.eet.com/media/1071003/Apafig2.jpg

Indeed, static leakage is the problem in CPU design and it was being talked about as long ago as http://ieeexplore.ieee.org/abstract/document/1250885/

We’re talking past each other now. I’ll let you have the last word. =)

Ok, so let’s examine that claim. Let’s move to the iPhone 7 plus, which has a larger screen.

iPhone 7 plus - 5.5 inch 1920 x 1080 IPS LCD

Also, remember that AMOLED is generally more efficient than LCD:

AMOLED screens at 100% APL (pure white screens) are more inefficient than LCD screens. For every other situation, they are more efficient, as they can be selectively lit.

(I wanted do this for the iPhone 8, but sadly Anandtech never reviewed the iPhone X or 8 which is frankly kinda odd. So you’ll get 7-series instead.)

Per this article, on the real world web browsing battery benchmark:

Galaxy s7 edge, Snapdragon 820 9.72 hours
iPhone 7+ 9.32 hours

Hey seems pretty close! Let’s examine that.

Galaxy s7 edge, Snapdragon 820 3600 mAh
iPhone 7+ 2900 mAh

Therefore, efficiency in milliamps per hour, under real world web browsing use, are…

Galaxy s7 edge, Snapdragon 820 370 mAh / hr
iPhone 7+ 311 mAh / hr

20% more efficient, similar sized screens, while being wayyyy fucking faster, on the order of 2-3 times faster. Don’t make me get out my Qualcomm whipping stick again.

Well, let’s see. The width of the task is 188 pixels for the faster device (iPhone 5), and 350 pixels for the slower device (iPhone 4s). per the graph it’s about 2w average over that time interval for the 5, and 1.5w for the older and slower 4s.

Remember this is THE EXACT SAME TASK ON ALL DEVICES. We’ll only look at the iPhone 5 and iPhone 4s to keep it simpler.

image

188 pixel width × 2w = 376
350 pixel width × 1.5w = 525

Obviously it’s not using this many watts in real life, I’m just multiplying by the proportional size of the box, which shows you that 525 / 376 = the iPhone 4s uses 1.4x the power to complete the task, because it took longer.

Already this is a wildly losing proposition. Now let’s look at the idle savings.

image

The width of the idle time for the iPhone 5 is 578 pixels, and the width of the idle time for the iPhone 4s is 346 pixels. And the idle power usage looks like 0.6w for the iPhone 5, and a modestly higher 0.7w for the older iPhone 4s.

578 pixel width × 0.6w = 347
346 pixel width × 0.7w = 242

Giving us a total power usage of:

376 + 347 = 723
525 + 242 = 767

Hey, look at that. The faster device used less total power over the exact same time interval on the exact same task. Like I’ve been saying all along.

What I meant was that you needed to include the area under the pink boxes you drew.

Edit: Also the power draw is the average of the peaks and troughs (we are looking at wattages, edited for error) So to draw the pink boxes based on the peaks and troughs and to ignore the area under them was incorrect.

Bearing in mind I believe in the race-to-idle design is a big boost to efficiencies, I just corrected the pink boxes. I do think the chart do support a superior power usage pattern.

Well, you can check my math above.

It’s obvious based on the graph. As I’ve been saying from the earliest parts of this topic…

Note that I also said

Which is, again, true.

Scroll on up via the arrow at the top right of those quotes if you don’t believe.

I do believe what you are saying about effiencies.

What I dont believe is that you drew the pink boxes correctly. :)

No, you’ve been saying all along that “faster always equals more efficient”. You’ve, in all your ramblings and measurings of pixels, still not understood that correlation does not imply causation, and you’re not measuring like for like.

removed

A faster chip being also more efficient isn’t magically more efficient because it’s faster.

Hey look,

THE FASTER CPU ISN’T MORE EFFICIENT MIND BLOWN

Wow really, I reach different conclusion = I hate basic chip design. Nice.

Yeah sorry, that was a bit unfair. You do seem to be unaware of what the reason for race to idle was, or why it has largely been supplanted by DVFS, or what power leakage is and why it’s what has effectively killed Moore’s Law.

I should add, your inverter analogy is rather evident of that. Inverter AC units are more efficient because they can vary speed with demand. They aren’t more efficient because ‘they’re more powerful’. Non inverter ACs can be just as powerful but are less efficient because they can only be cycled on or off. Which rather runs contrary to your argument.

No worries.

A quick search on google brings me to this article on the Android governor in the kernel using the race to idle design. It specifically addresses battery life and how the design saves battery.

Among other things like tweaking of the right frequency to use.

I’m truly interested in the key reason for race to idle in chip design if not for power effeciencies reasons though. Anything easily understood I can follow up on?

The inverter technology runs the compressor at much higher power output compared to a traditional compressor. That is the key reason why it’s called “inverter” because it inverts the power usage, bursting at the beginning and then running at low power mode. In this, you got the basics flat wrong.

Race to idle, as I’ve already discussed, exists from a time when voltage couldn’t be dynamically altered with load. Google DVFS, or reread my previous posts.

Reducing frequency but keeping the same voltage resulted in negligible power savings. Reducing frequency & voltage results in large power savings. Race to idle does the former, DVFS does the latter. Both terms have become somewhat interchangeable, particularly as technologies like SpeedStep use them as synonyms.

It’s called an inverter because it inverts from A/C to D/C, not because it ‘inverts the power usage’.

Our inverter is an energy saving technology that avoids energy waste in air conditioners by efficiently controlling the motor speed. Rather than expending additional energy by starting and stopping, the inverter adjusts the speed of the motor so that it runs continuously and more efficiently. Our inverter technology reduces your consumption by up to 30%.

The inverter air conditioner is quieter in its operation. This is because unlike the non inverters, they don’t automatically turn on and off every time they reach certain temperature limits; instead they just cruise along maintaining and adjusting the temperature constantly. Also, contrary to the operation of a non converter, the inverter uses less power and as a result they work less.

http://www.mitsubishielectric.com/bu/air/technologies/inverter.html

Inverters electronically control the electrical voltage, current and frequency of electrical devices such as the compressor motor in an air conditioner. They receive information from sensors monitoring operating conditions, and adjust the revolution speed of the compressor, which directly regulates air conditioner output. Optimum control of operation frequency results in eliminating the consumption of excessive electricity and providing the most comfortable room environment.

A traditional air conditioning unit maintains your home’s set temperature once the thermostat lets it know the inside temperature has risen above the set temperature. Non-inverter type air conditioners turn the motor on and off in order to do this, which ultimately consumes excess energy.

Inverter technology is different. It works by adjusting the motor speed without actually turning it off; thus, saving you the energy costs of power surges to turn a unit on or off. To really appreciate just how much energy these units save, you need to understand the technology behind it

As I said, inverter ACs effectively run something similar to DVFS, which is the opposite of the point you were trying to make. They dynamically change voltage to match load.

But that is the thing, race-to-idle/sleep is a thing that also generally works. What it isn’t, is the only design factor and not always the most important.

To bring in an example, car engines are designed to have a rpm speed (or range of speeds) where they are most efficient. If you are driving someplace there’s a most fuel efficient speed for that trip. It’s not going to be the max possible speed of the car (laws aside). The main issue is air resistance increasing as you go faster.

Ideally (from a fuel efficiency perspective) if you are driving someplace your ideal strategy would be to ramp up immediately to your most fuel efficient speed (say 65 MPH) and drive continuously at that speed until you get there and stop and turn the car off. But along the way you get stuck behind some trucks, there’s a stop sign, slow down for a curve, etc so you have to ramp your speed up and down. There’s still an optimal curve there, but it’s not 65 MPH the whole way, and it’s definitely not 120 MPH the whole way. A modern CPU has similar constraints, it is waiting for a memory fetch, buffering data in/out to drives or GPU, pending on the network, migrating information between cores, etc etc. As it is doing different tasks it ramps it’s speed up and down to fit the work load to attempt to do it in the most power efficient way given that it is (generally) fitting a curve.

CPUs have a similar sweet spot and power leakage at higher clock rates follows a similar general curve. There’s a reason that overclockers generally have to increase voltage to the CPU for stability.

Along these lines, if you wanted to compare car engine efficiency you can’t just pick two different cars with each engine and compare the MPG numbers. The car aerodynamics is a huge factor, if of them have the A/C on, one of them weighs more, something about transmission gears. I am not a mechanical engineer, but I think that it gets the point across.

Claiming that race-to-idle/sleep is the only factor is similar to claiming driving your car at it’s peak possible speed is the most fuel efficient way to get somewhere.