System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
First Claim
Patent Images
1. A method of performing dynamic clock and voltage scaling (DCVS) on a central processing unit (CPU), the method comprising:
- associating an unaltered DCVS algorithm with the CPU;
monitoring CPU activity in a processor to detect a new workload on the CPU;
determining whether the detected new workload is designated as a special workload;
querying a database to determine whether an existing DCVS solution is associated with the new workload;
retuning the associated DCVS algorithm based on the existing DCVS solution and executing the retuned DCVS algorithm on the CPU when it is determined that an DCVS solution is associated with the new workload;
determining whether a new DCVS solution should be created for the new workload when it is determined that an existing DCVS solution is not associated with the new workload by;
determining whether the new workload identifies specific workload requirements or includes a predetermined solution;
determining that the new DCVS solution should be created when the workload includes specific workload requirements; and
determining that the new DCVS solution should not be created when the workload includes a predetermined solution;
executing the associated DCVS algorithm on the CPU when it is determined that a new DCVS solution should not be created for the new workload; and
creating the new DCVS solution for the new workload based on the specific workload requirements, storing the created DCVS solution in the database, retuning the associated DCVS algorithm based on the created DCVS solution, and executing the retuned DCVS algorithm on the CPU when it is determined that a new DCVS solution should be created for the new workload.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of executing a dynamic clock and voltage scaling (DCVS) algorithm in a central processing unit (CPU) is disclosed and may include monitoring CPU activity and determining whether a workload is designated as a special workload when the workload is added to the CPU activity.
98 Citations
20 Claims
-
1. A method of performing dynamic clock and voltage scaling (DCVS) on a central processing unit (CPU), the method comprising:
-
associating an unaltered DCVS algorithm with the CPU; monitoring CPU activity in a processor to detect a new workload on the CPU; determining whether the detected new workload is designated as a special workload; querying a database to determine whether an existing DCVS solution is associated with the new workload; retuning the associated DCVS algorithm based on the existing DCVS solution and executing the retuned DCVS algorithm on the CPU when it is determined that an DCVS solution is associated with the new workload; determining whether a new DCVS solution should be created for the new workload when it is determined that an existing DCVS solution is not associated with the new workload by; determining whether the new workload identifies specific workload requirements or includes a predetermined solution; determining that the new DCVS solution should be created when the workload includes specific workload requirements; and determining that the new DCVS solution should not be created when the workload includes a predetermined solution; executing the associated DCVS algorithm on the CPU when it is determined that a new DCVS solution should not be created for the new workload; and creating the new DCVS solution for the new workload based on the specific workload requirements, storing the created DCVS solution in the database, retuning the associated DCVS algorithm based on the created DCVS solution, and executing the retuned DCVS algorithm on the CPU when it is determined that a new DCVS solution should be created for the new workload. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A wireless device, comprising:
-
means for associating an unaltered dynamic clock and voltage scaling (DCVS) algorithm with a central processing unit (CPU) of the wireless device; means for monitoring CPU activity to detect a new workload on the CPU; means for querying a database to determine whether the detected new workload is designated as a special workload; means for determining whether an existing DCVS solution is associated with the new workload; means for retuning the associated DCVS algorithm based on the existing DCVS solution and executing the retuned DCVS algorithm on the CPU when it is determined that an existing DCVS solution is associated with the new workload; means for determining whether a new DCVS solution should be created for the new workload when it is determined that an existing DCVS solution is not associated with the new workload, wherein the means for determining whether a new DCVS solution should be created for the new workload comprises; means for determining whether the new workload identifies specific workload requirements or includes a predetermined solution; means for determining that the new DCVS solution should be created when the workload includes specific workload requirements; and means for determining that the new DCVS solution should not be created when the workload includes a predetermined solution; means for executing the associated unaltered DCVS algorithm on the CPU when it is determined that a new DCVS solution should not be created for the new workload; and means for creating the new DCVS solution for the new workload based on the specific workload requirements, storing the created DCVS solution in the database, retuning the associated DCVS algorithm based on the created DCVS solution, and executing the retuned DCVS algorithm on the CPU when it is determined a new DCVS solution should be created for the new workload. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A wireless device, comprising:
a processor configured with processor-executable instructions to perform operations comprising; associating an unaltered dynamic clock and voltage scaling (DCVS) algorithm with a processing unit of the wireless device; monitoring processing unit activity to detect a new workload on the processing unit; determining whether the detected new workload is designated as a special workload; querying a database to determine whether an existing DCVS solution is associated with the new workload; retuning the associated DCVS algorithm based on the existing DCVS solution and executing the retuned DCVS algorithm on the processing unit when it is determined that an existing DCVS solution is associated with the new workload; determining whether a new DCVS solution should be created for the new workload when it is determined that an existing DCVS solution is not associated with the new workload by; determining whether the new workload identifies specific workload requirements or includes a predetermined solution; determining that the new DCVS solution should be created when the workload includes specific workload requirements; and determining that the new DCVS solution should not be created when the workload includes a predetermined solution; executing the associated DCVS algorithm on the CPU when it is determined that a new DCVS solution should not be created for the new workload; and creating the new DCVS solution for the new workload based on the specific workload requirements, storing the created DCVS solution in the database, retuning the associated DCVS algorithm based on the created DCVS solution, and executing the retuned DCVS algorithm on the processing unit when it is determined a new DCVS solution should be created for the new workload. - View Dependent Claims (12, 13, 14, 15)
-
16. A non-transitory computer-readable storage medium having stored thereon computer-executable instructions configured to cause a processor to perform operations comprising:
-
associating an unaltered DCVS algorithm with a processing unit; in a processor to detect a new workload on the processing unit; determining whether the detected new workload is designated as a special workload; querying a database to determine whether an existing DCVS solution is associated with the new workload; retuning the associated DCVS algorithm based on the existing DCVS solution and executing the retuned DCVS algorithm on the processing unit when it is determined that an existing DCVS solution is associated with the new workload; determining whether a new DCVS solution should be created for the new workload when it is determined that an existing DCVS solution is not associated with the new workload by; determining whether the new workload identifies specific workload requirements or includes a predetermined solution; determining that the new DCVS solution should be created when the workload includes specific workload requirements; and determining that the new DCVS solution should not be created when the workload includes a predetermined solution; executing the associated DCVS algorithm on the CPU when it is determined that a new DCVS solution should not be created for the new workload; and creating the new DCVS solution for the new workload based on the specific workload requirements, storing the created DCVS solution in the database, retuning the associated DCVS algorithm based on the created DCVS solution, and executing the retuned DCVS algorithm on the processing unit when it is determined that a new DCVS solution should be created for the new workload. - View Dependent Claims (17, 18, 19, 20)
-
Specification