[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE2320698A1 - Mehrfach-datenverarbeitungsanlage, insbesondere zur ueberwachung von fernmeldevermittlungseinrichtungen - Google Patents

Mehrfach-datenverarbeitungsanlage, insbesondere zur ueberwachung von fernmeldevermittlungseinrichtungen

Info

Publication number
DE2320698A1
DE2320698A1 DE2320698A DE2320698A DE2320698A1 DE 2320698 A1 DE2320698 A1 DE 2320698A1 DE 2320698 A DE2320698 A DE 2320698A DE 2320698 A DE2320698 A DE 2320698A DE 2320698 A1 DE2320698 A1 DE 2320698A1
Authority
DE
Germany
Prior art keywords
processing unit
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.)
Granted
Application number
DE2320698A
Other languages
English (en)
Other versions
DE2320698C2 (de
Inventor
Robin Edward Dalton
Brian Harry 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)
  • Debugging And Monitoring (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Hardware Redundancy (AREA)

Description

PATENTANWALT T.i.fon, (027,)324W DIPL-ING. ERICH SCHUBERT 232 Ω RQR τ...«,^^.,****,
tJtUOgg Posticheckkonteni
Köln 104931, Ειΐ·η 203*2 Bankkonten)
Abi. ■ Patentanwalt Dipl.-Ing. SCHUBERT, 5» SieoM, EiMrncr Straft« 227 Deutsch· Bank AO., Postfach «2 Filiaten Siagm «. OfacriMinm (RhM.)
73 025 Kü/Schm
21 APR. 1973
The General Electric Company Limited, 1 Stanhope Gate,
London W1A 1BH, England
Für diese Anmeldung wird die Priorität aus der britischen Patentanmeldung Nr. 19364/72 vom 26.April 1972 beansprucht.
Mehrfach-Datenverarbeitungsanlage, insbesondere zur Überwachung von Fernmeldevermittlungseinrichtungen
Die Erfindung bezieht sich auf Mehrfach-Datenverarbeitungsanlagen /multiprocessor computer systems/ und betrifft insbesondere, wenn auch nicht ausschließlich, solche Anlagen, die bei der Kontrolle oder Steuerung von Fernmeldevermittlungseinrichtungen verwendet werden.
Es wurden bereits Mehrfaeh-Datenverarbeitungsanlagen vorgeschlagen, die eine Vielzahl von unabhängigen, gleichzeitig arbeitenden Datenverarbeitungseinheiten / data processors/ aufweisen,
309845/1093
die sich eines gemeinsamen Datenspeichers bedienen und je Zugang zu einem beliebigen Kanal aus einem Satz von Eingangs/Ausgangs-Kanälen haben. Die Datenverarbeitungs-Betriebsbelastung der Anlage wird auf die Verarbeitungseinheiten verteilt, und im allgemeinen werden alle Verarbeitungseinheiten als äquivalent betrachtet, so daß irgendeine besondere Einzelheit von Datenverarbeitung, die erforderlich ist, an jeder beliebigen der Verarbeitungseinheiten ausgeführt werden kann, die zu der betreffenden Zeit verfügbar ist.
In bestimmten Anwendungsfällen der Computer- bzw. Datenverarbeitungsanlagen, wie bei der Kontrolle oder Steuerung einer Fernsprechvermittlungseinrichtung, ist die Sicherheit (im Sinne der Anlagen-Zuverlässigkeit) von äußerster Wichtigkeit. Mehrfach-Datenverarbeitungsanlagen sind in solchen Anwendungsfällen vorteilhaft, da die Anordnung so getroffen werden kanns daß ein Versagen bzw. ein Ausfall einer Verarbeitungseinheit nicht zu einem vollständigen Zusammenbruch der Anlage führt, sondern lediglich die Gesamtkapazität für die Verarbeitung von Daten reduziert. Es ist jedoch zweifellos wünschenswert 9 eine fehlerhafte Verarbeitungseinheit so schnell wie möglich zu erkennen und den Fehler mit der kleinstmöglichen Verzögerung zu diagnostizieren und richtigzustellen.
Der Erfindung liegt die Aufgabe zugrunde, eine Mehrfach-Datenverarbeitungsanlage zu schaffen, die neue Mittel enthält, die sich mit Fehlern befassen, welche in den Verarbeitungseinheiten der Anlage auftreten.
Eine erfindungsgemäße Mehrfach-Datenverarbeitungsanlage setzt sich zusammen aus einer Vielzahl von unabhängigen Datenverarbeitungseinheiten, die je einen Datenanschluß /data interface/ und
30 9845/1093
einen Überwachungsanschluß /monitoring interface/ aufweisen; aus einem Datenspeicher, der allen Verarbeitungseinheiten gemeinsam zugehört und zu welchem jede dieser Verarbeitungseinheiten Zugang hat; aus einer Vielzahl von Daten-Hauptwegen, und zwar einen für jede Verarbeitungseinheit, zur Übermittlung von Daten nach den Datenanschlüssen der jeweiligen Verarbeitungseinheiten hin und von diesen her, sowie aus einer Vielzahl von Eingangs/Ausgangs-Kanälen, die mit diesen Daten-Hauptwegen verbunden sind, wobei dadurch jede Verarbeitungseinheit Zugang zu irgendeinem beliebigen dieser Kanäle über ihren jeweiligen Daten-Hauptweg hat; gekennzeichnet durch eine Vielzahl von Fehlerkanälen, von denen jeder einer entsprechenden der Verarbeitungseinheiten zugeordnet ist und durch Instruktionen von dieser Verarbeitungseinheit her geöffnet oder geschlossen werden kann, wobei ferner jeder Fehlerkanal einerseits mit dem Überwachungsanschluß seiner zugeordneten Verarbeitungseinheit und andererseits mit dem Daten-Hauptweg von zumindest einer anderen Verarbeitungseinheit verbunden ist, wodurch die Möglichkeit geschaffen wird, daß der Betrieb dieser zugeordneten Verarbeitungseinheit durch diese andere Verarbeitungseinheit überwacht wird, wenn jener Fehlerkanal geöffnet ist.
Vorzugsweise enthält die Anlage außerdem eine Unterbrecher- · einheit zum Empfangen von Dienstanforderungen von irgendeiner der Verarbeitungseinheiten her und zum Auswählen einer anderen dieser Verarbeitungseinheiten, damit diese sich mit der Anforderung befaßt, und jede der Verarbeitungseinheiten enthält eine Fehlerermittlungseinrichtung zum Feststellen von Fehlern, die in dieser Verarbeitungseinheit auftreten, und zum Veranlassen dieser Verarbeitungseinheit, sich bei Auftreten eines solchen Fehlers selbst vom Hormalbetrieb auszuschließen, ihren zugeordneten Fehlerkanal zu öffnen und eine Dienstanforderung nach der Unterbreehereinheit zu übermitteln. Wenn eine Verarbeitungseinheit durch diese Unterbreehereinheit ausgewählt ist, um sich mit einer Dienetanforderung
309845/1093
von einer anderen Verarbeitungseinheit her zu befassen, so erhält vorzugsweise die ausgewählte Verarbeitungseinheit Zugang zu der anfordernden Verarbeitungseinheit über den Fehlerkanal der anfordernden Verarbeitungseinheit und unterwirft diese vorbestimmten Tests, um den Zustand der anfordernden Verarbeitungseinheit zu diagnostizieren.
Zweckmäßig enthält jede Verarbeitungseinheit ferner eine Zeitsteuereinridhbung zur Zeitsteuerung einer vorbestimmten "timeout"-Periode, wobei diese "time-out"-Periode jedesmal dann gestartet wird, wenn der zugeordnete Fehlerkanal geöffnet ist, und erneut gestartet wird, wenn ein Zugang zur Verarbeitungseinheit über den lehlerkanal durch eine andere Verarbeitungseinheit hergestellt wird, wobei durch den Ablauf dieser "time-out"-Periode der Fehlerkanal wieder geschlossen und die Verarbeitungseinheit veranlaßt wird, ein Selbstprüfprogramm ablaufen zu lassen, woraufhin, wenn dieses Selbstprüfprogramm richtig vollendet ist, der Verarbeitungseinhei-üMöglichkeit gegeben wird, wieder in den Normalbetrieb zurückzukehren.
Eine Mehrfach-Datenverarbeitungsanlage gemäß der Erfindung wird nunmehr anhand der sie beispielsweise wiedergebenden Zeichnungen beschrieben, und zwar zeigt
Fig. 1 einschematisch.es Blockschaltbild der Anlage,
Fig. 2 ein schematisches Blockschaltbild eines Fehlerkanals der Anlage, die
Fign.3,4 und 5 Schaltungsanordnungen, die Teile des Fehlerkanals im größeren Detail wiedergeben, während die
Fign.6 bis 10 Fließschemen zeigen, welche den Betrieb der Computer- bzw. Datenverarbeitungsanlage veranschaulichen.
30 98 45/1093
Hardware - Allgemeine Beschreibung
Wie aus Pig. 1 hervorgeht, enthält die Anlage eine Vielzahl (in diesem falle drei) von unabhängigen Daten-Verarbeitungseinheiten 10, die jeweils als Verarbeitungseinheiten O, 1 und 2 bezeichnet werden. (Andere Anlagen können mehr als drei oder nur zwei Verarbeitungseinheiten aufweisen). Jede Yerarbeitungseinheit hat Zugang zu einer Insahl von Kernspeichereinheiten 11 über jeweilige Daten-Hauptwege 13, wobei 3ede der Spsichereiniieiten 11 allen Verarbeitungseinheiten gemeinsam zugehört«, Dia Konstruktion der Verarbeitungseinfeeitea 10 und der Speichereinheites. 11 wird nicht im einzelnen beschrieben^ da fiise© Blnrloiitungsteil© in der Computertechnik" allgemein bekannt sind meö ©ine geeignet© Einrieii tung im Handel fr-si -srhältlioh ist*,
Jede Yerarfceitungseinlieit "10 weist ®insa p Singangs/Ausgangs-Baten-Kauptifs.g 14 auf 9 der zalt ihrem Eingangs/Ausgangs-lnschiuS (isiterfase) verbunßea ist. Diese Hauptwege gewähren Zugang zu einer Anzahl von Bingangs/Ausgangs-Kaaälen 15, von denen jeder eine Anzahl von Uaterkanälen 16 aufweist? die mit entsprechenden periphsren Schaltungen 17 der Anlage verbunden sind. Die peripheren Schaltungen können beispielsweise Trommelspeicher 12, Fernsprech-Vermittlungsschaltungen 18, Verbindungsleitungskreise 19, Sender und Empfänger 20 sowie Mensch/Maschine-Kopplungseinheiten 21, wie beispielsweise Fernschreiber, aufweisen. Jeder Unterkanal 16 ist potentiell für jede der Verarbeitungseinheiten zugänglich. Einige der peripheren Schaltungen können ganze Kanäle 15 aufweisen, die ihnen zugedacht sind. In einigen speziellen Fällen kann der Zugang zu einer peripheren Schaltung über eine Auswahl von zwei Kanälen erfolgen, so daß ein Ausfall des einen Kanals den Zugang zu dieser Schaltung nicht verhindert.
309845/1093
2320B98
Jeder der Eingangs/Ausgangs-Datenhauptwege H 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 die Verarbeitungseinheit 10 irgendeinen der TJnterkanäle 16 für die Übermittlung von Information nach diesem Unterkanal oder von diesem her auswählen kann. Die zweite und dritte Gruppe von achtzehn Drähten dienen als Datensende- und Empfangswqge für die jeweilige Übertragung von Daten aach dem ausgewählten Unterkanal oder von diesem v/ege" Jede Gruppe ^on 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 aufweist9 welches eine überprüfung auf richtige Übertragung der Bytes vorsieht0 (Anmerkung§ Bit ^ Binärstelle bzw. Binärsiffer^ Byte = eine Gruppe von. Binärziffer^ die einen Teil eines Wortes.bilden-und im Computer als eise Einheit verarbeitet werdenP im typischen lall - 8 Bits)o
Sechs Bits des oberen Byte auf dem "Adressenweg dienen dasup den anzusteuernden Kanal 15 zu identifizieren« Jeder der Kanäle hat eine eindeutige, aus sechs Bits bestehende Adresse und ist mit einer logischen Decodierungsschaltung (nicht dargestellt) ausgerüstet, um jene Adresse zu erkennen» wenn sie auf dem Adressenweg erscheint. Das untere Byte identifiziert denjenigen der Unterkanäle 16 innerhalb dieses Kanals, der ausgewählt werden 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älen 22, und zwar einen für jede der Verarbeitungseinheiten 10. Jeder Fehlerkanal ist mit dem Eingangs/Ausgangs-Hauptweg 14 jeder der
0 9 8 4 5/109 3
Verarbeitungseinheiten verbunden und kann durch jede beliebige der Verarbeitungseinheiten in genau der gleichen Weise wie die Eingangs/Ausgangs-Kanäle 15 adressiert bzw. angesteuert werden. Anstatt jedoch mit den Unterkanälen 16 und somit mit peripheren Schaltungen 17 verbunden zu werden, werden die Fehlerkanäle 22 mit Überwachungs-Eingangs/Ausgangs-Anschlüssen (interfaces) 23 der jeweiligen Verarbeitungseinheiten 10 verbunden. Jeder Verarbeitungseinheit 10 ist eine jeweilige Konsolen- bzw. Regiepulteinheit 24 zugeordnet, wobei die Konsoleneinheit mit dem Überwachungsanschluß 23 der Verarbeitungseinheit über den Fehlerkanal 22 dieser Verarbeitungseinheit verbunden ist.
Der Betrieb der Fehlerkanäle wird nunmehr im einzelnen beschrieben. Kurz gesagt, wird jedoch jeder Kanal durch seine zugeordnete Verarbeitungseinheit gesteuert und kann in einen "offenen" oder einen "geschlossenen" Zustand durch diese Verarbeitungseinheit gebracht werden. Wird der Fehlerkanal geschlossen, so kann der Betrieb der Verarbeitungseinheit manuell durch eine Bedienungsperson von der zugeordneten Konsolen- bzw. Regiepulteinheit 24 her überwacht werden. Wird jedoch der Fehlerkanal geöffnet, dann kann der Betrieb der Verarbeitungseinheit automatisch durch jede andere der Verarbeitungseinheiten über den Fehlerkanal überwacht werden, wobei die manuelle Regiepultsteuerung übergangen wird.
Jeder der Eingangs/Ausgangs-Kanäle 15 und Fehlerkanäle 22 ist mit einer Zugangsschaltung (nicht dargestellt) versehen, wie sie in der zugehörigen britischen Patentanmeldung 47004/70 beschrieben ist, die verhindert, daß zu einer Zeit mehr als eine Verarbeitungseinheit Zugang zu dem Kanal erlangt. Die Speichereinheiten 11,12 haben ähnliche Zugangsschaltungen.
309845/1093
Nach Fig. 1 ist jeder Fehlerkanal 22 mit allen Eingangs/ Ausgangs-Hauptwegen 14 verbunden. Jedoch ist es an sich nicht wesentlich, daß ein Fehlerkanal mit dem Eingangs/Ausgangs-Hauptweg seiner zugeordneten Verarbeitungseinheit 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 eine Verarbeitungseinheit zugänglich ist: Beispielsweise kann der Fehlerkanal 0 nur für die Verarbeitungseinheit 1, der Fehlerkanal 1 nur für die Verarbeitungseinheit 2 und der Fehlerkanal 2 nur für die Verarbeitungseinheit 0 zugänglich sein.
Die Anlage enthält ferner eine Unterbrechereinheit 25, die mit jeder der Verarbeitungseinheiten verkettet bzw. 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 Verarbeitungseinheiten und mit einem Taktgeber 27 verbunden sind.
Konstruktion und Funktion der Unterbreehereinheit 25 sind in der zugehörigen britischen Patentanmeldung 20596/72 beschrieben. Kurz gesagt, sind jedoch einige der Eingänge 26 "Sofortunterbrechungs"-Singängeiwährend der Rest "nicht-sofortige" sind. Wenn eine Unterbrechungsaufforderung nach einem der "Sofortunterbrechungs"-Eingänge übermittelt wird, so sucht die Unterbrechungseinheit nach der Verarbeitungseinheit, die den Prozeß von niedrigster Priorität in diesem bestimmten Augenblick durchführt (siehe unten eine Diskussion von "Prozessen" und "Priorität"), und unterbricht diese Verarbeitungseinheit. Die Inhalte der Register dieser Verarbeitungseinheit werden "festgehalten" /"nested"/, d.h. in einem speziellen Bereich der Kernspeicher 11 gespeichert, die dem Prozeß zugeordnet sind, damit auf den unterbrochenen Prozeß später zurückgegriffen werden kann, und ein Programm, als "Supervisor" (siehe unten) bekannt, wird dann an dieser Verarbeitungseinheit automatisch weiterbetrieben. Die "nicht-sofortigen" Eingänge verursachen keine Unterbrechung, sondern dienen
30 9845/ 109 3
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 Supervisorprogramm bedient, wie noch beschrieben werden wird.
Pehlerkanal
Die Konstruktion der Fehlerkanäle 22 soll nunmehr im einzelnen besehrieben werden, Es wird hierzu auf Pig. 2 Bezug genommen, die ein schematisches Blockschaltbild von einem der Fehlerkanäle ist, wobei davon ausgegangen wird, daß dies der Fehlerkanal O ist (d.h. der Fehlerkanal, der mit dem Überwachungsanschluß der Verarbeitungseinheit O verbunden ist)« Zum Zwecke der Vereinfachung der Beschreibung sei davon ausgegangen, daß dieser Pehlerkanal nur für die Verarbeitungseinheit 1 zugänglich ist? so daß keine Zugangsschaltung notwendig ist, um zu verhindern^ daß su einer Zeit mehr als eine Verarbeitungseinheit Zugang zu dem Fehlerkanal erlangt.
Wie aus Fig. 2 hervorgeht, enthält der Fehlerkanal zwei Leitungsempfanger 201,202, die mit achtzehn Adressendrähten des Eingangs/Ausgangs-Hauptweges der Verarbeitungseinheit 1 verbunden sind. Bits 0-5 und das Paritätsbit des oberen Bytes der Adresse werden dem Empfänger 201 zugeführt, und zwar gleichzeitig mit Bits 6 und 7 des unteren Bytes. (Die acht Bits bzw. Binärziffern jedes Bytes sind mit 0-7 numeriert). Bits 0-5 und das Paritätsbit des unteren 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 siebendrähtigen Weg 204 an eine logische Decodierungsschaltung 205 weiter, die so eingerichtet ist, daß sie die au3 sechs Bits bestehende, dem Fehlerkanal zugeordnete Adresse erkennt und eine Persistenzprüfung an dieser .Adresse ausführt. Wenn die Adresse erkannt wird und die Persistenz-
309845/109
prüfung zufriedenstellend ausfällt, dann, erzeugt die logische Decodis*ungsschaltung 205 zwei Ausgangs signal ei Das erste, am Draht 206, wird als Fehierkanal-Taktsignal bezeichnet, während das anderef am Draht 207, eine Instruktion darstellt, um Daten vom Fehlerkanal nach dem Verarbeitungseinheits-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 nach dem Eingang eines Registers 209 zu übermitteln, welches als Fehlerkanal-Adressenregister (FClR) bezeichnet wird. -Dieses Register 209 wird durch das Fehlerkanal« Taktsignal auf dem Weg 206 gesteuert und außerdem durch das Bit β des unteren Bytes, welches ihm ¥om Empfänger 201 her über eineö. Draht 210 zugeführt wird, wobei dieses Bit 6 als das ECAE-Sakt-■ signal bezeichnet wird. Wenn es die Vererbeitungseinheit 0 erfordert, daß ihr Fehlerkanal geöffnet wirdj, so erzeugt sie ein Ausgangssignal, das als "Öffne-Pehlerkanal"-Signalbezeichnet wird, wie unten noch beschrieben wird, und dieses Signal wird außerdem nach 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 FCAR-Taktsignal und das "Öffne-Fehlerkanal"-Signal alle gleichzeitig vorhanden sind.
Der Fehlerkanal enthält außerdem einen weiteren Leitungsempfänger 211, der mit den achtzehn "Datensende"-Drahten des Daten-Hauptweges 14 der Verarbeitungseinheit 1 verbunden ist. Die von diesem Empfänger herkommenden Daten werden über eine logische Torschaltung 2T2 weitergeleitet, die durch das "Öffne-Fehlerkanal"-Signal von der Verarbeitungseinheit 0 her, welches am Draht 213 erscheint, gesteuert wird, und werden nach dem
30 98 45/1093
Eingang eines weiteren Registers 214 übermittelt, der als Fehlerkanal-Datenregister (PCD!?;) 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 FCDR-Taktsignal bezeichnet wird. Daten werden, daher in das Register 214 vom Leitungsempfänger 211 her eingeschrieben, wenn das "Öffne-Fehlerkanal"-Signal, das Fehlerkanal-Taktsignal und das PCDR-Taktsignal alle gleichzeitig vorhanden sind.
Wie oben erwähnt, weist jede Verarbeitungseinheit 10 eine Konsolen- bzw. Regiepulteinheit 24 auf. Die Regiepult-Einheiten sind in den meisten Datenverarbeitungsanlagen üblich, und sie werden hier im einzelnen nicht beschrieben. Es sei jedoch kurz darauf hingewiesen, daß jede dieser Regiepulteinheiten eine Anzahl von Steuertasten, zwei Drehschalter und eine Reihe von Anzeigelampen aufweist, deren Zweck aus der nachfolgenden Beschreibung eindeutig hervorgeht.
Vier der Steuertasten sind mit einem mehradrigen Weg 217 in Figur 2 verbunden. Dieser Weg ist mit dem einen Satz von Eingängen einer Daten-Selektorschaltung 218 verbunden, während der andere Satz von Eingängen mit dem FCAR 209 verbunden ist. Der Ausgang des Datenselektors 218 ist über einen mehradrigen Weg mit dem Überwachungsanschluß 23 (Fig. 1) der Verarbeitungseinheit und von dort mit der Steuer- oder Kontrollschaltung der Verarbeitungseinheit verbunden. Weitere neun der Regiepult-Steuertasten sind mit einem mehradrigen Weg 220 in Fig. 2 verbunden. Dieser Weg ist mit dem einen Satz von Eingängen einer Daten-Selektorschaltung 221 verbunden, während der andere Satz von Eingängen mit dem FCDR 214 verbunden ist. Der Ausgang des Datenselektors 221 ist über einen Signalweg 222 mit dem Überwachungsanschluß 23 und von dort mit der Steuer- bzw. Kontrollschaltung der Verarbeitungseinheit verbunden.
309845/10 9 3
Die Datenselektoren 218 und 221 werden durch das "Öffne-Pehlerkanal"-Signal von der Verarbeitungseinheit O gesteuert. Normalerweise, wenn das "Öffne-Fehlerkanal"-Signal abwesend ist (d.h. wenn der Fehlerkanal geschlossen ist), werden die Datenselektoren 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 Verarbeitungseinheit-Kontrollschaltung durch die Regiepulttasten gesteuert. Die vier mit dem Weg 217 verbundenen Tasten leiten, wenn sie gedruckt werden, die folgenden Betriebsweisen der Verarbeitungseinheit O ein:
(I) Instruktion one-shot. Diese veranlaßt die Verarbeitungseinheit, eine Instruktion eines Programms auszuführen. (Anmerkung! one-shot operation = Verfahren zum Betrieb eines Computers, bei welchem eine einzige Instruktion oder ein Teil einer Instruktion in Ansprecherwiderung auf einen Befehl ausgeführt wird).
(II) Übertragung one-shot. Diese veranlaßt die Verarbeitungseinheit, eine Übertragung bei einer Instruktion auszuführen.(Es ist in Datenverarbeitungsanlagen für jede Instruktion eines Programms üblich, daß es durch eine Mikroprogrammeinheit innerhalb der Verarbeitungseinheit in eine Anzahl von Übertragungsvorgängen umgesetzt wird, wobei diese Übertragungen die grundsätzlichen Operationen der Maschine sind).
(III) Instruktionslauf. Dies verursacht das Laufen des Programms mit normaler Geschwindigkeit.
(IV) tjbertragungslauf. Dieser leitet das freie Laufen des Mikroprogramm-Taktgebers der Verarbeitungseinheit ein.
Eine der mit dem Weg 220 verbundenen Tasten (die "Regiepultquelle "-Taste) ermöglicht das Eingeben von Daten in die Verarbeitungseinheit direkt von den Regiepulttasten her, wie nachfolgend
309845/ 109 3
noch beschrieben wird. Andere mit dem Weg 220 verbundene Tasten wirken in der Weise, daß sie verschiedene Kontrollen und andere Einrichtungen, die in der Verarbeitungseinheit vorgesehen sind, sperren und das Mikroprogramm rückstellen.
Die Art und Weise, in welcher die Signale von den Regiepulttasten auf die Steuerschaltung bzw. das Steuerwerk der Verarbeitung seinheit 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 Regiepulttasten in der Computertechnik allgemein bekannt. Natürlich würden bei einer herkömmlichen Computer- bzw. Datenverarbeitungsanlage ohne Fehlerkanal die Regiepulttasten direkt mit dem Überwachungsanschluß der Verarbeitungseinheit verbunden sein, und zwar ohne irgendwelche Zwischen-Datenselektoren, wie beispielsweise 218 und 221.
Wenn der Fehlerkanal offen ist (d.h. wenn das "Fehlerkanal offen"-Signal vorhanden ist)f werden die Datenselektoren bzw. Datenwähler 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 Verarbeitungseinheit-Steuerschaltung durch den Inhalt der beiden Register 209 und 214, anstatt von den Regiepulttasten, gesteuert.
Der Ausgang vom Datenwähler 218 und der Ausgang des FCDR 214 werden beide an einer speziellen Fehlerkanal-Anzeigeeinheit 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 .
309845/1093
Wenn die oben erwähnte "Regiepultquelle"-Taste gedruckt wird, sind die anderen Regiepulttasten automatisch von den Wegen 217, 220 mittels entsprechender Sperrschaltung im Regiepult getrennt, und' ein spezielles fest^erdrahtetes Instruktionswort /wired-in instruction word/ wird der Verarbeitungseinheit übermittelt, wobei diese veranlaßt wird, ein an einem Signalweg 226 erscheinendes Datenwort einzulesen, und zwar mittels des Überwachungsanschlusses 23. Durch Drücken der "Regiepultquelle"-Taste werden außerdem weitere Regiepulttasten mit einem mehradrigen Signalweg
224 verbunden, der mit dem Weg 226 mittels einer logischen "ODER"-Schaltung 225 verbunden ist. Die "Regiepultquelle"-Taste ergibt somit die Möglichkeit, Daten manuell von den Regiepulttasten her in die Verarbeitungseinheit einzuschreiben.
Wie nach fCDR 2H, wird der Ausgang der logischen Torschaltung 212 auch mittels eines mehradrigen Weges 227 nach 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"Datenbelastungs"-Signal an einem Draht 229 von FCAR 209 her gesteuert, welches vom Bit 5 des unteren Bytes der Kanaladresse abgeleitet wird. Ist somit das "Datenbelastungs"-Signal vorhanden, so können Daten direkt in die Verarbeitungseinheit vom Eingangs/Ausgangs-Hauptweg mittels des Leitungsempfängers 211, der Torschaltungen 212 und 228 und der logischen "ODER"-Schaltung 225 eingeschrieben werden.
Die Betätigung der oben erwähnten Regiepult-Drehschalter soll nunmehr beschrieben werden. Jeder dieser Schalter hat sechzehn mögliche Stellungen und ist so eingerichtet, daß er ein einziges Vier-Bit-Ausgangssignal in jeder dieser Stellungen erzeugt. Der Ausgang des ersten der Drehschalter erscheint am Weg 230 in Fig. 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
309845/1093
abgeleitet wird. Der Datenwähler 231 wird durch ein "Abfrage"-Signal gesteuert, welches an einem Draht 233 vom PCAR her erscheint und von dem Bit 4 des unteren Bytes der Kanaladresse abgeleitet wird. Normalerweise, wenn der Fehlerkanal 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 verwendet, eine Multiplexerschaltung 235 zu steuern, die als Anzeige-Multiplexer bezeichnet wird. Dieser Multiplexer ist mit einer ersten Gruppe der Register innerhalb der Verarbeitungseinheit verbunden (bis zu sechzehn solcher Register), und zwar über jeweilige Wege 236, die einen Teil des Überwachungsanschlusses 23 der Verarbeitungseinheit bilden, und er ist so eingerichtet, daß er jeden beliebigen ausgewählten dieser Wege mit einem Weg 237 verbindet, der zu den Anzeigelampen am Regiepult führt. Daraus ergibt sich somit, daß, wenn der Fehlerkanal geschlossen ist, der Inhalt irgendeines aus der ersten Gruppe von Registern am Regiepult 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 Verarbeitungseinheit-Register (bis zu sedazehn) 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).
30984B/1093
Wenn der Fehlerkanal offen ist, so wird durch das Erscheinen einer "1" im Bit 4 des unteren Adressenbytes, welches vom Leitungsempfanger 202 empfangen wird, eine "1" in die entsprechende Stufe des I1CAR 209 eingeschrieben, und dies führt wiederum dazu, daß ein "Abfrage"-Signal am Draht 233 erzeugt wird. Dies veranlaßt den Datenwähler 231, den Weg 232 mit dem Ausgangsweg 234, anstelle des Weges 230, zu verbinden. In diesem Zustand wird somit der Anzeige-Multiplexer 235 durch ein vom Leitungsempfanger 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 an den Weg 238 gegeben und dazu verwendet, einen weiteren Multiplexer 239 zu steuern, der als Fehlerkanal-Multiplexer bezeichnet wird. Dieser Multiplexer ist normalerweise untätig, aber wird durch das "Abfrage"-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 nach einem 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 Seun-Bit-Bytes am Ausgangsweg 241 angezeigt, wobei das am wenigsten bedeutsame Bit dieses Bytes 11O" ist, wenn die Paritätsprüfung bestanden ist, und eine "1", wenn sie negativ verläuft. (Die anderen Bits dieses zweiten Bytes werden vom Fehlerkanäl zur Übermittlung anderer Information verwendet oder können als "Ersatz"-Bits betrachtet werden). Die beiden Bytes auf den Wegen und 241 werden am Weg 242 jeweils als untere und obere Bytes eines Achtzehn-Bit-Wortes kombiniert.
30 9845/109 3
ORIGINAL INSPECTED
Dieses Achtzehn-Bit-Wort wird einer logischen Torschaltung 243 zugeführt, die durch das "gate äata"-Signal an der Ader 207 von der logischen Decodierungsschaltang 205 her gesteuert wird. Wenn dieses Signal vorhanden ist, dann wird das Achtzehn-Bit-Wort durch die Torschaltung 243 hindurchgelassen und nach einer Leitungs-Antriebsschaltung 244 übermittelt. Diese Schaltung 244 ist normalerweise untätig, doch wird durch das Pehlerkanal-Taktsignal an der Ader 206 von der logischen Decodierungssciialtung 205 her aktiviert, wobei sie dafür sorgt» daß das Achtaehn-Bit-Wort nach den "return dataR-Brähten des Eingangs/Ausgangs-Hauptweges 14 übermittelt wird, um nach der Terarbeitungseißhelt 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 Fehlerkanal geschlossen ist, dann kann der Betrieb der zugeordneten Verarbeitungseinheit manuell überwacht werden, wobei die Regiepulttasten verwendet werden. Zusätzlich können Daten von irgendeinem der Yerarbeitungseinheitsregister am Regiepult angezeigt werden, wobei die Register durch Betätigung der Regiepult-Brehschalter ausgewählt werden. Durch Verwendung der Regiepult-Einrichtungen ist es einer Bedienungsperson möglich, an der Verarbeitungseinheit verschiedene Tests durchzuführen, wie beispielsweise ein Festprogramm laufen zu lassen, und zwar mit einem Schritt zu einer Zeit bzw. in Einzelschritten, und das Überprüfen des Inhalts der Register,
30984S/1093
2-3 2 0:5 3 8.
nachdem jede Prograimninstruktion oder -übertragung ausgeführt worden ist. Auf diese Weise kann der Zustand der Verarbeitungseinheit diagnostiziert und eine Abhilfeaktion unternommen werden.
Wenn der Fehlerkanal geöffnet istp können diese Tests automatisch durchgeführt werden, und' zwar dadurch, daß die Verarbeitungseinheit 1 Zugang zum Fehlerkanal mittels ihres EIngangs/Ausgangs-Hauptweges 14 Zugang erlangte
Es sei nunmehr auf Fig. 3 Bezug genommen,, welche ein detailliertes Schaltbild der logischen Decodjsrungsselialtung 205 zeigt. Die Schaltung v/eist ein KAND-Tor 301 mit sechs Eingängen sowie sechs Inverter 302 auf, die mit den Bits 0-5 des oberen Adressenbytes vom Leitungsempfänger 201 (Fig. 2) beliefert werden. Die Eingänge nach dem Tor 301 sind mit den Inverter», in einer Weise verbunden, die 'von der dem Fehlerkanal zugeordneten Adresse abhängig ist, so daß, wenn diese Adresse der Decodierungsschaltung zugeführt wird, eins Einär~"0" am Ausgang des Sores 301 erscheint, Als Beispiel zeigt die Zeichnung entsprechende Verbindungen für das Erkennen der Adresse 110101. -
Der Ausgang des Sores 301 wird dem Eingang einer 200-lan.o-= sekunden-Verzöger-ungsleitung 303 zugeführt,- die acht Anz.apfungs= ■ punkte aufweist, welche mit einem !AIl)-SQr 304 verbunden sincL Dieses Sor 304 erzeugt daher einen. -Binär-"0"-Ausgang immer dann;, wenn öle Fehlerkanaladresses wie sie durch die Decodierungsschaltung erkannt wird ρ mindestens 200 Hanosekunden lang besteht. Der Ausgang vom Tor 304 liefert das Fehlerkanal-Eaktsignal am Draht 206.
Der Ausgang vom Tor 304 triggert außerdem eine monostabile Schaltimg 305, die eine monostabile Zeit von 5 Mikrosekunden aufweist. Im getriggerten bzw. ausgelösten Zustand stellt diese Schaltung 305 eine bistabile Schaltung 306 ein, um auf diese Weise das "gate data"-Signal am Draht 2Q7 zu erzeugen.
30 9 845/108 3
ORIGINAL INSPECTED
Fig. 4 zeigt ein detailliertes Schaltbild des Fehlerkanal-Adressenregisters 209 and des Datenwählers 218 von Fig. 2.
Das FGAR (Fehlerkanal-Adressenregister) 209 weist ein Siebenstufenregister 401 auf. Die sieben Stufen dieses Registers sind mit dem Leitungsempfänger 202 (Fig. 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 Bit 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 nach dem Takteingang 406 des Registers 401, wobei dieses veranlaßt wird, die ihm vom Empfänger 202 dargebotene Information hereinzulesen.
Das '<Öffne-Fehlerkanalfl-Signal besteht aus einer Binär-"0", die nach einem Draht 407 von der zugeordneten Yerarbeitungseinheit (0) übermittelt wird. Dieses Signal wird durch das Tor 408 umgekehrt und nach dem "Klär"-Eingang 409 des Registers 401 übermittelt, um zu verhindern, daß Daten in das Register 401 eingegeben werden, wenn das "Ö"ffne-Fehlerkanal"-Signal fehlt.
Die vier Regiepulttasten zur Steuerung der Betriebsart der Yerarbeitungseinheit sind mit sieben Drähten 41I-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.0/S) und Instruktions-one-shot (INST.0/S)1 mit jeweiligen Paaren von Drähten 411/412, 414/415 und 416/417 verbunden sind. Wenn irgendeine dieser Tasten gedruckt wird, so erzeugt sie jeweils Binärziffern "1" und "0" an. ihrem entsprechenden
309845/ 1 093
-■ 20 -
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 Paaren 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-429i die mit den entsprechenden Punkten der Verarbeitungseinheit-(O)-Steuereinheit verbunden sind, und zwar über den Verarbeitungseinheits-Überwachungsanschluß, 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 4I8 werden mit den Umkehrwerten dieser Signale beliefert, und zwar mittels vier Inverter 430. Die Eingänge von sieben des zweiten Satzes von MD-Toren 419 werden mit Signalen von den sieben Drähten 411-417 von den Regiepulttasten her beliefert, wobei das achte Tor einen geerdeten Eingang 431 aufweist, der eine permanente Binärziffer "1" repräsentiert.
Der Datenwähler 218 wird durch das "Öffne-Pehlerkanal"-Signal vom Draht 407 her gesteuert, welches durch das Tor 4O8 umgekehrt ist.
Das Signal vom Tor 408 wird jedem der UND-Tore 4I8 übermittelt, ist ebenfalls durch einen Inverter 432 umgekehrt und wird jedem der UND-Tore 419 übermittelt. Wenn somit ein "öffne-Fehlerkanal"-Signal vorhanden ist, so werden die Tore 4I8 alle angesteuert, und Daten werden von den vier Stufen des Registers 401 nach den Drähten 422-429 weitergeleitet. Wenn umgekehrt das
30 9 845/109 3
"Öffne-Fehlerkanal"-Signal fehlt, dann werden die Tore 419 alle angesteuert, und Daten werden von den Drähten 411-417 (d.h. von den Regiepulttasten her) nach den Drähten 422-429 übermittelt.
Es ist somit ersichtlich, daß, wenn der Fehlerkanal geschlossen ist, die Regiepulttasten in der normalen Weise wirken, um die Betriebsweise der Verarbeitungseinheit zu steuern. Wenn jedoch der Fehlerkanal geöffnet ist, dann wird die Betriebsart der Verarbeitungseinheit durch den Inhalt der ersten vier Stufen des Registers 401 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 Fig. 2) 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 Fig. 2) verbunden und liefert das oben erwähnte "Datenbelastungs"-Signal.
Aus Fig. 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 = "1" repräsentiert "Übertragung one-shot". Bit 2 = "1" repräsentiert "Instruktionslauf". Bit 3 = "1" repräsentiert "Übertragungslauf". Bit 4 = "1" repräsentiert "Abfrage". Bit 5 = "1" repräsentiert "Datenbelastung".
Fig. 5 zeigt die logische Torschaltung 212 und das Fehlerkanal-Datenregister 214 der Fig. 2 mehr im einzelnen.
309845/1093
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 H mittels des Leitungsempfängers 211 empfangenen Wortes. Die logische Torschaltung 212 enthält neun NAUD-Tore 502 zum Durchschleusen entsprechender Bits in das entsprechende Stufenregister 501. Diese Tore 502 werden durch das "öffne-Fehlerkanal"-Signal von der zugeordneten Verarbeitungseinheit her angesteuert, welches am Draht 503 erscheint. Der Draht 503 ist außerdem mit dem "Klär"-Eingang des Registers 501 verbunden, um dieses Register rückzustellen, wenn das "Öffne-Fehlerkanal"-Signal fehlt.
Das FCDR-Taktsignal vom Leitungsempfänger 201 erscheint am Draht 215, während das Fehlerkanal-Taktsignal von der logischen Decodierungsschaltung 205 her am Draht 206 (siehe Fig. 2) erscheint« Das Erscheinen des Fehlerkanal-Taktsignals, während der FCDR-Takt vorhanden ist, sorgt für die Einstellung der bistabilen Schaltung 504, die ein Ausgangssignal von einem NAED-Tor 505 er~ zeugt« welches eine Taktsteuerung 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 umgekehrt und nach dem Datenwähler 221 (Fig. 2) weitergegeben. Die Ausgänge von diesen Toren werden außerdem einem mit acht Eingängen versehenen Paritätsprü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.
3Q9845/ 1093
Die Ausgänge von der Torschaltung 502 werden nicht nur dem Register 501 zugeführt, sondern auch in Parallelschaltung den HAND-Toren 509, von denen aus sie an den Signalweg 227 (siehe Fig. 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, die in Blockform in Fig. 2 dargestellt sind, sind in der Konstruktion dem Datenwähler 218 ähnlich, der im einzelnen mit Bezug auf Fig. 4 beschrieben wurde, und werden daher nicht noch einmal separat beschrieben. Darüber hinaus sind die Multiplexerschaltungen, wie 235 und 239, die Leitungsempfänger, wie 201,202 und 211, und die Leitungsantriebe, 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 Modular- bzw. Bausteinkonstruktion 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 mehr Aufgaben hat, die darauf warten, von ihm geprüft zu werden, so werden diese Aufgaben in einer Eingangsreihe von Aufgaben für diesen Prozeß placiert (enthalten, in einem der Kernspeicher 11, Fig. 1). Wenn ein Prozeß eine oder mehrere Aufgaben erzeugt hat,- die noch nicht nach
3 09845/1093
anderen Prozessen übertragen worden sind, so werden diese Aufgaben in einer Ausgangsreihe von Aufgaben aus diesem Prozeß heraus placiert (ebenfalls in einem der Kernspeicher).
Jedem Prozeß ist ein Bereich des Speicherraums in den Kernspeichern 11 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 irgendeiner der Verarbeitungseinheiten 10 laufen. Dies bedeutet, daß alle Verarbeitungseinheiten 10 von gleichem Status und komplett untereinander austauschbar sind.-" Wenn somit die eine Verarbeitungseinheit aus dem Dienst genommen wird, so kann die Anlage normal weiterarbeiten, wenn auch mit einer reduzierten Kapazität. Dies ist-ein wichtiges Merkmal vom Gesichtspunkt der Sicherheit gegen Fehler.
Ein Prozeß kann jedoch nicht an mehr als einer Verarbeitungseinheit zu einer Zeit gefahren werden (d.h. die Prozesse sind nicht neu einbringbar /not re-entrant/). Dies hilft wiederum,, irgendwelche Fehler, die auftreten können, zu enthalten.
309845/1093
Ein Prozeß "befindet sich zu irgendeinem gegebenen Zeitpunkt in einem der folgenden Zustände:
(a) Laufender Zustand. In diesem Zustand wird der Prozeß an einer der Verarbeitungseinheiten gefahren.
(b) Eingefrorener bzw. schlafender Zustand. 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 einer
Verarbeitungseinheit zu laufen, aber er wird erst dann laufen, wenn alle anhängigen Prozesse mit höherer Priorität gelaufen
sind. Wird einem eingefrorenen bzw. schlafenden Verfahren eine Aufgabe zugeteilt, so wird es in den hängenden bzw. anhängigen Zustand versetzt. Wird in ähnlicher Weise ein blockierter Prozeß entblockiert, so wird er in den hängenden bzw. 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.
309845/1093
Die Prozesse werden durch ein Spezialprogramm, bekannt als Überwacherprogramm, koordiniert. Wie die Prozesse, so kann der Überwacher an jeder der Verarbeitungseinheiten laufen. Der Überwacher befaßt sich unter anderem mit: Der Übertragung von Aufgaben vom einen Prozeß zum anderen; Versetzen der Prozesse in die entsprechenden Zustände (schlafend bzw. eingefroren, hängend bzw. anhängig, blockiert, laufend) zu den entsprechenden Zeiten; Bedienung von Anforderungen von peripheren Einrichtungen der Anlage und Behandlung von Fehlerzuständen in der Anlage, wie noch beschrieben wird.
Überwacherprogramm bzw. Supervisorprogramm
Fig. 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 nach einem der Sofortunterbrechungseingänge der Unterbrechungseinheit 25. Dies führt dazu, daß die Verarbeitungseinheit 10, die gerade den Prozeß mit der niedrigsten Priorität fährt, unterbrochen wird (wie durch das Kästchen 601 in Fig. 6 angedeutet) und daß der Registerinhalt genested wird (Anmerkung: Nesten = "nesting" = Speichern von Daten, die einem Prozeß zugeordnet sind, wenn dieser Prozeß unterbrochen wird, damit dieser Prozeß zu einem späteren Zeitpunkt wieder aufgenommen werden kannst Der Überwacher wird dann automatisch an der unterbrochenen Verarbeitungseinheit betrieben und führt folgende Tätigkeiten aus.
Zunächst versetzt der Überwacher den unterbrochenen Prozeß in den anhängigen Zustand (wie durch das Kästchen 602 angedeutet). Er entscheidet dann, welche der periodischen Prozesse an diesem Zeitpunkt fällig sind, begonnen zu werden, und sorgt dafür, daß diese entblockiert bzw. entriegelt und somit in den anhängigen Zustand (Kästchen 603) versetzt werden. Diese Prozesse beginnen daher wieder zu laufen, sobald für sie eine Verarbeitungseinheit 10 verfügbar ist.
309845/1093
Als nächstes prüft der Überwacher alle Nichtsofort-Unterbrechungseingänge der TJnterbrechereinheit 25 (Kästchen 604). Wenn irgendwelche dieser Eingänge durch Anforderungen von ihren entsprechenden peripheren Einrichtungen oder Verarbeitungseinheiten her aktiviert sind, dann bedient der Überwacher diese Anforderungen, indem er den Prozessen entsprechende Aufgaben erteilt. Der Überwacher nimmt dann die Rückstellung der TJnterbrechereinheit 25 vor.
Wenn die Abtastung vollendet ist, wählt der Überwacher den anhängigen Prozeß der höchsten Priorität aus (Kästchen 605). Nach Beendigung säner periodischen Tätigkeit geht der Überwacher aus der Verarbeitungseinheit heraus (Kästchen 606), wobei er ein "Entnesten" /"de-nest"/ ausführt, d.h. die Werte, die dem ausgewählten Prozeß zugehören, in die Register der Verarbeitungseinheit einbringt, an welcher er (der Überwacher) lief. Der ausgewählte Prozeß übernimmt dann den Lauf in dieser Verarbeitungseinheit.
Der Überwacher kann außerdem angereizt werden (Kästchen 607) als Folge einer SofOrtunterbrechungsanforderung (als "Fehlerunterbrechung" bezeichnet), die nach der Unterbrechereinheit 25 von einer der Verarbeitungseinheiten 10 übermittelt wird, und zwar als Folge davon, daß diese Verarbeitungseinheit einen Fehler entdeckt. In diesem Falle übt der Überwacher eine spezielle Fehlerroutine aus (Kästchen 608). 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 Fehlerroutine werden später beschrieben.
Zusätzlich dazu, daß er als Folge eines Sofortunterbrechungssignals gefahren wird, kann der Überwacher außerdem zu irgendeiner Zeit in Ansprecherwiderung auf einen "Anruf" durch einen
309845/1093
Prozeß gefahren werden, der zur Zeit an einer der Verarbeitungseinheiten (Kästchen 609) läuft. Zum Beispiel:
(a) Der Prozeß kann verlangen, daß eine oder mehrere Aufgaben, die er erzeugt hat, nach einem oder mehreren anderen Prozessen weitergegeben wird.
(b) Der Prozeß kann vom Überwacher verlangen, zu entscheiden, ob er (der Prozeß) weiterlaufen soll oder ob er in den anhängigen, blockierten oder schlafenden Zustand versetzt werden soll.
Wird ein Anruf durchgeführt, so wird der Überwacher an der Verarbeitungseinheit betrieben, an welcher der Prozeß lief, der den Anruf durchführte. Der Überwacher prüft zuallererst die.Ausgangsreihe von Aufgaben (Kästchen 610 und 611) des rufenden Prozesses. Sind irgendwelche derartigen Aufgaben vorhanden, so entfernt der Überwacher 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 schlafenden Zustand (Kästchen 614)» so "erweckt" der Überwacher ihn und versetzt ihn in den anhängigen Zustand (Kästchen 615), so daß dieser Prozeß laufen kann, wenn eine verfügbare Verarbeitungseinheit vorhanden ist.
Sind keine Aufgaben in der Ausgangsreihe des rufenden Prozesses vorhanden oder wenn irgendwelche Aufgaben, die vorhanden waren, entfernt worden sind, schreitet der Überwacher (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 "entnestet" der Überwacher den rufenden Prozeß und tritt aus, um dem rufenden Prozeß die Möglichkeit zu geben, den Lauf an der Verarbeitungseinheit (Kästchen 617) wieder aufzunehmen.
309845/1093
(II) Wenn ein nichtperiodischer Prozeß seine derzeitige Verarbeitung beendet, so führt er einen "call to finish" aus, um dies dem Überwacher 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 oder nicht vorhanden sind. 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 schlafenden Zustand versetzt 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 dieser Verarbeitungseinheit laufen wird, nachdem der Überwacher herausgegangen ist.
(III) Wenn ein periodischer Prozeß seine derzeitige Verarbeitung beendet hat, so führt er einen "call to block" aus, wobei er vom Überwacher verlangt, ihn in den blockierten Zustand zu versetzen, und zwar bis zum nächsten Taktintervall, bei 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 "Overrun" bekannt ist. Wenn ein "call to block" ausgeführt wird, so führt der Überwacher eine Prüfung durch, um zu sehen, ob der rufende Prozeß einen Overrun ausgeführt hat (Kästchen 622, 623). Wenn nicht, wird der Prozeß blockiert, wie gefordert (Kästchen 624). Hat jedoch der Prozeß einen Overrun ausgeführt, so wird er lediglich in den anhängigen Zustand (Kästchen 625) versetzt, so daß er sofort wieder anlaufen kann, sobald für ihn eine Verarbeitungseinheit verfügbar ist.
309845/ 1093
-30 - 2320.598
Ist einmal der rufende Prozeß blockiert, so wird er im blockierten Zustand bleiben, selbst wenn weitere Aufgaben in der Zwischenzeit empfangen werden, und zwar bis er durch den Überwacher in der entsprechenden Taktperiode oder aus irgendeinem anderen Grund entblockiert bzw. entriegelt wird.
Wie vorher, wenn der rufende Prozeß blockiert oder anhängig gemacht worden ist, wählt der Überwacher den anhängigen Prozeß der höchsten Priorität aus (Kästchen 605), damit dieser in der Verarbeitungseinheit läuft, nachdem der Überwacher herausgegangen ist (Kästchen 606).
Es ergibt sich somit, daß der Supervisor bzw. Überwacher den Betrieb der Prozesse koordiniert, indem er sie in ihre entsprechenden Zustände versetzt und Aufgaben zwischen ihnen überträgt.
Ermittlung von Fehlern durch Yerarbeitungseinheiten
Alle Register in jeder der Verarbeitungseinheiten 10 enthalten zwei Bytes, wobei jedes Byte aus acht Datenbits und' einem Paritätsbit besteht, welches andeutet, ob die Summe der acht Datenbits gerade oder ungerade ist. Paritätsprüfungen werden mittels geeigneter Hardware-Vorrichtungen immer dann ausgeführt, wenn Daten in irgendeines dieser Register eingeschrieben oder herausgelesen oder zwischen diesen übertragen werden. Wenn ein Fehler durch eine dieser Paritäts-Prüfvorrichtungen entdeckt wird, so erzeugt sie ein Trapsignal, welches innerhalb eines speziellen Satzes von Trapregistern innerhalb der Verarbeitungseinheit gespeichert wird. Ein Trapsignal triggert einen Hardware-Trap innerhalb des Mikroprogrammes der Verarbeitungseinheit, welcher eine vorbestimmte Fehleraktion einleitet, wie noch besehrieben wird.
309845/1093
ORIGINAL IMSPECTED
2320593
Eine solche Paritätsüberprüfung ist in der Computertechnik allgemein bekannt, und die Vorrichtungen zur Durchführung dieser Prüfungen sowie die entsprechenden Trapeinrichtungen im Mikroprogramm werden daher in dieser Beschreibung im einzelnen nicht erläutert.
■ Es soll nunmehr auf Fig. 7 Bezug genommen werden, welche die Wirkungsweise einer der Verarbeitungseinheiten 10 bei Ermittlung eines Fehlers veranschaulicht. In dieser Figur stellt das Kästchen 701 den Normalbetrieb der Verarbeitungseinheit dar, während das Kästchen 702 das Erscheinen eines Trap repräsentiert, der einen Paritätsfehler anzeigt.
Durch das Erscheinen eines solchen Trap wird die Verarbeitungseinheit veranlaßt, anzuhalten (Kästchen 703) und die Unterbrechungseingänge nach ihr von der Unterbrechereinheit 25 her zu sperren, um auf diese Weise zu verhindern, daß sie unterbrochen wird. Die Verarbeitungseinheit übermittelt dann ein "offener Fehlerkanal"-Signal nach ihrem zugehörigen Fehlerkanal 22 und übermittelt gleichzeitig ein Sofort-Fehlerunterbrechungssignal nach der Unterbrechereinheit 25. Unter normalen Umständen wird dieses Fehlerunterbrechersignal die Unterbrechung einer der anderen Verarbeitungseinheiten 10 hervorrufen, die in diesem Augenblick mit dem Prozeß von niedrigster Priorität läuft, woraufhin der Überwacher an dieser unterbrochenen Verarbeitungseinheit betrieben wird (siehe Fig. 6, Kästchen 607).
In einigen Fällen kann jedoch das Fehlerunterbrechungssignal keinerlei Auswirkung haben. Dies kann beispielsweise nach einem heftigen Geräuschstoß vorkommen, der alle Verarbeitungseinheiten beeinträchtigt. Als Vorkehrung gegen diese Möglichkeit triggert die Verarbeitungseinheit zur gleichen Zeit, wo sie das Fehlerunterbrechungssignal erzeugt, außerdem eine Hardware-Zeitgebervorrichtung, bekannt als "time-ouf-Vorrichtung, die dann eine
309845/1093
ORIGINAL INSPECTED
festgelegte Zeitdauer lang (im typischen lall 200 ms) läuft, es sei denn, daß sie rückgestellt ist. Diese "time-out"-Periode wird als "time-out (b)" bezeichnet. Wenn das Fehlerunterbrechungssignal nicht beantwortet worden ist, wenn die "time-out (b)"abläuft, so wird die Verarbeitungseinheit eine Selbstüberprüfung wie folgt versuchen.
Zuallererst wird der Fehlerkanal geschlossen (Kästchen 704), der gegenwärtige Inhalt der Register der Verarbeitungseinheit wird genestet bzw. eingenistet (Kästchen 705), und ein spezielles Selbstprüfungsprogramm, als "maze-Programm" (A) bezeichnet, wird an der Verarbeitungseinheit betrieben. Zur gleichen Zeit wird eine weitere Hardware-Zeitgebervorrichtung getriggert, wobei diese Vorrichtung für eine festgelegte Time-out-Periode, als "time-out (a)" bezeichnet, läuft. Die Anlauf- bzw. Startinformation für das Maze-Programm wird in jede Verarbeitungseinheit eingedrahtet. Das Maze-Programm läuft über eine Folge, die alle Instruktionen umfaßt, welche die Verarbeitungseinheit ausführen kann, um alle Funktionen der Verarbeitungseinheit zu prüfen, wobei sie die Ergebnisse ihrer Aktionen, sobald sie läuft» überprüft. Befindet sich ein Fehler in der Verarbeitungseinheit, so wird das Maze-Programm entweder trappen, stoppen oder in einer Schleife laufen. Wenn die Verarbeitungseinheit trappt, während sie das Maze-Programm betreibt, wird die Maze erneut gestartet, aber dem Time-out (a) wird die Möglichkeit gegeben, weiterzulaufen; das Trappen würde dann weitergehen, bis das Time-out (a) abläuft. In ähnlicher Weise wird das Durchlaufen /looping/, wenn es auftritt, bis zum Ablauf des Sime-out weiterlaufen. Wenn andererseits die Verarbeitungseinheit das Ende des Maze-Programms erreicht, dann führt sie eine spezielle Instruktion aus, um ein errechnetes Ergebnis mit einem eingedrahteten Datenwort zu vergleichen.
30 9845/1093.
Wenn die Verarbeitungseinheit das Ende der Maze innerhalb des Time-out (a) erreicht und das Ergebnis richtig errechnet, so wird davon ausgegangen, daß die Verarbeitungseinheit in Wirklichkeit nicht fehlerhaft ist — die Fehleranzeige kann beispielsweise von einem vorübergehenden Geräuschstoß herrühren — und die Verarbeitungseinheit wird daher in den Dienst zurückgebracht (Kästchen 706), und zwar nach Erzeugung eines Ausdruckes, um den Wartungstechnikern das Erscheinen des Fehlers anzuzeigen. Der unterbrochene Prozeß an der Verarbeitungseinheit wird beim Start einer Routine wieder begonnen, und zwar innerhalb des Prozesses, der als "roll-baek-Routine" bekannt ist. Diese Routine versucht, die notwendigen Arbeitsdaten für den Prozeß erneut zu speichern. Die Roll-back-Routine wird später eingehender beschrieben.
■ Wenn die Verarbeitungseinheit das Ende der Maze innerhalb des Time-out (a) nicht erreicht oder wenn das errechnete Ergebnis falsch ist, so kehrt die Verarbeitungseinheit nach Kästchen 703 zurück und öffnet den Fehlerkanal, erzeugt ein Fehlerunterbrechungssignal und läßt das Time-out (b) wieder anlaufen. Diese Schleife setzt sich fort, bis entweder das Fehlerunterbrechungssignal bei der Unterbrechung einer anderen Verarbeitungseinheit Erfolg hat oder bis der Fehler sich selbst klärt und die Maze (A) richtig beendet wird.
Wie oben erwähnt, wird unter normalen Umständen ein durch eine Verarbeitungseinheit erzeugtes Fehlerunterbrechungssignal eine Unterbrechung derjenigen der anderen Verarbeitungseinheiten hervorrufen, die in diesem Augenblick gerade den Prozeß von niedrigster Priorität betreibt, wobei dadurch das Überwacherprogramm an der letzteren Verarbeitungseinheit eingeführt wird. Der Einfachheit halber wird die Verarbeitungseinheit, welche das Fehlerunterbrechungssignal abgibt, als "fehlerhafte Verarbeitungseinheit" bezeichnet, während die Verarbeitungseinheit, welche den Überwacher in Ansprecherwiderung auf das Fehlerunterbrechungssignal betreibt, als "überwachende Verarbeitungseinheit" bezeichnet wird.
309845/1093
. Wie durch Fig. 6 angedeutet, führt die überwachende Verarbeitungseinheit eine Fehlerroutine ein (Kästchen 608). Diese Routine ist in weiteren Einzelheiten in Fig. 8 dargestellt. Die , erste Aktion der überwachenen Verarbeitungseinheit besteht darin, Zugang zum Fehlerkanal 22 der fehlerhaften Verarbeitungseinheit zu erlangen, und zwar durch Übermittlung der Adresse dieses Fehlerkanals an ihren Datenhauptweg 14» und den Fehlerkanal dazu zu verwenden, das Time-out (b) in der fehlerhaften Verarbeitungseinheit (Kästchen 802) rückzustellen. Dadurch wird verhindert, daß das Time-out (b) abläuft, und die fehlerhafte Verarbeitungseinheit wird somit daran gehindert, ihren Fehlerkanal erneut zu schließen (Kästchen 704, Fig. 7).
Die überwachende Verarbeitungseinheit fragt dann (Kästchen 802) die fehlerhafte Verarbeitungseinheit über den Fehlerkanal der letzteren abf um festzustellen, ob sie zum Zeitpunkt des Fehlers normal lief oder ob sie zu diesem Zeitpunkt die Maze (A) betrieb. Wenn sie normal lief, so besteht die Wahrscheinlichkeit, daß dies nur ein vorübergehender Fehler (z.B. infolge Geräusch) war, und die überwachende Verarbeitungseinheit fährt fort entlang einem Zweig 803, um die fehlerhafte Verarbeitungseinheit in den Dienst zurückzubringen« (Das Auftreten des Fehlers wird jedoch durch die überwachende Verarbeitungseinheit in. einer Spezialtabelle im Kernspeicher 11 aufgezeichnet, und wenn eine gegebene Verarbeitungseinheit den Anschein erweckt, als habe sie zuviele vorübergehende Fehler, so wird eine Fehlerdiagnose eingeleitet werden.) Wenn andererseits die fehlerhafte Verarbeitungseinheit eine Maze (A) zum Zeitpunkt des Fehlers betrieb, so besteht eher die Wahrscheinlichkeit\ daß der Fehler nicht ein vorübergehender ist, und die überwachende Verarbeitungseinheit fährt daher fort entlang einem Zweig 8o4, um eine Fehlerdiagnose einzuleiten.
309845/10-9 3
" 35 " 2320695
Bevor sie die fehlerhafte Verarbeitungseinheit wieder in den Dienst zurückbringt (Zweig 803), nimmt die überwachende Verarbeitungseinheit eine Aktion vor, um den aufgegebenen Prozeß (d.h. den Prozeß, der an der fehlerhaften Verarbeitungseinheit 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ß "bergungsfähig" /"recoverable"/.
Beim Eintritt in den Zweig 803 liest die überwachende Verarbeitungseinheit zunächst (Kästchen 805) den Inhalt der Trap-Register der fehlerhaften Verarbeitungseinheit, um festzustellen, welche der Fehlerprüfvorrichtungen den Trap verursachte, der die Fehlerunterbrechung einleitete. Die überwachende Verarbeitungseinheit entscheidet dann (Kästchen 806), ob dieser Fehler von einer solchen Art ist oder nicht ist, daß er wahrscheinlich eine Verstümmelung der Information im Kernspeicher verursacht hat (oder durch eine solche hervorgerufen worden ist)? d.h. sie bestimmt, ob der unterbrochene Prozeß bergungsfähig ist oder nicht. Wenn beispielsweise der Fehler auftrat, während gerade die Information zwischen zweien der Verarbeitungseinheitsregister übertragen wurde, und zwar entlang einem internen Hauptweg innerhalb der Verarbeitungseinheit, so ist es unwahrscheinlich, daß er den Kernspeicher beeinträchtigt hat, und der Prozeß wird als bergungsfähig angenommen. Wenn andererseits der Fehler auftrat, während der Kernspeicher adressiert wurde, so ist anzunehmen, daß der
309845/1093
Prozeß nicht bergungsfähig ist,
Wenn der Prozeß für bergungsfähig gehalten wird (Kästchen 807), dann versetzt die überwachende Verarbeitungseinheit ihn in den anhängigen Zustand, bereit, den Lauf an der Stelle zu starten, wo er stoppte, und zwar immer dann, wenn eine Verarbeitungseinheit für ihn verfügbar ist. Wenn andererseits der Prozeß nicht als bergungsfähig erachtet wird (Kästchen 808) dann versetztihn die überwachende Verarbeitungseinheit in den anhängigen Zustand, bereit, den Lauf vom Beginn einer speziellen Routine innerhalb des Prozesses zu starten, als die Prozeß-Roll-back-Routine bezeichnet. (Jeder Prozeß in der Anlage enthält eine solche Rollback-Routine, die so ausgelegt ist, daß sie notwendige Arbeitsinformation 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" wird in einem späteren Abschnitt im einzelnen beschrieben.
Wenn der verlassene bzw. aufgegebene Prozeß behandelt worden ist, so tritt der Überwacher aus dieser Bearbeitungseinheit über Kästchen 605 und 606 in Fig. 6 aus, wie vorher beschrieben. Das üüme-out (b) in der fehlerhaften Verarbeitungseinheit wird ablaufen, wobei es diese Verarbeitungseinheit veranlaßt, ihren Fehlerkanal (Kästchen 704, Fig. 7) zu schließen und das Maze-Programm (A) zu betreiben (Kästchen 705). Läuft die Maze richtig, dann ist der Fehler wahrscheinlich ein vorübergehender, und die Verarbeitungseinheit wird daher in. den Dienst zurückgebracht, wie vorher beschrieben (Kästchen 706). Versagt Jedoch die Maze, so wird ein Fehlerunterbrechungssignal erneut getriggert.
Ss soll wiederum Bezug auf Fig. 8 genommen werden. Wie bereits erwähnt, schreitet, wenn die fehlerhafte Verarbeitungseinheit eine Maze (A) zum Zeitpunkt des Fehlers betrieb, die über-
309845/ 10 9-3
" 37 "" 232069a
wachende Verarbeitungseinheit entlang dem Zweig 804 fort, um eine Fehlerdiagnose einzuleiten. Dies geschieht durch Erzeugung (Kästchen 809) einer "Diagnose"-Aufgabe für einen speziellen Prozeß, der als "Fehlerkanalprozeß" bezeichnet wird, und durch Einstellen dieses Fehlerkanalprozesses· in den anhängigen Zustand, bereit, immer dann zu laufen, wenn für ihn eine Verarbeitungseinheit zur Verfügung steht. Der Fehlerkanalprozeß wird unten im nächsten Abschnitt beschrieben.
Hat es die Fehlerdiagnose in dieser Weise eingeleitet, so schreitet das Überwacherprogramm nach Kästchen 605 und 606 (Fig. 6) fort, wie vorher.
ffehlerkanalprozeß
Es sei nunmehr auf Fig. 9 Bezug genommen, die ein Flußdiagramm des Fehlerkanalprozesses darstellt.
Wie durch Kästchen 901 angedeutet, befindet sich der Fehlerkanalprozeß normalerweise im schlafenden Zustand. Wenn ihm eine Diagnoseaufgabe (Kästchen 902) erteilt wird, so wird der Prozeß in den anhängigen Zustand versetzt, bereit, an irgendeiner Verarbeitungseinheit 10 zu laufen, die für ihn verfügbar ist. Diese Verarbeitungseinheit ist nicht unbedingt die gleiche v/ie die"überwachende Verarbeitungseinheit", die oben erwähnt wurde.
Die erste Aktion des Fehlerkanalprozesses, wenn er betrieben wird (Kästchen 905), besteht darin, den Fehlerkanal der fehlerhaften Verarbeitungseinheit zu adressieren und vorbesimmte Daten in die Register dieser Verarbeitungseinheit über den Fehlerkanal einzuschreiben, um auf diese Weise die fehlerhafte Verarbeitungseinheit in Bereitschaft zu versetzen, ein spezielles diagnostisches Programm auszuführen, welches als Maze-Programm (B) bezeichnet wird. Dieses Maze-Programm ist ähnlich der Maze (A), und es kann genau die gleiche Folge von Instruktionen ver-
309845/1093
' ι
wenden. Während jedoch die Maze (A") durch die fehlerhafte Yerärbeitungseinheit unter ihrer eigenen Steuerung und Kontrolle betrieben wird, wird die Maze (B) unter der Kontrolle bzw. Steuerung des Fehlerkanalprozesses betrieben, wie noch beschrieben wird.
Der Prozeß nimmt außerdem eine Bückstellung des Time-out (b) in der fehlerhaften Yerarbeitungseinheit vor (Kästchen 904). Dadurch wird das Time-out (b) am Ablaufen gehindert, und es wird daher der Fehlerkanal offengehalten.
Hachdem dies geschehen ist, macht der Fehierkanalprozeß dann einen "call to block" (Kästchen 905) für das Überwacherprogramm (siehe Fig. 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 irgendeiner verfügbaren Yerarbeitungseinheit 10 zu laufen (was nicht unbedingt diejenige Yerarbeitungseinheit ist, an welcher er gerade lief, als der s'call to· block" gemacht wurde).
Wenn der Prozeß wieder läuft, so besteht seine erste Aktion (Kästchen 907) darin, einen "lastruktion-one-shot"-Befehl nach dem Fehlerkanal der fehlerhaften Yerarbeitungseinheit zu übermitteln, wodurch diese Yerarbeitungseinheit veranlaßt wird, eine Instruktion der Maze (B) auszuführen. Der Prozeß prüft dann ; (Kästchen 908) den Inhalt der Register der fehlerhaften Yerarbeitungseinheit, um nachzuprüfen, ob die Instruktion richtig ausgeführt wurde. Ist kein Fehler vorhanden, so prüft der Prozeß (Kästchen 909) t 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 der Maze (B) ohne irgendwelche Fehler erreicht wird. Es ist ersichtlich, daß das Time-out (b) etwa einmal alle 66 ms rückgestellt wird (Kästchen 904)» und es wird ihm daher nicht die Mög-
■3 09845/1093
232069a
lichkeit gegeben, abzulaufen, und der Fehlerkanal wird offengehalten.
Wenn der Prozeß die unrichtige Ausführung einer Instruktion entdeckt (Kästchen 90S), wiederholt er diese Instruktion, und zwar eine Übertragung zu einer Zeit, um die genaue Stelle der . iäaze (B) zu entdecken, an welcher der Fehler auftrat. Zuerst (Kästchen 910) nimmt der Prozeß eine-Rückstellung des Time-out (b) vor und macht dann (Kästchen 911) einen "call to block". Der Fehlerkanalprozeß wird dann für 66 ms blockiert (Kästchen 912), und zwar durch den Überwacher. Am Ende dieser Periode wird der Prozeß entblockiert bzw. entriegelt und läuft an irgendeiner verfügbaren Verarbeitungseinheit. Wenn der Prozeß wieder läuft, besteht seine erste Aktion (Kästchen 913) darin, einen "Übertragungsone-shot"-Befehl nach dem Fehlerkanal der fehlerhaften Verarbeitungseinheit zu übermitteln, wobei diese Verarbeitungseinheit veranlaßt wird, eine Übertragung der letzten Instruktion auszuführen. Der Prozeß überprüft dann (Kästchen 9H) den Inhalt der Register der fehlerhaften Verarbeitungseinheit, 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 festzustellen, 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 9O8 und 9H ermittelten Fehler mit einer Liste von Fehlern, die vorher in der fehlerhaften Verarbeitungseinheit ermittelt worden sind, wobei diese Liste in einem Kernspeicher 11 gehalten wird. Ist der Fehler ein neuer, so erzeugt der Prozeß einen Abdruck (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.
309845/1093
Der Fehlerkanalprozeß macht dann (Kästchen 919) einen "call to finish" für den Überwacher (siehe Pig. 6) und wird zurück in den schlafenden Zustand versetzt (Kästchen 901). Die Folge davon ist, daß dem Time-out (b) in der fehlerhaften Verarbeitungseinheit die Möglichkeit gegeben wird, abzulaufen, woraufhin diese Verarbeitungseinheit ihren Fehlerkanal schließen und eine Maze (A) betreiben wird, wie vorher beschrieben (siehe Fig. 7).
Wenn mit weiterem Bezug auf Fig. 9 die Maze (B) beendet.ist, ohne daß irgendwelche Fehler entdeckt worden sind (Kästchen 909), dann startet der Fehlerkanalprozeß einen Ermittlungs-Prüfvorgang /detection check procedure/, um die verschiedenen Paritäts-Prüfschaltungen innerhalb der fehlerhaften Verarbeitungseinheit zu überprüfen. Dies wird dadurch ausgeführt, daß eine vorbestimmte "Paritätinkorrekt"-Information in jedes der Verarbeitungseinheiis-Register nacheinander eingeschrieben wird, um zu sehen, ob dies durch die zugehörigen Paritäts-Prüfschaltungen ermittelt wird. Zunächst (Kästchen 920) nimmt der Fehlerkanalprozeß eine Rückstellung des Time-out (b) in.der fehlerhaften Verarbeitungseinheit vor, um den Fehlerkanal offenzuhalten. Der Prozeß macht dann (Kästchen 921) einen "call to block", woraufhin er in den blockierten Zustand für 66 ms versetzt wird (Kästchen 922). Wenn der Prozeß wieder läuft, führt er eine Ermittlungsprüfung an einem ausgewählten der Register (Kästchen 923) aus und prüft das Trap-Register, um festzustellen, ob der Paritätsirrtum richtig ermittelt ist (Kästchen 924). Ist dies der Fall, so prüft, der Prozeß, ob alle erforderlichen Ermittlungsprü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
309845/1093
ein "call to finish" gemacht wird.
Die oben beschriebene Fehleraktion kann auch in Ansprecherwiderung auf andere Fehlergänzeigen als Paritäts-Prüfungen eingeleitet werden: Zum Beispiel in Ansprecherwiderung auf eine interne Prüfung innerhalb des Prozesses selbst.
Es sei erneut auf Fig. 7 Bezug genommen, wenn ein von der Verarbeitungseinheit ermittelter Fehler von solcher Art ist, daß er wahrscheinlich in Wirklichkeit nicht durch diese Verarbeitungseinheit erzeugt worden ist (Kästchen 707), so kann die Fehleraktion modifiziert werden,, so daß die Verarbeitungseinheit eine Selbstüberprüfung versucht, mit einer Maze (A) zuerst, und nur den Fehlerkanal öffnet, um die Aktion durch eine andere Verarbeitungseinheit 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 verschlossen ist, z.B. weil er ein Teil des Arbeitsraumes eines anderen Prozesses ist.'Ein solcher "Adressenschutzausfall" /'address protection failure'/ kann wegen eines Fehlers eintreten, der auftrat, als der Prozeß vorher an einer anderen Verarbeitungseinheit lief, oder sogar wegen eines Software-Fehlers. Somit versucht im Falle eines derartigen Adressenschutzausfalles die Verarbeitungseinheit eine Selbstüberprüfung, bevor sie eine Diagnose anfordert.
"Roll-back"
Unter bestimmten Fehlerbedingungen 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 Roll-back-Routine, die so ausgelegt ist,daß sie die nötige Arbeitsinforma-
309845/1093
tion 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 dar Verarbeitungseinheit 10, in welcher 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 "zurückzurollen" /to roll back/. Wenn somit ein Prozeß eine Aufgabe erzeugt und den Überwacher anruft, diese Aufgabe einem anderen Prozeß (siehe Fig. 6) zu übergeben, 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 Roll-back-Routine wieder starten. Als ein anderes Beispiel kann das Rollback eines Prozesses durch das Überwacherprogramm in Ansprecherwiderung auf eine 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 Fernmeldevermittlungsanlage betreffen. Diese Verarbeitungsfunktionen bilden die normale Routine des Prozesses und werden durch das
3098 4 5/1093
Kästchen 101 in Pig. 10 dargestellt. Das Kästchen 102 repräsentiert den schlafenden Zustand 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 irgendeiner der Verarbeitungseinheiten 10 (Fig. 1) laufen, die für ihn verfügbar ist. Wenn der Prozeß läuft, so startet er bei Kästchen 105, welches als aein normaler Startpunkt bezeichnet wird. Hat er sich mit einer Aufgabe befaßt, dann entscheidet der Prozeß (Kästchen 106), ob noch irgendwelche Aufgaben in seiner Eingangsr-eihe von Aufgaben vorhanden sind, und wenn dies so ist, dann kehrt er an den normalen Startpunkt 105 zurück. Sind keine Aufgaben mehr vorhanden, so macht der Prozeß einen "call to finish" (Kästchen 107) für den tfberwacher und wird in den schlafenden Zustand zurückversetzt.
Dem Prozeß sind bestimmte Bereiche des Kernspeichers 11 (Fig. 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 eine Verarbeitungseinheit verfügbar wird.
3093AB/1093
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 11, welche die Zustände dieser Kreise betrifft, zu rekonstruieren. Jeder der Leitungs- * kreise 19 hat drei "Abfrage"-Drähte, die als die Y-, S- und NS-Drähte bezeichnet werden und für jede beliebige der Verarbeitungseinheiten 10 über deren Eingangs/Ausgangs-Hauptweg 14 und den entsprechenden Eingangs/Ausgangs-Kanal 15 sowie den Unterkanal (siehe Fig. 1) zugänglich sind. Jeder dieser Drähte trägt ein Binärsignal, welches den Zustand eines bestimmten Relais innerhalb des Leitungskreises repräsentiert und somit eine Information bezüglich des augenblicklichen Zustandes des Leitungskreises wie folgt enthält:
(I) Y = 1 bedeutet, daß ein Anruf durch den Leitungskreis fortschreitet; Y=O bedeutet, daß der Leitungskreis leerläuft.
(II) S β 1 bedeutet, daß es sich um einen abgehenden Anruf handelt; S=O bedeutet einen ankommenden Anruf.
(III) Im Falle eines abgehenden Anrufs bedeutet NS = O, daß der Leitungskreis sich im "Sprech"-Zustand befindet (d.h. daß die Verbindung völlig aufgebaut ist); NS = 1 bedeutet entweder, daß der Leitungskreis leer^läuft oder daß an ihm ein abgehender Anruf aufgebaut wird, der jedoch noch nicht vollständig aufgebaut ist.
Die Roll-back-Routine fragt (Kästchen 110) jeden der Leitungskreise 19 ab, und zwar durch Anlegen der entsprechenden Kanal- und Unterkanal-Adressen an die "Adress"-Drähte des Eingangs/Ausgangs-Hauptweges 14« Dadurch werden die Signale von den Y-, S- und NS-Drähten nach der Verarbeitungseinheit (an welcher die Routine läuft) über die "DateniiickkehiU-Drahte des Hauptweges rückübermittelt. Als nächstes prüft die Routine den Wert
309845/1093
des Signals vom Y-Draht her (Kästchen 111). Wenn Y=O ist, so ist anzunehmen, daß der Leitungskreis leerläuft. Wenn Y = ist, so prüft die Routine den Wert des Signals vom S-Draht her (Kästchen 112), und wenn S=O 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 NS » 1 ist, dann ist anzunehmen, daß sich der Leitungskreis im freilaufenden Zustand befindet. Er befindet sich in Wirklichkeit wahrscheinlich in einem gewissen Stadium im Aufbau eines abgehenden Anrufs, aber es ist unmöglich, aus den Signalen an den drei "Abfrage"-Drahten genau zu sagen, in welchem Stadium er sich befindet. In diesem Falle 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 Freilauf-Zustand befindet.
Nach Durchführung dieser Prüfungen an den Y-, S- und NS-Signalen adressiert die Routine die Speicherstelle im Kernspeicher 11, die dem infrage stehenden Leitungskreis zugeordnet ist, und schreibt ein Datenwort ein, welches je nach Fall dem "Freilauf", "abgehenden Gespräch" oder "ankommenden Gespräch" entspricht (Kästchen 114, 115 und 116).
Die Routine führt dann eine Prüfung durch, um zu sehen, ob sie alle Leitungskreise abgetastet hat (Kästchen 117), und wenn 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 normalen Startpunkt 105 aus weiter.
309845/1 093
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.i).
Das "Roll-back" ist Gegenstand der zugehörigen britischen Patentanmeldung 22292/72. *)
Die Erfindung betrifft auch Abänderungen der im beiliegenden Patentanspruch 1 umrissenen Ausführungsform und bezieht sich vor. allem auch auf sämtliche Erfindungsmerkmale, die im einzelnen — oder' in Kombination — in der gesamten Beschreibung und Zeichnung offenbart sind.
Patentansprüche
*) Anwaltsaktennummer der entsprechenden deutschen Patentanmeldung: 73 027
309845/ 1093

Claims (10)

  1. 2320693
    75 02$ Kü/Sch
    Patentansprüche
    Ί,- Mehrfach-Datenverarbeitungsanlage mit einer Vielzahl von unabhängigen Daten-Verarbeitungseinheiten, die je-einen Datenanschluß und einen Überwachungsanschluß aufweisen, einem allen Verarbeitungseinheiten gemeinsam zugehörigen Datenspeicher, zu dem jede der Verarbeitungseinheiten Zugang hat, mit einer Vielzahl von Daten-Hauptwegen, und zwar einen für jede Verarbeitungseinheit, zum Übertragen von Daten nach den Daten-Anschlüssen der entsprechenden Verarbeitungseinheiten und von diesen weg, sowie mit einer Vielzahl von Eingangs/Ausgangs-Kanälen, die mit den Daten-Hauptwegen verbunden sind, wobei jede Verarbeitungseinheit dadurch Zugang zu irgendeinem der Kanäle über ihren jeweiligen Daten-Hauptweg hat, gekennzeichnet durch eine Vielzahl von Fehlerkanälen (22), von denen jeder einer jeweiligen der Verarbeitungseinheiten (10) zugeordnet ist und durch Instruktionen von dieser Verarbeitungseinheit geöffnet oder geschlossen werden kann, wobei jeder Fehlerkanal (22) einerseits mit dem Überwachungsanschluß (23) seiner zugehörigen Verarbeitungseinheit (10) und andererseits mit dem Daten-Hauptweg (14) von zumindest einer anderen Verarbeitungseinheit verbunden ist, derart, daß der Betrieb dieser zugehörigen Verarbeitungseinheit durch diese andere Verarbeitungseinheit überwacht werden kann, wenn dieser Fehlerkanal geöffnet ist.
  2. 2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß jede Verarbeitungseinheit eine Konsole bzw. ein Eegiepult (24) mit einer Vielzahl von Steuerungen und einer Anzeige aufweist, daß das Regiepult (24) mit dem Überwachungsanschluß (23) der Verarbeitungseinheit verbunden ist, wenn der zugehörige Fehlerkanal geschlossen ist, derart, daß der Betrieb dieser Verarbeitungseinheit (10) manuell von dem Eegiepult aus überwacht werden kann,
    309845/1093
    und daß jeder Fehlerkanal (22) eine Einrichtung (218, 221) zum Trennen der Regiepult-Steuerungen von dem Überwachungsanschluß der zugehörigen Verarbeitungseinheit aufweist, wenn der Fehlerkanal geöffnet ist.
  3. 3. Anlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der tiberwachungsanschluß (23) jeder Verarbeitungs einheit (10) Daten von einer Vielzahl von Registern innerhalb der Verarbeitungseinheit trägt und daß jeder Fehlerkanal Multiplex-Einrichtungen (235) zum Auswählen von Daten aus irgendeinem der Register in der zugehörigen Verarbeitungseinheit in Ansprecherwiderung auf eine von einer anderen Verarbeitungseinheit über deren Daten-Hauptweg empfangenen Instruktion aufweist, und daß er ferner Einrichtungen (239? 244) zum Rückübermitteln der ausgewählten Daten über den Daten-Hauptweg der anderen Verarbeitungseinheit aufweist.
  4. 4. Anlage nach Anspruch 3» dadurch gekennzeichnet, daß die Daten in jedem der genannten Register aus einer Vielzahl von Datenbits und einem Paritäts-Prüfbit bestehen und daß die Einrichtung (239? 244) zürn Rückübermitteln der ausgewählten Daten über einen Daten-Hauptweg so eingerichtet ist, daß sie diese ausgewählten Baten gleichzeitig mit einer weiteren Information übermittelt, um anzuzeigen, ob die ausgewählten Daten paritätsgerecht sind oder nicht.
  5. 5· Anlage nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß jeder der Eingangs/Ausgangs-Kanäle (15) und der Fehler-Kanä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) ausgerüstet ist, und zwar zum Erkennen seiner eigenen Adresse, wenn diese nach dem Daten-Hauptweg durch die entsprechende Verarbeitungseinheit übermittelt wird, wobei die logische Decodierungsschaltung so eingerichtet ist, daß sie den Kanal ansteuert, um die "übertragung von Daten zwischen dem Kanal und dem Daten-Hauptweg zu gestatten, wenn die Adresse erkannt wird.
    309845/1093
  6. 6. Anlage nach, einem oder mehreren der Ansprüche 1 "bis 5» gekennzeichnet durch eine Unterbrechereinheit (25) zum Empfangen von Dienstanforderungen von irgendeiner der Verarbeitungseinheiten (10) und zum Auswählen einer anderen dieser Verarbeitungseinheiten, damit diese sich mit der Anforderung befaßt; wobei jede der Verarbeitungseinheiten eine Fehlerermittlungseinrichtung zum Feststellen von Fehlern enthält, die in dieser Verarbeitungseinheit auftreten, sowie dazu, daß diese Verarbeitungseinheit bei Auftreten eines solchen Fehlers veranlaßt wird, sich selbst vom Normalbetrieb auszuschließen, ihren zugehörigen Fehlerkanal zu öffnen und eine Anforderung des Dienstes der Unterbrechereinheit zu übermitteln.
  7. 7. Anlage nach Anspruch 6, dadurch gekennzeichnet, daß eine Verarbeitungseinheit (10), wenn durch die Unterbrechereinheit (25) ausgewählt, sich mit einer Dienstanforderung für eine andere Verarbeitungseinheit zu befassen, Zugang zur ,anfordernden Verarbeitungseinheit über den Fehlerkanal (22) der anfordernden Verarbeitungseinheit erhält und daraufhin die anfordernde Verarbeitungseinheit vorbestimmten Prüfungen unterwirft, um den Zustand der anfordernden Verarbeitungseinheit zu diagnostizieren.
  8. 8. Anlage nach Anspruch 7» dadurch gekennzeichnet, daß die vorbestimmten Prüfungen das Betreiben (907) eines Prüfprogramms an der anfordernden Verarbeitungseinheit, und zwar eine Instruktion zu einer Zeit, sowie das Überwachen (908) der Wirkung jeder Instruktion nacheinander umfaßt, um festzustellen, ob diese Instruktion durch die anfordernde Verarbeitungseinheit richtig ausgeführt worden ist.
  9. 9· Anlage nach Anspruch 8, dadurch gekennzeichnet, daß in dem Fall, wo eine Instruktion des Prüfprogramms unrichtig ausgeführt wird, die anfordernde Verarbeitungseinheit veranlaßt wird, diese Instruktion erneut auszuführen (913)» und zwar eine
    309845/1093
    :"■- 50 -
    Mikroprogramm-Übertragung zu einer Zeit, wobei die Wirkung jeder Übertragung überwacht wird (914·), um festzustellen, ob diese Übertragung richtig ausgeführt worden ist.
  10. 10. Anlage nach einem oder mehreren der Ansprüche 6 bis 9» dadurch gekennzeichnet, daß jede Verarbeitungseinheit ferner eine Zeitgebereinrichtung zur Zeitsteuerung einer vorbestimmten Time-out-Periode enthält, wobei diese Time-out-Periode jedesmal dann gestartet wird (713), wenn der zugeordnete Fehlerkanal (22) geöffnet ist, und erneut gestartet wird (904, 910, 920), wenn ein Zugang zu der Verarbeitungs einheit über den Fehlerkanal durch eine andere Verarbeitungseinheit hergestellt wird, wobei durch Ablauf der Time-out-Periode der Fehlerkanal wieder geschlossen wird (704·) und die Verarbeitungs einheit veranlaßt wird, ein Selbstprüf-Programm zu betreiben, woraufhin bei richtiger Beendigung des Selbstprüf-Programms der Verarbeitungseinheit die Möglichkeit gegeben wird, in den Normalbetrieb zurückzukehren (706).
    9845/1093-
    Leerseite
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 true DE2320698A1 (de) 1973-11-08
DE2320698C2 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)

Families Citing this family (42)

* 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
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
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
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 日本電気株式会社 情報処理システム
US4330826A (en) * 1980-02-05 1982-05-18 The Bendix Corporation Synchronizer and synchronization system for a multiple 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
DE3906846C2 (de) * 1989-03-03 1994-02-17 Bodenseewerk Geraetetech Redundante Rechneranordnung für Steuersysteme
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
In Betracht gezogenes älteres Patent: DE-PS 21 04 298 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2320698A1 (de) Mehrfach-datenverarbeitungsanlage, insbesondere zur ueberwachung von fernmeldevermittlungseinrichtungen
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
DE69528994T2 (de) Verfahren und anordnung zur prozessgestützten nachrichtenverarbeitung in einem kommunikationssystem
EP0635792B1 (de) Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
CH662025A5 (de) Digitale vermittlungsanlage.
DE2935841C2 (de) Mehrprozessoranlage
DE2165767A1 (de) Datenverarbeitungssystem
CH522921A (de) Rechneranlage
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE1549437A1 (de) Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen
DE2048670A1 (de) Speicherwartungsanordnung fur Daten verarbeitungsanlagen
DE2210325A1 (de) Datenverarbeitungssystem
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE1549550A1 (de) Computeranordnung zum Steuern einer Anlage mit einer Anzahl zusammenwirkender Einrichtungen
DE1574598C3 (de) Steuereinrichtung für Fernmelde-, insbesondere Fernsprechvermittlungsanlagen
DE2707267B2 (de) Anlage zum Erlangen des Zugriffs zu Fernmeldeleitungen
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
DE1105476B (de) Schaltungsanordnung fuer elektronische Fernsprechvermittlungsanlagen
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE2417446A1 (de) Adapter fuer datenverarbeitungsanlagen
DE60300233T2 (de) Fehlertolerante Vorrichtung zur informationsverarbeitung
DE2323509A1 (de) Mehrfach-datenverarbeitungsanlage, insbesondere fuer die ueberwachung von fernmeldevermittlungseinrichtungen

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