Switching I/O node for connection in a multiprocessor...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus interface architecture

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S311000, C710S312000

Reexamination Certificate

active

06836813

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to multiprocessor computer system I/O nodes and, more particularly, to switching I/O nodes.
2. Description of the Related Art
Computer systems employing multiple processing units hold a promise of economically accommodating performance capabilities that surpass those of current single-processor based systems. Within a multiprocessing environment, rather than concentrating all the processing for an application in a single processor, tasks may be divided into groups that may be handled by separate processors. The overall processing load is thereby distributed among several processors, and the distributed tasks may be executed simultaneously in parallel. The operating system software divides various portions of the program code into the separately executable threads, and typically assigns a priority level to each thread.
Personal computers (PCs) and other types of computer systems have been designed around a shared bus system for accessing memory. One or more processors and one or more input/output (I/O) devices may be coupled to the memory through the shared bus. The I/O devices may be coupled to the shared bus through an I/O bridge which manages the transfer of information between the shared bus and the I/O devices, while processors are typically coupled directly to the shared bus or coupled through a cache hierarchy to the shared bus. A typical multiple processor computer system is described below in conjunction with the description of prior art FIG.
1
.
Turning to
FIG. 1
, a block diagram of one embodiment of a multiprocessor computer system is shown. The multiprocessor computer system includes processor units
100
A-
100
B, a system controller
110
coupled to processor units
100
A-
100
B via a system bus
105
and a system memory
120
coupled to system controller
110
via a memory bus
125
. In addition, system controller
110
is coupled to an I/O hub
130
via an I/O bus
135
.
The multiprocessor computer system of
FIG. 1
may be symmetrical in the sense that all processing units
100
A-
100
B may share the same memory space (i.e., system memory
120
) and access the memory space using the same address mapping. The multiprocessing system may be further symmetrical in the sense that all processing units
100
A-
100
B share equal access to I/O hub
130
.
In general, a single copy of the operating system software as well as a single copy of each user application file may be stored within system memory
120
. Each processing unit
100
A-
100
B may execute from these single copies of the operating system and user application files. Although the processing cores (not shown) may be executing code simultaneously, it is noted that only one of the processing units
100
A-
100
B may assume w mastership of system bus
105
at a given time. Thus, a bus arbitration mechanism, within system controller
110
, may be provided to arbitrate concurrent bus requests of processing units
100
A-
100
B and to grant mastership to one of processing units
100
A-
100
B based on a predetermined arbitration algorithm. A variety of bus arbitration techniques are well known.
In addition to any limitations that may be present due to system bus arbitration, the shared bus (e.g. system bus
105
) used above in the computer system of
FIG. 1
may suffer from drawbacks such as limited bandwidth. As additional processors are attached to the shared bus, the multiple attachments present a high capacitive load to a device driving a signal on the bus, and the multiple attach points present a relatively complicated transmission line model for high agencies. Accordingly, the operating frequency may be lowered.
To overcome some of the drawbacks of a shared bus, some computer systems may use packet-based communications between devices or nodes. In such systems, nodes ma y communicate with each other by exchanging packets of information. In general, a “node” is a device which is capable of participating in transactions upon an interconnect. For example, the interconnect may be packet-based, and the node may be configured to receive and transmit packets. Generally speaking, a “packet” is a communication between two nodes: an initiating or source node which transmits the packet and a destination or “target” node which receives the packet. When a packet reaches the target node, the target node accepts the information conveyed by the, pack et and processes the information internally. A node located on a communication path between the source and target nodes may relay or forward the packet from the source node to the target node.
Referring to
FIG. 2
, a multiprocessor computer system having multiple downstream packet bus links switched to a single upstream packet bus link is shown. Multiprocessor computer system
200
includes processor
201
A and processor
201
B interconnected by a system bus
202
. Processor
201
B is connected to an I/O node switch
210
by a packet bus link
205
. I/O node switch
210
is further connected I/O node
220
via a second packet bus link
215
. Further, node switch
210
is connected to an additional I/O node
230
via packet bus link
225
.
It is noted that processors
201
A and
201
B may operate in substantially the same way as processors
101
A and
101
B of FIG.
1
. However, the I/O connections are different in FIG.
2
. I/O node switch
210
may provide a switching mechanism for communications directed from processor
201
A or
201
B to either of I/O nodes
220
or
230
. In this type of system, processor
201
may include a host bridge (not shown) to facilitate communication with I/O nodes
220
and
230
. In addition, processor
201
A may communicate with I/O nodes
220
and
230
through processor
201
B. Although a system connected in this way may provide a better multiprocessing solution than the multiprocessor system shown in
FIG. 1
due to the use of packet buses in
FIG. 2
, there may still be drawbacks. For example, transactions originating in or targeting processor
201
A may first pass through processor
201
B, possibly incurring latency penalties.
SUMMARY OF THE INVENTION
Various embodiments of a switching I/O node for connection in a multiprocessor computer system are disclosed. In one embodiment, an input/output node switch for a multiprocessor computer system includes a bridge unit implemented on an integrated circuit chip. The bridge unit may be coupled to receive a plurality of peripheral transactions from a peripheral bus, such as a PCI bus for example, and may be configured to transmit a plurality of upstream packet transactions corresponding to the plurality of peripheral transactions. The input/output node switch also includes a packet bus switch unit implemented on the integrated circuit chip that may be coupled to receive the plurality of upstream packet transactions on an internal point-to-point packet bus link and configured to determine a destination of each of the plurality of upstream packet transactions. The packet bus switch unit may be further configured to route selected ones of the plurality of upstream packet transactions to a first processor interface coupled to a first point-to-point packet bus link and to route others of the plurality of upstream packet transactions to a second processor interface coupled to a second point-to-point packet bus link in response to determining the destination each of the plurality of upstream packet a transactions.
In one specific implementation, the input/output node switch further includes a first transceiver unit and a second transceiver unit implemented on the integrated circuit chip. The first transceiver unit may be coupled to receive the selected ones of the plurality of upstream packet transactions and to transmit the selected ones on first point to point packet bus link. The second transceiver unit may be coupled to receive the selected other ones of the plurality of upstream packet transactions and to transmit the selected other ones on the second point-to-point packet bus link. Each point-to-point packet bus link may be

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Switching I/O node for connection in a multiprocessor... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Switching I/O node for connection in a multiprocessor..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Switching I/O node for connection in a multiprocessor... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3291866

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.