Control Flow Speculation in Multiscalar Processors

  • Authors:
  • Quinn Jacobson;Steve Bennett;Nikhil Sharma;James E. Smith

  • Affiliations:
  • -;-;-;-

  • Venue:
  • HPCA '97 Proceedings of the 3rd IEEE Symposium on High-Performance Computer Architecture
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Multiscalar architecture executes a single sequential program following multiple flows of control. In the Multiscalar hardware, a global sequencer, with help from the compiler, takes large steps through the program's control flow graph (CFG) speculatively, starting a new thread of control (task) at each step. This is inter-task control flow speculation. Within a task, traditional control flow speculation is used to extract instruction level parallelism. This is intra-task control flow speculation. This paper focuses on mechanisms to implement inter-task control flow speculation (task prediction) in a Multiscalar implementation. This form of speculation has fundamental differences from traditional branch prediction. We look in detail at the issues of prediction automata, history generation and target buffers. We present implementations in each of these areas that offer good accuracy, size and performance characteristics.