15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 17.5<br />

that require continual operation (e.g., bus interface, VCO, interrupt controller, etc.) can be minimized. The<br />

processor can quickly ramp up to maximum throughput upon receiving an incoming interrupt.<br />

Essential Components for DVS<br />

A typical processor is powered by a voltage regulator, which outputs a fixed voltage. However, the<br />

implementation of DVS requires a voltage converter that can dynamically adjust its output voltage when<br />

requested by the processor to do so. Programmable voltage regulators can be used, but they are not<br />

designed to continuously vary their output voltage and degrade the overall system energy efficiency. A<br />

custom voltage converter optimized for DVS is described further in the section on “A Custom DVS Processor<br />

System.”<br />

Another essential component is a mechanism to vary fCLK<br />

with VDD.<br />

One approach is to utilize a lookup<br />

table, which the processor can use to map VDD<br />

values to fCLK<br />

values, and set the on-chip phase-locked<br />

loop (PLL) accordingly. A better approach, which eliminates the need for a PLL, is a ring oscillator<br />

matched to the processor’s critical paths, such that as the critical paths vary over VDD,<br />

so too will fCLK.<br />

The processor itself must be designed to operate over the full range of VDD,<br />

which places restrictions<br />

on the types of circuits that can be used and impacts processor verification. Additionally, the processor<br />

must be able to properly operate while VDD<br />

is varying. These issues are described further in the “Design<br />

Issues” section.<br />

The last essential component is a DVS-aware operating system. The hardware itself cannot distinguish<br />

whether the currently executing instruction is part of a compute-intensive task or a nonspeed critical<br />

task. The application programs cannot set the processor speed because they are unaware of other<br />

programs running in a multi-tasking system. Thus, the operating system must control processor speed,<br />

as it is aware of the computational requirements of all the active tasks. Applications may provide useful<br />

information regarding their load requirements, but should not be given direct control of the processor<br />

speed.<br />

Fundamental Trade-Off<br />

Processors generally operate at a fixed voltage and require a regulator to tightly control voltage supply<br />

variation. The processor produces large current spikes for which the regulator’s output capacitor supplies<br />

the charge. Hence, a large output capacitor on the regulator is desirable to minimize ripple on VDD.<br />

A<br />

large capacitor also helps to maximize the regulator’s conversion efficiency by reducing the voltage<br />

variation at the output of the regulator.<br />

© 2002 by CRC Press LLC<br />

Normalized Battery Run-time<br />

12<br />

10<br />

Battery run-time vs. workload.<br />

8<br />

6<br />

4<br />

2<br />

0<br />

0% 20% 40% 60% 80% 100%<br />

Fraction of Computation at Low Throughput

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!