SE500990C2 - Arrangements in a personal computer system - Google Patents

Arrangements in a personal computer system

Info

Publication number
SE500990C2
SE500990C2 SE9300156A SE9300156A SE500990C2 SE 500990 C2 SE500990 C2 SE 500990C2 SE 9300156 A SE9300156 A SE 9300156A SE 9300156 A SE9300156 A SE 9300156A SE 500990 C2 SE500990 C2 SE 500990C2
Authority
SE
Sweden
Prior art keywords
processor
processors
bus
register
upgrade
Prior art date
Application number
SE9300156A
Other languages
Swedish (sv)
Other versions
SE9300156L (en
SE9300156D0 (en
Inventor
Tom Sjoequist
Original Assignee
Icl Systems Ab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Icl Systems Ab filed Critical Icl Systems Ab
Priority to SE9300156A priority Critical patent/SE500990C2/en
Publication of SE9300156D0 publication Critical patent/SE9300156D0/en
Priority to GB9326514A priority patent/GB2274525B/en
Priority to DE19944401017 priority patent/DE4401017A1/en
Priority to FI940287A priority patent/FI103926B/en
Publication of SE9300156L publication Critical patent/SE9300156L/en
Publication of SE500990C2 publication Critical patent/SE500990C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Abstract

An arrangement for a personal computer system including an original microprocessor (P2) and an upgrade processor (P1) comprises a bus controller (4) which provides first and second operational modes, the first operational mode being a single processor mode in which only the upgrade processor (P1), which comprises a master upgrade processor, is in operation so that conventional types of adapted software are usable, and the second operational mode being a multiprocessor mode for specially adapted software in which the upgrade processor (P1) acts as a master and the original microprocessor (P2) and any other upgrade processors act as slaves. The bus controller (4) is arranged to provide the single processor mode at start or reset of the personal computer system. Transfer to the multiprocessor mode is controlled by the master upgrade processor (P1) in answer to a program instruction. <IMAGE>

Description

15 20 25 30 35 ..,.' » sta 990 2 Huvudsyftet med uppfinningen uppnås med ett arrangemang av det slag, som anges i den kännetecknande delen i det bifoga- de kravet 1. Ytterligare egenskaper och vidareutvecklingar av arrangemanget enligt uppfinningen anges i de övriga pa- tentkraven. 15 20 25 30 35 ..,. ' The main object of the invention is achieved with an arrangement of the type stated in the characterizing part of the appended claim 1. Further features and further developments of the arrangement according to the invention are stated in the other patent claims.

Sålunda är det i enlighet med uppfinningen möjligt att åstadkomma multiprocessoregenskaper hos ett datorsystem, som har minst en installerad uppgraderingsprocessor.Thus, in accordance with the invention, it is possible to achieve multiprocessor characteristics of a computer system having at least one upgraded processor installed.

Dessutom åstadkommer uppfinningen ett datorsystem innefat- tande minst en uppgraderingsprocessor, vilket system har multiprocessoregenskaper och som är helt och hållet kompati- belt bakât med ett datorsystem innefattande en eller flera uppgraderingsprocessorer och som icke har multiprocessor- egenskaper.In addition, the invention provides a computer system comprising at least one upgrade processor, which system has multiprocessor characteristics and which is entirely compatible with a computer system comprising one or more upgrade processors and which does not have multiprocessor characteristics.

Kort beskrivning av figurerna Uppfinningen beskrivs närmare nedan under hänvisning till de bifogade ritningarna, där figur l är ett schematiskt blockschema över en första utföringsform av arrangemanget enligt uppfin- ningen, figur 2 är ett schematiskt diagram av en utföringsform av ett processorstyrt register anordnad i arrangemanget enligt uppfinningen, figur 3 är ett blockschema över en utföringsform av styrningen av processorstyrningen i en logisk styranordning i busstyrenheten i arrangemanget enligt uppfinningen, och figur 4 är ett blockschema över en utföringsform för att sätta en del registerbitar i registren i busstyrenheten. 10 15 20 25 30 35 500 990 3 Registerbitar i registren i busstyrenheten.Brief Description of the Figures The invention is described in more detail below with reference to the accompanying drawings, in which Figure 1 is a schematic block diagram of a first embodiment of the arrangement according to the invention, Figure 2 is a schematic diagram of an embodiment of a processor controlled register arranged in the arrangement according to the invention, figure 3 is a block diagram of an embodiment of the control of the processor control in a logic control device in the bus control unit in the arrangement according to the invention, and figure 4 is a block diagram of an embodiment for putting some register bits in the registers in the bus control unit. 10 15 20 25 30 35 500 990 3 Register bits in the registers in the bus control unit.

I figur 1, där en uppgraderingsprocessor Pl, monterad i en uppgraderingssockel, och en originalprocessor P2 i ett per- sondatorsystem (PC) är kopplade till en processorbuss 1, som innefattar den data-, adress- och styrbuss, som vanligtvis är anordnad i en persondator. En systemkortstyrenhet 2 med in/ut-enheter I/O kopplade till några av dess ingångar och utgångar och ett huvudminne 3 är också kopplade till proces- sorbussen l. Dessa kretsar är vanliga i en persondator.In Figure 1, where an upgrade processor P1, mounted in an upgrade socket, and an original processor P2 in a personal computer system (PC) are connected to a processor bus 1, which includes the data, address and control bus, which is usually arranged in a personal computer. A system board controller 2 with input / output units I / O connected to some of its inputs and outputs and a main memory 3 are also connected to the processor bus 1. These circuits are common in a personal computer.

Enligt uppfinningen finns en busstyrenhet 4 anordnad, som också är kopplad till processorbussen l. Systemkortstyren- heten 2 har en ingång/utgång kopplad till processorbussen 1 och en styrbuss kopplad direkt till busstyrenheten 4.According to the invention, a bus control unit 4 is provided, which is also connected to the processor bus 1. The system card control unit 2 has an input / output connected to the processor bus 1 and a control bus connected directly to the bus control unit 4.

Den i systemet enligt uppfinningen anordnade busstyrenheten 4 innefattar en processorreglerport PCP innefattande tvâ register Rl och R2, ett för vardera processorn Pl respektive P2. Registren Rl och R2 är kombinerade styr- och status- register, i vilka åtminstone några av bitarna'âr fasta siffror (dvs siffror som endast kan läsas), och andra funge- rar såsom lås/skrivbitar av ordinärt slag. Varje processor Pl och P2 har en individuell buss kopplad till sitt indivi- duella register Rl respektive R2. Busstyrenheten 4 innefat- tar också en logisk styranordning LC, t ex innefattande en boolsk grindkrets, för att åstadkomma initiering av proces- sorn P2, kommunikation mellan processorerna, och kommunika- tion mellan processorerna och systemkortstyrenheten 2, var- vid varje processor P1 och P2 har en individuell buss kopp- lad till den logiska styranordningen LC. Busstyrenheten 4 bestämmer vem av processorerna Pl och P2 och systemkort- styrenheten 2, som skall ha åtkomst till processorbussen 1 och också ha åtkomst till huvudminnet 3.The bus control unit 4 arranged in the system according to the invention comprises a processor control port PCP comprising two registers R1 and R2, one for each processor P1 and P2, respectively. The registers R1 and R2 are combined control and status registers, in which at least some of the bits are fixed digits (ie digits that can only be read), and others function as locks / write bits of ordinary kind. Each processor P1 and P2 has an individual bus connected to its individual register R1 and R2, respectively. The bus controller 4 also includes a logic controller LC, for example comprising a Boolean gate circuit, for effecting initiation of the processor P2, communication between the processors, and communication between the processors and the system board controller 2, each processor P1 and P2 has an individual bus connected to the logic control device LC. The bus control unit 4 determines which of the processors P1 and P2 and the system card control unit 2 is to have access to the processor bus 1 and also to have access to the main memory 3.

Systemet måste vara kompatibelt med ett ordinärt PC-system.The system must be compatible with an ordinary PC system.

Därför måste systemet arbeta på samma sätt som en ordinär PC, när så behövs. Detta innebär att originalprocessorn P2 10 15 20 25 30 4 arbetar på normalt sätt, när ingen uppgraderingsprocessor Pl är placerad i uppgraderingssockeln.Therefore, the system must work in the same way as an ordinary PC, when needed. This means that the original processor P2 10 15 20 25 30 4 operates in the normal way, when no upgrade processor P1 is placed in the upgrade socket.

Det innebär också att det finns en möjlighet att välja mellan en multiprocessormod och en enkelprocessormod, när uppgraderingsprocessen Pl är installerad, för att stödja alla manöversystem för enkelprocessor, såsom DCS, Windows, SCO, UNIX etc. Enligt uppfiningen kommer busstyrenheten 4 att styra processorerna Pl och P2 att anta en enkelproces- sorarbetsmod, i vilken originalprocessorn P2 är bortkopp- lad, när datorn slås på eller efter en återställning av 'systemet, och att fortsätta med processorn i denna enkelpro- cessmod, till dess att en speciell programinstruktion för multiprocessormod i ett program inmatat i datorn ger in- struktionen att överföra systemet till en multiprocessor- arbetsmod, i vilken processorerna verkar såsom delar i ett multiprocessorsystem.It also means that there is a possibility to choose between a multiprocessor mode and a single processor mode, when the upgrade process P1 is installed, to support all single processor operating systems, such as DCS, Windows, SCO, UNIX etc. According to the invention, the bus controller 4 will control the processors P1 and P2 to adopt a single processor mode of operation in which the original processor P2 is disconnected when the computer is turned on or after a reset of the system, and to continue with the processor in this single processor mode until a special multiprocessor mode program instruction in a program entered into the computer instructs to transfer the system to a multiprocessor operating mode, in which the processors operate as parts of a multiprocessor system.

I enkelprocessormoden är uppgraderingsprocessorn Pl den överordnade processorn och hanterar alla systemavbrott på ett helt och hållet PC-kompatibelt sätt. l multiprocessormoden antar uppgraderingsprocessorn rollen av en överordnad processor, och originalprocessorn P2 blir en slavprocessor, dvs den hanterar icke längre systemav- brott. Såsom angivits ovan blockeras slavprocessorn P2 vid start av systemet, vilket är kompatibelt med enkelprocessor- mod, och processorn P2 måste öppnas av den överordnade pro- cessorn Pl, när multiprocessormod begärs. Detta görs med hjälp av busstyrenheten 4, såsom kommer att bli klarlagt nedan. Dessutom kommer arrangemanget Pl, P2, R1 att reagera på en speciell programinstruktion för enkelprocessormod, som ger order om att överföra systemet från multiprocessorar- betsmoden till enkelprocessorarbetsmoden, när så behövs. 10 15 20 25 30 500 99Ü LH Processorstyrporten En föredragen utföringsform av processorstyrportregistren Rl coh R2 visas i figur 2, och varje bit i registren har följ- ande flaggfunktion. Registren Rl och R2 är placerade på samma adress (dvs är kanaliserade på samma sätt) för båda processorerna Pl och P2, och processorn P1 har alltid åt- komst till registret RI, och processorn P2 har alltid åtkomst till registret R2. Det bör observeras att dessa register fungerar såsom både styr- och status-register.In single processor mode, the upgrade processor P1 is the parent processor and handles all system outages in a fully PC-compatible manner. In the multiprocessor mode, the upgrade processor assumes the role of a parent processor, and the original processor P2 becomes a slave processor, ie it no longer handles system failures. As stated above, the slave processor P2 is blocked at system startup, which is compatible with single processor mode, and processor P2 must be opened by the parent processor P1, when multiprocessor mode is requested. This is done by means of the bus control unit 4, as will be clarified below. In addition, the arrangements P1, P2, R1 will respond to a special program instruction for single processor mode, which gives orders to transfer the system from the multiprocessor working mode to the single processor working mode, when needed. 10 15 20 25 30 500 99Ü LH Processor control port A preferred embodiment of the processor control port registers R1 and R2 is shown in Figure 2, and each bit in the registers has the following flag function. The registers R1 and R2 are located at the same address (ie are channeled in the same way) for both processors P1 and P2, and the processor P1 always has access to the register R1, and the processor P2 always has access to the register R2. It should be noted that these registers function as both control and status registers.

Bit :___ ~I Funktion Aktivera avbrott, INTEN. Denna bit aktiverar, när den sätts, avbrott genererade under användning av IREQ (se bit 6).Bit: ___ ~ I Function Activate interrupt, NONE. This bit, when set, activates interrupts generated using IREQ (see bit 6).

Avbrottsförfrågan, IREQ. Inskrivning av en "I" i denna bit genererar en puls, som genererar en mel- lanprocessorkommunikation NMI vid den andra proces- sorn. När den låses indikerar denna bit nivån hos avbrottsförfrågansignalen för den andra processorn. "l" innebär att ett avbrott just pågår.Interruption request, IREQ. Entering an "I" in this bit generates a pulse, which generates an intermediate processor communication NMI at the other processor. When locked, this bit indicates the level of the interrupt request signal for the other processor. "l" means that an interruption is just in progress.

Avbrottskvittering,IACK. När en "l" år inskriven i denna bit, genereras en mellanprocessorkommunika- tion vid den till detta register kopplade proces- sorn. När den låses indikerar denna bit nivån hos avbrottsförfrågansignalen för denna processor. "l" innebär att ett avbrott just pågår.Interruption receipt, IACK. When an "1" year is written in this bit, an intermediate processor communication is generated at the processor connected to this register. When locked, this bit indicates the level of the interrupt request signal for this processor. "l" means that an interruption is just in progress.

Dubbla processorer, DUAL. Denna bit är "O", när en processor är installerad, och "1" när två processo- rer är installerade, dvs när en uppgraderingspro- cessor är installerad. Därför kommer processorn P1 att alltid läsa denna bit såsom en "I" i registret 10 15 20 25 30 35 01 '\ 990 6 Rl, och denna bit skulle då kunna vara en fast bit i Rl.Dual processors, DUAL. This bit is "0" when a processor is installed, and "1" when two processors are installed, ie when an upgrade processor is installed. Therefore, the processor P1 will always read this bit as an "I" in the register R1, and this bit could then be a fixed bit in R1.

Hold P2, PZHOLD. Denna bit i registret Rl, när den är nollställd (dvs är "0"), tillåter P2 att få åt- komst till processorbussen. P2 kan fortfarande läsa data och instruktioner från sitt interna fickminne oberoende av om denna bit är satt eller inte. När denna bit är satt (dvs är "l"), tillåts P2 icke att få åtkomst till processorbussen. Denna bit kan endast skrivas av P1. (P2 kommer alltid att läsa denna bit såsom en "O" från registret P2).Hold P2, PZHOLD. This bit in register R1, when set to zero (ie is "0"), allows P2 to access the processor bus. P2 can still read data and instructions from its internal cache regardless of whether this bit is set or not. When this bit is set (ie is "1"), P2 is not allowed to access the processor bus. This bit can only be written by P1. (P2 will always read this bit as a "0" from register P2).

Aktivera P2, PZEN. Denna bit i registret Rl, när den är satt (dvs är "1"), aktiverar P2 genom att ej gör anspråk på UP-stiftet (dvs stiftet hos ori- ginalprocessorn P2, som indikerar att en uppgrade- ringsprocessor är installerad). När denna bit i registret R1 är "O", hålls processorn P2 i ett inaktiverat tillstånd med låg effekt. Denna bit samplas av busstyrenheten 3, när biten PZRESET (biten 0) gör en övergång från "l" till "O" och bör endast ändras när biten PZRESET år "l". kan endast skrivas av processorn Pl (processorn P2 Denna bit kommer alltid att läsa denna bit såsom en "l" från registret R2).Activate P2, PZEN. This bit in register R1, when set (ie is "1"), activates P2 by not claiming the UP pin (ie the pin of the original processor P2, which indicates that an upgrade processor is installed). When this bit in the register R1 is "0", the processor P2 is kept in a disabled state with low power. This bit is sampled by the bus controller 3, when the bit PZRESET (bit 0) makes a transition from "1" to "0" and should only be changed when the bit PZRESET is "1". can only be written by the processor P1 (the processor P2 This bit will always read this bit as a "1" from the register R2).

Processor-ID, PID. Denna bit identifierar den till registret kopplade processorn och är en fast bit.Processor ID, PID. This bit identifies the processor connected to the registry and is a fixed bit.

R1 har "O". R2 har "l". Återställ P2, PZRESET. Denna bit, när den är satt (dvs år "1") i registret Rl, gör anspråk på proces- sorns P2 återställningssignal. Registret R2 har en fast "O". 10 15 20 25 30 35 500 990 7 St rnin av rocessorst rnin en Vid start eller återställning av datasystemet bestämmer busstyrenheten 4, om en uppgraderingsprocessor Pl är instal- lerad och sålunda tillgänglig, dvs bestämmer vilken proces- sor, som är den överordnade, och dirigerar PC systemsigna- lerna till den överordnade processorn.R1 has "0". R2 has "1". Reset P2, PZRESET. This bit, when set (ie year "1") in the register R1, claims the reset signal of the processor P2. The register R2 has a fixed "0". When starting or resetting the computer system, the bus controller 4 determines if an upgrade processor P1 is installed and thus available, i.e. determines which processor is the parent, and directs the PC system signals to the parent processor.

Endast utföringsformen av kretsarrangemanget i den logiska styranordningen LC i busstyrenheten 4 för styrning av pro- cessorstyrningen visas i figur 3. Sålunda innefattar den logiska styranordningen också andra kretsar för andra slags styrning. Ett antal signaler är beroende på huruvida en upp- graderingsprocessor Pl finns eller ej. När den finns kommer det att finnas en "1" i bit nr 4 i registret R2. När den icke finns är bit nr 4 i R2 "O". Nedan indikerar prefixet X i ett signalnamn en ingång eller utgång hos systemkortstyr- enheten 2, prefixet P1 en ingång eller utgång hos uppgrade- ringsprocessorn P2 och prefixet P2 en ingång eller utgång hos originalprocessorn P2. PyPCPx indikerar processorstyr- registerbiten nr x för processorn Py, där y är 1 eller 2.Only the embodiment of the circuit arrangement in the logic control device LC in the bus control unit 4 for controlling the processor control is shown in Figure 3. Thus, the logic control device also comprises other circuits for other types of control. A number of signals depend on whether or not an upgrade processor P1 is present. When it exists, there will be a "1" in bit # 4 in register R2. When not present, bit # 4 in R2 is "0". Below, the prefix X in a signal name indicates an input or output of the system board controller 2, the prefix P1 an input or output of the upgrade processor P2 and the prefix P2 an input or output of the original processor P2. PyPCPx indicates the processor control register bit no. X for the processor Py, where y is 1 or 2.

Systemkortstyrenheten 2 åstadkommer, såsom är vanligt inom denna del av tekniken, styrsignalerna, såsom XA20M, XIGNNE, XINTR, XNMI ovh XCPURST, där XAZOM är masken för den fysiska adressbiten 20, som är maskerad före utförandet av en upp- sökning i det interna fickminnet eller drivning av en min- nescykel på processorbussen, XIGNNE är en signal, som indi- kerar att ett numeriskt fel skall ignoreras, XINTR, masker- bart avbrott, indikerar att ett externt avbrott har genere- rats, XNMI, icke-maskerbart avbrott, indikerar att ett icke- maskerbart avbrott har genererats, och XCPURST genereras av systembordstyrenheten 2 som resultat av tillkoppling av effekt eller nedkopplingstillstånd (fatalt programfel - återhämtning misslyckats) detekterat på bussen l av styren- heten 2 på konventionellt sätt. 10 15 20 25 30 35 550 990 8 Pâ konventionellt sätt skulle signalen XCPURST också kunna aktiveras av tangentbordsstyrenheten, men i anordningen enligt uppfinningen är radering av processorstyrporten PCP icke önskvärd. Processoråterställning under användning av tangentbordsstyrenheten är därför icke stödd i anordningen enligt uppfinningen.The system card controller 2 provides, as is usual in this part of the art, the control signals, such as XA20M, XIGNNE, XINTR, XNMI and XCPURST, where XAZOM is the mask of the physical address bit 20, which is masked before performing a search in the internal cache. or driving a memory cycle on the processor bus, XIGNNE is a signal indicating that a numerical error should be ignored, XINTR, maskable interrupt, indicating that an external interrupt has been generated, XNMI, non-maskable interrupt, indicates that a non-maskable interrupt has been generated, and XCPURST is generated by the system board controller 2 as a result of power on or down state (fatal program error - recovery failed) detected on bus 1 by controller 2 in conventional manner. In a conventional manner, the signal XCPURST could also be activated by the keyboard control unit, but in the device according to the invention erasure of the processor control port PCP is undesirable. Processor reset using the keyboard controller is therefore not supported in the device according to the invention.

Alla signalerna XAZOM, XIGNNE och XINTR skall åstadkommas direkt via den logiska styranordningen LC till processorn Pl såsom insignaler P1A20M, PIIGNNE och PIINTR för att styra P1, när den finns i systemet. Sålunda är följande VHDL- uttryck giltiga.All signals XAZOM, XIGNNE and XINTR shall be provided directly via the logic controller LC to the processor P1 such as input signals P1A20M, PIIGNNE and PIINTR to control P1, when present in the system. Thus, the following VHDL expressions are valid.

PlA20M <= XAZOM PIIGNNE <= XIGNNE PIINTR <= XINTR Signalerna XAZOM, XIGNNE, XINTR måste ges till originalpor- cessorn P2 när ingen uppgraderingsprocessor Pl är inkopplad, vilket är indikerat med "O" i bit nr 4 i registret R2. En "l" i denna bit indikerar, att en uppgraderingsprocessor Pl är inkopplad. Därför har en första OCH-grind Al med en inverterad ingång kopplad till bit nr 4 i registret R2 och en icke-inverterad ingång kopplad till linjen XAZOM sin utgång kopplad till originalprocessorn P2. Då ger utgången signalen P2A20M endast, när bit nr 4 i registret 2 är "O" och XA20M är "l", dvs när ingen uppgraderingsprocessor Pl är anordnad. I enlighet därmed har en andra OCH-grind A2 en inverterad ingång kopplad till bit nr 4 i R2 och en icke- inverterad ingång till linjen XIGNNE för att ge utsignalen PZIGNNE, och en tredje OCH-grind A3 har en inverterad ingång kopplad till bit nr 4 i R2 och en icke-inverterad ingång till linjen XINTR för att ge utsignalen PZINTR. Sålunda år följande VHDL-uttryck giltiga: P2A2OM <= icke DUAL och XA2OM PZIGNNE <= icke DUAL och XIGNNE PZINTR <= icke DUAL och XINTR 10 15 20 25 30 35 500 990 9 En insignal till PINMI bör ges, när en utsignal XNMI matas från styrenheten 2, och också när bit nr 6 i registret P2 och bit nr 7 i registret Rl har en "l". Därför är dessa bitar kopplade till de två icke-inverterande ingångarna på en OCH-grind A4, och grindens A4 utsignal och utsignalen XNMI matas till ingångar på en ELLER-grind 0Rl. Utgången på ELLER-grinden matar signalen PINMI till processorn P1 i enlighet med följande VHDL-uttryck: PINMI <= XNMI eller (P2PCP6 och PIPCP7) Signalen XNMI skall matas till processorn P2, när ingen upp- graderingsprocessor finns, och också när biten nr 6 i re- gistret R1 och biten nr 7 i registret R2 har en "l". Därför är dessa bitar kopplade till de två icke-inverterande in- gångarna på en OCH-grind A6, och utsignalen från OCH-grinden A6 och utsignalen XNMI matas till en icke-inverterande in- gång på en OCH-grind A5, och bit nr 4 i registret R2 matas till en inverterande ingång på OCH-grinden A5. Utsignalerna från OCH-grindarna matas till var sin ingång på en OCH- grind OR2. Utsignalen från ELLER-grinden OR2 matar signalen P2NMI till processorn 2 enligt följande VHDL-uttryck.PlA20M <= XAZOM PIIGNNE <= XIGNNE PIINTR <= XINTR The signals XAZOM, XIGNNE, XINTR must be given to the original processor P2 when no upgrade processor P1 is connected, which is indicated by "0" in bit no. 4 in register R2. An "1" in this bit indicates that an upgrade processor P1 is connected. Therefore, a first AND gate A1 with an inverted input connected to bit No. 4 in the register R2 and a non-inverted input connected to the line XAZOM has its output connected to the original processor P2. Then the output gives the signal P2A20M only, when bit no. 4 in the register 2 is "0" and XA20M is "1", ie when no upgrade processor P1 is provided. Accordingly, a second AND gate A2 has an inverted input connected to bit No. 4 in R2 and a non-inverted input to the line XIGNNE to provide the output signal PZIGNNE, and a third AND gate A3 has an inverted input connected to bit no. 4 in R2 and a non-inverted input to the line XINTR to provide the output signal PZINTR. Thus, the following VHDL expressions are valid: P2A2OM <= non-DUAL and XA2OM PZIGNNE <= non-DUAL and XIGNNE PZINTR <= non-DUAL and XINTR 10 15 20 25 30 35 500 990 9 An input signal to PINMI should be given when an output signal XNMI is supplied from the control unit 2, and also when bit no. 6 in the register P2 and bit no. 7 in the register R1 have a "1". Therefore, these bits are connected to the two non-inverting inputs on an AND gate A4, and the output signal of the gate A4 and the output signal XNMI are fed to the inputs of an OR gate OR1. The output of the OR gate supplies the signal PINMI to the processor P1 in accordance with the following VHDL expression: PINMI <= XNMI or (P2PCP6 and PIPCP7) The signal XNMI shall be supplied to the processor P2, when there is no upgrade processor, and also when bit no. in register R1 and bit no. 7 in register R2 has a "1". Therefore, these bits are connected to the two non-inverting inputs on an AND gate A6, and the output signal from the AND gate A6 and the output signal XNMI are fed to a non-inverting input on an AND gate A5, and bit no. 4 in register R2 is fed to an inverting input on AND gate A5. The output signals from the AND gates are fed to their respective inputs on an AND gate OR2. The output signal from the OR gate OR2 supplies the signal P2NMI to the processor 2 according to the following VHDL expression.

PZNMI <= (icke DUAL och XNMI) eller (PlPCP6 och PZPCP7) Utsignalen XCPURST skall ges till båda processorerna P1 och P2. Den skall också ges till processorn P2, när bit nr 0 i registret Rl år "1", såsom kommer att beskrivas nedan. Där- för matas styrenhetens 2 utsignal XCPURST direkt via den lo- giska styranordningen LC såsom insignalen PICPURST till pro- cessorn Pl, dvs PICPURST <= XCPURST. Bit nr 0 i R1 matas till en ingång och XCPURST till en annan ingång på en ELLER- grind OR3. ELLER-grindens OR3 utsignal matar då insignalen PZCPURST till processorn P2 i enlighet med följande VHDL- uttryck: P2CPURST <= XCPURST eller PIPCPO 10 15 20 25 30 35 500 990 N Insignalen XFERR (flyttalsfel) till styrenheten 2 kommer att ges av processorn Pl, när en uppgraderingsprocessor finns, eller av processorn P2, när ingen uppgraderingsprocessor finns. Därför är bit nr 4 kopplad till en icke-inverterande ingång på en OCH-grind A7 och till en inverterande ingång på en OCH-grind A8. En utsignal PIFERR från processorn P1 matas till en andra icke-inverterande ingång på OCH-grinden A7, och en utsignal PZFERR från processorn P2 matas till en andra icke-inverterande ingång på OCH-grinden A7. Utsigna- lerna från OCH-grindarna A7 och A8 matas till var sin ingång på en ELLER-grind OR4. Utsignalen från ELLER-grinden OR7 matar då signalen XFERR till styrenheten 2 i enlighet med följande VHDL-uttryck: XFERR <= (DUAL och PIFERR) eller (icke DUAL och PZFERR) Såsom är uppenbart från det ovanstående är kretsarrange- manget i figur 3 lätt åstadkommet, när väl VHDL-uttrycken är kända. Nedan kommer VHDL-uttrycksrepresentationer av sama slag som ovan att ges i stället för att ha kretsarrange- mangen i den logiska styranordningen uppritad i figurer.PZNMI <= (not DUAL and XNMI) or (PlPCP6 and PZPCP7) The output XCPURST should be given to both processors P1 and P2. It shall also be given to the processor P2, when bit no. 0 in the register R1 is "1", as will be described below. Therefore, the output signal XCPURST of the control unit 2 is fed directly via the logic control device LC such as the input signal PICPURST to the processor P1, i.e. PICPURST <= XCPURST. Bit No. 0 in R1 is fed to one input and XCPURST to another input on an OR gate OR3. The output signal of the OR3 gate then supplies the input signal PZCPURST to the processor P2 in accordance with the following VHDL expression: P2CPURST <= XCPURST or PIPCPO 10 15 20 25 30 35 500 990 N The input signal XFERR (floating point error) to the control unit 2 will be given by the processor P1, when an upgrade processor is present, or by the processor P2, when no upgrade processor is present. Therefore, bit 4 is connected to a non-inverting input on an AND gate A7 and to an inverting input on an AND gate A8. An output signal PIFERR from the processor P1 is supplied to a second non-inverting input on the AND gate A7, and an output signal PZFERR from the processor P2 is supplied to a second non-inverting input on the AND gate A7. The output signals from AND gates A7 and A8 are fed to their respective inputs on an OR gate OR4. The output signal from the OR gate OR7 then supplies the signal XFERR to the control unit 2 in accordance with the following VHDL expressions: XFERR <= (DUAL and PIFERR) or (not DUAL and PZFERR) As is clear from the above, the circuit arrangement in Figure 3 is light. achieved, once the VHDL expressions are known. Below, VHDL expression representations of the same kind as above will be given instead of having the circuit arrangements in the logic control device drawn in figures.

Detektering av uppgraderingsprocessor Vid varje processoråterställning, orsakad av signalen XCPURST, bestämmer busstyrenheten 2, om en processor år in- satt i uppgraderingssockeln. Detta görs genom att göra an- språk på en signal PIHOLD från processorns P1 sockel under återställning, och om en signal PIHOLDA från processorns Pl sockel mottas finns uppgraderingsprocessorn Pl i sockeln. Om ingen signal PIHOLDA mottas finns uppgraderings- processorn i sin sockel. Bit nr 4, DUAL, i registret R2 sätts då till "1".Upgrading processor detection At each processor reset, caused by the XCPURST signal, the bus controller 2 determines if a processor is inserted in the upgrade socket. This is done by claiming a signal PIHOLD from the socket of the processor P1 during reset, and if a signal PIHOLDA from the socket of the processor P1 is received, the upgrade processor P1 is in the socket. If no signal PIHOLDA is received, the upgrade processor is in its socket. Bit No. 4, DUAL, in register R2 is then set to "1".

I system, där uppgraderingsprocessorn Pl bär MP #-stiftet, är det tillräckligt att sätta DUAL-biten, om MP # är låg. 10 15 20 25 30 500 990 ll Processorstyrporten Ett exempel till av en krets kommer emellertid att ges i figur 4. Den ger ett exempel på hur en del av bitarna i registren Rl och R2 är implementerade. En signal skriv PZINTEN ges av logikstyrningen och matas till en ingång på en styrbar buffertkrets Bl. När buffertkretsen mottar en styrsignal från processorn P2 om att bit nr 7 i registret R2 skall läsas, sätter buffertkretsen denna bit på databussen såsom databusslinjen D7. Elementen A6 och A7 år desamma som de som visas i figur 3. I figur 3 visas att PZPCP7 skulle kunna anordnas såsom en av ingångarna till OCH-grinden A6.In systems where the upgrade processor P1 carries the MP # pin, it is sufficient to set the DUAL bit, if MP # is low. 10 15 20 25 30 500 990 ll The processor control port Another example of a circuit will, however, be given in Figure 4. It gives an example of how some of the bits in registers R1 and R2 are implemented. A signal write PZINTEN is given by the logic controller and fed to an input of a controllable buffer circuit B1. When the buffer circuit receives a control signal from the processor P2 that bit no. 7 in the register R2 is to be read, the buffer circuit sets this bit on the data bus such as the data bus line D7. Elements A6 and A7 are the same as those shown in Figure 3. Figure 3 shows that PZPCP7 could be arranged as one of the inputs to the AND gate A6.

Den andra ingången på OCH-grinden A6 skulle kunna ges från en bistabil SR-hållkrets M1, som sätts med en puls IREQ (P1PCP6, bit nr 6 i registret Rl för processorn P1) och âterställs av en puls IACK (P2PCP5, bit nr 5 i registret R2 för processorn P2). Sålunda visas i figur 4 att det är sig- nalerna PZINTEN, IREQ såsom det finns i den logiska styr- kretsen, som styr OCH-grinden A6. Utsignalen IREQ från SR- hållkretsen M1 matas till en ingång på en buffertkrets 82, som är styrbar av processorn P1, och överförs till adress- bussen såsom databusslinjen D6, när processorn Pl begår läsning av biten nr 6 i registret Rl. Utsignalen IREQ från SR-hållkretsen M1 matas också till en inverterande ingång på en buffertkrets B3, som matar signalen på sin ingång till databusslinjen D5, när processorn P2 ger en signal för att läsa biten nr 5 i registret R2.The second input of the AND gate A6 could be given from a bistable SR holding circuit M1, which is set with a pulse IREQ (P1PCP6, bit no. 6 in the register R1 for the processor P1) and reset by a pulse IACK (P2PCP5, bit no. 5 in register R2 for processor P2). Thus, Figure 4 shows that it is the signals PZINTEN, IREQ as it is present in the logic control circuit, which control the AND gate A6. The output signal IREQ from the SR hold circuit M1 is fed to an input of a buffer circuit 82, which is controllable by the processor P1, and is transmitted to the address bus as the data bus line D6, when the processor P1 reads bit 6 in the register R1. The output signal IREQ from the SR holding circuit M1 is also fed to an inverting input of a buffer circuit B3, which supplies the signal at its input to the data bus line D5, when the processor P2 gives a signal to read bit no. 5 in the register R2.

Skillnader mellan processorerna i multiprocessormod Processorerna Pl och P2 uppträder på samma sätt i förhållan- de till huvudminnet 3 och de till systemstyrenheten 3 kopp- lade I/O-undersystemet. Emellertid finns följande skillnader mellan processorerna i multiprocessormod: 10 15 20 25 30 35 sno 99-0 12 Bussprioritet Procesorn Pl har en högre prioritet än processorn P2. När Pl behöver processorbussen 1, och processorn P2 är den momenta- na ägaren av den, då anmodas processorn P2 att gå av bussen omedelbart, vilket görs genom aktivering av PZHOLD-signalen i bit nr 3 i registret Rl. När processorn P2 behöver bussen, komer busstyrenheten 3 att vänta med att begära bussen, till dess att processorn P1 icke har någon intern begäran kvar för bussen. Detta säkerställer, att processorn Pl kommer att få en större del av den tillgängliga bussband- bredden.Differences between the processors in multiprocessor mode The processors P1 and P2 behave in the same way in relation to the main memory 3 and the I / O subsystem connected to the system control unit 3. However, there are the following differences between the processors in multiprocessor mode: 10 15 20 25 30 35 sno 99-0 12 Bus priority The processor P1 has a higher priority than the processor P2. When P1 needs the processor bus 1, and the processor P2 is the instantaneous owner of it, then the processor P2 is requested to get off the bus immediately, which is done by activating the PZHOLD signal in bit no. 3 in the register R1. When the processor P2 needs the bus, the bus controller 3 will wait to request the bus until the processor P1 has no internal request left for the bus. This ensures that the processor P1 will receive a larger share of the available bus bandwidth.

Medling mellan processorn Pl, processorn P2 och styrenheten 2 utföres genom användning av bussförfrågansignalen PIBREQ, hållförfrâgansignalen PIHOLD och hållkvitteringssignalen PIHOLDA från processorn Pl och bussförfrågansignalen PZBREQ, hållförfrågansignalen PZHOLD och hållkvitteringssignalen PZHOLDA från processorn P2 och hållförfrâgansignalen XHOLD och hållkvitteringssignalen XHOLDA från styrenheten 2 till logikstyranordningen LC. Följande maskintillstånd (VHDL-ut- tryck) visar hur medlingarna arbetar. Vänta till klockpulsen är "l".Mediation between the processor P1, the processor P2 and the control unit 2 is performed by using the bus request signal PIBREQ, the hold request signal PIHOLD and the hold acknowledgment signal PIHOLDA from the bus P1 and the bus request signal PZBREQ, the hold request signal PZHOLD and the hold acknowledgment signal P The following machine condition (VHDL expression) shows how the mediators work. Wait until the clock pulse is "l".

När processorn P1 är ägare av bussen 1 då gäller: PIHOLD <= XHOLD eller (PZBREQ och icke PIBREQ) PZHÛLD <= "I" XHOLDA <= XHOLD 0Ch PIHOLDÄ Om XHOLD="l" och PlHOLDA="l" då kommer nästa tillstånd att vara, att styrenheten 2 är ägaren av bussen 1. Annars, om P2BREQ="1" och PlBREQ="0" och P1HOLDA="l", kommer nästa tillstånd att vara, att processorn P2 är ägaren till bussen 1. 10 15 20 25 30 35 500 990 13 När processorn P2 är ägaren av bussen l så gäller: PIHOLD <= "l" P2HOLD <= XHOLD eller PIBREQ XHOLDA <= XHOLD och PZHOLDA Om XHOLD="l" och P2HOLDA="l" kommer nästa tillstånd att vara, att styrenheten 2 är ägaren av bussen, annars, om PlBREQ="l" och P2HOLDA="l" kommer nästa tillstånd att vara, att processorn Pl är ägaren av bussen 1.When the processor P1 is the owner of the bus 1 then applies: PIHOLD <= XHOLD or (PZBREQ and not PIBREQ) PZHÛLD <= "I" XHOLDA <= XHOLD 0Ch PIHOLDÄ If XHOLD = "l" and PlHOLDA = "l" then the next state comes to be, that the control unit 2 is the owner of the bus 1. Otherwise, if P2BREQ = "1" and P1BREQ = "0" and P1HOLDA = "1", the next condition will be that the processor P2 is the owner of the bus 1. 20 25 30 35 500 990 13 When the processor P2 is the owner of the bus l then the following applies: PIHOLD <= "l" P2HOLD <= XHOLD or PIBREQ XHOLDA <= XHOLD and PZHOLDA If XHOLD = "l" and P2HOLDA = "l", the next condition to be that the controller 2 is the owner of the bus, otherwise, if P1BREQ = "1" and P2HOLDA = "1", the next condition will be that the processor P1 is the owner of the bus 1.

När styrenheten 2 är ägaren av bussen 1 så gäller: PIHOLD <= "l" PZHOLD <= "I" XHOLDA <= "O" Om XHOLD = "O" och om DUAL="0" eller (P2BREQ="l" och PlBREQ="0") komer nästa tillstånd att vara, att processorn P2 är ägaren av bussen 1. Annars kommer processorn Pl att vara ägaren.When the control unit 2 is the owner of the bus 1, the following applies: PIHOLD <= "l" PZHOLD <= "I" XHOLDA <= "O" If XHOLD = "O" and if DUAL = "0" or (P2BREQ = "l" and PlBREQ = "0"), the next condition will be that the processor P2 is the owner of the bus 1. Otherwise, the processor P1 will be the owner.

Om ingen uppgraderingsprocessor Pl finns, är PIBREQ "O" på grund av ett nedkopplingsmotstånd (icke visat) kopplat till sockelstiftet för denna signal för processorn P1. PIHOLDA är "I" på grund av ett spänningssättningsmotstånd (icke visat).If no upgrade processor P1 is present, PIBREQ is "0" due to a disconnect resistor (not shown) connected to the socket pin for this signal for the processor P1. PIHOLDA is "I" due to a voltage resistance (not shown).

Detta kommer att effektivt få den tomma sockeln för en upp- graderingsprocessor att icke deltaga i någon medling.This will effectively cause the empty socket for an upgrade processor to not participate in any mediation.

Såsom framgår av de ovanstående VHDL-uttrycken tilldelar avgömïfiefunktionen i busstyrenheten 4 den högsta prioriteten till systemkortstyrenheten 2, den näst högsta prioriteten till processorn P1 och den lägsta prioriteten till proces- sorn P2. Båda processorerna Pl och P2 kommer att parkera på processorbussen 1, när de är ägare av den, till dess att en annan anordning begär bussen 1. Systembusstyrenheten 2 kom- mer icke att parkera på bussen, eftersom styrning kommer att ges tillbaka till processorn Pl eller processorn P2 omedel- 10 15 20 25 30 35 990 14 bart. Detta kommer att säkerställa PC-kompatibilitet, när systemet kör i enkelprocessormod och medge maximal använd- ning av bussen 1.As can be seen from the above VHDL expressions, the storage function in the bus controller 4 assigns the highest priority to the system board controller 2, the second highest priority to the processor P1 and the lowest priority to the processor P2. Both processors P1 and P2 will park on the processor bus 1, when they own it, until another device requests the bus 1. The system bus controller 2 will not park on the bus, as control will be given back to the processor P1 or processor P2 immediately- 10 15 20 25 30 35 990 14 bart. This will ensure PC compatibility, when the system is running in single processor mode and allow maximum use of the bus 1.

Tillträde till processorstyrport Bitarna 3 och 2 i registret R1 är endast skrivbara genom styrning från processorn Pl. Dessa bitar styr aktivering och initiering av processorn P2.Access to processor control port Bits 3 and 2 in register R1 can only be written by control from processor P1. These bits control the activation and initialization of the processor P2.

Avbrottshantering för Pl Processorn Pl mottar alla hårdvaruavbrott från systemport- styrenheten 2. Kommunikationen mellan processorerna NMI (Non-Maskable Interrupt) (genererad av processor P2 under användning av sin IREQ-bit, dvs bit nr 6 i registret R2) delas av andra signaler i systemet, såsom XNMI orsakad av paritetsfel och IOCHK-signalen från systembussen. PINMI- hanteraren (icke visad men en standardmodul i en mikropro- cessor av typ Intel486m lämplig för uppfinningen) hos pro- cessorn Pl måste läsa bit nr 5, IACK, i registret Rl för att bestämma källan för NMI-signalen. Om källan för NMI-signalen var en NMI-signal för kommunikation mellan processorerna, måste NMI-hanteraren för processorn Pl skriva en "l" i bit nr 5, IACK, före återsändning, för att borttaga den gällande NMI-förfågan.Interrupt management for P1 The processor P1 receives all hardware interruptions from the system port controller 2. The communication between the processors NMI (Non-Maskable Interrupt) (generated by processor P2 using its IREQ bit, ie bit no. 6 in register R2) is divided by other signals in system, such as XNMI caused by parity errors and the IOCHK signal from the system bus. The PINMI handler (not shown but a standard module in an Intel486m microprocessor suitable for the invention) of the processor P1 must read bit No. 5, IACK, in register R1 to determine the source of the NMI signal. If the source of the NMI signal was an NMI signal for communication between the processors, the NMI handler for the processor P1 must write a "1" in bit No. 5, IACK, before retransmission, in order to remove the current NMI request.

Avbrottshantering för P2 Processorn P2 mottar icke några hårdvaruavbrott från system- kortstyrenheten 2. Den enda avbrottssignalen mottagen av processorn P2 är den av processorn 1 genererade kommunika- tionen mellan processorerna NMI. Processorns P2 P2NMI-hante- rare måste sätta bit nr 5, IACK, i registret R2 för att ta bort NMI-förfågan före återsändning. 10 15 20 25 30 35 500 990 15 Återställning Båda processorerna Pl och P2 âterställs av en signal XCPURST från systemkortstyrenheten 2 matad till busstyrenheten 4, som klarställer processorstyrkorten PCP, dvs sätter den i ett begynnelsetillstånd via den logiska styranordningen LC.Interrupt management for P2 The processor P2 does not receive any hardware interruptions from the system board controller 2. The only interrupt signal received by the processor P2 is the communication between the processors NMI generated by the processor 1. Processor P2 The P2NMI handler must put bit # 5, IACK, in register R2 to remove the NMI capability before retransmission. Reset Both processors P1 and P2 are reset by a signal XCPURST from the system board controller 2 fed to the bus controller 4, which clears the processor controller board PCP, i.e. puts it in an initial state via the logic controller LC.

Originalprocessorn P2 kan också återställas av uppgrade- ringsprocessen Pl under användning av PZRESET-biten i re- gistret Rl. Det bör emellertid observeras att processorn P2 icke kan återställa processorn Pl.The original processor P2 can also be reset by the upgrade process P1 using the PZRESET bit in register R1. It should be noted, however, that the processor P2 cannot reset the processor P1.

Närhelst signalen XCPURST matas till busstyrenheten 4 från systemkortstyrenheten 2 kommer sålunda processorn P2 att in- aktiveras, och möjliga avbrott inhiberas.Thus, whenever the signal XCPURST is fed to the bus controller 4 from the system board controller 2, the processor P2 will be activated, and possible interruptions will be inhibited.

Grinden A20 Logiken för grinden A20 i systemstyrenheten 2 kommer endast att påverka processorn Pl.Gate A20 The logic of gate A20 in system controller 2 will only affect processor P1.

Initiering av processorn P2 i multiprocessormod En uppstartningskod för BIOS (Basic Input Output System) från systemkortstyrenheten 2 innehåller stöd för start av processorn P2. Om BIOS-uppstartningskoden detekterar multi- processormod (bit nr 4 DUAL i R2 är "l") och den just då gällande processorn är P2 (PID är "I" i bit nr l i R2), kommer BIOS att hoppa till den adress, som finns i minnes- cellen 467. Processorn P1 kommer att löpa genom den normala BIOS-uppstartningskoden.Initializing processor P2 in multiprocessor mode A Basic Input Output System (BIOS) code from the system board controller 2 provides support for starting processor P2. If the BIOS boot code detects multi-processor mode (bit no. 4 DUAL in R2 is "1") and the current processor is P2 (PID is "I" in bit no. Li R2), the BIOS will jump to the address which is located in memory cell 467. Processor P1 will run through the normal BIOS boot code.

För att initiera processorn P2 i multiprocessormod skulle systemets mjukvara t ex kunna utföra föjande steg: 1. Skriv startadressen för processorn P2 i 32-bitsda- tacellen (DWORD) vid den fysiska adressen 467; 10 15 20 25 30 35 500 990 16 2. placera processorn P2 i ett âterställningstillstând genom att sätta bit nr 0 i registret Rl, PZRESET; 3. aktivera processorn P2 genom att sätta bit nr 2 i registret Rl, P2EN; 4. vänta under minsta möjliga återställningstid, som ofta är minst 0,1 us; 5. inaktivera återställningen för processorn P2 genom att tömma bit nr 0 i registret Rl, PZRESET.To initialize processor P2 in multiprocessor mode, for example, the system software could perform the following steps: 1. Enter the start address of processor P2 in the 32-bit data cell (DWORD) at the physical address 467; 10 15 20 25 30 35 500 990 16 2. place the processor P2 in a reset state by putting bit no. 0 in the register R1, PZRESET; 3. activate the processor P2 by putting bit no. 2 in the register R1, P2EN; 4. wait for the minimum recovery time, which is often at least 0.1 us; 5. deactivate the reset of the processor P2 by emptying bit no. 0 in the register R1, PZRESET.

Processorn P2 kommer att påbörja exekveringen av BIOS-upp- startningskoden och hoppa till den fysiska adressen 467.Processor P2 will start executing the BIOS boot code and jump to the physical address 467.

Observera att processorn P2 icke kommer att börja exekve- ringen, om den icke placeras i hâlläge av processorn Pl under användning av PZHOLD-biten i registret Rl.Note that the processor P2 will not start the execution if it is not placed in hold mode by the processor P1 using the PZHOLD bit in the register R1.

Normalt kommer processorn P2 att indikera att den har börjat exekvering genom att sätta en semafor såsom sin första ope- ration. Processorn P1 kommer, efter aktivering av biten PZRESET i Rl, att vänta på denna semafor för att säkerställa att processorn P2 har börjat på ett bra sätt (se flaggfunk- tionen för bit nr 5 ovan).Normally, the processor P2 will indicate that it has started execution by setting a semaphor as its first operation. Processor P1 will, after activating bit PZRESET in R1, wait for this semaphor to ensure that processor P2 has started properly (see flag function for bit # 5 above).

Multiprocessorkommunikation Processorerna P1 och P2 kan komunicera genom användning av åtminstone två metoder. Multiprocessorkommunikationen görs medelst ett program, och detta program kan skrivas på många olika sätt. Därför ger beskrivningen nedan de allmänna rikt- linjerna för hur denna programmering kan göras.Multiprocessor Communication Processors P1 and P2 can communicate using at least two methods. The multiprocessor communication is done by means of a program, and this program can be written in many different ways. Therefore, the description below provides the general guidelines for how this programming can be done.

Den första metoden använder semaforer i delat minne (alla minnen är delade). Programinstruktioner TEST_AND_SET använ- des för att utföra atomiska operationer på semaforerna.The first method uses semaphores in shared memory (all memories are shared). Program Instructions TEST_AND_SET was used to perform atomic operations on the semaphores.

Denna metod föredras vid hantering av gemensamma datastruk- turer och används normalt av operationssystemskärnan. 10 15 20 25 30 35 500 999 17 Den andra metoden använder mellanprocessorsignalen NMI för att indikera, att ett meddelande är tillgängligt i delat minne.This method is preferred when managing common data structures and is normally used by the operating system core. 10 15 20 25 30 35 500 999 17 The second method uses the intermediate processor signal NMI to indicate that a message is available in shared memory.

Handskakningsmetoden med mellanprocessorsignalen NMI kan användas för varje processorkommunikation, men är huvudsak- ligen åstadkommen för att stödja distribuerade avbrott bland de två processorerna. Eftersom processorn Pl kommer att mot- taga alla avbrott från systemkortstyrenheten 2, såsom XINTR och XNMI, måste den bestämma vilket avbrott som den själv skall behandla och vilket avbrott som skall tilldelas till processorn P2. Om processorn Pl bestämmer, att ett avbrott bör tilldelas till processorn P2, kommer den först att kon- trollera, om processorn P2 just då kör en avbrottshanterare med högre prioritet.The handshake method with the intermediate processor signal NMI can be used for each processor communication, but is mainly provided to support distributed interruptions between the two processors. Since the processor P1 will receive all interrupts from the system board controller 2, such as XINTR and XNMI, it must decide which interrupt to process itself and which interrupt to assign to the processor P2. If the processor P1 determines that an interrupt should be assigned to the processor P2, it will first check if the processor P2 is currently running an interrupt manager with a higher priority.

Om detta är fallet kommer processorn P1 att bara markera av- brottet såsom giltigt för processorn P2. Om processorn P2 kan avbrytas, kommer processorn Pl att skriva en meddelande- indikation om vilket avbrott som skall betjänas och avbryta processorn P2 (t ex genom att sätta bit nr 6 i registret R2 till "l", eller göra det möjligt att sätta denna bit via en buffertkrets), när denna bit läses av processorn P2. P2NMI- hanteraren kommer att detektera, att processorn P2 arbetar, läser meddelandet och börjar exekveringen av avbrottservice- rutinen. När detta är fullbordat, komer processorn P2 att kontrollera om det finns några förestående avbrott, och om detta är fallet betjäna dessa avbrott.If this is the case, processor P1 will only mark the interrupt as valid for processor P2. If the processor P2 can be interrupted, the processor P1 will write a message indication about which interruption is to be served and interrupt the processor P2 (eg by setting bit no. 6 in the register R2 to "1", or make it possible to set this bit via a buffer circuit), when this bit is read by the processor P2. The P2NMI manager will detect that the processor P2 is working, reads the message and starts the execution of the interrupt service routine. When this is completed, the processor P2 will check if there are any impending interruptions, and if this is the case to serve these interruptions.

På detta sätt distribuerade avbrott kan stödja avbrottser- vicerutiner skrivna för multiprocessorarkitekturer under an- vändning av hårdvaruavbrottsdistribution. Detta görs genom âterdirigering av alla hårdvaruavbrott under det att man låter procssorn Pl få styrning före.det att den aktuella servicerutinen kallas. Processorn Pl kan då bestämma vem av processorerna, som skall exekvera servicerutinen för att effektivt emulera hårdvarufördelningsmekanismen. 10 :of c=~c,n VUL] /zU 18 I den ovan beskrivna utföringsformen av uppfinningen är en- dast en uppgraderingsprocessor visad och diskuterad. Emel- lertid skulle det kunna vara möjligt att åstadkomma fler än en uppgraderingsprocessor i ett system i enlighet med upp- finningen, även om styrningen av dem skulle bli ganska komp- licerad. I ett dylikt system kan endast en av uppgraderings- processorerna verka i enkelprocessormod. I multiprocessormod skulle emellertid alla processorerna i systemet kunna ges en speciell prioritetsordning, och systemet kommer att verka såsom ett multiprocessorsystem med flera processorer. Natur- ligtvis har busstyrenheten 4 ett register för var och en av processorerna i systemet.Interrupts distributed in this way can support interrupt service routines written for multiprocessor architectures using hardware interrupt distribution. This is done by redirecting all hardware interruptions while allowing the processor P1 to be controlled before the current service routine is called. The processor P1 can then determine which of the processors is to execute the service routine to efficiently emulate the hardware distribution mechanism. 10: of c = ~ c, n VUL] / zU 18 In the above-described embodiment of the invention, only one upgrade processor is shown and discussed. However, it could be possible to provide more than one upgrade processor in a system in accordance with the invention, even if the control of them would be quite complicated. In such a system, only one of the upgrade processors can operate in single processor mode. In multiprocessor mode, however, all the processors in the system could be given a special order of priority, and the system will act as a multiprocessor system with multiple processors. Of course, the bus controller 4 has a register for each of the processors in the system.

Claims (9)

10 15 20 25 30 (f. C 3 CJ \O \O CD 19 Patentkrav10 15 20 25 30 (f. C 3 CJ \ O \ O CD 19 Patent claim 1. Arrangemang i en persondatoranordning innefattande en ursprunglig, första mikroprocessor (originalprocessor) och minst en uppgraderingsprocessor, k ä n n e t e c k n a t av en busstyrenhetsanordning (4) för att åstadkomma två olika arbetsmoder för persondatoranordningen, en enkelprocessormod, i vilken endast en övergripande uppgraderingsprocessor (P1) är i arbete, så att en för persondatoranordningar av gängse typ anpassad programvara är användbar, och en multiprocessor- mod för specialanpassad programvara, i vilken den över- gripande uppgraderingsprocessorn verkar såsom en övergripande processor och den andra processorn (P2) eller de andra pro- cessorerna verkar såsom slavprocessorer, varvid busstyr- enhetsanordningen (4) är anordnad att åstadkomma enkel- processormoden vid start eller återställning av persondator- anordningen, och överföring till multiprocessormod styrs av den övergripande uppgraderingsprocessorn (P1) såsom ett svar på en programinstruktion i ett datorprogram inmatat i person- datoranordningen.Arrangement in a personal computer device comprising an original, first microprocessor (original processor) and at least one upgrade processor, characterized by a bus controller device (4) for providing two different operating modes for the personal computer device, a single processor mode in which only one overall P1 processor is upgraded. is in operation, so that a software adapted for common computer devices of common type is useful, and a multiprocessor mode for specially adapted software, in which the overall upgrade processor acts as an overall processor and the second processor (P2) or the other processors the processors act as slave processors, the bus controller device (4) being arranged to provide the single processor mode at startup or resetting of the personal computer device, and transfer to multiprocessor mode is controlled by the overall upgrade processor (P1) in response to a program instruction in a computer program in the personal computer device. 2. Arrangemang enligt krav 1, k ä n n e t e c k n a t av att busstyrenhetsanordningen (4) innefattar ett individuellt register (R1, R2) för varje processor (P1, P2) inkopplings- bart i persondatoranordningen, varvid varje register tjänar såsom en styrport för den till denna kopplade processorn, varvid registren innefattar olika funktioner, som behövs för att utföra initiering för processorn eller processorerna i anordningen för att tjäna såsom slavprocessor eller slavpro- cessorer och kommunikation mellan processorerna.Arrangement according to claim 1, characterized in that the bus control device device (4) comprises an individual register (R1, R2) for each processor (P1, P2) connectable in the personal computer device, each register serving as a control port for the coupled processor, the registers including various functions needed to perform initialization for the processor or processors in the device to serve as a slave processor or slave processors and communication between the processors. 3. Arrangemang enligt krav 2, k ä n n e t e c k n a t av att busstyrenhetsanordningen innefattar en logisk styr- anordning (LC) innefattande en boolsk grindkopplingsgruppe- ring, som åstadkommer logisk styrning av processorerna (P1, P2),ragEflIen(R1,R2)odïaveaitillswfizmazkqxflaisyáæmhmisqpemæmsnnnàfing. 10 is 20 25 30 35 20Arrangement according to claim 2, characterized in that the bus control device device comprises a logic control device (LC) comprising a Boolean gate coupling array, which provides logical control of the processors (P1, P2), ragE fl Ien (R1, R2) odïaveaitillsw hmmxmflmazmazmazmazmazmaz 10 is 20 25 30 35 20 4. Arrangemang enligt något av föregående krav, k ä n n e - t e c k n a t av att den övergripande uppgraderings- processorn (Pl), när persondatoranordningen är i multipro- cessormod, kommer att reagera på en speciell program- instruktion för enkelprocessormod, som ger order att överföra systemet från multiprocessormoden till enkelprocessormoden.Arrangement according to any one of the preceding claims, characterized in that the overall upgrade processor (P1), when the personal computer device is in multiprocessor mode, will respond to a special program instruction for single processor mode, which gives orders to transfer the system from the multiprocessor mode to the single processor mode. 5. Arrangemang enligt krav 3, k ä n n e t e c k n a t av att registren (Rl, R2) är kombinerade styr- och status- register.Arrangement according to claim 3, characterized in that the registers (R1, R2) are combined control and status registers. 6. Arrangemang enligt något av kraven 2-5, k ä n n e - t e c k n a t av att registren (R1 och R2) är placerade i samma adress för processorerna (P1 respektive P2), och upp- graderingsprocessorn (Pl) alltid har åtkomst till sitt individuella register (Rl), och originalprocessorn (P2) alltid har åtkomst till sitt individuella register (R2).Arrangement according to one of Claims 2 to 5, characterized in that the registers (R1 and R2) are located at the same address for the processors (P1 and P2, respectively), and the upgrade processor (P1) always has access to its individual register (R1), and the original processor (P2) always has access to its individual register (R2). 7. Arrangemang enligt något av kraven 2-3, 5-6, k ä n n e t e c k n a t av att i registren (R1, R2) en av bitarna (INTEN), när den är satt, aktiverar avbrott genererade under användning av annan (IREQ) av bitarna, som, när en "l" skrivs in i den, genererar en puls, som genererar ett avbrott för kommunikation mellan processorerna i det register, som hör till en annan av processorerna, och som när den läses indikerar nivån på en avbrottsbegäransignal för denna processor.Arrangement according to any one of claims 2-3, 5-6, characterized in that in the registers (R1, R2) one of the bits (INTEN), when set, activates interruptions generated using another (IREQ) of the bits which, when an "1" is written into it, generate a pulse which generates an interruption for communication between the processors in the register belonging to another of the processors and which when read indicates the level of an interrupt request signal for this processor. 8. Arrangemang enligt något av kraven 2-3, 5-7, där endast en uppgraderingsprocessor (P1) är anordnad, k ä n n e - t e c k n a t av att en DUAL-bit i registret (R2) för originalprocessorn (P2) är "0", när en processor är in- stallerad, och "1" när två processorer är installerade. k ä n n e - t e c k n a t av att en PZHOLD-bit i registret (Rl) för den övergripande uppgraderingsprocessorn (P1), när den är klar- ställd (dvs är "0"), tillåter originalprocessorn (P1) att fåArrangement according to one of Claims 2 to 3, 5 to 7, wherein only one upgrade processor (P1) is provided, characterized in that a DUAL bit in the register (R2) of the original processor (P2) is "0". , when one processor is installed, and "1" when two processors are installed. a n e - t e c k n a t that a PZHOLD bit in the register (R1) of the overall upgrade processor (P1), when cleared (ie is "0"), allows the original processor (P1) to receive 9. Arrangemang enligt något av kraven 2-3, 5-8, Û 990 CÉ) r' Û 21 åtkomst till processorbussen, och när den är satt (dvs är “1") hindrar originalprocessorn (P2) att få åtkomst till processorbussen.Arrangement according to any one of claims 2-3, 5-8, Û 990 CÉ) r 'Û 21 access to the processor bus, and when it is set (ie is "1") prevents the original processor (P2) from accessing the processor bus.
SE9300156A 1993-01-20 1993-01-20 Arrangements in a personal computer system SE500990C2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE9300156A SE500990C2 (en) 1993-01-20 1993-01-20 Arrangements in a personal computer system
GB9326514A GB2274525B (en) 1993-01-20 1993-12-29 An arrangement for a computer system
DE19944401017 DE4401017A1 (en) 1993-01-20 1994-01-15 Arrangement of a computer system
FI940287A FI103926B (en) 1993-01-20 1994-01-20 Arrangement for connecting the upgrade processor to the microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9300156A SE500990C2 (en) 1993-01-20 1993-01-20 Arrangements in a personal computer system

Publications (3)

Publication Number Publication Date
SE9300156D0 SE9300156D0 (en) 1993-01-20
SE9300156L SE9300156L (en) 1994-07-21
SE500990C2 true SE500990C2 (en) 1994-10-17

Family

ID=20388600

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9300156A SE500990C2 (en) 1993-01-20 1993-01-20 Arrangements in a personal computer system

Country Status (4)

Country Link
DE (1) DE4401017A1 (en)
FI (1) FI103926B (en)
GB (1) GB2274525B (en)
SE (1) SE500990C2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490279A (en) * 1993-05-21 1996-02-06 Intel Corporation Method and apparatus for operating a single CPU computer system as a multiprocessor system
JPH10502196A (en) * 1994-06-29 1998-02-24 インテル・コーポレーション Processor indicating system bus ownership in an upgradeable multiprocessor computer system
DE19701596C2 (en) * 1996-02-15 1999-03-18 Siempelkamp Gmbh & Co Process and plant for preheating pressed material mats from glued pressed material

Also Published As

Publication number Publication date
GB9326514D0 (en) 1994-03-02
FI103926B1 (en) 1999-10-15
GB2274525B (en) 1997-01-08
FI940287A (en) 1994-07-21
SE9300156L (en) 1994-07-21
GB2274525A (en) 1994-07-27
FI940287A0 (en) 1994-01-20
FI103926B (en) 1999-10-15
DE4401017A1 (en) 1994-07-21
SE9300156D0 (en) 1993-01-20

Similar Documents

Publication Publication Date Title
US5867703A (en) Common reset ROM
JP3461825B2 (en) Multiprocessor distributed initialization and self-test system
CA1321839C (en) Dynamically configurable portable computer system
US6438622B1 (en) Multiprocessor system including a docking system
US9223738B2 (en) Method, system, and apparatus for dynamic reconfiguration of resources
US7251746B2 (en) Autonomous fail-over to hot-spare processor using SMI
US7007192B2 (en) Information processing system, and method and program for controlling the same
JP3301064B2 (en) Low power mode computer
US8151101B2 (en) Method, apparatus, and system for quiescing a boot environment
WO1998000783A1 (en) Method and apparatus for power management of distributed direct memory access (ddma) devices
WO2009151445A1 (en) Method and apparatus for configuring a hypervisor during a downtime state
JPS60100253A (en) Memory system
US7984219B2 (en) Enhanced CPU RASUM feature in ISS servers
EP1958058A2 (en) Command decoder for microcontroller based flash memory digital controller system
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
JP3431850B2 (en) Method for performing processing for synchronizing and data processing system
JP3618878B2 (en) Computer system and bus connection method
CN113672250A (en) Interface and warm reset path for memory device firmware upgrade
US20210357202A1 (en) Firmware updating
JP2002099502A (en) Computer system and control method for data transfer
SE500990C2 (en) Arrangements in a personal computer system
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
TWI411924B (en) Multiprocessor system and method for switching cpus
JP3930116B2 (en) Computer system
CN113867835B (en) Device and method for dynamic loading of DSP

Legal Events

Date Code Title Description
NUG Patent has lapsed