SLCentral - Your logical choice for computing and technology
  • Home
  • Search
  • Forums
  • Hardware
  • Games
  • Tech News
  • Deals
  • Prices
  • A Guru's World
  • CPU/Memory Watch
  • Site Info
  • Latest News
    Corsair TX750W Power Supply Unit Review
    Businesses For Sale
    Shure E530PTH Earphones Review
    Guide to HDTVs
    Cheap Web Hosting
    >> Read More
    Latest Reviews
    Corsair TX750W Power Supply Unit - 4-/-0/2008
    Shure E530PTH Earphones - 9-/-0/2007
    Suunto T6 Wrist Top Computer - 1-/-0/2007
    Suunto X9i Wristwatch - 9-/-0/2006
    Shure E3g Earphones - 5-/-0/2006
    >> Read More
    SL Newsletter
    Recieve bi-weekly updates on news, new articles, and more

    SLCentralArticlesTech Explanations Jan 21st, 2018 - 10:40 PM EST
    Fundamentals Of Multithreading
    Author: Paul Mazzucco
    Date Posted: June 15th, 2001

    Simultaneous Multithreading

    On-chip multi-processors can remove some horizontal waste. Coarse and fine-grained multithreading can remove some (or all) vertical waste. Yet, there has to be a way to have cake and eat it too. Such is the philosophy of a yet more advanced form of multithreading, called Simultaneous Multithreading (SMT).

    The high concept for SMT is to have the ability to run instructions from different threads, at any given time, in any given functional unit. By rotating through threads, an SMT chip acts like a FMT processor, and by executing instructions from different threads at the same time, it acts like a CMP processor. Because of this, it allows architects to design wider cores without the worry of diminishing returns.

    'a' is a traditional super scalar, while 'b' represents a Simultaneous Multithreading architecture.

    Figure b) shows an example of a 4-issue, 4-way SMT processor. The figure shows it as nearly "fully utilized" with 4 threads (which is not to say that it will happen that way in real life). However, it is realistic for SMT to achieve higher efficiency than FMT due to its ability to share "unused" functional units amongst differing threads. So in this way, SMT shows the efficiency of a CMP machine. Unlike a CMP machine, an SMT machine makes little to no sacrifice (the small sacrifice is discussed later) for single threaded performance.

    The reason for this is simple: whereas much of a CMP processor remains idle when running a single thread -- the more processors on the die, the more this is pronounced -- an SMT processor can dedicate all functional units to that thread. While obviously not as nice as being able to run multiple threads, the ability to balance between single thread and multithreaded environments is a wonderful feature. This means that an SMT processor can exploit thread-level parallelism (TLP) if it is present, and if not, will give full attention to instruction level parallelism (ILP).

    >> SMT Induced Changes/Concerns About SMT

    Did you like this article?

    Article Navigation
    1. Introduction/Amdahl's Law
    2. Latencies And Bandwidth
    3. Latencies And Bandwidth Cont.
    4. ILP Background
    5. On-Chip Multiprocessing
    6. Course-Grained Multithreading
    7. Fine-Grained Multithreading
    8. Simultaneous Multithreading
    9. SMT Induced Changes/Concerns About SMT
    10. Jackson Technology And SMT
    11. Applications Of Multithreading: Dynamic Multithreading
    12. Applications Of Multithreading: Redundancy Is Faster?
    13. Summary Of The Forms Of Multithreading And Conclusion
    14. Bibliography
    Article Options
    1. Discuss This Article
    2. Print This Article
    3. E-Mail This Article
    Browse the various sections of the site
    Reviews, Articles, News, All Reviews...
    Reviews, Articles, News...
    Regular Sections
    A Guru's World, CPU/Memory Watch, SLDeals...
    Forums, Register(Free), Todays Discussions...
    Site Info
    Search, About Us, Advertise...
    Copyright 1998-2007 SLCentral. All Rights Reserved. Legal | Advertising | Site Info