Multi-core microprocessor internal bypass bus
First Claim
1. A microprocessor, comprising:
- a plurality of physical pins for coupling the microprocessor to a bidirectional processor bus coupled to a chipset, the processor bus comprising data and address lines;
a die having a plurality of processing cores, each core having a bus interface coupling respective inputs and outputs of the core to corresponding bidirectional lines of the processor bus; and
a bypass bus on the die that enables at least first and second complementary cores of the die to bypass the processor bus in order to communicate directly with each other, the bypass bus providing bus lines corresponding to all of the data and address lines of the processor bus;
wherein the bypass bus does not carry signals off the die, drive signals on the processor bus to the chipset, or receive chipset-driven signals from the processor bus;
wherein when the first core drives values on the processor bus to the chipset, the bus interface of the second core causes the second core to observe the values driven by the first core directly from the bypass bus rather than from the processor bus; and
wherein when the second core drives values on the processor bus to the chipset, the bus interface of the first core causes the first core to observe the values driven by the second core directly from the bypass bus rather than from the processor bus.
1 Assignment
0 Petitions
Accused Products
Abstract
Microprocessors with multi-core dies that include bypass buses are provided. Each microprocessor comprises a plurality of physical pins for coupling the microprocessor to a processor bus coupled to a chipset. The multi-core die has at least two complementary sets of one or more processing cores, each providing a bus interface coupling respective core inputs and outputs to corresponding processor bus lines. A bypass bus on the die enables cores of the complementary sets to bypass the processor bus and communicate directly with each other. The bypass bus does not carry signals off the die, drive signals on the processor bus to the chipset, or receive chipset-drive signals from the processor bus. Moreover, the microprocessor is operable to detect whether the chipset or a complementary core is driving the processor bus, and if the latter, to select the higher quality bypass bus signals over the corresponding processor bus signals.
-
Citations
22 Claims
-
1. A microprocessor, comprising:
-
a plurality of physical pins for coupling the microprocessor to a bidirectional processor bus coupled to a chipset, the processor bus comprising data and address lines; a die having a plurality of processing cores, each core having a bus interface coupling respective inputs and outputs of the core to corresponding bidirectional lines of the processor bus; and a bypass bus on the die that enables at least first and second complementary cores of the die to bypass the processor bus in order to communicate directly with each other, the bypass bus providing bus lines corresponding to all of the data and address lines of the processor bus; wherein the bypass bus does not carry signals off the die, drive signals on the processor bus to the chipset, or receive chipset-driven signals from the processor bus; wherein when the first core drives values on the processor bus to the chipset, the bus interface of the second core causes the second core to observe the values driven by the first core directly from the bypass bus rather than from the processor bus; and wherein when the second core drives values on the processor bus to the chipset, the bus interface of the first core causes the first core to observe the values driven by the second core directly from the bypass bus rather than from the processor bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A microprocessor, comprising:
-
a die having at least two cores and at least two sets of physical input/output landing pads, pairs of corresponding ones of said sets of landing pads coupling the microprocessor to a bidirectional processor bus coupled to a chipset, the processor bus comprising data and address lines; bus interfaces coupling respective inputs and outputs of each core to corresponding physical input/output landing pads of the die; and aa bypass bus on the die that enables at least first and second complementary sets of die cores to bypass the processor bus in order to communicate directly with each other, the bypass bus providing bus lines corresponding to all of the data and address lines of the processor bus; wherein the bypass bus does not carry signals off the die, drive signals on the processor bus to the chipset, or receive chipset-driven signals from the processor bus; wherein when the first set of die cores drives values on the processor bus to the chipset, the bus interfaces cause the second set of die cores to observe the values driven by the first set of die cores directly from the bypass bus rather than from the processor bus; and wherein when the second set of die cores drives values on the processor bus to the chipset, the bus interfaces cause the first set of die cores to observe the values driven by the second set of die cores directly from the bypass bus rather than from the processor bus. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of inter-core communication among cores of a multi-core die, the method comprising:
-
receiving, on a bus interface of a core, both signals from a processor bus connecting the multi-core die to a chipset and signals from a corresponding bypass bus connecting the core to a complementary, bypass-bus-connected core of the multi-core die, wherein the bypass bus does not carry signals off the die, drive signals on the processor bus to the chipset, or receive chipset-driven signals from the processor bus, and wherein the processor bus comprises data and address lines and the bypass bus provides bus lines corresponding to all of the data and address lines of the processor bus; detecting whether the processor bus is being driven by the chipset or the complementary core; and if the processor bus is being driven by the complementary core, causing the bus interface to select signals from the bypass bus instead of signals from the processor bus to drive corresponding core inputs.
-
-
22. A method of inter-core communication among cores of a multi-core die, the method comprising:
-
receiving, on a bus interface shared by a set of twin cores of the die, both a first set of signals from a processor bus connecting the multi-core die to a chipset and a second set of signals from a corresponding bypass bus connecting the set of twin cores to a complementary, bypass-bus-connected set of twin cores of the multi-core die, wherein the first and second sets of signals represent the same values, wherein the bypass bus does not carry the second set of signals off the die, drive the second set of signals on the processor bus to the chipset, or receive chipset-driven signals from the processor bus, and wherein the processor bus comprises data and address lines and the bypass bus provides bus lines corresponding to all of the data and address lines of the processor bus; detecting whether the processor bus is being driven by the chipset or a core of the complementary set of twin cores; and if the processor bus is being driven by a core of the complementary set of twin cores, causing the bus interface to select the second set of signals from the bypass bus instead of the first set of signals from the processor bus to drive corresponding core inputs.
-
Specification