Abstract for Tullsen, Eggers, Levy "Simultaneous Multithreading: Maximizing
On-Chip Parallelism"
This paper examines simultaneous multithreading, a technique
permitting several independent threads to issue instructions to
a superscalar's multiple
functional units in a single cycle.
We present several
models of simultaneous multithreading and compare them with
alternative organizations: a wide superscalar,
a fine-grain multithreaded processor, and single-chip, multiple-issue multiprocessing architectures.
Our results show that
both (single-threaded) superscalar and fine-grain multithreaded architectures
are limited in their ability to utilize the resources of a wide-issue processor.
Simultaneous multithreading has the potential to achieve 4 times the throughput
of a superscalar, and double that of fine-grain multithreading.
We evaluate
several cache configurations made possible by this type of organization
and evaluate tradeoffs between them.
We also show that simultaneous multithreading is an attractive alternative to
single-chip multiprocessors; simultaneous multithreaded
processors with a variety of organizations outperform corresponding
conventional
multiprocessors with similar execution resources.
While simultaneous multithreading has excellent potential to increase
processor utilization, it can add substantial complexity to the design.
We examine many of these complexities and evaluate alternative
organizations in the design space.