Mobile coprocessors: the secret to smarter smartphones

The Apple M7 and Motorola X8 are just the beginning

TODO alt text

The launch of Apple's iPhone 5S with its M7 'motion coprocessor' has highlighted a change in the way that future mobile devices could be designed.

While today's quad- and octa-core chips are built as do-everything super-processors, they aren't the most power-efficient way to action every task. So the future of mobile technology is taking its inspiration from computing's past.

iPhone 5s
The iPhone 5s started all this

What is a coprocessor?

Back in 1980, Intel developed the 8087 chip, a floating-point math coprocessor designed to boost the performance of its 8086 CPU when running calculation-heavy CAD or graphical applications. The function of a coprocessor is to assist the primary processor with specific tasks, increasing performance or freeing up processing power that can be used for something else.

Dedicated graphics chips (GPUs) began life as coprocessors, taking the heavy demands of visual processing away from the CPU. Ditto custom sound cards like the Soundblaster Audigy, which added superior multi-channel audio playback and real-time DSP effects.

Ageia's original PhysX chip, engineered solely to process physics calculations, is another example, since absorbed into Nvidia GPUs. And anybody remember the Trusted Platform Module (TPM)? Chances are that your desktop or laptop PC/Mac has a dedicated cryptoprocessor chip built in.

Apple's M7 motion coprocessor

By diverting resource-intensive tasks away from the main processor, task-specific, low-power coprocessors have the potential to boost system performance. But how might this approach work in a mobile phone?

You only have to look at the M7 chip for inspiration. It's capable of processing information gathered by the digital compass, accelerometer and gyroscope in the iPhone 5S, storing it and making it accessible to applications via Apple's CoreMotion API. And it can do all this without waking the main A7 CPU.

The Samsung Exynos 5 Octa processor has eight cores

This independent operation is key. Most of today's smartphones feature a typical SoC design - a dual- or quad-core CPU paired with a dual- or quad-core GPU. The advantage? Incredible raw processing power - console-quality graphics, HD video playback and real-time speech processing. The disadvantage? The CPU is a jack-of-all-trades and needs to be powered up whether you're playing a processor-intensive game or simply checking a text message.

Battery life can suffer as a result.

Without the M7 coprocessor, the A7 chip in the iPhone 5S would have to monitor the motion sensors and crunch the data from them. It's not a power-efficient approach, especially if you have an always-on application running, such as a fitness app. On the one hand, Apple's low-power, low-clock speed M7 chip essentially adds the guts of a FitBit or a JawBone UP into the iPhone. On the other, the idea of offloading small tasks to speciality silicon heralds an important change in smartphone design that could pave the way to smarter smartphones.

Motorola's X8 mobile computing system

The iPhone 5S isn't the only smartphone with a co-processor onboard. The newest Motorola DROID handsets and the Moto X feature the company's clever X8 mobile computing system. The X8 features eight processing cores, but it's not classed as an octa-core processor in the same mould as Samsung's punchy Exynos 5 Octa. The X8 system is based on Qualcomm's Snapdragon S4 Pro hardware, incorporating a 1.7GHz dual-core Krait CPU, backed up by a quad-core Adreno 320 GPU. That's six of the eight cores accounted for.

Motorola Moto X
The Motorola Moto X features two dedicated coprocessors

Motorola has also added two specialised, low-power processors - a Natural Language Processor (NLP) and a Contextual Computing Processor (CCP). The NLP incorporates audio sensors, noise cancellation and speech recognition technology to constantly listen for voice commands. It's always-on, enabling owners to wake the phone and interact with it without touching the screen or even picking it up.

The CCP works in a similar way to the M7, analysing data from the accelerometer, light sensor and gyroscope. Using this data, it knows when the Moto X is lying face down on a surface or is in your pocket, only bringing the screen to life when you pick it up. The minimalist onscreen notifications in the Moto X's Active Display mode are also be handled by the contextual core, reducing the load on the main processor and conserving battery life.