Meanwhile, back in the day...

Back in 1998, when I first began covering hardware at the newly launched Ars Technica, much of my writing focused on issues raised by the raging Mac vs. PC flame wars that took place in computing forums across the Internet. These flame wars were often centered around the esoteric issue of instruction set architecture (ISA), as partisans on each side argued over which type of ISA was superior—those ISAs based on the RISC philosophy expressed in the PowerPC processors that powered the Mac, or the CISC camp that most think is exemplified by Intel's x86 processors.

Incidentally, in those last years of the 20th century, dial-up was officially on its way out, and broadband Internet was completing its transformation from The Next Big Thing into a fact of urban life. The rise of broadband Internet brought about a shift in the way that people used and related to their computers. The "home PC" moved from being a monolithic, self-contained work and entertainment device with its own piece of furniture, to being a vehicle for social and intellectual discovery.

Fast-forward to today, and the future of the pocket looks eerily similar to what the future of the desktop looked like from the standpoint of a decade ago. WiMAX and 3G networks are poised to make mobile broadband ubiquitous in large urban centers, and two ISAs, one RISC and one CISC, are poised to do battle yet again on a new terrain that's defined by a shift in how people use their computers.

Unlike 1998, though, RISC vs. CISC actually matters, now. A close look at the design of Intel's newest mobile architecture, officially named Atom, will show why the decades-old "RISC vs. CISC" debate is suddenly interesting again, and in some entirely new ways. In this article, I'll talk about the penalty that Intel's new Atom ultramobile processor pays for its CISC legacy, and how Intel plans to reduce the impact of that penalty with simultaneous multithreading.

Hostile territory

Before I get directly into the topic of Atom's microarchitecture, I want to take a moment to talk about the market at which future derivatives of Atom will eventually be aimed. Right now, with its 2W TDP, Atom isn't much of an embedded processor in the classical sense, but some future version of it will be. Atom is more like the point of a wedge that Intel intends to drive down into the embedded market, with the x86 legacy code base acting as the mass behind that point and the company's relentless march of process shrinks acting as the applied force.

"Embedded" processors are commonly so called because they seamlessly integrated into a range of different appliance-like devices, from microwaves to cars to routers. Because they're often crammed into all sorts of odd places where computers don't normally go, such processors are typically very low-power and rugged. They also don't need a lot of horsepower to carry out the kinds of tasks that they're normally assigned, so they eschew the complexity and bulk of desktop processors in favor of simplicity, leanness, and the ability to use very little energy.

More recently, "embedded" has also come to refer to processors that are in mobile phones and handheld computers, and in that respect it now refers generically to processors that operate in the milliwatt range.

RISC architectures currently have the embedded space just as tightly sewed up as RISC architectures had the workstation space in the years before the Pentium Pro. The big three for embedded are ARM, PowerPC, and MIPS. Of these three, ARM is far and away the most popular for gadgets and consumer electronics. Empty your pockets and purse or briefcase of mobile gadgetry, and chances are there's at least one ARM-based chip under the skin of each device with a battery and a screen. Whether you're packing a Blackberry or a Nintendo DS Lite, you're toting ARM hardware.

To ARM and its vast army of licensees, Intel's mockup-heavy bluster about x86-powered UMPCs, MIDs, and smartphones might look just as laughably silly as the Pentium Pro and its successors looked to the likes of SGI and DEC, if it weren't for the fact that x86 is now wearing the scalps of both now-defunct RISC powerhouses as trophies. No, in today's world, when Intel aims both barrels of its formidable fab capacity directly at a new market segment, it's not a joke to anyone who ends up in the crosshairs.

The Atom line of processors, formerly known by the codename of "Silverthorne," is a shot across the bow of the embedded RISC players. It's not a direct hit, and isn't intended to be; but Intel is gunning for ARM and its cohorts, so let's take a look at its opening salvo.

Intel's Atom

When Intel unveiled the microarchitecture for Atom at ISSCC this year, they also served up some crow for me to eat along with it. Some readers may remember that I greeted Intel's claims that "Silverthorne" (Atom's codename) was a "new architecture from the ground up" with a bit of skepticism, and suggested that it was probably a derivative of an existing microarchitecture.



Intel Atom. Source: Intel

Clearly, I should've taken Intel at face value, because Atom is an entirely new design. It's relatively simple and in-order, much like the original Pentium, but it's also fairly deeply pipelined like more modern processors. Overall, it's definitely clear that Atom's designers tried to walk a fine line between modern features and performance on the one hand, and simplicity and power efficiency on the other. Only real-world benchmarks will indicate how well their tradeoffs worked, but a close look at Atom's pipeline will show what x86 compatibility actually costs the processor.

Note: This article looks in detail only at the fetch and decode phases of Atom's front end. For more on Atom as a whole, and on its execution engine, see this previous article.