DE2130299B2 - Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage - Google Patents
Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlageInfo
- Publication number
- DE2130299B2 DE2130299B2 DE19712130299 DE2130299A DE2130299B2 DE 2130299 B2 DE2130299 B2 DE 2130299B2 DE 19712130299 DE19712130299 DE 19712130299 DE 2130299 A DE2130299 A DE 2130299A DE 2130299 B2 DE2130299 B2 DE 2130299B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- input
- output
- data
- channel
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
rbeitungsaiilagc mit einem E/A-Kanal,
F i g. 2 ein genaueres Blockdiagramm der Prozessor- \nschlußeinheit,
Fig. 3 ein genaueres Bloekdiugramm der E/A-An-,chlußcinheit.
F ig. 4 eine Übersiehtsdarsiellung des inhaltes des
Λ-Speichers aus F i g. 3.
F i g. 5 ein Blockschaltbild eines Paares von bistabilen Anordnungen zur Beschleunigung der Reaktion des
Ε/Λ-Kanals auf Signale von E/A-Einheiten und
F ι g. b ein Blockdiagramm einer anderen Ausführung des Speichers ;n F i g. i /ur Erhöhung der Übertragungsgeschwindigkeit.
Fig. I zeigt eine digitale Datenverarbeitungsanlage nut einem Eingabe-/Ausgabekanai 10. im folgenden
kurz als E/A-Kanal 10 bezeichnet. Die Anlage enthalt außerdem einen Hauptspeicher 11 und einen Prozessor
<ΓΡίΊ2). Der Hauptspeicher 11 wird durch den Inhalt
eines Speicheradreßregisters (SAR 13) adressiert /uc.-ks Datenübertragung zwischen der adressierten
ti.inptspeicherstelle und einem .Speicherdatenregister
(SDR 14). Der E/A-Kanal 10 besteht aus zwei Funktionseinheiten, die unabhängig voneinander arbci
ten: einer Prozessor-Anschlußeinheil 15 und einer E/A- Anschlußeinheit 16.
Die Prozessor-Anschlußeinheit 15 empfängt »om Prozessor 12 Sieuerdaten. welche die vom «.anal
auszuführenden Operationen festlegen. Diese Steiierdalen
werden vorzugsweise über das SDR 14 übertragen.
Wo mehrere E/A-Kanäle 10 in einer Datenverarbeilungsanlage vorgesehen sind, wie es allgemein üblich ist.
ist auch für jeden Kanal ein entsprechendes SDR 14 vorgesehen, um eine gute Verbindung mii dem
Prozessor 12 zu schaffen. Es ist jedoch auch in diesem Fall nur :in SAR 13 vorgesehen: gleichzeitige Anforderungen
für Zugriffe zum Hauptspeicher 11 durch verschiedene Kanäle können dann mit bekannter
Prioriiätsteehnik gelöst werden.
Die F./A-Anschlußeinheit 16 ist die Funktionseinheit,
die einen Datenweg einschließlich Pufferspeicher zwischen den peripheren Einheiten und dem Hauptspeicher
11 herstellt. Die E/A-Anschlußeinheil 16 steuert sich selbst, wenn sie einmal die Sieuerinformation von
der Prozessor-Anschlußeinheil 15 empfangen hai. Sie kann erkennen, wann die angeforderte Operation
ausgeführt werden kann und wann sie beendet ist.
Bei dem als Beispiel zu beschreibenden F./A-Kana! handelt es sich um einen Selektorkanal. Der E/A-Kanal
ist als eine Gruppe von untereinander verbundenen Assoziativspeichern ausgeführt, die die unabhängig v<
arbeitende Prozessor-Anschlußeinheü 15 und E/A-Anschlußeinheit
16 der Fig. I bilden. Die Speicher unterscheiden sich untereinander nicht in ihrem Aufbau,
sondern nur durch ihren Dateninhalt sowie durch ihre Verbindung mit den übrigen Teilen der Datenverarbei- ss
tungsanlage und mit den peripheren Einheilen.
jeder der Assoziativspeicher besieht aus zwei Eingabe/Ausgabe Registern und mehreren Wortspeicherstellen,
deren jede außerdem zwei Meiner
(limärelemente) hai, die erster und zweiler Merker ho
genannt werden. Ein Speicherzyklus besteht aus zwei Phasen, in deren erster die Speicherstelien für den
Zugriff markiert und in deren zweiter bestimmte Teile markierter Speicherstelien gleichzeitig in einer l.ese-
oder Schreiboperation auf ein ausgewähltes Eingabe/ (-5
Ausgabe-Register übertragen werden. Eine Speicherstelle wird markiert, indem man einen der beiden
Merker setzt. Dieses Setzen kann aus einer .Suchopera
40
45 tion resultieren, in welcher ein Suchargument (der Inhalt
bestimmter Teile eines ausgewählten Eingabe/Ausgabe-Registers)
mit dem lnhah derselben Teile aller
Wortstellen verglichen ivird. Wenn der Inhalt einer Wortstelle mit dem Suchargument übereinstimmt, wird
die Wortsteile markiert. Die ersten und zweiten Merker bilden außerdem miteinander je ein Schieberegister, so
daß ihre iuhalte um eine Woristelle verschoben werden
können. Diese Operation (genannt »NAECHSTE«) kann mit einer assoziativen Suche kombiniert werden.
In diesem Fall wird jeweils die Wortstelle hinter einer mit dem Suchargument übereinstimmenden Wortstelle
markiert. Die »NAECHSTEw-Operation kann aber auch in der ersten Phase eines Zyklus ohne eine begleitende
Suchoperation ausgeführt werden. Die bei der Suchoperation zu berücksichtigenden Teile der Wortstellen
werden durch eine Maske ausgewählt, die bestimmte Verbindungen zwischen den Eingabe/Ausgabe-Registern
und den Speicherstelien während der ersten Phase maskiert, während die Teile der Wortstellen, in denen
gelesen oder geschrieben wird, durch eine Maske gewählt werden, die in der zweiten Phase verwendet
wird, leder Assoziativspeicher verfügt über einen Maskenspeicher, der die Masken enthält und der am
Anfang der ersten und der zweiten Phase adressiert wird. Zum Steuern eines Assoziativspeichers muß daher
angegeben werden, welcher Merker (der erste oder der /weite) zu benutzen ist. ob eine Suchoperation
auszuführen ist oder ob eine >>NAECHSTE«-Operation
auszuführen ist. Außerdem ist anzugeben: die Maske für die Suchoperation: ob eine Lese- oder Schreiboperation
auszuführen ist: die Maske für die Lese- oder .Schreiboperation·, und welches Eingabe/Ausgabe-Register
in jeder Operationsphase zu benutzen ist.
In dem zu beschreibenden Ausführungsbeispiel besteht die Prozessor-Anschlußeinheit 15 aus zwei
Assoziativspeichern, einem Sieuerspeichcr und einem Datenspeicher, die als S-Spcicher bzw. D-Speicher
bezeichnet werden. Die E/A-Anschlußeinheit 16 besteht aus vier Assoziativspeichern, einem Adreßspeicher,
einem Pufferspeicher, einem Zählspeichcr und einem Koordinationsspeicher, die als Λ-Speicher, P-Speicher,
Z-Speicher und R-Speicher bezeichnet werden. Alle
Assoziativspeicher arbeiten synchron und werden durch einen Taktgeber angesteuert.
Gemäß der Darstellung in Fig. 2 besteht die Prozessor-Anschlußeinheit 15 aus dem 5-Speicher und
dem D-Speicher, hier werden nur die Teile eines Eingabe/Ausgabe-Registers eines Speichers gezeigt, die
tatsächlich benutzt werden. In der Praxis ist der .S'-Speicher konstruktiv mit dem D-Speicher identisch.
In Fig. 2 hat er die gleiche Kapazität wie der D-Speicher; es wurde jedoch ein Eingabe/Ausgabe-Re-L'isier
vollständig und ungefähr eine Hälfte des anderen Registers weggelassen, da die Teile nicht benutzt
werden. Die Eingabe/Ausgabe-Register sind auf einander
gegenüberliegenden Seiten des einen Speicher darstellenden Blockes wiedergegeben. Üblicherweise
wird das obere Register Ε/Λ-1 und das untere Ε/Λ-2
genannt. Wenn Felder der Eingabe/Ausgabc-Register gemeinsam benutzt werden, sind sie durch eine
gestrichelte Linie verbunden dargestellt, wofür die 1 i g. 2 zwei Beispiele enthält.
Operationen im Kanal werden durch Absuchen von Funktionstabellen in den Assoziativspeichern ausgeführt,
jede dieser Tabellen ist durch einen eindeutigen Schlüssel bezeichnet, und bestimmte Zeilen der Tabelle
werden durch den oder die Operandci, gewählt, von
ienen die Funktion abzuleiten ist. Das Suchargument siner Suchoperation besteht daher normalerweise aus
einem Schlüssel, der die auszuführende Funktion bestimmt und als eine Adresse betrachtet werden kann,
und aus einem veränderlichen Teil, der die Operanden festlegt. Jeder Assoziativspeicher umfaßt ein Schlüsselfeld,
welches die Tabellenschlüsse! enthält.
Der S-Speicher hat nur das Register E/A-2, welches ein erstes Schlüsselfeld 21, ein Bedingungsfeld 22, ein
Feld »Nächste«-Adresse 23, ein D-Speicherschlüsselfeld 24, ein D-Speichersteuerfeld 25 und ein D-Speichermaskenfeld
26 enthält. Die einzige Funktion des S-Speichers ist die Steuerung des D-Speichers und der Felder 24 und
26, wobei die zum Steuern des D-Speichers nötigen Steuerdaten aus den Feldern 24 und 26 genommen
werden. Feld 26 gibt die Maske oder das Maskenpaar an, welche in jedem D-Speicherzyklus zu verwenden
sind. Feld 25 wird auf einen Decodierer übertragen und bestimmt die Operationen, wie Suchen, »Nächste«,
Lesen, Primär, die durch den D-Speicher auszuführen sind; Feld 24 enthält den Schlüssel, der die im
D-Speicher auszuführende Funktion vorschreibt. Der S-Speicher hat eine eigene Folgesteuerung: Das Feld
»Nächste«-Adresse 23 ist mit dem Schlüsselfeld 21 des Registers E/A-2 des S-Speichers verbunden. Zusätzliche
Informationen über das nächste aus dem DS-Speicher zu lesende Steuerwort werden vom D-Speicher selbst
dadurch abgeleitet, daß zwei Bits auf das Bedingungsfeld 22 vom Bedingungsfeld 30 des D-Speichers
gegeben werden können, welches beiden D-Speicher-Eingabe/Ausgabe-Registern
gemeinsam ist. Der S-Speicher hat einen festgelegten Operationszyklus: Suchen in
den Feldern 21 und 22 und Lesen aus den Feldern 23 bis 26. Der D-Speicher hat die Funktion. Steuerdaten vom
Prozessor, die sich auf auszuführende E/A-Operationen beziehen, zusammenzusetzen und diese an die E/A-Anschlußeinheit
16 ( F i g. 1) zu leiten.
Der D-Speichcr empfängt aus dem Kanalsteuerwort die Datenadresse, die Längenangabe (Byteanzahl), die
Kennzeichen und die Operationsangabe. Auch die Einheitensteuerwörter werden im D-Speicher festgehalten.
Adreß-, Zähl- und Zustandsdaten werden von Zeit zu Zeit an die E/A-Anschlußeinheit 16 übertragen.
Register E/A-l des D-Speichers enthält das Bedingungsfeld
30, welches mit dem Bedingungsfeld 22 von E/A-2 des S-Speichers verbunden ist; das Daten vom
Feld 24 des S-Speichers empfangende Schlüsselfeld 31; ein an die Sammelleitungs-Register 42 und 43 ( F i g. 3)
und den P-Speicher angeschlossenes Feld 32; sowie die Felder 33 und 34, die beide an den P-Speicher and das
SDR 14 (F i g. 1) angeschlossen sind.
Register E/A-2 des D-Speichers enthält außer dem Bedingungsfeld 30 und dem Schlüsselfeld 31, welche es
mit E/A-l teilt, eine Gruppe von Steuerfeldern, die als
ein Feld 35 dargestellt sind, zur Übertragung von Steuersignalen auf die E/A-Anschlußeinheit 16, ein an
den /4-Speicher und das SAR angeschlossenes Feld 36
und ein an den Z-Speicher angeschlossenes Feld 37.
F i g. 3 zeigt die E/A-Anschlußeinheit 16, deren Aufgabe es ist, Steuersignale mit einer E/A-Einheit
auszutauschen, einen Datenweg für die Datenübertragung zwischen der E/A-Einheit und dem Hauptspeicher
herzustellen und offenzuhalten, die Zahl der übertragenen Datenbytes festzuhalten und für das SAR die
Hauptspeicheradresse zu erzeugen, zu welcher oder von welcher Daten zu übertragen sind. Steuersignale
werden zwischen der E/A-Anschlußeinheit und einer E/A-Einheit über ein Kennzeichen-Eingabe-Register 40
und ein Kennzeichen-Ausgabe-Register 41 übertragen. Daten werden vom Hauptspeicher über Register 42 und
43 für die abgehende und ankommende Sammelleitung übertragen. Die E/A-Anschlußeinhcit 16 enthalt vier
Assoziativspeicher. Sie arbeitet als eine von der Prozessor-Anschlußeinheit 15, dem Prozessor und dem
Hauptspeicher unabhängige Einheit mit eigener Ablaufsteuerung, obwohl diese Anschlußeinheit mit dem
Hauptspeicher verbunden werden muß, wenn eine
ίο Datenübertragung erfolgt.
Der K-Speicher (Koordinations-Speicher) hat zwei
Hauptfunktionen, nämlich erstens sich selbst und die anderen Speicher der Anschlußeinheit zu steuern und
zweitens Steuersignale mit einer E/A-Einheit auszutausehen. Der Klarheit halber sind die Decodierer in
F i g. 3, die die Steuersignale interpretieren und Treibersignale für die entsprechenden Assoziativspeicher
erzeugen, als ein Block dargestellt, nämlich als Kanaldecodierer 44. In der Praxis hat jeder Speicher
seinen eigenen Decodierer. E/A-l des Koordinations-Speichers hat ein Schlüsselfeld 45 mit E/A-2 gemeinsam
und ein Feld 46, welches an den D-Speicher angeschlossen ist. Außer dem Schlüsselfeld 45 verfügt E/A-2 über
ein Bytezählfeld 47, welches an den Z-Speicher angeschlossen ist, ein Nächste-Adresse-Feld 48, welches
an das Schlüsselfeld 45 angeschlossen ist, und die Schlüsselfelder 49 und 50 für den Λ-Speicher bzw. den
Z-Speicher. Als nächstes kommt eine Gruppe von Feldern, die an den Kanaldecodierer 44 angeschlossen
sind und zum mindesten teilweise die durch andere Teile der Anschlußeinheit und den Hauptspeicher auszuführenden
Operationen bestimmen. Das Feld 51 steuert den Hauptspeicher, Feld 52 den Pufferspeicher P und Feld
53 den Zählspeicher Z, den Adreßspeicher A und den Koordinationsspekher K. Feld 54 ist ein Bit groß und
dient dazu, den Inhalt des Sammelleitungs-Registers 43 weiterzuleiten. Feld 55 ist an den /4-Speicher angeschlossen,
und Feld 56 wird dazu benutzt, den Inhalt des Kennzeichen-Ausgabe-Registers 41 weiterzuleiien.
Feld 57 ist das Kennzeichen-Ausgabe-Feld, welches mit
dem Kennzeichen-Ausgabe-Register 41 verbunden ist, und Feld 58 ist das Kennzeichen-Eingabe-Feld: es
empfängt Daten vom Kennzeichen-Eingabe-Regisier 40. Feld 59 ist mit dem Z-Speicher verbunden.
Wie bereits gesagt, besteht eine Funktion des K-Speichers darin, Steuersignale mit einer E/A-Einheit
auszutauschen. Zur Übernahme dieser Funktion enthält der /(-Speicher eine Funktionstabelle, in welcher die
Antworten des Kanals an die E/A-Einheit gespeichert werden. Signale vom Kanal liefern ein SuQhargument
zur Adressierung der Tabelle in das Kennzeichen-Eingabe-Feld 58, nachdem sie im Kennzeichen-Eingabe-Register
40 festgehalten worden sind. Die auf Grund des Suchargumentes aus der Tabelle in das Kennzeichen·
Ausgabe-Feld 57 gelesenen Daten werden im Kennzei· chen-Ausgabe-Register 41 festgehalten und den peri
pheren Einheiten zur Verfügung gestellt, wenn eir Einerbit im Feld 56 steht. Eine dritte wichtige Funktior
des AC-Speichers besteht darin, eine Zählung dei
Datenbytes im P-Speicher vorzunehmen. Der laufend! Zählstand ist im Feld 47 des Registers E/A-2 de
K-Speichers festgehalten.
Der Z-Speicher oder Zählspeicher hat die Funktior die Anzahl der Datenbytes festzuhalten, die zwischei
einer peripheren Einheit und dem Hauptspeiche übertragen wurden. Für eine Übertragungsoperatio
wird die Adresse des ersten zu übertragende Datenbytes und die Anzahl der zu übertragende
Datenbytes angegeben. Diese Λη/.ahl wird im Z-Speicher
festgehalten und mit fortschreitender Übertragung herunterge/.ählt. Es wird ein Signal abgegeben, wenn
der Zählerstand im Z-Speicher gleich Null ist, und auch
wenn der Zählerstand in Z gleich der Pufferbytezahl im TeId 47 des /(-Speichers ist. Die beiden E/A-Register
des Z-Speichers haben ein vom Feld 50 des /(-Speichers
gespeistes Schlüsselfcld 60 gemeinsam und ein Steuerfeld 61, welches dem Z-Speicher die Möglichkeit der
eigenen Ablaufsteuerung gibt, indem es vorschreibt, welches der beiden Eingabe/Ausgabe-Register im
nächsten Speicherzyklus zu benutzen ist. Feld 61 ist mit dem Kanaldecodierer 44 verbunden. Die übrigen Felder
des Registers E/A-l mit den Bezeichnungen 62 bis 64 werden zum Herunterzählen benutzt und später
beschrieben. Das Register E/A-2 des Z-Speichers weist außer den Feldern 60 und 61 ein Feld 65 auf, welches mit
dem Feld 59 des /(-Speichers verbunden ist: ein Feld 66, welches an das Pufferbytezählfcld 47 des /(-Speichers
angeschlossen ist; und die Felder 67 bis 69 für das I lerunterzählen. Die Felder 63 und 64 sind mit dem Feld
67 und die Felder 68 und 69 mit dem Feld 62 und außerdem mit dem D-Speicher verbunden. Ein Bit des
Feldes 66 ist an den Kanaldecodierer 44 angeschlossen.
Der A-Speichcr oder Adreßspeicher dient zur Erstellung der im Hauptspeicher zu benutzenden
Adresse. Die Anfangsadresse muß erhöht oder erniedrigt werden, abhängig davon, ob es sich um eine
Vorwärts- oder Rückwärts-Leseoperation handelt. Der /t-Speicher ist ähnlieh organisiert wie der Z-Speicher;
sie unterscheiden sich lediglich in der Größe:. Die Eingabe/Ausgabe-Register haben ein Schlüsselfeld 70
und ein Steuerfeld 71 gemeinsam. Das Schlüsselfeld wird vom /(-Speicher gespeist. Das Steuerfeld teilt dem
Decodierer 44 mit, welches E/A-Register im nächsten Speicherzyklus zu benutzen ist. E/A-l hat die Felder 72
bis 75 und E/A-2 die Felder 76 bis 79. die alle zum Herauf- oder Herunterzählen benutzt werden. Die
Felder 73 bis 75 sind an das Feld 76, das SAR und den D-Speicher angeschlossen. Die Felder 77 bis 79 sind mit
dem Feld 72 und dem SAR verbunden.
Der P-Speicher dient als Puffer zwischen der peripheren Einheit und dem Hauptspeicher, oder
genauer gesagt, zwischen den Sammelleitungs-Registern 43 einerseits und dem SDR 14 andererseits. E/A-1
hat die Felder 80 und 81, die an das SDR und den D-Speicher angeschlossen sind. E/A-2 hat die Felder 82
und 83, die an den D-Speieher und die Register 42 und 43 für die abgehende und die ankommende Sammelleitung
angeschlossen sind. Außerdem weist E/A-2 ein Steuerfeld 84 auf, mit welchem der Inhalt des Registers 42 auf
die periphere Einheit weitergeleitet wird. Im P-Speicher werden die zwei Merker (der erste und der zweiile), die
jedem Wortregister zur Verfugung stehen, voll ausgenutzt. Datenbytes werden im P-Speicher als eine Liste
gespeichert, die aufeinanderfolgende Wortregister des Speichers belegt. Ein gesetzter erster Merker miarkiert
das Ende der Liste, d. h. die nächste Position, die zum
Speichern eines Datenbytes zur Verfugung steht, und ein gesetzter zweiter Merker markiert den Anfang der
Liste, d. h. die nächste aus dem P-Speicher zu lesende Position. Um die Liste zusammenhängend zu machen,
wird der P-Speicher so modifiziert, daß erster und zweiter Merker des unteren Wortregisters (bezogen auf
F i g. 4) mit dem ersten und zweiten Merker des oberen Wortregisters verbunden sind, so daß die durch die
Merker gebildeten Schieberegister zu zyklischen Schieberegistern werden.
Wenn Daten von einer E/A-Einheit zum Hauptspeicher übertragen werden, werden sie byteweise in das
Sammclleitungsregister 43 und von dort in die beiden Felder 82 und 83 des Registers E/A-2 und an das Ende
der im P-Speicher gespeicherten Liste eingeschrieben. Die Übertragung zum SDR 14 kann von einem der
beiden Felder 80 oder 81 des Registers E/A-l erfolgen. Diese Anordnung erspart einen Überkreuzungsweg
zwischen dem SDR und dem P-Speicher, der sonst beim Rückwärtslesen oder bei der Übertragung einzelner
Bytes nötig wäre, wenn ein Hauptspeicher-Halbwort zwei Bytes enthält.
Wenn Daten vom Hauptspeicher an die E/A-Einheit übertragen werden, wird ein Datenbyte vom SDR in
jedes Wortregister gespeichert. Aufeinanderfolgende Bytes wechseln zwischen den Feldern 80 und 81 des
Registers E/A-l ab, und die Maske wird bei der Leseoperation nach E/A-2 so abgewechselt, daß die
Felder 82 und 83 abwechselnd nacheinander in das Register 42 gelesen werden. Da unter bestimmten
Umständen die Maske nicht abgewechselt werden soll, wird ein zusätzliches Bit in jedem Datenbyte vorgesehen,
welches auf den Operationsdecodierer des P-Speichers geleitet wird, um festzustellen, welche
Maske im nächsten Speicherzyklus zu verwenden ist. Diese Einrichtung ist in F i g. 3 nicht gezeigt.
Die Kapazität des Puffers ist im vorliegenden Ausführungsbeispiel 16 Bytes.
Eine wichtige Funktion der E/A-Anschlußeinheit ist das Herauf- oder Herunterzählen von Zahlen. Es sind
Verfahren bekannt, die hierfür mehrere Speicherzyklcn benötigen. Ein Selektorkanal erfordert jedoch eine
solche Geschwindigkeit, daß das Herauf- oder Herunterzählen nur einen Zyklus belegen darf. Die Operation
des /4-Speichers ist ähnlich wie die des Z-Speichers, und der zuerst genannte wird jetzt als Beispiel für beide
Speicher beschrieben.
Fig.4 zeigt den Inhalt des 4-Speichers. Leerstellen
bedeuten Speicherzellen im .Y-Zustand (weder Null noch Eins. d. h. ohne Einfluß bei einem Assoziativ-Suchvorgang).
Um Platz zu sparen, ist nicht der gesamte Inhalt des Speichers dargestellt. Von der Tabelle zum
Herauf- und Herunterzählen ist nur der Teil gezeigt, der zur Wiedergabe des Bitmusters der Tabelle ausreicht.
Die Register E/A-l und E/A-2 sind in vereinfachter Form gezeigt, wobei die Felder wie in Fig. 3
bezeichnet sind. Die Felder 73 bis 75 sind mit Feld 76 und die Felder 77 bis 79 mit Feld 72 verbunden.
Der Aufbau der Inkrement/Dekrement-Tabelle, aucd
Tabelle zum Herauf- und Herunterzählen genannt, gehl aus den vier mit der Nummer 100 bezeichneten Wörterr
hervor. Feld 73 ist das Ergebnisfeld und erhält eir Ergebnisbit von »1« in der vierten Stelle eines neun Bn
großen Resultates. Die übrigen Positionen des Feldes 7: werden mit Zellen im X-Zustand gefüllt, die als binär«
Nullen gelesen werden. Feld 74 enthält die viei Bedingungen, unter denen bei einer Inkrementopera
tion ein Einerbit in die vierte Bitposition gesetzt werder soll. Sie besagen, daß Einsen in den ersten dre
Bitpositionen und eine Null in der vierten Bitpositior oder daß eine Eins in der vierten Bitposition unc
mindestens eine Null in den niedrigeren Positionei stehen müssen. Wenn keine dieser Bedingungen erfüll
ist. wird keine der mit der Zahl 100 bezeichnetet Leitungen zum Auslesen gewählt, so daß die vierti
Position des E/A-l-Feldes 73 (oder Feld 77) am Endi eines Speicherzyklus Suchen/Lesen eine Null enthäli
Feld 75 enthält die Bedingungen für ein Einerbit in de
509 543/21
10
vierten Position während einer Dekrenienu>per;iiion.
Wenn wiederum keine der Bedingungen erfüllt wird,
erscheint eine Null in der vierten Position des Ergebnisses.
Der /4-Speieher dient dazu, eine 18 Bit lange
Hauptspeicheradresse zu erhöhen oder (bei einer Rückwärts-Leseoperation) zu vermindern, jede Adresse
wird in zwei Teile aus neun Bits geteilt, die in der Beschreibung mit hoher und niedriger Teil bezeichnet
werden. Die Operation des /4-Speichers wird gesteuert
durch ein drei Bit großes Feld, von dem zwei Bits vom IC-Speicher und das dritte Bit vom Feld 70 des
M-Speichers selbst gespeist werden. Außer der Bestimmung des Schlüssels und der Operation wählt das
Steuerfeld die in den beiden Phasen eines Speicherzyklus zu verwendenden Masken. Wenn das Feld 70 eine 1
enthält, wird E/A-1 für die Eingabe und die Ausgabe verwendet, sonst E/A-2.
Die durch das Steuerfeld auswählbaren Operationen sind folgende (das äußerste linke Bit kommt vom Feld
70):
000 Suchen über den Feldern 76,79 und 71.
Lesen über den Feldern 76,79 und 71.
Im Feld 76 werden der hohe Teil und im Feld 79 der niedrige Teil der Adresse unverändert in E/A-2 erhalten.
100 Suchen über den Feldern 72,75 und 71.
Lesen über den Feldern 72,75 und 71. Im Feld 72 werden der hohe Teil und im Feld 75 der
niedrige Teil der Adresse unverändert in E/A-l erhalten. 010 Suchen über den Feldern 70. 76 und 79.
Lesen über den Feldern 76,77 und 71. Der hohe Teil wird im Feld 72 festgehalten, und der
niedrige Teil um »1« dekrementiert durch Suchen über dem Feld 70.
Wenn die Überirags-Voraussagcleitung mit dem
Schlüssel 10 gewählt wird, bedeutet das, daß der hohe Teil dekrementiert werden muß, und eine »1« wird in
das Feld 71 gegeben und dadurch der Inhalt des E/A-Registers verändert.
110 Suchen über den Feldern 70.72 und 75.
Lesen über den Feldern 72.73 und 71. Dieser Vorgang resultiert aus der vorhergehenden
Operation. Da die Felder 75 und 76 miteinander verbunden sind, wird der hohe Teil dekrementiert und
das wertniedrigere Byte mit Einsen gefüllt. 001 Suchen über den Feldern 70.76 und 78.
Lesen über den Feldern 76, 77 und 71. Der hohe Teil wird aufrechterhalten, während der
niedrige Teil inkrementiert wird. Wenn die Übertrags-Voraussageleitung mit einem Schlüssel 01 gewählt wird,
wird dadurch ein Übertrag in den hohen Teil vorausgesagt, und das Feld 71 ist gleich 1, wodurch der
Inhalt des verwendeten E/A-Registers verändert wird. 101 Suchen über den Feldern 70 und 74.
Lesen über Feld 77.
Der hohe Teil wird um »1« inkrementiert. da die Felder 76 und 74 miteinander verbunden sind.
Die Byte-Anzahl und die Adresse sind in dem Kanalsteuerwort (CCW) enthalten, welches die vom
Kanal auszuführende Eingabe/Ausgabe-Operation steuert. Sie werden am Anfang in den D-Speicher
übertragen, und von dort wird die Zahl in den ,4-Speicher übertragen, wobei der hohe Teil in das
richtige Feld durch die Schiebetabelle verschober wird.
Art benutzt.
Die E/A-Operation wird eingeleitet durch eine
Sturt-E/A-Insmiktion (SIO), welche die betroffene
E/A-Einheit angibt und zur Wahl eines Kanalsleuerworles
(CCW) vom Hauptspeicher führt, welches die auszuführende Operation und die /u verwendenden
t iauplspeicheradressen angibt.
Ein CTVV umfaßt einen Operationsteil, der die auszuführende Operation — /. B. vorwärts oder
ίο rückwärts Lesen oder Schreiben — angibt, eine
Datenadresse, die die Position des ersten gewünschten Bytes im Hauptspeicher darstellt, das zu adressieren ist.
fünf Kennzeichen sowie eine Zahl, die die Anzahl von Bytestellen im Hauptspeicherbereich angibt, die in der
Operation zu benutzen sind. Die Kennzeichen sind unier anderem: ein Datenverkettungszeichen (CD), welches
im Einerzustand anzeigt, daß die durch dieses Kanalkommandowort CCW definierte Operation mit
dem Datenbereich des Hauptspeichers weiterzuführen ist, der durch ein weiteres CC'W definiert ist: ein
Kommandovcrkettungszeichen (CC), welches im Einerzustand und bei Null-Zustand des Datcnverkettungs-Kennzeichens
die Einleitung einer durch ein weiteres CCVV angegebenen Operation auf derselben E/A-Einheit
veranlaßt. Die Datenverkcttung wird für Operationen mit nicht nebcneinanderliegenden Datenbereichen
benutzt; die Kommandoverkettung erübrigt die Neuadressierung einer E/A-Einheit am Ende einer joden
Operation, welche eine Reihe von Operationen auf derselben Einheit auszuführen ist. Eine weitere Operation,
die durch ein CCW vorgeschrieben sein kann, ist
eine Steueroperation. Dazu gehört die Datenübertragung von angegebenen Hauptspeicheradressen an die
periphere Einheit, die dann die Daten als SiciierinformiMionen
interpretiert, die /.. B. eine Platteneinheil beauftragen, einen Magnetkopf auf eine gegebene Spur
zu setzen oder einer Magnetbandeinheit befehlen, da?
Band zurückzuspulen oder um einen bestimmter Abstand zurückzusetzen. Der Kanal behandelt eine
Steueroperation wie eine Schreiboperation, so daß siel"
eine besondere Beschreibung erübrigt. Eine weitere möglicherweise angeforderte Operation ist eine Abfrageoperation,
durch die die CPU den momentaner Zustand einer E/A-Einheit erfährt. Der Kanal behandcl
eine Abfrageoperation wie eine Leseoperation, da da: den Zustand der E/A-Einheit beschreibende Byte füi
den Kanal wie ein Datenbyte aussieht.
Jede Operation beginnt mit einem Austausch voi Steuersignalen, um eine Verbindung mit der angeforder
ten E/A-Einheit herzustellen. Diese Steuersignal! benutzen die Kennzeichen-Eingabe- und Kennzeichen
Ausgabe-Register 4i und 40. Die Antworten des Kanal sind bestimmt durch eine Funktionstabelle, die in
/C-Speicher gespeichert ist und durch ein Suchargumen
adressiert wird, welches die im Kennzeichen-Eingabe Register 40 festgehaltenen Signale von der F./A-Einhei
umfaßt, die auf das Feld 58 des K-Speichers gegebei
werden. Adreß- und Kommandodaten werden in da Sammelleitung«,-Register 42 vom D-Speichcr über de
ta P-Speicher übertragen. Abhängig vom jeweilige Kommando führt der Kanal dann einen Lesevorgan
oder einen Schreibvorgang oder einen Rückwärts-Lesc Vorgang aus. Die in den einzelnen Schritten beschriebe
nen Vorgänge unterscheiden sich etwas dadurch, da
während der niedrige Teil durch Suchen und Lesen in 65 jeweils entweder nur ein Byte oder aber zwei Bytesode
der Dekrementiertabelle festgehalten wird. Eine separa- ein Halbwort zu und von dem Hauptspeicher übertrs
te Leitung wird für die Übertragung der beiden Teile gen werden. Eine normale .Speicheroperation besteht i
der 16 Bit großen Zahl in den Z-Speicher in derselben der Übertragung von zwei Byte:., was bedeutet, daß di
Speicheradresse, die Adresse des /u übertragenden wertniederen Bytes, normalerweise gerade ist. Wenn
die Speicheradresse ungerade ist oder die l.ängenangabe »eins« betragt, wird dadurch gesagt, dall nur ein Byte
in den oder aus dem Hauptspeicher zu übertragen ist, und dadurch erkannt, daß die Verarbeitung für nur ein
Datenbyte angefordert ist.
l.esevorgang
K-Spcicher. Sdlrm '
Die Pufferbytezahl (anfangs Null) wird beibehalten. Wenn ein Bedienungsanforderungssignal im Feld
58 festgestellt wird, wird das Antwortsignal »Bedienung aus« auf das Kennzeichen-Ausgabe-Register
41 gesendet und durch das leid 56 auf die E/A-F.inheit geleitet. Wenn die Daten von der
peripheren Einheit übertragen werden, ist das Signal »Bedienung ein« begleitet vom Signal
»Operation ein«. Die Feststellung dieser Signalkombination durch den /C-Speicher führt zur
Abgabe einer Eins aus dem Feld 54, um die Daten im Sammelleilungs-Register 43 festzuhalten.
■A-Spcicher.
■A-Spcicher.
Die Datenadresse wird um 1 erhöht.
Z-Spcicher.
Z-Spcicher.
Der Zählwert wird beibehalten und geprüft. Ist er Null, werden die Sieuerdaien vom Feld 65 in den
K'-Speicher und den /^Speicher übertragen, um die
Operation zu beenden.
/'-Speicher.
/'-Speicher.
Keine Operation.
Die Durchführung des ersten Schrittes ist davon abhängig, ob der AC-Spcichcr das Signal »Bedienung
ein« erhält. Bis es eintrifft, führen die Speicher keine Operation aus, wobei der /i-Speicher in Zyklen über ein
l.esefeld lauft, welches das Feld 58 umfaßt.
Schritt 2
K'-Speieher.
K'-Speieher.
Die Pufferbytezahl wird um 1 erhöht und mit einer Prüfung festgestellt, ob die Verarbeitung von ein
oder zwei Datenbytes gefordert wird.
/\-Speicher.
/\-Speicher.
Die Datenadres.se wird beibehalten.
Z-Speicher.
Z-Speicher.
Der Zählwert wird beibehalten.
P-Speicher.
P-Speicher.
Mit der Operation Nächste/Schreibcn/Primär wird der Inhalt des Samnielleitungs-Registers 43 in den
Pufferspeicher geschrieben.
Wenn eine Ubertragungsanforderung für zwei
Datenbytes festgestellt wird und die Pufferbytezahl kleiner als 2 ist, wird zum Schritt 1 zurückgeganger., um
das andere Datenbyte /u erhalten. Nach einer Wiederholung des Schrittes 1 folgt eine Wiederholung
des Schrittes 2 zur Übertragung des empfangenen Bytes in den P-Speicher.
Schritt 3 (Übertragung von zwei Datenbytes}
A'-Speicher.
Die Pufferbytezahl wird um 1 erhöht. Das Signal »Bedienung ein« wird überwacht, indem Feld 58 in
das Suchfeld eingeschlossen wird, so daß das Signal »Bedienung aus« beendet werden kann, sobald das
Signal »Bedienung ein<: aufhört. Dadurch wird die periphere Einheit zur Übertragung des nächsten
Signals im Auslausch freigegeben.
A-Speicher.
Die Adresse wird beibehalten. Z-Speicher.
[5er Zählwcrl wird um 1 heruntergesetzt.
/'-Speicher.
> Mil der Operation Nächste/Lesen/Sekundär wird
ein Byte aus dem /'-Speicher in das SDR gelesen.
Schritt 4 (Übertragung von zwei Datenbytes)
Schritt 3 wird wiederholt, jedoch teilt der Α,'-Speicher
ίο dem Hauptspeicher zusätzlich mit, daß eine Schreiboperation
mit dem Inhalt des SDR erfolgen kann, welches jetzt die beiden Datenbyles enthält. Die Schreiboperation
des Hauptspeichers erfolgt jedoch während des Schrittes 1 des Lesevorgangs.
'5 Schritt 3 (Übertragung von einem Datenbyte)
/v-Speicher.
Die Pufferbytezahl wird um 1 herabgesetzt. Das Signal »Bedienung ein« wird überwacht.
Λ-Speichcr.
Die Adresse wird beibehalten. Z-Speicher.
Der Zählwen wird um 1 herabgesetzt. /'-Speicher.
Mit der Operation Nächste/Lesen/Sekundär wird
Mit der Operation Nächste/Lesen/Sekundär wird
ein Byte aus dem P-Speicher in das SDR gelesen. Dem Hauptspeicher wird mitgeteilt, daß im SDR ein
Byte zum Schreiben in den Hauptspeicher bereitsteht.
Ungeachtet dessen, ob ein oder zwei Datenbytes übertragen wurden, wird Schritt 1 jetzt wiederholt, und
in den Hauptspeicher werden die Daten aus dem SDR eingeschrieben. Die Schleife wird erst nach Beendigung
des Schrittes 1 verlassen. Bei Feststellung des Zählwertes 0 stoppi der Selektorkanal die Leseopcration.
Wenn die Pufferbytezahl gleich der Längenangabe ist. wird ein Signal für das Ende der Datenübertragung
von der E/A-Einheit abgegeben. Ohne Datenverkettung wird durch Feststellung dieser Bedingung im Z-Speicher
die Änderung des Suchargumemes für den Ai-Speicher veranlaßt, so daß letzterer beim Beginn des Signals
»Bedienung ein« antwortet mit »Kommando aus«. Wenn Datenvet kettung vorgeschrieben wurde, gibt der
Z-Speicher ein Signal an den D-Speicher, der dann das nächste CCH7 abruft. In der Zwischenzeit wurde das
Signal »Bedienung ein« mit »Bedienung aus« beantwortet,
so daß die E/A-Einheit weiter Daten an den Kanal übertragen kann.
Schreibvorgang
Der Schreibvorgang läuft ähnlich ab wie der
Lesevorgang und wird daher nicht im Detail beschrieben. Wie bereits gesagt, arbeitet die Datenübertragung
vom SDR auf den P-Speicher mit der Operation Nächste/Lesen/Sekundär. Auf Datenverkettung wird
während eines Schreibvorgangs geprüft, wenn dei
Zählwert gleich oder kleiner als 16 (Kapazität de* P-Spcichers) ist. Wenn keine Datenverkettung erforder
lieh ist, läuft die Operation weiter, bis der Z-Spcicher die
Bedingung »Zählwerl = 0« feststellt. Wenn dei P-Speicher ieer ist, wird das Signal »Kommando aus<
durch den Ai-Speicher abgegeben, und die Datenüber tragung wird beendet. Wenn Datenverkettung gefor
deri ist, wird das nächste CCW in den D-Speiche übertragen, während die gegenwärtig im Kanc
befindlichen Daten an die periphere Einheit übertrage werden. Wenn »Zählwert = 0« festgestellt wird, werde
die Daten auf die Speicher Z, ,4 und κ verteilt. Ei
Kennzeichen »Verkettungs-renze« wird in die
Speicherstelle des Puffers eingeschrieben, welche das letzte Datenbyte enthält, das durch das laufende CCW
angegeben wurde. Es kann passieren, daß die Datenübertragung beendet wird, wenn zwar der Zählwcrt =
ist, jedoch bevor alle zu einem CCM/gehörenden Daten
aua dem Puffer übertragen wurden. Das Verkettungsgrenzzeiehen
gestattei es, die verbleibenden Bytes /u zählen.
Ein Rückwärts-Lesevorgang unterscheidet sich von dem oben beschriebenen Lesevorgang dadurch, daß die
Datenadresse herabgesetzt und nicht heraufgesetzt wird. Die Bedingungen für die Übertragung von ein und
zwei Datenbytes sind auch etwas anders.
Um die Geschwindigkeit der Datenübertragung zu erhöhen, kann der in den Fig. 2 und 3 gezeigte
Selektorkanal etwas modifizier» werden. Eine erste Modifikation betrifft den Austausch der Signale
»Bedienung ein« und »Bedienung aus« wahrend eines Lesevorgangs. Der /(-Speicher überwacht nicht kontinuierlich
die Leitung mit dem Signal »Bedienung ein«, prüft jedoch die Leitung jedesmal am Anfang der ersten
Phase eines Speicherzyklus. Das Signal »Bedienung ein« wird nach der Übertragung eines jeden Datenbyte
beendet, und anschließend muß auch das Signal »Bedienung aus« enden. In ähnlicher Weise muß das
Signal »Bedienung aus« beginnen, wenn das Signal »Bedienung ein« beginnt, um die Übertragung eines
Datenbytes an den Kanal zu signalisieren. Das Signal Bedienung ein<< wird festgestellt am Anfang eines
Zyklus 1 (normalerweise Schritt 1) eines Lesevorgangs, und das Signal »Bedienung aus« wird am Finde des
Zyklus 1 übertragen. Der frühcste Zeitpunkt an dem das Ende des Signals »Bedienung ein« festgestellt werden
kann, ist der Beginn des Zyklus 3, da dieses Signal durch die Verzögerungen infolge Übertragungs- und Schaltvorgängen
erst am Anfang des zweiten Zyklus nach Prüfen der Leitung aufhören kann. Am Ende des dritten
Zyklus endet das Signal »Bedienung aus«, und wiederum kann der folgende Beginn des Signals »Bedienung ein«
erst am Anfang des fünften Zyklus festgestellt werden.
Die Verzögerungen können ausgeschaltet werden, indem man zwei bistabile Schaltungsanordnungen für
die kontinuierliche Überwachung der Leitung für das Signal »Bedienung ein« vorsieht. Ein Beispiel ist ir.
F i g. 5 gezeigt. Die erste bistabile Anordnung 101 enthält die UND-Glieder 102 und 103. deren Ausgangssignale
den Eingängen des ODER-Gliedes 104 zugeführt werden. Ein Signal auf der Leitung 105 für
»Bedienung ein« stellt je einen Eingang für die UND-Glieder 102 und 103 dar; auf diese- Leitung gibt
die periphere Einheit das Signal »Bedienung ein« ab. Der Ausgang 106 des ODER-Gliedes 104 gibt das Signal
»Bedienung aus« an die periphere Einheit ab. Außerdem ist diese Leitung mit dem zweiten Eingang des
UND-Gliedes 103 verbunden. Die zweite bistabile Anordnung 107 enthält ein ODER-Glied 108, dessen
Ausgang als ein Eingang an das UND-Glied 109 geführt ist. Die Inverter HO und Ul sind in Reihe an den
Ausgang des ODER-Gliedes 108 angeschlossen. Der mittlere Verbindungspunkt der Inverter ist als Eingang
112 an das UND-Glied 102 angeschlossen. Der zweite Eingang 114 des UND-Gliedes 109 ist über einen
Inverter mit dem Feld 54 des K-Speichers (Fig. 3) verbunden, welches die Datenübertragung vom Sammelleitungs-Register
43 auf den P-Speichcr steuert.
Zunächst ist das Signal auf der Leitung 112 aktiv und
bereitet die bistabile Anordnung 101 so vor, daß sie durch das Erscheinen des Signals »Bedienung ein« auf
der Leitung 105 gesetzt werden kann. Das Antwortsignal »Bedienung aus« wird durch ein ODER-Glied Ί04
auf die Leitung 106 gegeben, wodurch außerdem die bistabile Anordnung 107 gesetzt wird. Das resultierende
Ausgangssignal auf der Leitung 113 wird dem Ai-Speicher zugeführt, um den Empfang des Signals
»Bedienung ein« zu signalisieren. Wenn das Signal »Bedienung ein« aufhört, wird die bistabile Anordnung
101 zurückgestellt, und das Signal »Bedienung aus« auf der Leitung 106 fällt schnell ab. Die bistabile Anordnung
107 bleib! gesetzt, bis der Eingang 114 zum UN D-Glied
109 inaktiv wird auf Grund eines Bits im Feld 54 des K-Registcrs, welches den Inhalt des Sammelleitungs-Registers
43 in den P-Speicher leitet. Die bistabile Anordnung 101 kann durch ein neues »Bedienung ein«-
Signal auf der Leitung 105 nur gesetzt werden, nachdem die bistabile Anordnung 507 durch die Übertragung de^
empfangenen Byte auf den P-Spcicher zurückgestellt wurde. Diese Anordnung ersetzt einen Teil der Tabelle
im AC-Speicher und schaltet die beiden Zyklen aus. di:
gemäß obiger Beschreibung durch die zyklische Prüfung der Leitung, die das Signal »Bedienung ein« führ:,
vergeudet wurden.
Zur Leseoperation gehört die byteweise Datenübertragung von P-Speicher auf das SDR, da jedes Wort des
P-Speichers nur ein Datenbyte enthält. Wenn die oben beschriebenen bistabilen Anordnungen benutzt werden,
ist eine andere Konstruktion des P-Spcichers möglich, um die Übertragung von zwei Bytes in einem
Speicherzyklus zu ermöglichen. Ohne die bistabilen Anordnungen kann die zu beschreibende Speicher-Konstruktion
auch benutzt werden. Man spart dann jedoch keine Speicherzyklcn im Gesamtlcsevorgang, da die
durch die Konstruktion einsparbaren Zyklen d;i/u
benutzt werden, auf den Beginn und das F.nde des Signals »Bedienung ein« zu warten.
Die spezielle Speicherkonstruktion ist in F i g. 6 gt.-:'cii.'t. Der P-SpeicliL·'· ist durch zwei Pufferspeicher
PI und P2 ersetz; worden. Jedes Wort eines jeden Speichers enthält ein Datenbyte in doppelter Ausführung.
Aufeinanderfolgende Bytes 1, 2, 3 ... werden abwechselnd in den Speichern PI und P2 gespeichert.
Aus jedem der beiden Speicher wird je ein ausgewähltes Byte gleichzeitig gelesen, und zwar je ein Byte in je eine
Hälfte des SDR: Jeder der Speicher PI und P2 in
Standardform hat seine eigenen Merker, so daß die in das SDR gelesenen Bytes nicht unbedingt voneinander
entsprechenden Wortregistern der Speicher kommen müssen. Das Datenbyte 1 kann z. B. bei Übertragung
eines einzelnen Datenbytes in die geforderte Hälfte des SDR gelesen werden. Wenn die Bytes 2 und 3 für eine
Zwei-Byte-Übertragung gelesen werden, wird die Operation Nächste/Lesen gleichzeitig in den Speichern
Pl und P2 ausgeführt, und es wird das Byte 3 vorr Speicher PI und das Byte 2 vom Speicher P2 gelesen
obwohl es sich nicht um entsprechende Wortregister ir den beiden Speichern handelt. Fig.6 zeigt außerden
die Verbindung zwischen den Speichern P1 und P 2, da:
Register 42 für die abgehende Sammelleitung und da: Register 43 für die ankommende Sammelleitung.
Die Benutzung der beschriebenen bistabilen Anord nungen zusammen mit dem aus zwei parallelei
Teilspeichern bestehenden Pufferspeicher kann di Anzahl von Speicherzyklen für einen typische
Lesevorgang von acht auf fünf reduzieren Es wurde ei E/A-Kanal beschrieben, der unabhängig voneinande
arbeitende Funktionseinheiten enthält, von denen ein
■ine Anschlußeinheit zwischen Kanal und Prozessor
•ines Datenverarbeitungssystems bildet, und die andere »ine Anschlußeinheit zwischen Kanal und den E/A-Einheiten
Die Prozessor-Anschlußeinheit setzt die Steuerdaten zusammen, während die E/A-Anschlußeinheit mit
der Übertragung von Daten oder Steuerinformationen zwischen dem Hauptspeicher des Systems und einer
angewählten E/A-Einheit beschäftigt ist. Der Kanal ist aus Assoziativspeichern aufgebaut, und Operationen
werden durch Tabellensuchvorgänge in Funktionstabel-
len ausgeführt.
In einer anderen Anordnung braucht es sich bei dem Steuerspeicher der Prozessor-Anschlußeinheit nicht um
einen veränderlichen Assoziativspeicher zu handeln, es
kann auch ein konventioneller assoziativ adressierter Festwertspeicher sein. Der P-Speicher kann außerdem
ersetzt werden durch einen konventionell adressierten Pufferspeicher, wobei der K-Speicher so modifiziert
wird, daß er die Adressen der ersten und letzten
Datenbytes im P-Speicher festhält und fortschreib'.
Hierzu 4 Blatt Zeichnungen
Claims (21)
1. Eingabe/Ausgabekanal für eine Datenverarbeitungsanlage mit Prozessoren, Hauptspeicher und
Ein- und Ausgabeeinheiten, dadurch gekennzeichnet,
daß der Eingabe-ZAusgabekanal (10) eine Prozessor-Anschlußeinheit (15) und eine Eingabe-/Ausgabe-Anschlußeinheit
(16) enthält, wobei beide sowohl eingangsseitig als auch ausgangsseitig
mit dem Speicherdatenregistjr (14) des Hauptspeichers
(11) verbunden sind, daß beide Anschlußeinheiten zur Übertragung von Steuerdaten aus der
Prozessor-Anschlußeinheit (15) und zur Übermittlung von Daten miteinander verbunden sind und daß
die Eingabe-/Ausgabe-Aiischlußeinhe;t (16) mit dem
Hauptspeicher (11) über dessen SpeicherudreSregister
(13) und mit den periphercn Eingabe-/Ausgabetfinheiien
zur Übertragung von Daten /wischen dem Hauptspeicher (11) und den peripheren Eingabe-/
Ausgabeeinheiten verbunden ist und daß jeweils die Steuerdaten für den nächsten DatPnübertragungsvorgang
in der Prozessoranschlußeinheit (15) zusammengestellt werden, während der laufende
Datenübertragungsvorgang mit Hilfe der Eingabe-/ Ausgabe-Anschlußeinheil (16) erfolgt.
2. Eingabe-/Ausgabekanal nach Patentanspruch 1. dadurch gekennzeichnet, daß die Prozessor-Anschlußeinheit
einen Assoziativspeicher als Datenspeicher (D) enthält, in welchem die vom Prozessor
gelieferten Steuerdaten zusammengestellt werden sowie einen Steuerspeicher (Sj für Mikroinstruktionen
zur Steuerung des Betriebs des Datenspeichers (D).
3. Eingabc-/Ausgabekanal nach Patentanspruch 2. dadurch gekennzeichnet, daß der Steuerspeicher (S)
ein Assoziativspeicher ist.
4. Eingabc-/Ausgabekanal n;;ch den Patentansprüchen 1 bis 3, dadurch gekennzeichnet, daß die
Eingabe-/Ausgabe-Anschlußeinheit (16) einen Koordinationsspeieher (K) in Form eines Assoziativspeichers
zur Speicherung von Funktionstabellen enthält, die zur Abgabe von Kanal-Antwortsignalen auf
Grund von Steuersignalen aus Eingabe-ZAusgabcgeräten dienen.
5. Eingabe-ZAusgabekanal nach den Patentansprüchen 1 bis 4, dadurch gekennzeichnet, daß die
Eingabe-ZAusgabe-Anschlußeinheit (16) einen assoziativen Adreßspeicher (A) enthält, durch den mit
Hilfe gespeicherter Tabellen Hauptspeichcradressen modifiziert werden.
6. Eingabe-ZAusgabekanal nach den Patentansprüchen 1 bis 5, dadurch gekennzeichnet, daß die
Eingabe-ZAusgabe-Anschlußeinheit (16) einen Assoziativspeicher als Pufferspeicher (Pjenthält.
7. Eingabe-ZAusgabekanal nach Patentanspruch 6, dadurch gekennzeichnet, daß zu jeder Wortspeicherstelle
des Pufferspeichers (P) ein erster und ein zweiter Merker vorgesehen sind, derart, daß bei
einer Wortspeicherstellc, in die zuletzt geschrieben wurde, jeweils der erste Merker und bei einer
Wortspeicherstelle, aus der zuletzt gelesen wurde, jeweils der zweite Merker gesetzt wird.
Die Erfindung betrifft einen Eingabe-ZAusgabekanal gemäß Oberbegriff des Patentanspruchs!
Beim Entwurf von Datenübertragungskanalen achtet
nun darauf daß der Kanal so unabhängig wie möglich vom Prozessor gemacht wird, so daß während der
Prozessor Daten verarbeitet, andere Daten von Eingabegeräten hereingeholt oder an Ausgabegeräte
abgegeben werden können.
So ist z.B. durch die deutsche Auslegeschrift 12 32 374 eine Zusammenschaltung
einer Mehrzahl datenverarbeitender Maschinen bekanntgeworden, die dadurch gekennzeichnet ist. daß
jede Ein" mgssehaltung Hilfsspeicher zur Aufnahme der
die EingCangsinformationen bildenden Worte und eine
Adresscnvergleichs-Einrichtung hat und. abhängig vom
Ergebnis des Adressenvergleichs, entweder die Durchschaltung der Information zum Zwischenspeicher
steuert oder, bei negativem Vergleichsergebnis, die Weiterleitung der ankommenden Information verhindert
und die eigenen damit bereits angefüllten Hilfsspeicher löscht und daß jede Ausgangsschaltung
Hilfsspeicher zur Aufnahme der die Ausgangsinformationen
billieenden Worte und eine Prüfvorrichtung für die Prüfung der vollständigen Wortzahl und der
Zulässigkeit der abgebenden Adresse hat und. abhängig von dem Prüferuebnis. die Durchschaltung der abzugebenden
Information an den Übertragungskanal steuert oder, bei negativem Prüfergebnis, die Weiterleitung
verhindert und die eigenen mit der nicht weiterzuleiienden
Information angefüllten Zwischenspeicher sowie den Hilfsspeicher löscht.
Diese Datenübertragungssteucrimg hat jedoch den Nachteil, daß der Zentralprozessor für die Einleitung
der Datenübertragung mitbenutzt wird, wodurch er für die eigentlichen internen Operationen blockiert wird.
Außerdem besteht ein wesentlicher Nachteil der bekannten Übertragungskanäle darin, daß sowohl für
die Prozessoroperationen als auch für die Kanaloperationen nur ein gemeinsamer Steuerspeicher. der die
Mikroprogramme für alle Operationen enthält, zur Verfügung steht.
Es wurde nun gefunden, daß die Kanalmikroprogranime relativ kurz, sind, d. h., sie bestehen zum größten Teil
aus sechs Mikroinstruktionen. zu deren Durchführung jedesmal die Prozessoroperationen unterbrochen weiden müssen.
Der Erfindung liegt deshalb die Aufgabe zugrunde, einen Eingabe-/Ausgabekanal für Datenverarbeitungsanlagen
zu schaffen, der mit einem Minimum an Steuerspeicheraufwand unabhängig vom Prozessor
seine Mikroprogrammoperationen durchführt und ein überlapptes Arbeilen von Ein- und Ausgabegeräten und
Prozessoren, die mit diesem Kanal verbunden sind, ermöglicht.
Die erfindungsgemäßc Lösung besteht im Kennzeichendes
Patentanspruchs 1.
Der Vorteil für die mit dem Kanal verbundenen Anschlußeinheiten besteht vor allem darin, daß sie
gleichzeitig und unabhängig voneinander arbeiten können, den Kanal entlasten und sowohl die Prozessoren
als auch die Eingabc-ZAusgabeemheiten völlig von
langwierigen Anpassungsoperationen und Synchronisieren freistellen.
Dies wird insbesondere technisch
vorteilhaft bei Verwendung von Assoziativspeichern erreicht.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher
beschrieben.
Es zeigt
Fig.
I ein Blockdiagramm einer digitalen Datenvcr-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB3127870 | 1970-06-27 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2130299A1 DE2130299A1 (de) | 1972-01-05 |
DE2130299B2 true DE2130299B2 (de) | 1975-10-23 |
DE2130299C3 DE2130299C3 (de) | 1978-09-21 |
Family
ID=10320731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19712130299 Expired DE2130299C3 (de) | 1970-06-27 | 1971-06-18 | Eingabe-/Ausgabekanal für eine Datenverarbeitungsanlage |
Country Status (10)
Country | Link |
---|---|
JP (1) | JPS5118296B1 (de) |
BE (1) | BE766468A (de) |
CA (1) | CA935935A (de) |
CH (1) | CH526166A (de) |
DE (1) | DE2130299C3 (de) |
ES (1) | ES392443A1 (de) |
FR (1) | FR2095551A5 (de) |
GB (1) | GB1264096A (de) |
NL (1) | NL7108868A (de) |
SE (1) | SE360759B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2606295A1 (de) * | 1976-02-17 | 1977-08-25 | Siemens Ag | Verfahren zum ausfuehren einer datenuebertragung zwischen peripheren einheiten und einem arbeitsspeicher ueber einen multiplexkanal |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2061577B (en) * | 1977-08-04 | 1982-10-20 | Honeywell Inf Systems | Data transfer control in a peripheral controller |
DE2845218C2 (de) * | 1978-10-17 | 1986-03-27 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen |
EP0021489A1 (de) * | 1979-06-08 | 1981-01-07 | Koninklijke Philips Electronics N.V. | Ein-/Ausgabekanal für ein schnelles Datenverarbeitungssystem |
CA1162314A (en) * | 1979-12-07 | 1984-02-14 | Hideo Ota | Data input/output method and system |
AU555632B2 (en) * | 1982-03-12 | 1986-10-02 | Honeywell Information Systems Incorp. | Multiplexing central to peripheral control signals |
US4523310A (en) * | 1983-01-28 | 1985-06-11 | Gould Computer Systems Inc. | Synchronous communications multiplexer |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US7904605B2 (en) | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US8176222B2 (en) | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8214562B2 (en) | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US7840717B2 (en) * | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US7904606B2 (en) | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
RU2445673C1 (ru) * | 2010-11-17 | 2012-03-20 | Леонид Павлович Коршунов | Устройство управления выводом данных |
RU2445675C1 (ru) * | 2010-11-17 | 2012-03-20 | Леонид Павлович Коршунов | Система управления выводом данных |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
RU2522025C1 (ru) * | 2012-12-06 | 2014-07-10 | Тимофей Леонидович Коршунов | Система управления выводом данных |
RU2551807C2 (ru) * | 2012-12-18 | 2015-05-27 | Леонид Павлович Коршунов | Устройство управления выводом данных |
US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
-
1970
- 1970-06-27 GB GB1264096D patent/GB1264096A/en not_active Expired
-
1971
- 1971-04-29 FR FR7116466A patent/FR2095551A5/fr not_active Expired
- 1971-04-29 BE BE766468A patent/BE766468A/xx not_active IP Right Cessation
- 1971-06-02 JP JP3790571A patent/JPS5118296B1/ja active Pending
- 1971-06-17 CA CA115870A patent/CA935935A/en not_active Expired
- 1971-06-18 DE DE19712130299 patent/DE2130299C3/de not_active Expired
- 1971-06-18 SE SE795071A patent/SE360759B/xx unknown
- 1971-06-19 ES ES392443A patent/ES392443A1/es not_active Expired
- 1971-06-21 CH CH900971A patent/CH526166A/de not_active IP Right Cessation
- 1971-06-25 NL NL7108868A patent/NL7108868A/xx unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2606295A1 (de) * | 1976-02-17 | 1977-08-25 | Siemens Ag | Verfahren zum ausfuehren einer datenuebertragung zwischen peripheren einheiten und einem arbeitsspeicher ueber einen multiplexkanal |
Also Published As
Publication number | Publication date |
---|---|
SE360759B (de) | 1973-10-01 |
FR2095551A5 (de) | 1972-02-11 |
DE2130299A1 (de) | 1972-01-05 |
JPS5118296B1 (de) | 1976-06-09 |
ES392443A1 (es) | 1973-10-01 |
GB1264096A (de) | 1972-02-16 |
CH526166A (de) | 1972-07-31 |
NL7108868A (de) | 1971-12-29 |
DE2130299C3 (de) | 1978-09-21 |
BE766468A (fr) | 1971-09-16 |
CA935935A (en) | 1973-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE2350225C2 (de) | ||
DE2457312C3 (de) | Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2717702C2 (de) | Speicher-Zugriff-Steuersystem | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
CH620779A5 (de) | ||
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE2457612B2 (de) | Mikroprogrammier-Steuereinrichtung | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE1197650B (de) | Parallel-Addierer | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE1909477A1 (de) | Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem | |
DE2935101C2 (de) | ||
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE1956460C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE1277598C2 (de) | Datenverarbeitungsanlage | |
DE2610428A1 (de) | Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher | |
DE1549434A1 (de) | Datenverarbeitungsanlage | |
DE2000608C3 (de) | Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage | |
DE2217565A1 (de) | Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet | |
DE1069910B (de) | Kommandowerk mit Indexregister |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |