Toward a two-processor world
Since Intel makes only about 2% of the world's microprocessor chips, that leaves a big 98% for everyone else. Those are all the embedded processors, and it's a fragmented market. There are gobs of 8-bit and 16-bit MCUs out there, from dozens of different chipmakers. But it looks like the 32-bit world is coalescing around just two: ARM and x86.
Is that collapse for real, and if so, is it a good thing or a bad thing for us as developers?
Maybe "collapse" is a harsh word. There's nothing inherently wrong with a two-horse race. But compared to all the variety we see in 8- and 16-bit micros, why is the 32-bit segment so… homogenous?
First of all, is this consolidation for real or am I just making stuff up? Short answer: Yup, it's for real. Intel and ARM have both been shipping record numbers of chips over the last few years, while all the other 32-bit vendors have been pretty quiet in comparison. Shipment numbers and financial results all point toward two definite winners plus a whole bunch of losers. Whether you're counting chips or counting dollars, we're headed toward 32-bit bifurcation.
On one hand, we've got Intel pushing into foreign territory with new chips for smartphones and tablets. On the other hand, ARM, the de facto standard for portable electronics, is now getting into "big iron" like servers. It's like the world has turned upside down.
Where does that leave ColdFire, MIPS, PowerPC, SPARC, and all the other processor families we know and love? They're still alive and kicking, but their popularity seems to be waning. One by one, chipmakers have been quietly switching horses, with Cavium edging away from MIPS and AppliedMicro, LSI, and Freescale shifting away from PowerPC. And what architecture are they all adopting? Every single one is moving to ARM. Marvell and startup Calxeda are designing ARM-based server chips, too.
That leaves Broadcom as the biggest MIPS loyalist, and that company just paid a bunch of money for some MIPS-related patent rights, probably as a hedge against the latter company either going out of business or getting sold to a hostile competitor. The trend seems pretty clear.
Heck, even Freescale--one of the original developers of PowerPC--is starting to add ARM-based chips to its peculiarly named QorIQ family of communications processors. Did you notice that Freescale's new LayerScape software is CPU-independent? There's another hint right there.
What's leading this mass exodus? The answer, in a word, is software. In a weird parallel to the PC world that we ridicule so much, it's the availability of embedded software that's leading developers toward ARM-based chips and away from other perfectly good 32-bit embedded processors.
It's not that ColdFire or PowerPC or MIPS have suddenly become bad processor architectures. It's not that they aren't keeping up with the latest silicon or CPU technology--they are. It's just that they don't have the same huge base of software, middleware, operating systems, tools, and experienced developers that ARM has amassed over the years. A given PowerPC chip might be a better hardware fit for your next product, but if the software, tools, and talent aren't there you're starting off with an unnecessary handicap. And since most development teams now spend more time writing code than developing hardware, it makes sense to optimize that path. The fact that fewer developers write in assembly language and instead use high-level languages also makes CPU architecture less of an issue than it was. When we were slinging mnemonics, instruction sets mattered. Now that we're (mostly) using C compilers and visual debuggers, low-level CPU design is less evident, and less important. It's not a matter of who makes the best CPU chip; it's about who offers the best selection of development tools.
Over in x86-land, Intel is renewing its push into the embedded market, and this time the company means business. Instead of just marking down prices on last year's PC processors and offering them as embedded chips, many of the new Atom devices are truly original designs intended for specific embedded products.
Two examples are Medfield and Clover Trail. Medfield (officially the Atom Z2460) is a single-core x86 processor intended for smartphones, while the dual-core Atom Z2760 "Clover Trail" is designed specifically for Windows 8 Surface tablets. As such, they compete head-to-head with ARM-based chips from Qualcomm, Texas Instruments, nVidia, Samsung, and others.
Intel knows that the PC gravy train is slowing to a stop, so the company is betting big on embedded processors based around its home-grown x86 architecture. Combined with Intel's phenomenal manufacturing capability (something ARM's army of licenses can't duplicate), the company may be better positioned than we think. Embedded is important to Intel, and what Intel wants, Intel usually gets.
Ironically, the weak spot for Intel is--you guessed it--software. Medfield, for instance, has remarkably low power consumption compared to ARM-based competitors, but the annoying characteristic that it doesn't run ARM code. And since virtually all smartphone makers have used nothing but ARM-based chips for years, it's a big hurdle to overcome. Intel now finds itself on the wrong side of the software-compatibility equation. Medfield has no hope in an iOS phone, but shouldn't Android be a field-leveler?
Not really. Although Android itself is processor agnostic (it already runs in x86, ARM, and MIPS processors), Android apps are not. Neither is the firmware buried inside every Android phone, which are mostly ARM binaries. Intel's got a lot of work to do to replace all that. Having competitive chips is just the beginning. Now it has to replace a decade of entrenched software.
Clover Trail is even more narrowly targeted at one specific device: Microsoft's new Surface tablet. The processor was rolled out amid equal parts fanfare and name-calling. Fans see it as the first real x86 chip for tablets, making Windows and Office and lots of other PC software truly portable. But Intel also made a point of saying that Clover Trail was for Windows 8 only--no Android support. That seemed both oddly hostile and technically incorrect. After all, Android can be ported to any processor in the world, so why not Clover Trail? Ah, here's the rub. Clover Trail includes some brand new power-management hardware that requires close cooperation with the operating system. And so far, Windows 8 is the only operating system to offer such support. So although Android (or any other operating system) could run on Clover Trail, it wouldn't take advantage of the chip's power-saving features, which sort of defeats the purpose. In its defense, Intel says there's a Linux-friendly version of the chip coming soon, so Android aficionados just need to cool their heels for a few more months.
It seems backwards, doesn't it? Processor chips cost billions of dollars to produce. Software wants to be free. Hardware is hard to change; software is easy to update. And yet it's the fast, free, and flexible software that's turning out to be the irresistible force in our industry. Let's hear it for the programmers.
Jim Turley Is an independent analyst, columnist, and speaker specializing in microprocessors and semiconductor intellectual property. He's written several books, including Essential Guide to Semiconductors, Advanced 80386 Programming Techniques, and PCs Made Easy. Jim Turley runs Silicon Insider, an independent consultancy. Contact him at firstname.lastname@example.org.