Return of the CISC: Macro-op Execution

The Pentium Pro was Intel's first CPU that finally ended the RISC vs. CISC debates of the early 1990s. To the programmer it was still a x86 CISC machine like every previous Intel processor, but internally once it received its x86 instructions it decoded them into smaller micro-ops to run on a simpler, faster and more efficient RISC core.

By maintaining backwards compatibility with all previous x86 processors Intel was able to leverage one of the major strengths of its CISC architecture (mainly the installed x86 user base) while continuing to evolve by relying on a high performance RISC core.

It turns out that some x86 instructions shouldn't be broken up into smaller micro-ops because they tend to augment each other. With the Pentium M Intel began fusing certain micro-ops into single operations so that they would go down the processor's pipelines atomically, thus saving power and improving efficiency. Intel called this feature micro-op fusion. If two micro-ops were treated as one when going down the pipeline that effectively increased the "width" of the CPU, allowing more instructions to be operated on at once. The internal core was still very much a RISC machine, it was just able to do a little more in certain circumstances.

The Atom takes things one step further and most x86 instructions aren't even broken down into micro-ops internally. As Atom isn't an out-of-order core, it doesn't exactly make sense for it to have tons of micro-ops in flight since it can't reorder them for optimal execution. Furthermore, by keeping most instructions as single operations Intel is able to effectively increase the "width" of Atom.

Instructions that are of the format load-op-store or load-op execution are treated as a single micro-op by Atom's decoder. In other words, if you have an instruction that loads data, operates on it, and stores the result - that's now treated as a single micro-op instead of being broken up into three. The benefit being that there's only a single micro-op that's going down the pipeline, leaving room for another one. Atom may only be a 2-issue architecture, but in certain situations it can behave like a much wider machine.

Intel has spent much of the past decade perfecting its ability to break down x86 instructions into smaller, RISC-like operations and building very high performance cores to deal with these small atomic operations. What's most interesting is that we've now come full circle where in the quest for greater performance per watt Intel is now doing the opposite and not breaking down these x86 instructions in many cases.

Instructions Gone Wild: Safe Instruction Recognition It Does Multiple Threads Though: The Case for SMT
POST A COMMENT

46 Comments

View All Comments

  • FlakeCannon - Wednesday, April 02, 2008 - link

    This was an absolutely fantastic article as far as I'm concerned. One of the best I've read from AnandTech. I'm truly impressed with the amount of effort and dedication that the engineers at Intel put into the Atom. Thought the consumer may not see its importance today the Atom will continue to develop one throughout the next 2 years and show why this is such a huge step in the right direction. I really think that this article outlines very well the architecture involved and where it intends to lead Intel and others in the future.

    I'm always impressed to see Intel take architecture that was revolutionary in its time 15 years ago in the Pentium and Pentium Pro and resurrect it in modern day fashion with help of the Dothan Pentium M architecture and even things borrowed from the miserable Netburst technology that 15 years later I believe will once again create a product revolutionary in nature. I was never able to appreciate it in the days of the Pentium but certainly can now.

    This is one product I think is deserving of being excited about.
    Reply
  • fitten - Wednesday, April 02, 2008 - link

    What does an on-die memory controller have to do with ILP? Reply
  • Anand Lal Shimpi - Wednesday, April 02, 2008 - link

    Woops, I've clarified the statement :)

    Take care,
    Anand
    Reply
  • erwos - Wednesday, April 02, 2008 - link

    I was thinking that this would be a fantastic platform for making a small, silent HTPC box for doing streaming media, but the lack of 1080p output kills that to a large extent. I know it's not a big priority for the first revision given the UMPC targeting, but I hope the "Atom 2" does try to squeeze that feature in. Reply
  • FITCamaro - Wednesday, April 02, 2008 - link

    It could always be paired with a different, more capable graphics core. Reply
  • ltcommanderdata - Wednesday, April 02, 2008 - link

    It;d be very interesting to see how the 1.86GHz Silverthorne stacks up against a 1.8GHz P4 Northwood, a 1.86GHz Dothan, a 1.8GHz Conroe-L based Celeron, and a 1.8GHz Athlon 64.

    I wonder if Apple is going to refresh AppleTV with Silverthorne since it seems ideal with replace the current 1GHz ULV Dothan in there.
    Reply
  • yyrkoon - Wednesday, April 02, 2008 - link

    Well at least Intel did not name their Atom CPUs the 'Atom Z80' . . . heh.

    Anyways, this is good for our future, as the mITX, and pITX 'systems' now days are still kind of large-ish, and cost quite a bit of money for what they are. Though, I think that putting a web browser on just any old appliance in the house would be way overkill, and possibly a very serious mistake. A TV with a web browser ? An Oven ? Please . . . this is why we have PCs, and micro mobile devices.

    Recently a friend and myself have been working on an embedded project, and I can see the potential here, but a 'problem' does exist. Some of the things you would want to do with such a processor . . . well lets just say there still would not be enough processing power. That being said, I do not see why these could not help make a TVs/HD-DVD player menu operate faster.


    Reply
  • pugster - Thursday, April 03, 2008 - link

    It certainly sounds nice, but the atom processor cost alot because some of the higher end models cost more than $100 each. I find it surprising that their Polosbo chipset is manufactured at 130mm. It probably came from one of their foundries that was due to upgrade to 32mm sometime next year anyways. They could've earily manufactured at 65mm.

    Somehow I don't see their product as mature and maybe the next gen product they would have a cpu and the north/south bridge in the same die.
    Reply
  • lopri - Wednesday, April 02, 2008 - link

    I honestly don't get the excitement. Should I? I mean, I wouldn't feel comfortable with one gigantic company controlling every single electronics in our life. If Intel opens up the X86 and everyone can compete on even end, then maybe. Since that won't happen, the future looks scary enough. Reply
  • clnee55 - Wednesday, April 02, 2008 - link

    NO, how can you get excitement. I am already bored with your conspiracy theory. Let's talk about tecnical issue here. Reply

Log in

Don't have an account? Sign up now