SE500990C2 - Arrangemang i ett persondatorsystem - Google Patents

Arrangemang i ett persondatorsystem

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
English (en)
Other versions
SE9300156L (sv
SE9300156D0 (sv
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/sv
Publication of SE9300156D0 publication Critical patent/SE9300156D0/sv
Priority to GB9326514A priority patent/GB2274525B/en
Priority to DE19944401017 priority patent/DE4401017A1/de
Priority to FI940287A priority patent/FI103926B1/sv
Publication of SE9300156L publication Critical patent/SE9300156L/sv
Publication of SE500990C2 publication Critical patent/SE500990C2/sv

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

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.
Sålunda är det i enlighet med uppfinningen möjligt att åstadkomma multiprocessoregenskaper hos ett datorsystem, som har minst en installerad uppgraderingsprocessor.
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.
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.
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.
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.
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.
Systemet måste vara kompatibelt med ett ordinärt 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.
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.
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.
Bit :___ ~I Funktion Aktivera avbrott, INTEN. Denna bit aktiverar, när den sätts, avbrott genererade under användning av IREQ (se 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.
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.
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.
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).
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).
Processor-ID, PID. Denna bit identifierar den till registret kopplade processorn och är en fast 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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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".
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.
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.
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).
Detta kommer att effektivt få den tomma sockeln för en upp- graderingsprocessor att icke deltaga i någon medling.
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.
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.
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.
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.
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.
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.
Grinden A20 Logiken för grinden A20 i systemstyrenheten 2 kommer endast att påverka processorn Pl.
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.
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.
Processorn P2 kommer att påbörja exekveringen av BIOS-upp- startningskoden och hoppa till den fysiska adressen 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.
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).
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.
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.
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.
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.
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.
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.

Claims (9)

10 15 20 25 30 (f. C 3 CJ \O \O CD 19 Patentkrav
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.
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.
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 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.
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.
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).
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.
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å
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.
SE9300156A 1993-01-20 1993-01-20 Arrangemang i ett persondatorsystem SE500990C2 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE9300156A SE500990C2 (sv) 1993-01-20 1993-01-20 Arrangemang i ett persondatorsystem
GB9326514A GB2274525B (en) 1993-01-20 1993-12-29 An arrangement for a computer system
DE19944401017 DE4401017A1 (de) 1993-01-20 1994-01-15 Anordnung für ein Computersystem
FI940287A FI103926B1 (sv) 1993-01-20 1994-01-20 Arrangemang för anslutning av en uppdateringsprocessor till en mikroprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9300156A SE500990C2 (sv) 1993-01-20 1993-01-20 Arrangemang i ett persondatorsystem

Publications (3)

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

Family

ID=20388600

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9300156A SE500990C2 (sv) 1993-01-20 1993-01-20 Arrangemang i ett persondatorsystem

Country Status (4)

Country Link
DE (1) DE4401017A1 (sv)
FI (1) FI103926B1 (sv)
GB (1) GB2274525B (sv)
SE (1) SE500990C2 (sv)

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
DE69535409T2 (de) * 1994-06-29 2007-11-08 Intel Corp., Santa Clara Prozessor, das das systembusrecht in einem erweiterbaren multiprozessor-rechnersystem anzeigt
DE19701596C2 (de) * 1996-02-15 1999-03-18 Siempelkamp Gmbh & Co Verfahren und Anlage zum Vorwärmen von Preßgutmatten aus beleimtem Preßgut

Also Published As

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

Similar Documents

Publication Publication Date Title
US5867703A (en) Common reset ROM
JP3461825B2 (ja) マルチプロセッサ分散型初期化および自己テストシステム
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 (ja) 低電力モード・コンピュータ
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
WO2011025626A9 (en) Providing state storage in a processor for system management mode
WO2009151445A1 (en) Method and apparatus for configuring a hypervisor during a downtime state
JPS60100253A (ja) メモリ−システム
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 (ja) 同期化するための処理を行う方法およびデータ処理システム
JP3618878B2 (ja) コンピュータシステムおよびバス接続方法
CN113672250A (zh) 用于存储器设备固件升级的接口和热重置路径
US20210357202A1 (en) Firmware updating
WO2022066296A1 (en) Memory device firmware update and activation without memory access quiescence
SE500990C2 (sv) Arrangemang i ett persondatorsystem
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
TWI411924B (zh) 多處理器系統及切換cpu方法
JP3930116B2 (ja) コンピュータシステム

Legal Events

Date Code Title Description
NUG Patent has lapsed