Three things are certain in the engineer’s life: death, taxes, and Intel dominance.
One of those is not actually true. Although “Intel” is the name that comes to mind when the topic turns to microprocessors, the company’s famous chips account for barely 2% of all the microprocessor and microcontroller chips sold each year. (That’s counting units, not dollar value. The revenue picture is quite different.) The other 98% of the world’s microprocessors all come from somewhere else.
ARM, for example, creates at least five times more 32-bit processors every year than Intel does. But since ARM-based chips get buried into embedded devices instead of high-profile PCs, the general public is rarely aware of them. Like insects in the global ecosystem, embedded processors are everywhere – and nowhere.
Now Intel wants a piece of that other 98 percent. Not content to be the carnivore at the top of the food chain, the company also wants a piece of the insect action. Well, lower primate action, anyway.
Enter Atom, Intel’s latest microprocessor family designed especially for embedded systems. Atom is at once completely familiar and totally new. It’s a combination of the world’s oldest surviving microprocessor design and the newest semiconductor manufacturing. It’s a dinosaur with carbon fiber wings, a coelacanth with scuba gear.
Atom is Intel’s brand new low-power x86 microprocessor family. Before your oxymoron detector goes off at the use of “low power” and “Intel x86” in the same sentence, bear in mind that power consumption can be a squishy metric. Efficiency is in the eye of the beholder, and what one engineer calls a low-power processor another might call a space heater.
Be that as it may, Atom is certainly the most power-miserly processor to ever execute the x86 instruction set, and it’s certainly the most power-efficient processor from Intel. AMD, Via, Transmeta, Rise, Montalvo, and other companies (mostly dead now) have all tried (and generally failed) to produce a low-power processor that could run the gamut of Intel’s massive x86 software base. Some were x86 compatible; some were low-power. Atom is both. Sort of.
Atom is a clean-sheet design, created specifically to appeal to embedded designers. It’s not a hand-me-down PC processor, unlike Intel’s previous efforts and most of the “embedded” chips that came out of AMD in the 1980s and 1990s. Instead, Atom is all new inside, even though it appears just like a Core 2 Duo to software. For those keeping track at home, Atom was developed under the code names Silverthorne and Diamondville (the difference is only in the packaging).
As an embedded processor, Atom is respectable. Intel offers five versions, from a low of 800 MHz to a high of 1.86 GHz. All five chips are actually identical; the company just sorts them by speed and gives them different model numbers. The cheapest member of the family sells for $45 in volume while the fastest commands a $160 price. That’s not cheap by embedded-processor standards, although both chips come with Intel’s core-logic companion chip. In a sense, you’re getting most of a PC motherboard in the two-chip set.
In all five guises, Atom comes with 512 KB of on-chip cache, a two-way superscalar 16-stage pipeline, limited branch prediction, Intel’s 64-bit instruction extensions, SSSE3 media extensions, and (except on the slowest parts) multithreading. The thing even runs Vista.
It’s not quite an entire embedded PC. That would still require a Microsoft-supported graphics controller, keyboard and mouse controllers, memory, disks, and other PC paraphernalia. Atom is not the key to a one-chip PC or even an especially small PC. It’s not even the only x86-compatible embedded processor you can buy (see the AMD Geode or Via Centaur chips for that). It is, instead, yet another choice in the vast 32-bit embedded-processor marketplace.
Having established its compatibility credentials, what does Atom offer on the power front? After all, unless it’s significantly less power-hungry than Intel’s “normal” x86 processors, what’s the point? The news here is good, but with qualifications. Atom is very low power – for Intel. Or more charitably, for an x86 processor.
Compared to Intel’s own ULV (ultra low-voltage) Celeron processor for laptops, Atom consumes less than one-tenth as much electricity while doing the same kind of work. At its slowest speed, an 800-MHz Atom Z500 model runs at just 0.75 V and sips an average of just 160 mW. The fastest Atom Z540 burns just 220 mW at 1.86 GHz and 1.2 V. Worst-case numbers are 0.65 W and 2.4 W, respectively. Those numbers compare very favorably to the 8–25 W for an average ULV Celeron.
On the other hand, that’s still a lot of joules for an embedded microprocessor. There are plenty of chip makers who’d be happy to show you their 32-bit chips for a fraction of that power budget. For true low power there’s ARM, MIPS, AVR32, and a host of other processor architectures. Even Freescale’s ancient 68000-esque ColdFire family can undercut Atom. Contrary to popular belief, ARM doesn’t hold a lock on power efficiency. It doesn’t even lead the way. Truly power-conscious embedded designers owe it to themselves to keep their eyes, ears, and options open. As with so many things, the reality falls somewhat short of the hype.
Given what Intel had to work with, Atom is a terrific piece of work. Let’s face it: the x86 architecture has severe limitations. It’s inherently complex and awkward and baroque, as any x86 assembly-language programmer can tell you. It’s said there are two kinds of programmers: those who admit they hate the x86, and liars. Because of their arcane programming model, all x86 chips suffer in terms of power efficiency. It takes a lot of transistors to make the x86 what it is, and transistors require power.
They also take up space, so x86 processors are physically larger than simpler RISC processors, though that’s a trivial detail to most users in this age of deep submicron semiconductor manufacturing. Who really cares if their processor silicon measures 10 mm2 instead of 25 mm2?
RISC-ifying Atom would have certainly made it simpler and therefore saved power by reducing the transistor count, but making a chip that was “almost compatible” with other x86 processors would be a bit like being “almost pregnant.” A processor is either compatible or it’s not, and Intel felt was important to uphold the tradition of full-on compatibility with no asterisks.
So why choose an embedded x86 processor at all? Software availability. You don’t necessarily have to want to run Windows, though that makes sense for some systems. It’s more because of the infrastructure. Compilers, operating systems, middleware, and engineering talent are all easy to find. Development systems are trivial, since host PCs are plentiful and software- and hardware-development tools are there for the taking. Most programmers and engineers learned their craft on a PC; some never learn anything else.
So if x86 compatibility is attractive to you (or if it’s been mandated by Management) but you still need to avoid busting the power budget, Atom is a big leap forward in x86 power efficiency. It’s still not efficient in the larger context of other processors, but it’s less miserable than before. Like Winston Churchill’s observation about democracy: it’s the worst possible option, except for all the others.