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.