-
-
Anordnung zum Datenaustausch parallel arbeitender
-
Mikrorechner Die Erfindung betrifft eine Anordnung zum Datenaustausch
parallel arbeitender Mikrorechner, die im wesentlichen aus einem Mikroprozessor
mit zugehörigem Programmspeicher, einem Schreib-Lese-Speicher und Ein-Ausgabeeinheiten
bestehen. Sie betrifft ferner ein Multi-Mikrorechnersystem nach dem Oberbegriff
des Anspruchs 2.
-
Wenn die Anforderungen an die Zuverlässigkeit eines Rechners so hoch
sind, daß das Ausfallrisiko einer Einzelanlage nicht verantwortet werden kann, so
wird ein zweiter Rechner, der die gleichen Funktionen ausführt, parallelgeschaltet.
Uberwachungsschaltungen und Überwachungsprogramme sorgen dafür, daß der funktionsfähige
Rechner das Arbeitsprogramm durchführt.
-
Wenn Zeitbedingungen und Umfang einer Aufgabe so beschaffen sind,
daß sie die Leistungsfähigkeit eines einzelnen Rechners überschreiten und die Aufgabe
so komplex ist, daß sie nicht auf mehrere, unabhängig voneinander arbeitende Rechner
verteilt werden kann, dann wird statt eines Einzelrechners ein Mehrrechnersystem,
verwendet.
-
Treffen beide Probleme zusammen, so erhält man ein Parallelsystem
mit zwei Rechnern oder Rechnersystemen.
-
Dabei kann das Redundanz system entweder im Stand-By-Betrieb oder
Hot-Stand-By-Betrieb stehen oder im ständigen Parallelbetrieb gleichzeitig zum aktiven
System die Aufgaben bearbeiten.
-
Die Lösung mit Stand-By-Betrieb führt bei Ausfall der aktiven Anlage
zu längeren Unterbrechungszeiten, da größere Datenmengen ausgetauscht werden müssen.
Bei Einrichtungen im Hot-Stand-By-Betrieb wird der Speicher des nicht aktiven Rechners
in regelmäßigen Abständen durch den aktiven Rechner neu beschrieben. Diese Verfahrensweise
hat den Nachteil, daß im Falle eines noch nicht erkannten Fehlers im aktiven System
auch die Daten im nicht aktiven System durch die fehlg behafteten ersetzt werden.
Deshalb ist die Methode des ständigen Parallelbetriebes vorzuziehen. Da beide Systeme
auf gleichem Wissensstand sind, ergeben sich keine Schwierigkeiten, wenn eines der
beiden Systeme bei einem Ausfall des anderen Systems die Aufgaben allein abwickeln
muß. Im Falle eines harmlosen Fehlers genügt die Ubertragung weniger Bytes, um die
Speicher beider Systeme auf gleichen Informationsstand zu bringen. Im Falle eines
schwerwiegenden Fehlers eines Systems oder bei Wideranlauf eines Systems nach einer
Reparatur kann es erforderlich sein, große Speicherbereiche oder den ganzen Speicherinhalt
zu übertragen.
-
Aus der DE-AS 27 49 226 ist eine Datenaustauschsteuerung für zwei
Mikrocomputer bekannt. Der Datenaustausch wird hierbei über ~first-in-first-out'LSpeicher
erzielt. Diese Speicher sind jedoch für größere Datenmengen ungeeignet.
-
In der Zeitschrift "Elektronik 1979", Heft 20, S.73-77 sind Bus strukturen
für Mehrrechnersysteme beschrieben.
-
Auf Seite 76, rechte Spalte und Seite 77, Bild 6 ist ein Mehrrechnersystem
beschrieben, das einen Dialogrechner und mehrere Funktionsrechner enthält. Der Dialogrechner
steuert hierbei einen Direkt-Memory-Access-Controller DMA-C. (Baustein zum direkten
Speicherzugriff), der über diesen Baustein mit jedem Funktionsrechner Daten austauschen
kann. Der Zugriff zu den Adressbereichen der
Funktionsrechner erfolgt
hierbei über eine Adressgeberlogik, die vom Funktionsrechner programmiert werden
kann.
-
Diese Anordnung ist jedoch nicht für Redunzanzrechner geeignet, da
der DMA-Controller nur vom Dialogrechner aus gesteuert werden kann. Zur Beseitigung
dieses Nachteils wird ein eigener Rechner (Bus-Rechner) vorgeschlagen.
-
Aufgabe der Erfindung ist es, eine Schaltungsanordnung mit geringem
Aufwand für den raschen Datenaustausch zwischen zwei Rechnern oder Rechensystemen
anzugeben.
-
Die Aufgabe wird erfindungsgemäß dadurch gelöst, daß jedem Mikrorechner
ein Direct-Memory-Access-Controller zugeordnet ist, daß die Systembusse beider Mikrorechner
über eine Systembustrennstufe miteinander verbunden sind, daß zum Datenaustausch
Steuerlstungen vorgesehen sind, die die Mikroprozessoren der Mikrorechner in den
HALT-Zustand schalten, in dem die Mikroprozessoren die Systemanschlüsse freigeben
und die Zusammenschaltung der Systembusse beider Mikrorechner über die Systembustrennstufe
erfolgt, und daß die Steuerung des Datenaustausches zwischen den Schreib-Lese-Speichern
der Mikrorechner von einem Direct-Memory-Access-Controller erfolgt.
-
Vorteilhaft bei dieser Lösung ist es, daß zwei gleiche Rechner verwendet
werden, so daß jedes System vom anderen unabhängig die gleichen Au$«ben lösen kann.
Natürlich ist auch die Verwendung eines dritten oder noch weiterer parallelgeschaleter
Systeme möglich. Der Speicherzugriff erfolgt durch jeweils einen Direct-Memory-Access-Controller,
der einen optimal schnellen Datenaustausch zwischen den Arbeitsspeichern der Rechner
ermöglicht. Es ist jeweils nur ein DMA-Controller aktiv, während alle weiteren inaktiv
(three state)geschaltet sind.
-
Dies gilt ebenso für die Systembusse der Rechner. Nach dem Datenaustausch,
der allein vom DMA-Controller gesteuert wird, erfolgt wieder die Auftrennung der
Systembusse, so daß die Rechner nach dem Datenaustausch wieder unabhängig voneinander
arbeiten können.
-
Für ein Multi-Mikrorechnersystem wird die Aufgabe erfindungsgemäß
dadurch gelöst, daß jedem ersten Mikrorechner jedes Multi-Mikrorechnersystems ein
Direct-Memory-Access-Controller über Systembusse zugeordnet ist, daß die Systembusse
beider ersten Mikrorechner über eine Systembustrennstufe miteinander verbunden sind,
daß zum Datenaustausch Steuerleitungen vorgesehen sind, die alle Mirkoprozessoren
der Mikrorechner des ersten Systems und der weiteren Mikrorechner in den HALT-Zustand
schalten, daß die Zusammenschaltung aller Systembusse aller Mikrorechner über die
Systembustrennstufe und die Bustrennstufen erfolgt und daß die Steuerung des Datenaustausches
zwischen den Schreib-Lese-Speichern eines Multi-Mikrorechnersystems mit den Schreib-Lese-Speichern
des anderen Multi-Mikrorechnersystems von einem der DMA-Controller erfolgt, während
der andere DMA-Controller inaktiv geschaltet ist.
-
Bei dieser Lösung ist es vorteilhaft, daß mehrere zusätzliche Rechner
über Bustrennstufen zu einem Multi-Mikroprozessorsystem zusammengeschaltet werden,
daß diese Rechnersysteme unabhängig voneinander arbeiten können und daß der Datenaustausch
zwischen den einzelnen Rechnern eines Multi-Mikrorechnersystems und der Datenaustausch
zwischen zwei oder mehreren Multi-Mikrorechnersystemen über den DMA-Controller erfolgt.
Hierdurch kann durch nur einen DMA-Controller je Rechnersystem sowohl ein rascher
Datenaustausch zwischen den Arbeitsspeichern der Einzelrechner als auch ein rascher
Datenaustausch
zwischen den Multi-Mikrorechnersystemen erfolgen.
Bei diesem System können natürlich auch mehr als zwei Mikrorechner in einem System
verwendet werden.
-
Zur weiteren Erhöhung der Betriebssicherheit ist es vorteilhaft, wenn
mehr als zwei Mikrorechner oder Mikrorechnersysteme über weitere Systembustrennstufen
parallelgeschaltet sind.
-
Wählt man beispielsweise drei parallejarbeitende Rechnersysteme, so
können viele Uberwachungsschaltungen und tberwachungsprogramme entfallen, da die
Uberwachung aufgrund eines einfachen Mehrheitsentsdheids erfolgen kann. Es ist vorteilhaft,
wenn der Datenaustausch vom DMA-Controller des Daten empfangenden Mikrorechners
oder Multi-Mikrorechnersystems gesteuert wird und über ihn erfolgt.
-
Grundsätzlich ist es sinnvoll, wenn der Datenaustausch vom DMA-Controller
des Daten empfangenden Rechners gesteuert wird, um die Ubertragung von fehlerbehafteten
Daten zu vermeiden. Bei Ausfall eines Systems oder des DMA-Controllers wird der
Datenaustausch von oder zu diesem System unterbunden.
-
Zur Reduzierung des Aufwandes ist es zweckmäßig, daß Uberwachungseinrichtungen
vorgesehen sind, die beim Auftreten eines Fehlers einen Datenaustausch vom fehlerfreien
System in das fehlerhafte System veranlassen.
-
Durch Verwendung von Uberwachungsschaltungen kann auf einen dritten
parallel arbeitenden Rechner oder auf ein drittes parallel arbeitendes Multirechnersystem
verzichtet werden. Die Uberwachungsschaltungen werden hierbei als Programmablaufzeit-und
Schaltungsüberwachung (Watch-dog, Hardware-Monitor) und auch als "software"-Überwachung
(Pro gramm-Ub erwachung) ausgeführt.
-
Es ist sinnvoll, wenn den Schreib-Lese-Speichern jedes Mikrorechners
eines Multi-Mikrorechnersystems ein anderer Adressenbereich zugeordnet ist.
-
Durch die verschiedenen Adressenbereiche können die Schreib-Lese-Speicher
der verschiedenen Rechner eines Systemes ohne weiteren Schaltungsaufwand angesprochen
werden. Beim Datenaustausch liegt dieselbe Adresse an den entsprechenden Schreib-Lese-Speichern
der beiden miteinander verbundenen Rechnersysteme, was einen optimal schnellen und
einfachen Datenaustausch ermöglicht. Es ist selbstverständlich auch mögli#, gleiche
Adressenbereiche bei verschiedenen Schreib-Lese-Speichern eines Rechnersystems zu
verwenden, die dann durch weitere Schaltungsmaßnahmen, z.B. über "Chip Select-Eingänge
(Baustein-Auswahleingänge) angesteuert werden.
-
Weitere vorteilhafte Ausbildungen der Erfindung sind in den Unteransprüchen
angegeben.
-
Ein Ausführungsbeispiel der Erfindung wird an Hand der Figuren 1 bis
4 näher erläutert.
-
Es zeigen Fig. 1 das Prinzipschaltbild zum Datenaustausch zwischen
zwei parallelgeschalteten Rechner, Fig. 2 das Prinzipschaltbild zum Datenaustausch
zwischen zwei parallelgeschalteten Multi-Mikrorechnersystemen, Fig. 3 ein Ausführungsbeispiel
der Erfindung und Fig. 4 ein Prinzipschaltbild zur Erläuterung des Datenaustauschs
zwischen den Schreib-Lese-Speichern eines Systems.
-
Fig. 1 zeigt einen ersten Mikrorechner COM1, der einen Mikroprozessor,
einen Programmspeicher und einen Schreib-Lese-Speicher enthält. Uber einem Systembus
SEI - dieser enthält einen Datenbus, einen Adressbus und einen Steuerbus - ist der
erste Rechner COM1 mit einem DMA-Controller DC1 (z.B. Baustein Am 9517 der Firma
AMD, California) verbunden. Ein zweiter identisch aufgebauter Rechner besteht aus
einem zweiten Rechner COM2, der über einen Systembus SB2 mit dem dazugehörigen zweiten
DMA-Controller DC2 verbunden ist. Die Systembusse beider Rechner sind über eine
Systembustrennstufe TS miteinander verbunden. Ist die Systembustrennstufe TS nicht
durchgeschaltet, so können beide Rechner unabhängig voneinander arbeiten. Zum Datenaustausch
erfolgt die Kopplung der Adressbusse und der Datenbusse über die Systembustrennstufe.
Außerdem greifen einige Steuerleitungen über die Bustrennstufe in das parallel arbeitende
System ein.
-
Fig. 2 zeigt zwei über die Systembustrennstufe TS gekoppelte Multi-Mikrorechnersysteme.
Das erste Rechnersystem enthält einen ersten Rechner COM1, dem ein erster DMA-Controller
DCI zugeordnet ist. Ein zweiter Rechner COM2 ist über eine Bustrennstufe TB1 an
den Systembus des ersten Rechners COM1 und des ersten DMA-Controllers DC1 angeschaltet.
Das zweite Multi-Mikrorechnersystem ist identisch aufgebaut. Es enthält einen dritten
Rechner COM3 mit einem weiteren zugeordneten DMA-Controller DC3 und einem über eine
zweite Eustrennstufe TB2 angekoppelten vierten Rechner COM4. Die Systembusse der
angekoppelten Rechner COM2, COM4 sind mit SB2 und SB4 bezeichnet. Die Systembusse
SEI und SB3 der DMA-Controller DC1 und DC3 sind über eine Systembustrennstufe TS
miteinander verbunden.
-
Bei der Anordnung nach Fig. 1 können beide Mikrorechner COM1 und COM2
unabhängig voneinander arbeiten. Dabei
kann der Datenaustausch
zwischen einzelnen Speicherbereichen des Schreib-Lese-Speichers eines Mikrorechners
COM1, COM2 mit Hilfe des jeweiligen DMA-Controllers DC1, DC2 rasch erfolgen. Soll
ein Datenaustausch zwischen beiden Mikrorechnern und COM1 und COM2 stattfinden,
so werden beide Mikrorechner COM1, COM2 in den HALT-Zustand (hold) geschaltet. Dadurch
werden die Anschlüsse für den Daten- uni Adressenbus hochohmig und diese Busse daher
praktisch vom Rechner abgetrennt.
-
Ein DMA-Controller, beispielsweise der erste DC1, wird aktiviert,
während der zweite DMA-Controller DC2 passiv bleibt, d.h. sein Ausgangsport wird
ebenfalls in den hochohmigen "Three-State"-Zustand versetzt. Der Datenaustausch
zwischen dem Schreib-Lese-Speicher des zweiten Mikrorechners - COM2 und dem Schreib-Lese-Speicher
des ersten Mikrorechners COM1 wird vom ersten DMA-Controller DCI gesteuert, wobei
Adressen- und Datenbus beider Rechner über die Systembustrennstufe TS verbunden
sind. Nach erfolgtem Datenaustausch werden die Systembusse SB1, SB2 beider Systeme
wieder getrennt. In gleicher Weise erfolgt der Datenaustausch zwischen zwei Multi-Mikrorechnersystemen
nach Fig. 2. Zum Datenaustausch wird hier zusätzlich die Bustrennung der weiteren
Rechner COM2 und COM4 aufgehoben. So kann beispielsweise der Speicherinhalt des
Schreib-Lese-Speichers des vierten Rechners COM4 in den Schreib-Lese-Speicher des
zweiten Rechners COM2 übertragen werden.
-
In Fig. 3 ist ein detaillierteres Schaltbild zweier gekoppelter Multi-Mikrorechnersysteme
dargestellt. Das erste Multi-Mikrorechnersystem MSY1 besteht aus einem ersten Mikroprozessor
CPI mit dazugehörigem Programmspeicher, das über einen ersten ABessenbus ADB1 und
einen ersten Datenbus DAB1 mit dem dazugehörigen Schreib-Lese-Speicher RAM1 verbunden
ist. Dem ersten Mikro-
prozessor CP1 ist ein erster DMA-Controller
DC1, zugeordnet. Als DMA-Controller kann beispielsweise der Baustein Am 9517 der
Fa. AND, Sunnyvale, California verwendet werden. Außerdem ist eine erste Ein-Ausgabeeinheit
101 (z.B. Baustein 8255 der Fa. Intel Corporation, USA) vorgesehen, der ebenfalls
an den Adressbus ADBl und Datenbus DAB1 angeschlossen ist. Um die Ubersichtlichkeit
zu wahren, wurden weitere Steuerleitungen nicht dargestellt. Ein zweiter Mikrorechner
ist über die Bustrennstufen T21 und T22 an den ersten Adressbus ADBI und an den
ersten Datenbus DABl angeschlossen. Er besteht aus einem zweiten Mikroprozessor
CP2 mit dazugehörigem Programmspeicher und einem zweiten Schreib-Lese-Speicher RAM2.
Zu jedem Schreib-Lese-Speicher gehört eine Schreib-Lese-Logikschaltung, so gehört
zu dem ersten Schreib-Lese-Speicher RAM1 die erste Schreib-Lese-Logik Slip, zu dem
zweiten Schreib-Lese-Speicher RAM2 eine zweite Schreib-Lese-Logikschaltung SL21.
Jede Schreib-Lese-Logikschaltung hat zwei Ausgänge an denen die Signale "Speicher-Lesen"
MR und "Speicher Schreiben" MW abgegeben werden. Diese Ausgänge sind mit den entsprechenden
Eingängen des dazugehörigen Schreib-Lese-Speichers verbunden. Die Steuerung des
Datenaustausches erfolgt über Steuersignale, die vom DMA-Controller DC1 und von
der ersten Ein-Ausgabeeinheit 101 abgegebenwerden. Als Ein-Ausgabeeinheit kann beispielsweise
der Baustein SAB8255 der Fa. Intel Corporation, USA verwendet werden.
-
Als Bezeichnung für die Aus- oder Eingänge wird ebenfalls der Signalname
verwendet. Ein fester Ausgang des ersten DMA-Controllers Dcl, an dem das HALT-Anfragesignal
RE1 abgegeben wird, ist über ein erstes ODER-Gatter OR1 mit den HALT-Anfrageeingängen
HER1, HR2 (hold request) des ersten Mikroprozessors CPI und des Mikroprozessors
CP2 verbunden. Die ~HALT-Bestätigungsausgänge" (hold acknowledge- HA1, HA2) der
Mikroprozessoren CP1 und CP2
sind auf die Eingänge eines ersten
UND-Gatters U1 geführt, das mit einem ersten Eingang einer beiden Mikrorechnersystemen
gemeinsamen Steuerlogik SLG und einem ersten Eingang eines beiden Mikrorechnersystemen
gemeinsamen UND-Gatters UG verbunden ist. Der Ausgang dieses UND-Gatters ist auf
eine erste Steuerlogikschaltung SL1 und auf eine Trennstufe TU geschaltet. In der
ersten Steuerlogikschaltung SLl wird das von einem Ausgang der Ein-Ausgabeeinheit
I01 abgegebene ~DMA-Anfragesignal" (DMR1 -DMA-Request) zugeführt. Der Ausgang der
ersten Steuerlogikschaltung ist mit dem HALT-Eingang (hold acknowledge -H01) des
ersten DMA-Controllers DCI verbunden. Ein zweiter Ausgang (MW1) des ersten DMA-Controllers
DC1 ist mit jeweils einem Eingang der ersten und der zweiten Schreib-Lese-Logikschaltung
SLIl und SL21 verbunden. Uber diese Steuerleitung wird das Signal NWI "Speicher
schreiben" (Memory write) übertragen. Weitere Eingänge der Schreib-Lese-Logikschaltungen
sind mit Ausgang der ersten Ein-Ausgabeeinheit I01 verbunden, die das Signal DNRI
abgibt. Von der Ein-Ausgabeschaltung wird ebenfalls das Signal "Direct-Memory-Access-Enable"
DNEI abgegeben, das über ein nicht dargestelltes UND-Gatter mit dem Signal DMRl
zusammengefaßt wird und dann ebenfalls mit jeweils einem weiteren Eingang der Schreib-Lese-Logikschaltungen
SLlI, SL21 verbunden ist. Außerdem werden von der ersten Ein-Ausgabeeinheit 101
noch an weiteren Ausgängen die nSchreibrichtung-Signale" W1R2 und W2R1 abgegeben,
die ebenfalls mit weiteren Eingängen der Schreib-Lese-Logikschaltungen verbunden
sind. Diese Verbindungen wurden jedoch nicht dargestellt.
-
Ein zweites Multi-Mikrorechnersystem MSY2 ist identisch zu dem bereits
beschriebenen System aufgebaut. Es enthält einen dritten Mikroprozessor CP3 mit
zugehörigem DMA-Controller DC3,einer Ein-Ausgabeeinheit I03 und
einem
über die Bustrennstufen T41 und T42 angeschlossenen vierten Mikrorechner, der den
Mikroprozessor CP4 und den Schreib-Lese-Speicher RAM4 enthält. Ebenso sind die entsprechenden
Schreib-Lese-Logikschaltungen SL31 und SL41 vorhanden. Der Datenbus des dritten
Mikrorechners wurde mit DAB3, der Adressenbus mit ADBD bezeichnet. Daten- und Adressenbusse
des ersten und des dritten Mikrorechners sind über eine Datenbustrennstufe TDA und
eine Adressenbustrennstufe TAD miteinander verbunden.
-
Diese Trennstufen und die Bustrennstufen T21, T22, T41 und T42 werden
von einer gemeinsamen Steuerlogik SLG durchgeschaltet oder gesperrt. Über eine weitere
Trennstufe TU wird ein dritter Ausgang des ersten DMA-Controllers DC1, während des
Datenaustauschs auf je einen Eingang der dritten und vierten Schreib-Lese-Logikschaltung
SL31 und SL41 des zweiten Multi-Mikrorechnersystems MSY2 geschaltet. Den Eingängen
eines zwischengeschalteten UND-Gatters U31 wird das DMR1-Signal der ersten Ein-Ausgabeeinheit
101 zugeführt. Der zweite Eingang dieses UND-Gatters ist mit einem Ausgang der weiteren
Ein-Ausgabeeinheit 103 verbunden. Der Ausgang dieses zwischengeschalteten UND-Gatters
U31 ist mit einem Eingang eines dritten ODER-Gatters OR3 verbunden, das dem ersten
ODER-Gatter ORN entspricht. Außerdem ist der Ausgang des zwischengeschalteten UND-Gatters
U31 mit jeweils einem Eingang der dritten und der vierten Schreib-Lese-Logikschaltung
SL31 uns SL41 verbunden. Es sei an dieser Stelle nochmals darauf hingewiesen, daß
beide Multi-Mikrorechnersysteme identisch aufgebaut sind, aus Gründen der uebersicht
jedoch nicht jeweils alle Schaltungsdetails in jedem System dargestellt sind.
-
Anschlüsse mit gleichen Bezeichnungen sind miteinander verbunden.
-
Der beispielsweise angenommene Datenaustausch vom zweiten Multi-Mikrorechnersystem
MSY2 in das erste Multi-Mikrorechnersystem MSY1 erfolgt auf folgende Weise.
-
Uber eine nicht dargestellte Prüfeinrichtung oder die Software wird
vom Mikroprozessor CP1 des ersten Mikrorechners veranlaßt, den Datanaustausch über
den DMA-Controller Dcl einzuleiten. Für den Datenaustausch erf' orderliche Adressen
werden dem ersten DMA-Controller DC1 vom ersten Mikroprozessor CP1 übergeben. Dann
gibt der DMA-Controller DCI an seinem ersten Ausgang ein HALT-Anfragesignal REl
ab, das den ersten Mikroprozessor CP1 und den zweiten Mikroprozessor CP2 in den
Haltzustand schaltet. Über die Ein-Ausgabeeinheit 101 wird das Signal DMR1 abgegeben,das
die beiden Mikroprozessoren CP3 und CP4 des zweiten Multi-Mikroprozessorsystems
MSY2 in den Haltzustand schaltet.
-
Sind die Mikroprozessoren in den HALT-Zustand geschaltet, so geben
sie die HALT-Bestätigungssignale HAI bis HA4 ab, die über die UND-Gatter Ul, U3
und UG zusammengefaßt werden. Durch die Verknüpfung aller HALT-Bestätigungssignale
wird dem ersten DMA-Controller DC1 ein Signal HOI zugeführt, das ihm mitteilt, daß
sich alle Prozessoren im HALT-Zustand befinden und der zweite DMA-Controller DC3
inaktiv ist und der direkte Datenaustausch DNA gestartet werden kann. Uber die gemeinsame
Steuerlogik SLG sind alle Datenbusse miteinander verbunden. Der DMA-Controller DC3
des zweiten Multi-Mikrorechnersystems MSY2 befindet sich ebenfalls im inaktiven
Zustand und hat den Datenbus und den Adressenbus freigegeben. Der erste DMA-Controller
DC1 steuert nun den gesamten Adressenbus beider Systeme und die Daten können vom
zweiten in das erste System übernommen werden.
-
Der DMA-Controller Dcl legt hierzu zuerst die Adresse des zu lesenden
Bytes an den Aixesenbus an und liest mittels
des Signales MRl ein
Byte aus dem dritten oder vierten Schreib-Lese-Speicher RAM3 oder RAM4 in einen
Zwischenspeicher des DMA-Controllers DC1 ein. Anschließend wird dasselbe Byte mittels
des Signales MWl im allgemeinen unter derselben Adresse in den ersten oder zweiten
Schreib-Lese-Speicher RAM7 oder RAM2 eingeschrieben.
-
Der Vorgang wiederholt sich so oft, bis die gewünschten Daten von
einem Schreib-Lese-Speicher in den anderen übertragen wurden.
-
Nach der Übertragung des letzten Bytes wird das Signal REl am ersten
Ausgang des DMA-Controllers DC1 zurückgenommen, wodurch die Mikroprozessoren CP1
und CP2 des ersten Systems wieder arbeitsfähig werden. Außerdem wird das Signal
DMR1 am Ausgang der Ein-Ausgabeeinheit 101 gelöscht, so daß auch die Mikroprozessoren
CP3 und CP4 des zweiten Systems MSY2 arbeitsfähig werden. Die Bustrennung erfolgt
über die Adressenbustrennstufe TAD und die Datenbustrennstufe TDA. Beide Systeme
sind damit voneinander unabhängig.
-
Eine Übertragung vom ersten Multi-Mikrorechnersystem MSY1 in das Multi-Mikrorechnersystem
MSY2 erfolgt in entsprechender Weise.
-
Uber den ersten Ausgang DME1, DME3 der Ein-Ausgabeeinheiten 101 und
I03 wird über UND-Gatter Ull, U31 verhindert, daß bei einem fehlerhaften Rechnersystem
ein Datenaustausch erfolgt.
-
Der Datenaustausch zwischen zwei verschiedenen Rechnersystemen ist
immer dann sinnvoll, wenn temporäre Fehler, z.B. bei der Dateneingabe oder in den
Schreib-Lese-Speichern vorliegen.
-
In Fig. 4 wurde nochmals das erste Multi-Mikrorechnersystem MSY1 übersichtlicher
dargestellt. Sonst entspricht die Schaltungsanordnung dem Multi-Mikrorechnersystem
MSY1 der der Fig. 3. Von der Ein-Ausgabeeinheit I01 werden noch die Schreibrichtung-Signale
W1R2 und W2R1 abgegeben. Die entsprechenden Ausgänge der Ein-Ausgabeeinheit 101
sind mit den Eingängen eines vierten ODER-Gatters OR4 verbunden, dessen Ausgang
mit dem ersten Eingang eines zweiten UND-Gatters U2 verbunden ist, dessen zweiter
Eingang wiederum mit dem Ausgang des ersten UND-Gatters U1 - dies entspricht dem
UND-Gatter U31 -verbunden ist. Über das erste ODER-Gatter OR1 werden die Mikroprozessoren
CP1 und CP2 beim Datenaustausch zwischen zwei Mikrorechnern eines Systems in den
HALT-Zustand geschaltet. Ist dies erfolgt, so übernimmt der DMA-Controller DC1 -
ähnlich wie in der vorhin beschriebenen Weise - den Datenaustausch zwischen den
Schreib-Lese-Speichern RAM1 und RAM 2 desselben Systems. Die Steuerung der Richtung
des Datentransfers erfolgt über die von der Ein-Ausgabeeinheit 101 abgegebenen Signale
W1R2 und W2R1. Beim Signal W1R2 erfolgt das Auslesen aus dem Speicher 2 und das
Einschreiben in den Speicher 1.
-
Hierbei wird das entsprechende Byte mit dem vom DMA-Controller DC1
abgegebenen Signal MR1 zuerst in den temporären Speicher des DMA-Controllers geschrieben
und dann mit dem Signal MWl in den entsprechenden Speicherplatz des ersten Schreib-Lese-Speichers
RAM eingeschrieben.
-
Der Datentransfer vom ersten Schreib-Lese-Speicher RAM1 in den zweiten
Schreib-Lese-Speicher RAM2 erfolgt über das Signal W2R1, das ebenfalls von der Ein-Ausgabeeinheit
I01 abgegeben wird.
-
Der zweite Eingang des zweiten ODER-Gatters OR2 und der
zweite
Eingang des UND-Gatters U11 sind unbeschaltet dargestellt, um den Zusammenhang mit
der Fig. 3 nicht zu verwischen.
-
9 Patentansprüche 4 Figuren