-
Mehrrechnersystem
-
Die vorliegende Erfindung betrifft ein Mehrrechnersystem mit mindestens
zwei Rechnern, die zur gemeinsamen Lösung von Aufgaben miteinander gekoppelt sind.
-
Mehrrechnersysteme oder Rechnerverbundsysteme, bei denen mehrere Rechner
zusammenarbeiten, sind bereits bekannt. Das Kernproblem bei Mehrrechnersystemen
ist die Durchführung der Übermittlung der Informationen von einem Rechner zum anderen.
Die Effektivität dieser Systeme hängt sowohl von der Organisation des Informationsaustauschs
wie auch von der Geschwindigkeit ab, mit der die Daten übermittelt werden. Je nach
dem, ob die Einzelrechner gleichartige Aufgaben oder sehr unterschiedliche Aufgaben
bearbeiten, kommen hierfür unterschiedliche Lösungen in Betracht. Figur autonome
Mebrrechnersystenie, beispielsweise für prozessorientierte Aufgaben oder funktionsgebundene
Rechner müssen Möglichkeiten des Datenaustauchs vorgesehen werden, die es dem einzelnen
Rechner gestatten, die Kommunikation mit einem anderen Rechner abhängig vom Stand
der Bearbeitung eines Problems durchzuführen.
-
Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, ein Mehrrechnersystem
anzugeben, bei dem der Datenaustausch in Abhängigkeit vom Stand der Bearbeitung
eines Problemes durch die Rechner erfolgt, die in Datenaustausch miteinander treten
sollen.
-
Zur Lösung dieser Aufgabe schlägt die Erfindung ein Mehrrechnersystem
der eingangs genannten Art vor, wobei erfindungsgemäß die Adress- und Datenschienen
der einzelnen Rechner über Zweiwegtreiber-Bausteine, die zwischen einem Sperrzustand,
einem Leitungszustand in Hinrichtung und einem Leitungszustand in Rückrichtung geschaltet
werden können, miteinander verbunden sind und wobei zwischen dem Schreibsignalausgang
bzw. dem Lesesignalausgang jedes Rechners und dem eigenen Speicher einerseits sowie
den Speichern der übrigen Rechner andererseits eine Torschaltung angeordnet ist,
die das Schreib- bzw. Lesesignal zu dem eigenen Speicher oder dem Speicher eines
Rechners lenkt, an den Daten übergeben werden sollen.
-
We#iter schlägt die Erfindung ein Verfahren zur Durchführung des Datenaustauschs
in einem solchen Mehrrechnersystem vor, wobei erfindungsgemäß jeder Rechner die
an einen anderen Rechner zu übergebenden Daten nach Aussendung eines RALT-Signals
an den Zielrechner und Empfang eines HALT-Quittungssignals auf einen abgegrenzten
Sperrbereich des Zielrechners einspeichert.
-
Hierbei steht jedem Rechner im Schreib-Lesespeicher jedes anderen
Rechners ein eigener Speicherbereich zur Verfügung, dessen Größe abhängig vom zu
lösenden Problem und der Anzahl der zu übergebenden Daten sein kann. In diesem Speicherbereich
können über direkten Speicherzugriff die zu übermittelnden Daten eingespeichert
werden. Dem empfangenen Rechner kann unmittelbar vor der Datenübermittlung bzw.
danach über Interrupt mitgeteilt werden, daß eine Datenübermittlung stattgefunden
hat. Während der Übermittlungsphase kann dieser Speicherbereich des Zielrechners
wie der eigene Speicher behandelt werden. Die An-
steuerung und
Adressierung wird dadurch sehr vereinfacht. In komplexeren Systemen oder in Systemen,
in denen der eine oder andere Rechner priorisiert sind, so daß er nicht zu jeder
Zeit von einem anderen unterbrochen werden kann und soll , kann die Phase des Datenaustauschs
über eine vorhergehende Interruptanforderung eingeleitet werden. Ist der Zielrechner
unterbrechbar, kann er auch in den RALT-Zustand gebracht werden.
-
Soll er nicht unterbrochen werden, hat er diese Unterbrechung vorher
durch einen Software-Befehl untersagt und der sendende Rechner kann seine Unterbrechungsanforderung
wiederholen oder einen anderen Rechner auswählen.
-
Die Datenübermittlung kann natürlich auch vom empfangenen Rechner
durchgeführt werden. Dies ist vor allem in hierarchischen Systemen möglich, bei
denen das EernstUck ein zentraler Rechner ist. Dort wird bei einer Anforderung eines
untergeordneten Rechners mittels Interrupt der sendewillige untergeordnete Rechner
in den HALT#Zustand versetzt und die Information vom empfangenden übergeordneten
Rechner über Speicherlesesignale abgeholt. Dem untergeordneten Rechner kann nach
Abschluß der Informationseinholung vom übergeordneten Rechner eine Gut-Schlechtquittung
in den Speicher eingeschrieben werden.
-
Im folgenden werden Ausführungsbeispiele der Erfindung an Hand der
Figuren beschrieben.
-
Figur 1 zeigt eine Blockschaltung für eine Kopplung eines Mehrrechnersystems,
Figur 2 zeigt ein Mehrrechnersystem aus zwei gekoppelten Rechnern, Figur 3 zeigt
eine Speicherzugriffssteuerschaltung in einem System aus mehr als zwei miteinandergekoppelten
Rechnern.
-
Figur 1 zeigt die Verbindung zwischen einem Rechner 1 und einem Rechner
2 und ggf. weiteren Rechnern. Der Adressenbus und der Datenbus jedes Rechners ist
über einen Zweiwegtreiberbaustein 1, 2, 3, 4 mit einem Adressenbus-Koppelpunkt bzw.
-
einem Datenbus-Koppelpunkt verbunden. Ein solcher Zweiwegtreiber-Baustein
kann drei verschiedene Schaltungszustände einnehmen. Er kann entweder in einem Sperrzustand
sein. Er kann in der einen Richtung leiten oder in der anderen Richtung leiten.
Ein geeignetes Bauelement hierfür wird von Siebens unter der Bezeichnung SAB 8216
vertrieben. Die Ausgänge dieser Schaltungen sind im Ruhezustand hochohmig, so daß
die Rechner vcllkommen entkoppelt sind. Erst über die von der Haltlogikschaltung
5 über den Inverter 7 kommende Haltanforderung und die über den Inverter 8 kommende
Haltquittung werden die Zweiwegtreiber-Bausteine 1, 2, 3 und 4 in der gewünschten
Richtung leitend und die Busleitungen zusammengeschaltet. Die aus den Gattern 9
und 10 bestehende logische Schaltung dient zur Steuerung des Speicherschreibsignals
derart, daß nach 3ingang der Haltquittung des Zielrechners das Speicherschreibsignal
des sendenden Rechnersieen Speicher des Zielrechners geschrieben wird. Gleichzeitig
verhindert diese Schaltung, daß das Speicherschreibsignal in den Speicher des sendenden
Rechners eingeschrieben wird.
-
Figur 2 zeigt eine detailliertere Schaltung zweier miteinander gekoppelter
Rechner. Im Ausführungsbeispiel wurden als Rechner 11 und 13 I4ikroprozessoren des
Typs Siemens SAB 8080 verwendet zusammen mit Steuerschaltungen 12 bzw. 14 des Typs
Siemens
SAB 8228. Als Speicher 15 und 16 wurden eine geeignete Anzahl
des Typs Siemens SAB 8111 verwendet. Die ZweiwegtuLber-Bausteine 1, 2, 3, 4 sind
wieder Bausteine des Typs Siemens SAB 8216 und zwar wurden als Zweiwegtreiber-Baustein
1 und 3 jeweils vier Bausteine des Typs SAB 8216 verwendet und als Zweiwegtreiber-Bausteine
2 und 4 je zwei Bausteine dieses Typs.
-
Die stark gezeichneten Leitungen zeigen den Anwendungsfall, daß Rechner
11 an Rechner 13 Daten übergeben möchte. Über eine vom Output-port 20 ausgehende
Steuerleitung wird an Rechner 13 eine Raltanforderung gesendet. Sobald der Rechner
13 in den Haltzustand gegangen ist und damit Adressbus und Datenbus 17 und 18 von
dem Rechner 13 abgetrennt sind, wird vom Rechner 13 ein Quittungssignal (ELDA) ausgesendet,
das zusammen mit der Quittungsleitung des Rechners 11 die Zweiwegtreiber-Bausteine
1, 2, 3, 4 freigibt und in der Richtung vom Rechner 11 zum Rechner 13 durchschaltet.
Das Quittungssignal bewirkt außerdem,daS Speicherscnreibsignale (MED M ) vom Rechner
11 auf den Speicher 16 des Zielrechners 13 wirksam werden und damit vom Rechner
11 zum Rechner 13 Daten übergeben werden können. Zur Steuerung des Speicherschreibsignals
des Rechners 11 ist eine Torschaltung aus zwei Tristate-Gattern 30 und 31 in Verbindung
mit einem Inverter 29 vorgesehen. Das HALT-Quittungsignal schaltet das Speicherschreibsignal
des Rechners 11 über diese Torschaltung auf den Speicher 16 des Rechners 13 und
verhindert, daß das Speicherschreibsignal auf den eigenen Speicher 15 gelangt. In
analoger Weise ist für den Rechner 13 eine Torschaltung aus Tritstate-Gattern 33
und 34 in Verbindung mit einem Inverter 32 vorgesehen.
-
Neben dem erwähnten Qutput-port 20 ist ein Input-port 19 vorgesehen,
wozu in analoger Weise für den Rechner 13 ein Input-port 22 und ein Output-port
21 vorgesehen ist. Die Input-port 19 und 20 bzw. 21 und 22 sind Pufferspeicher,
die durch die Bausteine Siemens SAB 8212 gebildet werden können. In den HALT-Quittungs-
leitungen
sind ferner Äquivalenzgatter 35 bzw. 36 vorgesehen, die dafür sorgen, daß die Durchschaltung
nur erfolgt, wenn nur von einem der beiden Rechner 11 und 13 e'in#.HALT-Quittungssignal
vorliegt Figur 3 zeigt eine Schaltung die dazu dient zu verhindern, daß während
des Datenaustausches zwischen zwei Rechnern ein dritter Rechner diesen Datenaustausch
stört. Naturgemäß ist eine solche Schaltung nur erforderlich, wenn mehr als zwei
Rechner zu einem Mehrrechnersystem zusammengeschaltet sind. Zur Potentialtrennung
der Ausgangssignale der einzelnen Rechner sind wieder Treiberbausteine 24 und 25
vorgesehen, die aus den Bausteinen Siemens 8216 bestehen können. Sämtliche Anforderungsleitungen,
die die Durchschaltung der Daten zur Decodierung veranlassen, sind über ODER-Glieder
26 zusammengefaßt, so daß sie bevor eine Anforderung gegeben wird, vom anfordernden
Rechner abgefragt werden können. Damit wird gewährleistet, daß keine Doppelbelegung
stattfindet. Ferner ist eine zentrale Decodierschaltung 23 vorgesehen, durch die
aus dem Anforderungssignal die Zieladresse des Zielrechners decodiert und der Zielrechner
angesteuert wird. Aus der Decodierschaltung werden für den Zielrechner Signale abgeleitet,-
die ihn in den HALT-Zustand versetzen. Ferner weist die dargestellte Schaltung zwei
Inverter 27 und 28 auf.
-
Will ein Rechner, z.B. Rechner 15 in Figur 2 einem anderen, z.B. Rechner
16 in Figur 2, Daten übergeben, so setzt er ihn über die vom Output-port 20 ausgehende
Steuerleitung in einen HAmU-Zustand. Dieser Zustand bewirkt, daß der Zielrechner
13 an seinen wichtigen Ausgängen zum Adressenbus und Datenbus einen hochohmigen
Zustand einnimmt, so daß die Speicher 16 des Zielrechners 13 vom Senderechner 15
erreicht werden können. Die Übermittlung des HALT-Anforderungssignals kann bei Kopplung
von nur zwei Rechnern,wie in Figur 1 dargestellt, direkt erfolgen oder bei Kopplung
mehrerer Rechner zweckmäßigerweise über eine Speicherzugriffssteuerung, wie sie
in Figur 3 dargestellt ist. Diese
verhindert, daß ein Zielrechner
während eines Zugriffs noch von einem anderen in einen ~ALT-Zustand gebracht wird
oder daß der sendende Rechner von einem weiteren Rechner in den tiALT-Zustand versetzt
wird.
-
Hat der unterbrechende Rechner 15 sein Ziel erreicht, wird ihm das
vom Zielrechner 16 über eine Hardware-Leitung (HhDA2) mitgeteilt. Damit wird der
Speicher 16 des Zielrechners 13 sein eigener Rechner und über Speicherschreibbefehle
wird nun die Information in den fremden Speicher 16 eingeschrieben. Die aus den
Gattern 29, 30, 31 bestehende Torschaltung verhindert währenddessen, daß in den
eigenen Speicher 15 eingeschrieben wird, während das Speicherlesesignal nur im eigenen
Speicherraum wirksam bleibt. Damit steht für das Speicherlesen der gesamte Speicher
15 des sendenden Rechners 11 uneingeschränkt zur Verfügung, während das Speicherschreiben
nur im begrenzten Teil des Speichers 16 des Zielrechners 13 erfolgt.
-
Nach Beendigung der Datenübermittlung wird der Zielrechner 13 durch
die gleiche Hardware-Leitung, die den HALD-Zustand verursacht hat, wieder in den
aktiven Zustand versetzt. Wurde der Zielrechner ohne vorhergehenden Interrupt unterbrochen,
erfolgt jetzt ein Interrupt, um ihm mitzuteilen, daß eine Datenübertragung stattgefunden
hat. Ist bereits vorher ein Interrupt erfolgt, bleibt er in der Interrupt-Routine,
um die übertragenen Daten zu verarbeiten.
-
3 Figuren 6 Patentansprüche
L e e r s e i te