Utilize the multicomputer system of uniprocessor chip upgrading
The invention relates to a kind of multicomputer system with the uniprocessor chip upgrading.
With work continuous progress of computer technology and continually developing of central processor unit (CPU), no matter be that computermaker or computer user face a puzzlement greatly, that is exactly: be the computer of up-to-date machine when releasing at first or buying originally, between several years, fall behind and become the machine that is out of step with the times, for example use the personal computer system of 286CPU, be best illustration.
Certainly, the computer of old model is not to use, but in order to cooperate the development of relevant software and hardware, the user usually must manage to upgrade its outfit, could match with relevant environment.Therefore, the user must face following upgrade problem: how (1) is adapted to the renewal (by 286,386 to 486, and even the P5(of INTEL Corp.'s release soon in the future is 586) of CPU), and promote itself all computer equipment accordingly; (2) be the computer of single processor system originally, when deposited needs not, how to be extended for the computer system of multiprocessor.
Address the above problem, constantly buy new computer machine yes a unpractical practice.In order to adapt to the continual renovation of CPU, the practice that generally can take at present has two kinds, and first kind is that the circuit board relevant with CPU all changed, not only be not inconsistent economic benefit thus, and for the user, must contact with former sale manufacturer, also very inconvenient.The another kind of practice is proposed by Acer, and its solution is to settle the circuit board of CPU to give particular design, and in the time of upgrading CPU, with the predeterminated position on the new CPU insertion circuit board, and old CPU is promptly with lost efficacy (disabled).Second method is good than first method, because can change the entire circuit plate, but the method is still undesirable, and is because (1) lost efficacy old CPU, very unfortunate; (2) the method can not solve the upgrade problem that is extended to multicomputer system by single processor system.
Understand and describedly extend to the problem of multicomputer system, must understand present single processor system and the difference between the multicomputer system earlier by single processor system.Fig. 1 illustrates an example of known single processor system, comprising a CPU11 is arranged, a cpu bus 12, a local bus 13,14, one interior periphery buses of a peripheral bus (EISA bus) (XD bus) 15 have CPU-local bus interface 16 between cpu bus and local bus, part-eisa bus interface 17 is arranged between local bus and eisa bus, between eisa bus and XD bus, EISA-XD bus interface 18 is arranged.There is a system controller 19 to link up mutually with cpu bus 12 and local bus 13.Other has a bus controller 20 and local bus 13, and eisa bus 14 is linked up mutually with XD bus 15.In bus controller 20, include a coprocessor interface 21, when coprocessor mistake (coprocessor error) takes place among the CPU11 when, CPU11 together between the processor interface 21 by means of coprocessor mistake (FERR*) signal wire 24 with ignore mistake (IGNNE*) signal wire 25 and link up mutually.Coprocessor interface 21 produces interrupt request (interrupt request) at this moment, is sent to the IRQ13 interrupting input end of interruptable controller 22.Interruptable controller 22 receive simultaneously by eisa bus 14 a plurality of interruptions inputs of coming (IRQ1, IRQ3 ... IRQ12, IRQ14 and IRQ15), these interruptions such as from printer, Winchester disk drive ... or the like; A moderator (not shown) is arranged in the inside of interruptable controller 22, this moderator is arbitrated each interrupt request, after judging priority ranking, interruptable controller 22 is sent interruptive command (interrupt command) via INT signal wire 26 and is given CPU11, carries out interruption routine by CPU11 then.
Figure 2 shows that an example of multicomputer system, comprising two CPU31,41 are arranged, each CPU all has a relevant cpu bus 32,42, and they are linked up with multiprocessor bus 34 by a processor bus interface 33,43 respectively.With multicomputer system similarly, also include a system controller 50, interruptable controller 51 and eisa bus 38, XD bus 39 and multiprocessor-eisa bus interface 48, EISA-XD bus interface 49 in the multicomputer system.
Two CPU31,41 respectively have its corresponding control port 35,45 processor interface 36,46 together, and CPU41 also has an interrupt vector port 47.Similar in coprocessor interface 36,46 and CPU31,41 the mode that links and the aforementioned multicomputer system, so needn't give unnecessary details at this.
Because the peripheral I/O of a CPU and system directly relevant (its reason will not describe in detail at this, can consult and the relevant document of multicomputer system design) only can be arranged in multicomputer system, therefore difference slightly in two CPU31,41 interruption arrangement.When CPU31 wants interrupts of CPU 41 (except the interruption that is caused because of the coprocessor mistake, CPU31 is unique interruption source of CPU41), CPU31 writes in the control port 45 of CPU41, after CPU41 receives interruptive command, just can from interrupt vector end mouth 47, obtain required information and carry out necessary interruption routine according to the data in the control port.On the other hand, when CPU41 wants interrupts of CPU 31, CPU41 must write CPU41 equally when wanting interrupts of CPU 31, CPU41 must write in the control port 35 of CPU31 equally, but because CPU41 is not unique interruption source of CPU31, so CPU41 must be through the arbitration of interruptable controller 51 to the interruption of CPU31.As shown in the figure, CPU41 inputs in the interruptable controller 51 through the IRQ13 input end the interrupt request of CPU31.After arbitration, interruptable controller is sent interruptive command and is given CPU31, and CPU31 just carries out corresponding interruption routine according to interruptable controller 51 and the data in the control port 35 afterwards.
In above explanation and accompanying drawing, omitted storer and part that some are less important, because the maximum difference of single processor system and multicomputer system, be the difference of each CPU interrupt mode.
By as can be seen above, extending to multicomputer system by single processor system is difficult really.For the present general solution of this problem is to adopt the structure of Fig. 2, on the main frame motherboard, reserve two cpu interface card insertion grooves, and will be produced on two circuit boards 30,40 with CPU31,41 relevant circuit, when only being inserted with a cpu pcb 30 in two insertion grooves, just be single processor system, and when needs expand, can purchase another piece cpu pcb, be inserted in second insertion groove, just constitute multicomputer system.The shortcoming of the method is: the user still must contact with former sale manufacturer, and must purchase another piece cpu pcb that is complementary with original cpu pcb; Not only cost is higher thus, and when original CPU has fallen behind, and the user may find required material and can't reach the purpose of expansion.In other words, except having all unfavorable factors on the financial cost when the expanding system, the method can not adapt to the upgrade problem that solves CPU.
In view of this, a project of the present invention be that a kind of multicomputer system that utilizes uniprocessor chip upgrading will be provided, this system has the system architecture of uniprocessor, but as long as by inserting a cpu package, just can be transformed into multicomputer system.
Another purpose of the present invention is that a kind of multicomputer system that utilizes the uniprocessor chip upgrading will be provided, this system is when the multiprocessor state, two cpu packages wherein needn't be symmetrical, and can be the ad eundem CPU that different manufacturers is produced, frequency is different, or be that the CPU(of different brackets is for example one for 486CPU, one is P5CPU), as long as used CPU meets some pacing items.
Another purpose of the present invention is that a kind of multicomputer system that utilizes the uniprocessor chip upgrading will be provided, when adapting to the renewal of CPU, can in this system, directly insert the cpu package of new grade, so, except making system upgrade, and still can keep original cpu package, and system is transformed into multicomputer system by single processor system simultaneously.
A further object of the present invention is that a kind of multicomputer system that utilizes the uniprocessor chip upgrading will be provided, and this system compares with the multicomputer system (for example Fig. 2) of known technology, has the structure of greatly simplifying.
Structure of the present invention comprises basically:
The uniprocessor chip structure wherein includes a CPU, a plurality of bus, a plurality of bus interface, system controller and bus controller;
The 2nd CPU;
The one CPU control port;
The 2nd CPU control port;
CPU interrupt vector port; And
The processor change-over circuit.
In detail, according to an aspect of the present invention, the multicomputer system of uniprocessor chip upgrading that utilizes of the present invention comprises:
First central processor unit (CPU);
Bus system comprises cpu bus, local bus, peripheral bus and interior periphery bus;
The bus interface system comprises CPU-local bus interface, part-peripheral bus interface, periphery-interior periphery bus interface;
System controller is linked up with cpu bus and local bus;
Bus controller, with local bus, peripheral bus and interior periphery bus are linked up, include the coprocessor interface in this bus controller, moderator and interruptable controller, wherein when a CPU produces the coprocessing mistake, this coprocessor interface receives the coprocessor rub-out signal next by a CPU, and output is ignored rub-out signal to a CPU, and this coprocessor interface output signal is given this moderator, moderator output arbitration income value is given interruptable controller, interruptable controller is according to this arbitration income value and the signal that come by peripheral bus, thereby judges whether to send signal interruption the one CPU;
Second or more a plurality of CPU;
The processor change-over circuit in order to receiving the signal that is come by system controller and to distribute to one of described each CPU, and receives each CPU through cpu bus and the signal that comes and integrate and send system controller to;
The one CPU control port comprises importation and output, and the importation receives the signal next by the interior periphery bus, and its output then is connected to output and is connected to bus controller; This output receives signal that is come by the importation and the processor error signal of being come by a CPU, and its output then is connected to the interior periphery bus;
Moderator in the described bus controller still receives the signal that is come by the importation of a CPU control port except that receiving the signal next by the coprocessor interface, after arbitration, the output income value is to interruptable controller;
With this second or second relevant or more coprocessor interface of more CPU, with this second or more a plurality of CPU through second or the coprocessor rub-out signal line of more a plurality of CPU with to ignore the rub-out signal duct logical, described coprocessor interface has one to interrupt output;
Second or the interrupt vector port of more CPU, link up with the interior periphery bus;
Second or the control port of more CPU, link up with the interior periphery bus, and have one to interrupt output;
Aforementioned second or the interruption of more coprocessor interfaces output with second the interruption output of more CPU control ports through or be connected after, input to second or more CPU of correspondence.
In the said structure, can on cpu bus, add a coprocessor of producing, to promote the arithmetic capability of system by WEITEK company.In addition, but coprocessor interface, moderator and interruptable controller in the bus controller all independent separate come out.Under the situation of set handling device change-over circuit not, also can implement the present invention by other arrangements again.
Above-mentioned and other purpose of the present invention, feature and advantage, can by following to preferred embodiment explanation and consult accompanying drawing and obtain clearer notion, in the accompanying drawing:
Fig. 1 illustrates an example of known single processor system;
Fig. 2 illustrates an example of known multicomputer system;
Fig. 3 illustrates first embodiment that utilizes the multicomputer system of uniprocessor chip upgrading of the present invention;
Fig. 4 illustrates second embodiment that utilizes the multicomputer system of uniprocessor chip upgrading of the present invention;
Fig. 5 illustrates the 3rd embodiment that utilizes the multicomputer system of uniprocessor chip upgrading of the present invention.
The detailed description of preferred embodiment
Below we illustrate preferred embodiment of the present invention with reference to Fig. 3-5.
Fig. 3 illustrates the first embodiment of the present invention, comprising two CPU11A and 11B are arranged.In the system, the element of label 12 to 19,24 to 26 is identical with corresponding element function among Fig. 1, does not just give unnecessary details at this.
As previously mentioned, only can there be a CPU directly relevant in the multicomputer system, therefore be necessary for each CPU and arranges different interrupt modes with the I/O of system.In the present embodiment, be the dashed rectangle that a CPU11A arranges to have below among the control port 27(figure), this control port 27 is connected with interior periphery bus (XD bus) 15.For convenience of description, we are divided into input (27A) and output (27B) two parts with control port 27.When CPU11B wanted interrupts of CPU 11A, CPU11B just write among the importation 27A of control port 27; Control port 27 is sent immediately and is given bus controller 20 to the interrupt request singal of a CPU11A.In the bus controller 20 except that including a coprocessor interface 21 and interruptable controller 22 as described above, other includes an IRQ13 moderator 23, this moderator 23 receives by coprocessor interface 21 and the signal that is come by control port 27, behind the arbitration decision priority ranking, send into again in the IRQ13 input end of interruptable controller 22.So interruptable controller 22 is sent interruptive command and is given CPU11A.CPU11A can learn just that according to interrupt vector (interruptvector) data of interruptable controller 22 this interruption is by the IRQ13 input end, or by other interruption sources on the peripheral bus (eisa bus) 14.If by the IRQ13 input end, then CPU11A is again according to the coprocessor mistake input value 24A among the output 27B of control port 27, just this interruption of decidable is sent by CPU11B, or produced by self coprocessor mistake.
On the other hand, when CPU11A wants interrupts of CPU 11B, as long as write in the control port 29 of CPU11B; Because except the coprocessor mistake of CPU11B self, CPU11A is unique interruption source of CPU11B, thereby CPU11B can judge the source of interruption easily, and carries out corresponding interruption routine.
The distribution of portfolio between relevant two CPU then is to carry out by a processor change-over circuit 19A.This change-over circuit 19A receives the business information next by system controller 19, and it is distributed to CPU11A or CPU11B by cpu bus 12.On the other hand, when two CPU will feed back to system controller 19, also be after integrating via change-over circuit 19A earlier, to send system controller 19 again to.Therefore, with regard to the viewpoint of system controller 19, can be considered as only in the face of a CPU.
Said structure is compared with known multicomputer system as Fig. 2, has following advantage: (1) has reduced the relevant cpu bus 32,42 of each CPU itself, and corresponding multiprocessor interface 33,43, therefore the structure of simplified system greatly; When (2) being upgraded to multicomputer system,, and needn't buy more whole C PU circuit board as long as add second CPU11B by single processor system; (3) two CPU11A, 11B needn't be identical label, even must not be the CPU of ad eundem, as long as the logical protocol of the equal energy of two CPU coupled system itself.
Fig. 4 illustrates an alternative embodiment of the invention.Because the arithmetic capability of CPU itself has some restriction, therefore in the single processor system of known technology, once there was the people on cpu bus 12, to add a coprocessor of producing in addition by WEITEK company, handle some computing to assist CPU.Fig. 2 and for example, in multiprocessing system, also the someone adds this kind coprocessor 60A, 60B.In the embodiment shown in fig. 4, we provide this WEITEK coprocessor 60 too.Coprocessor rub-out signal line 61(61A, the 61B of WEITEK coprocessor) with the coprocessor rub-out signal line 24(24A of CPU11A) through with after door is connected, an input IRQ13 moderator 23 and a CPU defeated 2 go out among the control port 27B, when having treated that the coprocessor mistake produces, interrupt a CPU11A and handled through aforementioned similar process.
Fig. 5 illustrates the third embodiment of the present invention, comprising two CPU311A(P1 are arranged) and 311B(P2).Multicomputer system 300 comprises a local bus (Local Bus) 312, has address bus 312A, data bus 312B and control bus 312C; A peripheral bus (EISA Bus) 313 also has address, data and controls three parts, and label is 313A, 313B and 313C respectively.Other has an interior periphery bus (XD Bus) 314.An EISA interface 315 is arranged between local bus 312 and peripheral bus 313,312A on the Local Bus 312 and 312B bus signals are changed on signal 315C and 315D to the EISA Bus 313 by signal 351A and signal 315B.One XD interface 316 is arranged between EISA Bus and XD Bus, can the data-signal 313C on the EISA Bus 313 be changed into signal 316B and XD Bus 314 communications by signal 316A.
Have a system controller (SYSC) 317 via signal 318 with 319 with Local Bus on the address link to each other with control signal 312A and 312C, link to each other with control signal 313C on the EISA Bus 313 simultaneously via signal 320.Other has a bus controller (BUSC) 321, link up with SYSC317 via signal 324, and by signal 322 with 323 with EISA Bus on address and control signal 313A be connected with 313C, accept the interrupt request singal 326 of EISA Bus 313 simultaneously.
As previously mentioned, multicomputer system only can have a CPU directly relevant with the I/O of system, so must link up interrupting between processor P 1 and P2.When P2 will interrupt P1, P2 just write a specific value via signal 331 and issues orders to the control port 330 of P1, and this control port 330 is promptly sent signal 328 to BUSC321, informed desire interruption P1.This signal 328 is promptly identical with WINT signal 28 among Fig. 3, is the source of IRQ13.BUSC321 just can encourage its inner IRQ13 signal after receiving WINT signal 328, after the moderator (not shown) judges that right of priority is obtained by IRQ13, give P1 so BUSC321 sends look-at-me INT1 325.The interrupt vector that P1 provides according to BUSC321 (Interrup vector) is removed to carry out interrupt service routine (InterruptService Routine) to the address of appointment.
Similarly, when if P1 will interrupt P2, can write a specific value via signal 333 issues orders to P2 control port 332, P2 has learnt via signal INT2 334 and has interrupted, then under the control of SYSC 317, read interrupt vector through signal 336 by P2 interrupt vector port 335, and carry out corresponding interrupt service routine.
All addresses between P1 and the P2 and data and a part of control signal homogeneous phase are connected together and are put on the Local Bus 312 again.This signal is respectively 326,327 and 329.A part of control signal 338 between P1 and P2 and 339 can be handled via a local bus interface (Local Bus Interface) 337 earlier in addition, becomes signal 340 again and delivers on the local bus 312.This interface 337 can arbitrate P1 and P2 uses the right of local bus 312, and is responsible for spying upon the action of (snoop) when arbitrary CPU starting memory cycle (memory cycle).
Also include a ROM BIOS 348 in the native system 300, link up with XD Bus 314 with signal 349.One EISA element 350 is connected with 313A, 313B, 313C on the EISA Bus by signal 351,352,353.Other has a system storage (system memory) 341, links up with data 312B on the local bus through signal 342, and accepts the control of SYSC317 through signal 343.Also have a system cache (system cache), link to each other with address and data-signal on the Local Bus with 346 by signal 345, and accept the control of SYSC 317 by signal 347.
Believe and can obtain to understand fully by above explanation content of the present invention.But it should be noted that above-mentioned preferred embodiment only is the usefulness for explanation, protection scope of the present invention should be determined by the scope of claims.