It Does Multiple Threads Though: The Case for SMT

Despite being 2-issue, it's not always easy to execute two instructions from a single thread in parallel due to data dependencies between the two. Intel's solution to this problem was to enable SMT (Simultaneous Multi-Threading) on Atom (not all models unfortunately) to allow the concurrent execution of up to two threads. Welcome the return of Hyper Threading.

Remember the rule of thumb for power/performance tradeoffs? Intel's decision to enable SMT on Atom was the perfect example of just that. SMT increased power consumption by less than 20% on Atom, however it also yielded a 30 - 50% increase in performance on the in-order core. The decision couldn't be easier.

The Atom has a 32-entry instruction scheduling queue, but when running with SMT enabled each thread has its own 16-entry queue. The scheduler doesn't have to switch between threads each clock, it can do so intelligently, the only limitation is that it can only dispatch 2 ops per clock (since it is a 2-wide machine). If one thread is waiting on data to complete an instruction, on the next clock tick the scheduler can choose to dispatch an op from a separate thread that will hopefully be able to execute.

Making Atom multithreaded made perfect sense from a logical standpoint. The downside to an in-order core is that if there is an instruction that is waiting on data to begin execution the rest of the pipeline stalls while that dependency is resolved. The chances that you'll have two independent instructions from two independent threads both with misses in cache is highly unlikely.

Execution Units

Atom isn't a superwide processor, with an in-order front end and no on-die memory controller it's unlikely that we'll see tremendous instruction throughput. Data dependencies would do a good job of ensuring that tons of execution units remain idle, so Atom's designers did their best to only include the bare minimum when it came to execution units.

There's no dedicated integer multiplier or divider, these functions are shared with the SIMD FP units. There are two SSE units and the scheduler can dispatch either a float or an integer SIMD op to both ports in a given clock.

All of the functional units are 64-bits wide with the exception of supporting full width SIMD integer and single precision FP ADDs.

Return of the CISC: Macro-op Execution Fighting Power Consumption...with a Longer Pipeline?
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