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.