Adaptive front-end throttling for superscalar processors

To achieve high performance, conventional superscalar processors maintain maximum front-end instruction delivery bandwidth, which is often suboptimal when program behavior and priority metrics change. This paper proposes an adaptive front-end throttling technique that dynamically adjusts the front-end instruction delivery bandwidth as program behavior changes to optimize a target metric, being performance, energy, or an arbitrary trade-off between them. Circuit-level synthesis (45nm FreePDK) and simulation show that adaptive front-end throttling incurs negligible overhead but achieves average improvements of 7%, 28%, 28%, and 32% for performance, energy, energy-delay product, and energy-delay-squared product, respectively, over all benchmarks on an 8-way superscalar processor.

[1]  José González,et al.  Power-aware control speculation through selective throttling , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[2]  Paul D. Franzon,et al.  FreePDK: An Open-Source Variation-Aware Design Kit , 2007, 2007 IEEE International Conference on Microelectronic Systems Education (MSE'07).

[3]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[4]  R. Iris Bahar,et al.  Fetch Halting on critical load misses , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[5]  Andreas Moshovos,et al.  Instruction flow-based front-end throttling for power-aware high-performance processors , 2001, ISLPED '01.

[6]  Antonio González,et al.  Energy-effective issue logic , 2001, ISCA 2001.

[7]  Stefanos Kaxiras,et al.  MLP-Aware Instruction Queue Resizing: The Key to Power-Efficient Performance , 2010, ARCS.

[8]  James E. Smith,et al.  Saving energy with just in time instruction delivery , 2002, ISLPED '02.

[9]  Efraim Rotem,et al.  Power-Management Architecture of the Intel Microarchitecture Code-Named Sandy Bridge , 2012, IEEE Micro.

[10]  Jung Ho Ahn,et al.  McPAT: An integrated power, area, and timing modeling framework for multicore and manycore architectures , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[11]  Brad Calder,et al.  Automatically characterizing large scale program behavior , 2002, ASPLOS X.

[12]  Peter A. Dinda,et al.  User- and process-driven dynamic voltage and frequency scaling , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[13]  Srilatha Manne,et al.  Power and energy reduction via pipeline balancing , 2001, ISCA 2001.

[14]  Dirk Grunwald,et al.  Pipeline gating: speculation control for energy reduction , 1998, ISCA.

[15]  Gürhan Küçük,et al.  Dynamic resizing of superscalar datapath components for energy efficiency , 2006, IEEE Transactions on Computers.

[16]  Tejas Karkhanis,et al.  Energy efficient co-adaptive instruction fetch and issue , 2003, ISCA '03.

[17]  Eric Rotenberg,et al.  FabScalar: Composing synthesizable RTL designs of arbitrary cores within a canonical superscalar template , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[18]  Avesta Sasan,et al.  Reducing Power in All Major CAM and SRAM-Based Processor Units via Centralized, Dynamic Resource Size Management , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.