IP Library Granted Patent US 8,533,503
Granted Patent B2
US 8,533,503 · App. 11/541,315 · Granted Sep 10, 2013

Managing power consumption in a multicore processor

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,533,503
App. No.
11/541,315
Granted
Sep 10, 2013
Kind
B2
Abstract

A method and computer-usable medium including instructions for performing a method of managing power consumption in a multicore processor comprising a plurality of processor elements with at least one power saving mode. The method includes listing, using at least one distribution queue, a portion of the executable transactions in order of eligibility for execution. A plurality of executable transaction schedulers are provided. The executable transaction schedulers are linked together to provide a multilevel scheduler. The most eligible executable transaction is output from the multilevel scheduler to the at least one distribution queue. One or more of the plurality of processor elements are placed into a first power saving mode when a number of executable transactions allocated to the plurality of processor elements is such that only a portion of available processor elements are used to execute executable transactions.

Claims (54)

1. A method of managing power consumption, said method comprising:

determining at least one thread allocated for execution by a first plurality of processor elements of a multi-core processor, wherein said first plurality of processor elements is operable to execute said at least one thread in a first power state;

configuring a second plurality of processor elements of said multi-core processor to operate in a second power state, wherein a particular processor element operating in said second power state is operable to consume less power than said particular processor element operating in said first power state, and wherein said configuring said second plurality of processor elements further comprises performing a first operation to allow said second plurality of processor elements to maintain state data; and

configuring at least one processor element of said second plurality of processor elements to operate in a third power state, wherein said at least one processor element operating in said third power state is operable to consume less power than said at least one processor element operating in said second power state, and wherein said configuring said at least one processor element further comprises performing a second operation to allow said at least one processor element to sacrifice said state data.

2. The method of claim 1 , wherein said first operation comprises clock gating.

3. The method of claim 1 , wherein said second operation is selected from a group consisting of voltage scaling, frequency scaling and power isolation.

4. The method of claim 1 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state after a predetermined period of time.

5. The method of claim 4 , wherein said predetermined period of time comprises a period of time operating in said second power state.

6. The method of claim 1 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state responsive to determining a decrease in workload associated with said second plurality of processor elements.

7. The method of claim 1 further comprising:

responsive to determining an increase in workload, configuring said at least one processor element to operate in said first power state.

8. The method of claim 1 further comprising:

responsive to a signal, configuring said at least one processor element to operate in said first power state.

9. The method of claim 8 , wherein said signal is selected from a group consisting of an out of band signal and an interrupt.

10. The method of claim 1 further comprising:

executing said at least one thread using said first plurality of processor elements operating in said first power state.

11. The method of claim 1 , wherein said first plurality of processor elements comprises a pool of processor elements.

12. The method of claim 1 , wherein said second power state is associated with a privileged mode.

13. A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of managing power consumption, said method comprising:

determining at least one thread allocated for execution by a first plurality of processor elements of a multi-core processor, wherein said first plurality of processor elements is operable to execute said at least one thread in a first power state;

configuring a second plurality of processor elements of said multi-core processor to operate in a second power state, wherein a particular processor element operating in said second power state is operable to consume less power than said particular processor element operating in said first power state, and wherein said configuring said second plurality of processor elements further comprises performing a first operation to allow said second plurality of processor elements to maintain state data; and

configuring at least one processor element of said second plurality of processor elements to operate in a third power state, wherein said at least one processor element operating in said third power state is operable to consume less power than said at least one processor element operating in said second power state, and wherein said configuring said at least one processor element further comprises performing a second operation to allow said at least one processor element to sacrifice said state data.

14. The non-transitory computer-readable medium of claim 13 , wherein said first operation comprises clock gating.

15. The non-transitory computer-readable medium of claim 13 , wherein said second operation is selected from a group consisting of voltage scaling, frequency scaling and power isolation.

16. The non-transitory computer-readable medium of claim 13 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state after a predetermined period of time.

17. The non-transitory computer-readable medium of claim 16 , wherein said predetermined period of time comprises a period of time operating in said second power state.

18. The non-transitory computer-readable medium of claim 13 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state responsive to determining a decrease in workload associated with said second plurality of processor elements.

19. The non-transitory computer-readable medium of claim 13 , wherein said method further comprises:

responsive to determining an increase in workload, configuring said at least one processor element to operate in said first power state.

20. The non-transitory computer-readable medium of claim 13 , wherein said method further comprises:

responsive to a signal, configuring said at least one processor element to operate in said first power state.

21. The non-transitory computer-readable medium of claim 20 , wherein said signal is selected from a group consisting of an out of band signal and an interrupt.

22. The non-transitory computer-readable medium of claim 13 , wherein said method further comprises:

executing said at least one thread using said first plurality of processor elements operating in said first power state.

23. The non-transitory computer-readable medium of claim 13 , wherein said first plurality of processor elements comprises a pool of processor elements.

24. The non-transitory computer-readable medium of claim 13 , wherein said second power state is associated with a privileged mode.

25. A system comprising a processor and a memory, wherein said memory comprises instructions that when executed by said system implement a method of managing power consumption, said method comprising:

determining at least one thread allocated for execution by a first plurality of processor elements of a multi-core processor, wherein said first plurality of processor elements is operable to execute said at least one thread in a first power state;

configuring a second plurality of processor elements of said multi-core processor to operate in a second power state, wherein a particular processor element operating in said second power state is operable to consume less power than said particular processor element operating in said first power state, and wherein said configuring said second plurality of processor elements further comprises performing a first operation to allow said second plurality of processor elements to maintain state data; and

configuring at least one processor element of said second plurality of processor elements to operate in a third power state, wherein said at least one processor element operating in said third power state is operable to consume less power than said at least one processor element operating in said second power state, and wherein said configuring said at least one processor element further comprises performing a second operation to allow said at least one processor element to sacrifice said state data.

26. The system of claim 25 , wherein said first operation comprises clock gating.

27. The system of claim 25 , wherein said second operation is selected from a group consisting of voltage scaling, frequency scaling and power isolation.

28. The system of claim 25 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state after a predetermined period of time.

29. The system of claim 28 , wherein said predetermined period of time comprises a period of time operating in said second power state.

30. The system of claim 25 , wherein said configuring said at least one processor element further comprises configuring said at least one processor element to operate in said third power state responsive to determining a decrease in workload associated with said second plurality of processor elements.

31. The system of claim 25 , wherein said method further comprises:

responsive to determining an increase in workload, configuring said at least one processor element to operate in said first power state.

32. The system of claim 25 , wherein said method further comprises:

responsive to a signal, configuring said at least one processor element to operate in said first power state.

33. The system of claim 32 , wherein said signal is selected from a group consisting of an out of band signal and an interrupt.

34. The system of claim 25 , wherein said method further comprises:

executing said at least one thread using said first plurality of processor elements operating in said first power state.

35. The system of claim 25 , wherein said first plurality of processor elements comprises a pool of processor elements.

36. The system of claim 25 , wherein said second power state is associated with a privileged mode.

Assignments (6)
CHANGE OF NAME Recorded Dec 5, 2011
From: FUJITSU MICROELECTRONICS LIMITED
To: FUJITSU SEMICONDUCTOR LIMITED
Reel/Frame 027327/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2011
From: COWARE, LLC
To: SYNOPSYS, INC.
Reel/Frame 025754/0505 →
CHANGE OF NAME Recorded Jan 26, 2011
From: COWARE, INC.
To: COWARE, LLC
Reel/Frame 025703/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2009
From: FUJITSU LIMITED
To: FUJITSU MICROELECTRONICS LIMITED
Reel/Frame 022248/0521 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2007
From: COWARE, INC.
To: FUJITSU LIMITED
Reel/Frame 019453/0400 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2007
From: LIPPETT, MARK DAVID
To: COWARE, INC.
Reel/Frame 019378/0167 →