CH634940A5 - Channel-adapter arrangement - Google Patents
Channel-adapter arrangement Download PDFInfo
- Publication number
- CH634940A5 CH634940A5 CH740778A CH740778A CH634940A5 CH 634940 A5 CH634940 A5 CH 634940A5 CH 740778 A CH740778 A CH 740778A CH 740778 A CH740778 A CH 740778A CH 634940 A5 CH634940 A5 CH 634940A5
- Authority
- CH
- Switzerland
- Prior art keywords
- channel
- address
- processor
- connection
- processors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Description
**WARNUNG** Anfang DESC Feld konnte Ende CLMS uberlappen **.
PATENTANSPRÜCHE
1. Kanaladapter-Anordnung zur gegenseitigen Verbindung von Datenverarbeitungs-Prozessoren über ihre Eingabe/Ausgabe-Kanäle, gekennzeichnet durch: - eine Mehrzahl von Anschlüssen (41,43,45,47), deren jeder mit einem EIA-Kanal eines ihm zugeordneten von mehre ren Prozessoren verbunden ist, - eine Mehrzahl von den Anschlüssen einzeln zugeordneten Steuereinrichtungen (42,44,46,48) mit Schaltungen zum Feststellen des Empfangs jeweils einer von mehreren vorgegebenen Eingabe/Ausgabe-Adressen, - Verbindungsschaltungen (50) zur wahlweisen Herstellung verschiedener Datentransferverbindungen zwischen den Anschlüssen, sowie - eine Hauptsteuereinheit (51,52), welche mit den Anschluss-Steuereinrichtungen verbunden ist und jeweils nach Empfang der gleichen E/A-Adresse an zwei Anschlüssen die Herstellung einer Datentransferverbindung zwischen den betreffenden Anschlüssen durch die Verbindungsschaltungen bewirkt.
2. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass die Hauptsteuereinheit (51,52) aufgrund des Empfangs einer bestimmten E/A-Adresse an zwei Anschlüssen eine Datentransferverbindung zwischen diesen in nur einer bestimmten Richtung bewirkt, und dass sie aufgrund des Empfangs einer anderen bestimmten E/A-Adresse an den betreffenden beiden Anschlüssen eine Datentransferverbindung in der umgekehrten Richtung bewirkt.
3. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass zur Hauptsteuereinheit (51,52) gehören: - eine Speichereinrichtung (52, 52x, 68a) zur Speicherung von Angaben über den Empfang von E/A-Adressen und die empfangenden Anschlüsse, - Einrichtungen (51) zum Löschen der Angaben, die eine bestimmte Verbindung betreffen, nach Herstellung dieser Verbindung.
4. Anordnung nach Patentanspruch 3, gekennzeichnet durch: - eine Auswerteeinrichtung (68), welche mit der Speichereinrichtung in Verbindung steht und nach Empfang einer bestimmten EIA-Adresse feststellen kann, ob und an welchem Anschluss die gleiche E/A-Adresse vorher empfangen wurde, und - Schaltungseinrichtungen (84,85,64,65, 31d), über welche bei Vorliegen einer Angabe über den vorherigen Empfang der gleichen EIA-Adresse an die beiden betreffenden Anschlüsse entsprechende Nachrichten übertragen werden können, um in den angeschlossenen E/A-Kanälen die erforderlichen Datentransferoperationen zu bewirken, und über welche bei Fehlen einer Angabe über den vorherigen Empfang der gleichen E/A-Adresse eine entsprechende Nachricht an den einen betreffenden Anschluss übertragen werden kann, um im angeschlossenen E/A-Kanal die zugehörige Datentransferoperation vorübergehend zu unterbinden.
5. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass die Verbindungseinrichtungen (50) eine Wählschalteranordnung (62,77,80,82) beinhalten, welche die Zugangsleitungen (31 a) eines jeden Anschlusses mit den Abgangsleitungen (31c) aller anderen Anschlüsse wahlweise verbinden kann.
6. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass alle Anschluss-Steuereinrichtungen (42,44,46, 48) den Empfang der gleichen vorgegebenen E/A-Adressen feststellen können, wobei die Anzahl dieser vorgegebenen EIA-Adressen mindestens gleich der Anzahl betriebsbereiter Anschlüsse (41,43,45,47) ist.
7. Anordnung nach Patentanspruch 1, gekennzeichnet durch - eine Speichereinrichtung (52, 52x, 68a), in welcher jeder der bestimmten E/A-Adressen ein Speicherplatz zugeordnet ist, und - Einrichtungen (68), um nach Empfang einer bestimmten E/A-Adresse in den zugeordneten Speicherplatz Angaben einzuschreiben zur Identifizierung des Anschlusses, an dem die Adresse empfangen wurde.
8. Verfahren zum Betrieb der Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass - die Anschlüsse mit je einem Blockmultiplexerkanal eines Datenverarbeitungs-Prozessors verbunden werden, wobei - einer von je zwei Kanälen, die über eine bestimmte E/A-Adresse miteinander zu verbinden sind, für diese ein Kanalprogramm enthält mit einem Synchronisationsbefehlswort, das mit einem Lesebefehlswort verkettet ist, - der andere dieser beiden Kanäle für die bestimmte E/A-Adresse ein Kanalprogramm enthält mit einem Synchronisationsbefehlswort, das mit einem Schreibebefehlswort verbunden ist, und wobei - nach Empfang einer E/A-Adresse an einem Anschluss und Fehlen einer Angabe über den vorherigen Empfang dieser E/A-Adresse der betreffende Kanal vom Kanaladapter getrennt und das betreffende Kanalprogramm vorübergehend suspendiert wird, und - nach Empfang einer E/A-Adresse an einem Anschluss und Feststellung des vorhergehenden Empfangs der gleichen E/A-Adresse an einem anderen Anschluss das Kanalprogramm des mit dem letzteren Anschluss verbundenen Kanals wiederaufgenommen und in beiden Kanälen der verkettete Lese- bzw.
Schreibvorgang zur Bewirkung des Datentransfers ausgeführt wird.
Die vorliegende Erfindung betrifft eine Kanaladapter Anordnung, mit deren Hilfe mehrere Datenverarbeitungsprozessoren über ihre Eingabe/Ausgabe-Kanäle zum Datenaustausch miteinander verbunden werden.
Zur Verbindung von Prozessoren bzw. Datenverarbeitungssystemen über ihre E/A-Kanäle sind bereits zahlreiche Anordnungen in Betrieb, sowie weitere Lösungen vorgeschlagen worden. Entsprechende Beschreibungen enthalten u.a. die folgenden Publikationen und Patente: USA-Patent 3400372 IBM Technisches Handbuch IBM System/360 Special Feature: Channel-to-Channel Adapter . Februar 1968, Bestell-Nr.
GA 22-6892 IBM Technisches Handbuch: IBM System/370 Special Feature Description: Channel-to-Channel Adapter . März 1972, Bestell-Nr. GA 22-6983 R Cormier et al.: Channel-to-Channel Adapter for I/O Interface Switching . IBM Techn. Disclosure Bulletin, März 1971, pp.2951-2952.
Mj. Mitchell, H.L. Page: Channel-to-Channel Adapter for Linking two Data Processors . IBM Techn. Disclosure Bulletin, August 1976, pp. 847-848 Mj. Mitchell, H.L. Page: Processor-to-Processor Communications Mechanism . IBM Techn. Disclosure Bulletin, August 1976, pp. 849-852.
Weitere Anordnungen zur gegenseitigen Verbindung von Prozessoren in DV-Systemen sind in folgenden Patenten bzw.
Publikationen beschrieben: USA-Patent 3 735365 USA-Patent 3 753234 USA-Patent 3984819 USA-Patent 3988716
USA-Patent 3916380 S.H. Lavington et al. The MUS Multicomputer Communication System .
IEEE Trans. on Computers, Januar 1977, pp. 19-28.
Koordinaten- bzw. Matrixschalter zur Verbindung verschiedener Moduln bzw. zur wahlweisen Anschaltung von Eingabe- und Ausgabegeräten in Datenverarbeitungsanlagen sind u.a. aus folgenden Patenten bekannt: USA-Patent 3372378 USA-Patent 3581 286 USA-Patent 3601 807 USA-Patent 3725864 Der vorliegenden Erfindung liegt die Aufgabe zugrunde, einen Kanaladapter zur Verbindung von Prozessoren zu schaffen, der gegenüber den bekannten Einrichtungen noch Verbesserungen aufweist und effizienter arbeitet, und der vor allem für die wahlweise gegenseitige Verbindung einer Vielzahl von Prozessoren über deren Eingabe/Ausgabe-Kanäle geeignet ist.
Der Gegenstand der Erfindung ist im Patentanspruch 1 angegeben.
Mit der erfindungsgemässen Kanaladapter-Anordnung kann im Vergleich zu den bisher benutzten Kanaladaptern eine nennenswerte Reduktion der erforderlichen Programmschritte beim Datenaustausch zwischen Prozessoren erreicht werden.
Ausserdem wird ein E/A-Kanal eines Prozessors bei Verzögerungen im Datenaustausch infolge Nichtverfügbarkeit des E/A-Kanals eines anderen Prozessors vorübergehend wieder freigegeben, d.h. die Kanäle sind für die Inter-Prozessorverbindungen im Durchschnitt weniger lange besetzt als bei den jetzt benutzten Kanaladaptern. Kann dann schliesslich die Verbindung hergestellt werden, so ist im ersten Prozessor keine Unterbrechungsoperation notwendig.
Ausführungsbeispiele der Erfindung werden im folgenden anhand von Zeichnungen beschrieben.
Es zeigen:
Fig. 1 schematisch in Blockform ein erstes Ausführungsbeispiel der Erfindung,
Fig. 2 den inneren Aufbau des erfindungsgemässen synchronisierenden Kanaladapters der Fig. 1, Fig. 3 schematisch in Blockform ein zweites Ausführungsbeispiel der Erfindung zur Verbindung von vier Prozessoren,
Fig. 4 und 5 Tabellen zur Erklärung der verschiedenen Betriebsarten des in Fig. 3 gezeigten Kanaladapters,
Fig. 6 den inneren Aufbau des in Fig. 3 gezeigten Kanaladapters,
Fig. 7 Einzelheiten der in Fig. 6 gezeigten Steuertabelle,
Fig. 8 Schaltungseinzelheiten der Anschlusssteuerungen der Fig. 6, Fig. 9 Schaltungseinzelheiten der Hauptsteuerung der Fig. 6,
Fig. 10 Schaltungseinzelheiten des Wählschalters der Fig. 6, Fig. 11 und 12 in Tabellen Erklärungen einer weiteren möglichen Betriebsart des in Fig. 6 gezeigten Adapters und
Fig. 13 eine andere Art von Steuertabelle zur Verwendung bei der in den Fig. 11 und 12 dargestellten Betriebsart.
Beschreibung eines Ausführungsbeispieles für zwei Prozessoren
In Fig. list ein synchronisierender Kanaladapter (SCCA) zur Verbindung zweier Datenverarbeitungs-Prozessoren A und B gezeigt. Der gegenwärtig von der IBM vertriebene Kanaladapter für das System/370 stellt eine Datenübertragungsverbindung zwischen einem Prozessor 1 und einem Prozessor 2 her. Er belegt eine Position in einem Kanal des Prozessors 1 und eine in einem Kanal des Prozessors 2. Daten werden zwischen den Prozessoren bewegt, wenn von dem Prozessor auf der einen Seite des Adapters ein Schreibbefehl gegeben wird und vom Prozessor auf der anderen Seite ein Lesebefehl. Die Richtung der Datenübertragung hängt davon ab, welcher Prozessor den Schreibbefehl und welcher den Lesebefehl gibt. Die Daten bewegen sich von dem Prozessor, der den Schreibbefehl gibt, zu demjenigen, der den Lesebefehl gibt.
Wenn z.B. der Prozessor 1 eine Nachricht an den Prozessor 2 senden will, dann gibt der Prozessor 1 einen Steuerbefehl, der von dem bekannten Adapter des Systems/370 aufgenommen und festgehalten wird. Der Prozessor 1 wird dann vom Adapter getrennt und arbeitet normal weiter. Der Empfang des Steuerbefehls im Adapter erzwingt eine Unterbrechung für den Prozessor 2. Dieser gibt jetzt einen Abfragebefehl an den Adapter, um die ausstehende Steuerinformation zu bekommen. Mit dieser Information kann festgestellt werden, ob ein komplementierender Lese- oder Schreibbefehl gegeben werden soll. Der Prozessor 2 gibt dann den entsprechenden Komplementierungsbefehl. Wenn der Abfragebefehl am Adapter empfangen wird, erzwingt der Adapter einen Gerät-Ende-Status für den Prozessor 1 und dadurch eine Befehlsverkettung zu einem Schreibbefehl.Wenn der Schreibbefehl vom Prozessor 1 und der Lesebefehl vom Prozessor 2 schliesslich am Adapter festgestellt wurden, findet die Datenübertragung statt.
Im Vergleich dazu gestattet der neue Adapter 10 die Kommunikation zwischen den Prozessoren ohne den im heutigen Adapter des Systems/370 erforderlichen Überhang an Unterbrechungen und nachfolgenden Abfragebefehlen. In dem neuen Kanaladapter SCCA 19 sind diese Befehle und die heute noch damit zusammenhängenden erforderlichen Schritte also überflüssig. Ausserdem wird durch den neuen Kanaladapter SCCA 10 die Kanalbelegungszeit dadurch sehr kurz gehalten, dass die Kanäle so synchronisiert werden, dass Datenübertragungsbefehle (Lese- und Schreibbefehle) nur aktiviert werden, wenn beide Prozessoren tatsächlich auf die Datenübertragung vorbereitet sind. Ein weiteres Problem beim heutigen Adapter tritt auf, wenn beide Prozessoren nicht-komplementierende Befehle abgeben.In diesem Fall wird einer der Befehle an den Prozessor zurückgegeben und von diesem dann der entsprechende Komplementbefehl ausgegeben. Dieser Vorgang wird beim neuen Kanaladapter SCCA 10 vermieden.
Nach Darstellung in Fig. 1 enthält jeder der Prozessoren A und B eine Zentraleinheit (CPU) und einen Eingabe/Ausgabe Kanal. Der E/A-Kanal des Prozessors A ist mit einem ersten Anschluss des Kanaladapters SCCA über ein mehradriges E/A-Schnittstellenkabel 11 verbunden. Entsprechend ist der Prozessor B mit einem zweiten Anschluss des SCCA 10 über ein mehradriges E/A-Schnittstellenkabel 12 verbunden. Jedes der E/A-Schnittstellenkabel 11 und 12 kann wieder mit verschiedenen E/A-Steuerungen und diese wiederum mit verschiedenen E/A-Geräten verbunden sein, die beide nicht dargestellt sind.Die E/A-Kanäle, an die der SCCA 10 angeschlossen ist, sollten sogenannte Blockmultiplexorkanäle in dem Sinne sein, als sie die Möglichkeit haben sollten, sich vom SCCA 10 oder einer anderen an ihr Schnittstellenkabel angeschlossenen Steuerung zu trennen, zwischen dem Auftreten der Signale Kanal Ende (CE) und Gerät Ende (DE) für ein gegebenes Kanalbefehlswort (CCW).
Der Kanaladapter SCCA 10 kann bis zu 256 verschiedene Adressen für E/A-Geräte erkennen. Jeder der Prozessoren A und B benutzt dieselben Geräteadressen zur Kommunikation mit dem SCCA 10. Die Adressen werden für diese Kommunikation vorher ausgewählt und reserviert. Ausserdem kommen beide Prozessoren A und B per Programm dahin überein, dass bestimmte SCCA-Geräteadressen Datenübertragungen von Prozessor A zum Prozessor B und andere Geräteadressen Datenübertragungen vom Prozessor B zum Prozessor A bedeuten. Nach Darstellung in Fig. 1 sind für die symmetrische oder bidirektional Operation zwischen zwei Prozessoren zwei Geräteadressen erforderliche. Für das in Fig. 1 gezeigte Beispiel wird die Geräteadresse 01 nur für Datenübertragungen vom Prozessor A zum Prozessor B verwendet und die Geräteadresse 02 nur für Datenübertragungen vom Prozessor B zum Prozessor A.
Zur Kommunikation mit dem Kanaladapter SCCA 10 werden im vorliegenden Ausführungsbeispiel ausserdem zwei neue Kanalbefehlswörter verwendet, um den Betrieb des SCCA 10 mit dem Betrieb der Datenprozessoren zu synchronisieren.
Einer dieser neuen Befehle ist ein Schreibsynchronisationsbefehl (SYNCW), der vor jedem Datenübertragungsschreibbefehl für den Kanal stehen und mit diesem verkettet sein sollte.
Der andere ist ein Lesesynchronisationsbefehl (SYNCR), der vor jedem Datenübertragungslesebefehl für den Kanal stehen und mit diesem verkettet sein sollte.
Fig. 1 zeigt eine typische Anwendung dieser Synchronisationsbefehle. Prozessor A enthält ein erstes Kanalprogramm für die Geräteadresse 01 und ein zweites Kanalprogramm für die Geräteadresse 02. Das Kanalprogramm 01 enthätl ein erstes Kanalbefehlswort (CCW-1), das einen SYNCW-Befehl enthält und mit einem zweiten Kanalbefehlswort (CCW-2) verkettet ist, das einen Schreibbefehl enthält. Das Kanalprogramm 02 im Prozessor A enthält ein erstes CCW, das einen SYNCW Befehl enthält und ein zweites CCW, das damit verkettet ist und einen Lesebefehl enthält. In ähnlicher Weise enthält der Prozessor B ein erstes Kanalprogramm für die Geräteadresse 01 und ein zweites Kanalprogramm für die Geräteadresse 02.In diesem Fall enthält jedoch das Programm 01 einen SYNCR Befehl, der mit einem Lesebefehl verkettet ist, während das Programm 02 einen SYNCW-Befehl enthält, der mit einem Schreibbefehl verkettet ist.
Wenn eine Berücksichtigung der zu übertragenden Daten notwendig ist, kann jedes der Programme mit der Adresse 01 in Fig. 1 weitere Schreib- und Lesebefehle enthalten, die entweder befehlsverkettet oder datenverkettet sind mit den entsprechenden Befehlen (CCW) zum Lesen und Schreiben. Das gilt auch entsprechend für die Kanalprogramme mit der Adresse 02.
Für jeden der Prozessoren A und B erscheint der Kanaladapter SCCA 10 nur als eine weitere E/A-Steuerung. Die für diesen Zweck verwendeten Kommunikationsfolgen sind im einzelnen an anderer Stelle beschrieben und werden hier nicht wiederholt. Hier genügt die Feststellung, dass jeder Prozessor eine Eingabe/Ausgabe-Operation für eine bestimmte Geräteadresse dadurch beginnt, dass er mit der üblichen Anfangswahlfolge für das erste CCW des Kanalprogramms für diese Geräteadresse anfängt. Als ersten Schritt in dieser Anfangswahlfolge sendet der Prozessor auf sein Schnittstellenkabel die betreffende Geräteadresse. Die Steuerung (oder der SCCA 10), welche diese Geräteadresse erkennt, verriegelt dann den Prozessorkanal auf diese Adresse und teilt dem Prozessor die Annahme der Geräteadresse mit.Der Prozessor sendet dann den im ersten CCW enthaltenen Kanalbefehl an die Steuerung (oder den SCCA 10), die nach dem Empfang eine Zustandsnachricht an den Prozessor zurückgibt.
Zur Kommunikation mit dem SCCA 10 ist der erste von einem gegebenen Prozessor abgesendete Kanalbefehl entweder SYNCW oder SYNCR. Der abgebende Prozessor kennt jedoch keinen Unterschied zwischen den beiden Operationen.
Er gibt lediglich den Kanalbefehl im ersten CCW in üblicher Weise ab.
Wenn der Kanaladapter SCCA 10 den Synchronisationsbefehl erkennt (entweder SYNCW oder SYNCR), stellt er zuerst fest, ob ein komplementärer Synchronisationsbefehl für dieselbe Geräteadresse von der anderen Kanalseite vorliegt.
Wenn die Antwort nein lautet, dann gibt der SCCA 10 die Anzeige Kanal Ende in seine Anfangswahlstatusnachricht und signalisiert dem den Synchronisationsbefehl gebenden Prozessor, dass er sich von dem SCCA 10 zu trennen hat. Gleichzeitig verzeichnet der SCCA 10 die Geräteadresse und den Prozessor, denen er seine Statusnachricht Gerät Ende schuldet. Aufgrund der Statusnachricht Gerät Ende und des Trennungssignales setzt der diese Signale empfangende Prozessor das infragekommende Kanalprogramm vorübergehend aus, der E/A-Kanal wird frei ( nicht belegt ), und der Instruktionsstrom im Prozessor geht mit anderen Aufgaben weiter. Trennung und Aussetzen des Kanalprogrammes erfolgen auf die übliche Art für einen Blockmultiplexerkanal, an den der SCCA 10 angeschlossen ist.Der SCCA 10 gibt an den Prozessor mit dem ausgesetzten Kanalprogramm nur dann den Status Gerät Ende zurück und aktiviert das ausgesetzte Kanalprogramm neu, wenn ein komplementärer Synchronisationsbefehl hinterher für dieselbe Geräteadresse, aber von der anderen Kanalseite des SCCA 10 empfangen wird.
Wenn der SCCA 10 einen Synchronisationsbefehl erkennt, nachdem ein Synchronisationsbefehl für dieselbe Geräteadresse von der anderen Kanalseite empfangen wurde und im SCCA 10 noch aussteht, gibt der SCCA 10 die Anzeige Kanal Ende und die Anzeige Gerät Ende in seiner Anfangswahlstatusnachricht an den Prozessor zurück, der den neu angekommenen Synchronisationsbefehl abgab. Die Anzeige Geräte Ende veranlasst diesen Prozessor, die Kanalverbindung mit dem SCCA 10 aufrechtzuerhalten. Gleichzeitig wird der Status Gerät Ende an den Prozessor, der den ersten Synchronisationsbefehl abgab, gesendet, um das dort ausgesetzte Kanalprogramm wieder zu aktivieren.Durch Absenden des Statussignales Geräte Ende an die beiden Prozessoren wird in jedem Prozessor eine Kommandoverkettung zum zweiten CCW im entsprechenden Kanalprogramm für diese Geräteadresse ausgelöst Daraufhin gibt jeder Prozessor den in seinem zweiten CCW enthaltenen Kanalbefehl ab. Wenn diese beiden nächsten Kanalbefehle die richtigen Komplementbefehle Lesen und Schreiben sind, wird die Ausführung dieser Befehle direkt ohne weitere Programmschritte angefangen und die Daten übertragen. Für diese Datenübertragungsphase der Operation arbeitet der SCCA 10 im wesentlichen genauso wie der bisher bekannte Kanaladapter des IBM Systems/370.
Das gleiche Ergebnis, das für das Ausführungsbeispiel mit zwei Prozessoren in Fig. 1 beschrieben ist, lässt sich mit einem neuen Synchronisationsbefehl (SYNC) anstelle der beiden Befehle SYNCW und SYNCR erreichen. Das heisst mit anderen Worten, Kanalprogramme können vorübergehend ausgesetzt werden, ohne dass die Prozessoren oder der SCCA 10 vorher weiss, welche Art von Datenübertragungsbefehl mit dem Synchronisationsbefehl verkettet ist. Die Benutzung zweier unterschiedlicher Synchronisationsbefehle (SYNCR und SYNCW) bietet jedoch in dem noch zu beschreibenden Betrieb mit mehreren Prozessoren eine gewisse Flexibilität.Im Interesse der Einheitlichkeit und um darzulegen, dass die zwei unterschiedlichen Synchronisationsbefehle ein für beide Fälle gültiges System bilden, werden die unterschiedlichen Synchronisationsbefehle SYNCR und SYNCW auch in Verbindung mit dem in Fig. 1 gezeigten Ausführungsbeispiel beschrieben.
In Fig. 2 ist im einzelnen der interne Aufbau des Kanaladapters SCCA 10 für zwei Prozessoren dargestellt. Das mehradrige E/A-Schnittstellenkabel 11 ist über einen ersten Anschluss 20 und eine interne mehradrige Sammelleitung (Busleitung) 21 jeweil mit einer Datenübertragungssteuerung 22, einer Anschlusssteuerung 23 und einem Mikroprozessor 24 verbunden. Auf ähnliche Weise ist das zweite E/A-Schnittstellenkabel 12 über einen zweiten Anschluss 25 und eine zweite interne Sammelleitung (Busleitung) 26 mit der Datenübertragungssteuerung 22, dem Mikroprozessor 24 und einer zweiten Anschlusssteuerung 27 verbunden. Eine Mehradresssteckkarte 28 ist mit jeder der Anschlusssteuerungen 23 bzw. 27 verbunden und liefert dorthin Adressenangaben, welche die E/A-Geräteadressen definieren, die für die Kommunikation mit dem SCCA 10 gültig sind, oder mit anderen Worten die vorgegebenen Geräteadressen, die vom SCCA 10 zu erkennen sind. Die Mehradresssteckkarte 28 ermöglicht eine Änderung der gültigen SCCA-Adressen entsprechend den E/A-Geräteforderungen der jeweiligen Prozessoren.
Vier einzelne Signalspeicherelemente im Mikroprozessor 24 sind zum Speichern der Angaben für die vorgegebenen oder gültigen SCCA-Geräteadressen reserviert, die von den Anschlüssen 20 und 25 empfangen werden. Diese Speicherelemente sind bezeichnet mit SW1, SR1, SW2 und SR2 und können die Form von bistabilen Kippgliedern, Registerpositionen, Speicherstellen oder dergleichen haben, abhängig von dem jeweils verwendeten Mikroprozessor. Im einfachsten Falle ist jedes dieser Speicherelemente ein Ein-Bit-Speicherelement, das eingeschaltet wird, wenn eine Anzeige für das Auftreten eines bestimmten Synchronisationsbefehles für eine bestimmte Geräteadresse aufzuzeichnen ist. Das Speicherelement SWI wird z.B. eingeschaltet, wenn der Befehl SYNCW für die Adresse 01 aufzuzeichnen ist.Die Einschaltung besagt also, dass die Adresse 01 von einem der Anschlüsse empfangen wurde und der zu dieser Adresse gehörende Kanalbefehl ein Befehl SYNCW war.
Jeder der Anschlusssteuerungen 23 und 27 behandelt den Anfangsteil der Anfangswahlfolge für das Schnittstellenkabel, an das sie angeschlossen ist. Für das E/A-Schnittstellenkabel 11 beispielsweise untersucht die Anschlusssteuerung 23 die vom Prozessor A gegebene Geräteadresse, um festzustellen, ob es eine gültige SCCA-Adresse ist, die von der Mehradresssteckkarte 28 genehmigt wird. Wenn eine gültige Geräteadresse durch die Anschlusssteuerung 23 erkannt wird, aktiviert die Steuerung die betreffende Kennzeichenleitung auf dem E/A-Schnittstellenkabel 11, um den Kanal für den Prozessor A für den SCCA 10 ausschliesslich zu verriegeln. Dann gibt die Steuerung die erkannte Geräteadresse an den Kanal für den Prozessor A und sendet eine Verzweigungsanforderungsnach richt an den Mikroprozessor 24.Der Mikroprozessor 24 notiert dann die Geräteadresse und den nachfolgenden auf dem E/A-Schnittstellenkabel 11 gesendeten Kanalbefehl. Wenn keines der Mikroprozessor-Speicherelemente für diese Geräteadresse eingeschaltet ist (d.h. Speicherelemente SW1 und SR1), schaltet der Mikroprozessor 24 das betreffende Speicherelement ein. In diesem Fall sendet der Mikroprozessor 24 eine Statusnachricht Kanal Ende an den Prozessor A.
Wenn andererseits das andere Speicherelement für diesselbe Geräteadresse eingeschaltet ist, sendet der Mikroprozessor 24 an den Prozessor A eine Statusnachricht, die die beiden Anzeigen Kanal Ende und Gerät Ende enthält. Gleichzeitig damit sendet er eine Statusnachricht mit einer Anzeige Gerät Ende an den anderen Prozessor B. Der Mikroprozessor 24 gibt dann Signale an die Datenübertragungssteuerung 22, damit diese die Datenübertragungen vorbereitet. Die eigentliche Datenübertragung beginnt, wenn die Datenübertragungssteuerung 22 die komplementierenden Befehle Lesen und Schreiben empfängt.Die Datenübertragungssteuerung 22 arbeitet danach genauso wie der entsprechende Teil des bekannten Kanaladapters im System/370 und überträgt Daten byteweise vom Prozessor A zum Prozessor B oder umgekehrt, abhängig davon, welcher Prozessor den Schreib-Befehl und welcher den Lese-Befehl gegeben hat.
Nachdem die Datenübertragung beendet ist, sendet die Datenübertragungssteuerung 22 ein Signal Daten Ende an den Mikroprozessor 24, der dann die Steuerung übernimmt und die Endfolge für die E/A-Operation ausführt. Ausserdem stellt er die beiden Speicherelemente für die Geräteadresse zurück, die für die soeben beendete Datenübertragung benutzt wurde.
Normalerweise arbeitet der Kanaladapter SCCA 10 im sogenannten Nachrichtensendebetrieb, in dem die Prozessoren durch Nachrichtenübermittlung kommunizieren. Der Prozessor A sendet eine Nachricht an den Prozessor B und dieser eine Nachricht an den Prozessor A zurück usw. In dieser Betriebsart setzt jeder Prozessor seine Lese-Adresse, sobald wie praktisch möglich, in einen zum Lesen synchronisierten Zustand.
Der Prozessor A gibt also sobald wie möglich die Instruktion Start E/A für die Geräteadresse 02. Dadurch wird das Kanalprogramm 02 aufgerufen und der Befehl SYNCR gegeben.
Daraufhin gibt der SCCA 10 höchstwahrscheinlich nur das Statussignal Kanal Ende, um das Kanalprogramm 02 im Prozessor A vorübergehend auszusetzen. Das Programm 02 im Prozessor A wird dadurch in den gewünschten zum Lesen synchronisierten Zustand versetzt. Genauso gibt der Prozessor B sobald wie möglich die Instruktion Start E/A für die Geräteadresse 01.
Dadurch soll jede Geräteadresse immer im synchronisierten Lesezustand gehalten werden, ausgenommen die Adresse für eine tatsächlich ablaufende Datenübertragung. Somit ist jede Geräteadresse immer vorbereitet, falls der Prozessor auf der anderen Seite des SCCA 10 eine Nachricht senden will. Wenn ein Prozessor eine Nachricht senden will, gibt er eine Instruktion Start E/A für seine Schreib-Adresse. Dadurch wird das Kanalprogramm aufgerufen, das den Befehl SYNCW enthält, und an den SCCA 10 gesendet.
Betrachtet man die normale Schrittfolge beispielsweise für die Geräteadresse 01 genauer, so bewirkt der Prozessor B ein ausgesetztes Kanalprogramm, das ein Kanalbefehlswort (CCW) SYNCR enthält, welches mit einem Kanalbefehlswort (CCW) lesen verkettet ist Das Kanalbefehlswort (CCW) Lesen gibt die Hauptspeicherstelle des Prozessors an, die als Empfangsspeicherbereich für die nachfolgende Datenübertragung vom Prozessor A zum Prozessor B benutzt wird. Wenn die Instruktion Start E/A vom Prozessor B für diese Geräteadresse 01 gegeben wird, arbeitet der Kanaladapter SCCA 10 wie oben beschrieben. Im einzelnen empfängt der SCCA 10 den vom Prozessor B als Ergebnis der Instruktion Start E/A für die Geräteadresse 01 gegebenen Befehl SYNCR. Der SCCA 10 erzwingt dann eine Kanaltrennung, während er das Statussignal Kanal Ende zurückgibt.Im Speicherelement SR1 des Mikroprozessors 24 verzeichnet der SCCA 10 dann den Empfang des Befehles SYNCR vom Prozessor B für die Geräteadresse 01. Der Kanal des Prozessors B geht dann in den unbelegten Zustand, und der Instruktionsstrom im Prozessor B läuft mit anderen Aufgaben weiter. Der Kanal für den Prozessor B enthält jetzt ein ausgesetztes Kanalprogramm für die Geräteadresse 01.
Bis jetzt ist auf seiten des Prozessors A noch nichts geschehen. Schliesslich will der Prozessor A aber eine Nachricht an den Prozessor B senden. Das Kanalprogramm im Prozessor A, das für die Abgabe dieser Nachricht benutzt wird, ist nach Darstellung in Fig. 1 ein Kanalbefehlswort (CCW) mit Befehl SYNCW, das mit einem Kanalbefehlswort (CCW) für Schreiben gekoppelt ist. Das Datenadressfeld des Kanalbefehlswortes (CCW) Schreiben zeigt auf eine Hauptspeicherstelle im Prozessor A, die die zu sendende Nachricht enthält. Der Prozessor A leitet eine Nachrichtensendefolge ein durch Abgabe der Instruktion Start E/A für die Geräteadresse 01. Damit wird das gerade beschriebene Kanalprogramm 01 aufgerufen. Wenn der Kanaladapter SCCA 10 den Befehl SYNCW empfängt, reagiert er genauso, wie es oben für den Fall beschrieben ist, in dem ein zweiter SYNC-Befehl für dieselbe Geräteadresse empfangen wird. Im einzelnen wird der Befehl SYNCW vom SCCA 10 angenommen. Der SCCA 10 hält die Verbindung zum Prozessor A durch Rückgabe der Statussignale Kanal Ende und Gerät Ende bei der ersten Wahl. Ausserdem gibt der SCCA 10 an den Prozessor B das Signal Gerät Ende zurück. Da die Kanäle auf beiden Seiten des SCCA 10 jetzt das Signal Gerät Ende empfangen haben und eine Befehlsverkettung angezeigt ist, verketten die Kanäle zu ihrem zweiten CCW und geben die komplementierenden Befehle Schreiben und Lesen. Die gewünschten Datenübertragung vom Prozessor A zum Prozessor B findet dann statt.
Wenn im obigen Beispiel angenommen wird, dass der Prozessor A gerade eine Nachricht an den Prozessor B gesendet hat und der Prozessor B die Nachricht noch nicht verarbeitet hat und der Prozessor A eine neue Nachricht senden will, dann gibt der Prozessor A die neue Instruktion Start E/A an die
Geräteadresse 01, und der Kanaladapter SCCA 10 trennt den
Prozessor A mit einem ausstehenden Kanalprogramm. Der
Prozessor A arbeitet dann mit anderen Aufgaben weiter und sein Kanal ist jetzt frei. Wenn der Prozessor B schliesslich zum
Empfang einer neuen Nachricht bereit ist, gibt er eine neue
Instruktion Start E/A für die Geräteadresse 01. Der vom Prozessor B resultierende Befehl SYNCR löst beim Empfang am
SCCA 10 die Abgabe des Signales Gerät Ende an den Prozes sor A aus. Beide Kanäle veketten jetzt zu den Datenübertragungsbefehlen, und die neue Nachricht wird gesendet.Wenn dieselbe Situation bei dem Kanaladapter des IBM Systems/370 eintritt, würde der Schreib-Befehl des Prozessor A den Kanal des Prozessors A belegt halten, bis der Prozessor B schliesslich den richtigen komplementierenden Befehl gegeben hat.
Die obige Operation verläuft für die zweite benutzte Gerä eadresse für den SCCA 10 symmetrisch. Sie ist in dem in Fig. 1 gezeigten Beispiel die Geräteadresse 02.
Da der Kanaladapter SCCA 10 für die volle Synchronisation sorgt, gibt es keinen Wettbewerb mit möglichem Operationsabbruch, in dem der Prozessor A und der Prozessor B beide versuchen zu schreiben. Bei dem Kanaladapter des IBM Systems/370 würde andererseits ein Schreibbefehl zurückge wiesen und das Betriebssystem in dem betreffenden Prozessor statt dessen den richtigen komplementierenden Lesebefehl geben. Der SCCA 10 vermeidet diese Situation dadurch, dass jedes Kanalprogramm den Datenübertragungsbefehl nur wei ter fortführen darf, wenn die entsprechenden Kanalprogramme auf beiden Seiten des SCCA 10 dafür richtig bereit sind, d.h. nur wenn die Befehle SYNCW und SYNCR von den entsprechenden Prozessoren für dieselbe Geräteadresse emp fangen wurden.
Wenn als Beispiel für diese Wettbewerbssituation ange nommen wird, dass im Prozessor A ein SYNCR-Befehl für die Geräteadresse 02 aussteht (vom Kanal getrennt, aber befehlsverkettet mit einem Lesebefehl), während im Prozessor B ein
SYNCR-Befehl für die Geräteadresse 01 aussteht (vom Kanal getrennt, aber befehlsverkettet mit einem Lesebefehl), dann ist der Wettbewerbsfall zu betrachten, in dem beide Prozessoren A und B eine Nachrichtenübertragung gleichzeitig zu dem jeweils anderen Prozessor einleiten. In diesem Fall gibt der
Prozessor A die Instruktion Start E/A für einen SYNCW
Befehl für die Geräteadresse 01, während der Prozessor B einen Instruktion Start E/A für einen SYNCW-Befehl für die Geräteadresse 02 gibt. Der Kanaladapter SCCA 10 löst den
Wettbewerb dadurch auf, dass er zu einer dieser Geräteadres sen geht, z.B. zu Adresse 01.In diesem Fall wird der Befehl
SYNCW vom Prozessor B für die Adresse 02 trotzdem vom
SCCA 10 empfangen, das Statussignal Kanal Ende und das Trennungssignal an den Prozessor B gegeben, und der SCCA
10 verzeichnet den Wettbewerbsfall dadurch, dass ein Signal Gerät Ende für die Adresse 02 an beide Prozessoren A und B gegeben wird. Der Wettbewerb wird dokumentiert durch Ein schalten des zweiten Speicherelementes im Mikroprozessor 24 für die Geräteadresse 02, das ist in diesem Fall das Speicherele ment SW2. Jetzt kann die Datenübertragungsoperation für die
Geräteadresse 01 wie oben für den Normalfall erklärt weiter laufen.
Wenn das Kanalprogramm 01 fertig ist, stellt der Kanal adapter SCCA 10 fest, dass ein früherer Wettbewerbsfall jetzt behandelt werden muss (es ist eine Geräteadresse vorhanden, in diesem Fall die Adresse 02, für die beide Speicherelemente, in diesem Fall SR2 und SW2, eingeschaltet sind). Eine Status nachricht mit einer Anzeige Gerät Ende wird dann an beide Prozessoren A und B für diese Geräteadress 02 gegeben.
Dadurch werden die für die Geräteadresse 02 in den beiden Prozessoren getrennten Kanalprogramme wieder aktiviert und die Datenübertragung für die Geräteadresse 02 abgewickelt.
Beschreibung eines Ausführungsbeispiels für mehrere Prozessoren
In Fig. 3 ist ein weiteres Ausführungsbeispiel der Erfindung dargestellt, in dem ein synchronisierender Kanaladapter SCCA 30 für die Verbindung von mehreren, nämlich vier verschiedenen digitalen Datenprozessoren A, B, C und D vorgesehen ist.
Der SCCA 30 ist mit dem Prozessor A über ein Kabel 31, mit dem Prozessor B über ein Kabel 32, mit dem Prozessor C über ein Kabel 33 und mit dem Prozessor D über ein Kabel 34 verbunden. Als Beispiel für diese Kabel 31 bis 34 sei der E/A-Schnittstellenkabeltyp im IBM System/370 erwähnt Die Prozessorkanäle, die mit dem SCCA 30 gekoppelt sind, sollen Blockmultiplexorkanäle sein.
Fig. 4 zeigt in einer repräsentativen Liste die E/A-Geräteadresszuordnungen, die von den vier Prozessoren A, B, C und D zur Kommunikation mit dem SCCA 30 verwendet werden können. Dieser Satz von Adresszuordnungen sieht eine separate Zwei-Weg-Verbindung zwischen jedem Paar der Prozessoren A, B, C und D vor. Die Verbindung AB verwendet beispielsweise die Geräteadresse 01 und 02. Genauso wie es in Fig. 1 gezeigt wurde, enthält der Prozessor A der Fig. 3 ein Kanalprogramm SYNCW + Schreiben für die Geräteadresse 01 und ein Kanalprogramm SYNCR + Lesen für die Geräteadresse 02. Entsprechend enthält der Prozessor B der Fig. 3 ein Kanalprogramm SYNCR + Lesen für die Geräteadresse 01 und ein Kanalprogramm SYNCW + Schreiben für die Geräteadresse 02.
Entsprechendes gilt für die Kanalprogramme der anderen Verbindungen AC, AD usw. Zur Kommunikation mit dem SCCA in der in Fig. 4 gezeigten Art enthält der Prozessor A also insgesamt sechs verschiedene Kanalprogramme, eines für jede Geräteadresse 01 bis 06. Die Programme 01,03 und 05 sind Programme SYNCW + Schreiben, und die Programme 02,04 und 06 sind Programme SYNCR + Lesen.
Für die in Fig. 4 gezeigte Betriebsart bezeichnet jede Geräteadresse zwei Faktoren:
1. die beiden zu verbindenden Prozessoren und
2. die Richtung der Datenübertragung.
Die Geräteadresszuordnungen der Fig. 4, die nur Beispiele sind, sind vorgewählt und für die entsprechenden Kanalprogramme angegeben, bevor sie in die entsprechenden Prozessoren A, B, C und D geladen werden. Der Kanaladapter SCCA 30 ist so gebaut, dass er den kompletten Satz von zwölf Geräteadressen, der in Fig. 4 angegeben ist, erkennt und behandelt.
Der SCCA 30 kennt jedoch die Adressvereinbarungen unter den Kanalprogrammen nicht, sondern statt dessen besteht seine Primärfunktion darin, zur richtigen Zeit jeweils zwei Kanäle zu verbinden, die Befehle an dieselbe Geräteadresse geben.
Für eine gegebene Geräteadresse arbeitet der SCCA 30 genauso, wie es oben im Zusammenhang mit dem in Fig. 1 gezeigten Ausführungsbeispiel beschrieben wurde. Die einzige zusätzliche auf seiten des SCCA 30 erforderliche Aktion besteht darin, dass er zur Aufzeichnung des Auftretens einer bestimmten gültigen SCCA-Geräteadresse auch noch die Identität des SCCA-Anschlusses aufzeichnen muss, an dem diese Geräteadresse empfangen wurde. Wenn der zweite Synchronisationsbefehl für dieselbe Geräteadresse empfangen wird, fragt der SCCA 30 diese Aufzeichnung ab und verbindet den Anschluss, über den der zweite Befehl empfangen wurde, mit dem durch die Aufzeichnung für den ersten Synchronisationsbefehl bezeichneten Anschluss.Mit anderen Worten, der SCCA 30 passt die Geräteadressen einander an und verbindet für Datenübertragungszwecke die beiden Prozessoren, von denen er dieselbe Geräteadresse empfangen hat. Auf diese Weise können je zwei Prozessoren miteinander kommunizieren.
Mehrere über den Kanaladapter SCCA 30 miteinander verbundene Datenprozessoren geniessen alle vorher für das in Fig. 1 beschriebene Ausführungsbeispiel mit zwei Datenprozessoren genannten Vorteile. Insbesondere sind Unterbrechungen nicht erforderlich, und ein Abfragebefehl wird auch nicht gebraucht. Die Kanalbelegungszeit wird ausserdem etwas reduziert, da die Datenübertragungsbefehle erst eingegeben werden, wenn zwei Prozessoren eine Instruktion Start E/A an dieselbe Geräteadresse gegeben haben. Der Wettbewerbsfall schliesslich wird ohne besondere Programmiermassnahmen behandelt.
In Fig. 5 ist ein Beispiel eines ausgearbeiteteren Satzes von Geräteadresszuordnungen gezeigt, der bei Bedarf für das in Fig. 3 gezeigte Ausführungsbeispiel mit mehreren Prozessoren verwendet werden kann. Nach Darstellung in Fig. 5 können mehrere Verbindungssätze für einige oder alle Prozessorenpaare vorgesehen werden. Für das beispielsweise durch die Prozessoren A und B gebildete Paar gibt es sechs Geräteadressen für drei Sätze von Verbindungen, nämlich AB-1, AB-2 und ABCD-1. Laut Überschrift der linken Spalte in Fig. 5 werden diese verschiedenen Verbindungen zwischen den Prozessoren A und B verschiedenen Anwendungsprogrammen zugeordnet.
Der erste Verbindungssatz durch die Geräteadressen 01 und 02 gestattet einem Teil eines ersten Anwendungsprogrammes im Prozessor A direkt mit einem Teil desselben Anwendungsprogrammes im Prozessor B (und umgekehrt) zu kommunizieren.
Auf ähnliche Weise ist durch den zweiten Verbindungssatz über die Geräteadressen 03 und 04 ein zweites Anwendungsprogramm im Prozessor A direkt mit dem entsprechenden Teil desselben Anwendungsprogrammes im Prozessor B (und umgekehrt) kommunikationsfähig.
Das Anwendungsprogramm ABCD-1 stellt einen Fall dar, in dem Teile des Programms in jedem der Prozessoren A, B, C und D stehen und worin der Teil in einem gegebenen Prozessor direkt mit jedem Teil in irgendeinem anderen Prozessor kommunizieren können soll. Für einige Anwendungen des Typs ABCD kann man eine oder mehrere Verbindungen zwischen den Prozessoren weglassen. Als weitere Möglichkeit können auch einige Anwendungsprogramme implementiert werden, die nur drei Prozessoren und nicht alle vier benutzen.
Da jeder E/A-Kanal im IMB System/370 eine acht Bit grosse Geräteadresse benutzt, gibt es 256 verschiedene Geräteadressen, die in Verbindung mit dem Kanaladapter SCCA 30 benutzt werden können. Wenn man annimmt, dass ausser dem SCCA 30 keine anderen Steuereinheiten der E/A-Geräte an das E/A-Schnittstellenkabel von jedem Prozessor angeschlossen sind, ergeben sich insgesamt 128 verschiedene mögliche Anwendungsprogramme für je zwei Prozessoren, die unter den verschiedenen Prozessorpaaren in jeder gewünschten Art aufgeteilt werden können, jedoch im allgemeinen mit der Bedingung, dass wenigstens eine Verbindung für jedes Prozessorpaar vorgesehen werden sollte. Für die unmittelbare Zukunft sollte diese relativ grosse Zahl von Möglichkeiten jedoch ausreichen, um die Forderungen der meisten Benützer zu befriedigen.
In dem in Fig. 5 gezeigten Fall ist zu bemerken, dass jede Geräteadresse drei Faktoren angibt:
1. die beiden zu verbindenden Prozessoren;
2. die Richtung der Datenübertragung und
3. das Anwendungsprogramm.
Die jeweiligen Beziehungen für jede Geräteadresse werden durch die Programmvereinbarung für die Programme in den verschiedenen Prozessoren festgelegt Der SCCA 30 kennt diese Beziehung nicht und braucht sie auch nicht zu kennen.
Seine Hauptaufgabe besteht einfach im Vergleich der Geräteadressen und der Verbindung von jeweils zwei SCCA Anschlüssen, an denen dieselbe Geräteadresse empfangen wurde.
Fig. 6 zeigt in weiteren Einzelheiten den internen Aufbau des in Fig. 3 dargestellten synchronisierenden Kanaladapters SCCA 30. Das Schnittstellenkabel 31 des Prozessors A ist über einen ersten Anschluss 41 mit einer Steuerung 42 für den ersten Anschluss, das Schnittstellenkabel 32 des Prozessors B über einen zweiten Anschluss 43 mit einer Steuerung 44 für den zweiten Anschluss, das Schnittstellenkabel 33 des Prozessorc C über einen dritten Anschluss 45 mit einer Steuerung 46 für den dritten Anschluss und das Schnittstellenkabel 34 für den Prozessor D über einen vierten Anschluss 47 mit einer Steuerung 48 für den vierten Anschluss gekoppelt.Jede der Steuerungen 42,44,46 und 48 ist über eine mehradrige Busleitung (Sammelleitung) mit einem Wählschalter (Koordinatenschalter, Kreuzpunktschalter) 50 und über eine mehradrige Busleitung (Sammelleitung) auch mit einer Hauptsteuerung 51 verbunden.
Zur Hauptsteuerung 51 gehört ein Steuerspeicher 52 mit verschiedenen Speicherstellen für jede vorgegebene oder gültige SCCA-Geräteadresse, um verschiedene Anzeigen für den Empfang dieser Geräteadressen durch die Steuerungen 42,44, 46 und 48 zu speichern. Der Steuerspeicher 52, der Teil eines grösseren Speichers sein kann, wird hier auch als Steuertabelle bezeichnet. Diese wird durch Adressen von der Hauptsteuerung 51 angesteuert, speichert von dort empfangene Steuerinformation und liest bei Bedarf auch die gespeicherte Information aus und sendet sie an die Hauptsteuerung 51 zurück Dieser Steuertabellenspeicher 52 ist etwas genauer in Fig. 7 gezeigt.
Für jeden der Prozessoren A, B, C und D erscheint der Kanaladapter SCCA 30 wie eine gewöhnliche E/A-Steuerung, und jeder Prozessor verkehrt mit dem SCCA 30 über die übliche E/A-Schnittstellenschaltung. Für die Anfangswahlfolge für den Prozessor A beispielsweise sendet dieser eine der gültigen Geräteadressen aus, die von dem SCCA 30 erkannt werden kann. Diese Geräteadresse wird durch die Steuerung 42 für den ersten Anschluss in ein Feld gesetzt und dann an den Prozessor A zurückgesandt, um zu bestätigen, dass sie empfangen und angenommen wurde. Der Prozessor A sendet dann den Kanalbefehl für das erste CCW für diese Geräteadresse, und bei Empfang desselben sendet die Steuerung 42 für den ersten Anschluss eine Zustandsnachricht zurück. Das ist allgemein gesehen weiter nichts als die übliche Anfangswahlfolge für die E/A-Schnittstelle.
Die Steuerung 42 für den ersten Anschluss sendet die angenommene Geräteadresse und den folgenden Kanalbefehl (entweder SYNCR oder SYNCW) und einen Anschlussbezeichnungscode (ID) an die Hauptsteuerung 51. Der Anschlussbe zeichnungscode teilt der Hauptsteuerung 51 mit, dass der Anschluss 1 diese Geräteadresse empfangen hat. Mit der Geräteadresse steuert die Hauptsteuerung 51 dann den Steuerspeicher 52 an, um festzustellen, ob dieselbe Geräteadresse von einem der anderen Prozessoren empfangen wurde. Durch Programmvereinbarung zwischen den Prozessoren darf nur einer der anderen Prozessoren dieselbe Geräteadresse benutzen.
(Ein modifizierter Fall wird aber weiter hinten noch beschrieben werden.)
Nimmt man an, dass dieses das erste Mal ist, dass diese bestimmte Geräteadresse durch den Kanaladapter SCCA 30 empfangen wurde, dann sind die vom Steuerspeicher 52 angesprochenen Steuerbits lauter Nullen. Wenn der empfangene Kanalbefehl ein Befehl SYNCR war, setzt die Hauptsteuerung 51 das Bit SYNCR empfangen an dieser Adresse im Hauptsteuerspeicher 52 auf den Einerwert und die SYNCR Anschluss-ID-Bits auf den Code, der den Anschluss bezeichnet, an dem diese Geräteadresse empfangen wurde. Wenn anderer seits der empfangene Kanalbefehl ein Befehl SYNCW war, dann wird das Bit SYNCW empfangen auf Eins gesetzt und die SYNCW-Anschluss-ID-Bit auf den Anschluss-ID-Code gestellt.Ausserdem weist die Hauptsteuerung 51 die Steuerung 42 für den Anschluss 1 an, an den Prozessor A eine Statusnachricht Kanal Ende und ein Trennungssignal zurückzusenden.
Das geschieht während der Anfangswahlfolge in der Steuerung 42 für den ersten Anschluss, d.h. das in der Anfangswahlfolge an den Prozessor A zurückgesendete Statusbyte enthält diese Statusnachricht Kanal Ende. Dadurch wird der Prozessor A veranlasst, das Kanalprogramm für diese Geräteadresse auszusetzen, und das Trennungssignal gibt den Prozessor A für die Ausführung anderer Arbeiten frei.
Nimmt man jetzt an, dass zu einem späteren Zeitpunkt ein zweiter Prozessor, z.B. der Prozessor B, dieselbe Geräteadresse an den Kanaladapter SCCA 30 sendet, so werden diese Adresse, der zugehörige Kanalbefehl und der SCCA-Anschluss ID-Code an die Hauptsteuerung 51 weitergeleitet, die dann mit der Geräteadresse den Steuerspeicher 52 ansteuert. Die angesteuerten Bits in dem Steuerspeicher werden an die Hauptsteuerung 51 gegeben, die dann weiss, dass diese Geräteadresse jetzt zum zweiten Mal aufgetreten ist, und zwar über den Anschluss 2. Die Hauptsteuerung erteilt der Steuerung 44 für den zweiten Anschluss dann den Auftrag, in dem Statusbyte für die Anfangswahl an den Prozessor B die Anzeigen Kanal Ende und Gerät Ende zurückzugeben. Die Hauptsteuerung 51 teilt der Steuerung 42 für den ersten Anschluss weiterhin mit, dass sie an den Prozessor A die Statusnachricht Gerät Ende senden soll.Ausserdem beauftragt die Hauptsteuerung 51 den Wählschalter 50 damit, die Verbindung von der Datensammelleitung der Steuerung 42 (Anschluss 1) zur Datensammelleitung der Steuerung 44 (Anschluss 2) in Vorwegnahme des Empfanges der Datenübertragungsbefehle vorzubereiten.
Wenn der Prozessor A die Statusnachricht Gerät Ende empfängt, wird dadurch das ausgesetzte Kanalprogramm für diese Geräteadresse wieder aktiviert und mit dem nächsten Kanalbefehlswort CCW befehlsverkettet. Beim Empfang der Statusnachricht Gerät Ende durch den Prozessor B wird gleichzeitig das dort befindliche Kanalprogramm für dieselbe Geräteadresse mit dem nächsten dort stehenden CCW befehlsverkettet. Durch Programmvereinbarung enthält das nächste CCW in einem dieser Prozessoren einen Lese-Befehl und das nächste CCW des jeweils anderen Prozessors einen Schreib Befehl. Die beiden Prozessoren geben also die richtigen komplementären Befehle.Diese Befehle veranlassen den SCCA 30 dazu, ziemlich genau so zu arbeiten wie der heute gebrauch liche Kanaladapter im IBM System/370, wobei die Daten von der Steuerung eines Anschlusses zur Steuerung eines anderen Anschlusses über den Wählschalter 50 übertragen werden.
Ungefähr zur gleichen Zeit, zu der die Hauptsteuerung 51 die Anschlusssteuerung anweist, an ihre betreffenden Prozessoren die Statusnachricht Gerät Ende zu senden, wodurch die Befehlsverkettung mit den CCWs für Lesen und Schreiben eingeleitet wird, stellt die Hauptsteuerung 51 auch die Steuerbits im Steuerspeicher 52 für die jeweiligen Geräteadressen auf Null zurück. Nach Beendigung der Datenübertragung gibt der Prozessor, für den diese Geräteadresse eine Leseadresse ist, sobald wie möglich an diese Adresse eine weitere Start E/A-Instruktion, um das SYNCR + Lese-Kanalprogramm für diese Geräteadresse wieder zu aktivieren. Dadurch soll diese Geräteadresse ziemlich schnell nach Beendigung der Daten übertragung wieder in den Zustand Synchronisiert zum Lesen zurückgeführt werden.
Jetzt soll der Wettbewerb für eine bestimmte Verbindung zwischen zwei Prozessoren betrachtet und angenommen werden, dass die beiden Geräteadressen für diese Verbindung sich im Zustand Synchronisiert zum Lesen befinden. Das bedeutet, dass im Steuerspeicher 52 die Bits SYNCR empfangen für jede dieser Adressen eingeschaltet sind und dass die IDs für den SYNCR-Anschluss für jede dieser Adressen geschrieben wurden. Die Wettbewerbssituation tritt ein, wenn beide Prozessoren versuchen, gleichzeitig Nachrichten zu senden durch Abgabe der Start E/A-Instruktion an ihre entsprechenden Schreibe-Adressen für diese Verbindung.
Der Kanaladapter SCCA 30 bindet sich an eine dieser Geräteadressen. Für die andere Geräteadresse schaltet die Hauptsteuerung 51 das Bit SYNCW emfangen in dem Steuerspeicher 52 ein und schreibt in die SYNCW-Anschluss Stelle den ID für den Anschluss, der diese andere Adresse empfangen hat. Ausserdem erteilt die Hauptsteuerung 51 der Anschlusssteuerung für die nichtgebundene Adresse den Auftrag, die Statusnachricht KANAL ENDE und ein Trennsignal an den zugehörigen Prozessor zurückzusenden. Mit anderen Worten, der Befehl SYNCW für die ungebundene Adresse wird zwar vom SCCA 30 akzeptiert, wird aber effektiv nicht ausgeführt, sondern auf eine Warteliste gesetzt durch Einschalten des Bit SYNCW empfangen und Schreiben der Anschlussidentifizierung des SYNCW-Anschlusses in den Steuerspeicher 52 für diese Adsresse.Gleichzeitig mit dem Schreiben dieser SYNCW-Bits im Steuerspeicher 52 wird ein Wettbewerbs/ Besetzt-Merker in der Hauptsteuerung 51 gesetzt. Jetzt kann die Operation für die gebundene Adresse in der oben beschriebenen Art weiterlaufen.
Nachdem die Datenübertragung für die gebundene Adresse beendet ist, stellt der Kanaladapter SCCA 30 über den Wettbewerb/Besetzt-Merker fest, dass jetzt ein früherer Wettbewerbsfall behandelt werden muss. Die Hauptsteuerung 51 fragt dann die Bitspalte SYNCW empfangen Steuerspeicher 52 ab, um die Geräteadresse und die beiden Identifizierungen des Anschlusses für die nichtgebundene Adresse zu ermitteln, die behandelt werden muss. Die Steuerung 51 instruiert dann die beiden so identifizierten Anschlusssteuerungen zum Absenden der bezeichneten Adresse und der Statusnachricht GERÄT ENDE an die an diese beiden Anschlüsse angeschlossenen Prozessoren. Die ausgesetzten Kanalprogramme in diesen beiden Prozessoren werden dann neu aktiviert und die Datenübertragung erfolgt für diese vorher nicht gebundene Geräteadresse.Die Hauptsteuerung 51 stellt die Bits im Steuerspeicher 52 dann für diese Geräteadresse auch auf Null zurück.
Jetzt soll der Besetzt -Fall betrachtet werden, in dem der SCCA 30 Daten zwischen zwei Prozessoren überträgt, wenn eine gültige SCCA-Adresse und ein Synchronisationsbefehl von einem dritten Prozessor empfangen werden.
Der Synchronisationsbefehl von diesem dritten Prozessor wird nicht zurückgewiesen, sondern vom Kanaladapter SCCA 30 angenommen und sein Auftreten im Steuerspeicher 52 vermerkt. Die Steuereinheit wird angewiesen, eine Statusnachricht KANAL ENDE und ein Trennsignal zurückzusenden, um das Kanalprogramm in dritten Prozessor auszusetzen und den dritten Prozessor vom SCCA 30 zu trennen.
Wenn der vom dritten Prozessor emfangene Synchronisationsbefehl z.B. ein Befehl SYNCW für diese Geräteadresse ist, dann wird das Bit SYNCW empfangen eingeschaltet und die Anschlussidentifizierung in den SYNCW-Anschluss-ldentifizie- rungspositionen für diese Geräteadresse verzeichnet. Wenn das Bit SYNCR empfangen eingeschaltet ist und die SYNCR-Anschlussidentifizierung bereits im Hauptsteuerspeicher 52 steht, wird auch der Wettbewerbs/Besetzt-Merker in den Hauptsteuerung 51 gesetzt, um eine wartende Adresskombination zu markieren, die noch behandelt werden muss. Nach Abschluss der gerade laufenden Datenübertragung wird die Datenübertragung für diese wartende Adresskombination abgehandelt.
Ein beachtenswerter Punkt ist die Tatsache, dass der Kanaladapter (SCCA) 30 niemals einen Besetzt-Status an einen Prozessor zurückgibt, wenn eine früher begonnene, eine andere Gerätadresse betreffende Datenübertragung abläuft, sondern statt dessen die betreffenden Einzelheiten im Steuerspeicher 52 notiert und den Prozessor für andere Arbeiten freigibt, der den gerade empfangenen Synchronisationsbefehl abgegeben hat.
Die unproduktive Zeit für Verwaltungsarbeiten wird dadurch reduziert.
Ein weiterer bemerkenswerter Punkt ist die Tatsache, dass der Kanaladapter SCCA 30 die Geräteadresszuordnungen, wie sie in den Tabellen der Fig. 4 und 5 gezeigt sind, nicht kennt und auch die Identität der Prozessoren nicht zu kennen braucht.
Der SCCA 30 vergleicht nur die Geräteadressen. Wenn eine Adressübereinstimmung erkannt wird, beauftragt die Hauptsteuerung 51 den Wählschalter (Koordinatenschalter, Kreuzpunktschalter) 50 mit der Verbindung der beiden Anschlüsse, an denen diese übereinstimmenden Adressen empfangen wurden. Wenn der Matrixschalter 50 mit einer gerade ablaufenden Datenübertragung belegt sein sollte, wird die neu erkannte Adresseübereinstimmung als wartend gekennzeichnet und nach Beendigung der gerade laufenden Datenübertragung abgehandelt.
Bisher wurde der sogenannte Nachrichtensendebetrieb beschrieben, in dem verschiedene Prozessoren durch Hin- und Hersenden von Nachrichten miteinander kommunizieren. Bei Bedarf können jedoch auch eine oder mehrere Verbindungen zwischen Prozessoren im umgekehrten Betrieb gefahren werden. Insbesondere ist es manchmal erwünscht, dass der Prozessor an einem Ende der Verbindung Daten von einer bekannten Speicherstelle in dem anderen Prozessor bekommen soll, ohne dass er eine Nachricht an den anderen Prozessor sendet, um diese Daten anzufordern. In diesem Fall würden die Prozessoren so betrieben, dass sie normalerweise ihre Verbindungsenden im Zustand Synchronisiert zum Schreiben halten. Der Prozessor, der dann Daten braucht, würde eine Start-/E/A- Instruktion an seine LESE- Adresse geben, um einen SYNCR Befehl auszulösen.In diesem Fall würde die Verbindung hergestellt und die Daten übertragen, ohne dass der empfangende Prozessor erst eine Datenanforderungsnachricht an den anderen Prozessor senden muss. Wenn die Übertragung immer in derselben Richtung gehen soll, z.B. vom Prozessor A zum Prozessor B, dann braucht man für diesen Zweck nur eine Geräteadresse. Die jeweilige Betriebsart, d.h. Nachrichtensendebetrieb oder dessen Umkehrung, wird bestimmt durch die im voraus getroffenen Vereinbarungen für die Programme in den beiden Prozessoren.
In Fig. 8 ist im einzelnen eine repräsentative Konstruktionsform der Anschlusssteuerung der Fig. 6 gezeigt. Von jedem der Schnittstellenkabel 31 bis 34 sind die Hauptleitergruppen separat gezeigt. Jede Steuerung für die einzelnen Anschlüsse 42,44, 46 und 48 ist unterteilt dargestellt. Das Schnittstellenkabel 31 für die Steuerung 42 besteht darstellungsgemäss aus vier mehradrigen Teilen 31a, 31b, 31c und 31d, und die Anschlusssteuerung 42 für den ersten Anschluss besteht aus den Teilen 42a, 42b und 42c. Die Bezeichnungen ein und aus im Zusammenhang mit den Kabeluntergruppen 31a bis 31d beziehen sich auf die Kanaleinheit am anderen Ende des Schnittstellenkabels.
Der Ausdruck Bus aus bezeichnet beispielsweise eine Schnittstellenleitergruppe, die vom Kanal für das Aussenden von Daten verwendet wird. Entsprechend bezeichnet die Beschriftung Bus ein eine Schnittstellenleitergruppe, über die Daten an den Kanal gesendet werden.
Die Steuerung 42a für den Anschluss 1 enthält einen ersten Empfänger (E) 60 für die Ausgangsbusleitungen 31a und einen zweiten Empfänger 61 für die Kennzeichenausgangsleitung 31c. Die anderen Steuerteile 44a, 46a und 48a für die Ausgangsbusleitungen bzw. Kennzeichenausgangsleitungen der anderen Anschlüsse 2,3 bzw. 4 sind genauso aufgebaut.
Der Teil 42c für den Anschluss 1 enthält einen Eingangsassembler 62 und einen mehrere Bit grossen Treiber (T) 63 für die Eingangsbusleitungen 31b. Der Steuerungsteil 42c für den Anschluss 1 enthält auch einen Kennzeicheneingangsassembler 64 und einen mehrere Bit grossen Treiber 65 für die Kennzeicheneingangsleitungen 31d. Die Anschlusssteuerteile 44c, 46c und 48c für die anderen Anschlüsse 2,3 bzw. 4 sind genauso aufgebaut.
Eine Adressbereich-Steckkarte 66. ist mit allen Anschlusssteuerteilen 42b, 44b, 46b und 48b verbunden, um jedem Anschluss den kompletten Satz von Geräteadressen anzugeben, der vom Kanaladapter SCCA 30 erkannt wird. Jeder Steuerteil 42b, 44b, 46b und 48b behandelt für seinen entsprechenden Anschluss die Schnittstellenfolgen des Systems/370, die eine sofortige Antwort verlangen. Insbesondere behandeln sie die Anfangsteile der Anfangswählfolgen für die Kanalbefehle, die in Verbindung mit Datenübertragungsoperation benutzt werden.
In Fig. 9 ist im einzelnen eine repräsentative Konstruktionsform für die Hauptsteuerung und den Steuerspeicher des SCCA 30 der Fig. 6 gezeigt. Der wesentliche Teil der Hauptsteuerung 51 ist der Mikroprozessor 68. Der Steuerspeicher 52 liegt im Speicherabschnitt 68a des Mikroprozessors 68. Mit einem Eingangsanschluss des Mikroprozessors 68 ist eine Dateneingangsbusleitung (DBI) und mit einem Ausgangsanschluss eine Datenausgangsbusleitung (DBO) verbunden. An den Adressanschluss des Mikroprozessors 68 führt eine Adressausgangsbusleitung (ABO). Die Busleitungen ABO und DBO führen unter anderem zu den Fig. 8 gezeigten Anschlusssteuerungen.
Als Querbezug sind in Fig. 9 die Steuerteile 42a, 42c, 44a, 44c usw. wiederholt.
Wie schon gesagt wurde, werden die Steuerteile 42b, 44b, 46b und 48b der Fig. 8 für die Anfangswahlfolge benutzt Betrachtet man z.B. den Anschlusssteuerteil 42b für den Anschluss l, so notiert dieser die Anfangswahlimpulse auf den Kennzeichenausgangsleitungen 31c und führt eine Operation aus, um die Geräteadresse, die dann auf den Ausgangsbusleitungen 31a liegt, mit den durch die Adressbereich-Steckkarte 66 gelieferten gültigen Adressen zu vergleichen. Wenn keine Übereinstimmung festgestellt wird, wird das Wahlkennzeichen an das nächste E/A-Gerät weitergeleitet, das an das Schnittstellenkabel 31 für den Prozessor A angeschlossen ist. Wenn jedoch eine Adressübereinstimmung erkannt wird, antwortet die Steuerung 42b an den Kanal des Prozessors A, unter Benutzung der als übereinstimmend erkannten Geräteadresse.Wenn der Kanal jetzt durch Anheben des Signales auf den Befehlskennzeichenausgangsleitung antwortet, gibt die Anschlusssteuerung 42b die Steuerung an den Mikroprozessor 68 zur weiteren Bearbeitung weiter. Die Kanalschnittstellenfolge wartet, bis der Mikroprozessor 68 die Steuerung übernimmt.
Die Anschlusssteuerung 42b veranlasst den Mikroprozessor 68 zur Übernahme der Steuerung dadurch, dass sie eine Verzweigungsnachricht (Mitteilung für bedingte Verzweigung) auf die Busleitung 69 gibt, die zu einem Verzweigungsassem bler 70 führt, der wiederum mit dem zum Mikroprozessor gehörenden DBI-Assembler 71 (Fig. 9) gekoppelt ist, der die auf die Datenausgangsbusleitung DBI des Mikroprozessors 68 zu gebenden Daten auswählt.
Jede der anderen Anschlusssteuerungen 44b, 46b und 48b arbeitet genauso. Jede sendet eine Verzweigungsnachricht an den Assembler 70, wenn sie eine Adressübereinstimmung für eine auf ihren zugehörigen Ausgangsbusleitungen erscheinende Geräteadresse erkennt,
Die normale Tätigkeit des Mikroprozessors 68 ist eine kontinuierliche Rundumabfrage der Anschlusssteuerungen 42b, 44b, 46b und 48b, durch zyklisches Einschreiben entsprechender Wahlwerte in ein vierstelliges Anschlusssteuerwahlregister 72. Die sequentiell auf der Datenausgangsbusleitung DBO erscheinenden Wahlwerte werden durch eine Decodierung der auf der Adressausgangsbusleitung ABO erscheinenden Adresse in das Register 72 eingegeben.Der erste Wahlwert (1000) setzt die erste Registerstufe auf eins und die anderen Registerstufen auf Null, der zweite Wahlwert (0100) setzt die zweite Registerstufe auf eins und die anderen auf Null usw.
Dadurch werden die vier Registerausgangsleitungen einzeln geschaltet, so dass der Assembler 70 die Verzweigungsbedienungsleitungen der Anschlusssteuerungen 42b, 44b, 46b und 48b sequentiell abfragen und ihren Inhalt über den Assembler 71 und die DBI an den Mikroprozessor 68 übertragen kann.
Der Mikroprozessor 68 überwacht diese Eingangssignale auf der DBI-Busleitung, um festzustellen, ob eine Adressüber einstimmung erkannt wurde. Wenn eine Adressübereinstimmung anzeigende Verzweigungsnachricht (Mitteilung für bedingte Verzweigung) empfangen wird, verzweigt der Mikroprozessor 68 vorübergehend in die Anfangswahlroutine.
Als Teil dieser Routine erhält er die Übereinstimmung hervorrufende Geräteadrese von der entsprechenden Anschlusssteuerung (z.B. 42b) über ihre Verzweigungsleitung (z.B. 69) und die Assembler 70 und 71. Ausserdem liest er den dann auf den Ausgangsbusleitungen des Schnittstellenkabels erscheinenden Kanalbefehl, der die Adressübereinstimmung herbeiführte (z.B.
Ausgangsbusleitungen 31 a des Kabels 31). Das geschieht über den Ausgangsassembler 73 und den DBI-Assembler 71.
Mit der Geräteadresse steuert der Mikroprozessor 68 den Steuerspeicher 52 im Speicherabschnitt 68a an. Der Mikroprozessor 68 untersucht die angesteuerten Bits im Steuerspeicher und sendet dann die entsprechende Zustandsnachricht an den Prozessor, der die Adressübereinstimmung herbeiführte. Diese Statusnachricht wird über die Datenausgangsbusleitung DBO, das Eingangsbusleitungsregister 74 und den entsprechenden Ausgangssteuerteil 42c, 44c, 46c oder 48c an den betreffenden Prozessor gesendet. Der Mikroprozessor 68 beendet ausserdem die Anfangswahlfolge durch Abgabe entsprechender Kennzeichensignale über DBO, das Kennzeicheneingangsregister 75 und denselben Steuerteil 42c, 44c, 46c oder 48c, der für die Statusnachricht benutzt wurde.In diesem Zusammenhang wird darauf hingewiesen, dass die Kennzeichenssignale von demselben Schnittstellenkabel dem Mikroprozessor 68 über einen Kennzeichenausgangsassembler 76, den DBI-Assembler 71 und die DBI-Busleitung zur Verfügung gestellt werden.
Fig. 10 zeigt im einzelnen eine repräsentative Konstruktionsform des Wähischalterteiles der Fig. 6. Als Querreferenz wird in Fig. 10 die Darstellung der Steuerungsteile 42a, 42c, 44a, 44c usw. aus den Fig. 8 und 9 wiederholt. Der Rest der Fig. 10 betrifft den in Fig. 6 dargestellten Wählschalter (Koordinatenschalter, Kreuzpunktschalter) 50.
Der Wählschalter 50 in Fig. 10 enthält die erforderlichen Schaltungseinrichtungen, um jedes angeschlossene Schnltstel- lenkabel mit jedem anderen Schnittstellenkabel zur Datenübertragung verbinden zu können. Zu diesen Schaltungseinrichtungen gehört ein Datenübertragungsassembler 77, um eine der vier möglichen Ausgangsleitergruppen (z.B. 31a) auszuwählen und diese mit einem ersten, ein Byte (9 Bits) grossen Datenregister 78 zu verbinden. Die Ausgangsleitergruppen werden natürlich für die Datenübertragung vom Prozessorkanal zu den an die Schnittstellenkabel angeschlossenen E/A-Geräten benutzt, in diesem Fall zur Übertragung an den Kanaladapter SCCA 30.
Die Daten werden vom ersten Datenregister 78 in ein zweites, ein Byte grosses Datenregister 79 und von dort auf den Eingangsleitungsassembler in einem ausgewählten Ausgangssteuerteil 42c, 44c, 46c oder 48c weitergeleitet (z.B. auf den Eingangsbusleitungsassembler 62 im Steuerteil 42c). Dieser setzt die Daten auf die Eingangsbusleitungen eines gewählten Schnittstellenkabels 31 bis 34, das den Prozessor speist, der die Daten empfangen soll. Der Mikroprozessor 68 wählt den betreffenden Anschluss, über den der SCCA 30 Daten empfangen soll, indem er den entsprechenden Wahlwert in ein viersteliges Eingabewahlregister 80 setzt. Das Register 80 wird durch die Adresse auf der Adressausgangsbusleitung ABO gewählt, wobei das am Ausgang des Decodierers 81 erscheinende Signal dazu dient, den Wahlwert von der Datenausgangsbusleitung DBO in das Register 80 zu leiten.Wenn der Anschluss 1 zu wählen ist, wird die erste Stelle im Register 80 auf Eins gesetzt und die anderen Stellen auf Null. In ähnlicher Weise wird die zweite Registerstelle auf Eins gesetzt und die anderen auf Null, wenn der Anschluss 2 zu wählen ist usw. Die Ausgangsleitungen des Registers 80 wiederum steuern den Datenübertragungsassembler 77 so, dass er nur die gewählte Eingangsbusleitung mit seiner Ausgangsbusleitung verbindet.
Auf ähnliche Weise wählt der Mikroprozessor 68 das betreffende Schnittstellenkabel, das die vom Kanaladapter SCCA 30 auszugebenden Daten empfangen soll, indem der richtige Wahlwert in das Ausgangsanschluswahlregister 82 gesetzt wird. Dadurch wird nur eine Ausgangsleitung des Registers 82 erregt und so der Eingangsleitungsassembler nur in dem gewünschten Ausgangsanschlusssteuerteil 42c, 44c, 46c oder 48c eingeschaltet.
Die Datenübertragung vom sendenden Prozessor in das Datenregister 78, von dort in das Datenregister 79 und dann zum empfangenden Prozessor wird automatisch durch eine Datenübertagungssteuerung 84 gesteuert, die auch die Eingangs- und Ausgangskennzeichenleitungsgruppen für beide von der Datenübertragung betroffenen Prozessoren steuert, um die notwendige Kennzeichenleitungsverbindung im System/370 herzustellen, die zu der byteweisen Datenbewegung gehört. Dazu verbindet ein Kennzeichenwähler 85 die Datenübertragungssteuerung 84 mit den Kennzeicheneingangs- und -ausgangsleitungen des Schnittstellenkabels des sendenden Prozessors und mit den entsprechenden Leitungen des Schnittstellenkabels des empfangenden Prozessors.Insbesondere werden die gewählten und mit der Datenübertragungssteuerung 84 verbundenen Kennzeichenleitungsgruppen durch dieselben Wahlwerte bestimmt, die in das Eingangsanschlusswahlregister 80 und das Ausgangsanschlusswahlregister 82 gesetzt sind, um die gewünschten Busleitungsgruppen zu wählen.
Nach dem Wählen und Schalten der entsprechenden Schnittstellenleitungen sendet der Mikroprozessor 68 die betreffende Startinformation über die Datenausgangsbusleitung DBO an die Datenübertragungssteuerung 84, die danach die Steuerung übernimmt und die notwendigen Austauschaktionen für die Datenübertragung automatisch durchführt. Während dieser Operationsphase arbeitet die Datenübertragungssteuerung 84 vollkommen selbständig und vom Mikroprozessor 68 unabhängig. Insofern kann die Datenübertragungssteuerung 84 in der Maschinenkonstruktion genauso ausgelegt sein wie der entsprechende Datenverschiebungsteil des gegenwärtig benutzten Kanaladapters im IBM System/370.
Am Ende der Datenübertragungsphase sendet die Daten übertragungssteuerung 84 die Nachricht DATEN ENDE an den Mikroprozessor 68, der daraufhin die Steuerung der von der gerade abgeschlossenen Datenübertragung betroffenen Anschlüsse wieder übernimmt und die Schnittstellenendfolgen für die an diese Anschlüsse angeschlossenen Prozessoren ausführt
Während der Datenübertragungsphase arbeitet die Daten übertragungssteuerung 84 vom Mikroprozessor 68 vollkommen unabhängig. Während dieser Datenübertragungsphase kehrt der Mikroprozessor 68 zum Aufrufen und Uberwachen der Anschlusssteuerungen für die Anschlüsse zurück, die von der gerade ablaufenden Datenübertragung nicht betroffen sind. Der Mikroprozessor 68 fragt insbesondere jede dieser anderen Anschlusssteuerungen auf den Beginn einer Anfangswahlfolge ab, und wenn eine solche empfangen wird, gibt der Mikroprozessor 68 die entsprechenden Antworten und ver zeichnet die zugehörige Information im Steuerspeicher 52 in der oben beschriebenen Art. Ausserdem fragt der Mikroprozessor 68 natürlich periodisch die Datenübertragungssteuerung 84 über den DBI-Assembler 71 daraufhin ab, ob die Nachricht DATEN ENDE vorliegt.
In Fig. 11 ist eine andere Benutzung des Kanaladapters SCCA beschrieben, bei der alle Prozessoren in einer Gruppe durch Vereinbarung so arbeiten, dass eine Geräteadresse die Datenübertragung an einen bestimmten Prozessor in der Gruppe auslöst. Für die in Fig. 3 gezeigte Gruppe von vier Prozessoren wird beispielsweise vereinbart, dass der Prozessor A der empfangende Prozessor ist und alle anderen Prozessoren B, C und D durch Verwendung derselben Geräteadresse, in diesem Fall der Geräteadresse 01, Daten an den Prozessor A senden können. Fig. 11 zeigt die in jedem der vier Prozessoren für diesen Operationstyp erforderlichen Kanalprogramme. In diesem Fall setzt der Prozessor A sein Kanalprogramm für die Geräteadresse 01 in den Zustand Synchronisiert zum Lesen (SYNCR), sobald das praktisch möglich ist.Wenn einer der sendenden Prozessor B, C oder D eine Nachricht an den Prozessor A senden will, gibt er eine Start-E/A-Instruktion für die Geräteadresse 01 und damit den Befehl SYNCW ab. Bei Empfang dieses Befehles verbindet der SCCA 30 den Prozessor, der diesen SYNCW-Befehl für die Adresse 01 sendet, mit dem Prozessor A in der oben beschriebenen Art.
Da zwei oder mehr sendende Prozessoren B, C und D den SYNCW-Befehl ungefähr gleichzeitig geben können, wird die Steuertabelle im Kanaladapter SCCA 30 so modifiziert, dass sie eine Schlange enthält, die es ermöglicht, sendende Prozessoren einzeln nacheinander mit dem Prozessor A zu verbinden.
Wenn der Prozessor A eine Nachricht empfängt, muss die Nachricht selbst Information enthalten, die den sendenden Prozessor bezeichnet, sonst weiss der Prozessor A nicht, welcher der Prozessoren B, C oder D die Nachricht sendet.
Fig. 12 zeigt ein Beispiel für Geräteadresszuordnungen für die in Fig. 11 dargestellte Betriebsart, damit jeder der vier Prozessoren Nachrichten an irgendeinen anderen der vier Prozessoren senden kann. Aus einem Vergleich der Fig. 12 und 4 geht hervor, dass eine Betriebsart gemäss Fig. 11 eine vollsymmetrische Arbeitsweise ermöglicht, so dass jeder Prozessor mit jedem anderen Prozessor kommunizieren kann. Diese Anordnung braucht nur vier Geräteadressen gegenüber den zwölf Adressen, die in dem in Fig. 4 gezeigten Fall benötigt werden.
Mit der in Fig. 11 dargelegten Technik kann also die Anzahl der benötigten Geräteadressen reduziert werden. Die Technik hat jedoch den Nachteil, dass die Datennachricht selbst Information zur Bezeichnung des sendenden Prozessors enthalten muss. Das wiederum erfordert zusätzlichen Programmieraufwand. Ob dieser Kompromiss vorteilhaft ist, hängt von der jeweils zu betrachtenden Anwendung der Datenverarbeitung ab.
Zur Unterstützung des in den Fig. 11 und 12 gezeigten Betriebes wird die Tabelle im Steuertabellenspeicher 52 der Fig. so erweitert, dass sich die in Fig. 13 dargestellte Steuertabelle 52x ergibt. Diese erweiterte Steuertabelle 52x enthält eine Schlange mit N Niveau-Stufen für die an jede Geräteadresse gegebenen SYNCW-Befehle. Darin bezeichnet N die Anzahl der möglichen Senderprozessoren. Diese Schlange wird nach dem Wartespeicher-Prinzip (FIFO, First-in-first-out) verwaltet.
In die Schlange gesetzte SYNCW-Befehle werden für die Ausführung der Datenübertragung streng in der Reihenfolge entnommen, in der sie vom SCCA 30 empfangen werden.
Die in den Fig. 8 bis 10 gezeigten Schaltungsanordnungen können auch für den in den Fig. 11 und 12 dargestellten Betrieb unverändert verwendet werden. Die Steuertabelle im Mikroprozessor-Speicherbereich 68a (Fig. 9) wird dabei in der in Fig. 13 gezeigten Art erweitert. Im Steuerprogramm des Mikroprozessors 68 sind zur Verwaltung der erweiterten
Claims (8)
1. Kanaladapter-Anordnung zur gegenseitigen Verbindung von Datenverarbeitungs-Prozessoren über ihre Eingabe/Ausgabe-Kanäle, gekennzeichnet durch: - eine Mehrzahl von Anschlüssen (41,43,45,47), deren jeder mit einem EIA-Kanal eines ihm zugeordneten von mehre ren Prozessoren verbunden ist, - eine Mehrzahl von den Anschlüssen einzeln zugeordneten Steuereinrichtungen (42,44,46,48) mit Schaltungen zum Feststellen des Empfangs jeweils einer von mehreren vorgegebenen Eingabe/Ausgabe-Adressen, - Verbindungsschaltungen (50) zur wahlweisen Herstellung verschiedener Datentransferverbindungen zwischen den Anschlüssen, sowie - eine Hauptsteuereinheit (51,52), welche mit den Anschluss-Steuereinrichtungen verbunden ist und jeweils nach Empfang der gleichen E/A-Adresse an zwei Anschlüssen die Herstellung einer Datentransferverbindung zwischen den betreffenden Anschlüssen durch die Verbindungsschaltungen bewirkt.
2. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass die Hauptsteuereinheit (51,52) aufgrund des Empfangs einer bestimmten E/A-Adresse an zwei Anschlüssen eine Datentransferverbindung zwischen diesen in nur einer bestimmten Richtung bewirkt, und dass sie aufgrund des Empfangs einer anderen bestimmten E/A-Adresse an den betreffenden beiden Anschlüssen eine Datentransferverbindung in der umgekehrten Richtung bewirkt.
3. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass zur Hauptsteuereinheit (51,52) gehören: - eine Speichereinrichtung (52, 52x, 68a) zur Speicherung von Angaben über den Empfang von E/A-Adressen und die empfangenden Anschlüsse, - Einrichtungen (51) zum Löschen der Angaben, die eine bestimmte Verbindung betreffen, nach Herstellung dieser Verbindung.
4. Anordnung nach Patentanspruch 3, gekennzeichnet durch: - eine Auswerteeinrichtung (68), welche mit der Speichereinrichtung in Verbindung steht und nach Empfang einer bestimmten EIA-Adresse feststellen kann, ob und an welchem Anschluss die gleiche E/A-Adresse vorher empfangen wurde, und - Schaltungseinrichtungen (84,85,64,65, 31d), über welche bei Vorliegen einer Angabe über den vorherigen Empfang der gleichen EIA-Adresse an die beiden betreffenden Anschlüsse entsprechende Nachrichten übertragen werden können, um in den angeschlossenen E/A-Kanälen die erforderlichen Datentransferoperationen zu bewirken, und über welche bei Fehlen einer Angabe über den vorherigen Empfang der gleichen E/A-Adresse eine entsprechende Nachricht an den einen betreffenden Anschluss übertragen werden kann, um im angeschlossenen E/A-Kanal die zugehörige Datentransferoperation vorübergehend zu unterbinden.
5. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass die Verbindungseinrichtungen (50) eine Wählschalteranordnung (62,77,80,82) beinhalten, welche die Zugangsleitungen (31 a) eines jeden Anschlusses mit den Abgangsleitungen (31c) aller anderen Anschlüsse wahlweise verbinden kann.
6. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass alle Anschluss-Steuereinrichtungen (42,44,46, 48) den Empfang der gleichen vorgegebenen E/A-Adressen feststellen können, wobei die Anzahl dieser vorgegebenen EIA-Adressen mindestens gleich der Anzahl betriebsbereiter Anschlüsse (41,43,45,47) ist.
7. Anordnung nach Patentanspruch 1, gekennzeichnet durch - eine Speichereinrichtung (52, 52x, 68a), in welcher jeder der bestimmten E/A-Adressen ein Speicherplatz zugeordnet ist, und - Einrichtungen (68), um nach Empfang einer bestimmten E/A-Adresse in den zugeordneten Speicherplatz Angaben einzuschreiben zur Identifizierung des Anschlusses, an dem die Adresse empfangen wurde.
8. Verfahren zum Betrieb der Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, dass - die Anschlüsse mit je einem Blockmultiplexerkanal eines Datenverarbeitungs-Prozessors verbunden werden, wobei - einer von je zwei Kanälen, die über eine bestimmte E/A-Adresse miteinander zu verbinden sind, für diese ein Kanalprogramm enthält mit einem Synchronisationsbefehlswort, das mit einem Lesebefehlswort verkettet ist, - der andere dieser beiden Kanäle für die bestimmte E/A-Adresse ein Kanalprogramm enthält mit einem Synchronisationsbefehlswort, das mit einem Schreibebefehlswort verbunden ist, und wobei - nach Empfang einer E/A-Adresse an einem Anschluss und Fehlen einer Angabe über den vorherigen Empfang dieser E/A-Adresse der betreffende Kanal vom Kanaladapter getrennt und das betreffende Kanalprogramm vorübergehend suspendiert wird, und - nach Empfang einer E/A-Adresse an einem Anschluss und Feststellung des vorhergehenden Empfangs der gleichen E/A-Adresse an einem anderen Anschluss das Kanalprogramm des mit dem letzteren Anschluss verbundenen Kanals wiederaufgenommen und in beiden Kanälen der verkettete Lese- bzw.
Schreibvorgang zur Bewirkung des Datentransfers ausgeführt wird.
Die vorliegende Erfindung betrifft eine Kanaladapter Anordnung, mit deren Hilfe mehrere Datenverarbeitungsprozessoren über ihre Eingabe/Ausgabe-Kanäle zum Datenaustausch miteinander verbunden werden.
Zur Verbindung von Prozessoren bzw. Datenverarbeitungssystemen über ihre E/A-Kanäle sind bereits zahlreiche Anordnungen in Betrieb, sowie weitere Lösungen vorgeschlagen worden. Entsprechende Beschreibungen enthalten u.a. die folgenden Publikationen und Patente: USA-Patent 3400372 IBM Technisches Handbuch IBM System/360 Special Feature: Channel-to-Channel Adapter . Februar 1968, Bestell-Nr.
GA 22-6892 IBM Technisches Handbuch: IBM System/370 Special Feature Description: Channel-to-Channel Adapter . März 1972, Bestell-Nr. GA 22-6983 R Cormier et al.: Channel-to-Channel Adapter for I/O Interface Switching . IBM Techn. Disclosure Bulletin, März 1971, pp.2951-2952.
Mj. Mitchell, H.L. Page: Channel-to-Channel Adapter for Linking two Data Processors . IBM Techn. Disclosure Bulletin, August 1976, pp. 847-848 Mj. Mitchell, H.L. Page: Processor-to-Processor Communications Mechanism . IBM Techn. Disclosure Bulletin, August 1976, pp. 849-852.
Weitere Anordnungen zur gegenseitigen Verbindung von Prozessoren in DV-Systemen sind in folgenden Patenten bzw.
Publikationen beschrieben: USA-Patent 3 735365 USA-Patent 3 753234 USA-Patent 3984819 USA-Patent 3988716
**WARNUNG** Ende CLMS Feld konnte Anfang DESC uberlappen**.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US05/819,913 US4155117A (en) | 1977-07-28 | 1977-07-28 | Synchronizing channel-to-channel adapter |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CH634940A5 true CH634940A5 (en) | 1983-02-28 |
Family
ID=25229422
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CH740778A CH634940A5 (en) | 1977-07-28 | 1978-07-07 | Channel-adapter arrangement |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US4155117A (de) |
| JP (1) | JPS5425136A (de) |
| AT (1) | AT375779B (de) |
| AU (1) | AU517199B2 (de) |
| BE (1) | BE868509A (de) |
| BR (1) | BR7804867A (de) |
| CA (1) | CA1097821A (de) |
| CH (1) | CH634940A5 (de) |
| DE (1) | DE2831261C3 (de) |
| ES (1) | ES472051A1 (de) |
| FR (1) | FR2399065A1 (de) |
| GB (1) | GB1561557A (de) |
| IT (1) | IT1112268B (de) |
| SE (1) | SE436156B (de) |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4218742A (en) * | 1978-06-30 | 1980-08-19 | International Business Machines Corporation | System for controlling a serial data channel with a microprocessor |
| US4339795A (en) * | 1978-06-30 | 1982-07-13 | International Business Machines Corporation | Microcontroller for controlling byte transfers between two external interfaces |
| SE421151B (sv) * | 1979-01-02 | 1981-11-30 | Ibm Svenska Ab | Kommunikationsstyrenhet i ett databehandlingssystem |
| US4308579A (en) * | 1979-02-21 | 1981-12-29 | Pitney Bowes Inc. | Multiprocessor parcel postage metering system having serial data bus |
| JPS56103753A (en) * | 1980-01-23 | 1981-08-19 | Hitachi Ltd | Data transmission system between electronic computers |
| JPS5710858A (en) * | 1980-06-23 | 1982-01-20 | Hitachi Ltd | Interprocessor communication system |
| US4471457A (en) * | 1980-08-21 | 1984-09-11 | International Business Machines Corporation | Supervisory control of peripheral subsystems |
| US4418384A (en) * | 1980-10-06 | 1983-11-29 | Honeywell Information Systems Inc. | Communication subsystem with an automatic abort transmission upon transmit underrun |
| EP0064074B1 (de) * | 1980-11-10 | 1988-09-14 | Wang Laboratories Inc. | Verbindung für datenübertragung |
| US4454577A (en) * | 1981-06-18 | 1984-06-12 | The Bendix Corporation | Linked data systems |
| US4562533A (en) * | 1981-12-03 | 1985-12-31 | Ncr Corporation | Data communications system to system adapter |
| US4543627A (en) * | 1981-12-14 | 1985-09-24 | At&T Bell Laboratories | Internal communication arrangement for a multiprocessor system |
| HU184537B (en) * | 1982-03-31 | 1984-09-28 | Elektroakusztikai Gyar | Fast fourier-analizator with multiprocessor |
| GB8309770D0 (en) * | 1983-04-11 | 1983-05-18 | Inmos Ltd | Microcomputer |
| SE8303021A0 (sv) * | 1983-05-30 | 1984-12-01 | Dialogue Switching Technologies Ltd | Anordning vid en dataterminal ansluten till ett kommunikationsnät |
| US4677588A (en) * | 1983-11-14 | 1987-06-30 | International Business Machines Corp. | Network interconnection without integration |
| US5077656A (en) * | 1986-03-20 | 1991-12-31 | Channelnet Corporation | CPU channel to control unit extender |
| US5038320A (en) * | 1987-03-13 | 1991-08-06 | International Business Machines Corp. | Computer system with automatic initialization of pluggable option cards |
| US4868783A (en) * | 1987-06-15 | 1989-09-19 | International Business Machines Corporation | Dynamic port reconfiguration |
| US4885739A (en) * | 1987-11-13 | 1989-12-05 | Dsc Communications Corporation | Interprocessor switching network |
| US4964036A (en) * | 1988-12-21 | 1990-10-16 | International Business Machines Corporation | Channel hardware diagnostic apparatus and method |
| US5097410A (en) * | 1988-12-30 | 1992-03-17 | International Business Machines Corporation | Multimode data system for transferring control and data information in an i/o subsystem |
| US5175824A (en) * | 1989-05-08 | 1992-12-29 | Trw Inc. | Crossbar switch connected modular multiprocessor system with processor timing relationship selected and synchronized to be appropriate for function being performed |
| SE466726B (sv) * | 1990-08-20 | 1992-03-23 | Kent Lennartsson | Anordning vid distribuerat datorsystem |
| US5276813A (en) * | 1990-08-31 | 1994-01-04 | International Business Machines Corp. | Acquiring addresses in an input/output system |
| US5206936A (en) * | 1990-08-31 | 1993-04-27 | International Business Machines Corporation | Apparatus for exchanging channel adapter status among multiple channel adapters |
| US5255372A (en) * | 1990-08-31 | 1993-10-19 | International Business Machines Corporation | Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters |
| JPH06214897A (ja) * | 1992-12-14 | 1994-08-05 | E Syst Inc | 誤り状態検出時に周辺装置に記憶したデータの損失を最少にする方法 |
| US5862359A (en) * | 1995-12-04 | 1999-01-19 | Kabushiki Kaisha Toshiba | Data transfer bus including divisional buses connectable by bus switch circuit |
| US5901291A (en) * | 1996-10-21 | 1999-05-04 | International Business Machines Corporation | Method and apparatus for maintaining message order in multi-user FIFO stacks |
| US6473803B1 (en) | 1997-06-02 | 2002-10-29 | Unisys Corporation | Virtual LAN interface for high-speed communications between heterogeneous computer systems |
| US6289388B1 (en) | 1997-06-02 | 2001-09-11 | Unisys Corporation | System for communicating heterogeneous computers that are coupled through an I/O interconnection subsystem and have distinct network addresses, via a single network interface card |
| US6233619B1 (en) | 1998-07-31 | 2001-05-15 | Unisys Corporation | Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems |
| US6757744B1 (en) | 1999-05-12 | 2004-06-29 | Unisys Corporation | Distributed transport communications manager with messaging subsystem for high-speed communications between heterogeneous computer systems |
| US6963940B1 (en) * | 2000-03-30 | 2005-11-08 | International Business Machines Corporation | Measuring utilization of individual components of channels |
| US6671740B1 (en) * | 2000-05-12 | 2003-12-30 | International Business Machines Corporation | Integration of channel-to-channel communication capability into a communication channel of a computing environment |
| US6859439B1 (en) | 2000-05-12 | 2005-02-22 | International Business Machines Corporation | Partition-to-partition communication employing a single channel path with integrated channel-to-channel function |
| US8312117B1 (en) | 2001-11-15 | 2012-11-13 | Unisys Corporation | Dialog recovery in a distributed computer system |
| US20030167347A1 (en) * | 2002-02-11 | 2003-09-04 | Combs James Lee | Home network printer adapter |
| JP2007199975A (ja) * | 2006-01-26 | 2007-08-09 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3372378A (en) * | 1964-04-27 | 1968-03-05 | Ibm | Input/output unit switch |
| US3400372A (en) * | 1965-02-16 | 1968-09-03 | Ibm | Terminal for a multi-data processing system |
| US3601807A (en) * | 1969-01-13 | 1971-08-24 | Ibm | Centralized crosspoint switching unit |
| US3581286A (en) * | 1969-01-13 | 1971-05-25 | Ibm | Module switching apparatus with status sensing and dynamic sharing of modules |
| US3634830A (en) * | 1969-06-13 | 1972-01-11 | Ibm | Modular computer sharing system with intercomputer communication control apparatus |
| US3725864A (en) * | 1971-03-03 | 1973-04-03 | Ibm | Input/output control |
| US3753234A (en) * | 1972-02-25 | 1973-08-14 | Reliance Electric Co | Multicomputer system with simultaneous data interchange between computers |
| FR2182357A5 (de) * | 1972-04-28 | 1973-12-07 | Gachot Jean | |
| JPS5319502B2 (de) * | 1973-12-03 | 1978-06-21 | ||
| US3984819A (en) * | 1974-06-03 | 1976-10-05 | Honeywell Inc. | Data processing interconnection techniques |
| US3988716A (en) * | 1974-08-05 | 1976-10-26 | Nasa | Computer interface system |
| US3916380A (en) * | 1974-11-06 | 1975-10-28 | Nasa | Multi-computer multiple data path hardware exchange system |
| US4014005A (en) * | 1976-01-05 | 1977-03-22 | International Business Machines Corporation | Configuration and control unit for a heterogeneous multi-system |
-
1977
- 1977-07-28 US US05/819,913 patent/US4155117A/en not_active Expired - Lifetime
-
1978
- 1978-04-24 CA CA301,809A patent/CA1097821A/en not_active Expired
- 1978-04-28 AU AU35557/78A patent/AU517199B2/en not_active Expired
- 1978-05-10 GB GB18800/78A patent/GB1561557A/en not_active Expired
- 1978-06-20 FR FR7819408A patent/FR2399065A1/fr active Granted
- 1978-06-23 IT IT24890/78A patent/IT1112268B/it active
- 1978-06-27 BE BE188883A patent/BE868509A/xx not_active IP Right Cessation
- 1978-07-05 SE SE7807560A patent/SE436156B/sv not_active IP Right Cessation
- 1978-07-07 CH CH740778A patent/CH634940A5/de not_active IP Right Cessation
- 1978-07-07 JP JP8215178A patent/JPS5425136A/ja active Granted
- 1978-07-15 DE DE2831261A patent/DE2831261C3/de not_active Expired
- 1978-07-17 AT AT0517578A patent/AT375779B/de active
- 1978-07-26 ES ES472051A patent/ES472051A1/es not_active Expired
- 1978-07-27 BR BR7804867A patent/BR7804867A/pt unknown
Also Published As
| Publication number | Publication date |
|---|---|
| DE2831261A1 (de) | 1979-02-01 |
| BR7804867A (pt) | 1979-04-17 |
| JPS5735492B2 (de) | 1982-07-29 |
| AU517199B2 (en) | 1981-07-16 |
| IT7824890A0 (it) | 1978-06-23 |
| ES472051A1 (es) | 1979-02-01 |
| JPS5425136A (en) | 1979-02-24 |
| AT375779B (de) | 1984-09-10 |
| IT1112268B (it) | 1986-01-13 |
| FR2399065B1 (de) | 1985-02-15 |
| ATA517578A (de) | 1984-01-15 |
| GB1561557A (en) | 1980-02-20 |
| FR2399065A1 (fr) | 1979-02-23 |
| SE436156B (sv) | 1984-11-12 |
| DE2831261B2 (de) | 1979-09-20 |
| SE7807560L (sv) | 1979-01-29 |
| US4155117A (en) | 1979-05-15 |
| DE2831261C3 (de) | 1980-06-19 |
| CA1097821A (en) | 1981-03-17 |
| BE868509A (fr) | 1978-10-16 |
| AU3555778A (en) | 1979-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CH634940A5 (en) | Channel-adapter arrangement | |
| DE2917441A1 (de) | Multiprozessoranlage | |
| DE2913288A1 (de) | Multiprozessorsystem | |
| EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
| DE3820544C2 (de) | Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon | |
| DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
| DE1524166B1 (de) | Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage | |
| DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung | |
| DE2313724A1 (de) | Elektronische datenverarbeitungsanlage | |
| DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
| DE69721825T2 (de) | Datenschnittstelle und hochgeschwindigkeitskommunikation mit dieser schnittstelle | |
| DE2406195C3 (de) | Modulare programmgesteuerte Vermittlungsanlage | |
| DE69327018T2 (de) | Verteilung von Bilddaten über optische Fasern | |
| DE68920028T2 (de) | Verfahren und Vorrichtung zum Vielfachzugriff mit zyklischer Reservierung in einem Kommunikationssystem. | |
| EP0184706B1 (de) | Schnittstelleneinrichtung | |
| EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
| DE69129842T2 (de) | Nachrichtensteuersystem in einem datenübertragungssystem | |
| EP0291789A1 (de) | Schaltungsanordnung für zentralgesteuerte Zeitmultiplex-Fernmeldevermittlungsanlagen, insbesondere PCM-Fernsprechvermittlungsanlagen, mit an ein Koppelfeld angeschlossenen Anschlussgruppen | |
| DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
| EP0509114B1 (de) | Verfahren zum Übertragen von Daten an mehrere Datenstationen | |
| DE69719123T2 (de) | System zur Datenverarbeitung und -kommunikation mit PCI-Hochdurchsatzbus | |
| DE1294429B (de) | Schaltungsanordnung zur Datenuebertragung zwischen mehreren Aussenstationen einer Datenverarbeitungsanlage und dem Haupt-speicher der zentralen Verarbeitungseinheit | |
| DE68903986T2 (de) | Vermittlungssystem fuer leitungs- und/oder paketvermittelte nachrichtenuebertragungen. | |
| EP0454218B1 (de) | Zeitvielfachübermittlungssystem | |
| DE2161213B2 (de) | Verfahren und Steuereinheit zum Übertragen von Datenwortblöcken |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PL | Patent ceased | ||
| PL | Patent ceased |