Temporal multithreading

The distinguishing difference between the two forms is the maximum number of concurrent threads that can execute in any given pipeline stage in a given cycle.

As in the simultaneous process, the hardware must store a complete set of states per concurrent thread implemented.

The hardware must also preserve the illusion that a given thread has the processor resources to itself.

Fairness algorithms must be included in both types of multithreading situations to prevent one thread from dominating processor time and/or resources.

Temporal multithreading has an advantage over simultaneous multithreading in that it causes lower processor heat output; however, it allows only one thread to be executed at a time.