multithreaded processors n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Multithreaded Processors PowerPoint Presentation
Download Presentation
Multithreaded Processors

Loading in 2 Seconds...

  share
play fullscreen
1 / 12
kapila

Multithreaded Processors - PowerPoint PPT Presentation

95 Views
Download Presentation
Multithreaded Processors
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Multithreaded Processors

  2. Multithreading: What is a thread? • A thread is the smallest unit execution a piece of code. • A process consists of one or more threads. Processes own system resources, e.g. memory, files etc. • Threads share system resources of their process. • Threads have their own stack. • Usage • Programming of concurrent activities, e.g. internet browser uses threads to load of pages and handle user input. • Parallel computing

  3. Multithreading in a Processor • The processors supports multiple threads in hardware. • Enabling fast thread switches • Advantage • Latency hiding: While a load is serviced from main memory, another thread can fill the pipeline. • Improved utilization of functional units • Required architectural support • Multiple register files • Bookeeping hardware for threads

  4. Multithreading Approaches • Cycle-by-cycle Interleaving • Processor executes a number of threads • It switches in each cycle to another thread. • The next instructions of that thread are started. • Block Interleaving • Instructions of a thread are executed until a long latency instruction is executed. • Then, the processor provisionally switches to an other thread.

  5. Multithreading Approaches • Simultaneous Multithreading (SMT) • The issue unit starts instructions of multiple threads in a single cycle. • Each thread has its own register file. • Beispiele: • Intel Hyperthreading • IBM Power processors

  6. Visualization for a Scalar Processor

  7. Evaluation for Scalar Processor • Single-Threaded scalar • Stall cycles can only be hidden by out-of-order execution. • Cycle-by-cycle • Requirement: Processors supports as many threads as pipeline stages. • Advanatage: all instructions are indepent. • Block-Interleaving • Switch happens only for long latency instructions. • Advantage: reduced number of stall cycles • Common to all variants • Dependences within a thread are respected.

  8. Comparison for Superscalar Processors

  9. Evaluation for Superscalar Processors • Single Threaded • Stall cycles and unused functional units due to a lack of independent instructions. • Cycle-by-Cycle and block interleaving • Stall cycles can be eliminated. Functional units might be empty. • Simultaneous Multithreading • Threads are executed in parallel. • More insructions to fill the functional units • Common • A single thread will not be faster. • Increased throughput

  10. Intel Hyperthreading • Simultaneous multhreading • Minimal hardware extensions to improve utilization of processor hardware. • Advantageous only for throughput loads or parallel applications.

  11. Extensions to Pentium 4 for Hyperthreading