IP Library Granted Patent US 8,700,938
Granted Patent B2
US 8,700,938 · App. 13/666,097 · Granted Apr 15, 2014

System and method for reducing power requirements of microprocessors through dynamic allocation of datapath resources

Inventor: Kanad Ghose (Vestal, NY)
Assignee: The Research Foundation of State University of New York
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,700,938
App. No.
13/666,097
Granted
Apr 15, 2014
Kind
B2
Abstract

There is provided a system and methods for segmenting datapath resources such as reorder buffers, physical registers, instruction queues and load-store queues, etc. in a microprocessor so that their size may be dynamically expanded and contracted. This is accomplished by allocating and deallocating individual resource units to each resource based on sampled estimates of the instantaneous resource needs of the program running on the microprocessor. By keeping unused datapath resources to a minimum, power and energy savings are achieved by shutting off resource units that are not needed for sustaining the performance requirements of the running program. Leakage energy and switching energy and power are reduced using the described methods.

Claims (23)

1. A method comprising:

dynamically estimating a resource allocation requirement for a datapath resource of a processor, wherein the dynamically estimating comprises using estimates of a usage of the datapath resource by a computing process, and wherein the estimates of the usage are based on sampled, non-continuous measurements of the usage of the datapath resources; and

dynamically altering a resource allocation of the datapath resource responsive to the resource allocation requirement estimate.

2. The method of claim 1 , wherein the estimates comprises periodic measurement within at least one update period.

3. The method of claim 2 , wherein the update period is dynamically determined.

4. The method of claim 1 , wherein the estimates are determined during an estimation interval.

5. The method of claim 1 , wherein dynamically altering comprises allocating an additional discrete resource unit to the datapath resource, and deallocating a discrete resource unit from the datapath resource.

6. The method of claim 5 , wherein the additional discrete resource unit is allocated more rapidly than the resource unit is deallocated.

7. The method of claim 5 , wherein allocating the additional discrete resource unit to the datapath resource comprises starting a new update period.

8. The method of claim 1 , wherein the datapath resource comprises a resource used as a FIFO queue.

9. The method of claim 1 , further comprising using the resource allocation requirement estimate to selectively adjust a clock rate to at least one processor component.

10. The method of claim 1 , further comprising using the resource allocation requirement estimate to dynamically control a rate of instruction dispatch.

11. The method of claim 1 , wherein the dynamically altering the resource allocation of the datapath resource comprises dynamically altering resource allocations for a plurality of different datapath resources.

12. The method of claim 11 , wherein the plurality of datapath resources comprises at least two of an issue queue, a reorder buffer, a load-store queue, or a register file.

13. An apparatus comprising:

a computing module configured to dynamically estimate a resource allocation requirement for a datapath resource of a processor, wherein the dynamically estimating comprises using estimates of a usage of the datapath resource by a computing process, wherein the estimates of the usage are based on sampled, non-continuous measurements of the usage of the datapath resources, and wherein the computing module is further configured to dynamically alter a resource allocation of the datapath resource responsive to the resource allocation requirement estimate.

14. The apparatus of claim 13 , wherein the estimates comprises periodic measurement within at least one update period.

15. The apparatus of claim 14 , wherein the update period is dynamically determined.

16. A system comprising:

means for dynamically estimating a resource allocation requirement for a datapath resource of a processor, wherein the dynamically estimating comprises using estimates of a usage of the datapath resource by a computing process, and wherein the estimates of the usage are based on sampled, non-continuous measurements of the usage of the datapath resources; and

means for dynamically altering a resource allocation of the datapath resource responsive to the resource allocation requirement estimate.

17. The system of claim 16 , further comprising means for selectively adjusting a clock rate to at least one processor component using the resource allocation requirement estimate.

18. The system of claim 16 , further comprising means for dynamically controlling a rate of instruction dispatch using the resource allocation requirement estimate.

Continuity (5)
Continuation 12502930 · Jul 14, 2009
Continuation 11748411 · May 14, 2007
Continuation 10727105 · Dec 3, 2003
Provisional Application 60431425 · Dec 3, 2002
Related Publication 20130061236A1 · Mar 7, 2013