This paper presents a novel hardware-based approach for identifying,
profiling, and monitoring hot spots in order to support runtime
optimization of general-purpose programs. The proposed approach
consists of a set of tightly coupled hardware tables and control logic
modules that are placed in the retirement stage of a processor
pipeline removed from the critical path. The features of the proposed
design include rapid detection of program hot spots after changes in
execution behavior, runtime-tunable selection criteria for hot spot
detection, and negligible overhead during application execution.
Experiments using several SPEC95 benchmarks, as well as several large
WindowsNT applications, demonstrate the promise of the proposed design.