DD238463A1 - Buskoppelanordnung fuer ein mehrrechnersystem - Google Patents

Buskoppelanordnung fuer ein mehrrechnersystem Download PDF

Info

Publication number
DD238463A1
DD238463A1 DD27751885A DD27751885A DD238463A1 DD 238463 A1 DD238463 A1 DD 238463A1 DD 27751885 A DD27751885 A DD 27751885A DD 27751885 A DD27751885 A DD 27751885A DD 238463 A1 DD238463 A1 DD 238463A1
Authority
DD
German Democratic Republic
Prior art keywords
bus
input
output
computer
coupling
Prior art date
Application number
DD27751885A
Other languages
English (en)
Inventor
Uwe Buehn
Gerhard Matz
Original Assignee
Robotron Messelekt
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 Robotron Messelekt filed Critical Robotron Messelekt
Priority to DD27751885A priority Critical patent/DD238463A1/de
Publication of DD238463A1 publication Critical patent/DD238463A1/de

Links

Landscapes

  • Bus Control (AREA)

Abstract

Die Buskoppelanordnung fuer ein Mehrrechnersystem gestattet die schnelle gleichberechtigte Kopplung zweier von mehreren gleichartigen, autonom arbeitenden, aus gleicher Taktquelle gespeisten, auch nicht taktsynchroner Mikrorechner, mit jeweils eigenem Speicherbereich zwecks programmierten Datenaustausch mit der theoretisch moeglichen Maximalgeschwindigkeit ueber ein Bussystem. Bei einem Mehrrechnersystem bei dem ueber Parallele-Ein-Ausgabe-Schnittstellen (PEAS), mit je zwei Toren die bidirektionalen Klemmen der ersten Tore an einem gemeinsamen Datenbus, die Klemmen des zweiten Tores teilweise an einen Adressbus und teilweise an einem Steuerbus liegen, sind letzte fuer die Ausgabe und den Empfang von Buspruefsignalen, Anforderungs- und Quittungssignalen, Adressen und Ausloesung eines Interrupts programmiert. Pro Rechner ist eine Koppelstartschaltung vorgesehen, deren drei Eingaenge je an die Quittungsbusleitung sowie jeweils an den HALT-Ausgang des Mikrorechners als auch an eine Halt-Busleitung geschaltet sind und deren Ausgang an eine Unterbrechung ausloesende Klemme der PEASn liegt. Hauptanwendungsgebiet sind die rechnergestuetzte Mess-Steuer- und Regelungstechnik. Fig. 1

Description

Weiterhin ist bei der Schaltkreisanordnung ein über Anmelde- und Freigabeleitungen die Freigabeentscheidung realisierender Kommunikationsrechner vorgesehen.
Die Datenaustausch rate bei der Speicherkopplung über gemeinsame Speicherbereiche entspricht der Maximalrate von Lesebzw. Schreiboperationen des Mikrorechners. Beim Datenaustausch mit SDZ-Bausteinen wird eine wesentlich höhere Datenaustauschrate erreicht. Das bedeutet aber, daß zusätzlich ein Spezialschaltkreis angewandt wird. In solchen Fällen ist stets zu prüfen, ob nicht das Preis-Leistungsverhältnis steigt.
Trotz des geringen Hardwareaufwandes bei bekannten peripherieartigen Kopplungen bestand für letztere das Hindernis einer zu geringen Datenaustauschrate. Beim Austausch eines Datenwortes mußten im Mikrorechner mehrere Befehle abgearbeitet werden und durch die nötigen Wartezyklen ergaben sich zusätzliche Zeitverluste.
Durch das DD-WP 133482 ist ebenfalls eine Anordnung zur peripherieartigen Mikrorechnerkopplung, mit Parallel-Interface-Bausteinen, bei Einbus- und Mehrbus-Multi-Mikrorechnersystemen bekannt, bei der je Kopplung gleichartiger Mikrorechner ein im Eingabemodus arbeitender programmierbarer Ein-/Ausgabekanal eines programmierbaren Parallel-Ein-ZAusgabe-lnterface-Bausteins verwendet wird und eine, durch logische Verknüpfung von Anforderungs- und Bereitschaftssignalen auf beiden Seiten des Datenaustausches, sowohl für die Eingabe als auch für die Ausgabe, Wartesignale erzeugende, doppelte Zusatzwartelogik vorgesehen ist.
Durch dieses WP ist auch bekannt, daß ein Busorbiter mit einer Prioritätslogik ausgestattet ist, der mit Hilfe einer Zyklischen Abfrageimpulsschaltung die Steuerung des Einbus-Multi-Mikrorechnersystems vornimmt.
All diese bekannten Lösungen unterscheiden sich nur durch die Art der Herstellung des Synchronismus zwischen Datensender und Datenempfänger.
Dabei werden entweder zusätzliche Steuerleitungen der Parallel-Ein-Ausgabe-Schnittstellen benutzt, wie zum Beispiel die vorgesehene Verbindung des Bereitausganges „RDY" des sendenden Tores mit dem Aktivierungseingang „STB" des empfangenen Tores oder es werden bis zur Bereitmeldung des Datenempfängers zusätzliche Wartetakte erzeugt. Als Folge davon tritt in beiden Fällen eine Verringerung der Übertragungsgeschwindigkeit bezogen auf die theoretisch mögliche Maximalgeschwindigkeit auf.
Durch das DD-WP 142135 ist auch eine Mehrrechnerkopplung für autonom arbeitende, aktive Recheneinheiten, von denen eine als „master"-Recheneinheit und die übrigen als „slave"-Recheneinheiten mit an diesen angeschlossenen, programmierbaren Eingabe-ZAusgabetorschaltungen ausgebildet sind und über Adressen-, Steuer- und Datenleitungen zur Lösung ihnen zugeordneter Aufgaben miteinander zum asynchronen Datenaustausch nach einem Unterbrechungsprinzip verbunden sind, bekannt. Danach ist jede Recheneinheit über eine Eingabe-ZAusgabetorschaltung an gemeinsame Sammelleitungen für Daten- und Adreßinformationen angeschlossen. Jede Eingabe-ZAusgabetorschaltung ist über eine besondere Steuerschaltung zur Übertragung der Steuersignale „RDY" und „STB" an eine Sammelleitung zum asynchronen, direkten und konfliktfreien Datenaustausch zwischen der „master"-Recheneinheit und einer der „slave"-Recheneinheiten angeschlossen. Die der „master"-Recheneinheit zugeordnete Eingabe-ZAusgabetorschaltung weist einen durch diese betätigbaren Datenrichtungssignalausgang auf, der mit den übrigen Eingabe-ZAusgabetorschaltungen zur Festlegung der Übertragungsrichtung und der Priorität der „master"-Recheneinheit verbunden ist.
Dabei ist die Eingabe-/Ausgabetorschaltung der „master"-Recheneinheit mit einer Einrichtung zur Bestimmung der Priorität bei mehreren gleichzeitig anfordernden „slave"-Recheneinheiten ausgestattet. Die Steuerschaltung weist ein konjunktives Verknüpfungsglied für das von der „master"-Recheneinheit ausgegebene und von den „slave"-Recheneinheiten über einen Negator empfangene Datenrichtungssignal undfürdasEinlese-ZAuslesebereitschaftssignal „RDY" auf, dessen Ausgang auf ein zweites konjunktives Verknüpfungsglied mit einer Zeitschaltcharakteristik geführt ist. Der zweite Eingang des letzteren ist mit dem Anschluß für das Einlese-ZAuslesebereitschaftsüignal „RDY" verbunden und dessen Ausgang ist über ein drittes Verknüpfungsglied mit dem Daten-Richtungssignal für die „master"-Recheneinheit und dessen Negation für die „slave"-Recheneinheiten auf die Einlese-ZAusleseanforderungseingänge der übrigen Recheneinheiten und über ein viertes Verknüpfungsglied, das mit seinem anderen Eingang an dem zweiten Eingang des zweiten konjunktiven Verknüpfungsgliedes und dem Anschluß für das Einlese-ZAuslesebereitschaftssignal „RDY" angeschlossen ist, auf den Einlese-Z Ausleseanforderungseingang „STB" der der angeschlossenen Recheneinheit zugeordneten Eingabe-ZAusgabetorschaltung geführt.
Die Steuerschaltung weist einen Aktivierungseingang auf, über den sie mit ihrer Recheneinheit über die zugehörige Eingabe-Z Ausgabetorschaltung zum Aufruf für den Datenaustausch verbunden ist.
Bei diesen bekannten Lösungen treten zum einen die oben angeführten Nachteile auf und zum anderen setzen sie in der Regel voraus, daß einem Rechner eine Vorrangstellung (Master) derart eingeräumt wird, daß der Master mit allen übrigen Rechnern (Slaves) in beiden Richtungen Daten austauschen kann, ein Datenaustausch zwischen den Slaves untereinander jedoch im allgemeinen nicht möglich ist.
Durch die DE-OS 2713304 sind ebenfalls Mehrrechnersysteme bekannt, bei denen die Adreß- und Datenleitungen der einzelnen Rechner über steuerbare Zweiweg-Treiberbausteine miteinander verbunden sind, wobei die Richtungssteuerung durch eine Zusatzlogik erfolgt, die mehrere Steuersignal-Ein- und Ausgänge der beteiligten Rechner miteinander verknüpft. Nachteilig an dieser Lösung ist der hohe Aufwand an Schaltkreisen und die Tatsache, daß alle Rechner wechselseitig in die Speicherbereiche der anderen Rechner eingreifen, so daß ein autonomer Betrieb einschließlich Speicherverwaltung der einzelnen Rechner nicht mehr gewährleistet ist.
Bei der Mehrrechnerkopplung wurde eine Anzahl von unterschiedlichen Verfahren geschaffen, um den Zugriff zum Bus in einem Netz mit einem einzigen bidirektionalen Bus zu kontrollieren.
Bei einem bekannten Verfahren, das als Auswahlverfahren bekannt ist, hat eine Rechnerstation nur dann die Möglichkeit für einen Zugriff zum Bus, wenn sie ein Signal bekommt, daß sie mit dem Zugriff an der Reihe ist. Bei einer Klasse von dieses Verfahren benutzenden Netzen werden die Signale, die die Rechner steuern, durch eine zentrale Steuereinheit erzeugt und dann zu den verschiedenen Rechnerstationen durch eine Daisy-Chain-Anordnung, durch eine Aufrufanordnung (Polling) oder durch eine Anordnung übertragen, die als „unabhängige Anforderungen" (independent-requests) bekannt ist. Bei einer anderen Klasse von dieses Verfahren benutzenden Netzen ist keine zentrale Steuereinheit vorgesehen. Statt dessen ist die Steuerlogik gleichmäßig unter den Rechnerstationen verteilt. Die Steuersignale, die durch die Rechnerstationen erzeugt werden, werden von der einen zur anderen durch daisy-chaining, Aufruftechnik oder durch unabhängige Anforderungen übertragen. Das
hauptsächliche Probleme bei der Auswahltechnikfür die Steuerung des Zugriffs besteht darin, daß das Netz vollständig von der Tätigkeit einer einzigen Einheit abhängig ist. Wenn das Netz eine zentrale Steuereinheit enthält und die zentrale Steuereinheit ausfällt, kann das Netz nicht arbeiten. Das gilt auch, wenn das Netz keine zentrale Steuereinheit aufweist und die zur Zeit die Steuerung wahrnehmende Rechnerstation ausfällt.
Bei einem anderen bekannten Verfahren, das als Verfahren des wahlfreien Zugriffs (random access) bekannt ist, muß eine Rechnerstation, die Zugriff zum Bus wünscht, nicht warten, bis sie angesteuert wird, sondern sie überwacht einfach den Bus auf seine Tätigkeit. Wenn keine Tätigkeit oder Aktivität vorhanden ist, nimmt die Rechnerstation an, daß der Bus frei ist, und überträgt ihre Nachricht. Das Problem bei diesem Verfahren besteht darin, daß zwei (oder mehr) Rechnerstationen zu der Schlußfolgerung, daß der Bus frei ist, zu ungefähr der gleichen Zeit kommen können und gleichzeitig zum Bus Zugriff nehmen. Wenn dies eintritt, kollidieren die zwei Nachrichten und gehen verloren.
Wieder bei einem anderen als Reservierungsverfahren bekannten Verfahren gibt eine Rechnerstation, die wünscht, eine Nachricht zu übertragen, eine Anforderung hierfür ab und erhält dann eine in der Zukunft liegende reservierte Zeit, während der sie ihre Nachricht übertragen kann. Die Hauptprobleme bei diesem Verfahren bestehen darin, daß es von der Operation der Einheit, durch die die Anforderungen bearbeitet werden müssen, abhängt, und daß es relativ langsam ist. Wie man sieht, leidet das Auswahlverfahren daran, daß die kontinuierliche Tätigkeit des Netzes von einer einzigen Einheit abhängig ist, das Verfahren des wahlfreien Zugriffs leidet daran, daß Kollisionsmöglichkeiten bestehen, und das Reservierungsverfahren leidet daran, daß es relativ langsam ist und daß die kontinuierliche Tätigkeit des Netzes von einer einzigen Einheit abhängt.
Eine genauere Diskussion der obengenannten Verfahren kann in einem Aufsatz von E.C. Luczak unter dem Titel Global Bus Computer Communication Techniques, erschienen in I.E.E.E. 1978 gefunden werden.
Die ED-OS 3119394 schlägt ein weite Entfernungen überbrückendes Rechnernetz vor, das einen einzigen bidirektionalen Bus und eine Mehrzahl von Rechnerstationen aufweist. Jede Rechnerstation besitzt einen Rechner und eine Adaptereinheit. Jede Adaptereinheit besitzt einen Leitungsaktivitätsanzeigerzum Überwachen des Busses auf Aktivität, einen Zeitgeberzum Messen der Zeit der Inaktivität auf dem Bus, eine Einrichtung zum Erzeugen von Impulsen, eine Steuerlogik und eine Interfacelogikschaltung.
Bei der DE-OS 3026362 erfolgt ein schneller blockorientierter Datentransfer zwischen zwei Rechnern, die hierzu jeweils einen E/A-Baustein und eine Steuereinrichtung aufweisen. Die E/A-Bausteine und eine Steuereinrichtung aufweisen. Die E/ABausteine beider Rechner stehen durch eine Datenübertragungsleitung miteinander in Verbindung und die Steuereinrichtungen sind über Leitungen zu einer Befehlssteuereinrichtung zusammengefaßt. Zur Durchführung eines Datentransfers fordert der sendende Rechner mit einer Unterbrechungsanforderung über die Befehlssteuereinrichtung den anderen Rechner hierzu auf, aktiviert seinen E/A-Baustein und setzt sich still. Die Befehlssteuereinrichtung erzeugt bei Bereitschaft des aufgeforderten Rechners eine Unterbrechungsanforderung als Rückmeldung für den sendenden Rechner und aktiviert seinen E/A-Baustein, wonach über die Datenübertragungsleitung eine synchrone Ausgabe/Eingabe des zu transferierenden Datenblocks erfolgt. Die beiden Unterbrechungsanforderungen dienten nur zur Aktivierung der E/A-Bausteine beider Rechner und werden danach nicht mehr beachtet.
Durch das WP 155662 ist ein Mehrrechnersystem bekannt, mit mehreren gleichartigen, gleichberechtigt gekoppelten, aus gleicher Taktquelle gespeisten Mikrorechnern, die über je einen Unterbrechungseingang, je einen den Software-Haltezustand signalisierenden HALT-Ausgang, je eine programmierbare Parallel-Ein-Ausgabe-Schnittstelle, sogenannte PEAS, über Blockausgabe- und Blockeingabe- oder andere Aus-Eingangsbefehle gleicher Taktlänge und jeweils eigenen Speicherbereich verfügen. Die wahlweise als Ein- oder Ausgänge dienenden Klemmen eines ersten Tores jeder PEAS sind mit den wahlweise als Ein-oder Ausgänge dienen Klemmen der ersten Tore aller übrigen PEASn in Form eines zur Kopplung dienenden Daten-Koppelbus-Systems verbunden. * Je Kopplungskanal eines Rechners zu einem gleichberechtigten Rechner sind zwei wahlweise Anforderungs- oder Quittungssignal führende Leitungen von Klemmen eines zweiten Tores der PEAS des p-ten Rechners zu zwei Klemmen des zweiten Tores des q-ten Rechners und außerdem zu zwei Eingängen einer bei aktivem Zustand aller Eingänge am Ausgang Tiefpegel einnehmenden je Kopplungskanal vorhandenen logischen NAND-Schaltung mit offenem Kollektor geschaltet. Zwei weitere Eingänge der NAND-Schaltung sind mit den HALT-Ausgängen des p-ten und q-ten Rechners verbunden und der Ausgang der NAND-Schaltung ist mit je einem, eine Unterbrechung auslösenden Eingang des zweiten Tores aller Rechner oder mit einer im Bedarfsfall auf Unterbrechungsauslösung beim empfangenden Rechner programmierten Leitung des Daten-Koppelbus-Systems verbunden.
Diese Lösung kommt bei einem Mehrrechnersystem bis zu vier Rechnern mit einem 8-bit-E/A-Port an jedem Rechner aus. Da jedoch neben den Anforderungs- und Quittungssignalklemmen pro Kopplungskanal noch ein Interrupteingang benötigt werden, müssen bei mehr als vier Rechnern nachteiligerweise zusätzliche E/A-Ports für die Steuerung der Rechnerkopplung eingesetzt werden.
Ein weiterer Nachteil an dieser Lösung ist der höhere Aufwand für eine taktgenaue berechnete Programmerstellung, damit jeweils die gekoppelten Rechner mit einem durch 4 teilbaren Taktabstand in die HALT-Zyklen kommen. Anderenfalls, wenn die HALT-Zyklen der gekoppelten Rechner, z.B. um 2 Takte verschoben ausgeführt werden, akzeptiert nur der taktgemäß führende Rechner bei der steigenden Flanke im 4. Takt das NAND-Ausgangssignal als Unterbrechungssignal und schaltet bei der fallenden Flanke des 4.Taktes bereits sein HALT-Ausgangssignal und damit auch das NAND-Ausgangssignal inaktiv, so daß der zweite Rechner, der z.B. zwei Takte später auf Vorliegen eines Unterbrechungssignals prüft, dieses nicht mehr vorfindet und daher im HALT-Zyklus verbleibt, d.h. die Kopplung nicht zustande kommt.
Dazu wurde bereits eine Koppelstartschaltung vorgeschlagen, die dadurch gekennzeichnet ist, daß bei jedem Kopplungskanal die von den HALT-Ausgängen kommenden Leitungen über Negatoren mit Eingängen einer ersten NAND-Schaltung und der Ausgang mit dem Setzeingang eines RS-Flipflop verbunden ist, dessen Rücksetzeingang am Ausgang einer zweiten NAND-Schaltung liegt, deren zwei Eingänge jeweils an die HALT-Ausgänge der beiden gekoppelten Mikroprozessoren liegen, wobei die Unterbrechung auslösenden Eingänge des zweiten Tores aller Rechner an die durch ein zentrales RESET-Signal „hoch" setzbaren offenen Kollektor-Ausgänge der RS-Flipflop geschaltet sind.
Durch diese Koppelstartschaltung wird, wenn der zweite der zu koppelnden Rechner in HALT-Zustand geht, ein Unterbrechungssignal mit dem RS-Flipflop gesetzt, das erst dann wieder zurückgenommen wird, wenn der letzte HALT-Ausgang wieder inaktiv geworden ist, d. h. beide gekoppelten Rechner den Haltzustand verlassen haben und sich in einem Unterbrechunasroutinenroaramm auf den Datenaustausch vorbereiten.
Ziel der Erfindung
Ziel der Erfindung ist es, eine Buskoppelanordnung für ein Mehrrechnersystem zur gleichberechtigten Kopplung für zwei von mehreren aus gleicher Taktquelle gespeister Rechner zu schaffen, die einen Datenaustausch mit der theoretisch möglichen Maximalgeschwindigkeit gestattet und die auch bei mehr als vier Rechnern mit einem E/A-Baustein auskommt.
Darlegung des Wesens der Erfindung
Ausgehend von obiger Zielstellung liegt der Erfindung die Aufgabe zugrunde, die dem bekannten Stand der Technik anhaftenden Mängel, die ihre Ursache in den zwei pro Kopplungskanal benötigten Anforderungs- und Quittungs-Ein/Ausgängen der Rechner haben, zu vermeiden. Es besteht die Aufgabe, jeweils für'zwei auch von mehr als vier Rechnern eine fehlerfreie Kopplung über einen E/A-Baustein und ein Bussystem zwecks zuverlässiger Datenübertragung zu gewährleisten.
Bei einer Buskoppelanordnung gemäß Oberbegriff des Erfindungsanspruches erfolgt die erfindungsgemäße Lösung, wie sie in den kennzeichnenden Teilen des Erfindungsanspruchs und seiner Unterpunkte beschrieben sind.
Ausführungsbeispiel
In nachfolgenden Ausführungsbeispielen soll die Erfindung näher erläutert werden.
Fig. 1 zeigt das Blockschaltbild eines aus sieben Rechnern bestehenden Mehrrechnersystems. Dabei sind in Fig. 1 nur die für das Beispiel einer Kopplung des Rechners 1 mit dem Rechner 6 bedeutsamen Elemente dargestellt, wobei aus Übersichtsgründen der Mikroprozessor mit seinem Speicher und die Parallel-Ein-Ausgabe-Schnittstelle zu einem einzigen Modul 1.1; 6.1 zusammengefügt und nur die für das Verständnis notwendigen Aus-und Eingänge AO...A7; BO...B7; HALT gezeichnet sind. Die nicht dargestellte gemeinsame Taktquelle ist einem der Rechner zugeordnet und speist alle beteiligten Rechner. Im gewählten Beispiel besitzt jeder Rechner zwei Tore A und B mit jeweils acht Klemmen. Eine beliebige Erweiterung der Klemmenanzahl ist möglich. Alle Ausgänge sind als Open-Collector- oderTristate-Ausgänge ausgeführt. Die Klemmen der jeweils ersten Tore A sind an einen gemeinsamen Datenbus D0...D7, drei Klemmen B1; B2; B3 der jeweils zweiten Tore B sind an einen gemeinsamen Adreßbus ADR0...ADR2 und vier Klemmen BO; B4; B5; B6 der jeweils zweiten Tore B sind direkt bzw. über Richtungsschalter X.3 an einen gemeinsamen Steuerbus mit den Signalbezeichnungen HALT, ACK und BUISY angeschlossen. Die Erläuterung der weiteren Elemente erfolgt schrittweise am gewählten Beispiel eines Daten-Transfers zwischen dem Rechner 1 und dem Rechner 6. Der Rechner 1, der die Absicht zu senden hat, prüft zunächst, ob der Bus belegt ist, indem er die Steuerleitung BUISY abfragt. Ist der Bus frei (BO = 1), so legt er die Adresse „6" des ausgewählten Empfängers, nämlich Rechner 6, auf den Adreßbus (ADR2 = 1, ADR1 = O, ADR0 = 1). Der dem Rechner 6 zugeordnete Dekoder 6.2 erkennt diese Adresse und aktiviert seinen Ausgang (RQ = O). Dadurch wird zum einen die Leitung BUISY = 0 gesetzt, womit allen anderen Rechnern die Belegung des Busses mitgeteilt wird, zum anderen wird über Eingangsklemme B6 des zweiten Tores mit B6 = RQ = 0 eine Transferanforderung wirksam, die im Rechner 6 in geeigneter Weise, beispielsweise durch Auslösen eines Interrupts erkannt wird.
Sobald Rechner 6 für den Daten-Transfer bereit ist, quittiert er seine Bereitschaft mit Ausgangsklemme B 4 = ACK = 0 und geht softwaregesteuert in den HALT-Zustand, wodurch der Ausgang HALT des Rechners 6 aktiv wird (HALT = 0). Nachdem Rechner 1 die Bereitschaft des Empfängers über B5 = 0 erkannt hat, programmiert er die Klemmen AO... A7 als Ausgänge und begibt sich ebenfalls in den HALT-Zustand.
Damit setzt erzürn einen über den Richtungsschalter 1.3 seine Koppelstartschaltung 1.4 aktiv, so daß Klemme B7 = 0 wird, und zum anderen liefert er der Koppelstartschaltung 6.4 des Empfänger— Rechner 6 das letzte für deren Aktivsetzen noch erforderliche Signal über die Busleitung HALT mit HALT = 0. Der Richtungsschalter 6.3 des Empfängers verhinderte dabei, daß das zuvor aktivierte HALT-Signal des Rechners 6 auf den Eingang der eigenen Koppelstartschaltung 6.4 wirkte und diese bereits aktiv setzte.
Ein Ausführungsbeispiel der Koppelstartschaltung X.4 zeigt Fig.2. Der HALT-Ausgang des Rechners als auch die Steuerbusleitung HALT sind je über einen Negator an einen Eingang eines Gatters NAND1 geschaltet, dessen dritter Eingang an die Steuerleitung ACK liegt. Der Ausgang des NAND1 liegt am Setzeingang S eines RS-Flipflop RS-FF, an dessen Rücksetzeingang R, der Ausgang eines zweiten Gatters NAND2 liegt. Die zwei Eingänge des zweiten Gatters NAND2 sind an den Rechnerausgang HALT und an die Steuerbusleitung HALT geschaltet. Die interruptauslösende Eingangsklemme B7 ist an den Q-Ausgang des RS-Flipflop RS-FF geschaltet, der durch ein zentrales RESET auf „1" gesetzt werden kann und beim aktiven Zustand der drei Eingangssignale: Rechner-HALT = 0, BUS-HALT = 0 und ACK = 0 auf „0" gesetzt ist und erst nach dem Inaktivwerden der beiden Eingangssignale Rechner HALT=I Und BUS-HALT = 1 wieder auf „1" zurückgesetzt wird. Das gleichzeitige Setzen der Koppelstartschaltungen 1.4 und 6.4 bewirkt parallel in beiden Rechnern durch Aktivierung der Klemmen B7 = 0 einen Interrupt, wodurch in beiden Rechnern je ein Unterbrechungsprogramm angesprungen wird. Für diese beiden Programme werden zum Zweck des Datenaustauschs vorzugsweise Block-Ein- oder Ausgabebefehle oder andere Ein-/Ausgabebefehle mit jeweils gleicherTaktanzahl benutzt. Verwendet man die weitverbreiteten mnemonischen Kürzel
OTIR für Blockausgabe,
INIR für Blockeingabe,
NOP für keine Operation,
RETI für Rückkehr von einer Unterbrechung,
so müssen die Programme folgende grundsätzliche Form haben: Sender: OTIR/RETI
Empfänger: NOP / NOP / NOP / NOP / INIR / RETI
Die vier Leerbefehle im Programm des Empfängers garantieren eine konstante Phasenverschiebung zwischen Aus-und Eingabe, so daß bereits beim ersten Datenbyte der Datenübernahmezyklus auf eine stabile Datenbereitstellungsphase trifft. Durch diese Maßnahme wird der Austausch weiterer Steuersignale bzw. die Erzeugung zusätzlicher Wartetakte vermieden, so daß die Datenübertragung mit der theoretisch möglichen Maximalgeschwindigkeit erfolgen kann.
Die Gesamt-Blocklänge bzw. die Zahl der zu übertragenden Daten-Bytes muß entweder als Konstante festgelegt werden oder in einer „Vorübertragung" von wenigen Bytes konstanter Anzahl (z.B. 2) mitgeteilt werden.
Der Empfänger kann bezüglich Erkennung der Anf ο rderungssig η ale wahl weise in Abfrage- oder Interruptmodus arbeiten, wobei für letzteren Fall über das höherpriorisierte Tor A des Rechners 6, durch beispielsweise Klemme A7 = 0 ein Interrupt ausgelöst wird. Diese Maßnahme erlaubt eine besonders einfache Programmgestaltung, so daß die dem eigentlichen Datenaustausch vorangehende Vorbereitungszeit stark verkürzt wird.
In einem zweiten Ausführungsbeispiel gemäß Fig.3 ist die Anordnung des ersten Ausführungsbeispiels dahingehend abgewandelt, daß die Dekodierung der eigenen Adresse über beispielsweise drei Eingänge des zweiten Tores B2; B3; B4 softwaremäßig erfolgt, indem diese Eingänge durch den Rechner zyklisch abgefragt werden. Liegt die eigene Adresse an, so wird im Bereitschaftsfalle die Klemme B6 = 0 gesetzt, der Richtungsschalter gesperrt und der HALT-Zustand eingenommen. Eine Datenübertragung erfolgt in folgenden Schritten. Der Rechner mit Sendeabsicht prüft, ob der Bus besetzt ist (BUISY= BO= 0? ). Ist der Bus frei, besetzter ihn durch die Ausgabe B1 = BUISY = 0. Anschließend programmiert er die Ausgänge B2 bis B4 als Ausgänge und gibt die Zieladresse auf B2 bis B4aus. Nachdem der Empfänger erkannt hat, daß ein Transfergesuch vorliegt, quittiert er über die beiden Inverter mit ACK = 0 und geht in den HALT-Zustand. Der Zustand HALT = wird über den aktiven Richtungsschalter X.3 auf die Steuerbusleitung HALT gelegt. Hat der Rechner mit Sendeabsicht die Quittung ACK = Oam Eingang B 5 erkannt, setzt er seinerseits B 6 = Oundgehtebenfallsinden HALT-Zustand. Damit werden die Koppelstart-Schaltungen X.4 von Sender und Empfänger gleichzeitig gesetzt und bewirken über B 7 = 0 die parallele Auslösung der Unterbrechung in beiden Rechnern mit Unterprogramm gemäß organisierter Blockübertragung. Nach Abschluß der Blockübertragung werden die Klemmen B 2 bis B4 als Eingänge programmiert. Ferner werden die Ausgänge B1/BUISY und B6/ACK inaktiviert.

Claims (3)

Erfindungsanspruch:
1. Buskoppelanordnung für ein Mehrrechnersystem mit mehreren gleichberechtigt gekoppelten, aus gleicher Taktquelle gespeisten Mikrorechnern, die mindestens je einen Unterbrechungseingang, je einen den Software-Haltzustand signalisierenden Halt-Ausgang, mindestens je eine programmierbare Parallel-Ein-Ausgabe-Schnittstelle, sogenannte PEAS, über vorzugsweise Blockausgabe- und Blockeingabe- oder andere Aus- und Eingabebefehle gleicher Taktlänge und jeweils eigenen Speicherbereich verfügen, wobei die wahlweise als Ein- oder Ausgänge dienenden Klemmen eines ersten Tores der PEAS jedes Rechners an einem gemeinsamen Datenbus liegen, in Ausgänge der jeweils zweiten Tore an einen gemeinsamen Adreßbus und vier Klemmen der jeweils zweiten Tore an einen Steuerbus mit den Signalleitungen ACK, BUISY und HALT angeschlossen sind, ferner jeder Rechner über einen Adreßdekoder, einen Richtungsschalter und eine Koppelstartschaltung verfügt, gekennzeichnet dadurch, daß in jedem Rechner der Ausgang des die eigene Adresse erkennenden Adreßdekoders (X.2) an einen Anforderungseingang (RQ/B6 des zweiten Tores (B6) und an einen ersten Eingang des Richtungsschalters (X.3) geschaltet ist, dessen zweiter Eingang an dem HALT-Ausgang des Rechners und einem ersten Eingang der Koppelstartschaltung (X.4) liegt und dessen Ausgang mit der Steuerbusleitung HALT und einem zweiten Eingang der Koppelstartschaltung (X.4) verbunden sind, wobei ein dritter Eingang besagter Koppelstartschaltung (X.4) mit der gemeinsamen Steuerbusleitung ACK, einem Eingang (ACK/B4) und einem Ausgang (ACK/B5) des zweiten Tores (B) und deren Ausgang mit einem eine Unterbrechung auslösenden Eingang (INT/B7) des zweiten Tores (B) und über eine AND-Schaltung mit offenem Kollektor mit einer Klemme (A7) des ersten Tores (A) verbunden sind.
2. Buskoppelanordnung für ein Mehrrechnersystem nach Punkt 1 mit zyklischer Abfrage des Adreßbusses nach der eigenen Adresse durch den Rechner, gekennzeichnet dadurch, daß der Adreßdekoder (X.2) entfällt und die ACK-Ausgangsklemme (B6) von der Steuerbusleitung über zwei in Serie liegende Negatoren (N 1; N 2) entkoppelt ist, wobei der erste Eingang des Richtungsschalters (X.3) als auch der der Koppelstartschaltung (X.4) an der Verbindung zwischen diesen beiden Negatoren (N 1;N2) liegt.
3. Buskoppelanordnung für ein Mehrrechnersystem nach Punkt 1 gekennzeichnet dadurch, daß die Koppelstartschaltung (X.4) aus einem RS-Flipflop (RS-FF) besteht, dessen Setzeingang (S) an den Ausgang eines ersten Drei-Eingangsgatters (NAND1) liegt, wobei dessen erster Eingang negiert an den Rechnerausgang HALT, dessen zweiter an den Rechnerausgang (ACK/B5) und dessen dritter negiert an der Steuerbusleitung HALT geschaltet sind, wobei der Rücksetzeingang (R) des RS-Flipflop (RS-FF) über ein zweites Zwei-Eingangsgatter (NAND2) mit dem Rechnerausgang HALT und der Steuerbusieitung HALT verbunden ist, wobei der Q-Ausgang des RS-Flipflop (RS-FF), durch ein zentrales RESET auf „1" setzbar, mit dem Unterbrechungsauslösenden Eingang (INT/B7) des zweiten Tores (B) verbunden ist.
Hierzu 2 Seiten Zeichnungen
Anwendungsgebiet der Erfindung
Die Erfindung betrifft eine Buskoppelanordnung für ein Mehrrechnersystem mit mehreren gleichberechtigt zum Zwecke des Datenaustausches über ein Bussystem miteinander gekoppelten, gleichartigen, autonom arbeitenden, aus gleicherTaktquelle gespeisten Mikrorechnern mit jeweils eigenem Speicherbereich. Hauptanwendungsgebiete sind die Meß-, Steuer- und Regelungstechnik.
Charakteristik der bekannten technischen Lösungen
Durch die DE-AS 1524101 (siehe auch „Advanced Micro Devices: Product Selection Guide, 1978, S.4-44") ist es bekannt, daß Mikrorechner über gemeinsame Speicherbereiche oder mit Hilfe des Speicherdirektzugriffs (SDZ) gekoppelt werden. Bei solchen Speicherkopplungen wird die zu übertragende Information durch die zentrale Verarbeitungseinheit oder einen SDZ-Baustein aus einem Speicherbereich in einen anderen überschrieben, wobei sich stets eine zentrale Verarbeitungseinheit im Haltezustand befindet. Speicherkopplungen ermöglichen eine große Datenaustauschrate und sind universell und flexibel für verschiedene Kopplungsstrukturen einsetzbar. Mehrrechnerkopplungen mit spezialisierten Interface-Bausteinen sind aus der Kleinrechnertechnik bekannt (DE-OS 2534141). Für Mikrorechner wurden parallele und serielle hochintegrierte Interface-Bausteine entwickelt. In jedem Falle ist bei Mikrorechnerkopplungen eine Entkopplung der Mikrorechner vorzunehmen, was erhöhten Hardwareaufwand bedeutet. Bei Speicherkopplungen wird neben der Busentkopplung zusätzlich eine peripherieartige Kopplung für Steuersignale benötigt. In der DE-OS 2446970 sind mehrere unabhängig voneinander arbeitende Recheneinheiten über eine Schnittstelleneinheit mit einem gemeinsamen Speicher verbunden, wobei die Rangfolge der Recheneinheit beim Speicherzugriff durch eine Prioritätsbestimmungseinheit festgelegt wird. Bei dieser Kopplungsart erfolgt der Datenaustausch immer über den gemeinsamen Speicher. (IBM Technical Disclosure Bulletin Vol. 23 Nr. 1 Juni 1980 S. 334 ff.). Es sind weiterhin peripherieartige Kopplungen über spezielle Anschlußsteuerungen bekannt. Nach der DE-OS 2645341 ist dabei jeder Koppelstrecke zwischen zwei Recheneinheiten eine Koppelanordnung zugeordnet. Diese kann als kompakte selbständige Einheit ausgeführt oder jeder zu koppelnden Recheneinheit zugeordnet sein. Bei Anordnungen mit mehr als zwei Recheneinheiten lassen sich Mehrrechnersysteme in Ring- oder Sternstrukturen aufbauen. Durch die DD-PS 137627 ist eine Schaltkreisanordnung zur Kopplung von Mikrorechnern zu einem Mehrrechnersystem bekannt, bei dem alle beteiligten Rechner gleichberechtigt aktiv werden können und die die ausgewählte Recheneinheit in einen inaktiven Zustand versetzen kann, wobei der Rechnersystembus einer jeden Recheneinheit über in den Koppelgliedern enthaltene Bustreiber mit einem allen Koppelgliedern gemeinsamen Koppelbus verbunden ist. Der Koppelbus besteht hierbei aus dem Adreß-, Daten-, Steuerbus und dem Anforderungsbus.
DD27751885A 1985-06-19 1985-06-19 Buskoppelanordnung fuer ein mehrrechnersystem DD238463A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD27751885A DD238463A1 (de) 1985-06-19 1985-06-19 Buskoppelanordnung fuer ein mehrrechnersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD27751885A DD238463A1 (de) 1985-06-19 1985-06-19 Buskoppelanordnung fuer ein mehrrechnersystem

Publications (1)

Publication Number Publication Date
DD238463A1 true DD238463A1 (de) 1986-08-20

Family

ID=5568734

Family Applications (1)

Application Number Title Priority Date Filing Date
DD27751885A DD238463A1 (de) 1985-06-19 1985-06-19 Buskoppelanordnung fuer ein mehrrechnersystem

Country Status (1)

Country Link
DD (1) DD238463A1 (de)

Similar Documents

Publication Publication Date Title
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3043894C2 (de)
DE68928772T2 (de) Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit
DE3850585T2 (de) Datenverarbeitungssystem mit Überlappung von Buszyklusoperationen.
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE3650036T2 (de) Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung.
DE3689226T2 (de) Multiprozessorsystem mit multihierarchischen Ebenen.
DE3688363T2 (de) Unterbrechungsabwicklung in einem Multiprozessorrechnersystem.
DE3546683C2 (en) Operating communication bus network for processors
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE3204905C2 (de)
DE2944497C2 (de)
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3882991T2 (de) Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".
DE4142756A1 (de) Datenweg-einrichtung zur kopplung zweier busse
DE3909948A1 (de) Mikrocomputersystem mit mehrfachbus und buszuteilung
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
CH675781A5 (de)
DE69116954T2 (de) Prozessor für ein programmierbares Steuergerät
DD238463A1 (de) Buskoppelanordnung fuer ein mehrrechnersystem
DE3333847C2 (de)
EP0280767A2 (de) Verfahren zur Übertragung von Daten
DE112019007060B4 (de) Roboter
EP1430690B1 (de) Verfahren zum zugriff auf eine befehlseinheit für ein datennetz

Legal Events

Date Code Title Description
ENJ Ceased due to non-payment of renewal fee