Uniprocessor performance enhancement through adaptive clock frequency control

Uniprocessor designs have always assumed worst-case operating conditions to set the operating clock frequency and, hence, performance. However, much more performance can be obtained under typical operating conditions through experimentation, but such increased frequency operation is subject to the possibility of system failure and, hence, data loss/corruption. Further, mobile CPUs such as those in cell phones/Internet browsers do not adapt to their current surroundings (varying temperature conditions, etc.) so as to increase or decrease operating frequency to maximize performance and/or allow operation under extreme conditions. We present a digital hardware design technique realizing adaptive clock-frequency performance-enhancing digital hardware; the technique can be tuned to approximate performance maximization. The cost is low and the design is straightforward. Experiments are presented evaluating such a design in a pipelined uniprocessor realized in a field programmable gate array (FPGA).

[1]  Tadahiro Kuroda,et al.  Variable supply-voltage scheme for low-power high-speed CMOS digital design , 1998, IEEE J. Solid State Circuits.

[2]  Daniel Marcos Chapiro,et al.  Globally-asynchronous locally-synchronous systems , 1985 .

[3]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[4]  Ivan E. Sutherland,et al.  Micropipelines , 1989, Commun. ACM.

[5]  Chris J. Myers,et al.  Interfacing synchronous and asynchronous modules within a high-speed pipeline , 1997, Proceedings Seventeenth Conference on Advanced Research in VLSI.

[6]  R.W. Brodersen,et al.  A dynamic voltage scaled microprocessor system , 2000, IEEE Journal of Solid-State Circuits.

[7]  A. Inoue,et al.  A 34word x 64b 10R/6W write-through self-timed dual-supply-voltage register file , 2002 .

[8]  S B Furber Asynchronous Logic , .

[9]  Kaushik Roy,et al.  Low power adder with adaptive supply voltage , 2003, Proceedings 21st International Conference on Computer Design.

[10]  Yvon Savaria,et al.  Optimal design of synchronous circuits using software pipelining techniques , 2001, TODE.

[11]  Michael J. Flynn,et al.  The SNAP project: design of floating point arithmetic units , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.

[12]  Stephen B. Furber The return of asynchronous logic , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[13]  Paul I. Pénzes,et al.  The design of an asynchronous MIPS R3000 microprocessor , 1997, Proceedings Seventeenth Conference on Advanced Research in VLSI.

[14]  Augustus K. Uht Achieving Typical Delays in Synchronous Systems via Timing Error Toleration , 2000 .

[15]  Steven M. Burns,et al.  The design of an asynchronous microprocessor , 1989, CARN.

[16]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

[17]  Augustus K. Uht Going beyond worst-case specs with TEAtime , 2004, Computer.

[18]  A.P. Chandrakasan,et al.  A 175 mV multiply-accumulate unit using an adaptive supply voltage and body bias (ASB) architecture , 2002, 2002 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.02CH37315).

[19]  Alessandro Trifiletti,et al.  A low-power microcontroller with on-chip self-tuning digital clock-generator for variable-load applications , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[20]  Arif Merchant,et al.  Analysis of a Control Mechanism for a Variable Speed Processor , 1996, IEEE Trans. Computers.

[21]  M.J. Flynn,et al.  Deep submicron microprocessor design issues , 1999, IEEE Micro.

[22]  Alex Kondratyev,et al.  Design of Asynchronous Circuits Using Synchronous CAD Tools , 2002, IEEE Des. Test Comput..

[23]  Ran Ginosar,et al.  Adaptive synchronization , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).