Multi-core microprocessor internal bypass bus
Abstract
A microprocessor comprises a plurality of physical pins for coupling the microprocessor to a bidirectional processor bus coupled to a chipset, 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 processor bus lines, wherein 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.

Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
34 claims: 7 independent, 27 dependent
- 1A microprocessor includes:a plurality of pins coupled to the microprocessor to a bidirectional processor busbar coupled to a chip set;a chip having a plurality of cores, each core having a bus interface coupled to the above a plurality of bidirectional lines corresponding to the complex output end of the core and the plurality of output terminals to the processor bus;and a bypass bus bar disposed on the chip for enabling at least one first and a second complementary core of the chip Directly communicating with each other by bypassing the processor busbars, the bypass busbars providing a plurality of busbars corresponding to the plurality of processor busbars;wherein the bypass busbars do not transmit signals to the outside of the chip, driving The signal on the bus bar of the processor to the chip set or the chip group driving signal received from the processor bus bar, wherein each of the processor bus bars to which the first and second cores are coupled is The core provides a bus interface as a receiving end to receive an output of a bus line interface multiplexer, and the bus interface interface multiplexer receives The input processor bus line and an output terminal of a corresponding one of the complementary core from the bypass line of the bus. 一種微處理器,包括:複數接腳,耦接上述微處理器至耦接一晶片組的一雙向處理器匯流排;一晶片,具有複數核心,每一核心具有一匯流排介面分別耦接上述核心的複數輸入端與複數輸出端至上述處理器匯流排之對應的複數雙向線;以及一旁路匯流排,配置在上述晶片上,用以使上述晶片的至少一第一與一第二互補核心旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、驅動上述處理器匯流排上的訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中在上述第一與第二核心所耦接至的每一處理器匯流排中,上述核心提供一匯流排介面作為一接收端以接收一匯流排線介面多工器的一輸出,上述匯流排介面多工器接收上述處理器匯流排線與來自上述互補核心之一對應旁路匯流排線的一輸出端中之輸入。 一種微處理器,包括:複數接腳,耦接上述微處理器至耦接一晶片組的一雙向處理器匯流排;一晶片,具有複數核心,每一核心具有一匯流排介面分別耦接上述核心的複數輸入端與複數輸出端至上述處理器匯流排之對應的複數雙向線;以及一旁路匯流排,配置在上述晶片上,用以使上述晶片的至少一第一與一第二互補核心旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、驅動上述處理器匯流排上的訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中在上述第一與第二核心所耦接至的每一處理器匯流排中,上述核心提供一匯流排介面作為一接收端以接收一匯流排線介面多工器的一輸出,上述匯流排介面多工器接收上述處理器匯流排線與來自上述互補核心之一對應旁路匯流排線的一輸出端中之輸入。
- 9A microprocessor comprising:a wafer having at least two cores and at least two sets of contact pads, wherein a plurality of pairs of contact pads of the two sets of contact pads are coupled to the microprocessor to be coupled to a chip set a bidirectional processor bus;a plurality of bus interfaces, respectively coupled to a plurality of input ends of each core and a plurality of output terminals to corresponding pads of the chip;and a bypass bus bar disposed on the chip for enabling the At least one first and a second complementary core group of the wafer bypasses the processor bus bar to directly communicate with each other, and the bypass bus bar provides a plurality of bus bars corresponding to the plurality of processor bus bars;wherein the bypass bus The row does not transmit a signal to the outside of the chip, the driver bus signal is driven to the chip set or receives a chip group driven signal from the processor bus, wherein the first and second groups of cores Connected to each processor bus, the corresponding core group provides a bus interface as a receiving end to receive a bus line interface multiplexer An output of said multiplexer receiving said bus interface processor is a bus line and an input from the output terminal of a corresponding one of the complementary core bypass line of the bus. 一種微處理器,包括:一晶片,具有至少兩核心且至少兩組接觸墊,其中上述兩組接觸墊中之複數對接觸墊用以耦接上述微處理器至耦接至一晶片組的一雙向處理器匯流排;複數匯流排介面,分別耦接每一核心的複數輸入端與複數輸出端至上述晶片之對應的接觸墊;以及一旁路匯流排,配置於上述晶片上,用以使上述晶片的至少一第一與一第二互補核心組旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中在上述第一與第二組核心所耦接至的每一處理器匯流排中,上述對應核心組提供一匯流排介面作為一接收端以接收一匯流排線介面多工器的一輸出,上述匯流排介面多工器接收上述處理器匯流排線與來自上述互補核心之一對應旁路匯流排線的一輸出端中之輸入。 一種微處理器,包括:一晶片,具有至少兩核心且至少兩組接觸墊,其中上述兩組接觸墊中之複數對接觸墊用以耦接上述微處理器至耦接至一晶片組的一雙向處理器匯流排;複數匯流排介面,分別耦接每一核心的複數輸入端與複數輸出端至上述晶片之對應的接觸墊;以及一旁路匯流排,配置於上述晶片上,用以使上述晶片的至少一第一與一第二互補核心組旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中在上述第一與第二組核心所耦接至的每一處理器匯流排中,上述對應核心組提供一匯流排介面作為一接收端以接收一匯流排線介面多工器的一輸出,上述匯流排介面多工器接收上述處理器匯流排線與來自上述互補核心之一對應旁路匯流排線的一輸出端中之輸入。
- 17An inter-core communication method for a multi-core chip, comprising:receiving a signal from a processor bus bar and a corresponding bypass bus bar on a bus interface of a core, the processor bus bar connecting the multi-core chip To a chip set, the bypass bus bar connects a complementary core of the core to the upper multi-core chip, wherein the bypass bus bar does not transmit a signal to the outside of the chip, and drives the signal in the processor bus bar to the above a chipset or a chipset driving signal received from the processor busbar;detecting whether the processor busbar is driven by the chipset or by the complementary core;and when the processing busbar is driven by the complementary core The bus interface is selected from the bypass bus, and the signal from the processor bus is not selected to drive the corresponding core input. 一種多核心晶片之核心間通訊方法,包括:在一核心的一匯流排介面上接收來自一處理器匯流排與來自一相對應旁路匯流排的訊號,上述處理器匯流排連接上述多核心晶片至一晶片組,上述旁路匯流排連接上述核心至上數多核心晶片的一互補核心,其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號;偵測上述處理器匯流排是否被上述晶片組或被上述互補核心所驅動;以及當上述處理匯流排被上述互補核心所驅動時,使上述匯流排介面選擇來自上述旁路匯流排的訊號,而不選擇來自上述處理器匯流排的訊號,以驅動對應的核心輸入端。 一種多核心晶片之核心間通訊方法,包括:在一核心的一匯流排介面上接收來自一處理器匯流排與來自一相對應旁路匯流排的訊號,上述處理器匯流排連接上述多核心晶片至一晶片組,上述旁路匯流排連接上述核心至上數多核心晶片的一互補核心,其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號;偵測上述處理器匯流排是否被上述晶片組或被上述互補核心所驅動;以及當上述處理匯流排被上述互補核心所驅動時,使上述匯流排介面選擇來自上述旁路匯流排的訊號,而不選擇來自上述處理器匯流排的訊號,以驅動對應的核心輸入端。
- 18An inter-core communication method for a multi-core chip, comprising:receiving a signal from a processor bus bar and a corresponding bypass bus bar on a shared bus interface of a pair of core pairs, wherein the processor bus bar is connected to the above a multi-core chip to a chip set, the bypass bus bar connecting a complementary core group of the dual core pair to the upper multi-core chip, wherein the bypass bus bar does not transmit a signal to the outside of the chip, in the processor Bus drive signal to the above chipset or reception from the above a chipset driven signal of the processor bus;detecting whether the processor bus is driven by the chip group or by a core of the complementary core group;and when the processing bus is connected to a core of the complementary core group When driving, the bus interface interface is selected from the bypass bus signal, and the signal from the processor bus is not selected to drive the corresponding core input. 一種多核心晶片之核心間通訊方法,包括:在一雙核心對所共享的一匯流排介面上接收來自一處理器匯流排與來自一對應旁路匯流排的訊號,上述處理器匯流排連接上述多核心晶片至一晶片組,上述旁路匯流排連接上述雙核心對至上數多核心晶片的一互補核心組,其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述 處理器匯流排的晶片組驅動的訊號;偵測上述處理器匯流排是否被上述晶片組或被上述互補核心組的一核心所驅動;以及當上述處理匯流排被上述互補核心組的一核心所驅動時,使上述匯流排介面選擇來自上述旁路匯流排的訊號,而不選擇來自上述處理器匯流排的訊號,以驅動相對應的核心輸入端。 一種多核心晶片之核心間通訊方法,包括:在一雙核心對所共享的一匯流排介面上接收來自一處理器匯流排與來自一對應旁路匯流排的訊號,上述處理器匯流排連接上述多核心晶片至一晶片組,上述旁路匯流排連接上述雙核心對至上數多核心晶片的一互補核心組,其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述 處理器匯流排的晶片組驅動的訊號;偵測上述處理器匯流排是否被上述晶片組或被上述互補核心組的一核心所驅動;以及當上述處理匯流排被上述互補核心組的一核心所驅動時,使上述匯流排介面選擇來自上述旁路匯流排的訊號,而不選擇來自上述處理器匯流排的訊號,以驅動相對應的核心輸入端。
- 19A microprocessor includes:a plurality of pins coupled to the microprocessor to a bidirectional processor busbar coupled to a chip set;a chip having a plurality of cores, each core having a bus interface coupled to the above a plurality of bidirectional lines corresponding to the complex output end of the core and the plurality of output terminals to the processor bus;and a bypass bus bar disposed on the chip for enabling at least one first and a second complementary core of the chip Directly communicating with each other by bypassing the processor busbars, the bypass busbars providing a plurality of busbars corresponding to the plurality of processor busbars;wherein the bypass busbars do not transmit signals to the outside of the chip, driving a signal on the bus bar of the processor to the chip set or a chip group driving signal received from the processor bus, wherein each bypass bus line has a corresponding bus interface coupled to the first and second cores Input and output, wherein each bypass bus has an input for connecting to one of the first and second cores Corresponding to the bus line interface transistor gate, and an output terminal for connection to the other of said first and second core of the bus line to a corresponding interface multiplexer One input. 一種微處理器,包括:複數接腳,耦接上述微處理器至耦接一晶片組的一雙向處理器匯流排;一晶片,具有複數核心,每一核心具有一匯流排介面分別耦接上述核心的複數輸入端與複數輸出端至上述處理器匯流排之對應的複數雙向線;以及一旁路匯流排,配置在上述晶片上,用以使上述晶片的至少一第一與一第二互補核心旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、驅動上述處理器匯流排上的訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中每一旁路匯流排線具有耦接至上述第一與第二核心之對應匯流排介面的輸入端與輸出端,其中每一旁路匯流排線具有一輸入端,用以連接到上述第一與第二核心之一者的一對應匯流排線介面電晶體的閘極,以及一輸出端,用以連接到上述第一與第二核心之另一者的一對應匯流排線介面多工器 的一輸入端。 一種微處理器,包括:複數接腳,耦接上述微處理器至耦接一晶片組的一雙向處理器匯流排;一晶片,具有複數核心,每一核心具有一匯流排介面分別耦接上述核心的複數輸入端與複數輸出端至上述處理器匯流排之對應的複數雙向線;以及一旁路匯流排,配置在上述晶片上,用以使上述晶片的至少一第一與一第二互補核心旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、驅動上述處理器匯流排上的訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中每一旁路匯流排線具有耦接至上述第一與第二核心之對應匯流排介面的輸入端與輸出端,其中每一旁路匯流排線具有一輸入端,用以連接到上述第一與第二核心之一者的一對應匯流排線介面電晶體的閘極,以及一輸出端,用以連接到上述第一與第二核心之另一者的一對應匯流排線介面多工器 的一輸入端。
- 25Such as the microprocessor described in claim 24, The core for the bus interface multiplexer is configured to:detect the bus set or the complementary core that is driving the processor bus by analyzing the signal of the processor bus;and provide a corresponding control input to the above The above-mentioned bus line interface multiplexer of the core. 如申請專利範圍第24項所述之微處理器,其中提 供上述匯流排介面多工器的上述核心用以:透過解析上述處理器匯流排的訊號偵測正在驅動上述處理器匯流排的是上述晶片組或上述互補核心;以及提供一對應控制輸入至上述核心的上述匯流排線介面多工器。 如申請專利範圍第24項所述之微處理器,其中提 供上述匯流排介面多工器的上述核心用以:透過解析上述處理器匯流排的訊號偵測正在驅動上述處理器匯流排的是上述晶片組或上述互補核心;以及提供一對應控制輸入至上述核心的上述匯流排線介面多工器。
- 27A microprocessor comprising:a wafer having at least two cores and at least two sets of contact pads, wherein a plurality of pairs of contact pads of the two sets of contact pads are coupled to the microprocessor to be coupled to a chip set a bidirectional processor bus;a plurality of bus interfaces, respectively coupled to a plurality of input ends of each core and a plurality of output terminals to corresponding pads of the chip;and a bypass bus bar disposed on the chip for enabling the At least one first and a second complementary core group of the wafer bypasses the processor bus bar to directly communicate with each other, and the bypass bus bar provides a plurality of bus bars corresponding to the plurality of processor bus bars;wherein the bypass bus The row does not transmit signals to the outside of the wafer, drives signals to the chipset or receives chipset driving signals from the processor busbars, and each of the bypasses The bus bar has an input end and an output end coupled to the corresponding bus bar interface of the first and second complementary core groups, wherein each bypass bus bar has an input end for connecting to one of the complementary core groups a gate of the corresponding busbar interface transistor, and an output terminal for connecting to an input of a corresponding busbar interface multiplexer of the other of the complementary core groups. 一種微處理器,包括:一晶片,具有至少兩核心且至少兩組接觸墊,其中上述兩組接觸墊中之複數對接觸墊用以耦接上述微處理器至耦接至一晶片組的一雙向處理器匯流排;複數匯流排介面,分別耦接每一核心的複數輸入端與複數輸出端至上述晶片之對應的接觸墊;以及一旁路匯流排,配置於上述晶片上,用以使上述晶片的至少一第一與一第二互補核心組旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中每一旁路 匯流排線具有耦接至上述第一與第二互補核心組之對應匯流排介面的輸入端與輸出端,其中每一旁路匯流排線具有輸入端,用以連接到上述互補核心組之一者的一對應匯流排線介面電晶體的閘極,以及一輸出端,用以連接到上述互補核心組之另一者的一對應匯流排線介面多工器的一輸入端。 一種微處理器,包括:一晶片,具有至少兩核心且至少兩組接觸墊,其中上述兩組接觸墊中之複數對接觸墊用以耦接上述微處理器至耦接至一晶片組的一雙向處理器匯流排;複數匯流排介面,分別耦接每一核心的複數輸入端與複數輸出端至上述晶片之對應的接觸墊;以及一旁路匯流排,配置於上述晶片上,用以使上述晶片的至少一第一與一第二互補核心組旁路上述處理器匯流排而直接互相通訊,上述旁路匯流排提供對應於複數處理器匯流排線的複數匯流排線;其中上述旁路匯流排不會將訊號傳送至上述晶片的外部、在上述處理器匯流排驅動訊號至上述晶片組或接收來自上述處理器匯流排的晶片組驅動的訊號,其中每一旁路 匯流排線具有耦接至上述第一與第二互補核心組之對應匯流排介面的輸入端與輸出端,其中每一旁路匯流排線具有輸入端,用以連接到上述互補核心組之一者的一對應匯流排線介面電晶體的閘極,以及一輸出端,用以連接到上述互補核心組之另一者的一對應匯流排線介面多工器的一輸入端。
Independent claims7
72 paragraphs, as filed
Internal bypass busbar for core processor
Multi-Core Microprocessor Internal Bypass Bus
[References in related applications]
The application of the priority of the present application is based on the U.S. Patent Provisional Application No. 61/426,470, filed on Dec. 12/22/2010, the name of the multi-core bypass bus (MULTI-CORE INTERNAL BYPASS BUS) The case as a whole is included in the case.
This application has the same filing date as the following US patent application filed in the same application, and each application is incorporated by reference in its entirety.
<tables><img file="twi474175b_d0001.tif" he="2064" id="i0001" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2028" /></tables>
<tables><img file="twi474175b_d0002.tif" he="1620" id="i0002" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2022" /></tables>
The present invention relates to multi-core microprocessors, and more particularly to signal quality on a bus that is shared by multiple cores.
When one of the plurality of cores drives the processor bus, the inventors of the present invention observe that the quality of the signals received by the other cores of the multi-core microprocessor from the processor bus is unreliable, and the system is unreliable. All cores of the core microprocessor share a chipset by the processor bus, as detailed in Figures 1 and 2 below. Therefore, there is an urgent need for a method to solve the problem of poor signal quality.
In one embodiment, the present invention provides a microprocessor having a multi-core wafer. The wafer has a plurality of cores and the output signal of the core is coupled to the contact pads of the wafer. The wafer system is mounted on a package for coupling the contact pads of the wafer (and other wafers) to the pins of the package. The pins of the package couple the package to a processor bus, and the processor bus is coupled to a chip set.
The wafer has a bypass bus to enable complementary processing cores or complementary dual core pairs of the multi-core wafer to bypass the processor bus and to communicate directly with other cores. Here, "complementary" means that the core or dual core pair of the wafer is connected by a bypass bus. The bypass bus has a plurality of routing networks disposed on the wafer, and the routing network passes the complex output signals from each core or dual core pair to its corresponding complementary core or complementary dual core pair input. The bypass bus is isolated from the contact pads of the wafer or the pins of the multi-core microprocessor via the isolation of the intermediary bus interface logic, so the bypass bus does not transmit signals to the outside of the dual core wafer. In addition, the bypass bus line isolates the noise on the corresponding processor bus line by the protection of the intermediary bus interface logic.
In another embodiment, the bypass bus bar provides a bus bar corresponding to each processor bus bar. In each bypass processor bus line, a first one-way bypass bus line is used to provide signals from a first core (or first dual core pair) to a complementary second core (or second pair) The core pair), a second one-way bypass bus line is used to provide signals from the second core (or the second dual core pair) to the first core (or the first dual core pair).
In another embodiment, each core includes a bus interface circuit for improving bypass bus communication through the bypass line. In a typical processor bus communication, each core is coupled to a corresponding processor bus line to drive an output signal to the processor bus line or receive an input signal from the processor bus line. In order to improve two-way communication, the core bus interface circuit provides intermediate input and output bus line interface logic to couple the input and output signals of each core to the corresponding chip input/output contact pads.
In another embodiment, the intermediate output logic includes a busbar interface transistor coupled to the output signal line of the core. In another embodiment, a dual core pair shared chip input/output contact pad is output by performing a Boolean operation (such as OR) on the output signal of the dual core pair. The mediation input logic includes a bus line interface multiplexer for receiving, at its input, a chip drive signal on a corresponding processor bus line and a corresponding output signal of one of the same core or the same pair of cores.
In another embodiment, the bypass bus is coupled to the complementary core or dual core pair by wires or wires at each end point, wherein the ends of the wires or wires are coupled to the output or input signals of the core or dual core pairs. The line and the intervening bus interface interface logic, and the intervening bus line interface is logically coupled to the output or input signal line to the corresponding physical input/output contact pad. In another embodiment, the input end of each bypass bus line is coupled to the gate of the corresponding bus line interface transistor, and the output end of each bypass bus line is coupled to the corresponding bus line interface multiplexer. Input. The transistor and the multiplexer temporarily store the input and output signals from the bypass bus line of the corresponding processor bus.
In another embodiment, the present invention also provides a method of intercore communication of a multi-core chip. A bus interface of a core or dual core pair receives signals from a processor bus that connects the multi-core chip to the chipset, and a complementary core or dual core pair from the corresponding connected core or dual core pair to the multi-core chip (via bypass The signal of the corresponding bypass busbar connected to the busbar. The bypass bus does not transmit signals to the outside of the chip or receives the chipset drive signals from the processor bus, nor does it drive the signals on the processor bus to the chipset. One of the core or dual core pairs detects whether a core of the chipset or complementary core or complementary dual core pair is driving the processor bus. When a core of a complementary core or complementary dual core pair is driving a processor bus, the bus interface selects a signal from the bypass bus instead of a signal from the processor bus to drive the corresponding core input.
In another embodiment, each complementary core or dual core pair on a multi-core semiconductor wafer includes a complex intervening input logic multiplexer. Each of the mediation input logic multiplexers receives a control input signal and a plurality of selectable input signals and provides an output signal. A first selectable input is coupled to a corresponding one of the plurality of contact pads of the core, the corresponding contact pads being coupled to the processor bus. A second selectable input is coupled to the output of the core, and in the dual core pair, the output of the core is coupled to a Boolean logic. A third selection input is coupled to a corresponding bypass bus line for transmitting an output signal from the complementary core or a pair of cores, and one of the multiplexer selectable inputs is passed to the core. A control input is used to cause the multiplexer to select which one to use as its output. When the chipset drives the processor bus, the multiplexer selects the first input as its output. When the core or dual core pair drives the processor bus, the multiplexer selects the second input as its output. When one of the complementary core or complementary dual core pairs drives the processor bus, the multiplexer selects the third input as its output. The multiplexer output is coupled to the respective input signal lines of the transmit signal to the core or dual core pair.
In addition, each core or dual core pair includes a complex intermediate output logic transistor, and each of the intermediate output logic transistors has a gate, a source, and a drain. The source is grounded and the drain is coupled to the corresponding one of the input/output contact pads of the core or dual core pair. The gate is coupled to the output signal line of the core and driven by the output signal line of the core. In an embodiment of the dual core pair, the gate is coupled to an operational output signal line that performs a Boolean operation (eg, OR). The gate is further coupled to the second selection input of the corresponding intermediate output logic transistor, and coupled to the third selection input of the intermediate output logic transistor of the complementary core (or dual core pair) through the bypass bus line.
In order to solve the above problem of poor signal quality in a multi-core microprocessor, the inventors provide an internal bypass bus between two cores of a dual core microprocessor according to an embodiment, and in a quad core according to another embodiment An internal bypass bus is provided between the four cores of the microprocessor. However, a typical dual core microprocessor is described herein first to make the embodiments of the present invention easier to understand.
Figure 1 is a schematic illustration of an electronic system 100 including a conventional dual core microprocessor package. The electronic system 100 has a dual core microprocessor package that is coupled to the chip set 144 by a processor bus 142. The dual core microprocessor 102 has two processing cores, core 0 106A and core 1 106B, collectively referred to as core 106. Wafer set 144 includes known circuitry such as a memory controller for controlling system memory and a bus bridge for bridging processor bus 142 to surrounding busses such as ISA, PCI, PCI-Express, and the like.
Core 0 106A and core 1 106B each include a plurality of blocks for executing instructions of a stored program, such as an instruction fetch unit, an instruction decode unit, a general purpose and special purpose register, an address generation unit, and a fast The memory, the execution unit, the retire unit, and the bus interface are used as the interface between the core and the processor bus 142. Core 106 has a variety of architectural features, such as sequential or non-sequential execution, scalar or super-scalar architecture, complex instruction set computer (CISC) giant structure or reduced instruction set computer (RISC) micro structure.
As shown, core 0 106A and core 1 106B are each located on a separate semiconductor wafer 104, while two wafers 104 of dual core microprocessor 102 are included in a single package. Core 0 106A and core 1 106B each include a plurality of contact pads 108 for transmitting signals from core 0 106A and core 1 106B internal circuitry to processor bus 142, and signals from processor bus 142 Transfer to core 0 106A and core 1 106B. The contact pad of core 0 106A is contact pad 108A, core 1 The contact pad of 106B is contact pad 108B. The dual core microprocessor package includes a substrate on which the wafer 104 is located, the substrate having a plurality of interconnects between the contact pads 108 of the core 106 and the pins 112 of the dual core microprocessor package, wherein The interconnects are used to connect the dual core microprocessor 102 to other components of the electronic system 100, such as to the chipset 144 via a motherboard. Although the contact pads 108 shown in FIG. 1 are only located on one side of the wafer 104, the contact pads 108 are typically located on the other side of the wafer 104. Moreover, while the wafer 104 shown in FIG. 1 has only three contact pads 108, the wafer 104 typically has hundreds of contact pads 108. As shown in FIG. 1, the contact pads 108A/108B of the core 106 are coupled to the same pin 112 because the dual core microprocessor package system connects them to the processor bus 142 with a single set of pins 112; The core 0 106A and the core 1 106B are both coupled to the shared pin 112, wherein the pin 112 is used to connect the dual core microprocessor package to the processor bus 142.
2 is a schematic diagram of the bus interface interface circuit 200 of the exemplary dual core microprocessor 102 of FIG. The bus interface circuit 200 includes a contact pad 108A coupled to a pin 112 of the external processor bus 142, the contact pad 108A being a physical location for attaching the connector to the pin 112 of the dual core microprocessor package; That is, contact pad 108A does not include any active electronic devices. The contact pad 108A is also coupled to the signal 208A. The signal 208A is coupled to the drain of the transistor 204A. The source of the transistor 204A is grounded, and the gate of the transistor 204A is used to receive the signal 206A from the core 0 106A. The signal 206A can be a data signal, an address signal or a control signal for providing a value to the contact pad 108A via the signal 208A for driving to the signal of the corresponding processor bus 142. Thus, although Figure 2 shows only the configuration of a single signal for processor bus 142, each signal of processor bus 142 has the same configuration. The bus interface circuit 200 includes a multiplexer 202A having two inputs. The input 0 of the multiplexer 202A receives the signal 208A, and the input 1 of the multiplexer 202A receives the signal 206A. The output of the multiplexer 202A outputs a signal 205A to a core 0 106A for use as a core 0. An input for 106A. The signal 205A can be a data signal, a bit address signal or a control signal corresponding to one of the signals of the processor bus 142. Signal 205A can pass values from other processing units (core 1 106B or wafer set 144) of electronic system 100 through contact pads 108A and signals 208A. In addition, signal 205A can pass the value from core 0 106A through signal 206A to snoop its cache memory. The selection signal 207A is used to cause the multiplexer 202A to select the input of the multiplexer 202A to provide the signal 205A at the output in the manner shown in Table 1.
<tables><img file="twi474175b_d0003.tif" he="1016" id="i0003" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2077" /></tables>
The bus bar interface circuit 200 includes a contact pad 108B coupled to the pin 112 of the external processor bus 142. The contact pad 108B is also coupled to the signal 208B. The signal 208B is coupled to the drain of the transistor 204B, and the transistor 204B. The source is grounded. The gate of the transistor 204B is configured to receive the signal 206B from the core 1 106B. The signal 206B can be a data signal, an address signal or a control signal for providing a value through the signal 208B and the contact pad 108B to be driven. To the signal corresponding to the processor bus 142. The bus interface circuit 200 includes a multiplexer 202B having two inputs. The input 0 of the multiplexer 202B receives the signal 208B, and the input 1 of the multiplexer 202B receives the signal 206B. The output of multiplexer 202B outputs signal 205B to core 1 106B for use as an input to core 1 106B. The signal 205B can be a data signal, a bit address signal or a control signal corresponding to one of the signals of the processor bus 142. Signal 205B can pass values from another processing unit (core 0 106A or chipset 144) of electronic system 100 through contact pad 108B and signal 208B. In addition, the signal 205B can be transmitted from the core 1 through the signal 206B. The value of 106B is to spy on its cache memory. The selection signal 207B is used to cause the multiplexer 202B to select the input of the multiplexer 202B in the manner shown in Table 2 to provide the signal 205B at the output.
<tables><img file="twi474175b_d0004.tif" he="1017" id="i0004" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2085" /></tables>
Although not shown in FIG. 2, an end point resistor can be coupled to each of the contact pads 108A and 108B. The fuse can be coupled between the interrupt resistor and the power source. To selectively couple the interrupt resistors to contact pads 108A and 108B, the fuses can be selectively blown or retained during the manufacture of the microprocessor.
The inventor has found that the signal quality of the signal 208A is poor when the core 1 106B drives the processor bus 142. Conversely, when the core 0 106A drives the processor bus 142, the signal quality of the signal 208B is also poor, both of which make the system unreliable. . Therefore, there is a great need for a way to solve this problem.
3 is a schematic diagram of an electronic system 300 including a dual core processor package in accordance with an embodiment of the present invention. The electronic system 300 includes a wafer set 144 and a processor bus 142 similar to those shown in FIG. The electronic system 300 also includes a dual core microprocessor package that is coupled to the chip set 144 by a processor bus 142. The dual core microprocessor 302 includes two processing cores, core 0 306A and core 1 306B, collectively referred to as core 306.
Core 306 is similar to core 106 of Figure 1, however, the construction of core 306 of Figure 3 is as follows. Unlike the core 106 of the dual core microprocessor 102 shown in FIG. 1, the core 306 of the dual core microprocessor 302 shown in FIG. 3 is located in a single semiconductor wafer 304 in a dual core microprocessor package. That is, the manufacturer of the dual-core microprocessor 302 of FIG. 3 is fabricated by fabricating a plurality of wafers 304 in a matrix arrangement on a semiconductor wafer, and then cutting the wafers 304 into solid blocks. That is, the dual-core microprocessor 102 shown in FIG. 1 mounts two physical wafers 104 on a package substrate, and the two physical wafers 104 are connected by signal wires on the package substrate. Together, the dual core microprocessor 302 of FIG. 3 is a single physical die 304 having one of the cores 306A and 306B. Moreover, as with the dual core microprocessor 102 of FIG. 1, the cores 306A and 306B of the dual core microprocessor 302 each include contact pads 108A and 108B that are coupled to corresponding pins 112 of the processor bus 142, and core 306A. The contact pads 108A and 108B of 306B are coupled through the substrate wires and the corresponding pins 112, as shown in the third figure.
In one embodiment, the dual core microprocessor 302 of FIG. 3 having a single wafer 304 is designed in the manner described in Patent No. 61/426,470, "Improving the Mask Set to Produce a Multi-Core Wafer" (CNTR.2528). And manufacturing. Briefly, the manufacturer designs a first mask set to print a set of single core wafers (such as the single core wafer 104 of FIG. 1) in accordance with the method proposed in CNTR.2528. The first mask set defines a plurality of cut lines for separating the single core wafers, and the cut lines define a seal ring surrounding each dual core wafer. The manufacturer modifies a portion of the reticle of the first reticle set to a second reticle set that can be used to print a set of dual core wafers (such as the dual core wafer 304 of FIG. 3). The manufacturer removes at least one of the cut lines of the first mask set, and the corresponding modified portion of the first mask set defines a bypass bus 309 (inter-core communication line 212 in CNTR.2528). Next, the manufacturer fabricates the wafer using the second mask set and cuts the dual core wafer 304 along the remaining cut lines to produce the dual core wafer 304.
The bypass busbar 309 connects adjacent cores 306A and 306B on the wafer, the cores 306A and 306B being separated by a pre-designed cutting line, but the cutting line is replaced by a bypass busbar 309 such that the two cores 306 Communication is possible during operation. Since core 0 306A is connected to core 1 306B by bypass bus 309, core 0 306A and core 1 306B can be considered complementary. Because the bypass bus 309 is not connected to the contact pads 108, the bypass bus 309 does not transmit signals to the outside of the dual core wafer 304.
4 is a schematic diagram of a bus interface interface circuit 400 of the dual core microprocessor 302 of FIG. Busbar interface circuit 400 having a single wafer 304 is modified from busbar interface circuit 200 of FIG. 2 to accommodate bypass busbar 309 and to provide improved signal quality for processor busbar 142.
The busbar interface circuit 400 of Fig. 4 is similar in many places to the busbar interface circuit 200 of Fig. 2, and the number of components is similar. However, the following will be described for different places.
In Fig. 4, a multiplexer 402A having three inputs replaces the multiplexer 202A having two inputs in Fig. 2. The third input of the multiplexer 402A in FIG. 4 is the input terminal 2, and the input terminal 2 is coupled to the bypass bus signal 309A, wherein the bypass bus signal 309A is the signal 206B from the core 1 306B. The select input of multiplexer 402A receives select signal 407A, and select signal 407A is used to cause multiplexer 402A to select the input of multiplexer 402A in the manner shown in Table 3.
<tables><img file="twi474175b_d0005.tif" he="995" id="i0005" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2017" /></tables>
Similarly, multiplexer 402B having three inputs replaces multiplexer 202B having two inputs of FIG. In FIG. 4, the third input of the multiplexer 402B is referred to as the input terminal 2, and the input terminal 2 is coupled to the bypass bus signal 309B, wherein the bypass bus signal 309B is the signal from the core 0 306A. 206A. The select input of multiplexer 402B receives select signal 407B, and select signal 407B is used to cause multiplexer 402B to select the input of multiplexer 402B in the manner shown in Table 4.
<tables><img file="twi474175b_d0006.tif" he="177" id="i0006" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="1997" /></tables>
<tables><img file="twi474175b_d0007.tif" he="948" id="i0007" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2177" /></tables>
An advantage that can be seen from FIG. 4 is that when core 0 306A drives processor bus 142, core 1 306B can monitor the value driven by core 0 306A directly from internal bypass bus 309B instead of transmitting signals. 208B is monitored by external processor bus 142 because the quality of the signal monitored from external processor bus 142 is much worse than the quality of the signal monitored from internal bypass bus 309B; when core 1 306B is driven At bus 142, core 0 306A can monitor the value driven by core 1 306B directly from internal bypass bus 309A, rather than being monitored by external processor bus 142 via signal 208A, due to bus 142 from external processor. The monitored signal quality will be much worse than the quality of the signal monitored from the internal bypass bus 309A.
Another benefit is that the embodiments of Figures 3 and 4 can provide a dual core microprocessor with improved signal quality by means of an internal bypass bus and avoid the need for additional contact pads to establish between the two cores. Bypass busbars, in the design of a limited pad-limited, the need for additional contact pads is a particularly useful benefit.
In one embodiment, the data and address signals on the processor bus 142 are two-frequency signals and quad-frequency signals corresponding to the control signals of the processor bus 142. The inventors have observed that the signal quality of the signal 208A is poor when the core 1 106B drives the processor bus 142. Conversely, when the core 0 106A drives the processor bus 142, the signal quality of the signal 208B is also poor, especially for the double frequency signal. The data of the quadruple frequency signal and the address signal are even more so. However, the signal quality of the single signal (ie, the normal bus clock speed) control signal is relatively reliable, and the control logic of the bus interface circuit 400 that generates the selection signal 407 can be used to observe the control signal of the processor bus 142 at a single speed. In order to reliably determine which cell (ie, core 0 306A, core 1 306B, or chipset 144) is driving processor bus 142.
Four core embodiment
Figure 5 is a schematic illustration of an electronic system 500 including a conventional dual core microprocessor package. The electronic system 500 is similar to the electronic system 300 of FIG. 3; however, the dual core microprocessor 502 having a single wafer 504 of FIG. 5 is different from the dual core microprocessor 302 having a single wafer 304 of FIG. The single wafer 504 includes only a single contact pad 108A for corresponding to each pin 112 of the processor bus bar 142. That is, core 0 506A of dual core microprocessor 502 of FIG. 5 shares a set of contact pads 108A with core 1 506B, rather than dual core microprocessors 302 of FIG. 3 each having contact pads 108A and 108B. Thus, core 0 506A and core 1 506B can be a dual core pair. The dual core microprocessor 502 of FIG. 5 having a single wafer 504 can include a cache memory shared by core 0 506A and core 1 506B.
Figure 6 is a schematic illustration of a bus interface interface circuit 600 of a conventional dual core microprocessor 502 according to Figure 5. Bus interface circuit 600 includes contact pads 108A that are coupled to pins 112 of external processor bus 142. The contact pad 108A is coupled to the signal 208, and the signal 208 is coupled to the drain of the transistor 204, and the source of the transistor 204 is grounded. The gate of transistor 204 is for receiving an output signal 601 of OR gate 603 having two inputs, and the input of OR gate 603 receives signal 206A from core 0 506A and signal 206B from core 1 506B. When the core 0 506A drives the processor bus 142, the core 1 506B generates a signal 206B having a false value, so that the core 0 506A can control the output signal 601, the transistor 204, and the pin 112 of the OR gate 603. The output value is connected to the processor bus 142. Conversely, when core 1 506B drives processor bus 142, core 0 506A generates a signal 206A with an error value to cause core 1 506B can control the output signal 601 of the OR gate 603, the output value of the transistor 204, the pin 112, and the processor bus 142. Each of the output signals 206A and 206B can be a data signal, an address signal or a control signal for providing a value to the contact pad 108A via the signal 208 for being driven to a corresponding signal of the processor bus 142. Therefore, although FIG. 6 only shows the configuration of a single signal of the processor bus 142, each signal of the processor bus 142 has the configuration shown in FIG.
The bus interface circuit 600 further includes a multiplexer 602 having two inputs. The multiplexer 602 receives the signal 208 at the input 0 and receives the output signal 601 at the input 1. The output of the multiplexer 602 provides the signal 205A and the signal 205B to the core 0 506A and the core 1 506B as the input signals of the core 0 506A and the core 1 506B, respectively. The signals 205A and 205B may be data signals, address signals or control signals corresponding to one of the signals of the processor bus 142. Signals 205A and 205B can pass values from another processing unit (wafer set 144) of electronic system 500 through contact pads 108A and signals 208. In addition, the signal 205A and the signal 205B can pass the value from the core 1 506B through the OR gate 603 and the output signal 601, or transmit the value from the core 0 506A through the OR gate 603 and the output signal 601 to snoop the cache memory. The selection signal 607 controls the multiplexer 602 to select the input of the multiplexer 602 in the manner shown in Table 5 to provide the signal 205A.
<tables><img file="twi474175b_d0008.tif" he="1035" id="i0008" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2091" /></tables>
Figure 7 illustrates an electronic system 700 in accordance with an embodiment of the present invention. The electronic system 700 includes a quad core microprocessor package. The electronic system 700 includes a wafer set 144 and a processor bus 142, similar to the wafer set 144 and processor bus 142 shown in FIG. Electronic system 700 includes a quad core microprocessor package coupled to chip set 144 by processor bus 142. The quad core microprocessor 702 includes four processing cores, collectively referred to as core 706, which are core 0 706A, core 1 706B, core 2 706C, and core 3 706D, respectively.
Core 0 706A forms a dual core pair with core 1 706B, similar to a dual core pair formed by core 0 506A and core 1 506B. In detail, core 0 706A shares a set of contact pads 108A with core 1 706B that are coupled to pins 112 of corresponding processor busbars 142 via substrate wires. Similarly, core 2 706C shares a set of contact pads 108B with core 3 706D that are coupled to pins 112 of corresponding processor busbars 142 through substrate wires. The four cores 706 of the quad core microprocessor 702 are all located on a single wafer 704.
The manufacturer of the core microprocessor 702 of FIG. 7 is fabricated in a matrix arrangement on a semiconductor wafer to fabricate a plurality of wafers 704, which are then diced into solid blocks. In one embodiment, the quad core microprocessor 702 of FIG. 7 having a single wafer 704 is designed and fabricated in the manner described in CNTR.2528. That is, the manufacturer designs a first reticle set for printing a set of dual core wafers (such as the dual core wafer 504 of FIG. 5). The first mask set defines a cut line to separate the dual core wafer, and the cut line defines a seal ring surrounding each dual core wafer. The manufacturer replaces a portion of the photomask of the first mask group with at least one cutting line of the first mask group by using the bypass bus bar 709 to be corrected to the second mask group, and the second mask group can be used for printing A set of quad core wafers (such as the core wafer 704 of FIG. 7) is shown. The bypass bus 709 includes inter-core communication lines to connect adjacent dual core pairs or dual core groups on the wafer, wherein the dual core pairs or dual core groups are pre-designed to be separated by the cutting lines. Once the cutting line is removed and the mask set is modified to define the bypass bus 709, the four cores can communicate via the bypass bus 709 during operation. Next, the manufacturer fabricates the wafer using the second mask set and cuts the quad core wafer 704 along the remaining cut lines to produce a quad core wafer 704.
Because the dual core pair formed by core 0 706A and core 1 706B is connected to the dual core pair formed by core 2 706C and core 3 706D via bypass bus 709, the dual core pair formed by core 0 706A and core 1 706B It is complementary to the dual core pair formed by core 2 706C and core 3 706D. Since the bypass bus 709 is not connected to the contact pad 108, the bypass bus 709 does not transmit signals to the outside of the quad core wafer 704.
Figure 8 is a schematic diagram of the bus interface interface circuit 800 of the core microprocessor 702 according to Figure 7. The busbar interface circuit 800 of the single wafer 704 is a modified busbar interface circuit 600 of FIG. 6 to accommodate the bypass busbar 709 and provide improved signal quality for the processor busbar 142.
The busbar interface circuit 800 of Fig. 8 is similar to the busbar interface circuit 600 of Fig. 6, and is similar to the busbar interface circuit 400 of Fig. 4 at other locations, such as the number of components used. The differences are described below. The OR gate 603 of Fig. 6 is an OR gate 603A in Fig. 8, and the output signal 601 of Fig. 6 is an output signal 601A in Fig. 8. The signal 208 of Figure 6 is signal 208A in Figure 8 (as shown in Figure 4). The transistor 204 of Fig. 6 is the transistor 204A in Fig. 8 (as shown in Fig. 4). Further, a multiplexer 802A having three inputs (such as the multiplexer 402A having three inputs as shown in FIG. 4) replaces the multiplexer 602 having two inputs of FIG. 8 is the same as FIG. 4, the third input of the multiplexer 802A is the input terminal 2, and the input terminal 2 is coupled to the bypass bus signal 709A, wherein the bypass bus signal 709A is coupled to the number 601B, output signal 601B has the same function as output signal 601A, except that output signal 601B is related to core 2 706C and core 3 706D, as discussed below. The select input of the multiplexer 802A receives the select signal 807A, and the select signal 807A is used to cause the multiplexer 802A to select the input of the multiplexer 802A in the manner shown in Table 6.
<tables><img file="twi474175b_d0009.tif" he="1421" id="i0009" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="2179" /></tables>
The bus interface circuit 800 of FIG. 8 also includes a bus interface circuit of the core 2 706C and the core 3 706D, which is a mirror copy of the bus interface interface of the core 0 706A and the core 1 706B. That is, for core 2 706C and core 3 706D, bus interface interface circuit 800 includes contact pads 108B that are coupled to pins 112 of external processor bus 142. The contact pad 108B is coupled to the signal 208B, wherein the signal 208B is coupled to the drain of the transistor 204B, and the source of the transistor 204B is grounded. The gate of transistor 204B is used to receive an operational output signal 601B of OR gate 603B having two inputs. The input of OR gate 603B receives signal 206C from core 2 706C and signal 206D from core 3 706D, which is similar to signals 206A and 206B of corresponding core 0 706A and core 1 706B. The bus interface circuit 800 includes a multiplexer 802B having three inputs. The input 0 of the multiplexer 802B receives the signal 208B, the input 1 receives the output signal 601B, and the input 2 receives the bypass bus signal 709B. The bypass bus signal 709B is coupled to the output signal 601A. The select input of multiplexer 802B receives signal 807B to cause multiplexer 802B to select the input of multiplexer 802B in the manner shown in Table 7.
<tables><img file="twi474175b_d0010.tif" he="1379" id="i0010" img-content="drawing" img-format="tif" inline="yes" orientation="portrait" wi="1981" /></tables>
The multiplexer 802B outputs the signal 205C to the core 2 706C as the input signal of the core 2 706C, and outputs the signal 205D to the core 3 706D as the input signal of the core 3 706D. Signals 205C and 205D are similar to signals 205A and 205B of core 0 706A and core 1 706B.
It can be seen from Fig. 8 that when core 0 706A or core 1 706B drives processor bus 142, core 2 706C or core 3 706D can be monitored directly from internal bypass bus 709B by core 0 706A The value driven by the core 1 706B, rather than the signal 208B, is monitored by the external processor bus 142, and the quality of the signal monitored from the external processor bus 142 is better than that monitored from the internal bypass bus 709B. The signal quality is poor. When the core 2 706C or the core 3 706D drives the processor bus 142, the core 0 706A or the core 1 706B can directly monitor the value driven by the core 2 706C or the core 3 706D from the internal bypass bus 709A. Instead of being monitored by external processor bus 142 via signal 208A, the quality of the signal monitored from external processor bus 142 is much worse than the quality of the signal monitored from internal bypass bus 709A.
It should be noted that the term "signal" as used in the specification herein refers to a circuit component and refers to a wire for transmitting a digital electronic signal.
Although only dual core and quad core microprocessors are described herein including internal bypass busses for improving the quality of the processor bus signal, in other embodiments a multi-core microprocessor may be utilized in the same manner to improve The quality of the processor bus, such as a six-core or eight-core microprocessor.
In addition, although in the above embodiments, the inter-core communication line is used to couple from the output end of each core or each dual core pair to the input end of the processor bus and the complementary core or a dual core pair, and Two-way communication. However, in other embodiments, the inter-core communication lines are only coupled from one core or a pair of core pairs to other cores, and vice versa. In addition, the inter-core communication lines in other embodiments are only provided to the input and output of the selected processor bus.
It should be noted that the inter-core communication lines in the specification are referred to as "bypass busbars", and the communication lines between each core of one core or one pair of core pairs to another core or another dual core pair may be It is called a recognizable "bypass bus". In addition, the combination of two or more groups, including one group from one direction (the first core to the second core) and the other group from the opposite direction (ie, the second core to the first core) may also be a "bypass bus". Or "multiple bypass busbars".
The present invention has been described above with reference to the preferred embodiments. However, it is not intended to limit the scope of the present invention, and those skilled in the art can make some modifications and refinements without departing from the spirit and scope of the invention. For example, in addition to hardware (eg, coupled to or within a central processing unit, microprocessor, microcontroller, digital signal processor, processor core, system chip, or any other device), Software (eg, computer readable code, code, or any form of instruction, such as an original language, a target language, or a mechanical language) can be implemented, for example, to store the software in a computer usable (eg, readable) medium. For example, such software may enable functions to perform, manufacture, manufacture, model, simulate, or test the devices and methods referred to herein, for example, in a conventional programming language (eg, C or C++), a hardware description language ( Such as Verilog HDL, VHDL) or other programs to complete; such software can be installed on any computer-usable media, such as semiconductors, disks or optical discs (such as CD-ROM, DVD-ROM, etc.). Embodiments of the present invention include a method of providing a microprocessor by providing software that describes the design of a microprocessor and transmitting the software as a computer data signal through a communication network (including the Internet and the regional network) Road) transmitted out. The apparatus and method of the present invention can also be applied to a semiconductor intellectual property core (semiconductor intellectual property) Core), for example, a microprocessor core (implemented in HDL), and then converted into a hardware in an integrated circuit. In addition, the apparatus and method of the present invention can also be implemented by a combination of hardware and software. Therefore, the present invention should not be limited to the disclosed embodiments, and the scope of the present invention is defined by the scope of the appended claims. The present invention is implemented in a microprocessor device, and the microprocessor device is applied to a general computer.
<p>100, 300, 500, 700. . . electronic system</p><p>200, 400, 600, 800. . . Bus interface circuit</p><p>102, 302, 502. . . Dual core microprocessor</p><p>106A, 306A, 506A, 706A. . . Core 0</p><p>106B, 306B, 506B, 706B. . . Core 1</p><p>108A, 108B. . . Contact pad</p><p>112. . . Pin</p><p>142. . . Processor bus</p><p>144. . . Chipset</p><p>202A, 202B, 402A, 402B, 602, 802A, 802B. . . Multiplexer</p><p>204A, 204B, 204. . . Transistor</p><p>205A, 205B, 205C, 205D, 206A, 206B, 206C, 206D, 208A, 208B, 208. . . Signal</p><p>207A, 207B, 407A, 407B, 607, 807A, 807B. . . Select signal</p><p>309, 309A, 309B, 709, 709A, 709B. . . Bypass bus signal</p><p>601, 601A, 601B. . . Output signal</p><p>603, 603A, 603B. . . OR gate</p><p>702. . . Quad core microprocessor</p><p>706C. . . Core 2</p><p>706D. . . Core 3</p>
Figure 1 is a schematic illustration of an electronic system having a conventional dual core microprocessor package;
Figure 2 is a schematic diagram of the bus interface circuit of the conventional dual core microprocessor of Figure 1;
Figure 3 is a schematic illustration of an electronic system having a dual core microprocessor package in accordance with the present invention;
Figure 4 is a schematic diagram of the bus interface circuit of the dual core microprocessor of Figure 3;
Figure 5 is a schematic illustration of an electronic system having a conventional dual core microprocessor package;
Figure 6 is a schematic diagram showing the bus interface circuit of the conventional dual-core microprocessor of Figure 5;
Figure 7 is a schematic illustration of an electronic system having a quad core microprocessor package in accordance with the present invention;
Figure 8 is a schematic diagram of the bus interface circuit of the core microprocessor of Figure 7.
18 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| TWI614961B | Cited by | Taiwan Province of China | Examiner |
| CN101000596A | Cites | China | Examiner |
| CN101901177A | Cites | China | Examiner |
| TW200945048A | Cites | Taiwan Province of China | Examiner |
| US7533316B2 | Cites | United States of America | Examiner |
71 members in 4 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 201061426470 | United States of America | P | |
| 61426470 | United States of America | – | |
| 13299014 | United States of America | – | |
| 201113299014 | United States of America | A | |
| 13299014 | – | – | – |
| 61426470 | – | – | – |
| US201061426470P | – | – | – |
| US201113299014 | – | – | – |
Members71
| Document | Office | Kind | |
|---|---|---|---|
| CN102520912A | China | A | |
| CN102521002A | China | A | |
| CN102521191A | China | A | |
| CN102521207A | China | A | |
| EP2469377A2 | European Patent Office (EPO) | A2 | |
| US2012161328A1 | United States of America | A1 | |
| US2012166763A1 | United States of America | A1 | |
| US2012166764A1 | United States of America | A1 | |
| US2012166832A1 | United States of America | A1 | |
| US2012166837A1 | United States of America | A1 | |
| US2012166845A1 | United States of America | A1 | |
| CN102541237A | China | A | |
| CN102543862A | China | A | |
| TW201234168A | Taiwan Province of China | A | |
| TW201234271A | Taiwan Province of China | A | |
| TW201237609A | Taiwan Province of China | A | |
| TW201237629A | Taiwan Province of China | A | |
| US2012239847A1 | United States of America | A1 | |
| TW201243493A | Taiwan Province of China | A | |
| TW201245948A | Taiwan Province of China | A | |
| US8631256B2 | United States of America | B2 | |
| US8635476B2 | United States of America | B2 | |
| US8637212B2 | United States of America | B2 | |
| US2014084427A1 | United States of America | A1 | |
| TWI437361B | Taiwan Province of China | B | |
| TWI439853B | Taiwan Province of China | B | |
| US2014164816A1 | United States of America | A1 | |
| US2014173301A1 | United States of America | A1 | |
| US8782451B2 | United States of America | B2 | |
| TW201428482A | Taiwan Province of China | A | |
| CN103955265A | China | A | |
| TW201430553A | Taiwan Province of China | A | |
| TWI450084B | Taiwan Province of China | B | |
| CN102541237B | China | B | |
| TWI460581B | Taiwan Province of China | B | |
| CN104156055A | China | A | |
| CN102543862B | China | B | |
| US8930676B2 | United States of America | B2 | |
| CN102520912B | China | B | |
| CN102521191B | China | B | |
| US2015046680A1 | United States of America | A1 | |
| TWI474175BThis record | Taiwan Province of China | B | |
| US8972707B2 | United States of America | B2 | |
| TW201510728A | Taiwan Province of China | A | |
| CN104503941A | China | A | |
| US9009512B2 | United States of America | B2 | |
| US9099549B2 | United States of America | B2 | |
| CN102521207B | China | B | |
| CN102521002B | China | B | |
| TWI506559B | Taiwan Province of China | B | |
| TWI514155B | Taiwan Province of China | B | |
| CN105183134A | China | A | |
| TWI519941B | Taiwan Province of China | B | |
| US9298212B2 | United States of America | B2 | |
| TWI531896B | Taiwan Province of China | B | |
| US9367497B2 | United States of America | B2 | |
| US2016179177A1 | United States of America | A1 | |
| US2016209897A1 | United States of America | A1 | |
| US2016209913A1 | United States of America | A1 | |
| US9460038B2 | United States of America | B2 | |
| EP2469377A3 | European Patent Office (EPO) | A3 | |
| CN103955265B | China | B | |
| CN104156055B | China | B | |
| CN104503941B | China | B | |
| US9829945B2 | United States of America | B2 | |
| CN105183134B | China | B | |
| EP2469377B1 | European Patent Office (EPO) | B1 | |
| US10126793B2 | United States of America | B2 | |
| US10175732B2 | United States of America | B2 | |
| US2019107873A1 | United States of America | A1 | |
| US10409347B2 | United States of America | B2 |
Numbers
- Publication
- I474175
- Publication, DOCDB
- I474175
- Publication, EPODOC
- TWI474175B
- Application
- 100147903
- Application, DOCDB
- 100147903
- Application, EPODOC
- TW20110147903
Titles2
- English
- Multi-core microprocessor internal bypass bus
- Chinese
- 核心處理器之內部旁路匯流排
Classification
- CPC, 3
- G06F13/4022
- G06F13/14
- G06F15/76
- IPC, 1
- G06F13 14