DE2720864B2 - Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmter Lange - Google Patents
Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmter LangeInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 21
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 230000002441 reversible effect Effects 0.000 claims 2
- 239000000872 buffer Substances 0.000 description 45
- 238000012545 processing Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
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,
ι ο 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.
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)
(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
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.
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.
Claims (5)
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
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)
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)
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 |
-
1976
- 1976-06-01 US US05/691,953 patent/US4040037A/en not_active Expired - Lifetime
-
1977
- 1977-04-26 FR FR7713444A patent/FR2353900A1/fr active Granted
- 1977-05-10 DE DE2720864A patent/DE2720864C3/de not_active Expired
- 1977-05-13 JP JP5450177A patent/JPS52147032A/ja active Granted
- 1977-05-20 CA CA278,860A patent/CA1084632A/en not_active Expired
- 1977-05-24 IT IT23900/77A patent/IT1115480B/it active
- 1977-05-27 GB GB22586/77A patent/GB1579165A/en not_active Expired
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 |