-
Die Erfindung gehört in das Gebiet der
Multiprozessorsysteme mit mindestens einem von an einen Hauptbus
angeschlossenen Prozessoren gebildeten Verarbeitungsmodul. Ganz
allgemein betrifft die Erfindung Mehrfachbussysteme, in
denen mehrere Verarbeitungsmoduln miteinander über
Buskoppler verkehren. Die Druckschrift FR-A-2 538 140 beschreibt
ein solches System.
-
Eine solche Konfiguration findet sich insbesondere in
Datenvermittlungssystemen der Art, wie sie von der
Anmelderin unter der Bezeichnung "Alcatel 8300" vertrieben werden.
-
In solchen Multiprozessorsystemen enthält jeder
Prozessor Mittel zur Verwaltung des Zugangs zum Hauptbus des
Moduls, zu dem er gehört, und zwar gemäß einem Prozeß in
zwei Phasen. Während einer ersten Phase, die beispielsweise
einem Taktzyklus entspricht, werden alle
Bus-Zugangsanfragen, die von allen Prozessoren des Moduls kommen, von einer
Prioritäts-Streitschlichtungslogik behandelt, um einen
Sieger des Zuweisungsprozesses zu identifizieren. Dieser
Sieger wird dann der nächste "Meister" über den Bus. Während
einer zweiten Phase, d.h. sobald der Bus des Moduls frei
wird, sichert die dem siegenden Prozessor zugeordneten
Busübernahmeschaltung den exklusiven Zugang dieses
Prozessors zum Bus durch Aussendung eines Signals, das die
Beherrschung der Busleitung anzeigt.
-
Im Fall von Mehrfachbussystemen arbeiten die
Buskoppler, die den Verkehr zwischen den verschiedenen
Verarbeitungsmoduln auf den verschiedenen Busleitungen
gewährleisten, paarweise zusammen, um bei einer üblichen
Zugangsanfrage zum entsprechenden Zielbus in beiden Richtungen
wirksame Verbindungen aufzubauen.
-
Es sei bemerkt, daß die Datenübertragung von einem
Modul zu einem anderen über mehrere aufeinanderfolgende
Busleitungen verlaufen kann, ehe der Zielprozessor erreicht
wird.
-
Es ist bekannt, daß eine Störung der über den Bus
verlaufenden Signale, entweder aufgrund einer Panne einer
Signale aussendenden oder empfangenden Schaltung auf einer
an den Bus angeschlossenen Karte, oder aufgrund eines
Kurzschlusses in Höhe einer Einschubverdrahtung oder aus einem
anderen Grund, eine Blockierung entweder der
Zuweisungssysteme oder der Logik zur Übernahme der Busleitung und zur
Busverwaltung der Karten führt, die sich auf dem Bus
befinden. Wenn die Blockierung in einem Augenblick erfolgt, in
dem ein Buskoppler gerade mit einem entfernten Modul
verkehrt, kann die Blockierung sich auf andere Busleitungen
ausdehnen. Im ungünstigsten Fall kann es zu einer
vollständigen Blockierung der ganzen Konfiguration kommen.
-
Es gibt bereits Prozeduren zum Auflösen der
Blockierung eines Systems mit mehreren Prozessoren und mehreren
Busleitungen.
-
Unter diesen Prozeduren gibt es solche, die ein
Busresetsignal durch die Systemkarte aussenden. Das
Resetsignal wirkt auf die Anschlußregister der Prozessoren in jedem
Modul und der Buskoppler, so daß jede Karte daran gehindert
wird, auf den Bus Signale auszusenden, ohne dessen Fähigkeit
zu behindern, die Signale zu empfangen, die auf dem Bus
übertragen werden.
-
Die Aussendung eines Resetsignals ist jedoch für
Mehrfachbusstrukturen in Schleifenform ungeeignet. Wenn
nämlich mindestens drei Busleitungen paarweise in einem
geschlossenen Kreis verkettet sind, kann man nicht
verhindem, daß das Resetsignal an das ganze verschleifte System
gesendet wird. Das Resetsignal hält sich also selbst
aufrecht aufgrund der spezifischen Neutralisierungsmechanismen.
Dies führt dazu, daß ein Reset für jeden Bus getrennt
erfolgen muß und nicht global erfolgen kann.
-
Andererseits kann die Systemkarte unter gewissen
Umständen mit der Kontrolle der Busleitung Schwierigkeiten
haben, entweder wegen eines Konflikts mit einer
Buskopplerkarte oder aufgrund eines Verlusts der Zugangspriorität zu
dem Bus.
-
Ziel der Erfindung ist es, die obigen Schwierigkeiten
zu beheben und ein Entblockiersystem für den Bus mit Hilfe
eines vollkommen beherrschten Prozesses vorzuschlagen, mit
dem ein Multibussystem, das eine allgemeine Blockierung
erfahren hat, progressiv und iterativ wieder entblockiert
werden kann. Das erfindungsgemäße Verfahren hat also den
Vorteil, daß der gestörte Modul von den anderen Moduln des
Systems isoliert werden kann, ohne daß die
Softwarekonfiguration des Systems oder die eventuellen gerade laufenden
Buszyklen gestört würden.
-
Außerdem bietet die erfindungsgemäße Lösung eine
vollkommene Kompatibilität mit existierenden
Konfliktverwaltungssystemen für gleichzeitig zwischen zwei Busleitungen
auftretende reziproke Zugangsanfragen.
-
Das erfindungsgemäße Verfahren, wie es im Anspruch 1
definiert ist, kann schließlich auch zur Aussendung mehrerer
aufeinanderfolgender Zyklen ohne Freigabe der Busleitung
verwendet werden.
-
Diese und andere Ziele, die nachfolgend erläutert
werden, werden erreicht mit Hilfe eines Verfahrens zur
Entblockierung eines Multiprozessorsystems, das mindestens
einen Verarbeitungsmodul enthält, der von an einen einzigen
Hauptbus angeschlossenen Prozessoren gebildet wird, wobei
jeder Prozessor eine Zelle zur Verwaltung des Zugangs zum
Hauptbus in zwei Phasen besitzt, die einerseits ein
Buszuweisungssystem, das im Verlauf einer ersten Phase ein Signal
bezüglich des positiven oder negativen Ergebnisses der
Streitschlichtung der während eines bestimmten Zyklus von
den Prozessoren des Moduls ausgesprochenen Zugangsanfragen
liefert, und die andererseits eine Schaltung zur Übernahme
der Busleitung enthält, die in einer zweiten Phase den
Zugang zum Bus des Prozessors durch Aussenden eines Signals
gewährleistet, das die Übernahme der Busleitung im Fall
eines positiven Ergebnisses im Zuweisungssystem während der
ersten Phase bedeutet, dadurch gekennzeichnet, daß das
Verfahren darin besteht, einer spezifischen Entblockierkarte
eine Funktion der Erfassung der Blockierung des Moduls und
eine Funktion der Freigabe der Busleitung des Moduls zu
übertragen, und daß die Funktion der Freigabe der Busleitung
darin besteht, ein einziges Signal zur Entblockierung
auszusenden, das für alle Prozessoren des Moduls einerseits das
Ergebnis der Zuweisung negativ macht und andererseits das
Signal, mit dem der Bus übernommen wurde, annuliert.
-
Vorzugsweise findet das erfindungsgemäße Verfahren in
Multiprozessorsystemen Anwendung, in denen das
Ausgangssignal der Streitschlichtung des Zuweisungssystems von einer
Streitschlichtungslogik des Moduls geliefert wird, die
eingangsseitig ein Signal empfängt, das die Teilnahme an der
Zuweisungsprozedur jedes Prozessors bezeichnet, der eine
Zugangsanfrage zum Bus während eines bestimmten Zyklus
aussendet.
-
In diesem Fall verhindert ein gemeinsames
Entblockierungssignal die Teilnahme jedes der Prozessoren des Moduls
an der Zuweisung.
-
Gemäß einer bevorzugten Ausführungsform der Erfindung
mit einem Satz von mindestens zwei Verarbeitungsmoduln, die
je mit mindestens einem anderen Modul über ein symmetrisches
Paar von Hauptbuskopplern verkehren, wobei jeder Buskoppler
am Mechanismus der Zuweisung und Übernahme des Zielbusses
teilhat, ist das Entblockierungsverfahren dadurch
gekennzeichnet, daß das gemeinsame Entblockierungssignal zum
Zuweisungssystem und der Schaltung zur Busübernahme jedes
der an den zu entblockierenden Bus angeschlossenen Koppler
gesendet wird.
-
Falls mehrere Busleitungen, die über Koppler
verbunden sind, in Kaskade blockiert werden, sieht die
Erfindung vorzugsweise vor, daß die Entblockierungskarte jede der
Busleitungen ausgehend vom nächstliegenden Bus iterativ
entblockiert, indem abwechselnd das Entblockiersignal auf
jeden Bus der Karte zu dessen Freigabe gesendet wird und
dann ein Befehl zur Übermittlung des Entblockiersignals an
den nächstfolgenden Bus dem Buskoppler der freigegebenen
Busleitung und/oder ein Befehl zur Sperrung des
Zuweisungssystems des Kopplers zugeleitet wird, um den nächstfolgenden
Bus zu isolieren, wenn er gestört ist.
-
Gemäß einem bevorzugten Merkmal der Erfindung können
das Busentblockiersignal und das Signal zur Behebung von
Kollisionen von einem einzigen Signal gebildet werden, wenn
die Buskoppler Mittel zur Abwicklung der Kollisionen
zwischen reziproken Zugangsanfragen während eines bestimmten
Zyklus zwischen zwei benachbarten Busleitungen besitzen.
-
Außerdem kann man im Fall einer Aussendung eines
Kollisionssignals durch einen Buskoppler fakultativ ein
Resetsignal vor der Aussendung des Entblockierungssignals
auf dem Bus des entsprechenden blockierten Moduls aussenden.
-
Vorzugsweise enthält die Entblockierungskarte
einerseits Mittel zur Identifizierung der fehlerhaften Karte
und/oder des Moduls der fehlerhaften Karte, auf der die
Blockierung beruht, und andererseits Mittel zur
Neutralisierung der Karte und/oder des Moduls.
-
Erfindungsgemäß ist die Entblockierungskarte
vorzugsweise die Reset-Systemkarte des Multiprozessorsystems
und/oder eine Überwachungskarte eines der Verarbeitungsmoduln
des Multiprozessorsystems.
-
Andere bevorzugte Merkmale der Erfindung gehen aus
der nachfolgenden, nicht beschränkend zu verstehenden
Beschreibung von Ausführungsbeispielen des erfindungsgemäßen
Verfahrens und der beiliegenden Zeichnungen hervor.
-
Figur 1 zeigt den allgemeinen Aufbau eines
Multiprozessorsystems mit mehreren Busleitungen für eine
Anwendung auf die Datendurchschaltung, auf das das
erfindungsgemäße Verfahren anwendbar ist.
-
Figur 2 zeigt schematisch das Prinzip der Verbindung
von zwei benachbarten Busleitungen über ein Paar von
Buskopplern in dem System gemäß Figur 1.
-
Figur 3 zeigt schematisch die Logik zur Anfrage und
Zuweisung eines Zugangs sowie zur Übernahme der Busleitung
in Verbindung mit einem Systemprozessor gemäß Figur 1 zur
verteilten Buszuweisung, wobei diese Logik mit dem
erfindungsgemäßen Verfahren kompatibel ist.
-
Figur 4 zeigt einen erfindungsgemäßen Prozeß zur
Entblockierung in Kaskade in einem blockierten
Mehrfachbussystem.
-
Figur 5 zeigt schematisch die funktionalen Moduln zur
erfindungsgemäßen Erzeugung des Entblockierungssignals durch
die Systemkarte des Mehrfachbus-Multiprozessorsystems.
-
Figur 6 zeigt die Integration des erfindungsgemäßen
Verfahrens in einem Buskoppler.
-
Figur 7 zeigt schematisch die funktionalen Moduln zur
Verarbeitung des Entblockierungssignals gemäß der Erfindung
in einem Buskoppler, der eine Antikollisionslogik zur
Auflösung von Konflikten von gleichzeitig reziproken
Zugangsanfragen zwischen zwei benachbarten Busleitungen besitzt.
-
Das in Figur 1 gezeigte
Mehrfachbus-Multiprozessorsystem stellt eine Anwendung in Form eines Datenschalters dar.
-
Ein Datenschalter hat die Aufgabe, digitale Daten von
Übertragungsleitungen 10 zu empfangen, zu selektieren und in
Multiprozessor-Verhandlungsmitteln zusammenzufassen, so daß
sie auf geeigneten Sendeleitungen 10 wieder weiter
übertragen werden können.
-
In einer vereinfachten Version des Aufbaus des
Mehrfachbus-Multiprozessorschalters erkennt man einen
Verwaltungsbus 11, einen Verarbeitungsbus 12 und einen
Vermittlungsbus 13. Jede dieser Busleitungen 11, 12, 13 entspricht
einem Verarbeitungsmodul, der je mehrere Prozessoren 14 ggf.
mit je einem örtlichen Speicher 15 über einen örtlichen Bus
16 verbunden enthält. Der Vermittlungsbus 13 enthält
außerdem
einen Endgerätebuskoppler 17 (CBT), der in Verbindung
mit einem Prozessor 18 den Eingangs/Ausgangs-Übertragungsbus
19 zur Verbindung der Sende-Empfangsleitungen 10 verwaltet.
-
Der Verwaltungsbus 11 enthält außerdem eine
Systemkarte 20 (CS), die das ganze
Mehrfachbus-Multiprozessorsystem überwachen soll.
-
Die Busleitungen 11, 12, 13 sind beispielsweise vom
Typ XBUS (wie sie von der Firma ALCATEL CIT hergestellt
werden) und enthalten hauptsächlich fünf Arten von Signalen:
-
- Adressensignale,
-
- in beiden Richtungen verlaufende Datensignale,
-
- Kontrollsignale für den Datenaustausch,
-
- Kontrollsignale für die Buszuweisung,
-
- Kontrollsignale für die Systemverwaltung.
-
Jeder Bus empfängt beispielsweise eine maximale
Anzahl von 16 Prozessoren (Meisterkarte), wobei die anderen
Stellen physischen Adressen von Sklavenkarten entsprechen
können (z.B. Speichern).
-
Die Busleitungen 11, 12, 13 der verschiedenen Moduln
des Multiprozessorsystems verkehren über Buskoppler 21, die
paarweise miteinander verbunden sind.
-
Figur 2 zeigt die Struktur und den Betrieb eines
Paars von Buskopplern 22 und 23, die die Verbindung zwischen
zwei Busleitungen 24 und 25 herstellen..
-
Mehrere Arten von Buskopplern können in Betracht
gezogen werden. Beispielsweise sei an die Koppler erinnert,
die nach Art eines Briefkastens arbeiten.
-
Das hier vorgestellte Beispiel entspricht einem
Betrieb mit einer Adressenfilterung, die eine Verlängerung
der Sendebusleitung simuliert. Jeder Koppier 22, 23 enthält
einerseits einen Modul 26&sub2;, 26&sub3; zum Empfang der von der
Busleitung 24 bzw. 25 kommenden Daten und andererseits einen
Modul 27&sub2;, 27&sub3; zum Aussenden der vom entfernten Koppler 23
bzw. 22 empfangenen Daten auf der Busleitung 24 bzw. 25.
Daher erfolgt die Verbindung der beiden Koppler 22 und 23
einerseits zwischen dem Empfangsmodul 26&sub2; und dem Sendemodul
27&sub3; (Transfer von Daten vom Bus 24 zum Bus 25) und
andererseits zwischen dem Empfangsmodul 26&sub3; und dem Sendemodul 27&sub2;
(Datenübertragung vom Bus 25 zum Bus 24).
-
Jeder der Sendemoduln 26&sub2;, 26&sub3; wirkt mit einem
Speicher 28&sub2; bzw. 28&sub3; zusammen, die für die entfernten
Busleitungen spezifische Adressentabellen enthalten. Die
Transferentscheidungen, die von jedem Koppler 22, 23 getroffen werden,
hängen vom Inhalt dieser Adressentabellen ab.
-
Andererseits arbeitet jeder Sendemodul 27&sub2; bzw. 27&sub3;
mit Mitteln 29&sub2; bzw. 29&sub3; zur Verwaltung des Zugangs zum Bus
24 bzw. 25 zusammen.
-
Ein detailliertes Beispiel eines solchen Buskopplers
ist in der französischen Patentanmeldung FR-A-2 538 140 vom
21.12.1982 beschrieben.
-
Figur 3 zeigt die Logik für die Anfrage betreffend
den Zugang zum Bus jedes Meisterprozessors der
Verarbeitungsmoduln mit einem einzigen Bus 11, 12, 13. Die Logik zur
Anfrage bezüglich eines Zugangs enthält einerseits ein
synchrones und verteiltes Zugangszuweisungssystem 31, das
gemäß einem Streitschlichtungsprozeß zwischen den
Zugangsanfragen 30 funktioniert, die von den Prozessoren
vorgebracht werden, und andererseits eine Logik zur Übernahme der
Busleitung 32, die mit dem Zuweisungssystem 31 über ein
Signal 33 betreffend die Genehmigung oder Nichtgenehmigung
der Übernahme des Busses abhängig vom Ergebnis der
verteilten Zuweisungsoperation verbunden ist.
-
Das Zuweisungssystem 31 besteht einerseits aus einer
Busanfragelogik 34, die von einer Kippstufe zur
Synchronisierung mit dem Taktgeber des Zuweisungssystems gebildet
wird, und andererseits aus einer eigentlichen
Zuweisungsschaltung 35, die die Zugangsanfragen 47 von der Logik 34
empfängt und die Streitschlichtung der Zugangsanfragen und
die Aussendung des Ergebnisses 33 der Streitschlichtung für
den zugeordneten Prozessor durchführt. Die Streitschlichtung
erfolgt entweder gemäß einer festen Priorität oder einer
rotierenden Priorität.
-
Die 16 physischen Meisterkartenadressen, die an den
Bus 12 angeschlossen sind, sind in zwei Gruppen von je acht
Adressen aufgeteilt, von denen eine Gruppe die Priorität
besitzt (Signal GP/). In jeder der Gruppen wird die
Priorität über Prioritätssignale PR1 bis PR7 zugewiesen. Die
Signale GP/ und PR1 bis PR7 haben einen Eingang/Ausgang mit
offenem Kollektor zum Hauptbus 12.
-
Bei fester Priorität nehmen die Prioritäten in der
Reihenfolge von 0 bis 7 zu und werden je einem an eine
physische Adresse der Busleitung angeschlossenen Prozessor
zugeteilt. Die Definition des nächsten Meisters für den Bus
12 erfolgt durch eine Logik, bei der Bits "1" in den Signa
len PR gelöscht werden. Am Ende eines Zuweisungszyklus ist
der Sieger der Streitschlichtung derjenige, der der aktiven
Gruppe GP angehört und dessen Draht PR aktiv ist.
-
Bei rotierender Priorität sind die prioritären
Stellen (PR0 bis PR7) variabel, wobei die geringste
Priorität jeweils der letzten Karte zugewiesen wird, die Zugang
zum Bus hatte.
-
Die Zuweisungsschaltung 35 enthält auch andere Drähte
zum Verkehr mit dem Bus 12, insbesondere Drähte zur
Identifizierung der Adresse der physischen Lage, Drähte für die
Nummer des aktuellen Meisters der Busleitung (Verwendung bei
rotierender Priorität), einen Taktgeberdraht zur
Synchronisierung der Zuweisungsschaltungen 35 und einen Draht "Bus
besetzt".
-
Wenn ein teilnehmender Prozessor ausgewählt wurde als
Ergebnis einer Zuweisungsoperation, überträgt er diese
Information an die Busübernahmelogik 32 durch das Signal
betreffend das Ergebnis der Zuweisung 33. Diese Logik 32
überwacht den Bus 12 und übernimmt am Ende des laufenden
Zyklus den Bus und sendet an die Zuweisungsschaltung 35 ein
Signal 36, um eine neue Zuweisung als nächsten Meister für
den Bus zu erlauben.
-
Die Schaltung 32 zur Übernahme er Busleitung sendet
andererseits auf dem Bus 12 das Signal betreffend das
Vorliegen einer Adresse im Verlauf des Zyklus (Strobe-Adresse)
oder betreffend das Vorliegen von Daten im Verlauf des
Zyklus (Daten-Strobe) und empfängt die Bestätigungssignale
der Daten. Schließlich sendet die Schaltung 32 auch Signale
37 und 38 betreffend die Besetzung der Adressen- und der
Datenbusleitung.
-
Die Karte enthält weiter einen Draht 39 zur
Stillsetzung der Zuweisungsschaltung 35 aufgrund von
Nullsetzungsbefehlen 40 oder eines von außen kommenden Sperrbefehls
41, beispielsweise eines von der Systemkarte 20 übertragenen
Verbindungsauflösungsbefehls. Die Logik zur Anfrage einer
Busleitung 34 und die Logik zur Übernahme einer Busleitung
32 enthalten auch Nullsetzungsdrähte 42 bzw. 43.
-
Nun wird der Betrieb und der Datentransfer im System
gemäß Figur 1 beschrieben.
-
Die Transferzyklen sind asynchron, so daß der Bus
durch die Anfragen der Meisterkarte bis zur Antwort der
angesprochenen Karte blockiert ist. Erfolgt keine Antwort
von der Zieladresse, wird eine "Wachmarke" auf der
Anfragekarte aktiviert, die den Bus freigibt und in die
Fehlerverarbeitung eintritt.
-
Die Buskoppler 21 analysieren die Adressen, die über
ihren Bus verlaufen, und öffnen nach der Adressenfilterung
den Weg zum entfernten Bus, wenn dies notwendig ist. So kann
der an den Bus 11 angeschlossene Prozessor 14 den Prozessor
14 oder den Speicher 15 adressieren, der an den Bus 12
angeschlossen ist. In diesem Fall blockiert die Operation
zuerst den Bus 11. Der Koppler 21 der Busleitung 11 erkennt
die gewünschte Adresse und öffnet den Weg zum Bus 12, den er
übernimmt und blockiert, wenn dieser Bus frei ist. Der
entfernte Empfänger antwortet, und der sendende Prozessor
gibt dann die beiden Busleitungen 11 und 12 bei Empfang der
Antwort des Empfängers frei.
-
Ein Transfer vom Bus 11 zum Bus 13 benötigt den Bus
12 als Zwischenglied, falls ein Paar von speziellen Kopplern
zur direkten Verbindung der Busleitungen 11 und 13 fehlt.
Die Wachmarken jedes Prozessors werden so berechnet, daß sie
die Ausführung eines Transfers erlauben, der die Kaskade der
maximalen Anzahl von durch den am weitesten entfernten
Transfer betroffenen Busleitungen einsetzt.
-
Wie bereits einleitend erwähnt, führt die Störung der
Bussignale entweder aufgrund einer Panne einer Sende- oder
Empfangsschaltung einer Karte oder aufgrund eines
Kurzschlusses in Höhe der Gesteilverdrahtung zu einer
Blockierung der Zuweisungsschaltungen 35 oder der Logik 32 zur
Übernahme der Busleitung auf den an den Bus angeschlossenen
Karten. Wenn die Blockierung in einem Augenblick erfolgt, in
dem der auf dem Adressenbus vorhandene Kode der Adresse
einer Karte entspricht, die auf einem anderen Bus liegt,
kann die Blockierung sich zu den anderen Busleitungen über
Buskopplerkarten 21 fortpflanzen. Im ungünstigsten Fall kann
sich eine vollständige Blockierung des Mehrfachbussystems
ergeben. Dies ist beispielsweise der Fall bei dem
Vermittlungssystem gemäß Figur 1, wenn die Störung in einem
Augenblick auftritt, in dem ein Datentransfer zwischen den
Busleitungen 11 und 13 erfolgt.
-
Beispielsweise kann die permanente Nullsetzung der
folgenden Signale zu einer Störung führen, die sich über
mehrere benachbarte Busleitungen fortpflanzt.
-
In der Kategorie der Signale, deren Störung eine
Blockierung der Zuweisungsschaltungen 35 bewirkt, können
folgende Signale erwähnt werden:
-
- das Signal, das einen Transfer im Blockmodus angibt
(Übernahme der Busleitung für mehrere Zyklen),
-
- das Signal GP/ betreffend eine prioritäre Gruppe,
-
- das Busübernahmesignal BBSYG/.
-
Zu den Signalen, deren Störung zu einer Blockierung
der Busübernahmeleitung 30 führt, gehören:
-
- die Signale ASG/ und UDSG/ betreffend die Existenz
einer Adresse oder von Daten im Verlauf des Zyklus auf dem
Bus,
-
- das Datenbestätigungssignal DTACKG/,
-
- usw.
-
Diese Liste ist nicht erschöpfend. Es sei bemerkt,
daß die erwähnten Signale stören, wenn sie permanent auf
Null gesetzt werden. Wird ein Signal permanent auf 1
gesetzt, entsprechend seinem Ruhezustand, dann führt dies
normalerweise nicht zu einer Ausbreitung von Störungen zu
einem anderen Bus.
-
Die Entblockierung des Systems erfordert die
folgenden Funktionen:
-
- eine Funktion der Erfassung der Blockierung,
-
- eine Funktion der Entblockierung aller Busleitungen
nacheinander,
-
- eine Funktion der Isolierung der Busleitung oder
des Prozessors, der fehlerhaft ist, mit einer eventuellen
spezifischen Fehlerbeseitung des gestörten Organs.
-
Die Entblockierungsfunktion der Busleitungen, die
wesentliches Merkmal der vorliegenden Erfindung ist, besteht
in der Aussendung eines einzigen spezifischen
Entblockierungssignals 45, das in Figur 3 mit fetten Linien
dargestellt ist.
-
Dieses einzige Signal 45 hat zwei Aufgaben,
-
- den Bus 12 freizugeben,
-
- die anderen an den Bus 12 angeschlossenen
Meisterkarten daran zu hindern, auf den Bus zuzugreifen.
-
Diese beiden Aufgaben werden durch eine Einwirkung
einerseits auf die Busanfrage-Logik 34 und andererseits über
den Sperrmodul 44 durch Einwirkung auf die
Zuweisungsschaltung 35 und die Busübernahme-Logik 32 erfüllt.
-
Das Signal FINHAL 46, das vom Sperrmodul 44 kommt,
wird synchron mit dem Taktgeber erzeugt und während der
ganzen Dauer des einzigen Entblockierungssignals 45
aufrechterhalten. Es verläuft über den gleichen Draht wie das
Sperrsignal 39 der Zuweisungsschaltung 35 aufgrund eines
externen Befehls 40, 41.
-
Die Aufgabe des Entblockierungssignals hinsichtlich
der Zuweisungsschaltung ist folgende:
-
- Es sperrt die von der Anfragelogik 34 an die
Zuweisungsschaltung 35 gelieferte Anfrage.
-
- Es führt zu einem Reset der Kippstufe in der
Zuweisungsschaltung 35, die die Teilnahme an der Zuweisung
und die Aussendung der Prioritätssignale GP/ und PR1 bis PR7
auf dem Bus 12 erlaubt.
-
- Es führt zu einer Rückstellung der Kippstufe, die
das das Ergebnis der Streitschlichtung zwischen den
Zugangsanfragen liefernde Signal BBSYG/ für den betreffenden
Prozessor liefert.
-
Andererseits führt das Entblockierungssignal zur
Rückstellung der Kippstufe in der Busübernahme-Logik 32, die
die Signale 38 zur Übernahme der Adressen- und
Datenbusleitungen erzeugt.
-
Mit anderen Worten wird durch diese systematische
Einwirkung auf die Zugangsverwaltungsmittel jedes Prozessors
der Busleitung erreicht, daß der aktuelle Meister den Bus
freigibt, daß der nächstfolgende Meister sein Signal als
Gewinner der Streitschlichtung löscht und daß keine andere
Zuweisungsschaltung mehr an einer Streitschlichtung zwischen
Zugangsanfragen teilnimmt.
-
Das verwendete Verfahren erlaubt dann einen neuen
Versuch der annulierten Anfragen durch Einwirkung auf die
Busanfrage-Logik 34.
-
So kann man das Entblockierungssignal 45, 46 als ein
Signal mit höchster Priorität in Höhe der
Zuweisungsschaltungen 35 ansehen. Der Entblockierungsprozeß stört weder die
Softwarekonfiguration noch die eventuellen laufenden
Buszyklen.
-
Figur 4 zeigt das Entblockierungsverfahren im Fall
einer mehrere Busleitungen betreffenden Blockierung.
-
Die Meisterkarte 84, die an den Bus 81 angeschlossen
ist, bildet die Quelle einer Blockierung in einem Zyklus der
Übertragung an die Sklavenkarte 85, die an den Bus 83
angeschlossen ist. Die drei Busleitungen 81, 82, 83 befinden
sich also in einer Blockiersituation. Die Blockierung wurde
beispielsweise durch eine Situation hervorgerufen, in der
das Signal betreffend die Existenz einer Adresse ASG/ im
Verlauf des Zyklus auf dem Bus 81 auf Null übergegangen ist.
Diese Blockierung setzt sich auf dem Bus 82 und dem Bus 83
in der Übertragungsrichtung 87 fort, da die Buskoppler 86&sub1;&sub2;
und 86&sub2;&sub3; eine Datenübertragung wegen einer Filterung der
durchlaufenden Adresse bewirken.
-
Die Meisterkarte 88 oder die (nicht dargestellte)
Systemkarte erkennt die Blockierung der Konfiguration und
beschafft sich dann die Mittel, um den gestörten Bus zu
isolieren, indem sie die Zuweisungsschaltungen der
Buskopplerkarten 86&sub3;&sub2;, 86&sub2;&sub3;, 86&sub2;&sub1; und 86&sub1;&sub2; in den Sperrzustand
bringen, welche zum gestörten Bus 81 Zugang verschaffen.
-
Der Prozeß ist wie folgt:
-
- die Karte 88 sendet das Entblockierungssignal auf
dem Bus 83, was zur Freigabe der Busleitung durch den
Buskoppler 86&sub3;&sub2; führt;
-
- die Karte 88 läßt dann das Entblockierungssignal
vom Buskoppler 86&sub3;&sub2; an den Bus 82 über den Koppler 86&sub2;&sub3;
senden, was zur Freigabe der Busleitung 82 durch Entblockierung
des Kopplers 86&sub2;&sub1; führt;
-
- die Karte 88 schreibt dann ein Sperrbit zur
Sperrung der Zuweisungsschaltung des Buskopplers 86&sub2;&sub1;, um so den
gestörten Bus 81 zu isolieren;
-
- die Karte 88 bringt dann nacheinander das
Entblockierungssignal auf dem Bus 82 und auf dem Bus 83 in den
anderen Zustand (Ruhepegel), so daß die gesperrten
Zugangsanfragen wieder gestartet werden.
-
Die Entblockiermittel mit Hilfe eines einzigen
Signals liegen vorzugsweise in Multibussystemen mit
Buskopplern, die Mittel zur Verwaltung von gleichzeitigen
reziproken Zugangsanfragen besitzen (Kollisionsabwicklung), wie
nachfolgend beschrieben wird. In diesem Fall gibt es nämlich
eine besonders günstige Synergie zwischen der
Kollisionsabwicklung und der Entblockierung hinsichtlich der
Ähnlichkeit der strukturellen und funktionalen Merkmale der
entsprechenden Systeme.
-
Die Kollisionssituation kann in Verbindung mit Figur
4 erläutert werden.
-
Wenn die Karte 84 die Karte 91 erreichen will,
übernimmt und blockiert sie den Bus 81. Wenn im gleichen
Augenblick die Karte 90 ihrerseits die Karte 89 erreichen
will, übernimmt und blockiert sie den Bus 82. Da beide
Busleitungen 81 und 82 blockiert sind, können die Koppler
86&sub1;&sub2; und 86&sub2;&sub1; nicht antworten. Es liegt eine Kollision vor.
Wenn keine spezielle Entblockierungsvorrichtung vorgesehen
ist, bleibt das System im blockierten Zustand bis zum
Auftreten der Wachmarken auf den Meisterkarten 84 und 90, die
die Fehlerbehandlung aufnehmen.
-
Um dieses Problem zu vermeiden, kann man die
Busleitungen mit einem Kollisionssignal COLG ausrüsten. Dieses
Signal kann von jedem Buskoppler 86 ausgesendet werden, wenn
er eine Kollision durch den Koppler erfaßt. Ganz allgemein
wird für jedes Kopplerpaar bei der Initialisierung der
Konfiguration ein Koppler als prioritär und einer als
nichtprioritär definiert. Im Kollisionsfall sendet der
nichtprioritäre Koppler das Signal COLG aus. Dieses Signal wird
von allen Meisterkarten empfangen, die sich auf dem
entsprechenden Bus befinden und hat folgende Wirkungen:
-
- Es läßt die Karte, die den Bus übernommen hat und
blockiert, diesen Bus freigeben, indem es auf die
Buskontrollsignale einwirkt. Die Karte wird dann gesperrt und
erwartet eine Genehmigung, um den Bus wieder zu übernehmen
und ihren Zyklus zu beenden.
-
- Es hindert die anderen Meisterkarten daran, den Bus
zu übernehmen, indem es auf deren Zuweisungssystem einwirkt.
-
Nur der Koppler, der das Kollisionssignal aussendet,
kann den Bus übernehmen und den Weg bis zum entfernten
Empfänger des betreffenden Zyklus aufbauen, da er prioritär
ist. Ist der Weg aufgebaut, beendet der Koppler die
Aussendung des Signals COLG, und die anderen Karten können
wieder an einer Buszuweisungsphase teilnehmen und dann den
Bus abhängig vom Streitschlichtungsergebnis übernehmen.
-
Es gibt also eine echte Synergie zwischen dem
Mechanismus der Auflösung einer Kollision von Busleitungen und
dem Entblockierungsprozeß des Mehrfachbussystems. Es ist
daher sinnvoll, das gleiche Entblockierungssignal auch für
beide Mechanismen einzusetzen.
-
Figur 5 zeigt schematisch die in der Systemkarte für
die Verwaltung der Aussendung des einzigen
Entblockierungs- und Kollisionsbehebungssignals vorzusehenden funktionalen
Moduln.
-
Um diese Konfiguration zu realisieren, muß man in der
Systemkarte, in den Meisterkarten UTS der Busleitungen und
in den Buskopplern eine bistabile Schaltung hinzufügen, die
das einzige Entblockierungssignal aussenden kann. Diese
bistabile Schaltung kann durch ein Programm in der nicht von
Systemkarten und UTS-Karten besetzten Zone und in der
Kopplungszone der Buskoppler adressiert werden. Diese Schaltung
zur Entblockierung und Kollisionsbehebung wird
beispielsweise in einem Schreibzyklus auf 1 und dann in einem anderen
Schreibzyklus auf Null gesetzt.
-
Das ausgesendete Entblockierungssignal ist aktiv auf
allen auf dem Bus vorhandenen Karten mit Ausnahme der das
Signal aussendenden Karte.
-
Figur 6 zeigt schematisch den Aufbau im Fall eines
Paars von Buskopplern 61 und 62, die die
Nachrichtenverbindung zwischen einem ersten Bus 63 und einem zweiten Bus
64 gewährleisten. Der Mechanismus ist in nur einer Richtung
dargestellt, aber funktioniert natürlich symmetrisch auch in
der anderen Richtung. Die bistabile Schaltung 65 zur
Entblockierung und Kollisionsbehebung im Koppler 61 sendet das
Signal zur Entblockierung und Kollisionsbehebung 66 über den
zugeordneten Buskoppler 62 und damit auf dem entfernten Bus
64 aus.
-
Die Figuren 5 und 7 zeigen schematisch die logischen
Moduln, die in der Systemkarte einerseits und in den
Buskopplern andererseits für die Verwaltung des einzigen
Entblokkierungs- und Kollisionsbehebungssignals vorzusehen sind.
-
Wie in Figur 5 für die Systemkarte gezeigt, wird ein
internes Steuersignal 51 zur Aussendung des
Entblockierungsund Kollisionsbehebungssignals durch einen Softwarebefehl 52
über eine Kippstufe 53 erzeugt. Das einzige
Entblockierungs- und Kollisionsbehebungssignal 55 wird über eine
Pufferschaltung 54 auf den Bus gegeben.
-
Für die Berücksichtigung der einzigen
Entblockierungs- und Kollisionsbehebungssignale 55', die nicht immer von der
Systemkarte ausgesendet werden, bewirkt ein Puffer 56 ihre
Berücksichtigung beim Empfang vom Bus. Das interne Signal 51
zur softwareabhängigen Steuerung der Aussendung des
Entblockierungs- und Kollisionsbehebungssignals und das vom
Busempfangspuffer 56 kommende Signal 57 speisen eine Freigabeschaltung
58, die die Sperrung der Zuweisungsschaltung und der
Busübernahmelogik der Karte bewirkt, wenn das
Entblockierungs- und Kollisionsbehebungssignal nicht von der Systemkarte
kommt.
-
Es ergibt sich also eine Konfiguration der gleichen
Art in dem Schema der Figur 7 entsprechend der Logik zur
Berücksichtigung des Entblockierungs- und
Kollisionsbehebungssignals in einer Buskopplerkarte.
-
Das interne Kollisionssignal 71 wird von einem
äußeren Softwarebefehl 72 über eine Kippstufe 73 erzeugt.
Der Softwarebefehl kommt vom entfernten Buskoppler
(Kippstufe
65 des Kopplers 61 in Figur 6).
-
Das interne Kollisionssignal 71 führt zur Aussendung
des Entblockierungs- und Kollisionsbehebungssignals 75 auf
dem Bus über einen Puffer 74. Der Buskoppler sendet auch das
Signal 75 bei Erfassung einer gleichzeitigen reziproken
Busanfrage 70, wenn die Buskopplerkarte nicht-prioritär ist.
Diese Situation entspricht der Erfassung einer eigentlichen
Kollision auf dem Buspaar, während der der nicht-prioritäre
Buskoppler die Busanfrage sperrt.
-
Andererseits berücksichtigt der Buskoppler die vom
Bus kommenden Entblockierungs- und
Kollisionsaufhebungssignale 75', die nicht immer von diesem Bus kommen. Das
empfangene Signal 75' verläuft durch den Puffer 76 und
liefert ein internes Signal 77, das einen der Eingänge einer
Freigabeschaltung 78 speist. Die Schaltung 78 liefert am
Ausgang ein Kollisionssignal an die Zuweisungsschaltung und
die Busübernahmelogik des Kopplers. Die die Aussendung des
Signals 79 entscheidenden Parameter sind folgende:
-
- das interne Kollisionssignal 71;
-
- das interne Signal 77 aufgrund des Empfangs eines
Entblockierungs- und Kollisionsaufhebungssignals über den
Bus;
-
- ein Freigabesignal 92, das entweder vom
Entblockierungssignal aufgrund eines Softwarebefehls 72 oder von einem
Berücksichtigungssperrsignal aktiviert wird, wenn eine
gleichzeitige reziproke Busanfrage in dem Kopplerpaar eine
Kollision anzeigt;
-
- ein Signal, das den Draht BBSYG (nächster
bestimmter Meister) am Ende des Transfers im Blockmodus freigibt;
-
- ein Signal zur Berücksichtigung der Kollisionen auf
dem entfernten Bus.
-
Die beiden letztgenannten Signale kommen
beispielsweise über den Draht 93 an.
-
Das Signal auf dem Draht 93 (Berücksichtigung der
Kollision auf dem entfernten Bus) ist notwendig, um die
Zuweisungsschaltung des prioritären Buskopplers freizugeben,
die von der nicht-prioritären Busanfrage aktiviert wurde
(die, wie bereits erwähnt, durch den nicht-prioritären
Buskoppler gesperrt wurde).