PROGRAMMERS are making use of only a fraction of the power of system-on-chip (SoC) technology because they treat the chips like standard processors, according to UK multimedia chip specialist Imagination Technologies.
Tony King-Smith, the company's VP of marketing, said developers will have to stop thinking of an SoC as a single device and recognise that it has at least three processing units - one controlling a radio, one dealing with graphics and video, plus a central processor.
The peripheral modules now have standard APIs that allow applications to talk directly to them. "This means you need a fundamental rethink on how you structure apps so that that they can respond as the technology moves forward at the pace that it will," King-Smith said at the Future World Symposium in London.
The multi-processor, multi-pipe graphics processing unit (GPU) SoC is particularly well suited to take advantage of the extra transistors enabled by future 28nm and 22nm process technology because they can scale up more extensively than the CPU. And the Apple-inspired OpenCL framework facilitates the use of this parallelism for non-graphics tasks.
King-Smith said a lot of application programmers have been writing sequentially for years and tend to just bash out "CPU-centric" work in C, ignoring GPU resources in particular, but they no longer need to dig deep to take advantage of the specialist modules in an SoC.
"You find out where the programmability is in these engines and ask 'How can I make use of this?' An example is in communications. You look at the series of parameters and controls you've got for things like dynamic rate control and error correction and you can use them to make your communications work better than the competiton's.
"You don't have to get down to the instruction set of this engine, just as you don't need to get down to the instruction set of the CPU. It's just a matter of making your application sympathetic to what these chips are doing and where they are headed."
King-Smith predicted that proprietary middleware would emerge to facilitate use of these APIs and that these will eventually be subsumed into a new, higher-level set of APIs. µ