EP0848318A2 - Multi processor system - Google Patents
Multi processor system Download PDFInfo
- Publication number
- EP0848318A2 EP0848318A2 EP97309790A EP97309790A EP0848318A2 EP 0848318 A2 EP0848318 A2 EP 0848318A2 EP 97309790 A EP97309790 A EP 97309790A EP 97309790 A EP97309790 A EP 97309790A EP 0848318 A2 EP0848318 A2 EP 0848318A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- processors
- processor
- speed
- operating speed
- selecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Definitions
- the present invention relates generally to a multi-processor system, and more particularly, to a multi-processor system employing processors with different maximum speeds of operation.
- each processor is used to perform a particular task.
- each processor may be used to work on a different set of instructions of a process or on a different process altogether, or each processor may be designed and used to handle certain tasks with a high degree of efficiency.
- the use of more than one processor in a computer system often times, enhances the system's performance.
- Some computer manufacturers provide symmetrical multi-processor computer systems with replaceable processors.
- the processors most often reside each on a daughter card that is pluggable onto the motherboard of the computer system via a connector. Thus, when a processor malfunctions or needs to be upgraded, it can be easily replaced by a new processor.
- the new processor must operate at the same speed as the other processors to comply with the architecture of a symmetrical multi-processor system.
- processor speeds As is well known, the operating speed of processors is ever so increasing. For example, processor speeds that are standard today may well be obsolescent in a year or so.
- replacing a processor with one that operates at the same speed may increasingly be difficult as time goes by. Consequently, there may come a time when replacing a failed processor will necessitate replacing all the other processors in the computer system to ensure the system's operability. Replacing all the processors of a multi-processor system because of a failed processor is a relatively expensive proposition.
- the present invention provides an apparatus of allowing processors of different speeds to be used in a multi-processor system.
- the apparatus comprises a programmable array logic (PAL) or field programmable gate array (FPGA) that detects each of the processors' maximum speed and selects a speed common to all of the processors as the operating speed of the processors.
- PAL programmable array logic
- FPGA field programmable gate array
- the apparatus adjusts the system clock to match the speed of the processors.
- Fig. 1 is a block diagram of a computer system 100 employed in a preferred embodiment of the invention.
- Fig. 2 is a block diagram of the processors and circuitry employed in the present invention.
- Fig. 3(a) depicts a first of two logic diagrams used for providing the operating speed of the processors.
- Fig. 3(b) depicts a second of the two logic diagrams used for providing the operating speed of the processors.
- Fig. 1 is a block diagram of a computer system 100 employed in a preferred embodiment of the invention.
- Such computer may take the form of a workstation such as the RS/6000 systems marketed by the IBMCorporation, although the invention is not intended to be so limited and is equally applicable to essentially any computer system.
- the computer system 100 contains a plurality of central processing units (CPUs) 110 and 120 connected to a system memory 140 through a host bridge 130 on system bus 150.
- the host bridge is connected to a peripheral component interconnect (PCI) bus 160 having PCI devices 162 - 168 attached thereto.
- the PCI devices may comprise any of the following: graphics adapters, communication adapters, network adapters, compact disk, floppy disk, hard disk drives etc.
- the CPUs 110 and 120 are each connected to the computer system 100 using connectors 170 and 180, respectively.
- Fig.2 is a block diagram of the processors and circuitry employed in the present invention.
- the circuitry entails a programmable array logic (PAL) 220 connected to both the processors 110 and 120 via connectors 170 and 180.
- PAL programmable array logic
- the connectors 170 and 180 have a plurality of pins.
- the PAL 220 is also connected to a multiplexer 240.
- the multiplexer has two inputs: a 66 MHz and a 60 MHz oscillator 250 and 260.
- the output of the multiplexer 240 is connected to a clock generator 230.
- the clock generator has a plurality of outputs 270, one of which is connected to the processors 110 and 120.
- PD[0..3] CPU WITH MAX. FREQ. 0000 66 MHz 0001 100 MHz 0010 120 MHz 0011 133 MHz 0100 150 MHz 0101 166 MHz 0110 180 MHz 0111 200 MHz 1111 NO CARD PRESENT
- the values of the four pins are provided to the PAL 220 over signal lines 205 and 215. Normally, the values of the pins from each of the connectors 170 and 180 would match since both processors would have the same maximum speed. If, however, the values do not match, it is an indication that the processors 110 and 120 do not have the same maximum speeds.
- the PAL 220 selects the slowest of the two speeds as the operating speed of the processors.
- the PAL 220 also selects the proper frequency of the system clock by providing a signal to the multiplexer 240 over line 235. Once the proper frequency is fed to the clock generator 230, the generator 230 outputs the proper system clock. The system clock is then provided to the processors 110 and 120 over line 280.
- Each processor speed chosen by the PAL 220 has associated with it a multiplier that is based on the maximum bus frequency that the system will support.
- the following two tables illustrate how a particular system would set the multipliers based on the maximum system bus frequency.
- N_PD [0..3] 50 60 OR 66 66 66 0000 1:1 1:1 1:1 100 0001 2:1 1.5:1 1.5:1 120 0010 2:1 2:1 1.5:2 133 0011 2.5:1 2:1 2:1 150 0100 3:1 2.5:1 2:1 166 0101 3:1 2.5:1 2.5:1 180 0110 3.5:1 3:1 2.5:1 200 0111 4:1 3:1 3:1 N_PD[0..3] PLL_config[0..3] 0000 0000 0001 1100 0010 0100 0011 0100 0100 0100 0110 0101 0110 0110 1000 0111 1000
- the multipliers or ratios are used by the processors to operate at the speed selected by the PAL 220 using the system bus clock. For example, suppose processor 110 has a maximum speed of 133 MHz and processor 120 has a maximum speed of 166 MHz. Once the computer system 100 is turned on or is reset, processor 110 would provide a 0011 signal to the PAL 220 and processor 120 would provide a 0101 signal. The PAL 220 then selects 133 MHz as the operating speed of the two processors. Consequently, the PAL 220 will generate a 0011 signal as the new presence detect bits (i.e., N_PD[0..3]).
- the PAL 220 will send 0100 as the PLL_config[0..3] signal to the processors to configure the phase locked loop (PLL) of each processor.
- Phase locked loops are used to construct frequency multipliers.
- this signal instructs the PLL of each processor to multiply the clock signal by 2.5 if the system bus frequency is 50 MHz or by 2 if the bus frequency is 66 MHz.
- the PAL 220 selects oscillator 250 (i.e., 66 MHz) since the processors will be able to operate closer to the 133 MHz speed using the 66 MHz clock rather than the 60 MHz clock.
- the PAL 220 uses the following algorithm to generate the N_PD[0..3] bits:
- N_PD[0..3] 0011.
- Fig. 3(a) and Fig. 3 (b) depict logic diagrams used by the PAL 220 to implement the above algorithm when i > 0. As can be seen from the algorithm, two sets of the logic diagram of Fig.3 (a) are used, one for each processor.
- the invention selects a speed common to all the processors (ordinarily the speed of the slowest processor) as the operating speed of all the processors.
- the invention also adjusts the system clock to match the operating speed of the processors.
- the invention drives the PLL configuration lines of each of the processors in order to provide the correct multiplier.
- the processors use this multiplier in conjunction with the system clock to operate at the speed selected by the invention.
- a failed processor of a symmetrical multi-processor system may be replaced by another processor operating at a different speed without replacing all the other processors.
- the invention allows the multi-processor system to be gradually updated by replacing the processors one at a time.
- the present invention also relates to a method of allowing processors (110, 120) of different speeds to be used in a multi-processor system (100) comprising the steps of:
- the method may comprise the further step of adjusting said multi-processor system's clock (230) to match said operating speed and providing to said processors (110, 120) a signal indicative thereof.
- the method may also comprise providing a multiplier to said processors, said multiplier being used in conjunction with said signal by said processors (110, 120) to function at said operating speed.
- the multiplier may be provided by driving proper Phase Locked Loop configuration lines of said processors.
- the step of adjusting said clock may include the step of selecting one of a plurality of oscillators and the step of providing said selected oscillator to a clock generator.
- the detecting and selecting steps may include the step of using a programmable array logic (PAL) or field programmable gate array (FPGA).
- PAL programmable array logic
- FPGA field programmable gate array
- the present invention has been fully described above with reference to a specific embodiment, other alternative embodiments will be apparent to those of ordinary skill in the art.
- the PAL 220 may be replaced by a field programmable gate array (FPGA) without departing from the scope of the invention.
- the processors need not be on a daughter card, they can be attached to a motherboard using their prongs.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Hardware Redundancy (AREA)
- Image Processing (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
PD[0..3] | CPU WITH MAX. FREQ. |
0000 | 66 MHz |
0001 | 100 MHz |
0010 | 120 MHz |
0011 | 133 MHz |
0100 | 150 MHz |
0101 | 166 MHz |
0110 | 180 MHz |
0111 | 200 MHz |
1111 | NO CARD PRESENT |
MAXIMUM SYSTEM BUS FREQ. (MHZ) | ||||
CPU SPEEDS (MWz) | N_PD [0..3] | 50 | 60 OR 66 | 66 |
66 | 0000 | 1:1 | 1:1 | 1:1 |
100 | 0001 | 2:1 | 1.5:1 | 1.5:1 |
120 | 0010 | 2:1 | 2:1 | 1.5:2 |
133 | 0011 | 2.5:1 | 2:1 | 2:1 |
150 | 0100 | 3:1 | 2.5:1 | 2:1 |
166 | 0101 | 3:1 | 2.5:1 | 2.5:1 |
180 | 0110 | 3.5:1 | 3:1 | 2.5:1 |
200 | 0111 | 4:1 | 3:1 | 3:1 |
N_PD[0..3] | PLL_config[0..3] |
0000 | 0000 |
0001 | 1100 |
0010 | 0100 |
0011 | 0100 |
0100 | 0110 |
0101 | 0110 |
0110 | 1000 |
0111 | 1000 |
at i | = 1; |
win0(1) | = 1 & [ 0 | ( 1 & 1 ) ] = 1; |
win1(1) | = 1 & [ 0 | ( 1 & 1 ) ] = 1; |
N_PD(1) | = ( 0 | 0 ) & ( 0 | 1 ) = 0; |
at i | = 2; |
win0(2) | = 1 & [ 0 | ( 1 & 1 ) ] = 1; |
win1(2) | = 1 & [ 0 | ( 1 & 0 ) ] = 0; |
N_PD(2) | = ( 0 | 1 ) & ( 1 | 0 ) = 1; |
at i | = 3; |
win0(3) | = 1 & [ 1 | ( 1 & 0 ) ] = 1; |
win1(3) | = 0 & [ 1 | ( 0 & 1 ) ] = 0; |
N_PD(3) | = ( 0 | 1 ) & ( 1 | 1 ) = 1; |
Claims (10)
- An apparatus for allowing processors (110, 120) of different speeds to be used in a multi-processor system (100) characterised by:means (170, 180) for detecting each processor's maximum speed; andmeans, responsive to said detecting means, for selecting a speed common to all of said processors as operating speed of said processors (110, 120).
- A multi-processor system (100) characterised bymeans for detecting each processor's maximum speed; andmeans, responsive to said detecting means, for selecting a speed common to all of said processors as the operating speed of said processors.
- The apparatus or system of Claim 1 or 2 respectively further comprising means for adjusting said multi-processor system's clock to match said operating speed and means for providing to said processors (110,120) a signal indicative thereof.
- The apparatus or system of Claim 3 wherein said selecting means comprises providing a multiplier to said processors (110,120) said multiplier being used in conjunction with said signal by said processors to function at said operating speed.
- The apparatus or system of Claim 4 wherein providing said multiplier includes driving proper Phase Locked Loop configuration lines of said processors (110,120).
- The apparatus or system of Claim 5 wherein said clock adjusting means includes means for selecting one of a plurality of oscillators (250,260) and means for providing said selected oscillator to a clock generator (230).
- The apparatus or system of Claim 6 wherein said detecting and selecting means include using a programmable array logic (PAL) (220) or field programmable gate array (FPGA).
- A method of allowing processors (110,120) of different speeds to be used in a multi-processor system (100) comprising the steps of:detecting each processor's maximum speed; andselecting a speed common to all of said processors (110,120) as operating speed of said processors.
- The method of Claim 8 further comprising the step of adjusting said multi-processor system's clock (230) to match said operating speed and providing to said processors (110,120) a signal indicative thereof.
- The method of Claim 9 wherein said step of selecting comprises providing a multiplier to said processors, said multiplier being used in conjunction with said signal said processors (110,120) to function at said operating speed.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US762907 | 1991-09-19 | ||
US08/762,907 US5802355A (en) | 1996-12-10 | 1996-12-10 | Multi-processor system using processors of different speeds |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0848318A2 true EP0848318A2 (en) | 1998-06-17 |
EP0848318A3 EP0848318A3 (en) | 2006-01-04 |
Family
ID=25066364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP97309790A Withdrawn EP0848318A3 (en) | 1996-12-10 | 1997-12-04 | Multi processor system |
Country Status (3)
Country | Link |
---|---|
US (1) | US5802355A (en) |
EP (1) | EP0848318A3 (en) |
CN (1) | CN1117327C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0990973A1 (en) * | 1998-09-29 | 2000-04-05 | Texas Instruments Incorporated | Method and apparatus facilitating insertion and removal of modules in a computer system |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909563A (en) * | 1996-09-25 | 1999-06-01 | Philips Electronics North America Corporation | Computer system including an interface for transferring data between two clock domains |
US5958033A (en) * | 1997-08-13 | 1999-09-28 | Hewlett Packard Company | On- the-fly partitionable computer bus for enhanced operation with varying bus clock frequencies |
US6249769B1 (en) * | 1998-11-02 | 2001-06-19 | International Business Machines Corporation | Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables |
US6535986B1 (en) | 2000-03-14 | 2003-03-18 | International Business Machines Corporation | Optimizing performance of a clocked system by adjusting clock control settings and clock frequency |
CN100385460C (en) * | 2001-03-13 | 2008-04-30 | 伊强德斯股份有限公司 | Visual device, interlocking counter, and image sensor |
US20040019777A1 (en) * | 2002-06-14 | 2004-01-29 | Wygant Laurance F. | Sharing data using a configuration register |
US7191353B2 (en) * | 2002-06-14 | 2007-03-13 | Intel Corporation | Coordination of multiple multi-speed devices |
US20040045007A1 (en) * | 2002-08-30 | 2004-03-04 | Bae Systems Information Electronic Systems Integration, Inc. | Object oriented component and framework architecture for signal processing |
AU2003262974A1 (en) * | 2002-08-29 | 2004-03-19 | Bae Systems Information And Electronic Systems Integration Inc | Mechanism for integrating programmable devices into software based frameworks for distributed computing |
US7783813B2 (en) * | 2007-06-14 | 2010-08-24 | International Business Machines Corporation | Multi-node configuration of processor cards connected via processor fabrics |
US8245070B2 (en) * | 2008-12-30 | 2012-08-14 | Intel Corporation | Method for optimizing voltage-frequency setup in multi-core processor systems |
CN102929342B (en) * | 2012-10-08 | 2016-05-18 | 浪新微电子系统(上海)有限公司 | X86-based computer |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4689581A (en) * | 1983-11-04 | 1987-08-25 | Inmos Limited | Integrated circuit phase locked loop timing apparatus |
US4853653A (en) * | 1988-04-25 | 1989-08-01 | Rockwell International Corporation | Multiple input clock selector |
US5077686A (en) * | 1990-01-31 | 1991-12-31 | Stardent Computer | Clock generator for a computer system |
US5163146A (en) * | 1988-10-14 | 1992-11-10 | International Business Machines Corporation | System responsive to interrupt levels for changing and restoring clock speed by changing and restoring a register value |
US5488613A (en) * | 1990-04-20 | 1996-01-30 | Texas Instruments Incorporated | Scan test circuits for use with multiple frequency circuits |
WO1996030832A1 (en) * | 1995-03-29 | 1996-10-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Clock control system and method |
US5563928A (en) * | 1993-09-30 | 1996-10-08 | Lsi Logic Corporation | Method and apparatus for optimizing the performance of digital systems |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893271A (en) * | 1983-11-07 | 1990-01-09 | Motorola, Inc. | Synthesized clock microcomputer with power saving |
US5133064A (en) * | 1987-04-27 | 1992-07-21 | Hitachi, Ltd. | Data processing system generating clock signal from an input clock, phase locked to the input clock and used for clocking logic devices |
GB2252432B (en) * | 1991-02-01 | 1994-09-28 | Intel Corp | Method and apparatus for operating a computer bus using selectable clock frequencies |
GB2260631B (en) * | 1991-10-17 | 1995-06-28 | Intel Corp | Microprocessor 2X core design |
US5325516A (en) * | 1992-03-09 | 1994-06-28 | Chips And Technologies Inc. | Processor system with dual clock |
US5537660A (en) * | 1992-04-17 | 1996-07-16 | Intel Corporation | Microcontroller having selectable bus timing modes based on primary and secondary clocks for controlling the exchange of data with memory |
US5506981A (en) * | 1993-03-29 | 1996-04-09 | All Computers Inc. | Apparatus and method for enhancing the performance of personal computers |
US5530933A (en) * | 1994-02-24 | 1996-06-25 | Hewlett-Packard Company | Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus |
-
1996
- 1996-12-10 US US08/762,907 patent/US5802355A/en not_active Expired - Fee Related
-
1997
- 1997-11-07 CN CN97122230A patent/CN1117327C/en not_active Expired - Fee Related
- 1997-12-04 EP EP97309790A patent/EP0848318A3/en not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4689581A (en) * | 1983-11-04 | 1987-08-25 | Inmos Limited | Integrated circuit phase locked loop timing apparatus |
US4853653A (en) * | 1988-04-25 | 1989-08-01 | Rockwell International Corporation | Multiple input clock selector |
US5163146A (en) * | 1988-10-14 | 1992-11-10 | International Business Machines Corporation | System responsive to interrupt levels for changing and restoring clock speed by changing and restoring a register value |
US5077686A (en) * | 1990-01-31 | 1991-12-31 | Stardent Computer | Clock generator for a computer system |
US5488613A (en) * | 1990-04-20 | 1996-01-30 | Texas Instruments Incorporated | Scan test circuits for use with multiple frequency circuits |
US5563928A (en) * | 1993-09-30 | 1996-10-08 | Lsi Logic Corporation | Method and apparatus for optimizing the performance of digital systems |
WO1996030832A1 (en) * | 1995-03-29 | 1996-10-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Clock control system and method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0990973A1 (en) * | 1998-09-29 | 2000-04-05 | Texas Instruments Incorporated | Method and apparatus facilitating insertion and removal of modules in a computer system |
Also Published As
Publication number | Publication date |
---|---|
EP0848318A3 (en) | 2006-01-04 |
CN1184976A (en) | 1998-06-17 |
CN1117327C (en) | 2003-08-06 |
US5802355A (en) | 1998-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0848318A2 (en) | Multi processor system | |
EP0962867A2 (en) | Variable computer slot configuration for multi-speed bus | |
US6378021B1 (en) | Switch control method and apparatus in a system having a plurality of processors | |
US7865749B2 (en) | Method and apparatus for dynamic system-level frequency scaling | |
EP1159687B1 (en) | Dynamic wave-pipelined interface apparatus and methods therefor | |
US5479648A (en) | Method and apparatus for switching clock signals in a fault-tolerant computer system | |
EP2226700B1 (en) | Clock supply method and information processing apparatus | |
WO2002025417A1 (en) | Methods and apparatus for generating high-frequency clocks deterministically from a low frequency system reference clock | |
US6211739B1 (en) | Microprocessor controlled frequency lock loop for use with an external periodic signal | |
EP0953902A2 (en) | PCI System and adapter requirements following reset | |
US7822076B2 (en) | Apparatus for multiplexing signals through I/O pins | |
US7093146B2 (en) | Power management state distribution using an interconnect | |
US5777500A (en) | Multiple clock source generation with independently adjustable duty cycles | |
CA2297129C (en) | Method and apparatus for recovery of time skewed data on a parallel bus | |
US6047382A (en) | Processor with short set-up and hold times for bus signals | |
US8041844B2 (en) | Autodetection of a PCI express device operating at a wireless RF mitigation frequency | |
CN112732615B (en) | Equipment regulation and control method, device, equipment and storage medium | |
US7120828B2 (en) | System and method for in-order queue draining | |
JP3158517B2 (en) | Failure detection method | |
US6959396B2 (en) | Method and apparatus for reducing clock skew in an integrated circuit | |
US20100281290A1 (en) | Clock generating circuit of computer | |
US7373555B2 (en) | Systems and methods controlling transaction draining for error recovery | |
US6963990B2 (en) | Clock generation for multiple secondary buses of a PCI bridge | |
CN1790224A (en) | Methods and systems for a reference clock | |
US20120102308A1 (en) | Bootstrap system for dual central processing units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
AKX | Designation fees paid | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: 8566 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20060705 |