1. Field of Invention
The present invention relates to a computer system used in processing the electronic data, and in particular to a computer system having a bridge module plugged into the socket of a processor, thus connecting it in series with a Bus.
2. Related Art
In a computer system, the most essential constituting portion is the motherboard, which is used to carry and support the various electronic components, among them the processor is the most important element, such as the central processing unit (CPU), which is responsible for the major task of various data operations, and thus be considered as the core of the entire computer system. In order to handle the increasingly complicated and sophisticated data processing, the capability of a single processor sometimes is not sufficient to cope with the requirement of operation, thus bringing about the emergence of the multi-processor system having two or more processors on the same motherboard.
In the following description, the double processor system is taken as an example for explanation. On its motherboard two sockets are provided for the two processors to be plugged in. Wherein, the operation of parallel multiplexed processing is utilized to raise the efficiency of data processing. In the above-mentioned structure, one configuration is that, the connection between two processors are connected through a Bus, thus in every processor there is a corresponding chipset, and the connection between two chipsets is achieved through a Bus to perform the specific functions.
However, for such a framework, when the motherboard used for double processors is only plugged on with one processor, then in addition to the problem of increased load, the related functions of a chipset connected to vacant processor socket, such as the various functions of PCI expansion card connected to the PCI bridge chip may not be utilized at all, thus resulting in tremendous waste and inconvenience. This conditions often happen in the situations that one of the two processors is removed for application in low operation requirement, or one of the two processors is removed for reparation.
Usually, when the functions of the idle chipset for the removed processor are desired to be used, then the idle chipset must first be connected to the remaining processor. For similar arrangement, please refer to the dual processor system disclosed in U.S. Pat. No. 6,618,783, wherein, when one Input/Output processor is out of operation, then other predetermined cross-coupled I/O processor is used to take over the control of the operation of the originally connected PCI Input/Output Card.
However, the arrangement of such a predetermined cross-coupled framework will inevitably add to the complexity of the circuit layout. In addition, when the socket of a processor is idle, the bus connected to it must be further processed to ensure proper operation of the system. For example, if bus termination operation has not been performed, then the continuously transmitted signals will be reflected back to the original transmitting device at the end of the bus since they have not been received by the idle processor, thus creating signal interference. This phenomenon tends to become even more serious in high speed bus. Consequently, the predetermined cross-coupled framework must be coupled with bus termination processing to ensure proper operation of the system. It is not a very satisfactory solution.
Moreover, in the multi-processor system such as an 8 processors system, the devoid of any of the processors would cause the termination of connections with other processors or the increase of transmission delay. Thus, the afore-mentioned predetermined cross-coupled technology can not solve this problem due to the restriction of predetermined number of transmission channels of the respective processors.
Though it is theoretically feasible to design a bridge module plugged onto the socket of a processor, thus connecting the two buses originally connected to the same socket of the processor. However, the question as to how the computer system is utilized to determine the device plugged onto the socket is a processor or a bridge module, and how the initialization procedure of the computer system having the plugged on bridge module is to be adjusted is an important task to be achieved in this field.
In view of the problems and shortcomings of the prior art, the present invention provides a computer system and its bridge module, which can be used to maintain the communication between processor and chipset, processor and I/O controller or processor and sub-system, without having to install additional processors or change the framework of the computer system.
According to one aspect of the computer system disclosed by the invention, the computer system includes: a first processor socket and a second processor socket, a first bus and a second bus, the processors, the bridge modules, and the indicator pins of the input/output controller. In the above structure; the first bus is electrically connected to the first processor socket and the second processor socket; the second bus is electrically connected to the second processor socket; the processor is plugged into the first processor socket, thus electrically connecting to the first bus; the bridge module is connected to the second processor socket, thus connecting electrically to the first and second buses, so as to make the processor electrically connected to the second bus through the first bus and the bridge module; the indicator pins of the input/output controller is provided with a predetermined voltage level when the bridge module is plugged onto the pins of the second processor, and is provided for identification by the basic input/output system (BIOS) of the computer system.
In addition, the bridge module disclosed by the invention is plugged onto the second processor socket on the motherboard, and the second processor socket is electrically connected to the first bus and the second bus. The bridge module includes: a body of the printed-circuit-board (PCB), a bridge determination contact member, a ground contact member, a first and a second electrical contact members. Wherein, the body of the PCB is used for installing the second processor socket; the bridge determination contact member and the ground contact member is disposed on the body of PCB, and connected to each other by circuit connection; the first and second electric contact members are disposed on the body of PCB and are used to provide electric connection with the second processor socket to form communication with the first and second buses respectively. The first and second electric contact members are provided with certain definitions corresponding to each other and are connected by circuit connection.
The invention further provides an initialization method for initializing the above-mentioned computer system, which is executed through the BIOS of the computer system, including the following steps: Firstly, determine if the voltage level of an indicator pin on the input/output controller is at or exceeds a predetermined voltage level. Then, update a coherent HyperTransport link table and/or a non-coherent HyperTransport link table in a BIOS. And finally, execute the initialization procedure according to the updated coherent HyperTransport link table and/or a non-coherent HyperTransport link table.
Further scope of applicability of the invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
The invention will become more fully understood from the detailed description given hereinbelow for illustration only, and thus are not limitative of the invention, and wherein:
The purpose, construction, features, and functions of the invention can be appreciated and understood more thoroughly through the following detailed description with reference to the attached drawings.
Before going into details of the system and method used for initializing the bridge module plugged onto the processor socket, the bridge module to be initialized is first described. For better understanding of the bridge module, the portions related to identifying the bridge module, and the adjustment portion of the initialization procedure for the computer system are omitted in FIGS. 1 to 4, so as not to obscure the essence of the bridge module.
Refer to
The implementation of the first bus 31, the second bus 32 and the third bus 33, which are essentially the dual unidirectional point-to-point links, are in compliance with the same data transmission protocol, for example, the HyperTransport protocol. Thus, this kind of bus can be utilized in the data transmission of a processor, a chipset, an Input/Output controller or a subsystem (in general, a second motherboard, which is provided with a plurality of expansion buses or other expansion functions). As such, the first bus 31 is disposed between the first processor socket 41 and the second processor socket 42, so that the processor 11 is electrically connected to the bridge module 12. While the second bus 32 is disposed between the second processor socket 42 and the chipset 22, and is used to connect the bridge module 12 and the chipset 22. And the third bus 33 is disposed between the first processor socket 41 and the chipset 21, so that the processor 11 is used to form communication with the chipset 12. Therefore, in addition to forming communication with the first chipset 21 through the third bus 33, so that the functions of processor 11 may be fully utilized, the processor 11 can also be used to form communication with the second chipset 22 through the first bus 31, bridge module 12, and the second bus 32, thus allowing the functions chipset 22 to be fully utilized without having to install the second processor.
As to the technical requirement imposed on the first bus 31 and second bus 32 that are both connected to the second processor socket 42, in addition to the requirement that both of the two buses must transmit data in compliance with the specific data transmission specification, the first bus 31 and the bus 32 are of equal status relative to the Basic Input/Output System (BIOS), and transmit data without difference of master/slave. In this case, the Opteron™ MP processor of AMD (Advanced Micro Devices) is taken as an example, which is used to support three groups of transmission bus, and their statuses relative to BIOS is equal, and there is no restriction specifying that which bus is connected to which processor or which chipset. As such, under the condition that the processor 11 is plugged into the second processor socket 42, the first bus 31 may serve as a connection between the two processors 11; meanwhile, in case that a bridge module 12 is plugged into the second processor socket 42, the first bus 31 is connected to the second bus 32 to serve as a link between the processor 11 plugged into the first processor socket 41 and the chipset 22.
Furthermore, the bridge module 12 can be a circuit board module, which in order to be plugged into the second processor socket 42, is provided with the same package as the processor 11. Naturally, in the framework of not changing the motherboard 40, the first processor socket 41 and the second processor socket 42 may have the same specification. If the specification of the second processor socket 42 is changed due to special design, then the bridge module 12 may not have to be the same specification as does the processor 11, it may operate well by just being plugged into the second processor socket 42 and connected to certain specifically defined pins. The details of which will be described as follows.
Next, refer to
Moreover, the second processor socket 42 as shown in
Furthermore, as to the definition of the first electric contact 121 and the second electric contact 122, the bus in compliance with the HyperTransport protocol such as the first bus 31 and second bus 32 are used as examples, they must likewise be in compliance with the HyperTransport protocol. Similarly, for the electric contact on the second processor socket 42 it is the same case. Herein, the sample of names and positions of the processor pins of attachment 1 is taken as an example, wherein, the positions marked with HT LINK0, HT LINK1, HT LINK2 are the respective pin positions of three buses supported by a processor. In case that a processor is plugged onto a processor socket, then the three buses are operational. However, in case that a bridge module is plugged onto a processor socket, then two buses may be chosen to be operational, thus only pins HT LINK0, HT LINK1 have to be connected to the electric circuit, so the pins defined by HT LINK0, HT LINK1 are first and second electric contact members 121 and 122 respectively. However, it worthy to note that, the number of bus the bridge module is capable of connecting is restricted by the predetermined number of transmission ports of a processor. Thus, in case the processor is capable of supporting three or four transmission ports, then the bridge module may be used to connect to one or more pairs of buses.
Then, refer to
Similarly, the computer systems having more than eight processors may be handled in a similar manner. They belong to the varied embodiments of the present invention, and will not be repeated here for brevity. Further, in case that the transmission latency between processors is defined as the least number of buses that must be traversed for communications between any two processors, then the replacement of the processors with bridge module as done in the invention can be utilized to avoid any transmission latency caused by the devoid or lack of processors. In the case as shown in
In the above description, the one or more pairs of buses connected to the bridge module are not restricted to those in compliance with the HyperTransport protocol. The bridge module may be applied to any dual unidirectional point-to-point buses having mutually equal statuses and transmit data without difference of master/slave that are in compliance with the same data transmission protocol. Moreover, in addition to being disposed between two processors, a processor and a chip set for communication purpose as disclosed above, the bridge module may also be utilized to bridge between the processor and input/output controller or the processor and the sub-system by making use of the appropriate buses.
In the following, the computer system having the above-mentioned bridge module and its initialization method will be described in detail.
The bridge module or processor plugged onto the socket of the processor can be recognized and distinguished by the basic input/output system (BIOS), thus the General Purpose Input/Output (GPIO) pins on the Input/Output (I/O) controller such as the Southbridge, floppy disk controller or bus bridge chip can be used as the indicator pin, and the variations of its voltage level can be used by BIOS to distinguish between the bridge module and processor.
Firstly, refer to
In real practice, in case that the bridge module 12 is plugged onto the second processor socket 42, the jumper 222 is plugged onto the pin header 221, so that the general purpose input/output pin 220 is connected to ground, thus it is at low voltage level or the “0” state; while in case that the bridge module 11 is plugged onto the second processor socket 42, the jumper 222 is so plugged that the general purpose input/output pin 220 is not connected to ground, thus it is at high voltage level or the “1” state. As such, these two 0/1 states of two different voltage levels are utilized by BIOS to distinguish that the device plugged onto the second processor socket is processor 11 or bridge module 12. Naturally, the pin header 221 may also connected to a high voltage, then the discrimination of the plugged on processor or bridge module is conducted in an opposite manner.
Next, refer to
Though in the above description, the second chipset is taken as an example to explain the connections and the functions of the indicator pins, however, in practice, the indicator pins may be provided on any input/output controller, which does not have to be connected to any processor through bus. Moreover, the bridge determination pin and the ground connection pin that realized in the Land Grid Array (LGA) package as the electrical contact pin or pad, regardless it is a pin, an electrical contact point or a connection point, all belong to the sphere of Electric Contact Members. Namely, the bridge determination pin and ground connection pin belong to the sphere of Bridge Determination Contact Member or Ground Contact Member.
In addition to utilizing the hardware test method, the processor plugged onto a specific processor socket or the chipset connected to the socket may be tested directly through BIOS. Usually, the ordinary determination process is as follows: in case that a designated processor is found, then execute the normal initialization procedure; if a designated processor is not found, then test and determine further if the chipset is present, if the chipset is present, that means that the bridge module is plugged on, otherwise, that means that the processor socket is vacant. The above procedure may be used as the backup double determination procedure.
Moreover, in the following, the adjustment of the initialization procedure for computer system having the plugged on bridge module will be described in detail, which is characterized in the Link Setting of the Bus.
In the dual processor computer system having the bridge module as shown in
When a bridge module 12 is used to replace the designated processor and plugged on to the second processor socket 42, such that the designated processor can not be detected and is considered as absent. As such, the first bus 31 will not be programmed by the existing coherent HyperTransport link initialization code (refer to attachment 2) in BIOS. Thus, the contents of CHT Link Table are not changed; however, the contents of the NCHT Link Table will be changed as follows.
In the above table 1, “the NCHT Source Node” represents the serial number of the Source Processor of a specific bus; “NCHT Link 1” indicates the third bus 33, thus “NCHT Link 2” represents the second bus 32. In
Moreover, with regard to the “NCHT Source Link Port”, it is used to indicate which link port of the Source Node is utilized as the source of the bus. For example, for the AMD Opteron™ MP processor, three HyperTransport Link Ports numbered 0, 1, and 2 are utilized. In table 1, “the NCHT Source Link Port” of “the NCHT Link 1” is originally 2, which means the Link Port Number utilizing the processor 11 is 2. Originally, “the NCHT Source Link Port” of “the NCHT Link 2” is 2, that means the Link Port Number utilizing the designated processor is 2; however, upon plugging on the bridge module 12, it is changed to the connection port 0 of processor 11 utilized by the Source Node of the first bus 31.
Further, “the Destination Link Bus” and “the Destination Link Port” are related to the first and second chipsets 21 and 22, since the installation of the bridge module 12 will have no substantial effect on both of “the Destination Link Bus” and “the Destination Link Port”. Therefore, their settings in Table are not changed. The same result can be applied to “the NCHT Link Frequency” and “the NCHT bandwidth”
In other words, to the second bus 32, upon the plugging on of the bridge module 12′, in the initialization procedure only the Source information of the second bus 32 in the NCHT Link table has to be updated; in this case the Source information is the Source Node Number and the Source Link Port Number of the first bus 31.
According to one aspect of the Peripheral Component Interface (PCI), as long as the second chipset 22 keeps the same Host Bus Number, namely the Destination Link Bus is kept unchanged, and then the Register Table of the input/output device relating to the second chipset 22 may still function normally.
Yet, according to another aspect of the Advanced Configuration and Power Interface (ACPI), the second chipset 22 and the first chipset 21 may still be considered as different Root Devices, hereby the ACPI remains unchanged.
In other words, for the dual processor computer system, if one of the processors is replaced by a bridge module, then only “the NCHT Source Node” and “NCHT Source Link Port” in the NCHT Link Table need to be changed, namely the Source information of the bus is changed from the source information relating to the designated processor to that of the new source processor.
Neverthesis, for simplicity and easy explanation and understanding, the contents of the above-mentioned CHT Link Table and NCHT Link Table are not expressed in the form of the original object code of the program as stored in BIOS. However, the actual implementation of the Tables and the solution of the problem are readily understandable to those skilled in the art.
However, for the four-processor computer system as shown in
In the following explanations and descriptions, the system utilizing four AMD Opteron™ MP Processors is taken as an example.
In Table 2, N0, N2, N3 represent the Link Port Number of processors 0,1,2,3 respectively. The physical values of the respective Link Port Numbers 0, 1, 2 will not be listed here for not confusing with the serial number of the processors. As can be seen clearly from Table 2, the Source of the first bus 31 is the processor 11 on the upper right corner of
Upon installing the bridge modules 12 and 12′, the contents of CHT Link Table must be adjusted accordingly.
Since a first bus 31 and a second bus 32 are series connected into a CHT link, that is the same case for a first bus 31′ and a second bus 32′, thus there are only two CHT links between the two processors. Due to the decrease of number of processors, thus processor re-enumeration must be performed during the initialization of the system. Therefore, the serial number of processor 11′ in Table 3 will be re-enumerated from 3 to 1, and the Destination Link Port is expressed in N1. In this case, N0 and N1 include three Link Port Numbers respectively, and the Source Link Port and the Destination Link Port utilized by the two CHT links are different.
Summing up the above, in the update procedure of the CHT Link Table, firstly, in the CHT Link Table, serially combine the first buses 31, 31′ with the second buses 32, 32′ respectively, namely, to treat the first bus 31 and the second bus 32, the first bus 31′ and the second bus 32′ as a single bus respectively. Then, update all the information relating to the two combined single buses, especially the Source/Destination information, including the two source information of Source Node and the Source Link Port, and the Destination information of Destination Node and the Destination Link Port, so that the updated Source/Destination information is the respective Source/Destination information of the two single buses.
Regarding the portion of NCHT link, since the bridge modules 12 and 12′ are not connected to any NCHT link, so the change is substantially insignificant.
Due to the decrease of the processor number, the processors must be re-enumerated during the initialization of the computer system, thus the serial number of processor 11′ is changed from 3 to 1. However, though in Table 5 the NCHT Source Link Port is changed from N3 to N1, yet it essentially is the same link port, thus its serial number is unchanged. In other words, to the third buses 33 and 33′, upon installing the bridge module 12 and 12′, only the Node serial number of the NCHT Link Table has to be changed according to the result of processor re-numeration.
In summary, the initialization method of the computer system having bridge module disclosed by the invention includes the following extra steps except regular initialization procedures, as shown in
With regard to the application of bridge modules into the computer system of 8 processors, the initialization process is performed essentially as mentioned above; the only difference is that it is more complicated.
In addition, with respect to the update of the Routing Table and the Bus Termination, since it is not the subject of the invention, thus it will not be described here for brevity. Furthermore, in the complicated standard initialization process, only the portion requiring adjustment are described in the invention, however, for the people familiar with the technology, the invention can be realized based on the above description.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
94144627 | Dec 2005 | TW | national |