Fetch Halting on Critical Load Misses

  • Authors:
  • Nikil Mehta;Brian Singer;R. Iris Bahar;Michael Leuchtenburg;Richard Weiss

  • Affiliations:
  • Brown University, Providence, RI;Brown University, Providence, RI;Brown University, Providence, RI;Hampshire College, Amherst, MA;Hampshire College, Amherst, MA

  • Venue:
  • ICCD '04 Proceedings of the IEEE International Conference on Computer Design
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the performance gap between processors and memory systems increases, the CPU spends more time stalled waiting for data from main memory. Critical long latency instructions, such as loads that miss to main memory and floating point arithmetic operations, are primarily responsible for these stalls. We present a technique, Fetch Halting, that suspends instruction fetching when the processor is stalled by a critical long latency instruction. This enables us to save power in one of the primary sources of power dissipation, the issue logic. By reducing the occupancy rates in the issue queue and reorder buffer, we save power by disabling a large number of unused queue entries. In order to characterize critical instructions, our approach combines software profiling and hardware monitoring techniques. Statistical profiling information obtained from sample runs is used to identify critical instructions while hardware cache-miss prediction is used to monitor these instructions. We show that, on average, Fetch Halting can reduce issue queue and reorder buffer occupancy rates by 17.2% and 23.4% respectively, with an average performance loss of only 4.6%.