Today’s guest blog is from Grant Martin, Chief scientist at Tensilica. He worked for Burroughs in Scotland (in Cumbernauld, of all places, which makes Newark look attractive), Nortel in Canada, and then at Cadence before moving to Tensilica. He literally wrote the book on system design, most recently co-author of “ESL and System Design”. The British press used to have a rule that they would never mention another newspaper by name, but just say something like “in another newspaper.” Well, Grant has his own blog in another newspaper.
In some ways this a continuation of the power theme. Remember that it is much more power-effective to run a small processor at just the right slowish clock rate, than it is to run a powerful processor at huge clock rate for a short time and then idle it or shut it down while the rest of the system catches up.
Processor v hardware: the winner is…
“Everyone” knows that processors are more flexible because they’re programmable, but “everyone” knows they are slower than dedicated hardware for high-performance algorithms. But how do you decide between processor and hardware? There is a third way that lies between.
Although I do my best to ensure that designers I meet understand the idea of an application-specific instruction set processor (ASIP), many people have never heard of them. If they have, they may not realise that designers can configure them with automated tools. And an ASIP is often so close to the performance, power consumption and area of dedicated hardware, that it is a superior option – especially with programmable flexibility.
Everyone is familiar with fixed general purpose processors, used for control tasks. And fixed digital signal processors (DSPs) are found in many devices for data-intensive tasks – the ‘dataplane’. But what many don’t realise is how powerful the combination of configurable, extensible ASIP technology and dataplane tasks can be, compared to either a fixed processor or dedicated hardware.
Audio processing is an excellent example. An ASIP customised for audio, together with the right codec software, can decode MP3 running with a clockrate of just 5.7 MHz, producing near-CD quality sound and dissipating only 0.45 mW in TSMC’s 65nm LP process (details). Because this is a processor, other audio codecs can be downloaded to an audio player in the field long after it is sold. Dedicated hardware could never provide this level of flexibility, and may not offer any significant advantage in performance, power or cost. Achieving 100+ hours of battery life on a portable audio appliance is more than possible with ASIPs.
Video is another dataplane application that can be mapped to ASIPs. Standard definition decoding can be accomplished on a multiprocessor video subsystem running at 200 MHz in a TSMC 130 nm G process (details). And there are many other products, from baseband in wireless communications to high performance network processing, where you will find ASIPs.
ASIPs change the way in which system architecture is conceived. “Classical” hardware designers have a bias to implementing everything they can in dedicated hardware. “Classical” software developers have a bias to implementing all functions on general purpose processors – and running them at very high rates if necessary. Running audio on a control processor at hundreds of MHz is possible, but hardly optimal. An ASIP-aware architect will instead use different tradeoffs.
They will start by mapping control tasks to one or a cluster of control processors – in the latter case, possibly a cache-coherent “multicore” where processors can be powered down when not needed. But every dataplane task is an opportunity to use ASIP technology. Dedicated hardware blocks become a last resort – used by necessity, in order to meet system performance or energy consumption goals. The result is a heterogeneous ASIP-dominated multiprocessor design where subsystems can be powered down whenever possible to minimise energy consumption.
Some recoil at the idea of sprinkling many processors in a design and “wasting” them when not needed. I remember the keypunch/card-reader/line-printer “cafeteria” line-up feeding the University of Waterloo’s mainframe. In that era, every computer cycle was indeed too precious to waste.
But times change and the concerns of our youth give way to modern needs. These days, every joule of energy is too precious to waste. Using ASIPs brings energy-efficient computation and communication to the exact places where they are needed. So the winner of “processor vs. hardware” is “neither” – but rather, the ASIP that lies in between.