A chip-multiprocessor architecture with speculative multithreading
- 1 January 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 48 (9) , 866-880
- https://doi.org/10.1109/12.795218
Abstract
Much emphasis is now placed on chip-multiprocessor (CMP) architectures for exploiting thread-level parallelism in an application. In such architectures, speculation may be employed to execute applications that cannot be parallelized statically. In this paper, we present an efficient CMP architecture for speculative execution of sequential binaries without source recompilation. We present the software support that enables identification of threads from a sequential binary. The hardware includes a memory disambiguation mechanism that enables the detection of interthread memory dependence violations during speculative execution. This hardware is different from past proposals in that it does not rely on a snoopy-based cache-coherence protocol. Instead, it uses an approach similar to a directory-based scheme. Furthermore, the architecture includes a simple and efficient hardware mechanism to enable register-level communication between on-chip processors. Evaluation of this software-hardware approach shows that it is quite effective in achieving high performance when running sequential binaries.Keywords
This publication has 21 references indexed in Scilit:
- Trace cache: a low latency approach to high bandwidth instruction fetchingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Data speculation support for a chip multiprocessorPublished by Association for Computing Machinery (ACM) ,1998
- Speculative multithreaded processorsPublished by Association for Computing Machinery (ACM) ,1998
- Hardware and software support for speculative execution of sequential binaries on a chip-multiprocessorPublished by Association for Computing Machinery (ACM) ,1998
- Will physical scalability sabotage performance gains?Computer, 1997
- A single-chip multiprocessorComputer, 1997
- Trace processors: moving to fourth-generation microarchitecturesComputer, 1997
- ARB: a hardware mechanism for dynamic reordering of memory referencesIEEE Transactions on Computers, 1996
- Parallel programming with PolarisComputer, 1996
- Multiscalar processorsPublished by Association for Computing Machinery (ACM) ,1995