Hardware Multi-Threading

3,263 views 10 slides Oct 16, 2020
Slide 1
Slide 1 of 10
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10

About This Presentation

Audio Version available in YouTube Link : https://www.youtube.com/AKSHARAM?sub_confirmation=1
subscribe the channel

Computer Architecture and Organization
V semester
Anna University
By
Babu M, Assistant Professor
Department of ECE
RMK College of Engineering and Technology
Chennai


Slide Content

Hardware multithreading

Light weight Process which shares a single address space Thread Hardware multithreading Includes PC, Register State and Stack Process One or more Threads, Address space, OS state Hardware Multithreading Increasing utilization of a processor by switching to another thread when one thread is stalled.

Hardware multithreading Hardware multithreading allows multiple threads to share the functional units of a single processor in an overlapping fashion to try to utilize the hardware resources efficiently . Fine Grained Multithreading Coarse Grained Multithreading Simultaneous Multithreading

Hardware multithreading PC Regs PC Regs PC Regs PC Regs PC Regs Instruction Stream Instruction Stream Conventional Processor Multithread Processor Thread Context

Hardware multithreading Category Resources Replicated PC, Architectural Registers, Register Renaming Logic Partitioned Re-Order Buffer (ROB), Load-Store Buffer, Queue Shared Caches, Physical Registers, Execution Unit Resource Sharing in Multithreaded Processor

Multithreading implementation PC Regs PC Regs PC Regs PC Regs Thread Scheduling Policy Key Characteristics Pipeline Partitioning Fine Grained Multithreading (FGMT) Coarse Grained Multithreading (CGMT) Simultaneous Multithreading (SMT) Different Implementations

Hardware multithreading Coarse Grained Multithreading - CGMT We always executes instructions from a single thread continuously Thread scheduling : Thread Switching on long latency events (L2 Cache Misses) Pipeline Partitioning : Pipeline will not be partitioned, flushing Processor Cycle Functional Units Simple, Improved throughput, low cost Not suitable for out-of-order processing

Hardware multithreading Fine Grained Multithreading - FGMT Thread scheduling : Thread Switching on every clock cycle (Round Robin) Pipeline Partitioning : Dynamic, No flush Processor Cycle Functional Units Conceptually Simple , High throughput Very poor single thread performance

Hardware multithreading simultaneous Multithreading - SMT FGMT + S uperscalar Processing Thread scheduling : Thread Switching on every clock cycle (Round Robin) Pipeline Partitioning : Dynamic, No flush Processor Cycle Functional Units Improved throughput, hide memory latency Increased conflict in shared resources Resource Partitioning: Static and Dynamic

Hardware multithreading Processor Cycle Superscalar CGMT F GMT SMT
Tags