DE3104903A1 - Anordnung zum datenaustausch parallel arbeitender mikrorechner - Google Patents

Anordnung zum datenaustausch parallel arbeitender mikrorechner

Info

Publication number
DE3104903A1
DE3104903A1 DE19813104903 DE3104903A DE3104903A1 DE 3104903 A1 DE3104903 A1 DE 3104903A1 DE 19813104903 DE19813104903 DE 19813104903 DE 3104903 A DE3104903 A DE 3104903A DE 3104903 A1 DE3104903 A1 DE 3104903A1
Authority
DE
Germany
Prior art keywords
microcomputer
read
data exchange
write
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19813104903
Other languages
English (en)
Other versions
DE3104903C2 (de
Inventor
Peter Ing.(grad.) 8034 Germering Holzner
Werner Dipl.-Ing. 8000 München Sedlmeier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19813104903 priority Critical patent/DE3104903C2/de
Priority to AT81108821T priority patent/ATE11971T1/de
Priority to EP81108821A priority patent/EP0057756B1/de
Priority to AU80330/82A priority patent/AU536756B2/en
Priority to US06/347,695 priority patent/US4503496A/en
Priority to JP57019878A priority patent/JPS57150059A/ja
Publication of DE3104903A1 publication Critical patent/DE3104903A1/de
Application granted granted Critical
Publication of DE3104903C2 publication Critical patent/DE3104903C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

  • 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

Claims (9)

  1. Patentansprüche 0 Anordnung zum Datenaustausch parallel arbeitender Mikrorechner, die im wesentlichen aus einem Mikroprozessor mIt zugehörigem Programmspeicher, einem Schreib-Lese-Speicher und Ein-Ausgabeeinheiten bestehen, dadurch gekennzeichnet, daß jedem Mikrorechner (COM1, COM2) ein Direct-Memory-Access-Controller (Dci, DC2 - Steuerbaustein für direkten Speicherzugriff) zugeordnet ist, daß die Systembusse (so1, SB2) beider Mikrorechner (COM1, COM2) über eine Systembustrennstufe (TS) miteinander verbunden sind, daß zum Datenaustausch Steuerleitungen vorgesehen sind, die die Mikroprozessoren der Mikrorechner (COMI, COM2) in den HALT-Zustand (hold) schalten, in dem die Mikroprozessoren die Systembusanschlüsse freigeben und die Zusammenschaltung der Systembusse (SB1, SB2) beider Mikrorechner über die Systembustrennstufe (TS) erfolgt, und daß die Steuerung des Datenaustausches zwischen den Schreib-Lese-Speichern der Mikrorechner (COM1, COM2) von einem Direct-Memory-Access-Controller (DCi oder DC2) erfolgt.
  2. 2. Anordnung zum Datenaustausch parallel arbeitender Multi-Mikrorechnersysteme, die jeweils aus mehreren Mikrorechnern (COM1, COM2; COM3, COM4) mit zugehörigen Programmspeicher, Schreib-Lese-Speichern und Ein-Ausgabeeinheiten bestehen und bei denen jeweils einem ersten Mikrorechner (COM1, COM3) jedes Systems ein Direct-Memory-Access-Controller zugeordnet ist und die weiteren Mikrorechner dieses Systems über Bustrennstufen an den jeweiligen ersten Mikrorechner und Direct-Memory-Access-Controller angeschaltet sind, d a du r c h g e -k e n n z e i c h n e t , daß jedem ersten Mikrorechner (COM1, COM3) jedes Multi-Mikrorechnersystems ein Direct-Memory-Access-Controller (Steuerbaustein für direkten Speicherzugriff - DCI, DC3) über Systembusse SB1, SB3 zugeordnet ist, daß die Systembusse (SB1, SB3) beider ersten Mikrorechner (COM1, COM3) über eine Systembustrennstufe (TS) miteinander verbunden sind, daß zum Datenaustausch Steuerleitungen vorgesehen sind, die alle Mikroprozessoren der Mikrorechner (COM1, COM3) des ersten Systems und der weiteren Mikrorechner (COM2, COM4) in den HALT-Zustand schalten, daß die Zusammenschaltung aller Systembusse (SB1, SB3, SB2, SB4) aller Mikrorechner (COM1, COM3, COM2, COM4) über die Systembustrennstufe (TS) und die Bustrennstufen (TB1, TB2) 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 (DC7 oder DC2) erfolgt, während der andere DMA-Controller inaktiv geschaltet ist.
  3. 3. Anordnung nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t , daß mehr als zwei Mikrorechner oder Mikrorechnersysteme über weitere Systembustrennstufen (TS) parallelgeschaltet sind.
  4. 4. Anordnung nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß der Datenaustausch vom DMA-Controller des Daten empfangenden Mikrorechners oder Multi-Mikrorechnersystems gesteuert wird und über ihn erfolgt.
  5. 5. Anordnung nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß Uberwachungseinrichtungen vorgesehen sind, die beim Auftreten eines Fehlers einen Datenaustausch vom fehlerfreien System in das fehlerhafte System veranlassen.
  6. 6. Anordnung nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß den Schreib-Lese-Speichern jedes Mikrorechners eines Multi-Mikrorechnersystems ein anderer Adressenbereich zugeordnet ist.
  7. 7. Anordnung nach einem der vorhergehenden Ansprüche 2,4 bis 6, d a d u r c h g e k e n n z e i c h -n e t , daß ein erstes Mikrorechnersystem (MSY1) aus einem ersten Mikroprozessor mit zugehörigem Programmspeicher (CP1) über einen ersten Datenbus (DAB1) und einem ersten Adressenbus (AD31) mit einem ersten DMA-Controller (DC1) und einer ersten Ein-Ausgabeeinheit (I01) verbunden ist und über Bustrennstufen (T21, T22) mit einem zweiten Mikroprozessor (CP2) und einem zweiten Schreib-Lese-Speicher (RAM2) verbunden ist, daß der erste Datenbus (DAB1) und der erste Adressenbus (ADEl) jeweils über eine Datenbustrennstufe (TDA) und eine Adressenbustrennstufe (TAD) mit einem Datenbus (TAB3) bzw. dem Adressenbus (ADB3) eines zweiten gleich aufgebauten Multi-Mikrorechnersystems (MSY2) ) mit einem dritten Mikrorechner (CP3), einem diesen zugeordneten weiteren DMA-Controller (DC3), einem Schreib-Lese-Speicher (RAM3), einer weiteren Ein-Ausgabeeinheit (I03) und einem vierten Mikrorechner (CP4) mit dazugehörigem vierten Schreib-Lese-Speicher (RAM4) verbunden ist, daß den vier Schreib-Lese-Speichern jeweils eine Schreib-Lese-Logikschaltung (SL11, SL21; SL31, SL41) zugeordnet ist, die abhängig von Steuersignalen an ihren Eingängen ein Lesesignal (MR) oder ein Schreibsignal (MW) an den dazugdhörigen Schreib-Lese-Speicher abgibt, daß der Datenaustausch vom zweiten Multi-Mikrorechnersystem (MSY2) in das erste Multi-Mikrorechnersystem (MSY1) vom ersten Mikroprozessor (CP1) des ersten Systems (MSY1) über Steuerleitungen der Ausgänge des ersten DMA-Controllers (DC1) und der erste Ein-Ausgabeeinheit (I01) ausgelöst wird daß alle Mikroprozessoren (CP1, CP2; CP3, CP4) in den HALT-Zustand weitere DMA-Controller (DC3) inaktiv geschaltet werden, daß der erste DMA-Controller (DC1) über eine UND-Verknüpfung ein HALT-Eestätigungssignal (H01) erhält, daß die Daten- und Adressenbusse (ADEl, 2,3,4; DAB1,2,3,4) zusammengeschaltet werden, daß der erste DMA-Controller (DC1) den Datenaustausch steuert, daß die Schreib-Lese-Speicher (RAM3, RAM4) des zweiten Systems (MSY2) ein Lesesignal (MR) erhalten, daß die Schreib-Lese-Speicher (RAM1, RAM2) des ersten Systems (MSY1) ein Schreibsignal (MR) erhalten und daß der Datenaustausch vom ersten in das zweite Multi-Mikrorechnersystem in entsprechender Weise erfolgt.
  8. 8. Anordnung zum Datenaustausch nach Anspruch 6, d a d u r c h g e k e n n z e i c h n e t , daß eine Überwachungseinrichtung vorgesehen ist, die verhindert, daß bei einem irreparablen Multi-Mikrorechnersystem (MSYl, MSY2) ein Datenaustausch zwischen beiden Systemen erfolgt.
  9. 9. Anordnung zum Datenaustausch nach Anspruch 6 oder 7, d a d u r c h g e k e n n z e i c h n e t , daß beim Datenaustausch zwischen zwei Mikrorechnern (COM1, COM2) eines Multi-Mikrorechnersystems die Mikroprozessoren (CP1, CP2) in den HALT-Zustand geschaltet werden, daß die Bustrennstufen (T21, T22) jeweils die Adressenbusse (ADEl, ADB2) und die Datenbusse (DABl, DAB2) miteinander verbinden, daß der Datenaustausch über den DMA-Controller (DC1) erfolgt und von diesem gesteuert wird, und daß die Richtung des Datenaustausches über die Schreib-Lese-Logikschaltungen (SL11, SL21) gesteuert wird (Fig. 4).
DE19813104903 1981-02-11 1981-02-11 Anordnung zum Datenaustausch zwischen parallel arbeitenden Mikrorechnern Expired DE3104903C2 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE19813104903 DE3104903C2 (de) 1981-02-11 1981-02-11 Anordnung zum Datenaustausch zwischen parallel arbeitenden Mikrorechnern
AT81108821T ATE11971T1 (de) 1981-02-11 1981-10-23 Anordnung zum datenaustausch in parallel arbeitenden multi-mikrorechnersystemen.
EP81108821A EP0057756B1 (de) 1981-02-11 1981-10-23 Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
AU80330/82A AU536756B2 (en) 1981-02-11 1982-02-10 Multi processor with direct store access
US06/347,695 US4503496A (en) 1981-02-11 1982-02-11 Multi-microcomputer system with direct store access
JP57019878A JPS57150059A (en) 1981-02-11 1982-02-12 Multi-microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19813104903 DE3104903C2 (de) 1981-02-11 1981-02-11 Anordnung zum Datenaustausch zwischen parallel arbeitenden Mikrorechnern

Publications (2)

Publication Number Publication Date
DE3104903A1 true DE3104903A1 (de) 1982-08-26
DE3104903C2 DE3104903C2 (de) 1986-05-15

Family

ID=6124598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813104903 Expired DE3104903C2 (de) 1981-02-11 1981-02-11 Anordnung zum Datenaustausch zwischen parallel arbeitenden Mikrorechnern

Country Status (2)

Country Link
JP (1) JPS57150059A (de)
DE (1) DE3104903C2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59183447A (ja) * 1983-04-01 1984-10-18 Iwatsu Electric Co Ltd 障害監視方式
JPS62212860A (ja) * 1986-03-14 1987-09-18 Nec Corp デ−タ転送回路
JPS63138448A (ja) * 1986-12-01 1988-06-10 Fanuc Ltd 多重プロセツサ処理システムにおけるバス制御方式
JPH01106255A (ja) * 1987-10-20 1989-04-24 Nec Corp 論理装置
JP2687716B2 (ja) * 1990-11-13 1997-12-08 日本電気株式会社 情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5312434A (en) * 1976-07-15 1978-02-03 Misuzu Toufu Kk Use for food of food processing refuse or food raw material
JPS5391645A (en) * 1977-01-24 1978-08-11 Japan Radio Co Ltd Composite microprocessor system
DE2742035A1 (de) * 1977-09-19 1979-03-29 Siemens Ag Rechnersystem

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DE-Z Elektronik, 1978, H. 11, S.49-53 *
DE-Z Elektronik, 1979, H. 20, S.73-77 *
US-Z Computer Design, October 1980,S.38 *
US-Z IEEE Transactions on Computers, Vol. C-26, No. 1, January 1977, S. 19-28 *

Also Published As

Publication number Publication date
DE3104903C2 (de) 1986-05-15
JPS57150059A (en) 1982-09-16

Similar Documents

Publication Publication Date Title
EP0057756B1 (de) Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
DE3127349C2 (de)
DE2723466C2 (de) Sammelleitungsanordnung
DE3502147C2 (de)
DE4313190B4 (de) Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung
DE69016978T2 (de) Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem.
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE3780306T2 (de) Adapterbusschalter zur verbesserung der verfuegbarkeit einer steuereinheit.
DE3009530C2 (de)
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE3104903A1 (de) Anordnung zum datenaustausch parallel arbeitender mikrorechner
DE2817757A1 (de) Datenverarbeitungssystem
EP0113379A1 (de) Rechnerkopplung
DE2912734C2 (de) Mehrrechnerkopplung
EP0358785A1 (de) Einrichtung zum Betrieb eines redundanten Mehrrechnersystems für die Steuerung eines elektronischen Stellwerkes in der Eisenbahnsignaltechnik
DE2824557C2 (de) Anordnung in Mikroprozessoren für den Aufbau von Multiprozessor-Systemen
DE10334626B4 (de) Informationsverarbeitungsvorrichtung
EP0065272B1 (de) Mehrrechnersystem
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE3104928C2 (de) Multi-Mikrorechneranlage mit direktem Speicherzugriff
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
EP3654121A1 (de) Redundantes automatisierungssystem mit mehreren prozessoreinheiten je hardwareeinheit
DE2321232C3 (de) Schaltung zur Übertragung der Adresse einer perlpheren Einheit
DE102004062292B4 (de) Verfahren zur Sicherstellung der Verfügbarkeit von Daten bei Ausfall von mindestens einem Rechner einer Anordnung mit mindestens zwei Rechnern sowie Rechneranordnung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
D2 Grant after examination
8363 Opposition against the patent
8365 Fully valid after opposition proceedings
8380 Miscellaneous part iii

Free format text: SPALTE 1, ZEILE 33 IST DAS 3. WORT ZU BERICHTIGEN IN: "MULTI-MIKRORECHNERSYSTEMEN"

8339 Ceased/non-payment of the annual fee