IP Library Granted Patent US 9,996,127
Granted Patent B2
US 9,996,127 · App. 14/207,074 · Granted Jun 12, 2018

Method and apparatus for proactive throttling for improved power transitions in a processor core

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 9,996,127
App. No.
14/207,074
Granted
Jun 12, 2018
Kind
B2
Abstract

A processor and method are described for performing proactive throttling of execution unit ports. For example, one embodiment of a processor core comprises: a plurality of execution unit ports within an execution stage of the processor core; a scheduler unit to schedule execution of a plurality of operations to the plurality of execution unit ports; and proactive throttling logic to limit acceleration of execution of the operations by the ports to an acceleration level which does not result in significant power supply droops.

Claims (40)

1. A processor core comprising:

a plurality of execution unit ports within an execution stage of the processor core;

a scheduler circuitry to schedule execution of a plurality of operations to the plurality of execution unit ports;

proactive throttling logic circuitry to limit acceleration of execution of the operations by each of the execution unit ports to an acceleration level which does not result in significant power supply droops, wherein the proactive throttling logic circuitry is configured to detect a low-to-high transition of operation execution by the ports and responsively raise the speed with which the operations are executed by the ports to a first threshold level;

a first timer to set a first time period during which operation execution is to remain at the first threshold level, wherein at the end of the first time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a second threshold level; and

a second timer or the first timer configured to set a second time period during which operation execution is to remain at the second threshold level, wherein at the end of the second time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a third threshold level.

2. The processor core as in claim 1 wherein the operations comprise microoperations, the processor core further comprising:

a decoder to decode macro instructions into a plurality of microoperations, the proactive throttling logic to limit acceleration of microoperation execution by the ports.

3. The processor core as in claim 1 wherein the first threshold level comprises a first percentage of a maximum operation execution level.

4. The processor core as in claim 1 wherein the first percentage comprises 50% of the maximum operation execution level.

5. The processor core as in claim 1 wherein the second threshold level comprises a second percentage of a maximum operation execution level which is greater than a first percentage defining the first threshold.

6. The processor core as in claim 1 wherein the first percentage if 50% and the second percentage is 75%.

7. The processor core as in claim 1 wherein the third threshold level is a maximum operation execution level.

8. The processor core as in claim 1 wherein the first time period and the second time period are equal.

9. A method comprising:

scheduling execution of a plurality of operations to a plurality of execution unit ports within an execution stage of a processor core;

performing proactive throttling on each of the execution unit ports to limit acceleration of operation execution by the execution unit ports to an acceleration level which does not result in significant power supply droops, wherein the proactive throttling is configured to detect a low-to-high transition of operation execution by the ports and responsively raise the speed with which the operations are executed by the ports to a first threshold level;

setting a first time period during which operation execution is to remain at the first threshold level, wherein at the end of the first time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a second threshold level; and

setting a second time period during which operation execution is to remain at the second threshold level, wherein at the end of the second time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a third threshold level.

10. The method as in claim 9 further comprising:

a decoder to decode macro instructions into a plurality of microoperations, the proactive throttling logic to limit acceleration of microoperation execution by the ports.

11. The method as in claim 9 wherein the first threshold level comprises a first percentage of a maximum operation execution level.

12. The method as in claim 9 wherein the first percentage comprises 50% of the maximum operation execution level.

13. The method as in claim 9 wherein the second threshold level comprises a second percentage of a maximum operation execution level which is greater than a first percentage defining the first threshold.

14. The method as in claim 9 wherein the first percentage if 50% and the second percentage is 75%.

15. The method as in claim 9 wherein the third threshold level is a maximum operation execution level.

16. The method as in claim 9 wherein the first time period and the second time period are equal.

17. A system comprising:

a memory for storing program code and data;

a input/output ( 10 ) communication interface for communicating with one or more peripheral devices;

a network communication interface for communicatively coupling the system to a network; and

a processor having at least one processor core comprising:

a plurality of execution unit ports within an execution stage of the processor core;

a scheduler circuitry to schedule execution of a plurality of operations to the plurality of execution unit ports;

proactive throttling logic circuitry to limit acceleration of execution of the operations by each of the execution unit ports to an acceleration level which does not result in significant power supply droops, wherein the proactive throttling logic circuitry is configured to detect a low-to-high transition of operation execution by the ports and responsively raise the speed with which the operations are executed by the ports to a first threshold level;

a first timer to set a first time period during which operation execution is to remain at the first threshold level, wherein at the end of the first time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a second threshold level; and

a second timer or the first timer configured to set a second time period during which operation execution is to remain at the second threshold level, wherein at the end of the second time period, the proactive throttling logic is to responsively raise the speed with which the operations are executed by the ports to a third threshold level.

18. The system as in claim 17 wherein the operations comprise microoperations, the processor core further comprising:

a decoder to decode macro instructions into a plurality of microoperations, the proactive throttling logic to limit acceleration of microoperation execution by the ports.

19. The system as in claim 17 wherein the first threshold level comprises a first percentage of a maximum operation execution level.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2014
From: VIKINSKI, OMER; YANOVER, IGOR; BERGER, GAVRI; MALKA, GABI; SPERBER, ZEEV
To: INTEL CORPORATION
Reel/Frame 033191/0899 →