130 likes | 306 Views
Hyper-Threading & Related Concepts. Yu Fu. Content. Conventional multithreading Out-of-order execution (OOE) SSSSSSSS Symmetric multiprocessing (SMP) Simultaneous multithreading (SMT) Hyper-threading Implementation ssssssssssssssssssssss. Conventional multithreading. Front End
E N D
Content • Conventional multithreading • Out-of-order execution (OOE)SSSSSSSS • Symmetric multiprocessing (SMP) • Simultaneous multithreading (SMT) • Hyper-threading • Implementation ssssssssssssssssssssss
Conventional multithreading Front End Execution Core
Out-of-order Executiondata dependency • RAW (read after write) i1. R2 R1 + R3 i2. R4 R2 + R3 • WAR (write after write) i1. R1 R2 + R3 i2. R3 R4 * R5 • WAW (write after write) i1. R2 R1 + R3 i2. R2 R4 * R7
Out-of-order ExecutionTomasulo’s Algorithm • Register renaming • WAR i1. R1 R2 + R3_a i2. R3_b R4 * R5 • WAW i1. R2_a R1 + R3 i2. R2_b R4 * R7 • Reservation station • RAW
Out-of-order ExecutionLimitation • Available Registers • RAW - true data dependency • Branch Prediction • Memory Address Aliases
Symmetric multiprocessing (SMP) • Two single-threaded processors • Double execution time as well as the waste
Simultaneous multithreading (SMT) • Threads from different programs in a single time slice • Only one thread in each clock cycle
Hyper-threadingCompared with SMT Hyper-threading SMT
Hyper-threadingCompare with SMP Logical Processors Hyper-threading SMP
Hyper-threadingImplementation • Replicated Resources • Partitioned Resources • Shared Resources • Problemsssssssssssssssssssssssssssssss
Hyper-threadingImplementation problems caused by sharing resources • Logical processors require same function units in Execution Core • One logical processor may monopolize shared resources • Not enough cache causes thrashing
The End Thank You !