A dual core processor in your smartphone; that has to be twice as good as a single core, right? Wrong. A dual-core phone or a quad-core tablet should be able to do more at once, which ought to make it more responsive when you’re doing something demanding or faster at finishing tasks running in the background. But there’s no such thing as a free lunch; those two cores will each be slower than the single core in another system, and if you’re pushing the processor harder, there can be an impact on battery life. What difference does a dual-core CPU really make?
BlackBerry and Windows Phone handsets only have single-core processors. In fact the single-core processor in in a Windows Phone handset might be two years older than the ARM Cortex A9 in a current Android phone, and built with a 65nm process rather than 45nm. The smaller the transistors, the more of them you can fit onto the same size chip – or you can fit the same number of transistors into a smaller space and add extra features. But that doesn’t make a phone like the Lumia 800 noticeably slower for running apps or browsing. That’s because the Windows Phone OS uses the GPU for more than just painting the screen; it offloads a lot of processing in games and in the browser.
Does dual core do anything?
When you can make the phone this fast with a single core, Aaron Woodman from the Windows Phone team questions the value of a more expensive dual core chip. “The consumer gets bombarded by these messages and it’s very difficult to look at these and say ‘that is not that meaningful’.”
Certainly there are plenty of Gingerbread Android handsets with dual-core chips, like the waterproof ELUGA Panasonic is just about to launch, but Gingerbread (Android 2.3) does very little with the second core (the ext4 file system can use it to improve I/O but apps can’t). Honeycomb has true dual core support, but to use both the cores of a dual core processor on a handset you need Ice Cream Sandwich, which is currently on a very small percentage of Android handsets, although many are due to get updates soon and throughout 2012.
Even when you have both ICS and a dual core handset, apps need to be written to take advantage of the multicore processing and that’s not straightforward. “Most programs have a hard time being written with multicore in mind, “ Erik Swenson, the CTO of mobile browser maker SkyFire told us. You have to rely on the operating system CTO of cross-platform development building tool appMobi Sam Abadir says.
“At the application level, the number of cores is getting more and more abstracted away from developers. Today in Android you can't directly program for cores. Generally, the OS allocates threads to the cores and, depending on the OS function you are using, you may get a performance benefit from how the OS was programmed. However, it's not guaranteed and, unless you go super-low-level in your programming it's something that you don't directly program for.”
iOS 4 was the first version to support multitasking, but Apple makes it easier for app developers to use the two cores in Apple iPhone 4S and iPad 2. Jason Titus, the CTO of Shazam, told us that dual core speeds up recognising songs on both iPhone and Android. “On iOS there is some great platform technology called Grand Central Dispatch that makes it straightforward to build applications without having to worry too much how many cores there are. If you build using GCD then it just spreads your work appropriately without you having to do any additional work. It makes it so that if there were ever an iOS device quad-core processor, our application would just automatically run faster. We can do the same on Android but it takes a bit more custom work to ensure that we are efficiently using all the cores.”
Faster Web browsing
Android devices with Nvidia’s Tegra 2 processor have great performance for gaming; games labelled THD (Tegra HD) won’t run on single core phones. But then again, Tegra 2 has a GeForce GPU; in fact there are eight separate processors, including a low power ARM7 to lay audio and video, plus separate hardware for graphics, video encode and decode, image processing, audio processing and power management, all of which can be turned on or off individually. Using those specific accelerators and managing their power consumption carefully can definitely improve performance and keeps battery life up, but it’s closer to what Windows Phone does than what you usually think of as dual-core processing, just with a lot more dedicated hardware.
For “general purpose” phone use, Nvidia says the main advantage of the dual core A9 in Tegra 2 is “faster Web browsing and snappier response on Java-enabled Web sites”. And that’s not ‘one core for Flash’; any visual elements in Flash run on the GPU instead.
Mozilla’s Chris Blizzard says Mobile Firefox uses the second core on Android; “The new native front end runs the UI on one core and runs our back-end Web rendering engine on another core. This allows for smoother responsiveness.”
The speedup you get from dual core isn’t as big as you’d think from Podjarny’s figures. “When you double the CPU power on mobile devices, you probably get a 5-10% boost for your load times.”
More power or less?
Dual and quad core chipmaker Nvidia claims that dual and quad core systems should use less battery rather than more, because you can run the two cores at a lower frequency; if the same apps on a single core need the processor to run at 1GHz taking 1.1V, but two 550MHz cores can do the same work at 0.8V, then you should save some battery life. New ARM features that work like Intel’s TurboBoost to run the processor faster to finish a task more quickly and turn the power right back down could also make multicore devices more efficient.
But that relies on the operating systems and the apps using the cores effectively; it’s as much about the power management as it is about the number of cores. Akamai’s Guy Podjarny said multicore “definitely does consume more energy and more power” and appMobi’s Abadir warned Recombu “In general, we see worse battery life on dual-core systems - but some vendors are starting to compensate well by packing bigger batteries in and making everything else smaller.”
Four or eight?
Making the most of more than one core is a moving target according to SkyFire CTO Erik Swenson: "The big thing that a dual-core gets you is that a single program cannot bring the platform to its knees. This is a double-edged sword though. Most programs are single-threaded, which means they don’t take advantage of multi-core. Thus, the OS will be able to use the second core when a program monopolizes one core. However, as dual-core becomes prevalent, programs will start to use the second core as well, and then you are back where you started.”
More powerful apps like augmented reality will make multicore more compelling, says Informa analyst Malik Saadi. But he doesn’t think we’ll see quad-core chips in anything but the highest end smartphones phones for the next couple of years and that’s the limit. “As you increase the number the number of cores there is an overhead. I don't believe eight cores will make sense any time in the future.”