Mobile coprocessors: the secret to smarter smartphones
27th Jan 2014 | 11:50
The Apple M7 and Motorola X8 are just the beginning
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.
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.
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 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.
That's not the end of the CCP's talents either. When the gyroscope detects a certain twist of your wrist (along with accelerometer and light sensor data), it activates the Quick Capture camera mode. There's also a Driving Mode that detects when you might be driving and connects automatically to Bluetooth, so you can safely answer calls and have your text messages read aloud to you, hands-free.
Enabling always-on applications
By offloading small tasks like speech processing and motion sensing to low-powered coprocessors, the Moto X and the iPhone 5S don't take an extra hit on battery life as the main dual-core CPUs aren't being used. The coprocessors also free up the primary processors for other tasks, improving overall system performance. Most importantly, these chips enable 'always-on' functionality - there's no need to unlock the Moto X to access the camera; no need to start the iOS Runkeeper app to track an individual workout.
Add in extra sensor information and you could wake future iPhone models with a wave of your hand or a signature shake. The M7 already claims to reduce network pinging when sensor information suggests that your phone hasn't moved and will seamlessly switch from giving driving directions to offering walking directions based on your speed of movement. Features like these point towards a future where our phones are more aware of their surroundings, automatically adjusting settings to suit our location, movement and calendar schedule.
So we argue that adding more number-crunching power to the CPU isn't what future smartphones need. We've arguably reached a point where handsets such as the iPhone 5S, Sony Xperia Z1 and the Samsung Galaxy S4 are zippy enough. How you differentiate a new phone when every handset packs a multi-core processor and an HD screen?
More speed doesn't make a smartphone any smarter. Perhaps what matters next isn't how many cores a future smartphone has. It's how many coprocessors are riding alongside them.