The present invention will become more fully understood from the detailed description given hereinbelow illustration only, and thus are not limitative of the present invention, and wherein:
Please refer to
Each of the first and second processors CPU0˜CPU7, is a single chip processor configured in a dedicated processor socket and is equipped with single or more computing core. All the processors in the system and method according to the present invention support various SMP configurations, such as 1, 2, 4 or 8 processor chips and etc. Certainly, the number of processors in the bootable domain could be various; any numbers that the processors can support for various SMP configurations can be an option. Only there must be a first processor connecting with the boot image through the bridge interface to execute boot-up procedures.
In
The boot image 21/22/23/24 is a bootable instruction image of executable program code implemented on a flash memory for system initialization, commonly called BIOS. The primary processor in the actual boot domain accesses instructions from the boot image through the bridge interface to execute specific initialization steps and boot up the bootable domain(s) in the actual boot domain.
The bridge interface 11/12/13/14 connects between the processors CPU0/CPU2/CPU4/CPU6 and the boot image 21/22/23/24 to form a bootable path for each bootable domain 01/02/03/04. The bridge interface defined in the invention is an interface between a processor and a memory with the boot image, which may be a single chip or multiple chips called “system chipset” with both North and South Bridges. Simply South Bridge still functions as well in some cases. The bootable path here is the combination of essential connection factors (such as buses, I/O pins, I/O functions) between the first processor and the boot image and/or boot procedures of BIOS that may be enabled/disabled by one or more enable/disable signal Sen/Sdis from the glue logic 30. Namely, the bootable path includes hardware implementation and/or software/firmware execution for system booting of each bootable domain. As to the initialization procedures and hardware connections between the processors, both may be utilized as parts of the bootable path. Accordingly, the bootable path includes the initialization procedures and hardware connections involved in the actual boot domain.
Please refer to both
Basically, the glue logic 30 sets correct signal status of the enable/disable signals Sen/Sdis based on the configuration signal Sc, thereby enabling/disabling the bootable domains to control SMP configuration of the system. Detail control requirements are implementation dependent, such as control clock distribution, power up sequence and etc. The embodiment shown in
In the present invention the ways to define the SMP configuration can be achieved through hardware means or system management firmware/software. The configuration signal Sc is generated according to the desired SMP configuration definition. A hardwired signals defined by DIP (dual in-line package)-switches or pull-up/down resistors, or configuration code defined by system management firmware/software, is capable of generating the configuration signal Sc. Furthermore, the SMP configuration needs to be predefined before the primary power turned on. That is, the system configuration definition has been selected through changing said hardware configuration during last power-off, or changing said system management firmware/software settings during last power-on, or simply changing the BIOS settings while terminating a boot-up procedure. After power on, the SMP configuration change(s) cannot be allowed or all changes are ignored.
4-by-2 Configuration
Please refer to
For example, a typical implementation in x86, the bootable image is stored in a flash memory attached to the South Bridge, which capable of enabling/disabling a bus which the BIOS flash memory is attached to. In this implementation, just to control the enable/disable signal Sen/Sdis to enable/disable the bootable paths and domains. In the other implementation that a South Bridge does not have said enable/disable feature, the glue logic 30 could need to control the signal(s) for reading boot codes on the BIOS flash memory. The system management firmware/software now is to operate four dual-processor sub-systems.
2-by-4 Configuration
Please refer to
In each of the actual boot domains 111, 112, certain boot up sequences and initialization requirements for the 2 quad-processor sub-systems should be predefined in BIOS. And the system management firmware/software needs to change for operating the two quad-processor sub-systems.
1-by-8 Configuration
Please refer to
For all the different configurations disclosed above, the system management firmware/software could have a default 1-by-8 configuration without further changes for the SMP configuration settings. Except the power-up sequence and clock distribution changes, the glue logic could need to control other implementation-dependent requirements for a flexible SMP system.
Please refer to
Please refer to
To initialize of the aforesaid flexible SMP system according to the present invention, a method is provided hereinafter to execute the specific boot-up steps for various SMP configuration.
Please refer to
(1) Providing configuration signal(s) Sc for a specific SMP configuration (S10). The configuration signals Sc is generated by DIP(dual in-line package)-switches or pull-up/down resistors, or system management firmware/software.
The specific SMP configuration needs to be predetermined before the main power of the system is turned on.
(2) Generating plural enable/disable signals Sen/Sdis according to the configuration signal Sc for enabling/disabling each bootable domain (S20).
The glue logic receives and processes the configuration signal Sc to generate the enable/disable signals Sen/Sdis that enable/disable the bootable domains with the bootable paths enabled/disabled.
(3) Defining actual boot domain(s) according to the enable/disable signals Sen/Sdis (S30).
An actual boot domain includes at least one of the bootable domains. To define the actual boot domain, all the bootable domains need to be enabled or disabled first. Accordingly, step S30 may further include a step of enabling/disabling each bootable domain for initialization according to the enable/disable signals Sen/Sdis.
(4) Accessing boot instructions by a primary processor of each actual boot domain(s) from a boot image through a bridge interface (S40).
Along with the actual boot domain being defined, the primary processor is defined from the first processor(s) as well. The primary processor is the first processor of the enabled bootable domain in the actual boot domain, while the first processor is the processor in each bootable domain that connects to the boot image via the bridge interface. The primary processor will access the boot image linked through the bridge interface to execute initialization procedures for its actual boot domain.
(5) Initializing each actual boot domain(s) by its primary processor (S50).
The primary processor boots up the rest of processor(s) and components involved in the same actual boot domain. The rest of processors are slave processors, commonly including another first processor of the disabled bootable domain in the same actual boot domain, and/or the second processor (if any) that connects to the first processor. Therefore step 50 further includes a step of initializing slave processors in each actual boot domain.
Some other control features could be required to achieve “SMP operation” based on the architecture of processors and bridge interfaces (chipsets), such as clock distribution, power-up sequence and etc. Some specific implementations could possibly have a dedicated clock generation for an independent clock distribution system. Also, some bridge interfaces have a feature to control power-up sequence for each bootable domain and some system requires a special power-up sequence. Then, synchronization between bootable domains would be necessary.
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 | |
|---|---|---|---|
| 60822397 | Aug 2006 | US |