System and method of initializing the fabric of a distributed multi-processor computing system
First Claim
1. A method of initializing a computing system comprising a plurality of devices and a plurality of point-to-point links, each of the point-to-point links interconnecting a respective pair of devices of the plurality of devices, at least a portion of the plurality of devices comprising a respective processor, the method comprising the acts of:
- designating a first processor of the plurality of respective processors as a bootstrap processor (BSP);
configuring each of the plurality of devices to accept a request directed to a default identifier; and
executing, by the BSP, initialization code stored in a first device of the plurality of devices to uniquely identify each of the plurality of devices and to establish routing directions, such that a communication directed to a uniquely identified device is routed to the uniquely identified device.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for initializing a computing system comprising a plurality of devices which communicate on a communication link comprising a plurality of independent point-to-point links is provided, each of the point-to-point links interconnecting a respective pair of the plurality of devices. The method includes a link initialization procedure comprising initially configuring each respective pair of devices to communicate on the respective interconnecting link using common communication parameters, including a common frequency and a common link width. The link initialization procedure also may include an optimization procedure for determining maximum communication parameters for each interconnected pair of devices. If the maximum compatible parameters differ from the common parameters for any pair of devices, then the pair of devices may be reconfigured to communicate on the interconnecting link using the maximum compatible parameters. Once a communication capability has been established, the establishment of one or more communication fabrics for the computer system may be performed. This scheme includes designating a bootstrap processor, locating the boot ROM, establishing the manner in which the devices are interconnected, and defining routing directions for routing communications among the various devices in the computing system.
-
Citations
30 Claims
-
1. A method of initializing a computing system comprising a plurality of devices and a plurality of point-to-point links, each of the point-to-point links interconnecting a respective pair of devices of the plurality of devices, at least a portion of the plurality of devices comprising a respective processor, the method comprising the acts of:
-
designating a first processor of the plurality of respective processors as a bootstrap processor (BSP);
configuring each of the plurality of devices to accept a request directed to a default identifier; and
executing, by the BSP, initialization code stored in a first device of the plurality of devices to uniquely identify each of the plurality of devices and to establish routing directions, such that a communication directed to a uniquely identified device is routed to the uniquely identified device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20)
-
-
17. A method of establishing a communication fabric for a computing system comprising a plurality of devices and a plurality of point-to-point links, each of the plurality of devices connected to at least one of the plurality of point-to-point links, the method comprising the acts of:
-
(a) configuring each device of the plurality of devices to accept a request directed to a default identifier;
(b) assigning a first unique identifier to a first device of the plurality of devices, the first device comprising a bootstrap processor (BSP);
(c) transmitting a request from the BSP, the request directed to the default identifier;
(d) assigning a next available unique identifier to a new device of the plurality of devices, if the new device accepts the request directed to the default identifier;
(e) establishing routing directions such that a request directed to the new device is received and accepted by the new device and a response directed to the BSP from the new device is received by the BSP;
(f) incrementing the value of the next available unique identifier; and
(g) repeating acts (c), (d), (e), and (f) until each of the plurality of devices has been assigned a unique identifier and a request directed to the default identifier has been transmitted on each of the plurality of point-to-point links.
-
-
21. A computing system, comprising:
-
a first communication medium comprising a first plurality of point-to-point links;
an input/output (I/O) subsystem comprising a plurality of (I/O) devices, wherein each respective pair of the plurality of I/O devices is interconnected by one of the first plurality of point-to-point links, and wherein a first I/O device of the plurality of I/O devices comprises a boot read only memory (ROM), the boot ROM storing initialization code;
a bootstrap processor to execute the initialization code; and
a bridge connecting the bootstrap processor to the I/O subsystem, wherein the bootstrap processor is configured to transmit a request to the bridge to locate the boot ROM, the request comprising an unassigned address, wherein the bridge is configured to forward any request comprising an unassigned address to the plurality of I/O devices, and wherein the first I/O device comprising the boot ROM is configured to accept any request comprising an unassigned address. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification