Multithreading

1. Instruction Issue

2. Simultaneous Multithreading (SMT)

In an SMT pipeline, there would be program counters and register decode maps, increasing overall utilisation. However, this means:

SMT threads exploit memory-system parallelism by allowing multiple threads to issue memory operations simultaneously. This is called latency hiding, overlapping data access with compute. However, increasing SMT threads has overhead due to handling more registers (register renaming), more complex scheduling, and increased contention.

On Intel, this is called Hyper-Threading.

Back to Home