SE439701B - Multikonfigurativ moduler behandlingsenhet - Google Patents

Multikonfigurativ moduler behandlingsenhet

Info

Publication number
SE439701B
SE439701B SE7901812A SE7901812A SE439701B SE 439701 B SE439701 B SE 439701B SE 7901812 A SE7901812 A SE 7901812A SE 7901812 A SE7901812 A SE 7901812A SE 439701 B SE439701 B SE 439701B
Authority
SE
Sweden
Prior art keywords
memory
bus
processing
signal
module
Prior art date
Application number
SE7901812A
Other languages
English (en)
Other versions
SE7901812L (sv
Inventor
G Sofi
R Cedolin
W Chiarottino
G Giandonato
S Villone
S Giorcelli
G Martinengo
Original Assignee
Cselt Centro Studi Lab Telecom
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 Cselt Centro Studi Lab Telecom filed Critical Cselt Centro Studi Lab Telecom
Publication of SE7901812L publication Critical patent/SE7901812L/sv
Publication of SE439701B publication Critical patent/SE439701B/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54591Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis

Description

7901812-3 2 oförmögna att uppvisa olika konfigurationer säsom "multiprocessor", "multidator", "monodator", "dubblering med parallellkontroll", ett.
Ett behandlingssystem som är í ständ att helt uppfylla alla nämnda krav är icke kommersiellt tillgängligt. System med egenska- per som endast delvis tillfredsställer behoven maste därför väljas. > Detta medför vanligen antingen utnyttjning av överdimensione- rade system i förhållande till de verkliga behoven eller, ibland, utnyttjníng av behandlingssystem, till vilka avpassat konstruerade logikkretsar är tillfogade. 0 Det förra fallet resulterar i en onödigt stor komplikatíons- grad och kostnad med en högre felsannolikhet förknippad med den ökade systemkomplexiteten. Vid det senare fallet är det nödvändigt att ständigt, i enlighet med nya behov, modifiera bade behandlings systemet och de skilda extra logikkretsarna med åtföljande ökande 5 kostnader.
Dataförbehandling erfordras för närvarande hos behandlings- system inom manga tekniska områden, exempelvis inom telekommunika- tionsomrâdet. Förbehandlingsproblem föreligger närhelst föru en huvudbehandling en uppsättning enkla operationer, alla av sanna 20 slag, eller en följd av ofta upprepande operationer med lagt be- slutsinnehall mäste utföras med avseende på ett stort antal data.
Förbehandling kan exempelvis tillämpas vid detektering av 1.
LCI! övergangar hos telefonsignaler, i huvudsak de som hänför sig till sígnaleringen. En sådan övergångsdctektering försvaras genom upp- Z5 trädandet av spikpulser och falska övergångar. Dessutom bildar vid de flesta fall ett bestämt antal elementarövergängar en signifi- kant övergang för styrning av en telefonlänk.
Vid de kända systemen har förbehandlíngsprohlem i allmänhet lösts genom användning av en extra processor, som är specialístrad 50 pa denna uppgift och kallad "förprocessor" (eller frontproeessor, signalprocessor, etc.) och som via ett avpassnt gränssnitt är an- sluten till huvudprocessorn.
Denna organisation medför dock en hel del nackdelar pa grund av användningen av tvâ principiellt olika organ, nämligen prcecs- sur och förprocvssor.
I själva verket erhålles en högre felsannolikhet pa grund av det nödvändiga behovet av speciella kommunikationsgränssnitt (svag vi in punkt ur tillförlitlighetssynpunkt) mellan de bada anordning man Dessutom blir underhålls- och driftskostnaderna mycket höga. Fran 40 teknisk synpunkt föreligger stora svårigheter vid installationer __; _ _ .-- _ ___..._._........_........_.__...__......_....-V 10 20 du 5 7901812-3 (anläggningar), pä grund av nödvändigheten att anpassa i sig olika system, samt även svårigheter med avseende på styrningen, pa grund av behovet av att tillhandahålla tvä olika kontrollsys- tem, nämligen ett för förprocessorn och ett annat för huvudpro- cessorn.
Dessa och andra problem, som kommer att beskrivas nedan, lö- ses genom föreliggande uppfinning vid en multikonfigurativ, modu- lär behandlingsanläggning, vilken genom användning av ett begrän- sat antal, för bestämda funktioner specialiserade elementarmoduler möjliggör realísering av komplexa, flexibla, modulära behandlings- konfigurationer anordnade att vara perfekt anpassade till de spe- ciella behoven av behandlingsförmâga, minneskapacitet och tillför- litlighet, varvid alltid ett optimalt kostnads/prestanda-förhàl- lande uppnas.
En ytterligare egenskap hos föreliggande uppfinning är att behandlingsanläggningen integrerar förbehandlings- och styropera- tioner, vilket gör den: - mera tillförlitlig på grund av den konsekvent genomförda avse- värda kretsförenklíngen; - mindre kostsam med avseende på styrning, underhåll och installa- tion; - kontrollerhar av ett enda kontrollsystem; - mycket effektiv, även tack vare parallellutförandet av vissa förhehandlingsoperationer erhållna genom tillämpning av en ny algoritm, som kommer att beskrivas nedan.
Det för uppfinningen utmärkande framgar av den kännetecknanle delen av patentkravet l.
Den multikonfigurativa, modulära, med ett förhehandlingssys- tem integrerade behandlingsanläggningen enligt uppfinningen bestär av ett begränsat antal, företrädesvis mellan 5 och 7, typer av elementarmoduler med specialiserade funktioner, vilka moduler är optimerade i och för sammankoppling i behandlingskonfígurationer, upphyggbara pa olika sätt både med avseende pä antalet elementar- komponenter och med avseende på deras organisation, såsom en funk- tion av den erforderliga tillförlitllgheten, behnndlingsförmagan och minneskapaciteten, varvid den modul som verkar säsom process- enhet, i fortsättningen endast kallad processenhet, är anordnad att vara duhhlerad genom enbart en identisk processenhet, och var- vid i var och en av nämnda processenheter organ är anordnade, vil- ka är i stand att, jämte den normala behandlingen, utföra förbe- 10 15 En 'Jl b! UI 40 7901812-3 4 handling i realtid av signaler, särskilt telefonsignaler.
Dessa och andra utmärkande drag hos uppfinningen kommer att framgå klarare av följande beskrivning av ett föredraget, icke begränsande utföringsexempel i anslutning till bifogade ritningar, där: fig¿_l visar ett exempel på en multiprocessorkonfiguration hos hehandlingssystemet enligt uppfinningen; fig. Za visar ett detaljerat schema för det med CPU betecknade blocket i fig. 1; fig. Ib visar ett tídsdiagram för CPU-blockets funktion; fig¿_§c visar nâgra för CPU-blockets funktion användbara signaler; fig¿_§ visar ett detaljerat schema för det med MEI betecknade blocket i fig. l; Äig¿_í visar ett detaljerat schema för det med MAC betecknade blocket i fig. 1; fig¿_§ visar ett exempel på en "monoprocessorkonfiguration" hos behandlingssystemet; íig¿_§ visar ett exempel på en konfiguration med "monoproccssor med âtskild förbehandling" hos behandlingssystemet; fig¿_Z_visar ett exempel på en konfiguration med "dubblering med parallellkontroll" hos behandlingssystemet; íig¿_§ visar ett exempel pâ en konfiguration med "dubblering med parallellkontroll och atskild förbehandling" hos behandlingssys- temet; fig¿_g visar ett exempel på en konfiguration med "multinroccssor med ätskild förbehandlíng" hos behandlingssystemet; fíg¿_lQ visar ett exempel på en konfiguration med en mängd hierar- ska nivåer med tillhörande enheter; och fig. 11 visar en hierarkisk flernívákonfiguration med fjärrbolägna enheter.
Sasom redan nämnts, kännetecknas behandlingsanläggningen en- ligt uppfinningen främst av dess speciella modularitet och flexi- bilitet, som genom användning av ett begränsat antal elementarmo- duler möjliggör bade realisering av olika konfigurationer [multi- proccssor, multidator, monodator, etc.) och en anpassning av var och en av de valda konfigurationerna till de föreliggande behoven av behandlíngsförmüga, mínneskapacítet och tillförlitlighet.
I det följande kommer, för att det föreliggande behandlings- systemets kännetecken klarare skall belysas, nâgra föredragna ty- piska konfigurationer att beskrivas, som systemet kan antaga genom ih 10 15 20 30 35 40 S 7901812-3 individuell användning eller olika sammankopplingar av de elemen- tarmodulcr som det är uppbyggt av.
Pa detta sätt kommer nämnda moduler, eller atminstone de mest betydelsefulla av modulerna, att fullständigt beskrivas i samband med de särskilda operationer som de måste utföra.
I fig. l anger beteckningarna BM1, BNZ, ... BMk k minnesbanker, som kan tillhöra tre grupper med skiftande funktio- likartade ner betecknade såsom; - primärbanker (bestående av kp banker av de - sekundärbanker (bestående av ks banker av de - väntbanker (bestående av kr banker av de k förefintliga).
Uppenbarligen är k = kp + ks + kr. Tillhörigheten av de en- skilda bankerna till en av nämnda tre grupper varierar i tiden i enlighet med behandlingssystembehoven, såsom kommer att framgå i k förefintliga); k förefintliga); det följande.
Var och en av nämnda banker består av: - en eller ett flertal minnesmoduler M av en godtyckligt känd typ; - en modul MAC, bildande en logikenhet med inmatnings- och bedöm- ningsfunktíoner för åtkomstbeordringarna till minnesbanken; modu- len MAC kommer att beskrivas i detalj i anslutning till fig. 4.
Beteckningarna UPl, UPZ, ... UPn anger n behandlingsenhe- ter, vilka alla är sinsemellan lika.
I motsvarighet till de ovan diskuterade índelningarna av min- nesbankerna BM, kan varje behandlingsenhet UP vara klassificerad sasom "primärenhet" eller "sekundärenhet", varvid nämnda klassifi- cering kan dynamiskt modifieras i realtid av ett program av skäl som kommer att diskuteras nedan i anslutning till en operations- beskrivning.
Var och en av enheterna UP består av: - en eller ett flertal moduler I funktionerande såsom in-utgräns- snitt. Realiseringen av en dylik gränssnittsmodul utgör inget problem för fackmannen, varför ingen detaljerad beskrivning av modulen här ges; - en eller ett flertal moduler M av samma slag som de i minnes- bankerna BM; - en modul CPU, som kan vara dubblerad, funktionerande såsom pro- cessenhet. Modulen CPU kommer att beskrivas i detalj nedan i an- slutning till fig. Ba; - en modul MFI, bildande en logikenhet som (unktionerar sasom buss-expander. Modulens MEI uppbyggnad och funktion kommer att -..._- ...- PooR Qrnxram KM 'Jl 30 35 40 7901812-3 e beskrivas närmare nedan i anslutning till fig. 3.
I fíg. 1 anger vidare beteckningarna C11, C12 ... Clk; C21, C22 ... C2k; ... Cnl, Cn2 ... Cnk ett antal dubbelriktade bussar som förbinder var och en av de n k bankerna BM via fysiskt oberoende vägar.
På detta sätt kan en förbindelse mellan en godtycklig modul MEI och en godtycklig modul MAC upprättas vid en godtycklig tid- enheterna UP med var och en av de punkt.
Såsom schematiskt framgår av fig. 1 är inom var och en av de n behandlingsenheterna UP de skilda modulerna (I, M, CPU, MEI) dubbelriktat sammankopplade via interna med bl, bZ ... bn beteck- nade bussar.
På motsvarande sätt anger beteckningarna fi, lä ... terna bussar, som dubbelriktat förbinder modulerna M och MAC hos var och en av de k bankerna BM. _ Uppenbarligen överförs information och meddelanden från och till systemets behandlingsenheter allmänt via gränssnitt I.
Vad beträffar förbindningen av modulen CPU med de andra bloc- ken í behandlingsenheten UP kan modulen CPU efter behag vara ensam eller dubblerad.
Blockschemat i fig. Za visar en enda modul hos ett möjligt par av identiskt lika moduler av den typ som betecknas med CPU i Ä de in- n fíg. 1.
Antages att fig. 2 hänför sig till den i enheten UPn (fig.1) befintliga modulen CPU anger bn (fig. 2a] samma buss som i fig. 1 och 3, innefattande förbindningarna 31, 32, 33, 39, 282 och 310.
Pig. Zc visar, jämte andra signaler som kommer att beskrivas nedan, funktionen för den på förbíndningen 31 uppträdande signa- len, varvid de använda symbolerna har följande betydelse: - TS: tid tilldelad till skrivoperationen; - TL: tid tilldelad till läsoperationen; - iS: tid under vilken adressbitar för skrivning sänds; - dS: tid under vilken databitar för skrivning sänds; - iL: tid under vilken adressbitar för läsning sänds; - dL: tid under vilken databitar för läsning sänds.
I fíg. Za anger beteckníngarna BR2, BD2; BR3, BD3; BR4, BD4 tre par av sändare-mottagare av känd typ som är 1 stand att skifta de logiska nivåer, som härrör från de före nämnda paren kopplade kretsarna, till logiska nivåer, som kan accepteras av den buss bn, som är kopplad efter nämnda par och viceversa. 10 15 20 30 35 40 1 7su1š12-3 Beteckningen BT1 anger ett tidsbestämníngsorgan av känd typ bestående av en klockmottagare och av en enkel krets med själv- kontrollerande egenskaper, vilka båda icke är visade på ritningen.
Klockmottagaren är anordnad att fördela en periodisk signal t mottagen på tråden 214 från en normal klockenhet av känd typ, som icke är visad på ritningen. Perioden T hos signalen t be- traktas såsom tidbas i CPU-modulens elementaroperationscykel, i det avseendet att under tiden T en av de många förutbestämda mikro- instruktionerna fullständigt exekveras.
Den krets med självkontrollerande egenskaper, som kan säker- ställa korrekt funktion för organet BT1, är realiserad på basis av för fackmannen känd teknik. Den kan exempelvis i huvudsak bestå av en monostabil krets av den "kant-återtriggníngsbara" typen, dvs med återstartförmåga under hela tiden för dess aktiva tillstånd.
Den signal som alstras av nämnda krets med självkontrollerande egenskaper sänds via en tråd 216 till en första ingång på en NOR- grind 01.
Organet BTl alstrar dessutom en signal tc (fíg. Zb), som er- hålles från signalen t såsom följer: När den signal 26, som upp- träder på den med avseende på organets BT1 ingång likvärdiga trå- den, blir aktiv genom att nå en hög nivå, modifieras vågformen hos signalen t genom att den herövas Övergångarna under perioden följande den under vilken signalen på tråden 26 har blivit aktiv.
I det fallet att, såsom framgår av fig. Zb, signalen 26 för- blir aktiv (streckad linje) blir signalen to, nu betecknad t'c, periodisk med en period (ZT) tvâ gånger signalens t period.
Till NOR-grindens 01 (fig. Za) andra ingång anländer en sig- nal a, vilken, såsom kommer att framgå nedan, alstras av ett re- gister RMI, närhelst i CPU-enheten enligt fig. Za förefintlígheten av ett fel detekteras som kan tillskrivas själva enheten liksom till den associerade enheten (icke visad på ritningen).
Grindens 01 utgång är via en ledning 215 ansluten till utgång- en på motsvarande grind 01 i den associerade identiska enheten (icke visad) och till en inaktiveringsingång på drivkretsen BDZ.
Uppträdandet av en låg nivå på ledningen 215 medför att kretsen BDZ inaktiveras, varigenom CPU-modulerna stoppas med avseende på alla möjliga operationer på bussen bn.
Beteckningen ULAR anger en beräkningsenhet av känd typ, som är försedd med interna register och som är i stånd att utföra lo- giska aritmetiska operationer på operandpar bestående av ord om 10 15 30 40 7901812-3 8 u'bitar.
Operanderna hos nämnda operandpar kan utgöras av ord lagrade i ULAR-enhetens interna register, liksom även utifrån via förbind- ningen 217 mottagna ord. En indikering om det slags operandpar som skall beaktas och om de logiska arítmetíska operationer som skall utföras på operanderna hos samma par föreligger i kodad form på den förbindning 21, som förbinder enheten ULAR med registret RMI, vilket kommer att beskrivas nedan.
Vid slutet av varje period T hos den av enheten ULAR mottagna signalen tc avges resultatet av operationerna på en förbindning 218, som från en första utgång på enheten ULAR leder till tre re- gister RU, RA, RS, i vilka nämnda resultat lagras i beroende av förefintligheten eller frånvaron av från registret RMI härrörande skrivorder NS, W4, WS.
På en till en andra utgång på enheten ULAR ansluten förbind- ning 211 avges information beträffande det erhållna resultatet, indikerande exempelvis att nämnda resultat har värdet 0 eller är negativt.
Beteckningen MMP anger ett läsminne (s.k. ROM-minne) av känd typ som är anordnat att lagra den begärda uppsättning mikroinstruk- tioner, som realiserar CPU-modulens normala funktion, liksom den begärda uppsättning mikroinstruktíoner, som hänför sig till tele- foniförbehandling och som innefattar algoritmen för parallellut- förandet av förbehandlingsoperationerna.
Beteckningen RMI anger ett konventionellt buffertregister som är anslutet till utgången pâ läsminnet MMP och som är anordnat att under varje operationscykel T, på basis av signalens tc tids- bestämning, lagra den mikroinstruktion vars exekvering pågår.
De skilda utgängarna från registret RMI gör samma antal delar av mikroinstruktionen tillgängliga för exekvering som beskrives i det följande.
Med W1, WZ, WS, W4 betecknade utgångar presenterar avpassade skrivorder. Utgängen S1 presenterar en kodad order som kommer att beskrivas nedan och utgången S2 presenterar en aktiveringssignal för att driva kretsarna BD3, BD4 i syfte att möjliggöra, såsom kommer att framgå nedan, data- och adressöverföring på bussens bn förbindning 31.
Den med a betecknade utgången presenterar en logisk nivå, som kan vara eller icke vara aktiverad av det 1 läsminnet MMP lag- rade míkroprogrammet, i enlighet med regler som kommer att beskri- 10 15 20 25 30 35 40 9 79o1s12+3 vas nedan. Signalen a har till uppgift att hindra drivkretsen BD3 från överföring via grinden 01.
Den till ovan beskrivna förbindning 21 anslutna utgången pre- senterar koden för de elementaroperationer mellan register som en- heten ULAR måste utföra inom den pågående cykeln.
Den till förbindningen 22 anslutna utgången presenterar order för aktivering och nollställníng av minneselement inom en logisk krets LCB, vilken kommer att beskrivas nedan.
Den till förbindningen 278 anslutna utgången presenterar en logisk nivå som, när den blir aktiv, nollställer en räknare CTR, vilken kommer att beskrivas nedan.
Den till förbindningen 29 anslutna utgången presenterar en "valkod" av den signal vars status styr utvecklingen från en mikro- instruktion till den följande. Dess funktion kommer att beskrivas närmare nedan.
Slutligen är den till förbindningen 23 anslutna utgången för- bunden med ett sekvensorgan SEQ, som i huvudsak består av ett lo- giskt nät och av register lagrande CPU-modulens interna tillstånd, nämligen information avseende två möjliga sekvenser av míkroin- struktioner, så att sekvensorganet SEQ kan utföra valet av den följande mikroinstruktion som skall exekveras.
Detta val, som resulterar i att en avpassad adress av sekvens- organet SEQ sänds till minnet MMP via förbindningen 24, är i huvud- sak beroende av det logiska värde som uppträder på en till en in- gång på sekvensorganet SEQ ansluten ledning 277 och såsom en följd därav även beroende av den på förbindningen 23 uppträdande infor- mationen, av den signal er som uppträder på den med er betecknade ingången och slutligen av den på förbindningen 25 uppträdande in- formationen.
Signalen er består av en felindikering som kan alstras, såsom kommer att beskrivas nedan, av en av fyra komparatorer CFZ, CF3, CF4, CFS.
På förbindningen 25 uppträder startadressen för det block av mikroinstruktioner som omfattar den instruktion som CPU-modulen skall exekvera. Denna adress alstras av ett läsminne MDI på basis av data härrörande från bussens bn förbindning 31, vilka data till- förs_till minnet MDI via mottagningskretsen BR3.
Ledningarna 27 och 28 förhinder de båda likvärdiga enheterna hos en eventuellt dubblerad CPU-modul. Ledningen 27 är anordnad att till ett motsvarande sekvensorgan hos den associerade CPU-en- 10 15 20 25 30 35 40 7901812-3 10 heten (icke visad) överföra det logiska värdet för den pâ ledning- en 277 uppträdande signalen, på basis av vilken organet SEQ verk- ställer beslutet mellan de båda via ledningen 23 förmedlade sek- vensfunktionerna. Viceversa mottager sekvensorganet SEQ via led- ningen Z8 den motsvarande signalen från den icke visade associera- de CPU-enheten.
Tack vare dessa förbindningar mellan de associerade CPU-enhe- terna är sekvensorganet SEQ i stånd att, när på förbíndningen 23 en förutbestämd kod uppträder, beräkna den följande mikroadressen genom att kombinera ett konstant värde (levererat av själva minnet MMP via registret RMI alltid på förbindningen 23) och tillståndet för två logiska nivåer uppträdande pà ledningarna 27 och 28. Bland de fyra möjliga kombinationerna motsvarar två ("00" och "11") det fallet att de båda CPU-enheterna är överens om tillståndet hos den av förbindningen 29 valda ledningen, och de återstående tva kombinationerna ("01" och "T0") motsvarar det motsatta fallet.
Kretsen CF1 är en konventionell komparator som pa ingångssi- dan är ansluten till ledningarna 27 och 28. I det fallet att de på ingångssidan uppträdande signalerna skiljer sig från varandra, avger komparatorn CF1 på utgången till ledningen 26 en avpassad logisk nivå för att informera organet SEQ att synkroniseringen för- lorats mellan de båda associerade CPU-enheterna, dvs att den pä ledningen 277 uppträdande logiska nivån, på basis av vilken sek- vensorganet SEQ beräknar adressvärdet för nästa mikroínstruktíon, 'ln icke överensstämmer med motsvarande logiska värde hos den associe- rade CPU-enheten.
I detta sammanhang bör man observera att sekvensorganet SEQ, minnet MMP och registret RMI tillsammans bildar en för fackmannen välkänd organisation av "sekvensiell logik". Dess funktion kommer därför icke att beskrivas närmare nedan. Beteckningen MXB anger en multiplexor av godtyckligt känd typ med en mängd ingångar och en enda utgång.
Utgângen på multiplexorn MXB är via ledningen 277 ansluten till kretsarna SEQ och CF1. Ingängarna på multiplexorn är anslutna till förbindningar 210, 211, 227 och 279. En förutbestämd logisk nivå ip är fast kopplad till förbindningen 227, vilken nivå är olika i de båda associerade CPU-enheterna.
En dylik logisk nivå kan å ena sidan undersökas av mikro- programmet, eftersom den uppträder pá multiplexorns MXB ingångs- sida, och inhiberar å andra sidan kretsarna BD3 och BD4 så att ___-- ,« . r I > _ flf--sïf fär* fïf. r~ . 10 15 20 25 30 35 40 11 79Ü1812~3 endast en av de båda associerade CPU-enheterna är aktiverad för överföring på bussen bn och därför betraktas såsom "het" för detta ändamål.
Den till ledningen 279 anslutna ingången på multiplexorn MXB mottager en taktsignal som alstras av en räknekrets CTR, som är anordnad att räkna ett förutbestämt antal N míkrocykler och att signalera slutet av räkneoperationen genom aktivering av ledningen 279. Kretsen CTR, vilken kan utgöras av en godtycklig känd räkne- krets, är även anordnad att automatiskt âterupptaga räkneoperatio- nen varje gång sen den aktiverar ledningen 279 och är även anord- nad att inaktivera ledningen 279 när den till ingångssidan från registret RMI kommande ledningen 278 aktiveras av den pågående mikroinstruktionen. Slutligen mottager multiplexorn MXB en signal sd, vilken kommer att beskrivas nedan.
En positionsorder för multíplexorn MXB, härrörande från re- gistret RMI via förbíndningen 29, möjliggör ett val av endast en bestämd tråd av en av de båda förbindningarna 210 och 211.
Beteckningen RSY anger en uppsättning av tvâ kaskadkopplade register, som taktstyrs med hjälp av signalen t.
Registeruppsättningen RSY är anordnad att till CPU-enhetens operationscykel T synkronisera de asynkrona signaler, som mottages från bussens bn förbindning 310 via en bussmottagare BR1 av samma slag som de ovan beskrivna mottagarna BR2, BR3, BR4.
Den logiska kretsen LCB, vilken på ingångssidan via förbind- ningen 22 mottager ovan beskrivna startorder från registret RMI, avger till bussens bn förbíndning 32 (via förbindningen 212, drivkretsen BD2 och förbindningen 213) följande signaler, åskåd- liggjorda i fig. Zcz - en signal m som med sina bakkanter tillåter de utanför CPU-enhe- ten till bussen bn anslutna organen att lagra den adress som upp- träder vid utgången på den till förbindningen 31 anslutna kretsen BD4; - en signal ß som i tiden begränsar den av enheten ULAR verkställ- da läsfasen av en på förbindningen 31 uppträdande datainformation (översänd av ett godtyckligt organ som har åtkomst till bussen bn); - en signal 3' som genom dess kvarblivande på en hög nivå identi- fierar läsfasen i det organ, som adresseras av nämnda bakkant av signalen M, av en datainformation som alstras av enheten ULAR och tillfälligt lagras av registret RU.
Minnet M (fig. 1), gränssnittet I och allmänt alla till bussen PC-ím Q-Tflflilr 10 15 20 25 30 40 79u1s12-s 12 bn anslutna moduler svarar på signalerna (3 och K på en lednings- förbindning 3l0 (fig. Za) genom att avge en signal, hädanefter be- tecknad rpl, som betyder "exekverad operation".
En dylik signal, vanligen asynkron, är uppenbarligen under- kastad en tidsstyrníng av CPU-modulen.
Före kretsen BD2 och efter kretsen BR2 är två ingångar till komparatorn CF2 anslutna, som på detta sätt cykel för cykel kan kontrollera koíncidensen mellan den på förbindningen 212 uppträ- dande, från kretsen LCB härrörande signalen, och den på förbind- ningen 213 uppträdande signalen, motsvarande den på bussens bn förbindning 32 uppträdande signalen.
I det fallet att nämnda koincidens icke föreligger aktiverar komparatorn ovan beskrivna felsignal er, vilken i sekvensorganet SEQ initierar en överföring till minnet MMP via förbindningen 24 av en mikroadress för start av en test- och självdiagnosprocedur, som kommer att beskrivas närmare nedan.
Denna jämförelse och de därmed förknippade konsekvenserna möjliggör Gnverifiering av att den i fig. Za visade CPU-enheten och dess associerade icke visade enhet är i överensstämmelse cykel för cykel (dvs under varje exekveringsintervall av en mikroinstruk- tion) med avseende på varje avgiven signalkonfíguration.
Oavsett de behandlade signalerna utför samma typ av jämfö- relse, följd av en eventuell avgívning av en felsignal er, till sekvensorganet SEQ, av komparatorerna CF3 och CF4, vilka är an- slutna före kretsarna BD3 resp. BD4 och efter kretsarna BR3 resp. BR4.
Beteckningen UEA anger en expanderenhet för adresserna, i huvudsak bestående av en bank av snabba register och av kombinato- risk logik förbunden med nämnda registers utgångar.
Expanderenheten UEA mottager på ingångssidan via en förbind- níng 219 den, Wflbitinformation som bildar en adress, som tidigare har lagrats av registret RA med hjälp av ordern W4. Enheten UEA lagrar denna information i sina egna register vid mottagningen av "skrivordern" W2 och omvandlar den til en T-bitadress (t'>o*), vilken sistnämnda adress består av en del T1 av mindre signifikan- ta bitar, som pâ utgàngssidan avges på förbindningen 220 till en krets RIC, som kommer att beskrivas nedan, och av en del ïg av mera signifikanta bitar, vilka på utgångssidan avges på förbind- níngen 221 till komparatorn CF4 och sändaren BD4 (dot inses att 2'= tr + Zäl- Iu 10 15 20 30 35 10 ß vsmsfz-z Det bör observeras att nämnda omvandling av en Gßbitadress till en Tßbitadress (t'>o*) är beroende av innehållet i enhetens UEA interna register, var de på förbindningen 219 uppträdande data har förut lagrats, och av en kod uppträdande på en förbindning 222, som ansluter registrets RS utgång till en ytterligare ingång på enheten UEA.
Ovan beskrivna omvandling är nödvändig för att en adresserings- förmåga i minnesutrymmet högre än 20' celler skall uppnås.
Såsom redan nämnts lagras vid den tidpunkt då ordern WS upp- träder de från enheten ULAR avgivna data i registret RS. Dessa data avser: - CPU-enhetens interna status, kodad i bitar tillgängliga på ut- gångsförbindningen 222 mot expanderenheten UEA; - klassificeringen av "primärenhet" eller "sekundärenhet" för be- handlíngsenheten UP (fíg. 1) och följaktligen för de båda associe- rade CPU-enheterna hörande därtill.
Nämnda klassificering kan praktiskt uttryckas med hjälp av de logiska tillständen på fyra ledningar bildande förbindningen 225 (fig. Za) vid utgångssidan på registret RS. Dessa ledningar är alla anslutna till ingångssidan på en konventionell fyrvägs-multi- plexor MXC.
Varje ledning svarar mot en av följande operationer: läsning läsning av en datainformatíon, skrivning av en datainformation, och skrivning av en datainformation för speciella instruktioner av den typen som är kända såsom "test- och instä1lnings"~ínstruk- tioner.
Var och en av nämnda ledningar förmedlar en indikering om vil- ken grupp av minnesbanker BM (fíg. 1), primära eller sekundära, som måste deltaga i den aktuella operationen.
I enlighet med en godtagen praxis utförs en särskiljning med avseende på primära och sekundära behandlingsenhetor UP i beroende av det logiska tillståndet på en av de fyra trådarna, dvs hos den för läsningen av instruktioner. Närmare bestämt är de primära be- handlíngsenheterna UP de behandlingsenheter UP till de primära bankerna vid läsningen av instruktionerna, medan som vid samma slags som har åtkomst de sekundära behandlingsenheterna UP är de, operation, har åtkomst till de sekundära bankerna BM.
Bíten sd, vilken genom sin logiska nivå kodar de regler en- ligt vilka skrivoperationen mäste utföras, dvs om den maste äga rum endast i primärhanken BM i stället förzüt vara dubblerad och ifs, 10 15 20 25 40 7901812-3 14 först äga rum i primärbanken och därefter i sekundärbanken, pre- senteras åter på ingången till multiplexorn MXB och kan sålunda undersökas av mikroprogrammet för att möjliggöra valet mellan de båda ovannämnda möjliga alternativen.
Närmare bestämt om biten sd är i enkelposítionen s utför mikroprogrammet endast en skrivoperation i primärbanken. Om däre- mot biten sd är i dubbelpositionen d, utför mikroprogrammet, med hjälp av signalen S1, en första skrivning i primärbanken genom ut- nyttjning av klassificeringsbiten för skrivning uppträdande pâ den motsvarande träden hos förbindningen 225 och utför därefter en andra skrivoperation i sekundärbanken genom utnyttjning av samma bit inverterad av en konventionell inverterare IN.
Beteckningen RIC anger en enhet kallad "rekonfigurationsen- het", vilken från förbindningen 220 mottager den mindre signifi- kanta delen ïï av adressen och omvandlar den till en kodad signal på utgången, vilken signal via förbindningen 225 avges till bus- sens bn förbindning 33. Tä+1 Enheten RIC består i huvudsak av ett snabbt minne om Z ord. Inskrivning sker i detta minne från enheten ULAR via regist- ret RU när den frân minnet MMP härrörande ordersígnalen WL blir aktiv. I minnets RIC celler lagras koderna för bankerna BMl, ...
BMk (fig. 1), vilka är placerade i motsvarighet till konfiguratio- ner av adressbitar 2% gjorda av enheten UEÅ Efiv. Za) och placera- de i motsvarighet till "klassificeringen" av CPU-enheten, vilken kan härledas från förbindningens 225 logiska niva. Valet av den minnesbank som skall adresseras och därefter av den tillhörande kod bland de 2 TT +1 lagrade i minnet RIC, som maste presenteras på förbindningen 223, sker genom adressering av minnet RIC. Adres- sen består av de bitar Ta, som kommer från enheten UEA via för- bindningen 220, och av en extra bit ínfogad av multiplexorn MXC under styrning av mikroínstruktionssignalen S1. Signalen S1 möj- liggör för mikroprogrammet att adressera minnet RIC i enlighet med den i registret RS lagrade klassificeringsbiten, svarande mot den minnesoperation som skall utföras. Närmare bestämt är alla dessa nämnda funktioner (läsning av instruktion, läsning av datainforma- tion, läsning av datainformation i instruktionerna "test och in- ställning") korrelerade till en kod av de möjliga på den förbind- ning som förmedlar signalen S1, medan för skrivoperationen det i minnet MMP förefintliga mikroprogrammet med hjälp av tva olika ko- der av S1 kan välja bade klassificeringsbíten för skrivning, lagrad i f, *ffslfriiïlï »f- 'av 10 15 20 25 30 40 15 '7901812-3 i registret RS, och dess komplementära logiska värde, erhållet med hjälp av en inverterafe IN, som är ansluten till en av multiplex- orns MXC ingängar.
Den till förbindningen 223 avgivna utsignalen från minnet RIC är beroende av huruvida den på ledningen 280 uppträdande in- signalen är aktiv eller inte.
Den på nämnda ledning uppträdande logiska nivån blir i själva verket aktiv när en konventionell avkodningskrets D, som med sin ingång är ansluten till förbindningen 221 förmedlande de ovan be- skrivna adressbitarna tå, finner att adressen har ett högre värde än det för ett förutbestämt i avkodningskretsen D fast inställt tröskelvärde.
Förbindelsen med den associerade CPU-enheten (icke visad på ritningen), vilken, såsom ovan nämnts, sker via ledningarna 27, 28, 214, 215 och via förbindningarna 31, 32, 310 i bussen bn, är anordnad att möjliggöra självdiagnos av kretsfel hos paret av CPU-enheter. Nämnda par betraktas, med avseende på externa funk- tioner, såsom en enda funktionell enhet.
Självdiagnosen realiseras genom två slags jämförelser, nämli- gen en första jämförelse, utförd vid varje mikroinstruktion, av- seende de ordersignaler som alstras av den enskilda CPU-enheten och avges på bussens bn förbindning 32, och en andra jämförelse, utförd vid varje minnescykel, avseende den information som var och en av CPU-enheterna överför på förbindningen 31, både såsom en adress och sasom en datainformation vid skrivning.
Den första jämförelsen utförs av kretsen CF2 och den andra jämförelsen utförs av kretsen CF4, med avseende på adressen, och av kretsen CF3, med avseende på datainformationen vid skrivning.
Genom att nämnda jämförelser utförs i de förutbestämda tak- terna, vilka är sä höga som möjligt, med avseende på variationer- och data som skall testas, garanteras en omedel- alla fel som kan inträffa i den associerade na hos de signaler bar detektering av CPU-enheten.
Uppenbarligen rier, att ett fel, antages, genom tillämpning av sannolikhetsteo- eventuellt avseende många kretsar, är begränsat inom en av de båda associerade CPU-enheterna. I själva verket är enligt nämnda teorier sannolikheten för ett fel i båda CPU-enhetcr- na mycket liten.
När ett Fel inträffar aktiveras felsignalen er, vilken sänds till sekvensorganet SEQ där den initierar, oberoende av sekvens- 10 15 20 25 40 7901812-3 16 organets SEQ interna tillstånd och av tillstânden för signalerna uppträdande pâ de andra ingångarna, alstring av en förutbestämd mikroadress för minnet MMP avseende en speciell míkroprogrammerad procedur som kommer att beskrivas nedan.
För att garantera korrekt funktion för komparatorerna (CFZ, CF3, CF4) sänder det i minnet MMP förefintliga míkroprogrammet periodiskt avpassade bitkonfigurationer pâ förbindningarna 31, 32 och 310. Dessa konfigurationer sänds av var och en av de associe- rade CPU-enheterna på ett avsiktligt motstridigt sätt i beroende av den avgivna identiteten, såsom redan nämnts, genom den på led- ningen 227 fast kopplade logiska nivån.
Före drivkretsarna (EDZ, BD3, BD4) hos den "kalla" CPU-enhe- ten, dvs den av de båda enheterna som på basis av sin identitet icke är aktiverad för sändning på bussen bn, presenteras sålunda en binär konfiguration som med visshet skiljer sig i en och endast en bit från den konfiguration som uppträder på samma buss bn från den "heta" CPU-enheten, dvs den enhet som pâ grund av den avpassade på ledningen 227 fast kopplade logiska nivån är aktiverad för sänd- ning.
Vid ett fall såsom det som just beskrivits skall signalen e ¶fiflS aktiv åtminstone vid den "kalla" enheten, och med en sådan signal utväxlad med hjälp av ledningen 228 mellan de båda associe- rade CPU-enheterna via en ledning med "trådad ELLER-funktion", kommer en dylik aktivering att starta den tillhörande mikroprogram- proceduren ("trâdad ELLER-funktion" anger allmänt en förbíndning av tvâ logiska grindar hopkopplade på sina respektive utgångar, vilka grindar måste vara av den typen med öppen kollektorj.
En dylik mikroprogramprocedur förlöper såsom följer: - först undersöks tillståndet hos ett internt register i enheten I' ULAR; i beroende av dess värde särskiljs mellan verkligt och falskt fel; - i händelse av ett falskt fel avslutas proceduren genom dtergång till en fast plats i mikroprogrammet, där CPU-enhetens normala operation återvinns; - i händelse av ett verkligt fel nollställer mikroprogrammet först_ alla de av logikkretsen LCB alstrade signalerna genom avpassade ordérsignaler pä förbindningen 22 och utför slutligen ett hopp till en mikroinstruktion som såsom följdfunktion innehåller ett hopp till dess egen mikroadress; denna mikroinstruktion aktiverar även signalen a. I detta fall förblir den dubblerade CPU-enheten MI 10 20 ZS 35 40 u 7901812-3 (varvid även signalen las mellan de büda associerade enheterna enligt en teknik med "trådad ELLER-funktion") stoppad på obestämd tid i ett fe1til1~ stånd. Ett sådant tillstånd, svarande mot ovannämnda míkroprogram- slinga bestäende av en enda mikroinstruktion, identifieras genom: a, i motsvarighet till signalen er, utväx- - aktiveringen av ledningen 215 och därefter av ledningen 282 hos bussen bn, vilken därefter kan utnyttjas på skilda sätt utanför CPU-enheten (exempelvis för åskâdliggörande av feltillståndet, larm till en eller flera CPU-enheter samarbetande med den ovan be- skrivna i processtyrningen, initiering av periferienheter, etc.); ~ isolering av själva CPU-enheten i förhållande till bussen bn; en sådan isolering är åtminstone säkerställd av den av de båda en- heterna som antages icke vara felbehäftad.
På sådant sätt begränsas de av felet beroende verkningarna till ett minimum, eftersom den dubblerade CPU-enheten icke kan fullfölja sin uppgift efter ett fel.
En dylik egenskap möjliggör användning av en dubblerad CPU- enhet (exempelvis i en omgivning med flera processorer) och garan- terar att ett fysiskt fel som ínträffar i en enskild enhet icke påverkar hela systemet.
Den slags dubblering som just beskrivits och sätten för kon- tinuerlig jämförelse mellan de båda associerade enheterna möjlig- görs av de kretsar och procedurer som kommer att beskrivas i det följande; de är nödvändiga på grund av bussens bn asynkrona natur.
Denna egenskap hos bussen bn är dock nödvändig, eftersom kom- munícering skall kunna ske mellan varje CPU-enhet hos behandlings- enheterna UP (fig. 1) och varje modul M hos minnesbankerna BM via alla aktuella bussar (b, c,¿) utan behov av en för alla enheter UP och BM gemensam taktgivare, som skulle vara farlig ur tillför- litlighetssynpunkt, och sålunda kunna ske genom en typisk asyn- kron procedur. Utnyttjandet av en asynkron buss (för bussarna b och Z) medför även en rad för fackmannen välhnma fördelar.
Ett dylikt feltillstånd med de påföljande två ovan beskrivna händelserna uppnås dessutom inom en tid som antingen är lika med en mikrocykel eller lika med varaktigheten av läs- eller skrivcy- keln, varigenom en felfortplantning stoppas från början.
' Såsom ovan nämnts är de tidpunkter vid vilka de pä bussen bn uppträdande signalerna omkopplas icke korrelcrade till perioden av mikrocyklen T, varför den realiserade dubbleringen av CPU~en- heterna icke borde vara möjlig, eftersom den risken skulle före- 10 15 20 ZS 30 40 79-01812-3 18 ligga att en signal som uppträder på bussens bn förbindning 310 och inkommer i CPU-enheterna kan samplas såsom låg nivå (0) av den ena CPU-enheten och såsom hög nivå (1) av den andra enheten.
Vid ett sådant fall skulle i själva verkat de bada CPU-enhe- terna skilja sig med avseende på mikroadresseringsförloppet och följaktligen även med avseende på det logiska flödet i deras mik- roprogram.
Pörbindningarna 27 och 28, komparatorn CF1 och signalen tc (avgiven från organet BT1) utnyttjas för att förhindra konsekven- serna av en sâdan händelse.
Antages att en dylik händelse inträffar och antages även att under mikrocykeln tï (fig. Zb) den mikroinstruktion som exekveras kan tvinga sekvensorganet SEQ (fig. Za) att beräkna den följande míkroadressen (just pâ basis av det ledningstillstànd som mottages av bussens bn förbíndning 310) kommer tvâ motsatta logiska värden, som ömsesidigt utväxlas mellan de associerade CPU-enheterna, att uppträda på ledningarna 27 och 28. Såsom en följd därav kommer led- ningen 26 att bli aktiv, varigenom de båda CPU-enheterna blir oför- mögna att i deras respektive register RMI, som taktstyrs av signa- len tc, lagra tvâ olika mikroinstruktioner och därvid ohjälpligt dívergera. Dessutom, eftersom enheterna ULAR, SEQ och LCB är takt- styrda av signalen tc, kan de icke exekvera mikroinstruktionen under cykeln É1 (fig. Zb) utan såsom en följd av en senare sampling av samma signal av registeruppsättningen RSY (fig. Bal under styrning av signalen t (som icke är inhiberad). Vid ett sadant fall, om inga fel förefinnes, kommer de på ledningarna 27 och 28 uppträdan- de nivåerna att återigen vara i överensstämmelse. Den på ledningen 26 uppträdande signalen "inaktiveras" ånyo, och den míkroinstruk- tion som icke exekverades under tiden t1(fig. Zb) kommer däremot att exekveras under tiden tz utan informationsförlust.
I händelse av ett fel, exempelvis i kretsen BR1 (fíg. 2a) el- ler RSY eller MXB, och på grund av ledningens Ze kvarblivande i det aktiva tillståndet (fig. Zb) även under tiden tg, kommer där- emot de tva associerade enheterna att fortsätta sin behandlings- felct kommer att detckteras Za) sa snart som den logiska operation på ett motstridigt sätt och av komparatorcrna CFZ, CF3, CF4 (fig. konsekvensen av synkroníseringsförlusten vid ingången icke uppträ- der vid utgängskretsarna (BD2, BD3, B04) hos CPU-enheterna.
Organisationen av kretsen SEQ och av det i minnet MMP lagrade mikroprogrammet möjliggör även undanröjníng av konsekvenserna av _.._- .vi 10 15 20 25 30 40 19 7901812-3 en eventuell synkroniseringsförlust (med avseende på tillständen för ingångarna pà multiplexorn MXB) mellan de bada dubblerade CPU- enheterna, varvid nämnda förlust blir märkbar vid míkroprogram- nivån, så att en eventuell återvinningsprocedur kan initieras.
Detta möjliggörs genom utväxlingen mellan de båda CPU-enheter- nas kretsar SEQ av signalerna på ledningarna 27 och 28 och genom möjligheten att under en enda mikrocykel utföra, såsom ovan nämnts, kombinationer med fyra utgångsvägar i beroende av tillstânden på ledningarna 27 och 28. I det fallet att de av kretsen SEQ beräk- nade mikroadresserna är de som motsvarar fallen "01" eller "10" på ledningarna 27 och 28 och i det fallet att í de av dylika mik- roadresser adresserade platserna hos minnet MMP en behandling av själva händelsen startas, kan problemet med synkroniseríngsförlust lösas i det dubblerade systemet på mikroprogramnivån. Fördelen med detta är sålunda att man specialiserar proceduren för återvinning- en av identiteten hos den signal som har förorsakat synkroniserings- förlusten bland alla signaler uppträdande på multiplexorns MXB ingångar.
Det bör observeras att med ovan beskrivna metod en dubbleríng av de associerade CPU-enheterna har realiserats, omfattande den tillhörande testningen, med i huvudsak användning av endast tre ledningar som förbinder CPU-enheterna med varandra, dvs ledningar- na 27, 28 och 228.
Detta resultat_kan vara ytterst värdefullt i det fallet att varje CPU-enhet skall integreras i en helt integrerad krets. Vid dessa fall försvåras i själva verket tillämpningen på grund av an- talet möjliga anslutningar.
Algoritmen för optimering av den centrala funktioner kommer att kortfattat beskrivas i det följande vad be- förbehandlingen av telefonsig- processenhetens träffar förbehandlingen och främst naler.
Algorítmen är baserad på två strikt med varandra förbundna principer.
Den första principen består i att indela de operationer som skall exekveras på ett förutbestämt datasampel i en följd av en- dust logiska boolska operationer bland de som kan utföras av en- heten ULAR (fig. za).
Denna indelning är i praktiken alltid möjlig vid de problem som är förknippade med behandlingsoperationerna; närmare bestämt är den ändamålsenlig vid fallet med förbehandling av telefonsig- J uf\Ä¿L\a,ee-~~~* 1 u..- . 10 15 25 35 40 7901812-3 20 naler, varvid mycket ofta, som bekant, räkning av tiden för alter- nativa händelser och av övergångar hos binära signaler äger rum.
Den andra principen är baserad på en vertikal organisation, i stället för en horisontell organisation, av data för förbehand- lingen både hos varje gränssnitt I (fig. 1), från vilket de utta- ges och till vilket de ätersänds, och i vart och ett av minnena M, och slutligen i enhetens ULAR (fig. Za) interna register.
Vertikal dataorganisation innebär att värdet för den signal som skall behandlas och parametrarna för förbehandlingen placeras i minnesutrymmet (vilket såsom ovan nämnts består av 22' ord om 0*bitar) på motsvarande bitar hos ett flertal ord. Pa detta sätt presenteras varje minnesord som läses av CPU-enheten för enheten ULAR på ledningen 217 samtidigt med alla data avseende arbetet för många sampel, nämligen för så många sampel som bitar Gr] bil- dande "minnesplatsen", ämnade såsom kvantitet av elementardata som kan återkallas av en adress.
På grund av dessa båda principer utförs de logiska boolska operationer för förbehandlingen av enheten ULAR samtidigt för alla rßsignaler.
Vid slutet av följden av nämnda operationer föreligger resul- taten av desamma, alltid i vertikal organisation, i en eller flera platser hos minnet M (fig. 1).
För att bättre klargöra operationsmoden för en dylik algoritm kommer nu ett speciellt, enkelt och icke begränsande exempel att ges.
Ett sådant exempel är särskilt signifikant för tillämpningar avseende förbehandling av telefonsignaler, där signalen genom in- tegrering först mâste filtreras från eventuella falska överlappan- de signaler. En dylik integrering utförs såsom regel genom räkning av varaktigheten av den logiska nivån i ett visst tillstånd med hjälp av räknare kallade "upp-nerräknare".
Följande antaganden görs: I) en grupp av 16 Z-biträknare av ovannämnda typ, vardera tillordnade till en ledning, på vilken en logisk binär signal upp- träder, skall styras; 2) en sampling av de 16 ledningarna skall utföras och för varje ledning maste följande operationer exekveras: - om det pa ledningen samplade värdet är en logisk "O" naren dekrementeras; om den redan är i tillståndet 00 förblir den måste räk- oförändrad; 10 15 21 varnade-z - om det pà ledningen samplade värdet är en logisk "l" mäste räk- naren inkrementeras; om den redan är i tillståndet ll förblir den oförändrad. 3) Samplingen av ledningarna sker i grupper av 16 i en "plats" av 16 bitar (v'¿ 16).
I enlighet med konventionella metoder skulle för lösning av detta problem med hjälp av en processenhet arbetande med l6-bit- ord, de 16 räknarna vara arrangerade i tvâ ord, varvid 8 räknare är horisontellt tillordnade till varje ord.
Operationerna skulle utföras genom utväljande i en ïfigßlbun- den följd, för var och en av de 16 ledningarna, av den motsvarande räknaren. Detta skulle erfordra multípelskiftoperationer (dvs med två positioner) av de minnesplatser som är upptagna av nämnda två ord. Dessutom skulle vid varje vertikalt steg en dekrementering eller en ínkrementering av räknaren utföras i enlighet med de ovan angivna villkoren. Allt detta skulle kunna erfordra 90 elementära logiska operationer av den typen som normalt utförs av en för när- varande kommersiellt tillgänglíg proçessenhçt.
I motsats därtill går metoden enligt den valda algoritmen ut på att beskriva de nödvändiga operationerna med hjälp av boolska ekvationer.
Vid det valda exemplet anges med; FX = samplat tillstånd hos den allmänna ledningen x (x=0...l5) = bit mindre signifikant än det av räknaren x antagna värdet före sampling BX = bit mera signifikant än det av räknaren x antagna värdet före samplíng A'X = bit mindre signifikant än det värde räknaren x mäste an~ taga efter sampling B'x = bit mora signifikant än det värde räknnrpn x måste antaga efter sampling De boolska sambanden motsvarande uppdateringen av räknarcn och praktiskt definierande algoritmen (och såsom en följd därav följden av mikroinstruktioner som eventuellt kan lagras i minnet MMP i det speciella exemplet) är: A' X Axrx Il Bx (AX + Fx) + B' = A_B + F x x x x Dessutom mäste tillstånden för ledningarna och de tillhörande V2, V3 i enlig- (AX + lax) räknarna vara organiserade i tre minnesplafsor VI, _..-~.._ _ 10 15 20 25 7901812-3 22 het med följande schema: v1= F15, P14, Fx P0 vz = A15, A14, AX Ao (s) vs = B15, B14, Bx Bo Logiska operationer (1) och (Z) pâ sådant sätt utförda på hela minnesplatserna V1, V2, V3 levereras automatiskt de 16 resul- taten pá en gång. Detta resultat uppnås vid det speciella här be- skrivna fallet med hjälp av 10 elementära logiska operationer, vilka vardera approximativt motsvarar tiden T för en mikrocykel.
Omkopplíngen av CPU-enheten (fig. Za) från dess normala ar- bete till exekveringen av förbehandlingsoperationerna inträffar på ett periodiskt sätt, exempelvis på begäran, antingen genom nor- mala av gränssnitten I initierade avbrottsprocedurer eller pâ or- der av CPU-enheten, varje gång signalen på ledningen 279 blir ak- tiv; när denna signal alstras, såsom framgar av en självàterstäl- lande räknare, äger en dylik omkopplingsoperation rum med perioden NT. Den motsatta omkopplingen från förbehandlingsfunktioner till normala behandlingar sker på ett asynkront sätt när alla förbehand- lingsoperationer under denna tidsfas har exekverats.
Resultaten av det under förbehandlingen utförda arbetet ger upphov till meddelanden som är tillgängliga för nästa behandling direkt i minnet M (fia. 1).
Det bör observeras att det faktum att utnyttjandet av samma minne för arbetsomrädena för förbehandlingen, och för den ömsesi- diga utväxlingen av meddelanden mellan förbehandlings- och behand- lingsoperatíoner, och slutligen för den normala behandlingen inne- bär avsevärda förenklingar och hastighetsfördelar vid nämnda in- formationsutväxling, och är även fördelaktigt ur den synpunkt att de för förbehandlingen utnyttjade minnesareorna är enkla att diag- nostisera.
Den ovan beskrivna algoritmen ger CPU-enheten en parallelli- tet av storleksordningen 0'vid behandlingen av de signaler som skall förbehandlas, och pâ grund av det faktum att de tillhörande behandlingsoperationerna utförs på sa kort tid som möjligt (dvs icke på en instruktionsnivå typisk för en CPU-enhet utan på en mikroínstruktionsaivâ) kan den beskrivna CPU-enheten tillräckligt effektivt i realtid utföra både de normala operationerna För en godtycklig processenhet av samma typ och de operationer som är nödvändiga för signalförbehandlingen, särskilt sådana som är POOR QÜF-.LÉTY 10 15 20 35 40 7901812-3 23 typiska inom telefoniomrädet.
DRk k block av drivorgan-mottagare av en godtyckligt känd typ, som är i stånd att för sändning och mottagning driva sin egen buss. Antag exempelvis att denna figur hänför sig till modulen MEI i enheten UPn (fig. 1), varvid de till blocken DR1, DRZ ... DRk (fig. 3) dubbelriktat an- slutna bussarna är Cnl, Cn2 ... Cnk.
Beteckningen BB1 anger ett block, vilket innehåller dels ett temporärt lagra de adresser och data som I fig. 3 anger beteckningarna DR1, DRZ, ... register anordnat att uppträder på den buss bn, som är ansluten till blocket BB1 med förbindningen 31, och dels ett antal grindar anordnade för dubbel- förbindningen 313 av nämnda adresser och tillhörande data mellan de k blocken DR och bussen bn från och till den därtill anslutna CPU-enheten (fig. 1).
Realiseringen av blocket BB1 kan utföras av en fackman. ßeteckníngen LSI anger en logikkrets, vilken är anordnad att mottaga de från CPU-enheten (fig. 1) kommande ordersígnalerna via bussen bn och förbindningen 320 och vilken även är anordnad att därefter överföra dem till alla block DR via förbindningarna 314, och att sända avpassade ordersignaler, vilka kommeratt beskrivas riktad överföring via nedan, till de återstående blocken via förbindningen 315. Kretsen LSI sänder till sin CPU-enhet (fig. 1) via förbindníngen 38 och bussen bn en styrsignal för fullföljandet av operationerna.
Den av kretsen LSI till blocket BBI sända signalen via nägra trådar i förbindningen 315 verkar närmare bestämt såsom en klock- signal för registret.
Beteckningen DC anger en avkodningskrets av godtyckligt känd typ, vilken via förbíndningen 33 från bussen bn mottager en be- stämd kodad signal. Kretsen DC avkodar denna signal, varvid iden- titeten för det för denna signal intressanta blocket DR erhålles, och sänder till detta block, via en av trådarna rï, rz ... rk, en aktiveringssignal; överföringen verkställs vid mottagningen av en ordersígnal som kretsen DC mottager från kretsen LSI via förbind- ningen 315.
Kretsen DC återsänder, via förbindningen 39 och bussen bn, till sin CPU-enhet (fig. 1) en signal som den utnyttjar för att kontrollera den just utförda avkodningsoperationen.
Beteckningen IT (fig. 3) anger en krets, vilken är anordnad k kretsar DR, till vilka den är separat ansluten . sk, sända avbrottssignaler som den alstrar att till de via tradar sl, sz ..
Poor ouarafrr y / 10 15 20 40 7901812-3 24 vid mottagning av avpassade ordersignaler från bussen bn via för- hindningen 34 och andra ordersignaler från logikkretsen LSI via förbindníngen 315.
Via ledningen 319 och bussen bn sänder kretsen IT till sin CPU-enhet (fig. 1) en bekräftelsesígnal för den exekverade opera- tionen. Kretsar såsom IT är välkända för fackmannen.
Beteckningarna IRI, IR2 anger tvâ kretsar, vilka är anordnade att mottaga och lagra avbrottssignaler kommande från de k bloc- ken DR via trådar uï, uz _.. uk respektive vï, vz ... vk.
Vid mottagningen av en av dessa signaler informerar kretsar- na IR1 och IR2 CPU-enheten (fig. 1) via trådar 321 och 322 och bussen bn.
Därefter, vid en särskild begäran kommande från CPU-enheten via bussen bn och förbindningarna 35 och 36 (fig. 3), sänder kret- sarna IR1 och IR2 de kodade signalerna u respektive v till CPU-enheten via förbindningar 311, 312.
Närmare bestämt hänför sig de av kretsen IR1 mottagna avbrotts- signalerna till kommunikationsbeordringar mellan någon CPU-enhet (fig. 1) och en annan dylik enhet, medan de av kretsen IR2 (fig.3) mottagna avbrottssignalerna däremot hänför sig till felaktigheter i minnesbankerna BM (fifl. 1).
Kretsar såsom IRl och IR2 (fig. 3) är välkända för fackmannen.
Beteckníngen RM anger en konventionell logikkrets, vilken är anordnad att utföra en maskning av de eventuella avbrottssignaler, som kan ha identifierats av en av CPU-enheterna (fig. 1) såsom inkorrekta eller icke önskvärda; de sålunda maskade avbrotten be- aktas icke längre av kretsarna IRl, IR2 (fig. 3).
För utförande av dessa funktioner mottager kretsen sin CPU-enhet via bussen bn och förbindningen 37, efter RM fran en aktive- ringssignal kommande från kretsen LSI via förbíndningen 315, av- passade maskorder relaterade till vissa avbrott, samt lagrar och sänder de tillhörande inaktiveringssignalerna till kretsarna IRI och IR2 via trådar 316 respektive 317.
I fig. 4 anger beteckningarna ÜÉT, ÜÉÜ _.. ÜÉH n uppbyggnad som blocken block av "drivorgan-mottagare" med en identiskt lika DR1, DRZ _.. DRk i fig. 3. Antages exempelvis att fig. 4 hänför sig'till den i minnesbanken BMk förefintliga modulen MAC (fíg. 1), så är blocken ÛÉT, Üfiï, ... Ükí (fig. 4) anordnade att för mottag- ning och sändníng driva bussarna Clk, Cïk ... Cnk.
De med BB2 och LS2 betecknade blocken har en identiskt lika 10 20 40 25 7904812-3 uppbyggnad som blocken BB1 respektive LSI i fig. 3. 4) via förbindningen 42 ÜÉT, Üñï ... Üfiï och via Närmare bestämt är blocket BBZ (fig. dubbelriktat anslutet till de n förbindningen 43 till bussen ík.
Logikkretsen LSZ är dubbelriktat ansluten till bussen ik via förbindningen 44 och till de skilda Dä-blocken via förbindningen45.
Logikkretsen LSZ sänder via ledningen 46 en aktiveringssíg- nal till blocket BBZ, vilken signal bestämmer riktningen för data- blocken överföringen genom blocket BBZ.
Beteckningen TO anger en konventionell tidsbestämníngskrets som i tiden begränsar de aktuella operationerna i syfte att för- hindra eventuella av fel förorsakade stillestànd.
Kretsen TO mottager från kretsen LSZ via förbindningen 47 en aktiveringssignal vid början av en bestämd operation. Den signa- lerar tillbaka, via samma förbindning 47, en eventuell stoppsitua- tion och i detta fall sänder den en avbrottssignal via ledningen 48 till alla DF-block.
Beteckningen ARB anger en logikkrets som har till uppgift bestämma vilket av blocken DÉT, DF? ... Díï som måste aktive- för kommunicering med blocken LSZ och BBZ.
För att kunna utföra en sådan bestämning mottager kretsen en eventuell kommuníkationsbeordring från blocken ÜÉT, DÉÉ ... att TiiS ARB Üfin via trådar pl, p2 ... pn.
Dessa trådar samplas periodiskt till dess att uppträdandet av en eller flera beordringar detekterats, Därefter stoppas samp- lingen och åtkomst tilldelas i enlighet med en förutbestämd prio- ritetsregel.
Den successiva samplingen av trådarna pl, p2 ... tages först sedan alla vid den tidigare samplingen funna beord- ringar beaktats, i ändamål att förhindra stillestànd på grund av fel och förhindra att en CPU-enhet med hög prioritet gynnas vid pn återupp- âtkomsttilldelningen.
Kretsen ARB sänder, efter det att den har bestämt vilket av blocken DD som skall aktiveras för kommunicering, en aktiverings- signal till detta block. För detta ändamål är kretsen ARB förbun- den med de n blocken Üí via trådar SW1, SW2 ... Swn.
' Kretsen ARB meddelar via förbindníngen 49 för kretsen LSZ början och slutet av den kommunicering som de skilda blocken Ü? deltager i.
Beteckníngen BT2 anger en konventionell tídbas som är anord- ~ csobrsalrtrw 10 15 20 40 7901812-3 zs nad att alstra de elementära taktsígnaler som är nödvändiga för blockens ÅRE, LS2 och TO funktion, varvid tidbasen är ansluten till dessa block via förbindningen 41.
I fig. 5 anger beteckningarna I, M och CPU samma moduler som redan beskrivits i anslutning till fig. 1. Även i detta fall kan CPU-modulen vara ensam eller dubblerad.
"Monoprocessorkonfigurationer" såsom i fig. 5 är välkända för fackmannen, varför, frånsett den redan beskrivna särskilda opera- tionsmoden för CPU-modulen, det icke är nödvändigt att ge ytterli- gare operationsdetaljer.
I fig. 6 anger beteckningarna I, CPU och M samma moduler som redan beskrivits, med den enda egenheten att CPU-modulen till väns- ter särskilt kan tilldelas till förbehandlingsoperationer, medan den andra CPU-modulen kan vara helt tilldelad för utförande av de normala behandlingsoperationerna.
På detta sätt kan Wnonoprocessorkonfigurationens" behandlings- kapacitet alltid ökas genom tillfogande av ytterligare moduler av samma typ.
Med en dylik konfiguration måste emellertid resultatet av det av den särskilda CPU-modulen utförda förhehandlingsarbctet göras tillgängligt för den andra CPU-modulen för de efterföljande behand- lingsoperationerna.
För detta ändamål är ett konventionellt minne MB anordnat med tva ingångar anslutna till de två bussarna dï, då för de tva CPU-modulerna.
Ett med tvâ ingångar försett minne såsom MB, även kallat "tvâport-minne", består av ett konventionellt minne av godtycklig typ och av en inert logikkrets för bedömning av âtkomstbeordring- arna.
Minnesâtkomsterna (data som skall läsas/skrivas, adresser skrivorder, läsorder) kan erhållas direkt och oberoende av de bada asynkrona bussarna d1 och dz, vilka är av samma typ såsom den re- dan beskrivna bussen bn (fig. 1).
Bedömningslogiken bestämmer vilken åtkomst som skall tillde- las på basis av tidsmässig prioritet för anländandet av beordring- arna och, i händelse av simultana beordringar, pa bmus av ett al- ternativt kriterium.
Konfigurationen enligt fíg. 6 utnyttjas när en högre tillför- litlighet erfordras än den som den enkla monoprocessorkonfigura- tionen enligt fíg. S kan ge. ___,.v.-v-< > 10 15 ZS 27 7901812-3 I fig. 7 anger beteckningarna Ul, U2 tvålehandlingsenheter, vilka vardera i huvudsak består av modulerna I, M, CPU, 5, och av en modul IOP, som be- hos vilket vis- som redan beskrivits i anslutning till fig. står av ett parallell-in-utgränssnítt av känd typ, sa ändringar har gjorts, som kommer att beskrivas nedan.
De skilda modulerna hos var och en av de båda enheterna Ul, U2 är förbundna med varandra via bussar z1 respektive 12 av samma typ som bussen bn (fig. Za). De två modulerna IOP (fig. 7) är för- bundna med varandra via en ledning 81.
De båda enheterna U1, U2 behandlar de vid ingången mottagna data likartat, men endast en av de båda enheterna betraktas såsom "master", vilken av programmet är aktiverad att avge resultaten på utgången.
I enlighet med operationssätten för de skilda perifera enhe- ter, som vía gränssnitten I är anslutna till konfigurationen en- ligt fíg. 7, kan ingångsdata presenteras antingen parallellt för U2 eller endast för en av dem och närmare be- stämt för den som verkar såsom master vid denna tidpunkt.
Vid det förra fallet utväxlas och jämförs de parallellt på innan behandlingen verkställs, via gräns- bada enheterna U1, ingången mottagna data, snitten IOP för säkerställning av deras likvärdíghet.
Vid det senare fallet sänds de av masterenheten mottagna data via gränssnittet IOP till den andra enheten (slaven) innan behand- lingen utförs.
Om under behandlingen det är nödvändigt att sända data till utsidan via gränssnitten I måste dessa data först utväxlas och jämföras i och för kontrollering av korrektheten hos den av de bå- da enheterna U1 och U2 utförda behandlingen.
Vad beträffar data vid ingången, äger även denna datautväx- ling rum via gränssnitten IOP och ledningen 81.
Uppenbarligen skulle dessa utväxlingar, som är nödvändiga i en dubblerad konfiguration med parallellkontroll, värd komplikationsgrad i förhållande till enkel databehandling, om de utfördes med hjälp av gränssnittsmoduler IOP av känd typ.
För undanröjande av denna nackdel har vid föreliggande upp- finning vissa modifikationer gjorts i nämnda gränssnittsmoduler i medföra en avse- syfte att öka hastigheten För den datautväxling som sker därigenom.
Parallellgränssnítten av känd typ ger i förbindelsebussen (motsvarande ledningen 81) både för sändnings- och mottugningska- nulerna upphov till uppträdandet av tvâ signaler, hädanefter kal- 10 15 ZS 7901812-'3 zs lade drt och dpr.
Signalen drt utgör svaret från den perifera enhet, som är an- sluten till sändningskanalen, att en dataínformation har lagrats.
Pâ motsvarande sätt utgör signalen dpr i mottagningskanalen signa- leringen från den perifera enheten att en datainformation har sänts .
Som bekant medför dylika signaler att en avbrottsbegäran sänds till den CPU-modul, som är förbunden med det gränssnitt som deltager i operationen.
Vid ett parallell-gränssnitt av känd typ anslutet till CPU- modulen, alstras signalen rpl, som redan beskrivits,inom gräns- snittsmodulen såsom en logisk ELLER-funktion av tvâ signaler rplr och rplt. Dessa signaler är gränssníttets svar på signalerna ß och X (fifl. Zc) tillåtande CPU-modulen (fig. 7) att läsa och skri- va respektive mottagnings- och sändningsbuffertar hörande till gränssníttsmodulen.
Modifieringen enligt uppfinningen hänför sig till alstringen av signalen rpl inom gränssníttsmodulen IOP. Närmare bestämt be- står modifieringen i preparering av signalen rplt för sändning med hjälp av signalen drt och signalen rplr för mottagning med hjälp av signalen dpr. I enlighet med boolsk algebra motsvarar detta alstríng av svarssignalen rpl enligt sambandet: rpl = rplt - drt + rplr - dpr (4) i stället för enligt sambandet: rpl = rplt + rplr (S) Kretsrealiseringen för denna modifiering enligt uppfinningen utgör inget problem för fackmannen.
Genom denna modifiering enligt uppfinningen kan hastigheten för datautväxlingen mellan gränssnitten IOP ökas, eftersom CPU- modulen därvid förhindras fran att under programstyrning, före varje utväxlad datainformation, kontrollera uppträdandet av signa- lerna drt och dpr i de "kontroll- och statusregister", som vanli- gen förekommer i gränssnittsmoduler såsom IOP.
Om under behandlingen ingen av de CPU-logikkretsar som kont- rollerar de bäda enheterna Ul och U2 har detckterat ett fel och, trots detta likvärdighetskontrollen med avseende på de utgaende meddelandena har givit ett negativt resultat, sänds icke nämnda meddelanden och de båda enheterna U1 och U2 startar en program- 15 20 ZS 30 40 29 § t7šn1š12-3 rekonstrueringsprocedur i avsikt att detektera och avskílja den enhet, som på grund av en icke detekterad felaktighet har gjort ett fel.
Det är värt att notera att i det fallet att CPU-modulen hos varje enhet U1, U2 är dubblerad och sålunda har självdiagnosför- måga förenklas ovannämnda rekonstrueringsprocedur genom det fak- tum att därvid CPU-modulernas operativa korrekthet icke behöver kontrolleras.
Om å andra sidan under behandlingen styrlogikkretsarna hos CPU-modulen i en av de båda enheterna U1, U2 detekterar ett fel, meddelas detta faktum, gaum en avbrottsprocedur, till de andra enheterna via gränssnitten IOP. följd av detta avskiljs den enhet, som har meddelat arbete och behandlingen fortskrider, utan att konti- Såsom en ett fel, från nuiteten går förlorad, i en enkel konfiguration. att meddela uppträdandet av ett fel sig i enlighet med om felet har på- De sätt som används för via gränssnitten IOP skiljer träffats utanför CPU-modulen Vid det förra fallet är av CPU-modulen. Vid det senare fallet anförtros, eftersom CPU-mo- dulen uppenbarligen icke längre är i stånd att exekvera instruk- tionerna, meddelandeproceduren till självdiagnosledningen 282 eller inom densamma. sígnaleringsproceduren programstyrd (fig. Za) hos själva CPU-modulen.
Antages exempelvis att U1 är den felaktiga enheten utvinner den till bussen zl anslutna modulen IOP tillståndet för ledningen 282 hos bussen zl och överför det till förbindningen 81.
En dylik signal förorsakar, när den anländer till den till bussen 22 anslutna gränssnittsmodulen IOP, dels alstring av ett avbrott till enhetens U2 modul CPU, i enlighet med de transmissions- moder som utnyttjas vid det normala datautbytet mellan enheterna U1 och U2, och dels aktivering av en förutbestämd bit hos gräns- snittsmodulens IOP kontroll- och statusregister. Pâ detta sätt kan enhetens U2 CPU-modul, efter det att den mottagit en avbrotts- signal, kontrollera tillståndet hos detta register och detektera uppträdandet av ett fel i enheten U1.
Konfigurationen enligt fig. 8 arbetar på motsvarande sätt som'den i fig. 7 med den enda skillnaden att de båda komponent- enheterna, i stället för att vara av den i fig. S angivna typen, är av den i fig. 6 visade typen, varför ett operationssätt med ät- skild förbehandling är associerat med den dubblerade konfigurationen. i 39.93 QUALITY 10 15 20 25 40 790181245 30 Konfigurationen enligt fig. 9 är i grunden samma som konfigu- rationen enligt fig. 1 med den enda skillnaden att de i fíg. 1 med UP1 ... UPn betecknade behandlingsenheterna nu är ersatta av samma antal behandlingsenheter av den i fig. 6 visade typen, före- trädesvis integrerade (eftersom det alltid är en multiprocessor- konfiguration) i moduler MEI, i ändamål att erhålla åtkomst till det gemensamma minnet.
Uppenbarligen ökar även i detta fall, liksom för konfigura- tionerna i fig. 6 och 8, den enskilda behandlingsenhetens behand- lingsförmåga, utan att enheternas antal växer, vilket skulle leda till en överbelastning av förbindningsnätet med det gemensamma minnet.
Funktionssättet för konfigurationen enligt fig. 9 överensstäm- mer helt med den för fig. 1 givna funktionsbeskrívningen.
De hittills beskrivna konfigurationerna utgör grundläggande konfigurationer av behandlingsenheter som enkelt kan förbindas i mera komplexa system med en organisation bade demokratisk, dvs utan funktionsmässig distinktíon mellan de skilda enheterna, och hierarkisk, dvs fördelning av de skilda enheterna på olika under- ordnade nivåer, var och en kännetecknad av en speciell funktion.
Ett dylikt system kan realiseras genom att man uteslutande använder de i de olika konfigurationerna redan beskrivna elemen- tarmodulerna.
Närmare bestämt, om det fysiska avstånd som ätskiljer de skilda baskonfigurationerna hos ett givet system är relativt kort, är det möjligt att realisera förbindníngarna mellan nämnda konfi- gurationer med hjälp av de i fig. 6, 8 och 9 visade tväportminnena MB. I motsatt fall är det nödvändigt att utnyttja de redan beskriv- na gränssnitten I.
För exemplifieringsändamâl kommer tvä system av híerarkisk typ, som är mera signifikanta än system av demokratisk typ, att beskrivas.
Systemet enligt fiu. 10 representerar ett exempel pä en hier- arkisk organisation med tvâ nivåer mellan närbelägna behandlings- enheter som för förbindningen just utnyttjar tvåportminnen MB.
Vid detta system görs resultatet av den behandling som utförs av behandlingsenheterna av lägre nivå (till vänster i figuren) tillgängligt för enheten av högre nivå (till höger i figuren) med hjälp av den gemensamma åtkomsten till samma tvâportminne MB.
Det bör nu observeras att enheten av högre nivk även kan 10 15 Z0 40 31 79018-12-3 bestå av enheter av den i fig. I, 5 och 7 beskrivna typen.
Systemet enligt fig. 11 representerar ett annat exempel på en hierarkisk organisation med två nivåer av den i fig. typen, men med fjärrbelägna enheter förbundna genom gränssnitt av 10 visade typen I.
I detta fall måste resultatet av behandlingen överföras till enheten av högre nivå med en avpassad utväxlíngsregel som möjlig- gör kontroll av resultatets korrekthet.
I detta exempel består högnivåenheten av en multiprocessorkon- figuration av det slag som visas i fig. 1.
Uppenbarligen är, i och för säkerställning av hela systemets överlevnad och närmare bestämt lågnivåenheternas funktion i hän- delse av ett fel hos en behandlingsenhet (UP) i multiprocessorkon- figurationen, en dubblering nödvändig av förbindningsledningarna (och sålunda av gränssnitten I) utgående från varje lågnivåenhet, varvid ledningarna är anslutna till två skilda behandlingsenheter (UP), såsom framgår av ritningen.
Funktionssättet för behandlingssystemet enligt uppfinningen kommer nu att beskrivas närmare med särskild referens till multi- processorkonfigurationen enligt fíg. 1, eftersom funktionen för de i fig. 5, 6, 7, 8, 9, 10 och 11 visade konfigurationerna redan har beskrivits och icke kräver några ytterligare kommentarer.
Vid fallet enligt fig. 1 arbetar systemet, såsom nämnts, i en "multiprocessorkonfiguration" med n behandlingsenheter UP och k minnesbanker BM.
Som bekant består ett multiprocessorsystem i huvudsak av två eller flera behandlingsenheter, vilka vardera är i stånd att er- hålla åtkomst till det gemensamma minnet på ett självständigt sätt.
Vid föreliggande fall utgörs behandlingsenheterna av enheter- na UP1, UP2 ... UPn och det gemensamma minnet består av minnes- bankerna BMl, BMZ BNIk.
Anpassningen av multiprocessorsystemets behundlíngskapacitet, minneskapacitet och tillförlitlighet till de praktiska behoven uppnås genom anslutning av ett avpassat antal behnndlíngsenhcter och mínnesbanker.
Processenheten CPU i enkelt eller dubblernt utförande kan bade ha åtkomst direkt till det interna minnet M och via logiken- heter MEI och MAC till bankerna BM hos det gemensamma externa minnet.
Uppenbarligen är CPU-enheternas åtkomst till de till bussarna 10 15 20 25 40 7901812-3 Q b anslutna interna minnena snabbare än åtkomsten till de till bussarna I anslutna externa minnena, varför respektive interna minne, förutom innehållande de särskilda till den tillhörande en- heten UP relaterade data, även kan innehålla, för varje enhet UP, den del av programmet som oftare utnyttjas.
Valkriteriet mellan de båda minnestyperna bestäms av värdet av den fysiska adress som uppträder vid utgången på adressexpander- enheten UEA (fig. Za), på basis av den av avkodningskretsen D ut- förda avkodningen av bitarna 23: För adresser lägre än ett förut- bestämt tröskelvärde genomförs åtkomsten direkt till det interna minnet vilket, genom avkodning av den på bussen b föreliggande adressen, identifierar en âtkomstbegäran till sig själv, och för adresser överskridande detta tröskelvärde intresserar sig rekonfi- gurationsenheten RIC, vilken enhet, på basis av innehållet i dess egna register, meddelar logikenheten MEI identiteten för den min- nesbank BM som är intressant för åtkomsten.
Såsom en följd därav aktiveras endast den buss, som direkt förbinder enheten UP med den valda minnesbanken BM (exempelvis UP1 ansluten till BMZ via C12).
Förbindningarna mellan behandlingsenheterna UP och minnes- bankerna BM, realiserade genom modulerna MEI och MAC samt bussar- na C, löser i huvudsak trafik- och tillförlitlighetsproblem, efter- som de å ena sidan medger att behandlingsenheterna UP kan erhålla en snabb åtkomst utan spärrning till mínnesbankerna BM, och a and- ra sidan möjliggör de, i händelse av ett fel, en avgränsning och isolering av den felaktiga enheten, vilken antingen kan vara en behandlingsenhet UP eller en minnesbank BM, utan att negativt pâ- verka hela behandlingssystemets funktion. åtskilda banker BMI, BM2 ... Bm genom användning av en uppdelning i fysiska adresser, vilka till följande adresser tilldelar skilda banker i enlighet med en känd teknik, kallad "minnesinterfolíering" (memory interleaving).
Den regel som följs i föreliggande fall tilldelar en och sam- ma minnesbank till alla adresser som uppvisar samma rest vid deras Det gemensamma minnet är uppdelat i division med det föreskrivna antalet primärbanker kp.
Exempelvis vid det enkla fallet vid vilket kp = 4 och primär- bankcrna är BMI, BM2, RW3 och BM4, är adresserna 0, 4, 8 ... till- delade banken BM1, adresserna 1, 5, 9 ... banken BM2, adresserna 2, 6, 10 ... banken EMS och slutligen adresserna 3, 7, ll ... är tilldelade banken BM4. 10 15 20 30 35 40 7901812-3 33 Pa detta sätt undviks en förlust av den allomfattande behand- lingskapaciteten på grund av behandlingsenheternas UP köer med av- seende på minnesàtkomsten, eftersom instruktionerna hos ett program allmänt exekveras genom sekvensíella adresser.
Bankerna BM kan vara antingen i ett enkelt eller 1 ett dubble- rat utförande av tillförlitlighetsskäl. Vid vissa tillämpningar, såsom exempelvis styrning av telefonanläggningar, är det nämligen mycket viktigt att systemet kan överleva, genom användning av automatiska rekonfiguratíonsfaciliteter, även i händelse av succes- siva icke enkelt åtgärdade fel.
Följaktligen uppdelas i det förra fallet (enkelutförande) de k minnesbankerna i kp primärbanker och i kr extra banker (ks = 0).
Vid det senare fallet (dubblerat utförande) uppdelas de k banker- na i kp primärbanker, ks = kp sekundärbanker och kr extra banker.
De ks sekundärbankerna innehåller därvid, kontinuerligt upp- daterat, samma information som primärbankerna.
Den funktionella konfigurationen med minnesbanker i enkel- eller dubbelutförande, kodas i varje behandlíngsenhet UP (fig. 1) i den bit sd, som uppträder i registret RS (fig. Za) hos den till- hörande CPU-enheten.
Vid funktion i enkelkonfiguration deltager endast primärban- kerna kp, medan de extra bankerna kr endast tages i anspråk i hän- delse av fel.
Uppenbarligen utförs behandlingen med avseende på primärban- kerna på ett för fackmannen känt sätt, varför ytterligare förkla- ringar icke erfordras.
Substitueringen av en felaktig bank med en extra bank sker på ett mycket enkelt sätt genom att i rekonfigurationsenheten RIC (fig. 2a}, på det sätt som redan beskrivits, koden för den felak- tiga primärbnnken ersätts av koden fördenextra bank som är vald av programmet för substitueringen.
Vid fallet med funktion i dubbelkonfiguration deltager både medan de extra bankerna primär- primärbankerna kp och sekundärbankerna ks, kr endast tages i anspråk i händelse av ett fel hos både en och en sekundärbank.
Rekonfigurationsenheten RIC tilldelar, via förbindníngen 125 och mul- pü basis av den från registret RS mottagna informationen tiplexorn MXC, atkomstadresserna till det gemensamma minnet BM mot primärhanken, sekundärbanken eller båda dessa banker i enlighet med den erforderliga funktionen. geek QUALITY 10 15 ZS 30 35 40 7901812-3 34 Närmare bestämt, eftersom ínstruktionshämtningsfunktionen med avseende på de i det gemensamma minnet BM (fig. 1) lagrade programmen kan utföras av den enskilda behandlingsenheten UP ge- nom arbete t.ex. på primärbanken eller på dess kopia i form av den motsvarande sekundärbanken, är det möjligt, genom uppdelning av behandlingsenheterna UP i tvâ grupper och klassificering av varje enhet UP hos varje grupp såsom "primärenhet" eller "sekun- dârenhet", att realisera en uppdelning av belastningen av åtkomst- beordríngarna för instruktionshämtningsfunktionen hos programmen i det gemensamma minnet. Å andra sidan, eftersom funktionen för inskrivníng av data i det gemensamma minnet måste utföras bade med avseende på primär- minnet och dess kopia i form av den motsvarande sekundärbanken, är det möjligt, på basis av den klassificeringsbit sd, som uppträ- der vid utgången på registret RS (fig. Zaš och som för närvarande är i dubbleringstillstândet d, att skriva samma datainformation med samma adress först i primärbanken och därefter i sekundärban- ken.
Eftersom funktionen för utlâsning av data frân_minnet BM (fig. l) kan utföras av den enskilda behandlingsenhcten UP genom att den godtyckligt opererar antingen på primärbanken eller pa den motsva- rande sekundärbanken, är det vid normal operation möjligt, analogt med ovannämnda instruktíonshämtningsfunktion, att realisera en uppdelning av belastningen av beordringarna genom uppdelning av enheterna UP i primärenheter och sekundärenheter.
Vid fallet med operationer av läsning och skrivning av en datainformation för en "test- och inställnings"-instruktíon måste, eftersom skrivningen av nämnda datainformation sker, såsom redan nämnts, i tidsföljd först i primärbanken och därefter i sekundär- banken, en läsning av denna datainformation alltid utföras endast i primärbanken för att säkerställa att informationen är entydig.
Följaktligen utförs under "test- och inställnings"-funktionen läs- ningen av datainformationen i enlighet med ett mikroprogram i primärbanken genom utväljande, via multiplexorn MXC (fia. Za) un- der styrning av signalen Sl, av den klassificeringsbit som svarar mot denna funktion, uppträdande på förbindningen 325 vid utgången pa registret RS.
I händelse av ett fel hos en primärbank eller sekundärbank sker substitueringen med de extra bankerna enligt de regler som redan beskrivits i anslutning till fallet med funktion i enkel- 10 15 20 30 b: lf" 40 35 79Ûl812-3 konfiguration.
Den speciella uppbyggnaden av rekonfigurationslogíkenheten RIC möjliggör för systemet att "överleva" även i det fallet att successiva, icke âtgärdade fel har lett till en förbrukning av alla extra banker kr som anordnats från början.
I detta fall är det i själva verket möjligt att genomföra en successiv degradering av systemet mot en enkelkonfiguratíon via successiva faser till dess att det totala antalet återstående banker har blivit mindre än det antal kp som från början anordnats för primärbankerna.
Närmare bestämt är det möjligt, när väl samtliga extra ban- ker har förbrukats, så snart som ett fel inträffar antingen i en primärbank eller sekundärbank (BM) (fig, 1), att ersätta den fel- aktiga banken med en bank som är dess kopia, genom att helt enkelt i enheten RIC (fig. Za) den felaktiga bankens kod ersätts av koden för den bank sam är den felaktiga bankens kopia. Vid ett sådant fall är uppenbarligen en av bankerna icke dubblerad.
Om ett ytterligare fel inträffar hos en av de fortfarande dubblerade bankerna, är operationssättet samma som det som redan beskrivits! varvid i detta fall det förefinnes två banker utan dubblering. Om däremot felet inträffar i den íçke dubblerade ban- ken är en automatisk rekonfiguration fortfarflfldC Möjlig 20n0m En ytterligare omfördelning av kodningen av bankerna j enheten RIC, varvid dubbleringen av en av de fortfarande dubbleradp bankerna upphävs och den felaktiga banken ersätts av den sålunda tillgäng- liggjorda banken. _ Det är möjligt att fortsätta på detta sätt, i händelse av ytterligare icke âtgärdade fel, till dess att samtliga banker fö- religger i enkelkonfiguration.
Det är värt att notera att i alla dessa fall, naturligtvis med undantag av det sistnämnda, på grund av rekonfigurationslogik- enbete&S RIC nångsidíghet rekonfígurationen kan ske mycket snabbt, dvs utan informationsutbyten mod de externa oföränderliga mass- mínnena och utan någon informationsförlust. Som bekant är sådana egenskaper särskilt värdefulla vid behandlingssystem anordnade för styrning av telefonoperationer.
' Förutom de just beskrivna enkla och dunblerade konfiguratio- nerna är det även möjligt att låta systemetxarbeta i en hybridmod, såsom framgår av följande exempel. “ ' Ett första fall inträffar när i den dubblerade konfiguratio- 10 15 20 30 L/l UI 40 7901812-3 se nen, vid uppdateringsbehov av systemegenskaperna, det är nödvän- digt att samtidigt exekvera både programmet med de gamla egenska- perna och det nya uppdaterade programmet. Detta behov föreligger mycket ofta, exempelvis vid drift av programminnesstyrda telefon- växlar.
I denna situation bortkopplas en av behandlingsenheterna UP (fig. 1) från den normala behandlingen och tilldelas testningen av det nya programmet. Följaktligen, medan alla enheter UP, för- utom den utvalda, har åtkomst till primärbankerna kp innehållande det gamla programmet, har den utvalda enheten UP åtkomst till se- kundärbankerna ks, där det nya programmet tidigare har laddats.
När väl det nya programmets korrekthet har kontrollerats, omkopp- las successivt de återstående enheterna UP för arbete med avseende på det nya programmet, varvid de alltid har åtkomst till de sekun- dära banker ks som innehåller nämnda nya program. Efter det att den sista enheten UP har omkopplats till det nya programmet, kopi- eras det nya programmet även i primärbankerna kp, varigenom ini- tialförhâllandena för dubblerad konfiguration upprättats.
Det bör observeras i detta sammanhang att den just beskrivna operationen av programuppdatering har utförts utan något avbrott i den normala driften tack vare logikenhetens RIC (fiv. Za) opera- tiva mdngsidighet. h I det följande kommer att beskrivas hur behandlíngsenheterna UP (fig. sättet för överföring av 1) kommunicerar med varandra, med särskild referens till en avbrottssignal från en enhet UP till alla de andra enheterna. mellan behandlingsenheterna äger rum via det gemensamma minnet BM i enlighet med en så kallad "brevlädstek- nik", som i huvudsak består i att för speciella minnesplatser till- Informationsutbytet gängliggöra den för kommuniceringen avsedda informationen.
De intresserade behandlingsenheterna läser därvid denna in- formation antingen periodiskt (pollingmetod) eller efter stimulans (avbrottsmetod).
Båda dessa metoder kan.utnyttjas inom systemet enligt före- liggande uppfinning. Pollingmetoden sker enligt för fackmannen välkända regler och diskuteras därför icke vidare. Avbrottsmetoden är däremot realiserad på ett nytt sätt och kommer att beskrivas närmare nedan.
Den enhet UP, som i sitt minne lagrar det meddelande som skall sändas och som önskar informera de âterstaende enheterna, sänder 10 15 20 ß? win gaia-s en avbrottssignal till alla de andra enheterna UP genom utnyttj- níng av de redan existerande vägarna (bestående av modulerna MEI och MAC samt bussarna c) utan någon ytterligare förbindning mellan behandlingsenheterna.
Avbrottssignalen alstras i kretsen IT (fig. 3) hos den till ifrågavarande behandlingsenhet hörande modulen MEI, såsom svar på en ordersignal kommande från den tillhörande CPU-modulen (fig. Za) och sänds därefter via kretsar c (fig. 1) till de minnesbanker via förbindningarna 31, 32 och 34, DR (fig. 3) och tillhörande bussar BM, som är valda av programmet för fördelningen av själva signalen.
Var och en av dessa banker mottager med hjälp av sin modul MAC avbrottssignalen på sin krets Üï (fig. 4), som hör till den enhet UP som har startat avbrottsproceduren.
Samma signal tillförs via förbindningen 42 (íig. 4) till alla kretsar Ûí och sänds därifrån till alla enheter UP (fig. 1).
Pâ sådant sätt realiseras en procedur med fullständigt infor- mationsutbyte genom avbrott mellan de skilda behandlingsenheterna UP med användning av de redan existerande nätförbindningarna med det gemensamma minnet utan tillfogande av ytterligare bussar vid sidan av de anordnade k-n bussarna C.

Claims (8)

79018124» 3% I I Patentkrav
1. Multikonfigurativ modulär behandlingsenhet, k ä n n e- t e c k n a d av att den innefattar: ett flertal behandlingsenheter (UP), var och en försedd med en gränssnittmodul (I) för överföring av datasignaler till och från externa anordningar, en minnesmodul (M), ett par identiskt likadana behandlingsmoduler (CPU), var och en med samma mikro- programmerad struktur för utförande av samma behandlingsfunktioner, en buss-expander-modul (MEI) samt en inre asynkron buss (B), som dubbelriktat hopkopplar nämnda gränssnittminne, behandlíngsmoduler och buss-expander-modul; ett flertal minnesbankar (BM1...BMk), varvid varje bank har en intern buss (1), som dubbelríktat hopkopplar en inmatnings- och bedömningsmodul (MAC) och åtminstone en minnesmodul (M); och ett bussnät, som innefattar individuella dubbelriktade databussar (Cnk), vilka hopkopplar buss-expander-modulen hos var och en av behandlingsenheterna med inmatnings- och bedömnings- modulen hos var och en av minnesbankarna; varvid varje behandlingsmodul hos varje par av moduler innefattar organ (CF2,CF3,CF4], anordnade att utföra en systematisk jämförelse mellan sin status och status för den andra behandlíngsmodulen i nämnda par, varvid överensstämmelse vid nämnda jämförelse möjliggör överföring av utsignalen hos endast en behandlingsmodul hos paret till den relevanta asynkrona bussen (b) och varvid disparitet vid nämnda jämförelse åstadkommer identifiering av felstatus hos en av nämnda behandlingsenheter hos nämnda par, vilket hindrar överföring av utsignalen hos vardera behandlingsmodulen hos nämnda par till den relevanta asynkrona bussen (b).
2. Enhet enligt kravet 1, i vilken varje behandlings- modul (CPU) har en mikroprogrammerad struktur, innefattande logisk kretskoppling för utförande av behandlingsoperationer, ett mikroprogramminne (MP), ett sekvensorgan (SEQ), som är hopkopp- lat med nämnda programminne, samt en tidbas (BT1), vilken är kopp- lad till nämnda logiska kretskoppling och nämnda sekvensorgan för att generera styrpulserna för den elementära driftcykeln, k ä n n e t e c k n a d av att varje behandlingsmodul (CPU) innefattar organ (CF1) för att jämföra de signaler, som förekommer vid ingången av sekvensorganen hos paret, varvid en divergens i de logiska nivåerna hos nämnda signaler medför att nämnda organ m '7901812-3 (CF1) sänder en styrsignal till nämnda tidbas (BT1), som dupli- cerar nämnda elementära driftcykels tidsperiod (T) för att bibe- hålla och/eller återvinna synkronismen mellan behandlingsmoduler- na (CPU) hos ett par.
3. - Enhet enligt kravet 2, k ä n n e t e c k n a d av att varje behandlingsmodul innefattar: ett register (RS) för temporär lagring av kvalifikationsbitar, som kommer från nämnda logiska kretskoppling och som hänför sig till en uppdelning av minnes- bankarna (BM1...BMk) i primära och sekundära bankar, varvid nämnda kvalifikationsbitar sändes till en multiplexor (MXC); en rekonfígurationsenhet (RIC), som innefattar ett minne för en av- bildning av koder hos mínnesbankarna, varvid nämnda avbildning är anordnad att modifieras dynamiskt av behandlingsmodnlen såsom en funktion av fel, vilka uppträder i nämnda minnesbankar, varvid nämnda minne hos rekonfigurationsenheten (RIC) adresseras av àt- minstone en signifikant adressdel hos minnesmodulerna, som genereras av nämnda logiska kretskoppling och även adresseras av utsignalen hos nämnda multiplexor (MXC) för läsning av koden hos den minnesbank, där den adresserade minnesmodulen är placerad, samt aktiveras att sända nämnda kod till den relevanta asynkrona bussen (b) via en tröskelvärdesjämförare (D), om värdet av den mest signifikanta delen av nämnda adress hos minnesmodulerna överstiger nämnda tröskelvärde.
4. Enhet enligt kravet 3, k ä n n e t e c k n a d av att nämnda register (RS), multiplexor (MKC) och rekonfigurations enhet (RIC) styres av behandlingsmodulen (CPU) för att för varje genererad adress hos mínnesmodulerna generera kvalifikatione- bitarna och koden för endast en primär minnesbank för utförande av minnesbankarnas singeladresseringsmod eller kvalifíkations- bitarna och koden för en primär och en motsvarande sekundär bank för utförande av minnesbankarnas duplikatadresseringsmod.
5. Enhet enligt kravet 1, k ä n n e t e c k n a d av att nämnda organ (CF2,CF2,CF4), som är i stånd att utföra nämnda jämförelse, består av jämförare, vilka är i stånd att jämföra den information, vilken varje behandlingsmodul (CPU) hos nämnda par genererar, med den information, som samtidigt förekommer på den asynkrona bussen (b).
6. Enhet enligt kravet 1, vilken innefattar två in- bördes hopkopplade behandlingsenheter (U1,U2), k ä n n e- t e c k n a d av att nämnda förbindelse är realiserad via ett Lfïf 7901812-3 'W par parallella gränssnitt (IOP), varvid varje gränssnitt är an- slutet till en av de två behandlingsenheterna (U1,U2), samt även kännetecknad av att för åstadkommande av datautbytet mellan de två behandlingsenheterna (U1,U2) organ är anordnade i nämnda parallella gränssnitt (IOP), för att konditionera återsändningen av en signal (rpl), avseende effektuerad drift, till den sändande behandlingsenheten vid närvaro av en signal (Drt), vilket be- tyder faktisk omhändertagning av själva datainformationen av den mottagande behandlingsenheten, samt för att konditíonera sändan- det av signalen avseende effektuerad drift till den mottagande behandlingsenheten vid en signal (dpr), vilket betyder faktisk överföring av datainformationen av den sändande behandlingsenheten.
7. Enhet enligt kravet 1, k ä n n e t e c k n a d av att var och en av nämnda buss-expander-moduler (MEI) består av: - lika många drivorgan-mottagare (DR1...DRk], som det finns dubbelriktade databussar (Cn1...Cnk), vilka förbinder nämnda buss-expander-moduler med minnesbankarna (BM1...BMk), varvid nämnda drivorgan-mottagare är i stånd att styra var sin buss (Cn1...Cnk) både för mottagning och sändning; - ett första register (BB1), som är i stånd att samtidigt lagra data och adresser, vilka förekommer på nämnda asynkrona buss (b), och att överföra dem samtidigt till samtliga drivorgan- -mottagare (DR1...DRk) och vice versa; - en första logikkrets (LC1), som är anordnad att via nämnda asynkrona buss (b) mottaga ordersignaler från paret av behand- lingsmoduler (CPU) och att åter sända dem till alla drivorgan- -mottagare (DRl...DRk); - en avkodningskrets (DC), som är anordnad att på basis av avkodningen av en på nämnda asynkrona buss (b) förekommande signal utvinna identiteten för den av nämnda signal intresserade drivorgan-mottagaren och att till densamma sända en driftorder; - en krets (IT) för sändning av avbrottssignaler till driv- organ-mottagarna (GR1...DRk) på basis av lämpliga från nämnda asynkrona buss (b) mottagna ordersignaler; - en första krets (IR1), som mottager avbrottssignaler, vilka kommer från nämnda drivorgan-mottagare (DR1...DRk) och som hänför sig till en begäran om kommunikation mellan något par av behandlingsmoduler CCPUJ; - en andra krets (IR2), som mottager avbrottssignaler, vilka kommer från nämnda drivorgan-mottagare (DR1...DRk) och hänför dä” där: -~"" fw{3fïf“ KJ _4-Ä¿»- , _V_V». x ggn- >_ V” __ WA- ~ 7901812-3 LH sig till felfunktion hos nämnda minnesbankar (BM); samt - en andra logikkrets (RM), som är förbunden med den första (IR1) och den andra (IR2) kretsen för att mottaga avbrottssignaler och som är anordnad att utföra maskning av de avbrottssignaler, vilka identifieras såsom inkorrekta, pà basis av en lämplig ordersignal, vilken via nämnda asynkrona buss (b) kommer från det par av behandlingsmoduler, som är anslutet till samma buss.
8. Enhet enligt kravet 7, k ä n n e t e c k n a d av att varje inmatnings- och bedömningsmodul (MAC) består av; - lika manga drivorgan-mottagare (UÉT...DKH) som det finns dubbelriktade bussar (Clk...Cnk), vilka ansluter nämnda bedöm- ningsmoduler till behandlingsenheterna (UP1...UPn), varvid nämnda drivorgan-mottagare är i stånd att styra varje dubbelriktad buss (Clk...Cnk) både för mottagning och sändning; - en bedömningskrets (ARB), som är anordnad att avsöka för- frågningar om access till minnet enligt kriteriet avseende detek- tering av de förekommande förfrâgningarna vid regelbundna tids- intervall och att sända dem i sekvens, varvid nämnda förfråg- ningar om access sändes till nämnda bedömningskrets (ARE) av nämnda drivorgan-mottagare (DKT...DRH); - ett andra register (BB2) som är anordnat att från drivorgan- -mottagarna (UET...DRí) vid en av bedömningskretsen (ARB) vald tidpunkt mottaga den information, som skall överföras till en minnesbuss (1), till vilken registret är anslutet, och vice versa; - en tredje logisk krets (LS2), som är anordnad att via en av de dubbelriktade bussarna (Clk...Cnk) mottaga ordersignaler, vilka kommer från någon av behandlíngsenheterna (UP1...UPn), och att sända dem till nämnda interna buss (1) hos minnesbanken, och som även är anordnad att åstadkomma motsatt drift; - en tidsbestämningskrets (TO), som är anordnad att tidsmäs- sigt begränsa de aktuella operationerna, driftstegen, beträffan- de varje singelaccess till nämnda inre buss (1) för att förhindra av fel förorsakat stillestànd; samt - en tidbas (BT2), som är anordnad att alstra alla de tids- signaler, vilka är nödvändiga för driften av nämnda inmatnings- och bedömningsmodul (MAC).
SE7901812A 1978-03-03 1979-02-28 Multikonfigurativ moduler behandlingsenhet SE439701B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT67447/78A IT1111606B (it) 1978-03-03 1978-03-03 Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione

Publications (2)

Publication Number Publication Date
SE7901812L SE7901812L (sv) 1979-09-04
SE439701B true SE439701B (sv) 1985-06-24

Family

ID=11302453

Family Applications (1)

Application Number Title Priority Date Filing Date
SE7901812A SE439701B (sv) 1978-03-03 1979-02-28 Multikonfigurativ moduler behandlingsenhet

Country Status (12)

Country Link
US (1) US4366535A (sv)
JP (1) JPS5935057B2 (sv)
BE (1) BE873220A (sv)
BR (1) BR7901049A (sv)
CA (1) CA1121513A (sv)
DE (1) DE2908316C2 (sv)
ES (1) ES478130A1 (sv)
FR (1) FR2418989B1 (sv)
GB (1) GB2016176B (sv)
IT (1) IT1111606B (sv)
NL (1) NL184297C (sv)
SE (1) SE439701B (sv)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2486269B1 (fr) * 1980-07-04 1986-03-28 Thomson Csf Systeme de traitement et de memorisation de donnees numeriques, notamment pour tomodensitometre, et tomodensitometre comportant un tel systeme
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
DE3028407A1 (de) * 1980-07-26 1982-04-29 Siemens AG, 1000 Berlin und 8000 München Datennetz mit erweiterter durchschaltekapazitaet fuer die durchschaltung von kanaelen mit groesserer bandbreite
FR2494010B1 (fr) * 1980-11-07 1986-09-19 Thomson Csf Mat Tel Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur
EP0054187B1 (en) * 1980-12-15 1988-09-07 Texas Instruments Incorporated Multiple digital processor system
USRE37496E1 (en) * 1981-01-21 2002-01-01 Hitachi, Ltd Method of executing a job
JPS57121750A (en) * 1981-01-21 1982-07-29 Hitachi Ltd Work processing method of information processing system
DE3266636D1 (en) * 1981-05-29 1985-11-07 Gen Electric Co Plc Telecommunications system
JPS5856277A (ja) * 1981-09-29 1983-04-02 Toshiba Corp 情報処理装置ならびに方法
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
JPS58221453A (ja) * 1982-06-17 1983-12-23 Toshiba Corp 多重系情報処理装置
US4509120A (en) * 1982-09-30 1985-04-02 Bell Telephone Laboratories, Inc. Variable cycle-time microcomputer
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
IT1161467B (it) * 1983-01-21 1987-03-18 Cselt Centro Studi Lab Telecom Interfaccia di tipo parallelo per la gestione del colloquio tra un bus asincrono e un bus sincrono collegato a piu terminali dotati ognuno di un proprio segnale di sincronizzazione
JPS59154564A (ja) * 1983-02-24 1984-09-03 Hitachi Ltd プログラマブルコントロ−ラ
US4638453A (en) * 1983-03-28 1987-01-20 Motorola, Inc. Signal processing unit
DE3325791C2 (de) * 1983-07-16 1985-05-09 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Schaltungsanordnung für mit einer zentralen Steuereinrichtung zusammenarbeitende periphere Einheiten
US4912698A (en) * 1983-09-26 1990-03-27 Siemens Aktiengesellschaft Multi-processor central control unit of a telephone exchange system and its operation
NL8303536A (nl) * 1983-10-14 1985-05-01 Philips Nv Geintegreerde schakeling op grote schaal welke verdeeld is in isochrone gebieden, werkwijze voor het machinaal ontwerpen van zo een geintegreerde schakeling, en werkwijze voor het machinaal testen van zo een geintegreerde schakeling.
AU3746585A (en) * 1983-12-12 1985-06-26 Parallel Computers Inc. Computer processor controller
US4736317A (en) * 1985-07-17 1988-04-05 Syracuse University Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
US4825404A (en) * 1985-11-27 1989-04-25 Tektronix, Inc. Interface system which generates configuration control signal and duplex control signal for automatically determining the configuration of removable modules
EP0232859A3 (en) * 1986-01-27 1989-08-30 International Business Machines Corporation Processor intercommunication network
DE3774309D1 (de) * 1986-03-12 1991-12-12 Siemens Ag Fehlergesicherte, hochverfuegbare multiprozessor-zentralsteuereinheit eines vermittlungssystemes und verfahren zum speicherkonfigurationsbetrieb dieser zentralsteuereinheit.
EP0236803B1 (de) * 1986-03-12 1992-01-15 Siemens Aktiengesellschaft Verfahren zum Betrieb einer fehlergesicherten hochverfügbaren Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US4860196A (en) * 1986-12-01 1989-08-22 Siemens Aktiengesellschaft High-availability computer system with a support logic for a warm start
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4943969A (en) * 1988-11-28 1990-07-24 Unisys Corporation Isolation for failures of input signals supplied to dual modules which are checked by comparison
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
NL8900549A (nl) * 1989-03-07 1990-10-01 Philips Nv Vergelijkschakeling bevattende een maskeermechanisme voor transiente verschillen, vergelijkschakelingssysteem, en verwerkingsinrichting bevattende zulke vergelijkschakelingen.
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
DE69123987T2 (de) * 1990-01-31 1997-04-30 Hewlett Packard Co Stossbetrieb für Mikroprozessor mit externem Systemspeicher
JPH05220285A (ja) * 1992-02-12 1993-08-31 Sanei Kk ミシンにおける被縫製物送り装置
DE4438941A1 (de) * 1994-10-31 1996-05-02 Sel Alcatel Ag Verfahren zur Steuerung einer Vermittlungsstelle sowie Steuereinrichtungen und Programm-Module dafür und Vermittlungsstelle und Vermittlungssystem damit
JP3132744B2 (ja) * 1995-05-24 2001-02-05 株式会社日立製作所 二重化cpu保守交換時の動作一致検証方式
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6173357B1 (en) * 1998-06-30 2001-01-09 Shinemore Technology Corp. External apparatus for combining partially defected synchronous dynamic random access memories
DE19837216C2 (de) * 1998-08-17 2000-06-08 Siemens Ag Fehlerbehebung in einer Vermittlungseinrichtung eines Kommunikationssystems
GB9920015D0 (en) * 1999-08-25 1999-10-27 Cedardell Ltd Automatic installation process for wireless communication system
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6971043B2 (en) * 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
JP4617847B2 (ja) * 2004-11-04 2011-01-26 株式会社日立製作所 情報処理システム及びアクセス方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3252149A (en) * 1963-03-28 1966-05-17 Digitronics Corp Data processing system
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
FR2182259A5 (sv) * 1972-04-24 1973-12-07 Cii
US3768074A (en) * 1972-05-12 1973-10-23 Burroughs Corp Multiprocessing system having means for permissive coupling of different subsystems
GB1411182A (en) * 1973-01-04 1975-10-22 Standard Telephones Cables Ltd Data processing
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
CH547590A (de) * 1973-03-21 1974-03-29 Ibm Fernmelde-vermittlungsanlage.
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
FR2259507B1 (sv) * 1974-01-24 1980-01-18 Cit Alcatel
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
FR2298915A2 (fr) * 1975-01-22 1976-08-20 Cit Alcatel Systeme d'articulation et de gestion pour central de telecommunications
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system

Also Published As

Publication number Publication date
SE7901812L (sv) 1979-09-04
BR7901049A (pt) 1979-11-20
US4366535A (en) 1982-12-28
NL184297C (nl) 1989-06-01
CA1121513A (en) 1982-04-06
JPS5935057B2 (ja) 1984-08-27
DE2908316C2 (de) 1984-10-25
ES478130A1 (es) 1979-05-16
BE873220A (fr) 1979-04-17
JPS54124652A (en) 1979-09-27
GB2016176B (en) 1982-08-25
IT1111606B (it) 1986-01-13
DE2908316A1 (de) 1979-09-06
FR2418989B1 (fr) 1987-11-13
FR2418989A1 (fr) 1979-09-28
NL7901708A (nl) 1979-09-05
IT7867447A0 (it) 1978-03-03
GB2016176A (en) 1979-09-19
NL184297B (nl) 1989-01-02

Similar Documents

Publication Publication Date Title
SE439701B (sv) Multikonfigurativ moduler behandlingsenhet
US5349654A (en) Fault tolerant data exchange unit
EP0182816B1 (en) Fault tolerant, frame synchronization for multiple processor systems
US4497059A (en) Multi-channel redundant processing systems
US4503496A (en) Multi-microcomputer system with direct store access
US7487377B2 (en) Method and apparatus for fault tolerant time synchronization mechanism in a scaleable multi-processor computer
US9170569B2 (en) Method for electing an active master device from two redundant master devices
CA2022260A1 (en) Method of handling errors in software
JPH10505696A (ja) 高度に相互接続されたモジュラーコンピュータ装置用の保守チャネル
DK151652B (da) Digitalt 2-kanal databearbejdningsanlaeg, navnlig til jernbanesikringsformaal
US3680052A (en) Configuration control of data processing system units
SE457391B (sv) Programminnesstyrt realtidssystem omfattande tre i huvudsak identiska processorer
CN109101009B (zh) 故障诊断系统及服务器
US10067842B2 (en) Cable replacement in a symmetric multiprocessing system
JPH09179838A (ja) 複数プロセッサ・システムのための論理アドレス・バス・アーキテクチャ
CN103577379B (zh) 一种检测片上网络中死锁的方法
CA1074020A (en) Clock supervision in digital systems
US3229251A (en) Computer error stop system
US10621024B2 (en) Signal pairing for module expansion of a failsafe computing system
SU1686454A1 (ru) Микропроцессорна система
JP2756315B2 (ja) 系構成情報の更新制御方式
JPS6031669A (ja) 計算機制御装置の多重系制御方法
EP0293616A2 (en) Dynamic switch with task allocation capability
JPS60110073A (ja) 多重系計算機システムでのデ−タ伝送装置
RU1820391C (ru) Многопроцессорна вычислительна система

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 7901812-3

Effective date: 19931008

Format of ref document f/p: F