Skip to Main Content
Summary form only given. Most of the thread-level parallelism (TLP) being successfully exploited so far has been primarily from scientific application programs, in particular, floating-point programs. General-purpose applications, especially those written in C or C++, such as the benchmarks in SPECint2000, have primarily been exploiting only instruction-level parallelism (ILP). A lot of research has been done recently on multiprocessors-on-a-chip (often called "multithreaded processors") because VLSI technology today allows multiple processor cores to be implemented on a single chip. An interesting question has arisen as to how much TLP and ILP could be exploited in general-purpose application programs so such multithreaded processors could become the main work horses of future computer systems. In this paper, we discuss the program characteristics which make it so difficult to exploit TLP in these general-purpose application programs, and present several machine models and simulation techniques for studying how much TLP and ILP could be exploited with these models. We also present some measurements on program characteristics important to the design of such multithreaded processors and their compilers.