Fetch Gating Control through Speculative Instruction Window Weighting

  • Hans Vandierendonck
  • André Seznec
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5470)

Abstract

In a dynamic reordering superscalar processor, the front-end fetches instructions and places them in the issue queue. Instructions are then issued by the back-end execution core. Till recently, the front-end was designed to maximize performance without considering energy consumption. The front-end fetches instructions as fast as it can until it is stalled by a filled issue queue or some other blocking structure. This approach wastes energy: (i) speculative execution causes many wrong-path instructions to be fetched and executed, and (ii) back-end execution rate is usually less than its peak rate, but front-end structures are dimensioned to sustained peak performance. Dynamically reducing the front-end instruction rate and the active size of front-end structure (e.g. issue queue) is a required performance-energy trade-off. Techniques proposed in the literature attack only one of these effects.

In previous work, we have proposed Speculative Instruction Window Weighting (SIWW) [21], a fetch gating technique that allows to address both fetch gating and instruction issue queue dynamic sizing. SIWW computes a global weight on the set of inflight instructions. This weight depends on the number and types of inflight instructions (non-branches, high confidence or low confidence branches, ...). The front-end instruction rate can be continuously adapted based on this weight. This paper extends the analysis of SIWW performed in previous work. It shows that SIWW performs better than previously proposed fetch gating techniques and that SIWW allows to dynamically adapt the size of the active instruction queue.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Akkary, H., Srinivasan, S.T., Koltur, R., Patil, Y., Refaai, W.: Perceptron-based branch confidence estimation. In: HPCA-X: Proceedings of the 10th international symposium on high-performance computer architecture, pp. 265–275 (February 2004)Google Scholar
  2. 2.
    Aragón, J.L., González, J., González, A.: Power-aware control speculation through selective throttling. In: HPCA-9: Proceedings of the 9th international symposium on high-performance computer architecture, pp. 103–112 (February 2003)Google Scholar
  3. 3.
    Baniasadi, A., Moshovos, A.: Instruction flow-based front-end throttling for power-aware high-performance processors. In: ISLPED 2001: Proceedings of the 2001 international symposium on low power electronics and design, pp. 16–21 (August 2001)Google Scholar
  4. 4.
    Buyuktosunoglu, A., Karkhanis, T., Albonesi, D.H., Bose, P.: Energy efficient co-adaptive instruction fetch and issue. In: ISCA 2003: Proceedings of the 30th Annual International Symposium on Computer Architecture, pp. 147–156 (June 2003)Google Scholar
  5. 5.
    Buyuktosunoglu, A., Schuster, S.E., Brooks, M.D., Bose, P., Cook, P.W., Albonesi, D.H.: A circuit level implementation of an adaptive issue queue for power-aware microprocessors. In: Proceedings of the 11th Great Lakes Symposium on VLSI, pp. 73–78 (March 2001)Google Scholar
  6. 6.
    Driesen, K., Holzle, U.: The cascaded predictor: Economical and adaptive branch target prediction. In: Proceeding of the 30th Symposium on Microarchitecture (December 1998)Google Scholar
  7. 7.
    Folegnani, D., González, A.: Energy-effective issue logic. In: Proceedings of the 28th Annual International Symposium on Computer Architecture, pp. 230–239 (June 2001)Google Scholar
  8. 8.
    Gao, H., Zhou, H.: Adaptive information processing: An effective way to improve perceptron predictors. 1st Journal of Instruction-Level Parallelism Championship Branch Prediction, 4 pages (December 2004)Google Scholar
  9. 9.
    Grunwald, D., Klauser, A., Manne, S., Pleszkun, A.: Confidence estimation for speculation control. In: ISCA 1998: Proceedings of the 25th annual international symposium on Computer architecture, pp. 122–131 (June 1998)Google Scholar
  10. 10.
    Hinton, G., Sager, D., Upton, M., Boggs, D., Carmean, D., Kyker, A., Roussel, P.: The microarchitecture of the Pentium 4 processor. Intel Technology Journal 5(1) (2001)Google Scholar
  11. 11.
    Jacobsen, E., Rotenberg, E., Smith, J.: Assigning confidence to conditional branch predictions. In: MICRO 29: Proceedings of the 29th Annual ACM/IEEE International Conference on Microarchitecture, pp. 142–152 (December 1996)Google Scholar
  12. 12.
    Jiménez, D.: Piecewise linear branch prediction. In: ISCA 2005: Proceedings of the 32nd Annual International Symposium on Computer Architecture, pp. 382–393 (June 2005)Google Scholar
  13. 13.
    Jiménez, D.A., Lin, C.: Composite confidence estimators for enhanced speculation control. Technical Report TR-02-14, Dept. of Computer Sciences, The University of Texas at Austin (January 2002)Google Scholar
  14. 14.
    Karkhanis, T., Smith, J., Bose, P.: Saving energy with just in time instruction delivery. In: Intl. Symposium on Low Power Electronics and Design, pp. 178–183 (August 2002)Google Scholar
  15. 15.
    Lee, C.J., Kim, H., Mutlu, O., Patt, Y.: A performance-aware speculation control technique using wrong path usefulness prediction. Technical Report TR-HPS-2006-010, The University of Texas at Austin (December 2006)Google Scholar
  16. 16.
    Luo, K., Franklin, M., Mukherjee, S.S., Seznec, A.: Boosting SMT performance by speculation control. In: Proceedings of the 15th International Parallel & Distributed Processing Symposium (IPDPS 2001) (April 2001)Google Scholar
  17. 17.
    Manne, S., Klauser, A., Grunwald, D.: Pipeline gating: speculation control for energy reduction. In: ISCA 1998: Proceedings of the 25th Annual International Symposium on Computer Architecture, pp. 132–141 (June 1998)Google Scholar
  18. 18.
    Parikh, D., Skadron, K., Zhang, Y., Barcella, M., Stan, M.R.: Power issues related to branch prediction. In: HPCA-8: Proceedings of the 8th International Symposium on High-Performance Computer Architecture, pp. 233–246 (February 2002)Google Scholar
  19. 19.
    Seznec, A.: Analysis of the O-GEometric History Length branch predictor. In: ISCA 2005: Proceedings of the 32nd Annual International Symposium on Computer Architecture, pp. 394–405 (June 2005)Google Scholar
  20. 20.
    Seznec, A., Michaud, P.: A case for (partially) TAgged GEometric history length branch prediction. Journal of Instruction-Level Parallelism (February 2006)Google Scholar
  21. 21.
    Vandierendonck, H., Seznec, A.: Fetch gating control through speculative instruction window weighting. In: De Bosschere, K., Kaeli, D., Stenström, P., Whalley, D., Ungerer, T. (eds.) HiPEAC 2007. LNCS, vol. 4367, pp. 120–135. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Hans Vandierendonck
    • 1
  • André Seznec
    • 2
  1. 1.Department of Electronics and Information Systems/HiPEACGhent UniversityGentBelgium
  2. 2.IRISA/INRIA/HiPEAC Campus de BeaulieuRennes CedexFrance

Personalised recommendations