Speculative Multithreaded Processors

  • Authors:
  • Gurindar S. Sohi;Amir Roth

  • Affiliations:
  • -;-

  • Venue:
  • Computer
  • Year:
  • 2001

Quantified Score

Hi-index 4.10

Visualization

Abstract

Although novel functionality in the 1990s played a dominant role in processor design, the authors predict that implementation will dominate over functionality. Designing, debugging, and verifying monolithic designs that use hundreds of millions of transistors will be very difficult, and increasing wire delays will make intrachip communication and clock distribution costly. Consequently, some computer architects advocate shifting from high-performance to high-throughput processing, using distributed components to conquer design-process complexity and exploit communication locality to solve wire delays. Multithreaded architectures can extract parallelism from a sequential program via thread-level speculation, making it flexible to operate in multiple-program, high-throughput and single-program, high-performance environments. Speculation is the key factor. Multithreaded processors that support concurrent execution of multiple threads on a single chip may dominate some application uses in the next decade. Simultaneous multithreading uses monolithic designs with shared resources among the threads. Multithreading seeks to divide programs into data-independent parallel threads. Before speculative multithreading becomes commonplace in mainstream processors, technologies must be developed for conveying thread information from software to hardware. Likewise, algorithms for thread selection and management and hardware and software to support the simultaneous execution of speculative and nonspeculative threads must also be devised.