SOUTH BRIDGE SYSTEM AND METHOD

Information

  • Patent Application
  • 20080086583
  • Publication Number
    20080086583
  • Date Filed
    October 06, 2006
    17 years ago
  • Date Published
    April 10, 2008
    16 years ago
Abstract
A system including a south bridge, a first processor connected to the south bridge, and a second processor connected to the south bridge. The system further includes at least one device connected to the south bridge, and a resource manager coupled to the south bridge that allocates use of the at least one device between the first processor and the second processor.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a system for communication management in computing systems according to aspects of the invention;



FIG. 2 shows a functional diagram of the system depicted in FIG. 1;



FIG. 3 shows an alternative system according to aspects of the invention; and



FIG. 4 shows a flow diagram of the method in accordance with aspects of the invention;





DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The invention is directed to system and method for communication management in computing systems. Implementations of the invention provide a resource manager that allows a single south bridge to arbitrate resources between plural processors. In this manner, the conventional one-to-one correspondence of processors to south bridges may be eliminated, thereby saving board space, power dissipation, and cost.



FIG. 1 shows a system 10 according to aspects of the invention. The system 10 comprises a first processor 15 and a second processor 16. In embodiments, the first and second processors 15, 16 may be central processing unit semiconductor-based chips, as understood by those of skill in the art. The first processor 15 is connected to a first memory 20, and the second processor 16 is connected to a second memory 21. The first and second memories 20, 21 may be any suitable memory structure such as, for example, DRAM chip(s). The first and second memories 20, 21 may each comprise plural discrete memory chips that are connected to the respective processors. The first and second memories 20, 21 may be connected to the first and second processors 15, 16 in any suitable manner, including point-to-point connections, as known to those of skill in the art. In embodiments, the first and second processors 15, 16 are connected by a point-to-point connection 25 that communicates shared memory traffic between the processors, as is known in the art.


The system 10 further comprises a south bridge 30. In embodiments, the south bridge 30 comprises a semiconductor-based chip. The south bridge 30 is connected to the first processor 15 by a first point-to-point connection 35. The south bridge is also connected to the second processor 16 by a second point-to-point connection 36. In this manner, the first and second processors 15, 16 may communicate with the south bridge 30 in known fashion.


In embodiments, the first and second processors 15, 16 and the south bridge 30 are all connected to a circuit board 40, such as, for example, a motherboard, blade server, etc. The first and second memories 20, 21 may also be disposed on or in the circuit board 40. For example, the first and second processors 15, 16, the first and second memories 20, 21, and the south bridge 30 may each comprise a respective chip that is connected to the circuit board by pins, as is known in the art. Moreover, the circuit board 40 may be comprised in a larger computing structure, such as, for example, a server rack, personal computer, handheld computer, etc.


Still referring to FIG. 1, the south bridge 30 is connected to at least one resource. Two resources, R1 and R2, are shown in FIG. 1, although any number may be employed. The south bridge 30 is connected to the resources R1, R2 in any known manner, such as, for example, via connections on the circuit board. The resources R1, R2 may comprise various devices that are capable of communicating with a processor. For example, the resources may comprise input/output devices such as Ethernet, EPROM, USB, PCI Express, RAID, SCSI, SATA, Firewire, etc. The south bridge 30 controls the communication between the first and second processors 15, 16 and the respective resources R1, R2, as described herein.


The south bridge 30 comprises a resource manager 45 that functions to arbitrate communication between the first and second processors 15,16 and the respective resources R1, R2. The resource manager 45 may comprise any combination of hardware (e.g., circuitry, etc.) and logical programming (e.g., instruction set, microprogram, etc.), and may be integrated with or separate from the south bridge 30. In embodiments, the south bridge 30 comprises a chip that integrally comprises the resource manager 45.


In implementations, the resource manager 45 comprises circuitry and logical programming that function to arbitrate communication between respective processors and respective resources. In embodiments, the resource manager 45 is capable of receiving, from either processor, a request to communicate with one of the various resources. The request from the processor may be embodied in any suitable form, such as, for example, data transmission to registers within the resource manager 45. If the resource is available (e.g., not being used by the other processor), the resource manager 45 will establish communication between the requesting processor and the resource, such that data may be transferred between the processor and the resource. The resource manager 45 may establish communication in a known manner, such as, for example, by sending signals to dynamic multiplexers that control the flow of data between the processors and the resources. In this manner, either processor 15, 16 may access any of the resources connected to the south bridge 30, instead of being limited to the resources associated with a dedicated south bridge.



FIG. 2 shows a functional diagram of the system 10 described above. FIG. 2 depicts the first and second processors 15, 16, the south bridge 30, and the resources R1, R2. The south bridge 30 includes the resource manager 45, first multiplexer 50, second multiplexer 51, third multiplexer 52, and fourth multiplexer 53. In embodiments, the multiplexers 50-53 comprise dynamically controllable multiplexers that are connected to and controllable by the resource manager 45. Such dynamically controllable multiplexers are known in the art. In embodiments, the south bridge 30 comprises a chip and the resource manager 45 and multiplexers 50-53 are integrated into the circuitry of the chip.


Still referring to FIG. 2, the arrows represent possible communication between the processors and the resources. Additionally, the dotted lines represent communication between the resource manager 45 and processors multiplexers. Such communication may be accomplished in any suitable manner, such as through the use of registers, as is known in the art. In operation, the first processor 15 may communicate with the resource manager 45 to request use of the first resource R1. The resource manager 45, based on examining outstanding requests to R1, determines whether the first resource R1 is available. If the first resource R1 is available, then the resource manager 45 sends appropriate signals to the appropriate multiplexers (i.e., controls the multiplexers) to establish communication between the first processor 15 and the first resource R1. While the first processor 15 is using (e.g., communicating with) the first resource R1, the resource manager 45 also controls the appropriate multiplexers to prevent the second processor 16 from using (e.g., communicating with) the first resource R1. In this manner, the south bridge 30, via the resource manager 45 and multiplexers 50-53, allocates the resources R1, R2 between the first and second processors 15, 16. Put another way, the south bridge 30, via the resource manager 45 and multiplexers 50-53, arbitrates between the potentially competing processors 15, 16.


The resource manager 45 can control the multiplexers 50-53 to achieve any discrete allocation between the processors 15, 16 and resources R1, R2. For example, the first processor 15 may be put into communication with the second resource R2, while the second processor 16 is put into communication with the first resource R1. Alternatively, the second processor 16 may be put into communication with both the first resource R1 and the second resource R2, while the first processor 15 communicates with neither. In this manner, the single south bridge 30 is used to allocate a plurality of resources between plural processors. Moreover, while the system has been described with respect to two processors and two resources, implementations of the invention may be employed with any number of processors and resources by adjusting the number and connection of the multiplexers accordingly.



FIG. 3 shows an alternative system 100 according to aspects of the invention. The system 100 includes a board 105, which may be, for example, a circuit board, mother board, blade server etc. First host 115 and second host 116, which may be similar to the processors 15, 16 described above, are connected to the board 105. The system 100 also includes a south bridge 117, which may be similar to that described above, connected to the board 105. The board 105 also includes connection points for various resources (e.g., input/output devices) including: DRAM 120, 10G Ethernet 121, first 1G Ethernet 122, second 1G Ethernet 123, first USB 124, second USB 125, SATA 126, first PCI Express 127, and second PCI Express 128.


The south bridge 117 includes a first host interface 130 and a second host interface 131 that transmit data to and from the hosts 115, 116. In embodiments, the first host 115, second host 116, and south bridge 117 are respective semiconductor chips that are plugged into the board 105 by pins, as is known in the art. The board 105 provides a point-to-point connection between the first host 115 and the first host interface 130, and between the second host 116 and the second host interface 131.


The south bridge 117 also includes a resource manager 135, which may be similar to that described above. The host interfaces 130, 131 are connected to the resource manager 135 to allow communication between the hosts 115, 116 and the resource manager 135. The host interfaces 130, 131 and resource manager 135, and all connections therebetween, may be integrated into the structure of the south bridge 117. For example, all may be part of a single chip.


Still referring to FIG. 3, the south bridge 117 further includes controllers for the various devices that connect to the connection points 120-128, described above. For example, as shown in FIG. 3, the south bridge 117 includes a memory controller 140 that controls communication between the hosts and a DRAM device. Similarly, the south bridge 117 includes an Ethernet controller 141, a USB controller 142, a disk controller 143, and a PCI Express controller 144. Such controllers are known in the art, and may be integrated into the structure of the south bridge as is known in the art. Although these specific controllers have been shown, it is understood that other controllers and/or other numbers of controllers may be used.


The south bridge 117 also includes switching devices for controlling communication between the host interfaces 115, 116 and the controllers 140-144. For example, the switching devices may comprise controllable multiplexers (not shown) similar to those described above. In embodiments, the multiplexers are connected between the host interfaces 115, 116 and the controllers 140-144. The multiplexers are also connected to the resource manager 135 such that they may be controlled by the resource manager 135 in a manner similar to that already described. The multiplexers, and associated connections, may be integrated into the structure of the south bridge 117.


Similar to the manner described above, the south bridge 117, including the resource manager 135, may allocate the use of various input/output resources to the hosts 115, 116. The system 100 provides the allocation (e.g., arbitration) using a single south bridge, thereby saving board space, power (e.g., heat), and cost by eliminating the need for plural dedicated south bridges.


Method of Use


FIG. 4 is a flow diagram implementing steps of the invention. FIG. 4 may equally represent a high-level block diagram of the invention. The steps of FIG. 4 may be implemented in internal logic of a computing system, such as, for example, in internal logic of a south bridge chip. Additionally, the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.



FIG. 4 shows a flow diagram of a method 200 of managing communication between hosts (e.g., processors) and resources (e.g., devices) using a south bridge according to aspects of the invention. At step 210 a request from either host is received by the south bridge. In embodiments, the host comprises a processor and the request is for the processor to use (e.g., communicate with) a resource comprising an input/output device. For example, the processor may send the request to the south bridge, as described above.


At step 220, the resource manager (which is preferably integrated with the south bridge) determines the availability of the requested resource. In implementations, the resource manager makes this determination by examining if the resource is already in use by another processor, as described previously. Moreover, it is contemplated that the resource manager can be separate from the south bridge. However, in such an embodiment, it is understood that the output of the resource manager connects to the south bridge in such a manner as to allocate the resources of the south bridge.


At step 230, if the resource is available, then communication is established (e.g., use is allocated) at step 240. For example, if the processor requested the use of the first USB device, and that device is available, then the resource manager controls switching devices (e.g., multiplexers) in the south bridge to establish communication between the processor and the USB device.


At step 230, if the resource is not available, then the processor cannot immediately be placed in communication with the requested resource. For example, the resource may be in use with a different processor. In this case, at step 250, the request is placed in a queue. The requests in the queue are resubmitted to the resource manager in order, such that the next request in the queue is received at step 210.


The invention as described provides a system and method that employ a single south bridge having a resource manager to allocate resources between plural processors. The invention may be implemented for any suitable type of computing device including, for example, blade servers, personal computers, workstations, etc.


While the invention has been described in terms of embodiments, those skilled in the art will recognize that the invention can be practiced with modifications and in the spirit and scope of the appended claims.

Claims
  • 1. A system, comprising: a south bridge;a first host connected by a first point-to-point connection to the south bridge;a second host connected by a second point-to-point connection to the south bridge; andat least one resource connected to the south bridge,wherein the south bridge manages a sharing of the at least one resource by the first host and the second host.
  • 2. The system of claim 1, wherein: the first host comprises a first processor;the second host comprises a second processor, andthe at least one resource comprises an input/output device.
  • 3. A south bridge chip, comprising: a first host interface;a second host interface;at least one device controller; anda resource manager that allocates use of the at least one device controller between the first host interface and the second host interface.
  • 4. The south bridge chip of claim 3, wherein: the at least one device controller comprises a plurality of device controllers, andthe resource manager allocates the use of any of the plurality of device controllers between the first host interface and the second host interface.
  • 5. The south bridge chip of claim 3, further comprising multiplexers that control communication between the at least one device controller and at least one of the first host interface and the second host interface.
  • 6. The south bridge chip of claim 5, wherein the resource manager controls the multiplexers.
  • 7. A method of arbitrating between a plurality of hosts connected in point-to-point arrangements to a south bridge, comprising: receiving at the south bridge a request to use a resource from one of the plurality of hosts;determining availability of the resource; andwhen available, establishing communication between the one of the plurality of hosts and the resource.
  • 8. The method of claim 7, wherein the receiving is performed by a resource manager of the south bridge.
  • 9. The method of claim 7, wherein the determining availability is performed by a resource manager of the south bridge.
  • 10. The method of claim 7, wherein the establishing communication is controlled by a resource manager of the south bridge.
  • 11. The method of claim 10, wherein the establishing communication comprises controlling multiplexers.
  • 12. A computer system, comprising: a south bridge;a first processor connected to the south bridge;a second processor connected to the south bridge;at least one device connected to the south bridge; anda resource manager coupled to the south bridge that allocates use of the at least one device between the first processor and the second processor.
  • 13. The computer system of claim 12, wherein the south bridge comprises the resource manager.
  • 14. The computer system of claim 12, wherein the first processor comprises a first chip, the second processor comprises a second chip, and the south bridge comprises a third chip.
  • 15. The computer system of claim 14, further comprising a circuit board, wherein the first chip, the second chip, and the third chip are connected to the circuit board by pins.
  • 16. The computer system of claim 15, wherein the circuit board provides a first point-to-point connection between the first processor and the south bridge and a second point-to-point connection between the second processor and the south bridge.
  • 17. The computer system of claim 15, wherein the circuit board comprises a blade server.
  • 18. The computer system of claim 15, wherein the at least one device comprises an input/output device that is connected to the circuit board.
  • 19. The computer system of claim 12, wherein the south bridge comprises multiplexers controllable by the resource manager.
  • 20. The computer system of claim 12, wherein: the at least one device comprises a plurality of input/output devices, andthe first processor and the second processor each has access to any of the plurality of input/output devices based upon the allocation by the resource manager.