This week, MIPS Technologies announced that it’s scored another TV set-top box design win. Specifically, the company proudly bragged that NXP (formerly Philips Semiconductors) is using the MIPS 24K processor core in its PNX85500 HDTV chip. It’s the first TV chip to be fabricated in 45-nm technology, a significant if short-lived distinction.
With all appropriate kudos to MIPS and NXP, the more interesting story here is why NXP chose to use a MIPS processor. The short answer is, because they had used MIPS before. In a word, inertia.
Inertia is a powerful force, both in physics and in embedded-systems engineering. “Don’t fix it if it ain’t broke” is a common expression around many engineering labs (or it should be). Engineering is all about building on what you’ve created before. Reinventing the wheel is frowned upon; extending upon proven and stable platforms is the way forward.
That means we often find ourselves saddled with yesterday’s decisions. A previous engineer’s choice of component or compiler can limit our choices today. Legacy decisions can stick around for an awfully long time. And no decision is stickier than the choice of microprocessor.
The Little Engine That Could
Changing microprocessors is painful. Just look at PCs and the x86. The first IBM PC used Intel’s 8088 chip, probably because IBM’s little-known industrial division in Boca Raton, Florida had an 8088-based controller board lying around. Once PC designers and programmers started creating add-in boards and software for that modest little board, the die was cast. Now we’re running unfeasibly complex 3-GHz descendants of that humble chip – all because switching to another (I won’t say better) processor would have been more trouble than it was worth.
Not that plenty of companies (including MIPS Technologies itself) didn’t try. MIPS, PowerPC, ARM, SPARC, Alpha, Clipper, and most of the other RISC challengers were designed to try to topple Intel’s dominance and its bizarrely arcane x86 architecture. But they were tilting at windmills. Absent some amazing order-of-magnitude difference in price, performance, or power consumption, most people simply can’t be bothered to change processors. It’s like switching religion or languages: it takes an act of faith or an act of war; few people do it voluntarily.
And so we’re left with an unusually “sticky” decision to reuse the processor we used last time. PCs (and even Macs) continue to use x86-based processors because their predecessors did. Cell phones are almost universally designed around ARM chips, not because ARM is somehow better suited to cellular telephony than, say, PowerPC or SPARC, but because the previous generation used ARM and there’s no good reason to switch. And the early cell phones used ARM because it was (a) designed by a European company and (b) available in IP form suitable for ASIC integration. Instruction sets and pipelines had nothing to do with it.
In the digital TV set-top box world, MIPS reigns supreme because MIPS chips were popular in the previous generation of TV-related peripherals. And that dominance isn’t due to any inherent suitability or superiority, but simply because of inertia. MIPS chips worked the last time so we’ll use ’em again this time. And why did we use them last time? That’s mostly because of Silicon Graphics (MIPS’s progenitor) and its brief flash of popularity among Hollywood special-effects shops. The Silicon Graphics “halo effect” rubbed off on its processors, which made them the odds-on favorites for any video- or graphics-related work. Nintendo and Sony led the charge; the cable companies followed suit. We’ve got Mario to thank for today’s MIPS-based HDTV sets.
Logic vs. Human Nature
None of this is a bad thing. It just points out how arbitrary some “technical” decisions can be. That’s important for marketing departments to understand. It’s also important for engineering departments to fully grok. If you’re choosing a processor for your next project, be aware that your decision will probably live long past your tenure with the company. Down the road, some snot-nosed college intern working on a descendant of your project will wonder why you chose Brand X and what you were thinking.
On the other hand, if you’re making processors, it’s just as important to appreciate that customers might not evaluate your chips for the “right” reasons. Price, performance, and power consumption are only part of the equation. Again, barring some rare factor-of-ten improvement in these characteristics, most designers treat processors as interchangeable lumps and rely instead on other criteria. Chief among these being inertia: what chip did we use last time and is there any possibility we can use it again? It’s pretty hard to dislodge an incumbent processor. Just ask AMD, Cyrix, Transmeta, Rise, NexGen, or any of the other x86 competitors. It ain’t all bits, bytes, and buzzwords.
Today my new TV set has its own IP address and a CAT-5 Ethernet jack on the back. In fact, it’s got more digital and fiber-optic I/O than cable connections (seventeen versus one). It’s a willing and well-behaved participant in a local-area network. The manual came on a 2GB flash drive; there were no printed instructions at all, save a one-sheet explanation of how to plug in the flash drive. Philo T. Farnswoth, meet George Jetson.
I’m not sure the inventors of the MIPS architecture, led by Stanford’s John Hennessy, ever envisioned their high-performance RISC processor inside televisions. In fact, I’m pretty sure they didn’t. But I’m happy that it’s worked out that way. RISC processors like MIPS didn’t overthrow Intel for dominance of the desktop, but they did succeed on a larger scale. They lost the battle but won the war. Embedded processors account for 98% of all the processor chips sold every year, and MIPS is a big part of that. The battle for the living room may wind up being more commercially important than the comparatively small PC market. Who knows, MIPS and the other RISC processors may win after all. Maybe they already have.