-
-
Steuerorgane eine# fehlertoleranten Mehrrechnersystems.
-
Die Erfindung geht von dem im Oberbegriff des Patentanspruchs 1 genannten
Gegenstand aus, der für sich durch eine Vielzahl von Veröffentlichungen bekannt
ist und devit Fachmann wohl vertraut ist.
-
Die Erfindung wurde insbesondere für den zentralen Steuerrechner eines
Fernsprech-Vermittlungssystems entwickelt, welcher einen besonders sicheren Betrieb
des aus mehreren Einzelrechnern bestehenden Mehrrechnersystem voraussetzt.
-
Die Erfindung ist Jedoch darüber hinaus auch in sonstigen Mehrrechnersystemen
anwendbar, bei denen auf Datenintegrität und Fehlertoleranz Wert gelegt wird.
-
Die Erfindung bzw. deren Weiterbildungen bieten ein besonders komfortables
Sicherheitsprinzip für die Zusammenarbeit mehrerer Rechner über ein Bussystem. Diese
erfindungsgemäßen Anordnungen erlauben, fehlertolerant Multiprozessoren aus nicht
sicheren einzelnen Rechnern zusammenzusetzen. Durch die Erfindung bzw. deren Weiterbildungen
ist es möglich, Mehrrechnersysteme aufzubauen, die wowohl in ihrer Leistungsfähigkeit
als auch in ihrem sicherungstechnischen Verhalten modular an unterschiedlichste
Anforderungen angepaßt werden können.
-
Bisher werden, wenn Fehlertoleranz gefordert wird, meistens Spezialrechner
gebaut, die auf ihren Einsatz zugeschnitten sind. Es ist bisher nicht möglich, in
solchen Fällen handelsübliche Rechner einzusetzen. Bei der bisher üblichen Entwicklung
fehlertoleranter Rechner versucht man normalerweise, durch Änderungen an Bausteinen
Verbesserungwen zu erreichen. Das führt letzten Endes
aber zu wenig
flexiblen Lösungen und überdies jeweils zu hohen Entwicklungskosten.
-
Die Erfindung konzentriert die Funktionen der Sicherungstechnik auf
wenige Hardware-Komponenten, die außerhalb des zu sicherenden Rechners liegen. Die
Erfindung sieht eine normierbare Schnittstelle für den Anschluß der verschiedenen
Rechner vor. Die Erfindung erhält ihre sicherungstechnischen Eigenschaften im wenstlichen
durch sicherungstechnische Hardware-Maßnahmen, wodurch insbesondere bei Weiterbildungen
der Aufwand für zusätzliche Sicherungs-Software ganz erheblich reduzierbar ist.
-
Durch die Erfindung bzw. deren Weiterbildungn wird die Fehlertoleranz
ohne RETRY bzw. BACK TRACING ermöglicht und ist für Anwenderprogramme transparent.
Das System verhindert, daß sich Rechner-oder Speicherfehler über das System ausbreiten.
Fehlerhafte Rechner und/oder Speicher werden abgeschaltet. Die Teilnehmer-individuellen
Systembus-Steuerungen sind seibstüberwacht.
-
Der Systembus und seine Zentrale sorgen für die Erhaltung der Datenintegrität
beim Transfer und sind darüberhinaus fehlertolerant konzipiert. Damit ist gesichert,
daß die transferierten Daten stets korrekt sind und auch bei Übertragungsfehlern
- von den seltenen Doppelfehlern abgesehen - dennoch ein korrekter Transfer der
Information gelingt. Die Lokalisierung der Fahlerursache kann später durchgeführt
werden. Jeweils zwei gleichartige Teilnehmer (Rechner bzw. Speicher) können dynamisch
- Je nach Bedarf - in dem fehlertoleranten Mode konfiguriert werden (TWIN). Beim
Ausfall einer Systembus-Steuerung eines TWIN-Teilnehmers während eines Systembus-Transfers
kann der Transfer lückenlos fortgesetzt werden, was durch den Aufbau und das Übertragungsprotokoll
des Systembus ermöglicht wird. Beim Ausfall
eines fehlertolerant
betriebenen Rechners bzw. Speichers können die Programme ohne Informationsverlust
fortgesetzt werden.
-
Die wesentlichsten, die Datenintegrität betreffenden Vorteile werden
durch die im Patentanspruch 1 angegebenen Maßnahmen erreichbar. Die inden Unteransprüchen
angegebenen Maßnahmen gestatten zusätzliche besondere Vorteile, nämlich die Maßnahme
gemäß Patentanspruch 2, vor allem einen fehlertoleranten Betrieb zu ermöglichen,
3, vor allem einen asynchronen Betrieb zu ermöglichen, -4 und 5,den Systembus möglichst
zweckmäßig zu gestalten, 6, eine serielle Kommunikation über den Systembus zu ermöglichen,
sowie 7, einen zentralen Speicher sicher zu betreiben, ohne ihn doppelt anzubringen.
-
Die Erfindung und deren Weiterbildungen werden anhand -der in den
Figuren gezeigten Beispiele weiter erläutert, wobei die Figur 1 einen Überblick
über die Steuerorgane zusammen mit dem zentralen Systembus, 2 andere Aspekte des
in Fig. 1 gezeigten Beispiels, 3 einen Datenprozessor, 4 einen Interface-Prozessor,
5 einen Speicher mit gedoppeltem Array, 6 einen Speicher mit ungedoppeltem Array,
7 eine mögliche Signalführung am zentralen Systembus, 8 Signale an der zentralen
Systembus-Entkoppelbaugruppe, 9 eine Tabelle über Varianten des BIC-Status, 10 ein
Prinzipschaltbild des BIC, 11 ein Prinzipschaltbild der einen Hälfte des BAS (rechte
Hälfte),
12 eine mögliche Arbitrations-Logik, 13 ein Zeitdiagramm
hinsichtlich der Buszuteilung, 14 ein Zeitdiagramm hinsichtlich eines Schreibzyklusses,
15 ein Zeitdiagramm hinsichtlich eines Lesezyklusses bei ungedoppelten Teilnehmern,
16 ein Zeitdiagramm für modifizierten Lese-Schreib-Zyklus, sowie 17 ein Zeitdiagramm
für einen Schreib-Zyklus eines TWIN-Paares zu einem anderen TWIN-Paar zeigen, wobei
sich die Erfindung nicht auf die gezeigten speziellen Beispiele #eschränkt.
-
Die Fig. 1 zeigt also ein Beispiel für das Konzept der erfindungsgemäßen
Steuerorgane. Mehrere Rechner PROC arbeiten über einen vieladrigen Systembus CSB
zusammen, eventuell auch mit einer an den Systembus CSB angeschlossenen zentralen
Speichereinheit MU. Der Dystembus CSB ist für sich gedoppelt, er bildet also ein
Systembuspaar, wobei zur Sicherung der Übertragung auf Jedem Systembus CSB die Steuerleitungen
für sich nochmals gedoppelt sind, vergl. auch Fig. 7 und 8. Zusätzlich zu den Informationsleitungen
werden hierbei auch noch Paritätsleitungen zur Erhöhung der Sicherheit verwendet.
-
Die Rechner PROC - und im allgemeinen bevorzugt auch die zentralen
Speicher MU - sind für sich Jeweils gedoppelt, vergl. Fig. 1 und bilden also Jeweils
ein parallel arbeitendes Rechnerpaar, bzw. auch Speicherpaar, wobei sie jeweils
über einen eigenen lokalen Bus LB an eine Bus-Interface-Schaltung BIC/BIC angeschlossen
sind.
-
Die jeweils aus zwei gleichartigen Teilen BIC bestehende Bus-Interface-Schaltung
BIC/B1C überprüft zur Sicherheit ihrerseits die von dem Rechnerpaar bzw. Speicher(paar)
PROC, MU erhaltenen Informationen sowie die eigenen auf den Systembus CSB zu sendenden
Signale durch einen Ver-
gleich. Bei Ungleichheit schaltet die
Bus-Interface-Schaltung BIC/BIC' sich und damit auch das angeschlossene Rechnerpaar
bzw. Speicher(paar) PROC, MU vom Systembus CSB ab und meldet diese Abschaltung der
Bus-Zentrale BAS als Alarm.
-
Die von jedem einzelnen Systembus CSB empfangenen Steuerungs- und
Informationssignale werden überdies von der Bus-Interface-Schaltung BIC/BIC überprüft,
wobei die Informationen nur dann an das empfangende Rechnerpaar bzw.
-
Speicherpaar) PROC, MU weitergegeben werden, wenn zumindest auf einem
der beiden Systembusse CSB die Übertragung fehlerfrei war.
-
Auf eine Anforderung der Bus-Interface-Schaltung BIC/BIC hin teilt
die Bus-Zentrale BAS über in jedem Systembus CSB gedoppelte Leitungen dieser Bus-Interface-Schaltung
BIC/BIC den betreffenden Systembus CSB zu, wobei die Bus-Freigabe innerhalb einer
maximalen Belegungszeit erfolgt.
-
Beim Betrieb beider Systembusse CSB erfolgt eine Zuteilung nur dann,
wenn auf beiden Systembussen CSB eine Anforderung gestellt wurde. Bei Ausfall eines
der beiden Systembusse CSB genügt aber die Anforderung auf dem verbleibenden intakten
Systembus CSB.
-
Die Bus-Zentrale BAS nimmt über eigene Leitungen zu den Bus-Interface-Schaltungen
BIC zentrale Sicherheitsfunktionen auf vielfältige Weise wahr, nämlich z.B. durch
die Sammlung der Alarme von den Bus-Interface-Schaltungen BIC/BIC, durch das An-
und Abschalten von Bus-Interface-Schaltungen BIC/BIC und damit von Rechnerpaaren
und Speicher(paaren) PROC, MU, durch das An- und Abschalten von einem der beiden
Systembusse CSB, durch Testaufträge an die Bus-Interface-Schaltungen BIC/BIC, womit
Systembus-Fehler lokalisiert werden können und
durch Abschalten
eines Rechnerpaares oder Speicher(paares) PROC, MU die Systembus-Redundanz erhalten
werden kann, ferner z.B. durch System-Start und durch die Kommunikation mit sicherungstechnischen
Prozessen, die auf irgendwelchen der Rechnerpaare PROC ablaufen.
-
Die Bus-Zentrale BAS besteht aus zwei gleichen Teilen, die Jedes für
sich den beiden Systembussen CSB zugeordnet sind, wobei alle zu sendenden Signale
verglichen werden und wobei die Registrierung einer Ungleichheit zu einer Abschaltung
der Bus-Zentrale BAS führt, was einer Ersatz-Bus-Zer.trale BAS gemeldet wird. Die
Ersatz-Bus-Zentrale BAS wird durch den Zustand der Bussignale sowie durch Meldungen
der aktiven Bus-Zentrale BAS stets auf Stand gehalten. Falls diese Meldung eine
bestimmte Zeit ausbleibt, oder bei einer Ausfallmeldung der aktiven Bus-Zentrale
BAS, oder bei routinemäßigem Tausch der Funktionen der beiden Bus-Zentralen BAS
kann die bisherige Ersatz-Bus-Zentrale BAS die Aufgabe der aktiven Bus-Zentrale
BAS lückenlos übernehmen.
-
Die IO-Organe sind bevorzugt über zwei Standard-IO-Busse an eine IO-Interface-Schaltung
CIC/CIC angeschlossen. Die IO-Interface-Schaltung CIC/CIC kann über die beiden lokalen
Busse LB mit dem parallellaufenden Rechner paar PROC und der Bus-Interface-Schaltung
BIC/ BIC kommunizieren, vergl. Fig. 1 und 2.
-
Die IO-Interface-Schaltung CIC/CIC besteht aus zwei gleichen Teilen,
die den beiden lokalen Bussen zugeordnet sind. In ihnen werden ebenfalls alle auf
dem IO-Bus zu sendenden Signale verglichen. Bei Ungleichheit schaltet sich die Bus-Interface-Schaltung
BIC/BIC vom System-Bus CSB ab und meldet den Alarm an die Bus-Zentrage BAS.
-
Die IO-Interface-Schaltung CIC/CIC sendet bei einem IO-TransSer in
der Regel nur auf einen einzigen IO-Bus, wobei sie aber die in der Regel über einen
einzigen IO-Bus empfangenen Informationen Jeweils an beide lokale Busse LB des parallel
arbeitenden Rechnerpaares PROC bzw. der Bus-Interface-Schaltung BIC/BIC weiterleitet.
-
Die Bus-Zentrale BAS, die Bus-Interface-Schaltung BIC/BIC und die
IO-Interface-Schaltungen CIC/CIC überwachen ihre eigene Funktionsfähigkeit in der
Regel Jeweils selbst.
-
Sie registrieren dabei selber Fehler, z.B. Spannungsfehler, Taktausfall
und Watch Dog-Qblauf, wobei sie sich wie bei einem Vergleicherfehler selbst abschalten
und den Alarm melden.
-
Eine Weiterbildung der Erfindung enthält, für einen fehlertoleranten
Betrieb wobei bei Ausfall eines Rechners PROC bzw. zentralen Speichers MU der Programmablauf
im System nicht gestört wird, zwei Rechnerpaare und zwei Speicherpaare PROC, MU,
die Jeweils parallel arbeiten. Bei Ausfall eines Rechners PROC eines der Rechnerpaare
führt das andere intakte Rechnerpaar PROC die laufende Aufgabe zunächst alleine
fort. Bei Ausfall eines Speichers MU eines der Speicherpaare führt das intakte Speicherpaar
MU die laufende Aufgabe zunächst alleine fort. Dadurch stehen im intakten Speicherpaar
MU weiterhin korrekte Daten zur Verfügung.
-
Auf denselben Systembus CSB können gleichzeitig zwei Bus-Interface-Schaltungen
BIC/BIC senden, wobei auf dem Systembus CSB ein aktives Potential ausgezeichnet
ist, das sich dann durchsetzt, wenn verschiedene Potentiale angelegt werden.
-
Die Bus-Zentrale BAS teilt dem Systembus CSB die zu den beiden Rechnerpaaren
PROC gehörende Bus-Interface-Schaltung BIC/BIC nur dann zu, wenn beide Bus-Interface-Schal-
tungen
BIC/BIC des sendewilligen Rechnerpaares PROC eine Anforderung gestellt haben, um
fehlerhaft ungleich arbeitende Rechner, also den Ausfall eines der Rechnerpaare,
schon in diesem Zeitpunkt zu erkennen.
-
Die Bus-Zentrale BAS registriert die im fehlertoleranten Betriebsmode
zusammengehörigen Bus-Interface-Schaltungen BIC/BIC, die im Prizip beliebig ausgewählt
werden konnen, und hebt bei Ausfall eines Rechnerpaares PROC die Verdopplung auf,
so daß das verbeibende Rechnerpaar PROC den Systembus SCB zugeteilt bekommen kann.
-
Die IO-Organe sind Jeweils an ein IO-Interface-Schaltungspaar CIC/CIC
angeschlossen, das über die lokalen Busse mit zwei parallel laufenden Rechnerpaaren
PROC und zwei Bus-Interface-Schaltungen BIC/BIC kommunizieren kann. In der Regel
sendet zwar Jeweils nur eine IO-Interface-Schaltung CIC/CIC des IO-Interface-Schaltungspaares
CIC/CIC auf einen IO-Bus. Die von einem IO-Bus empfangenen Informationen werden
bevorzugt über Auskreuzleitungen von einer IO-Interface-Schaltung CIC/CIC zur anderen
IO-Interface-Schaltung CIC/CIC eines IO-Interface-Schaltungspaares CIC/CIC übermittelt.
Die Bus-Zentrale BAS stellt die im fehlertoleranten Betriebsmode zusammengehörigen
IO-Interface-Schaltungen CIC/CIC als IO-Interface-Schaltungspaar ClC/CIC ein und
schaltet bei Ausfall einer IO-Interface-Schaltung CIC/CIC oder eines dazugehörigen
Rechners PROC oder der dazugehörigen Bus-Interface-Schaltung BIC/BIC in der IO-Interface-Schaltung
CIC/CIC den fehlertoleranten Betriebsmode ab.
-
Die Erfindung kann so weitergebildet werden, daß sie einen asynchronen
Betrieb gestattet, der nicht mit den Problemen eines vollsynchronen Systems belastet
ist und der es erlaubt, beliebige handelsübliche Rechner und Speicher zu verwenden.
Dazu werden die den Datentransfer steuernden Busleitungen Address Valid" AV Data
Valid DV und Transfer Aknowledge TK von den am
Transfer beteiligten
Bus-Interface-Schaltungen BIC/BIC so bald wie möglich in den aktiven Zustand versetzt.
-
Die Bus-Interface-Schaltungen BIC/BIC - auch die gerade sendende BIC/BIC
- bewerten die Pegelübergänge aktiv nach passiv der den Datentransfer steuernden
Busleitungen, so daß fehlertolerante Paare durch diese Übergänge der Steuersignale
am Systembus CSB synchron gehalten werden. Die Signale der den Datentransfer steuernden
Busleitungen werden von der Bus-Interface-Schaltung BIC/BIC auf den eigenen Takt
synchronisiert. Wenn aber nach einer Wartezeit von z.3. 1 oder 2 Takten auf dem
anderen Systembus CSB dieses Signal nicht auch empfangen wird, dann ignoriert die
Bus-Interface-Schaltung BPGBBIC für den laufenden Transfer den anderen Systembus
CSB, um eine völlige Unterbrechung zu vermeiden.
-
Zur Erhaltung der Befehlsfolge in parallel arbeitenden Rechnern PROC
können zusätzlich die Interrupts - z.B.
-
vom Timer - maskiert sein, bis auf einen Interrupt, der sich von einem
Zähler ableitet, dessen Zählerstand fest mit der Befehlsfolge gekoppelt ist wie
beim Zählen der Adress-Latch-Enable-Impulse. Bei einem Interrupt dieses Zählers
werden alle am Interrupt-Controller anliegenden Interrupts von Rechnern PROC der
Bus-Interface-Schaltung BPC/BIC mitgeteilt. Anschließend liest der Rechner PROC
wieder sowohl die Interrupts ein, die von beiden zu einer Bus-Interface-Schaltung
BIC/BIC gehörenden Rechnern PROC mitgeteilt werden, als auch Jene Interrupts, die
über den Systembus CSB für den Rechner PROC gemeldet werden; ferner liest er, wenn
noch eine IO-Interface-Schaltung CIC/CIC an die lokalen Busse angeschaltet ist,
noch die hier für den Rechner PROC gesammelten Interrupts ein. Die vom Rechner PROC
aus seiner Bus-Interface-Schaltung BIC/BIC und - falls vorhanden - IO-Interface-Schaltung
CIC/CIC gelesenen Interrupts werden dabei in diesen Schaltungen BIC/BIC, CIC/CIC
gelöscht, wobei eine Zeit-
überwachung in der Bus-Interface-Schaltung
BIC/BIC darüber wacht, daß nicht nur einer der beiden parallel arbeitenden Rechner
PROC einen Interrupt meldet, was nämlich sonst von der Bus-Interface-Schaltung BIC/BIC
als Fehler angesehen wird, der zum Abschalten des Rechnerpaares PROC vom Systembus
CSB führt. Die beiden Bus-Interface-Schaltungen BIC/BIC, die zu zwei fehlertolerant
betriebenen Rechnern PROC gehören, tauschen, nachdem die Rechner PROC ihnen die
Interrupts mitgeteilt haben, über den Systembus CSB diese Interrupt-Meldungen aus,
wobei nur dieJenigen Iterrupts von den Rechnern PROC wieder eingelesen werden, die
von allen hier beteiligten Rechnern PROC und von den zugehörigen CIC/CIC mitgeteilt
wurden.
-
Wenn die Bus-Interface-Schaltung bzw. IO-Interface-Schaltung BIC/BIC,
CIC/CIC eine Meldung auf einem lokalen Bus LB empfängt und wenn diese Schaltung
BIC/BIC, CIC/CIC nach einer vorgegebenen maximalen Wartezeit vom anderen lokalen
Bus LB aber immer noch keine Meldung empfangen hat, veranlaßt die Bus-Interface-Schaltung
BIC/BIC das Abschalten des Rechner- bzw. Speicherpaares PROC, MU vom Systembus CSB,
weil dann ein Fehler vorliegt.
-
Beispeilhaft werden nun Funktionen der Leitungen Jedes Systembusses
CSB anhand der Fig. 7 und 8 erläutert: Auf z.B. 32 Informationsleitungen werden
Adressen und Operationscode, letztere auf z.B. 4 Leitungen, und anschließend auf
denselben Leitungen Daten gesendet, wobei die Informationen z.B. mit zusätzlichen,
z.B. vier bis sieben, Paritätsleitungen gesichert werden. Solange eine Bus-Interface-Schaltung
BIC/BIC die für Jeden Systembus CSB gedoppelte Leitung LOCK im aktiven Zustand hält,
können mehrere Datentransfers auf dem Systembus CSB hintereinander durchgeführt
werden, ohne daß, bzw.
-
bevor, die Bus-Zentrale des Systembus CSB von Neuem zuteilt.
-
Zur seriellen Kommunikation stehen verschiedene Leitungen zur Verfügung:
Über die gemeinsame serielle Leitung gibt die Bus-Zentrale BAS eine an eine Bus-Interface-Schaltung
BIC/BIC adressierte Meldung ab, über individuelle serielle Leitungen ISC gelangen
Meldungen von den einzelnen Bus-Interface-Schaltungen BIC/ BIC an die aktive Bus-Zentrale
BAS; und über zwei zentrale serielle Leitungen SAC kommunizieren die aktive Bus-Zentrale
und die Ersatz-Bus-Zentrale miteinander.
-
Die aktive Bus-Zentrale BAS kann Jede Bus-Interface-Schaltung BIC/BIC
durch Aussenden des Aktiv-Pegels auf deren Resetleitung im vom Systembus CSB abgeschalteten
Zustand halten, während die aktive Bus-Zentrale BAS durch die Potentialänderung
vom aktiven in den passiven Pegel ein Rücksetzen der Bus-Interface-Schaltung BIC/BIC
und des dazugehörigen Rechner- bzw. Speicherpaares PROC, MU, sowie ein Anschalten
der Bus-Interface-Schaltung BIC/BIC an den Systembus CSB veranlaßt.
-
Jeder Systembus CSB besteht dabei z.B. aus einer mehrlagigen Platine,
an die über Stecker mehrere, z.B. sechzehn, Busabkoppelbaugruppen der Bus-Interface-Schaltungen
BIC/BIC und die beiden Bus-Zentralen BAS anschließbar sind.
-
Die Informations- und Steuerleitungen sind an den beiden Leitungsenden
mit Leitungsabschlüssen versehen, die auch die Funktion haben, im passiven Zustand
das zugehörige Potential hochohmig anzulegen. Die Bus-Interface-Schaltung BIC/BIC
kann über Kabel an die Busabkoppelbaugruppen, welche die Leitungstreiber enthalten,
angeschlossen sein und diese elektrisch versorgen.
-
Die serielle Kommunikation am Systembus CSB soll nun näher erläutert
werden.Eine serielle Meldung besteht aus Paketen, die außer dem Start- und Stop-Bit
weitere, z.B. acht, Informationsbits und ein Zusatzbit enthalten, wobei das Zusatzbit
nur beim ersten Paket einer Meldung
der Bus-Zentrale BAS auf der
gemeinsamen seriellen Leitung GSI gesetzt ist, während das Zusatzbit sonst zur Paritätssicherung
verwendet wird. Die Bus-Interface-Schaltung BIC/BIC, die stets bereit ist Meldungen
auf der gemeinsamen seriellen Leitung zu empfangen, registriert zunächst nur ein
Paket, wenn das Zusatzbit gesetzt ist, wobei dieses Paket in den ersten, z.B. vier,
Bits die Adresse der angesprochenen Bus-Interface-Schaltung BIC/BIC enthält und
wobei nur der Adressat das erste Paket und die weiteren Pakete einer Meldung registriert.
Die Ersatz-Bus-Zentrale BAS ist stets bereit, Meldungen auf einer der beiden zentralen
seriellen Leitungen SAC zu empfangen. Die Bus-Interface-Schaltung BIC/BIC bzw. die
Ersatz-Bus-Zentrale BAS dürfen von sich aus nur ein Dauersignal auf einer individuellen
seriellen Leitung ISC bzw. auf einer der beiden zentralen seriellen Leitungen SAC
senden, um der aktiven Bus-Zentrale BAS einen Kummunikationswunsch anzuzeigen. Solange
die aktive Bus-Zentrale mit einer intakten Bus-Interface-Schaltung BIC/BIC kommuniziert,
wird auf der individuellen seriellen Leitung kein Dauersignal, sondern es werden
dort Antwort-Pakete zur aktiven Bus-Zentrale BAS gesendet, während bei Ausfall einer
Bus-Interface-Schaltung BIC das Dauersignal statisch anliegt. Die aktive Bus-Zentrale
BAS unterrichtet nach der Erledigung eines Auftrages einer Bus-Interface-Schaltung
BIC/BIC zunächst die Ersatz-Bus-Zentrale BAS und anschließend die Bus-Interface-Schaltung
BIC/BIC, die daraufhin das Dauersignal zurücknimmt, wenn nicht noch weitere Aufträge
vorliegen. Bei Ausfall der aktiven Bus-Zentrale BAS während der Bearbeitung eines
Auftrages einer Bus-Interface-Schaltung BIC/BIC findet die bisherige Ersatz-Bus-Zentrale
BAS, die nun aktiv wird, das Dauersignal wieder vor und bearbeitet damit den Auftrag
von Neuem, wobei zur Sicherung der Übertragung noch Quittungen, zusätzliche Paritäts-Bits
und eine Zeitüberwachung des Transfers vorgesehen sein können.
-
Einen sicheren Speicher MU, aber ohne Dopplung des Speichers MU bzw.
des Speicherinhalts erhält man, wenn die Information im Speicher MU durch eine ausreichende
Anzahl von Paritätsbits gesichert ist, so daß Ein-Bit-Fehler korrigiert werden und
Zwei-Bit-Fehler erkannt werden können. Die Speichersteuerung besteht bevorzugt aus
zwei gleichen, synchron betriebenen Steuerrungen MCU, die jeweils an ihren lokalen
Bus LB angeschlossen sind. Der Speicher MU wird zwar nur von einer einzigen Steuerung
aktiv beschrieben, aber beim Lesen führen beide Steuerungen die Fehlerkorrektur
und -prüfung durch, wobei die Erkennung eines nicht korrigierbaren Fehlers in wenigstens
einer der beiden Steuerungen als Speicherausfall interpretiert werden kann.
-
Das Konzept der Erfindung gestattet also, aus "normalen" Rechnern
und Speichern ein fehlertolerantes Mehrrechnersystem aufzubauen. Besondere Bedeutung
hat die Weiter-~ve##endbarkeit der dann eventuell bereits bestehenden Systemsoftware
zur Anwendung der Rechner als Steuerrechner, insbesondere von hochkomplexen Systemen,z.B.
-
von Fernsprech-Vermittlungssystemen. Durch genormte Schnittstellen
ist es dann sogar möglich, Fortschritte bei der Entwicklung der Systemteilnehmer
ohne Rückwirkung auf das Gesamtkonzept zu nutzen.
-
Wesentliche Teile des Konzeptes werden nochmals anhand von Fig. 1
- nun aus anderer Sicht - erläutert. Demnach besteht das Konzept aus dem Systembus
CSB und verschiedenen Teilnehmern. Sicherungstechnische Funktionen werden insbesondere
durch die strichliert gekennzeichneten Bestandteile erfüllt. Dazu gehören der CSB,
die Buszentrale BAS, die beiden gleichartigen Teile BIC der Bus-Interface schaltung
BIC/BIC und IO-Int-erface-S~chaltung CIC/CIC, die ihrerseits aus den gleichartigen
Teilen CIC besteht.
-
Jeder Teilnehmer ist intern gedoppelt. Die Dopplung dient nicht der
Erhöhung der Verfügbarkeit - im Gegenteil, diese nimmt sogar ab - sondern der Fehlererkennung;
eine zuverlässige Fehlererkennung wird als unerläßlicher Bestandteil eines Jeden
brauchbaren Mehrrechnersystems betrachtet. Unerkannte, womöglich über mehrere Rechner
verschleppte Fehler können, falls sie überhaupt bemerkt werden, nachträglich nicht
lokalisiert und damit auch nicht repariert werden.
-
Setzt man Jedoch voraus, daß Jeder Fehler sicher sofort bemerkt wird
und in seiner Wirkung auf Jenen Teilnehmer begrenzt bleibt, in dem er aufgetreten
ist, können unterschiedliche Anforderungen bezüglich Rechensicherheit, Verfügbarkeit
und Fehlertoleranz erfüllt werden.
-
Ist lediglich eine hohe Rechensicherheit erforderlich, genügt es an
sich, nach einem (teilnehmerinternen) Vergleicheralarm anzuhalten und das abgebrochene
Programm nach der Reparatur erneut zu starten. Werden aber hohe Anforderungen an
die Verfügbarkeit des Systems gestellt, kann ein redundanter Teilnehmer oder ein
mit anderen Aufgaben betrauter Teilnehmer einspringen. Wenn ein Programmabbruch
zulässig ist, darf das gestörte Programm neu aufgesetzt werden.
-
Werden aber eigentliche fehlertolerante Eigenschaften gefordert, wenn
nämlich ein einmal gestartetes Programm nicht wieder abgebrochen werden darf, dann
bietet die Erfindung die Möglichkeit, zwei Teilnehmer so zu synchronisieren, daß
beim Ausfall des einen Teilnehmers der andere Teilnehmer die gemeinsame Aufgabe
alleine weiterführt, und zwar derart, daß die Umgebung davon nichts bemerkt (Twin-Betrieb).
Die Erfindung bietet ein solches hohes Maß an sicherungstechnischer Modularität
dadurch, daß unterschiedliche Anforderungen an das sicherungstechnische Verhalten
nicht nur statisch erfüllt werden
können, sondern daß die Konfiguration
sogar dynamisch und individuell für unterschiedliche Programme einstellbar gemacht
werden kann.
-
Sieht man von der inter nen Dopplung der Teilnehmer ab, ergibt sich
eine Rechnerarchitektur bzw. eine Anordnung ihrer Schaltorganes für die ein Beispiel
durch Fig. 1 gegeben ist.
-
Diese Struktur erlaubt, die Aufgaben auf alle Prozessoren gleich,
oder aber prszessorgebunden, zu verteilen. Daten und Programme können sowohl in
den lokalen Speichern der Prozessoren, als auch in gemeinsamen Speichern gehalten
werden Die erforderliche Leistung bestimmt die Zahl der Prozessoren, Jedenfalls
solange keine Sättigungerscheinungen am CSB oder im gemeinsamen Speicher CM auftreten.
-
Teilnehmer am Systembus CSB sind Datenprozessoren DP, Interface-Prozessoren
IP, die zusätzlich zu den Datenprozessoren DP über aus zwei gleichen Teilen CIC
bestehende IO-Interface-Schaltung CIC/CIC Anschlüsse an die I0#Busse haben, an denen
IO-Prozessoren IOP angeschlossen sein können, ferner gemeinsame Speicher CM. Die
Teilnehmer sind an den Systembus über aus zwei gleichen Teilen BIC bestehende Bus-Interface-Schaltungen
BIC/BIC angeschlossen. Zwei Bus-Zentralen BAS sind für zentrale Ikufgaben vorgesehen.
-
Ein Beispiel für ein Mehrrechnersystem ist in Fig. 2 angegeben. Hier
sind awei Interface-Prozessoren IP vorhanden, die Zugriff zu den verschiedenen IO-Prozessoren
IOP, die z.B. eine vermittlungstechnische Peripherie VT bedienen, und zu IO-Bus-Erweiterungen
BEU haben. Sowohl die Datenprozessoren DP als auch die Speicher CM können dynamisch
wählbar - als fehirtolerant arbeitende Paare (TWINs) betr(Cben werden.
-
Der CSB kann z.B. maximal 16 Teilnehmer miteinander verbinden; dies
können dann z.B. 16 Prozessoren sein, wenn kein gemeinsamer Speicher benötigt wird,
ober aber Jede beliebige Mischung aus Prozessoren und Speichern.
-
Welcher Prozessor für IP bzw. DP gewählt wird, ist zunächst für das
Konzept der Erfindung ohne Bedeutung.
-
Wichtig ist der Aufbau der Schnittstelle zum BIC. Siehe dazu den Datenprozessor
DP in Fig. 3 und den Interface-Prozessor IP in Fig. 4. Diese Figuren zeigen beispielhaft
den Aufbau unter Mitverwendung eines Taktgenerators C, von lokalen Speichereinheiten
LMU, Prozassoreinheiten PU zusammen mit dem gedoppelten Systembus CSBO, CSB1. Alle
Prozessoren, die denselben lokalen Bus LB besitzen, können vom BIC bzw. CIC bedient
serien. Will man handelsüblichcRechner und Speicher verwenden, dürfen außer der
Festlegung des lokalen Busses LB keine weiteren Forderungen an die Teilnehmer gestellt
werden. Deshalb muß, Jedenfalls bei Weiterbildungen der Erfindung, auf Taktsynchronismus
der teilnehmerinternen Prozessoren verzichtet werden.
-
Fig. 5 zeigt ein Speicherbeispiel mit gedoppeltem und Fig. 6 mit ungedoppeltem
Memory Array AY. Die Speichersteuerung ist stets gedoppelt. Wie aus Fig. 5 und 6
ersichtlich ist, besitzt in diesem Beispiel auch das Comman Memory CM einen inter
nen Bus, der zweckmäßigerweise mit dem LB der Prozessoren identisch ist. Das CM
kann, Je nach Größe des Speichermediums, verschieden aufgebaut werden. Wenn nur
ein Array vorhanden ist, sollte die MCU möglichst auch sicherungstechnische Funktionen
bereitstellen.
-
Der Aufbau der Steuerorgane sollte möglichst wenig Anforderungen sicherungstechnischer
Art an die Jeweilige Hardware und Software der Teilnehmer stellen.
-
Die- Bussignale sind aufbautechnisch in verschiedene Leitungsbereiche
des CSB unterteilt, nämlich in die Leitungen im Multilayer und in die Leitungen
des Bandkabels zwischen Bus-Entkopplungsbaugruppe AK und BIC des Teilnehmers. Von
der Funktion her kann z.B. unterschieden werden in gemeinsame Busleitungen, zu denen
Jeder Teilnehmer Zugriff hat und in individuelle Leitungen, welche von Jedem Teilnehmer
zum linken BAS BASl und rechten BAS BA5r führen, bzw. welche die beiden BAS miteinander
verbinden, vergl. Fig. 7 und 8. Fig. 7 zeigt die Signalführung am CSB, wobei wegen
der Übersichtlichkeit die Dopplung des CSB nicht gezeigt wurde.
-
Gezeigt sind ferner Multilayersignale MLS und Signale am Teilnehmerkabel
STK zu den Teilnehmern TLN. Die Fig.8 zeigt Signale an einer CSB-Entkoppelbaugruppe
mit individuellen Leitungen IndL und echten Bus signalen EBS am Teilnehmerkabel
STK und Multilayer ML, mit Leitungen im Multilayer, darunter die gemeinsamen Busleitungen,
z.B, 32 Adreß/Datenleitungen/bidirektional (bd), 4 Paritätsleitungen/bd, 3 Reserveleitungen
zur eventuellen Erweiterung der Paritätsbits für ECC/bd, 2 Reserveleitungen für
eventuelle Interrupts/bd, ferner 8 Steuerleitungen, nämlich 2 Address Valid (AV)/bd,
2 Data Valid (DV)/bd, 2 Transfer Acknowledge (TK)/bd; 2 Lock (LOCK)/bd, zusätzlich
1 serielle Kommunikationsleitung mit 1 Global Serial Interface (GSI)/unidirektional:
BAS - TLN; sowie die individuellen Leitungen, z.B. 1 Request (RQ)/unidirektional
(ud): TLN - BAS, 2 Grant (GT)/ud:BAS-TLN, 1 Individual Serial Channel (ISC)/ud:TLN
- BAS, 1 Res tRS)/ud: BAS - TLN und 2 Serial Arbiter Communication (SAS)/ud: hASl
- BASr.
-
Die Leitungen im Kabel zwischen Bus-Abkopplung und BIC sind z.B. 32
Adreß/Datenleitungen, 4 Paritätsleitungen, 5 Reserveleitungen, 12 Steuerleitungen
mit 2 AVH/ud, 2 AVZ/ud, 2 DVH/ud, 2 DVZ/ud, 2 TKH/ud, 2 TKZ/ud und
2
Lock/bd, ferner 1 Global Serial Interface GSI/ud: BAS - TLN, 1 Request/ud: TLN -
BAS, 2 Grant/ud: BAS - TLN, 1 Individual Serial Channel ISC/ud: TLN - BAS, 1 Reset
RS/ud: BAS - TLN, 1 Sendersperre/ud: TLN - Busabkopplung, 2 Stromversorgungsleitungen
SV (zur Gewährleistung des Tri-State-Ausgangs beim Stecken der Abkoppelbaugruppe),
3 Sender-Steuer Signale SST/ud: TLN - Bus-Abkopplung mit 1 Sendersperre ADR/DAT-Leitungen,
1 Sendersperre Steuerleitungen und 1 Richtungsumschaltung: Senden/ Empfangen.
-
Wie aus Fig. 1 ersichtlich ist, bildet der BIC Jeweils die Schnittstelle
zwischen Teilnehmer und Systembus.
-
Fig. 10 zeigt das Prinzipschaltbild eines BIC-Beispieles.
-
Dabei ist der Datenfluß und Steuerungsablauf abhängig von der Bus-Operation
und dem BIC-Status gemäß der in Fig. 9 gezeigten Tabelle. Zur Erklärung der prinzipiellen
Funktionen beim Empfang vom CSB soll besonders die Aktion PW näher erläutert werden:
Ein Teilnehmer sendet Daten auf dem CSB. Jeder nicht aktive Teilnehmer übernimmt
mit AV bzw. DV diese Daten in das CADR- bzw. CDAT-Register. Gleichzeitig mit dem
Latchen in das CADR wird beim Adreßschub durch CSB-CONTROL CCT geprüft, ob es sich
um eine für den Empfänger relevante Adresse handelt. Ist dies nicht der Fall, werden
keine weiteren Aktivitäten eingeleitet. Erkennt die CCT aber die Adresse als in
den eigenen Bereich gehörig, dann stößt sie die BIC-CONTROL BCT an. Diese schaltet,
sobald der I-Bus frei ist, die Adresse zur Paritätsprüfung durch. Der Ablauf in
den BCTs der BICs (eines Teilnehmers) wird durch Auskreuzung aller relevanten Ereignissignale
synchronisiert. Nur wenn beide BCTs keinen Paritätsfehler erkannt haben, werden
die geprüften Adressen in das MADR-Register übernommen. Anschließend wird in analoger
Weise mit den Daten verfahren; sie werden von CDAT- in das MDAT Register übertragen.
-
Schließlich veranlaßt die BCT die Multibus-Steuerung MCT, die in MADR
und MDAT bereitgestellten Daten entsprechend dem Multibus Protokoll an den Teilnehmer
weiterzuleiten.
-
Wurde von einer BCT bei der Paritätsprüfung ein Fehler festgestellt,
bleiben beide BCTs auf der Alarmabfrage stehen. Dies führt in beiden BICs zu einem
Time Out Alarm, der als Interrupt an den Steuerprozessor CP geleitet wird. Dieser
sperrt zunächst die Command-Leitungen der BCT und bewertet die Alarm und Status-Signale.
-
Im BIC, in dem der Paritätsalarm erkannt wurde, erfolgt die Durchschaltung
des X-Bus auf den I-Bus und die Uebernahme in das entsprechende Multibus Register
durch den CP, sofern der Partner-BIC mit richtiger Parität empfangen hat und am
eigenen 1-Bus kein erneuter Paritätsalarm aufgetreten ist. Anschließend gibt der
CP die Coemand Leitungen der BCT wieder frei und löscht den Paritätsalarm. Im BIC,
der fehlerfrei empfangen hat, gibt der CP die Steuerung an die BCT zurück, ohne
eigene Maßnahmen durchzuführen. Sobald dabei der Paritätsalarm gelöscht ist, setzen
beide BCT die Steuerung des Ablaufs fort. Beide Teilnehmerhälften erhalten dadurch
die fehlerfrei empfangene Information. Haben beide BICs mit falscher Parität empfangen,
oder tritt beim Überkreuzen der einseitig korrekt empfangenen Information erneut
Paritätsalarm auf, werden die empfangenen Daten nicht an den Teilnehmer weitergeleitet.
In allenSjörungs fällen überträgt der CP über den individuellen seriellen kanal
ISC eine entsprechende Alarmmeldung an den BAS.
-
Der Sendevorgang im Rahmen der Aktion AW läuft dann z.B.
-
folgendermaßen ab: Die MCT-Control hört die auf dem Multibus gesendeten
Adressen mit. Zeigt eine Adresse auf den gemeinsamen
Speicher oder
in den BIC-individuellen IO-Raum, aktiviert die MCT die BIC-CONTROL. Diese veranlaßt
über die CCT das Senden eines REQUEST auf dem CSB. Trifft der GRANT vom BAS ein,
bewirkt dieser zunächst die asynchrone Durchschaltung der MB-Adresse durch MADR
und CADR auf den CSB, die Umschaltung des Paritätsnetzes auf "Generieren Paritäe"
und das Scharfmachen des AV-Signals.
-
Gleichzeitig wird die MCT veranlaßt, den MB-Zyklus abzuschließen.
Das GRANT-Signal wird aufsynchronisiert; beide BCT laufen mit dem gleichen Takt
los und schalten die am eigenen I-Bus anliegende Adresse auf den X-Bus, wo sich
die Information beider BICs überlagert (Wired or).
-
Die so überlagerte Adresse wird mit der auf dem eigenen I-Bus liegenden
verglichen; im Gutfall sendet die BCT an die CCT die Aufforderung, das AV-Signal
wegzunehmen und damit die Adresse für gültig zu erklären. Die CCT prüft nach, ob
das AV-Signal auch auf dem CSB verschwindet und sendet, sobald dies der Fall ist,
die Quittung an die BCT, daß die Adresse für gültig erklärt wurde.
-
Im Anschluß daran wird in analoger Weise mit den Daten verfahren.
Schließlich wird der Zyklus am CSB mit dem Wegnehmen des TK-Signals abgeschlossen.
-
Tritt beim Vergleichen ein Alarm auf, bleibt die BCT auf der Alarmabfrage
stehen. Dadurch kommt es zu einem Time Out Alarm, der am CP einen Interrupt verursacht.
Der CP übernimmt die Steuerung und veranlaßt zunächst das Sperren der Adreß- bzw.
Datensender zum CSB. Mit einer Verzögerung werden dann die Steuersignale abgeschaltet,
so daß im Falle einer Twin-Konfiguration keine Fehlerübernahme beim empfangenden
Teilnehmer entstehen kann.
-
Das serielle Interface zum BAS wird z.B. wie folgt betrieben: Sendet
der BAS über die serielle Leitung GSI, entsteht im CP ein Interrupt, falls dieser
seine eigene Adresse erkannt hat. Da nicht sichergestellt werden kann, daß beide
BIC (von beiden CSB) die Nachricht empfangen
haben, muß diese vor
der weiteren Verarbeitung ausgekreuzt werden. Dies geschieht bevorzugt durch den
CP, gesteuert über den X-Bus.
-
Beim Senden des BIC über den seriellen Kanal ISC (zum BAS) müssen
zwei Zustände unterschieden werden: Alarmzustand (Anklopfen beim BAS): An die Leitung
ISC wird statisch aktives Potential gelegt. Dies führt im BAS zu einem Interrupt
und im Zuge der Interrupt-Behandlung zur Empfangsauswahl des alarmierenden BIC.
-
Informationssustand (Datenübertragung zum BAS): wird der BIC über
den GSI-Kanal aufgefordert, Nachrichten zu senden, wird ein anstehendes Anklopf-Signal
(Alarm) von der ISC-Leitung genommen und die Übertragung der Daten aus dem CP durchgeführt'.
-
Besondere Bedeutung kommt in diesem Falle der Synchronisation von
Unterbrechungszuständen zu. Interrupts müssen sowohl in den nicht synchron laufenden
Rechnern eines Teilnehmers, als auch zwischen Teilnehmern im TWIN-Betrieb, synchronisiert
werden. Interrupts sollen daher nur dann zugelassen werden, wenn alle betroffenen
Rechner denselben Befehlszählerstand haben; außerdem soll sichergestellt werden,
daß alle Rechner dieselben Interrupts erhalten. Innerhalb eines Teilnehmers kann
die Interrupt-Synchronisation z.B. auf folgende Weise realisiert werden: Lokale
Interrupts: Diese treten innerhalb eines Rechners auf, z.B. wenn der interene Timer
abläuft. Im Interrupt Controller der beiden Rechner des Teilnehmers sind bis auf
einen Level alle Interrupts maskiert. Der nicht maskierte Interrupt wird von einem
Zähler erzeugt, der eine bestimmte Anzahl, z.B. 104, von Adress-Latch-Enable (ALE)-Zyklen
des PROC, z.B. 8086, abzählt. Dieser Zähler soll auf der Baugruppe, z.B. ISBC 86/12A
der
Fa. Siemens, eingebaut werden. Er wird beim Start eines Teilnehmers
in beiden Rechnern rückgesetzt und erzeugt damit Signale, die befehlssynchron (nicht
zeitsynchron !) in den beiden Rechnern eines Teilnehmers entstehen. In der dazugehörigen
Interrupt-Routine werden die am Interrupt Controller anstehenden (maskierten) Interrupts
mittels OUT-Befehl an den BIC übertragen. Dieser OUT-Befehl erzeugt einen Interrupt
im CP des BIC. Der Multibus-Zyklus des OUT-Befehls wird vom BIC nicht sofort quittiert,
damit der Teilnehmer-Rechner nicht mit dem Programm (= Interrupt Routine) fortsetzen
kann. Der CP im BIC kreuzt nun über den X-Bus die in den BICs vorliegenden Interrupt-Bits
aus und bildet die Schnittmenge der in beiden Teilnehmerhälften anliegenden Interrupts.
Anschließend quittiert der BIC (gesteuert vom CP) den Multibuszyklus, so daß nun
beide Teilnehmerrechner befehlssynchron mit der Interupt-Routine fortfahren.
-
Der auf den OUT-Befehl folgende IN-Befehl überträgt die in den BICs
anstehenden symmetrischen Interrupts in den Teilnehmerrechner, wo sie entsprechend
ihrer Priorität abgearbeitet werden können. Hat der CP ungleiche Interrupts aus
beiden Teilnehmerrechnern festgestellt, prüft er nach, ob beim nächsten ALE-Zähler-Interrupt
die vorher unterschiedlichen Interrupt-Bits gleich geworden sind; ist dies nicht
der Fall, liegt ein Teilnehmer-Hardwarefehler vor, der-über einen Alarm an den BAS
gemeldet wird.
-
Externe Interrupts (Interrupts aus dem BIC): Solche Interrupts entstehen
aufgrund von winter Processor Commands" (IPC). IPCs, die in einem BIC erkannt werden,
erzeugen zunächst einen Interrupt im CP, der das empfangene Command analysiert und,
falls es sich um eine Meldung an den Teilnehmerrechner handelt, ein Unterbrechungsbit
setzt, das dann bei der nächsten ALE-Zähler-Interrupt-Behandlung mit den lokalen
Interrupts eingelesen und bearbeitet wird.
-
Laufen zwei Rechner im TWIN-Mode, müssen zusätzlich alle Interrupts
in den beiden Teilnehmern synchronisiert werden. Dabei wirdtoigende Prozedur angewandt:
Zunächst synchronisiert Jeder Teilnehmer seine Interrupts im BIC wie schon vorhin
beschrieben. Die CPs (in allen vier beteiligten BICs) erkennen durch Abfrage eines
Ports, daß Twin-Betrieb vorliegt und beantragen durch Anlegen des Ru signals einen
CSB-Zyklus. Dieser Zyklus läuft (als einziger) nicht symmetrisch in den Twins ab.
Der durch ein Konfigurationsbit als ~führend" bezeichnete Twin sendet zuerst seine
Interrupts nach der BUS-Zuteilung zum 1'nicht führenden" Twin. Danach werden die
am "nicht £Whrenden" Twin anliegenden Interrupts zum rührenden Twin gesendet. Erst
nach Abschluß des Austausches über den CSB quittieren die BICs den Empfang des OUT-Befehls
auf dem Multibus, so daß Jetzt alle vier Teilnehmer-Rechner befehlssynchron mit
der Interruptbehandlung einsetzen können, welche nur die Interrupts berücksichtigt,
die in beiden Twins anliegen.
-
Wie aus Fig. 1 hervorgeht, bildet die Bus-Zentrale BAS den Abschluß
des CSB; d.h. CSB enthält immer einen »Linken BAS" BASl und einen "Rechten BAS"
BASr. BASl und BASr sind in sich nochmals gedoppelt und durch Vergleich überwacht.
Im laufenden System ist ein BAS aktiv, der andere steht im hot standby Mode und
ist zu Jeder Zeit in der Lage, die CSB-Steuerung unterbrechungsfrei zu übernehmen.
-
Der BAS hat z.B. folgende Aufgaben: Die CSB-Zuleitung, #onfigurationsbehandlung
des CSB und der Teilnehmer, Routineprüfung des CSB, Steuerung der Prüfung in den
Teilnehmern, Lokalisierung von Defekten am CSB bzw. in den Teilnehmern, Durchführung
der Kernlaufs, sowie Pflege der Betriebssystem-Schnittstelle zur Sicherungstechnik.
-
Die Funktionen des BAS lassen sich am besten anhand eines Beispieles
für den Aufbau eines BAS in Fig. 11 beschreiben, welche der Einfachheit wegen nur
die rechte Hälfte des BAS-Beispieles zeigt: Die Hardware kann z.B.
-
in drei wesentlichen Teile gegliedert werden, nämlich in die Arbitrierungseinheit,
serielle Kommunikation und den BAS-Prozessor. Die Arbitrierungseinheit empfängt
von z.B. maximal 16 Teilnehmern Je einen hquest RQ pro CSB.
-
Jeder Request durchläuft zur Synchronisation auf den BAS-Takt zunächst
ein Register, das gleichzeitig die Umsetzung von ECL (CSB) auf TTL-Pegel durchführt.
Die zweite Synchronisierungsstu£e befindet sich in der Arbitration Logic ABL bzw.
AC, von der ein Beispiel in Fig. 12 gezeigt ist; dort bedeuten: STE bzw. STD Single/Twin-Encoder
bzw. -Decoder, PRE bzw. PRC Priority-Encoder bzw. -Counter, sowie ABC Abitration
Control.
-
Um die BAS-Hä.lften synchron zu halten, werden die .RQ-Leitungen zwischen
den Hälften ausgekreuzt. Die AC führt die CSB-Zuteilung für ungedoppelten (Single-)
und gedoppelten (Twin-)Betrieb durch.
-
Die CSB-Vergabe ist durch die BP-Software einstellbar, und zwar unter
der Bedingung: Feste Priorität mit Wahl des höchstprioren Teilnehmers, oder rotierende
Priorität für faire Zuteilung. Trifft ein RQ ein, führt dies synchron in beiden
BAS-Hälften zum Start der Arbitration-Control ANY RQ. Ein neuer Request wird übernommen,
wenn die Steuerung im Zustand IDLE ist. Die Arbitrierung erfolgt vorausschauend,
d.h., während noch das Grant-Signal für den Vorgänger ansteht, wird das neue GT-Signal
ermittelt.
-
Bei Vollausbau werden die in RQSYN gespeicherten RQs vom SINGLE-TWIN
ENCODER RAM STE nur weitergegeben, wenn bei den einzelnen TWINS beide RQ-Signale
anliegen. Der nachfolgende mit rotierender Priorität arbeitende PRIORITY
ENCODER
PRE wählt den Teilnehmer mit höchster Priorität aus. Schließlich sorgt das SINGLE/TWIN
DECODER RAM STD dafür, daß bei einem ausgewählten TWIN beide zusammengehörigen Teilnehmer
ein GT-Signal bekommen. Bei kleiner Teilnehmer-Zahl genügt ein einzelnen RAM-Baustein,
um die oben beschriebenen Funktionen in einem Schritt durchzuführen. Die GTs werden
auf den Systembus durchgeschaltet, wenn seit der RQ-Übernahme eine bestimmte Zeit
verlief und - bei fortlaufender Arbitrierung - das Ende des letzten Bus zyklus mit
TK (und LOCK) signalisiert wurde. Außerdem müssen zu diesem Zeitpunkt die in den
BAS-Hälften intern ermittelten GTs übereinstimmen (MP GT - sonst wird ein Alarm
an den Prozessor BP gemeldet, und es darf auch kein anderer Alarm vorliegen, sonst
wird die Weiterarbitrierung gestoppt).
-
Der Bustransfer wird z.B. mit einem BUS TIMEOUT COUNTER überwacht.
Läuft dieser Zähler ab, wird sofort die Arbitrierung gestoppt und ein entsprechender
Alarm an den BP gemeldet.
-
Die Zuordnung von Twins ist an sich freizügig änderbar, da SINGLE/TWIN-ENCODER
und -DECODER STE, STD an den Adreß- und Datenbus des BP angeschaltet sind und Jederzeit
umprogrammiert werden können. Wird ein GT#Signal auf den CSB gelegt, erfolgt gleichzeitig
die Speicherung im LAST-GT-Register. Das LAST-GT ist vom BP lesbar und dient im
Fehlerfall der Ermittlung des Teilnehmers, der den CSB-Zyklus angefordert hat. Die
GT-Signale werden aus Sicherheitsgründen gedoppelt zu Jedem Teilnehmer geführt,
vergl. GT und G 5. Ein Senderfehler für ein GT-Bit könnte sonst bei single-CSB-Betrieb
zum Totalausfall führen.
-
Das Serial Channel Control SCHCONT steuert die Sende-bzw. Empfangsrichtung
für die serielle Kommunikation: - Im Individual Serial Channel ISC z.B.: Jeder Teilnehmer
sendet
auf dieser Leitung zu Jedem BAS; Zunächst meldet der Teilnehmer eine auszugebende
Nachricht durch Anlegen eines Dauersignals, d.h. Alarm, an. Auf Anforderung des
BAS hin sendet der Teilnehmer die Meldung. - Im Global Serial Interface GSI: Auf
dieser Leitung sendet der BAS an einen durch die Adresse ausgewählten Teilnehmer
Nachrichten. - Im Serial Arbiter Communication SAC: Die SAC besteht aus zwei Leitungen
zur Kommunikation zwischen den beiden BAS. - Im Intra-BAS-Communication IBC: Die
IBC besteht aus zwei Leitungen zur Verständigung der Hälften innerhalb des BAS.
-
Zum SCHCONT gehört der Vergleicher CMP SCH für die ab.-gehenden seriellen
Leitungen GSI und SAC. Trifft auf einem der seriellen Kanäle aktives Potential ein,
entsteht ein Alarm-Signal, das einen Interrupt hervorruft.
-
Das Alarm-Signal ist statisch. Da es nicht sichergestellt ist, daß
eine Alarmmeldung auf beiden CSB empfangen wird, kreuzt der BAS die in beiden Hälften
vorhandenen Informationen ALC huber die IBC-Schnittstelle aus, Jedenfalls im Duplex-Betrieb.
In der Regel fordert der BAS anschließend den alarmierenden Teilnehmer über GSI-bzw.
SAC-Schnittstelle auf, detaillierte Informationen zu senden. Die Empfangsauswahl
wird auf den entsprechenden Sender eingestellt. Nach Ablauf eines Timers für die
maximale Wartezeit auf die Teilnehmer-Antwort wird das BP- interne Pufferregister
der seriellen Schnittstelle ausgelesen und sein Inhalt gegenseitig über die IBC
ausgetauscht. Anschließend kann der Interrupt zurückgesetzt und gegebenenfalls der
dazugehörige Alarm maskiert werden.
-
Der BAS-Prozessor BP stellt außer der Arbitrierung alle anderen BAS-Leitungsmerkmale
zur Verfügung.
-
Er besitzt einen externen Programmspeicher PROM und einen Datenspeicher
RAM. Über einen Adreß-Decoder werden folgende IO-Ports angesteuert:
Status-Logic
(STÄT); die STAT enthält Kippstufen, die die BAS-interne Konfiguration betreffen.
So z.B. von welchem RQ-Empfänger synchronisiert werden soll, oder um welche BAS-Hälfte
es sich handelt, etc.. Die Status Logic ist über den BP-Bus les- und teilweise ladbar.
-
Alarm Collection (ALC); in der ALC werden externe Alarme auf den BAS-Takt
synchronisiert und mit den BAS internen Alarm wespeichert. Ein ODER-Signal aus allen
Alarmen führt nach einer zweiten Takt-Synchronisierkippstufe auf den Interrupt-Eingang
des BP. Der Interrupt wird zwischen den BAS-Hälften synchronisiert. die externen
Alarme sind individuell sperrbar. Zur Differenzierung der Unterbrechungsursache
liest der BP den Inhalt der ALC auf seinen Bus aus.
-
Arbitration Logic (AC); Serial Channel Control (SCHCONT); Reset Logic
(RSL); die Reset-Logic enthält ein Port für z.B. 16 individuelle Leitungen zum Rücksetzen
jedes Teilnehmers und einen Vergleicher für Jede RS-Leitung.
-
Nur bei positivem Vergleichsergebnis werden die Sender für die RS
Si gnale freigeschaltet.
-
Jeder Datenzyklus auf dem CSB wird vom aktiven Teilnehmer mit dem
REQUEST Signal angemeldet. Die Arbitrierung erfolgt zentral mit BAS. Die Zuweisung
des CSB wird durch das GRANT-Signal GT gegeben. Die GRANT-Leitung GT ist aus Sicherheitsgründen
gedoppelt. Der anfordernde Teilnehmer greift nur dann auf den CSB zu, wenn beide
GRANT-Leitungen aktives Potential haben. Der Teilnehmer, der einen CSB-Zyklus abschließt,
meldet durch ein Quittungssignal (TK) die Beendigung des Transfers an den BAS. Fig.
13 zeigt ein Beispiel für die Einleitung und
den Abschluß des CSB-Zyklus,
wobei n, m Bus-Zyktlen, tw Wartezeiten auf Buszuteilung (sie ist abhängig von der
Priorität des Teilnehmers und der Anzahl der gleichzeitig anliegenden Requests RQ),
a Q off Abschaltezeit für den Request nach der Buszuteilung, t Delay, bis das Quittungssignal
TACK (TK) vorbereitet wird, tTK,min Mindestdauer für TK, tA Arbitrierungszeit, tT
Transferzeit auf dem Bus und tc Bus-Zykluszeit bedeuten.
-
Je nach Betriebart der Teilnehmer kann man auch das CSB-Datenprotokoll
unterscheiden in ein Protokoll für ungedoppelte Teilnehmer und in ein Protokoll
für gedoppelte Teilnehmer (Twins). Beide Protokolle sind - was den oder die gedoppelten
Teilnehmer betrifft - identisch; d.h., ein Teilnehmer braucht diesbezüglich nicht
zu wissen, ob er einen Partner-Twin besitzt, oder nicht.
-
Lediglich der BAS weiß über die Konfiguration Bescheid.
-
Sendet ein Twin einen Request, wartet er ab, bis auch der Partner-Twin
RQ sendet und teilt dann beiden das GRANT-Signal zu. Weitere Maßnahmen sind nicht
notwendig.
-
Es gibt zwei verschiedene CSB-Zyklen für ungedoppelte Teilnehmer.
Fig. 14 zeigt ein Beispiel für das Timing des Write-Zyklus, wobei (S) Sender, (R)
Receiver, ts AD set up time Adresse, tAD Adreß-Bereitstellungszeit, th hold time
Adresse, tS,D set up time Daten, th D hold time Daten, tAR Adreß-Erkennungszeit
im Empfänger und tDP Daten-Verarbeitungszeit im Empfänger bedeuten.
-
Sobald GT (vom BAS) empfangen wird, werden (asynchron vom Teilnehmer)
die Adressen angelegt und die Steuersignale AV und DV vorbereitet. Sind die Adressen
eingeschwungen und richtig (Vergleich), werden sie durch Wegnahme von AV als gültig
erklärt. Nach der Hold Time werden die Daten angelegt und nach der Einschwingzeit
durch Wegnehmen von DV für gültig erklärt, falls der Vergleich
positiv
war, Wenn der empfangende Teilnehmer die Adresse erkannt hat, legt er das TK-Signal
solange an, bis er die Daten gespeichert hat und für einen neuen CSB-Zyklus bereit
ist. Damit ist der Write-Zyklus beendet.
-
Der BAS nimmt das GT-Signal weg und vergibt gegebenenfalls einen neuen.
Zyklus.
-
Wenn der Vergleich der Adressen oder Daten negativ war, werden die
A/D- und Paritätssender gesperrt. Die Leitungen gehen in den passiven Zustand, vgl.
LOW in Fig. 14.
-
Nach der Einschwingzeit werden AV und/oder DV passiv geschaltet. Der
Empfänger übernimmt damit Adressen bzw.
-
Daten falscher Parität und sondert diese im BIC aus. Der Zyklus wird
vom Empfänger wie gewöhnlich durch Wegnahme des TK-Signals beendet.
-
Fig. 15 zeigt ein Beispiel für das Timing des Read-Zyklus. Die Bezeichnungen
und Zeitangaben gelten sinngemäß wie in Fig. 14, wobei tDA Daten-Bereitstellungszeit
der Empfänger bedeutet. Wie beim Schreiben werden nach Buszuteilung die Adressen
auf die Leitungen gelegt. Gleichzeitig werden die Signale AV und TK vorbereitet.
Sobald der angesprochene Empfänger die Adresse (und den Operationscode) erkannt
hat, legt er das DV-Signal an. Nach der-Datenzugriffszeit und der Daten-setup time
wird DV weggenommen. Der BIC des lesenden Teilnehmers (S) übernimmt die Daten und
quittiert den Empfang durch Wegnehmen des TK-Signals, sobald er die Daten an den
Teilnehmer abgegeben hat und damit für den nächsten CSB-Zyklus frei ist. Für den
Fall eines Vergleicheralarms gelten sinngemaß die Aussagen zum Write-Zyklus gemäß
Fig. 14.
-
Zur Realisierung von Read-Modify-Write-Zyklen kann der CSB reserviert
werden. Dazu wird das im PROC iSBC86 erzeugte Signal LOCK bei der Buszuteilung auf
den CSB gelegt. Solange das LOCK-Signal ansteht, ignoriert der BAS des TK-Signal.
Als Ende-Kriterium gilt: TK und LOCK sind
passiv. Fig. 16 zeigt
ein Beispiel für das Timing eines Lese-Schreib-Zugriffs bei reserviertem Bus. Die
Zahl der reservierten Buszyklen ist nur durch die Zeitüberwachung im Bus begrenzt.
Der CSB bleibt solange reserviert bis der reservierende Teilnehmer das LOCK-Signal
wieder wegnimmt.
-
Werden Teilnehmer im Twin-Mode betrieben, müssen sie sich gegenseitig
synchronisieren. Außerdem soll es zu Jedem Zeitpunkt eines Buszyklus möglich sein,
nach Ausfall eines Twins das Protokoll mit dem verbleibenden Rechner fortzusetzen,
ohne daß dies vom Partner-Teilnehmer (der ebenfalls e,.n Twin sein kann) bemerkt
wird.
-
Die Synchronisierung des CSB-Datenprotokolls erfolgt über die Steuerleitungen,
die auch für den ungedoppelten Betrieb benötigt werden. Im Twin-Mode senden zwei
Teilnehmer gleichzeitig auf dem CSB, d.h., Adressen bzw.
-
Daten und Paritäten beider Twins überlagern sich auf dem Bus. Wie
bereits in Zusammenhang mit Fig. 13 erläutert, teilt im vorliegenden Beispiel der
BAS Jedem Twin eines Paares das Grant-Signal zu, sobald er von beiden den Request
empfangen hat. Das TK-Signal der Twins oderiert sich auf dem CSB; erst wenn TK passiv
wird, nimmt der BAS beide GRANTsweg und vergibtden nächsten Zyklus Der Datenaustausch
wird über AV bzw. DV synchronisiert.
-
Auch die Steuersignale oderieren sich (aktiv high) auf dem CSB. Ein
Twin setzt den CSB-Zyklus erst fort, wenn er durch Abhören der Steuersignale erkannt
hat, daß sein zugehöriger Twin dieselbe Stelle im Protokoll erreicht hat. Um dies
zu ermöglichem, muß Jeder BIC Zugriff auf die Signale AV und DV unmittelbar am CSB
haben. Deshalb sind Sende- und Empfangsweg für AV und DV zwischen Bus-Abkopplung
und BIC getrennt ausgeführt, vergl. auch Fig. 8.
-
Fig. 17 zeigt ein Beispiel für das Timing für einen Write-Zyklus mit
Twins als Sender (Prozessor) und Twins als Empfänger (Speicher). Die mit x bezeichneten
Signale liegen am Jeweiligen Eingang des CSB-Treibers an.
-
Da das Abhören von AV und DV auch im ungedoppelten Betrieb erfolgen
kann, ergibt sich für die BIC-Steuerung kein Unterschied zwischen dem ungedoppelten
Betrieb und dem Twin-Mode im vorliegenden Beispiel,