They say competition improves the breed. In free markets, startup companies can compete with massive corporations. In sport, young self-trained upstarts from little-known backwater nations can compete with all-stars from Western superpowers. In engineering, clever new ideas can push out old established ways of doing things. Engineering is pure and unadulterated. May the best solution win.
Yeah, sure, that’d be nice. Wake me up when it happens.
The world of microprocessors and microcontrollers has been churning and heaving with innovation and change for the last 20 years or so. But now that bubbling hot cauldron of creation shows real signs of cooling and solidifying. We’re headed for a world based on just two basic CPU elements: ARM and x86.
Wait a sec – what about MIPS and PowerPC and AVR and 8051 and SPARC and 68K and everything else? Meh. Most of the other CPU and MCU architectures are either circling the drain or heading into their retirement years. Yes, there are lots of high-volume processor families out there still. But looking ahead, I think designers and programmers are increasingly aligning themselves with the two big techno-political parties, x86 and ARM.
Blue chips and red chips; left-wing RISC or right-wing CISC. Pick your side and stick with it, alternatives and options be damned. Engineering is too complicated, too expensive, and too risky to stick our necks out any more. Developers need to steer a safe and steady course to get the product out on time, and now that means picking a safe and well-supported processor. In these turbulent times, the two major architectures provide a safe harbor.
Need evidence? There’s plenty. Freescale recently sneaked out two additions to its big QorIQ family of communications chips that were based on – gasp! – ARM processor cores. Heretofore, all QorIQ chips had been PowerPC-based, as were the PowerQUICC chips before them. Recall that Freescale helped design PowerPC (along with IBM and Apple) back in the day. The company has been a dyed-in-the-wool PowerPC proponent since Day One, yet now it’s edging toward ARM-based components, citing customer demand. Freescale’s newest QorIQ software hints at becoming CPU independent, too, a sign of potential architecture shifts to come.
Similarly, Applied Micro (AMCC) is adding ARM-powered chips to its traditional PowerPC-based product line. LSI is making a parallel move, switching from PowerPC to ARM for its base station chips. Yet we don’t see any chipmakers moving in the opposite direction. The trend seems clear.
It’s no better in MIPS Land. Cavium just announced that it’s designing new network chips around the upcoming 64-bit ARMv8 processor core, whereas all of the company’s previous Octeon and Nitrox chips relied on the MIPS architecture. Marvell and Calxeda are making ARM-based server chips, which Dell Computer and HP plan to use in their respective systems. That leaves Broadcom as the single biggest MIPS licensee, but even there the news is… strange.
On the one hand, Broadcom and MIPS just renewed their vows with a big happy licensing deal – almost too big. On the other hand, said agreement covered a lot of patent rights, not just a new CPU core, for which Broadcom paid many millions of dollars. Why would Broadcom need patent rights for chips it’s already making… unless the company is afraid that MIPS might not be around much longer? If MIPS Technologies gets acquired, goes under, or – horror of horrors – sells its technology to a patent troll, Broadcom may need the expensive legal cover to keep producing chips. The latest deal could be just an expensive way to hedge its corporate bets.
Even AMD has stuck a toe in the ARM waters. The company’s new x86 chips will include a wee bit of ARM technology, purely for managing the increasingly complex security features on the chip, or so we’re told. But AMD’s board of directors has whacked the management staff for failing to jump aboard the mobile computing bandwagon as quickly as they might have, and the newly installed executives are understandably eager to appear mobile-friendly. And the quickest way to do that is: Make ARM-based chips. AMD even poached Apple’s head of A4/A5 chip design. So even x86 may be heading into ARM’s embrace. Heavens, what next? (Trivia: Even Intel has an ARM license, which it inherited through its dismantling of Digital Semiconductor and the latter’s StrongARM/XScale product line.)
Down at the high-volume-but-low-sex-appeal end of the market, new little microcontrollers based on the ARM Cortex-M0 and M0+ are flying off the shelves. NXP, Freescale (again), STMicroelectronics, TI, and other vendors are spinning off countless low-cost, low-power, high-integration chips based on the little beastie. ARM’s strategy of reaching down into the low end of the market to replace traditional 8- and 16-bit MCU families seems to be paying off. Buy an M0-based MCU today; graduate to an A9-based CPU tomorrow. Clever, those Brits.
It wasn’t supposed to be this way. Back in the Nineties and Noughties, we were awash in new CPU designs and architectures. Startups were developing new instruction sets and software models faster than we could keep up with them. And they were good. All this innovation was supposed to lead to faster, more efficient computing devices with CPUs finely tuned to specific market segments. Special processors for mobile, for graphics, for low power consumption, for security, for networking… a thousand flowers were supposed to bloom.
Except that most wilted. The processors for high-performance scientific computing (Alpha, MIPS, Itanium, PowerPC, Clipper) either died ignominiously or wound up in low-power embedded applications; precisely the opposite of what they were designed for. The infinitely adjustable, configurable processors (ARC, Tensilica, Chameleon, et al.) turned out to be too flexible for their own good and devolved into a few standard configurations. And the simple little Acorn RISC Machine created for home computers grew up to be the mighty oak that shaded all the others.
It’s not that the other CPUs weren’t, or aren’t, good processors. It’s just that there are too many of them, and engineering is a discipline that thrives on standards. We can’t design and program everything from scratch; we have to reuse hardware and software developed by others. And that requires a thriving third-party ecosystem, which, in turn, rewards popularity. It’s a zero-sum game: for every Linux port to Processor A there’s no port to Processor B. One gets a new compiler and another doesn’t. One design win begets another, and before long a trend starts to develop – one that has little to do with the suitability of one processor over another, but with its perceived popularity. The snowball effect takes over, and the one processor that started out with a wee bit more momentum than the others picks up more energy and force until it becomes unstoppable. Picking the winners 15 years ago (when Apple was nearly defunct and Microsoft was the world’s richest company) would have been impossible. But through a series of unforeseeable events, we’re left with the two dominant architectures we have today. One, by virtue of its extreme age, and the other, thanks to market momentum. They’re both perfectly good. It’s just a shame that competition has to have losers.