Main processing element for delegating virtualized control threads controlling clock speed and power consumption to groups of sub-processing elements in a system such that a group of sub-processing elements can be designated as pseudo main processing element
First Claim
1. A multi-core processor, comprising:
- a main processing element comprising a set of virtualized control threads;
a first group of sub-processing elements associated with the main processing element via at least one set of virtualized control threads, the at least one set of virtualized control threads controlling a clock speed, power consumption and computation loading of the first group of sub-processing elements; and
a group of sub-processing elements designated as a pseudo main processing element, the pseudo main processing element comprising a set of pseudo virtualized control threads for providing control, to the pseudo main processing element, over operation of a second group of sub-processing elements.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosure is applied to a generic microprocessor architecture with a set (e.g., one or more) of controlling elements (e.g., MPEs) and a set of groups of sub-processing elements (e.g., SPEs). Under this arrangement, MPEs and SPEs are organized in a way that a smaller number MPEs control the behavior of a group of SPEs using program code embodied as a set of virtualized control threads. The arrangement also enables MPEs delegate functionality to one or more groups of SPEs such that those group(s) of SPEs will act as pseudo MPEs. The pseudo MPEs will utilize pseudo virtualized control threads to control the behavior of other groups of SPEs. In a typical embodiment, the apparatus includes a MCP coupled to a power supply coupled with cores to provide a supply voltage to each core (or core group) and controlling-digital elements and multiple instances of sub-processing elements.
50 Citations
16 Claims
-
1. A multi-core processor, comprising:
-
a main processing element comprising a set of virtualized control threads; a first group of sub-processing elements associated with the main processing element via at least one set of virtualized control threads, the at least one set of virtualized control threads controlling a clock speed, power consumption and computation loading of the first group of sub-processing elements; and a group of sub-processing elements designated as a pseudo main processing element, the pseudo main processing element comprising a set of pseudo virtualized control threads for providing control, to the pseudo main processing element, over operation of a second group of sub-processing elements. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processing system, comprising:
-
a main processing element; a first group of sub-processing elements; a virtualized control thread associating the main processing element with the first group of sub-processing elements, the virtualized control thread controlling the first group of sub-processing elements; a pseudo main processing element for controlling a second group of sub-processing elements; and a pseudo virtualized control thread associating the pseudo main processing element with the second group of sub-processing elements, the virtualized control thread providing control, to the pseudo main processing element, over operation of the second group of sub-processing elements, and the virtualized control thread and the pseudo virtualized control thread controlling a clock speed, power consumption and computation loading of the first group of sub-processing elements and the second group of sub-processing elements. - View Dependent Claims (8, 9, 10)
-
-
11. A processing method, comprising:
-
associating a main processing element with a first group of sub-processing element using a set of virtualized control threads; delegating a set of functions of the main processing element to a second group of sub-processing elements to cause the second group of sub-processing elements to act as a pseudo main processing element for controlling operation of a third group of sub-processing elements using a set of pseudo virtualized control threads; and controlling the first group of sub-processing elements using the set of virtualized control threads, the controlling comprising controlling a clock speed, a power consumption and a computation loading of the first group of sub-processing elements and the third group of sub-processing elements. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for deploying a processing system, comprising:
providing a multi-core processor comprising; a main processing element comprising a set of virtualized control threads; a first group of sub-processing elements associated with the main processing element via at least one set of virtualized control threads, the at least one set of virtualized control threads controlling a clock speed, power consumption and computation loading of the first group of sub-processing elements; and a group of sub-processing elements designated as a pseudo main processing element, the pseudo main processing element comprising a set of pseudo virtualized control threads for providing control, to the pseudo main processing element, over operation of a second group of sub-processing elements.
Specification