IP Library Granted Patent US 10,386,915
Granted Patent B2
US 10,386,915 · App. 15/256,006 · Granted Aug 20, 2019

Distribution of tasks among asymmetric processing elements

Inventors: Herbert Hum (Portland, OR); Eric Sprangle (Austin, TX); Doug Carmean (Beaverton, OR); Rajesh Kumar (Portland, CA)
Assignee: Intel Corporation
G06F1/3293G06F1/206G06F1/3203G06F1/324G06F1/3206G06F1/3228G06F1/3287G06F1/3296G06F9/3869G06F9/461G06F9/5088G06F9/5094G06F12/0875G06F13/24G06T1/20G06F2209/5017G06F2212/452Y02B70/10Y02B70/1425Y02B70/30Y02B70/32Y02D10/122Y02D10/126Y02D10/172Y02D50/20
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 10,386,915
App. No.
15/256,006
Granted
Aug 20, 2019
Kind
B2
Abstract

Techniques to control power and processing among a plurality of asymmetric cores. In one embodiment, one or more asymmetric cores are power managed to migrate processes or threads among a plurality of cores according to the performance and power needs of the system.

Claims (33)

1. A processor comprising:

a plurality of execution resources to process a plurality of threads;

a cache to store instructions or data to be shared by the plurality of execution resources;

a first set of the plurality of execution resources to process a first set of one or more threads;

a second set of the plurality of execution resources, having higher performance and consuming more power than the first set, to process a second set of one or more threads;

monitoring circuitry to detect an activity level and temperature associated with the plurality of execution resources;

a power controller to scale frequency and voltage of the plurality of execution resources in accordance with specified constraints; and

a thread management circuit to save a state of the first set of the plurality of execution resources, and then migrate the first thread and the state from the first set of the plurality of execution resources to the second set of the plurality of execution resources, the second set to resume execution of the first thread when the activity level rises above or the temperature falls below predetermined thresholds.

2. The processor as in claim 1 , wherein the monitoring circuitry includes performance counters to detect the activity level.

3. The processor as in claim 1 , wherein the specified constraints comprise one or more power constraints.

4. The processor as in claim 1 , the thread management circuit to migrate the first thread from the first set of the plurality of execution resources to the second set of the plurality of execution resources to improve execution performance of one or more of the plurality of threads.

5. A method comprising:

processing a plurality of threads on a plurality of execution resources;

storing instructions or data to be shared by the plurality of execution resources in a cache;

assigning a first set of the plurality of execution resources to process a first set of one or more threads;

assigning a second set of the plurality of execution resources, having higher performance and consuming more power than the first set to process a second set of one or more threads;

detecting an activity level and temperature associated with the plurality of execution resources;

scaling frequency and voltage of the plurality of execution resources in accordance with specified constraints; and

saving a state of the first set of the plurality of execution resources, and then migrating the first thread and the state from the first set of the plurality of execution resources to the second set of the plurality of execution resources, the second set to resume execution of the first thread, when the activity level rises above or the temperature falls below predetermined thresholds.

6. The method as in claim 5 , wherein detecting an activity level comprises reading a value from one or more performance counters.

7. The method as in claim 5 , wherein the specified constraints comprise one or more power constraints.

8. The method as in claim 5 , the first thread is migrated from the first set of the plurality of execution resources to the second set of the plurality of execution resources to improve execution performance of one or more of the plurality of threads.

9. An apparatus comprising:

means for processing a plurality of threads on a plurality of execution resources;

means for storing instructions or data to be shared by the plurality of execution resources in a cache;

means for assigning a first set of the plurality of execution resources to process a first set of one or more threads;

means for assigning a second set of the plurality of execution resources, having higher performance and consuming more power than the first set, to process a second set of one or more threads;

means for detecting an activity level and temperature associated with the plurality of execution resources;

means for scaling frequency and voltage of the plurality of execution resources in accordance with specified constraints; and

means for saving a state of the first set of the plurality of execution resources, and then migrating the first thread and the state from the first set of the plurality of execution resources to the second set of the plurality of execution resources, the second set to resume execution of the first thread, when the activity level rises above or the temperature falls below predetermined thresholds.

10. The apparatus as in claim 9 , wherein the means for detecting includes performance counters to detect the activity level.

11. The apparatus as in claim 9 , wherein the specified constraints comprise one or more power constraints.

12. The apparatus as in claim 9 , wherein the means for migrating comprises migrating the first thread from the first set of the plurality of execution resources to the second set of the plurality of execution resources to improve execution performance of one or more of the plurality of threads.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
Continuity (4)
Continuation 13954979 · Jul 31, 2013
Continuation 12220092 · Jul 22, 2008
Provisional Application 61067737 · Feb 29, 2008
Related Publication 20170024001A1 · Jan 26, 2017