By Joe Levi | June 15, 2012 10:56 AM
UPDATED: Thanks to our readers I’ve been able to shake off a little of the alien brain-washing that caused me to get some parts of the article dead wrong! I’ve updated the article with more accurate information and have removed the inaccurate information.
Have you ever gone to the supermarket and found several lanes open? It doesn’t matter which lane you pick, your lane is the slowest. It’s inevitable! What do you do when you see the lane next to you moving faster? You move to that lane! But then that one slows down, and you move to another, then another, and another. Soon you realize that the people who got in line after you are all done and heading out the door, and you’re still at the end of the line!
The same could be said of the cores in our smartphones and tablets. We start out with one core and everything’s just fine. We add a second core and things speed up a bit. It stands to reason that if we add a couple more cores things should really scream, right? But they don’t. Let’s see if we can get to the bottom of “why” the dual-core processors are sometimes faster than their quad-core siblings.
It all about the ARM
The first, and most obvious reason one is faster than the other is that we’re really comparing oranges to … another type of spherical fruit. (I can’t say “the other word” because this is an Android article, right?)
When I originally published this article I talked about the Cortex A15 versus Cortex A9. For some reason I thought the Qualcomm S4 was running the former… Thanks to some observant and astute readers, I’ve been set straight: that’s not the case. There’s even some argument over whether or not Qualcomm’s Krait is even a true A15 or not.
From the comments
You would rather be more accurate in saying that Krait core from Qualcomm is of “Cortex A15 class”. A lot of people confuse between ARM Cortex series vs. Snapdragon by saying the latter is a A8 or A9.
Qualcomm licenses the ARM ISA and develops cores from scratch.
S4 is a heavily customized Cortex A9…Qualcomm always licenses ARM and customizes it. A8 was customized to Snapdragon, A9 to Krait…Krait really doesn’t even have a lot of A9 in it…
Customizing: A Two-Edged Sword
Now that the alien brainwashing that caused my confusion about the whole A9/A15 thing is starting to wear off, let’s get this answered right!
Each processor is different, and not just manufacturer differences. Those differences are varied both in the makeup of the cores, the pipeline depth, fabrication method, clock-speed, cache, and optimizations to the instruction set that let you do fancy things like run instructions out-of-order.
Combining different features in different combinations yields different chips with different performance versus power-consumption characteristics — and not always for the better!
Customizing features in the instruction set can help speed things alone, like out-of-order instruction processing which is sort of like the express-lane in at the grocery store, can help get smaller instructions through much faster, keeping those that are stocking their pantry for the zombie apocalypse from slowing down the rest of the shoppers. Not all Qualcomm processors do this, but some do, and it’s just one example of how running things through the processor a little smarter can really speed things up, even without upping the clock-speed or the number of cores.
I’ve had readers complain that articles like this aren’t technical enough, while others comment that they’re too technical. It’s a hard line to walk to satisfy both sides. All I can promise is that I’ll be my best to be reactive to both, and rely on the more techie readers to help answer questions about specifics in the comments.
One thing I think we can all agree on is that CPU/SoC choice isn’t always about which one has the best numbers, or even the best features. Marketing has a heavy hand in the game, and sometimes muddles up the playing field.
Marketing drives us to faster clock-speeds and more cores. In their defense, cores and clock-speeds are much easier to quantify than trying to cram the technical differences between the Krait, Exynos, and Tegra 3 onto a sell-sheet.
Even with the corrections, does what I’ve talked about explain every nuance of why the dual-cores can be just as fast as quad-cores? No, not even close. Hopefully it starts to paint the picture that it’s not always the number of cores or even the clock frequency that determines overall performance. Sometimes it’s a bit more “interesting” than the raw numbers.
And we haven’t even talked about RAM… but we’ll save that topic for another day.
To those of you who commented and wrote in to help correct the technical inaccuracies in the original article: thank you! The breadth and depth of knowledge embodied in Pocketnow readers never ceases to amaze me! You guys (and gals!) are great!