2006 · 189 citations · 17 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureHardware-software Co-designCache Behavior AnalysisInstruction Set ArchitectureMicroarchitecture DesignProcessor MicroarchitectureSuperscalar ProcessingCache AnalysisCounter ArchitectureHardware Performance CountersHardware Performance ModelingInterval AnalysisMicroarchitectural Performance ModelingProcessor ArchitectureSuperscalar Microarchitecture
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.
17
Jennifer M. Anderson, Lance M. Berc, Jeffrey A. Dean et al. · ACM Transactions on Computer Systems · 1997 · 483 citations · Full text
Performance characterization of a Quad Pentium Pro SMP using OLTP workloads
Kimberly Keeton, David A. Patterson, Yong Qiang He et al. · 1998 · 233 citations