[go: up one dir, main page]

DE2720864B2 - Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmter Lange - Google Patents

Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmter Lange

Info

Publication number
DE2720864B2
DE2720864B2 DE2720864A DE2720864A DE2720864B2 DE 2720864 B2 DE2720864 B2 DE 2720864B2 DE 2720864 A DE2720864 A DE 2720864A DE 2720864 A DE2720864 A DE 2720864A DE 2720864 B2 DE2720864 B2 DE 2720864B2
Authority
DE
Germany
Prior art keywords
channel
register
data
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2720864A
Other languages
English (en)
Other versions
DE2720864A1 (de
DE2720864C3 (de
Inventor
Francis Daniel Hyde Park N.Y. Lawlor (V.St.A.)
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 DE2720864A1 publication Critical patent/DE2720864A1/de
Publication of DE2720864B2 publication Critical patent/DE2720864B2/de
Application granted granted Critical
Publication of DE2720864C3 publication Critical patent/DE2720864C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Die Erfindung betrifft eine Anordnung gemäß dem Oberbegriff des Anspruchs 1.
Eine ordnungsgemäße Überwachung und Benutzung verstreuter (nicht zusammenhängender) Bereiche im Hauptspeicher einer Datenverarbeitungsanlage wird ausführlich in den US-Patentschriften 29 68 027 und 3241 125 beschrieben.
Ein Aufsatz von R. K. Lucas in IBM Technical Disclosure Bulletin, Band 13, Nr. 8, voi.i Januar 1971, Seite 2382 mit dem Titel »Address Chaining Mode In Channel Operations« offenbart die Benutzung eines zusätzlichen Bit in einem im IBM System /360 oder /370 verwendeten Kanalsieuerwort (CCW) als Flagbit durch das bei einer Kanaleingabeoperation in bezug auf verstreut liegende Speicherbereiche im Hauptspeicher mit vorbestimmter Länge eine indirekte Adressierung durchgeführt wird. Bei diesem Verfahren wird jede Datenadresse im Kanalsteuerwort zum Adressieren einer Eintragung in einer Adressentabelle benutzt, welche wiederum als Anfangsadresse für einen vorbestimmten Block von reservierten Adressen dient Wenn der Block ausgeschöpft ist, darin wire« die CCW-Datenadresse um 1 vermindert und zur Auswahl der nächsten Eintragung in der Tabelle als die Anfangsadresse eines weiteren (normalerweise nicht benachbarten) Blocks verwendet, und die Operation des laufenden Kanalsteuerworts wird fortgesetzt.
Ferner ist es bei Eingabeoperationen bekannt, Datenbereiche durch entsprechende Zeichen im Steuerfunktionsteil eines Kanaibefehlswortes aneinanderzuketten, wodurch z. P. beim Bandlesen einzelne Sätze eines Datenblocks nacheinander in verschiedene Datenbereiche des Hauptspeichers eingelesen werden. Die Datenbereiche werden dabei jeweils durch nachfolgende Kanalbefehlsworte bestimmt. Damit läßt sich bei einer Datenübertragung zwischen Bandgerät und Hauptspeicher eine programmierbare Umorganisation des Datenbestandes erreichen. Das heißt aber, daß jeder Speicherbereich in dem Satz eines Datenblocks im Hauptspeicher abgespeichert werden soll, durch ein Kanalbefehlswort definiert werden muß.
Ferner gibt es umfangreiche Literatur (Veröffentlichungen und Patentschriften), die sich mit der Befehlsverkettung und Datenverkettung in den Eingabe/Ausgabekanälen der IBM Systeme /360 und /370 befassen.
Bisher gibt es nach Kenntnis der Anmelderin jedoch keine Möglichkeit, über einen Kanal eine Anzahl von Datenblocks unbestimmter Länge in aneinander anschließende Bereiche eines Speichers zu übertraeen.
wenn man nicht entweder eine extensive und zeitaufwendige Wechselwirkung zwischen dem Kanal und den zentralen Steuerprogrammen oder Anwendungsprogrammen oder aber eine Modifikation der peripheren Geräte in Kauf nimmt Eine solche Betriebsart wäre für einen Kanal sehr erwünscht, und man könnte damit in einfacher und wirtschaftlicher Weise die Aufspaltung des Hauptspeichers durch eine übermäßige Zuweisung von Speicherplatz bei solchen Operationen verringern.
Aufgabe der Erfindung ist es, eine kontinuierliche Speicherung von Datenblöcken unbestimmter und unterschiedlicher Länge durch Eingabeoperationen eines Eingabe/Ausgabekanals zu ermöglichen und damit eine speicherplatzverschwendende Aufspaltung des Speichers zu vermeiden, ohne dabei die Steuer- und/oder Anwendungsprogramme der Zentraleinheit zu überlasten oder den Anschluß von peripheren Geräten schwieriger zu machen.
Diese Aufgabe wird durch die im Anspruch 1 angegebenen Merkmale gelöst Weiterbildungen der Erfindung sind in den Unteransprücher, gekennzeichnet Die Lösung besteht also in einer Modifizierung eines sonst in üblicher Weise aufgebauten Kanals, der neben den anderen bereits vorhandenen verketteten Eingabeoperationen eine weitere wahlweise Verkettungsoperation durchzuführen vermag, die hier als Pufferverkettung bezeichnet werden soli. Bei dieser Operation speichert der Kanal die letzte auf den neuesten Stand gebrachte Datenadresse und den Restzählerstand nach Beendigung einer Eingabeoperation einer Kette und benutzt diese als Anfangsdatenadresse und Restzählerstand für die nächste Eingabeoperation. In einer bevorzugten Ausführungsform speichert der Kanal außerdem die gerettete Datenadresse in einem Speicherplatz, der ein Kanalsteuerwort (CCW) enthält das die nächste Operation bestimmt, nachdem die ursprünglich in diesem Wort enthaltene Information wiedergewonnen und bestätigt war. Die gespeicherte Datenadresse steht dann der Zentraleinheit als begrenzende Information (ohne CPiZ-Unterbrechung) nach Beendigung der Blockübertragung zur Verfugung. Begrenzung heißt dabei, daß dadurch im Speicher die Anfangsadresse des bei der nächstfolgenden Operation übertragenen Datenblocks bezeichnet wird.
Die Bestimmung der Länge des letzten Datenblocks kann dadurch vereinfacht werden, daß man den Kanal in der Weise erweitert daß nunmehr die Möglichkeit besteht, a) dynamisch eine Längenzählung in bezug auf die einzelnen Datenblöcke in einer pufferverketteten Gruppe abzuleiten und b) diese jeweiligen Zählerstände in den Zählerfeldern der zugehörigen Adreßplätze der Kanalsteuerworte während der Beendigung von Folgen der jeweiligen Eingabeoperationen abspeichert. Für diesen Zweck ist ein zusätzlicher (Längen)Zähler erforderlich und es iiann notwendig sein, daß der Kanal die CCW-Adresse in einem weiteren Befehlsadreßregister (CA 2) abspeichert wobei dieses Register, das Jerzeit für eine Befehlswiederholung benutzte Register sein kann (damit der Kanal die erneute Durchführung des zuletzt eingeleiteten Befehls versuchen kann, vergleiche beispielsweise US-Patentschrift 36 83 274 vom 29. August 1974).
Ein Ausführungsbeispiel der Erfindung wird nunmehr anhand der Zeichnungen im einzelnen beschrieben. In den Zeichnungen zeigt
F i g. 1 schernatiscii die Organisation und den Arbeitsablauf eines Kanals üblicher Bauart, wie er beispielsweise in der US-Patentschrift 34 88 633 beschrieben ist,
Fig,2 eine Darstellung der Erfindung als logische Erweiterung des in der obengenannten US-Patentschrift beschriebenen Kanalsystems, Fig.3 ein FluQdiagramm zur Darstellung des Operationsablaufs in dem Kanal gemäß Fig. 1 mit der Pufferverkettung gemäß der zusätzlichen logischen Schaltung in F i g. 2,
Fig.4 die Arbeitsweise der Erfindung bei der
ι ο Datenfernübertragung, bei der drei von einer gemeinsamen Datenquelle kommende Datenblocks (Nachrichten) nach Art einer Pufferverkettung in aneinander stoßende Bereiche des Hauptspeichers übertragen werden, und durch die erfindungsgemäße Operation begrenzt werden (ohne Unterbrechung durch die CPU), so daß die Zentraleinheit die drei Datenblöcke getrennt verarbeiten kann,
Fig.5 beispielsweise den Arbeitsabiauf bei der Bestimmung der Blocklängen innerhalb der Daten, die aneinander stoßend durch die in Fig.4 erläuterte Operation eingespeichert werden,
F i g. 6 eine gruppenweise PufferverkeUung innerhalb von zur Befehlsverknüpfung miteinander verbundener Kanalsteuerworten und
F i g. 7 die Kanallogik für die Begrenzung der Länge der durch Pufferverkettung übertragenen Datenblöcke, die entweder als Ergänzung oder als Alternative zur Datenadreßbegrenzung gemäß F i g. 2 und 3 eingesetzt werden kann.
Einzelbeschreibung
In F i g. 1 ist der Eingabe/Ausgabekanal, bei dem die Erfindung eingesetzt werden kann und wie er beispielsweise in der oben erwähnten US-Patentschrift 34 88 633 beschrieben ist gezeigt und soll im Zusammenhang mit der oben angesprochenen Systemarchitektur und Organisation kurz dargestellt werden.
Während der Durchführung eines Start-£//4-Befehls durch Zusammenwirken zwischen Zentralveiarbei tungseinheit (CPU) und Kanal, gibt der Kanal eine Speicherzugriffsanforderung an die Zentralsteuereinheit (BCU) ab zum Abrufen eines 32-Bit (4 Byte) Kanaladreßwortes (CA W) aus einem vorbestimmten Speicherplatz (72), der zuvor durch das Sieuerpro gramm der Zentraleinheit geladen worHen ist. Dieses Kanaladreßwort wird in das Befehlsadreßregister 101 und an nicht dargestellte Treiberstufen für die Speicheradreß-Sammelleitung (SAB) abgegeben, die mit dem Hauptsystemspeicher verbunden sind. Der
so Wert des 24-Bit-Steuerbefehls in den Bitpositionen 8 bis 31 des aufgerufenen Kanaladreßwortes wird in das Datenadreßregister 102 des Kanals geladen. Der Kanpl führt gleichzeitig in bezug auf die Peripherieschnittstelle Operationen durch und wählt den entsprechenden Peripherieanschluß, die Adresse der Einheit, aus und schaltet nach dieser Einheit durch, welche duich eine in einem nicht dargestellten Einheitenadreßregister eingespeicherte Information bestimmt ist (diese Information wird durch den Siart-f/4-Befehl geliefert).
Der Kanal benutzt die Befehlsadreßinformation des CA W im Datenadreßregister 102 zum Aufruf eines Kanalbefehlswortes (CCW) Ein anderer Aufruf wird an die Zentralsteuereinheit (BCU) abgegeben und die Befehlsadresse wird vom Register 102 an die SAB-Trei berstufen abgegeben Der Wert der Befehlsadresse wird außerdem im Befehlsadreßregister 101 eingespeichert. Die verschiedenen Teile des aufgerufenen Kanalbefehlswortes (CCW) werden von den Datensammellei-
tungen des Speichers (SDBOJdes Hauptspeichers an die verschiedenen zugeordneten Kanalregister abgegeben. Das aus 64-Bit (8 Byte) bestehende Kanalbefehlswort CCW enthält einen 8-Bit-Befehlscode (Bits 0 bis 7), der in das Operationsregister 103 eingespeichert wird und die durch den Kanal durchzuführende Operation kennzeichnet (z. B. Lesen für eine Eingabeoperation). Das Kanalbefehlswort CCW enthält außerdem eine aus 24-Bit bestehende Datenadresse (Bit 8 bis 31), die an das Datenregister 102 abgegeben werden, einen aus 6-Bit bestehenden Flagteil (Bits 32 bis 37), der an das Flagregister 104 durchgeschaltet wird und einen 12-Bit-Zählabschnitt (C77(Bits 48 bis 63), der nach dem Zählerregister 105 weitergeleitet wird. Nach dieser einleitenden Phase der Kanaloperation gibt der Kanal einen Bedingungscode ab und gibt die CPU frei, wodurch tatsächlich die Durchführung des Start-E/A-Befehls durch die CPLJbeendet wird. Der Kanal arbeitet
ven der CPU und führt die durch der· rung durch das zentrale Systemprogramm zur Verfügungsteht.
Pufferverkettung
(Speicherverkettung bei Eingabeoperation)
In F i g. 2 wird gemäß der vorliegenden Erfindung das normalerweise unbenutzte Bit 38 des CCW nach einer zusätzlichen Pufferverkettungs-Verriegelungsschaltung (PFR CH V. S.) 201 dann übertragen, wenn das CCW
in nach dem Kanal abgerufen wird. Ist die Verriegelungsschaltung 201 eingestellt, was vereinbarungsgemäß nur dann zulässig ist, wenn gleichzeitig mit einer Befehlsverkettung eine Leseoperation angezeigt ist, dann wird die Operation »Pufferverkeltung« eingeleitet. Dabei wird der Betriebszustand der eingestellten Verriegelungsschaltung 201 vor dem Abruf des CCW auf Gültigkeit untersucht. Ist die Verriegelungsschaltung 201 zu diesem Zeitpunkt eingeschaltet, ist jedoch die Befehls-
Inhalt des Registers 103 gekennzeichnete Operation in bezug auf den ausgewählten Anschluß (Gerät) aus, der durch die oben erwähnte Einheitenadresse festgelegt ist. Im Falle einer im Augenblick laufenden Lese(Eingabe)-Operation werden die von dem gekennzeichneten Anschluß einzeln angesammelten Datenbytes in den A- und B-Wartepuffern 106 des Kanals eingespeichert und als Doppelworte (64-Bit) an den Hauptspeicher übertragen. Die Speicheradressen im Hauptspeicher für eine derartige Datenübertragung werden durch den Inhalt des Registers 102 gekennzeichnet. Nach jeder derartigen Datenübertragung wird die im Register 102 eingespeicherte Datenadresse (DA) auf den neuesten Stand gebracht (d. h. für normales Lesen um 1 erhöht oder für Lesen rückwärts um I erniedrigt), und der Zählersland im Register 105 wird um 1 erniedrigt und stellt damit den Restzählwert dar.
Nachdem das letzte Byte eines Datenblocks übertragen worden ist (Gerät-Ende), bestimmt der Kanal, ob Befehlsverkettung wirksam ist, indem auf das Bit CCim Flagregister 104 (Bit 33 des derzeit wirksamen CCW) Bezug genommen wird. Ist Befehlsverkettung wirksam (CC=I) dann wird der Geräteanschluß beibehalten (oder erneut hergestellt, fa'ls es aufgegeben war), und der C4-Wert im Register 101 wird erhöht und zeigt damit den Ort eines nächsten (verketteten) CCWin dem Doppelwortspeicherplatz im Hauptspeicher an, der auf das derzeit wirksame CC Wfolgt.
Dieses nächste CCW wird durch den Kanal wiedergewonnen und wenn es sich dabei nicht um einen Befehl »Übertragung im Kanal (T1C)« handelt, werden die einzelnen Teile, wie zuvor beschrieben, nach den Registern 102 bis 105 geleitet und die Operation wird fortgesetzt (die Datenadresse eines T/C-Befehls wird als indirekte Adressierung benutzt, die sich nicht auf die derzeitige Ausführungsform der Erfindung bezieht), um einen Befehl an einer nicht benachbarten Adresse auszuwählen.
Ist die Befehlsverkettung nicht länger wirksam (Bit CC=O) und wird von außen ein Signal »Gerätende« aufgenommen, dann führt der Kanal eine Schlußfolge durch, die schließlich zu einer f/A-Unterbrechung der CPU führt Die die Unterbrechung verarbeitende Schaltung (JOS) der Zentraleinheit stellt dann für den Kanal in einem speziellen Doppelwortspeicherbereich im Speicher (Adresse 64) ein Kanalstatuswort bereit (CSWX in dem dann Statusinformation (Restzähierstand, letzte Befehlsadresse und Status von Kanal und angeschlossenem Gerät) für die nachfolgende Assimilienicht Lesen fCCnicht ein oder Operation Nicht-Lesen), dann liefert das UND-Glied 202 eine Fehleranzeige 203, worauf eine Programmprüffolge eingeleitet wird.
In der hier beschriebenen bevorzugten Ausführungsform der Erfindung wird der Betriebszustand der
i'-> Verriegelungsschaltung 201 durch die Kanallogik in der Schlußfolge nach Gerätende zur Bestimmung des Betriebszustandes einer zugeordneten Verriegelungsschalt»: :g (RBC) (Remember Buffer Chaining) benutzt. Das UND-Glied 204 (Fig.2), das bei 206 nach dem
jn Entscheidungspunkt »Gerät frei« dieser Folge teilweise entsperrt ist, wird durch das Signal »BCEin« entsperrt und überträgt diesen Einzustam! an die RBC-Verriegelungsschaltung 208. Wenn RBC eingeschaltet ist, dann ist das UN D-Glied 209 teilweise entsperrt, dessen zweiter Eingang 210 anschließend nach Beendigung des Aufrufs und der Gültigfeststehung des nächsten verketteten CCVVein zweites Entsperrsignal liefert.
Die Betätigung der Ausgangsleitung 2111 und des UND-Gliedes 209 veranlaßt eine Speicheranforderung
4(> an die Steuereinheit (BCU) und leitet einen Speicherzugriffszyklus nach der im C4-Register 101 angegebenen Adresse ein für ein Überschreiben des Datenadreßfeldes (Bit 8 bis 31) der gespeicherten Darstellung des derzeit wirksamen CCW (d. h. des gerade eben > aufgerufenen CCW). In Verbindung mit dieser Operation und unmittelbar nach der Kenntnisnahme durch die BCU (BCU RESP fällt ab) wird das UND-Glied 212 entsperrt und liefert ein Entsperrsignal für die Übertragung des derzeitig auf den neuesten Stand gebrachten D/l-Wertes im DA-Register 102 nach den Speicherdatenleitung-Eingangspositionen 8 b.j 31 (SDBI) wodurch der DA-V/en im Datenadreßspeicherfeld des derzeit benutzten CCW als begrenzende Information überschrieben wird, ohne daß dabei eine Unterbrechung an die CPU abgegeben wird.
Das Signal »McAf RBOt (Rückstellzustand der Verriegelungsschaltung 208) entsperrt die Übertragung der Datenadresse und des Zählerstandes (DA und CT) des aufgerufenen GCWvon SDBO8 bis 31 und 48 bis 63 nach den Registern 102 bzw. 105 (siehe Leitungen 208.1 und 2083, Fig.2). Wenn daher das_ Signal RBC vorhanden ist, dann werden diese Übertragungen gesperrt, und damit werden tatsächlich die letzten auf den neuesten Wert gebrachten Werte von DA und CT in diesen Registern gespeichert gehalten und als die jeweiligen Anfangswerte einer nächsten pufferverknüpften) Blockübertragungsoperation und als Begrenzungsinformation (nur ß/Vverwendet
F i g. 3 stellt eine Kurzfassung einer vollen Ablauffolge von Kanaloperationen dar und dient der Erläuterung der in diesem Zusammenhang bedeutsamen Operationen des Aufbewahrens oder Erhaltens von Adresse und Restzählwert sowie der Abgrenzungsoperation. Während der Ausführung eines Start- E/A -Befehls gibt die CPU Signale an den Kanal ab, durch die die einleitende Kanti^efehlsfolge 301 abläuft. Das führt dazu, daß über die Kanaloperation 301.1 das CA W abgerufen, über Operation 301.2 RBCgesperrt und eine entsprechende Anschlußeinheit ausgewählt wird. Die Folfc'e läuft dann über den Eingang 303 nach der Kanaleinstellfolge 305.
Die hier eingeschobene Operation 307 prüft die Gültigkeit des Betriebszustandes der Verriegelungsschaltung 201 für Pufferverkettung. Ist diese Verriege- lungsschaltung eingeschaltet und ist die Befehlsverkettung nicht wirksam fCCnicht Ein) oder wird statt Lesen eine andere Befehlsoperation angezeigt (was durch ein der CPU die Ausführung des Start-£/4-Befehls wirksam beendet.
Ist als Folge einer am Ausgang des Tests 316 auftretenden Nein-Entscheidung die Pufferverknüpfung wirksam (RBC Ein), dann wird bei 320 eine Speicherzyklusanforderung abgegeben, und der im Register 101 abgespeicherte C4-Wert (d. h. die Adresse des eben aufgerufenen CA W) wird der Speicheradreßsammelleitung SAB zugeführt. Wenn bei 322 BCU RFSP abfällt, was eine Zugriffsmöglichkeit zum Speicher anzeigt, dann wird der im Register 102 liegende DM-Wert (d.h. die aufrechterhaltene, auf den neuesten Stand gebrachte Datenadresse) bei 323 nach den entsprechenden SDBI-Positionen 8 bis 31 übertragen und damit in das DM-Feld der gespeicherten Darstellung des eben aufgerufenen und für gültig befundenen CCW als begrenzende Information überschrieben. Bei 324 bestimmt eine Adressenschutzprüfung die mögliche
III.!! LSt*! ULI
11 u urne r\u3tiattiitc
ist), wird eine Programmprüffolge eingeleitet. Ist das die Pufferverkettung angebende Signal auf Aus oder ist die Befehlsverknüpfung Ein, dann läuft das Programm in die Ablauffolge 309 zum Aufsuchen eines CCW Ein. Der C4-Wert wird nach dem SAB m\\ einer Abrufanforderung an das ßCL/weitergeleitet.
Bei 301 (BCU RESP fällt ab) wird das aufgerufene CCWan den Ausgängen des Speichers (SDBO 0 bis 63) verfügbar und seine verschiedenen Teile werden selektiv nach den zugehörigen Kanalregistern übertragen. Bei 311.1 werden die gewöhnliche Flaginformation (Bit 2Z bis 37) und das eine Pufferverkettung anzeigende Flagbit (Bit 38) des CCW bedingungslos nach dem entsprechenden Register 104 und der ßC-Verriegelungsschaltung 201 übertragen. Bei 311.2 wird die im CClV enthaltene Zählinformation (Bit 48 bis 63) unter der Bedingung nach c"em Zählregister 105 weitergeleitet, daß die Pufferverkettung im Augenblick nicht wirksam ist (RBC nicht Ein). Bei 3113 wird die Datenadreßinformation (Bit 8 bis 31) unter der Bedingung nach dem DA-Register 102 weitergeleitet, daß die Pufferverknüpfung nicht wirksam ist (RBCriicbi Ein). Ist RBC Ein, dann werden die vorhergehend angegebenen Adressen und Zählerstandsübertragungen unterdrückt und die derzeit in den jeweiligen Registern 102 bzw. 105 liegenden Werte (bei Beendigung einer vorhergehenden Operation auf den neuesten Stand gebrachte Werte) als jeweilige Anfangswerte der kommenden Datenübertragungsoperation aufrechterhalten. Bei 311.4 wird der Befehlsteil (Bit 0 bis 7) dann an das Operationsregister 103 abgegeben, wenn RBCmchX Ein und die Datenverkettung unwirksam ist. Datenverkettung ist eine für die Beschreibung der Erfindung nicht bedeutsame Arbeitsweise oder Betriebsart, bei der eine unbeendete Operation nach Ausschöpfung eines nicht fragmentierten Speicherraums fortgesetzt wird (die Restzählung wird 0), wobei ein neues CCW einen weiteren Speicherplatz kennzeichnet Bei der Datenverkettung bleiben Status des angeschlossenen Geräts und Verknüpfung unverändert Das neue CCW liefert nur eine neue Anfangsadresse und einen neuen Zählerstand
Sobald bei 314 die Gültigkeit des soeben abgerufenen CClV festgestellt ist, führt der Kanal den CW-Befehlstest 316 durch und unterscheidet damit zwischen dem Aufruf eines ersten (oder einzigen) CCW nach Durchführung eines Start- E/A -Befehls durch die CPU und nachfolgende Aufrufe von verketteten Befehlen. Ist an diesem Punkt die Entscheidung ein Ja, dann wird bei 318 ein Freägagesignal an die CPU abgegeben, das bei τ ei £ wcigui 13 J
schutz festgestellt, dann wird eine Fehlerroutine (Programmprüfung) eingeleitet, und die Operation wird beendet.
Ist die Entscheidung bei 325 ein Ja, dann läuft die normale Übertragung bei 329 mit den Befehlsfolgen 330 ab, wobei die Verbindung durch den Buchstaben A in einem Kreis angedeutet ist, und bewirken damit Datenübertragung mit Einheitslängen und eine Erhöhung bzw. Verringerung der zugehörigen Datenadressen und Zählerfaktoren in den Registern 102 und 105.
Am Ende einer Eingabeoperation (die angeschlossene Einheit hat ein entsprechendes Signal abgegeben) werden die letzten Befehlsfolgen des Kanals bei 336 eingeleitet. Bei Befehisverknüpfung (CC Ein) wird am Prüfpunkt 340 der Geräteanschluß wieder hergestellt (wenn er beendet worden war), und wenn dies bei 341 durchgeführt ist (nach Aufnahme eines eine freie Einheit anzeigenden Signals), wird der Betriebszustand der ßC-Verriegelungsschaltung mit den Operationen 344 nach der ÄßC-Verriegelungsschaltung 108 übertragen, während gleichzeitig die Befehlsadresse CA im Register 101 auf den neuesten Stand gebracht wird. Sobald RBC eingeschaltet ist, bleibt es eingeschaltet, bis die mit Pufferverkettung arbeitende Operation beendet ist. Anschließend läuft die Ablauffolge über das in einem Kreis liegende ßüber 346 wieder über Leitung 347 in die Einstell- und CCW-Abruffolgen ein. Die Wirkungsweise der /?ßC-Verriegelungsschaltung besteht darin, die Betriebsart Pufferverkettung während der Dauer der mit Pufferverkettung arbeitenden Folge von Operationen anzuzeigen.
Anwendungsbeispiele
Die Anwendung der soeben beschriebenen Operationen im Betrieb von Pufferverkettung sollen an einem einfachen Beispiel anhand von Fig.4 dargestellt werden. Ein als Beispiel angegebenes Kanalprogramm bestehe dabei aus drei pufferverketteten CCWs, die im Hauptspeicher oder Systemspeicher 401 bei den Adressen CA, CA + 1 und CA + 2 eingespeichert sind. Diese Befehlsworte sollen dabei drei aufeinanderfolgende Lese/Eingabeoperationen unbestimmter Länge (typischerweise drei aufeinanderfolgende Übertragungen von Datenfernverarbeitungsnachrichten) bezeichnen, die von einem gemeinsamen Ursprung, einer peripheren Einheit nach einem zusammenhängenden, d.h. nicht fragmentierten Speicherbereich von 100 Bytes (CT= 100) mit der einleitenden Datenadresse 1000 übertragen werden.
Die Operation 403 zeigt die Verarbeitung des ersten CCW (CCW\) im Kanal, die durch gemeinsame Verarbeitung des Start-£Z4-Befehls durch CPt//Kanal eingeleitet wird. Die durch den CA W-Aufruf bestimmte Adresse CA des CCWX wird durch den Kanal dazu benutzt, das CCWl abzurufen und damit auch die Anfangswerte von DA und CT, 1000 bzw. 100 zu gewinnen. Nad Gültigfeststeilung des CCW \ und Freigabe der CPU (Beendigung der Ausführung des Befehls Start-£Z4 durch die CPU) führt der Kanal die Eingabedatenübertragungen nach den Speicheradressen 1000, 1001 und 1002 durch. Dabei werden zwischenzeitlich zwischen aufeinanderfolgenden Datenübertragungen die Datenadresse und der Restzählwert auf den neuesten Stand gebracht. Dies wird so lange fortgesetzt, bis ein äußeres Schlußsignal eintrifft oder bis ein eine vorzeitige Beendigung erzwingender Fehler eintritt. Bei diesem Beispiel ist die Aufnahme eines das Übertragungsende einer peripheren F.inheit anzeigenden Signals nach 29 Byteübertragungen angenommen. Der neueste Wert im D/4-Register 102 wäre demnach 1029, und der neueste Wert im CT-Regisler 105 wäre 71. Da die Pufferverkettung wirksam ist (BC Ein), wird die flßC-Verriegelungsschaltung 208 eingeschaltet. Die Befehlsadresse wird fortgeschrieben (CA = CA + 1). Da eine Befehlsverknüpfung wirksam ist, wird nunmehr das nächste CCW (CCW2) von dem durch die fortgeschriebene Befehlsadresse gekennzeichneten Speicherplatz (A +1) geholt, wodurch die Operation 405 eingeleitet wird. Da RBCEm ist, werden nur die Flagbits 32 bis 37 des CCW2 nach den entsprechenden Kanalregistern 103 und der BC-Verriegelungsschaltung 201 übertragen, während der Inhalt der anderen Register 102, 103 und 104 erhalten bleibt. Da das Bit 38 des CCW2 das gleiche ist wie das Bit 38 des CCWl (beide 1) bleibt die BC-Verriegelungsschaltung 201 eingestellt. Da das Bit 33 des CCW2 eine 1 ist, bleibt die Befehlsverknüpfung wirksam.
Da RBC Ein ist, wird der derzeit im Register 102 liegende Wert der Datenadresse (1029), der den Wert der auf die letzte Datenübertragung der beendeten Operation folgenden Fonschreibung darstellt, als Anfangswert der nächsten Operation durch die Unterdrückung der Übertragung des G4-Teils des CCW2 beibehalten. Dieser Wert wird außerdem als Begrenzungsinformation in die Bitpositionen 8 bis 31 der Adresse CA + 1 überschrieben (d. h. in das DA-FeId der gespeicherten Kopie von CCW2), ohne daß dabei die CPL/unterbrochen wird oder teilnimmt
Bei der Ausführung des CCW2 fährt der Kanal mit der Datenübertragung nach den Speicheradressen 1029, 1030,... so lange fort, bis von dem angeschlossenen Gerät ein das Ende der Übertragung anzeigendes Signal aufgenommen wird. Das dargestellte Beispiel nimmt dabei willkürlich an, daß durch das CCW2 50 Bytes übertragen werden, so daß der zugehörige letzte Wert im D>4-Register 102 sich auf 1079 erhöht hätte, während der letzte im CT-Register 105 liegende Wert 21 wäre. In der Schlußfolge der Operation von CCW2 wird die Befehlsadresse um 1 erhöht (CA=CA + 2), und der derzeitige (Ein) Zustand der BC-Verriegelungsschaltung wird nach dem derzeitigen Ein-Zustand der RBC-Verriegelungsschaltung 208 übertragen.
Da die Befehlsverknüpfung immer noch wirksam ist, ruft der Kanal bei 407 ein drittes (in diesem Beispiel das ietzte) CCW, nämiich CCW3 ab. in diesem CCW hat das Bit 38, das die Pufferverkettung bewirkende rlagbit, den Wert 0, wodurch die fiC-Verriegelungsschaltung 201 gesperrt wird, so daß damit nach der noch kommenden Opei ation die Pufferverkettung beendet werden wird. Da die RBC-Verriegelungsschaltung 208 immer noch eingeschaltet ist, wird nur die Flaginformation des CCW3 übertragen. Das übertragene, die Befehlsverknüpfung anzeigende Bit 33 kann entweder 1 oder 0 sein. Wie noch im Zusammenhang mit F i g. 6 zu erläutern ist, kann die Befehlsverknüpfung oder Befehlsverkettung nach Beendigung der Pufferverkettung fortgesetzt werden.
Da die Pufferverkettung in der Operation 407 immer noch wirksam ist, wird der Wert (1079) im Datenadreßregister 102 in das Datenadreßfeld (Bitpositionen 8 bis 31)des CCW3 in der neuesten Befehlsadreßspeicherposition als begrenzende Information überschrieben. Der Kanal fährt nunmehr damit fort, die Leseübertragung nach den Adressen 1079, 1080,... auszuführen, bis wiederum ein das Ende der Übertragung anzeigendes Signal aufgenommen wird. In dem Beispiel der
Operation 407 soll dieses das Ende der Übertragung anzeigende Statussignal nach 15 Bytes aufgenommen werden, so daß der Ietzte neueste Adressenwert bei 1094 liegen würde, während der Ietzte Restzählerstand bei 6 liegen müßte. Die Befehlsadresse wird um 1 erhöht, und der Aus-Zustand der SC-Verriegelungsschaltung 201 wird an die RBC-Verriegelungsschaltung 208 übertragen und schaltet diese ab. Unter der Annahme, daß keine weiteren Befehle ausgeführt werden müssen (CC Aus), wäre die laufende Operation und die Verkettungsfolge beendet, und der Kanal würde nunmehr mit seiner Schlußroutine fortfahren und den Schluß- oder Endstatus in das CSW (Kanalstatuswort) an der vorbestimmten Adresse (Adresse 64 im Hauptspeicher) laden. Die abschließende Statusinformation enthält auch den Restzählerstand (z. B. 6). Die Benutzung des CSW-Speicherplatzes 64 wird durch Unterbrechung der CPU und Bestätigung durch die CPU koordiniert, so dall eine Benutzung bei mehreren Kanälen geordnet abläuft.
Die in den Datenaclreßfeldern von CCW2 und CCW3 überschriebene begrenzende Information und die ursprüngliche einleitende, im CCWl enthaltene Datenadreßinformation kennzeichnen die Anfangsadressen der drei nebeneinander liegenden Informa- tionsblocks, die durch die durch die CCW bestimmten Operationen übertragen wurden. Obgleich die Art und Weise, in der die Zentraleinheit diese Information benutzt, nicht ohne weiteres für die vorliegende Erfindung von Bedeutung ist, zeigt doch F i g. 5 ein Verfahrensbeispiel, das zur Bestimmung der Blocklängen benutzt werden könnte. Die Adresse (1000) im CCWl könnte von der Anfangsadresse (1029) im CCW2 abgezogen werden und ergäbe einen Rest 29, der der Länge des ersten, durch die Operation des CCWl übertragenen Datenblocks entspräche und dadurch zur Auffindung des ersten Datenblocks benutzt werden könnte. Die Anfangsadresse (1029) im CCW2 könnte von der Anfangsadresse (1079) im CCW3 abgezogen werden und ergäbe einen Rest 50, der der Länge des durch das CCW2 übertragenen Datenblocks entspräche.
Die Länge des letzten (dritten) durch CCW3 übertragenen Datenblocks könnte beispielsweise dadurch bestimmt werden, daß man die Summe (z. 8. 79) d»r Längen der beiden vorhergehenden Datenblocks bildet, in dem man man die Differenz (z. B. 94) zwischen der Anfangszählung im CCWl (d.h. 100) und der im CSW gespeicherten Restzählung (z. B. 6) bildet und
drittens diese Summe von dier«r Differenz abzieht, wodurch man als Ergebnis die Zahl 15 erhält, die die Länge des letzten Datenblocks richtig wiedergibt.
Die Blocklängen könnten einfacher bestimmt worden, wenn man die Kanaloperation darauf abstellen könnte, Blocklängen zu speichern, während die jeweiligen pufferverketteten Übertragungen durchgeführt werden. Eine zweite Ausführungsform gemäß F i g. 7 zeigt eine derartige Abwandlung bei etwas höherem Aufwand. Eine solche Längenbegrenzung macht die zuvor beschriebene Adressenbegrenzung nicht wertlos, da die Adresseninformation auch das Auffinden und Abrufen dieser Datenblocks erleichtert.
Wie in F i g. 7 gezeigt, werden die bereits vorhandenen Register aes Kanals um ein Befehlsadreßregister 701 (CA 2 REG) und einen Blocklängenzähle- 703 vermehrt. Mit diesen beiden Schaltungen kann der Kanal die Adresse (CA) des derzeit wirksamen CA W gespeichert halten, nachdem Hiese Arlrp«p (in tier Schlußfolge) auf den letzten Stand gebracht wurde, um gleichzeitig {,^trennte Längenzählungen für die ein; ;lnen in einer mit Pufferverkettung übertragenen Reihe von Datenblockübertragungen abzuleiten. Diese beiden Register werden in der Schlußfolge einer jeden Operation mit Pufferverkettung zum Abspeichern der die Blocklänge in der Speicherposition des jeweiligen CCWbegrenzenden Information benutzt. Das CA 2-Register 701 wird dann nicht benötigt, wenn die Folgestufe bei der Befehlsadreßfortschreibung nach der CCW-Abrufstufe weitergeschaltet wird.
Das CA 2-Register wird mit Befehlsadreßinformation geladen, d. h. entweder die Datenadresse im CA W (während des Abrufes des einleitenden CCW einer Pufferverkettung) oder der neueste an das C4-Register 100 gelieferte Wert (in der Fortschreibe-Suboperation der Schlußfolge, die auf das Schlußzeichen folgt). Während des CCW-Aufrufs wird der Zähler 703 zurückgestellt und anschließend nach jeder Übertragung einer Einheitslänge von Eingangsdaten nach dem Hauptspeicher erhöht. Damit stellt aber der im Register 703 eingestellte Endwert bei Aufnahme des Schlußzeichens die Länge des durch das gerade wirksame CCW übertragenen Datenblocks dar.
In der Schlußfolge einer jeden Blockübertragung mit Pufferverkettung wird der im C4-Register 701 liegende Wert nach der Speicheradreßlcitung im Zusammenwirken mit einer Speicherzyklusanforderung an das BCU weitergeleitet. Bei der dafür geeigneten nachfolgenden Phase der Speicheroperation (BCU RESPlAWt ab) wird die im Längenzähler 703 abgespeicherte Information so nach den SDBI Positionen 48 bis 63 übertragen und damit im Zählerfeld des derzeit wirksamen CCW als längenbegrenzende Anzeige überschrieben.
Aus F i g. 6 erkennt nsan, daß die Befehlsverknüpfung auch nach Beendigung der Pufferverkettung fortgesetzt werden kann. Die ersten drei CCWs sind als Gruppe pufferverkettet, ebenso die zweiten drei CCWs. Zwischen dem dritten und vierten CCWgibt es lediglich eine Befehlsverknüpfung, jedoch keine Pufferverkettung. Durch die Schlußoperation des dritten CCW würde die RBC-Verriegelungsschaltung 208 abgeschaltet Damit könnte die Durchführung des vierten CCW an der im CCW angegebenen (nicht unmittelbar anschließenden) Adresse beginnen.
Diskussion
Das bisher beschriebene Verfahren mit Pufferverkettung ist auf jede Datenverarbeitungsanlage anwendbar, die Eingabe/Ausgabegeräte aufweist, bei denen Eingangsdatenblöcke in verketteter Form übertragen werden können. In bestimmten Systemen dieser Art insbesondere IBM System/360 und IBM System/370 werden die Eingabe/Ausgabegeräte (Kanäle) in Abhängigkeit von einem die Datenübertragung über den Kanal in die Datenverarbeitungsanlage einleitenden Befehl in einer Befehlskette veranlaßt, das nächstfolgende CCW der Kette aus einer nicht unmittelbar nachfolgenden Befehlsadresse abzurufen, die im Datenadreßfeld des TIC CCW bezeichnet ist, wobei diese nicht unmittelbar anschließende Adresse im Datenadreßregister des Kanals (z. B. Register 102) liegt. Die Pufferverkettung, wie sie jetzt derzeit betrachtet wird, erfordert jedoch die Beibehaltung der auf den letzten Stand gebrachten Datenadresse, so daß diese später als die Anfangsadresse einer nächsten Eingabeoperation benutzt werden kann. Dies hat zur Folge, daß bei der
ProirrammifTiincr rtarauf 711 achten jctf rjaß hpi Hpr
Bildung von pufferverketteten Gliedern in Befehlsketten die so verknüpften Befehle keinen Γ/C-Befehi enthalten dürfen.
Obwohl es, technisch gesehen, nicht besonders schwierig sein dürfte, ein zusätzliches Register für die Speicherung der letzten fortgeschriebenen Datenadresse während der Abarbeitung eines T/C-Befehls vorzusehen, oder das 77C-Abrufen so zu modifizieren, daß das Datenadreßfeld des 7/C-Befehls nach dem Hilfsbefehlsadreßregister CA 2 umgeleitet würde, so würde dies doch eine pufferverkettete Operation beträchtlich erschweren und deren Kosten erhöhen so daß dies derzeit als nicht besonders erwünscht angesehen wird.
B) Erschöpfung des Restzählers (vollständiger Verbrauch der zugewiesenen Speicherplätze)
Normalerweise wird der Zählerrestwert nach jedem Dekrement überprüft (d. h. nach jeder Übertragung einer Einheitslänge von Daten nach dem Speicher). Wenn jedoch der Zählerrectwert den Wert 0 erreicht, bevor alle Übertragungen einer pufferverketteten Reihe von Übertragungen beendet sind, dann wird eine Speicher-Überlauf-Folge eingeleitet. Die Operation wird beendet, und durch die Programme der Zer'rsleinheit wird neuer Speicherplatz zugewiesen, die Operation wird erneut eingeleitet und erneut versucht. Es wird dabei angenommen, daß in der Mehrheit aller Fälle, bei denen mit Pufferverkettung gearbeitet wird, ein derartiger Überlauf nicht auftritt und wenn er doch einmal auftreten sollte, dann wird nur diejenige Operation, die durch die Erschöpfung des Zählerstandes unterbrochen wurde, nach dem Neuanlauf wieder durchgeführt werden müssen.
C) Wahlweise Datenverkettung bei Pufferverkettung
Wie bereits erwähnt, wird eine Datenverkettung oder Datenverknüpfung (eine 1 in CCW Flagbitposition 32) normalerweise durch den Kanal (ohne Pufferverkettung) dazu benutzt, eine unbeendete Operation dann fortzusetzen, wenn der für die Operation vorgesehene Speicherplatz verbraucht ist (Restzählerstand wird 0), bevor das Schlußzeichen autgenommen ist Gemäß der vorliegenden Erfindung können die Flagbits für Datenverkettung und Pufferverkettung in einem CCW gemeinsam dazu benutzt werden, daß der Kanal auf ein nicht abschließendes Signalbit, das an der Schnittstelle mit der angeschlossenen Einheit/peripheres Gerät dargeboten wird und Blockuntergrenzen angibt, die in einem sonst kontinuierlichen Datenblock auftreten. An
jeder solchen Blockuntergrenze könnte der Kanal ein nächstes CCW abrufen, die Begrenzungsinformation in einem gespeicherten CCW Oberschreiben und die Eingabeoperation fortsetzen. Bei dieser Betriebsart würde der Restzählerstand 0 als normaler Oberlauf bei s einem Betrieb mit nicht verketteten Daten angesehen. Eine intelligente periphere Steuereinheit könnte dabei wirksam eine Reihe unabhängig entstandener Unterblocks zu einem Block kombinieren und die oben erwähnten nicht abschließenden Signale dazu benutzen, eine fliegende Pufferverkettung durchzuführen, mit den entsprechenden Begrenzungsoperationen für die Subblocks. So könnten beispielsweise eine Reihe von unabhängigen über Datenfernverarbeitung ankommende Nachrichten, die für eine getrennte Verarbeitung is vorgesehen sind, effektiv als eine fortlaufende Eingabeoperation mit zwischenzeitlicher Begrenzung durch die eben erwähnte Unterblockverkettung in der Betriebsart mit Daten/Pufferverkettung behandelt werden.
D) Herstellung einer Pufferverkettung
Durch befehlsverkettende Flagbits in einem Kanalprogramm miteinander verbundene CCWs können außerdem für eine Pufferverkettung dadurch miteinan der verbunden werden, daß in Bitposition 38 vor Einleiten der zugehörigen Kanaloperation Pufferverkettungsfiagbit, eingesetzt werden. Das Systemprogramm der Zentraleinheit kann dabei einen nicht zerstreut liegenden Speicherraum für jede beliebige Anzahl aufeinanderfolgender Befehle in einer Reihe miteinander verketteter Befehle vorsehen (vergleiche Fig.6). Dies kann insbesondere dann wirksam sein, wenn das den Speicherplatz zuordnende Programm so gute Information enthält, daß eine ziemlich genaue Abschätzung der erwarteten zusammengefaßten Datenübertragung für eine Reihe von CCW-Operationen ermöglicht wird.
Wenn beispielsweise angenommen werden kann, daD der zur Verfügung stehende, nicht zerstreut liegende Speicherraum durch die erwartete Eingabe von vier aufeinanderfolgenden CCW-Lesebefehlen in einer befehlsverketteten Serie fast vollständig mit Dater geladen werden wird (jedoch nicht bis zum Oberlauf) dann könnte das Zuordnungsprogramm die Pufferkettenflagbits in die ersten drei dieser CCWs einsetzen sowie die entsprechenden Werte der Datenadressen und Zählerstände in das erste CCW, so daß von dem zur Verfügung stehenden Speicherraum ein wirksamei Gebrauch gemacht werden kann.
Hierzu 4 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Anordnung zum lückenfreien Einschreiben von aufeinanderfolgenden von angeschlossenen peripheren Geräten nach einem Speicher zu übertragenden Datenblöcken von zunächst unbekannter Länge, mit einem an den Speicher anschaltbaren Datenkanal mit Kanalbefehlsadreßregister, Datenadreßregister, Zählregister, Operationsregister und einer Steuerung des Kanals durch aus dem Speicher abrufbare Kanalsteuerworte, mit miteinander verketteter Durchführung von Eingabeoperationen und gleichzeitiger Erhöhung des Datenadreßregisters und Erniedrigung des Zählregisters, wobei das Datenadreßregister anfangs auf die Adresse der ersten einzuschreibenden Speicherstelle eingestellt ist, gekennzeichnet durch folgende Merkmale:
a) das Zählregister (105) ist zu Beginn einer Eingabecperation mit der Anzahl der zur Verfügung stehenden Speicherstellen geladen;
b) durch ein im Kanalsteuerwort enthaltenes Steuerbit (Bit 38) ist ein selbsthaltender Schalter (201, 208) einstellbar, durch dessen Einstellung bewirkt wird, daß bei Verkettung der Kanal-Steijerwnrte am Ende der Übertragung eines Datenblocks der Länge L ohne Zählregisterüberlauf die um L erhöhte, im Datenadreßregister gespeicherte Datenadresse und der um L erniedrigte Zählerstand im Zählregister in die entsprechenden Felder des nächstfolgenden Kanalsteuerwortes eintragbar sind, so daß bei Durchführung der im nä^nsten Kanalsteuerwort angegebenen Übertragungsoperation diese bei der dort abgespeichen^n Speicheradresse und dem abgespeicherten Zählerstand beginnt
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß bei Aufnahme des Schlußzeichens eines an dem Kanal (403) angeschlossenen peripheren Gerätes die zuletzt gespeicherte Datenadresse bzw. der zuletzt gespeicherte Zählerstand (in 102 bzw. 105) bei Aufruf des nächsten Kanalsteuerwortes dann, wenn dieses wieder das Steuerbit enthält, die in diesem Kanalsteuerwort enthaltene Datenadresse und den ebenfalls enthaltenen Zählerstand unterdrückt und ersetzt.
3. Anordnung nach den Ansprüchen 1 und 2. dadurch gekennzeichnet, daß bei fehlendem Steuerbit (Bit 38) der umsteuerbare Schalter (201, 208) rückstellbar ist, und daß damit die zuletzt im Datenadreßregister (102) gespeicherte neueste Datenadresse und der im Zählregister (105) liegende Restzählerstand in dem Speicher in einem Kanalstatuswort (CSW)abspeicherbar sind.
4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß für die Umschaltung des Kanals auf verkettete Übertragung der umsteuerbare, selbsthaltende Schalter (201, 208) eine erste und eine damit verbundene, durch das Steuerbit einstellbare und bei Fehlen dieses Steuerbits riickstellbiire zweite Verriegelungsschaltung (201, 208) enthüllt, wobei die zweite Verriegelungsschaltung (RBC, 208) bei Ende einer ersten Übertragungsoperation während der Durchführung der nächstfolgenden Operation eingestellt bleibt, und daß durch den RUckstellzustand dieser Verrie-
gelungsschaltung (208) betätigbare logische Schaltungen (212) vorgesehen sind, die normalerweise die Anfangsdatenadresse und den Anfangszählerstand bei Einleiten einer verketteten Übertragung an das Datenadreßregjster (102) und das Zählregister (105) übertragen.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß ein Hilfs-Befehlsadreßregister (CA 2) vorgesehen ist, in dem die Adresse des »erade wirksamen Befehls zwischen dem Ende einer Operation und dem Beginn der nächstfolgenden Operation abspeicherbar ist, und daß der Speicher für die Abspeicherung des Endzählerstandes an den das dieser Operation zugeordnete Steuerwort enthaltenden Speicherplatz adressierbar ist
DE2720864A 1976-06-01 1977-05-10 Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmte r Lange Expired DE2720864C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/691,953 US4040037A (en) 1976-06-01 1976-06-01 Buffer chaining

Publications (3)

Publication Number Publication Date
DE2720864A1 DE2720864A1 (de) 1977-12-08
DE2720864B2 true DE2720864B2 (de) 1979-06-28
DE2720864C3 DE2720864C3 (de) 1980-02-28

Family

ID=24778666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2720864A Expired DE2720864C3 (de) 1976-06-01 1977-05-10 Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmte r Lange

Country Status (7)

Country Link
US (1) US4040037A (de)
JP (1) JPS52147032A (de)
CA (1) CA1084632A (de)
DE (1) DE2720864C3 (de)
FR (1) FR2353900A1 (de)
GB (1) GB1579165A (de)
IT (1) IT1115480B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
JPS5660933A (en) * 1979-10-22 1981-05-26 Nec Corp Information processor
EP0109308B1 (de) * 1982-11-16 1990-04-04 Unisys Corporation Blockzählersystem zur Überwachung von Datentransfer
CA1211573A (en) * 1982-12-07 1986-09-16 Glenn T. Hotchkin System for regulating data transfer operations
US4542457A (en) * 1983-01-11 1985-09-17 Burroughs Corporation Burst mode data block transfer system
EP0412268B1 (de) * 1989-08-11 1996-09-11 International Business Machines Corporation Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
US5459838A (en) * 1992-09-24 1995-10-17 International Business Machines Corporation I/O access method for using flags to selectively control data operation between control unit and I/O channel to allow them proceed independently and concurrently
US5584039A (en) * 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
US6230218B1 (en) * 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6240446B1 (en) 1998-10-14 2001-05-29 International Business Machines Corporation Multiplexing of multiple data packets for multiple input/output operations between multiple input/output devices and a channel subsystem having multiple channels
US6330585B1 (en) 1998-10-14 2001-12-11 International Business Machines Corporation Transfer information using optical fiber connections
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6499066B1 (en) 1999-09-27 2002-12-24 International Business Machines Corporation Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US20080181399A1 (en) * 2007-01-29 2008-07-31 Sun Microsystems, Inc. Composite cryptographic accelerator and hardware security module

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3488633A (en) * 1964-04-06 1970-01-06 Ibm Automatic channel apparatus
US3688274A (en) * 1970-12-23 1972-08-29 Ibm Command retry control by peripheral devices
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
US3728693A (en) * 1972-04-28 1973-04-17 Burroughs Corp Programmatically controlled interrupt system for controlling input/output operations in a digital computer

Also Published As

Publication number Publication date
US4040037A (en) 1977-08-02
IT1115480B (it) 1986-02-03
JPS5611333B2 (de) 1981-03-13
DE2720864A1 (de) 1977-12-08
CA1084632A (en) 1980-08-26
GB1579165A (en) 1980-11-12
DE2720864C3 (de) 1980-02-28
JPS52147032A (en) 1977-12-07
FR2353900B1 (de) 1979-03-09
FR2353900A1 (fr) 1977-12-30

Similar Documents

Publication Publication Date Title
DE2161886C2 (de) Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE2720864C3 (de) Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmte r Lange
DE1424732C3 (de) Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2411963B2 (de) Datenverarbeitungsanlage
DE1303071B (de)
DE1931966A1 (de) Elektronische Datenverarbeitungsanlage
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE1499206C3 (de) Rechenanlage
DE2101949A1 (de) Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage
DE2218630C3 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE1266026B (de) Verfahren und Anordnung zum Verhüten einer Änderung eines Speichermhaltes
DE2739525A1 (de) Prozessor
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE1499286B2 (de) Datenbearbeitungsanlage
DE2316321A1 (de) In mehrfachschaltung betriebener speicherabrufteil
DE69226683T2 (de) Verfahren zum effizienten Zugriff von Daten in einer Verknüpfungstabelle
DE10059006A1 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern
DE112021007633T5 (de) Kommunikationsdauer-bestimmungseinrichtung, kommunikationsdauer-bestimmungsverfahren und kommunikationsdauer-bestimmungsprogramm
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE1774212B2 (de) En 20417 12.08.67 " 37132 bez: datenverarbeitungsanlage
DE1474090A1 (de) Informationsverarbeitung

Legal Events

Date Code Title Description
OD Request for examination
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee