DD278661A1 - Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit - Google Patents

Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit Download PDF

Info

Publication number
DD278661A1
DD278661A1 DD32376988A DD32376988A DD278661A1 DD 278661 A1 DD278661 A1 DD 278661A1 DD 32376988 A DD32376988 A DD 32376988A DD 32376988 A DD32376988 A DD 32376988A DD 278661 A1 DD278661 A1 DD 278661A1
Authority
DD
German Democratic Republic
Prior art keywords
bus
input
output
reset
signal
Prior art date
Application number
DD32376988A
Other languages
English (en)
Inventor
Uwe Kucharzyk
Uwe Krutschinna
Reinhard Ahrens
Rene Reissmueller
Andre Bujara
Reinhard Schroeder
Original Assignee
Adw Ddr Inst Informatik
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 Adw Ddr Inst Informatik filed Critical Adw Ddr Inst Informatik
Priority to DD32376988A priority Critical patent/DD278661A1/de
Publication of DD278661A1 publication Critical patent/DD278661A1/de

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

Die Erfindung betrifft ein Multiprozessorsystem mit dynamischer Redundanz und Mitteln zur on-line-Reparierbarkeit. Sie bezieht sich auf das Gebiet der digitalen Rechentechnik mit hohen Anforderungen an Fehlertoleranz und Verfuegbarkeit. Erfindungsgemaess sind die Prozessor-Steckeinheiten ueber einen Diagnosebus miteinander verbunden. Weiterhin sind auf der Prozessor-Steckeinheit eine Isolations- und Resetlogik, die Zeitglieder zur Ueberwachung der Programmabarbeitung der CPU, eine Spannungsueberwachungsschaltung sowie eine Potentialhalteschaltung zur Unterstuetzung der Isolation des Prozessormoduls im Fehlerfall enthaelt, und auf der Buskopeleinheit eine Freigabelogik, eine Ruecksetzlogik sowie eine Globalbusabschaltlogik mit Halteschaltung angeordnet, die die Fehlerausbreitung auf andere Prozessormodulen verhindern sowie die on-line-Reparatur und -Wartung ermoeglichen. Fig. 1

Description

Anwendungsgebiet der Erfindung
Die Erfindung bezieht sich auf das Gebiet der digitalen Rechentechnik. Sie kann in busorientierten, eng gekoppelten Multiprozessorsystemen angewendet werden, an die hohe Forderungen hinsichtlich Verfügbarkeit und Zuverlässigkeit gestellt werden.
Ein Multiprozessorsystem kann dabei prinzipiell aus an einem Globalbus angeschlossenen Prozessormodulen, Speichereinheiten usw. bestehen. Ein Prozessormodul kann aus mehreren Steckeinheiten aufgebaut sein. Eine Miniinalkonfiguration kann z. B. aus einer Prozessor-Steckeinheit und einer Buskoppelsteckeinheit, die über einen Lokalbus verbunden sind, bestehen.
Charakteristik des bekannten Standes der Tachnüt
In zahlreichen technischen Systemen werden Forderungen nach hoher Zuverlässigkeit (Wahrscheinlichkeit dafür, daß ein System für eine bestimmte Einsatzdauer ohne auszufallen seine Funktion erfüllt) der digitalen Rechensysteme gestellt. Ein vom Nutzer erwarteter Dienst soll mit gewisser Sicherheit und Kontinuität geliefert werden. Damit verbindet sich oft die Forderung nach hoher Verfügbarkeit, einem Maß der Zuverlässigkeit, d. h. die Lieferung eines ordnungsgemäßen, vom Nutzer gewünschten Dienstes in Bezug auf den Wechsel zwischen ordnungsgemäßer und nichtordungsgemäßer Lieferung des Dienstes. Eine nichtordnungsgemäße Lieferung des Dienstes soll möglichst wenig bzw. gar nicht auftreten. Die zwei wesantlichon Mittel zur Realisierung hoher Zuverlässigkeit sind Fehlervermeidung und Fehlertoleranz.
Die Anforderungen an die Zuverlässigkeit können je nach Einsatz des Rechnersystems verschieden sein. Höchste Anforderungen werden z. B. in der Flugzeug- und Rauinfahrttechnik oder bei kritischen Prozeßsteuerungen in der Chemie oder Kerntechnik, gestellt. Dabei bestehen im allgemeinen auch hohe Echtzeitforderungen.
Ein» hohe Verfügbarkeit wird in vielen Bereichen der Kommunikationstechnik gefordert {Telefonvermittlungen, Zugriff zu entfernten Datenbanken usw.) Teilausfälle dürfen nicht zu einer qualitativen Beeinträchtigung des Gesamtsystems führen. Wartung und Reparatur müssen ohne Unterbrechung des laufenden Betriebes möglich sein.
Fehlertoleranz in Rechnersystemen ist nur durch Kombination von Hardware- und Softwarefehlertoleranz erreichbar. Das Verhältnis der Mittel von Hardware- zu Softwarefehlertoleranz hängt von den Anforderungen an das Rechnersystem ab. Der überwiegende Einsatz von Softwarefehlertoleranz ermöglicht z. B. den Einsatz von Standardhardware, hohe Echtzeitforderungen können jedoch u. U. nicht mehr realisiert werden.
Zur Realisierung von Hardware-Fehlertoleranz sind zahlreiche Maßnahmen bekannt.
Höchsten Anfoiderungen wird durch Systeme mit Mehrfachredundanz (meist Dreifachredundanz) mit Majoritätsentscheid Genüge getan (z. B. DDWP 160757). Den dabei entstehenden hohen Kost6n sowie dem Aufwand an Masse und Volumen wird durch Zweifachredundanzsysteme begegnet. Ein derartiges System ist z. B. aus US-PS 4228496, bekannt. Der überwiegende Teil der Fehlertoleranz ist softwaremäßig implementiert. Alle Prozessoren sind gedoppelt. Bei Ausfall eines Prozessors übernimmt der zweite Prozessor die weitere Arbeit. Ein „I'm alive" Protokoll (Nachrichtenübergabe eines Moduls an alle anderen) dient dabei der Fehlerdiagnose. Nachteilig daran ist, daß das Auftreten von Fehlern bei beiden Prozessoren eines Prozessorpaares keine geordnete Weiterarbeit ermöglicht.
Eine weitere Lösung für ein Zweifachredundanzsystem ist aus US-PS 4453215 bekannt. Dabei sind mehrere Prozessormodule über einen gedoppelten Globalbus miteinander verbunden. Jeder Prozessormodul besteht aus einer CPU, einer Hauptspeichereinheit, einer Peripherieeinheit, ainer Plattensteuereinheit, einer Konimut lika.tionssteuereinheit, einer Magnetbandeinheit und einer Verbindungssteuereinheit. Alle Funktionseinheiten habe' <iine redundante Partnereinheit. Aus Kostengründen kann jedoch eine redundante Magnetbandeinheit entfallen. Alle Funl*· jnseinheiten sind über ein Bussystem miteinander verbunden, das aus zwei identischen Teilen zur Übertragung von Daten Adreß- und Steuersignal und einem weiteren Teil besteht, der im wesentlichen der Takt- und Stromversorgung sowie Her Fehlersignalübertragung dient. Jeder Prozessormodul besitzt eine eigene redundante Strom- sowie Taktversorgung. Der Nachteil der genannten Lösungen besteht darin, daß der Hardware-Aufwand immer noch relativ hoch ist, wodurch hohe Kosten entstehen. Die on-line-Reparierbarköit Jes Multiprozessorsystems basiert auf dem Einsatz spezieller Steckverbinder.
Bekannt sind weiterhin über einen Globalbus eng gekoppelte Multimikrorechnersysteme, die auf Grund ihrer Modularität prinzipielle Möglichkeiten zur softwaregesteuerien, dynamischen Redundanz (z. B. Umverteilung von Tasks bei Ausfall eines Prozessormoduls) bieten. Dabei sind einzelne Maßnahmen zur Unterstützung der Fehlererkennung (ζ. Β. Paritätsbit, Anwendung von Fehlerkorrekturschaltkreisen) bekannt, die allein noch nicht die Erfüllung hoher Echtzeit- und Verfügbarkeitsforderungen (das System muß mehrere Jahre ohne Gesamtausfall arbeiten) garantieren. Reparatur und Wartung im laufenden Betrieb sind nicht möglich. Bei Auftreten von Fehlern in einem Prozessormodul kann eine Fehlerausbreitung meist nicht verhindert werden.
Ziel der Erfindung
Das Ziel der Erfindung besteht in der Schaffung eines Multiprozessorsystems, das hohen Verfügbarkeitstorderungen bei relativ geringem Hardwareaufwand genügt. Weiterhin εοΙΙ die Wartung des Systems ohne Unterbrechung des laufenden Betriebes, d. h. ohne Auswirkung für den Nutzer möglich sein. Eine hohe Verfügbarkeit soll durch schnelle Umschaltzeiten auf redundante Ressourcen sowie die on-line-Reparierbarkeit defekter Moduln und geringe Reparaturzeiten erreicht werden.
Darlegung des Wesens der Erfindung
Die Aufgabe der Erfindung bestand in der Schaffung eines Multiprozessorsystems für Echtzeitanwendungen in der Kommunikations- und Automatisierungstechnik, das über einen Globalbus gekoppelte, gleichberechtigte Prozessormodule aufweist, wobei die Fehlerausbreitung von einem Prozessormodul auf weitere Prozessormodule verhindert werden soll, bei dem die on-line-Reparatur und -Wartung garantiert wird, die Verdoppelung bzw. Vervielfachung von Funktionseinheiten vermieden wird, und das dennoch eine hohe Verfügbarkeit bei kurzen Reparaturzeiten besitzt.
Erfindungsgemäß wird die Aufgabe durch ein Multiprozessorsystem gelöst, das über an sich bekannte Merkmale wie den Globalbus und Prozessormodule verfügt. Der Globalbus dient zur betriebsmäßigen intornon Kommunikation zwischen den Prozessormodulen. Zunächst wird kurz auf die an sich bekannte logische Gliederung in einem Prozessormodul eingegangen, um das Zusammenwirken der bekannten Mittel mit den erfindungsgemäßen Mitteln in den weiteren Ausführungen zu verdeutlichen. Jeder Prozessormodul, der die kleinste reparierbare Einheit bildet, ist im allgemeinen in die logischen Einheiten Buskoppeleinheit und Prozessor Steckeinheit gegliedert, die je nach Erfordernis verschiedenartig aufgebaut .sein kennen. Die Kommunikation innerhalb eines Prozessormoduls erfolgt über den Lokalbus, mit dem alle Steckeinheiten des Proz"ssormoduls verbunden sind. Jeder Prozessormodul wird von einem eigenen unabhängigen Netzteil mit Spannung versorgt. Die Prozessor-Steckeinheit und die Buskoppeleinheit jedes Prozessormoduls weisen erfindungsgemäße Merkmale zur Lösung der gestellten Aufgabe auf, die im folgenden dargestellt werden.
Die Prozessor-Steckeinheit verfügt über die an sich bekannten Mittel CPU, Programm- und Datenspeicher und Lokalbusinterfacemaster, welcher eine Lokalbus-Schnittstelle bereitstellt. Alle Komponenten sind durch den Privatbus miteinander verbunden.
Erfindungsgemäß ist am Privatbus ein Diagnosebusinterface angeordnet, das zu einem Diagnosebus führt, über den bei Ausfall des Globalbusses die notwendige Kommunikation zur Erkennung fehlerhafter Komponenten bzw. zur Erreichung eines sicheren Zustands gewährleistet ist. Alle Prozessor-Steckeinheiten in den Prozessormodulen sind über den Diagnosebus miteinander verbunden.
Weiterhin ist in der Prozessor-Steckeinheit eine Isolations- und Resetlogik angeordnet, die innere Systemzustände des Prozessormoduls anzeigt, die on-line-Fehlererkennung mit Fehlerreaktion durch Isolation oder/und Reset und das Ziehen und Stecken von Leiterplatten während des Betriebes des Multiprozessorsystems unterstützt sowie Prozessormodul-Resets generiert. Die Isolations- und Resetlogik ist dei art angeordnet, daß sie vom Netzteil des Prozossormoduls das Signal /LPDOWN empfängt, über den Lokalbus das Signal /LRESET von der Buskcppeleinheit empfängt und selbst sendet, und an die Buskoppeleinheit das Signal ISO über den Lokalbus sendet. Weiterhin führen zwei Ausgänge aer Isolations- und Rosetlogik zur Meldung von Interrupts auf den Privatbus, von dem sie über einen weiteren Eingang Steuersignale empfängt. Die Isolations- und Resetlogik besteht aus einem Businterface zum Frivatbus, einem ersten und einem zweiten Zeitglied, vorzugsweise einem nachtriggerbaren flankengetriggerten monostabilen Multivibrator, einem dritten und einem vierten Zeitglied, vorzugsweise einem statisch triggerbaren monostabilen Multivibrator, einem ersten Taster „Reset", einem zweiten Taster „Iso-Reques·.", drei AND-Gattern, zwei NAND-Galtern, zwei Open-Collector-NAND-Gattern, einer Potentialschaltung, einem RS-Flipflop, einer Power-On-Schaltung, einer optischen Anzeige, drei Widerständen und zwei Impulsformen. Diese Mittel sind wie folgt miteinander verbunden.
Das Businterfdce ist mit den Leitungen des Privatbusses verbunden. Ein erster Ausgang des Businterface ist mit einem flankengesteuerten Triggereingang des ersten monostabilen Multivibrators, ein zweiter Ausgang ist mit einem ersten Eingang des ersten AND-Gatters verbunden. Ein statischer, dominanter, negierter Reseteingang des ersten monostabilen Multivibrators ist mit einem Ausgang des ersten AND-Gatters verbunden. Ein zweiter Eingang des ersten AND-Gatters ist mit dem Signal/LRESET verbunden. Ein nicht negierter Ausgang des erster monostabilen Multivibrators ist mit einem ersten Eingang des ersten Open-Collector-NAND-Gatters und mit einem Eingang des zweiten Impulsformers verbunden. Ein Ausgang des zweiten Impulsformers ist mit einet zweiten Interruptleitung des internen Busses verbunden.
Das vom Netzteil kommende Signal /LPDOWN ist mit einam zweiten Eingang des zweiten AND-Gatters verbunden. Ein Ausgang der Power-On-Schaltung ist mit dem ersten Eingang des zweiten AND-Gatiers verbunden. Ein Ausgang des zweiten AND-Gatters ist mit einem dritten Eingang des ersten AND-Gatters, oinem ersten Eingang des ersten NAND-Gctters, einom zweiten Eingang des dritten AND-Gatters und einem negierten dominanten Reseteingang des zweiten monostabilen Multivibrators verbunden. Der zweite monostabile Multivibrator zeichnet sich dadurch aus, daß er auch getriggert wird, wenn an seinem flankengesteuerten Triggereingang high-Potential liegt und an seinem Reseteingang eine Iow-high-Flanke auftritt. Der erste Taster „ Reset" ist mit seinem ersten Kontakt mit Masse verbunden. Der zweite Kontakt ist durch den ersten Widerstand mit der Betriebsspannung und direkt mit dem ersten tingang des dritten AND-Gatters verbunden.
Der zweite Taster .,Iso-Request" ist mit seinem ersten Kontakt mit Masse und mit seinem zweiten Kontakt mit einem negierten Reseteingang des RS-Flipflops verbunden. Dar zweite Kontakt ist weiterhin durch den zweiten Widerstand mit der Betriebsspannung verbunden. Ein nicht negierter Ausgang des RS-Flipflops ist mit einem statischen Triggereingang des dritten rnonostabilen Multivibrators und einem Eingang des ersten Impulsformers verbunden. Ein Ausgang des ersten Impulsformers ist mit einer ersten Interruptleitung des Privatbusses verbunden. Ein nicht negierter Ausgang des dritten monostabilen Multivibrators ist mit einem vierten Eingang des ersten AND-Gatiers, einem zweiten Eingang des ersten NAND-Gatters und einem Eingang der optischen Anzeige verbunden.
Der Ausgang des ersten NAND-Gatters ist mit einem Eingang der Potentialhalteschaltung verbunden. Der Ausgang der Potential!lalteschaltung ist mit einem zweiten Eingang des ersten Open-Collector-NAND-Gatters verbunden. Der Ausgang des ersten Open-Collector-NAND-Gatters ist mit dem Signal ISO verbunden. Ei-> dritter Ausgang des Businterfaces ist mit einem ersten Eingang des zweiten NAND-Gatters verbunden. Ein zweite.· Eingang des zweiten NAND-Gatters ist mit dem Signal /LRESET verbunden. Der Ausgang des zweiten NAN D-Gatters ist mit einem statischen Triggereingang des vierten monostabilen Multivibrators verbunden.
Der Ausgang des dritten AND-Gatters ist mit dem negierten Reseteingang des vierten monostabilen Multivibrators und einem negierten Setzeingang des RS-Flipflops verbunden. Der negierte Ausgang des vierten monostabilen Multivibrators ist mit einem positiv-flankengesteuerten Triggereingang des zweiten monostabilen Multivibrators vorbunden. Ein nicht negierter Ausgang des zweiten monostabilen Multivibrators ist mit einam ersten und einem zweiten Eingang des zweiten Open-Collector-NAND-Gatters verbunden. Ein Ausgang des zweiten Open-Collector-NAND-Gatters ist mit dem Signal /LRESET und über den dritten Widerstand mit der Betriebsspannung verbunden.
Das Diagnosebusinterface auf der Prozessor-Steckeinheit besteht aus einem bekannten seriellen EinVAusgaboschaltkreis und einer erfindungsgemäßen speziellen Ansteuerschaltung. Der serielle Eirv/Ausgabeschaltkreis, ist an seinem Businterface mit dem Privatbus der Prozessor-Steckeinheit verbunden. Der Diagnosebus ist ein einfacher multimasterfähiger serieller Bus und besteht aus zwei Leitungen. Die Datenleitung des Diagnosebusses wird über einen ersten Diagnosebustreiber an den Empfangsdateneingang des seriellen EirWAusgabeschaltkreises geführt. Der Sendedatenausgang des seriellen Ein-/ Ausgabeschaltkreises ist über einen schaltbaren Diagnosebustreiber ebenfalls mit der Datenleitung des Diagnosebusses verbunden. Der erste Ausgang eines Dekoders, der mit den Adreß- und Steuersignalleitungen des Privatbusses verbunden ist, ist an den Rücksetzeingang eines Flipflops und der zweite Ausgang des Dekoders an den ersten Eingang eines AND-Gatters und den high-aktiven Freigabeeingang eines schaltbaren Privatbustreibers geschaltet. Der Ausgang des AND-Gatters ist mit dem Setzeingang des Flipflops verbunden. Der negierte Ausgang des Flipflops ist mit dem low-aktiven Freigabeeingang des schaltbaren Diagnosebustreibers, dem Dateneingang eines zweiten Diagnosebustreibers und mit dem Dateneingang des schaltbaren Privatbustreibers verbunden. Dessen Datenausgang ist an eine Datenleitung des Privatbusses geführt. Der Datenausgang des zweiten Diagnosebustreibers und der Dateneingang eines dritten Diagnosebustreibers sind mit der Leitung für das Besetztsignal des Diagnosebusses verbunden. Der Datenausgang des dritten Diagnosebustreibers ist an den zweiten Eingang des AND-Gatters geschaltet.
Eine wesentliche Komponente der erfindungsgemäßen Schaltungsanordnung stellt die Buskoppeleinheit dar. Sie besteht aus den Hauptbestandteilen Lokalbusinterfacesla>e, Globalbustransfersteuerung, Dualportspeicher, Globalbusinterface und den erfindungsgemäßen Mitteln Freigabelogik, Globalbusabschaltlogik, Halteschaltung, Isolationsschalter und Rücksetzlogik. Der Lokalbusinterfaceslave ist an einer Gruppe von Adreßeingängen, einer ersten Gruppe von Datenein- und -ausgängen sowie einer ersten Gruppe von Steuersignalein- und -ausgängen mit allen Adreß-, Daten- und Steuersignalleitungen des Lokalbusses verbunden. Eine Gruppe von Adießausgängen, eine zweite Gruppe von Dateinein- und -ausgängen und eine zweite Gruppe von Steuersignalein- und -ausgängen des Lokalbusinteifaceslaves sind über entsprechende Leitungen des internen Busses der Buskoppeleinheit an Gruppen von Adreßeinyängen, Datenein- und -ausgängen sowie Steuersignalein· und -ausgängen der Froigabelogik, des Dualportspeichers, der Globalbustransfersteuerung und des Globalbusinterfaces angeschlossen. Die Rücksetzlogik ist über eins Gruppe von Datenausgängen nur mit den Datenleitungen des internen Busses der Buskoppeleinheit verbunden. Das Globalbusinterface ist an einer ersten Gruppe von Adreßausgängen, einer zweiten Gruppe von Datenein- und -ausgängen und einer zweiten Gruppe von Steuersignalein- und -ausgängen mit allen Adreß-, Daten- und Steuersignalleitungen des Globalbusses verbunden.
Das durch die Prozessor-Steckeinheit über den Lokalbus bereitgestellte ISO-Signal wird an einen weiteren Steuersignaleingang der Freigabelogik und an einen ersten Eingang der Globalbusabschaltlogik geführt. Zusätzlich ist es über einen Widerstand mit der positiven Betriebsspannung verbunden. Die Freigabelcgik verfügt über zwei Steuersignalausgänge, deren erster mit einem Eingang der Globalbustransfersteuerung und deren zweiter mit der Leitung für das nichtmaskierbare Interruptsignal des Lokalbusses verbunden ist. Die Globalbustransfersteuerung ist an einer Gruppe von Steuersignaleingängen mit einer Gruppe von Steuersignaleingängen des Globalbusinterfaces verbunden. An die Globalbusabschaltlogik ist an einem zweiten Eingang ein Isolationsschalter und an einem dritten Eingang die Halteschaltung angeschlossen. An ihrem ersten, zweiten und dritten Ausgang ist die Globalbusabschaltlogik mit einem ersten, zweiten und dritten Eingang des Glcbalbusinterfaces verbunden. Ein erster globaler Rücksetztaster ist mit einer ersten Rücksetzleitung des Globalbusses und ein zweiter globaler Rücksetztaster mit einer zweiten Rücksetzleitung des Globalbusses verbunden. Die beiden Rücksetzsignale werden durch das Globalbusinterface an zwei Ausgängen für die Buskoppeleinheit zur Verfügung gestellt. Dazu ist der erste Ausgang des Globalbusinterfaces mit einem ersten Eingang der Rücksetzlogik und der zweite Ausgang des Globalbusinterfaces mit dem zweiten Eingang der Rücksetzlogik verbunden. Der Ausgang der Rucksetzlogik ist an die Leitung für das /LRESET-Signal des Lokalbusses angeschlossen.
Das Globalbusinterface besteht aus mehreren, vorzugsweise bidirektional arbeitenden Treiberschaltkreisen, Schalttransistoren einschließlich der zu ihrer Ansteuerung notwendigen Schaltungen und logischen AND-Gattern. Die Anzahl der notwendigen Treiberschaltkreise bestimmt sich aus der Zahl der zu schaltenden Globalbussignale und der Zahl der Ein- und Ausgänge der Treiberschaltkreise. Jedem Treiberschaltkieis sind zwei Transistoren einschließlich ihrer Ansteuerschaltungen und ein AND-Gatter zugeordnet. Dazu ist eine erste Gruppe von Ein- und Ausgängen des Treiberschaltkreises mit den dem Treibarschaltkreis zugeordneten Leitungen des internen Busses der Buskoppeleinheit und eine zweite Gruppe von Ein- und Ausgängen des Treiberschaltkreises mit den entsprechenden Leitungen des Globalbusses verbunden. Ein pnp-Transistor ist so geschaltet, daß der Emitter mit der positiven Bstriebsspannung und der Kollektor mit dem Pin für die Zuführung der positiven Betriebsspan lung verbunden sind. Der zweite Transistor, der vorzugsweise ein Leistungs-MOSFET-Transistor ist, ist an seinem Source-Ansjhluß mit dem Masseanschluß des Treiberschaltkreises und an seinem Drain-Anschluß mit dem Massepotential verbunden. Dnr Basisanschluß des ersten Transistors ist über eine erste Ansteuerschaltung mit dem ersten Ausgang dor Globalbusabschaltlogik und der Gate-Anschluß des zweiten Transistors ist über eine zweite Ansteuerschaltung mit dem zweiten Ausgang der Globalbusabschaltlogik verbunden. Der dritte Ausgang der Globalbusabschaltlogik wird an den ersten Eingang eines AND Gatters geführt. An seiner, zweiten Eingang wird das durch die Globalbustransfersteuerunf gebildete Freigabesignal für den entsprechenden Treiberschaltkreis geführt. Der Ausgang des AND-Gatters ist an den Freigabeeingang des Treiberschaltkreices geschaltet.
Alle Stufen des Globalbusinterfaces sind identisch aufgebaut, das heißt, die drei Ausgangssignale der Globalbusabschaltlogik werden parallel an alle Stufen geführt.
Im Olgenden wird die Funktionsweise der arfindungsgemäßen Isolations- und Resetlogik auf der Prozessor-Steckeinheit im Zusammenhang mit dom erfindungsgemäßen Merkmalen der Buskoppeleinheit erläutert.
Die Power-On-Schfiltung gibt nach dem Anlegen der Betriebsspannung an die Prozessor-Steckeinheit an ihrem Ausgang einen low-lmpuls definierter Dauer ab. Sonst ist der Ausgang stets high.
Die Potentialhalteschaltung verhält sich wie ein Negator der zusätzlich eine Iow-high-Flanke - bezogen auf den Ausgang - um eine definierte Zeit im Sekundenbsreich verzögert. Insbesondere hat sie die Eigenschaft, daß Ausgangssignal beim Abschalten der Betriebsspannung (bei high-Potentia! am Eingang) und beim Einschalten der Betriebsspannung unabhängig vom Eingangssignal für eine definierte Zeit auf low-Potential zu halten und Glitches zu verhindern.
Die Isolations- und Resetlogik unterstützt die Fehlererkennung und -reaktion auf Prozessormodulniveau und dient zur Steuerung der Vorgänge beim Ziehen und Stecken von Leiterkarten des Prozessormoduls während des Betriebes des Multiprozessorsystems.
Nach dem Einschalten des Netzteiles des Prozessormoduls von Hand oder nach Netzteilfehler wird vom Netzteil das Signal /LPDOWN aktiviert und damit der erste, zweite und vierte monostabile Multivibrator rückgesetzt und das RS-Flipflop gesetzt und der dritte monostabile Multivibrator statisch gotriggert. /LPDOWN wird solange vom Netzteil aktiv (= low) gehalton, wio die Betriebsspannung nicht im Sollbereich liegt. Das gilt sowohl für das Ein- und Ausschalten als auch für das Absinken der Spannung während des Betriebes auf Grund von Netzteilfehlern.
Nach dem Stecken der Prozessor-Steckeinheit bei eingeschalteter Spannung wird der Ausgang der Power-On-Schaltung low und damit ebenfalls der erste, zweite und vierte monostabile Multivibrator rückgesetzt und das RS-Flipflop gesetzt und der dritte monostabile Multivibrator statisch getriggert. Beim Stecken der Prozessor-Steckeinheit verhindert die Potentialhalteschaltung das kurzzeitige Inaktivwerden des ISO-Signal > auf dem Lokalbus (ohne Prozessor-Steckeinheit ist ISO immer aktiv = high), bis die Betriebsspannung staDil anliegt und ISO durch den rückgesetzten ersten monostabilen Multivibrator weiter aktiv gehalten wird.
In beiden Fällen befindet sich der Prozessormodul in eirem intern Undefinierten, aber isolierten Zustand. Mit der Rückflanke von /LPDOWN wird der zweite monostabile Multivibrator getriggert. Damit wird ein /LRESET-Impuls von definierter Dauer ausgesendet, wodurch der vierte monostabile Multivibrator gotriggen und der Prozessormodul rückgesetzt wird. Die CPU kann mit der Programmabarbeitung beginnen.
Im fehlerfreien Betrieb muß die CPU entsprechend des Watch-Dog-Prinzips den ersten und viorten monostabilen Multivibrator durch die Ausführung bestimmter Buszyklen auf dem Privatbus mittels Businterface zyklisch triggern. Beide Monoflops werden unabhängig voneinander nachgetriggert. Dabei muß die jeweilige Zykluszeit kleiner als die Setzzeit des monostabilen Multivibrators sein. Die Setzzeit des vierten monostabilen Multivibrators ist η-mal größe, als die des ersten. Nach Reset wird mit dem ersten Triggern des ersten monostabilen Multivibrators durch die CPU das ISO-Signal inaktiv und damit der Prozessormodul hardwaremäiiig in das Multiprozossorsystem integriert.
Bleibt im Fehlerfall (z. B. Softwareaosturz) das Triggern aus, so wird wegen der unterschiedlichen Setzzeiten des ersten und vierten monostabilen Multivibrators η der Regel zuerst der erste in seinen stabilen Zustand übergehen und damit das ISO-Signal aktivieren. Gleichzeitig wird der CPU durch den zweiten Impulsformer ein Interrupt gemeldet, der die Selbstdiagnose und Fehlermaskierung im isolierten Prozessormodul stimuliert. Bei schwerwiegenden, auf diese Art nicht maskierbaren Fehlern (z. G. permanenter Busfehler), bei denen als Folge der vierte monostabile Multivibrator auch nicht mehr zyklisch getriggert wird, geht dieser auch in seinen stabilen Zustand über und löst aktives /LRESET aus.
Falls der vierte monostabile Multivibrator zuerst vor dem ersten in den stabilen Zustand übergeht, wird sofort der erste monostabile Multivibrator durch das aktive /LRESET rückgesetzt und dernit das iSO-Signal aktiviert. Gelingt der Anlaufroutine die Fehlermaskierung, geht der Ablauf wie bereits beschrieben in Normalbetrieb weiter, gelingt sie nicht, geht der vierte monostabile Multivibrator nach Ablauf seiner Setzzoit wieder in seinen stabilen Zustand über und triggert damit den zweiten monostabilen Multivibrator, welcher einen neuen /LRESET-Impuls auslöst. Es werden somit zyklisch Anlaufversuche unternommen.
Zur Testung des Globalbusses durch dritte Prozessormodule und 7ur software-gesteuerten Isolation ist es möglich, daß die CPU durch die Ausführung eines bestimmten Buszyklusses auf dem Privatbus den ersten monostabilan Multivibrator mittels Businterface zurücksetzt und damit ISO aktiviert. Die software-gesteuerte Isolation kann nach Erkennung von Fehlern durch die Software erfolgen, z. B. bei Feststellung fehlerhafter Daten in Anwenderprogrammen.
Der Prozessormodul kann von Hand durch Betätigen des Tasters „Reset" rückgesetzt werden. Bei Betätigung wird der vierte monostabile Multivibrator rückgesetzt und damit der zweite monostabile Multivibrator getriggert, wodurch ein aktives /LRESET ausgelöst wird.
Im folgenden wird beschrieben, wie die Isolations- und Resetlogik die Vorgänge beim Ziehen und Stecken von Loiterkarten des Prozessormoduls z. B. bei der Wartung steuert.
Vor dem Ziehon oder Stecken einer beliebigen Leiterkarte eines Prozessor moduls muß vom Bedioner der Taster „IsorRuquest" betätigt werden. Dadurch wird das RS-Flipflop rückgesetzt. Als Folge wird der dritte monostabile Multivibrator nicht mehr statisch getriggert. Seine Setzzoit beginnt abzulaufen. Über den ersten Impulsformer wird der CPU ein Intorrupt gemeldet. In der Interrupt-Routine meldet sich der Prozessormodul beim Betriebssystem des Multiprozgssorsystems ab. Danach wird von der CPU durch Ausführung des bestimmten Buszyklusses auf dem Privatbus der erste monostabile Multivibrator rückgesetzt und damit das ISO-Signal aktiviert. Unabhängig davon, ob die CPU die Abmeldung und die Aktivierung des ISO-Signals vollzogen hat -im Fehlerfall könnte das unmöglich sein-wird nach dem Ablaufen der Setzzeit des dritten monostabilen Multivibrators über die Potentialhalteschaltung das ISO-Signal aktiviert und gleichzeitig dar erste monostabile Multivibrator rückgesetzt. Die optische Anzeige signalisiert jetzt dem Bediener die Bereitschaft zum Ziehen und Stecken von Leiterkarten des Prozessormoduls. In diesem Zustand kann die CPU den ersten monostabÜ6n Multivibrator nicht triggern und damit das iSO-Signal nicht inaktiv schalten. Durch Betätigen des Tasters „Reset" könnte dieser Zustand beendet werden. Das RS-Flipflop würde dadurch gesetzt, was ein statisches Triggern des dritten monostabilen Multivibrators zur Folge hätte. Die optische Anzeige würde verlöschen, ein Anlauf würde beginnen.
Andernfalls kann bei Signalisierung durch die optische Anzeige jede beliebige Steckeinheit im Prozessormodul gezogen oder gesteckt werden, ohne daß die Arbeit des restlichen Mulliprozessorsystems dadurch gestört wird.
Wird die Prozessor-Steckeinheit selbst gezogen, sorgt die Potentialhalteschaltung während des Prellens der Betriebsspannung an der Steckeinheit f jr ein ständig aktives ISO-Signal. Nach dem Ziehen hält der Pull-Up-Widerstand auf de r Buskoppeleinheit das ISO-Signal aktiv. Steckt die Prozessor-Steckeinheit nicht, kann deshalb generell jede andere Leiterkarte lies Prozessormoduls gesteckt oder gezogen werden. Da nach dem Stecken der Prozessor-Steckeinheit selbst, diese durch /LRESET automatisch in den normalen Betriebsmodus gebracht wird, muß, bevor weitere Leiterkarton gesteckt oder gezogen werden, dazu wieder die Berechtigung durch das Betätigen des Tasters „Iso-Request" wie beschrieben erworben werd 3n. Nachfolgend wird die Funktion des die Prozsssor-Steckeinhoiten verbindenden Diagnosebusse beschrieben. Das Diagnosebusinterface ermöglicht dam Prozessormodul eine Kommunikation über den Diagnosebus mit anderen Prozessormodulen bzw. zentralen Ressourcen be! Ausfall des Globslbusses. u. a. zum Zweck einer Diagnose der fehlerhaften Komponente. Ein Datentransfer über den Diagnosebus verlangt von der CPU
- die Anforderung des Diagnosebusses durch einen Lesezugriff über den Privatbus von einer Adresse im Ein-/Ausgabeadreßraum der CPU mit
• Aktivierung des zweiten Ausgangssignals des Dekoders,
• Setzen des Flipflops, Aktivierung des Besetztsignals des Diagnosebusses und Freigabe der Sendorichtung durch den schaltbaren Diagnosebustreiber unter der Bedingung, daß das Besetztsignal des Diagnosebusses zum Zeitpunkt der Anforderung inaktiv war,
- den Datentransfer über den Diagnosebus unter Nutzung der durch den seriellen Ein-/Ausgabeschaltkreis bereitgestellten Mittel,
- die Freigabe des Diagnosebusses durch einen Schreibzugriff über den Privatbus auf eine Adresse im Ein-/Ausgabeadreßraum der CPU mit beliebigen Daten mit
• Aktivierung des ersten Ausgangssignals des Dekoders,
• Rücksetzen des Flipflops,
• Abschaltung des Besetztsignals des Diagnosebusses und
• Sperren des schaltbaren Diagnosebustreibers.
Bei der Anforderung des Diagnosebusses wild der CPU auf einem Bit der Lesedaten mitgeteilt, ob die Anforderung erfolgreich verlaufen ist. Ein Datentransfer darf nur bei nicht gesetztem Bit durchgeführt werden. Das einfache Funktionsprinzip schließt eine erfolgreiche Anforderung bei gleichzeitiger Anmeldung innerhalb eines sehr kurzen Zeitfensters nicht aus. Für diesen Fall erfolgt eine Kollisionserkennung unter Nutzung der internen Mittel des seriellen Ein-/Ausgabebausteins (Paritäts- und Prüfsummenkontrolle). Im Falle einer Kollision bzw. eines bei der Diagnosebusanforderung als besetzt erkannten Diagnosebusses erfolgt eine erneute Anforderung des Diagnosebusses durch die CPU erst nach einer für jede Prozessor-Steckeinheit unterschiedlich eingestellten Zeit.
Vorzugsweise wird zur eindeutigen Unterscheidung die in der Rückverdrahtung des Multiprozessorsystems festgelegte geografische Adresse dos Steckplatzes verwendet. Diese Adresse ist auf der Prozessor-Steckeinheit über ein Register lesbar und bildet die Grundlage für die Berechnung der Wartezeiten. Das Protokoll des Diagnosebusses basiert auf einer synchronen Übertragung ohne Taktübertragung mit Taktn ^gewinnung beim Empfänger. Es werden sowohl Übertragungen zwischen einerji Sender und einem Empfänger als auch Übertragungen zwischen einem Sender und mehreren beliebig wählbaren Empfängern unterstützt.
Die Buskoppeleinheit bildet für den Prozossormodul die Schnittstelle zum globalen Kommunikationsmedium des Multiprozessorsystems, dem Globalbus. Dazu stellt sie mit den prinzipiell bekannten Komponenten Lokalbusinterfaceslave, Dualportspeicher, Globalbustransfersteuerung und Globalbu::nterface die zur Kommunikation mit anderen Prozessormodulen bzw. globalen Ressourcen erforderlichen Mittel bereit. Wesentlich für die Funktion der Buskoppeleinheit im Rahmen der Aufgaben der erfindungsgemäßen Schaltungsanordnung sind die Freigabelogik und die Art und Weise der Gestaltung des Globalbusinterfaces einschließlich Globalbusschaltlogik und Halteschaltung. Dadurch wird erreicht, daß sich Fehler der CPU, des Lokalbusses bzw. anderer am Lokalbus angeschlossener Einheiten nicht auf den Globalbus ausbreiten können, bzw. im Fehlerfall eine Abschaltung des Globalbusinterfaces und damit des Prozessormoduls vom Globalbus unterstützt wird. Weiterhin wird die Reparierbarkeit des Prozessormoduls durch Entfernen und Reintegration von beliebigen Steckeinheiten des Prozessormoduls (einschließlich Buskoppeleinheit) durch schaltungstechnische Maßnahmen auf der Buskoppeleinheit gewährleistet.
Der Lokalbusinterfaceslave stellt die Schnittstelle zwischen dem Lokalbus des Prczessormoduls und dem internen Bus der Buskoppeleinheit dar.
Die Globalbustransfersteuerung ist für die gesamte Organisation des Ablaufes von Globalbustransfers in Abhängigkeit von Zustanden und Aktivitäten auf dem Lokal- bzw. Glübalbus verantwortlich. Sie unterscheidet dabei, ob der betreffende Prozessormodul als temporärer Bus-Master aktiv einen Transfer steuert oder ob er zu einem bestimmten Zeitpunkt als Bus-Slave durch einen anderen Prozessormodul adressiert wird.
Der Dualportspeicher stellt einen Pufferspeicher für die Kommunikation zwischen zwei Prozessormodulen dar. Eine Kommunikation über den Globalbus erfolgt prinzipiell über den Pufferspeicher des Slave-Moduls. Dort stehen die Daten, gegen Überschreiben geschützt, für die CPU zur Verfügung. Durch das Prinzip der Zwischenspeicherung auf der Buskoppeleinheit ist eine Beeinflussung der Arbeit eines P'ozessormoduls durch fehlerhafte Globalbusaktivitäten eines anderen Prozessormoduls weitgehend ausgeschlossen.
Die Freigabelogik gewährleistet als wesentlicher Bestandteil der erfindungsgemäßen Schaltungsanordnung die Freigabe des Buszugriffs der CPU nur bei fehlerfreier Arbeit des Prozessormoduls. Damit wird eine Ausbreitung von Fehlern eines Prozessormoduls über die Buskoppeleinheit auf den Globalbus weitestgehend verhindert. In Verbindung mit weiteren Maßnahmen wird damit eine Erhöhung der hehlersicherheit auf Multiprozessorsystemebene erreicht.
Die Freigabelogik ist vorzugsweise aus einem oder mehreren an den Datenleitungen des internen Busses der Buskoppeleinheit angeordneten Vergleichel bausteinen, maximal einem Registerbaustein, einer Zeitüberwachungslogik und einer Fehlerlogik aufgebaut. Ihre Funktion besteht darin, daß ihr Ausgangssignal, das zur Freigabe der Globalbustransfersteuerung führt, nur dann aktiviert wird, wenn eine oder mehrere Testopei ationen durch Schreiben charakteristischer Daten durch die CPU über den Lokalbus erfolgreich verlaufen sind. Dieser erfolgreiche Verlauf ist einerseits durch den richtigen Empfang der Daten, die ein Paßwort sein können bzw. zum Datenbustest genutzt werden und die Einhaltung des vorgegebenen Zeitregimes duich die CPU gekennzeichnet. Diese Testoperationen, die als Nachweis der Arbeitsfähigkeit der CPU und der Funktion des Kommunikationsweges zwischen der CPU und der Buskoppeleinheit dienen, werden durch die Freigabelogik überwacht. Die Freigabe der Globalbustransfersteuerung und damit des Globalbuszugriffs erfolgt für eine definierte Zeit, die für die CPU ausreichend ist, den Transfer zu beginnen. Blocktransfers werden durch erneute Freigabe für diese definierte Zeit nach jedem Transfer unterstützt, se daß je Transfer, unabhängig davon, ob es sich um einen Einzel- oder Blocktransfer handelt, nur eine Freigabeoperation erforderlich ist. Damit wird der zusätzliche Zeitaufwand für die CPU minimal gehalten. Fehler, die während der Fi eigabeoperation erkannt werden (Daten- bzw. Paßwortfehler, Nichteinhaltung der Zeitbedingungen) bzw. Fehler, die aus versuchten Zugriffen der CPU auf den Globalbus ohne vorherige Freigabe resultieren, werden über das nichtmaskierbare Interruptsignal des Lokalbusses der CPU gemeldet, die daraufhin ihre entsprechende Fehlerroutine starten kann. Eine Freigabe Λ der Globalbustransfersteuerung erfolgt nicht.
!Die Rücksetzlogik unterstützt die Initialisierung und den Anlauf des Multiprozessorsystems beim Einschalten und auf Bedienerforderung. Dabei existieren zwei globale Rücksetzniveaus, die durch ein erstes globales Rücksetzsignal und ein zweites globales Rücksetzsignal gekennzeichnet sind. Das erste globa'e
Rücksetzsignal kennzeichnet das Rücksetzen des Multiprozessorsystems mit Laden und Starten der Anwendersoftware über dt J Be'.. iebssystem. Das zweite globale Rücksetzsignal dagegen führt zu einem Übergang aller Modulo des Multiprozessorsystems in den Monitorzustand, indem mittels entsprechender Software z. B. Tostoperationen im System möglich sind. Das erste globale Rücksetzsignal v.'ird am Globalbus durch Betätigung des ersten globalen Rücfcsetztasters und das zweite globale Rücksetzsignal durch Betätigung des zweiten globalen Rücksetztasters aktiviert. Sowohl das erste globale Rücksetzsignal als auch zweite globale Rücksetzsignal werden auf den Buskoppeloinheiten der Prozossormodule über das Globalbusinterface empfangen und der Rücksetztlogik zur Verfügung gestellt. In ihr wird durch eine ODER-Verknüpfung beider Signale das Rücksetzsignal /LRESET des Lokalbussas gebildet. Während des Systemanlaufs kann durch die CPU durch Lesen eines Registers, das ebenfalls Bestandteil der Rücksetzlogik ist, das Rückietzniveau gelesen und damit innerhalb der Software entsprechend verzweigt werden. Ausfälle der Spannungsversorgung des Prozessormoduls führen durch Auswertung des bei Rückkehr der Spannung gebildeten /LRESET-Signals in der Rücksetzlogik zum ersten globalen Rücksetzniveau für den Prozessormodul.' Das Globalbusinterface s'ollt für die Buskoppeleinheit das Interface zwischen dem internen Bus der Buskoppeieinheit und dem Globalbus dar. Es besteht im wesentlichen aus einer Reihe von Treiberschaltkreisen und entsprechenden Ansteuerschaltungen. Seine Gestaltung hat entscheidenden Einfluß auf die Zuverlässigkeit und die Möglichkeiten der On-Iine-Reparierbarkeit von Steckeinheiten bzw. Prozessormodulen des Multiprozessorsystems.
Im Rahmen der erfindungsgemäßen Schaltungsanordnung werden dazu mittels der Globalbusabschaltlogik über entsprechende Schaltelemente, vorzugsweise Transistoren, die Masseverbindung und die positive B'itriobsspannungszuführuitg jedes einzelnen Treiberschaltkreises unterbrochen und die Froigabeeingänge der Treiberschaltkreise über entsprechende Logikgatter inaktiv geschaltet. Durch die Globalbusabschaltlogik wird die Einhaltung eines strengen Zeitregimes in der Reihenfolge der Ab- und Zuschaltung der Steuersignale für die Transistoren bzw. Logikgatter garantiert. Das Abschalten der Treiberschaltkreiso erfolgt in der Reihenfolge Freigabeeingänge, positive Botriebsspannung, Massepotential. Die Zuschaltung verlangt im Interesse der Verhinderung von Störungen auf dem Bus die umgekehrte Reihenfolge.
Das Ab- bzw. Zuschalten der Treiberschaltkreise des Globalbusinterfaces vom bzw. an den Globalbus über die Globalbusabschaltlogik geschieht einerseits über das ISO-Signal des Lokalbusses und andererseits über den auf der Buskoppeieinheit angeordneten Isolationsschalter. Die Aktivierung des ISO-Signals durch die CPU bzw. die auf der Prozessor-Steckeinheit angeordneten Überwachungsschaltungen löst eine sofortige Isolation der Buskoppnleinheit vom Globalbus aus. Durch den Pull-up-Widsrstand auf der Buskoppeleinheit wird garantiert, daß diese Funktion auch boi fehlender Prozessor-Steckeinheit gewährleistet ist. Die Zuschaltung an den Globalbus erfolgt durch Rücknahme des ISO-Signals in Abhängigkeit von der Stellung des Isolationsschalters.
Mit dem Isolationsschalter kann unabhängig vom Zustand des ISO-Signals eine sofortige manuelle Isolation des Globalbusinterfaces ausgelöst und auch wieder aufgehoben werden. Er stellt damit eine zusätzliche Möglichkeit der Isolation des Prozessormoduls vor allem bei schweren Fehlern der Prozessor-Steckeinheit dar.
Die Halteschaltung sorgt als komplexe Anordnung überwiegend diskreter Bauelemente im Zusammenwirken mit der Globalbusabschaltlogik für definierte Potentiale an den Steuereingängen der Transistorschalter bzw. Logikgatter zur Abschaltung der Treiberschaltkreise des Globalbusinterfaces. Diese definierten Potentiale sind notwendig, um bei ausgefallener Betreibsspannung bzw. dem Ziehen und Stecken der Buskoppeleinheit die sichere Aufrechterhaltung des Abschaltzustandes der Treiberschaltkreise zu garantieren, um so Störungen auf dem Globalbus auszuschließen. Die Halteschaltung sorgt dafür, daß nach der Zuschaltung der Betriebsspannung bzw. beim Stecken der Buskoppeleinheit der Isolationszustand für mindestens eine Sekunde aufrechterhalten wird. Diese Zeit ist vor allem beim Stecken von Bedeutung, um eine sichere Kontaktierung der Steckeinheit zu ermöglichen. Danach entscheiden der Zustand des ISO-Signals bzw. die Stellung des Isolationsschalters der Buskoppeleinheit darüber, ob die Isolation automatisch aufgehoben wird oder nicht.
Insgesamt gewährleistet das erfindungsgemäße Multiprozessorsystom durch Kombination verschiedener bekannter und erfindungsgemäßer Mittel das Erkennen schwerwiegender Fehler auf der Ebene eines Prozessormoduls sowie die logische Abschaltung und elektrische Isolation des Moduls vom globalen Kornmunikationsmedium, dem Globalbus, im Fehlerfall. Die Ausbreitung von Fehlern eines Prozessormoduls auf den Globalbus wird verhindert. Weiterhin wird durch den Isolationsmechanismus des Prozessormoduls, der als kleinste reparierbare Einheit gilt, das Entfernen und Eingliedern beliebiger Steckeinheiton zum Zweck der Reparatur bzw. von Konfigurationsänderungen ohne Störung oder Abschaltung der anderen Prozessormodule ermöglicht. Die Isolation erfolgt entweder
- hardwaregesteuert durch die Isolations- und Resetlogik der Prozessor-bieckeinheit bei Ausfällen der CPU bzw. anderen für ihre Arbeit unbedingt erforderlichen Ressourcen,
- softwaregesteuert bei Erkennen von Fehlern durch zusätzliche bekannte Überwachungsanordnungen wie einer MMU, bzw. ECC-Schaltungen des Speichers der Prozessor-Steckeinheit oder im Rahmen von Testprogrammen,
- softwaregesteuert zur Unterstützung einer globalen Fehlerdiagnose,
- auf Bedieneranforderung mit logischer Abmeldung des Prozessormoduls softwaregesteuert bzw. bei Nichteinhaltung von Zeitbedingungen durch die Hardware der Isolations- und Resetlogik und
- hardwaremäßig auf Bedienerforderung durch direkte Abschaltung auf der Buskoppeleinheit.
Fehler innerhalb des Prozessormoduls werden durch Mittel des Prozessormoduls erkannt und führen zur Isolation vom Globalbus. Fehler, die bei Transfers über den Globalbus auftreten und ihre Ursachen in Fehlern der Buskoppeleinheit bzw. dss Globalbusses haben, können zwar erkannt werden (Nutzung von Paritäts-, Status-, Zeit- und Taktüberwachungsschaltungen), aber nicht eindeutig bis auf den Prozessormodul lokalisiert werden, d;i die Störung des Globalbusses durch nicht am Transfer beteiligte Module nicht vollständig ausgeschlossen werden kann. Für diese Fälle steht der Diagnosebus als alternatives und auf Grund seines einfachen Aufbaus zuverlässiges Kommunikationsmedium zur Verfügung. Mit Anwendung eines speziellen Diagnosealgorithmus werden fehlerhafte Prozessormodule identifiziert softwaregesteuert isoliert. Fehler des Globalbusses, die durch Isolation des Prozessormoduls nicht behebbar sind, können im Multiprozessorsystem nicht toleriert werden und führen zum Ausfall des Systems. Die Fehlermeldung nach außen erfolgt über einen oder mehrere Prozessormodule über Nutzung dos Diagnoselnisses, der gleichzeitig noch eine minimale Kommunikation im Mulviprozessorsystem zuläßt. Nach der Reparatur ν jn Prozessormodulen erfolgt durch Betätigen des RESET-Tasters der Test und die automatische Eingliederung des Moduls in das Multiprozessorsystem.
Ausführungsbeispiele
Anhand eines Ausführungsbeispiels soll die Erfindung näher erläutert werden. Dabei wird in don Figuren folgendes dargestellt:
Fig. 1: Übersichtsschaltbild zum erfindungsgemäßen Multiprozessorsystem, Fig. 2: Prinzipschaltbild einer erfindungsgemäßen Prozessor-Steckeinheit in einem Prozessormodul des Multiprozessorsystems
gemäß Fig.1, Fig. 3: Prinzipschaltbild einer erfindungsgemäßen Buskoppeleinheit in einem Prozessormodul des Multiprozessorsystoms gemäß Fig. 1,
Fig.4: Prinzipschaltbild eines Globalbusinterfaces in oiner Buskoppeleinheit gemäß Fig.3, Fig. 5: Prinzipschaltbild eines Diagnosebusinterfaces gemäß Fig. 2.
In Fig. 1 ist ein Übersichtsschaltbild des erfindungsgemäßen Multiprozessorsystems dargestellt. Das Multiprozessorsystem verfügt über einen Globalbus 1 und einen Diagnosebus 2, mit denen alle Prozessormodule 3.0...3.η durch je eine Master-Slave-Schnittstelle verbunden sind. Der Globalb; ·. 1 dient zur betri· jsmäßigen internen Kommunikation zwischen den Prozessormodulen 3.0...3.n. Der Diagnosebus 2 dient zur Koordination und Auswertung von Tests des Globalbusses 1 im Fehlerfall oder zyklisch.
Jede1" Prozessormodul 3.0...3.η besteht mindestens aus einer Buskoppeleinheit 4 und einer Prozessor-Steckeinheit 5. Die Kommunikation innerhalb jenes Prozessormoduls 3.0...3.n erfolgt über den Lokalbus 6, mit dem alle Steckeinheiten des Prozessormoduls 3.0...3.η verbunden sind. Jeder Prozessormodul 3.0...3.η wird von einem eigenen unabhängigen Netzteil 7 mit Spannung versorgt.
Jeder Prozessormodul 3.0...3.η kann mit zusätzlichen Steckeinheiten 8 (z.B. Speicher, E/A-Einheiten) ausgerüstet werden und wird über eine separate, ausfallsichere Taktleitung mit dem Systemtakt versorgt. Über den Globalbus 1 werden alle Daten-, Adressen- und Steuersignale übertragen. Die Steuersignale beinhalten u. a. Signale zur Fehlermitteilung zwischen den Prozessormodulen 3.0...3.n. Das Multiprozessorsystem verfügt neben den erfindungsgemäßen über zahlreiche weitere Fehlertoleranzmittel, auf die jedoch nur dann eingegangen wird, wenn es für das Verständnis der Erfindung notwendig ist. Teilausfälle müssen toleriert werden und dürfen keine qualitativen Auswirkungen auf die vom Nutzer beanspruchten Dienste haben. Reparatur und Wartung müssen ohne Abschaltung des Gesamtsystems möglich sein. Es bestehen also hohe Verfügbarkeitsforderungen.
Anhand von Fig. 2 soll der Aufbau der Prozessor-Steckeinheit 5 im Prozessormodul 3.0 gemäß Fig. 1 erläutert werden. Prozessor-Steckeinheiten 5 in weiteren Prozessormodulen 3.1 ...3.n haben prinzipiell den gleichen Aufbau.
Die Prozessor-Steckeinheit 5 verfügt über eine CPU 9, die vorzugsweise eine 16-bit-CPU sein kann, einen Programm- und Datenspeicher 10, ein Diagnosebus-Interface 11, welches eine Diagnosebus-Schnittstelle zur Verfügung stellt, einen Lokalbusinterfacemaster, welcher eine Lokalbus-Schnittstelle bereitstellt und eine Isolations- und Resetlogik 13. Alle Komponenten sind durch den Privatbus 14 miteinander verbunden. Vorn Netzteil 7 des Prozessormoduls 3.0 empfängt die Prozessor-Steckeinheit 5 das Signal /LPDOWN. An die Buskoppeleinheit 4 sendet sie das Signal ISO über den Lokalbus 6. Die Isolations- und Resetlogik 13 hat eine direkte Verbindung zur Lokalbus-Signalleitung /LRESET, die zur Buskoppeleinheit 4 führt. Die Isolations-und Resetlogik 13 besteht aus einem Businterface 15 zum Privatbus 14, einem ersten und einem zweiten Zeitglied 16,17, vorzugsweise einem nachtriggerbaren flankengetriggerten monostabilen Multivibrator, einem dritten und einem vierten 'Zeitglied 18,19, vorzugsweise einem statisch triggerbaren monostabilen Multivibrator, einem ersten Taster „Reset" 20, einem zweiten Taster „Iso-Request" 21, drei AND-Gattern 22,23,24, zwei NAND-Gattern 25,26, zwei Open-Collector-NAND-Gattern 27,28, einer Potentialhalteschaltung 29, einem RS-Flipflop 30, einer Power-On-Schaltung 31, einer optischen Anzeige 32, drei Widerständen 33,34,35 und zwei Impulsformern 36,37.
Das Businterface 15 ist mit den Leitungen das Privatbr.sses 14 verbunden. Ein erster Ausgang des 3usinterface 15 ist mit einem flankengesteuerten Triggereingang des n.onostabilen Multivibrators 16, ein zweiter Ausgang ist mit einem ersten Eingang des AND-Gatters 22 verbunden. Ein statischer, dominanter, negierter Reseteingang des monostabilen Multivibrators 16 ist mit einem Ausgang des AND-Gatters 22 verbunden. Ein zweiter Eingang des AND-Gatters 22 ist mit dem Signal /LRESET verbunden. Ein nicht negierter Ausgang des monostabilen Multivibrators 16 ist mit einem ersten Eingang des erston Open-Collector-NAND-Gatters 27 und mit einem Eingang des Impulsformers 37 verbunden. Der Ausgang des Impulsformers 37 ist mit oiner zweiten Interruptleitung des Privatbusses 14 verbunden. Das Signal /LPDOWN ist mit einem zweiten Eingang des AND-Gatters 23 verbunden. Der Ausgang der Power-On-Schaltung 31 ist mit dem ersten Eingang des AND-Gatters 23 verbunden. Der Ausgang des AND-Gatters 23 ist mit einem dritten Eingang des AND-Gatters 22, einem ersten Eingang des NAND-Gatters 25, einem zweiten Eingang des AND-Gatters 24 und dem negierten dominanten Keseteingang des zweiten monostabilen Multivibrators 17 verbunden. Dieser zeichnet sich dadurch aus, daß er auch getriggert wird, wenn an seinem flankengesteuerten Triggereingang high-Potential liegt und an seinem Reseteingang eine Iow-high-Flanke auftritt. Der Taster „Reset" 20 ist mit seinem ersten Kontakt mit Masse verbunden. Der zweite Kontakt ist durch den Widerstand 33 mit der Betriebsspannung und direkt mit dem ersten Eingang des AND-Gatters 24 verbunden.
Der Taster „Iso-Request" 21 ist mit seinem ersten Kontakt mit Masse und mit seinem zweiten Kontakt mit dem negierten Reseteingang des RS-Flipflops 30 verbunden. Der zweite Kontakt ist weiterhin durch den Widerstand 34 mit der Betriebsspannung verbunden. Der nicht negierte Ausgang des RS-Flipflops 30 ist mit dem statischen Triggereingang des monostabilen Multivibrators 18 und dem Eingang des Impulsformers 36 verbunden. Sein Ausgang ist mit einer ersten Interruptleitung des Privatbusses 14 verbunden.
Der nicht negierte Ausgang des monostnbilen Multivibrators 18 ist mit dem vierten Eingang des AND-Gatters 22, dem zweiten Eingang des NAND-Gatters 25 und dem Eingang der optischen Anzeige 32 verbunden. Der Ausgang des NAND-Gatters 25 ist mit dem Eingang der Potentialhalteschaltung 29 verbunden. Ihr Ausgang ist mit dem zweiten Eingang des Open-Collector-NAND-Gatters 27 verbunden, an dessen Ausgang das Signal ISO erzeugt wird und zum Lokalbus 6 gelangt. Ein dritter Ausgang des Businterfaces 15 ist mit einem ersten Eingang des NAND-Gatters 26 verbunden. An seinem zweiten Eingang liegt das Signal /LRESET an. Der Ausgang des NAND-Gatters 26 ist mit dem statischen Triggereingang des monostabilen Multivibrators 19 verbunden. Der Ausgang des AND-Gatters 24 ist mit dem negierten Reseteingang des
monostabilen Multivibrators 19 und dem negierten Sotzeingang des RS-Flipflops 30 verbunden. Dor negierte Ausganu des monostabilen Multivibrators 19 ist mit dem positiv-flankongestouerten Triggereingang des monostabilen Multivibrators 17 verbunden. Sein nicht negierter Ausgang ist mit dem ersten und dem zweiten Eingang des Opon-Collector-NAND-Gatters 28 verbunden, an dessen Ausgang des Signal /LRESET erzeugt wird, das übor den Widerstand 35 mit der Betriebsspannung verbunden ist.
Die Schaltung hat folgende Arbeitsweise.
Die Power-On-Schaltung 13 gibt nach dem Anlegen der Betriebsspannung an die Prozessor-Steckeinheit an ihrom Ausgang einen low-lmpuls definierter Dauer ab. Sonst ist der Ausgang stets high.
Die Potentialhalteschdltung 29 verhält sich wie ein Negator, der zusätzlich eine Iow-high-Planke-bezogen <)uf den Ausgang-um eine definierte Zeit im Sekundenbereich verzögert. Insbesondere hat sie die Eigenschuft, das Ausgangssignal beim Abschalten der Betriebsspannung (bei high-Potsntial am Eingang) und beim Einschalten der Betriebsspannung unabhängig vom Eingangssignal für eine definierte Zeit auf low-Potential zu haiton und Glitches zu verhindern.
Die Isolations- und Resetlogik 13 unterstützt die Fehlererkennung und -reaktion auf Prozessormodulniveau, die ansonsten hauptsächlich durch die Buskoppeleinheit 4 erfolgt, und dient zur Steuerung der Vorgänge beim Ziehen und Stecken von Leiterkarten des Prozessormoduls 3 während des Betriebes des Multiprozessorsystemo.
Nach dem Einschalten des Netzteiles 7 des Prozessormoduls 3 von Hand oder nach Netzteilfehler wird vom Netzteil 7 das Signal /LPDOWN aktiviert und damit der erste, zweite und vierte monostabile Multivibrator 16,17,19 rückgesaUt, das RS-Flipflop 30 gesetzt und der monostabile Multivibrator 18 statisch getriggert. /LPDOWN wird solange vom Netzteil 7 aktiv (= low) gehalten, wie die Betriebsspannung nicht im Sollbereich liegt. Das gilt sowohl für das Ein- und Ausschalten als auch für das Absinken der Spannung während des Betriebes auf Grund von Netzteilfehlern.
Nach dem Stecken der Prozessor-Steckeinheit 5 bei eingeschalteter Spannung wird der Ausgang der Power-On-Schaltung 31 low und damit ebenfalls der erste, zweite und vierte monostabile Multivibrator 16,17,19 rückgesetzt, das RS-Flipflop 30 gesetzt und der monostabile Multivibrator 18 statisch getriggert. Beim Stecken der Pi jzessor-Steckeinheit 5 verhindert die Poteptialhalteschaltung 29 das kurzzeitige Inaktivwerden des ISO-Signals auf dem Privatbus 14 (ohne Prozossor-Steckeinheit 5 ist ISO immer aktiv = high), bis die Betriebsspannung stabil anliegt und ISO durch den rückgesetzten monos'abilen Multivibrator 16 weiter aktiv gehalten wird.
In beiden Fällen befindet sich der Prozessormodul 3.0 in einem intern Undefinierten, aber isolierten Zustand. Mit der Rückflanke von /LPDOWN wird der monostabile Multivibrator 17 getriggert. Damit wird ein /LRESET-Impuls von definierter Dauer ausgesendet, wodurch der monostabile Multivibrator 19 getriggert und der Prozesvjrmodul 3.0 rückgesetzt wird. Die CPU 9 kann mit der Programmabarbeitung beginnen.
Im fehlerfreien Betriob muß die CPU 9 entsprechend des Watch-Dog-Prinzips den monostabilen Multivibrator 1" 9 durch die Ausführung bestimmter Buszyklen (z.B. I/O-Write mit bestimmter Adresse) auf dem Privatbus 14 mittels Busintei luce 15 zyklisch ti iggern. Beide Monoflops 16,19 werden unabhängig voneinander nachgetriggert. Dabei muß die jeweilige Zykluszeit kleiner als die Setizeit des monostabilen Multivibrators 16 sein. Die Setzzeit des monostabilen Multivibrators 19 ist η-mal größer als die des Multivibrators 16. Nach Reset wird mit dem ersten Triggern des monostabilen Multivibrators 16 durch die CPU 9 das ISO-Signal inaktiv und damit der Prozessormodul 3.0 hardwaremäßig in das Multiprozessorsystem integriert.
Bleibt im Fehlerfall (z. B. Softwareabsturz) das Triggern aus, so wird wegen der unterschiedlichen Setzzeit des monostabilen Multivibrators 16 und 19 in der Regel zuerst der Multivibrator 16 in seinen stabilen Zustand übergehen und damit das ISO-Signal aktivieren. Gleichzeitig wird der CPU 9 durch den Impulsformer 37 ein Interrupt gemeldet, der die Selbstdiagnose und Fehlermaskierung im isolierten Prozessormodul 3.0 stimuliert. Bei schwerwiegenden, auf diese Art nicht maskierbaren Fehlern
(z. B. permanenter Busfehlar), bei denen als Folge der monostabile Multivibrator 19 auch nicht mehr zyklisch gotriggert wird, geht dieser auch in seinen stabilen Zustand über und löst aktives /LRESET aus.
Falls der monostabile Multivibrator 19 zuerst vor dem Multivibrator 16 in den stabilen Zustand übergeht, wvird sofort der monostabile Multivibrator 16 durch das aktive /LRESET rückgesetzt und damit des ISO-Signal aktiviert. Gelingt der Anlauf routine die Fehlermaskierung, geht der Ablauf wie bereits beschrieben im Normalbetrieb weiter, gelingt sie nicht, geht der moncstabile Multivibrator 19 nach Ablauf seiner Setzzeit wieder in seinen stabilen Zustand über und triggert damit den monostabilen Multivibrator 17, welcher einen neuen /LRESET-Impuls auslöst. Es werden somit zyklisch Anlaufversuche unternommen.
Zur Testung des Globalbusses 1 durch dritte Prozessormodule und zur softwaregesteuerten Isolation ist es möglich, daß die CPU 9 durch die Ausführung eines bestimmten Buszyklusses auf dem Privatbus 14 den monostabilen Multivibrator 16 mittels Businterface 15 zurücksetzt und damit ISO aktiviert.
Der Prozessormodul kann von Hand durch Betätigen des Tasters „Reset" 20 rückgesetzt werden. Bei Betätigung wird der monostabile Multivibrator 19 rückgesetzt, damit der monostabile Multivibrator 17 getriggert, wodurch ein aktives /LRESET ausgelöst wird.
Im folgenden wird beschrieben, wie die Isolations- und Resetlogik 13 die Vorgänge bairn Ziehen und Stecken von Leiterkarten des Prozessormoduls 3.0 steuert.
Vor dem Ziehen oder Stecken einer l.eiterkarte muß vom Bediener der Taster „Iso-Request" 21 betätigt werden. Dadurch wird das RS-Flipflop 30 rückgesetzt. Als Folge wird der monostabile Multivibrator 18 nicht mehr statisch getriggert. Seine Setzzeit beginnt abzulaufen. Über den Impulsformer 36 wird der CPU 9 ein Interrupt gemeldet. In der Interrupt-Routine meldet sich der Prozessormod'.il 3.0 beim Betriebssystem des Multiprozessorsystems ab. Danach wird von der CPU 9 durch Ausführung des bestimmten Buszyklusses auf dem Privatbus der monostabile Multivibrator 16 rückgesetzt und damit das ISO-Signal aktiviert.
Unabhängig davon, ob die CPU 9 die Abmeldung und die Aktivierung des ISO-Signals vollzogen hat - im Fehlerfall könnte das unmöglich sein -wird nach dem Ablaufen der Setzzeit des monostabilen Multivibrators 18 über die Potentialhalteschaltung 29 das ISO-Signal aktiviert und gleichzeitig der monostabile Multivibrator 16 rückgesetzt. Die optische Anzeige 32 signalisiert jetzt dem Uediener die Bereitschaft zum Ziehen und Stecken von Leiterkarten des Prczessormoduls 3.0. In diesem Zustand kann die CPU 9 den monostabilen Multivibrator 16 nicht triggern und damit das ISO Signal nicht inaktiv schalten. Durch Betätigendes Tasters „Reset" 20 könnte dieser Zustand beendet werden. Das RS-Flipflop 30 würde dadurch gesetzt, was ein statisches Triggern des monostabilen Multivibrators 18 zur Folge hätte. Die optische Anzeige 32 würde verlöschen, ein Anlauf würde beginnen.
Andernfalls kann bei Signalisierung durch die optische Anzeige 32 jede beliebige Sieckeinheii im Prozessormodul 3.0 gezogen
oder gesteckt werden, ohne daß die Arbeit des restlichen Multiprozossorsystoms dadurch gestört wird. Wird die Prozessor-Stockeinheit 5 selbst gezogen, sorgt clio Potentialhalteschaltung 29 während des Prellens der Betriebsspannung an der Steckeinheit für ein ständig aktives ISO-Signal. Nach dom Ziehen hält dor Pull-Up-Widerstand auf der Buskoppoleinheit 4 das ISO-Signal aktiv.
Steckt die Prozessor-Stockeinheit 5 nicht, kann deshalb generell jede andere Leiterkarte des Prozessormodul3 3.0 gesteckt oder gezogen werden. Da nach dem Steckon der Prozessor-Steckeinheit 5 selbst, diese durch /LRESET in den normalen Betriebsmodus gebracht wird, muß, bevor weitere Leiterkarten gesteckt odor gezogen werdun, >'azu wieder die Berechtigung durch das Betätigen des Tasters „Iso-Requost" 21 wie beschrieben erworben werden.
Eine wesentliche Komponente der erfindungsgemäßen Schaltungsanordnung stellt die Buskoppeleinheit 4 dar. Sie besteht aus den Hauptbestandteilen Lokalbusinterfaceslave 38, Froigabelogik 39, Globalbustransfarsteuerung 40, Dualportspeicher 41, Globalbusinterface 42, Globalbusabsch altlogik 43, Halteschaltung 44, Isolationsschalter 45 und Rücksetzlogik 46. Der Lokalbusinterfaceslave 38 ist an einer Gruppe von Andreßeingängen, einer ersten Gruppe von Datonein- und ausgängen sowie einer ersten Gruppe von Steuersignalein- und ausgängen mit allen Adreß-, Daten- und Steuersignalloitungen des Lokalbusses 6 verbunden. Eine Gruppe von Adreßausgängen, eine zweite Gruppe von Datenein- und -ausgängen und eine zweite Gruppe von Steuersignalein- und -ausgängen des Lokalbusinterfaceslave sind über entsprechende Leitungen des internen Busses 47 der Buskoppeleinheit an Gruppen von Adreßeingängen, Datenein- und -ausgängen sowie Steuersignalein- und -ausgängen der Fr jigabelogik 39, des Dualportspeichers 41, tier Globalbustransfersteuerung 40 i-.nd des Globalbusinterfaces 42 angeschlossen. Die Rücksetzlogik 46 ist über eine Gruppe von Datenausgängen nur mit den Datanleitungen des internen Busses 47 der Buskoppoloinheit verbunden. Das Globalbusinterface 42 ist an einer eisten Gruppe von Adreßausgängon, einer zweiten Gruppe von Datenein- und -ausgängen und ainer zweiten Gruppe von Steuersignalein- und -ausgängen mit allen Adreß-, Daten- und Steuersignalleitungen des Globalbusses 1 verbunden. Das durch die Prozessor-Steckeinheit δ über den Lokalbus 6 bereitgestellte ISO-Signal wird an einen weiteren Steuersignaleingang der Freigabelogik 39 und an einen ersten Eingang der Globalbusabschaltlogik 43 geführt. Zusätzlich ist es über einen Widerstand 48 mit der positiven Betriebsspannung verbunden. Die Freigabelog'k 39 verfügi über zwoi Steuersignalausgänge, deren erster mit einem Eingang der Globalbustransfersteuerung 40 und deren zweiter mit der Leitung für das nichtmaskierbare Interruptsignal des Lokalbusses 6 verbunden ist.
Dia Globalbustransfersteuerung 40 ist an einer Gruppe von Steuersignalausgängen mit einer Gruppe von Steuersignaleingängen des Globalbusinterfaces 42 verbunden. An die Glcbalbusabschaltlogik 43 ist an einem zweiten Eingang ei.ι Isolationsschalter 45 und an einem dritten Eingang die Halteschaltung 44 angeschlossen. An ihrem ersten, zweiten und di Uten Ausgang ist die Globalbusabschaltlogik 43 mit einem ersten, zweiten und dritten Eingang des Globalbusin! jrfaces 42 verbunden.
Ε·:~ι erster globaler Rücksetztaster 49 ist mit einer ersten Rücksotzleitung des Globalbusses 1 und ein zweiter globaler Ri'cksetztaster 50 mit einer zweiten Rücksetzleitung des Globalbusses 1 verbunden. Die beiden Rucksetisignale werden durch das Globalbusinterfuce 42 an zwei Ausgängen für die Buskoppoleinheit 4 zur Verfügung gestellt. Dazu ist der erste Ausgang des Globalbusinterfaces 42 mit einem ersten Eingang der Rücksotzlogik 46 und der zweite Ausgang des Globalbusinterfaces 42 mit dem iweiten Eingang der Rücksotzlogik 46 verbunden. Der Ausgang der Rücksetzlogik 46 ist an die Leitung für das /LRESET-Signal des Lokalbusses 6 angeschlossen.
Die Buskoppeleinheit 4 bildet für den Prczessormodul 3.0 die Schnittstelle zum globalen Kommunikationsmodium des Multiprozessorsystems, dem Globalbus 1. Dazu realisiert sie folgende Funktionen:
- prioritätsabhängige Steuerung des zeitgeteilten Zugriffs zum Globalbus 1,
- Umsetzung der lokalen in globale Adressen und umgekehrt,
- Steuerung des Datentransfer über den Globalbus 1,
- Unterstützung von Maßnahmon zur Fehlererkennung während eines Globalbuszugriffs,
- Bereitstellung globaler Rücksetzfunktionen.
Darüber hinaus wird durch die Ausführung der Freigabelogik 39 und die Art und Weise der Gestaltung des Globalbusinterfares 42 einschließlich Globalbusabschaltlogik 43 und Halteschaltung 44 erreicht, daß sich Fehler der CPU 9, des Lokalbusses 6 bzw. anderer am Lokalbus 6 angeschlossener Einheiten nicht auf den Globalbur. 1 ausbreiten können, bzw. im Fehlerfall eine Abschaltung des Globalbusinterfaces 42 und damit des Prozessormoduls 3.0 vom Gobalbus 1 unterstützt wird. Weiterhin wird die Reparierbarkeit des Prozessormoduls 3.0 durch Entfernen und Reintegration von beliebigen Steckeinheiton des Prozessormoduls (einschließlich Buskoppeleinheit) durch schaltungstechnische Maßnahmsn auf der Buskoppeleinheit 4 gewährleistet.
Der Lokalbusinterfaceslave 38 stellt die Schnittstelle zwischen dem Lokalbus 6 des Prozessormoduls 3.0 'Jnd dem internen Bus 47 der Buskoppeleinheit dar. Wesentliche Funktionen bestehen im Umsetzen von Adressen, Daten und Steuersignalen zwischen dem Lokalbus 6 und dem internen Bus 47 der Buskoppeleinheit sowie in der Dekodierung von Adressen und Steuersignalen des Lokalbusses 6 zur Bildung von Speicher- und Ein-/Ausgabaauswahlsignalen für den Dualportspeicher 41, die Globalbustransfersteuerung 40, die Freigbalogik, 39 und die Rücksetzlogik 46. Danvt werden einerseits Zugriffe der CPU 9 zum Dualportspeicher 41, andererseits Steuerfunktionen zur Realisiorung von Globalbustransfers der CPU 9 unterstützt. Db Globalbustransfersteuerung 40 ist für die gesamte Organisation des Ablaufes von Globalbustransfers in Abhängigkeit von den Adressen und Steuersignalen des Lokalbusses 6 und den Steuersignalen des Globalbusses 1 (Arbeit als Bus-Master) bzw. Adressen und Steuersignalen des Globalbusses 1 (Arbeit als Bus-Slave) verantwortlich. Teilaufgaben im Botrieb als Bus-Master sind u.a.:
- das Erfassen von Zugriffsforderungen zum Globalbus 1 seitens der CPU 9,
- die Kontrolle dos Zugriffsrechts seitens der CPU 9,
- die Anforderung des Globalbusses 1,
- die prioritätsabhängige Arbitration des Globalbusses 1,
- die Steuerung von Adressierung, Transferart, Transferbreite, Transferrichtung und des Bustimings,
- die Steuerung der Datenübertragung,
- die Steuerung des Globalbusinterfaces (Treiberschaltkreise),
- die on-line-Fehlererkennung und -meldung.
Die Aufgaben bei der Arbeit als Bus-Slave sind:
- die Auswertung der Globalbusadressen und -Steuersignale, das Erkennen eines 2 ugriffs auf die eigene Adresse,
- die Steuerung der Datenübertragung in den bzw. aus dem eigenun Dualportspoichor 41,
- die Überwachung von Zugriffsrechten,
- die on-line-Fehlererkennung und -meldung.
Darüber hinaus besteht eine wesentliche Aufgabe der Globalbustransfersteuerung 40 in der Synchronisation von lokalen und globalen Zugriffen zur Buskoppeleinheit 4.
Der Dualportspeicher 41 stellt einen Pufferspeicher für die Kommunikation zwischen zwei Prozessormodulen 3 dar. Eine Kommunikation über den Globalbus 1 erfolgt prinzipiell über den Pufferspeicher des Slave-Moduls. Dort stehen die Daten, gegen Überschreiben geschützt, für die CPU 9 zur Verfügung. Durch das Prinzip der Zwischenspeicherung auf der Buskoppeleinheit ist eine Beeinflussung der Arbeit eines Prozessormoduls durch fehlerhafte Globalbusaktivitäten eines anderen Prozessormoduls weitgehend ausgeschlossen.
Die Freigabelogik 39 gewährleistet als wesentlicher Bestandteil der erfindungsgemäßen Schaltungsanordnung die Freigabe des Buszugriffs der CPU 9 nur bei fehlerfreier Arbeit des Prozessormoduls 3. Damit wird eine Ausbreitung von Fehlern eines Prozessormoduls 3 über die Buskoppeleinheit 4 auf den Globalbus 1 weitestgehend verhindert. In Verbindung mit weiteren Maßnahmen wird damit eine Erhöhung der Fehlersicherheit auf Multiprozessorsystemebene erreicht. Die Freigabelogik 39 ist vorzugsweise aus einem oder mehreren an den Datenleitungen des internen Busses 47 der Buskoppeloinheit angeordneten Vergleicherbausteinen, maximal einem Registerbaustein, einer Zeitüiierwachungslogik und einer Fehlerlogik aufgebaut. Ihre Funktion besteht darin, daß ihr Ausgangssignal, das zur Freigabe der Globalbustransfersteuerung 40 führt, nur dann aktiviert wird, wenn eine oder mehrere Testoperationen durch Scheiben charakteristischer Daien durch uie CPU 9 über den Lokalbus 6 erfolgreich verlaufen sind. Dieser erfolgreiche Verlauf ist einerseits durch den richtigen Empfang der Daten, die ein Paß wo, * soin können bzw. zum Datenbusf.est genutzt werden und die Einhaltung des vorgegeben3n Zeitregimes durch die CPU 9 gekennzeichnet. Diese Testoperationen, die als Nachweis der Arbeitsfähigkeit der CPU 9 und der Funktion des Kommunikationsweges zwischen der CPU 9 und der Buskoppeleinheit 4 dienen, werden durch die Freigabelogik 39 überwacht. Die Freigabe der Globalbustransfersteuerung 40 und damit des Globalbuszugriffs erfolgt für eine definierte Zeit, die für die CPU 9 ausreichend ist, den Transfer zu beginnen. Blocktransfers werden durch erneute Freigabe für diese definierte Zeit nach jedem Transfer unterstuzt, so daß je Transfer, unabhängig davon, ob es sich um einen Einzel- oder Blocktransfer handelt, nur eine Freigabeoperation erforderlich ist. Damit wird der zusätzliche Zeitaufwand für die CPU 9 minimal gehalten. Fehler, die während der Freigabeoperation erkannt werden (Daten- bzw. Paßwortfehler, Nichteinhaltung derZeitbedingungen) bzw. Fehler, die aus versuchten Zugirfen der CPU 9 auf den Globalbus 1 ohne vorherige Freigabe resultieren, werden über das nichtmaskierbare Interruptsignal des Lokalbusses 6 der CPU 9 gemeldet, die daraufhin ihre entsprechende Fehlerroutine starten kann. Eine Freigabe der Globalbustransfersteuerung 40 erfolgt nicht.
Die Rücksetzlogik 46 unterstützt die Initialisierung und den Anlauf des Multiprozessorsystems beim Einschalten und auf Bedienerforderun^ Dabei existieren zwei globale Rücksetzniveaus, die durch die Globalbussignale /GENRES und /MONRES gekennzeichnet f ind. Das Signal /GENRES kennzeichnet das Rücksetzen des Multiprozessorsystems mit Laden und Starten der Anwendersoftwai e über das Betriebssystem. Das Signal /MONRES dagegen führt zu einem Übergang aller Module des Multiprozessorsystems in den Monitorzustand, in dem mittels entsprechender Software z. 8. Testoperationon im System möglich sind. Das Signal /GENRES wird am Globalbus 1 durch Betätigung des ersten globalen Rücksetztasters 49 und das Signal /MONRES durch Betätigung des zweiten globalen Rücksetztasters 50 aktiviert. Sowohl /GENRES als auch /MONRES werden auf den Buskoppeleinheiten 4 der Prozessormodule 3 über das Globalbusinterface 42 empfangen und der Rücksetzlogik 46 zur Verfügung gestellt. In ihr wird durch eine ODER-Verknüpfung beider Signale das Rücksetzsignal /LRESET des Lokalbusses 6 gebildet. Während des Systemanlaufs kann aurch die CPU 9 durch Lesen eines Registers, das ebenfalls Bestandteil der Rücksetzlogik 46 ist, der Rücksetzzustand (GENRES oder MONRES) gelesen und damit innerhalb der Software entsprechend verzweigt werden. Ausfälle der Spannungsversorgung des Prozessormoduls 3 führen durch Auswertung des bei Rückkehr der Spannung gebildeten /LRESET-Signals in der Rücksetzlogik 46 zum GENRES-Zustand für den Prozessormodul 3. Anhand von Fig.4 wird die Abschaltung des Prozessormoduls 3 im Fehlerfall bzw. zum Stecken und Ziehen von Steckeinheiten des Prozessormoduls 3 näher erläutert.
Das Globalbusinterface 42 basteht aus mehreren, vorzugsweise bidirektional arbeitenden Treiberschaltkreisen 51, Schalttransistoren 52,53 einschließlich der zu ihrer Ansteuerung notwendigen Ansteuerschaltungen 54,55 und logischen AND-Gattern 56.
Die Anzahl der notwendigen Treiberschaltkreise 51 bestimmt sich aus der Zahl der zu schaltenden Globalbussignale und der Zahl der Ein-und Ausgänge der Treiberschaltkreise 51. Jedem Treiberschaltkreis 51 sind zwei Transistoren 52,53 einschließlich ihrer Ansteuerschaltungen 54,55 und ein AND-Gatter 56 zugeordnet. Dazu ist eine erste Gruppe von Ein- und Ausgängen des Treiberschaltkreises 51 mit den dem Treiberschaltkreis 51 zugeordneten Leitungen des internen Busses 47 der Buskoppeleinheit und eine zweite Gruppe von Ein- und Ausgängen des Treiberschaltkreises 51 mit den entsprechenden Leitungen des Globalbusses 1 verbunden. Ein pnp-Transistor 52 ist so geschaltet, daß der Emitter mit der positiven Betriebsspannung und der Kollektor mit dem Pin für die Zuführung der positiven Betriebsspannung verbunden sind. Der Transistor 53, der vorzugsweise ein Leistungs-MOSFET-Transistor ist, ist an seinem Source-Anschluß mit dem Masseanschluß des Treiberschaltkreises 51 und an seinem Drain-Anschluß mit dem Massepotential verbunden. Der Basisanschluß des Transistors 52 ist über die Ansteuerschaltung 55 mit dem ersten Ausgang der Globalbusabschaltlogik 43 und der Gate-Anschluß des Transistors 53 ist über die Ansteuerschaltung 54 mit dem zweiten Ausgang der Globalbusabschaltlogik 43 verbunden. Der dritte Ausgang der Glcbalbusabschalti'.ng 43 wird an den ersten Eingang des AND-Gatters 56 geführt. An ihren zweiten Eingang wird das durch die Globalbustransfersteuerunbg 43 gebildete Freigabesignal für den entsprechenden Treiberschaltkreis 51 geführt. Der Ausgang der AND-Gatter 5P ist an den Freigabeeingang des Treiberschaltkreises 51 geschaltet. Alle Stufen des Globalbusinterfaces 42 sind identisch aufgebaut, das heißt, die drei Ausgangssignale der Globalbusabschaltlogik 43 werden parallel an alle Stufen geführt.
Das Globalbusinterface 42 stellt für die Buskoppeleinheit 4 das Interface zwischen dem internen Bus 47 der Buskoppeleinheit und dem Globalbus 1 dar. Im wesentlichen besteht es aus Gruppen von Treiberbausteinen 51, die in ihrer Aktivität und Richtung durch die Globalbustransfersteuerung 40 geschaltet werden. Das Globalbusinterface 42 bestimmt durch seine Vielzahl von Treiberschaltkreisen 51 und die Parallelschaltung der Globalbusinterfaces 42 aller Prozessormodule 3 und sonstiger am
Globalbus 1 angeschlossener Einheiten maßgeblich die Zuverlässigkeit des Multiprozossorsystems. Fehler in den Ausgangsstufen oder in der Steuerung der Treiberschaltkreise 51 können zur Störung des Globalbusses 1 und damit zum Ausfall der Kommunikation im Multiprozessorsystem führen. Darüber hinaus bestimmt die Gestaltung des Globalbusinterfaces 42 entscheidend die Eigenschaft des Multiprozessorsystems, defekte Steckeinheiten oder Prozessormodule 3 durch Austausch on-line, also während des Betriebes ohne Beeinflussung der Arbeit des restlichen, fehlerfreien Systems zu reparieren. Im Rahmen der erfindungsgemäßen Schaltungsanordnung werden dazu mittels der Globalbusabschaltlogik 43 über entsprechende Schaltelemente, vorzugsweise Transistoren, die Masseverbindung und die positive Betrtebsspannungszuführung jedes einzelnen Treiberschaltkreises 51 ununterbrochen und die Freigabeeingänge der Treiberschaltkreise 51 über entsprechende Logikgatter inaktiv geschaltet. Durch die Globalbusabschaltlogik 43 wird die Einhaltung eines strengen Zeitregimes in der Reihenfolge der Ab- und Zuschaltung der Steuersignalsignale für die Transistoren bzw. Logikgatter garantiert. Beim Abschalten der Treiberschaltkreise 51 ist folgende Reihenfolge notwendig:
- Inaktivschalten der Freigabeeingänge,
- Abschalten der Zuführungen für die positve Betriebsspannung,
- Abschalten der Zuführungen für das Massepotential
Das Zuschalten geschieht wie folgt:
- Zuschalten der Zuführungen für das Massepotential,
- Zuschalten der Zuführungen für die positive Rotriebsspannung,
- Aktivscnalten der Freigabeeingänge.
Das Ab- bzw. Zuschalten der Treiberschaltkreise 51 das Globalbusinterfaces 42 vom bzw. an den Globalbus 1 über die Globalbusabschaltlogik 43 geschieht einerseits über das ISO-Signal des Lokalbussec 6 und andererseits über den auf der Buskoppeleinheit 4 angeordneten Isolationsschalter 45. Die Aktivierung des ISO-Signals durch die CPU 9 bzw. die auf der Prozessor-Steckeinheit 5 angeordneten Überwachungsschaltungen löst eine sofortige Isolation der Buskoppeleinheit 4 vom Globalbus 1 aus. Durch den Pull-up-Widerstand 48 auf der Buskoppeieinheit 4 wird garantiert, daf< diese Funktion auch bei fehlender Prozessor-Sieckeinheit 5 gewährleistet is'. Die Zuschaltting an den Globalbus 1 erfolg! durch Rücknahme des ISO-Signals in Abhängigkeit von der Stellung des Isoiationsschalters 45.
Mit dem Isolationsschalter 45 kann unabhängig vom Zustand des ISO-Signals eine sofortige manuelle Isolation des Globalbusinterfaces 42 ausgel ös> und auch wieder aufgehoben werden. Er stellt damit eine zusätzliche Möglichkeit dor Isolation dos Prozessormoduls 3 vor allem bei schweren Fehlern der Prozessor-Steckeinheit 5 dar.
Die Halteschaltung 44 sorgt als komplexe Anordnung überwiegend diskreter Bauelemente im Zusammenwirken mit der Globalbusnbschaltlogik 43 für definierte Potentiale an den Steuereingängen der Schalttransistoren 52,53 über die Ansteuerschaltungen 54, B5 sowie der AND-Gatter 56 zur Abschaltung der Treiberschaltkreise 51 des Globalbusinterfaces 42. Diese definierten Potentiale sind notwendig, um bei ausgefallener Betriebsspannung bzw. dem Ziehen und Stecken der Buskoppeleinheit 4 die sichere Aufrechterhaltung des Abschaltzustandes dei Treiberschaltkreise 51 zu garantieren, um so Störungen auf dem Globalbus 1 auszuschließen. Die Halteschaltung 44 sorgt ddiüi, daß nach der Zuschaltung der Betriebsspannung bzw. beim Stecken der Buskoppeleinheit 4 der Isol'^tionszustand für mindestens eine Sekunde aufrechterhalten wird. Diese Zeit ist vor allem beim Stecken von Bedeutung, um eine sichere Kontaktierung der Steckeinheit zu ermöglichen. Danach entscheiden der Zustand des ISO-Signals bzw. die Stellung des Isolationsschaiters 45 der Buskoppeleinheit 4 darüber, ob die Isolation automatisch aufgehoben wird oder nicht. InFig-öistdasDiagnosebusinterface 11 gemäß Fig.2 dargestellt.
Die Diagnosebusinterface 11 auf der Prozessor-Steckeinheit 5 besteht aus einem bekannten seriellen Ein-/ Ausgabeschaltkreis 57 und einer erfindungsgemäßen speziellen Ansteuerschaltung. Der serielle Ein-Musgabeschaltkreis 57 ist an seinem Businterface mit dem Privatbus 14 der Prozessor-Steckeinheit 5 verbunden. Der Diagnosebus 2 ist ein einfacher multimasterfähiger serieller Bus und besteht aus zwei Leitungen. Die Datenleitung des Diagnosebussos 2 wird über den Diagnosebustroiber 62 an den Empfangsdateneingang des seriellen Ein-Musgabeschaltkreises 57 geführt. Der Sendedatenausgang des seriellen EinVAus&abeschaltkreises 57 ist über den schaltbaron Diagnosebustreiber 63 ebenfalls mit der Datenleitung des Diagnosebusses 2 verbunden. Der erste Ausgang des Dekoders 58, der an seinem Eingang mit den Adreß- und Steuersignalleitungen des Privatbusses 14 verbunden ist, ist an den Rücksetzeingang des Flipflops 59 und der zweite Ausgang des Dekoders 58 an den ersten Eingang des AND-Gatters 60 und den high-aktiven Freigabeeingang des schaltbaren Privatbustreibers 61 geschaltet. Der Ausgang des AND-Gatters 60 ist mit lern Setzeingang des Flipflops 59 verbunden. Der negierie Ausgang des Flipflops 59 ist mit dem low-aktiven Freigabeeingang des schaltharen Diagnosebustreibers 63, dem Dateneingang des Diagnosebustreibers 64 und mit dem Dateneingang des schaltbaren Privatbustreibers 61 verbunden. Dessen Datenausgang ist an eine Üatenleitung des Privatbusses 14 geführt. Der Datenausgang des Diagnosebustreibers 64 und der Dateneingang des Diagnosebustreibers 65 sind mit der Leitung für das Besetztsignal /DBUTY des Diagonalbusses 2 verbunden. Der Datenausgang des Diagnosebustreibers 65 ist an den zweiten Eingang des AND-Gatters 60 geschaltet. Das DiagnosebusintRrface 11 ermöglicht dem Prozessormodul 3 eine Kommunikation über den Diagnosebus 2 mit anderen Prozessormodulen biw. zentralen Ressourcen bei Ausfall des Globalbusses 1 u.a. zum Zweck einer Diagnose der fehlerhaften Komponente Da das Diagnosebusinterface 11 Bestandteil der Prozessor-Steckeinheit 5 ist, ist die Kommunikation über den Diagnosebus 2 auch bei Fehlern des Lokalbusses 1 bzw. der Buskoppeleinheit 4 möglich. Der Diagnosebus 2 besteht aus zwei Leitungen, einer Datenleitung und einer Leitung für das 3esotztsignal. Die Multimasterfähigkeit wird bei Verwendung eines universellen Ein-Musgabeschaltkreises 57, der diese Eigenschaft nicht unterstützt, durch eine einfache Zusatzlogik und Nutzung einer speziellen Programmkomponsnte erreicht. Jede Übertragung eines Datenblocks verlangt die vorherige Anforderung des Diagnosebusses 2 durch einen Lesezugriff auf den Dekoder 58 über den Privatbus 14 mit Aktivierung des zweiten Ausgangssignals des Dekoders 58. Ist zu diesem Zeitpunk! das Besetztsignal des Diagnosebusses 2 inaktiv, wird über das AND-Gatter 60 das Flipflop 59 gesetzt und das Besetztsignal über den zweiten Diagnosebustreiber 64 für den Prozessormodul 3 aktiviert. Damit wird der Diagr.osebus 2 für den Zugriff anderer Prozessormodule gesperrt. Weiterhin wird durch das Ausgangssignal des Dekoders 59 der schaltbare Diagnosebustreibar 63 freigegeben. Gleichzeitig wird der CPU 9 auf einem Bit der Lesedaten über den schaitbaren Privatbustreiber 61, der durch das zweite Ausgangssignal des Dekoders 58 während des Lesezugriffs aktiviert wird, aas Ergebnis der Anforderung mitgeteilt.
Ist das Bit nicht gesetzt, können durch den Prozessormodul 3 Daten auf der Datenleitung des Diagnosebusses 2 gesendet werden. Dazu schreibt die CPU 9 die zu sendenden Daten über den Privatbus 14 in den seriellen Ein-/Ausgabeschaltkreis 57, der sie entsprechend seiner Initialisierung mit einem synchronen Protokoll (ohne Übertragung des Taktes) mit CRC-Bildung sendet. Gleichzeitig werden die Daten überden ersten Diagnosebustreiber 62 durch den seriellen Eirv/Ausgabebaustein 57 empfangen. Die CPU 9 vergleicht <Jio gasendeten mit den empfangenen Daten. Die Notwendigkeit des Empfangs und des Vergleichs der eigenen gesendeten Daten resultiert aus der Tatsache, daß durch das einfache Funktionsprinzip der Vergabe des Diagnosebusses 2 während eines sehr kleinen Zeitfensters eine gleichzeitige Vergabe an zwei oder mehr Prozessorrruidule nicht ausgeschlossen werden kann. In diesem Fall kommt es zur Kollision auf dem Diagnosebus 2, die durch Kontrolle der Daten erkannt wird. Daraufhin wird durch alle aktiven Module der Transfer abgebrochen. Nach Abbruch bzw. Beendigung des Transfers durch den seriellen EinVAusgabebaustein 57 muß durch die CPU 9 der Diagnosebus 2 wieder freigegeben werden. Dazu wird durch einen Schreibbefehl der CPU 9 über den Privatbus der Dekoder 58 adressiert und sein erstes Ausgangssignal aktiviert. Dadurch wird das Flipflop 59 zurückgesetzt, der schaltbare Diagnosebustreiber 63 gesperrt und das Besetztsignal des Diagnosebusses 2 über den zweiten Diagnosebustreiber 64 inaktiv geschaltet.
Wenn während der Anforderung der Diagnosebus 2 als besetzt erkannt wurde bzw. ein Transfer infolge einer Kollision abgebrochen werden mußte, wird eine erneute Anforderung des Diangosobusses erforderlich. Um die Wahrscheinlichkeit erneuter Kollisionen zu vermindern, wird die Anforderung erst nach einer für jeden Prozessormodul unterschiedlichen Wartezeit ausgelöst. Zur eindeutigen Unterscheidung der Wartezeiten wird zu ihrer Berechnung die für jeden Steckplatz des Multiprozessorsystems in der Rückverdrahtung fest verschaltete geografische Steckplatzadresse verwendet. Diese Adresse ist für die CPU 9 über ein Register lesbar.
Durch den seriellen Ein-/Ausgabebaustein 57 wird so· vohl die Adressierung einzelner Prozessormodule als auch mehrerer in beliabiger Kombination unterstützt.
Zusammenfassend betrachtet, basiert das Grundkonzept der erfindungsgemäßen Lösung auf dem Zusammenwirken aller Komponenten des Prozessormoduls 3 unter Einbeziehung des Globalbusses 1 zur automatischen Fehlererkennung, -diagnose und Isolation im Fehlerfall. Es erlaubt, die Ausbreitung erkannter und eindeutig bis auf den Prozessormodul 3 diagnostizierter Fehler auf den Globalbus 1 zu verhindern. Die Gestaltung von Gobalbusabschaltlogik 43 und Globalbusinterface 42 unterstützt die elektrische Isolation des Prozessormoduls 3 und im Zusammenwirken mit den anderen Komponenten der erfindungsgemäßen Lösung auch seine On-Iine-Reparierbarkeit einschließlich seiner Stromversorgung. On-line nicht reparierbar ist lediglich der Globalbus 1 mit seinem Busabschluß und eventuell vorhandenen zentralen Systembestandteilen (z.B. Bustakversorgung).
Bezüglich des Ortes ihres Auftretens und der Art und Weise der Fehlerdiagnose und -reaktion können Hardwarefehler des Multiprozessorsystems in zwei Klassen unterteilt werden
Die erste Klasse beinhaltet Fehlr des Prozessormoduls 3, deren Erkennung ausschließlich mit Hard- und Softwaremitte'n des Prozessormoduls 3 erfolgt. Damit können sie auch eindeutig dem jeweiligen Prozessormodul 3 zugeordnet werden. Neben der Isolations- und Resetlogik 13 als Bestandteil des erfindungsgemäßen Multiprozessorsystems können zur Fehlererkennung darüber hinaus bekannte Verfahren wie Speicherverwaltung einschließlich entsprechender Schutzmechanismen als auch Schaltungen zur Fehlererkennung und -korrektur für Speicheranordnungen genutzt werden. Weiterhin werden durch die CPU 9 zyklisch diejenigen Komponenten getestet, die nicht durch Hardwareschaltungen überwacht werden. Bei allen erkannten Fehlern erfolgt die Isolation des Prozessormoduls 3 durch die Isolations- und Resetlogik 13 entweder direkt durch die Hardware oder durch eine Anweisung der CPU 9. In diese Klasse von Fehlern werden alle Ausfälle der Prozessor-Steckeinheit 5, des Lokalbusses 6, weiterer am Lokalbus 6 angeschlossener Steckeinheiten sowie die lokalen Komponenten der Buskopp .'!einheit 4 eingeordnet.
Die zweite Fehlerklasse umfaßt alle Ausfälle des Globalbusses 1 sowie der entsprechenden Interfaces einschließlich der verwendeten Steuerlogiken. Fehler dieser Komponenten werden durch Überwachung des Transfers über den Globalbus 1 bzw. des Diagnosebus 2 durch spezielle Hardwaremittel erkannt. Für den Globalbus 1 sind das Schaltungen zur Taktüberwachung, Paritätsbildung und -kontrolle für Adressen, Daten und Steuersignale, Transferstatus und -Zeitüberwachung. Auf dem Diagnosebus 2 wird die CRC-Bildung und -Kontrolle realisiert. Beim Transfer erkannte Fehler lassen keine direkten Schlußfolgerungen auf die fehlerhafte Komponente zu, da sie auch durch einen nicht am Transfer beteiligten Prozessormodul verursacht worden sein können. Damit wird in diesem Fall eine abgestimmte globale Fehlerdiagnose erforderlich, die zur notwendigen Kommunikation jeweils den alternativen, mit großer Wahrscheinlichkeit funktionsfähigen Bus nutzt. Dazu wird unter Steuerung eines Prozeisormoduls 3 (Diagnosemaster) nach einem bestimmten Algorithmus die Systemkonfiguration durch Isolation von Prozessormodulen 3 unter Nutzung der softwaregesteuerten Isolationsmöglichkeit über die Isolations- und Resetlogik der Prozessormodul 3 solange verändert, bis ein fehlerfreier Systemzustand vorhanden ist. Fehlerhafte Module bleiben bis zur Reparatur isoliert. Führt den Algorithmus nicht zu einem fehlerfreien Zustand, wird ein Fehler des entsprechenden Busses angenommen.

Claims (3)

1. Multiprozessorsystem mit dynamischer Redundanz und Mitteln zur on-line-Reparierbarkeit, in dem mehrere Prozessormodule über einen Globalbus miteinander verbunden sind, wobei ein Prozessormodul ein Netzteil sowie eine über den Lokalbus mit einer Buskoppeleinheit und Erweiterungs-Steckeinheiten gekoppelte Prozessor-Steckeinheit aufweist, die aus einer am Privatbus angeschlossenen CPU, einem Programm- und Datenspeicher sowie einem Lokalbusinterfacemaster zur Kopplung des Lokalbusses mit dem Privatbus besteht, und in dem die Buskoppeleinheit zur Kopplung des Globalbusses mit dem Lokalbus dient, wobei die Buskoppeleinheit einen Lokalbusinterfaceslave zur Kopplung des Lokalbusses mit dem internen Bus der Buskoppeleinheit aufweist, an dem weiterhin ein Dualportspeicher, eine Globalbustransfersteuerung sowie ein Globalbusinterface zur Kopplung mit dem Globalbus angeordnet ist, gekennzeichnet dadurch, daß die Prozessor-Steckeinheiten (6) jedes Prozessormoduls (3) über einen zweiadrigen, seriellen Diagnosebus (2) miteinander verbunden sind, der über ein Diagnosebusinterface (11) mit dem Privatbus (14) jeder Prozessor-Steckeinheit in Verbindung steht, und bei Ausfall des Globalbusses (1) die Diagnose fehlerhafter Komponenten ermöglicht, wobei eine Leitung DDATA des Diagnosebusses (2) der Datenübertragung und eine Leitung
/DBUSY der Übertragung eines Besetztsignals dient,
daß in jeder Prozessor-Steckeinheit (5) eine Isolations- und Resetlogik (13) an einem ersten Eingang über die Leitung /LPDOWN mit dem entsprechenden Netzteil (7) eines Prozessormoduls (3) verbunden ist, an einem zweiten Eingang und den Lokalbus (6) das Signal /LRESET von der zugehörigen Buskoppeleinheit empfängt, und an einem dritten Eingang mit dem Privatbus (14) verbunden ist, daß die Isolations- und Resetlogik (13) an einem ersten Ausgang der jeweiligen Buskoppeleinheit (4) über den Lokalbus (6) ein Isolationssignal ISO sendet, und an zwei weiteren Ausgängen mit dem Privatbus (14) verbunden ist, wobei die Isolations-und Resetlogik (13) der Anzeige innerer Systemzustände des jeweiligen Prozessormoduls (3), der Unterstützung der on-line-Fehlererkennung mit Fehlerreaktion durch Isolation oder/und Reset und der on-line-Entfernung von Leiterplatten sowie der Generierung des Prozessormodul-Resets dient, daß am internen Bus (47) jeder Buskoppeleinheit (4) eine Freigabelogik (39) angeordnet ist, die ein zeitlich begrenztes Freigabesignal für die Globalbustransfersteuerung (40) nach erfolgreicher Durchführung einer Globalbusanforderung durch die CPU (9) über den Lokalbus (6), die gleichzeitig einen Test des Kommunikationsweges zur Buskoppeleinheit darstellt, bildet und ein Interruptsignal für den Lokalbus (6) bei fehlerhaften bzw. unberechtigten Globalbuszugriffen der CPU (9) abgibt und ein Isolationssignal ISO von der Isolations- und Resetlogik (13) empfängt, daß die Leitung zur Übertragung des Isolationssignals ISO weiterhin mit einem Widerstand (48) und einer Globalbusabschaltlogik (43) zur Realisierung des on-line-Entfernens und Steckens von Leiterplatten verbunden ist, wobei die Globalbusabschaltlogik (43) weiterhin mit einem Isolationsschalter (45), einer Halteschaltung (43) und dem Globalbusinterface (42) verbunden ist, daß am internen Bus (47) der Buskoppeleinheit eine Rücksetzlogik (46) angeordnet ist, die von den beiden Rücksetztastern (49,50) des Globalbusses (1) Rücksetzsignale empfängt und mit der zur Isolations- und Resetlogik (13) führenden Leitung /I. RESET verbunden ist.
2. Multiprozessorsystem mit dynamischer Redundanz und Mitteln zur on-line-Reparierbarkeit gemäß Anspruch 1, gekennzeichnet dadurch, daß die Isolations- und Rosetlogik(13) wie folgt ausgebildet ist,
daß ein Businterface (15) mit den Leitungen des Privatbusses (14) verbunden ist, daß ein erster Ausgang des Businterfaces (15) mit einem flankengesteuerten Triggereingang eines ersten monostabilen Multivibrators (16) und ein zweiter Ausgang mit einem ersten AND-Gatter (22) verbunden ist, dessen Ausgang mit einem statischer dominanten, negierten Reseteingang des monostabilen Multivibrators (16) verbunden ist,
daß ein zweiter Eingang des AND-Gatters (22) mit dem Signal /LRE3ET verbunden ist, daß ein nicht negierter Ausgang des monostabilen Multivibrators (16) mit einem ersten Eingang eines ersten Open-Collector-NAND-Gatters (27) und mit einem Eingang eines zweiten Impulsformers (37) verbunden, dessen Ausgang mit einer zweiten Interruptleitung des Privatbusses (14) in Verbindung steht,
daß das Signal /LPDOWN an einem zweiten Eingang eines zweiten AND-Gatters (23) anliegt, desspn erster Eingang mit dem Ausgang einer Power-On-Schaltung (31) verbunden ist, und dessen Ausgang mit einem dritten Eingang des AND-Gatters (22), einem ersten Eingang eines ersten NAND-Gatters (25), einem zweiten Eingang eines dritten AND-Gatters (24) und dem negierten dominanten Reseteingang eines zweiten monostabilen Multivibrators (17) verbunden ist, daß ein Taster „Reset" (20) an seinem ersten Kontakt mit Masse, an seinem zweiten Kontakt über einen Widerstand (33) mit der Betriebsspannung und direkt mit dem ersten Eingang des dritten AND-Gatters (24) verbunden ist,
daß ein Taster „Iso-Request" (21) mit seinem ersten Kontakt mit Masse und mit seinem zweiten Kontakt mit dem negierten Reseteingang eines RS-Flipflops (30) verbunden ist, und der zweite Kontakt weiterhin über den Widerstand (34) mit der Betriebsspannung in Verbindung steht, daß der nicht negierte Ausgang des RS-Flipflops (30) mit dem statischen Triggereingang eines dritten monostabilen Multivibrators (18) und dem Eingang eines ersten Impulsformers (36) verbunden ist, dessen Ausgang mit einer ersten Interruptleitung des Privatbusses (14) verbunden ist, daß der nicht negierte Ausgang eines dritten monostabilen Multivibrators (18) mit dem vierten Eingang des AND-Gatters (22), dem zweiten Eingang des NAND-Gatters (25) und dem Eingang einer optischen Anzeige (32) verbunden ist, wobei der Ausgang des NAND-Gatters (25) mit dem Eingang einer Potentialhalteschaltung (29) in Verbindung steht, deren Ausgang mit dem zweiten Eingang des Open-Collectors-NAND-Gatters (27) verbunden ist, an dessen Ausgang das Signal ISO erzeugt wird und zum Lokalbus (6) gelangt,
daß ein dritter Ausgang des Businterfaces (15) mit einem ersten Eingang eines zweiten NAND-Gatters (26) verbunden ist, an dessen zweitem Eingang das Signal /LRESET anliegt, und dessen Ausgang mit dam statischen Triggereingang eines vierten monostabilen Multivibrators (19) verbunden ist, daß der Ausgang des AND-Gatters (24) mit dem negierten Reseteingang des monostabilen Multivibrators (19) und dem negierten Setzeingang des RS-Flipflops (30) verbundne ist, wobei der negierte Ausgang des monostabilen Multivibrators (19) mit dem positivflankengesteuerten Triggereingang des monostabilen Multivibrators (17) und sein nicht negierter Ausgang mit dem ersten und dem zweiten Eingang eines zweiten Open-Collector-NAND-Gatters (28) verbunden ist, an dessen Ausgang das Signal /LRESET erzeugt wird, das über den Widerstand (35) mit der Betriebsspannung verbunden ist.
3. Multiprozessorsystem mit dynamischer Redundanz und Mitteln zur on-line-Reparierbarkeit gemäß Anspruch 1, gekennzeichnet dadurch, daß da» Diagnosebusinterface (11) wie folgt aufgebaut ist, daß ein an sich bekannter serieller Ein-/Ausgabeschaltkreis (57) an seinem Businterface mit dem Privatbus (14) der Prozessor-Steckeinheit (5) verbunden ist, daß die Datenleitung DDATA des Diagnosebusses (2) über einen ersten Diagnosebustreiber (62) an den Empfangsdateneingang des seriellen Ein-/Ausgabeschaltkreises (57) geführt wird und der Sendedatenausgang des seriellen Ein-/Ausgabeschaltkreises (57) über einen schaltbaren Diagnosebustreiber (63) ebenfalls mit der Datenleitung DDATA des Diagnosebusses (2) verbunden ist, daß der erste Ausgang eines Dekoders (58), der an seinem Eingang mit dem Adreß- und Steuersignalleitungen des Privatbusses (14) verbunden ist, an den Rücksetzeingang eines Flipflops (59) und der zweite Ausgang des Dekoders (58) an den ersten Eingang eines AND-Gatters (60) und den high-aktiven Freigabeeingang eines schaltbaren Privatbustreibers (61) geschaltet ist, wobei der Ausgang des AND-Gatters (60) mit dem Setzeingang des Flipflops (59) verbunden ist, dessen negierter Ausgang mit dem low-aktiven Freigabeeingang des schaltbaren Diagnosebustreibers (63), dem Dateneingang des zweiten Diagnosebustreibers (64) und mit dem Dateneingang des schaltbaren Privatbustreibers (61) verbunden ist, wobei der Datenausgang des schaltbaren Privatbustreibers (61) an eine Datenleitung des Privatbusses (14) führt, daß der Datenausgang des zweiten Diagnosebustreibers (64) und der Dateneingang eines dritten Diagnosebustreibers (65) mit der Leitung für das Besetztsignal /DBUSY des Diagnosebusses (27) und der Datenausgang des Diagnosebustreibers (65) mit dem zweiten Eingang des AND-Gatters (60) verbunden ist.
Hierzu 5 Seiten Zeichnungen
DD32376988A 1988-12-23 1988-12-23 Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit DD278661A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD32376988A DD278661A1 (de) 1988-12-23 1988-12-23 Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD32376988A DD278661A1 (de) 1988-12-23 1988-12-23 Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit

Publications (1)

Publication Number Publication Date
DD278661A1 true DD278661A1 (de) 1990-05-09

Family

ID=5605539

Family Applications (1)

Application Number Title Priority Date Filing Date
DD32376988A DD278661A1 (de) 1988-12-23 1988-12-23 Multiprozessorsystem mit dynamischer redundanz und mitteln zur on-line-reparierbarkeit

Country Status (1)

Country Link
DD (1) DD278661A1 (de)

Similar Documents

Publication Publication Date Title
DE69729889T2 (de) Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem
DE3486148T2 (de) Fehlertolerantes Übertragungssteuersystem.
DE69316755T2 (de) Fehlertolerantes rechnersystem.
DE69414105T2 (de) Vorrichtung und verfahren zur automatischen erkennung und konfiguration eines peripheriegeräts
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
DE3751600T2 (de) Dreifachredundantes fehlererkennungssystem und entsprechendes anwendungsverfahren.
DE19832060C2 (de) Doppelbare Prozessoreinrichtung
DE3485820T2 (de) Doppelspeichersystem mit reservestromversorgung.
DE102018113625A1 (de) Fehlerinjektionstestvorrichtung und -verfahren
DE102010010198B4 (de) System und Verfahren zum Testen eines Moduls
DE102009054701B4 (de) Detektion von und Regeneration von einem elektrischen-schnellen-Störsignal/Burst (EFT/B) auf einem Universal Serial Bus-(USB)-Gerät
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
EP1398700A1 (de) Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten
DE60309012T2 (de) Verfahren und system zur sicherstellung eines busses und eines steuerservers
EP0350016B1 (de) Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern
DE60008872T2 (de) Verfahren und vorrichtung zur automatischen reintegration eines moduls in ein rechnersystem
EP0393302B1 (de) Computer mit einer Mehrzahl von steckbaren Baugruppen
EP0141161A2 (de) Schaltungsanordnung zum Erkennen von statischen und dynamischen Fehlern in Schaltungsbaugruppen
DE102018203001A1 (de) Elektronisches Datenverteilsteuergerät und Verfahren zum Betreiben eines solchen
WO2004036324A1 (de) Verfahren und vorrichtung zur prozessautomatisierung mit redundanten steuergeräten zur ansteuerung von peripheriegeräten über ein bussystem
EP0458781B1 (de) Verfahren zur überwachung eines computer-netzwerks
DE3751374T2 (de) Verfahren und Mechanismus zum unabhängigen Sicherstellungsmodustransfer für digitale Steuerprozessoren.
EP3496342A1 (de) Vorrichtung und verfahren zum prüfen des spezifikationsgerechten verhaltens von steuergeräten
DE3882537T2 (de) Verfahren und Vorrichtung für eine sichere und diagnostizierbare, Signalverwaschungen vermeidende Übertragung.
DE2934376C2 (de) Schaltungsanordnung zur Steuerung mehrerer Eingabe/Ausgabegeräte

Legal Events

Date Code Title Description
ENJ Ceased due to non-payment of renewal fee