Two, four, six, eight: how many cores does your phone need?
One of the lesser reported trends of the annual Mobile World Congress gadget and phone fest, which took place a couple of weeks ago, is that four cores will soon no longer be enough for today's discerning mobile phone handset. Apparently.
Qualcomm and Mediatek both announced eight-core CPUs based on the latest ARM chipset designs – which could make the next generation of phones very powerful indeed. 'Octa-core' smartphones will simultaneously run fast, preserve battery life and make games look better.
Sound too good to be true? Sometimes. And sometimes not.
Samsung Galaxy S4
Eight cores? Bet Samsung's glad it got in there first then, with its octa-core Galaxy S4?
Maybe. But that was a year ago. The new 2014 flagship from the Koreans – the Galaxy S5 – is strictly four cores only.
Core blimey! Isn't that a bit retrograde?
Not necessarily. But to explain why we're going to need to step back a bit. Even counting cores is complex. Eight doesn't always mean eight, for example. Even in desktop computers it's rare to find a true eight core CPU. AMD's octa-core chips, for example, share certain resources in pairs, making them more like four-cores-plus-a-bit. Intel, meanwhile, sticks with making its four core chips look like eight core ones with Hyperthreading.
It's an Intel term which loosely translates as being able to run two threads on one core at the same time, by fooling your operating system into seeing both the 'real' core and a virtual one next to it, thus issuing instructions for double the number of threads it thinks it should.
Nope. Still lost me. What's sewing got to do with this?
The key advantage of multicore processors is that they can work on more than one 'thread' at a time. Imagine Thief as a great big checked picnic blanket of computer code. It looks like one piece of software, but actually it's split up into smaller independent blocks of colour, which might represent all the different programs which actually make up the game. Green for graphics, blue for artificial intelligence, red for the rivers of blood made possible by the physics engine and so on. In turn, these are made up of hundreds of subroutines or threads, all pulling together.
Thief is a picnic blanket you say? Explains why it has so many bugs.
You're catching on. In ye olden days, a CPU had one 'core' – or 'execution engine' - which was capable of performing maths on a single thread at a time. So if it had to compute a value for each of those threads in the big Thief blanket for every frame, it would take a long time.
Originally, this length of time was shortened by increasing clockspeeds. While only one thread could be managed at a time, you could still process three million of them or so a second, which for most purposes was enough.
The problem is that the blankets got bigger and with more intricate designs faster than chip designers could keep up with faster clockspeeds. The faster a chip runs, the more power it consumes and the hotter it gets. Hot chips start to fail and make mistakes in their maths.
This may be a slight oversimplification of how a computer works.
I think you got carried away with the analogy there.
The point is that just over a decade ago, the PC industry moved to 'multicore' chips: CPUs capable of processing two or four threads at a time. This is not only more efficient in terms of processing lots of threads, but generally speaking two smaller cores can do more work with less energy than one big hot core.
Because of their size and constraints about how much heat they can generate and battery life they can consume, phones are even more limited by clockspeed than PCs were at this stage in their life. So adding extra cores to improve efficiency and get things done fast – like seamlessly switching between the phone dialler and Angry Birds, for example – is seen as crucial to making smartphones perform smoothly.
So eight core phones are awesome then?
Well, they would be - except that with the exception of the Goophone N3, which launched in India to some fanfare but no dramatic reviews late last year, there's not really been a proper eight core phone yet.
But what about the Samsung Galaxy S4?
There were two versions of it kicking around. One was a standard quad-core chip, the other was a 'big.LITTLE' design.
big.LITTLE? No need to shout.
Quite. ARM did a lot of shouting a couple of years ago when big.LITTLE was announced. The idea is that you take a four core phone processor which has the latest and greatest technology inside capable of running the handset really fast, then you add a second set of four cores designed specifically for low power operations which take over when the big boys aren't needed.
In theory, this should mean that when your phone is idling – waiting for calls or playing music – the LITTLE cores keep it ticking over with the bare minimum of power. When you want to play Minecraft, the 'big' cores take over and do their work. Samsung market it as eight core, but only four are in use at any one time.
Sound like a genius idea.
It is. But in practice, it's not really worked out too well. Take that Samsung S4. The differences in battery life and performance between the two versions were negligible, if apparent at all. The quad-core model, on the other hand, had an LTE radio, which the octa-core didn't.
Which probably explains why there's no octa-core S5?
Exactly. Samsung's focused on just the one model this time, and opted for measurably faster internet over theoretically smarter performance. Not a terrible idea, really.
So four cores good, eight cores bad?
It's too early to say, really. Qualcomm's latest Snapdragon 610 and 615 chips have eight cutting edge A53 cores each, so they're genuine octa-core performers, while Mediatek's clever MT6595 has a big.LITTLE-style design with a unique twist: the four helper cores can be turned on with the four powerful cores for an extra processing power boost.
Now we're talking...
Except both are untested, as yet, so we don't really know how they'll perform. To make things worse, not many mobile phone apps are correctly optimised for multicore processors any way – so throwing more cores at them won't make them faster. After all, look at what Apple's doing with its software optimisations.
Let me guess, the iPhone 5s has 16 cores already?
Nope. Just two.
But it's so quick and silky and smooth!