Processors: universal or dedicated?

Two weeks ago Interactive TV Today published an interview with Kenneth Lowe, VP of Business Development and Strategic Marketing at Sigma Designs. I wrote about Sigma a year ago, and for those of you who do not remember, Sigma Designs makes SOC (System On Chip) integrated circuits for next generation, high definition media players. Building their lead they managed to capture a significant piece of the market, from IP-TV set top boxes to Blue-Ray players, and have even secured a place inside the recently launched Apple TV.

Going through the Ken Lowe interview I found an interesting paragraph:
"when Microsoft moved from an all-software platform to a SoC-based platform using our silicon, it was a big paradigm shift. It required their software to adapt from a paradigm where everything runs on a big Pentium processor to a paradigm where a little software runs on a smaller processor and then a bunch of hardware subsystems perform each individual task."
Smells like a paradigm shift? For years we have been listening to Intel telling us all we needed was a general purpose, universal CPU (ie Pentium) to handle everything we needed, from network packet routing to application code handling to audio and graphics. And now Sigma talks about Microsoft moving their code away from Pentium down to a bunch of task - optimized programmable subsystems. What is happening? Wouldn't we like just one CPU to handle everything? Why is that? The answer is... power consumption. Generic CPUs are never effective. But they are powerful. Reaching gigahertz clocks they use plain brute force to crack everything. Unfortunately the brute force requires a lot of power. And power is what we used to have in abundance some twenty years ago (remember any power consumption issue in 1990s?) and what is the great scarcity of 21st century. Of course Apple could use the top Pentium CPU to decode high definition video in real time. But they would have to put a fan or two in the box to prevent meltdown. And we love the noise of fans when watching TV, don't we? So they opted for an application - specific processor like the SMP8634 from Sigma. Are they alone in their choice? Look at your mobile phone. It has two or three or more processors inside. One of them is generic and runs applications (like an address book or Java game). The other run several specific tasks. One does network connectivity, there may be more for WiFi, Bluetooth, stereo sound... Application specific chips do not use brute force. They use many clever shortcuts and "helper" circuits designed to make the processing lighter. They are far less flexible (it would be hard to implement a game of chess purely on the graphics handling chip), but are extremely efficient running tasks they are designed for.

The other day somebody asked me if generic Pentiums would some day make the network processors (like LanOptics [LNOP] or NetLogic [NETL]) obsolete. The answer is... probably not. I mean... even if one day Pentium will be able to process network packets at 10GBps wire speed, the brute force approach used in generic CPUs will have very hard time trying to compete with task - optimized processors in terms of power consumption and heat dissipation. And with power / heat being the growing issue across all areas of silicon devices, dedicated applications will require dedicated processors for a very long time.

Comments