What determines the “computing power” of CPU cores? Why is an ARM core generally considered less “powerful” than an x86 core?

614 views

We hear all the time that a smartphone with 8 cores is nowhere near as powerful as a desktop PC with 8 cores, and this is mostly chalked up to the smartphone having 8 ARM cores which are weaker computationally than 8 x86 cores, but what aspect of a CPU core design makes it better or worse at computing than another design? Hypothetically, if I wanted to make an ARM core as powerful as an x86 core, what would I change about it?

In: Technology

This is a very complex question if I get in depth on the engineering decisions that make them different, but without that, it becomes oversimplified.

Heat. Think of phones as ultra small computers. Unless you want a fan in your phone, they depend on passive cooling, and unless you want the phone to be heavy, batteries can’t be very big.

Now, luckily, if a chip takes less energy to work, battery needed to keep it running is smaller, and that energy which is dissipated as heat is less of a problem.

With this in mind, the whole concept of a portable phone requires low power chips, and low power means lower performance, even if performance per watt (power and energy required) is better.

So if powerful were to mean the ability to solve a range of X compute tasks and think lots, then the differences show between the two approaches to cores in various ways, power consumption favours ARM, time taken to solve compute could be x86, a look a the chip set between the core types and the way the os kernel uses the cores to complete the tasks as requested by applications all comes to play. So to address a global scale large compute problem – whole computer design, compiler and coder skill all play a factor. Take the whole worlds email, or excel platform it very difficult to compare non x86 to this and likewise Arm machines and phones. Price, heat, chip features, dev community, are all factors contributing to the powerful core. I would caution against a simple look at clock speed, size of various caches, while I note these have a contribution.

Okay, let me try.

First of all, for simplicity, remove the idea of “core” from the equation. A core is just a processor. An 8 core CPU is 8 processors stacked together. This is done because we’ve bumped into the limit of how good we can make a single processor, so we’ve decided “screw it, if we can’t make one 8 times better, let’s just use 8 of them”.

With that of the way, what is a CPU clock frequency? It’s a beat. Think of a guy banging on a drum to set a rhythm. That’s all it is. When the drum goes “bong!” something happens. But that beat is just there to keep things running smoothly. Nothing dictates how much stuff much happen from one beat to the next, so you can’t usefully compare a 2 GHz ARM CPU to a 2 GHz Intel one, or even Intel CPUs of different generations.

Now, what makes one CPU better than another? Loads of internal design stuff. Let’s say that the first CPU design we had couldn’t multiply at all. So if you wanted to calculate “2 * 500”, what you’d have to do is to “add 2, 500 times”. This obviously takes at least 500 times as long as a single addition. So that’s slow, inefficient. For the next CPU we figure out how to create a multiplication instruction, and it takes say, 4 times as long as adding (because multiplication is a more complex operation). So now “2 + 2” takes some amount of time, “2 * 2” takes 4 times as long, but “2 * 500” also takes 4 times as long. We’re improving! And in the generation after that, we designed some really fancy circuitry to make multiplication happen exactly as fast as addition.

Repeat this kind of thing, many times, and we’ve got the hell of an improvement.

Perhaps to simplify the ideas above, both F1 racing cars and a Ford Fiesta have ‘engines’. Both are around 1.6 liters. But the Fiesta 1.6 generates 99 horsepower, the F1.6 around 1000.

Of you replace ‘core’ in your original question with’engine’, you get the idea.

**Please read this entire message**

Your submission has been removed for the following reason(s):

* ELI5 requires that you search the sub for your topic before posting.

There are absolutely no exceptions to this rule.

Users will either find a thread that meets their needs or find that their question might qualify for an exception to rule 7.

Please see this [wiki entry](http://www.reddit.com/r/explainlikeimfive/wiki/how_to_search) for more details (Rule 7).


If you would like this removal reviewed, please read the [detailed rules](https://www.reddit.com/r/explainlikeimfive/wiki/detailed_rules) first. If you still feel the removal should be reviewed, please [message the moderators.](http://www.reddit.com/message/compose?to=%2Fr%2Fexplainlikeimfive&subject=Can%20you%20review%20my%20thread?)

**Please read this entire message**

Your submission has been removed for the following reason(s):

* ELI5 requires that you search the sub for your topic before posting.

There are absolutely no exceptions to this rule.

Users will either find a thread that meets their needs or find that their question might qualify for an exception to rule 7.

Please see this [wiki entry](http://www.reddit.com/r/explainlikeimfive/wiki/how_to_search) for more details (Rule 7).


If you would like this removal reviewed, please read the [detailed rules](https://www.reddit.com/r/explainlikeimfive/wiki/detailed_rules) first. If you still feel the removal should be reviewed, please [message the moderators.](http://www.reddit.com/message/compose?to=%2Fr%2Fexplainlikeimfive&subject=Can%20you%20review%20my%20thread?)