Selective eager execution on the PolyPath architecture

  • Authors:
  • Artur Klauser;Abhijit Paithankar;Dirk Grunwald

  • Affiliations:
  • University of Colorado, Department of Computer Science, Boulder, CO;University of Colorado, Department of Computer Science, Boulder, CO;University of Colorado, Department of Computer Science, Boulder, CO

  • Venue:
  • Proceedings of the 25th annual international symposium on Computer architecture
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

Control-flow misprediction penalties are a major impediment to high performance in wide-issue superscalar processors. In this paper we present Selective Eager Execution (SEE), an execution model to overcome mis-speculation penalties by executing both paths after diffident branches. We present the micro-architecture of the PolyPath processor, which is an extension of an aggressive superscalar, out-of-order architecture. The PolyPath architecture uses a novel instruction tagging and register renaming mechanism to execute instructions from multiple paths simultaneously in the same processor pipeline, while retaining maximum resource availability for single-path code sequences.Results of our execution-driven, pipeline-level simulations show that SEE can improve performance by as much as 36% for the go benchmark, and an average of 14% on SPECint95, when compared to a normal superscalar, out-of-order, speculative execution, monopath processor. Moreover, our architectural model is both elegant and practical to implement, using a small amount of additional state and control logic.