by Robert Triggs, 6 days ago
There was plenty to see and do at Google I/O, but our own Joshua Vergara still managed to find the time to get hands-on time with Nvidia Shield and conduct an interview with Nvidia. We’ve…
Those who like to follow hardware will have no-doubt noticed the increasing prevalence of quad-core processors in top of the line products, and it looks like the trend is set to continue with the introduction of octo-core processors later this year.
We've already had our first snippets of information about Samsung's new Exynos 5 Octa processor, which will come in an eight-core variety. Then there's also Nvidia’s Tegra 4, which sports an overwhelming 72 core GPU on top of a five core CPU.
Is there any end in sight to this exponential growth in core numbers, and is it even the solution we really need to pump up the performance of our portable devices? Well, that's what I'm here to discuss.
If you can recall back to the turn of the millennium and Intel's introduction of the Pentium 4 processor, you'll probably remember that even these decade old PCs were commonly clocked up above 3Ghz. Fast forward to today's modern PCs and you'll still find that even the most expensive Intel i7 doesn't venture beyond the 4Ghz wall without some tinkering and customized cooling solutions.
The problem is that processors hit the wall, in terms of clock speed, a decade ago, and in the search for ever faster computing solutions we've had to turn to multiple cores.
Looking more specifically at recent portable computing solutions, it's obviously important that the device is power efficient and that remains relatively cool. Higher clock speeds not only require more power, but also churn out more heat, which can't be cooled particularly well when you want your smartphone to only be 1cm thick.
This is where multi-core processors provide the perfect solution, a good balance of power and heat, but also allowing you bypass the performance problems associated with lower clock speeds. This is because each CPU core can run at lower frequency and voltage, compared with a single core chip, whilst maintaining performance.
Now that we've established that running two cores side by side solves the problems of low performance in smartphone and tablet devices, similarly, you could argue that continuing to increase the number of cores for parallel processing would overcome any speed bottleneck. However this is where the multi-core solution starts to look less impressive, as there are diminishing returns as the number of cores increases.
Firstly there's the problem of wasted clock cycles, instructions need to finish at the same time otherwise you're processor will be wasting energy. In order to utilize every clock cycle on a quad or octo-core processor efficiently, a software developer needs to optimize their application to sync parallel processing, but this ads time and costs to software production. In some cases applications simply aren't very demanding anyway, so your cores are just going to sit there using battery.
One solution to this is to clock down the processor's speed when the cores aren't being utilized fully. But more powerful chips require a higher minimum amount of energy than slower processors, even whilst idling, which still causes wastage.
Then you also have to consider bandwidth constraints, in other words how much data can we feed to multiple processors at any one time. Once the bandwidth is reached you can't push any more data through, regardless of the number of cores available. This limits the real world performance improvements of multi-core over single core processor speeds, you'll find that other bits and pieces of hardware bottleneck the rest of your system.
So whilst theoretically you could add more and more cores, it doesn't necessarily allow you to push more data through at once. And when you're not using them, multiple cores can be a massive power drain.
Taking all of that technological jargon on board, it seems like there are certainly limitations when it comes to multi-core systems. But we've heard so many mixed messages from manufacturers over the years it's hard to tell who to believe. Intel for example talked of hundreds of processor cores back in 2011, and Nvidia seem certain that GPGPUs are the future. However, Qualcomm remains adamant that a few cores with higher clocks are the best solution. So who's right?
Well rather than listen to the cheap talk, when we actually look at processor specs you'll notice something quite interesting — 8 core ground breaking performance is actually a bit of a myth, at least for now.
Take Samsung's new Exynos 5 Octa processor for example. Although it's called an octo-core processor, all eight cores aren't working in tandem as you might think. Instead there are two sets of quad-cores, a set of powerful ARM Cortex A15′s and a set of low power ARM Cortex A7′s, only one of which can be used at any one time. An elegant solution for the power efficiency problem I mentioned earlier.
Whilst this allows the chip to be more economical, by switching to the faster power hungry cores only when needed, there's no performance benefit over a standard ARM Cortex A15 quad core chipset. Nvidia's Tegra processors work in a similar way, using a single low power core for low-intensity tasks and the quad-core only when needed.
As another example, take a look at the PC market for the past five years. The number of cores hasn't ventured above four in mainstream or high-end gaming products, despite the fact that a Q6600 is now over five years old. If you take a look at the only full 8 core product in the consumer market, the AMD FX-8 range, it actually performs poorly compared to better designed Intel quad-core processors. Even Intel's new Haswell chips aren't increasing the number of cores available; the PC market has clearly reached a plateau.
So why is it such a struggle to push past four cores, well it all lies in the nuts and bolts, it's down to transistors. Either way you look at it, a fast single-core or slower multi-core processor has to be made up of increasing numbers of transistors, and more transistors means more heat and more power consumption.
Problem 101 with handheld devices, there's only a limited amount of battery power and no room for cooling. So it's doubtful that a fast, real eight core chip is a viable solution on smartphones or tablets, at least in the immediate future.
Don't misunderstand me though, the Exynos 5 Octa is an incredibly good idea for handheld devices, and is a decent indicator of what processors are likely to look like in the future.
It's doubtful that the next improvements in processor technology are going to come from simply slapping 16 cores together on one chip. Even Nvidia's boastful sounding 72 core GPU isn't ground breaking. High end graphics cards contain thousands of stream processors, or cores as Nvidia likes to call them.
Instead it's more likely that we will see companies look for more efficient ways to run their processors, continuing to reduce the die size of their chips to save on heat, and looking to ingenious solutions, like interchangeable cores, in order to conserve power where they can.
Whilst we will certainly see more eight core processors in the future, they are unlikely to be multi-core chips in the current understanding.
As strange as it seems ,we aren't actually venturing off into the realms of infinity any time soon, technology isn't quite moving forward as fast as the marketing hype would have you believe. We are probably going to need another technological breakthrough and a change in both hardware and software developer mindsets before we see huge numbers of real cores become the norm.
Even so, you can expect that “8-core” will be the marketing buzz word throughout 2013 and 2014 when it comes to smartphones and tablets. A better term would probably be “dual quad-core”, but I suppose that would be a little confusing.
As always, beware of product marketing, they love to let consumers misinterpret their words.