A performance counter architecture for computing accurate CPI components

  • Authors:
  • Stijn Eyerman;Lieven Eeckhout;Tejas Karkhanis;James E. Smith

  • Affiliations:
  • Ghent University;Ghent University;University of Wisconsin-Madison;University of Wisconsin-Madison

  • Venue:
  • Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A common way of representing processor performance is to use Cycles per Instruction (CPI) `stacks' which break performance into a baseline CPI plus a number of individual miss event CPI components. CPI stacks can be very helpful in gaining insight into the behavior of an application on a given microprocessor; consequently, they are widely used by software application developers and computer architects. However, computing CPI stacks on superscalar out-of-order processors is challenging because of various overlaps among execution and miss events (cache misses, TLB misses, and branch mispredictions).This paper shows that meaningful and accurate CPI stacks can be computed for superscalar out-of-order processors. Using interval analysis, a novel method for analyzing out-of-order processor performance, we gain understanding into the performance impact of the various miss events. Based on this understanding, we propose a novel way of architecting hardware performance counters for building accurate CPI stacks. The additional hardware for implementing these counters is limited and comparable to existing hardware performance counter architectures while being significantly more accurate than previous approaches.