Archive for the ‘Components’ Category

h1

Effective Low Power Modes

October 2, 2007

What is a low-power mode?

A power mode is basically an operating point of a component. For instance, one operating point may have the core running along with a few peripherals running – this operating point may be called “ACTIVE.” Another operating point may have the core clock gated but a few peripherals running – this may be called “IDLE.” Similarly, a third operating point may have the core and peripherals all clock gated – this may be called “DISABLED.” Other operating points may be defined and are typically named RUN, WAIT, STOP, DOZE, DEEP SLEEP, etc.

The definition of a “low”-power mode is a power mode that is less than ACTIVE or RUN. These low-power modes are used to match the performance of the hardware with the use-case requirements.

What makes a low power mode effective?

There are two features of a low power mode that make it effective:

  1. Capability in the mode
  2. Entry/exit latency of the mode

The capability of a low-power mode is determined by the modules that may be active and the frequency at which they operate in that mode. If a specific use case can be performed at a minimum frequency with a small subset of the modules active, the low-power mode may be effective.

The second quality measurement of a low power mode is the entry/exit latencies. The transition times into and out of the low-power mode will dictate when they are useful. In some cases, very short latencies are required, in which only “shallow” low-power modes are useful, such as WAIT or DOZE modes. In other cases, longer entry/exit times are acceptable, in which the “deeper” low power modes are useful, such as DEEP SLEEP.

The most effective low-power modes keep only required modules clocked and have the appropriate entry/exit latency times to meet the use case. The use-case software should gate off the clocks of the unused modules and use the lowest power modes that it can, given the entry/exit latency constraints of the use case.

– Chris

h1

Low Power Component Architecture

September 18, 2007

Keep It Simple …

In the progression of things, circuits are used to build modules and modules are used to build components. Component architecture is how the modules are connected to perform a specific function. The best way to save power on a component is to build onto the component only what is needed to do the required functions. All extraneous options add area and complexity, which in turn usually increases the component’s power consumption.

Once the minimum set of modules is determined, then it’s important to know how the modules are connected together to allow the data to flow through the system. Basically, getting the most work done per clock cycle is more important than raw MHz. By using direct memory access (DMA) modules and cross-bar switches, moving data on a component can be made more efficient. DMA’s can save significant power by allowing data on the component to move from one location to another without the assistance of the large general purpose core(s). Cross-bar switches enable multiple data paths to simultaneously send data from one module to another, thus generating more work per clock cycle.

Turn It Off …

For leakage control, some form of power gating is normally used on a per-module basis. Power gating techniques include:

  • State retention power gating
  • Save and restore power gating
  • Basic power gating

Along with architecting the module connectivity for low power, components can also be designed to operate in different power modes. Power modes can have names such as RUN, RUN-HIGH, WAIT, DOZE, HIBERNATE, STOP, SLEEP, DEEP SLEEP, OFF, etc. Each component will have its own set of power modes. They are defined for a component with the intention that software can match the application’s requirements to the capabilities of the hardware.

When selecting a component for a system, you need to know if it has all the necessary modules to perform the required functions without a lot of extra “bells and whistles” that your system does not need. You should also understand how the architecture allows data to be moved around within the chip. And finally, you should find out about the power modes and whether or not they will be useful for your application(s).

– Chris