Simultaneous multithreading: a platform for next-generation processors
Susan J. Eggers, Joel Emer, Henry M. Levy, J.L. Lo, Rebecca L. Stamm, Dean Michael Tullsen · IEEE Micro · 1997
Simultaneous multithreading is a processor design which consumes both thread-level and instruction-level parallelism. In SMT processors, thread-level parallelism can come from either multithreaded, parallel programs or individual, independent programs in a multiprogramming workload. Instruction-level parallelism comes from each single program or thread. Because it successfully (and simultaneously) exploits both types of parallelism, SMT processors use resources more efficiently, and both instruction throughput and speedups are greater.