Lukas' Notes

computer-architecture

Definition

Fine-Grained Hardware Multi-Threading

Fine-grained hardware multi-threading switches between threads on every clock cycle, typically in round-robin order, skipping threads that are currently stalled.

Trade-off

  • Advantage: hides both short and long stalls. Instructions from other threads fill every cycle a thread would otherwise be idle.
  • Disadvantage: a thread that is ready to execute is delayed by instructions from other threads, slowing individual thread progress.

The per-cycle switch requires no pipeline drain and fill, so switching overhead is zero. This makes it more responsive than coarse-grained multi-threading.