Claims
- 1. A multiprocessor computer system, comprising:
- at least two processors, one of which is considered a primary processor during initialization, said processors being powered up together;
- a common storage element containing processor executable initialization code used during start-up of the computer system, the common storage element being common to each processor, said initialization code having processor and common peripheral initialization code;
- a common peripheral including a hard disk;
- interprocessor logic coupling said at least two processors;
- random access memory coupled to said at least two processors;
- wherein said initialization code when executed by said processors causes said processors to perform the steps of:
- (a) each processor executing said initialization code stored in the common storage element;
- (b) each processor performing said processor initialization code to initialize itself; and
- (c) each processor determining if it is the primary processor and performing said common peripheral initialization code only if it is said primary processor.
- 2. The multiprocessor computer system of claim 1, wherein each processor executes said initialization code directly from the common storage element.
- 3. The multiprocessor computer system of claim 1, wherein the multi-processor computer system further includes an active processor identifying value and wherein said initialization code when executed by said processors causes said processors to further perform the steps of:
- (d) each processor acquiring the active processor identifying value; and
- (e) each processor selecting a portion of said initialization code to execute based on the active processor identifying value,
- wherein each processor is identified as a primary or secondary processor, and
- wherein each processor identified as a primary processor initializes the common peripherals and each processor identified as a secondary processor does not initialize the common peripherals.
- 4. The multiprocessor computer system of claim 1, wherein the active processor identifying value is acquired from an identification register having bits reflecting the active state of the processors.
- 5. The multiprocessor computer system of claim 1, wherein the multi-processor computer system further includes a non-volatile programmable memory for holding a reset code indicating a reset condition, the reset code being in a normal condition after the system reset, and wherein said initialization code when executed by said processors causes said processors to further perform the steps of:
- (f) each processor reading the reset code from said non-volatile programmable memory after release of the system reset; and
- (g) each processor selecting a portion of said initialization code to execute based on the reset code,
- wherein each processor deems itself to be said primary processor and initializes the common peripherals if the reset code indicates a normal type of reset condition present and each processor deems itself to be a secondary processor and does not initialize the common peripherals if the reset code does not indicate a normal type of reset condition.
- 6. The multiprocessor computer system of claim 1, wherein said initialization code when executed by said processors causes said processors to further perform the steps of:
- (h) applying and releasing a system reset to the multi-processor computer system before steps (a)-(c), the system reset causing all but one of said processors to be restrained; and
- (i) said primary processor causing each other processor to be released.
- 7. The multiprocessor computer system of claim 6, wherein the multi-processor computer system further includes an active processor identifying value and wherein said initialization code when executed by said processors causes said processors to further perform the steps of:
- (j) each processor acquiring the active processor identifying value; and
- (k) each processor selecting a portion of said initialization code to execute based on the active processor identifying value,
- wherein each processor is identified as a primary or secondary processor, and
- wherein each processor identified as a said primary processor initializes the common peripherals and each processor identified as a secondary processor does not initialize the common peripherals.
- 8. The multiprocessor computer system of claim 6, wherein the multi-processor computer system farther includes a main memory for storing redirection vectors and wherein step (i) of said initialization code when executed by said processors causes said processors to further perform the steps of:
- (l) said primary processor writing an address into a redirection vector location of main memory, said address pointing to a starting address of a portion of said initialization code not causing the common peripherals to be initialized; and
- (m) said primary processor causing each other processor to be released after setting the redirection vector.
- 9. The multiprocessor computer system of claim 6, wherein said multi-processor computer system further includes a non-volatile programmable memory for holding a reset code indicating a reset condition, the reset code being in a normal condition after the system reset, and wherein said initialization code when executed by said processors causes said processors to further perform the steps of:
- (n) each processor reading the reset code from the non-volatile programmable memory after release of the system reset; and
- (o) each processor selecting a portion of said initialization code to execute based on the reset code,
- wherein each processor deems itself to be said primary processor and initializes the common peripherals if the reset code indicates a normal type of reset condition present and each processor deems itself to be a secondary processor and does not initialize the common peripherals if the reset code does not indicate a normal type of reset condition.
- 10. The multiprocessor computer system of claim 9, wherein the multi-processor computer system further includes a main memory for storing redirection vectors and wherein step (i) of said initialization code when executed by said processors causes said processors to further perform the steps of:
- (p) said primary processor writing an address into a redirection vector location of main memory, said address pointing to a starting address of a portion of said initialization code not causing the common peripherals to be initializated; and
- (q) said primary processor causing each other processor to be released after setting the redirection vector.
Parent Case Info
This is a continuation, of application Ser. No. 08/539,779 filed Oct. 3, 1995 which is a continuation of application Ser. No. 08/051,601, filed Apr. 22, 1993, now U.S. Pat. No. 5,497,497, which in turn is a continuation of application Ser. No. 07/431,743, filed Nov. 3, 1989 now abandoned.
US Referenced Citations (13)
Non-Patent Literature Citations (3)
Entry |
Compaq Computer Corporation, Compaq Deskpro 386/20 Technical Reference Guide, Oct. 1987, pp. 4-32 to 4-36. |
Compaq Computer Corporation, Compaq Deskpro 386/25 Technical Reference Guide, Aug. 1988, pp. 4-43 to 4-44. |
Compaq Computer Corporation, Compaq Deskpro 386 Technical Reference Guide, May 1987, pp. 4-27 to 4-28. |
Continuations (3)
|
Number |
Date |
Country |
Parent |
539779 |
Oct 1995 |
|
Parent |
51601 |
Apr 1993 |
|
Parent |
431743 |
Nov 1989 |
|