US2021064117A1PendingUtilityA1

Optimizing power usage by factoring processor architectural events to pmu

Assignee: INTEL CORPPriority: Dec 29, 2006Filed: Nov 13, 2020Published: Mar 4, 2021
Est. expiryDec 29, 2026(~0.4 yrs left)· nominal 20-yr term from priority
G06F 1/206G06F 15/80G06F 1/3287Y02D10/00G06F 1/324G06F 2212/283G11C 7/1072G06F 1/3203G06F 1/3206G11C 7/1075G06F 1/3275G06F 12/0811G06F 1/3243
72
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and apparatus to monitor architecture events is disclosed. The architecture events are linked together via a push bus mechanism with each architectural event having a designated time slot. There is at least one branch of the push bus in each core. Each branch of the push bus may monitor one core with all the architectural events. All the data collected from the events by the push bus is then sent to a power control unit.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A processor comprising:
 a plurality of cores including a first core of a first core type and a second core of a second core type, wherein the first core and second core are able to operate concurrently at different frequencies in different power states;   a plurality of thermal sensors to provide thermal data, including at least a first thermal sensor to provide first thermal data for the first core and at least a second thermal sensor to provide second thermal data for the second core;   a plurality of counters integral to the first core, each counter to count a number of occurrences of an architectural event, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions;   a system interconnect coupled to the plurality of cores, the system interconnect able to operate in a plurality of different power states; and   a power controller coupled to the system interconnect, the power controller to control the power states of the first core and the second core in accordance with the thermal data.   
     
     
         2 . The processor of  claim 1  wherein the power controller to control the power states of the interconnect in accordance with the thermal data. 
     
     
         3 . The processor of  claim 2  wherein the power controller is to control the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit. 
     
     
         4 . The processor of  claim 1  wherein the power controller is to attempt to optimize performance within a specified thermal budget. 
     
     
         5 . The processor of  claim 2  wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state. 
     
     
         6 . The processor of  claim 4  further comprising:
 a third thermal sensor in combination with the first thermal sensor to provide the first thermal data for the first core. 
 
     
     
         7 . The processor of  claim 1  further comprising:
 a functional unit coupled to the plurality of cores over the system interconnect; and 
 a cache shared by the plurality of cores. 
 
     
     
         8 . The processor of  claim 7 , further comprising:
 a memory controller coupled to the system interconnect and a system memory device.   
     
     
         9 . The processor of  claim 8 , further comprising:
 a network interface coupled to the system interconnect;   a flash memory coupled to the interconnect; and   a display coupled to the system interconnect.   
     
     
         10 . The processor of  claim 1 , wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data. 
     
     
         11 . The processor of  claim 1  wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit. 
     
     
         12 . The processor of  claim 1  wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters. 
     
     
         13 . The processor of  claim 1  wherein the plurality of counters integral to the first core comprise a first plurality of counters, the processor further comprising: a second plurality of counters integral to the second core, each counter of the second plurality of counters to count a number of occurrences of one of the architectural events, the second plurality of counters including a fifth counter to count a number of instructions retired, a sixth counter to count last level cache misses, a seventh counter to count translation lookaside buffer (TLB) misses, and an eighth counter to count branch mispredictions. 
     
     
         14 . A method comprising:
 operating a plurality of cores at a plurality of different frequencies associated with different power states, the plurality of cores including a first core of a first core type and a second core of a second core type;   providing thermal data from a plurality of thermal sensors, including providing first thermal data from a first thermal sensor associated with the first core and providing second thermal data from a second thermal sensor associated with the second core;   counting, by a plurality of counters integral to the first core, a corresponding number of occurrences of architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions;   operating a system interconnect coupled to the plurality of cores in a plurality of different power states; and   controlling, by a power controller coupled to the system interconnect, the power states of the first core and the second core in accordance with the thermal data.   
     
     
         15 . The method of  claim 14  further comprising:
 controlling, by the power controller, the power states of the interconnect in accordance with the thermal data. 
 
     
     
         16 . The method of  claim 15  further comprising:
 controlling, by the power controller, the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit. 
 
     
     
         17 . The method of  claim 14  wherein controlling further comprises:
 attempting to optimize performance within a specified thermal budget. 
 
     
     
         18 . The method of  claim 15  wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state. 
     
     
         19 . The method of  claim 17  further comprising:
 providing a portion of the first thermal data from a third thermal sensor associated with the first core. 
 
     
     
         20 . The method of  claim 14  wherein a functional unit is coupled to the plurality of cores over the system interconnect and a cache is shared by the plurality of cores. 
     
     
         21 . The method of  claim 20 , wherein a memory controller is coupled to the system interconnect and a system memory device. 
     
     
         22 . The method of  claim 21 , wherein a network interface is coupled to the system interconnect, a flash memory is coupled to the interconnect, and a display is coupled to the system interconnect. 
     
     
         23 . The method of  claim 14 , wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data. 
     
     
         24 . The method of  claim 23  wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit. 
     
     
         25 . The method of  claim 14  wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters. 
     
     
         26 . The method of  claim 14  wherein the plurality of counters comprise a first plurality of counters, the method further comprising:
 counting, by a second plurality of counters integral to the second core, a corresponding number of occurrences of architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions. 
 
     
     
         27 . A system comprising:
 a system memory to store program code and data; and   a processor coupled to the memory, the processor comprising:
 a plurality of cores including a first core of a first core type and a second core of a second core type, wherein the first core and second core are able to operate concurrently at different frequencies in different power states; 
 a plurality of thermal sensors to provide thermal data, including at least a first thermal sensor to provide first thermal data for the first core and at least a second thermal sensor to provide second thermal data for the second core; 
 a plurality of counters integral to the first core, each counter to count a number of occurrences of one of the architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions; 
 a system interconnect coupled to the plurality of cores, the system interconnect able to operate in a plurality of different power states; and 
 a power controller coupled to the system interconnect, the power controller to control the power states of the first core and the second core in accordance with the thermal data. 
   
     
     
         28 . The system of  claim 27  wherein the power controller to control the power states of the interconnect in accordance with the thermal data. 
     
     
         29 . The system of  claim 28  wherein the power controller is to control the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit. 
     
     
         30 . The system of  claim 27  wherein the power controller is to attempt to optimize performance within a specified thermal budget. 
     
     
         31 . The system of  claim 28  wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state. 
     
     
         32 . The system of  claim 30  further comprising:
 a third thermal sensor in combination with the first thermal sensor to provide the first thermal data for the first core. 
 
     
     
         33 . The system of  claim 27  further comprising:
 a functional unit coupled to the plurality of cores over the system interconnect; and 
 a cache shared by the plurality of cores. 
 
     
     
         34 . The system of  claim 33 , further comprising:
 a memory controller coupled to the system interconnect and the system memory.   
     
     
         35 . The system of  claim 34 , further comprising:
 a network interface coupled to the system interconnect;   a flash memory coupled to the interconnect; and   a display coupled to the system interconnect.   
     
     
         36 . The system of  claim 27 , wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data. 
     
     
         37 . The system of  claim 27  wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit. 
     
     
         38 . The system of  claim 27  wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters. 
     
     
         39 . The system of  claim 27  wherein the plurality of counters integral to the first core comprise a first plurality of counters, the system further comprising: a second plurality of counters integral to the second core, each counter of the second plurality of counters to count a number of occurrences of one of the architectural events, the second plurality of counters including a fifth counter to count a number of instructions retired, a sixth counter to count last level cache misses, a seventh counter to count translation lookaside buffer (TLB) misses, and an eighth counter to count branch mispredictions.

Join the waitlist — get patent alerts

Track US2021064117A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.