Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 141 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Power Aware Microprocessors.

Similar presentations


Presentation on theme: "Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 141 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Power Aware Microprocessors."— Presentation transcript:

1 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 141 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Power Aware Microprocessors Vishwani D. Agrawal James J. Danaher Professor Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 vagrawal@eng.auburn.edu http://www.eng.auburn.edu/~vagrawal/COURSE/E6270_Spr11/course.html

2 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 142 SIA Roadmap for Processors (1999) Year199920022005200820112014 Feature size (nm) 180130100705035 Logic transistors/cm 2 6.2M18M39M84M180M390M Clock (GHz) 1.252.13.56.010.016.9 Chip size (mm 2 ) 340430520620750900 Power supply (V) 1.81.51.20.90.60.5 High-perf. Power (W) 90130160170175183 Source: http://www.semichips.orghttp://www.semichips.org Untrue predictions.

3 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 143 Power Reduction in Processors Hardware methods: Hardware methods: Voltage reduction for dynamic power Voltage reduction for dynamic power Dual-threshold devices for leakage reduction Dual-threshold devices for leakage reduction Clock gating, frequency reduction Clock gating, frequency reduction Sleep mode Sleep mode Architecture: Architecture: Instruction set Instruction set hardware organization hardware organization Software methods Software methods

4 Performance Criteria Throughput – computations per unit time. Throughput – computations per unit time. Performance is inverse of time – increasing CPU time indicates lower performance. Performance is inverse of time – increasing CPU time indicates lower performance. Power – computations per watt. Power – computations per watt. Energy efficiency – performance/joule. Energy efficiency – performance/joule. Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 144

5 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 145 SPEC CPU2006 Benchmarks Standard Performance Evaluation Corporation (SPEC) Standard Performance Evaluation Corporation (SPEC) http://www.spec.org http://www.spec.org http://www.spec.org Twelve integer and 17 floating point programs, CINT2006 and CFP2006. Twelve integer and 17 floating point programs, CINT2006 and CFP2006. Each program run time is normalized to obtain a SPEC ratio with respect to the run time of Sun Ultra Enterprise 2 system with a 296 MHz UltraSPARC II processor. Each program run time is normalized to obtain a SPEC ratio with respect to the run time of Sun Ultra Enterprise 2 system with a 296 MHz UltraSPARC II processor. It takes about 12 days to run all benchmarks on reference system. It takes about 12 days to run all benchmarks on reference system. CINT2006 and CFP2006 metrics are the geometric means of SPEC ratios: CINT2006 and CFP2006 metrics are the geometric means of SPEC ratios: Peak metric – each program is individually optimized (aggressive compilation). Peak metric – each program is individually optimized (aggressive compilation). Base metric – common optimization for all programs. Base metric – common optimization for all programs.

6 SPEC CINT2006 Results http://www.spec.org/cpu2006/results/cint2006.html http://www.spec.org/cpu2006/results/cint2006.html http://www.spec.org/cpu2006/results/cint2006.html Dell Inc., PowerEdge R610 Dell Inc., PowerEdge R610 CPU: Intel Xeon X5670, 2.93 GHz CPU: Intel Xeon X5670, 2.93 GHz Number of chips 2, cores 12, threads/core 2 Number of chips 2, cores 12, threads/core 2 Performance metric 36.6 base, 39.4 peak Performance metric 36.6 base, 39.4 peak Dell Inc. PowerEdge M905 Dell Inc. PowerEdge M905 CPU: AMD Opteron 8381 HE, 2.50 GHz CPU: AMD Opteron 8381 HE, 2.50 GHz Number of chips 4, cores 16, threads/core 1 Number of chips 4, cores 16, threads/core 1 Performance metric 15.8 base, 19.1 peak Performance metric 15.8 base, 19.1 peak Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 146

7 SPEC CFP2006 Results http://www.spec.org/cpu2006/results/cfp2006.html http://www.spec.org/cpu2006/results/cfp2006.html http://www.spec.org/cpu2006/results/cfp2006.html Dell Inc., PowerEdge R610 Dell Inc., PowerEdge R610 CPU: Intel Xeon X5670, 2.93 GHz CPU: Intel Xeon X5670, 2.93 GHz Number of chips 2, cores 12, threads/core 2 Number of chips 2, cores 12, threads/core 2 Performance metric 42.5 base, 45.8 peak Performance metric 42.5 base, 45.8 peak Dell Inc. PowerEdge M905 Dell Inc. PowerEdge M905 CPU: AMD Opteron 8381 HE, 2.50 GHz CPU: AMD Opteron 8381 HE, 2.50 GHz Number of chips 4, cores 16, threads/core 1 Number of chips 4, cores 16, threads/core 1 Performance metric 17.4 base, 21.5 peak Performance metric 17.4 base, 21.5 peak Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 147

8 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 148 Other Benchmarks LINPACK is numerically intensive floating point linear system (Ax = b) program used for benchmarking supercomputers. LINPACK is numerically intensive floating point linear system (Ax = b) program used for benchmarking supercomputers. SPECPOWER_ssj2008 measures power and performance of a computer system. SPECPOWER_ssj2008 measures power and performance of a computer system. The initial benchmark addresses the performance of server-side Java; additional workloads are planned. The initial benchmark addresses the performance of server-side Java; additional workloads are planned. http://www.spec.org/benchmarks.html#power http://www.spec.org/benchmarks.html#power http://www.spec.org/benchmarks.html#power

9 Second Quarter 2010 SPECpower_ssj2008 Results http://www.spec.org/power_ssj2008/results/res2010q2/ http://www.spec.org/power_ssj2008/results/res2010q2/ http://www.spec.org/power_ssj2008/results/res2010q2/ Apr 7, 2010: Hewlett-Packard ProLiant DL385 G7 Apr 7, 2010: Hewlett-Packard ProLiant DL385 G7 CPU: AMD Opteron 6174, 2.2GHz CPU: AMD Opteron 6174, 2.2GHz Number of chips 2, cores 12, threads/core 2 Number of chips 2, cores 12, threads/core 2 Total memory 16GB Total memory 16GB ssj operations @ 100% 888,819 ssj operations @ 100% 888,819 Average power @ 100% 271 W Average power @ 100% 271 W Average power @ active idle 101 W Average power @ active idle 101 W Overall ssj operations per watt 2,355 Overall ssj operations per watt 2,355 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 149

10 Second Quarter 2010 SPECpower_ssj2008 Results http://www.spec.org/power_ssj2008/results/res2010q2/ http://www.spec.org/power_ssj2008/results/res2010q2/ http://www.spec.org/power_ssj2008/results/res2010q2/ May 19, 2010: Dell Inc., PowerEdge R610 May 19, 2010: Dell Inc., PowerEdge R610 CPU: Intel Xeon X5670, 2.93 GHz CPU: Intel Xeon X5670, 2.93 GHz Number of chips 2, cores 12, threads 2 Number of chips 2, cores 12, threads 2 Total memory 12GB Total memory 12GB ssj operations @ 100% 914,076 ssj operations @ 100% 914,076 Average power @ 100% 244 W Average power @ 100% 244 W Average power @ active idle 62.3 W Average power @ active idle 62.3 W Overall ssj operations per watt 2,938 Overall ssj operations per watt 2,938 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1410

11 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1411 Energy SPEC Benchmarks Energy efficiency mode: Besides the execution time, energy efficiency of SPEC benchmark programs is also measured. Energy efficiency of a benchmark program is given by: Energy efficiency mode: Besides the execution time, energy efficiency of SPEC benchmark programs is also measured. Energy efficiency of a benchmark program is given by: 1/(Execution time) Energy efficiency = ──────────── joules consumed joules consumed D. A. Patterson and J. L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, 4 th Edition, Morgan Kaufmann Publishers (Elsevier), 2009,

12 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1412 Energy Efficiency Efficiency averaged on n benchmark programs: Efficiency averaged on n benchmark programs: n n Efficiency= ( Π Efficiency i ) 1/n i=1 i=1 where Efficiency i is the efficiency for program i. Relative efficiency: Relative efficiency: Efficiency of a computer Efficiency of a computer Relative efficiency = ───────────────── Eff. of reference computer Eff. of reference computer

13 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1413 SPEC2000 Relative Energy Efficiency Always max. clock Laptop adaptive clk. Min. power min. clock

14 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1414 Voltage Scaling Dynamic: Reduce voltage and frequency during idle or low activity periods. Dynamic: Reduce voltage and frequency during idle or low activity periods. Static: Clustered voltage scaling Static: Clustered voltage scaling Logic on non-critical paths given lower voltage. Logic on non-critical paths given lower voltage. 47% power reduction with 10% area increase reported. 47% power reduction with 10% area increase reported. M. Igarashi et al., “Clustered Voltage Scaling Techniques for Low-Power Design,” Proc. IEEE Symp. Low Power Design, 1997. M. Igarashi et al., “Clustered Voltage Scaling Techniques for Low-Power Design,” Proc. IEEE Symp. Low Power Design, 1997.

15 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1415 Processor Utilization Throughput = Operations / second Throughput Time Compute-intensive processes System idle Low throughput (background) processes Maximum throughput

16 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1416 Examples of Processes Compute-intensive: spreadsheet, spelling check, video decoding, scientific computing. Compute-intensive: spreadsheet, spelling check, video decoding, scientific computing. Low throughput: data entry, screen updates, low bandwidth I/O data transfer. Low throughput: data entry, screen updates, low bandwidth I/O data transfer. Idle: no computation, no expected output. Idle: no computation, no expected output.

17 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1417 Effects of Voltage Reduction Voltage reduction increases delay, decreases throughput: Voltage reduction increases delay, decreases throughput: Slow reduction in throughput at first Slow reduction in throughput at first Rapid reduction in throughput for V ≤ V Rapid reduction in throughput for V DD ≤ V th Time per operation (TPO) increases Time per operation (TPO) increases Voltage reduction continues to reduce power consumption: Voltage reduction continues to reduce power consumption: Energy per operation (EPO) = Power × TPO Energy per operation (EPO) = Power × TPO

18 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1418 Energy per Operation (EPO) V / V V DD / V th 1234512345 Power TPO EPO 1.0 0.5 0.0

19 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1419 Dynamic Voltage and Clock Throughput Time spent in: Battery life Fast mode Slow mode Idle mode Always full speed 10%0%90% 1 hr Sometimes full speed 1%90%9% 5.3 hrs Rarely full speed 0.1%99%0.9% 9.2 hrs T. D. Burd and R. W. Brodersen, Energy Efficient Microprocessors, Springer, 2002, pp. 35-36.

20 Example: Find Minimum Energy Mode Processor data (rated operation): Processor data (rated operation): 2 GHz clock 2 GHz clock 1.5 volt supply voltage 1.5 volt supply voltage 0.5 volt threshold voltage 0.5 volt threshold voltage Power consumption Power consumption 50 watts dynamic power 50 watts dynamic power 50 watts static power 50 watts static power Maximum clock frequency for V volt supply Maximum clock frequency for V volt supply fα(V – V TH )/V Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1420

21 Example Cont. Dynamic power: Dynamic power: P d = CV 2 f = C(1.5) 2 × 2 × 10 9 = 50W C = 11.11 nF, capacitance switching/cycle P d = 11.11 V 2 f Dynamic energy per cycle: Dynamic energy per cycle: E d = P d /f = 11.11 V 2 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1421

22 Example Cont. Clock frequency: Clock frequency: f = k (V – V TH )/V = k (1.5 – 0.5)/1.5 = 2 GHz k = 3 GHz, a proportionality constant f = 3(V – 0.5)/VGHz Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1422

23 Example Cont. Static power: Static power: P s = k’ V 2 = k’ (1.5) 2 = 50W k’ = 22.22 mho, total leakage conductance P s = 22.22 V 2 Static energy per cycle: Static energy per cycle: E s = P s /f = 22.22 V 3 /[3(V – 0.5)] = 7.41 V 3 /(V – 0.5) Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1423

24 Example Cont. Total energy per cycle: Total energy per cycle: E = E d + E s = 11.11 V 2 + 7.41 V 3 /(V – 0.5) To minimize E, ∂E/∂V = 0, or To minimize E, ∂E/∂V = 0, or 5V 2 – 4.6V + 0.75 = 0 Solutions of quadratic equation: Solutions of quadratic equation: V = 0.679 volt, 0.221 volt Discard second solution, which is lower than the threshold voltage of 0.5 volt. Discard second solution, which is lower than the threshold voltage of 0.5 volt. Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1424

25 Example: Result Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1425 Rated mode Low energy mode Reduction (%) Voltage1.5 V0.679 V54.7% Clock frequency2 GHz791 MHz60% Dynamic energy/cycle25.00 nJ5.12 nJ79.52% Static energy/cycle25.00 nJ12.96 nJ48.16% Total energy/cycle50.0 nJ18.08 nJ63.84% Dynamic power50.0 W4.05 W91.90% Static power50.0 W10.25 W79.50% Total power100.0 W14.20 W85.80%

26 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1426 Problem of Process Variation in Nanometer Technologies Lower V th V th Higher V th Number of chips Power specification Clock specification From a presentation: Power Reduction using LongRun2 in Transmeta’s Efficon Processor, by D. Ditzel May 17, 2006 Yield loss due to high leakage Yield loss due to slow speed Higher voltage operation Lower voltage operation Nominal voltage

27 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1427 Pipeline Gating A pipeline processor uses speculative execution. A pipeline processor uses speculative execution. Incorrect branch prediction results in pipeline stalls and wasted energy. Incorrect branch prediction results in pipeline stalls and wasted energy. Idea: Stop fetching instructions if a branch hazard is expected: Idea: Stop fetching instructions if a branch hazard is expected: If the count (M) of incorrect predictions exceeds a pre- specified number (N), then suspend fetching instruction for some k cycles. If the count (M) of incorrect predictions exceeds a pre- specified number (N), then suspend fetching instruction for some k cycles. Ref.: S. Manne, A. Klauser and D. Grunwald, “Pipeline Gating: Speculation Control for Energy Reduction,” Proc. 25 th Annual International Symp. Computer Architecture, June 1998. Ref.: S. Manne, A. Klauser and D. Grunwald, “Pipeline Gating: Speculation Control for Energy Reduction,” Proc. 25 th Annual International Symp. Computer Architecture, June 1998.

28 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1428 Slack Scheduling Application: Superscalar, out-of-order execution: Application: Superscalar, out-of-order execution: An instruction is executed as soon as the required data and resources become available. An instruction is executed as soon as the required data and resources become available. A commit unit reorders the results. A commit unit reorders the results. Delay the completion of instructions whose result is not immediately needed. Delay the completion of instructions whose result is not immediately needed. Example of RISC instructions: Example of RISC instructions: addr0, r1, r2;(A) addr0, r1, r2;(A) sub r3, r4, r5;(B) sub r3, r4, r5;(B) and r9, r1, r9;(C) and r9, r1, r9;(C) or r5, r9, r10;(D) or r5, r9, r10;(D) xor r2, r10, r11;(E) xor r2, r10, r11;(E) J. Casmira and D. Grunwald, “Dynamic Instruction Scheduling Slack,” Proc. ACM Kool Chips Workshop, Dec. 2000.

29 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1429 Slack Scheduling Example Slack scheduling A BC D E Standard scheduling ABC D E

30 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1430 Slack Scheduling Slack bit Low-power execution units Re-order buffer Scheduling logic

31 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1431 Clock Distribution H-Tree clock Fanout, λ = 4 Tree depth, s = log λ N No. of flip-flops = N

32 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1432 Clock Power P clk = C L V DD 2 f + C L V DD 2 f / λ + C L V DD 2 f / λ 2 +... stages – 1 1 = C L V DD 2 f Σ─ n = 0λ n where C L =total load capacitance of N flip-flops λ =constant fanout at each stage in distribution network Clock consumes about 40% of total processor power, because (1)Clock is always active (2)Makes two transitions per cycle, (α = 2) (3)Clock gating is useful; inhibit clock to unused blocks

33 Properties of H-Tree Balanced clock skew. Balanced clock skew. Small delay and power consumption. Small delay and power consumption. Requires fine-tuning for complex layout. Requires fine-tuning for complex layout. Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1433

34 Clock Power and Delay Unit size buffer or inverter delay = d Unit size buffer or inverter delay = d Total dynamic power supplied to N flip- flops, P = C L V DD 2 f Total dynamic power supplied to N flip- flops, P = C L V DD 2 f Total power consumption of clock network: Total power consumption of clock network: Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1434 Flip-flps, NClock power per flip-flopClock delay 1Pd 4P4d 161.25P8d 641.3125P12d 1281.327125P16d

35 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1435 Clock Network Examples Alpha 21064 Alpha 21164 Alpha 21264 Technology 0.75μ CMOS 0.5μ CMOS 0.35μ CMOS Frequency (MHz) 200300600 Total capacitance 12.5nF Clock gating used. Total power 80 - 110W Clock load 3.25nF3.75nF Clock power 40% 40% (20W) Max. clock skew 200ps (<10%) 90ps D. W. Bailey and B. J. Benschneider, “Clocking Design and Analysis for a 600-MHz Alpha Microprocessor,” IEEE J. Solid-State Circuits, vol. 33, no. 11, pp. 1627-1633, Nov. 1998.

36 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1436 Power Reduction Example Alpha 21064: 200MHz @ 3.45V, power dissipation = Alpha 21064: 200MHz @ 3.45V, power dissipation = 26W Reduce voltage to 1.5V, power (5.3x) = Reduce voltage to 1.5V, power (5.3x) = 4.9W Eliminate FP, power (3x) = Eliminate FP, power (3x) = 1.6W Scale 0.75μ → 0.35μ, power (2x) = Scale 0.75μ → 0.35μ, power (2x) = 0.8W Reduce clock load, power (1.3x) = Reduce clock load, power (1.3x) = 0.6W Reduce frequency 200 →160MHz, power (1.25x) = Reduce frequency 200 →160MHz, power (1.25x) = 0.5W J. Montanaro et al., “A 160-MHz, 32-b, 0.5-W CMOS RISC Microprocessor,” IEEE J. Solid-State Circuits, vol. 31, no. 11, pp. 1703-1714, Nov. 1996. J. Montanaro et al., “A 160-MHz, 32-b, 0.5-W CMOS RISC Microprocessor,” IEEE J. Solid-State Circuits, vol. 31, no. 11, pp. 1703-1714, Nov. 1996.

37 Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 1437 For More on Microprocessors T. D. Burd and R. W. Brodersen, Energy Efficient Microprocessor Design, Springer, 2002. T. D. Burd and R. W. Brodersen, Energy Efficient Microprocessor Design, Springer, 2002. R. Graybill and R. Melhem, Power Aware Computing, New York: Plenum Publishers, 2002. R. Graybill and R. Melhem, Power Aware Computing, New York: Plenum Publishers, 2002.


Download ppt "Copyright Agrawal, 2007ELEC5270/6270 Spring 11, Lecture 141 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Power Aware Microprocessors."

Similar presentations


Ads by Google