Exploiting choice
- 1 May 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 24 (2) , 191-202
- https://doi.org/10.1145/232974.232993
Abstract
Simultaneous multithreading is a technique that permits multiple independent threads to issue multiple instructions each cycle. In previous work we demonstrated the performance potential of simultaneous multithreading, based on a somewhat idealized model. In this paper we show that the throughput gains from simultaneous multithreading can be achieved without extensive changes to a conventional wide-issue superscalar, either in hardware structures or sizes. We present an architecture for simultaneous multithreading that achieves three goals: (1) it minimizes the architectural impact on the conventional superscalar design, (2) it has minimal performance impact on a single thread executing alone, and (3) it achieves significant throughput gains when running multiple threads. Our simultaneous multithreading architecture achieves a throughput of 5.4 instructions per cycle, a 2.5-fold improvement over an unmodified superscalar with similar hardware resources. This speedup is enhanced by an advantage of multithreading previously unexploited in other architectures: the ability to favor for fetch and issue those threads most efficiently using the processor each cycle, thereby providing the "best" instructions to the processor.Keywords
This publication has 13 references indexed in Scilit:
- Multiscalar processorsPublished by Association for Computing Machinery (ACM) ,1995
- Simultaneous multithreadingPublished by Association for Computing Machinery (ACM) ,1995
- Optimization of instruction fetch mechanisms for high issue ratesPublished by Association for Computing Machinery (ACM) ,1995
- InterleavingPublished by Association for Computing Machinery (ACM) ,1994
- Performance estimation of multistreamed, superscalar processorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- The multiflow trace scheduling compilerThe Journal of Supercomputing, 1993
- Processor couplingPublished by Association for Computing Machinery (ACM) ,1992
- An elementary processor architecture with simultaneous instruction issuing from multiple threadsPublished by Association for Computing Machinery (ACM) ,1992
- The Tera computer systemPublished by Association for Computing Machinery (ACM) ,1990
- APRILPublished by Association for Computing Machinery (ACM) ,1990