DE3784182T2 - Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten. - Google Patents

Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten.

Info

Publication number
DE3784182T2
DE3784182T2 DE19873784182 DE3784182T DE3784182T2 DE 3784182 T2 DE3784182 T2 DE 3784182T2 DE 19873784182 DE19873784182 DE 19873784182 DE 3784182 T DE3784182 T DE 3784182T DE 3784182 T2 DE3784182 T2 DE 3784182T2
Authority
DE
Germany
Prior art keywords
channel
data
frame
count
bytes
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
Application number
DE19873784182
Other languages
English (en)
Other versions
DE3784182D1 (de
Inventor
Salvatore Anthony Calta
Thomas Anthony Gregg
Leon Skarshinski
Richard Strangwayes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3784182D1 publication Critical patent/DE3784182D1/de
Application granted granted Critical
Publication of DE3784182T2 publication Critical patent/DE3784182T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

    Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf ein Datenverarbeitungssystem mit einer verbesserten Vorrichtung zum Verbinden einer über einen parallelen Bus verfügenden Steuereinheit mit einem parallelen Bus und einem mit einem seriellen Verbindungselement zusammenwirkenden Datenkanal. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zur verbesserten Verarbeitung des Bytezählergebnisses in einer seriellen Kanalerweiterungsverbindung mit einem Puffer in ihrer Steuereinheit, der zum Vorausholen von Daten und für andere Operationen verwendet wird.
  • Einleitung Bestandteile eines I/O-Untersystems
  • In einem Datenverarbeitungssystem, das diese Erfindung benutzen wird, wird eine Eingabe/Ausgabeeinheit (I/O), wie beispielsweise eine Plattenspeichereinheit, über einen Bus, der eine der insgesamt als Datenkanal bezeichneten Baugruppen darstellt, an einen Hauptspeicher des zentralen Prozessors angeschlossen. "Eingabe" ist eine Datenübertragung in der Richtung von der Steuereinheit zum Kanal und "Ausgabe" eine Datenübertragung in der Richtung vom Kanal zur Steuereinheit. Der Datenkanal umfaßt einen Kanalprozessor, der die Datenübertragungen an dem dem zentralen Prozessor zugewandten Ende des Busses ausführt. Von der Einheit her benutzt man für gewöhnlich den Begriff "Kanal", um entweder den Bus oder den Kanalprozessor oder beide zu bezeichnen. Ein Datenverarbeitungssystem verfügt im allgemeinen über mehrere Kanäle.
  • Der Kanalprozessor arbeitet mit dem zentralen Prozessor bezüglich dieser Datenübertragungen zusammen, zum Beispiel um die Informationen zu erlangen, die für den Start einer Kanaloperation und den nachfolgenden Statusbericht einer vollzogenen Datenübertragung erforderlich sind. Diese Funktionen können zwischen dem Kanalprozessor, dem zentralen Prozessor und weiteren Prozessoren auf verschiedene Arten aufgeteilt werden, die für diese Erfindung von keiner besonderen Bedeutung sind.
  • Um die Datenübertragung zu beschleunigen, kann in die Steuereinheit ein Pufferspeicher eingebaut werden, um Daten von einer I/O-Einheit "vorauszuholen". Ein solcher Puffer wird in der Europäischen Patentanmeldung EP-A-0 125 561 (IBM) gezeigt, bei der ein Teil des Puffers mit Daten von einer I/O-Einheit gefüllt wird, während zuvor von einer anderen Einheit gelesene Daten über einen Kanal übertragen werden.
  • An dem der Einheit zugewandten Ende des Busses werden die Datenübertragungen durch einen Prozessor verwaltet, der als Gerätesteuerungseinheit oder Steuereinheit bezeichnet wird. Die Kanäle, Geräte, Steuereinheiten und zugehörigen Baugruppen werden als Kanalsubsystem bezeichnet.
  • Nachrichten in serieller und paralleler Form
  • Diese Erfindung kann in einem System angewendet werden, in dem der Bus zum Teil aus einem Kabel mit einer Anzahl von parallelen Leitern und zum Teil aus einer seriellen Verbindungseinheit mit einer Eingabe- und einer Ausgabeleitung besteht. Der Begriff "Bus" wird benutzt, um sowohl den seriellen als auch den parallelen Bus zu bezeichnen. Der Begriff "Nachricht" wird dort verwendet, wo es günstig ist, die sowohl über den seriellen als auch den parallelen Teil des Busses zu übertragende Dateneinheit zu verallgemeinern.
  • Auf dem parallelen Bus wird eine Nachricht durch die binären Signale auf allen Leitern des Kabels oder, genauer gesagt, durch die einzelnen Signale dargestellt, die für eine bestimmte zu beschreibende Operation von Bedeutung sind. An der seriellen Verbindung wird eine Nachricht in einem seriellen Mehrbitrahmen befördert. In einigen Systemen befördert ein serieller Rahmen ungefähr die Nachrichtenbits des parallelen Busses oder eine codierte Form dieser Bits.
  • Es ist eine allgemeine Aufgabe dieser Erfindung, neue serielle Rahmen zum Befördern von Zusatzinformationen für neue Funktionen zu schaffen, dabei aber das von einer Steuereinheit auf einem parallelen Bus ohne serielle Verbindung verwendete Protokoll bei zubehalten. Eine speziellere Aufgabe besteht darin, die Bytezahlstandinformation darüber zu schaffen, daß sich der Kanal und die Steuereinheit auf einem konventionellen parallelen Bus austauschen, und es wird nützlich sein, einmal eine Übersicht über die Strukturen und Operationen von herkömmlichen parallelen und seriellen Bussen zu geben.
  • Das Protokoll des parallelen Busses und der Standardschnittstelle
  • Die physische Struktur des bevorzugten parallelen Kanals ist bekannt, und das bevorzugte Protokoll für Operationen auf dem Bus wird in "IBM System/360 und System/370 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information", GA22-6974 beschrieben. Diese Veröffentlichung wird in der Abkürzung "OEMI" zitiert werden.
  • Eine Nachricht auf dem parallelen Bus besitzt ein Feld, das bei einer Datenübertragung ein oder mehrere Datenbytes und bei anderen Operationen eine Adresse oder einen Befehl oder einen Status enthält. Die Leitungen, die dieses Feld vom Kanal an die Steuereinheit transportieren, werden als Bus Aus und die Leitungen von der Steuereinheit an den Kanal als Bus Ein bezeichnet. Besitzt das Feld eine Länge von mehr als einem Byte, werden die Bytes als Bus 0 Ein, Bus 1 Ein und so weiter bezeichnet. (Ein Byte besteht im allgemeinen aus 8 Bits, stellt aber vom allgemeinen Standpunkt aus die kleinste durch das System verarbeitete Mehrbiteinheit dar.) Eine Nachricht besitzt auch ein Feld von Steuerbits, die die Bedeutung der Daten auf Bus Ein und Bus Aus erklären: daß das Feld als Daten, Adresse, Status oder Befehl angesehen werden kann oder beim Fehlen eines solchen Signals ungültig ist. Um ein deutliches Beispiel zu nennen, werden Kennungen durch den Kanal bzw. die Steuereinheit erhöht und gesenkt, um zu signalisieren, daß Bus Aus oder Bus Ein ein gültiges Datenbyte transportiert und um anzuzeigen, daß das Byte empfangen wurde.
  • Bezüglich der Nachrichten auf dem Bus verläuft die Datenübertragung in drei Phasen: zu Anfang die Auswahl einer I/O-Einheit durch den Kanal, dann die Datenübertragung und dann eine Schlußsequenz, in der die Steuereinheit über Erfolg oder Mißerfolg der Operation berichtet. Die auszuführende Operation wird zum Teil durch einen Steuerblock definiert, der als Kanalbefehlswort CCW bezeichnet wird. Die CCW für eine Datenübertragung heißen Lesen, Schreiben und Rückwärtslesen. Andere CCW liefern die Informationen für entsprechende Operationen, wie zum Beispiel Positionieren des Lese/- Schreibmechanismus einer Platte auf den Beginn einer Dateneinheit, auf der die Lese- oder Schreiboperation stattfinden soll.
  • Während einer Schreiboperation fragt die Steuereinheit jedes empfangene Byte ab, und während einer Leseoperation bestätigt der Kanal jedes empfangene Byte. Die Schlußsequenz erlaubt es der Steuereinheit, darüber zu berichten, daß die Operation erfolgreich war, oder daß ein Fehler aufgetreten ist. Beispielsweise könnte die Steuereinheit ein Byte empfangen, aber nicht in der Lage sein, die Daten auf der Einheit zu speichern, und der Endstatus würde anzeigen, daß eine Folgehandlung erforderlich ist.
  • Die serielle Verbindung und das serielle Rahmenformat
  • Die physische Struktur einer seriellen Verbindung ist auch bekannt. Der Artikel "Serial Channel to I/O Interface", IBM Technical Disclosure Bulletin, Januar 1977, Seiten 3139-3143, von Lynch und Thorn, beschreibt eine serielle Verbindung, die als eine Erweiterung für den parallelen Bus in ein paralleles Bussystem eingeschlossen ist. Eine serielle Verbindung wird als IBM 3044 Kanalverbindungserweiterung verkauft.
  • Die EP-A-0 191 334 (IBM) stellt nach Art. 54(3) EPC den Stand der Technik dar. Sie offenbart ein Datenverarbeitungssystem mit einer Vorrichtung zum Verbinden eines parallelen Busses einer Steuereinheit und einer seriellen Verbindung eines Kanals. In diesem System werden Einrichtungen zum Senden und Empfangen von Rahmen auf der seriellen Verbindung offenbart, die Einrichtungen zum Umwandeln zwischen einem seriellen Format ankommender und abgehender Rahmen auf der seriellen Verbindung und einem parallelen Format des parallelen Busses der Steuereinheit umfaßt. Das Rahmenformat umfaßt ein Datenfeld und ein Befehlsfeld, wobei das Befehlsfeld einen Binärcode enthält, der die Kennungen für die auszuführenden Operationen darstellt. Das System umfaßt ferner einen Decodierer für das Decodieren des Befehlsfeldes.
  • Eine serielle Verbindung besitzt eine Eingabeleitung und eine Ausgabeleitung und eine Empfänger- und Übertragungsvorrichtung an jedem Ende, die die seriellen Rahmen verarbeiten. Die Eingabeleitung und die Ausgabeleitung zusammen werden als Verbindung bezeichnet. Die bevorzugte Verbindung besitzt zwei optische Fasern, die optische Signale befördern. Ebenso kann die Verbindung aber auch Kupferleitungen zum Übertragen elektrischer Signale oder einige Leitungen in jeder Richtung zum parallelen Übertragen mehrerer Rahmen oder zum Transportieren von Kennungen besitzen, die getrennt von den Rahmen sind. Die Vorrichtung am Kanalende der Verbindung schaltet den parallelen Bus am Kanal in der gleichen allgemeinen Weise, wie eine Steuereinheit diesen Bus in einem System ohne serielle Verbindung schalten würde. Ebenso schaltet die Vorrichtung an dem der Steuereinheit zugewandten Ende der Verbindung den parallelen Bus in der gleichen Weise an die Steuereinheit wie ein Kanal diesen Bus in einem System ohne serielle Verbindung schalten würde.
  • Der Vorrichtung an den Enden der seriellen Verbindung sind verschiedene Namen verliehen worden. In dieser Beschreibung wird die Vorrichtung auf der dem Kanal zugewandten Seite der Verbindung als interne Vorrichtung und die Vorrichtung auf der der Steuereinheit zugewandten Seite der Verbindung als externe Vorrichtung bezeichnet. Die Namen beziehen sich auf die Funktionen der Vorrichtung, werden aber auch verwendet, um eine Vorrichtung dieses Typs allgemein zu bezeichnen.
  • Bytezahlstand, Einheitenzahlstand und Restzahlstand
  • Ein Ziel der Erfindung besteht darin, einen genauen Bytezahlstand zu führen, und es dürfte nützlich sein, einmal die üblichen Bytezähloperationen eines Kanals und einer Steuereinheit zu betrachten. Bei dem herkömmlichen Aufbau mit Kanal und Steuereinheit erfolgt die Zahlstandsteuerung für die Eingabe- und Ausgabeoperationen in der gleichen Weise. Sowohl für die Lese- als auch die Schreiboperationen verfügt der Kanal über einen Bytezahlstand, der dem Kanalbefehlswort (CCW) entnommen wird. Der Kanal versucht dann, diese Anzahl Bytes während einer Schreiboperation an die Steuereinheit zu senden und diese Anzahl Bytes während einer Leseoperation von der Steuereinheit zu empfangen.
  • Die Steuereinheit besitzt ebenfalls einen Bytezahlstand, und die Steuereinheit versucht, diese Anzahl Bytes während einer Leseoperation an den Kanal zu senden und diese Anzahl Bytes während einer Schreiboperation vom Kanal zu empfangen. Der Bytezahlstand für die Steuereinheit wird durch ihre physischen Eigenschaften oder durch ihr Speichermedium bestimmt. Zum Beispiel wird ein Leser/- Locher für eine 80-Spalten-Lochkarte immer versuchen, 80 Bytes zu senden oder zu empfangen, und zwar je ein Byte für jede Spalte einer Karte.
  • Als weiteres Beispiel sei der Bytezahlstand für ein Bandlaufwerk genannt, der daran angepaßt ist, daß die Bandlänge im Prinzip unendlich ist. Bei einer Bandschreiboperation (Ausgabe) stellt der Bytezahlstand für die Steuereinheit die Länge des Bandes dar. Bei einer Bandleseoperation wird der Bytezahlstand für die Steuereinheit von der Satzlänge auf dem Bandmedium selbst bestimmt.
  • Ein drittes Beispiel stellt eine Plattenspeichereinheit/-gerät dar: das Formatieren der Platte richtet spezielle Bytezahlstände für die Eingabe- und Ausgabeoperationen ein.
  • Das Ergebnis jeder I/O-Operation wird durch den Kanal dem I/O- Steuerprogramm über einen als Kanalstatuswort (CSW) bezeichneten Steuerblock mitgeteilt. Die Felder von Bedeutung sind der Restbytezahlstand und der Anzeiger Falsche Länge.
  • Bezüglich des Restbytezahlstandes und des Anzeigers Falsche Länge können alle I/O-Datenübertragungen (sowohl für Eingabe- als auch Ausgabeoperationen) nur auf drei verschiedene Weisen enden.
  • 1) Der CCW-Zahlstand ist gleich dem Einheitenzahlstand: Bei einer Schreiboperation hat die Steuereinheit die genaue Anzahl Bytes übertragen, die der Kanal akzeptiert, oder die Steuereinheit hat bei einer Leseoperation die Datenübertragung angehalten, nachdem der Kanal die im CCW festgelegte Anzahl Bytes empfangen hat.
  • In diesem Fall setzt der Kanal den Restbytezahlstand auf Null und zeigt damit an, daß alle Daten der I/O-Operation übertragen worden sind. Der Kanal setzt den Anzeiger Falsche Länge auf Null und zeigt damit an, daß die Steuereinheit nicht versucht hat, mehr Bytes als dem CCW entspricht, zu senden.
  • 2) Der CCW-Zahlstand ist kleiner als der Einheitenzahlstand: Bei einer Leseoperation hat die Steuereinheit versucht, mehr Bytes zu senden als der Kanal aufnimmt, oder der Kanal hat bei einer Schreiboperation die im CCW festgelegte Anzahl Bytes übertragen, und die Steuereinheit hat versucht, mehr Daten anzufordern (durch Erhöhung von Service Ein oder Daten Ein anstelle von Status Ein). Der Kanal reagiert auf das Service Ein oder Daten Ein durch Erhöhung von Befehl Aus und zeigt damit an, daß die Übertragung abgeschlossen ist.
  • In diesem Fall setzt der Kanal den Restbytezahlstand im CSW auf Null (keine zu übertragenden Daten mehr vorhanden). Der Kanal setzt auch den Anzeiger für falsche Längen im CSW auf Wahr (Eins) und zeigt damit an, daß der Kanal die Datenübertragung durch Erhöhung von Befehl Aus beenden mußte.
  • 3) Der CCW-Zahlstand ist größer als der Einheitenzahlstand: Die Steuereinheit hat die Datenübertragung angehalten, bevor der Kanal die durch das CCW festgelegte Anzahl Bytes übertragen hat. (Die Steuereinheit hält die Schreiboperation durch Erhöhung von Status Ein anstelle von Service Ein oder Daten Ein an.)
  • Im Fall 3 setzt der Kanal den Restbytezahlstand auf die Anzahl nicht übertragener Bytes fest: den ursprünglichen CCW-Zahlstand minus die Anzahl der an die oder von der Steuereinheit übertragenen Bytes. Der Kanal setzt auch den Anzeiger für falsche Längen im CSW auf Wahr; der Wert Status Ein wurde vorzeitig empfangen, da der Restbytezahlstand ungleich Null war.
  • Zusammenfassung der Erfindung
  • Eine Hauptaufgabe unserer Erfindung besteht in der Führung eines richtigen Bytezahlstandes in einem System, in dem die Steuereinheit und der Kanal durch eine serielle Verbindung und eine externe Vorrichtung mit einem Datenpuffer voneinander getrennt sind. Diese Bauelemente verhindern den bisher beschriebenen direkten Austausch von Bytezahlstandinformationen. Im großen und ganzen kann man sagen, daß die Nachrichten auf der seriellen Verbindung und dem parallelen Bus etwa so übertragen werden, wie Fredericks u. Mitarb. beschrieben haben (Unterschiede werden später beschrieben).
  • Der Datenpuffer der externen Vorrichtung wird zum Vorausholen von Daten aus dem Hauptspeicher des Prozessors bei einer Schreiboperation und/oder aus der Steuereinheit bei einer Leseoperation verwendet. Die Operation heißt "Vorausholen", da der Kanal nicht auf die herkömmliche Bestätigung von der externen Vorrichtung bei einer Schreiboperation und die externe Vorrichtung nicht auf eine Bestätigung vom Kanal bei einer Leseoperation wartet.
  • Das Kanal-Front-End kann eine physisch völlig separate Baueinheit sein, die mit einem herkömmlichen Kanal zusammenarbeitet. Das Kanal-Front-End kann jedoch auch logisch und/oder physisch mit dem Kanalprozessor integriert sein. Für die externe Vorrichtung selbst sind beide Ausführungsbeispiele gleich. Zum größten Teil wird unsere Erfindung aus dem Blickwinkel der externen Vorrichtung betrachtet, und der Begriff "Kanal" wird sowohl (1) einen Kanal und ein Kanal-Front-End, die logisch und/oder physisch getrennt sind, als auch (2) einen äquivalenten Kanal bedeuten, der Baueinheiten und Funktionen des Kanal-Front-End umfaßt. Die Begriffe "getrenntes Kanal-Front-End" und "integrierter Kanal" werden dort verwendet, wo eines dieser beiden Ausführungsbeispiele weiter beschrieben wird. Für diese Zusammenfassung kann das getrennte Kanal-Front-End so aufgefaßt werden, daß sie im allgemeinen der externen Vorrichtung gleicht.
  • Der Kanal verfügt über einen Zähler, der als Rahmenzähler bezeichnet wird, und der Rahmenzähler verfolgt die erfaßte Anzahl Bytes, die abgesandt oder empfangen, aber noch nicht bestätigt wurden. Der Kanal führt auch den herkömmlichen Bytezahlstand im CCW. Der Kanal unterbricht die Datenübertragung vom Prozessorspeicher, wenn der Rahmenzähler anzeigt, daß der Puffer der externen Vorrichtung voll sein kann oder nachdem eine vorgegebene Anzahl Bytes übertragen wurde (oder, wie üblich, wenn der CCW-Zahlstand ausgeschöpft wurde). Bei einer Leseoperation verwendet der Kanal den Rahmenzähler, um einen möglichen Überlauf des Kanalpuffers zu finden, wie in dieser Zusammenfassung im folgenden noch diskutiert werden wird.
  • In einem System mit einem getrennten Kanal-Front-End führt der Kanal, wie gewöhnlich, das Bytezahlstandfeld des CCW, und das Kanal-Front-End führt den Rahmenzähler. Das Kanal-Front-End erhöht und senkt die Datenübertragungskennungen auf dem parallelen Bus (was sonst die Aufgabe einer Steuereinheit wäre), um eine hohe Datenübertragungsgeschwindigkeit aufrechtzuerhalten. Sie verwendet auch herkömmliche Kennungsfolgen, um die Datenübertragung zu unterbrechen oder zu verzögern, wenn der Rahmenzähler anzeigt, daß der Puffer voll sein kann. In einem integrierten System sendet der Kanal die Datenrahmen direkt ab. Bei beiden Ausführungsbeispielen liefert die externe Vorrichtung die aktuelle Bestätigung an den Kanal, nachdem die Steuereinheit auf dem parallelen Bus eine normale Bestätigung an die externe Vorrichtung geliefert hat.
  • Eine verriegelte Schreiboperation
  • Bei einer verriegelten Schreiboperation holt der Kanal Bytes vorher aus dem Hauptspeicher des Prozessors, stellt diese Bytes wie üblich zu seriellen Rahmen um und überträgt die Bytes an die Baueinheiten der externen Vorrichtung, die sie im Pufferspeicher ablegen. Die externe Vorrichtung bestätigt die Übertragung in diesem Operationsschritt nicht, doch der Kanal sendet weiterhin Bytes mit einer hohen Übertragungsgeschwindigkeit an die externe Vorrichtung. Das Übertragen von Bytes ohne unmittelbare Bestätigung erhöht die Datenübertragungsgeschwindigkeit, kompliziert aber das Problem der Führung des Bytezahlstandes.
  • Die externe Vorrichtung verfügt über Zähler, die die vom Kanal empfangene, die an die Steuereinheit übertragene und die im Pufferspeicher befindliche Anzahl Bytes mitteilen. Bei einer Schreiboperation bedient sich die externe Vorrichtung der Zähler zum Steuern der Datenübertragung vom Pufferspeicher zur Steuereinheit. Die externe Vorrichtung verwendet die Zähler auch zum Führen des Bytezahlstandes.
  • Die externe Vorrichtung sendet einen Bestätigungsrahmen erst dann an den Kanal, nachdem er das Byte an die Steuereinheit gesandt hat. In einem Ausführungsbeispiel sendet der externe Anschluß einen Bestätigungsrahmen für jedes an die Steuereinheit gesandte Byte ab. Der Bestätigungsrahmen kann ein leerer Datenrahmen sein.
  • In einer Ausführung der Erfindung sendet die externe Vorrichtung einen Bestätigungsrahmen ab, der einen Zahlstand der an die Steuereinheit gesandten Bytes enthält. Vorzugsweise arbeitet das System mit einer festgelegten Datenblockgröße.
  • Eine verriegelte Leseoperation
  • Bei einer gesperrten Leseoperation kann der Pufferspeicher in der externen Vorrichtung auf zweierlei Weise verwendet werden. In einem Ausführungsbeispiel wird der Pufferspeicher in der externen Vorrichtung umgangen, und die Bytes werden, je ein Byte in einen Rahmen, so schnell wie sie durch die Steuereinheit vom externen Anschluß empfangen werden können, direkt an den Kanal gesendet. Auch wenn der Pufferspeicher nicht verwendet wird, kommt es im Kanalsubsystem zu einer Pufferwirkung, da die lange serielle Leitung mehrere Bytes hält.
  • Vorzugsweise verfügt der Kanal wie gewöhnlich über einen Puffer für die Eingabebytes. Der Kanal setzt den Rahmenzähler stufenweise hoch, wenn Bytes abgerufen und empfangen werden, und der Kanal hält die Bestätigungsrahmen zurück, um die externe Vorrichtung zu verlangsamen, wenn der Rahmenzähler anzeigt, daß sich der Kanalpuffer dem Überlauf nähert.
  • Bei einer Ausführung unserer Erfindung werden Bytes von der Steuereinheit im Puffer der externen Vorrichtung zwischengespeichert, bis eine vorher festgelegte Anzahl Bytes gespeichert wurde, und diese Bytes als Block an den Kanal gesandt. Die Bytezahlstandoperationen werden später eingehend beschrieben.
  • Bei einem Ausführungsbeispiel unserer Erfindung sendet der Kanal den Bytezahlstand vom CCW an die externe Vorrichtung. Bei einer Ausführung sendet der Kanal inkrementale Zahlstände ab, sobald Bytes an den Puffer gesandt werden.
  • Schlußsequenz
  • Wenn die Datenübertragung abgeschlossen ist, erstellt die externe Vorrichtung einen Statusrahmen, der dem Kanal mitteilt, ob die Steuereinheit den Status Ein nach dem letzten Byte oder ob die externe Vorrichtung den Befehl Aus, um die Übertragung zu beenden, erhöht hat. Die externe Vorrichtung sendet auch Informationen für den Restzahlstand an den Kanal. Diese Operationen sichern den Bytezahlstand, der ansonsten in einem parallelen Kanal ohne die Kanalerweiterungsverbindung oder den Puffer aufträte.
  • Datenstromübertragung
  • Die Ideen der Datenstromübertragung sind in Computer Design, 21(4), April 1982, S. 167-169 von Lynch in "Designers, shake hands with data streaming" beschrieben. In dieser Erfindung können die Datenstromoperationen in einer von zwei Arten betrieben werden. Bei einer Art wird der Puffer umgangen. Datenstromoperationen sind an sich schon schnell, und der Puffer erhöht die Geschwindigkeit der Datenübertragung nicht direkt. Bei einer zweiten Betriebsart wird der Puffer bei einer Lese- oder Schreiboperation verwendet. Die externe Vorrichtung überträgt Bytes von der Steuereinheit an den Puffer und bestätigt die Bytes in der gleichen Weise, wie dies bereits bei der verriegelten Leseoperation beschrieben wurde. Diese Betriebsweise liefert bereits eine Bestätigung an die Steuereinheit, nachdem erst ein oder mehrere Bytes gelesen worden sind. Im Gegensatz dazu erhält die Steuereinheit bei der ersten Betriebsart
  • - dem Umgehen des Puffers - ihre erste Bestätigung erst, wenn eine Anzahl Bytes über die serielle Leitung an den Kanal und eine ungefähr gleiche Anzahl Bestätigungsbytes auf der seriellen Leitung vom Kanal geleitet wurde. Einige Steuereinheiten zählen die ohne Bestätigung abgesandten Bytes und signalisieren einen Fehler, wenn dieser Zahlstand einen bestimmten Wert erreicht, der für gewöhnlich einer seriellen Verbindung mittlerer Länge entspricht. Dieses Merkmal unserer Erfindung ermöglicht den Einsatz der Datenstromübertragung in Systemen mit langen seriellen Verbindungen.
  • Andere Aufgaben und Merkmale der Erfindung werden sich aus der eingehenden Beschreibung ergeben.
  • Die Zeichnungen
  • Fig. 1 ist ein Blockschaltbild eines Kanalsubsystems, das den allgemeinen Datenstrom zwischen einem Kanal und einer Steuereinheit unter Verwendung eines Kanal-Front-End und eines externen Kanalvorrichtung und von Datenvorausholelementen unserer Erfindung zeigt.
  • Fig. 2 ist ein Blockschaltbild, das Struktureinheiten zeigt, die das Kanal-Front-End und die externe Vorrichtung mit einer seriellen Verbindung und mit dem parallelen Bus zeigt.
  • Fig. 3 ist ein Schaltbild der externen Vorrichtung, das insbesondere die Komponenten des Vorausholelements zeigt, die während einer Leseoperation arbeiten.
  • Fig. 4 ist ein Schaltbild der externen Vorrichtung, das insbesondere die Komponenten des Vorausholelementes zeigt, die während einer Schreiboperation arbeiten.
  • Fig. 5 ist ein Schaltbild der Komponenten des Kanals von Fig. 1.
  • Das bevorzugte Ausführungsbeispiel 1. Das System von Fig. 1
  • Fig. 1 zeigt einen Kanal 12, eine bidirektionale serielle Verbindung 14 mit einer Eingabeleitung 15 und einer Ausgabeleitung 16 und eine Steuereinheit 18 für ein nicht dargestelltes Gerät. Die Verbindung ist, wie bereits beschrieben, von herkömmlicher Art. Der Kanal wird an einen zentralen Prozessor und an einen Hauptspeicher des zentralen Prozessors angeschlossen, die in ihrer Beziehung zu den Elementen der Fig. 1 herkömmlich sind und nicht gezeigt werden. Diese Elemente der Fig. 1 sind gut bekannt. Abwandlungen des herkömmlichen Kanals werden in Abschnitt 11 beschrieben.
  • Fig. 1 zeigt auch das Vorausholelement 21 des Kanal-Front-End und das Vorausholelement 22 der externen Kanalvorrichtung. Das Kanalvorausholelement 21 und der Kanal 12 werden durch die Eingabeleitungen 24 und die Ausgabeleitungen 25 der Standardschnittstelle miteinander verbunden. Desgleichen werden das Vorausholelement 22 der externen Vorrichtung und die Steuereinheit 18 werden durch einen Satz Eingabeleitungen 26 und einen Satz Ausgabeleitungen 27 der Standardschnittstelle miteinander verbunden.
  • Die Ausgabeleitungen 25 des Kanals haben die Bezeichnung SO für die Kennungsleitung Service Aus, die eines der während einer Datenvorausholoperation durch den Bus übertragenen Signale darstellt. Desgleichen besitzen die Eingabeleitungen 27 von der Steuereinheit zum Vorausholelement der externen Vorrichtung die Bezeichnung SI für die Kennung Service Ein. Die Eingabeleitungen 24 besitzen die Bezeichnung PSI, die Pseudo-Service Ein bedeutet, und die Ausgabeleitungen 26 haben die Bezeichnung PSO, die Pseudo-Service Aus bedeutet. Das Kanalvorausholelement erstellt die Kennung PSI und das Vorausholelement der externen Vorrichtung die Kennung PSO als Bestandteil der im folgenden beschriebenen Operationen. Der Kanal spricht auf PSI und die Steuereinheit auf PSO genauso an, wie diese Elemente sonst in einem System ohne seriellen Anschluß auf Service Ein und Service Aus ansprechen würden.
  • Während einer Leseoperation verwenden die externe Vorrichtung und die Steuereinheit die Marken PSO und SI, um Datenbytes von der Steuereinheit 18 und dem Gerät mit einer für diese Baueinheiten passenden Geschwindigkeit an die externe Vorrichtung 22 zu übertragen. Bei Bedarf speichert die externe Vorrichtung die Bytes in einem Puffer (der später beschrieben wird) und überträgt die Daten über die Eingabeleitung an das Kanal-Front-End. Diese beiden Teile der Leseoperation laufen so lange unabhängig voneinander, wie vom Gerät zu übertragende Daten vorhanden sind und der Puffer noch über leere Speicherplätze verfügt, um Daten von der Steuereinheit und an den Kanal zu übertragende Bytes aufzunehmen, und sie verlaufen im großen und ganzen unabhängig vom Kanal.
  • Desgleichen holt bei einer Schreiboperation das Kanal-Front-End Daten aus dem Prozessorspeicher voraus und überträgt sie in seriellen Rahmen an die externe Vorrichtung. Der externe Anschluß wandelt die Daten von seriell nach parallel um, und das Vorausholelement speichert die Daten im Puffer und überträgt sie dann unter Verwendung der Kennungen PSI und SO an die Steuereinheit.
  • Die Verbindungen 24, 25 zwischen dem Kanal und dem Kanalvorausholelement können aber auch in einer nichtstandardisierten Schnittstelle für den jeweiligen Kanal bestehen, oder der Kanal und das Kanal-Front-End kann physisch und/oder logisch einbezogen werden, wie bereits erklärt wurde. Ebenso kann das externe Kanal-Front-End mit einer Steuereinheit zusammengeschlossen werden, die gemäß einem Standardprotokoll mit dem Kanal arbeitet und Registerpositionen und/oder Signalleitungen besitzt, die den Leitungen der Standardschnittstelle 26, 27 entsprechen.
  • 2. Die Komponenten von Fig. 2
  • Fig. 2 zeigt eine detailliertere Darstellung der Komponenten von Fig. 1. Die Teile 24-27 des parallelen Busses werden weiterhin eingeteilt, wobei der Index "b Bus Aus, 25b und 26b, und Bus Ein, 27b und 24b bezeichnet, und der Index "c" die abgehenden Steuersignale 25c und 26c und die ankommenden Steuersignale 27c und 24c bezeichnet. Manchmal kann es von Vorteil sein, sich diese als kontinuierliche Leitungspaare (z. B. 25b und 26b) zwischen dem Kanal und der Steuereinheit. Wie in einem parallelen Bus ohne serielle Verbindung, vorzustellen.
  • Das Kanal-Front-End 21 und die externe Vorrichtung 22 umfassen jeweils eine Rahmensendeschaltung 28 und eine Rahmenempfangsschaltung 29 zur Übertragung serieller Rahmen auf Verbindung 14. Die Eingabeleitung 15 und die Ausgabeleitung 16 der seriellen Verbindung können verallgemeinert als ankommende Leitung an eine Rahmenempfängerschaltung und als abgehende Leitung von einer Rahmensenderschaltung bezeichnet werden. Diese Komponenten des Kanal- Front-End und der externen Vorrichtung sind herkömmlich und können aus der Beschreibung ihrer Betriebweise leicht verstanden werden.
  • Das Kanal-Front-End und die externe Vorrichtung umfassen die Schnittstellenbehandlungsschaltungen 30a und 30b, die die Nachrichten im Format des parallelen Busses behandeln. Die Schnittstellenbehandlungsschaltungen von Fig. 2 empfangen die Kennungssignale Service Ein und Service Aus und erzeugen die Kennungssignale Pseudo-Service Aus und Pseudo-Service Ein in Fig. 1. Die Schnittstellenbehandlungsschaltungen 30a des Kanaleingangs 21 sind im wesentlichen die Schaltungen der herkömmlichen Steuereinheit 18, die den parallelen Bus 26, 27 behandeln, und die Schnittstellenbehandlungsschaltungen 30b der externen Vorrichtung sind im wesentlichen die Schaltungen des Kanals, die den parallelen Bus 24, 25 bearbeiten. Die Unterschiede werden später behandelt.
  • 3. Die Beziehungen von Fig. 3 mit Fig. 1 und Fig. 2
  • In Fig. 3 ist die serielle Ausgabeleitung 16 von Fig. 1 als ein nach rechts gerichteter Pfeil und die serielle Eingabeleitung 15 als ein nach links gerichteter Pfeil dargestellt. Die Rahmenempfangsschaltung 29 von Fig. 2 wird teilweise durch einen seriellen Rahmen 31 dargestellt. Rahmen haben das allgemeine Format, das in der Einleitung beschrieben wurde, und die Zeichnung zeigt das Befehlsfeld und das Datenfeld mit den Indizes "a" bzw. "b" für die Bezugszeichen. Die Rahmenempfangsschaltung wird weiterhin durch einen Ausgabebus 34 von dem Befehlsfeld des Rahmens und einen Ausgabebus 35 von dem Datenfeld eines Rahmens dargestellt.
  • Die Rahmensendeschaltung 29 wird durch zwei Rahmen 32 und 33 und die Busse 36 und 46 dargestellt, die Bytes für die Datenfelder der abgehenden Rahmen übertragen. Rahmenbehandlungsschaltungen sind gut bekannt, und die Rahmensende- und Rahmenempfangsschaltungen können aus den Betriebbeschreibungen der externen Vorrichtung leicht verstanden werden.
  • Der Bus 27m in Fig. 3 stellt eine Erweiterung von Bus Aus 27 in Fig. 2 dar. Er hat eine Breite von einem Byte und verbindet die Schaltung von Fig. 3 mit der Schnittstellenbehandlungsschaltung 30b in Fig. 2. Wenn die Steuereinheit ein Datenbyte auf den "Bus ein" 27 in Fig. 2 bringt, dann bringt die Schnittstellenbehandlungsschaltung 30b das Byte auf den Bus 27m. In einem Ausführungsbeispiel der Erfindung werden alle Bytes von der Steuereinheit vom Bus 27m durch das Gate 54 an einen abgehenden Datenrahmen 32 geleitet.
  • In einem später genauer beschriebenen Ausführungsbeispiel signalisieren die Schnittstellenbehandlungsschaltungen, daß das Byte für die spezielle Operation bestimmt ist, die durch die Kennungen auf dem Bus 27c in Fig. 2 bezeichnet ist. In einem später genauer zu beschreibenden Beispiel signalisieren die Schnittstellenbehandlungsschaltungen, daß sich eine Leseoperation im Datenstromübertragungsmodus befindet. Die bei einer Leseoperation gerade übertragenen Bytes werden bei Bedarf über den Bus 27m zu dem Puffer 39 geleitet. Diese Bytes werden dann später aus dem Puffer gelesen und über den Bus 36 an die Rahmensendeschaltungen übertragen. Der Puffer und die Datenpfade werden später eingehend beschrieben. Bytes der Steuereinheit, die nicht Bestandteil der Datenübertragung sind, umgehen, wie bereits beschrieben, den Puffer 39. Ein Beispiel für eine den Pufferspeicher umgehende Operation ist der Informationsaustausch zu nennen, der bei der anfänglichen Auswahl des I/O- Gerätes stattfindet: Es werden nur wenige Bytes übertragen, so daß für gewöhnlich kein Grund für die Verwendung des Puffers besteht.
  • 4. Die seriellen Rahmen
  • Wie üblich besitzt das Befehlsfeld einen Binärcode, der die Bedeutung des Datenfeldes mitteilt. Eine herkömmliche Decodierschaltung 37 empfängt das Befehlsfeld 31a über den Bus 34 von einem ankommenden Rahmen 31 und erzeugt ein Signal auf einer oder mehreren Leitungen, um die Gatter für die Operation, die der Befehl aufruft, zu steuern. Bei einigen (oder allen) Operationen wird der Befehlscode im Feld 31a an ein Register übertragen, das die Eingabe an den Decodierer unabhängig vom Inhalt des zuletzt empfangenen Bytes auf Leitung 16 bewirkt. Bei der Leseoperation von Fig. 3 erzeugt der Decoder 37 eine Ausgabe "Lade Zahlstand" auf Leitung 38. Dieses Signal öffnet ein Gattersystem 41, um den Inhalt des Datenfeldes 31b an die mit dem Gatterausgang verbundenen Schaltungen zu übertragen. Das Gatter 41 ist von herkömmlicher Art und umfaßt für gewöhnlich eine UND-Schaltung für jede Leitung des Busses 35. Die Operation selbst wird später beschrieben.
  • Es werden nur wenige Befehle benötigt, und das bevorzugte System verwendet ein Dreibit-Befehlsfeld, das, wie üblich, in jeder Richtung bis zu acht Rahmenformate zur Verfügung stellt. Das Format für abgehende Rahmen umfaßt Befehle zur Kennzeichnung, daß das Datenfeld (1) Daten vom "Bus aus" 25b, (2) Kennungen von der Standardschnittstelle 25c, (3) Zahlstandsrahmen (wie in Fig. 3), die in einigen Ausführungsbeispielen in (4) einen Schlußzahlstand und (5) einen Zwischenzahlstand eingeteilt sind, und (6) weitere Steuerinformationen umfaßt. Die weiteren Steuerinformationen umfassen die Festlegung einer bevorstehenden Operation als Datenübertragung oder als Operation ohne Datenübertragung (im letzteren Fall wird der Puffer umgangen), die Festlegung einer bevorstehenden Datenübertragung als Lese- oder Schreiboperation und als Verriegelungs- oder als Datenstromübertragungsmodus. In Fig. 3 zeigt der Rahmen 31 sowohl den Schlußzahlstandrahmen als auch den Zwischenzahlstandrahmen, die über gleiche Verbindungen zum Bus 44 verfügen und sich nur bezüglich des Befehlscodes im Feld 31a unterscheiden.
  • Das Format für ankommende Rahmen umfaßt Befehle, die anzeigen, daß das Datenfeld (1) Daten von Bus Ein 27b, (2) Kennungen von der Standardschnittstelle 27c, Zahlstandsrahmen enthält, die in einigen Ausführungsbeispielen in (3) einen Restzahlstandrahmen und (4) einen Zahlstandprüfrahmen aufgeteilt sind, und (5) den Status vom externen Anschluß. (Der Statusrahmen (5) der externen Vorrichtung ist nicht der herkömmliche Gerätestatus auf dem parallelen Bus, der als Datenrahmen nach einem entsprechenden Markenrahmen über die serielle Verbindung übertragen wird.)
  • Die Rahmen der abgehenden und ankommenden Daten übertragen Daten von Bus Ein bzw. Bus Aus. Die Rahmen der abgehenden und ankommenden Daten übertragen Marken, die für die anfängliche Auswahl und die Schlußsequenz benötigt werden. Diese Rahmen sind denen in der Veröffentlichung von Lynch und Thorn ähnlich und können aus der Beschreibung der Datenübertragungsoperationen verstanden werden.
  • Das Datenfeld des Rahmens für ankommenden Status umfaßt drei Bits, die bei den später beschriebenen Operationen verwendet werden: Ein Bit LBS (letztes Bit abgesandt )1 ein Bit COS (Befehl Aus abgesendet) und ein Bit RTC (Leseübertragungsprüfung). Weitere Bits im Statusrahmen, wie beispielsweise ein Paritätsfehlerbit, sind für die Bytezahlstandoperationen ohne Bedeutung.
  • Das Datenfeld des abgehenden Steuerrahmens besitzt zwei Bits, die bei den später beschriebenen Operationen Verwendung finden: Ein Bit IN, das anzeigt, daß sich eine Operation auf Eingabe oder auf Ausgabe bezieht, und ein Bit CNTL, das anzeigt, daß die folgenden Rahmen für die Datenübertragung oder für Steueroperationen vorgesehen sind, die für die anfängliche Auswahl oder die Schlußsequenz benötigt werden.
  • Es ist bekannt, eine Datenübertragung mit einem als Kopfzeile bezeichneten Rahmen zu beginnen, der ein Befehlsfeld, zugehörige Felder, wie beispielsweise ein Startfeld und ein Prüfbitfeld, aber keine Daten, enthält. Danach wird, ohne das Befehlsfeld zu wiederholen, eine Folge von Datenrahmen abgesandt. Diese Rahmenfolge ist einem Einzelrahmen mit einer Anzahl von Bytes im Datenfeld äquivalent, und die Beschreibung wird sich, ohne an Allgemeingültigkeit zu verlieren, im folgenden auf die Begriffe eines Rahmens mit einem Befehlsfeld und mit einem Datenfeld beziehen.
  • Man beachte, daß der Begriff "Daten" verwendet wird, um das Feld 31b vom Befehlsfeld 31a zu unterscheiden und einen Rahmen mit einem Datenbefehlscode von einem Rahmen mit einem Befehlscode für Marken, Zahlstände oder Steuerinformationen zu unterscheiden. Das Bit CNTL in einem Befehlsrahmen bewirkt eine weitere Unterscheidung zwischen den Datenarten in einem Datenfeld. CNTL wird für eine Datenübertragung auf einen und während der anfänglichen Auswahl und der Schlußsequenz auf den anderen Binärwert (0 oder 1) gesetzt. Während der anfänglichen Auswahl und der Schlußsequenz überträgt das Datenfeld eines Datenrahmens solche Informationen wie einen Befehl, der durch einen Kennungsrahmen bezeichnet wird. Der Steuerrahmen wird mit dem auf den entsprechenden Wert gesetzten Bit CNTL zu Beginn jeder Phase einer I/O-Operation übertragen, und die externe Vorrichtung speichert den Wert dieses Bits und verwendet ihn zum Auswerten der Datenfelder der Datenrahmen. (Oder zusätzliche Befehlscodes können, wie üblich, bezeichnen, daß die Daten für eine spezifische Operation bestimmt sind.)
  • 5. Der Puffer in Fig. 3
  • Der Datenpuffer 39 des Datenvorausholelementes hält zeitweilig Daten fest, die zwischen dem Hauptspeicher des Prozessors und der Steuereinheit (in beiden Richtungen) übertragen werden. Die Puffer sind gut bekannt, und die Pufferfunktion kann für die vorausgeholten Elemente auf verschiedene Weise realisiert werden. Der bevorzugte Puffer besitzt eine Breite von einem Byte. (Allgemein gesagt, bedeutet der Begriff "Byte" eine in einer Speicherzugriffsoperation gelesene oder gespeicherte Dateneinheit; für gewöhnlich hat der Puffer 39 die gleiche Breite wie Bus Ein und Bus Aus, die ein oder zwei Byte beträgt). Der Puffer besitzt einen Schreibadreßzeiger 42 und einen Leseadreßzeiger 43, die als Ringzähler angelegt sind, die im Verlauf der Lese- und Schreiboperationen inkrementiert werden. Zwar sind diese Zähler herkömmlicher Art, doch werden sie bei einem Ausführungsbeispiel dieser Erfindung für Bytezähloperationen verwendet, wie später beschrieben wird. Herkömmliche Pufferbauelemente verhindern, daß die Leseadresse höher gesetzt wird als die Schreibadresse.
  • Der Puffer verfügt über einen Zähler 45, der als Zähler Pufferspeicher Voll bezeichnet wird. Der Zähler ist so geschaltet, daß er zu Beginn einer Leseoperation mit Datenvorausholung auf Null (oder einen anderen geeigneten Bezugswert) zurückgesetzt wird. Danach wird der Zähler um Eins erhöht, wenn im Puffer ein Byte gespeichert wird, und um eins erniedrigt, wenn ein Byte aus dem Puffer geholt wird. Diese Zähleroperationen sind üblich, und die Einzelheiten der zugehörigen Bauelemente werden in der Zeichnung nicht gezeigt. Als Folge ist der Zahlstand im Zähler Pufferspeicher Voll immer gleich der Anzahl im Puffer befindlicher Bytes, und er teilt mit, ob der Puffer voll, oder leer oder teilweise gefüllt ist. Bei einer Leseoperation wird der im Zähler Pufferspeicher Voll 45 befindliche Zahlstand dazu verwendet, die Leseoperation vom Gerät anzuhalten, wenn der Puffer voll wird.
  • 6. Der Kanalzähler und die Kanaloperation für den Bytezahlstand - Fig. 5
  • Der Kanal und die externe Vorrichtung verfügen über Mittel zum Erzeugen eines Bestätigungsrahmens für ein Byte oder einen Byteblock. Bei einem Ausführungsbeispiel ist der Bestätigungsrahmen ein leerer Datenrahmen. (Eine später beschriebene Ausführung verwendet einen Zahlstandsrahmen, um einen Byteblock zu bestätigen.) Die Vorrichtung zum Bestätigen von Bytes ist ähnlich der herkömmlichen Vorrichtung für die Bestätigung von Bytes auf einem parallelen Bus. (Während einer Datenübertragung auf einem herkömmlichen parallelen Bus bestätigt der Kanal ein Byte durch Aus senden von Service Aus oder Daten Aus, und die Steuereinheit fordert durch Aussenden von Service Aus oder Daten Aus ein Byte an. Bus Aus ist leer, wenn eine abgehende Bestätigungskennung, Bus Ein ist leer, wenn eine ankommende Bestätigungskennung abgesandt wird.) Fig. 5 zeigt die Abwandlung der herkömmlichen Vorrichtung des Kanals.
  • Der Kanal hat einen Auf-ab-Zähler, der auch als Rahmenzähler bezeichnet wird. Der Kanal setzt den Rahmenzähler zu Beginn einer Schreib- oder Leseoperation auf Null. Bei einer Schreiboperation erhöht der Kanal den Rahmenzähler um Eins, wenn ein Byte abgesandt, und erniedrigt den Rahmenzähler um eins, wenn eine Bestätigung empfangen wird. Bei einer Leseoperation erniedrigt der Kanal den Rahmenzähler um Eins, wenn er ein Byte empfängt, und erhöht ihn um Eins, wenn er das Byte bestätigt. Wenn alle abgesandten oder empfangenen Bytes bestätigt worden sind, dann steht der Rahmenzähler auf Null. Wenn der Rahmenzähler nach einer Leseoperation auf +1 oder nach einer Schreiboperation auf -1 steht, dann hat der Kanal mehr Bytes bestätigt als er empfangen hat, und der Kanal signalisiert einen Fehler. Bei einer Leseoperation zeigt ein vorbestimmter Zahlstandswert an, daß der Kanalpuffer voll oder fast voll ist, und bei einer Schreiboperation zeigt ein vorbestimmter Zahlstandwert an, daß der Puffer in der externen Vorrichtung voll oder fast voll ist.
  • Wie Fig. 5 zeigt, überprüft ein Decodierschaltkreis diese Zählerwerte und die Wertebereiche. Als Reaktion auf die Fehlersignalanzeigen löst der Kanal herkömmliche Fehlerbehebungsprozeduren aus. Als Reaktion auf die Signale Speicher Voll führt der Kanal eine Operation aus, die später beschrieben wird.
  • Bei einer Schreiboperation vergleicht der Kanal den Zahlstand im Rahmenzähler mit der Größe des Puffers in der externen Vorrichtung des Kanals und erzeugt ein Signal Puffer 39 Fast Voll und hält das Absenden von Rahmen an, wenn der Zahlstand gleich der Puffergröße wird. Der Puffer 39 ist entweder voll oder fast voll, kann aber nicht überlaufen. (Die Anzahl der Bytes im Puffer ist nicht genau vom Kanal bekannt, da sich mehrere Bestätigungsrahmen in der seriellen Eingabeleitung 15 befinden können.) Das Komplement des Signals Puffer 39 Fast Voll bedeutet, daß der Puffer 39 nicht voll ist, und der Kanal sendet Rahmen an die externe Vorrichtung, während der Puffer der externen Vorrichtung nicht voll und der CCW- Zahlstand nicht gleich Null ist. Als eine Ausführung dieser Vergleichsfunktion ermittelt der Rahmenzählerdecodierer einen Bereich von Zahlstandwerten, die einem vollen Puffer entsprechen. Wenn dem Rahmenzähler die gleiche Größe zugewiesen wurde wie die des Puffers, bedeutet ein Zahlstand aller Einsen, daß der Puffer voll ist (in Fig. 5 nicht dargestellt).
  • 7a. Das Zählersystem in Fig. 3
  • Bei einem Ausführungsbeispiel der Erfindung ist die externe Vorrichtung mit einem Zähler 47 ausgestattet, der für eine Leseoperation als Anforderungszähler und für eine Schreiboperation als Datenabsendezähler bezeichnet wird. Vorzugsweise führt derselbe Zähler beide Funktionen aus. Sobald ein Zahlstandsrahmen empfangen wurde, wird der Zahlstand in den Zähler 47 überführt oder zu dem bereits im Zähler 47 befindlichen Zahlstand addiert. (Ein Addierer ist bei Zählerschaltungen herkömmlich und wird in Fig. 3 nicht gezeigt).
  • Als Reaktion auf das Signal auf Leitung 34 wird das Feld 31b des Zahlstandrahmens 31 an den Bus 35 geleitet und in den Anforderungszähler 47 eingegeben. Die Logikschaltungen 49 reagieren auf den von Null unterschiedlichen Stand des Anforderungszählers 47 und den teilgefüllten Zustand des Zählers Pufferspeicher Voll 45, um die Schnittstellenbehandlungsschaltungen in Fig. 2 anzuweisen, Bytes aus der Steuereinheit zu empfangen (der vom Kanal angeforderte Zahlstand ist noch nicht erreicht) und diese Bytes im Pufferspeicher abzuspeichern (der Puffer ist noch nicht voll). Wenn ein Byte im Pufferspeicher abgespeichert wird, wird der Anforderungszähler 47 um Eins zurückgesetzt. Wenn der Anforderungsspeicher den Wert Null erreicht, dann unterbricht das Vorausholungselement die Übertragung von der Steuereinheit.
  • Solange der Puffer noch nicht leer ist, holen die Rahmensendebauelemente in Fig. 1 über den Bus 36 Daten aus dem Pufferspeicher, formen die Bytes in einen seriellen Rahmen 32 um und übertragen den seriellen Rahmen über die Eingabeleitung 15 an das Kanal-Front-End.
  • Wenn im Anforderungszähler 47 ein Zahlstand von Null erreicht ist, dann wird der im Zähler enthaltene Zahlstand an die Rahmensendeschaltung torgesteuert, die den Rahmen 33 erstellt und diesen über die serielle Leitung an das Kanal-Front-End sendet. Soll die Leseoperation fortgesetzt werden, sendet das Kanal-Front-End einen weiteren Leserahmen 16 an die externe Vorrichtung.
  • 7b. Ein Zweizählersystem
  • Diese Zahlstandfunktionen können auf zwei getrennte Zähler aufgeteilt werden, die als Kanalzeiger ChanPtr und als Schnittstellenzeiger InPtr bezeichnet werden. ChanPtr bezieht sich auf die an den Kanal abgesandten und InPtr auf die von der Steuereinheit empfangenen Bytes. Der Zusatz Ptr bezieht sich darauf, daß die Zahlstände im Pufferspeicher 39 Adressen sein können, wie in Abschnitt 7c erklärt wird.
  • Vorzugsweise sendet der Kanal den vollen CCW-Zahlstand in einem Rahmen an die externe Vorrichtung. Bei der Ausführung von Fig. 3 sendet der Kanal einen Zahlstand an die externe Vorrichtung, der einer Blockübertragung mehrerer Bytes entspricht, und der Kanal sendet im weiteren Verlauf der Leseoperation weitere Zahlstände für eine Blockübertragung oder für einen partiellen Schlußblock ab.
  • Der Zähler InPtr empfängt ein Signal, wenn ein Byte empfangen wurde, und zählt die über die parallele Schnittstelle von der Steuereinheit an die externe Vorrichtung übertragenen Bytes. Der Zähler InPtr wird am Anfang einer Datenübertragungsoperation (aber nicht, wenn bei Datenverkettung ein neues CCW durch den Kanal abgerufen wird) auf Null zurückgesetzt. Bei einer Leseoperation wird er um Eins erhöht, wenn ein Byte in den Puffer gespeichert wird. Bei einer Schreiboperation wird er erhöht, wenn über den parallelen Bus ein Byte an die Steuereinheit gesandt wurde.
  • Bei einer Lese- oder Schreiboperation stellt die Differenz zwischen den beiden Zählern die Anzahl der an die oder von der Steuereinheit zu übertragenden und im Puffer befindlichen Bytes dar.
  • 7c. Ein Kurzzählersystem
  • Bei der Leseoperation in Fig. 3 enthält der Schreibzeiger 42 die Zahl der von der Steuereinheit empfangenen Bytes und fungiert daher wie InPtr. Der Lesezeiger 43 enthält die Anzahl der an den Kanal gesandten Bytes und fungiert daher wie ChanPtr.
  • Das Bytezahlstandsfeld des CCW besitzt eine vorbestimmte Länge, die die maximale Anzahl der mit einem CCW bei der Operation zu übertragenden Bytes festlegt. Im bevorzugten Datenverarbeitungssystem ist das Bytezahlstandfeld des CCW 16 Bit lang, und es können mit einem CCW bis zu 64 kByte mit einem CCW übertragen werden. Für gewöhnlich wird der Puffer 39 kleiner angelegt als die maximale Anzahl Bytes, die durch ein CCW übertragen werden können, und die Pufferadresse wird damit kürzer als das Zahlstandfeld in einem CCW sein. In dieser Situation können die Zähler in der externen Vorrichtung die Länge des CCW-Bytezahlstandfeldes haben oder kürzer, zum Beispiel 8 Bit lang, sein. Ein kürzerer Zähler hat den bekannten Vorteil, daß seine Übertragsschaltungen wesentlich einfacher sind als die Übertragsschaltungen für einen längeren Zähler mit der gleichen Geschwindigkeit.
  • Als Beispiel seien ein Zähler 47 mit einer Breite von 8 Bit und ein Kanalbytezahlstand mit einer Breite von 16 Byte genannt, wobei die Leseoperation ohne einen Zahlstandsrahmen verläuft, solange der Zahlstand im Kanal kleiner als oder gleich der Zählergröße ist. Fällt der CCW-Zahlstand unter den im ChanPtr darstellbaren Wert, sendet der Kanal den Zahlstand in einen Schlußzahlstandsrahmen. Für diese Operation wird ein Register EndPtr bereitgestellt und der Zahlstand im Zahlstandsrahmen in das EndPtr geladen. Die externe Vorrichtung vergleicht den Schreibzähler InPtr mit dem EndPtr und beginnt die Schlußsequenz, wenn das letzte Byte von der Steuereinheit an die externe Vorrichtung gesandt worden ist. Der EndPtr ist analog dem Anforderungszähler 47. Wenn der externe Anschluß einen Rahmen für den letzten Zahlstand empfängt, speichert er diesen Zustand in einer geeigneten Weise, vorzugsweise durch einen Zwischenspeichers. Der externe Anschluß verfährt mit den Zählern in der bereits beschriebenen Weise und vergleicht zusätzlich den InPtr und den EndPtr auf geeignete Weise, um festzustellen, wann das letzte Byte von der Steuereinheit übertragen worden ist. Wenn das letzte Byte von der Steuereinheit übertragen worden ist, beginnt der externe Anschluß die Schlußsequenz, die in Abschnitt 10 beschrieben wird. Der Kanal sendet dann den Zahlstand in einen Schlußzahlstandrahmen. Der Schlußzahlstandrahmen entspricht dem Rahmen 31 in Fig. 3, wobei er lediglich durch verschiedene Befehlsfelder 31a identifiziert wird.
  • Vorzugsweise kann die externe Vorrichtung, sobald das letzte Byte empfangen worden ist, mit dem Laden des Puffer für eine nächste Datenübertragung beginnen, bevor alle Bytes aus dem Puffer geholt worden sind.
  • Nachdem der Zähler ChanPtr den Wert 255 erreicht hat, schaltet er beim nächsten Byte auf Null um, während ein längerer Zähler einen Übertrag aus Bit 8 erzeugen würde. Diese Situation wird durch herkömmliche Verfahren zur Pufferverwaltung korrekt bewältigt, und man kann unbedingt sagen, daß der Schreibzeiger immer größer ist als der Lesezeiger. Allerdings können beim Umschalten des Zahlstandes einige Fehler auftreten, und deshalb wird die Anzahl Bytes, wie später beschrieben wird, an den Kanal gesandt, um zu überprüfen, daß kein derartiger Fehler aufgetreten ist. (Wird ein Fehler gefunden, würde man sich herkömmlicher Fehlerbeseitigungsverfahren bedienen.)
  • 8. Eine Schreiboperation mit Datenvorausholung - Fig. 4
  • Fig. 4 ist fast identisch mit Fig. 3, wobei sie lediglich die Bauelemente und Verbindungen für eine Schreiboperation zeigt. Um eine Schreiboperation zu beginnen, sendet das Kanal-Front-End einen Rahmen 52 mit einem Schreibbefehl an die externe Vorrichtung. Dieser Rahmen wird (wie in Fig. 3 gezeigt wird) in der externen Vorrichtung decodiert, und der Zähler Daten Gesendet 47 wird auf Null gesetzt. Das Kanal-Front-End holt dann Bytes aus dem Prozessorspeicher voraus und sendet einen oder mehrere Rahmen 51 an die Rahmenempfangsschaltungen der externen Vorrichtung. Ein Rahmen 51 überträgt ein Byte oder eine geeignete Anzahl Datenbytes. Die Rahmenbehandlungsbauelemente wandeln den Datenteil des seriellen Datenrahmens 51 in eine parallele Form um und senden ihn über den Bus 27 an das Eingangsregister des Puffers 39.
  • Die externe Vorrichtung überträgt so lange Bytes an die Steuereinheit, bis der Pufferspeicher leer ist. Der Puffer 39 macht das Kanal-Front-End im wesentlichen unabhängig vom Betrieb der externen Vorrichtung mit der Steuereinheit.
  • Wenn ein Byte aus dem Pufferspeicher 39 abgerufen und an die Steuereinheit gesandt wird, wird der Zähler Daten Gesendet um Eins erhöht. Erreicht der Zahlstand einen Schwellenwert, dann wird der Zahlstandswert an die Rahmenbehandlungsschaltung torgesteuert, um das Feld 53b eines Statusrahmens aufzubauen, der an das Kanal- Front-End gesandt wird. Wenn noch mehr Daten zu übertragen sind, wenn das Kanal-Front-End den Rahmen 53 empfängt, sendet er einen weiteren Rahmen 52 ab, um die soeben beschriebene Operation fortzusetzen.
  • 9. Eine Schreiboperation - mit 2 Zählern
  • Ist der EndPtr lang genug, um den größtmöglichen Zahlstand aufzunehmen, dann wird der Zahlstand im CCW an die externe Vorrichtung gesandt und in EndPtr geladen, wie bereits bei der Leseoperation beschrieben wurde.
  • 10. Schlußsequenz
  • Für die Übertragung des letzten Byte erhöht die Steuereinheit normalerweise Service Ein, und die externe Vorrichtung bringt das Byte in Bus Aus und erhöht Service Aus. Wie bereits erklärt wurde, erhöht die Steuereinheit Service Ein, wenn sie ein weiteres Byte erwartet, oder erhöht Status Ein, wenn sie kein weiteres Byte erwartet. Falls die Steuereinheit Service Ein erhöht, wenn der externe Anschluß Status Ein erwartet, erhöht die externe Vorrichtung Befehl Aus, um die Leseoperation anzuhalten, wie es der Kanal in einem System ohne gepufferte Verbindung tun würde. Als Reaktion auf Befehl Aus setzt die Steuereinheit den Gerätestatus auf Bus Ein und erhöht die Kennung Status Ein.
  • Nach der soeben zusammengefaßten Sequenz sendet die externe Vorrichtung einen Statusrahmen an den Kanal, wobei das Bit COS im ersten Beispiel auf Null gesetzt wurde, um zu zeigen, daß der Befehl Aus nicht an die Steuereinheit gesendet wurde, und im zweiten Beispiel auf Eins gesetzt wurde, um zu zeigen, daß der Befehl Aus gesendet wurde.
  • Die Differenz ChanPtr minus InPtr stellt die Anzahl der im Pufferspeicher befindlichen Bytes dar. Der externe Anschluß errechnet den Restzahlstand und sendet diesen in einem ankommenden Restzahlstandrahmen. Für diese Berechnungen verfügt der externe Anschluß über eine herkömmliche Arithmetik- und Logikeinheit oder über andere geeignete Mittel, die an sich gut bekannt sind und daher nicht näher beschrieben werden.
  • Wenn die Schreiboperation abgeschlossen worden ist, errechnet der Kanal in herkömmlicher Weise den Restbytezahlstand aus dem Restzahlstand der externen Vorrichtung und dem Restzahlstand des Kanals und speichert ein Statuswort im Hauptspeicher des Prozessors. Das Statuswort enthält den Restbytezahlstand und Kennungen, die angeben, ob bestimmte Fehler gefunden wurden.
  • 11. Der Kanaleingang
  • Der Kanaleingang besitzt die für die externe Vorrichtung beschriebenen Bauelemente für die Kommunikation mit der seriellen Verbindung und tritt mit dem Kanal über die bereits bei der Kommunikation zwischen der externen Vorrichtung und der Steuereinheit beschriebenen Bauelemente in Verbindung. Das Kanal-Front-End besitzt den Puffer 39 von Fig. 3 und 4 und den bereits beschriebenen Rahmenzähler.
  • 12. Der Kanal
  • Der Kanal verfügt über herkömmliche Mittel zur Verarbeitung des Bytezahlstandes. Darüber hinaus wird der Kanal abgewandelt, um einen Bytezahlstand zu erzeugen, der Bytes im Pufferspeicher der beiden vorabgerufenen Elemente umfaßt.
  • Am Ende der Datenübertragung sendet der externe Anschluß ein Schlußstatusbyte an den Kanal, das Informationen über den Geräteschlußzahlstand enthält.
  • Zu Beginn einer Schreiboperation enthält das CCW die Anzahl der zu übertragenden Bytes, und der Zähler Daten Gesendet und der Anforderungszähler in der externen Vorrichtung sowie der Rahmenzähler im Kanal-Front-End stehen beide auf Null, und ihre beiden Vorausholungspuffer sind leer. Sobald das Kanal-Front-End Bytes aus dem Kanal vorausholt, erniedrigt der Kanal seinen CCW-Zahlstand. In diesem Beispiel sind bis zu diesem Zeitpunkt noch keine Bytes an die Steuereinheit übertragen worden, und der Zahlstand im CCW stellt nur die scheinbare Anzahl übertragener Bytes dar. Die Bytes, für die der CCW-Zahlstand erniedrigt wurde, befinden sich im Puffer der externen Vorrichtung, und der Zähler Daten Gesendet in der externen Vorrichtung steht auf Null, da noch keine Bytes übertragen worden sind.
  • Die externe Vorrichtung berücksichtigt diese Bytes. Wenn die externe Vorrichtung ein Byte an die Steuereinheit sendet, erniedrigt er den Rahmenzähler. Im allgemeinen ergeben das CCW und der Rahmenzähler den richtigen Bytezahlstand.
  • Wird die Leseoperation unnormal abgebrochen, ist die Anzahl der wirklich durch die Steuereinheit abgesandten Bytes gleich der durch den Kanal nach der Erniedrigung des ursprünglichen Bytezahlstandes erhaltenen Zahl, erhöht um den Zahlstand in den Zählern der externen Kanalvorrichtung und des Kanalrahmenzählers. Der Byteanforderungszahlstand der externen Vorrichtung wird an das Kanal-Front-End in einem Statusrahmen gesandt.
  • 13. Andere Operationen - Datenstromübertragung
  • Bei einer herkömmlichen, als Datenstromübertragung bezeichneten Datenübertragungsoperation wird ein Byte mit der Kennung Service Ein oder Service Aus übertragen und die jeweils andere dieser beiden Kennungen wird, wie bereits beschrieben, verwendet, aber die Steuereinheit sendet das nächste Byte oder die nächste Anforderung ab, ohne die Bestätigung des vorhergehenden Byte abzuwarten. (Die Kennungen Service Ein und Service Aus werden im Wechsel mit den ähnlichen Kennungen Daten Ein und Daten Aus gebraucht.) Der herkömmliche Bus ist lang genug, um als Verzögerungsleitung zu wirken, die eine Reihe von Datenbytes oder Marken von der Steuereinheit und eine Reihe von Bytes oder Bestätigungsmarken vom Kanal hält. Die Anzahl der Marken auf den beiden Leitungen erzeugt eine Differenz zwischen der Anzahl der von der Steuereinheit abgesandten Bytes oder Anforderungen und der Anzahl der von der Steuereinheit empfangenen Bestätigungen. Für gewöhnlich nimmt die Steuereinheit an, daß ein Fehler aufgetreten ist, wenn die Differenz einen vorbestimmten Wert erreicht. Diese Datenstromübertragung umgeht den Puffer und verhält sich wie die bei Fredericks u. Mitarb. beschriebene Datenstromübertragung.
  • Die Gesamtlänge von Eingabe- und Ausgabebus bewirkt auch eine zeitliche Verzögerung zwischen dem Absenden des ersten Byte oder der ersten Anforderung und dem Empfangen des ersten Byte oder der ersten Bestätigung, und die Steuereinheit kann eine Zeitgeberschaltung besitzen, die einen Fehler meldet, sobald eine Bestätigung nicht innerhalb einer vorgegebenen Zeitspanne eingetroffen ist.
  • Diese Verzögerungen liegen typischerweise in den Bereichen, wie sie sich bei der Länge einer seriellen Verbindung bei vielen nützlichen Anwendungen ergeben. Diese Probleme entstehen nicht bei einer verriegelten Lesedatenübertragung, die beschrieben wurde, da die externe Vorrichtung Bytes oder Anforderungen bestätigt, sobald sie von der Steuereinheit empfangen werden.
  • Um den Puffer der externen Vorrichtung für die Datenstromübertragung zu verwenden, bearbeitet die externe Vorrichtung die Datenstrombytes in der bereits für eine verriegelte Datenübertragung beschriebenen Weise, wodurch, vom Standpunkt der Steuereinheit aus gesehen, die zeitliche Verzögerung und die Anzahl der Anforderungen und Bestätigungen auf der Verbindung verringert wird.

Claims (10)

1. Datenverarbeitungssystem mit einer Vorrichtung (22) zur Kopplung eines parallelen Busses (26, 27) einer Steuereinheit (18) und einer seriellen Verbindung (14) eines Kanals, die folgendes umfaßt:
Mittel (47) zum Speichern eines Bytezahlstandes,
einen Pufferspeicher (39), einen parallelen Bus (27m) für die im Pufferspeicher zu speichernden Daten und einen parallelen Bus (36) für die aus dem Pufferspeicher abgerufenen Daten,
Mittel (30b) zur Steuerung der Lese- und Schreiboperationen gemäß einem vorgegebenen Protokoll, das zwischen die Busse des Pufferspeichers und den parallelen Bus der Steuereinheit geschaltet ist,
Mittel (28, 29) zum Senden und Empfangen von Rahmen über die serielle Verbindung, wobei diese Sende- und Empfangsmittel Mittel zum Konvertieren zwischen einem seriellen Format an der seriellen Verbindung ankommender und abgehender Rahmen und einem parallelen Format des parallelen Busses der Steuereinheit sowie des Pufferspeichers enthalten,
wobei das Rahmenformat ein Datenfeld und ein Befehlsfeld enthält, wobei das Befehlsfeld einen Binärcode zur Identifizierung der Inhalte des Datenfeldes enthält, einen ersten Befehlscode zur Identifizierung eines einen Bytezahlstand für eine Datenübertragung enthaltenden Datenfeldes und einen zweiten Befehlscode zur Identifizierung eines Daten für eine verriegelte Lesedatenübertragung enthaltenden Datenfeldes, und
Mittel (37) zur Dekodierung des Befehlsfeldes eines ankommenden Rahmens und Mittel (41) zur Übertragung eines Bytezahlstanddatenfeldes an die Bytezahlstandspeichermittel (47).
2. Datenverarbeitungssystem nach Anspruch 1, das
Mittel zur Dekodierung eines Rahmens, der anzeigt, ob eine folgende Operation den Pufferspeicher benutzen soll, und
Mittel für die Übertragung von Daten zwischen der Steuereinheit (18) und dem Kanal über den Pufferspeicher (39) oder um den Pufferspeicher herum entsprechend der Information in dem anzeigenden Rahmen enthält.
3. Datenverarbeitungssystem nach Anspruch 2,
in dem der anzeigende Rahmen einen dritten Befehlscode enthält, der anzeigt, daß das Datenfeld Informationen für die Vorrichtung enthält,
und die Mittel zur Übertragung von Daten zwischen der Steuereinheit (18) und dem Kanal Mittel enthalten, die auf Informationen in dem Datenfeld zur Übertragung von Daten durch den Pufferspeicher oder um den Pufferspeicher herum ansprechen.
4. Datenverarbeitungssystem nach Anspruch 2, das Mittel zur Aktualisierung der Mittel (47) zur Speicherung eines Bytezahlstandes, wenn ein Byte aus dem Pufferspeicher an den parallelen Bus der Steuereinheit übertragen wird, Mittel zur Erstellung eines seriellen Rahmens, der einen dritten Befehlscode enthält, welcher anzeigt, daß das Datenfeld des Rahmens einen Bytezahlstand enthält, und Mittel zum Absenden des Bytezahlstandes an den Kanal während einer Schreiboperation enthält.
5. Datenverarbeitungssystem nach Anspruch 2, in dem die Vorrichtung Mittel zur Berechnung und zum Abs enden des Restzahlstandwertes an den Kanal in einem Restzahlstandwertrahmen enthält.
6. Datenverarbeitungssystem nach Anspruch 5, das Mittel für die Erstellung eines Rahmens, der den Kanal darauf hinweist, daß die Vorrichtung ein Signal (Befehl Aus) zum Beenden einer Lese- oder Schreiboperation an die Steuereinheit gesendet hat.
7. Datenverarbeitungssystem nach Anspruch 5, das Mittel zur Erstellung eines Rahmens enthält, der den Kanal darauf hinweist, daß mehr Bytes empfangen und bestätigt wurden, als nach dem von der Vorrichtung an den Kanal gesendeten Zahlstandwert erforderlich wären.
8. Datenverarbeitungssystem nach Anspruch 3, in dem das genannte Rahmenformat einen vierten Befehlscode zur Kennzeichnung einer Datenübertragung in einem unverriegelten Modus (Datenstromübertragung) enthält und in dem die Vorrichtung Mittel enthält, die bei einer unverriegelten Leseoperation zur Übertragung von Bytes über den parallelen Bus an den Pufferspeicher angewendet werden kann, wobei der Bytezahlstand von der Vorrichtung bearbeitet wird.
9. Datenverarbeitungssystem nach Anspruch 1, in dem der Kanal einen Rahmenzähler und einen Pufferspeicher sowie Mittel zur Aktualisierung des genannten Rahmenzählers während der Übertragung und Bestätigung von Bytes enthält.
10. Datenverarbeitungssystem nach Anspruch 5, in dem der genannte Kanal ein separates Kanal-Front-End-Programm enthält, das Mittel für die Kommunikation mit dem Kanal über einen parallelen Bus und Mittel für die Kommunikation mit der Vorrichtung an der seriellen Verbindung und mit dem Rahmenzähler enthält.
DE19873784182 1986-04-22 1987-03-27 Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten. Expired - Fee Related DE3784182T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US85464686A 1986-04-22 1986-04-22

Publications (2)

Publication Number Publication Date
DE3784182D1 DE3784182D1 (de) 1993-03-25
DE3784182T2 true DE3784182T2 (de) 1993-08-19

Family

ID=25319233

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873784182 Expired - Fee Related DE3784182T2 (de) 1986-04-22 1987-03-27 Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten.

Country Status (3)

Country Link
EP (1) EP0242634B1 (de)
JP (1) JPS62251951A (de)
DE (1) DE3784182T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19983792B4 (de) * 1998-12-04 2008-02-14 Intel Corporation, Santa Clara Verfahren und Schaltungsanordnung zum Übertragen von Daten aus einem Initiator eines Schreibzyklus über eine Schnittstellenschaltung an eine Schaltungsanordnung

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
US5170469A (en) * 1987-05-06 1992-12-08 Fujitsu Ten Limited Data transfer apparatus and data transfer system
JP2595321B2 (ja) * 1988-08-20 1997-04-02 富士通株式会社 計算機システム
US4965793A (en) * 1989-02-03 1990-10-23 Digital Equipment Corporation Method and apparatus for interfacing a system control unit for a multi-processor
EP0412269A3 (en) * 1989-08-11 1992-02-26 International Business Machines Corporation Channel and extender unit operable with byte mode or non-byte mode control units
EP0473059B1 (de) * 1990-08-22 2000-05-31 Sanyo Electric Co., Limited. Übertragungssteuerungssystem
JP2531903B2 (ja) * 1992-06-22 1996-09-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムおよびシステム拡張装置
JPH0690695B2 (ja) * 1992-06-24 1994-11-14 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムおよびシステム拡張装置
US5588120A (en) * 1994-10-03 1996-12-24 Sanyo Electric Co., Ltd. Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6134607A (en) * 1998-04-03 2000-10-17 Avid Technology, Inc. Method and apparatus for controlling data flow between devices connected by a memory
JP4561645B2 (ja) * 2006-01-30 2010-10-13 ソニー株式会社 通信装置、データ処理装置、近接通信装置、通信方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393464A (en) * 1980-12-12 1983-07-12 Ncr Corporation Chip topography for integrated circuit communication controller
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19983792B4 (de) * 1998-12-04 2008-02-14 Intel Corporation, Santa Clara Verfahren und Schaltungsanordnung zum Übertragen von Daten aus einem Initiator eines Schreibzyklus über eine Schnittstellenschaltung an eine Schaltungsanordnung

Also Published As

Publication number Publication date
JPS62251951A (ja) 1987-11-02
DE3784182D1 (de) 1993-03-25
EP0242634B1 (de) 1993-02-17
EP0242634A3 (en) 1990-03-07
EP0242634A2 (de) 1987-10-28
JPH0528419B2 (de) 1993-04-26

Similar Documents

Publication Publication Date Title
DE69028462T2 (de) Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
DE3784182T2 (de) Bytezaehlergebnisbehandlung in einer seriellen kanalerweiterung mit pufferung von vorausgeholten daten.
US4866609A (en) Byte count handling in serial channel extender with buffering for data pre-fetch
DE3787908T2 (de) Serielle Übertragungssteuerungsvorrichtung.
DE2104733C2 (de) Eingabe/Ausgabe-Einrichtung für eine Datenverarbeitungsanlage
DE68927214T2 (de) Verfahren zur Datenübertragung zwischen einem Medienzugriffskontroller und einem Pufferspeicher in einem Tokenring-Netz
DE60219999T2 (de) Taskverwaltungsverfahren für einen Router einer Paketvermittlungsstelle, die Teil eines gesicherten und Paketvermittelten Netzes ist
DE69636280T2 (de) Fensterkomparator
DE2647241A1 (de) Anordnung fuer eine digitale datenuebertragung
DE2703394A1 (de) Datenverarbeitungssystem
WO1996003695A1 (de) Datenreduktion für buskoppler
DE1499206B2 (de) Rechenanlage
DE68920443T2 (de) Systembus mit multiplexbetriebenen steuer-kennzeichnungsinformationen und daten.
DE3750920T2 (de) Anzeigeendgerät in einem digitalen Datensystem.
CH634938A5 (de) Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen.
DE69021332T2 (de) Datenformat für Informationspakete.
DE68925524T2 (de) System zum Detektieren, dass Daten in einem Pufferspeicher gelöscht worden sind, insbesondere für einen Datenschalter
DE4134542A1 (de) Datenlaengenerfassungseinrichtung
DE2749884A1 (de) Einrichtung zum automatischen neuformatieren von daten in einem dv-system
EP0214475B1 (de) Schaltungsanordnung zum Übertragen von Datensignalen zwischen über ein Ringleitungssystem miteinander verbundenen Steuereinrichtungen
EP0330044B1 (de) Verfahren und Anordnung zum Datenaustausch zwischen einem Datenendgerät und mindestens einem peripheren Endgerät
DE19526798C1 (de) Anordnung zur Steuerung der bidirektionalen, asynchronen und seriellen Übertragung von Datenpaketen
DE69030597T2 (de) Zweiweg-Rechnerverbindungssystem mit Steuerung eines Paketspeichers mit vier Anschlussstellen
DE4202015C1 (de)
EP0214473B1 (de) Schaltungsanordnung zum Übertragen von Datensignalen zwischen, über ein Ringleitungssystem miteinander verbundenen Steuereinrichtungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee