Load-Store Queue Management: an Energy-Efficient Design Based on a State-Filtering Mechanism.

  • Authors:
  • Fernando Castro;Daniel Chaver;Luis Pinuel;Manuel Prieto;Francisco Tirado;Michael Huang

  • Affiliations:
  • University Complutense of Madrid;University Complutense of Madrid;University Complutense of Madrid;University Complutense of Madrid;University Complutense of Madrid;University of Rochester

  • Venue:
  • ICCD '05 Proceedings of the 2005 International Conference on Computer Design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern microprocessors incorporate sophisticated techniques to allow early execution of loads without compromising program correctness. To do so, the structures that hold the memory instructions (Load and Store Queues) implement several complex mechanisms to dynamically resolve the memory-based dependences. Our main objective in this paper is to design an efficient LQ-SQ structure, which saves energy without sacrificing much performance. We propose a new design that divides the Load Queue into two structures, a conventional associative queue and a simpler FIFO queue that does not allow associative searching. A dependence predictor predicts whether a load instruction has a memory dependence on any in- flight store instruction. If so, the load is sent to the conventional associative queue. Otherwise, it is sent to the non-associative queue which can only detect dependence in an inexact and conservative way. In addition, the load will not check the store queue at execution time. These measures combined save energy consumption. We explore different predictor designs and runtime policies. Our experiments indicate that such a design can reduce the energy consumption in the Load-Store Queue by 35-50% with an insignificant performance penalty of about 1%. When the energy cost of the increased execution time is factored in, the processor still makes net energy savings of about 3-4%.