DE2320698C2 - Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage - Google Patents

Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage

Info

Publication number
DE2320698C2
DE2320698C2 DE2320698A DE2320698A DE2320698C2 DE 2320698 C2 DE2320698 C2 DE 2320698C2 DE 2320698 A DE2320698 A DE 2320698A DE 2320698 A DE2320698 A DE 2320698A DE 2320698 C2 DE2320698 C2 DE 2320698C2
Authority
DE
Germany
Prior art keywords
processing device
processor
data
fault
channel
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
DE2320698A
Other languages
English (en)
Other versions
DE2320698A1 (de
Inventor
Robin Edward Rugby Warwickshire Dalton
Brian Harry Crick Northamptonshire Phillips
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co PLC
Original Assignee
General Electric Co PLC
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 General Electric Co PLC filed Critical General Electric Co PLC
Publication of DE2320698A1 publication Critical patent/DE2320698A1/de
Application granted granted Critical
Publication of DE2320698C2 publication Critical patent/DE2320698C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2736Tester hardware, i.e. output processing circuits using a dedicated service processor for test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

Die Erfindung bezieht sich auf eine Anordnung gemäß dem Oberbegriff des Patentanspruchs 1.
In bestimmten Anwendungsfällen von Datenverarbeitungsunlagen, wie bei der Kontrolle oder Steuerung einer F-'ernsprechvermittlungscinrichtung, ist die Sicherheit (im Sinne der Anlagen-Zuverlässigkeit) von äußerster Wichtigkeit. Mehrfach-Datcnverarbcitungsnnlagcn sind in solchen Anwendungsfällcn vorteilhaft, da die Anordnung so getroffen werden kann, daß ein Ausfall eines Verarbeitungsgerätes nicht zu einem vollständigen Zusammenbruch der Anlage führt, sondern lediglich die Gcsamlkapa/ität für die Verarbeitung von Daten reduziert. Es ist jedoch zweifellos wünschenswert, ein fehlerhaftes Verarbeitungsgerät so schnell wie möglich zu er-
kennen und der» Fehler mil der kleinstmöglichen Verzögerung zu diagnostizieren und richtigzustellen.
In der älteren DE-PS 21 04 298 ist eine Datenverarbeitungsanlage beschrieben, die einige Überwachungsniöglichkeiien gemäß dem Oberbegriff des Patentanspruchs 1 vorsiehit.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur Fehlerüberwachung einer Mehrfach-Datenverarbeitungsdnlage zu schaffen, die mit zusätzlichen neuen Mitteln eine wirksame Fehlerüberwachung mit optimaler Ausnutzung der Anlagenkapazilät erreicht.
Diese Aufgabe wird erfindungsgemäß durch die Kennzeichnungsmcrkmale des Patentanspruchs 1 gelöst. Zweckmäßige Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Durch die erfindungsgemäße Anordnung wird ein fehlerhaftes Verarbeitungsgcräl sehr schnell erkannt, und der Fehler wird ohne wesentliche Verzögerung diagnostiziert und korrigiert. Dies ist ein besonderer Vorteil gegenüber der Anordnung nach der älteren DE-PS 21 04 298, bei der die ausgewählten Daten nicht an das andere Verarbeitungsgerät rückübertragen werden.
Eine Mehrfach-Daicnverarbeitungsanlagc gemäß der Erfindung wird nunmehr anhand der sie beispielsweise wiedergebenden Zeichnungen beschrieben. Dabei zeigt F i g. 1 ein schematisches Blockschaltbild der Anlage,
Fig.2 ein schematisches Blockschaltbild eines Fehlcrkanals der Anlage, die
Fig.3, 4 und 5 Schaltungsanordnungen von Teilen des Fehlerkanals im größeren Detail und die
F i g. 6 bis 10 Flußdiagramme, welche den Betrieb der Datenverarbeitungsanlage veranschaulichen.
Hardware — Allgemeine Beschreibung
Wie aus F i g. 1 hervorgeht, enthält die Anlage eine Vielzahl (in diesem Falle drei) von unabhängigen Daien-Verarbcitungsgcrätcn 10, die jeweils als Verarbeitungsgerälc 0, 1 und 2 bezeichnet werden. (Andere Anlagen können mehr als drei oder nur zwei Verarbeitungsgcrä-Ic aufweisen.) Jedes Verarbeitungsgerät 10 hat Zugang zu einer Anzahl von Kernspeichern 11 über jeweilige Datcn-Hauptwege 13, wobei jeder der Speicher 11 allen Verarbcilun^sgeräten gemeinsam zugehört. Die Konstruktion der Verarbcitungsgeräte 10 und der Speicher i i wird nicht im einzelnen beschrieben, da diese Einrichtungen allgemein bekannt sind und eine geeignete Einrichlung im Handel frei crSälilich ist.
|edes Vcrarbcitungsgeräl 10 weist einen entsprechenden Eingangs/Ausgangs-Daien-I lauptweg 14 auf, der mit seinem Daten-EinyangsMusgangs-Anschiiiß (Interface) verbunden ist. Diese Hauptwege gewähren Zug;:ng zu einer Anzahl von Ilingangs/Ausgangs-Kanälen 15, von denen jeder eine Anzahl von Untcrkanälcn 16 aufweist, die mit entsprechenden peripheren Schaltungen 17 der Anlage verbunden sind. Die peripheren Schaltungen können beispielsweise Trommelspeicher 12, Fcrnspreeh-Vcrmittlungssehallungen 18, VcrbinduDgsleiliingKkrcisc 19, Seniler und F.mpfängur 20 sowie Mcnsch/Maschinc-Kopplungen 21, wie beispielsweise Fernschreiber, aufweisen, leder Dnlcrkanal 16 ist polenticll für jedes der Veriirbeilungsgeräie zugänglich. F.inigen der peripheren Schaltungen können ganze Kanüle 15 zugeordnet sein. In einigen speziellen Fällen kann der Zugang zu ein;·: peripheren Schaltung über eine Auswahl von zwei Kanälen erfolgen, so daß ein Ausfall des einen Kanals den Zugang zu dieser Schallung nicht verhindert.
leder der Eingangs/Ausgangs-Datenhaaptwege 14 weist jeweils drei Gruppen von achtzehn Drähten auf, was eine Gesamtzahl von vierundfünfzig Drähten ausmacht, wie in der Zeichnung angedeutet. Die erste Gruppe von achtzehn Drähten bildet einen Adressenweg, mittels welchem das Verarbeitungsgerät 10 irgendeinen der Unterkanäle 16 für die Übermittlung von Information an diesen Unlerkanal oder von diesem her auswählen kann. Die zweite und dritte Gruppe von achtzehn Drähten dienen als Datensende- und -empfangswege für die jeweilige Übertragung von Daten zum ausgewählten Unterkanal oder von diesem weg. Jede Gruppe von achtzehn Drähten trägt eine Information in Form von zwei Acht-Bit-Bytes (als obere und untere Bytes bezeichnet), wobei jedes Byte ein Paritätsbit aufweist, welches eine Überprüfung auf richtige Übertragung der Bytes vorsieht. (Anmerkung: Bit = Binarstelle bzw. Binärziffer; Byte = eine Gruppe von Binärziffern, die einen Teil eines Wor/i bilden und im Computer als eine Einheit verarbeitet werden, im typischen Fall = 8 Bits).
Sechs Bits des oberen Byte auf dem Adressenweg dienen dazu, den anzusteuernden Kanal 15 zu identifizieren. Jeder der Kanäle hat eine eindeutige, aus sechs Bits bestehende Adresse und ist mit einer logischen Decodierungsschallung (nicht dargestellt) ausgerüstet, um jene Adresse zu erkennen, wenn sie auf dem Adressenweg erscheint. Das untere Byte identifiziert denjenigen der Unlerkanäle 16 innerhalb dieses Kanals, der ausgewählt v/erden soll, und wird dazu verwendet, einen Multiplexer (nicht dargestellt) innerhalb des Kanals so zu steuern, daß er den ausgewählten Unterkanal mit den Datensende- und -empfangsdrähten des Eingangs/Ausgangs-Hauptweges verbindet.
Die Anlage enthält außerdem eine Vielzahl von Fehlerkanälcn 22, und zwar einen für jedes der Verarbeiiuiigsgeräte 10. Jeder Fehlerkanal ist mit dem Eingangs/ Ausgangs-Hauptweg i4 jedes der Verarbeitungsgeräte verbunden und kann durch jedes beliebige derselben in genatt der gleichen Weise wie die Eingangs/Ausgangs-Kanäle 15 adressiert bzw. angesteuert werden. Anstatt jedoch mit den Unierkanälen 16 und somit mil peripheren Schaltungen 17 verbunden zu werden, werden die Fehlerkanäle 22 mit Überwachungs-Eingangs/Ausgangs-Anschlüssen 23 der jeweiligen Verarbeitungsgeräte 10 verbunden. Jedem Verarbeitungsgerät 10 ist eine jeweilige Konsole 24 zugeordnet, wobei die Konsole mit dem Überwachungsanschluß 23 des Verarbeitungs-
w gerätcs über den Feb'.erkanal 22 dieses Verarbeitungsgerätes verbunden ist.
Der Beirieb der Fehlerkanäle wird nunmehr im einzelnen beschrieben. Kurz gesagt, wird jedoch jeder Kanal durch sein zugeordnetes Verarbeitungsgerät gesteuert und kann in einen »offenen« oder einen »geschlossenen« Zustand durch dieses Verarbeitungsgerät gebracht werden. Wird der Fehlerkanal geschlossen, so kann der Betrieb des Verarbei'.ungsgerätes manuell durch eine Bedienungsperson von der zugeordneten
bo Konsole 24 her überwacht werden. Wird jedoch der Fchlcrkanal geöffne!, dann kann der Betrieb des Vcr^rbcitungsgcräles automatisch durch jedes andere der Vcrarbcitungsgcräic über den Fehlcrkanal überwacht werden, wobei die manuelle Konsolensteuerung über-
t>r· gangen wird.
leder der Eingangs/'Ausgangs-Kanäle 15 und Fehlerkanäle 22 ist mit einer Zugangssehaltung (nicht dargestellt) versehen, wie sie in der GB-PS 13 31 786 beschrie-
ben ist, die verhindert, daß zu einer Zeit mehr als ein Verarbeitungsgerät Zugang zu dem Kanal erlangt. Die Speichereinheiten 11, 12 haben ähnliche Zugangsschaltungen.
Nach Fig. 1 ist jeder Fehlerkanal 22 mit allen l-.ingangs/Ausgangs-Hauptwcgcn 14 verbunden. |edoch ist es an sich nicht wesentlich, daß ein Fehlerkanal mit dom Eingangs/Ausgangs-Hauptweg seines zugeordneten Verarbeitungsgerätes verbunden ist. Vielmehr kann in einigen Fällen die Anordnung so getroffen sein, daß jeder Fehlerkanal nur mit einem Hauptweg verbunden ist. so daß er für nur ein Verarbeitungsgerät zugänglich ist: Beispielsweise kann der Fehlerkanal 0 nur für das Verarbeitungsgerät 1, der Fehlerkanal I nur für das Verarbeitungsgerät 2 und der Fehlerkanal 2 nur für das Verarbeitungsgerät 0 zugänglich sein.
Die Anlage enthält ferner eine Unterbrechereinheit 25, die rp.st jedem der VerarbciU'igsgeräte gekoppelt ist und eine Anzahl von Triggereingängen 26 aufweist, von denen einige mit der peripheren Einrichtung verbunden sind und von denen andere mit den Verarbeitungsgeräten und mit einem Taktgeber 27 verbunden sind.
Konstruktion und Funktion der Unterbrechereinheit 25 sind in der GB-PS 14 25 173 beschrieben. Kur/ gesagt, sind jedoch einige der Eingänge 26 »Sofortunterbrechungs«-Eingänge, während der Rest »nicht-sofortige« sind. Wenn eine Unterbrechungsaufforderung einem der »Sofortunterbrechungs«-Eingänge übermittelt wird, so sucht die Unterbrechereinheit das Verarbeitungsgerät, das den Prozeß von niedrigster Priorität in diesem bestimmten Augenblick durchführt (siehe unten eine Diskussion von »Prozessen« und »Prioritäten«), und unterbricht dieses Verarbeitungsgerät. Die Inhalte der Register dieses Verarbeitungsgerätes werden eingenistet, d. h. in einem speziellen Bereich der Kernspeicher 11 gespeichert, die dem Prozeß zugeordnet sind, damit auf den unierbrochenen Prozeß später zurückgegriffen werden kann, und ein Programm, als »Überwacher« (siehe unten) bekannt, wird dann an diesem Verarbeitungsgerät automatisch weiterbetrieben. Die »nicht sofortigen« Eingänge verursachen keine Unterbrechung, sondern dienen lediglich dazu, der Anlage anzuzeigen, daß beispielsweise eine periphere Einrichtung Beachtung erfordert. Die Signale von diesen nicht-sofortigen Eingängen her werden periodisch durch das Übcrwacherprogramm bedient, wie nachfolgend noch beschrieben wird.
Fehlerkanal
Die Konstruktion der Fehlerkanäle 22 soll nunmehr im einzelnen beschrieben werden. Es wird hierzu auf F i g. 2 Bezug genommen, die ein schematisches Blockschaltbild von einem der Fehlerkanäle ist, wobei davon ausgegangen wird, daß dies der Fehlerkanai 0 ist (d. h. der Fehlerkanal, der mit dem Überwachungsanschluß des Verarbeitungsgerätes 0 verbunden ist). Zum Zwekke der Vereinfachung der Beschreibung sei davon ausgegangen, daß dieser Fehlerkanal nur für das Verarbeitungsgerät 1 zugänglich ist, so daß keine Zugangsschaltung notwendig ist, um zu verhindern, daß zu einer Zeil mehr als ein Verarbeitungsgerät Zugang zu dem Fehierkanal erlangt.
Wie aus Fig.2 hervorgeht, enthält der Fehlerkanal zwei Verbindungsleitungsempfänger 201, 2OZ die mit achtzehn Adressendrähten des Eingangs/Ausgangs-Hauptweges des Verarbeitungsgerätes 1 verbunden sind. Bits 0—5 und das Paritätsbit des oberen Bytes der Adresse werden dem limpfängcr 201 zugeführt, und /war gleichzeitig mit Bits 6 und 7 des unteren Bytes. (Die iichl Bits bzw. Biniir/iffcrn jedes Bytes sind mit 0—7 numeriert.) Bits Q—ri und das Paritätsbit des untc-'> rcn Bytes werden dem Empfänger 202 zugeführt.
Der Empfänger 201 gibt die Bits 0—5 des oberen Bytes, nebst deren Paritätsbit, über einen sicbendrähtigcn Weg 204 ;in eine logische Decodierungsschaltung 205 weiter, die so eingerichtet ist, daß sie die aus sechs
ίο Bits bestehende, dem Fehlerkanai zugeordnete Adresse erkennt und eine Pcrsistenz- bzw. Bestandsprüfung an dieser Adresse ausführt. Wenn die Adresse erkannt wird und die PersistcnzprUfung zufriedenstellend ausfällt, dann erzeugt die logische Decodierungsschaltung 205
is zwei Ausgangssignalc: Das erste, am Draht 206, wird als Fehlerkanal-Taktsignal bezeichnet, während das andere, am Draht 207, eine Instruktion darstellt, um Daten vom Fehlerkanai zum VerarbcitungSKcrät-Eingangs/ Ausgangs-Hauptweg 14 durchzuschleusen.
Das Fehlerkanal-Taktsignal wird dazu verwendet, den Leitungsempfänger 202 zu aktivieren, wobei dieser veranlaßt wird, die Bits 0—5 und das Paritätsbit des unteren Bytes über einen siebendrähtigen Weg 208 dem Eingang eines Registers 209 zu übermitteln, welches als Fehlerkanal-Adressenregister (FCAR) bezeichnet wird. Dieses Register 209 wird durch das Fehlerkanal-Taktsignal auf dem Weg 206 gesteuert und außerdem durch das Bit 6 des unteren Bytes, welches ihm vom Empfänger 201 her über einen Draht 210 zugeführt wird, wobei dieses Bit 6 als das FC4/?-Taktsifnal bezeichnet wird. Wenn es das Verarbcitungsgerä: 0 erfordert, daß sein Fehlerkanal geöffnet wird, so erzeugt es ein Ausgangssignal, das als »öffne-Fehlerkanalw-Signal bezeichnet wird, wie unten noch beschrieben wird, und dieses Signal wird außerdem dem Register FCAR 209 am Draht 203 übermittelt. Daten werden in das Register 209 vom Leitungsempfänger 202 her eingeschrieben, wenn das Fehlerkanal-Taktsignal, das FG4/?-Taktsignal und das »Öffnc-Fehlerkana!«-Signal alle gleichzeitig vorhanden sind.
Der Fehlerkanal enthält außerdem einen weiteren Verbindungsleitungsempfänger 211, der mit den achtzehn »Datensende«-Drähten des Daten-Hauptwcges 14 des Verarbeitungsgerätes 1 verbunden ist. Die von dicsem Empfänger herkommenden Daten werden über eine logische Torschaltung 212 weitergeleitet, die durch das »Öffne-Fchlerkanal«-Signal vom Verarbeitungsgerät 0 her, welches am Draht 213 erscheint, gesteuert wird, und werden dem Eingang eines weiteren Registers 214 übermittelt, der als Fehlerkanal-Datenret; ster (FCDR) bezeichnet wird. Dieses Register 214 wird durch das Fehlerkanal-Taktsignal am Draht 206 gesteuert und außerdem durch das Bit 7 des unteren Adressenbytes, welches ihm vom Empfänger 201 her über einen Draht 215 zugeführt wird, wobei dieses Bit 7 als das FCDÄ-Taktsignal bezeichnet wird. Daten werden daher in das Register 2t4 vom Verbindungsleitungsempfänger 211 her eingeschrieben, wenn das »Öffne-Fchlerkanal«-Signal. das Fehlerkanal-Taktsignal und das FCDR-
bo Taktsignal alle gleichzeitig vorhanden sind.
Wie oben erwähnt, weist jedes Verarbeitungsgerät 10 eine Konsole 24 auf. Die Konsolen sind in den meisten Datenverarbeitungsanlagen üblich, und sie werden hier im einzelnen nicht beschrieben. Es sei jedoch kurz dar-
f>5 auf hingewiesen, daß jede dieser Konsolen eine Anzahl von Steuertasten, zwei Drehschalter und eine Reihe von Anzeigelampen aufweist, deren Zweck aus der nachfolgenden Beschreibung hervorgeht.
Vier der Steuerlasten sind mit einem mehradrigen Weg 217 in Fig. 2 verbunden. Dieser Weg ist mit dem einen Siuz von Eingängen eines DntcnwAhlcrs 218 verbunden, während der andere Satz von Eingängen mit dem 1''CAR 209 verbunden ist. Der Ausgang des Datcnwiihlcrs 218 ist über einen mehradrigen Weg 219 mit dem Oberwachungsanschluü 23 (Fig. 1) des Verarbeitungsgerätes und von dort mit der Steuer- oder Kontrollschaltung des Verarbeitungsgerätes verbunden. Weitere neun der Konsolentasten sind mit einem mehradrigen Weg 220 in F i g. 2 verbunden. Dieser Weg ist mit dem einen Satz von Eingängen eines Datenwählers 221 verbunden, während der andere Satz von Eingängen mit dem FCDR 214 verbunden ist. Der Ausgang des Datenwählers 221 ist über einen Signalweg 222 mit dem Überwachungsanschluß 23 und von dort mit der Steuerbzw. Kontrollschaltung des Verarbeitungsgerätes verbunden.
Die Datenwähler 218 und 221 werden durch das »Öffne-Fehlerkanal«-Signal vom Verarbeitungsgerät 0 gesteuert. Normalerweise, wenn das »Öffne-Fchlerkanal«-Signal abwesend ist (d. h., wenn der Fehlerkanal geschlossen ist), werden die Datenwähler 218 und 221 so eingestellt, daß sie die Wege 217 und 220 mit den Wegen 219 und 222 verbinden. Auf diese Weise wird bei diesem Zustand die Betätigung der Verarbeitungsgerät-Kontrollschaltung durch die Konsolentasten gesteuert. Die vier mit dem Weg 217 verbundenen Tasten leiten, wenn sie gedruckt werden, die folgenden Betriebsweisen des Verarbeitungsgerätes 0 ein:
(I) Instruktion »one-shot«. Diese veranlaßt das Verarbeitungsgerät, eine Instruktion eines Programms auszuführen. (Anmerkung: »one-shot Instruktion« = Verfahren zum Betrieb eines Computers, bei welchem eine einzige Instruktion oder ein Teil einer Instruktion auf einen Beiehi hin ausgeführt wird.)
(II) Übertragung »one-shoi«. Diese veranlaßt das Verarbeitungsgerät, eine Übertragung bei einer Instruktion auszuführen. (Es ist in Datenverarbeitungsanlagen für jede Instruktion eines Programms üblich, daß es durch eine Mikroprogrammeinheit innerhalb des Verarbeitungsgerätes in eine Anzahl von Übertragungsvorgängen umgesetzt wird, wobei diese Übertragungen die grundsätzlichen Operationen der Maschine sind.)
(III) Instruktionslauf. Dieser veranlaßt das Laufen des Programms mit normaler Geschwindigkeit.
(IV) Übertragung. Dieser leitet das freie Laufen des MikrOpro^rsnün-Tukt^cbtirs des VerErbeitun^^erütes ein.
Eine der mit dem Weg 220 verbundenen Tasten (die »Konsolenquelle«-Taste) ermöglicht das Eingeben von Daten in das Verarbeitungsgerät direkt von den Konsolentasten her, wie nachfolgend noch beschrieben wird. Andere mit dem Weg 220 verbundene Tasten wirken in der Weise, daß sie verschiedene Kontrollen und andere Einrichtunger, die im Verarbeitungsgerät vorgesehen sind, sperren und das Mikroprogramm rückstellen.
Die Art und Weise, in welcher die Signale von den Konsolentasten auf die Steuerschaltung des Verarbeitungsgerätes wirken, um diese Betriebsarten hervorzubringen, wird in dieser Beschreibung nicht erläutert, da sie nicht Teil der vorliegenden Erfindung ist, und in jedem Fall ist das Vorsehen solcher Konsolentasten in der Computertechnik allgemein bekannt Natürlich wurden
bei einer herkömmlichen Datenverarbeitungsanlage ohne l'chli'i'kaniil die Koiisnlcninsu-ii direkt mil ιΙι·ιιι Obcrwiii'luingsunschluU dos VcrurheiiungsgLTliiirs μί bunden sein, und zwur ohne irgendwelche Zwischcn-Datenwiihler. wie beispielsweise 218 und 221.
Wenn der Fehlerkanal offen ist (d. h. wenn das »Fehlcrkanal-offenw-Signal vorhanden ist), werden die Datenwählcr 218 und 221 so eingestellt, daß sie FCAR 209 und FCDR 214 mit den Wegen 219 und 222 verbinden.
ίο So wird bei diesem Zustand die Verarbeitungsgerät-Steuerschaltung durch den Inhalt der beiden Register 209 und 214, anstatt von den Konsolentasten, gesteuert. Der Ausgang vom Datenwähler 218 und der Ausgang des FCDR 214 werden beide an einer speziellen Fehlerkanal-An/eigeeinheit 223 angezeigt, die aus einem Satz von Lampen besteht, die so eingerichtet sind, daß sie aufleuchten, wenn Binär-»1 «-Signale an den entsprechenden Drähten bzw. Adern erscheinen. Dies ergibt die Möglichkeit der visuellen Überwachung des Betriebs des Fehlerkanals.
Wenn die erwähnte »Konsolenquelle«-Taste gedrückt wird, sind die anderen Konsolentasten automatisch von den Wegen 217, 220 mittels entsprechender Sperrschaltung in der Konsole getrennt, und ein spezielles festverdrahtetes Instruktionswort wird dem Verarbeitungsgerät übermittelt, wobei dieses veranlaßt wird, ein an einem Signalweg 226 erscheinendes Datenwort einzulesen, und zwar mittels des Überwachungsanschlusses 23. Durch Drücken der »Konsolenquelle«-Taste werden außerdem weitere Konsolentasten mit einem mehradrigen Signalweg 224 verbunden, der mit dem Weg 226 mittels einer logischen »ODER«-Schaltung 225 verbunden ist. Die »Konsolenquellew-Taste ergibt somit die Möglichkeit, Daten manuell von den Konsolentasten her in das Verarbeitungsgerät einzuschreiben.
Wie nach FCDR 214, wird der Ausgang der logischen Torschaltung 212 auch mittels eines mehradrigen Weges 227 einer weiteren logischen Torschaltung 228 übermittelt, deren Ausgang einem weiteren Satz von Eingängen der logischen »ODER«-Schaltung 225 zugeführt wird. Die Torschaltung 228 wird durch ein »Daten-Lade«-Signal an einem Draht 229 vom FCAR 209 her gesteuert, welches vom Bit 5 des unteren Bytes der Kanaladresse abgeleitet wird. Ist somit das »Daten-Lade«-Signal vorhanden, so können Daten direkt in das Verarbeitungsgerät vom Eingangs/Ausgangs-Hauptweg mittels des Verbindungsleitungsempfängers 211, der Torschaltungen 212 und 228 und der logischen »ODER«-Schaltung 225 eingeschrieben werden.
Die Betätigung der obenerwähnten Konsolen-Drehschalter soll nunmehr beschrieben werden. Jeder dieser Schalter hat achtzehn mögliche Stellungen und ist so eingerichtet, daß er ein einziges Vter-Bit-Ausgangssignal in jeder dieser Stellungen erzeugt. Der Ausgang des ersten der Drehschalter erscheint am Weg 230 in F i g. 2. Dieser Weg ist mit dem einen Satz von Eingängen eines Datenwählers 231 verbunden, während der andere Satz von Eingängen mit einem vierdrähtigen Weg 232 verbunden ist, der vom Weg 227 abgeleitet wird. Der Datenwähler 231 wird durch ein »Abfrage«-Signal gesteuert, welches an einem Draht 233 vom FCAR her erscheint und von dem Bit 4 des unteren Bytes der Kanaladresse abgeleitet wird. Normalerweise,
es wenn der Fehierkanai geschlossen ist, fehlt das »Abfrage«-Signal, und der Datenwähler 231 verbindet daher den Weg 230 mit einem Ausgangsweg 234. Die auf dem Weg 234 getragene Binärzahl wird dazu
16
verwendet, einen Multiplexer 235 zu steuern, der als Anzeige-Multiplexer bezeichnet wird. Dieser Multiplexer ist mit einer ersten Gruppe der Register innerhalb des Verarbeitungsgerätes verbunden (bis zu sechzehn solcher Register) und zwar über jeweilige Wege 236, die einen Teil des Überwachungsanschlusses 23 des Verarbeitungsggrates bilden, und er ist so eingerichtet, daß er jeden beliebigen ausgewählten dieser Wege mit einem Weg 237 verbindet, der zu den Anzeigelampen an der Konsole führt. Daraus ergibt sich somit, daß bei geschlossenem Fehlerkanal der Inhalt irgendeines aus der ersten Gruppe von Registern an der Konsole durch Drehen des ersten Drehschalters in die entsprechende Stellung angezeigt werden kann.
Der andere Drehschalter ist mit einem anderen Anzeige-Multiplexer (nicht dargestellt) mittels eines anderen ähnlichen Datenwählers (ebenfalls nicht dargestellt) verbunden und wird dazu verwendet, den Inhalt irgendeines von einer zweiten Gruppe der Verarbeitungsgerät-Register (bis zu sechzehn) anzuzeigen, und zwar gleichzeitig mit der ersterwähnten Anzeige.
Es ergibt sich somit, daß der Weg 237 Daten von zwei ausgewählten Registern trägt — insgesamt vier Neun-Bit-Bytes (einschließlich der Paritätsbits).
Wenn der Fehlerkanal offen ist, so wird durch das Erscheinen einer »1« im Bit 4 des unteren Adressenbytes, welches vom Verbindungsleitungsempfänger 202 empfangen wird, eine »1« in die entsprechende Stufe des FCAR 209 eingeschrieben, und dies führt wiederum dazu, daß ein »Abrage«-Signal am Draht 233 erzeugt wird. Dies veranlaßt den Datenwähler 231, den Weg 232 mit dem Ausgangsweg 234, anstatt mit dem Weg 230, zu verbinden. In diesem Zustand wird somit der Anzeige-Multiplexer 235 durch ein vom Verbindungsleitungsempfänger 211 abgeleitetes Signal, anstatt durch den Drehschalter, gesteuert. Das gleiche gilt für den anderen Anzeige-Multiplexer (nicht dargestellt).
Weitere drei der Bits auf dem Weg 227 werden auf den Weg 238 gegeben und dazu verwendet, einen weiteren Multiplexer 239 zu steuern, der als Fehlerkanai-Multiplexer bezeichnet wird. Dieser Multiplexer ist normalerweise untätig, aber wird durch das »Abfragen-Signal am Draht 229 aktiviert Im aktivierten Zustand wählt der Multiplexer 239 eines der vier Bytes am Weg 237 aus (wie durch die Adresse auf dem Weg 238 bestimmt) und übermittelt dieses Byte an einen neundrähtigen Ausgangsweg 240. Der Multiplexer 239 enthält außerdem eine Paritätsüberprüfungsschaltung zum Überprüfen der Parität des ausgewählten Bytes. Das Ergebnis dieser Paritätsprüfung wird durch Erzeugung eines zweiten Neun-Bit-Bytes am Ausgangsweg 241 angezeigt, wobei das am wenigsten bedeutsame Bit dieses Bytes »0« ist, wenn die Paritätsprüfung bestanden ist, und eine »1«, wenn sie negativ verläuft. (Die anderen Bits dieses zweiten Bytes werden vom Fehlerkanal zur Übermittlung anderer Information verwendet oder können als »Ersatz«-Bits betrachtet werden.) Die beiden Bytes auf den Wegen 240 und 241 werden am Weg 242 jeweils als untere und obere Bytes eines Achtzehn-Bit-Wortes kombiniert
Dieses Achtzehn-Bit-Wort wird einer logischen Torschaltung 243 zugeführt, die durch das »Tordatcn«-Signal an der Ader 207 von der logischen Dccodierungsschaltung 205 her gesteuert wird. Wenn dieses Signal vorhanden ist dann wird das Achtzehn-Bit-Wort durch die Torschaltung 243 hindurchgelassen und einer Leitungs-Treiberschaltung 244 übermittelt Diese Schaltung 244 ist normalerweise untätig, wird jedoch durch
das Fehlerkanal-Taktsignal an der Ader 206 von der logischen Decodierungsschaltung 205 her aktiviert, wobei sie dafür sorg», daß das Achtzehn-Bit-Wort nach den »Datenrückführ«-Drähtcn des Eingangs/Ausgangs- Hauptweges 14 übermittelt wird, um zum Verarbei tungsgerät 1 rückübertragen zu werden.
Daraus ergibt sich somit, daß der Inhalt jedes ausgewählten Registers über den Hauptweg 14 in Form von zwei aufeinanderfolgenden Datenwörtern übertragen werden kann, wobei das untere Byte jedes Wortes das eine Byte des Inhalts des Registers enthält, während das obere Byte eine Anzeige dafür enthält, ob das übermittelte Byte paritätsgerecht ist oder nicht. Dadurch wird eine sichere Übertragung des Registerinhalts über den Hauptweg 14 sichergestellt, und zwar selbst dann, wenn der Registerinhalt nicht paritätsgerecht ist.
Zusammengefaßt heißt dies: Wenn der Fehlei kanal geschlossen ist, dann kann der Betrieb des zugeordneten Verarbeitungsgerätes manuell überwacht werden, wo· bei die Konsolcntasten verwendet werden. Zusätzlich können Daten von irgendeinem der Verarbeitungsgerät-Register an der Konsole angezeigt werden, wobei die Register durch Betätigung der Konsolen-Drehschalter ausgewählt werden. Durch Verwendung der Konso- leneinrichtungen ist es einer Bedienungsperson möglich, am Verarbeitungsgerät verschiedene Tests durchzuführen, wie beispielsweise ein Testprogramm laufen zu lassen, und zwar mit einem Schritt zu einer Zeit bzw. in Einzelschritten, und das Überprüfen des Inhalts der Re gister, nachdem jede Programminstruktion oder -über tragung ausgeführt worden ist. Auf diese Weise kann der Zustand des Verarbeitungsgerätes diagnostiziert und eine Abhilfeaktion unternommen werden. Wenn der Fehlerkanal geöffnet ist, können diese Tests automatisch durchgeführt werden, und zwar dadurch, daß das Verarbeitungsgerät 1 Zugang zum Feh-Ierkanai mittels seines Eingangs/Ausgangs- Hauptweges 14 erlangt. Es sei nunmehr auf F i g. 3 Bezug genommen, welche ein detailliertes Schaltbild der logischen Decodierungsschaltung 205 zeigt. Die Schaltung weist ein KiAND-Tor 301 mit sechs Eingängen sowie sechs Inverter 302 auf, die mit den Bits 0—5 des oberen Adressenbytes vom Verbindungsleitungsempfänger 201 (Fig.2) beliefert werden. Die Eingänge zum Tor 301 sind mit den Inverlern in einer Weise verbunden, die von der dem Fehlerkanal zugeordneten Adresse abhängig ist, so daß, wenn diese Adresse der Decodierungsschaltung zugeführt wird, eine Binär-»0« am Ausgang des Tores 301 er scheint Als Beispiel zeigt die Zeichnung entsprechende Verbindungen für das Erkennen der Adresse ! JOSOl.
Der Ausgang des Tores 301 wird dem Eingang einer 200-Nanosekunden-Verzögerungsleitung 30cl zugeführt, die acht Anzapfungspunkte aufweist welche mit einem NAND-Tor 304 verbunden sind. Dieses Tor 304 erzeugt daher einen Binär-»0«-Ausgang immer dann, wenn die Fehlerkanaladresse, wie sie durch die Decodierungsschaltung erkannt wird, mindestens 200 Nanosekunden lang besteht Der Ausgang vom Tor 304 liefert das Fehlerkanal-Taktsignal am Draht 206.
Der Ausgang vom Tor 304 triggert außerdem eine nioiiustabilc Schaltung 305. die eine rnonostabilc Zeit von 5 Mikrosekundcn aufweist. Im ausgelösten Zustand stellt diese Schaltung 305 eine bistabile Schaltung 306 ein, um auf diese Weise das »Tordaten«-Signai am Draht 207 zu erzeugen.
F i g. 4 zeigt ein detailliertes Schaltbild des Fehlerkanal-Adressen^egisters 209 und des Datenwählers 218
von F i g. 2.
Das FCAR (Fehlerkanal-Adressenregister) 209 weist in Siebenstül'enregister 401 auf. Die sieben Stufen dieses Registers sind mit dem Verbindungsleitungsernpfänger 202(F i g. 2) verbunden, um jeweils Bits 0—5 und das Paritätsbit des unteren Bytes der Kanaladresse zu empfangen.
Das Fehlerkanal-Taktsignal der logischen Decodierungsschaltung 205 erscheint am Draht 402 und wird zur Taktsteuerung der bistabilen Schaltung 403 verwendet, die dann mittels des Bits 6 des unteren Bytes der Adresse vom Empfänger 201 her am Draht 404 eingestellt werden kann. Wenn eingestellt, triggert die bistabile Schaltung 403 eine monostabile Schaltung 405 mit einer monostabilen Zeit von 300 Nanosekunden, und diese übermittelt wiederum einen Taktimpuls an den Takteingang 406 des Registers 401, wobei dieses veranlaßt wird, die ihm vom Empfänger 202 dargebotene Information hereinzulesen.
Das »öffne-Fehlerkanal«-Signai besteht aus einer Binär-»O«, die an einen Draht 407 vom zugeordneten Verarbeitungsgerät 0 übermittelt wird. Dieses Signal wird durch das Tor 408 invertiert und an den »Clear«-Eingang 409 des Registers 401 übermittelt, um zu verhindern, daß Daten in das Register 401 eingegeben werden, wenn das »Öffne-Fehierkanalw-Signal fehlt.
Die vier Konsolentasten zur Steuerung der Betriebsart des Verarbeitungsgerätes sind mit sieben Drähten 411—417 verbunden, wie in Fig.4 angedeutet. Es ist ersichtlich, daß drei dieser Tasten, nämlich jene für den Übertragungslauf (TXR.RUN). Übertragungs-one-shot (TXR.O/S) und Instruktions-one-shot (INST.O/S). mit jeweiligen Paaren von Drähten 411/412, 414/415 und 416/417 verbunden sind. Wenn irgendeine dieser Tasten gedrückt wird, so erzeugt sie jeweils Binärziffern »1« und »0« an ihrem entsprechenden Drahtpaar; sonst erzeugt sie jeweils Ziffern »0« und »1«. Die andere Taste — für Instruktionslauf (INST.RUN) — ist mit einem einzelnen Draht 413 verbunden. Wenn diese Taste gedrückt wird, so erzeugt sie eine Binärziffer »0« an diesem Draht 413 und sonst eine »1«.
Der Datenwähler 218 weist zwei Sätze von je acht UND-Toren 418 und 419 auf. Die Ausgänge von entsprechenden Paairen dieser UND-Tore sind jeweils mit acht NOR-Toren 420 verbunden, deren Ausgänge ihrerseits mit acht Invertern 421 verbunden sind. Die Ausgänge dieser Inverter erscheinen an jeweiligen Ausgangsdrähten 422—429, die mit den entsprechenden Punkten der Verarbeitungsgerät-(O)-Steuereinheit verbunden sind, und zwar über den Verarbeitungsgerät-Oberwachungsanschluß, wie angedeutet. Die Eingänge von vier Toren des ersten Satzes von UND-Toren 418 werden mit Signalen von den ersten vier Stufen des Registers 401 beliefert (welche die Bits 0—3 des unteren Bytes der Adresse enthalten). Die anderen vier der UND-Tore 418 werden mit den Invertierungswerten dieser Signale beliefert, und zwar mittels vier inverter 430. Die Eingänge von sieben des zweiten Satzes von UND-Toren 419 werden mit Signalen von den sieben Drähten 411—4118 von den Konsolentasten her beliefert, wobei das achte Tor einen geerdeten Eingang 431 aufweist, der eine permanente Binärziffer »1« repräsentiert.
Der Dalenwähler 218 wird durch das »Öffne-Fehlerkanai«-Signai vom Draht 407 her gesteuert, weiches durch das Tor 40IS invertiert ist.
Das Signal vom Tor 408 wird jedem der UND-Tore 418 übermittelt, ist ebenfalls durch einen Inverter 432 invertiert und wird jedem der UND-Tore 419 übermittelt. Wenn somit ein »Öffne-Fehlerkanalw-Signal vorhanden ist, so werden die Tore 418 alle angesteuert, und Daten werden von den vier Stufen des Registers 401 an die Drähte 422—429 weitergeleitet. V/enn ungekehrt das »Öfline-Fehlerkanak-Signal fehlt, dann werden die Tore 4I1S alle angesteuert, und Daten werden von den Drähten 411—417 (d.h. von den Konsolentasten her) den Drähten 422-429 übermittelt.
ίο Es ist somit ersichtlich, daß, wenn der Fehlerkanal geschlossen ist, die Konsolentasten in der normalen Weise wirken, um die Betriebsweise des Verarbeitungsgerätes zu steuern. Wenn jedoch der Fehlerkanal geöffnet ist, dann wird die Betriebsart des Verarbeitungsgeis rätes durch den Inhalt der ersten vier Stufen des Registers 4011 gesteuert.
Die fünfte Stufe des Registers 401 (welche das Bit 4 des unteren Bytes der Adresse enthält) wird mittels eines inverters 433 mit dem Draht 233 (siehe F i g. 2j verbunden und liefert das vorerwähnte »Abfrage«-Signal. In ähnlicher Weise ist die sechste Stufe des Registers 401 (welche das Bit 5 des unteren Bytes der Kanaladresse enthält) mittels eines Inverters 434 mit dem Draht 229 (siehe F i g. 2) verbunden und liefert das obenerwähnte »Daten· Lade«-Signal.
Aus F i g. 4 geht hervor, daß die Bits 0—5 des unteren Bytes der Adresse die folgenden sechs Instruktionen repräsentieren:
Bit 0 = )>1« repräsentiert »Instruktion one-shot«.
Bit 1 = i)l« repräsentiert »Übertragung one-shot«.
Bit 2 = »1« repräsentiert »Instruktionslauf«.
Bit 3 = )>1« repräsentiert »Übertragungslauf«.
Bit4 - »!«repräsentiert»Abfrage«. Bit 5 = »1« repräsentiert »Daten-Lade«.
Fig.5 zeigt die logische Torschaltung 212 und das Fehlerkanal-Datenregister 214 der F i g. 2 mehr im einzelnen.
Das FCDR (Fehlerkanal-Datenregister) weist zwei Neunstufenregister auf: Ein Register 501 für das obere Byte und eines (nicht dargestellt) für das untere Byte des vom Eingangs/Ausgangs-Hauptweg 14 mittels dcv Verbindungsleitungsempfängers 211 empfangenen Wortes.
Die logische Torschaltung 212 enthält neun NAND-Tore 502 zum Durchschleusen entsprechender Bits in das entsprechende Stufenregister 501. Diese Tore 502 werden durch das »Öffne-Fehlerkanalw-Signal vom zugeordneten Verarbeitungsgerät her angesteuert, welches
so am Draht 503 erscheint. Der Draht 503 ist außerdem mit dem »Clear«-Eir.gang des Registers 501 verbunden, um dieses Register rückzustellen, wenn das »Öffne-Fehlerkanalw-Signal fehlt
Das FCD/?-Taktsignal vom Verbindungsleitungsempfänger 201 erscheint am Draht 215, während das Fehlerkanal-Taktsignal von der logischen Decodierungsschaltung 205 her am Draht 206 (siehe Fi g. 2) erscheint. Das Erscheinen des Fehlerkanal-Taktsignals, während der FCDÄ-Takt vorhanden ist, sorgt für die Einstellung der bistabilen Schaltung 504, die ein Ausgangssignal von einem NAN D-Tor 50i> erzeugt, welches eine Taktstsuerung des Registers 501 vornimmt, um dieses zu veranlassen, die Information von der Torschaltung 212 her hereinzulesen.
Die Ausgänge von den ersten acht Stufen des Registers 501 werden durch Tore 506 invertiert und an den Datenwähler 221(Fi g. 2) weitergegeben. Die Ausgänge von diesen Toren werden außerdem einem mit acht Ein-
gangen versehenen Paritiitsprüfer 507 zugeführt, der einen Ausgang erzeugt, welcher anzeigt, ob die Summe der acht Datenbits im Register ungerade oder gerade ist Der Ausgang vom Prüfer 507 wird mit dem Paritätsbit von der letzten Stufe des Registers 501 her verglichen, und zwar in einem Äquivalenztor 508, dessen Ausgang anzeigt, ob dieses Byte paritätsgerecht ist oder nicht
Die Ausgänge von der Torschaltung 502 werden nicht nur dem Register 501 zugeführt, sondern auch in Parallelschaltung den NAN D-Toren 509, von denen aus sie an den Signalweg 227 (siehe F i g. 2) weitergegeben werden.
Das andere (unteres Byte) Register (nicht dargestellt) des FCDR weist eine ähnliche Schaltung auf, die ihm zum Durchschleusen, Taktsteuern, Rückstellen und Paritätsprüfen zugeordnet ist Die anderen Datenwähler 221 und 231, in Blockform in Fig.2 dargestellt, sind in der Konstruktion dem Datenwähler 218 ähnlich, der im einzelnen mit Bezug auf F i g. 4 beschrieben wurde, und werden daiier nkht noch einmal gesondert beschrieben. Darüber hinaus sind die Multipiexerschaltungf^, wie 235 und 239, die Verbindungsleitungsempfänger, wie 201,202 und 211, und die Leitungstreiber, wie 244, alles bekannte Einzelteile der Einrichtung, und es wird nicht für notwendig angesehen, sie im einzelnen zu beschreiben.
Software — Allgemeine Beschreibung
Die Software der Anlage nach Fig. 1 ist in eine Anzahl von Prozessen unterteilt, von denen jeder eine ganz bestimmte Daten-Manipulation oder Eingangs/Ausgangs-Funktionen ausführt und einen ihm zugedachten eindeutigen Prioritätspegel aufweist Ein Zusammenwirken zwischen den Prozessen Findet durch Übertragung, vom einen Prozeß auf einen anderen, von Datenblocks statt und zwar in einem vorbestimmten Format, welches als »tasks« (Aufgaben) bekannt ist Diese Modularkonstruktion der Software vereinfacht weitgehend das Beschreiben der Software, wobei sie die Möglichkeit bietet, separate Prozesse durch verschiedene Programmierungsteams zu entwickeln.
Wenn ein Prozeß eine oder mehrere Aufgaben hat, die darauf warten, von ihm geprüft zu werden, so werden diese Aufgaben in einer Eingangsreihe (Eingabe-Warteschlange) von Aufgaben für diesen Prozeß placiert (enthalten in einem der Kernspeicher U, Fig. 1). Wenn ein Prozeß eine oder mehrere Aufgaben erzeugt hat, die noch nicht an andere Prozesse übertragen worden sind, so werden diese Aufgaben in einer Ausgangsreihe (Ausgabe-Warteschlange) von Aufgaben aus diesem Prozeß heraus placiert (ebenfalls in einem der Kernspeicher).
jedem Prozeß ist ein Bereich des Speicherraums in den Kernspeichern Il als Arbeitsspeicherraum zugeordnet, der nicht mit irgendeinem anderen Prozeß geteilt wird. Dies stellt sicher, daß Fehler, die während der Ausführung des einen Prozesses auftreten können, die Arbeitsdaten anderer Prozesse nicht verderben. Die Prozesse teilen sich aber dennoch Programme und festgelegte Daten, die in den Kernspeichern 11 gespeichert sind, wenn sie in einer Betriebsweise des Nurlesens verwendet werden.
Die Trommelspeicher 12 werden dazu verwendet. Kopien aller festgelegten Daten und außerdem von wichtigen Arbeitsdaten für die Prozesse zu enthalten, und zwar zwei Kopien auf verschiedenen Trommeln.
Dies erhöht die Sicherheit der Anlage gegen Fehler, welche die gespeicherten Daten beeinträchtigen.
Jeder beliebige Prozeß kann an irgendeinem der Verarbeitungsgeräte 10 laufen. Dies bedeutet, daß alle Ver- arbeitungsgeräte 10 von gleichem Status und komplett untereinander austauschbar sind. Wenn somit das eine Verarbeitungsgerät aus dem Dienst genommen wird, so kann, die Anlage normal weiterarbeiten, wenn auch mit einer reduzierten Kapazität Dies lsi ein wichtiges
ίο Merkmal vom Gesichtspunkt der Sicherheit gegen Fehler.
Ein Prozeß kann jedoch nicht an mehr als einem Verarbeitungsgerät zu einer Zeit gefahren werden (d. h. die Prozesse sind nicht neu einbringbar). Dies hilft wieder um, irgendwelche Fehler, die auftreten können, zu erfas sen.
Ein Prozeß befindet sich zu irgendeinem gegebenen Zeitpunkt in einem der folgenden Zustände:
(a) Laufender Zustand. In diesem Zustand wird der Prozeß an einem der Verarbeitungsgeräte gefahren.
(b) Ruhezustand. In diesem Zustand hat der Prozeß keine Aufgaben in seiner Eingangs-Aufgabenreihe und wird nicht wieder anlaufen, bis eine Aufgabe empfangen wird.
(c) Blockierter Zustand. In diesem Zustand kann der Prozeß erst dann wieder laufen, wenn ein Vorkommnis außerhalb dieses Prozesses stattfindet, um ihn zu entblockieren.
(d) Anhängiger Zustand. In diesem Zustand hat der Prozeß Aufgaben in seiner Eingangsreihe und wartet darauf, an einem Verarbeitungsgerät zu laufen, aber er wird erst dann laufen, wenn alle anhängigen Prozesse mit höherer Priorität abgelaufen sind. Wird einem ruhenden Prozeß eine Aufgabe zugeteilt, so wird er in den anhängigen Zustand versetzt. Wird in ähnlicher Weise ein blockierter Prozeß entblockiert so wird er in den anhängigen Zustand versetzt
Einige der Prozesse können periodisch sein; d. h. sie werden in den anhängigen Zustand, fertig zum Laufen, in periodischen Intervallen versetzt, die Vielfache der Taktperiode (5,5 ms) sind, wobei diese Prozesse zu anderen Zeiten blockiert werden. Andere Prozesse sind nicht periodisch; d. h. sie werden in den anhängigen Zustand nur dann versetzt, wenn sie gefordert werden — z. B. wenn sie durch einen anderen laufenden Prozeß angefordert werden.
Die Prozesse werden durch ein Spezialprogramm, bekannt als Überwacherprogramm, koordiniert. Wie die Prozesse, so kann der Überwacher an jedem der Verarbeitungsgeräte laufen. Der Überwacher befaßt sich un-
ter anderem mit: Der Übertragung von Aufgaben vom einen Prozeß zum anderen; Versetzen der Prozesse in die entsprechenden Zustände (ruhend, anhängig, blokkiert, laufend) zu den entsprechenden Zeiten; Bedienung von Anforderungen von peripheren Einrichtungen der Anlage und Behandlung von Fehlerzusländen in der Anlage, wie noch beschrieben wird.
Überwacherprogramm
F i g. 6 ist ein Flußdiagramm, welches die Struktur des Überwacherprogramms veranschaulicht. Unter Bezugnahme auf Fig.6 in Verbindung mit Fig. 1 übermittelt
in periodischen Intervallen von 5,5 ms der Taktgeber 27 ein Taktsignal an einen der Sofortunterbrechungseingänge o'er Unterbrechereinheit 25. Dies führt dazu, daß das Verarbeitungsgerät 10, das gerade den Prozeß mit der niedrigsten Priorität fährt, unterbrochen wird (wie durch das Kästchen 601 in Fi g. 6 angedeutet) und daß der Registerinhalt eingenistet wird (Anmerkung: »Einnisten« — Speichern von Daten, die einem Prozeß zugeordnet sind, wenn dieser Prozeß unterbrochen wird, damit dieser Prozeß zu einem späteren Zeitpunkt wieder aufgenommen werden kann). Der Oberwacher wird dann automatisch am unterbrochenen Verarbeitungsgerät betrieben und führt folgende Tätigkeiten aus:
Zunächst versetzt der Überwachen den unterbrochenen Prozeß in den anhängigen Zustand (wie durch das Kästchen 602 angedeutet). Er entscheidet dann, welche der periodischen Prozesse zu diesem Zeitpunkt fällig sind, begonnen zu werden, und sorgt dafür, daß diese entblockiert und somit in den anhängigen Zustand (Kästchen 603) versetzt werden. Diese Prozesse beginnen daher wieder zu laufen, sobald für sie ein Verarbeitungsgerät 10 verfügbar ist
Als nächstes prüft der Oberwacher alle Nichtsofort-Unterbrechungseingänge der Unterbrechereinheit 25 (Kästchen 604). Wenn irgendwelche dieser Eingänge durch Anforderungen von ihren entsprechenden peripheren Einrichtungen oder Verarbeitungsgeräten her aktiviert sind, dann bedient der Überwacher diese Anforderungen, indem er den Prozessen entsprechende Aufgaben erteilt Der Überwach er nimmt dann die Rückstellung der Unterbrechereinheit 25 vor.
Wenn die Abtastung vollendet ist, wählt der Überwacher flsn anhängigen Prozeß der höchsten Priorität aus (Kästchen 605). Nach Beendigung seiner periodischen Tätigkeit geht der Überwacher aus dem Verarbeitungsgerät heraus (Kästchen 606), wobei er ein »Entnisten« ausführt, d. h. die Werte, die dem ausgewählten Prozeß zugehören, in die Register des Verarbeitungsgerätes einbringt, an welchem er (der Überwacher) lief. Der ausgewählte Prozeß übernimmt dann den Lauf in diesem Verarbeitungsgerät.
Der Überwacher kann außerdem angereizt werden (Kästchen 607) als Folge einer Sofortunterbrechungsanforderung (als »Fehlerunterbrechung« bezeichnet), die der Unterbrechereinheit 25 von einem der Verarbeitungsgeräte 10 übermittelt wird, und zwar als Folge davon, daß dieses Verarbeitungsgerät einen Fehler entdeckt. In diesem Falle übt der Überwacher eine spezielle Fehlerroutine aus (Kästchen 6C«). Wenn die Fehlerroutine beendet ist, schreitet der Überwacher fort nach den Kästchen 605 und 606, wie vorher. Das Hervorbringen einer Fehlerunterbrechung sowie den Aufbau der Fehletrcatine werden später beschrieben.
Zusätzlich dazu, daß er als Folge eines Sofortunterbrechungssignals gefahren wird, kann der Überwacher außerdem zu irgendeiner Zeit auf einen »Anruf« hin durch einen Prozeß gefahren werden, der zur Zeit an einem der Verarbeitungsgeräte (Kästchen 609) läuft. Zum Beispiel:
(a) Der Prozeß kann verlangen, daß eine oder mehrere Aufgaben, die er erzeugt hat, an einen oder mehrere andere Prozesse weitergegeben wird bzw. werden.
(b) Der Prozeß kann vom Überwacher verlangen zu entscheiden, ob er (der Prozeß) weiterlaufen soll oder ob er in den anhängigen, blockierten oder Ruhezustand versetzt werden soll.
Wird ein Anruf durchgeführt so wird der Überwacher an dem Verarbeitungsgerät betrieben, an welchem der Prozeß lief, der den Anruf durchführte. Der Oberwacher prüft zuallererst die Ausgangsreihe von Aufga- ben (Kästchen 610 und 611) des rufenden Prozesses. Sind irgendwelche derartigen Aufgaben vorhanden, so entfernt der Oberwacher sie (Kästchen 612) von der Ausgangsreihe und führt sie (Kästchen 613) in die Eingangsreihe des entsprechenden Prozesses ein. Befindet
ίο sich der letztere Prozeß zu diesem Zeitpunkt im Ruhezustand (Kästchen 614), so aktiviert der Überwacher ihn und versetzt ihn in den anhängigen Zustand (Kästchen 615), so daß dieser Prozeß laufen kann, wenn ein verfügbares Verarbeitungsgerät vorhanden ist
Sind keine Aufgabe in der Ausgangsreihe des rufenden Prozesses vorhanden oder wenn irgendwelche Aufgaben, die vorhanden waren, entfernt worder», sind, schreitet der Oberwacher (Kästchen 616) fort nach einer der folgenden drei Abzweigungen, wie sie in dem
Anruf spezifiziert sind:
(I) Wenn der Anruf nur für den Überwacher bestimmt war, um sich mit Ausgangsaufgaben zu befassen, so »entnistet« der Überwacher den rufenden Prozeß und tritt aus, um dem rufenden Prozeß die Möglichkeit zu geben, den Lauf am Verarbeitungsgerät (Kästchen 617) wieder aufzunehmen.
(II) Wenn ein nichtperiodischer Prozeß seine derzeitige Verarbeitung beendet so führt er einen »Aufruf
zum Beenden« aus, um dies dem Oberwacher anzuzeigen, in diesem Falle inspiziert der Überwacher die Eingangsreihe des rufenden Prozesses (Kästchen 618,619), um zu ermitteln, ob noch irgendwelche Aufgaben in der Eingangsreihe vorhanden sind oder nicht Sind noch Aufgaben vorhanden, dann wird der rufende Prozeß lediglich in den anhängigen Zustand (Kästchen 620) versetzt, während dann, wenn keine Aufgaben mehr vorhanden sind, der rufende Prozeß in den Ruhezustand versetzt
*o wird (Kästchen 621). In jedem Falle schreitet der Überwacher fort, den anhängigen Prozeß mit der höchsten Priorität (Kästchen 605) auszuwählen, der an diesem Verarbeitungsgerät laufen wird, nachdem der Überwacher herausgegangen ist.
(Hl) Wenn ein periodischer Prozeß seine derzeitige Verarbeitung beendet hat, so führt er einen »Aufruf zum Blockieren« aus, wobei er vom Überwacher verlangt, ihn in den blockierten Zustand zu versetzen, und zwar bis zum nächsten Taktintervall, bei
so welchem dieser periodische Prozeß für den Lauf fällig ist. Herrschen Überbelastungszustände vor, so ist es möglich, daß der Prozeß nicht seine ganze derzeitige Verarbeitung vollendet, bevor sein nächster Taktanreiz fällig ist, wobei dieser Zustand als
ein »Überlauf« bekannt ist. Wenn ein »Aufruf zum Blockieren« ausgeführt wird, so führt der Überwacher eine Prüfung durch, um festzustellen, ob der rufende Prozeß einen Überlauf ausgeführt hat (Kästchen 622, 023). Wenn nicht, wird der Prozeß
Μ blockiert, wie gefordert (Kästchen 625). Hat jedoch der Prozeß einen Überlauf ausgeführt, so wird er lediglich in den anhängigen Zustand (Kästchen 624) versetzt, so daß er sofort wieder anlaufen kann, sobald für ihn ein Verarbeitungsgerät verfügbar ist.
lsi einmal der rufende Prozeß blockiert, so wird er im blockierten Zustand bleiben, selbst wenn weitere Aufgaben in der Zwischenzeit empfangen werden, und zwar
17 18
bis er durch den Oberwacher in der entsprechenden re-Zeitgebervorrichtung, die dann eine festgelegte Zeit-Taktperiode oder aus irgendeinem anderen Grund ent- dauer lang (im typischen Fall 200 ms) läuft, es sei denn, blockiert bzw. freigegeben wird. daß sie rückgestellt ist Diese Zeitgabe-Periode wird als
Wie vorher, wenn der rufende Prozeß blockiert oder »Zeitgabe (b)m bezeichnet Wenn das Fehlerunterbre-
anhängig gemacht worden ist, wählt der Oberwacher s chungssignal nicht beantwortet worden ist, wenn die
den anhängigen Prozeß der höchsten Priorität aus »Zeitgabe (b)a abläuft, so wird das Verarbeitungsgerät
(Kästchen 605), damit dieser im Verarbeitungsgerät eine Selbstprüfung wie folgt versuchen,
läuft, nachdem der Oberwacher herausgegangen ist Zuallererst wird der Fehlerkanal geschlossen Käst-
(Kästchen 606). chen 704), der gegenwärtige Inhalt der Register des
Es ergibt sich somit, daß der Oberwacher den Betrieb io Verarbeitungsgerätes wird eingenistet (Kästchen 705).
der Prozesse koordiniert, indem er sie in ihre entspre- und eine spezielle Selbstprüfung, als »MAZE (A)« be-
chenden Zustände versetzt und Aufgaben zwischen ih- zeichnet, wird am Verarbeitungsgerät betrieben. Zur
nen überträgt gleichen Zeit wird eine weitere Hardware-Zeitgebervorrichtung getriggert wobei diese Vorrichtung für ei-
Ermittlung von Fehlern durch Verarbeitungsgeräte 15 ne festgelegte Zeitgabe-Periode, als »Zeitgabe (a)a bezeichnet, läuft Die Startinformation für das MAZE-Pro-
AHe Register in jedem der Verarbeitungsgeräte 10 gramm wird in jedes Verarbeitungsgerät eingedrahtet enthalten zwei Bytes, wobei jedes Byte aus acht Daten- Das MAZE-Programm läuft über eine Folge, die alle bits und einem Paritätsbit besteht, welches andeutet, ob Instruktionen umfaßt welche das Verarbeitungsgerät die Summe dt,-acht Datenbits gerade oder ungerade ist 20 ausführen kann, um alle Funktionen desselben zu prü-Paritätsprüfungen werden mittels geeigneter Hardwa- fen, wobei es die Ergebnisse seiner Aktionen, sobald es re-Vorrichtungen immer dann ausgeführt, wenn Daten läuft überprüft Befindet sich ein Fehler im Vererbeiin irgendeines dieser Register eingeschrieben oder her- tungsgerät, so wird das MAZE· Programm entweder ausgelesen oder zwischen diesen übertragen werden. fangen, stoppen oder in einer Schleife laufen. V/enn das Wenn ein Fehler durch eine dieser Paritäts-Prüfvorrich- 25 Verarbeitungsgerät fängt während es das MAZE-Protungen entdeckt wird, so erzeugt sie ein Fangsignal, gramm betreibt wir<* die MAZE ernein gestartet aber welches innerhalb eines speziellen Satzes von Fang- der Zeitgabe (a) wird die Möglichkeit gegeben, weiter- bzw. Trapregistem innerhalb des Verarbeitungsgerätes zulaufen; das Fangen würde dann weitergehen, bis die gespeichert wird. Ein Fang- oder Trapsignal triggert Zeitgabe (a| abläuft. In ähnlicher Weise wird das Ineine Hardware-Auffangstelle innerhalb des Mikropro- 30 Schleife-Laufen, wenn es auftritt, bis zum Ablauf der gramms des Verarbeitungsgerätes, welches eine vorbe- Zeilgabe weiterlaufen. Wenn andererseits das Verarbeistimmte Fehleraktion eif leitet, -Je noch beschrieben tungsgerät das Ende des /M4ZE-Program ms erreicht, wird. dann führt es eine spezielle Instruktion aus, um ein er-
Eine solche Paritätsüberprüfung st in der Computer- rechnctes Ergebnis mit einem eingedrahteten Datentechnik allgemein bekannt, und die Vorrichtungen zur 3a wort zu vergleichen.
Durchführung dieser Prüfungen sowie die entsprechen- Wenn das Verarbeitungsgerät das Ende der MAZE
den Auffangeinrichtungen im Mikroprogramm werden innerhalb der Zeitgabe (a) erreicht und das Ergebnis
daher im einzelnen nicht erläutert richtig errechnet so wird davon ausgegangen, daß das
Es soll nunmehr auf F i g. 7 Bezug genommen werden, Verarbeitungsgerät in Wirklichkeit nicht fehlerhaft ist
welche die Wirkungsweise eines der Verarbeitungsge- 40 — die Fehleranzeige kann beispielsweise von einem
rate 10 bei Ermittlung eines Fehlers veranschaulicht. In vorübergehenden Geräuschstoß herrühren —, und das
dieser Figur stellt das Kästchen 701 den Normalbetriet) Verarbeitungsgerät wird daher in den Dienst zurückgc-
des Verarbeitungsgerätes dar, während das Kästchen bracht (Kästchen 706), und zwar nach Erzeugung eines
702 das Erscheinen eines Fangsignals repräsentiert, das Ausdruckes, um den Wartungstechnikern das Erschei-
einen Paritätsfehler anzeigt. 45 nen des Fehlers anzuzeigen. Der unterbrochene Prozeß
Durch das Erscheinen eines solchen Fangsignals wird am Verarbeitungsgerät wird beim Start einer Routine
das Verarbeitungsgerät veranlaßt, anzuhalten (Käst- wieder begonnen, und zwar innerhalb des Prozesses, der
chen 703) und seine Unterbrechungseingänge von der als »roll-back-Routlne« (Wiederstart-Routine) bekannt
Unterbrechereinheit 25 her zu sperren, um auf diese ist. Diese Routine versucht, die notwendigen Arbeitsda-
Weise zu verhindern, daß sie unterbrochen wird. Das 50 ten für den Prozeß erneut zu speichern.
Verarbeitungsgerät übermittelt dann ein »offener Feh- Wenn das Verarbeitungsgerät das Ende der MAZE
lerkanak-Signal an seinen zugehörigen Fehlerkanal 22 innerhalb der Zeitgabe (a) nicht erreicht oder wenn das
und übermittelt gleichzeitig ein Sofort-Fehlerunterbre- errechnete Ergebnis falsch ist, so kehrt das Verarbei-
chungssignal an die Unterbrechereinheit 25. Unter nor- tungsgerät nach Kästchen 703 zurück und öffnet den
malen Umständen wird dieses Fehlerunterbrechungssi- 55 Fehlerkanal, erzeugt ein Fehlerunterbrechungssignal
gnal die Unterbrechung eines der anderen Verarbei- und läßt die Zeitgabe (b) wieder anlaufen. Diese Schleife
tungsgeräte 10 hervorrufen, das in diesem Augenblick setzt sich fort, bis entweder das Fehlerunterbrechungs-
mit dem Prozeß von niedrigster Priorität läuft, worauf- signal bei der Unterbrechung eines anderen Verarbei-
hin der Überwacher an diesem unterbrochenen Verar- tungsgerätes Erfolg hat oder bis der Fehler sich selbst
beitungsgerät betrieben wird (siehe Fig. 6, Kästchen so klärt und die MAZE(A) richtig beendet wird.
607). Wie oben erwähnt, wird unter normalen Umständen
In einigen Füllen kann jedoch das Fehlcnmtcrbre- ein durch ein Verarbcitungsgerät erzeugtes Fehlcruncliitngssigmi! keinerlei Auswirkung haben. Dies kniin lerbrcchungssignul eine Unterbrechung desjenigen der beispielsweise nach einem heftigen GeräuschsloB vor- anderen Verarbeitungsgcrülc hervorrufen, das in diekommen, der alle Verarbeilungsgeräte beeinträchtigt. 65 sem Augenblick gerade den Prozeß von niedrigster Als Vorkehrung gegen diese Möglichkeit iriggert das Priorität betreibt, wobei dadurch das Überwacherpro-Verarbeitungsgerät zur gleichen Zeit, wo es das Fehler- gramm am letzteren Verarbeitungsgerät eingeführt Unterbrechungssignal erzeugt, außerdem eine Hardwa- wird. Der F.infachheit halber wird das Verarbeitungsge-
rät, welches das FehJerunterbrechungssignal abgibt, als »fehlerhaftes Verarbeitungsgerät« bezeichnet, während das Venarbeitungsgerät, welches den Überwacher auf das Fchlerunterbrechungssignal hin betreibt, als »überwachendes Verarbeitungsgerät« bezeichnet wird.
Wie durch F i g. 6 angedeutet, führt das überwachende Verarbeitungsgerät eine Fehlerroutine ein (Kästchen 608). Diese Routine ist in weiteren Einzelheiten in F i g. 8 dargestellt. Die erste Aktion des überwachenden Verarbeitungsgerätes besteht darin. Zugang zum Feh- to lerkanal 22 des fehlerhaften Verarbeitungsgerätes zu erlangen!, und zwar durch Übermittlung der Adresse dieses Fehlerkanals an seinen Datenhauptweg 14, und den Fehlerkanal dazu zu verwenden, die Zeitgabe (b) im fehlerhaften Verarbeitungsgerät (Kästchen 802) rückzustellen. Dadurch wird verhindert, daß die Zeitgabe (b) abläuft, und das fehlerhafte Verarbeitungsgerät wird somit daraa gehindert, seinen Fehlerkanal erneut zu schließen (Kästchen 704, F i g. 7).
Das überwachende Verarbeitungsgerät fragt dann (Kästchen 802) das fehlerhafte Verarbeitungsgerät über den Fehlerkanal des letzteren ab, um festzustehen, ob es zum Zeitpunkt des Fehlers normal lief oder ob es zu diesem Zeitpunkt die MAZE(A) betrieb. Wenn es normal lief, so besteht die Wahrscheinlichkeit, daß dies nur ein vorübergehender Fehler (z. B. infolge Geräusches) war, und das überwachende Verarbeitungsgerät fährt fort entlang einem Zweig 803, um das fehlerhafte Verarbeitungsgerät in den Dienst zurückzubringen. (Das Auftreten des Fehlers wird jedoch durch das überwachende Verarbeitungsgerät in einer Spezialtabelle im Kernspeicher 11 aufgezeichnet, und wenn ein gegebenes Verarbeitungsgerät den Anschein erweckt, als habe es zu viele vorübergehende Fehler, so wird eine Fehlerdiagnose eingeleitet werden.) Wenn andererseits das fehlerhafte Verarbeitungsgerät eine MAZE (A) zum Zeitpunkt des Fehlers betrieb, so besteht eher die Wahrscheinlichkeit, daß der Fehler nicht ein vorübergehender ist, und das überwachende Verarbeitungsgerät fährt daher fort entlang einem Ztveig 804, um eine Fehlerdiagnose einzuleiten.
Bevor es das fehlerhafte Verarbeitungsgerät wieder in den Dienst zurückbringt (Zweig 803), nimmt das überwachende Verarbeitungsgerät eine Aktion vor, um den aufgegebenen Prozeß (d. h. den Prozeß, der am fehlerhaften Ver&rbeitungsgerät zum Zeitpunkt des Fehlers gerade lief) für den Lauf wieder vorzubereiten. Der Fehler kann so gewesen sein, daß ein Teil der Information (im Kernspeicher 11), der von dem Prozeß verwendet wurde, verstümmelt wurde oder verlorengegangen ist, und in diesem Falle muß eine Aktion durchgeführt werden, um die verlorene Information wiederherzustellen, bevor der Prozeß weiterlaufen kann. Für einige Fehler kann jedoch diese Information nicht beeinträchtigt worden sein, und in diesem Falle kann der Prozeß an der Stelle wieder gestartet werden, wo er abgebrochen wurde. Im letzteren Falle nennt man den Prozeß »wiederablauffähig«.
Beim Eintritt in den Zweig 803 liest das überwachende Verarbeitungsgerät zunächst (Kästchen 805) den In- e>o halt der Fangregister des fehlerhaften Verarbeitungsgeräte!;, um festzustellen, welche der Fehlerprüfvorrichtungen das Fangsignal verursachte, das die Fehlerunterbrechung einleitete. Das überwachende Verarbeitungsgerät entscheidet dsm (Kästchen 806), ob dieser Fehler ω von einer solchen Art ist oder nicht ist, daß er wahrscheinlich eine Verstümmelung der Information im KcrnsDcichcr verursacht hat foder durch eine solche hervorgerufen worden ist); d. h. es bestimmt, ob der unterbrochene Prozeß wiederablauffähig ist oder nicht. Wenn beispielsweise der Fehler auftrat, während gerade die Information zwischen zweien der Verarbeiiungsgeräte-Registcr übertragen wurde, und zwar enthing einem internen Hauptweg innerhalb des Vcrarbeitungsgerätes, so ist es unwahrscheinlich, daß er den Kernspeicher beeinträchtigt hat, und der Prozeß wird als wiederablauffähig angenommen. Wenn andererseits der Fehler auftrat, während der Kernspeicher adressiert wurde, so ist anzunehmen, daß der Prozeß nicht wiederablauffähig ist
Wenn der Prozeß für wiederablauffähig gehalten wird (Kästchen 807), dann versetzt das überwachende Verarbeitungsgerät ihn in den anhängigen Zustand, bereit, den Lauf an der Stelle zu starten, wo er stoppte, und zwar immer dann, wenn ein Verarbeitungsgerät für ihn verfügbar ist Wenn andererseits der Prozeß nicht als wiederablauffähig erachtet wird (Kästchen 808), dann versetzt ihn das überwachende Ver?xbeitungsgerät in den anhängigen Zustand bereit, den t.auf vom Beginn einer speziellen Routine innerhalb des Prozesses zu starten, als die Prozeß-RoII-back-Routine bezeichnet. (Jeder Prozeß in der Anlage enthält eine solche Rollback-Routine, die so ausgelegt ist, daß sie notwendige Arbeitsiviiormation für den Prozeß wiederherstellt, bevor er in seinen Normalbetrieb zurückkehrt.) Davor jedoch führt das Überwacherprogramm selbst bestimmte Operationen durch, um die Arbeitsinformation für den Prozeß wiederherzustellen. Das »Roll-back« (Wiederstarten) wird in einem späteren Abschnitt im einzelnen beschrieben.
Wenn der aufgegebene Prozeß behandelt worden ist, so tritt der Überwacher aus diesem Bearbeitungsgerät über Kästchen 605 und 606 in F i g. 6 aus, wie vorher beschrieben. Die Zeitgabe (b)\m fehlerhaften Verarbeitungsgerät wird ablaufen, wobei sie dieses Verarbeitungsgerät veranlaßt, seinen Fehlerkanal (Kestchen 704, Fig. 7) zu schließen und das MAZE-Programm (A) zu betreiben (Kästchen 705). Läuft die MAZE richtig, dann ist d·.-.." Fehler wahrscheinlich ein vorübergehender, und das Verarbeitungsgerät wird daher in den Dienst zurückgebracht, wie vorher beschrieben (Kästchen 706). Versagt jedoch die MAZE, so wird ein Fehlerunterbrechungssignal erneut getriggert.
Es soll wiederum auf Fig.8 Bezug genommen werden. Wie bereits erwähnt, schreitet, wenn das fehlerhafte Verarbeitungsgerät eine MAZE (A) zum Zeitpunkt des Fehlers betrieb, das überwachende Verarbeitungsgerät entlang dem Zweig 804 fort, um eine Fehlerdiagnose einzuleiten. Dies geschieht durch Erzeugung (Kästchen 809) einer »Diagnose«-Aufgabe für einen spezie''c;n Prozeß, der als »Fehlerkanalprozeß« bezeichnet wird, und durch Einstellen dieses Fehlerkanalprozesses in den anhängigen Zustand, bersit, immer dann zu laufen, wenn für ihn ein Verarbeiiungsgerät zur Verfügung steht. Der Fehlerkanalprozeß wird unten im nächsten Abschnitt beschrieben.
Hat es die Fehler diagnose in dieser Weise eingeleitet, so schreitet das Überwacherprogramm nach Kästchen 605 und 606 (F i g. 6) fort, wie vorher.
Fehlerkanalprozeß
Es sei nunmehr auf F i g. 9 Bezug genommen, die ein Flußdiagramm des Fehierkanalprozesses darstellt.
Wie durch Kästchen 901 angedeutet, befindet sich dzr Fehlerkanalprozeß normalerweise im Ruhezustand. Wenn ihm eine DiaEnoseaufgabe (Kästchen 9021 erteilt
wird, so wird der Prozeß in den anhängigen Zustand versetzt, bereit, an irgendeinem Verarbeitungsgerät 10 zu laufen, das für ihn verfügbar ist. Dieses Verarbeitungsgerät ist nicht unbedingt das gleiche wie das »überwachende Verarbeitungsgerät«, das oben erwähnt wurde.
Die erste Aktion des Fehlerkanaiprozesses, wenn er betrieben wird (Kästchen 903), besteht darin, den Fehlerkanal des fehlerhaften Verarbeitungsgerätes zu adressieren und vorbestimmte Daten in die Register dieses Verarbeitungsgerätes über den Fehlerkanal einzuschreiben, um auf diese Weise das fehlerhafte Verarbeitungsgerät in Bereitschaft zu versetzen, ein spezielles diagnostisches Programm auszuführen, welches als M/4ZE-Programm (B) bezeichnet wird. Dieses MAZE-Programm ist ähnlich der MAZE(A), und es kann genau die gleiche Folge von Instruktionen verwenden. Während jedoch die MAZE(A)durch das fehlerhafte Verarbeitungsgerät unter eigener Steuerung und Kontrolle betrieben wird, wird die MAZE(B) unter der Steuerung des Fehlerkanaiprozesses betrieben, wie noch beschrieben wird.
Der Prozeß nimmt außerdem eine Rückstellung der Zeitgabe (b) im fehlerhaften Verarbeitungsgerät vor (Kästchen 904). Dadurch wird die Zeitgabe (b) am Ablaufen gehindert und der Fehlerkanal offengehalten.
Nachdem dies geschehen ist, macht der Fehlerkanalprozeß dann einen »Aufruf zum Blockieren« (Kästchen 905) für das Überwacherprogramm (siehe F i g. 6). Der Überwacher wird dann den Fehlerkanalprozeß in den blockierten Zustand (Kästchen 906) versetzen, und zwar für eine Zeitdauer von 66 ms, an deren Ende der Prozeß wieder zurück in den anhängigen Zustand versetzt wird, bereit, wiederum an irgendeinem verfügbaren Verarbeitungsgerät 10 zu laufen (was nicht unbedingt dasjenige Verarbeitungsgerät ist, an welchem er gerade lief, als der »Aufruf zum Blockieren« erfolgte).
Wenn der Prozeß wieder läuft, besteht seine erste Aktion (Kästchen 907) darin, einen »!nstruklion-oneshotw-Befeh! dem Fehlerkanal des fehlerhaften Verarbeitungsgerätes zu übermitteln, wodurch dieses Verarbeitungsgerät veranlaßt wird, eine Instruktion der MA ZE (B) auszuführen. Der Prozeß prüft dann (Kästchen 908) den Inhalt der Register des fehlerhaften Verarbeitungsgerätes, um nachzuprüfen, ob die Instruktion richtig ausgeführt wurde. Ist kein Fehler vorhanden, so prüft der Prozeß (Kästchen 909), ob das Ende der MAZE(b) erreicht worden ist, und kehrt zum Kästchen 904 zurück wenn dies nicht der Fall ist Diese Schleife setzt sich fort, bis entweder ein Fehler entdeckt oder das Ende von MAZE (B) ohne irgendwelche Fehler erreicht wird. Es ist ersichtlich, daß die Zeitgabe (b) etwa einmal alle 66 ms rückgestellt wird (Kästchen 904), und es wird ihr daher nicht die Möglichkeit gegeben, abzulaufen, und der Fehlerkanal wird offengehalten.
Wenn der Prozeß die unrichtige Ausführung einer Instruktion entdeckt (Kästchen 908), wiederholt er diese Instruktion, und zwar immer nur eine Übertragung zu einer Zeit, um die genaue Stelle der MAZE(B) zu entdecken, an welcher der Fehler auftrat Zuerst (Kästchen 910) nimmt der Prozeß eine Rückstellung der Zeitgabe (b) vor und macht dann (Kästchen 911) einen »Aufruf zum Blockieren«. Der Fehlerkanalprozeß wird dann für 6b ms blockiert (Kästchen 912). und zwar durch den \ ihcrwiiohcT. Am l-'ndc dieser Periode wird der Pro/eß i-imblockicri b/.w. freigegeben und läuft an irgendeinem verfügbaren Verarbeitungsgerät Wenn der Prozeß wieder läuft, besteht seine erste Aktion (Kästchen 913) darin, einen »Übertragungs-one-shot«-Befehl dem Fehlerkanal des fehlerhaften Verarbeitungsgerätes zu übermitteln, wobei dieses Verarbeitungsgeräi veranlaßt wird, eine Übertragung der letzten Instruktion auszuführen. Der Prozeß überprüft dann (Kästchen 914) den Inhalt der Register des fehlerhaften Verarbeitungsgerätes, um festzustellen, ob die Übertragung richtig ausgeführt wurde oder nicht. Ist kein Fehler vorhanden, so wird eine Prüfung (Kästchen 915) durchgeführt, um fcstzustellen, ob das Ende der Instruktion erreicht worden ist, und wenn nicht, kehrt der Prozeß nach Kästchen 910 zurück. Diese Schleife dauert an, bis entweder eine fehlerhafte Übertragung gefunden oder das Ende der Instruktion erreicht ist
Als nächstes (Kästchen 916) vergleicht der Prozeß die an den Kästchen 908 und 914 ermittelten Fehler mit einer L.istc von Fehlern, die vorher im fehlerhaften Verarbcilungsgerät ermittelt worden sind, wobei diese Liste in einem Kernspeicher Ii gehalten wird, ist der Fehler ein neuer, so erzeugt der Prozeß einen Ausdruck (Kästchen 917), um diesen Fehler den Wartungstechnikern zur Kenntnis zu bringen, und führt den Fehler in die Liste (Kästchen 918) ein, um sicherzustellen, daß er nicht wiederholt ausgedruckt wird.
Der Fehlerkanalprozeß macht dann (Kästchen 919) einen »Aufruf zum Beenden« für den Überwacher (siehe Fig.6) und wird dann in den Ruhezustand zurückversetzt (Kästchen 901). Die Folge davon ist, daß der Zeitgabe (b) im fehlerhaften Verarbeitungsgerät die Möglichkeit gegeben wird, abzulaufen, woraufhin dieses Verarbeitungsgeräi seinen Fehlerkanal schließen und eine MAZE(A) betreiben wird, wie vorher beschrieben (siehe F i g. 7).
Wenn unter weiterer Bezugnahme auf Fig.9 die MAZE (B) beendet ist. ohne daß irgendwelche Fehler entdeckt worden sind (Kästchen 909), dann Starlet der Fehierkanaiprozcß einen nfiäSSüfigs-rriäivörgang, um die verschiedenen Paritäts-Prüfschaltungen innerhalb des fehlerhaften Verarbeitungsgerätes zu überprüfen.
Dies wird dadurch ausgeführt daß eine vorbeslimmtc »Paritätsinkorrektw-Information in jedes der Verarbeitungsgeräte-Register nacheinander eingeschrieben wird, um zu sehen, ob diese durch die zugehörigen Paritäts-Prüfschaltungen erfaßt wird. Zunächst (Kästchen
920) nimmt der Fehlerkanalprozeß eine Rückstellung der Zeitgabe (b) im fehlerhaften Verarbeitungsgerät vor, um den Fehlerkanal offenzuhalten. Der Prozeß macht dann (Kästchen 921) einen »Aufruf zum Blockieren«, woraufhin er in den blockierten Zustand für 66 ms
so versetzt wird (Kästchen 922). Wenn der Prozeß »-feder läuft, führt er eine Erfassungsprüfung an einem ausgewählten der Register (Kästchen 923) aus und prüft das Fangregister, um festzustellen, ob der Paritätsfehler richtig ermittelt ist (Kästchen 924). Ist dies der Fall, so prüft der Prozeß, ob alle erforderlichen Erfassungsprüfungen durchgeführt worden sind (Kästchen 925). Nimmt man an, daß noch mehr Prüfungen durchzuführen sind, so kehrt der Prozeß auf Kästchen 920 zurück, um die nächste Prüfung durchzuführen.
Wenn ein Fehler an Kästchen 924 gefunden wird, dann schreitet der Prozeß wie vorher nach Kästchen 916 bis 919 fort um den Fehler auszudrucken, wenn es sich um einen neuen handelt bevor ein »Aufruf zum Beenden« gemacht wird.
h'» Die oben beschriebene Fchleraktion kann auch aufgrund anderer Fehleranzeigen als Paritäts-Prüfungen eingeleitet werden: Zum Beispiel aufgrund einer internen Prüfung innerhalb des Prozesses selbst
Es sei erneut auf Fig. 7 Bezug genommen: Wenn ein vom Verarbeitungsgerät ermittelter Fehler von solcher Art ist, daß er wahrscheinlich in Wirklichkeit nicht durch dieses Verarbeitungsgerät erzeugt worden ist (Kästchen 707), so kann die Fehleraktion modifiziert werden, so daß das Verarbeitungsgerät eine Selbstprüfung versucht. Tit einer MAZE (A) Zuemi, und nur den Fehlerkanal öflnct, um die Aktion durch ein anderes Verarbeitungsgerät anzufordern, wenn die MAZE (A) fehlgeht. Beispielsweise kann die Anlage so eingerichtet sein, daß sie eine Fehleranzeige erzeugt, sollte irgendein Prozeß versuchen, Zugang zu einem Teil der Arbeitsspeicherung zu erhalten, der ihm verwehrt ist, z. B. weil er ein Teil des Arbeitsraumes eines anderen Prozesses ist. Ein solcher »Adreß-Schutzausfall« kann wegen eines Fehlers eintreten, der auftrat, als der Prozeß vorher an einem anderen Verarbeitungsgerät lief, oder sogar wegen eines Software-Fehlers. Somit versucht im Falle eines derartigen Adreß-Schutzausfalles das Verarbeitungsgerät eine Selbstprüfung, bevor es eine Diagnose anfordert.
»Roll-back« (Wiederstart)
Unter bestimmten Fehlcrbedingungen kann einem Prozeß ein gewisser Teil seiner Information verstümmelt werden oder verlorengehen. In einer solchen Situation wird der Prozeß unterbrochen und am Beginn einer Spezialroutine innerhalb des Prozesses wieder gestartet, die als Prozeß-Roll-back-Routine bezeichnet wird. Jeder Prozeß in der Anlage enthält eine derartige Rollback-Routine, die so ausgelegt ist, daß sie die nötige Arbeitsinformation für den Prozeß wiederherstellt, bevor dieser in seinen Normalbetrieb zurückkehrt.
Eine Situation, in welcher ein Prozeß unterbrochen und zum Beginn seiner Roll-back-Routine wieder gestartet werden kann, wurde bereits beschrieben: Das heißt als eine Folge der Ermittlung eines Fehlers durch Hardware-Schaltungen innerhalb des Verarbeitungsgerätes iO, in welchem der Prozeß zum Zeitpunkt des Fehlers lief. Ein Roll-back kann auch in anderer Weise eingeleitet werden, z. B. kann das Überwacherprogramm so eingerichtet werden, daß es verschiedene Prüfungen am Verlauf der Prozesse durchführt, und wenn es einen Fehler entdeckt, der einen oder mehrere der Prozesse beeinträchtigt, so kann es entscheiden, jene Prozesse wieder zu starten. Wenn somit ein Prozeß eine Aufgabe erzeugt und den Überwacher anruft, diese Aufgabe einem anderen Prozeß (siehe Fig.6) zu überlassen, so kann der Überwacher überprüfen, ob der rufende Prozeß tatsächlich ermächtigt ist, Aufgaben an diesen anderen Prozeß zu übergeben. Ist der rufende Prozeß nicht befugt, dies zu tun, so kann der Überwacher dann den rufenden Prozeß am Beginn seiner Rollback-Routine wieder starten. Als ein anderes Beispiel kann das Roll-back (Wiederstarten) eines Prozesses durch das Überwacherprogramm aufgrund einer Anforderung vom Prozeß selbst eingeleitet werden, und zwar als Folge des Versagens von internen Prüfungen innerhalb des Prozesses.
Es soll nunmehr auf Fig. 10 Bezug genommen werden, die ein Flußdiagramm eines typischen Prozesses in der Anlage darstellt und dessen Roll-back-Routine zeigt. Es sei angenommen, daß dieser Prozeß ein solcher ist, der bestimmte Verarbeitungsfunktionen ausführt, die den Aufbau von Ferngesprächen in einer Fernsprechvermittlungsanlage betreffen. Diese Verarbeitungsfunktionen bilden die normale Routine des Prozesses und werden durch das Kästchen 101 in F i g. 10 dargestellt. Das Kästchen 102 repräsentiert den Ruhezustand des Prozesses. Wenn dem Prozeß dann eine Aufgabe angewiesen wird (Kästchen 103), dann wird er in den anhängigen Zustand versetzt (Kästchen 104). Der Prozeß wird nunmehr an irgendeinem der Verarbeitungsgeräte 10 (Fig. 1) laufen, das für ihn verfügbar ist. Wenn der Prozeß läuft, so startet er bei Kästchen 105, welches als »Normalstart« bezeichnet ist. Hat er sich mit einer Aufgabe befaßt, dann entscheidet der Prozeß
ίο (Kästchen 106), ob noch irgendwelche Aufgaben in seiner Eingangsreihe von Aufgaben vorhanden sind, und wenn dies so ist, dann kehrt er zum Normalstart (Kästchen 105) zurück. Sind keine Aufgaben mehr vorhanden, so macht der Prozeß einen »Aufruf zum Beenden« (Kästchen 107) für den Überwacher und wird in den Ruhezustand zurückversetzt.
Dem Prozeß sind bestimmte Bereiche des Kernspeichers 11 (Fi g. 1) als Arbeitsspeicher zugeordnet, in welchen er seine Arbeitsinformation hält. Diese Arbeitsinformation kann beispielsweise Details der Zustände einer großen Anzahl von Leitungskreisen 19 in der Anlage wie auch andere Informationen umfassen. Von einigen der wichtigeren Arbeitsinformationen ist eine Duplikatkopie an einem der Trommelspeicher 12 gespeichert. Jedoch ist eine Duplikatkopie nicht für die Einzelheiten der Leitungskreise vorgesehen.
Wenn ein Fehler in der Anlage entdeckt wird, der wahrscheinlich die Arbeitsinformation des Prozesses in den Kernspeichern 11 verstümmelt oder gelöscht hat, dann wird eine Roll-back-Aktion wie folgt vorgenommen. Zunächst ist das Überwacherprogramm in der Weise wirksam, daß es die Information im Kernspeicher, welche eine Duplikatkopie am Trommelspeicher hat, mit einer von der Trommel erhaltenen frischen Kopie ersetzt. Dann versetzt das Überwacherprogramm den Prozeß in den anhängigen Zustand, bereit, wieder zu laufen, wenn ein Verarbeitungsgerät verfügbar wird. Wenn der Prozeß wieder läuft, so startet er am Beginn seiner Roll-back-Routine, wie durch das Kästchen 108 in Fig. 10 dargestellt. In diesem besonderen Beispiel wirkt die Roll-back-Routine in der Weise, daß sie die Leitungskreise abfragt, um auf diese Weise die Information im Kernspeicher 1!, welche die Zustände dieser Kreise betrifft, zu rekonstruieren. Jeder der Leitungskreise 19 hat drei »Abfrage«-Drähte, die als die Y-, S- und NS-Drähte bezeichnet werden und für jedes beliebige der Verarbeitungsgeräte 10 über dessen Eingangs/ Ausgangs-Hauptweg 14 und den entsprechenden Eingangs/Ausgangs-Kanal 15 sowie den Unterkanal 16
so (siehe Fig. I)zugänglich sind. Jeder dieser Drähte trägt ein Binärsignal, welches den Zustand eines bestimmten Relais innerhalb des Leitungskreises wiedergibt und somit eine Information bezüglich des augenblicklichen Zustandes des Leitungskreises wie folgt enthält:
Y = 1 bedeutet, daß ein Anruf durch den Leitungskreis fortschreitet; V=O bedeutet, daß der Leitungskreis leerläuft
S = 1 bedeutet daß es sich um einen abgehenden Anruf handelt; 5=0 bedeutet einen ankommenden Anruf.
(Ill) Im Falle eines abgehenden Anrufs bedeutet NS = 0, daß der Leitungskreis sich im »Sprech«-Zustand befindet (d. h, daß die Verbindung völlig aufgebaut ist); NS — 1 bedeutet entweder, daß der Leitungskreis leerläuft oder daß an ihm ein abgehender Anruf aufgebaut wird, der jedoch noch nicht vollständig aufgebaut ist
25 26
Die Roll-back-Roiitine fragt (Kästchen 110) jeden der Leitungskreise 19 ab, und zwar durch Anlegen der entsprechenden Kanal- und Unterkanal-Adressen an die »Adreß« Drähte des Eingangs/Ausgangs-Hauptweges 14. Dadurch werden die Signale von den Y, S- und NS-Drähten an dds Verarbeitungsgerät (an welchem die Routine läuft) über die »Datenrückkehr«-Drähte des Hauptweges nickübermittelt. Als nächstes prüft die Routine den Wert des Signals vom V-Drahl her (Kästchen 111). Wenn K=O ist, so ist anzunehmen, daß der Leitungskreis leerläuft. Wenn V-1 ist, so prüft die Routine den Wert des Signals vom S-Draht her (Kästchen 112), und wenn 5-0 ist, so ist anzunehmen, daß der Leitungskreis sich im Zustand eines ankommenden Gesprächs befindet. Wenn S= 1 ist, dann prüft die Routine den Wert des vom NS- Draht herkommenden Signals (Kästchen 113), und wenn NS=O ist, dann ist anzunehmen, daß sich der Leitungskreis im Zustand des abgehenden Gesprächs befindet. Wenn /VS= i isi, dann i»i anzunehmen, daß sich der Leitungskreis im Freizustand befindet. Er befindet sich in Wirklichkeit wahrscheinlich in einem gewissen Stadium des Aufbaus eines abgehenden Anrufs, aber es ist unmöglich, aus den Signalen an den drei »Abfrage«-Drähten genau zu sagen, in welchem Stadium er sich befindet. In diesem FaIi wird daher der abgehende Anruf, der im Aufbau begriffen war, als Folge des Fehlers verlorengehen. Es ist jedoch zu berücksichtigen, daß nur eine sehr kleine Anzahl von Anrufen auf diese Weise verlorengehen wird, da es viel wahrscheinlicher ist, daß sich der Leitungskreis entweder in seinem »Sprech«-Zustand oder seinem Freizustand befindet.
Nach Durchführung dieser Prüfungen an den Y-, S- und Λ'5-Signalen adressiert die Routine die Speicherstelle im Kernspeicher 11, die dem in Frage stehenden Leitungskreis zugeordnet ist, und schreibt ein Datenwort ein, v/e!ches je nach Fa!! dem »Freizustand«, »abgehenden Gespräch« oder »ankommenden Gespräch« entspricht (Kästchen 114,115 und 116).
Die Routine führt dann eine Prüfung durch, um festzustellen, ob sie alle Leitungskreise abgetastet hat (Kästchen 117), und wemi nicht, so kehrt sie nach Kästchen 110 zurück, um einen anderen Leitungskreis abzufragen. Sind alle Leitungskreise abgetastet worden, so wird das Roll-back beendet, und der Prozeß läuft von seinem Normalstart 105 aus weiter.
Es sei darauf hingewiesen, daß unterschiedliche Prozesse unterschiedliche Roll-back-Routinen enthalten, und zwar abhängig von den Erfordernissen jedes besonderen Prozesses. So können andere Prozesse Roll-back- Routinen zum Abtasten der Zustände von anderen peripheren Einrichtungen als Leitungskreisen enthalten; z. B. Schaltkreise 18 oder Sender und Empfänger 20 (Fig. 1).
Das »Roll-back« ist Gegenstand der GB-PS 14 34 187.
Hierzu 8 Blatt Zeichnungen

Claims (7)

Patentansprüche:
1. Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage mit einer Vielzahl von unabhängigen Daten-Verarbeitungsgeräten, die je einen Datenanschluß und einen Überwachungsanschluß aufweisen und je unter unabhängiger Programmsteuerung arbeiten, mit einem allen Verarbeitungsgeräten gemeinsamen Datenspeicher, zu dem jedes der Verarbeitungsgeräte Zugang hat, mit einer Vielzahl von Daten-Hauptwegen, und zwar einen für jedes Verarbeitungsgerät, zum Obertragen von Daten nach den Daten-Anschlüssen der entsprechenden Verarbeitungsgeräte und von die- is sen weg, mit einer Vielzahl von Eingangs/Ausgangs-Kanälen, die mit den Daten-Hauptwegen verbunden sind, wobei jedes Verarbeitungsgerät dadurch Zugang zu irgeÄ-jeinem der Kanäle über seinen jeweiligen Daten- Ksuptwsg hat, und mit einer Vielzahl von Fehlerkanälen, von denen jeder einem entsprechenden der Verarbeitungsgeräte zugeordnet ist und durch Instruktionen von seinem zugeordneten Verarbeitungsgerät geöffnet oder geschlossen werden kann, wobei jeder Fehlerkanal einerseits mit dem Überwachungsanschluß seines zugehörigen Verarbeitungsgerätes und andererseits mit dem Daten-Hauptweg von zumindest einem anderen Verarbeitungsgerät verbunden ist, derart, daß der Betrieb des zugehörigen '''erarbeitungsgerätes durch dieses andere Verarbeitungsgerät überwacht werden kann, wenn der Fehlerkanal geöffnet ist, der Überwachungsanschluß jedes Veravbeitnjngsgerätes Daten aus einer Vielzahl von Registern innerhalb des Verarbeitungsgerätes trägt und jeder Fehlerkanal MuI-tiplex-Einrichtungen zum Auswählen von Daten aus einem der Register im zugehörigen Verarbeitungsgerät auf eine vom anderen Verarbeitungsgerät über deren Daten-Hauptweg empfangene Instruktion hin aufweist, dadurch gekennzeichnet, daß jeder Fehlerkanal (22) Einrichtungen (239. 244) zum Rückübermitteln der ausgewählten Daten über den Daten-Hauptweg (14) des anderen Verarbeitungsgerätes (10) aufweist.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß jedes Verarbeitungsgerät (10) eine Konsole (24) mit einer Vielzahl von Steuerungen und einer Anzeige aufweist, daß die Konsole (24) mit dem jeweiligen Überwachungsanschluß (23) des Verarbeitungsgerätes (10) verbunden ist, wenn der Fehlerkanal (22) geschlossen ist, derart, daß der Betrieb dieses Verarbeitungsgerätes (10) manuell von der Konsole (24) aus überwacht werden kann, und daß jeder der Fehlerkanäle (22) außerdem eine entsprechende Einrichtung (218,221) zum Trennen der Konsolen-Steuerungen von dein Überwachungsnnschluß (23) des zugehörigen Verarbeitungsgerätes (10) aufweist, wenn der Fehlerkanal (22) geöffnet ist.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Daten in jedem der Rcgi- w) stcr aus einer Vielzahl von Datenbits und einem Paritäts-Prüfbit bestehen und daß die Einrichtung (239, 244) /um Rückübermittcln der ausgewählten Daten über einen Datcn-Hauptweg (14) so eingerichtet ist, daß sie diese ausgewählten Daten gleichzeitig mit bs einer weiteren Information übermittelt, um anzuzeigen, ob die ausgewählten Daten paritätsgerecht sind oder nicht.
4. Anordnung nach einem der Ansprüche I bis 3, dadurch gekennzeichnet, daß jeder der Eingangs/ Ausgangs-Kanäle (. j) und der Fehlerkanäle (22), der mit einem gegebenen der Daten-Hauptwege (14) verbunden ist, eine ihm zugeordnete eindeutige Adresse aufweist, und daß jeder dieser Kanäle mit einer logischen Decodierungsschaltung (205) zum Erkennen seiner eigenen Adresse ausgerüstet ist, wenn diese dem Daten-Hauptweg (14) durch das entsprechende Verarbeitungsgerät (10) übermittelt wird.
5. Anordnung nach einem der Ansprüche 1 bis 4, gekennzeichnet durch eine Unterbrechereinheit (25) zum Empfangen von Dienstanforderungen von irgendeinem der Verarbeitungsgeräte (10) und zum Auswählen eines anderen dieser Verarbeitungsgeräte (10), damit dieses sich mit der Anforderung befaßt, wobei jedes der Verarbeitungsgeräte dazu in der Lage ist, in ihm auftretende Fehler festzustellen, und bei Auftreten eines solchen Fehlers veranlaßt wird, sich selbst vom Normalbetrieb auszuschließen, ihren zugehörigen Fehlerkanal (22) zu öffnen und eine Anforderung des Dienstes der Unterbrechereinheit (25) zu übermitteln.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß ein Verarbeitungsgerät (10), wenn es durch die Unterbrechereinheit (25) ausgewählt ist, um sich mit einer Dienstanforderung für ein anderes Verarbeitungsgerät (10) zu befassen, Zugang zum anfordernden Verarbeitungsgerät (10) über den Fehlerkanai (22) des anfordernden Verarbeilur.gsgerätes (10) erhält und daraufhin das anfordernde Verarbeitungsgerät (10) vorbestimmten Prüfungen unterwirft, um den Zustand des anfordernden Verarbeitungsgerätes (10) zu diagnostizieren.
7. Anordnung nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß jedes Verarbeitungsgerät (10) ferner eine Zeitgebereinrichtung rur Zeitsteuerung einer vorbestimmten Periode enthält, wobei diese Periode jedesmal dann gestartet wird, wenn der zugeordnete Fehlerkanal (22) geöffnet ist, und erneut gestartet wird, wenn ein Zugang zum Verarbeitungsgerät (10) über den Fehlerkanal (22) durch ein anderes Verarbeitungsgerät (10) hergestellt wird, wobei durch Ablauf der Periode der Fehlerkanal (22) wieder geschlossen wird und das Verarbeitungsgerät (10) veranlaßt wird, eine Seibstprüfung zu beireiben, woraufhin bei richtiger Beendigung der Selbstprüfung das Verarbeitungsgerät (10) in den Normalbctricb zurückkehrt.
DE2320698A 1972-04-26 1973-04-24 Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage Expired DE2320698C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1936472A GB1434186A (en) 1972-04-26 1972-04-26 Multiprocessor computer systems

Publications (2)

Publication Number Publication Date
DE2320698A1 DE2320698A1 (de) 1973-11-08
DE2320698C2 true DE2320698C2 (de) 1985-03-21

Family

ID=10128110

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2320698A Expired DE2320698C2 (de) 1972-04-26 1973-04-24 Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US3876987A (de)
BE (1) BE798782A (de)
CA (1) CA984519A (de)
DE (1) DE2320698C2 (de)
GB (1) GB1434186A (de)
SE (1) SE429692B (de)
ZA (1) ZA732851B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3906846A1 (de) * 1989-03-03 1990-09-06 Bodenseewerk Geraetetech Redundante rechneranordnung fuer steuersysteme

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5248046B2 (de) * 1974-04-17 1977-12-07
US3984819A (en) * 1974-06-03 1976-10-05 Honeywell Inc. Data processing interconnection techniques
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4023142A (en) * 1975-04-14 1977-05-10 International Business Machines Corporation Common diagnostic bus for computer systems to enable testing concurrently with normal system operation
US4177520A (en) * 1975-08-14 1979-12-04 Hewlett-Packard Company Calculator apparatus having a single-step key for displaying and executing program steps and displaying the result
US4315311A (en) * 1975-10-28 1982-02-09 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme) Diagnostic system for a data processing system
GB1584003A (en) * 1976-06-07 1981-02-04 Amdahl Corp Data processing system and information scanout
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
DE2647367C3 (de) * 1976-10-20 1982-12-09 Siemens AG, 1000 Berlin und 8000 München Redundante Prozeßsteueranordnung
US4066883A (en) * 1976-11-24 1978-01-03 International Business Machines Corporation Test vehicle for selectively inserting diagnostic signals into a bus-connected data-processing system
JPS53121441A (en) * 1977-03-31 1978-10-23 Toshiba Corp Duplicated information processor
USRE31407E (en) 1978-05-10 1983-10-04 Tesdata Systems Corporation Computer monitoring system
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
JPS594050B2 (ja) * 1979-01-25 1984-01-27 日本電気株式会社 情報処理システム
US4356546A (en) * 1980-02-05 1982-10-26 The Bendix Corporation Fault-tolerant multi-computer system
CA1179069A (en) * 1981-04-10 1984-12-04 Yasushi Fukunaga Data transmission apparatus for a multiprocessor system
DE3208573C2 (de) * 1982-03-10 1985-06-27 Standard Elektrik Lorenz Ag, 7000 Stuttgart 2 aus 3-Auswahleinrichtung für ein 3-Rechnersystem
US4488303A (en) * 1982-05-17 1984-12-11 Rca Corporation Fail-safe circuit for a microcomputer based system
US4539682A (en) * 1983-04-11 1985-09-03 The United States Of America As Represented By The Secretary Of The Army Method and apparatus for signaling on-line failure detection
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
DE3639055C2 (de) * 1986-11-14 1998-02-05 Bosch Gmbh Robert Verfahren zur Betriebsüberwachung und Fehlerkorrektur von Rechnern eines Mehrrechnersystems und Mehrrechnersystem
US4885739A (en) * 1987-11-13 1989-12-05 Dsc Communications Corporation Interprocessor switching network
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
JP2996440B2 (ja) * 1988-03-18 1999-12-27 富士通株式会社 データ処理システムの診断方式
GB2228114B (en) * 1989-02-13 1993-02-10 Westinghouse Brake & Signal A system comprising a processor
JPH02242469A (ja) * 1989-03-16 1990-09-26 Fujitsu Ltd 対向装置監視方式
JPH07120292B2 (ja) * 1989-06-19 1995-12-20 日本電気株式会社 情報処理システム
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
JPH05508046A (ja) * 1990-06-11 1993-11-11 クレイ、リサーチ、インコーポレーテッド 多重プロセッサシステムのための高速割込み機構
JPH04156641A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd レジスタアクセス装置
CA2106280C (en) * 1992-09-30 2000-01-18 Yennun Huang Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance
US5581794A (en) * 1992-12-18 1996-12-03 Amdahl Corporation Apparatus for generating a channel time-out signal after 16.38 milliseconds
US6161202A (en) * 1997-02-18 2000-12-12 Ee-Signals Gmbh & Co. Kg Method for the monitoring of integrated circuits
JP2001034496A (ja) * 1999-07-22 2001-02-09 Nec Corp 自己修復回路
FR2807594A1 (fr) * 2000-04-05 2001-10-12 Inup Ferme d'ordinateurs simulant un reseau local avec surveillance de la simulation
DE10328059A1 (de) * 2003-06-23 2005-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
US7152186B2 (en) * 2003-08-04 2006-12-19 Arm Limited Cross-triggering of processing devices
JP2006243865A (ja) * 2005-03-01 2006-09-14 Seiko Epson Corp プロセッサおよび情報処理方法
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US9311202B2 (en) * 2012-11-01 2016-04-12 Futurewei Technologies, Inc. Network processor online logic test

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3386082A (en) * 1965-06-02 1968-05-28 Ibm Configuration control in multiprocessors
US3541517A (en) * 1966-05-19 1970-11-17 Gen Electric Apparatus providing inter-processor communication and program control in a multicomputer system
BE693071A (de) * 1967-01-24 1967-07-24
US3564502A (en) * 1968-01-15 1971-02-16 Ibm Channel position signaling method and means
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3654603A (en) * 1969-10-31 1972-04-04 Astrodata Inc Communications exchange
US3715729A (en) * 1971-03-10 1973-02-06 Ibm Timing control for a multiprocessor system
US3721961A (en) * 1971-08-11 1973-03-20 Ibm Data processing subsystems
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3735362A (en) * 1971-09-22 1973-05-22 Ibm Shift register interconnection system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3906846A1 (de) * 1989-03-03 1990-09-06 Bodenseewerk Geraetetech Redundante rechneranordnung fuer steuersysteme

Also Published As

Publication number Publication date
US3876987A (en) 1975-04-08
ZA732851B (en) 1974-04-24
DE2320698A1 (de) 1973-11-08
SE429692B (sv) 1983-09-19
GB1434186A (en) 1976-05-05
CA984519A (en) 1976-02-24
BE798782A (fr) 1973-08-16

Similar Documents

Publication Publication Date Title
DE2320698C2 (de) Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage
DE3879069T2 (de) Schwellenalarme zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem.
DE3879071T2 (de) Verwaltung einer defekten Hilfsquelle in einem Multiplex-Kommunikationssystem.
DE3879072T2 (de) Expertsystem zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem.
DE1279980C2 (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2230830C2 (de) Datenverarbeitungsanlage
DE1449529C3 (de) Unterbrechungseinrichtung für ein Datenverarbeitungssystem
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE2657848C2 (de)
DE69228986T2 (de) Durch hierarchisch verteilte wissenbasierte maschine ausgelöste wartungs-vorrichtung und -verfahren
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
DE3688526T2 (de) Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem.
DE2165767A1 (de) Datenverarbeitungssystem
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2751106C2 (de)
DE2048670A1 (de) Speicherwartungsanordnung fur Daten verarbeitungsanlagen
DE1549437A1 (de) Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen
DE3490263T1 (de) Steuerkanal-Schnittstellenschaltung
DE1549550A1 (de) Computeranordnung zum Steuern einer Anlage mit einer Anzahl zusammenwirkender Einrichtungen
DE2237672A1 (de) Fehlerpruef- und fehlerdiagnoseeinrichtung in einer elektronischen datenverarbeitungsanlage und verfahren zu deren betrieb
DE69422158T2 (de) Verfahren und System in einem verteilten Betriebssystem
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
DE69710034T2 (de) Verfahren und Vorrichtung zum Schützen von Speicherteilen
DE2707267B2 (de) Anlage zum Erlangen des Zugriffs zu Fernmeldeleitungen
DE69914568T2 (de) Vorrichtung, Verfahren und System zur Dateisynchronisierung in einem Fehlertoleranten Netzwerk

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee