Friday, July 29, 2011

Engadget Primed: are multi-core chips worth the investment?

Primed goes in-depth on the technobabble you hear on Engadget every day -- we dig deep into each topic's history and how it benefits our lives. Looking to suggest a piece of technology for us to break down? Drop us a line at primed *at* engadget *dawt* com.

My, how times have changed over the last eight months. At CES 2011, we ecstatically witnessed the introduction of mobile devices with dual-core CPUs and drooled over the possibilities we'd soon have at our fingertips. Now, we look down at anything that doesn't have more than one core -- regardless of its performance. Not only are these new chips quickly becoming mainstream, Moore's Law is in full effect with our handheld devices since tri-core and quad-core systems are just over the horizon. We can't even fathom what's in the pipeline for the year 2015 and beyond (we don't think we're too far away from that 3D shark seen in Back to the Future 2).

Let's not get too far ahead of ourselves here, however. After all, we first need to wrap our puny human minds around the idea of what this newfound power can do, and why it's changing the entire landscape of smartphones and tablets. In this edition of Primed, we'll focus on why multicore technology makes such a difference in the way we use our handheld devices, whether we should even consider purchasing a handset with a single-core chip inside, and why one-core tech is so 2010. Check out the whole enchilada after the break.

Table of Contents

The birth of multicore
Benefits of multicore chips
Factors to look for
What lies ahead
Wrap-up

The birth of multicore

Return to top

We push today's smartphones to the limit every day, completely oblivious that we're doing that much stuff on them. As new software applications and updates come out to improve our devices, the strain on our hardware increases as it works to run the additional functionality. Faster data speeds, gaming, video conferencing, multitasking and many other performance-intensive activities add a heavy burden to our once-speedy 1GHz single-core CPU. It simply doesn't matter if it's continually maxed out, attempting to keep up with the smartphone's skyrocketing demands. Such a weight on our mobile devices lend to a slower and less efficient execution -- and subsequent frowns and expletives.

First, let's get the brass tacks out of the way. A core, in its basic terminology, is a distinct CPU. Any singular core is capable of executing all of the necessary computations and instructions to ensure a smartphone can function at all. Until the last year or so, one core is all we really needed in a mobile device; there simply wasn't enough demand on the processor to need that much more performance.

However, software became more complex, operating systems added more functionality, and mobile applications exploded in popularity. New phones can conduct video conferences, play graphics-intensive games, record video in 1080p, and multitask dozens of apps at once. These activities leave our phones with no hope of keeping up with our daily grind.

Chipmakers were able to crank out processors with faster clock speeds and slightly lower nanometer counts (more on that later), but they were quickly approaching a wall: these CPUs, if made any more powerful, would become too inefficient for use in a smartphone or tablet without making it large enough to carry cooling units. In a day and age where phonemakers are competing for the title of "world's thinnest phone," processors must be able to accommodate them while boosting performance simultaneously. A chip with any higher clock speed or cache -- remaining confined to the same small space -- would not only obliterate battery life, it would make the phone too hot to operate due to the overwhelming amount of thermal heat dissipating from it.

Luckily, desktop chipsets went through a similar conundrum five or six years ago. Single-core CPUs hit a point where boosting clock speeds became too inefficient.(More specific here) Instead of trying to bump up the capacity of one processor, the next logical step was to add more of them and split the difference. With this feat of engineering, the multicore era was born; given the rapid influx of smartphone capacity, it was only a matter of time before mobile devices followed the same path.

Benefits of multicore chips

Return to top

Multicore is swooping in to save the day. Let's say you're having a rough time at work; there's deadlines to keep and the mounds of paperwork continue to pile up, and fears of getting behind are growing. How much easier would the job become if you have someone else sharing half of the workload with you? What if both of you specialize in different areas? This is an illustration of what multicore chipsets aim to do: with extra processing cores, your device's tasks can be split up and managed much more efficiently.

A dual-core chip typically consists of two identical microprocessors living side-by-side on the same die. In a multicore system, each individual processor can tackle separate duties. If you're running a streaming audio app while simultaneously catching up on Engadget news in the web browser, one core can now be dedicated to each specific responsibility, allowing for a faster and smoother experience not only in your multimedia and browser, but in all of your phone's basic functions as well.

When using a phone with a single core CPU, have you ever noticed that basic processes and requests offer a fluid and smooth response -- until you try watching a video or opening a MP3 file? As additional jobs get tossed into the pipeline (queues that schedule / prioritize each necessary task and tell the processor in which order to do everything), it bogs the processor down because it can only perform one task at a time. By having extra cores at the OS's disposal, it allows core A to handle the multimedia while core B is freed to focus on the basic functions that keep the phone running smoothly.

Some requests handled by our CPU can be complex tasks consisting of multiple steps. These can take forever if only one processor's involved, because each task has to be completed one-by-one. On a dual-core device, however, both cores employ the age-old strategy of teamwork to handle the duty faster. This is what multithreading can do to help -- multiple streams of data now have more than one outlet to push through, increasing the processing time and efficiency.

Dual-core is more battery efficient

It should make sense by now why having multiple cores sharing the same workload would be a more efficient means of processing tasks on your phone. Not only does this make multitasking much less of a nightmare, it adds to your total battery life. A 1GHz dual-core chip (where both cores are 1GHz each) that splits up the assigned tasks would only need to run at half its maximum clocking speed; the reduced speed of each core will result in the same -- if not slightly better -- performance and lower power requirements. Lower frequencies result in less mandated voltage, and the consequential reduction of power is reduced by the square of the voltage decrease.

Most modern chipsets are designed to work with the platform's built-in task scheduler to ensure the CPU's running at the most optimal speed and voltage. When your device only has to worry about sustaining a few apps or basic processes, and only requires a small amount of processing power, there's no point in keeping both cores clocked out at 1GHz each. Doing so causes the phone to undergo a large amount of idle time, so the CPU ideally will minimize its output to match what the system requires in order to maximize battery life.

In fact, some phones give you the opportunity to determine a CPU's current clock speed, as well as its absolute minimum and maximum. If you own an Android device, one such application that can measure these stats is Quadrant Standard, a benchmark we mentioned in our last Primed. By selecting "system information," the app will give you a full rundown of what speed your CPU's working at currently and its upper / lower capacity.

Of course, chipmakers are doing everything possible on their end to assure higher power efficiency, but the software it runs on needs to be optimized -- both from the OS and individual apps. There's a massive amount of complexities involved when coding for multi-core devices; in most cases the OS is already optimized (Android, a Linux-based platform, has been this way practically since its inception), so any additional battery life savings are left to the devs. If developers don't know how to code for proper multithreading, their app could ultimately suck the battery dry in no time at all because it's still reliant on stuffing everything down one pipe. Since dual-core hasn't been around too long, it's likely we'll see mammoth increases in this category as devs learn to adjust to the new chips.

Sadly, we don't get the option of dictating how our CPUs run -- manufacturers make their chips smart enough to automatically adjust clock speeds, reallocate resources to handle pre-determined tasks, and do anything else necessary to optimize your phone's performance. This likely is for our benefit, since we'd likely just tinker with the settings and cause the phone to either underwork or overwork if we don't know what we're doing. Additionally, with dev coding already so advanced, user-adjustable CPUs would simply toss on an extra layer of complexity. So while we'd love to have the option of turning off specific cores and reallocating resources to however we see fit, chipmakers have at least found the most ideal way to manage our power consumption for now.

Dual-core is faster

Many chipmakers elect to run their CPUs as part of a SoC -- a system-on-chip -- which saves money and consolidates space inside the phone by including several elements of a phone's processing power onto one integrated circuit. For instance, NVIDIA's Tegra 2 throws several "purpose-built cores" in: an eight-core GeForce GPU, a core designed specially for audio, two cores for video encoding / decoding, and myriads of other cores that specialize in one form or another. By keeping these essential elements together on one SoC, it takes much less time and energy for everything to talk to each other.

Many popular websites feature ActiveX / JavaScript content, embedded video, and various other forms of multimedia. In a single-core system, that lonely CPU not only bears the load of processing the site's content, video decoding, Flash content, and anything else related to the browser, it also is required to handle everything going on in the background -- Facebook and Twitter streams, the phone app (which is constantly pinging the cell tower), messaging, calendars, and anything else. The heavy burden has the poor core overworked; it's running at the absolute maximum frequency, it's slowing the rest of the phone down, and it's gobbling up battery life for breakfast. Below is a demonstration of the speed difference between a dual-core and single-core.

Faster multitasking and UI response

Smooth multitasking on a single-core device can bring lackluster results. What good does it do to have 40 apps running in the background if it takes 30 seconds to pull one of them up and begin using it? Like we mentioned earlier, the more tasks you stuff into the pipeline, the longer it takes for the processor to crank through them all. Indeed, everything suffers as a result.

Touch responsiveness typically gets hit hard in this kind of situation. Since user interaction is inherently latent as it is, further delays in processing time are inevitable when multitasking. Single-core CPUs, when being fully utilized, cannot immediately switch over to get these specific tasks taken care of. Indeed, in a dual-core system, one core can specifically work on these basic user tasks while the other tackles more intensive jobs, allowing for faster and smoother multitasking and bringing back a more immediate response to your touch gestures.

Dual-core offers a better gaming experience

Have you ever wondered why you can't play console-quality games on your phone? Unfortunately, a chipset with this capability of handling advanced graphics of that degree hasn't been brought to market yet (fret not, they're on their way), but dual-core SoCs at least allow for a better gaming experience.

Multi-core technology is at the root of our most advanced gaming consoles. The Xbox 360, for instance, is outfitted with three 3.2GHz PowerPC cores and a 500MHz ATI GPU with 10MB of embedded DRAM. When we compare this setup to that found on our phones, it's no wonder we still have a long ways to go. But we're getting closer; today's mobile game engines are now fitted with multithreading to take advantage of the constantly evolving CPUs that're running them. These engines have reduced the size of individual tasks that the processor has to work through, and increased the number of threads to enable the CPU to push through more jobs simultaneously. Allowing the game's AI to run on a separate processor as the rendering lends to a much smoother gameplay with better graphics.

Taking a look at the Adreno roadmap below, it's not far-fetched to think that our phones and tablets will be up to par with current gaming consoles:

Many of the dual-core chipsets on market now offer a quality gaming environment that's comparable with the last generation of consoles. Qualcomm claims its Andreno 2xx series (found in this year's Snapdragon chips) brings game performance similar to the PlayStation 2 and the Nintendo Wii, Tegra 2 chips offer an ultra-low power GeForce GPU with eight cores to do the heavy lifting on the graphics, and Apple says the PowerVR SGX 543MP2 GPU found in its A5 SoC is nine times as powerful as the A4.

What else does an extra core offer?

Besides offering a better battery, faster loading, multithreading and improved gaming, we saw a lot of new functionality come to our phones over the last year, and multi-core tech is largely to thank. 1080p video playback and capture, glasses-free 3D technology, improved speech recognition and language processing, improved multimedia, higher-resolution displays, and many more features are much easier to accomplish using dual-core capabilities -- and as we start piling on more cores, it'll get even better.

Frankly, most of these features can be utilized on a single-core chip (3D and 1080p, for example, can be found on the one-core LG Optimus 2X), but they're done so at the expense of overall performance. When this additional functionality is used, the processor simply can't do everything at once -- it has to prioritize, and ends up getting overworked in the end. This is why we seldom see phones do this; a few more gimmicky features aren't worth putting your handset's reputation in jeopardy.

I don't do much on my phone, so dual-core's not for me.

There's a few reasons why it makes sense to stick with a single-core device... for now, at least. The biggest one is cost. If you're using your smartphone as a glorified calculator and planner, you're likely not going to see a measurable difference in performance. Why pay a premium price associated with the extra core?

Another reason, which we'll talk more at length about in the next section, is that the most powerful single-core chips on the market still have a higher clock speed than most dual-cores. But not for long -- we'll soon begin seeing multi-core chipsets clocking at 2GHz or higher.

Unless cost is a significant factor, there are very few ways to benefit from a single-core device.

Factors to consider in a mobile CPU

Return to top

By this point you should have a general idea of why we get so excited when we see anything that's dual-core. The giddiness won't be letting up anytime soon either; Moore's Law is in full effect for tablets and phones as next year will witness the introduction of tri-core and quad-core devices. As we shop for another handset, there are a couple factors that are important to look at in a CPU.

Clock Speed

The most visible measurement of a CPU's power and worth is its clock speed. Most midrange to high-end smartphones won't settle these days for anything less than 1GHz, though this number hasn't increased much further. Once single-core chips began reaching the 1.2-1.5GHz threshold, it was virtually impossible to continue boosting this particular number any higher without making the phone overheat too much; what's more, dual-core chips are typically at a lower clock speed than the highest-performing singles. What gives?

When you're given two cores at 1GHz each, your performance will become much more effective than just one core with 1.2GHz. It's awfully hard to compare clock speeds between the two because of this. Only when we're judging multi-core speeds on a level playing field will we actually have an accurate assessment of performance. And until the software catches up with the capability of the new multi-core chips (ie. developers code their apps to use multithreading optimally), these processors won't give us a precise indication of how well our CPU is actually performing anyway. For now, take dual-core clock speeds at face value -- a decent generalized method of measuring a CPU's ability to perform, but that's about it.

Nanometer count

Nanometers, in the case of a CPU, measures the size of a transistor. When it's smaller, more transistors can fit on the same board, which generally translates into a better performance. Tinier transistors will also consume less energy, allowing the chipset to run at a higher frequency without worries of your phone melting, and we'd likely see an overall improvement in battery efficiency. Lastly, a smaller size is typically less expensive to manufacture.

The newest generation of chips offer a much smaller transistor size, with most competitive SoCs having reached 45nm. Don't blink though -- the next-gen chipsets will be as low as 28nm, and many semiconductors are already working on 10nm solutions (though time to market is way beyond the horizon).

What we can expect to see soon

Return to top

Quad-core

A few companies (such as NVIDIA and Qualcomm) have introduced quad-core chipsets that should be available for sampling sometime later this year, and will likely appear in mobile devices at some point in 2012. If this year's been any indication, there's a good chance we'll see Tegra 3 -- aka Kal-El -- come to market first.

The transition to quad-core will give another massive boost in performance altogether. Additional cores will enable our phones to handle even more of a workload, which means we can start looking forward to console-quality gaming, an exponential increase in speed, even higher-res displays, 1440p video playback, improvements in speech recognition, and lower power consumption (to name a few). Will quad-core devices will make our current high-end handsets look turtle-slow?

NVIDIA released the above video demonstrating the graphics on Kal-El -- which isn't even running at its final market speed, by the way -- and shows its comparison to a Tegra 2.

ARM Cortex A15

If your phone or tablet has a CPU from NVIDIA, Texas Instruments, Samsung, or Qualcomm in it, it's most likely been licensed to use ARM's chip architecture and / or instruction sets (Qualcomm designs its own chips but licenses the ARMv7 instruction set). Many of today's dual-core devices, such as Tegra 2 and Samsung's Exynos, run off of the ARM Cortex A9 architecture, and the company behind it all continues to refine its craft. Recently the processing giant announced its next-gen Cortex A15, which will be available by the end of 2012.

ARM's partners will first use A15 on dual-core processors and eventually start using quad-core. At its maximum capacity, the A15 will be able to clock up to 2.5GHz and extend out to 16 cores. Certainly, it'll be quite a while before we see phones that reach those types of numbers, but we like seeing what path is going to take us there.

Intel

Intel is one of the fiercest competitors in the desktop and laptop CPU space, but has barely even graced mobile devices with its presence. That's all about to change, however, as the company's released a tablet chip by the name of Oak Trail that will soon be available in Windows 7, Android, and Meego tablets. This will be succeeded by Cloverview -- another tablet CPU shrunk down to 32nm -- and an unnamed 22nm chipset to be announced in 2013. For smartphones, a 32nm chip code-named Medfield will begin appearing in devices early next year.

2GHz

In April, Samsung unveiled its intention to bring dual-core smartphones running at 2GHz by next year. These chips will likely be taking advantage of ARM's Cortex-A9, which has a design that's capable of reaching these speeds.

Wrap-up

Return to top

It's time to look at the bottom line. Is it worth investing in a phone or tablet with a dual-core, high-performance CPU? The answer isn't as cut and dried as we'd like it to be, but your daily grind should be a strong indicator of what your ROI will be. If all your smartphone is being used for is some basic emailing, web surfing and texting, it's probably not worth the difference in cost to go with a better processor at this point in time -- the difference won't be that significant. But if you're constantly using your handheld device for work, play, and everything in between, you'll want to take advantage of the higher performance with better yields in battery life.

As you can see, the landscape of mobile processing technology is constantly evolving. Agree with Moore's Law or not, dual-core will quickly become mainstream, and quad-core chips are likely to grace high-end devices sometime in 2012. How long will it be before cost really isn't a factor anymore? Hard to say -- for all we know, by this time next year we may be writing about single-core devices in our history e-textbooks.