IP Library Granted Patent US 8,966,296
Granted Patent B2
US 8,966,296 · App. 13/550,669 · Granted Feb 24, 2015

Transitioning a performance state of a 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,966,296
App. No.
13/550,669
Granted
Feb 24, 2015
Kind
B2
Abstract

A processing circuit independent of a processor determines a current utilization of the processor, based on events of an execution pipeline of the processor. According to the determined utilization, the processing circuit causes the processor to transition from a first of the plurality of performance states to a second of the plurality of performance states.

Claims (31)

1. An electronic device comprising:

a processor having an execution pipeline and capable of executing at a plurality of performance states;

a processing circuit independent of the processor; and

machine readable instructions executable on the processing circuit to:

monitor at least one metric relating to events of the execution pipeline of the processor, wherein the at least one metric is derived from a count of events of the execution pipeline, the events including instructions that have been retired by the execution pipeline in a given time interval;

determine a current utilization of the processor based on the monitored at least one metric; and

according to the determined utilization, cause the processor to transition from a first of the plurality of performance states to a second of the plurality of performance states.

2. The electronic device of claim 1 , wherein the processing circuit is part of a management controller separate from the processor.

3. The electronic device of claim 2 , wherein the management controller is part of a first integrated circuit chip, and the processor is part of a second, separate integrated circuit chip.

4. The electronic device of claim 1 , further comprising a processor chip, wherein the processor is a processor core in the processor chip, and the processing circuit is part of the processor chip.

5. The electronic device of claim 4 , wherein the processor core has the execution pipeline to execute instructions of a workload of the processor core, and the processing circuit is separate from the execution pipeline.

6. The electronic device of claim 1 , further comprising a counter to count the events of the execution pipeline, wherein the at least one metric is derived from the count.

7. The electronic device of claim 6 , wherein the events include clock cycles during which instructions are executed by the execution pipeline.

8. The electronic device of claim 7 , further comprising a second counter to count clock cycles during which instructions are not executed by the execution pipeline, wherein the at least one metric is further derived from the count of the second counter.

9. The electronic device of claim 1 , wherein the at least one metric is derived from a ratio of the count to a maximum number of instructions that could have been retired by the execution pipeline in the given time interval.

10. The electronic device of claim 1 , further comprising a power supply to input a supply voltage to the processor, and a clock generator to output a clock signal to the processor,

wherein the plurality of performance states correspond to different combinations of levels of the supply voltage and frequencies of the clock signal.

11. A method comprising:

receiving a count, tracked by a counter, of events of an execution pipeline in a processor, wherein the events include instructions that have been retired by the execution pipeline in a given time interval;

computing, by a performance state control module executing in a management controller that is independent of the processor, a current utilization of the processor based in the count; and

according to the current utilization, transitioning the processor from a first of a plurality of performance states to a second of the plurality of performance states.

12. The method of claim 11 , wherein the transitioning is performed by varying at least one selected from among a supply voltage level of a power supply, and a frequency of a clock signal from a clock generator.

13. The method of claim 11 , wherein the management controller is separate from the execution pipeline of the processor.

14. The method of claim 11 , wherein the count is tracked by the counter in the processor.

15. The method of claim 14 , further comprising accessing the counter without interrupting the execution pipeline of the processor.

16. The method of claim 11 , wherein computing the current utilization comprises comparing a metric derived from the count against at least one predefined threshold.

17. The method of claim 11 , wherein the events include clock cycles during which instructions are executed by the execution pipeline.

18. An article comprising at least one machine-readable storage medium storing instructions that upon execution cause a controller to:

monitor at least one metric relating to events of an execution pipeline of a processor that is independent of the controller, the events including instructions that have been retired by the execution pipeline in a given time interval;

determine a current utilization of the processor based on comparing the at least one metric to at least one predefined threshold; and

according to the determined utilization, cause the processor to transition from a first of the plurality of performance states to a second of the plurality of performance states.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055360/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2012
From: FAASSE, SCOTT P.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028583/0624 →