Methodology for coordinating and tuning application power
First Claim
1. A method for developing an application wherein a power management strategy for the application is implemented, the method comprising the steps of:
- a. building the application wherein a power management module is included with the application wherein the power management module is operable to provide one or more methods of power management selected from the group consisting of;
causing a power-saving function to be executed when a digital system is booted, invoking application specific sleep modes, registering of a plurality of clients for notification of one or more power events and notifying the registered clients of power events for which the registered clients requested notification; and
idling one or more specified clock domains;
b. capturing power consumption data of each of a plurality of functions of the application as the application is executed on a target system;
c. presenting the captured power consumption data to a user for analysis such that the user may analyze the power consumption of each of the plurality of functions;
d. accepting modifications to one or more of the plurality of functions wherein the modifications are made to use one or more of the methods of power management provided by the power management module and to reduce power consumption of the functions responsive to the analysis of the power consumption data; and
providing for repetition of steps a–
d;
wherein the step of building further comprises including a power scaling library in the application and wherein the power scaling library is used by the power management module to cause a setpoint of a processor to be changed.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for developing a power management strategy for an application as the application is developed. These methods and systems broadly provide for building the application incorporating a power management module operable to provide several power management methods, capturing power consumption data of the application as it is executed on a target system, accepting modifications to the application to use one or more of the power management methods, and repeating these steps as needed. A power scaling library may also be incorporated in the application and the application may be modified to use the dynamic frequency and voltage scaling functionality provided by the power scaling library.
-
Citations
8 Claims
-
1. A method for developing an application wherein a power management strategy for the application is implemented, the method comprising the steps of:
-
a. building the application wherein a power management module is included with the application wherein the power management module is operable to provide one or more methods of power management selected from the group consisting of;
causing a power-saving function to be executed when a digital system is booted, invoking application specific sleep modes, registering of a plurality of clients for notification of one or more power events and notifying the registered clients of power events for which the registered clients requested notification; and
idling one or more specified clock domains;b. capturing power consumption data of each of a plurality of functions of the application as the application is executed on a target system; c. presenting the captured power consumption data to a user for analysis such that the user may analyze the power consumption of each of the plurality of functions; d. accepting modifications to one or more of the plurality of functions wherein the modifications are made to use one or more of the methods of power management provided by the power management module and to reduce power consumption of the functions responsive to the analysis of the power consumption data; and
providing for repetition of steps a–
d;wherein the step of building further comprises including a power scaling library in the application and wherein the power scaling library is used by the power management module to cause a setpoint of a processor to be changed. - View Dependent Claims (2, 3)
-
-
4. A method for developing an application wherein a power management strategy for the application is implemented, the method comprising the steps of:
-
a. building the application wherein a power management module is included with the application wherein the power management module is operable to provide one or more methods of power management selected from the group consisting of causing a power-saving function to be executed when a digital system is booted, invoking application specific sleep modes, registering of a plurality of clients for notification of one or more power events and notifying the registered clients of power events for which the registered clients requested notification; and
idling one or more specified clock domains;b. capturing power consumption data of the application as it is executed on a target system; c. presenting the captured power consumption data to a user for analysis; d. accepting modifications to the application wherein the modifications are made to use one or more of the methods of power management provided by the power management module; and providing for repetition of steps a–
d;wherein step a comprises including a power scaling library in the application and wherein the power scaling library is used by the power management module to cause a setpoint of a processor to be changed; wherein step b further comprises capturing the power consumption data of each of a plurality of tasks of the application; wherein step c further comprises presenting the power consumption data such that the user may analyze the power consumption of each of the plurality of tasks; and wherein step d further comprises accepting modifications to one or more of the plurality of tasks wherein such modifications are made to reduce power consumption of the functions responsive to the analysis of the power consumption data.
-
-
5. A system providing for development of an application wherein a power management strategy for the application is implemented, the system comprising:
-
a host computer; a software development environment installed for execution on the host computer wherein the software development environment comprises debug software, a compiler, and power analysis software; a storage device connected to the host computer, wherein the storage device stores a power management module for incorporation in an application wherein the power management module provides one or more methods of power management selected from the group consisting of;
causing a power-saving function to be executed when the target system is booted, invoking application specific sleep modes, registering of a plurality of clients for notification of one or more power events and notifying the registered clients of power events for which the registered clients requested notification; and
idling one or more specified clock domains;an emulation controller connected to the host computer; a target system connected to the emulation controller; and a power measurement device connected to the target system and to the host computer such that the power analysis software can trigger the power measurement device to collect power consumption data during execution of the target system and can receive the power consumption data from the power measurement device; wherein the target system further comprises a voltage regulator connected to regulate voltage of a processor of the target system; and wherein the storage device further stores a power scaling library for inclusion in an application wherein the power scaling library provides functionality to enable any entity of a plurality of entities of the application to cause a current frequency of a clock of the processor to be changed to a new frequency and wherein the power scaling library automatically changes a voltage of the voltage regulator to a minimum voltage required by the new frequency after the current frequency is changed to the new frequency. - View Dependent Claims (6, 7, 8)
-
Specification