DE69028462T2 - Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung - Google Patents
Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller VerbindungInfo
- Publication number
- DE69028462T2 DE69028462T2 DE69028462T DE69028462T DE69028462T2 DE 69028462 T2 DE69028462 T2 DE 69028462T2 DE 69028462 T DE69028462 T DE 69028462T DE 69028462 T DE69028462 T DE 69028462T DE 69028462 T2 DE69028462 T2 DE 69028462T2
- Authority
- DE
- Germany
- Prior art keywords
- channel
- data
- frame
- expansion unit
- status
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 claims description 74
- 238000012546 transfer Methods 0.000 claims description 40
- 239000003550 marker Substances 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- 239000004606 Fillers/Extenders Substances 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010977 unit operation Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Europäische Patentanmeldung von Miracle, Moyer, Care und Neuner (EP-A-412 269) mit dem Titel "Channel and Extender Unit Operable with Byte Mode or Non-Byte Mode Control Units" (Anmeldungsnummer 90111968.5) und eine Europäische Patentanmeldung von Neuner, Mirade, Minassian und Potvin (EP-A-412 267, Anmeldungsnummer 90111930.5), beide am selben Tag eingereicht wie die vorliegende Patentanmeldung und ebenfalls am selben Tag veröffentlicht.
- Die vorliegende Erfindung betrifft im allgemeinen eine Datenverarbeitungsvorrichtung und im besonderen eine Vorrichtung zum Verbinden eines Kanals, der eine serielle Verbindung besitzt, mit einer Gerätesteuereinheit, die einen parallelen Bus besitzt.
- Ein typisches, umfangreiches Datenverarbeitungssystem besitzt einen Komplex aus mehreren Zentralprozessoren, einen Hauptspeicher, den sich die Prozessoren teilen und eine Anzahl E/A-(Ein/Ausgabe)Geräte, zum Beispiel eine Datenstation, von der aus eine Person auf eine Datenbank im Zentralprozessorspeicher zugreifen könnte. Die E/A-Geräte und die Komponenten und Datenstrukturen, die diese mit den Zentralprozessoren verbinden, werden als E/A-Untersystem bezeichnet.
- In dem spezifischen Datenverarbeitungssystem, das später beschrieben werden wird, enthält der Pfad zwischen dem Gerät und dem Prozessorspeicher, in der Reihenfolge vom Gerät zum Prozessor, eine Gerätesteuereinheit, einen Kanalbus, einen Kanalprozessor, einen Datenverteiler, der die vielen schmalen Busse der Kanäle mit einem einzigen breiteren Bus zum Hauptspeicher verbindet, und eine Hauptspeicher-Steuereinrichtung, die die Speicherzugriffe durch den Kanal-Datenverteiler und andere Komponenten, beispielsweise die Zentralprozessoren, verwaltet. Die Steuereinheit und der Kanal werden später detailliert beschrieben. Ein solches System kann ungefähr hundert Kanäle aufweisen, jedes mit einem Bus.
- Zwei Systeme, für die unsere Erfindung nützlich ist, werden beschrieben in: IBM System/370 Principles of Operation (GA22-7000) und IBM System/370 Extended Architecture Principles of Operation (AA22-7085). Zur Verallgemeinerung werden diese Architekturen und Architekturen, die vom Standpunkt der vorliegenden Erfindung aus dieser gleichwertig sind, als Systemarchitektur bezeichnet.
- Einige Datenverarbeitungssysteme besitzen eine Kanalerweiterungseinheit, welche eine serielle Verbindung enthält, die in den parallelen Bus zwischen den Kanal und die Steuereinheit geschaltet ist, um es zu ermöglichen, daß sich Steuereinheiten in größerer Entfernung vom Kanal befinden. Unsere Erfindung betrifft eine Vorrichtung dieses allgemeinen Typs, und diese Geräte werden später beschrieben. Die Bezeichnung "parallele Bus- Erweiterungseinheit" wird verwendet, um Verwechslungen mit anderen Begriffen zu verhindern, die später eingeführt werden.
- Wenn der Pfad vom Gerät zum Prozessor verfolgt wird, werden die Operationen einer Baugruppe zunehmend abstrakter. Vom Standpunkt einer Gerätesteuereinheit führt ein E/A-Gerät eine stark untersetzte Operationen aus, die für den Gerätetyp und für spezielle Funktionsmodelle eines Gerätetyps individuell verschieden sind.
- Vom Standpunkt der Zentralprozessoren und des Betriebssystems sind Datenübertragungsoperationen verallgemeinert ein einzelner Startbefehl wie beispielsweise Start-E/A, Start-E/A Schnellabruf oder Start Unterkanal. Andere E/A-Befehle können zum Beispiel durch einen Zentralprozessor ausgeführt werden, um die Konfiguration des E/A-Untersystems zu verändern, und stehen in keinerlei Beziehung zu der vorliegenden Erfindung.
- Vom Standpunkt des Kanals aus führen das Gerät und dessen Steuereinheit stark abstrakte Kommandos aus: Lesen und Schreiben und einige damit in Zusammenhang stehende Befehle sowie spezielle Befehle für die Systemkonfiguration und dergleichen. Durch das Betriebssystem werden CCWs gebildet und im Hauptspeicher abgelegt, um von einem Kanal ausgeführt zu werden. Ein Befehl ist in einer Mehrbyte-Dateneinheit mit der Bezeichnung Kanalbefehlswort (CCW) angegrdnet. Ein CCW besitzt mehrere Felder, einschließlich eines Feldes für ein Kommando (wie beispielsweise Lesen oder Schreiben). Es besitzt ein Adreßfeld und ein Zählerfeld, die verknüpft werden; um einen Block von Speicherplätzen im Hauptspeicher zu definieren, woraus zur Übertragung zum Gerät Date abgerufen werden sollen oder wohin Daten vom Gerät kommend geschrieben werden sollen.
- Gewöhnlich benutzt eine Datenübertragung verschiedene, sich nicht berührende Speicherbereiche im Hauptspeicher, und das Kanalprogramm kann eine Folge CCWs aufweisen, von denen jedes einen dieser Blöcke spezifiziert. Ein einzelnes CCW oder eine Gruppe aufeinanderfolgender CCWs, die denselben Befehl, aber unterschiedliche Adreßfelder besitzen, wird als CCW-Satz bezeichnet. In einigen der Beispiele, die später verwendet werden, folgt einem CCW-Satz für einen speziellen Befehl, wie beispielsweise Lesen, ein weiterer Satz für einen anderen Befehl, wie beispielsweise Schreiben. Die Verbindung aufeinanderfolgender Datenübertragungs-CCWs, die dann einen einzelnen CCW-Satz bilden, wird als Datenverkettung bezeichnet, und die Verbindung eines CCW-Satzes mit einem weiteren CCW-Satz, der einen neuen Befehl besitzt, wird als Befehlsverkettung bezeichnet. Zwei Bits im CCW binden die CCWs in eine Liste ein: das Bit "Daten verkettet" (CD) und das Bit "Befehle verkettet" (CC).
- Der Kanal greift ebenfalls auf weitere Steuerblöcke im Hauptspeicher zu. Diese Steuerblöcke speichern allgemeine Informationen über ein Gerät und Informationen über den Zustand einer aktuellen E/A-Operation mit dem Gerät. Auf diese Steuerblöcke greift ebenfalls das Betriebssystem zu.
- Konventionell verbindet ein paralleler Bus einen Kanal und eine Steuereinheit, und der Kanal und die Steuereinheit übertragen Daten und führen entsprechend einem vorgegebenen Protokoll andere Operationen auf dem Bus aus. Die spezifische Ausführungsform der vorliegenden Erfindung, die später beschrieben werden wird, ist besonders geeignet, entsprechend einem Busprotokoll zu arbeiten, das in der Veröffentlichung IBM System/360 and System/ 370 E/A interface Channel to Control Unit Original Equipment Manufacturers' Information (GA-6974). Diese Veröffentlichung wird als OEMI zitiert.
- Wenn ein Kanal eine Operation mit einem Gerät beginnt, führt er eine Operation auf dem Bus aus, die als Anfangsauswahl bezeichnet wird. Dem Gerät und der Steuereinheit wird mitgeteilt, daß Sie mit dem Kanal verbunden werden sollen, und zu einem späteren Zeitpunkt werden Sie abgetrennt. (Das Gerät und die Steuereinheit bleiben bei den beschriebenen Operationen physisch verbunden.) Während der Befehlsverkettumg trennt die Steuereinheit am Ende eines CCW-Satzes die Verbindung, und das Gerät wird für das nächste Kommando wieder ausgewählt, eine Operation die als Befehlsverkettungs-Wiederauswahl bezeichnet wird.
- Ein bekanntes Ein-/Ausgabe-Gerät ist ein Lochkartenleser. Die Karte besitzt ein festes Datenformat, zum Beispiel 80 Spalten und 12 Zeilen, und die Leseoperation beginnt immer in der ersten Spalte und endet mit der letzten Spalte. Die Leseoperation schreitet langsam voran, Byte für Byte, und der Kartenleser wird während der Verzögerung, während der die Karte mechanisch zur nächsten Spalte vorgeschoben wird, normalerweise vom Kanal getrennt. Datenübertragungen, bei denen das Gerät nur für eine kurze Zeit mit dem Prozessor verbunden ist, werden als Operationen der Bytebetriebsart bezeichnet.
- Ein weiteres bekanntes Ein-/Ausgabe-Gerät ist ein Direktzugriffsspeicher (DASD) wie beispielsweise ein Magnetplattenlaufwerk. Bei Datenübertragungen, während die Daten für den Zählwert eines CCWs oder für einen ganzen CCW-Satz übertragen werden, bleibt das Gerät normalerweise mit dem Kanal verbunden. Typischerweise hat die Platte wie eine Lochkarte ein festes Format, und der Zählwert eines CCW entspricht der Länge einer Plattenaufzeichnung. Die Aufzeichnungsgröße ist jedoch veränderlich, und ein Plattenlaufwerk kann weniger Daten übertragen oder auch den Versuch unternehmen, mehr Daten zu übertragen, als die Größe einer speziellen CCW-Aufzeichnung umfaßt. Einige Platten besitzen Abstände zwischen den Aufzeichnungen, und einige Kanäle führen die Datenverkettung und die Befehlsverkettung während des Zeitintervalls für diese Abstände aus.
- Eine allgemeine Aufgabe der vorliegenden Erfindung ist es, eine neue und verbesserte Vorrichtung zum Verbinden des parallelen Busses einer Steuereinheit mit einer bidirektionalen, seriellen Verbindung eines Kanals bereitzustellen. Erweiterungseinheiten für parallele Kanäle, die früher eingeführt worden sind, stellen Hintergrundinformationen bereit, die für das Verständnis unserer Erfindung nützlich sind. Eine Erweiterungseinheit für serielle Kanäle ist unter der Bezeichnung IBM 3044 Channel Extender kommerziell verfügbar, und Erweiterungseinheiten für,serielle Kanäle sind in verschiedenen Quellen beschrieben worden.
- Eine Veröffentlichung von Lynch und Thorn im IBM Technical Disclosure Bulletin, Band 19, Nr. 8, Januar 1977, Seiten 3139 bis 3143 mit dem Titel "Serial Link to E/A Interface" lehrt eine bidirektionale, serielle Verbindung sowie Komponenten an jedem Ende der Verbindung (normalerweise als Boxen bezeichnet), die den Anschluß der Verbindung an die parallelen Busse des Kanals und der Steuereinheit herstellen.
- Informationen, die anderenfalls vollständig über den parallelen Bus übertragen werden würden, werden in Rahmen über die serielle Verbindung gesendet. Die an den Kanal angeschlossene Box erscheint dem Kanal als Steuereinheit, und die Box, die an die Steuereinheit angeschlossen ist, erscheint der Steuereinheit als Kanal. Signale auf einem der parallelen Busse werden in serielle Rahmen umformatiert und an die andere Box gesendet, wo Sie in die Signale eines parallelen Busses zurückverwandelt werden.
- Die US-Patentschrift 4 712 176 von Fredericks et al. mit dem Titel "Serial Qhannel Interface with Method and Apparatus for Handling Data Streaming and Data Interlocked Modes of Data Transfer" beschreibt eine Version der Kanalerweiterungseinheit IBM 3044 Channel Extender.
- Die Europäische Patentanmeldung EP-A-0 352 028 (IBM) mit dem Titel "Information Handling System Having Serial Channel to Control UNit Link" beschreibt eine spätere Version der Kanalerweiterungseinheit IBM 3044 Channel Extender.
- Die amerikanische Patentschrift US-A-4 866 609 (Calta et al.) mit dem Titel "Byte Count Handling In Serial Channel Extender with Buffering for Data Pre-Fetch" lehrt einen Puffer, der sich in der Box am Kanalende der Steuereinheit (als Gerätebox bezeichnet) befindet. Die Gerätebox empfängt bei einer Schreiboperation Datenblöcke vom Kanal und bearbeitet die Operationen auf dem parallelen Bus zur Steuereinheit, die anderenfalls durch den Kanal oder durch die Gerätebox unter Schritt-für-Schritt- Steuerung des Kanals ausgeführt werden würden. Calta et. al lehren ebenfalls, daß die interne Box mit dem Kanal integriert werden kann, und daß der Kanal modifiziert werden kann, um Bytezählwert-Operationen auszuführen, die durch den Puffer in der Gerätebox möglich werden.
- Die US-Patentschrift 4 642 629 lehrt ebenfalls eine Kanalerweiterungseinheit mit einem Puffer in der sich am steuerseitigen Ende der Verbindung befindenden Box.
- In den Quellen werden für die Komponenten- einer Erweiterungseinheit für einen parallelen Buskanal verschiedene Namen verwendet. In der folgenden Beschreibung wird die Vorrichtung, die zwischen den parallelen Bus einer Steuereinheit und die serielle Verbindung eines Kanals geschaltet ist, als die Erweiterungseinheit bezeichnet. Genauso wird ein Kanal, der mit einer Erweiterungseinheit zusammenarbeitet, als Erweiterungskanal bezeichnet. Ein gleichartiger Kanal oder derselbe Kanal, der einen anderes Mikroprogramm für den Betrieb mit einer direkten seriellen Verbindung zu einer Steuereinheit benutzt, wird als serieller Kanal bezeichnet.
- Der Erweiterungskanal und die Erweiterungseinheit der vorliegenden Erfindung arbeiten zusammen, um konventionelle Operationen auf dem parallelen Bus einer Steuereinheit auszuführen, wenn der Kanal ein konventionelles Kanalprogramm ausführt. Die vorliegende Erfindung stellt ein neues serielles Rahmenprotokoll für die Kommunikation zwischen dem Erweiterungskanal und der Erweiterungseinheit bereit, das es dem Erweiterungskanal gestattet, einem seriellen Kanal sehr ähnlich zu sein.
- Das Protokoll trennt die Funktionen des Erweiterungskanals und der Erweiterungseinheit derart, daß der Erweiterungskanal im wesentlichen von dem Protokoll des parallelen Busses freigemacht wird. Das Protokoll macht den seriellen Kanal ebenfalls von beliebigen Anforderungen an die Anpassung des Protokolls paralleler Kanäle und paralleler Steuereinheiten frei.
- Das neue Protokoll verbessert weiterhin die Datenübertragungen. Wie später detailliert beschrieben werden wird, müssen bestimmte Operationen auf dem parallelen Bus innerhalb spezieller Zeitbegrenzungen beendet werden. Wenn z.B. eine Lese- oder Schreiboperation nicht stattfinden kann, wenn der adressierte Teil einer Plattenspur sich in die Schreib/Lesestation des Plattenlaufwerks schiebt, muß die Platte eine volle Umdrehung ausführen, bevor die Operation beginnen kann. Einige Steuereinheiten besitzen für Operationen, die innerhalb eines begrenzten Zeitintervalls beendet werden müssen, Zeitgeber. Wenn die serielle Verbindung mehrere Kilometer lang ist, ist die Laufzeitverzögerung ein nennenswerter Anteil dieser Zeitintervalle. Umgekehrt kann die Verbindung länger ausgeführt werden, wenn der Erweiterungskanal und die Erweiterungseinheit weniger Rahmen zur Steuerung ihrer Operationen benutzen und/oder wenn die zugehörigen Verzögerungen in der Erweiterungseinheit oder im Erweiterungskanal verringert werden können. Die Länge der seriellen Verbindung und die Anzahl der für die Steuerung der Operationen erforderlichen Rahmen sind von Bedeutung, weil einige Operationen einen Startrahmen in einer Richtung und einen Antwortrahmen in entgegengesetzter Richtung erfordern.
- In einem speziellen Beispiel führt die Erweiterungseinheit eine automatische Befehlsverkettungs-Wiederauswahl auf solche Weise aus, daß Übertragungen vermieden werden, die anderenfalls auf der seriellen Verbindung erforderlich wären. Die Erfindung stellt auch eine langsamere Betriebsart der Befehlsverkettungs- Wiederauswahl bereit, bei welcher der Erweiterungskanal und die Erweiterungseinheit Operationen ausführen, die ungefähr den Operationen entsprechen, die ein paralleler Kanal allein ausführen würde. Der Erweiterungskanal und die Erweiterungseinheit überprüfen getrennt voneinander Bedingungen, die eine erfolgreiche automatische Befehlsverkettungs-Wiederauswahl verhindern, und die Erfindung stellt ein Verfahren und eine Vorrichtung zum Abbrechen der automatischen Befehlsverkettungs-Wiederauswahl und zum Fortsetzen der Befehlsverkettung mit dem langsameren Verfahren bereit.
- In einem weiteren speziellen Beispiel sendet die Erweiterungseinheit auf eine solche Weise Datenrahmen an den Erweiterungskanal, daß die Übertragung des letzten Bytes eines Satzes vereinfacht wird. Nachdem das letzte Byte an den Kanal gesendet worden ist, sendet die Erweiterungseinheit dem Kanal einen letzten Datenrahmen, und einen Statusrahmen. Diese Rahmen melden, daß das letzte Byte empfangen worden ist und liefern weitere Informationen über die Datenübertragung. Der Kanal mißt die Zeitintervalle zwischen den von der Erweiterungseinheit kommenden Datenrahmen und erkennt das letzte Byte aus einer Pause, die charakteristisch dafür ist, daß die Steuereinheit die Vorbereitungen für die Beantragung des Beendigungsstatus trifft. Der Kanal beginnt dann mit den Operationen für die Befehlsverkettung, ohne auf den Rahmen zu warten, der von der Erweiterungseinheit kommend das Ende der Datenübertragung signalisiert. Die Zeitintervalle zeigen dem Kanal ebenfalls an, ob das Gerät eine Hochgeschwindigkeitsgerät ist, das kritische Zeitanforderungen stellt.
- Andere spezielle Merkmale und Vorteile der Erfindung werden aus der Beschreibung der bevorzugten Ausführungsform erkannt werden.
- Fig. 1 ist ein Blockschaltbild eines Datenverarbeitungssystems mit dem Erweiterungskanal und der Erweiterungseinheit der vorliegenden Erfindung.
- Fig. 2 ist ein Blockschaltbild unserer Erweiterungseinheit, der seriellen Verbindung zum Erweiterungskanal und des parallelen Busses zur Steuereinheit.
- Fig. 1 zeigt einen typischen Zentralprozessor 12, einen Hauptspeicher 13, einen typischen Kanal 15, eine Datenverteiler 16, der den-Kanal 15 und weitere Kanäle (nicht dargestellt) mit dem Hauptspeicher verbindet, typische Ein-/Ausgabe-Geräte 17a, 17b, 17c, typische Steuereinheiten 19a, 19b, die mit den Geräten verbunden sind, und die Erweiterungseinheit 22 der vorliegenden Erfindung. Die Erweiterungseinheit ist über einen parallelen Bus 24 mit den Steuereinheiten und über eine bidirektionale serielle Verbindung 18, 20 mit dem Kanal verbunden. Der Block 13 für den Hauptspeicher stellt eine Speichereinheit und eine Steuereinrichtung dar, die den Speicher mit Prozessor 12 und dem Kanal- Datenverteiler 16 verbindet. Der Datenverteiler wird später detaillierter beschrieben.
- Der parallele Bus 24 der Erweiterungseinheit kann ebenfalls an eine konventionelle Erweiterungseinheit für einen parallelen Bus angeschlossen werden. Eine Erweiterungseinheit für einen parallelen Bus erscheint dem Kanal als Steuereinheit, und genauso erscheint diese der Erweiterungseinheit als Steuereinheit. Somit verdeutlichen 19a, 19b die Verbindung einer parallelen Erweiterungseinheit mit der Erweiterungseinheit 22.
- Wie allgemein üblich umfaßt der Kanal einen Prozessor, der Hardwareeinrichtungen und ein Mikroprogramm besitzt. Wenn der Kanal mit einer Erweiterungseinheit zusammenarbeitet, werden Mikrocode-Unterprogramme für das Protokoll und Operationen, die später beschrieben werden, geladen. Wenn der Kanal mit einer seriellen Steuereinheit zusammenarbeiten soll, werden Mikrocode-Unterprogramme für ein anderes Protokoll und für andere Operationen geladen. Der Kanal kommuniziert durch Ausführung von Mikrocode- Unterprogrammen, die für beide Betriebsarten im wesentlichen gleich sind, mit dem Betriebssystem.
- Der bevorzugte Kanal arbeitet mit einer einzelnen, bidirektionalen, seriellen Verbindung 18, 20, und er arbeitet nur als serieller Kanal mit seriellen Steuereinheiten oder nur als Erweiterungskanal mit einer Erweiterungseinheit zusammen, außer wenn die Konfiguration physisch verändert und das geeignete Mikroprogramm geladen wird. Eine Aufgabe der vorliegenden Erfindung ist es, die Unterschiede zwischen den zwei Kanalbetriebsarten zu minimieren.
- Ein 8-bit-Datenbyte aus dem Kanal 15 (entweder in der seriellen Betriebsart oder in der Erweiterungsbetriebsart) oder der Erweiterungseinheit 22 wird als 10-bit-Zeichen über die serielle Verbindung 18, 20 gesendet. Vergleiche US-Patentschrift 4 486 739 von Franaszek und Widmer. Rahmen besitzen einen Zwei-Byte- Begrenzer Start-des-Rahmens (K28.5, K28.7 in der Terminologie des 8-10-Codes), ein Byte 00 hexadezimal, ein oder mehrere Rahmeninhalt-Bytes, zwei Fehlerprüfbytes und einen Drei-Byte- Begrenzer Ende-des-Rahmens (K28.6, K28.1, K28.1 für ein Trennen- Rahmenende oder K28.6, K28.4, K28.4 für ein Abbrechen-Rahmenende). Die Zeichen des Rahmeninhaltes werden später ausführlich beschrieben. Sowohl der Kanal als, auch die Erweiterungseinheit senden Leerzeichen (K28.5), wenn Sie keine Rahmen übertragen.
- Von einem allgemeineren Standpunkt aus ist das Zeichen 00 hexadezimal, das den Start-des-Rahmens-Begrenzern folgt, unter dem seriellen Protokoll ein ungültiges Zeichen. Wenn durch einen Fehler ein Erweiterungsrahmen von Komponenten empfangen wird, die unter dem Protokoll des seriellen Kanals arbeiten, wird der Rahmen zurückgewiesen, und der Fehler wird gemeldet.
- Fig. 2 ist mit der Fig. 2 von Minassian et al. identisch. Die beiden Leitungen der seriellen Verbindung 18, 20 und der parallele Bus 24 sind von Fig. 1 her bekannt. Die Leitungen 18, 20 sind vorzugsweise Lichtwellenleiter. Die Kreise in Fig. 2 stellen Ablaufsteuereinheiten dar, und die Blöcke stellen Puffer und andere Komponenten dar. Vollinien zwischen Boxen bezeichnen den Datenfluß, und Strichlinien zeigen die Verbindungen der Ablaufsteuereinheiten mit diesen Komponenten. Eine Ablaufsteuereinheit ist eine sequentielle, logische Schaltung (im Gegensatz zu einem Universalprozessor), wie Sie für spezialisierte, logische Funktionen üblich ist, die mit höherer Geschwindigkeit ausgeführt werden sollen, als Sie mit einem Universalprozessor erreicht werden würde. Ablaufsteuereinheiten werden gewöhnlich durch Zeitdiagramme beschrieben, und Sie werden aus den später beschriebenen Operationen heraus verstanden werden.
- Ein Rahmenempfänger 28 empfängt vom Kanal auf Leitung 18 einen seriellen Rahmen, wandelt die Bits im Rahmen aus dem seriellen in ein paralleles 10-bit-Format und wandelt den 10-bit-Code in ein 8-bit-Byte. Das Byte besitzt ebenfalls ein Paritätsbit und in Teilen der Erweiterungseinheit besitzt es das K-Bit, welches Teil des 8-10-Codes ist. Diese Komponenten sind für Erweiterungseinheiten paralleler Kanäle üblich.
- Genauso codiert ein Rahmensender 52 ein 8-bit-Byte in den 8-10- Code um, serialisiert den parallelen 10-bit-Code, bildet einen Rahmen und sendet den Rahmen über Leitung 20 an den Kanal. Der Rahmensender 52 erzeugt ebenfalls die CRC-Bits. Wenn der Rahmensender 52 keine Rahmen oder spezielle Folgen sendet, sendet er Leerzeichen.
- Eine Verwaltung 42 für den parallelen Bus ist mit dem parallelen Bus 24 verbunden und besitzt Empfängerschaltungen zum Empfang von Signalen von der Steuereinheit und Treiberschaltungen zum Erzeugen von Signalen für die Steuereinheit mit geeigneten Spannungen und Leistungen. Diese Struktur gleicht der entsprechenden Vorrichtung in parallelen Kanälen und in Erweiterungseinheiten für parallele Kanäle.
- Ein Datenpuffer 44 in der Erweiterungseinheit besitzt zwei separat adressierbare Puffer zu je 256 Byte, einen Bytezähler (BC) für jeden Puffer, einen Schreibdaten-gesendet-Zähler (WDS) für jeden Puffer, einen Datenanforderungszähler (DR) und einen Lese- daten-Anförderungszähler (RDR). Der Puffer besitzt ebenfalls konventionelle Schreib- und Abrufzeiger, wie Sie von Calta beschrieben worden sind. Der Puffer 44 ist so angeschlossen, daß er von der Verwaltung 42 für den parallelen Bus Daten für eine Leseoperation empfängt und bei einer Schreiboperation Daten für die Verwaltung 42 für den parallelen Bus bereitstellt.
- Der Lesedaten-Anforderungszähler (RDR) speichert die Anzahl der für eine Leseoperation vom Kanal angeforderten Bytes. Ein neuer Zählwert vom Kanal wird zum Inhalt dieses Zählers addiert, und der Zähler wird durch die Ablaufsteuereinheit OUTFRSM dekrementiert, wenn ein Byte an den Kanal gesendet wird. Wenn der Zählwert in diesem Register null ist, werden keine Bytes an den Kanal gesendet, selbst dann nicht, wenn der Puffer Bytes enthält.
- Ein neuer Zählwert vom Kanal wird ebenfalls zum Inhalt des Datenanforderungszähler (DR) addiert. Dieser Zähler wird dekrementiert, wenn ein Byte in den Puffer geladen wird, und der Zählwert wird negativ, wenn das Gerät mehr Bytes übertragen hat, als der aktuelle Zählerstand angezeigt hatte, wie es bei verketteten Daten-Leseoperationen geschieht.
- Ein Pufferzähler zeigt an, wieviele Bytes im Puffer vorhanden sind. Der Übertragungszähler zeigt an, wieviele Bytes für das aktuelle CCW übertragen worden sind. Er wird auf null zurückgesetzt, nachdem ein Markierungsbit CDAEND an den Kanal gesendet worden ist.
- Ein Paar Rahmen-Eingangspuffer 32 und ein Satz Rahmen-Eingangsregister 36 bilden einen Teil des Pfades, den Rahmen von Rahmenempfänger 28 kommend durchlaufen. Die zwei Rahmen-Eingangspuffer sind jeder für sich lang genug, um den längsten eingehenden Rahmen speichern zu können (vorzugsweise 20 Zeichen zu je 9 bit, ein 8-bit-Datenbyte plus ein Paritätsbit). Der Inhalt eines Puffers wird gelesen, während der andere Puffer geladen wird. Diese Puffer werden in der Patentanmeldung von Minassian et al. beschrieben. Die Bytes aus den Rahmen-Eingangspuffern 32 werden auf vorgegebene Plätze der Rahmen-Eingangsregister 36 übertragen, wo die Ablaufsteuereinheiten für spezielle Operationen auf Sie zugreifen können.
- Ein Rahmen-Ausgangsregister 50 bildet für die Daten, die über den Kanal übertragen werden sollen, einen Teil des Pfades zwischen dem Puffer 44 der Erweiterungseinheit und dem Rahmensender 52. Die Ablaufsteuereinheiten, die den Datenfluß durch diese Komponenten steuern, werden erklärt, nachdem das Protokoll und die unter dem Protokoll stattfindenden Operationen erklärt worden sind.
- Die Erweiterungseinheit enthält ebenfalls für allgemeine Operationen, die langsam ausgeführt werden können, zum Beispiel für die Übertragung des Inhalts der Register der Erweiterungseinheit an den Kanal zu Diagnosezwecken, einen Mikroprozessor. Operationen dieses Typs sind wohlbekannt, und der Mikroprozessor bedarf keiner Erklärung.
- In der vorliegenden Beschreibung werden die Bytepositionen vom ersten Zeichen des Rahmeninhalts an numeriert, wobei die zwei Begrenzerbyte des Rahmens und das Byte 00 hexadezimal ignoriert werden.
- Die Bitpositionen 6 und 7 in dem ersten Byte des Rahmeninhalts jedes Rahmens kennzeichnen die Operation oder den Rahmentyp und werden als Op-Feld bezeichnet. Diese zwei Bitpositionen definieren drei Rahmentypen, die sowohl vom Kanal als auch von der Erweiterungseinheit verwendet werden, einen Typ, der nur vom Kanal verwendet wird, und einen Typ, der nur von der Erweiterungseinheit verwendet wird. Ein Datenrahmentyp (Op-Bits = 01), der Steuerungsrahmentyp (10) und der Testrahmentyp (11) werden sowohl vom Kanäl äls auch von der Erweiterungseinheit verwendet. Der Kanal bildet ebenfalls einen Befehlsrahmentyp, und die Erweiterungseinheit bildet des weiteren einen Statusrahmentyp (beide 00). Die Bitpositionen 0 bis 5 des ersten Bytes beinhalten Markierungsbits oder Codes, und dieses Byte wird als Op/Markierung-Byte oder Op/Code-Byte bezeichnet.
- Die Befehlsrahmenbits 0 bis 5 des ersten Bytes des Befehlsrahmens speichern Markierungsbits, wie in Tabelle 1 dargestellt. Das zweite Byte eines Befehlsrahmens beinhaltet den Befehl eines CCW. Das dritte Byte eines Befehlsrahmens beinhaltet die Geräteadresse, und das vierte Byte beinhaltet die Parameter, die in Tabelle 2 dargestellt sind. Tabelle 1: Befehlsrahmen-Markierungsbits
- Alle Befehls-Markierungsbits werden später im Zusammenhang mit Beispielen der automatischen Befehlsverkettungs-Wiederauswahl diskutiert.
- Auf dem parallelen Bus zeigt die Markierung SUPPRESS OUT der Steuereinheit an, daß vor dem Senden weiterer Bytes bei einer Leseoperation gewartet werden soll. Ein Befehlsrahmen mit einem auf 1 gesetzten Markierungsbit SUPPRESS DATA kann verwendet werden, wenn eine Erweiterungseinheit eine Datenübertragung mit einer Steuereinheit ausführt, die über eine Erweiterungseinheit für einen parallelen Bus angeschlossen ist. Die Verbindung mit der Erweiterungseinheit für den parallelen Bus dient als Puffer, und während einer Leseoperation führt Sie Bytes, die in den Puffer der Erweiterungseinheit geladen werden müssen. Die Erweiterungseinheit setzt SUPPRESS OUT auf dem parallelen Bus, wenn die Anzahl der Bytes im Puffer der Erweiterungseinheit den höchsten Wert (vorzugsweise 128) erreicht, der es gestattet, daß der Puffer der Erweiterungseinheit mit dem Empfangen der maximalen Anzahl von Bytes, die über den parallelen Bus und die Verbindung mit der Erweiterungseinheit für den parallelen Bus kommen, ohne überzulaufen fortfahren kann. Wenn diese Bit auf 0 gesetzt ist, setzt die Erweiterungseinheit SUPPRESS OUT nur dann, wenn eine kleine Anzahl Bytes (vorzugsweise 16) zum Überlaufen des Puffers der Erweiterungseinheit führen würde. Der Kanal setzt dieses Bit von üblicherweise verfügbaren Konfigurationsdaten für das Ein/Ausgabe-Untersystem.
- TIME DX schaltet einen Zeitgeber ein oder aus, der einen Fehler signalisiert, wenn, die Erweiterungseinheit während eines vorgegebenen Zeitintervalles keine Daten empfängt. Die anderen Parameter sind aus der Systemarchitektur und der OEMI-Publikation einfach zu verstehen. Das erste Parameterbit (4.5) setzt die Datenrate für Datenübertragungen im Datenstrommodus. Eine Steuereinheit kann zwischen einem Primärstatus und einem Sekundärstatus umschalten, wenn das Bit SELECT MODE auf 0 gesetzt ist, und kann dies nicht, wenn das Bit auf 1 gesetzt ist. BYTE MODE kennzeichnet ein Gerät, das zu jeder Zeit von der Erweiterungseinheit getrennt werden kann, wie beispielsweise einen Lochkartenstanzer.
- Bei einer Leseoperation führt ein eingehender Datenrahmen, der als Datenlesen-Rahmen bezeichnet wird, das Op/Markierung-Byte und eine geeignete Anzahl Lese-Datenbytes zur Übertragung vom Kanal in den Hauptspeicher (vorzugsweise 0 bis 16 Bytes pro Rahmen). Tabelle 4 zeigt die Zuordnung der Markierungsbits für eingehende Rahmen. Ein abgehender Rahmen, Datenlesen-Anforderungsrahmen genannt, beinhaltet drei Bytes: das Op/Markierung-Byte sowie ein zwei Bytes umfassendes Zählerfeld. Tabelle 3 zeigt die Zuordnung der Markierungsbits für abgehende Rahmen.
- Bei einer Schreiboperation beinhaltet ein abgehender Rahmen, Datenschreiben-Rahmen genannt, das Op/Markierung-Byte und eine geeignete Anzahl Schreib-Datenbytes zur Übertragung von der Erweiterungseinheit zur Steuereinheit (vorzugsweise 0 bis 16 Bytes pro Rahmen). Die Markierungsbits für abgehende Schreiben-Rahmen sind dieselben wie die abgehenden Lese-Markierungsbits und sind in Tabelle 3 dargestellt. tin eingehender Rahmen, Schreibdatengesendet-Rahmen genannt, beinhaltet das Op/Markierung-Byte und ein Byte umfassendes Zählerfeld, welches die Anzahl der von der Erweiterungseinheit an die Steuereinheit gesendeten Schreib-Datenbytes, entweder seitdem der Befehlsrahmen empfangen wurde oder seit dem Senden des letzten Schreibdaten-gesendet-Rahmens an den Kanal (vorzugsweise 0 bis 32 Bytes pro Rahmen), anzeigt. Die Markierungsbits für eingehende Schreiben-Rahmen sind dieselben wie die eingehenden Lesen-Markierungsbits und sind in Tabelle 4 dargestellt. Tabelle 3: Markierungsbits abgehender Datenrahmen Tabelle 4: Markierungsbit eingehender Datenrahmen
- Das Markierungsbit END zeigt der Erweiterungseinheit an, daß der aktuelle Zählwert das Ende des CCW-Satzes ist. Das Markierungsbit CDAEND zeigt der Erweiterungseinheit an, das der aktuelle Zählwert ein CCW mit verketteten Daten beendet. Datenlesen-Anforderungsrahmen, die nicht den Zählwert des momentanen CCW ausgeben, haben die beiden Markierungsbits END und CDAEND auf zurückgesetzt. Die Erweiterungseinheit hält das Markierungsbit END oder das Markierungsbit CDAEND (je nachdem welches in dem Anforderungsrahmen zum Datenlesen aktiv ist) während der Datenübertragung zurück. Das Markierungsbit END wird bei einem eingehenden Datentyp-Rahmen durch die Erweiterungseinheit an den Kamal zurückgegeben, wenn die Steuereinheit Daten in das letzte Byte eines CCW-Satzes überträgt. Das Markierungsbit CDAEND wird genauso zurückgegeben, wenn die Steuereinheit Daten in das letzte Byte des aktuellen CCW überträgt. In Reäktion auf diese beiden Markierungsbits führt die Erweiterungseinheit Operationen aus, die später beschrieben werden.
- Ein abgehender Steuerungsrahmen hat drei Bytes, und ein eingehender Steuerungsrahmen besitzt sechs Bytes. In beiden Steuerungsrahmen beinhalten die Bitpositionen 0 bis 4 einen Fünf-bit- Code. Tabelle 5 zeigt die Codes für einen abgehenden Steuerungsrahmen, und Tabelle 7 zeigt die Codes für einen eingehenden Steuerungsrahmen. Nicht alle 32 Kombinationen sind benutzt. Bit 5 wird nicht verwendet und ist in jedem Steuerungsrahmen auf 0 gesetzt. Die Codes enden auf hexadezimal 2 oder hexadezimal A, weil die letzten drei Bits 010 sind. Das zweite Byte beinhaltet für einen abgehenden Steuerungsrahmen die in Tabelle 6 gezeigten Markierungsbits und für einen eingehenden Steuerungsrahmen die in Tabelle 8 gezeigten Markierungsbits. Das dritte Byte enthält für alle Steuerungsrahmen die Geräteadresse, außer für BYTEZÄHLWERT GÜLTIG SETZEN (Code 42 hexadezimal in Tabelle 5), welcher den vom Kanal erwarteten Puffer-Zählwert enthält. In einem eingehenden Steuerungsrahmen beinhalten das vierte und fünfte Byte einen Zählwert, Übertragungs-Zählwert genannt, und das sechste Byte speichert einen Zählwert genannt Puffer-Zählwert. Tabelle 5: Codes abgehender Steuerungsrahmen Tabelle 6: Markierungsbits abgehender Steuerungsrahmen
- Einige dieser Codes werden später beschrieben, wenn sie in Beispielen für die Arbeitsweise der Erweiterungseinheit und des Erweiterungskanals erscheinen. Andere sind aus den Kommentaren in den Tabellen oder aus ihrer direkten Beziehung, zum Protokoll des parallelen Busses einfach zu verstehen. Tabelle 7: Codes eingehender Steuerungsrahmen
- Die Codes 82 bis 92 werden in den Beispielen erklärt. Der Code 9A wird in einer in Beziehung stehenden Patentanmeldung beschrieben. Die anderen Codes entsprechen dem Protokoll des parallelen Busses. Tabelle 8: Markierungsbits eingehender Steuerungsrahmen
- Dieser Rahmen besitzt sechs Bytes. Das erste Byte beinhaltet die in Tabelle 9 gezeigten Markierungsbits. Tabelle 9: Statusbyte 1
- Das zweite Byte beinhaltet den Gerätestatus von Bus In. Das dritte Byte beinhaltet den Status der Erweiterungseinheit, wie in Tabelle 10 dargestellt. Tabelle 10: Status der Erweiterungseinheit
- Die Bits 0, 6 und 7 ergeben sich aus dem Protokoll des parallelen Busses oder der Systemarchitektur. Die Bits 1 und 2 entsprechen den Markierungsbits in einem abgehenden Steuerungsrahmen und stellen eine Anzeige für den Kanal bereit, daß die Erweiterungseinheit alle Daten übertragen hat und das COMMAND OUT auf HIGH gesetzt wurde, um die Steuereinheit zu stoppen. Bit 3 signalisiert den Ausfall des Lichtsignals auf dem eingehenden Lichtwellenleiter oder eine spezielle Befehlsfolge, genannt keine betriebsmäßig gültige Folge, welche durch die Komponente, die die Folge sendet, einen Fehler meldet. Die Bits 4, 5 und 6 kennzeichnen Fehler, die durch die Erweiterungseinheit erkannt worden sind.
- Das vierte und fünfte Byte, der Übertragungs-Zählwert, stellen, den Inhalt eines Zählers in der Erweiterungseinheit dar, der als Übertragungszähler bezeichnet wird und der die Gesamtzahl der zwischen Kanal und Steuereinheit übertragenen Datenbytes für das aktuelle CCW anzeigt. Der Übertragungs-Zählwert wird durch den Kanal für die Überprüfung der Gültigkeit der seriellen Datenübertragung verwendet. Das sechste Byte, der Puffer-Zählwert, ist der Inhalt eines Pufferzähler, der ebenfalls für die Überprüfung der Gültigkeit der seriellen Datenübertragung verwendet wird, was später beschrieben wird.
- Diese Rahmen gestatten es dem Kanal, die Konfiguration der Erweiterungseinheit einzustellen (zum Beispiel einen Parameter für ein Zeitlimit in der Erweiterungseinheit zu setzen), zu Zwecken der Fehleranalyse Register der Erweiterungseinheit zu lesen und den parallelen Bus zu Zwecken der Diagnose und Fehleranalyse direkt zu lesen und zu steuern.
- Das Programm von Tabelle 11 ergibt sich aus der Systemarchitektur. Die Befehle jedes CCW werden zur Klarheit wiederholt, aber diese Felder sind für die CCWs 2 und 3 auf Hexadezimal 00 gesetzt. Die symbolischen Adressen DA1 ... DA4 stellen Mehrbit- Adressen im Hauptspeicher des Prozessors dar. Die Bytezählwerte sind zufällig, mit der Ausnahme, daß sie in diesem Beispiel keinen Bytezählwert 0 aufweisen. Tabelle 11: Beispiel für Kanalprogramm
- (Ende des CCW-Satzes und des Kanalprogramms)
- Im folgenden Beispiel läuft die Operation Verkettetes Datenlesen ohne spezielle Bedingungen ab, die zusätzliche Rahmen erfordern würden.
- 1. Der Kanal sendet der Erweiterungseinheit einen Befehlsrahmen mit auf 1 gesetztem Markierungsbit READ CDA, was kennzeichnet, daß ein weiterer CCW-Zählwert gesendet wird. Das Markierungsbit CDAEND ist auf 0 gesetzt, was kennzeichnet, daß dieser Zählwert nicht das aktuelle CCW erschöpft. Das Markierungsbit END ist auf 0 gesetzt, was kennzeichnet, daß das aktuelle CCW nicht das Ende des Kanalprogramms bildet.
- 2. Die Erweiterungseinheit legt die Geräteädresse auf BUS OUT und nimmt ADDRESS OUT, HOLD OUT und SELECT OUT auf HIGH. (Die Geräteadresse kommt aus dem dritten Byte des Befehlsrahmens.) (in einem parallelen Kanal werden HOLD OUT und SELECT OUT zusammen von LOW auf HIGH und umgekehrt umgeschaltet, und sie sind in der Verwaltungseinheit des parallelen Busses 32 elektrisch miteinander verbunden.) Die Steuereinheit legt für das adressierte Gerät OPERATIONAL IN auf HIGH. Die Erweiterungseinheit legt ADDRESS OUT auf LOW, und der Anfangs-Initialisierungsprozeß geht weiter.
- Der Anfangsstatus zeigt, ob das Gerät die Operation ausführen kann. In diesem Beispiel sagt der Status aus, daß die, Operation fortgesetzt werden kann. Diese von der Erweiterungseinheit ausgeführten Operationen sind die Operationen, die anderenfalls durch den Kanal auf einem parallelen Bus ausgeführt werden würden, und die Erweiterungseinheit sendet jetzt einen Statusrahmen an den Kanal, wobei das Statusbyte von BUS IN in Byteposition 2 steht. Der Kanal führt die üblichen Operationen mit dem Gerätestatus aus und sendet dann der Erweiterungseinheit einen Datenlesen-Anforderungsrahmen mit gesetztem Bit REAB DATA REQUEST, gesetztem CDAEND und dem Wert 16 im Bytezählwert-Feld - der Zählwert in CCW1.
- 3. Die Erweiterungseinheit und die Steuereinheit beenden jetzt die konventionelle Anfangsäuswahl: Die Erweiterungseinheit legt SERVICE OUT auf HIGH, um der Steuereinheit anzuzeigen, daß der Kanal den Status akzeptiert hat, die Steuereinheit legt STATUS IN auf LOW, und dann nimmt die Erweiterungseinheit SERVICE OUT auf LOW. Die Steuereinheit gibt dann ein Datenbyte auf BUS IN und legt SERVICE IN oder DATA IN auf HIGH, um die Übertragung zu beginnen. Die Erweiterungseinheit überträgt, wie später erklärt wird, diese Datenbytes an den Kanal.
- Die Kette der CCWs definiert verschiedene Speicherblöcke im Prozessorspeicher, und die Datenübertragung in der Steuereinheit ist von der Datenverkettung unabhängig. Die Steuereinheit legt das nächste Byte auf BUS IN und nimmt SERVICE IN oder DATA IN (die Übertragungen werden durch die Steuereinheit initiiert) auf HIGH. Die Erweiterungseinheit akzeptiert das Byte, weil das nächste CCW vermutlich einen Bytezählwert besitzt, der hoch genug ist, um es zu verarbeiten.
- Der Kanal ruft das nächste CCW, CCW4, ab und sendet der Erweiterungseinheit den zweiten Datenlesen-Anforderungsrahmen. Der Rahmen hat einen Zählwert von 4 (im zweiten und dritten Byte), was dem Bytezählwert in CCW4 entspricht. Das Bit CDAEND ist auf 1 gesetzt, weil dieser Zählwert CCW4 erschöpft. Das Markierungsbit Datenverkettung ist gesetzt, was dem Bit Datenverkettung im CCW entspricht.
- Der Kanal ruft das nächste CCW ab und sendet der Erweiterungseinheit den zweiten Datenlesen-Anforderungsrahmen mit einem Zählwert von 4 und gesetztem Bit CDAEND.
- Die Operation mit CCW3 beginnt so, wie es bereits erklärt worden ist, mit der Ausnahme, daß das CC-Bit auf 1 gesetzt und das CD- Bit auf 0 zurückgesetzt ist. Nachdem die Steuereinheit das letzte Byte (Byte 31) übertragen hat und die Erweiterungseinheit die Datenausgabe-Markierung auf LOW gesetzt hat, um anzuzeigen, daß das letzte Byte akzeptiert worden ist, kann die Steuereinheit das Ende ihres eigenen Datenformats erreicht haben (wie die letzte Spalte einer Lochkarte) und legt anstatt der Markierung DATA IN die Markierung STATUS IN auf HIGH.
- Da das Bit Befehlsverkettung gesetzt ist, ruft der Kanal das nächste CCW ab, und die Erweiterungseinheit und der Kanal arbeiten zusammen, um eine Operation Befehlsverkettung auszuführen, was als nächstes erklärt wird.
- Als Einführung in die Arbeitsweise des Kanals und der Erweiterungseinheit auf der seriellen Verbindung ist es hilfreich anzuschauen, wie ein paralleler Kanal die Befehlsverkettungs-Wiederauswahl ausführt.
- 1. Die Steuereinheit gibt den Primärstatus aus, nachdem das letzte Byte übertragen worden ist. Der Kanal legt SUPPRESS OUT und SERVICE OUT auf HIGH, und die Steuereinheit antwortet, indem sie die Markierung STATUS IN und OPERATIONAL IN auf LOW nimmt, wodurch sie sich vom Bus abschaltet. Das Gerät wird wie schon beschrieben neu ausgewählt.
- 2. Der Kanal ruft das nächste CCW ab und präsentiert der Steuereinheit auf BUS OUT den Befehl. Die steuereinheit legt den Anfangsstatus auf BUS IN und nimmt die Markierung STATUS IN auf HIGH.
- 3. Der Kanal überprüft den Anfangsstatus, und wenn der Status befriedigend ist und andere Bedingungen erfüllt werden, legt der Kanal die Markierung SERVICE OUT auf HIGH und die Steuereinheit legt die Markierung STATUS IN auf LOW.
- 4. In Reaktion auf das Abfallen von SERVICE OUT, setzt die Steuereinheit die Markierung SERVICE IN oder DATA IN auf HIGH und legt in einer Leseoperation das erste Byte auf IN. (SERVICE IN bedient eine Datenübertragung im verriegelten Modus und DATA IN beginnt eine Operation im Datenstrommodus.) Der Kanal setzt dann die entsprechende Markierung SERVICE OUT oder DATA OUT auf HIGH und legt in einer Schreiboperation das erste Byte auf BUS OUT.
- Für Kanaloperationen, die in dem Zwischenraum zwischen Sätzen ausgeführt werden, hat das Gerät eine kurze Zeitbegrenzung (ungefähr 30 Mikrosekunden), während der es das Ansteigen von COM- MAND OUT empfangen muß. Wenn der verkettete Befehl ein Schreibbefehl ist, muß das Gerät das erste Byte innerhalb von ungefähr 30 Mikrosekunden nach dem Ansteigen von COMMAND OUT empfangen. Eine Schreiboperation wird beschrieben, weil sie diese beiden Zeitanforderungen verdeutlicht.
- Auf der seriellen Verbindung arbeiten der Erweiterungskanal und die Erweiterungseinheit zusammen, um dieselbe Gesamtoperation auszuführen wie der parallele Kanal. Vom Standpunkt sowohl des Betriebssystems als auch der Steuereinheit ist die Operation dieselbe geblieben wie zuvor.
- Die untenstehenden numerierten Abschnitte zeigen die Folge der Operationen, wenn die Erweiterungseinheit in Reaktion auf das Bit Befehlsverkettung im letzten Datenlesen-Anforderungsrahmen vom Kanal (in CCW3) eine automatische Befehlsverkettungs-Wiederauswahl ausführt. Es ist zu beachten, daß die Operationen der Steuereinheit die üblichen sind.
- 1. Die Steuereinheit gibt den Beendigungsstatus aus, indem sie ein Gerätestatusbyte auf BUS IN legt und die Markierung STATUS IN auf HIGH legt. Mit dem Ansteigen von STATUS IN beginnen die Zeitgeber in der Steuereinheit zu laufen, um das Ansteigen von COMMAND OUT und das erste Byte einer nachfolgenden Schreiboperation zu erfassen.
- 2. Die Erweiterungseinheit untersucht das Gerätestatusbyte auf die folgenden Bedingungen: Das Bit DEVICE END (Gerät Ende) und das Bit CHANNEL END (Kanal Ende) müssen beide auf 1 gesetzt sein, das Bit STATUS MODIFIER (Statusmodifikation) kann entweder oder 1 sein, und alle anderen Bits müssen auf 0 gesetzt sein. In diesem Beispiel erfüllt das Gerätestatusbyte diese Prüfungen.
- Die Erweiterungseinheit sendet das Gerät-Ende-Statusbyte in einem Statusrahmen an den Kanal, wobei das Markierungsbit CCINPROG auf 1 gesetzt ist; sie signalisiert der Steuereinheit die Befehlsverkettung, indem sie SUPPRESS OUT auf HIGH nimmt; und sie legt SERVICE OUT auf HIGH, um den Gerätestatus zu akzeptieren. Die Steuereinheit kann dann von der Erweiterungseinheit auf die Art, wie sie durch die Systemarchitektur und die OEMI-Publikation definiert ist, abgeschaltet werden.
- Wenn das Bit SELECTOR MODE in den Parametern des aktuellen Befehlsrahmens auf 0 gesetzt ist, gestattet die Erweiterungseinheit der Steuereinheit während der Befehlsverkettung zwischen CHANNEL END und DEVICE END abzuschalten, indem HOLD OUT und SELECT OUT auf LOW gelegt werden, wenn SERVICE OUT auf HIGH genommen wird, um den primären Beendigungsstatus zu akzeptieren. Wenn das Bit SELECTOR MODE auf 1 gesetzt ist, nimmt die Erweiterungseinheit SERVICE OUT auf HIGH, ohne HOLD OUT und SELECT OUT abfallen zu lassen, was bewirkt, daß die Steuereinheit OPERATIONAL IN auf HIGH läßt und damit zwischen dem Primärstatus und dem Sekundärstatus logisch angeschlossen bleibt.
- (Als Bestandteil des Protokolls für den parallelen Bus besitzt das Gerätestatusbyte ein Bit für Kanal Ende (CHANNEL END) und ein Bit für Gerät Ende (DEVICE END). Kanal Ende bedeutet, daß der Kanal frei ist, um einige nicht im Zusammenhang stehende Operationen auszuführen, und Gerät Ende bedeutet, daß das Gerät bereit ist, mit einer weiteren Operation zu beginnen. In einigen Situationen tritt ein Kanal Ende ohne Gerät Ende auf, und die Steuereinheit stellt später die Verbindung wieder her, um einen Status mit Gerät Ende vorzulegen. Das spätere Statusbyte mit dem Status Gerät Ende wird als Sekundärstatus bezeichnet. Das erste Statusbyte mit Kanal Ende und mit oder ohne Gerät Ende wird als Primärstatus bezeichnet.)
- Wenn das Primärstatusbyte diesen Test nicht besteht, ist es möglich, daß die Erweiterungseinheit und der Kanal in der Lage sind, eine normale, verkettete Schreiboperation fortzusetzen, und die Erweiterungseinheit sendet das Statusbyte in einem Statusrahmen an den Kanal, wobei das Markierungsbit CCINPROG auf gesetzt ist, und die Erweiterungseinheit legt SERVICE OUT nicht auf HIGH. Der Kanal untersucht das Statusbyte und wählt eine geeignete Aktion aus, um eine Fehlerbehebung auszuführen oder mit der normalen Operation fortzufahren. Der Kanal sendet an die Erweiterungseinheit einen Steuerungsrahmen mit einem Code zum Akzeptieren des Statusses, zum Akzeptieren des Statusses und zum Anzeigen der Befehlsverkettung oder zum Kellern des Statusses. Die Erweiterungseinheit legt SERVICE OUT auf HIGH, um den Status zu akzeptieren, oder COMMAND OUT auf HIGH, um den Status zu kellern. Wenn das Statusbyte zum Beispiel kein DEVICE END enthält, wird das Gerät später einen Sekundärstatus anlegen (mit auf 1 gesetztem Bit DEVICE END). Diese Operationen des Kanals und die nachfolgenden Operationen der Erweiterungseinheit sind bei einem parallelen Kanal üblich und erfordern keine spezielle Erläuterung.
- 3. Die Steuereinheit legt STATUS IN und OPERATIONAL IN auf LOW, und die Erweiterungseinheit legt SERVICE OUT auf LOW. Das Gerät ist jetzt vom Kanal abgeschaltet. Dies ist der normale Protokollablauf für das Abschalten eines Gerätes vom Kanal. Es ist zu beachten, daß die Erweiterungseinheit nicht den üblichen CU-abgeschaltet-Steuerungsrahmen an den Kanal sendet; die Abschaltung des Gerätes erfolgt automatisch, wenn das Statusbyte den Test besteht.
- 4. Die Erweiterungseinheit legt die Geräteadresse auf BUS OUT und nimmt ADDRESS OUT, HOLD OUT und SELECT OUT auf HIGH. Die Steuereinheit legt OPERATIONAL IN auf HIGH. Die Erweiterungseinheit läßt SUPPRESS OUT und ADDRESS OUT abfallen, und die Steuereinheit nimmt ADDRESS IN auf HIGH und legt ihre Adresse auf BUS IN.
- Die Operation in der Erweiterungseinheit kann nicht weiter gehen, bis der Kanal die unten stehenden Schritte 5 und 6, beendet und die Erweiterungseinheit den neuen Befehl empfangen hat. In einigen Situationen beendet der Kanal die Schritte 5 und 6 bevor die Erweiterungseinheit Schritt 4 beendet.
- 5. Wenn der Kanal den Rahmen für den Beendigungsstatus erhält, führt er in Reaktion auf den Gerätbeendigungsstatus konventionelle Operationen aus und führt weitere Tests durch, um zu entscheiden, ob die Operation fortgesetzt werden kann. (Der Test durch die Erweiterungseinheit ist allein nicht ausreichend; zum Beispiel ruft der Kanal das nächste CCW ab und überprüft dessen Gültigkeit.)
- 6. Wenn die Operation fortgesetzt werden soll, sendet der Kanal an die Erweiterungseinheit einen Befehlsrahmen, bei dem im zweiten Byte der Schreibbefehl von CCW4 steht und in dem alle Bits in dem Op/Markierung-Byte auf 0 gesetzt sind.
- 7. Die Erweiterungseinheit legt den Schreibbefehl auf BUS OUT und nimmt die Markierung COMMAND OUT auf HIGH (oder die Erweiterungseinheit und die Steuereinheit setzen ihre Operationen über oben stehenden Abschnitt 4 fort, und die Erweiterungseinheit legt den Befehl auf den Bus).
- 8. Bei dem Schreibbefehl dieses Beispiels sendet der Kanal unmittelbar einen Datenrahmen mit 16 Bytes (das Maximum im bevorzugten Rahmenformat, weniger, wenn der Bytezählwert kleiner als 16 ist). Die Markierungsbits END und CDAEND sind in diesem Datenrahmen auf 0 gesetzt, weil der CCW-Zählwert 21 ist und ein weiterer Schreiben-Datenrahmen mit den verbleibenden Bytes gesendet werden wird.
- Die Steuereinheit stoppt jetzt beim Ansteigen von COMMMND OUT ihren Zeitgeber. Die bisher verstrichene Zeit für die Operation enthält einen Verbindungsdurchlauf: den Statusrahmen von der Erweiterungseinheit und den Befehlsrahmen vom Kanal. Die automatische Wiederauswahl hat die Verzögerung vermieden, die anderenfalls der Kanal benötigt hätte, um den Steuerungsrahmen mit STATUS AKZEPTIEREN / CC ANZEIGEN (hexadezimaler Code 2A) und mit gesetztem Markierungsbit INIT CC RESEL zu senden.
- 9. In Reaktion auf COMMAND OUT, legt die Steuereinheit ADDRESS IN auf LOW, und die Erweiterungseinheit läßt dann COMMAND OUT abfallen.
- 10. Das Gerät liefert den Anfangsstatus, indem es sein Statusbyte auf BUS IN legt und STATUS IN auf HIGH setzt.
- 11. Die Erweiterungseinheit überprüft den Anfangsstatus auf durchgehende 0-Bits, setzt SERVICE OUT, um den Anfangsstatus zu akzeptieren und sendet den Anfangsstatus an den Kanal. Die Erweiterungseinheit legt SUPPRESS OUT auf HIGH, was eine frühzeitige Anzeige von SUPPRESS DATA für die Steuereinheit ist. Der Kanal überprüft den Status und setzt die Operation fort, wenn das Statusbyte hexadezimal 00 ist.
- 12. Der Kanal sendet einen Schreiben-Datenrahmen mit den verbleibenden 5 Bytes des CCW-Zählwertes an die Erweiterungseinheit. In diesem Rahmen ist das Markierungsbit END auf 1 gesetzt, um das Ende des CCW-Satzes anzuzeigen, und die Bits CD und CC sind jeweils auf 0 gesetzt, um das Ende des Kanalprogramms anzuzeigen. Vorzugsweise wird der Puffer der Erweiterungseinheit unabhängig von den anderen Operationen der Erweiterungseinheit geladen, und der zweite Datenrahmen kann zu jedem geeigneten Zeitpunkt gesendet werden.
- In Reaktion auf SERVICE OUT, läßt die Steuereinheit STATUS IN abfallen. Dann nimmt die Erweiterungseinheit SERVICE OUT und SUPPRESS OUT auf LOW.
- 13. Die Erweiterungseinheit überträgt 21 Bytes unter dem normalen Datenkennungsprotokoll an die Steuereinheit.
- 14. Die Erweiterungseinheit sendet einen Schreibdaten-gesendet- Rahmen mit einem Bytezählwert von 21 und gesetztem Markierungsbit END an den Kanal.
- 15. Wenn die Steuereinheit nach dem letzten Byte des CCW-Satzes (Byte 21) SERVICE IN oder DATA IN auf HIGH legt, nimmt die Erweiterungseinheit COMMAND OUT auf HIÖH, worauf die Steuereinheit SERVICE IN oder DATA IN abfallen läßt, die Erweiterungseinheit COMMAND OUT abfallen läßt und die Steuereinheit den primären Beendigungsstatus auf HIGH legt.
- 16. Die Erweiterungseinheit sendet einen Statusrahmen mit dem primären Gerätebeendigungsstatus an den Kanal. Der Kanal sendet der Erweiterungseinheit einen Steuerungsrahmen mit dem Code für AKZEPTIERE STATUS, und die Erweiterungseinheit akzeptiert den Beendigungsstatus, indem sie SERVICE OUT auf HIGH und HOLD OUT und SELECT OUT auf LOW legt. Das Abfallen von HOLD OUT und SELECT OUT gestattet es der Steuereinheit abzuschalten.
- 17. Die Steuereinheit schaltet ab, indem sie OPERATIONAL IN abfallen laßt und die Erweiterungseinheit läßt SERVICE OUT abfallen.
- 18. Die Erweiterungseinheit sendet an den Kanal einen Steuerungsrahmen mit dem Code für STEUEREINHEIT ABGESCHALTET.
- Wenn die Erweiterungseinheit erkennt, daß die automatische Wiederauswahl nicht fortgesetzt werden kann (wie schon erklärt worden ist), oder wenn der Kanal eine Bedingung findet, die das Fortsetzen verhindert (wie in den Beispielen), führt der Kanal eine konventionelle, selektive Rücksetzoperation aus, indem er der Erweiterungseinheit einen Steuerungsrahmen mit Op/Code-Byte sendet, um ein SELEKTIVES ZURÜCKSETZEN (hexadezimal 72) anzuzeigen, und Bit 0 des Markierungsbit-Bytes ist auf 1 gesetzt (Verbiete Anfangsauswahl).
- Während einer Schreiboperation erkennt die Rahmen-Eingangspuffer-Ablaufsteuereinheit IBFSM 30 (In-Buffer Frame state machine), daß vom Rahmenempfänger 28 ein Rahmen empfangen worden ist, überprüft die CRC-Bytes auf Gültigkeit und speichert den Rahmen in einen der zwei Rahmen-Eingangspuffer 32. Wenn die IBFSM einen Rahmen in einem Rahmen-Eingangspuffer 32 gespeichert hat, schaltet sie ihren Eingangszeiger um, um für den nächsten Rahmen den anderen Rahmen-Eingangspuffer auszuwählen.
- Wenn die INFRSM-Ablaufsteuereinheit 34 erkennt, daß ein Rahmen in einem der zwei Eingangspuffer gespeichert wird: verschiebt sie Teile des Rahmens auf vorgegebene Positionen in Rahmen-Eingangsregistern 36 und decodiert den Rahmentyp. Wenn der Rahmen ein Befehlsrahmen ist, setzt die INFRSM-Ablaufsteuereinheit den INSERDX-Modus (Eingangsdaten-Übertragungsmodus) und gibt ein Signal an die Anfangsauswahl-Ablaufsteuereinheit ISSM 40. Der Modus der Operation ist einer von mehreren Zuständen, die die vorhandenen Ablaufsteuereinheiten steuern.
- Die ISSM-Ablaufsteuereinheit greift aufgrund der Information im Befehlsrahmen auf die Rahmen-Eingangsregister zu, um eine Anfangsauswahlsequenz mit der adressierten Steuereinheit (über die Schnittstellenverwaltung) auszuführen. Wenn die Anfangsauswahl erfolgreich verläuft und die Steuereinheit den Anfangsstatus auf BUS IN legt, speichert die ISSM-Ablaufsteuereinheit das Anfangsstatusbyte in den Rahmen-Ausgangsregistern 36 und signalisiert dies der OUTFRSM-Ablaufsteuereinheit 48. Die OUTFRSM-Ablaufsteuereinheit steuert dann den Rahmensender, so daß dieser einen Statusrahmen mit auf 1 gesetztem Markierungsbit INITIAL STATUS. (Siehe Tabelle 9.)
- Während die OUTFRSM-Ablaufsteuereinheit den Statusrahmen an den Kanal sendet, setzt die ISSM-Ablaufsteuereinheit die Anfangsauswahlsequenz fort. Wenn die sich Erweiterungseinheit im INSERDX- Modus (gesetzt durch die INFRSM-Ablaufsteuereinheit, wie im vorhergehenden erklärt) befindet, kann eine Leseoperation beginnen, sobald die Erweiterungseinheit einen Datenlesen-Anforderungsrahmen mit einem Zählwert empfängt. Eine Schreiboperation kann beginnen, wenn mindestens ein Byte der Schreibdaten in einem Schreiben-Datenrahmem empfangen und im Puffer 44 der Erweiterungseinheit gespeichert worden ist.
- Bei einer Schreiboperation empfängt die INFRSM-Ablaufsteuereinheit Schreiben-Datenrahmen, speichert die Schreibdatenbytes in dem ausgewählt Datenpuffer des Puffers 44 der Erweiterungseinheit und inkrementiert den entsprechenden Pufferzähler für jedes gespeicherte Byte. Bei einer Leseoperation addiert die INFSRM- Ablaufsteuereinheit den Daten-Anforderungszählwert von einem Datenlesen-Anforderungsrahmen sowohl zu dem Daten-Anforderungszähler als auch zum Datenlesen-Anforderungszähler. Wenn der Daten-Anforderungszähler von null verschieden ist, steuert die PARDXSM-Ablaufsteuereinheit die Verwaltungseinheit für den parallelen Bus so, daß die Lesedaten von der Steuereinheit akzeptiert werden und der ausgewählte Pufferzähler inkrementiert wird. In Reaktion auf den Nicht-Nullzustand des Datenlesen-Anforderungszählers und den Nicht-Nullzustand des ausgewählten Pufferzählers sendet die Erweiterungseinheit Lesen-Datenrahmen an den Kanal.
- Im Datenverteiler passen Pufferspeicher oder Register eine geringere Busbreite auf der Kanalseite des Puffers an eine weitere Busbreite auf der Hauptspeicherseite an. Bei einer Leseoperation übertragen die Baugruppen der Pufferverwaltung des Kanals und der Datenverteiler die Daten aus einem Puffer automatisch, wenn dieser Puffer genügend Bytes gesammelt hat, um innerhalb der Abfolge den nächsten Bus zu belegen. Die Breite dieser Busse ist normalerweise eine ganzzahlige Potenz von zwei (1, 2, 4, ... Bytes breit). Eine Satzlänge kann ein Vielfaches dieser Busbreiten sein (..., 128, 256, ... Byte lang), und in dieser Situation wird das letzte Byte, das von der Erweiterungseinheit zum Kanal übertragen wird, automatisch durch die Pufferkette übertragen und in den Hauptspeicher geschrieben.
- Der Kanal erkennt das normale Ende des CCW-Satzes aus dessen Bytezählwert. Wenn einige der Puffer in der Abfolge nur teilweise gefüllt sind, werden diese Bytes durch die Pufferfolge übertragen und im Hauptspeicher gespeichert.
- In den bisher beschriebenen Operationen war die Länge des Gerätesatzes gleich dem Zählwert des CCW-Satzes, und die Datenübertragung wurde beendet, nachdem ein vollständiger Satz übertragen worden war. In einigen Situationen kennt das Programm, das die CCWs für ein Kanalprogramm erzeugt, nicht die aktuelle Anzahl Bytes in dem Satz, und der Bytezählwert im CCW wird dann groß genug gemacht, um das Lesen eines vollständigen Satzes zu ermöglichen. Wenn das Gerät an das Ende seines Satzes kommt, setzt es anstatt SERVICE IN oder DATA IN die Markierung STATUS IN auf HIGH und legt seinen Primärstatus auf BUS IN. Für Operationen, die auf diese Weise enden können, wird im CCW ein Bit, Unterdrücken der Anzeige einer falschen Länge (SILI) genannt, auf 1 gesetzt, und der Kanal meldet eine Bedingung "falsche Länge" nicht. Wenn das Bit Befehlsverkettung auf 1 gesetzt ist, setzt der Kanal mit dem nächsten CCW fort.
- Ein normales frühzeitiges Ende kann auftreten, während die Puffer im Kanal und der Datenverteiler teilweise gefüllt sind. Bevor der Kanal mit der Operation Befehlsverkettung fortfahren kann, muß das letzte Byte durch die Puffer geschoben und in den Hauptspeicher geschrieben werden. (Es ist für den Kanal nicht ausreichend, das letzte Byte an den Datenverteiler zu senden.) Im ungünstigsten Fall beinhaltet jeder Puffer ein Byte weniger als erforderlich wäre, um eine automatische Übertragung zum nächsten Bus des Datenverteilers auszulösen. Die für diese Übertragung benötigte Zeit ist im Verhältnis zu der für die Befehlsverkettung verfügbaren Zeit von Bedeutung. Umgekehrt kann die Verbindung wesentlich länger gemacht werden, wenn es gelingt, diese Verzögerung zu vermeiden, während die Zeitgeber in der Steuereinheit laufen.
- Wenn jeder Rahmen einen großen Block Datenbytes enthält, ist die serielle Datenübertragung günstiger, weil weniger Rahmenvorsätze und Begrenzer erforderlich sind. Das Sammeln von Bytes im Pufferspeicher der Erweiterungseinheit für diese Rahmen erzeugt jedoch das Problem des Sendens von Teilblöcken zu einem frühzeitigen Ende.
- Vorzugsweise sammelt die Erweiterungseinheit während einer Leseoperation, der eine Befehlsverkettung folgt, keine Bytes für eine Blockübertragung. Stattdessen sendet die Erweiterungseinheit die Bytes so an den Kanal, wie sie von der Steuereinheit empfangen werden. Bei langsameren Geräten besitzt ein Rahmen nur ein Byte. Wenn ein frühzeitiges Ende auftritt, hat die Erweiterungseinheit normalerweise keine Daten, die an den Kanal gesendet werden sollen.
- Die OUTFRSM-Ablaufsteuereinheit 44 in der Erweiterungseinheit signalisiert, wenn der Anforderungszähler größer 0 ist und wenn der Pufferzähler größer 0 ist. Wenn beide Bedingungen wahr sind, bildet die OUTFRSM-Ablaufsteuereinheit 44 einen Rahmen und fügt Bytes hinzu, bis einer dieser oder beide Zählwerte 0 werden. Wie bereits erklärt worden ist, sendet- der Rahmensender, wenn er keine Rahmen sendet, Leerzeichen an den Kanal. Einige Rahmen sind länger, weil der Puffer-in der Erweiterungseinheit gefüllt wird, während der Kanal den nächsten Datenlesen-Anforderungsrahmen sendet, und diese Rahmen werden mit höchstens einer Maximalzahl Bytes gesendet, vorzugsweise 16 Bytes.
- Die Erweiterungseinheit kann in ihrem Puffer Byteblöcke sammeln, um für eine Leseoperation, die keine Befehlsverkettung aufweist, lange Rahmen zu bilden. Als eine Vereinfachung werden alle Lesedaten in kurzen Rahmen an den Kanal gesendet. Es ist zu beachten, daß die serielle Verbindung zwischen der Erweiterungseinheit und dem Kanal nicht mit anderen Komponenten geteilt wird, daß der Kanal nur mit einer Erweiterungseinheit zusammenarbeitet (oder nacheinander immer nur mit einer Erweiterungseinheit, wenn in einer Unschalteinrichtung mehrere Erweiterungseinheiten Teile einer Funktionseinheit sind) und daß auf der Verbindung, wenn auf dieser keine Rahmen übertragen werden, Leerzeichen gesendet werden.
- Die Operationen der parallelen Steuereinheit zwischen dem letz- ten Byte einer Leseoperation und dem Primärstatus benötigen typischerweise eine kurze Verzögerung (6 bis 10 Mikrosekunden). Der Kanal erkennt diese Verzögerung und überträgt alle in den Puffern stehenden Bytes zum Hauptspeicher. Ohne diese Operation würde der Kanal die Speicheroperation beginnen, wenn er den Statusrahmen von der Erweiterungseinheit empfangen hat.
- Der Kanal ist mit einem 1-Byte-Zähler, als Leerzeichenzähler bezeichnet, und zwei Zwischenspeichern, Freigabe-Erkennung- Frühzeitiges-Ende-Zwischenspeicher und Erlaube-Frühzeitiges- Ende-Zwischenspeicher genannt, ausgerüstet. Der Freigabe- Erkennung-Frühzeitiges-Ende-Zwischenspeicher wird gesetzt, wenn diese Operation stattfinden soll, und wird zurückgesetzt, wenn die Operation nicht stattfinden soll, er wird zum Beispiel gesetzt, wenn eine Datenübertragung mit einen DASD-Gerät stattfindet. (Der Hauptspeicher unterhält für jedes Gerät einen Steuerblock, der diese Information und weitere Informationen, die der Kanal in E/A-Operationen mit einem speziellen Geräte benutzt, speichert.)
- Der Erlaube-Frühzeitiges-Ende-Zwischenspeicher wird gesetzt, wenn ein Rahmen mit mehr als einem Byte empfangen wird. Der Zwischenspeicher kennzeichnet somit Geräte, die eine Datenrate besitzen, welche so hoch ist, daß es erforderlich ist, die Operationen für die Befehlsverkettung in einer begrenzten Zeit auszuführen. Für Geräte mit einer hohen Datenrate besitzt jeder Rahmen einige Bytes (beispielsweise 3 oder 4 Bytes). Der Erlaube- Frühzeitiges-Ende-Zwischenspeicher stellt einen zusätzlichen Test für ein Gerät bereit, das kritische Zeitanforderungen während der Befehlsverkettung stellt.
- Der Leerzeichenzähler wird auf hexadezimal 00 zurückgesetzt, wenn ein beliebiges Nicht-Leerzeichen empfangen wird. (Man erinnere sich, daß die Leitung immer Rahmen, Leerzeichen oder andere spezielle Zeichenfolgen führt, und daß Leerzeichen nicht innerhalb eines Rahmens auftreten.) Der Kanal inkrementiert den Leerzeichenzähler bei jedem Leerzeichen. Somit zeigt der Zähler die Anzahl der Leerzeichen an, die einem Rahmen gefolgt sind. Während die Steuereinheit Bytes von einem Gerät mit einer hohen Datenrate an die Erweiterungseinheit sendet, empfängt der Kanal Mehrbyte-Rahmen mit lediglich einer begrenzten Anzahl Leerzeichen zwischen den Rahmen. Wenn die Anzahl der Leerzeichen diese Begrenzung übersteigt, ist die Schlußfolgerung daraus, daß die Verzögerung durch Operationen in der Steuereinheit hervorgerufen wird, die mit dem Beendigungsstatus verbunden sind, und daß der Kanal das letzte Byte des Gerätesatzes empfangen hat.
- Der Kanal enthält Hardware- und Mikroprogrammeinrichtungen, um den Freigabe-Erkennung-Frühzeitiges-Ende- Zwischenspeicher, den Erlaube-Frühzeitiges-Ende-Zwischenspeicher und den Leerzeichenzähler abzufragen. In Reaktion auf den Gesetztstatus dieser Zwischenspeicher und einen Zählerstand, der größer als ein vorgegebener Wert ist, führt der Kanal die folgenden Operationen aus:
- (1) Er überträgt alle Daten aus dem Datenverteiler in den Hauptspeicher, (2) er verschiebt alle letzten Bytes in den Datenverteiler, und (3) er schreibt dann diese Bytes in den Hauptspeicher.
- In dem bevorzugten Kanal wird getestet, ob der Leerzeichenzähler einen Zählwert größer hexadezimal 30 enthält, welcher einem Zeitintervall von ungefähr 2,4 Mikrosekunden entspricht, was dem Kanal eine Zeitspanne von 3,6 bis 7,6 Mikrosekunden zur Übertragung der Daten in den Hauptspeicher gibt. Diese Zeiteinsparung gestattet es, die serielle Verbindung ungefähr 0,3 Kilometer länger zu machen.
- Der Kanal ist mit einer leistungsfähigen Hardware zur Behandlung kurzer Rahmen ausgerüstet. Während einer Datenübertragung wird ein Hardwaretest mit dem Op/Markierung-Byte eines eingehenden Rahmens (siehe Tabelle 4) durchgeführt, und wenn ein Rahmen nur Daten enthält, werden die Datenbytes im Kanalpuffer gespeichert, ohne daß Mikroprogrammroutinen aufgerufen werden. Wenn in dem Op/Markierung-Byte eines der Bits END oder CDAEND gesetzt ist, werden die Mikroprogrammroutinen aufgerufen.
Claims (8)
1. Erweiterungseinheit zur Verwendung in einem Ein-/Ausgabe-
Untersystem eines Datenverarbeitungssystems,
wobei das Ein-/Ausgabe-Untersystem umfaßt:
eine serielle Steuereinheit, die entsprechend serieller
Datenrahmen auf einer seriellen Verbindung arbeiten kann,
eine parallele Steuereinheit, die entsprechend dem
Protokoll eines parallelen Busses arbeiten kann,
einen Kanal (15), der mit dem seriellen Kanal in einer
seriellen Betriebsart arbeiten kann und der so betrieben
werden kann, daß Kommandorahmen und Datenrahmen gebildet
werden können, die bei der Ausführung eines Kanalprogramms,
das ein oder mehrere Kanalbefehlsworte (CCWs) besitzt,
Operationen auf dem parallelen Bus definieren, wobei eine
Gruppe CCWs für ein Datenübertragungskommando als CCW-Satz
bezeichnet wird,
wobei die Erweiterungseinheit (22) umfaßt:
Mittel zum Verbinden der Erweiterungseinheit, so daß diese
mit einer parallelen Steuereinheit auf einem Bus
entsprechend des parallelen Busprotokolls zusammenarbeitet,
Mittel zum Verbinden der Erweiterungseinheit, um auf einer
seriellen Verbindüng Rahmen (52) über den Kanal zu senden
und um Rahmen (28) über den Kanal zu empfangen,
Mittel zum Erkennen einer Markierung, die das Ende eines
CCW (CDAEND) definiert, sowie einer Markierung, die das
Ende eines CCW-Satzes (END) definiert, innerhalb eines
Datenübertragungsrahmens,
und Mittel, die auf die Markierungen reagieren, um
Operationen auszuführen, die dem Ende eines CCW und dem Ende
eines CCW-Satzes zugeordnet sind.
2. Erweiterungseinheit (22) gemäß Anspruch 1, wobei die
Erweiterungseinheit enthält:
Mittel, die auf einen Rahmen auf dem Kanal reagieren, der
eine Markierung enthält, die das Ende eines CCW (CDAEND)
definiert, um eine entsprechende Markierung (CDAEND) an den
Kanal zurückzugeben, wenn die Übertragung des Rahmens
beendet ist, und
Mittel, die auf einen Rahmen auf dem Kanal reagieren, der
eine Markierung enthält, die das Ende eines CCW-Satzes
(END) definiert, um eine entsprechende Markierung (END) an
den Kanal zurückzugeben, wenn die Übertragung des Rahmens
beendet ist.
3. Erweiterungseinheit gemäß Anspruch 2, wobei eine Operation
der Erweiterungseinheit (28), die mit dem Ende eines CCW-
Satzes verbunden ist, zur Ausführung eines folgenden CCW-
Satzes eine Befehlsverkettung aufweist.
4. Erweiterungseinheit zur Verwendung in einem
Datenverarbeitungssystem, welches umfaßt:
a. ein Ein-/Ausgabe-Gerät (17),
b. einen parallelen Bus (24),
c. eine Steuereinheit (19), die zwischen den Bus und das
Gerät geschaltet ist und Mittel besitzt, um
entsprechend einem Protokoll für Datenübertragungen und für
die Statusbehandlung des Gerätes zu arbeiten,
d. und einen Kanal (15), der zum Teil über eine serielle
Verbindung (20, 18) mit der Steuereinheit verbunden
werden kann und der Mittel zum Senden und Empfangen
serieller Rahmen über die Verbindung besitzt, sowie
Mittel zur Ausführung von Kanalprogrammen, die Mittel
zum Überprüfen des Gerätestatusses enthalten,
wobei die Erweiterungseinheit (22) umfaßt:
e. Mittel zur Durchführung von Datenübertragungen sowie
anderer Operationen auf dem parallelen Bus,
einschließlich des Empfangs des Gerätestatus der
Steuereinheit,
f. Mittel zum Senden (52) und Empfangen (28) serieller
Rahmen über die Verbindung mit dem Kanal,
einschließlich
1. eines eingehenden Rahmens, der den Gerätestatus
enthält,
2. eines abgehenden Rahmens, der ein Kommando
enthält, das in der Steuereinheit ausgeführt werden
soll,
3. und eines abgehenden Rahmens zur
Datenübertragung, der eine Markierung enthält; die das Ende
eines CCW-Satzes definiert, und einer Markierung,
die definiert, daß in Abhängigkeit von der
Überprüfung
des Gerätestatus durch den Kanal eine
andere Operation folgen soll,
g. Mittel, die auf die Beendigung einer Datenübertragung,
der eine andere Operation folgen soll, reagieren, um
1. einen Statusrahmen an den Kanal zu senden,
2. die nächste Operation zu beginnen,
3. die Operation abzubrechen, wenn vom Kanal ein
Rahmen zum Abbrechen der Operation empfangen
wird,
4. oder die Operation fortzusetzen, wenn vom Kanal
ein Rahmen zum Fortsetzen der Operation empfangen
wird.
5. Erweiterungseinheit zur Verwendung in einem
Datenverarbeitungssystem, welches umfaßt:
A. einen parallelen Bus (24),
B. ein Ein-/Ausgabe-Gerät (17), das einen Zwischenraum
zwischen Sätzen aufweist, während dessen eine
Neuauswahl der Befehlsverkettung durchgeführt werden kann,
C. einen parallelen Bus,
D. eine Steuereinheit (19), die zwischen den Bus (24) und
das Gerät (17) geschaltet ist und Mittel besitzt, um
auf dem Bus entsprechend eines Protokolls für
a. Datenübertragungen,
b. die anfängliche Auswahl eines Gerätes,
c. die Behandlung des Gerätestatus,
d. und für die Neuauswahl der Befehlsverkettung des
Gerätes zu arbeiten, wenn einem Satz eines
Kanalprogramms ein anderer Satz folgt, wobei die
Steuereinheit den Bedarf hat, wenn während eines
Zwischenraumes die Befehlsverkettung stattfindet
soll, um innerhalb eines vorgegebenen
Zeitintervalls das nächste Kommando zu empfangen, und um
bei einer Schreiboperation das ersße Byte
innerhalb eines vorgegebenen Zeitintervalls nach dem
Empfang des Kommandos zu erhalten,
E. und einen seriellen Kanal (18, 20), der eine serielle
Verbindung besitzt,
wobei die Erweiterungseinheit (22) umfaßt:
F. Mittel zum Senden und Empfangen serieller Rahmen über
die Verbindung zum Kanal, enthaltend:
1. Mittel (28) zum Empfangen eines Datentyp-Rahmens,
zum Ausführen einer Lese- oder Schreiboperation
mit der Steuereinheit,
2. Mittel zum Decodieren einer Markierung innerhalb
eines Datentyp-Rahmens, die das Ende eines CCW-
Satzes definiert, dem ein weiterer CCW-Satz
folgen soll, so daß in Abhängigkeit von einer
konventionellen Überprüfung des Gerätestatus und
anderer Bedingungen, die durch den Kanal
ausgeführt wird, eine Neuauswahl der Befehlsverkettung
erforderlich wird,
3. Mittel (42) zur Kommunikation mit der
Steuereinheit entsprechend dem Busprotokoll über den
parallelen Bus,
4. Mittel, die betrieben werden, wenn die
Befehlsverkettung wirksam wird, um den Gerätestatus zu
überprüfen und 5Q festzustellen, ob die
Steuereinheit verschiedene Bedingungen gemeldet hat
a. einen Fehler, der das Eingreifen des Kanals
erfordert,
b. die Bedingung, daß der Gerätestatus später
gemeldet wird,
5. Mittel, die betrieben werden, wenn die
Befehlsverkettung wirksam wird, um das Statusbyte an den
Kanal zu senden, wobei ein Bit gesetzt wird, um
zu kennzeichnen, daß die Erweiterungseinheit eine
automatische Neuauswahl der Befehlsverkettung
durchführt,
6. Mittel zum Beginnen der Befehlsverkettung
entsprechend dem Protokoll des parallelen Busses,
unabhängig Von der Operation auf dem Kanal, um
den Status und weitere Bedingungen zu überprüfen,
wobei die Synchronisationsanforderungen des
Gerätes einfacher erfüllt werden können.
6. Ein-/Ausgabe-Untersystem, gekennzeichnet durch eine
Erweiterungseinheit gemäß einem oder mehreren der vorhergehenden
Ansprüche.
7. Datenverarbeitungssystem, ein Ein-/Ausgabe-Untersystem
gemäß Anspruch 6 umfassend.
8. Datenverarbeitungssystem umfassend:
eine Vielzahl Ein-/Ausgabe-Geräte (17) und Steuereinheiten
(19), wobei die Steuereinheiten (19) Mittel zum Senden
eines Statusbytes am Ende einer Operation, vor Auflösung der
Verbindung und dem Beginn einer nachfolgenden Operation
besitzen, und wobei eine Steuereinheit eine
charakteristische Verzögerung zwischen der Operation des Lesens des
letzten Bytes einer Operation und dem Senden des
entsprechenden Statusbytes besitzt,
einen Hauptspeicher (13),
einen Kanal (15) für Datenübertragungen zwischen den
Geräten und dem Hauptspeicher, enthaltend:
eine serielle Verbindung (18, 20) zur Kommunikation mit den
Geräte-Steuereinheiten und Mittel zum Bilden serieller
Rahmen auf der seriellen Verbindung,
einen Puffer zum Speichern von Bytes aus dem Kanal (15)
zwecks Übertragung in den Hauptspeicher,
Mittel zur Behandlung auf der Verbindung eingehender
Rahmen, die Mittel zum Erkennen eines Leerzeichens, Mittel zum
Erkennen eines Rahmens, der eine Markierung besitzt, die
ein Datenzeichen kennzeichnet, das eine
Mikrocode-Behandlung erfordert, sowie eines Datenrahmens, der keine solche
Markierung besitzt, und Mittel zum Speichern der
Datenrahmen und zum Aufrufen des Mikrocodes, beim Empfang von
Rahmen, deren Markierung gesetzt ist, enthalten,
einen Datenverteiler (16), der zur Übertragung von Bytes
aus dem Kanal (15) in den Hauptspeicher (13) einen Puffer
enthält,
und eine Erweiterungseinheit (22) gemäß einem oder mehreren
der Ansprüche 1 bis 5, wobei die Erweiterungseinheit mit
mindestens einer der Steuereinheiten (19) betrieben werden
kann und Mittel (52) besitzt, um bei einer Leseoperation
immer dann Rahmen an den Kanal (15) zu senden, wenn ein
oder mehrere Bytes von der Steuereinheit (19) verfügbar
sind, wobei die Rahmen-Bildungsgeschwindigkeit der
Erweiterungseinheit (22) auf die Datenrate der verschiedenen
Geräte aufbaut, so daß ein Rahmen von der Erweiterungseinheit
bei schnelleren Geräten eine kleinere Anzahl Bytes und bei
langsameren Geräten eine größere Anzahl Bytes besitzt,
wobei die Verbesserung beinhaltet:
einen Zähler im Kanal,
Mittel zum Zurücksetzen des Zählers, wenn ein Rahmen
erkannt wird, der die größere Anzahl Datenbytes aufweist,
Mittel zum Hochzählen des Zählers, wenn ein Leerzeichen
auftritt,
wobei der Zählwert eine Verzögerung zwischen den Rahmen
eines schnelleren Gerätes kennzeichnet,
Mittel, die auf einen vorgegebenen Zählwert im Zähler
reagieren, um etwaige verbleibende Bytes im Kanalpuffer oder
im Datenverteiler in den Hauptspeicher zu übertragen,
wobei die Daten im Hauptspeicher gespeichert werden, bevor
der Gerätestatus empfangen wird, und wobei eine Operation
in dem Gerät, das eine Aktion der Erweiterungseinheit
innerhalb eines begrenzten Zeitraumes anfordert, nicht
verzögert wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39275489A | 1989-08-11 | 1989-08-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69028462D1 DE69028462D1 (de) | 1996-10-17 |
DE69028462T2 true DE69028462T2 (de) | 1997-03-27 |
Family
ID=23551881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69028462T Expired - Fee Related DE69028462T2 (de) | 1989-08-11 | 1990-06-23 | Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5434980A (de) |
EP (1) | EP0412268B1 (de) |
JP (1) | JPH0648476B2 (de) |
DE (1) | DE69028462T2 (de) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2531903B2 (ja) * | 1992-06-22 | 1996-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュ―タ・システムおよびシステム拡張装置 |
JPH0690695B2 (ja) * | 1992-06-24 | 1994-11-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・システムおよびシステム拡張装置 |
US5832310A (en) * | 1993-12-30 | 1998-11-03 | Unisys Corporation | Serial I/O channel having dependent and synchronous sources of control data and user defined data |
US5553302A (en) * | 1993-12-30 | 1996-09-03 | Unisys Corporation | Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data |
US5463762A (en) * | 1993-12-30 | 1995-10-31 | Unisys Corporation | I/O subsystem with header and error detection code generation and checking |
US5898889A (en) * | 1996-04-30 | 1999-04-27 | 3Com Corporation | Qualified burst cache for transfer of data between disparate clock domains |
US5915100A (en) * | 1996-09-23 | 1999-06-22 | International Business Machines Corporation | Method for interfacing a media console and a system unit |
US5878271A (en) * | 1996-09-23 | 1999-03-02 | International Business Machines Corporation | Multi-conductor cable architecture and interface for a split system personal computer |
US6940868B1 (en) | 1999-04-20 | 2005-09-06 | Abb Inc. | Digital serial communications hub |
US20020083189A1 (en) * | 2000-12-27 | 2002-06-27 | Connor Patrick L. | Relay of a datagram |
KR100604835B1 (ko) * | 2004-02-24 | 2006-07-26 | 삼성전자주식회사 | 프로토콜 변환중재회로, 이를 구비하는 시스템과 신호변환중재방법 |
US7386640B2 (en) * | 2004-12-28 | 2008-06-10 | Intel Corporation | Method, apparatus and system to generate an interrupt by monitoring an external interface |
TWI277877B (en) * | 2005-03-08 | 2007-04-01 | Via Tech Inc | Method and related apparatus for monitoring system bus |
KR20080058462A (ko) * | 2005-11-04 | 2008-06-25 | 닛본 덴끼 가부시끼가이샤 | 메시지 인증 장치, 메시지 인증 방법, 메시지 인증 프로그램을 기록한 매체 |
US7500023B2 (en) * | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US7502873B2 (en) * | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
US8176222B2 (en) * | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US8214562B2 (en) * | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US8108570B2 (en) * | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US7840717B2 (en) * | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US7917813B2 (en) * | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8001298B2 (en) * | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US7890668B2 (en) * | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US7937507B2 (en) * | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US7899944B2 (en) * | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US7904605B2 (en) * | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US8196149B2 (en) * | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US7941570B2 (en) * | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US8166206B2 (en) * | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US8095847B2 (en) * | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US8312189B2 (en) * | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US8082481B2 (en) * | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US7904606B2 (en) * | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US7937504B2 (en) * | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
US4040037A (en) * | 1976-06-01 | 1977-08-02 | International Business Machines Corporation | Buffer chaining |
US4272809A (en) * | 1977-11-16 | 1981-06-09 | Hitachi, Ltd. | Channel device |
EP0021489A1 (de) * | 1979-06-08 | 1981-01-07 | Koninklijke Philips Electronics N.V. | Ein-/Ausgabekanal für ein schnelles Datenverarbeitungssystem |
JPS56157521A (en) * | 1980-05-08 | 1981-12-04 | Fujitsu Ltd | Command chaining control system |
JPS57111723A (en) * | 1980-12-29 | 1982-07-12 | Fujitsu Ltd | Channel control system |
US4453211A (en) * | 1981-04-28 | 1984-06-05 | Formation, Inc. | System bus for an emulated multichannel system |
US4514823A (en) * | 1982-01-15 | 1985-04-30 | International Business Machines Corporation | Apparatus and method for extending a parallel channel to a serial I/O device |
JPS58195925A (ja) * | 1982-05-11 | 1983-11-15 | Fujitsu Ltd | チヤネル制御方式 |
US4631666A (en) * | 1982-10-25 | 1986-12-23 | Burroughs Corporation | Data transfer network for variable protocol management |
JPS60103473A (ja) * | 1983-11-10 | 1985-06-07 | Fujitsu Ltd | デ−タ転送制御方式 |
JPS60142418A (ja) * | 1983-12-28 | 1985-07-27 | Hitachi Ltd | 入出力エラ−回復方式 |
US4712176A (en) * | 1985-02-11 | 1987-12-08 | International Business Machines Corp. | Serial channel interface with method and apparatus for handling data streaming and data interlocked modes of data transfer |
US4797812A (en) * | 1985-06-19 | 1989-01-10 | Kabushiki Kaisha Toshiba | System for continuous DMA transfer of virtually addressed data blocks |
US4779189A (en) * | 1985-06-28 | 1988-10-18 | International Business Machines Corporation | Peripheral subsystem initialization method and apparatus |
JPH0816891B2 (ja) * | 1985-10-01 | 1996-02-21 | 株式会社日立製作所 | チヤネルシステム |
JPH087662B2 (ja) * | 1985-10-18 | 1996-01-29 | 株式会社日立製作所 | データ転送制御方法 |
US4809217A (en) * | 1985-10-31 | 1989-02-28 | Allen-Bradley Company, Inc. | Remote I/O port for transfer of I/O data in a programmable controller |
JPS62212755A (ja) * | 1986-03-14 | 1987-09-18 | Hitachi Ltd | チヤネル制御装置 |
US5077656A (en) * | 1986-03-20 | 1991-12-31 | Channelnet Corporation | CPU channel to control unit extender |
US4882702A (en) * | 1986-03-31 | 1989-11-21 | Allen-Bradley Company, Inc. | Programmable controller with I/O expansion module located in one of I/O module positions for communication with outside I/O modules |
WO1988002888A1 (en) * | 1986-10-17 | 1988-04-21 | Fujitsu Limited | Data transfer system having transfer discrimination circuit |
US5123091A (en) * | 1987-08-13 | 1992-06-16 | Digital Equipment Corporation | Data processing system and method for packetizing data from peripherals |
JPS6470858A (en) * | 1987-09-11 | 1989-03-16 | Hitachi Ltd | Data transfer system |
US4908823A (en) * | 1988-01-29 | 1990-03-13 | Hewlett-Packard Company | Hybrid communications link adapter incorporating input/output and data communications technology |
US4866609A (en) * | 1988-06-22 | 1989-09-12 | International Business Machines Corporation | Byte count handling in serial channel extender with buffering for data pre-fetch |
US4939735A (en) * | 1988-07-21 | 1990-07-03 | International Business Machines Corporation | Information handling system having serial channel to control unit link |
US4959833A (en) * | 1989-03-08 | 1990-09-25 | Ics Electronics Corporation | Data transmission method and bus extender |
-
1990
- 1990-06-23 EP EP90111962A patent/EP0412268B1/de not_active Expired - Lifetime
- 1990-06-23 DE DE69028462T patent/DE69028462T2/de not_active Expired - Fee Related
- 1990-07-11 JP JP2183842A patent/JPH0648476B2/ja not_active Expired - Lifetime
-
1992
- 1992-12-23 US US07/996,370 patent/US5434980A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0648476B2 (ja) | 1994-06-22 |
DE69028462D1 (de) | 1996-10-17 |
US5434980A (en) | 1995-07-18 |
EP0412268A3 (en) | 1993-11-10 |
EP0412268A2 (de) | 1991-02-13 |
JPH0388055A (ja) | 1991-04-12 |
EP0412268B1 (de) | 1996-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69028462T2 (de) | Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung | |
DE3725343C2 (de) | Vielzweck-Kanalsteuersystem | |
DE69018100T2 (de) | Datenübertragung über Busadressleitungen. | |
DE3687367T2 (de) | Ein/ausgabe-steuerungssystem. | |
DE3204905C2 (de) | ||
DE68927214T2 (de) | Verfahren zur Datenübertragung zwischen einem Medienzugriffskontroller und einem Pufferspeicher in einem Tokenring-Netz | |
DE68926725T2 (de) | Atomare Sequenz für Phasenübergänge | |
DE2854485C2 (de) | Datenverarbeitungsanlage | |
DE69825915T2 (de) | Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system | |
DE69031658T2 (de) | Vorrichtung und verfahren für instandhaltung von cache/zentralspeicherkonsistenz | |
CH522921A (de) | Rechneranlage | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
DE19900331A1 (de) | Vorrichtung und Verfahren zur Implementierung eines USB-Endpunktkanals mit doppelter Pufferunterstützung | |
DE19900345A1 (de) | Vorrichtung und Verfahren für die Bereitstellung einer Schnittstelle für eine Verbundsteuereinheit eines Universellen Seriellen Buses | |
DE19900345A9 (de) | Vorrichtung und Verfahren für die Bereitstellung einer Schnittstelle für eine Verbundsteuereinheit eines Universellen Seriellen Buses | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
DE69128985T2 (de) | IEEE488-Schnittstelle | |
DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals | |
DE1499206B2 (de) | Rechenanlage | |
CH634938A5 (de) | Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen. | |
DE3784182T2 (de) | Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten. | |
DE3936339A1 (de) | Controller fuer direkten speicherzugriff | |
DE2517170C2 (de) | Schaltungsanordnung zum Unterbrechen des Programmablaufs in Datenverarbeitungsanlagen mit mehreren Ansteuereinrichtungen von Sekundärspeichern und dergleichen Speichereinheiten mit sequentiellem Zugriff | |
DE3009530A1 (de) | Datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |