# US 2014/0195829 A1 · Dynamically computing an electrical design point (edp) for a multicore processor

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195829 A1
- Document ID: US20140195829A1
- Status: Published application
- Kind: A1
- Application number: 13/997,757
- Filed: 2012-03-13
- Published: 2014-07-10
- Earliest claimed: 2012-03-13
- Assignees: Intel Corporation
- Inventors: Malini K. Bhandaru; Eric J. Dehaemer; Jeremy J. Shrall
- Web page: https://patentgrep.com/patent/US20140195829A1

## CPC

- G06F 1/26: Power supply means, e.g. regulation thereof (for memories G11C)
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/324: by lowering clock frequency
- G06F 1/3296: by lowering the supply or operating voltage
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

In one embodiment, a multicore processor includes a controller to dynamically limit a maximum permitted turbo mode frequency of its cores based on a core activity pattern of the cores and power consumption information of a unit power table. In one embodiment, the core activity pattern can indicate, for each core, an activity level and a logic unit state of the corresponding core. Further, the unit power table can be dynamically computed based on a temperature of the processor. Other embodiments are described and claimed.

## Claims

### Claim 1

A processor comprising:
a plurality of cores each to independently execute instructions, each of the plurality of cores to operate at an independent voltage and frequency; and
a power controller coupled to the plurality of cores and including first logic to group the plurality of cores into a first group of cores corresponding to inactive cores, a second group of cores corresponding to cores operating at or below a guaranteed maximum operating frequency, and a third group of cores corresponding to cores requesting a turbo mode frequency, determine an available power budget for the third group of cores based on power consumption for the first and second group of cores, and perform an iterative search for a maximum permitted turbo mode frequency for the third group of cores.

### Claim 2 (depends on 1)

The processor of claim 1, wherein the power controller includes a unit power table including a plurality of entries, each entry associating a turbo mode frequency with a first power consumption level and a second power consumption level.

### Claim 3 (depends on 2)

The processor of claim 2, wherein the first logic is to calculate the unit power table based on a temperature of the processor.

### Claim 4 (depends on 3)

The processor of claim 3, wherein the first logic is to re-calculate the unit power table if the processor temperature changes by a threshold amount.

### Claim 5 (depends on 1)

The processor of claim 1, wherein the first logic is to calculate a sum of power consumption for the third group of cores at a possible turbo mode frequency, and compare the sum to the available power budget.

### Claim 6 (depends on 5)

The processor of claim 5, wherein the first logic is to reduce the possible turbo mode frequency to a lower turbo mode frequency if the sum is greater than the available power budget.

### Claim 7 (depends on 5)

The processor of claim 5, wherein the first logic is to iteratively calculate the sum and perform the comparison until the possible turbo mode frequency is greater than a requested turbo mode frequency of any of the third group of cores.

### Claim 8 (depends on 7)

The processor of claim 7, wherein the first logic is to terminate the iterative calculation and comparison when the sum is greater than or equal to zero and less than a minimum power threshold.

### Claim 9

A system comprising:
a multicore processor including a plurality of cores each to independently execute instructions and to operate at an independent voltage and frequency, and a power control unit (PCU) to dynamically limit a maximum permitted turbo mode frequency of the plurality of cores based on a core activity pattern of the plurality of cores that indicates for each of the plurality of cores an activity level and a logic unit state of the corresponding core and power consumption information of a unit power table that is dynamically computed based on a temperature of the multicore processor.

### Claim 10 (depends on 9)

The system of claim 9, wherein the PCU includes a power consumption calculator to dynamically compute the unit power table when a temperature of the multicore processor exceeds a threshold.

### Claim 11 (depends on 10)

The system of claim 10, wherein the power consumption calculator is to calculate a first power consumption level and a second power consumption level for each of a plurality of turbo mode frequencies.

### Claim 12 (depends on 9)

The system of claim 9, wherein the power control unit includes an electrical design point (EDP) clip logic to dynamically limit the maximum permitted turbo mode frequency based on the power consumption information of the unit power table using the core activity pattern stored in a core activity array, and a plurality of processor constraint values.

### Claim 13 (depends on 9)

The system of claim 9, wherein the PCU further includes a core frequency controller to assign an operating frequency to at least one of the plurality of cores based on the maximum permitted turbo mode frequency.

### Claim 14

A method comprising:
grouping cores of a multicore processor into a first group of cores corresponding to inactive cores, a second group of cores corresponding to cores operating at or below a guaranteed maximum operating frequency, and a third group of cores corresponding to cores requesting a turbo mode frequency;
determining a power consumption for the first group of cores and the second group of cores to determine an available power budget for the third group of cores; and
performing an iterative search for a permitted maximum turbo mode frequency for the third group of cores based on the available power budget.

### Claim 15 (depends on 14)

The method of claim 14, further comprising performing the iterative search until none of the third group of cores is requesting a turbo mode frequency greater than a candidate maximum permitted turbo mode frequency, a residual power value is less than a threshold power level but not negative, or no further search is possible and the residual power value is greater than zero.

### Claim 16 (depends on 14)

The method of claim 14, further comprising determining the power consumption for the first and second groups of cores using a unit power table including a plurality of entries each associating an operating frequency with a first power consumption level and a second power consumption level.

### Claim 17 (depends on 16)

The method of claim 16, wherein the first power consumption level corresponds to a power level to operate a core at the associated operating frequency when a first logic unit is not used and the second power consumption level corresponds to a power level to operate a core at the associated operating frequency when the first logic unit is used.

### Claim 18 (depends on 14)

The method of claim 14, wherein the iterative search comprises a binary search including, for each core requesting a turbo mode frequency:
determining if a requested core performance level is greater than a midpoint level between a high value and a low value;
if so, clipping the requested core performance level to the midpoint level; and
determining a remaining power based on the requested core performance level, an activity state of a first logic unit of the core, and the available power budget.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
setting the high value to the midpoint level if the remaining power is determined to be less than zero; and
setting the low value to the midpoint level if the remaining power is determined to be greater than a minimum power threshold.

### Claim 20 (depends on 19)

The method of claim 19, further comprising terminating the binary search if one of:
the remaining power is non-negative and less than the minimum power threshold; or none of the cores requesting a turbo mode frequency were clipped from a requested core performance level to the midpoint level.

### Claim 21

A processor comprising:
a plurality of cores each to independently execute instructions, each of the plurality of cores to operate at an independent voltage and frequency; and
a power controller coupled to the plurality of cores and including a first logic to group the plurality of cores into a first group of cores corresponding to inactive cores, a second group of cores corresponding to cores operating at or below a guaranteed maximum operating frequency, and a third group of cores corresponding to cores requesting a turbo mode frequency, a second logic to determine an available power budget for the third group of cores based on power consumption for the first and second groups of cores, and a third logic to search for a maximum permitted turbo mode frequency for the third group of cores.

### Claim 22 (depends on 21)

The processor of claim 21, wherein the power controller includes a unit power table including a plurality of entries, each entry associating a turbo mode frequency with a first power consumption level and a second power consumption level.

### Claim 23 (depends on 22)

The processor of claim 22, wherein the second logic is to calculate the unit power table based on a temperature of the processor.

### Claim 24 (depends on 23)

The processor of claim 23, wherein the second logic is to re-calculate the unit power table if the processor temperature changes by a threshold amount.

### Claim 25 (depends on 21)

The processor of claim 21, wherein the second logic is to calculate a sum of power consumption for the third group of cores at a possible turbo mode frequency, and compare the sum to the available power budget.

### Claim 26

(canceled)

### Claim 27

(canceled)

### Claim 28

(canceled)

### Claim 29

(canceled)
