Delegated virtualization across physical partitions of a multi-core processor (MCP)
First Claim
1. A multi-core processor, comprising:
- a first physical partition comprising a first main processing element;
a second physical partition comprising a second main processing element and a group of sub-processing elements, the group of sub processing elements being designated as a pseudo main processing element by the first main processing element in the first physical partition for controlling a logical partition of sub-processing elements; and
a pseudo virtualized control thread associating the pseudo main processing element of the second physical partition with the logical partition of sub-processing elements, the pseudo virtualized control thread providing control, to the pseudo main processing element of the second physical partition, over operation of the logical partition of sub-processing elements, and the pseudo virtualized control thread further configured to collect computation results from the sub-processing elements of the logical partition.
2 Assignments
0 Petitions
Accused Products
Abstract
This disclosure describes an apparatus, computer architecture, method, operating system, compiler, and application program products for MPEs as well as virtualization across physical boundaries that define physical partitions in a symmetric MCP. Among other things, the disclosure is applied to a generic microprocessor architecture with a set (e.g., one or more) of controlling/main processing elements (e.g., MPEs) and a set of groups of sub-processing elements (e.g., SPEs). The arrangement also enables MPEs to delegate functionality to one or more groups of SPEs such that those group(s) of SPEs may act as pseudo MPEs. Such delegation may occur across the physical boundaries. Regardless, the pseudo MPEs may utilize pseudo virtualized control threads to control the behavior of other groups of SPEs also across physical boundaries.
36 Citations
17 Claims
-
1. A multi-core processor, comprising:
-
a first physical partition comprising a first main processing element; a second physical partition comprising a second main processing element and a group of sub-processing elements, the group of sub processing elements being designated as a pseudo main processing element by the first main processing element in the first physical partition for controlling a logical partition of sub-processing elements; and a pseudo virtualized control thread associating the pseudo main processing element of the second physical partition with the logical partition of sub-processing elements, the pseudo virtualized control thread providing control, to the pseudo main processing element of the second physical partition, over operation of the logical partition of sub-processing elements, and the pseudo virtualized control thread further configured to collect computation results from the sub-processing elements of the logical partition. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processing method, comprising:
-
delegating a set of functions of a main processing element in a first physical partition of a multi-core processor to a group of sub-processing elements in a second physical partition of the multi-core processor to cause the group of sub-processing elements in the second physical partition to act as a pseudo main processing element to control a logical partition of sub-processing elements using a set of pseudo virtualized control threads; and controlling operation, by the pseudo main processing element, of the logical partition of sub-processing elements using the set of pseudo virtualized control threads, the set of pseudo virtualized control threads further configured to collect computation results from the logical partition of sub-processing elements. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A multi-core processor, comprising:
-
a first physical partition comprising a first main processing element; a second physical partition comprising a second main processing element and a group of sub-processing elements, the group of sub processing elements being designated as a pseudo main processing element by the first main processing element in the first physical partition to control a logical partition of sub-processing elements in at least one of the first physical partition and a third physical partition in the multi-core processor; and a pseudo virtualized control thread associating the pseudo main processing element of the second physical partition with the logical partition of sub-processing elements, the pseudo virtualized control thread providing control, to the pseudo main processing element of the second physical partition, over operation of the logical partition of sub-processing elements, and the pseudo virtualized control thread further configured to collect computation results from the sub-processing elements of the logical partition.
-
-
14. A method for deploying a processing system:
providing a multi-core processor being configured to; delegate a set of functions of a main processing element in a first physical partition of the multi-core processor to a group of sub-processing elements in a second physical partition of the multi-core processor to cause the group of sub-processing elements in the second physical partition to act as a pseudo main processing element to control a logical partition of sub-processing elements using a set of pseudo virtualized control threads; and control operation, by the pseudo main processing element, of the logical partition of sub-processing elements using the set of pseudo virtualized control threads, the set of pseudo virtualized control threads further configured to collect computation results from the logical partition of sub-processing elements. - View Dependent Claims (15, 16, 17)
Specification