DE2317870C2 - Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage - Google Patents

Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage

Info

Publication number
DE2317870C2
DE2317870C2 DE2317870A DE2317870A DE2317870C2 DE 2317870 C2 DE2317870 C2 DE 2317870C2 DE 2317870 A DE2317870 A DE 2317870A DE 2317870 A DE2317870 A DE 2317870A DE 2317870 C2 DE2317870 C2 DE 2317870C2
Authority
DE
Germany
Prior art keywords
register
state
control
address
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.)
Expired
Application number
DE2317870A
Other languages
English (en)
Other versions
DE2317870A1 (de
Inventor
William Francis Keenan
John Arthur Goleta Calif. Macker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE2317870A1 publication Critical patent/DE2317870A1/de
Application granted granted Critical
Publication of DE2317870C2 publication Critical patent/DE2317870C2/de
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Description

a) in einer Kanalaustauschsteuerung (16) zur Steuerung des Zugriffs des Prozessoren (10,12) und der E/A-Steuereinheiten (28, 34, 36) zum Hauptspeicher (18), wobei der Hauptspeicher E/A-Deskriptoren (Fig.2 und 3} enthält, von denen jeweils mehrere eit.er E/A-Steuereinheit zugeordnet sind und die jeweils ein Operationscodefeld, ein Anfangsadressenfeld für einen Pufferbereich im Hauptspeicher, ein Ergebniszustandsfeld und ein auf einen anderen E/A-Deskriptor verweisendes Verbindungsadressenfeld aufweisen, ist ein Abfertigungsregister (132, F i g. 8) enthalten, in das durch einen der Prozessoren zur Einleitung einer Datenübertragung Steuersignale und Adressensignale geladen werden;
b) in der E/A-Steuereinheit (28,34, 36), mit deren zugehörigem E/A-Gerät eine Datenübertragung stattfinden soll, wird mittels eines Modusregisters (232, F i g. 9) und eines in einer Steuerschaltung (238) enthaltenen Folgezählers für Steuerzustände (240, F i g. 10) das Ergebniszustandsfeld des der E/A-Steuereinheit zugeordneten Deskriptors aus dem Hauptspeicher über ein E/A-Register (192) in den Zwischenspeicher (196) geladen;
c) ferner werden in der E/A-Steuereinheit mittels des Folgezählers (240) und eines Mikrosteuerzählers (242) der Steuerschaltung (238) das Operationscodefeld und das Anfangsadressenfeld des zugeordneten Deskriptors aus dem Hauptspeicher in den Zwischenspeicher (196) geladen, sofern das im Ergebniszustandsfeld enthaltene Operationsvollständigkeitsbit nicht gesetzt ist;
d) ferner wird in der E/A-Steuereinheit mittels der. Steuer-Flip-Flops (244, 246, 248, 254, 256) der Steuerschaltung (238) unabhängig vom Inhalt des vorliegenden Operationscodefeldes eine Datenübertragungsoperation, beginnend mit der im Anfangsadressenfeld vorliegenden Adresse, eingeleitet;
e) ferner wird in der E/A-Steuereinheit in einem Ergebniszustandsregister (262) für das Ergebniszustandsfeld das Operationsvollständigkeitsbit bei Beendigung der Datenübertragungsoperation gesetzt;
f) ferner wird in der E/A-Steuereinheit nach Beendigung der Datenübertragungsoperation das Verbindungsadressenfeld des zugeordneten Deskriptors aus dem Hauptspeicher mittels des Mikrosteuerzählers (242) des Modusregisters (232) und des E/A-Registers (192) in den Zwischenspeicher (1%) geladen;
g) schließlich wird in der E/A-Steuereinheit das Ergebniszustandsfeld desjenigen E/A-Deskrip-
tors, auf den das Verbindungsadressenfeld hinweist, mittels des Modusregisters (232) und der Steuerschaltung (238) aus dem Hauptspeicher in den Zwischenspeicher (196) geladen.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß in der E/A-Steuereinheit mittels des Folgezählers (240) bei gesetztem Operationsvollständigkeitsbit das Ergebniszustandsfeld des zugeordneten Deskirptors aus dem Hauptspeicher in durch eine Verzögerungsschaltung (257) erzeugten Zeitintervallen wiederholt so lange ausgelesen wird, bis das Operationsvollständigkeitsbit im Hauptspeicher nicht mehr gesetzt ist.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß mittels des Modusregisters (232), des E/A-Registers (192), des Ergebniszustandsregisters (262) und der Steuer-Flip-Flops (244, 246) in Abhängigkeit von dem Operationsvollständigkeitsbit das Ergebniszustandsfeld des Deskriptors aus dem Hauptspeicher in das E/A-Register (192) einlesbar ist, und in denselben Deskriptor-Platz im Hauptspeicher ein neues Ergebniszustandsfeld einschreibbar ist, in welchem das Operationsvollständigkeitsbit gesetzt ist
4. Schaltungsanordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Lrgebniszustandsfeld ein Unterbrechungs-Anforderungsbit umfaßt, und daß das Modusregister (232) mit den Steuer-Flip-Flops (244, 246) bei gesetztem Unterbrechungs-Anforderungsbit dem Prozessor anzeigt, daß die Datenübertragungsoperation vollendet ist.
Die Erfindung betrifft eine Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage, die außerdem mindestens einen Prozessor und mehrere, jeweils einen Zwischenspeicher enthaltende E/A-Steuereinheiten, an die E/A-Geräte angeschlossen sind, enthält.
Digitale Rechner umfassen gewöhnlich einen oder mehrere Prozessoren, einen Hauptspeicher und mehrere periphere Geräte, die häufig als Ein/Ausgabe- oder E/A-Einheiten bezeichnet werden und wozu Kartenleser, Magnetbandeinheiten, Drucker, Plattenspeicher und ähnliche Einrichtungen gehören können. Die Arbeit der peripheren Geräte wird von unabhängigen Steuereinheiten gesteuert, wodurch der Prozessor für die Verarbeitung von aktiven Daten frei ist, die bereits im Hauptspeicher sind.
Bei Verwendung getrennter Ein/Ausgabe-Steuerungen ist es bekanntlich möglich, in demselben Programm gleichzeitig Verarbeitungs- und E/A-Operationen auszuführen sowie die gleichzeitigen Operationen zu koordinieren und zu synchronisieren. Zu diesem Zweck muß das Programm, das mit einem der Prozessoren arbeiten muß, sämtliche E/A-Operationen in Gang setzen und muß ferner feststellen können, wann die E/A-Operationen abgeschlossen sind. Wenn z. B. ein Programm einen Datenvorrat zum Laden in den
*>5 Hauptspeicher abruft, muß das Programm bestimmen können, wann diese Operation beendet ist, bevor das Programm die Daten benutzen kann. Eine E/A-Operation wird von dem Programm durch einen Einleitungs-
Befehl in Gang gesetzt, der eine Adresse liefert, die auf einen im Hauptspeicher gespeicherten E/A-Deskriptor hinweist Der Deskriptor bezeichnet das E/A-Gerät, die Art der Operation, z. B. Lesen oder Schreiben, und das bei der E/A-Operation zu verwendende Speicherfeld. Dieser Deskriptor wird zu der E/A-Steuereinheit übertragen, um die Datenübertragung zwischen dem E/A-Gerät und dem Hauptspeicher zu steuern.
Wenn die E/A-Operation ausgeführt ist, wird eine Art Abschluß-Anweisung, bezeichnet als Ergebnis-Deskriptor, von der Steuereinheit zu einem dem Programm bekannten Platz im Hauptspeicher übertragen. In der Regel umfaßt der Ergebnis-Deskriptor Information, welche das periphere Gerät kennzeichnet, sowie Information über das Ergebnis der E/A-Operation; z. B., ob Ausnahme-Bedingungen auftraten, ob Fehler-Bedingungen auftraten oder ob irgendwelche anderen, das .besondere periphere Gerät kennzeichnende Bedingungen auftraten.
Wenn eine E/A-Operation von einem Programm erst in Gang gesetzt worden ist, muß das Programm feststellen können, wann die E/A-Operation abgeschlossen ist. Eine dafür verwendete Programmtechnik besteht in der periodischen Abfragung der Ergebnis-Deskriptoren um festzustellen, ob besondere E/A-Operationen abgeschlossen wurden. Es ist jedoch viel bequemer, wenn die E/A-Steuerung anzeigt, wann die Operation beendet ist Dafür ist es gewöhnlich nötig, jedwede gerade laufende Operation des Prozessors zu unterbrechen und den Prozessor zu zwingen, den Ergebnis-Prozessor zu prüfen und geeignete Funktionen einzuleiten. Dieser Vorgang ist als »Unterbrechung« bekannt
Wenn eine Unterbrechung auftritt, muß der Prozessor das gerade in der Ausführung befindliche Programm anhalten, den Inhalt einer Anzahl von Registern und Steuer-Flip-Flops speichern, so daß eine Rückkehr zu derselben Stelle in dem gerade ausgeführten Programm möglich ist und schließlich muß der Prozessor die Operation auf ein Programm übertragen, das für die Behandlung der Unterbrechungs-Bedingung bestimmt ist. Das Programm für die Behandlung von Unterbrechungs-Bedingungen, als Haupt-Steuer-Programm oder MCP bezeichnet, muß die laufenden E/A-Operationen aufzeichnen und die Unterbrechung der E/A-Operation zuordnen, welche sie bewirkt hat. Das Programmm muß die Ergebnisse analysieren um festzustellen, ob Ausnahmebedingungevi aufgetreten sind oder ob eine Fehlerbedingung gemeldet wurde, und es muß die geeignete Funktion einleiten. Es muß die Ergebnisse der so E/A-Operation für das Programm verfügbar machen, das die E/A-Operation in Gang gesetzt hat, und es muß bestimmen, ob andere E/A-Operationen auf ihre Einleitung warten und in diesem Fall die Einleitung einer anderen E/A-Operation bewirken.
Aus der Siemens-Zeitschrift, Jahrgang 44 (1970), Heft 4, Seiten 181 bis 183, ist es bekannt, zwischen der Zentraleinheit einer Datenverarbeitungsanlage und mehreren Einga:be/Ausgabe-Geräten — nachfolgend als E/A-Geräte bezeichnet — eine Multiplex-Verbindung vorzusehen, die vCn einer Datenübertragungssteuerung gesteuert wird und die E/A-Geräte in vorgegebener Reihenfolge abfragt. Die Zentraleinheit ist dabei mit der Einleitung sowie mit der Feststellung des Endes einer E/A-Operation befaßt.
Aufgabe der Erfindung ist es, die Schaltungsanordnung der eingangs genannten Art derart weiterzubilden, um den Prozessor sowie die anderen Teile der Zentraleinheit der Datenverarbeitungsanlage von der Einleitung und Überwachung der Datenübertragung zwischen den E/A-Geräten und dem Hauptspeicher freizustellen.
Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale des Anspruchs 1 gelöst
Die Vorteile der Erfindung liegen insbesondere darin, daß der Prozessor nur die für die Ausführung der Datenübertragung gewünschten Angaben an ein in der Vermittlung enthaltenes Abfertigungsregister zu übergeben braucht wonach die Übertragung automatisch abläuft Jede E/A-Operation schließt einen bestimmten Deskriptor ein, der sowohl für die Einleitung einer E/A-Operation als auch für die Speicherung einer Abschlußanweisung benutzt wird, die bei Beendigung einer E/A-Operation erzeugt wird. Der Deskriptor läßt sich programmgesteuert überall im Speicher unterbringen, er benötigt keine fest zugewiesenen Speicherplätze im Hauptspeicher. Die Abschlußanweisung enthält ferner die Adresse des Hauptspeichers, an der die zuletzt von der E/A-Operation übertragene Informationseinheit gespeichert wurde, während bei den bekannten Schaltungsanordnungen bisher entweder ein fester Speicherplatz im Hauptspeicher vorgesehen war, und eine letzte Adresse in der E/A-Steuereinheit zurückgehalten wurde, die nur durch eine gesonderte Operation abgefragt werden konnte, oder spezielle Begrenzungszeichen in der übertragenen Information gespeichert wurden, um das Ende des Datenfeldes zu bestimmen.
Bei Beendigung einer E/A-Operation kann eine Unterbrechung erzeugt werden. Eine Unterbrechung kann beliebig bis zu dem Zeitpunkt gefordert und ausgeführt werden, bis die E/A-Operation beendet ist und die Abschluß-Anweisung dem Deskriptor im Hauptspeicher zugeführt wurde. Zu diesem Zweck enthält der Deskriptor ein Unterbrechungsanforderungsbit (IR), welches von der E/A-Steuereinheit geprüft wird, wenn die E/A-Steuereinheit die Abschlußanweisung in den Deskriptor speichert. Nur wenn dieses Bit gesetzt ist, wird dem Prozessor mitgeteilt, daß ein Unterbrechungszustand ausgelöst werden soll. Gleichzeitig, und nur wenn dieses Unterbrechungsanforderungsbit gesetzt ist, leitet die E/A-Steuereinheit dem Prozessor die Adresse des Deskriptors zu und bezeichnet sich selbst als Quelle dieser Unterbrechung. Vorteilhafte Weiterbildungen der Erfindung sind durch die Merkmale der Unteransprüche gekennzeichnet.
Die Erfindung wird nachstehend anhand der Zeichnung im einzelnen erläutert. Es zeigt
Fig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage gemäß der Erfindung,
F i g. 2 eine Darstellung des Formates eines E/A-Deskriptors,
Fig.3 eine Darstellung des Formates des Ergebnis-Zustand-Feldes,
F i g. 4 ein Flußdiagramm für die Steuerung der E/A-Operationen,
Fig.5 eine Darstellung des Inhaltes des Abfertigungs-Registers,
F i g. 6 ein schematisches Blockschaltbild eines Abschnittes des Prozessors,
Fig. 7 eine Funktionstafel der Binär-Codierung für verschiedene Betriebsarten,
F i g. 8 und 8a ein schematisches Blockschaltbild mit Einzelheiten der Kanalaustauschsteuerung,
F i g. 9 und 9a ein schematisches Blockschaltbild mit
Einzelheiten einer E/A-Steuereinheit,
Fig. 10 ein schematisches Blockschaltbild der Register und Steuer-Flip-Flops in der E/A-Steuereinheit,
Fig. 11 bis 21 Flußdiagramme für das Steuerprogramm der E/A-Steuereinheit,
F i g. 22 ein Flußdiagramm, das eine Abänderung des in F i g. 4 gezeigten Flußdiagramms darstellt, und
Fig.23 ein Flußdiagramm für die Steuerung mit Abänderungen des in Fig.22 dargestellten Flußdiagramms.
F i g. 1 zeigt ein Blockschaltbild der Datenverarbeitungsanlage, in welcher ein oder mehrere Prozessoren 10 und 12 über eine Sammelleitung 14 mit einer Kanalaustauschsteuerung 16 verbunden sind, die den Zugriff zu einem Hauptspeicher 18 steuert. Die Prozessoren sind über Kanal-Adapter 20 und 22 verbunden, die eine Schnittstelle zwischen den Prozessoren und der Sammelleitung 14 bilden. Die Sammelleitung 14 besitzt mehrere Kanäle, von denen in Fig. 1 sechs dargestellt sind. Zusätzlich zu den beiden Kanal-Adaptern 20 und 22 verbinden zwei weitere Adapter 24 und 26 die Sammelleitung 14 mit der E/A-Steuereinheit 28 und einem Multiplexer 30. Die E/A-Steuereinheit 28 ist mit einem E/A-Gerät 32 verbunden, während der Multiplexer 30 mehrere Ausgangskanäle besitzen kann, von denen jeder mit einem E/A-Gerät über eine zugeordnete E/A-Steuereinheit verbunden ist. Nur zwei dieser Kanäle sind in F i g. 1 dargestellt und führen zu E/A-Steuereinheiten 34 und 36, welche die E/A-Geräte 38 und 40 steuern.
Das System ist so ausgeführt, daß die Schnittstellen zwischen den Kanal-Adaptern und den zugeordneten Einrichtungen, nämlich den Prozessoren, E/A-Steuereinheiten oder Multiplexern, identisch sind. Auf diese Weise kann in dem System jede Kombination von zugeordneten Einrichtungen bis zur Gesamtzahl der auf der Sammelleitung verfügbaren Kanäle vorgesehen werden. Jede einem Kanal zugeordnete Einrichtung — nachfolgend als Kanal-Einrichtung bezeichnet — kann einen Speicherzyklus für das Lesen, Schreiben oder Austauschen von Infprmation zwischen der Kanal-Einrichtung und dem Hauptspeicher 18 über die Kanalaustauschsteuerung 16 einleiten. Zusätzlich kann jede Kanal-Einrichtung mit anderen solchen Einrichtungen über die Kanalaustauschsteuerung 16 in Verbindung treten, indem eine Abfertigungs-Operation (»dispatch«) eingeleitet wird. Die Abfertigungs-Operation kann entweder eine Speicher-Lese- oder Speicher-Schreib-Operation im Gefolge haben. Bei einer Abfertigungs-Schreib-Operation speichert die Kanal-Einrichtung eine Adresse in den Speicher an einer vorbestimmten Stelle, z. B. die Adresse 00, und speichert Steuerinformation einschließlich der Bezeichnung des Bestimmungskanais in einem digitalen Steuerregister. Die Kanalaustauschsteuerung 16 signalisiert der bestimmten Kanal-Einrichtung in Abhängigkeit von einer Abfertigungs-Operation aus einer Kanal-Einrichtung, daß eine Abfertigungs-Operation vorliegt Die bestimmte Kanal-Einrichtung führt dann einen Speicher-Lese-Zyklus an der Stelle 00 im Hauptspeicher aus, erhält dabei die Adresse und liest zur gleichen Zeit die in dem Abfertigungssteuerregister der Kanallaustauschsteuerung 16 gespeicherte Steuerinformation, womit die Übertragung der Abfertigungsbotschaft von einer Kanal-Einrichtung zur anderen vollendet ist
Unter der Annahme, daß wie in Fig.2 mindestens eine der Kanal-Einrichtungen ein Prozessor ist und eine andere der Kanal-Einrichttungen eine E/A-Steuereinheit mit ihrem zugeordneten Gerät ist, kann diese Abfertigungs-Operation benutzt werden, um eine E/A-Operation über die E/A-Steuereinheit zur Datenübertragung zwischen dem E/A-Gerät und dem Hauptspeicher einzuleiten. Um eine E/A-Operation in Gang zu setzen, führt der Prozessor 10, der vorzugsweise ein mikroprogrammierter Prozessor ist, einen Abfertigungs-Schreib-Mikrobefehl aus. Der Abfertigungs-Schreib-Mikrobefehl bewirkt die Übertragung
ίο einer Adresse von dem Prozessor und die Speicherung dieser Adresse an dem Platz 00 in dem Hauptspeicher. Gleichzeitig überträgt der Prozessor in das Abfertigungs-Steuerregister in der Kanalaustauschsteuerung 16 Information, welche den Bestimmungskanal für eine Abfertigung bezeichnet und, wenn die Kanal-Einrichtung ein Multiplexer ist, die Nummer des Multiplexer-Kanals angibt, der zu der besonderen E/A-Steuereinheit führt, die bei der eingeleiteten E/A-Operation verwendet wird.
Die in dem Speicherplatz 00 von dem Prozessor gespeicherte Adresse weist auf einen E/A-Deskriptor hin, der in dem Hauptspeicher 18 gespeichert ist. Das Format des Deskriptors ist in Fig.2 dargestellt. Der Deskriptor enthält mindestens sechs getrennt adressierbare Felder. Das erste Feld dient zur Speicherung der letzten Adressenstelle im Speicher bei der Vollendung der E/A-Operation. Anfänglich wäre dieses Feld Null und wird vor Vollendung der Ausführung der E/A-Operation, die der Deskriptor angibt, gesetzt Das zweite Feld im dem Deskriptor ist das Ergebniszustandsfeld. Darauf folgt das Verbindungs-Adressenfeld, das eine Verbindungsadresse enthält, die auf das Ergebniszustandsfeld des nächsten E/A-Deskriptors in der verbundenen Kette von E/A-Deskriptoren hinweist Das nächste Feld ist das Operationscode-Feld, das die auszuführende E/A-Operation angibt etwa das Einlesen von Information von dem E/A-Gerät in den Hauptspeicher oder das Schreiben von Information in das E/A-Gerät aus dem Hauptspeicher. Die verbleibenden beiden Felder bestimmen die Anfangsadresse und die Endadresse des Bereiches in dem Hauptspeicher, der für die Benutzung bei der Ausführung der von dem Deskriptor angegebenen E/A-Operation reserviert ist Der Inhalt des Ergebniszustandsfeldes ist in Fig.3 dargesellt Der Inhalt des Ergebniszustandsfeldes ändert sich, da es sowohl für die Speicherung der Ergebnis-Zustands-Information bei der Vollendung der E/A-Operation als auch zur Speicherung der Steuerinformation vor der Vollendung der Operation dient Das höchstwertige Bit in dem Ergebniszustandsfeld wird als Operationsvollständigkeitsbit OC-Bit, bezeichnet Dieses Bit ist anfänglich 0 und wird von der E/A-Steuereinheit dann auf 1 gestellt, wenn sie das übrige Ergebniszustandsfeld zur Anzeige für das Ergebnis der Operation setzt Während das OC-Bit anfangs gleich 0 is.% umfaßt das Ergebniszustandsfeld ein Unterbrechungsanforderungsbit, /Ä-Bit, das dazu dient, der E/A-Steuereinheit anzuzeigen, ob eine Unterbrechung von dem Prozessor gefordert wird oder nicht Das Ergebniszustandsfeld umfaßt die Nummer des Kanals, zu dem die Unterbrechung zu schicken ist, bezeichnet als »Zu Kanal Nummer«-SignaL Zusätzlich kann im Bedarfsfall eine Kanalnummer angegeben werden.
F i g. 4 zeigt ein Fhißdiagramm, das die Hauptschritte
es des Systems bei'der Einleitung einer E/A-Operation zeigt Bei 42 setzt der Prozessor 10, nachdem die geeigneten E/A-Deskriptoren in den Speicher geladen sind und wenn von einem gerade in der Ausführung
begriffenen Programm eine E/A-Operation benötigt wird, einen Abfertigungs-Schreib-Befehl in Tätigkeit. Der Abfertigungs-Schreib-Befehl leitet einen Speicherzyklus ein, wobei die Adresse eines in dem Speicher gespeicherten Deskriptors, bezeichnet als I'O-Adresse, in den Speicher zum Speicherplatz 00 übertragen wird. Dieser Speicherplatz ist für die Übertragung von Abfertigungs-Botschaften zwischen Kanälen reserviert. Bei der Ausführung des Abfertigungs-Schreib-Befehls überträgt der Prozessor auch Steuerinformation in ein Abfertigungsregister in der Kanalaustauschsteuerung 16, wodurch die Kanalnummer und, wenn möglich, die Leitungsnummer angegeben wird, an welche die Abfertigung gerichtet wird.
Veranlaßt durch die von dem Prozessor eingeleitete Abfertigungs-Schreib-Operation setzt die Kanalaustauschsteuerung 16 gemäß Block 44 in Fig. 4 ein Sperrbit L in dem Abfertigungsregister, ein Unterbrechungs-Bit /in dem Abfertigungsregister und ein »Von Kanal Nummer«-Signal in dem Abfertigungsregister. Das Format des Inhalts des Registers ist in Fig. 5 dargestellt. Gemäß Fig. 5 ist das höchste Bit das Sperrbit L, gefolgt von dem Unterbrechungs-Bit /. den »Von Kanal Nummer«-, »Zu Kanal Nummer«- und »Zu Leitungs Nummer«-Bits. Das Sperr-Bit hat die Funktion, sämtlichen Kanal-Einrichtungen zu signalisieren, daß eine Abfertigungs-Operation eingeleitet worden ist und daß keine andere Kanal-Einrichtung eine Abfertigungs-Operation einleiten kann, bis das Sperr-Bit zurückgestellt ist. Die Kanalaustauschsteuerung liefert in Abhängigkeit von dem Unterbrechungsbit und dem »Zu Kanal Nummer« einen Abfertigungs-Unterbrechungspegel (DIL) auf die Sammelleitung 14. wodurch der speziellen Einrichtung angezeigt wird, daß eine Abfertigungs-Operation an sie gerichtet worden ist.
Falls die Kanal-Einrichtung eine E/A-Steuereinheit ist. z. B. die E/A-Steuereinheit 28 in Fig. 1, führt dann die E/A-Steuereinheit eine Abfertigungs-Lese- und Lösch-Operation durch (siehe Block 46 in F i g. 4). Durch die Abfertigungs-Lese- und Lösch-Operation wird die HO-Adresse aus der Speicherstelle 00 in die E/A-Steuereinheit gelesen. Außerdem wird gleichzeitig das Abfertigungs-Register gelöscht, wobei das Sperrbit zurückgestellt wird, so daß von jeder der Kanal-Einrichtungen andere Abfertigungs-Operationen eingeleitet werden können.
Nach Empfang der IIO-Adresse leitet die E/A-Steuereinheit, wie in Block 48 dargestellt, einen Speicher-Lese-Zyklus bei der HO-Adresse im Hauptspeicher ein. Da die HO-Adresse auf das Ergebniszustandsfeld des Deskriptors hinweist, wird das Ergebniszustandsfeld durch die Speicher-Lese-Operation zu der E/A-Steuereinheit übertragen. Sodann wird das OC-Bit geprüft um festzustellen, ob sein Wert 0 oder 1 ist.
Wenn das OC-Bit den Wert 1 besitzt, wodurch angezeigt wird, daß der Desknptor schon ausgeführt worden ist wartet die E/A-Steuereinheit eine feste Zeitspanne und liest sodann wieder das Ergebniszustandsfeld des Deskriptors aus dem Hauptspeicher, wobei wiederum das OC-Bit geprüft wird. Das OC-Bit in dem Desknptor in dem Hauptspeicher wird von dem Programm des Systems zurückgestellt nachdem festgestellt worden ist daß der Bereich in dem Hauptspeicher, der von der Anfangs- und End-Adresse des Deskriptors festgelegt wird, für eine E/A-Operation verfügbar ist
Wenn das OC-Bit in dem Deskriptor zurückgestellt worden ist fährt die E/A-Steuereinheit 28 mit dem Lesen des OACode-Feldes. des Anfangs-Adressen-Feldes und des End-Adressen-Feldes des Deskriptors fort und speichert die Felder in der E/A-Steuereinheit. (Siehe Block 50 in F i g. 4.) Danach führt die E/A-Sleuereinheit die von dem Of-Code angegebene Operation aus, bei der es sich in einem typischen Fall um einen Befehl zur Übertragung von Daten von dem zugeordneten E/A-Gerät in den Hauptspeicher oder um die Übertragung von Daten aus dem Hauptspeicher zurück in ein E/A-Gerät handelt.(Siehe Block 50 in F i g. 4.)
Wenn die Operation vollendet ist, schreibt die E/A-Steuereinheit die letzte Adresse des Hauptspeichers, die bei der Übertragungsoperation benutzt wurde, und speichert sie im Hauptspeicher im Letzadressenfeld des Deskriptors, wie in Block 54 in Fig.4 gezeigt wird. Die E/A-Steuereinheit führt dann eine Speicher-Austauschoperation an dem Ergebniszustandsfeld des Deskriptors aus, wobei das alte Ergebniszustandsfeld. bei dem das OC-Bit den Wert Null hatte, wieder aus dem Speicher in die E/A-Steuereinheit gelesen wird, während ein neues Ergebniszustandsfeldl in das Ergebniszustandsfeld des Deskriptors im Hauptspeicher zurückgespeichert wird.
Jetzt prüft die E/A-Steuereinheit das Unterbrechungsanforderungsbit in dem alten Ergebniszustandsfeld um zu bestimmen, ob das Bit den Wert Null oder den Wert Eins besitzt. Wenn das Unterbrechungsanforderungsbit, //f-Bit, den Wert Null hat. ist keine Unterbrechung des Prozessors nötig. Die E/A-Steuereinheit fährt mit einer Speicher-Lese-Operation auf dem Verbindungs-Adressen-Feld des Deskriptors fort und erhält eine Adresse, die auf den nächsten E/A-Deskriptor in der Kette hinweist. Wie in dem Flußdiagramm in Fig.4 dargestellt ist, nimmt nach Erlangung der Verbindungsadresse die E/A-Steuereinheit die in Block 48 angezeigte Operation wieder auf, bei welcher das Ergebniszustandsfeld aus dem neuen, an dem Verbindungsadressenplatz im Hauptspeicher gespeicherten Deskriptor gelesen wird.
Wenn die in Block 56 in Fig.4 dargestellte Speicher-Austausch-Operation angibt, daß das Unterbrechungsanforderungsbit in dem alten Ergebniszustandsfeld den Wert 1 hat, was eine Unterbrechung bedeutet, oder wenn der OP-Code Stop-Befehl ist, oder wenn sich während der E/A-Operation eine Ausnahmebedingung eingestellt hat, leitet die E/A-Steuereinheit durch die Ausführung einer Schreib-Abfertigungs-Operation eine Unterbrechung ein, wie in Block 60 gezeigt ist. Die Schreib-Abfertigungs-Operation ist dieselbe wie oben in Verbindung mit der Operation des Prozessors in Block 42 beschrieben. Sie bewirkt die Speicherung der Adresse des Ergebniszustandsfeldes des Deskriptors an dem Speicherplatz 00 und sie bewirkt ferner die Speicherung des »Zu Kanal Nummer«-Signals. das aus dem Ergebniszustandsfeld abgeleitet ist, in dem Abfertigungsregister 132 der Kanalaustuaschsteuerung 16.
In Block 62 in Fig.4 arbeitet die Kanalaustauschsteuerung 16 genauso wie in Block 44, d. h„ sie setzt den Wert des Sperrbits, des Unterbrechungs-Bits und des »Von Kanal Nummer«-Signals in dem Abfertigungsregister und schickt einen Abfertigungs-Unterbrechungspegel (DIL) zu der bestimmten Kanal-Einrichtung, normalerweise zu einem Prozessor. Der Prozessor nimmt in Abhängigkeit von der Unterbrechungsbedingung eine Prüfung für die Unterbrechungs-Bedingung vor und verzweigt sich bei Block 64 in üblicher Weise zu einem Unterbrechungs-Verarbeitungs-Programm.
Falls die Schreib-Abfertigungs-Operation in Block 60
als Ergebnis einer Unterbrechungs-Anforderung eingeleitet wurde, liest dann die E/A-Steuereinheit die Verbindungsadresse für den nächsten Deskriptor aus. Wenn jedoch die Schreib-Abfertigungs-Operation das Ergebnis eines Stop-Befehls oder einer E/A-Ausnahme- <, Bedingung war, kehrt die E/A-Steuereinheit bei Block 65 in einen Ruhezustand zurück.
Als Teil der Operationsweise und des Aufbaus der Rechenanlage zeigt F i g. 6 schematisch einen Abschnitt des Prozessors einschließlich der Kanal-Schnittstelle. u> Der Prozessor ist durch Ketten von Mikro-Operatoren mikroprogrammiert, wobei die Mikro-Operatoren in sequenzieller Folge in ein M-Register 66 geholt werden. Der Inhalt des M-Registers 66 wird einer Sammelleitung 68 zur Steuerung des Programms in dem Prozessor ι r> in Abhängigkeit von dem besonderen, in dem M-Register 66 gespeicherten Mikro-Operator zugeführt. Wenn der Schreib-Abfertigungs-Mikro-Operator in dem M-Register 66 ist, dann ist ein L-Register 70 bereits durch die Mikroprogrammkette mit der 21:1 HO-Adresse geladen worden, die auf den E/A-Deskriptor im Hauptspeicher hinweist und, genauer, auf das Ergebniszustandsfeld in dem E/A-Deskriptor hinweist. Ferner ist ein T-Register 72 bereits mit der Bezeichnung einer Kanal-Nummer. Der Kanal-Adapter für die Kanalaustauschsteuerung 16 umfaßt eine Sammelleitung 74 für Adressen und Daten, die normalerweise aus 24 Leitungen besteht, bezeichnet mit C0-23L Der Kanal-Adapter umfaßt ferner eine Sammelleitung 76, die beispielsweise aus sechs Leitungen mit der Bezeichnung C24-29L besteht. Diese Leitungen dienen zur Übertragung von Information für die Angabe von Kanal zwischen der Kanal-Einrichtung und der Kanalaustauschsteuerung. Es sind vier Speicher-Anforderungs-Leitungen RQi-4L vorhanden, die zui Einleitung eines Speicher-Anforderungszyklus und zur Angabe der Operationsart dienen, etwa einer Speicherablesung, eines Speicher-Schreib-Vorgangs, eines Speicher-Austausch-Vorgangs, eines Abfertigungs-Schreib-Vorgangs oder eines Abfertigungs-Lese- und -Lösch-Vorgangs. Die Anforderungsleitungen führen zu der Kanalaustauschsteuerung 16 Signale aus einem Codierer 79, der mit dem Ausgang eines Modus-Registers 80 verbunden ist. Das Modus-Register 80 wird in Abhängigkeit von der Art des ausgeführten Mikro-Operators aus dem Ruhezustand in einen der Speicher-Steuer-Zustände gestellt. F i g. 7 zeig» eine Funktionswerte-Tafel für die Codierer 79 für die verschiedenen Bedingungen des Modus-Registers 80.
Unter der Annahme, daß das M-Register 66 einen Abfertigungs-Schreib-Befehl enthält, wird aas Modus-Register 80 durch den Ausgang eines Decodierers $2, der mit dem M-Register 66 über die Steuer-Sammelleitung 68 verbunden ist, in den Abfertigungs-Schreibzustand versetzt Bevor ein Abfertigungs-Schreib-Vorgang eingeleitet werden kann, muß die Kanalaustauschsteuerung 16 für die Aufnahme eines neuen Abfertigungs-Vorgangs frei sein. Der DRIL-Pege\ wird über einen Inverter 84 dem Eingang einer UND-Schaltung 86 zusammen mit dem Ausgangssignal des Decodierers 82 zugeführt
Der Ausgang der UND-Schaltung 86 gelangt zu dem Modus-Register 80, um es in den Abfertigungs-Schreib-Modus zu stellen. In jedem Speicherzyklus schickt die Kanal-Einrichtung zuerst eine Speicheradresse über die Datensammelleitung 74 an die Kanalaustauschsteuerung. Die Datensammelleitung dient dann zum Empfang, Abschicken oder Austauschen von 24 Datenbits mit dem Hauptspeicher. Bei einer Abfertigungs-Schreib-Operation führt der Prozessor eine Speicher-Schreib-Operation aus, bei welcher die IIO-Adresse in dem L-Register 70 über die Datensammelleitung 74 in die Speicherstelle 00 des Hauptspeichers 18 übertragen wird. Dafür schickt nach der Einstellung des Modus-Registers 80 in den Abfertigungs-Schreib-Modus der Prozessor anfänglich die benötigte Adresse über die Datensammelleitung 74. Da bei einem Abfertigungs-Schreib-Vorgang diese Adresse 00 ist, muß der Datensammelleitung 74 keine Information zugeführt werden. Die Anforderungsleitungen RQi-^L veranlassen in weiter unten ausgeführter Weise die Kanalaustauschsteuerung 16 zur Annahme der Adresse auf der Datensammelleitung 74. Nachdem die Adresse angenommen ist, schickt die Kanalaustauschsteueriing 16 ein Verbindungs-Steuer-Signal FCCL zurück. Das Vorliegen dieses Signals gibt an, daß eine Adresse angenommen ist oder daß Schreibdaten angenommen worden sind oder daß Lesedaten in der Kanalaustauschsteuerung 16 vorhanden sind. Der FCCL-Signalpegel in dem Prozessor wird zusammen mit dem Abfertigungs-Schreib-Signalpegel vom Ausgang des Modus-Registers 80 und einer UND-Schaltung 88 zugeführt. Wenn zum ersten Mal das Signal FCCL vorliegt, was bedeutet, daß die Adresse angenommen worden ist, stellt das Ausgangssignal der UND-Schaltung ein Steuer-Flip-Flop 90 aus dem 0-Zustand in den 1-Zustand. Natürlich ändern alle Flip-Flops und Register ihren Zustand synchron mit den Taktimpulsen aus einer Taktquelle in üblicher Weise. Die Taktquelle und die Taktsteuerleitungen sind zur Vereinfachung in der Zeichnung nicht eingetragen.
Der 1-Zustand des Steuer-Flip-Flops 90 liefert einen Verbindungs-Steuer-Signal-Pegel, der vom Prozessor zurück zu der Kanalaustauschsteuerung geht. Die Bezeichnung dieses Steuersignals ist TCCL Das Vorliegen dieses Signals gibt der Kanalaustauschsteuerung an, daß Schreibdaten auf der Datensammelleitung 74 vorhanden sind oder daß Lesedaten vom Prozessor angenommen worden sind. Wenn das Steuer-Flip-Flop 90 auf 1 gestellt wird, verbindet es die Datensammelleitung 74 mit der Haupt-Datenübertragungsleitung 78 des Prozessors über ein Gatter 93. In Abhängigkeit von dem Schreib-Abfertigungs-Mikro-Befehl wird das L-Register über ein Gatter 91 mit der Sammelleitung 78 verbunden. Zur gleichen Zeit wird das T-Re^ister 72 über die Gatter 94 und % mit der Steuersammelleitung 76 verbunden. Auf diese Weise wird die IIO-Adresse in dem L-Register 70 und die angegebene Kanal-Information in dem T-Register 72 zu derselben Zeit über Gatter auf die Datensammelleitiing 74 und die Steuersamrnelleitung 75 zur Kanaiaustauschsteuerung gegeben, wenn der TCCL-Signalpegel den Wert 1 annimmt
In Abhängigkeit von dem 7CCL-Signal-Pegel an der Kanalaustauschsteuerung werden die Daten auf der Sammelleitung 74 auf dem Speicherplatz 00 und die angegebene Kanal-Information auf der Steuer-Sammelleitung 76 in dem Abfertigungsregister 132 gespeichert, wie weiter unten im einzelnen erläutert wird. Die Kanalaustauschsteuerung stellt dann den FCCL-Signal-Pegel wieder her. Eine UND-Schaltung 98 empfängt das rCCL-Signal und das FCCL-SignaL und das Ausgangssignal der UND-Schaltung 98 stellt das Steuer-Flip-Flop 90 in den Rückstell- oder 0-Zustand zurück, wodurch die Schreib-Abfertigungs-Operation durch den Prozessor vollendet wird.
In den Fig.8 und 8a ist der Aufbau und die
23 M
Arbeitsweise der Kanalaustauschsteuerung 16 im einzelnen dargestellt. Dem Hauptspeicher 18, welcher vorzugsweise ein schneller Halbleiter-Speicher ist, jedoch ein Kernspeicher oder ein anderer üblicher adressierbarer Speicher sein kann, ist ein Adressen-Register MAR 100 zugeordnet. Zusätzlich besitzt er zwei Informationsregister (MIR) 102 und 104 für die Speicherung von Information, die in den Speicher geschrieben werden soll oder die aus dem Speicher ausgelesen ist. Das Register 102 wird mit MIR- W und das Register 104 mit MIR-R bezeichnet. Der Speicher 18 besitzt zwei Steuereingänge, von denen der eine zur Einleitung einer Lese-Operation dient und als Speicher-Lese-Steuerleitung bezeichnet wird, während der andere zur Steuerung einer Speicher-Schreib-Opera- r, tion dient und als Speicher-Schreib-Steuerleitung bezeichnet wird. Der Speicher 18 liefert normalerweise 24 Informationsbits für jeden Speicherzyklus.
Die Daten- und Steuerleitungen C0-29L an jeder Kanal-Schnittstelle sind mit einer gemeinsamen Sammelleitung über Kanal-Adapter gekoppelt, von den zwei bei 20 und 22 in F i g. 8 gezeigt sind. Jeder Kanal-Adapter umfaßt Leitungstreiber, von denen einige zur geeigneten Zeit ein· und ausgeschaltet werden können, wie weiter unten dargelegt wird. Auf diese Weise 2> werden die Daten auf den Steuerleitungen G-29L durch einen Treiberverstärker 106 aufgenommen, wenn der Verstärker aufgrund eines Empfangssignals RE-\ eingeschaltet ist. Ausgangssignale auf den Leitungen Co -29L werden von dem Treiberverstärker 108 geliefert, jo der in Abhängigkeit von einem Bestimmungssignal DE-I eingeschaltet wird. Die Co-29/.-Leitungen von jedem der Kanal-Adapter sind mit einer gemeinsamen Sammelleitung von 30 Leitungen C„„B verbunden.
Die Anforderungsleitungen /?(?i-3L von der Kanal- » Einrichtung sind in jedem Kanal-Adapter über Treiber 110 mit einer Sammelleitung von drei Leitungen RQ\-zB verbunden. Die Treiber 110 werden ebenfalls durch die RE-Steuerleitung zu jedem Adapter eingeschaltet.
Die /?<?4/--Leitung zu jedem Kanal-Adapter ist über einen Treiber 112 mit einem Eingang einer Vorrang-Bestimmungsschallung 114 verbunden, die den Vorrang zwischen den Ä^L-Leitun^en von jeder der Kanal-Einrichtungen bestimmt. Die Vorrang-Bestimmungsschaltung ist nur beim Vorliegen eines />FF-Signalpegels eingeschaltet, der anzeigt, daß der Kanal-Austausch für die Einleitung eines Speicherzyklus frei ist. Dieser Pegel wird von einem Steuer-Flip-Flop 115 PEFgeliefert, das normalerweise auf 1 gestellt ist, aber auf 0 zurückgestellt wird, wenn ein Speicherzyklus eingeleitet ist, und wieder auf 1 gestellt wird, wenn der Speicherzyklus voüende! ist. Wenn eine Kanal-Einrichtung einen Speicherzyklus einleiten möchte, steht ein Signal auf der RQa /.-Leitung. Mehr als eine Kanal-Einrichtung kann zur selben Zeit einen Speicherzyklus anfordern. Die Vorrang-Bestimmungsschaltung 114 bestimmt, welcher Kanal die höchste Priorität hat, wenn gleichzeitige Anforderungen auftreten, und liefert ein Ausgangssignal auf eine von π Ausgangsleitungen, von denen je eine zu jeder Kanal-Einrichtung gehört Jede dieser Ausgangsleitungen wird über eine ODER-Schaltung 116 einem Gatter 117 zugeführt, dessen Ausgangsleitung mit der Bezeichnung SMCB signalisiert, wenn ein Speicherzyklus beginnen solL Das Ausgangssignal der Vorrang-Bestimmungsschaltung 114 wird ferner dem Codierer 134 zugeleitet, um eine binäre Anzeige der Kanal-Nummer zu schaffen, der Vorrang eingeräumt worden ist. Diese
40 Anzeige wird in einem Pv4E/?-Regisler !31 über ein Gatter 133 in Abhängigkeit von dem Ausgang einer UND-Schaltung 122" gespeichert.
Die Steuerung der Kanalaustauschsteuerung 16 bei der Ausführung eines Speicherzyklus wird durch einen Folgezähler 118 bewirkt, dessen vier Zustände mit 5C=O oder Ruhezustand, 5C=I oder Lese-Zustand, 5C= 2 oder Schreib-Zustand und 5C= 3 oder Austausch-Zustand bezeichnet werden. Normallerweise, wenn kein Speicherzyklus ausgeführt wird, befindet sich der Folgezähler 118 im Ruhezustand. Während des Ruhezustandes werden die Ausgangsleitungen der Vorgangsbestimmungsschaltung 114 einem Gatter 120 zugeführt, dessen Ausgangssignal auf die Empfangs-L.eitungen RE-\ bis RE-n zu den einzelnen Kanal-Adaptern geht. Angenommen, daß Vorrang einer Anforderung von dem Prozessor, der mit dem Kanal Nr. 1 verbunden ist, gewährt wurde, steht ein Signal auf der Leitung REA, so daß die Treiber 106 und 110 eingeschaltet werden. Die Treiber lassen während des SC= O-Zustandes Adresseninformation von der Kanal-Einrichtung durch. Diese Adresseninformation auf den Leitungen Co_23ß wird in dem MAR-Register 100 über das Gatter 120 gespeichert. Das Galter 120 wird von dem Ausgang einer UND-Schaltung 122 gesteuert, die darauf anspricht, daß der 5C=0-Zustand vorliegt und daß der 5MCß-Pegel vorhanden ist. Sie spricht ferner darauf an, daß ein Steuer-Flip-clop 124 mit der Bezeichnung FCCFsich im Rücksteil- oder Nullzustand befindet. Das Steuer-Flip-Flop 124 leitet den FCCL-Pegel zu jedem der Leitungs-Adapter, wo er über einen Treiber 126 den zugeordneten Kanal-Einrichtungen zugeführt wird. Wie oben festgestellt, zeigt das FCCL-Signal der Kanal-Einrichtung an, daß eine Adresse angenommen worden ist oder daß Schreibda.ten angenommen worden sind oder daß Lesedaten vorliegen. Das Steuer-Flip-Flop 124 befindet sich anfänglich im Rückstellzustand. in welchem kein FCCL-Pegel vorhanden ist.
Die Anforderungsleitungen RQ]-^B von der Kanal-Einrichtung führen kodierte Signale, welche den Operationsmodus anzeigen. Die RQ]B- und RQ2BA eitungen gehen zu einem Decodierer 128, der gemäß der Funktionstafel in F i g. 7 einen Lese-, einen Schreiboder einen Austausch-Pegel einstellt. Wenn die /?(>)ß-Leitung ein Signal führt, liefert sie einen Abfertigungs- Pegel.
Zur gleichen Zeit wird die Adresse über das Tor 120 in das M4/?-Register 100 geleitet, das FCCF-Flip-Flop 124 wird durch das Ausgangssignal einer UND-Schaltung 122' eingeschaltet, die auch darauf anspricht, daß der 5C=O-Zustand vorhanden ist, daß das FCCF-Flip-Flop 124 sich, !in Nü!!-Zus!2nd befindet und daß der SMCB-Pege\ vorliegt. Während in der Zeichnung zur Übersichtlichkeit drei UND-Schaltungen 122, 122' und 122" dargestellt sind, soll dasselbe Bezugszeichen andeuten, daß das Ausgangssignal nur einer einzigen UND-Schaltung zur Steuerung der verschiedenen Funktionen benutzt werden könnte. Wenn das FCCF-Flip-Flop 124 auf 1 gestellt ist liegt der FCCL-Pegel für die Kanal-Einrichtung vor und geht vom Ausgang des eingeschalteter. Treibers 126 in den ausgewählten Adapter 20, wodurch der Kanal-Einrichtung, die mit dem Kanal Nr. 1 verbunden ist angezeigt wird, daß die Adresse angenommen worden ist
Wenn der FCCF-Pegel auf 1 gestellt ist leitet die UND-Schaltung 138 (Fig.8a) beim Vorliegen des 5C-0-Signals und des FCCF-Signals einen Speicherlesezyklus in dem Speicher 18 ein und veranlaßt daß das
Wort an der vom Inhalt des MAÄ-Registers 100 angegebenen Stelle aus dem Speicher in das MlR-R-Register 104 übertragen wird. Zur gleichen Zeit wird der Folgezäliler 118 in Abhängigkeit von dem Ausgangssignal des Dekodierers 128 in einen seiner drei weiteren Zustände vorgestellt. Eine UND-Schaltung 140 stellt den Folgezähler in den FC= 1-Zustand, wenn der Decodierer anzeigt, daß ein Lese-Modus von der Kanal-Einrichtung angerufen worden ist, wie von dem Ausgangssignal des Dekodierers 128 bestimmt wird. Die UND-Schaltung 140 empfängt auch den 5C=O-Zustand und das Vorhandensein des FCCF-Pegels, geliefert von dem Ausgang der UND-Schaltung 138'. Zur gleichen Zeit werden der SC= 0-Zustand und der FCF-Zustand einer UND-Schaltung 138" (Fig. 8a) zugeführt, um das FCCF-Flip-Flop 124 in den Null-Zustand zurückzustellen, wodurch der FCCL-Pegel für die Kanal-Einrichtung abgeschaltet wird.
Wenn der Folgezähler 118 in den SC= !-Zustand weitergeht, wird Information aus dem M//?-/?-Register 104 auf der Co-23i-Leitung zu der Kanal-Einrichtung verfügbar. Dies geschieht durch erneutes Einschalten des FCCF-Steuer-Flip-Flops 124 während des FC=I-Zustandes. Wenn das FCCF-Steuer-Flip-Flop gestellt ist. bewirkt es die Lieferung des Inhaltes des M//?-/?-Registers 104 auf die Datensammelleitung durch ein Tor 142 in Abhängigkeit von dem Ausgang einer UND-Schaltung 144, die leitend ist, wenn der SC= 1-Zustand des Folgezählers 118 vorliegt und wenn das FCCF-Flip-Flop 124 auf 1 gestellt ist. Ebenfalls während des SC= 1-Zustandes wird der Treiber 108 in dem Kanal-Adapter 20 von einem DF-I-Pegel von dem Gatter 146 vom Ausgang des PAER-Registers 131 über einen Dekodierer 156 eingeschaltet.
Die FFl-Leitung am Ausgang des Dekodierers 156 wird ebenfalls dem Treiber-Verstärker 126 zugeführt, wodurch der FCCL-Pegel zu der Kanal-Einrichtung übertragen werden kann. Als Ergebnis wird der Kanal-Einrichtung signalisiert, daß auf der Co^o^-Sammelleitung Information vorhanden ist. die Kanal-Einrichtung schickt, wie oben in Verbindung mit F i g. 6 beschrieben, einen TCCL-Pegel zurück, wenn die Daten angenommen worden sind. Dieser Pegel dient zum Zurückstellen des FCCF-Flip-Flops 124 auf Null durch den Ausgang einer UND-Schaltung 150, die leitend wird, wenn der SC= 1-Zustand vorliegt, der TCCL-Pegel vorhanden ist und der FCCF-Pegel vorliegt. Das Ausgangssignal der UND-Schaltung 150 dient zum Zurückstellen des Folgezählers 118 in den SC=O-Zustand, wodurch die Speicherleseoperation vollendet wird.
Bei einer Speicher-Schreib-Operation wird der Folgezähler durch den Ausgang einer UND-Schaltung 152 aus dem SC=O-Zustand in den SC= 2-Zustand gestellt. Die UND-Schaltung 152 wird leitend, wenn eine Schreib-Operation angefordert ist und wenn das Ausgangssignal der UND-Schaltung 138' vorliegt. Während des SC= ■ 2-Zustandes wird das FCCF-Flip-Flop 124 durch den Ausgang einer UND-Schaltung 154 eingeschaltet, wenn der TCCL-Pegel von der Kanal-Einrichtung kommt, wodurch angezeigt wird, daß Daten auf den Ctö-z^-Leitungen von der Kanal-Einrichtung vorhanden sind. Die Empfangstreiber in den Kanal-Adaptern werden durch Zuführung des geeigneten Pegels vom Ausgang des Dekodierers 156 durch ein Tor 157 während des SC= 2-Zustandes eingeschaltet, wodurch der RE-\-Steuer-Pegel dem Treiber-Verstärker 106 zugeführt wird. Sobald der PCCL-Pegel vorliegt, wodurch angezeigt wird, daß Daten vorliegen werden die Daten auf den Leitungen C0-23B durch ein Tor 160 in Abhängigkeit von dem Ausgang einei UND-Schaltung 154' in das MIR-W-Register 102 geleitet Ein Speicher-Schreibzyklus des Speichers 18 wird dann durch das Ausgangssignal einer UND-Schaltung 164 während des SC= 2-Zustandes eingeleitet wenn sowohl der CCL-Pegel vorliegt und auch das FCCF-Flip-Flop 124 gesetzt ist Eine UND-Schaltung
164' setzt zur gleichen Zeit das FCCF-Flip-Flop 124 wieder auf Null und stellt den Folgezähler 118 zurück in den SC= 0-Zustand.
Die Speicheraustauschoperation wird durch den Ausgang einer UND-Schaltung 166 eingeleitet wenn
ι? der Dekodierer 128 eine Austausch-Operation signalisiert. Das stellt den Folgezähler 118 in den SC= 3-Zustand. Der SC= 3-Zustand bewirkt zuerst eine Speicher-Schreib-Operation durch Öffnung des Gatters 160 wodurch das FCCF-Flip-Flop 124 eingeschaltet wird und ein Speicher-Schreib-Vorgang in dem Speicher 1Ϊ in Gang gesetzt wird. Eine UND-Schaltung 170 setzi jedoch, anstatt den Folgezähler zurückzustellen, in Abhängigkeit von dem SC= 3-Zustand vom FCCF-Pegel und vom TCCL-Pegel und zusätzlich zur Rückstellung des FCCF- Flip- Flops 124 den Folgezähler 118 ir den SC= 1-Zusta.id. Das hat zum Ergebnis, daß auch die Speicher-Schreib-Operation eine Datenübertragung aus dem MlR-R-Register 104 zurück zu der Kanal-Einrichtung folgt, wie oben für eine Lese-Operation beschrieben wurde.
Die Schreib-Abfertigungs-Operation und die Lese- und Lösch-Abfertigungs-Operation schließen die normalen, oben beschriebenen Schreib- und Lese-Speicherzyklen ein. Die KQß-Leitung ist jedoch aktiv und zeig) eine Abfertigungs-Operation an. Angenommen, daß eine Schreib-Abfertigungs-Operation durch den mil Kanal Nr. 1 verbundenen Prozessor eingeleitet worden ist, wie in Block 42 im Flußdiagramm von F i g. 4, wird der Dekodierer 128 eine Schreib-Operation anzeigen und der Abfertigungs-Pegel wird vorliegen.
Während einer Schreib-Abfertigungs-Operation wird eine UND-Schaltung 130(Fi g. 8a) beim Vorhandensein einer Schreib-Abfertigungs-Operation leitend, und wenn der SV/Cß-Pegel von dem Gatter 117 aktiv wird setzt sie das Sperrbit in dem Abfertigungsregister 132 Das Abfertigungsregister 132 speichert, wie weiter oben erläutert, ein Sperrbit L, das durch ein DRLL-S\gna\ allen Kanal-Einrichtungen anzeigt, wenn das Abfertigungsregister gerade von einer der Kanal-Einrichtungen für eine Abfertigungs-Operation gebraucht wird Keine andere Einrichtung kann eine Abfertigungs-Operation einleiten, während das Sperrbit gesetzt ist. Das Ausgangssignal der UND-Schaltung 130 bewirkt ferner die Speicherung der Nummer der Kanal-Einrichtung welche die Abfertigungs-Operation einleitet, in dem Abfertigungsregister 132 als Signal »Von Kanal Nummer«. Dies erfolgt durch ein Tor 133, welches das Signal »Von Kanal Nummer« von dem Kodierer 134 der dieses Signal in Abhängigkeit von dem Ausgang der Vorrangsbestimmungsschaltung 114 erzeugt, in das Abfertigungsregister 132 leitet.
Zusätzlich leitet der Ausgang der UND-Schaltung 130 die Steuerleitungen C2t-i^B durch ein Tor 172, urr die »Zu Kanal Nummer«- und die Kanal-Nummer-Abschnitte des Abfertigungsregisters 132 zu setzen. Eir Abfertigungs-Unterbrechungs-Bit / wird in Abhängigkeit von dem Ausgangssignal einer UND-Schaltung 18C in dem Reigster 132 gesetzt, wobei die UND-Schaltung
180 beim Vorliegen eines Schreib-Abfertigungs-Signals und des TCCL-Pegels von der Kanal-Einrichtung leitend wird. Wenn das Bit /in dem Abfertigungsregister 132 gesetzt ist, leitet es den Abfertigungs-Unterbrechungs-Pegel DIL über eine Torschaltung zu der durch das Signal »Zu Kanal Nummer* in dem Abfertigungsregister 132 angegebenen besonderen Kanal-Einrichtung. Zu diesem Zweck wird das Signal »Zu Kanal Nummer« auf eine Dekodier-Schaltung 182 gegeben, um den Pegel auf einer Leitung entsprechend einer der Kanal-Einrichtungen durch ein Gatter 184 zu setzen, das von dem Abfertigungs-Unterbrechungs-Bit in dem Abfertigungsregister gesteuert wird. Das D/L-Signal zeigt der entsprechenden Kanal-Einrichtung an, daß ein Abfertigungs-Unterbrechungs-Pegel vorliegt. Für eine Lese- und Lösch-Abfertigungs-Operation wird die normale Lese-Operation erweitert durch Zurückstellen der L- und /-Bits in dem Abfertigungsregister 132 durch den Ausgang einer UND-Schaltung 174.
Wie oben dargelegt, führt der Prozessor, wenn er eine E/A-Operation einleiten soll, eine Schreib-Abfertigungs-Operation aus, in welcher die Adresse eines E/A-Deskriptors in einer Hauptspeicherstelle 00 gespeichert wird und im Abfertigungsregister 132 das Sperrbit und das Abfertigungs-Unterbrechungs-Bit gesetzt sowie das Signal »Von Kanal Nummer« und das Signal »Zu Kanal Nummer« die Kanalnummer gespeichert ist. Der Abfertigungs-Unterbrechungs-Pegel DIL signalisiert der angegebenen Kanal-Einrichtung, daß eine Abfertigungsbotschaft vorliegt. Falls die spezielle Kanal-Einrichtung, die den Abfertigungs-Unterbrechungs-Pegel empfängt, eine E/A-Steuereinheit ist, wie oben anhand des Flußdiagramms in F i g. 4 diskutiert wurde, antwortet die E/A-Einheit auf den Abferligungs- -Unterbrechungs-Pegel mit dem Beginn eine E/A-Operation.
Der Aufbau und die Arbeitsweise einer E/A-Steuereinheit zur Steuerung der Datenübertragung zwischen einem E/A-Gerät und dem Hauptspeicher wird mit Bezug auf die Fig. 9, 9a und 10 erläutert. Die Leitung C0-23L für die Übertragung von Daten Wörtern zwischen der Kanal-Einrichtung und dem Kanal-Adapter ist über ein Gatter 190 mit einem E/A-Register 192 verbunden. Ein Gatter 194 leitet den Inhalt des E/A-Registers 192 auf die Sammelleitung C0-23Z-
Die E/A-Steuereinheit umfaßt ferner einen Zwischenspeicher 196, der aus mindestens vier Registern AM-X bis AM-4 besteht, die zur vorübergehenden Speicherung von Adressen und als Zwischenspeicher bei der Datenübertragung zu den E/A-Geräten bei 38 dienen. Zu diesem Zweck wird das Register AM-4 in dem Zwischenspeicher 1% mit dem Eingang des E/A-Gerätes 38 über ein Gatter 198 gekoppelt und mit dem Ausgang des E/A-Gerätes über ein Gatter 200 gekoppelt. Ein Ausgangssignal aus einem der vier Register in dem Zwischenspeicher 196 kann auf die Datensammelleitung Co-iiL über die Gatter 202, 204, 206 und 208 gegeben werden.
Die Ausgangssignale von den Registern in dem Zwischenspeicher 196 können in ähnlicher Weise dem E/A-Register 192 über Gatter 210, 212, 214 und 216 zugeführt werden. Das Ausgangssiignal des E/A-Registers 192 kann jedem der vier Register in dem Zwischenspeicher 196 über Tore 218, 220, 222 und 224 zugeleitet werden. Der Inhalt des E/A-Registers 192 kann auch zu einem OP-Register 226 über ein Gatter 228 übertragen werden. Der Ausgang des OP-Registers liefert Steuersignale für die E/A-Geräte 38, die anzeigen, ob der in dem OP-Register 226 gespeicherte Operations- Befehl zum Beispiel eine Schreib-Operation, eine Lese-Operation oder eine Stop-Operation verlangt Das E/A-Register 192 kann auch dazu benutzt werden, Steuerinformationen auf die Leitungen C24 -29L zu der Kanalaustauschsteuerung über ein Gatter 230 zu schicken.
Die Anforderungs-Leitungen RQ\-aL von dem Kanal-Adapter werden durch ein Modus-Register 232 gesteuert, das sechs Zustände umfaßt; nämlich einen Warte- oder Ruhezustand, einen Speicherlesezustand, einen Schreib-, einen Austausch-Zustand, einen Lese- und Lösch-Zustand und einen Schreib-Abfertigungs-Zustand. Der Zustand des Modus-Registers 232 wird einem Kodierer 234 zugeführt, der gemäß der Funktionswertetabelle von F i g. 7 die geeigneten Pegel auf die Leitungen RQi-*L über ein Gatter 236 liefert. Eine Steuerlogik 238 nimmt die Eingangs-Steuer-Pegel FCCL, DIL und DRLL von dem Kanal-Adapter auf und nimmt ferner Steuer-Pegel von dem E/A-Gerät 38 auf und schickt in Abhängigkeit davon den Ausgangs-Steuer-Pegel TCCL zu dem Kanal-Adapter, steuert das Modus-Register 232 und steuert die verschiedenen Gatter in der E/A-Steuereinheit.
r> In F i g. 10 umfaßt die Steuerung 238 einen Folgezähler 240, der dreiundzwanzig Steuerzustände SC=OO bis SC= 22 besitzt. Jeder Steuerzustand dient zur Steuerung einer funktionalen Operation der Steuerung. Zusätzlich ist ein Mikro-Steuerzähler 242 mit acht
so Zuständen MCC=O bis MCC=I vorgeseheen. Der Mikro-Steuerzähler dient zur Unterteilung jedes ZuStandes des Folgezählers in bis zu acht Unterzustände. Zusätzlich sind eine Zahl von Steuer-Flip-Flops vorgesehen, darunter ein TCCF-Flip-Flop 244, ein
r> HOFF-Flip-Flop 246, ein FOPF-Flip-Flop 248. ein fTXF-Flip-Flop 254 und ein FßF-Flip-Flop 256.
Zum besseren Verständnis der Arbeitsweise der E/A-Steuerung wird die Steuerlogik der Steuerschaltung in den Zeichnungen in Form von Flußdiagrammen
ίο in den Fig. 11—21 dargestellt. Jede Figur zeigt mindestens einen Zustand des Folgezählers und die während aufeinanderfolgender Unterzustände des Mikro-Steuerzählers durchgeführten Schritte. Normalerweise rückt der Mikro-Steuerzähler mit jedem Taktim-
-·> puls um einen Unterzustand vor, wenn nichts anderes angegeben ist. Bei jedem Block in einem Flußdiagramm ist die Bedingung des Mikro-Steuerzählers über der linken Ecke in der Figur angegeben. Wenn nur die Bedingung des Folgezählers in der linken Ecke des
w Blocks angegeben ist, hängt die Operation von dem Zustand des Mikro-Steuerzählers ab. Der rechte Abschnitt in jedem Block des Flußdiagramms gibt die speziellen Bedingungen an, welche steuern, während die linke Hälfte des Blocks die Operationen angibt, die mit
'"' dem nächsten Taktimpuls CPstattfinden. Der Pfeil »<—« « ist der Ersetzungs-Befehl und kann beim Lesen der in dem Flußdiagramm dargestellten Steuerfunktionen mit »wird gesetzt zu« übersetzt werden. Also bedeutet »WDFF<-\«, daß das WDFF-Flip-Flop 246 in den
M) Zustand 1 gesetzt wird, wenn die angegebenen Bedingungen vorliegen. Wenn ein Gatter in die Ersetzung eingeschlossen ist, ist das Gatter links vom Block angegeben.
Wenn die E/A-Steuereinheit in einer Bereit-
h"' schaft-Bedingung ist, steht der Folgezähler anfänglich im Zustand SC=OO und der Mikro-Steuerzähler anfänglich im Zustand MCC= 0. F i g. 11 bezieht sich auf eine E/A-Steuereinheit, wenn ein von dem Kanal-Adap-
ter empfangener DIL- Pegel aktiv wird und zeigt, daß eine Abfertigungs-Unterbrechung vorliegt, woraufhin die IIO-Adresse aus dem Speicher 18 und die Steuerinformation aus dem Abfertigungsregister 132 in der Kanalausiauschsteuerung 16 durch Ausführung einer Lese- und Lösch-Operation geholt wird.
Wenn in dem Flußdiagramm in Fig. 11 mit SC=OO und MCC=O der Pegel DlL aktiv wird (SC=OO, AfCC=O, DIL), wird der Mikro-Steuerzähler 242 vom nächsten Taktimpuls auf MCC= 1 weitergestellt. Mit MCC= 1 wird das Modus-Register (MOR) 232 in den Lese- und Lösch-Zustand gesetzt, und AiCC wird auf MCC=2 weitergestellt. Bei MCC= 2 findet keine Aktion statt außer dem Vorrücken auf MCC= 3. Während des SC= 00-Zustandes des Folgezählers 240 herrscht auf den Leitungen C00-23L normalerweise ein 0-Pegel. Dies dient zur Lieferung der 00-Adrtsse zur Kana!austauschsteuerung für die Ausführung einer Speicher-Lese-Operation zum Holen der HO-Adresse aus dem Speicher. Bei anfänglicher Rückstellung des WDFF-Flip-FIops in seinen Null-Zustand (WDFF) wird der Zustand des Modus-Registers 232 kodiert und den Leitungen RQ\ -\L über das Gatter 236 zugeführt,, und das rCCF-Flip-Flop wird auf 1 gesetzt. Das 7CFF-FHp-Flop erzeugt den TCCL-Pegel für den Kanal-Adapter, wodurch das Vorhandensein der Adresse (00) auf der Leitung C00-23L angezeigt wird.
Der Mikro-Steuerzähler rückt von MCC= 3 auf MCC= 4, ohne daß während MCC= 3 ein besonderer Vorgang stattfindet. Wenn bei MCC= 4 der FCCL-Pegel aktiv wird, wodurch angezeigt wird, daß die Adresse von der Kanalaustauschsteuerung angenommen ist, kehrt das Modus-Register 232 in den Ruhezustand zurück, das IVDFF-FIip-Flop 246 wird auf 1 gestellt und MCC rückt vor auf AiCC= 5. Wenn bei AfCC= 5 der FCCCL-Pegel kativ wird, wodurch angezeigt wird, daß die IIO-Adresse nicht auf der Datensammelleitung von der Kanalaustauschsteuerung vorhanden ist, wird das WDFF-Flip-Flop 246 auf Null rückgestellt und AfCC rückt auf 6 vor. Bei MCC= 6 und Vorliegen von FCCL wird die IIO-Adresse auf den Leitungen C0-23L in dem E/A-Register 192 über das Gatter 190 gespeichert. Das TCCF-Flip-Flop 244 wird rückgestellt, AfCC wird auf Null zurückgestellt, und der Folgezähler 240 wird auf SC= 1 gestellt.
Während SC= 1 holt die Steuereinheit das Ergebniszustandsfeld des E/A-Deskriptors oder das OP-Kode-Feld, in Abhängigkeit von der Bedingung des FOPF-Steuer-Flip-Flop 248. Bei SC= 1 und AfCC=O in F i g. 12 wird die auf das Ergebniszustandsfeld weisende, in dem Hauptspeicher gespeicherte IIO-Adresse aus dem E/A-Register 192 über das Gatter 224 in das A Af-4- Register des Zwischenspeichers 1% übertragen. Wenn das FOPF-Flip-Flop sich im Null-Zustand (FOPF) befindet, wird diese Adresse ebenfalls in dem AAfARegister über das Gatter 218 gespeichert. Wenn MCCauf AfCC= 1 vorgerückt ist, wird das AfOfl-Register 232 in den Lesezustand gesetzt.
Mit SC= 1 und FCCL wird die Adresse AM 4 über ein Gatter auf Leitungen C0-23L Wenn das Steuer-Flip-Flop 246 auf Null gesetzt ist (WDFF), wird der Lese-Modus kodiert und über das Gatter 246 auf die /?Qi ^/--Leitungen zu der Kanalaustauschsteuerung für die Einleitung eines Speicher-Lesezyklus gegeben. Ferner wird das TCFF-Flip-Flop 244 auf Eins gesetzt um anzuzeigen, daß eine Adresse auf C^aL-Leitungen vorliegt.
Bei MCC=Z wird die Adresse (HO) in dem E/A-Register 192 auf die nächste Adresse (IIO+l) vergrößert, welche die Adresse des OP-Kode-Feldes des E/A-Deskriptors ist. Bei AfCC= 4 und beim Vorliegen von FCCL, womit die Annahme der Adresse durch die Kanalaustauschsteuerung angezeigt wird, wird das AföÄ-Register 232 in den Ruhezustand zurückgestellt, und die vergrößerte Adresse in dem IOR-Register 192 wird über das Gatte.· 224 in AM 4 gespeichert.
ίο Bei MCC= 6 und beim Vorliegen von FCCL, womit das Vorhandensein von Daten angezeigt wird, werden die Daten auf den Leitungen Co-hL über das Gatter 190 in das Register 192 gegeben. Wenn das FOPF-Steuer-Flip-Flop 248 auf Eins gestellt wird, wird der Folgezähler auf SC= 2 gesetzt, wenn aber das Steuer-Flip-Flop 248 auf Null gestellt ist, wird der Folgezähler auf SC-16 gestellt Da anfangs das FOPF-Steuer-Flip-Flop 248 im Null-Zustand ist, ist der nächste Steuerzustand der SC = 16-Zustand in Fig. 13.
Am Ende des SC= 1-Zustandes nach anfänglicher Ausführung mit dem FOPF-Flip-Flop in Null-Stellung ist das Ergebniszustandsfeld des E/A-Deskriptors aus dem Hauptspeicher ausgelesen und nun in dem Register 192 vorhanden. Während des SC= 16-Steuer-Zustandes des Folgezählers 240 bei Null-Stellung des Mikro-Steuerzählers 242 wird das Operationsvollständigkeitsbit OC des Ergebniszustandsfeldes, welches sich in der höchsten Bitstelle IOR-0 des /OÄ-Registers 192 befindet, geprüft, um festzustellen, ob das Bit den Wert 0 oder 1 hat, womit angezeigt wird, ob der E/A-Deskriptor nicht vollendet oder vollendet wurde. Wenn 1OR-Q = O (OC=O) ist, wird der Folgezähler auf SC= 17 gestellt. Wenn /OZJ-O=I (OC= 1) ist, was die Vollendung der E/A-Operation anzeigt, wird der Folgezähler auf SC= 20 gestellt. Gleichzeitig wird der Inhalt des AM 1-Registers des Zwischenspeichers 196 zum E/A-Register 192 über das Gatter 202 bei der Vollendung des SC= 16-Zustandes übertragen, so daß das E/A-Register 192 wieder die Adresse des Ergebniszustandsfeldes des Deskriptors im Hauptspeicher enthält.
Wenn das Operation-Vollständigkeitsbit in dem Ergebnis-Deskriptor-Feld nicht gesetzt ist (OC=O) und der Folgezähler 240 auf SC= 17 gesetzt ist, wird die Adresse (HO) in dem E/A-Register 192 um 1 vermindert (HO — 1). Dies erfolgt durch Aktivierung einer Schaltung 253 (F i g. 9), welche 1 von Inhalt des E/A-Registers 192 subtrahiert. Die verminderte Adresse weist nun auf den Platz des Endadressenfeldes, welches das erste Deskrip-
5(1 tor-Feld in dem E/A-Deskirptor in Fig. 2 ist. Der Folgezähler 240 wird dann in den SC= 18-Zustand gesetzt.
Während des SC= 18-Zustandes wird die Adresse in dem E/A-Register 192 über das Gatter 218 in das AM\-Register des Zwischenspeichers 1% übertragen und gespeichert. Der Folgezähler 240 wird in den SC= 19-Zustand weitergestellt. Während dieses Zustandes wird der "nhalt des E/A-Registers 192 um 3 durch die Aktivierung einer Schaltung 255 vergrößert, welche
b0 3 zu dem Register 192 addiert. Die vergrößerte Adresse in dem /OK-Register 192 addiert. Die vergrößerte Adresse in dem /ΟΛ-Register 192 (HO + 2) weist nun auf das Operationscodefeld des E/A-Deskriptors in dem Hauptspeicher hin, wie in Fig. 2 dargestellt ist. Zur
·" gleichen Zeit wird das FOPF-Steuer-Flip-Flop in den 1 -Zustand gesetzt, was anzeigt, daß das Operation-Vollständigkeitsbit in dem Ergebnis-Deskirptor nicht gesetzt war und daß die E/A-Operation weitergehen
kann. Der Folgezähler wird dann in den SC= 1 -Zustand zurückgestellt, der oben in Verbindung mit Fig. 12 beschrieben wurde.
Von dem SC= 16-Zustand in F i g. 13 ausgehend, wird der Folgezähler, wenn das Opertion-Vollständigkeitsbit gesetzt ist fOC=I), auf 5C= 20 gesetzt Während des SC= 20-Zustandes wird die Tätigkeit der E/A-Steuereinheit für eine vorgestimmte Zeitspanne unter Einwirkung einer Verzögerungsschaltung 257 ausgesetzt, wonach der Folgezähler auf SC= 1 zurückgestellt wird. Ersichtlich wiederholt der Folgezähler, solange das Operation-Vollständigkeitsbit auf (OC=I) in dem Ergebniszustandsfeld des E/A-Deskriptors gesetzt ist, den Zyklus durch den SC= 1 -Zustand, den SC= 16-Zustand, den SC= 20-Zustand und die Rückkehr zu dem 5C= 1 -Zustand unbegrenzt Dieser Zyklus setzt sich fort, bis das Operation-Vollständigkeitsbit in dem Ergebniszustandsfeld in dem Hauptspeicher auf Null umgesetzt wird. Dies geschieht durch dit Steuer-Software des Systems, die durch den Prozessor ausgeführt wird, immer dann, wenn der Bereich in dem Hauptspeicher, der durch den Deskriptor angegeben wird, nicht gerade von dem Prozessor benutzt wird. Wenn zum Beispiel eine E/A-Operation einen Bereich in dem Hauptspeicher von einem E/A-Gerät in weiter unten beschriebener Weise laden soll, wird das Operation-Vollständigkeitsbit in dem Ergebniszustandsfeld gesetzt. Die in dem Bereich in dem Hauptspeicher gespeicherten Daten sind dann für das vom Prozessor gerade ausgeführte Programm verfügbar. Wenn der Prozessor mit diesen Daten fertig ist, kann er über das Programm auch zu dem Ergebniszustandsfeld zugreifen, und das Operation-Vollständigkeitsbit in den Null-Zustand zurücksetzen als Anzeige, daß dieser Bereich nun wieder zur Speicherung neuer Daten von dem peripheren Gerät durch erneute Ausführung des E/A-Deskriptors benutzt werden kann. Wenn der Bereich von dem Programm mit Daten geladen worden ist, die nun zu einem peripheren Gerät übertragen werden können, wird das Ergebniszustandsfeld vom Programm so geändert, daß das Operation-Vollständigkeitsbit auf Null gesetzt und das Operationskodefeld des Deskriptors auf einen Schreibbefehl gesetzt wird, so daß die Ausführung des Deskriptors die Übertragung der Daten zu dem E/A-Gerät bewirkt. Die Art der programmatischen Steuerung des Operation-Vollständigkeitsbit in dem als Teil des Deskriptors im Speicher gespeicherten Ergebniszustandsfeldes durch einen Prozessor liegt außerhalb des Rahmens der vorliegenden Erfindung und wird deshalb hier nicht näher beschrieben.
Wenn das FOPF-Steuer-Flip-Flop 248 gesetzt ist, schreitet der Folgezähler von dem 5C=I-Zustand in den SC= 2-Zustand vor, wie oben in Verbirdung mit F i g. 12 beschrieben wurde. Der SC= 2-Zustand bewirkt gemäß Fig. 13 die Rückstellung des FOPF-Steuer-Flip-Flops 248 auf Null und bewirkt die Übertragung des Operationscode der in dem E/A-Register 192 als Ergebnis des während des SC= 1-Zustandes ausgeführten Speicher-Lesezustandes vorhanden ist, in das OP- Register 226 über das Gatter 228. Der Folgezähler geht dann in den SC= 3-Zustand weiter. In Fi g. 14 wird während des 5C= 3-Zustandes das Anfangsadressenfeld des E/A-Deskriptors aus dem Hauptspeicher in das E/A-Register 192 gelesen. Anfänglich bei MCC=O ist der Inhalt des Registers 192, das Operationscodefeld, in dem /4M1-Register des Zwischenspeichers 1% gespeichert. Dies ist zu diesem Zeitpunkt eine redundante Operation. Das Modus-Register 232 wird dann in den Lese-Zustand gesetzt, wenn MCC= 1 ist Die Adresse des Anfangsadressenfeldes in dem Deskriptor, das am Ende des 5C= 1-Zustandes in dem AM4-Register des Zwischenspeichers 196 gespeichert wurde, wird dann in das E/A-Register 192 über das Gatter 216 übertragen, wenn MCC= 2 ist Während des 5C= 3-Zustandes, wenn der FCCL-Pegel nicht vorliegt, wird das Anfangsadressenfeld in AM4 auf die Datenleitung
ίο C0-23L über das Gatter 208 gekoppelt, um die Adresse zurück zu der Kanalaustauschsteuerung zu schicken. Ebenfalls bei nicht gesetztem HWF-Steuer-Flip-Flop 246 geht der Lese-Zustand des Modus-Registers 232 zurück zu der Kanalaustauschsteuerung über die Steuer-Leitungen RQi -aL durch das Gatter 236 und das TCCF-Steuer-Flip-Flop wird auf 1 gesetzt. Demzufolge zeigt der an der Kanalaustauschsteuerung empfangene TCCL- Pegel an, daß die Adresse auf den Datenleitungen vorhanden ist und daß die /?<Pi_4Z,-Leitungen die Anforderung eines Speicher-Lesezyklus anzeigen.
Während des MCC= 3-Zustandes wird die Adresse (IIO + 3) in dem E/A-Register 192 um 1 auf (IIO + 4) vergrößert.
Während des MCC= 4-Zustandes, wenn der FCCL-Pegel aktiv wird, womit die Annahme der Adresse durch die Kanalaustauschsteuerung angezeigt wird, kehrt das Modus-Register 232 in den Ruhezustand zurück und die vergrößerte Adresse in dem /O/?-Register 192 wird in das ΛΛ/4-Register des Zwischenspeichers über das
in Gatter 224 übertragen. Während des MCC= 6-Zustandes, wenn der FCCL-Pegel aktiv wird, wird das rCCF-Steuer-Flip-Flop 244 auf Null zurückgestellt, und die Daten auf der Leitung C0-23L werden in das E/A-Register 192 über das Gatter 190 gegeben, und der Folgezähler wird ir. den SC= 4-Zustand vorgestellt. Das lOR-Register 192 enthält die Anfangsadresse des Bereiches in dem Speicher, die aus dem Anfangsadressenfeld des Deskriptors in dem Hauptspeicher gelesen wurde.
jo Gemäß Fig. 15 wird während des SC-4-Zustandes ein Speicher-Lesezyklus auf dem Endadressenfeld des in dem Hauptspeicher gespeicherten E/A-Deskriptors wiederholt. Während des Anfangsschrittes des SC= 4-Zustandes wird die während des SC= 3-Zustandes in
r, dem E/A-Register plazierte Anfangsadresse in das /\M2-Register des Zwischenspeichers 1% über das Gatter 220 übertragen. Bei MCC= 1 werden zwei Steuer-Flip-Flops, das ETXF-Flip-Flop 254 und ein £ßF-Flip-Flop 256, auf Null zurückgestellt um sicherzustellen, daß sie zu diesem Zeitpunkt gelöscht sind. Im übrigen verläuft die Operation genauso wie der in Verbindung mit Fig. 14 beschriebene SC= 3-Zustand indem die Endadresse aus dem Hauptspeicher in das E/A-Register 192 übertragen wird. Während des letzten Schrittes wird jedoch der Mikro-Steuerzähler 242 in MCC= 7-Zustand vorgestellt, anstatt auf Null zurückgesetzt zu werden. Gleichzeitig schreitet der Folgezähler 240 in den SC= 5-Zustand fort.
Gemäß F i g. 16 erfolgt beim SC= 5-Zustand des FoI-
λ gezählers eine Verzweigung zu dem in dem OP-Register gespeicherten Operationscode. Bei MCC= 7 wird die in dem E/A-Register 192 gespeicherte Endadresse über das Gatter 222 in das 4M3-Register des Zwischenrpeichers 196 übertragen. Der Mikro-Steuerzähler
r> wird dann auf MCC=O zurückgestellt. Wenn der Befehl in dem OP-Register 226 ein Lese-Vorgang ist und wenn das Abfertigungsunterbrechungssignal DIL nicht aktiv ist und die Bereitschaftsleitung des E/A-Gerätes (PRL)
aktiv ist, das E/A-Gerät also nicht belegt, sondern für die Aufnahme eines Befehls bereit ist, wird der Folgezähler 240 in den SC= 6-Zustand gesetzt. Wenn das OP-Register 226 anstatt des Lese-Befehls einen Schreib·Befehl enthält, wird der Folgezähler in den 5C=8-Zustand gesetzt. Wenn das OP-Register einen Stop-Befehl enthält oder wenn das E/A-Gerät besetzt ist (PRL), geht der Folgezähler 240 in den 5C= 10-Zustand. Wenn das Abfertigungsunterbrechungssignal DIL zu diesem Zeitpunkt aktiv ist, wird der Folgezähler 240 in den SC= O-Zustand zurückgestellt.
In Fig. 17 wird das Flußdiagramm für den Betrieb der E/A-Steuereinheit während der Datenübertragung von dem E/A-Gerät zu dem Hauptspeicher in Abhängigkeit von einem Lese-Befehl gezeigt. Bei MCC=O und bei nicht aktiver f7?L-Leitung oder bei gesetztem EBF-Steuer-Flip-Flop 256 wird der Folgezähler 240 in den SC= 10-Zustand gesetzt. Gleichzeitig wird der Mikro-Steuerzähler auf MCC-I gesetzt. Wenn das ETXF-Sleuer-Flip-Flop 254 sich im Null-Zustand befindet, findet Datenübertragung von dem E/A-Gerät über das Gatter 200 in das ,4Λ/4-Register des Zwischenspeichers 196 statt. Das /IM4-Register dient als Daten-Pufferregister bei der Übertragung von Daten von dem E/A-Gerät zu dem Hauptspeicher. Wenn das ETXF-Flip-Flop 254 in den 1-Zustand gesetzt ist, wird ein £TA"-Zeichen (Ende des Textes) in das /4M4-Register übertragen.
Wenn sich das fßF-Steuer-Flip-Fiop 256 im 0-Zustand befindet, wodurch angezeigt wird, daß das Ende des Bereiches im Hauptspeicher nicht erreicht worden ist. wird die in dem AM3-Register gespeicherte Endadresse über das Gatter 214 in das E/A-Register 192 übertragen, der Mikrosteuerzähler wird auf MCC= 1 gestellt, und der Folgezähler wird SC= 7 gestellt, so daß ein Speicher-Schreib-Zyklus für die Übertragung von Daten aus dem ,4/Vf4-Register in den Hauptspeicher eingeleitet werden kann.
Das E/A-Gerät 38 erzeugt ein Signal, wenn die letzte Datengröße aus dem E/A-Gerät übertragen ist. Dieser als ETXL bezeichnete Pegel dient dazu, das ETXF-Steuer-Flip-Flop 254 auf Eins zu stellen. Wenn der Foigezähler 240 sich im .SC= 7-Zustand und der Mikro-Steuerzähler 242 sich im MCC= 1-Zustand befindet, wird zunächst mit einem Test geprüft, ob das Ende des Bereiches in dem Hauptspeicher erreicht ist. Eine Subtraktionsschaltung 258 subtrahiert die Adresse in dem AM2-Register von der Adresse in dem E/A-Register 192 und bringt über das Gatter 260 die Differenz in das lOR-Register 192. Gleichzeitig wird das Modus-Register 232 in den Schreib-Zustand gesetzt. und der Mikrosteuerzähler 242 wird in den MCC= 2-Zustand vorgestellt.
Während des MCC= 2-Zustandes und wenn das E/A-Register 192 den Wert Eins hat. womit das Erreichen des Bereichsendes angezeigt wird, wird das fßF-Steuer-Flip-Flop 256 in den Eins-Zustand gesetzt. Gleichzeitig wird die Adresse in dem .4MC-2-Register über das Gatter 212 in das E/A-Register 192 übertragen, und der Mikro-Steuerzähler 242 wird auf AiCC= 3 vorgestellt Während des SC= 7-Zustandes wird, um die Adresse bei abgeschaltetem FCCL-Pegel zu der Kanalaustauschsteuerung zu schicken, die Adresse in dem AM2-Register über das Gatter 204 auf die Datenleitungen C0- 23L gegebea wodurch eine Adresse für die Datenübertragung an den Hauptspeicher geliefert wird
Während des MCC= 3-Zustandes wird das E/A-Register 192 um 1 vergrößert und der Mikro-Steuerzähler 242 wird auf MCC= 4 weitergestellt. Während des MCC= 4-Zustandes wird, wenn der FCCZ.-Pegel zur Anzeige der Adressenannahme aktiv wird, das Modus-Register 232 in den Ruhezustand zurückgestellt, die vergrößerte Adresse in dem IOR-Register 192 über das Gatter 220 in dem ,4M2-Register gespeichert, das IVDFF-Steiier-Flip-Flop 246 auf Eins gestellt und der Mikro-Steuerzähler 242 auf MCC= 5 vorgestellt.
Weiter werden gemäß Fig. 17 während des 5C= 7-Zustandes bei einer Schreib-Operation, sobald entweder das WDFF-Steuer-Flip-Flop 246 gesetzt ist oder der FCCL-Pegel aktiv wird, die Daten in dem /4M4-Register über das Gatter 208 auf die Datenleitungen C0-23L gegeben. Bei MCC= 5 und aktivem FCCL-Pegel, wo durch Annahme der Daten durch die Kanalaustauschsteuerung angezeigt wird, wird das TCCF-Steuer-Flip-Flop 244 in den Null-Zustand zurückgestellt, und das IVDFF-Steuer-Flip-Flop 246 wird ebenfalls auf Null zurückgestellt. Wenn sich das ETXF-Steuer-Flip-Flop 254 noch im Null-Zustand befindet, kehrt der Folgezähler 240 in den 5C=6-Zustand und der Mikro-Steuerzähler 242 in den Null-Zustand zurück. Wenn jedoch das £TA'F-Flip-Flop 254 gesetzt ist und anzeigt, daß das Ende der Botschaft erreicht worden ist, wird der Folge-Steuerzähler auf 5C=IO gestellt und der Mikro-Steuerzähler 242 auf MCC= 1 gestellt.
Gemäß dem Flußdiagramm in Fig. 18 wird bei Stellung des Folgezählers auf 10 die Endadresse der in den Hauptspeicher übertragenen Adressen in das Letztadressenfeld des E/A-Deskriptors in dem Hauptspeicher durch einen Speicher-Schreib-Zyklus geschrieben. Dafür wird bei MCC= 1 das Modus-Register 232 in den Schreibzustand gesetzt. Bei auf MCC= 2 vorgerücktem Mikro-Steuerzähler wird die Adresse in dem /4M 1-Register des Zwischenspeichers in das Register 192 gesetzt und der Mikro-Steuerzähler auf 3 vorgestellt. Die Adresse in dem AM 1-Register weist auf HO-1 hin, den Platz in dem Deskriptor, wo sich das Letztadressenfeld befindet. Während 5C= 2 und bei Abschaltung des FCCZ.-Pegels von der Kanalaustauschsteuerung werden die Daten in dem AM 1-Register den Datenleitungen Cn-nL zugeführt, um die Adresse der Kanalaustauschsteuerung zuzuleiten. Während sich das WDFF-Steuer-Flip-Flop 246 im Null-Zustand befindet, wird der Zustand des Modus-Registers 232 über das Gatter 236 auf die /?<?i_4i.-Steuerleitungen gegeben und das FCCF-FIip-Flop auf 1 gestellt. Während des MCC= 3-Zustandes wird das lOR-Register 192 um 1 vergrößert, und der Mikro-Steuerzähler wird auf 4 vorgestellt.
Wenn der FCCL-Pegel aktiv wird, wird das Modus-Register 232 in den Ruhezustand zurückgestellt, die vergrößerte Adresse in dem E/A-Register i92 wird über das Gatter 218 in das AM 1-Register übertragen, das WDFF-Steuer-Flip-Flop wird auf 1 gestellt, und der Mikro-Steuerzähler wird auf 5 vorgestellt
Bei aktivem FCCL-Pegel oder wenn sich das IVDFF-Steuer-Flip-Flop im Zustand 1 befindet, wird die letzte Adresse in dem Register AM 2 als Daten auf die Datenleitungen C0-23L über das Gatter 204 gegebea Bei MCC= 5 und bei aktiver FCCL wird das rCCF-Flip-Flop auf 0 zurückgesetzt, das IVDFF-Flip-Flop 246 wird auf 0 zurückgestellt, der Folgezähler wird in den SC= 11 -Zustand vorgestellt und der Mikro-Steuerzähler wird auf 1 zurückgestellt
Gemäß dem Flußdiagramm von Fig. 19 führt, wenn der Folgesteuerzähler sich im SC= 11-Zustand befindet die E/A-Steuereinheit eine Speicheraustauschoperation
durch, bei welcher sie die früheren Ergebniszustandsbits in dem E/A-Deskriptor vom Hauptspeicher erhält und neue Ergebniszustandsbits in dasselbe Feld des E/A-Deskriptors im Hauptspeicher schreibt. Die Ergebnis-Zustandsbedingungen setzen Bits in einem Ergebnis-Zustandsregister 262 von dem E/A-Gerät. Die Bedingungen ändern sich mit der Ai t des E/A-Gerätes, aber sie umfassen das Setzen des Operations-Vollständigkeitsbits und gegebenenfalls das Setzen von Bits, die eine Ausnahmebedingung und die Art dieser Bedingungen anzeigen, z. B. eine Nicht-Bereit-Bedingung, eine Paritäts-Fehler-Bedingung, einen Speicher-Zugriff-Fehler und andere für das E/A-Gerät typische Bedingungen, etwa Beginn oder Ende eines Magnetbandes. Die Signifikanz und die Art der Setzung der einzelnen Bits des Ergebnis-Zustands-Registers 262 besitzt für die vorliegende Erfindung keine Bedeutung, ausgenommen für das Setzen des Operation-Vollständigkeits-Bits (OC) in dem Ergebniszustandsfeld, wie oben beschrieben. Das Format des Ergebniszustandsfeldes zu Anfang mit OC=O und nach Modifizierung durch das E/A-Gerät mit OC= 1 ist in F i g. 3 gezeigt.
Die Austausch-Operation wird durch Setzen des Modus-Registers 232 in den Austauschzustand eingeleitet und in dem Flußdiagramm gemäß Fig. 19 dargestellt. Gleichzeitig wird der Mikro-Steuerzähler 242 in den MCC= 2-Zustand vorgestellt, währenddessen die Adresse in dem ,4Ml-Register über das Gatter 210 in das E/A-Register 192 übertragen wird, wodurch die Adresse des Ergebniszustandsfeldes geliefert wird. Während des SC= 11-Zustandes des Folgezählers 240 und während der FCCL-Pegel von der Kanalaustauschsteuerung nicht vorliegt, wird die Adresse in dem ΛΜΙ-Register den Datenleitungen C0-23L zugeführt. Während sich das WDFF-Steuer-Flip-FIop 246 im Null-Zustand befindet, wird der Zustand des Modus-Registers 232 über das Gatter 236 den Leitungen /?Oi_4Z. zugeleitet und das TCCF-Steuer-Flip-Flop 244 in den 1-Zustand gesetzt. Am Ende des MCC= 3-Zustandes des Mikro-Steuerzählers 242 wird die Adresse in dem E/A-Register 192 um 1 vergrößert und der Mikro-Steuerzähler 242 in den MCC= 4-Zustand vorgestellt.
Während des MCC= 4-Zustandes wird, wenn der FCCZ.-Pegel zur Anzeige der Adressen-Annahme durch die Kanalaustauschsteuerung aktiv wird, das Modus-Register 232 in den Ruhezustand zurückgestellt. Die vergrößerte Adresse in dem Register 192 wird in das AAi 1-Register in dem Zwischenspeicher 196 übertragen. Das WDFF-Steuer-Flip-Flop 246 wird auf 1 gestellt und der Mikro-Steuerzähler 242 rückt auf MCC= 5 vor. Während des SC= 11-Zustandes und sobald der SCCL-Pegel oder das WDFF-Steuer-Flip-Ρΐυμ Sich ii'n !-Zustand befiiiuei, wird das neue Ergebniszustandsfeld in dem Register 262 den Datenleitungen C0-23L über das Gatter 264 zum Einschreiben in den Speicher zugeführt Wenn der FCCL-Pegel aktiv wird und die Annahme der Daten anzeigt, wird das Steuer-Flip-Flop WDFF 246 auf 0 zurückgesetzt und der Mikro-Steuerzähler 242 rückt auf MCC= 6 vor. Wenn der FCCL-Pegel wieder aktiv wird und anzeigt daß die Daten aus dem Hauptspeicher nun verfügbar sind, wird das TCCF-Steuer-Flip-Flop 244 auf 0 zurückgesetzt Die aus dem Hauptspeicher auf die Datenleitungen C0-23L ausgelesenen Daten werden über das Gatter 190 in das E/A-Register 192 geleitet 0er Folgezähler wird auf 5C= 12 gestellt und der Mikro-Steuerzähler auf AiCC= 1 gestellt Damit ist die Speicher-Austauschoperation beendet bei welcher der neue Ergebnis-Zustand im Speicher gespeichert und das früherer Ergebniszustandsfeld aus dem Speicher in das E/A-Register 192 gebracht wurde.
Wenn der Folgezähler 240 sich in dem SC= 12-Zustand befindet, wird gemäß dem Flußdiagramm von Fig. 20 das Unterbrechungs-Anforderungs-Bit (IR-Bh) des in dem E/A-Register 192 bei IOR-1-gespeicherten Ergebniszustandsfeldes geprüft, und das eine Ausnahme anzeigende Bit an der Stelle RSR-2 in dem Ergebnis-Zustands-Register 262 wird geprüft um festzustellen, ob eine Ausnahme-Bedingung bei dem E/A-Gerät vorlag. Wenn beide Bits den Wert 0 haben, was anzeigt, daß zu diesem Zeitpunkt keine Unterbrechung des Prozessors gefordert wird, wird der Folgezähler sofort in den SC= 13-Zustand gestellt. Wenn eines der Bits den Wert 1 hat, wird der Mikro-Steuerzähler 242 auf MCC= 1 gestellt. Das Modus-Register 232 wird dann in den Schreib-Abfertigungs-Zustand gesetzt, um eine Abfertigungsbotschaft zur Signalisierung einer Unterbrechungs-Bedingung für den Prozessor einzuleiten. Wenn bei dem Stand des Mikro-Steuerzählers 242 auf MCC= 4 ein Abfertigungsunterbrechungs-Pegel DIL von der Kanalaustauschsteuerung ankommt, wird das Modus-Register 232 in den Ruhezustand zurückgestellt, und der Folgezähler 240 kehrt sofort in den SC=O-Zustand zurück. Anderenfalls wird während des SC= 12-Zustandes anfänglich ein 0-Pegel den Datenleitungen C0-23L zugeführt, um die 00-Adresse für Abfertigungsbotschaften an die Kanalaustauschsteuerung zu liefern.
3ü Wenn das Steuer-Flip-Flop WDFFauf 0 gesetzt ist und der DRLL-Pege\ von der Kanalaustauschsteuerung nicht aktiv ist, wodurch angezeigt wird, daß keine Sperrung des Abfertigungsregisters 132 vorliegt, wird der Schreib-Abfertigungs-Zustand in dem Modus-Register 232 über das Gatter 236 auf die Steuerleitungen RQx-^L gegeben, wodurch der Kanalaustauschsteuerung eine Schreib-Abfertigungs-Operation angezeigt wird. Wenn der FCCL-Pegel aktiv wird, was die Annahme der Adresse 00 durch die Kanalaustauschsteuerung anzeigt, wird ferner das TCCF-Steuer-Flip-Flop 244 in den 1-Zustand gesetzt. Wenn der FCCL-Pegel aktiv und der DRLL-Pegel nicht aktiv ist, was anzeigt daß keine Sperrung vorlag, wird das Modus-Register 232 in den Ruhezustand zurückgestellt, das IVDFF-Steuer-Flip-Flop 246 wird auf 1 gesetzt und der Mikro-Steuerzähler 242 wird auf MCC= 5 vorgestellt Der Schreib-Abfertigungs-Zustand während FC= 12 bewirkt die Übertragung der Adresse in dem (Am +1)-Register als Daten zurück zu der Kanalaustauschsteuerung und bewirkt ferner, daß das Signal »Von Kanal Nummer« in dem Ergebniszustandsfeld, das sich augenblicklich als Ergebnis der vorherigen SpeicherausiausCri-Operaiion während SC= 11 in dem E/A-Register 192 befindet, den Datenleitungen C2A-29L zugeführt wird, um als Teil der Abfertigungsbotschaft in dem Abfertigungsregister 132 (siehe Fig.8a) der Kanalaustauschsteuerung gespeichert zu werden. Diese beiden Bedingungen treten während des SC= 12-Zustandes auf, wenn der OÄLL-Pegel nicht aktiv und der FCCL-Pegel aktiv oder der WDFF-Pegel aktiv ist
Während des MCC= 5-Zustandes des Mikro-Steuerzählers 242 wird das rCCF-Steuer-Flip-Flop 244 in den 0-Zustand zurückgesetzt wenn der FCCL-Pegel aktiv wird, wodurch angezeigt wird, daß die Daten von der Kanalaustauschsteuerung angenommen worden sind. Ferner wird das WDFF-Steuer-Flip-Flop 246 in den 0-Zustand zurückgesetzt, der Folgezähler 240 wird in den SC= 13-Zustand vorgestellt und der Mikro-Steuer-
zähler 242 wird auf 0 zurückgestellt, wodurch die Schreib-Abfertigungs-Operation in Abhängigkeit von einer Unterbrechungs-Anforderung des Prozessors bei einer Ausnahme-Bedingung des E/A-Gerätes vollendet wird.
In dem Flußdiagramm in Fig. 21 besteht der Schlußschritt der E/A-Steuereinheit bei der Ausführung eines einzelnen E/A-Deskriptors in der Erlangung der Verbindungsadresse von dem Deskriptor, nämlich der Adresse des Ergebniszuslandsfeldes des nächsten E/A-Deskriptors in einer verbundenen Kette von E/A-Deskriptoren. Wenn der Operationscode-Befehl ein Stop-Befehl ist oder wenn das Ergebniszustandsfeld in dem Ergebnis-Zustands-Register 262 eine Ausnahmebedingung anzeigt, endet die Verkettungsfolge, und der Folgezähler 240 wird auf 0 zurückgestellt, womit die E/A-Steuereinheit in den Ruhezustand für das Warten auf eine andere Abfertigungs-Unterbrechung zurückversetzt wird. Sind weder ein Stop-Befehl noch eine Ausnahmebedingung aufgetreten, so rückt der Mikro-Steuerzähler 242 in den MCC= 1 -Zustand vor. Während der aufeinanderfolgenden Schritte gemäß Fig.21 wird unter Verwendung der Adresse in dem (AM 1 + 1)-Register des Zwischenspeichers t% ein normaler Speicher-Lese-Zyklus durchgeführt. Daraus ergibt sich das lesen der Verbindungsadresse aus dem Hauptspeicher in das E/A-Register 192. Bei Vollendung des Speicher-Zyklus ivird der Folgezähler 240 in den 5C=I-Zustand zurückgestellt, und der Mikro-Steuerzähler 242 wird in den O-Zustand zurückgestellt. Die oben beschriebene Operation der E/A-Steuereinheit wird bei dem nächsten Deskriptor in der Kette ohne Eingreifen des Prozessors oder einer anderen Kanal-Einrichtung wiederholt.
Unter manchen Umständen, z. B. bei der Verwendung von Plattenspeichern als E/A-Geräte, ist es bei einer Anzahl identischer E/A-Steuereinheiten wünschenswert, daß jede dieser Einheiten jedes von einer Anzahl E/A-Geräte über eine Austauschstelle 41 gemäß Fig. 1 bedienen kann. Bei einer solchen Vorrichtung kann eine Anzahl von identischen E/A-Steuereinheiten eine gemeinsame Kette von verbundenen Deskriptoren miteinander teilen. Da jeder E/A-Deskriptor in der Kette von jeder E/A-Steuereinheit ausgeführt werden kann, pausiert eine E/A-Steuereinheit unter diesen Umständen nicht, wenn sie auf einen Deskriptor trifft, bei welchem das Operations-Vollständigkeitsbit gesetzt ist, sondern sie schreitet unter Verwendung der Verbindungsadresse zu dem nächster. Deskriptor in der Kette fort. Die Arbeitweise einer E/A-Steuereinheit, die so angeordnet ist, daß sie jede von einer Anzahl von Geräten über eine Austauschstelle bedienen kann, ist in dem Flußdiagramm gemäß F i g. 22 ausgeführt
Wenn etwa eiüe Abfertigungsbotschaft an die einzelne E/A-Steuereinheit über die Kanalaustausch steuerung geschickt worden ist, wie in den Blöcken 42, 44 und 46 in F i g. 4 erläutert wurde, wird die auf das Ergebniszustandsfeld des E/A-Deskriptors hinweisende IIO-Adresse von der E/A-Steuereinheit empfangen. Wie bei 266 in Fig.22 dargestellt, speichert die E/A-Steuereinheit diese Adresse und benutzt die Adresse, um das Ergebniszustandsfeld des E/A-Deskriptors aus dem Hauptspeicher zu holen. Die E/A-Steuereinheit prüft dann sowohl das OC-Bit als das Ausnahme-Bit in dem Ergebniszustandsfeld. Das OC-Bit zeigt, wie oben beschrieben, an, ob die von dem Deskriptor abgerufene Operation schon durchgeführt worden ist Das EXSiI zeigt an, ob der Deskriptor gerade von einer anderen E/A-Steuereinheit durchgeführt wird oder nicht, wobei das EX-Bit als Sperrbit dient. Wenn beide Bits den Wert 0 haben, wodurch gemäß 268 in F i g. 22 angezeigt wird, daß die Operation nicht vollendet ist und der Deskriptor nicht gesperrt ist,
ο wird das EA--Bk auf 1 gesetzt und eine Speicher-Austausch-Operation des Ergebniszustandsfeldes in dem Deskriptor durchgeführt. Infolgedessen wird das Ergebniszustandsfeld in dem Speicher so modifiziert, daß das EY-Bit auf 1 gesetzt wird, wodurch eine Sperrbedin-
Ki gung in dem Fall angezeigt wird, daß eine andere E/A-Steuereinheit versucht, denselben Deskriptor auszuführen. Gleichzeitig wird das unmoditizierte Ergebniszustandsfeld im Speicher bei Beginn der Speicher-Austausch-Operation zu der E/A-Steuereinheit geschickt, wo die Prüfung des EY-Bits wiederholt wird um festzustellen, ob eine andere E/A-Steuereinheit bereits dieselbe E/A-Operation in Gang gesetzt hat. Wenn das EX-Bh immer noch den Wert 0 hat, fährt die E/A-Steuereinheit mit dem Lesen des Operationscode, der Anfangsadresse und der Endadresse, wie bei Block 50 in F i g. 4 beschrieben, fort.
Wenn anfänglich entweder das OC-Bit oder das EY-Bit den Wert 1 hat, wird die auf den nächsten Deskriptor hinweisende Verbindungsadresse des E/A-Deskriptors von der E/A-Steuereinheit aus dem Speicher in derselben Weise wie bei 58 in F i g. 4 ausgelesen. Wenn ferner nach der Speicher-Austausch-Operation das EY-Bit den Wert 1 hat und dadurch eine Sperrung des Deskriptors anzeigt, fährt die E/A-Steuer-
jo einheit in ähnlicher Weise fort, um die Verbindungsadresse zu erlangen, die auf den nächsten Deskriptor in der Kette weist.
In dem Flußdiagramm in Fig.23 wird eine Abänderung der Steuerlogik der Steuerschaltung 238 (F i g. 9) für die Ausführung der Modifikation dargestellt. Der 5C= 1-Zustand des Folgezählers 240 bewirkt so, wie oben in Verbindung mit F i g. 12 beschrieben, das Holen des Ergebniszustandsfeldes des Deskriptors aus dem Speicher und die Speicherung des Ergebniszustandsfeldes in dem E/A-Register 192. Die E/A-Steuereinheit geht dann bei der Vollendung der SC= 1-Operation in den SC= 16-Zustand über.
Gemäß Fig. 23 ist der 5C= 16-Zustand gegenüber dem in Verbindung mit Fig. 13 beschriebenen Zustand abgeändert. Wenn insbesondere die ersten beiden Bits in dem E/A-Register, nämlich lOR-0 und IOR-1 beide 0 sind, entsprechend OC=O und EX=O wird das Ergebniszustandsfeld aus dem E/A-Register in der Ergebnis-Zustands-Register 262 über ein Gatter 270 gemäß F i g. 9a übertragen. Gleichzeitig wird die zweite Bitstelle in dem Ergebnis-Zustands-Register 262, ent- ^nH f\p
FV-Rit-<Jt<»Ui>
des, auf den Wert 1 gesetzt Der Folgezähler 240 wird auf 5C= 8 gestellt und der Mikro-Steuerzähler 242 wird auf MCC= 1 gestellt
Während des SC= 8-Zustandes wird eine Speicher-Austausch-Operation in derselben Weise wie während des SC= 11 -Zustandes durchgeführt, der im einzelnen bei F i g. 19 beschrieben wurde. Der einzige Unterschied gegenüber dem SC= 11 -Zustand besteht darin, daß während des SC= 8-Zustandes die Steuerung zu dem SC= 9-Zustand bei der Vollendung der SC= 8-Operation übergeht So kehrt während der Speicher-Austausch-Operation das Ergebniszustandsfeld in dem Ergebnis-Zustands-Register 262 in das Ergebniszustandsfeld des Deskriptors im Hauptspeicher zurück, während das Ergebniszustandsfeld, das sich gegenwärtig im Speicher befindet, aus dem Hauptspeicher in das
E/A-Register 192 gebracht wird.
Während des SC= 9-Zustandes des Folgezählers 240 wird das ffABit wiederum in dem E/A-Register 192 geprüft. Bei 1OR=I kehrt die Operation in den 5C= 14-Zustand zurück. Bei 1OR-I=O wird der Folgezähler in den SC= 17-Zustand gestellt. Die Operation setzt sich dann genauso wie in Fig. 13 über die Zustände 5C= 17, 5C= 18, SC= 19 zurück zum 5C=I-Zustand fort.
Wenn während des SC= i6-Zustandes gemäß dem Flußdiagramm in F i g. 23 entweder das OC-Bit oder das EX-Bh den Wert 1 hat und dadurch der E/A-Steuereinheit anzeigt, daß sie zu dem nächsten Deskriptor in der Kette weitergehen sollte, wird die IIO-Adresse in dem AM 1-Register über das Gatter 202 in das E/A-Register übertragen und der Mikro-Steucrzählcr 242 in den MCC= 1 -Zustand weitergestellt. Die Adresse in dem E/A-Register wird dann um 1 auf die Adresse des Verbindungs-Adressenfeldes des Deskriptors in den Hauptspeicher durch die (IOR+1)-Schaltung 251 vergrößert. Während MCC= 2 wird diese vergrößerte Adresse in das AM 1-Register zurückgebracht, und die Operation geht in den SC= 13-Zustand des Folgezählers weiter. Die Vorgänge während des SC= 13-Zustandes sind im einzelnen in Verbindung mit Fig.21 beschrieben worden, wobei das im Speicher gespeicherte Verbindungs-Adressenfeld des Deskriptors zu dem E/A-Register 192 in der E/A-Steuereinheit übertragen wird.
Die verbundenen Ketten von E/A-Deskriptoren können in einer geschlossenen Schleife verbunden werden, d. h, eine Verbindungsadresse kann auf einen vorhergehenden Deskriptor in der Kette zurückweisen. Durch Prüfung des Operations-Vollständigkeits-Bits in dem Ergebniszustandsfeld können E/A-Operationen zwischen einem einzelnen E/A-Gerät und einem Pufferbereich im Hauptspeicher unbegrenzt ohne Einschaltung des Prozessors wiederholt werden. Wenn ein Deskriptor in der Kette auftritt, in dem der Pufferbereich nicht verfügbar ist, was durch den Eins-Wert des Operations-Vollständigkeits-Bits angezeigt wird, kann die E/A-Steuereinheit entweder so eingerichtet sein, daß :ie zu dem nächsten Deskriptor springt oder so eingerichtet sein, daß sie eine feste Zeitspanne wartet und dann das Operations-Vollständigkeits-Bit wieder prüft. Wenn das Operations-Vollständigkeits-Bit nicht gesetzt ist, und anzeigt, daß der Pufferbereich wieder verfügbar ist, geht die Ausführung des E/A-Deskriptors weiter, und die Verkettungsoperation setzt sich zum nächsten E/A-Deskriptors in der Kette fort. Die Kette von Deskriptoren kann an jeder
ίο Stelle geändert werden, um vollständige Operationen hinzuzufügen oder zu bedienen. Vollständige Operationen brauchen nicht aus der Kette entfernt zu werden. Das Unterbrechungs-Anforderungs-Bit in dem Ergebniszustandsfeld schafft eine Möglichkeit für die E/A-Steuereinheit, bei der Vollendung einer E/A-Operation festzustellen, ob eine Unierbreehungs-Botschaft an den Prozessor oder an eine andere Kanal-Einrichtung geschickt werden soll oder nicht. Das Unterbrechungs-Anforderungs-Bit in dem Ergebniszustandsfeld
2u kann im Hauptspeicher durch die vom Prozessor ausgeführte Software jederzeit während der Ausführung der E/A-Operation abgeändert werden. Auf diese Weise kann die Entscheidung, eine Unterbrechung des Prozessors bei Vollendung der Operation zu fordern, bis zu einem Takt vor dem Zeitpunkt der Vollendung der E/A-Operation verschoben werden. Wenn der Prozessor das Unterbrechungs-Anforderungs-Bit in das Ergebniszustandsfeld setzt, kann er gleichzeitig den Operationscode prüfen um festzustellen, ob die Operation schon vollendet worden ist. Wenn das der Fall ist, ist die Unterbrechung nicht nötig und wird nicht durchgeführt.
Durch Zuordnung des Ergebniszustandsfeldes zum Deskriptor anstelle der Verwendung einer festen Speicherplatte oder eines vorbestimmten Registers kann ein Mehrfaches von Deskriptoren demselben E/A-Gerät zugeordnet werden, und eine Steuereinheit ist für die Bedienung einer Anzahl von E/A-Geräten frei. Fehler können ohne sofortige Unterbrechung eines Prozessors für die Bedienung des Fehlers gemeldet werden, aber die E/A-Steuereinheit kann zum nächsten Deskriptor in der Kette weitergehen.
Hierzu 13 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage, die außerdem mindestens einen Prozessor und mehrere, jeweils einen Zwischenspeicher enthaltende E/A-Steuereinheiten, an die E/A-Geräte angeschlossen sind, enthält, gekennzeichnetdurch folgende Merkmale:
DE2317870A 1972-04-28 1973-04-10 Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage Expired DE2317870C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US24850072A 1972-04-28 1972-04-28

Publications (2)

Publication Number Publication Date
DE2317870A1 DE2317870A1 (de) 1973-11-08
DE2317870C2 true DE2317870C2 (de) 1982-03-25

Family

ID=22939416

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2317870A Expired DE2317870C2 (de) 1972-04-28 1973-04-10 Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage

Country Status (4)

Country Link
US (1) US3728693A (de)
JP (1) JPS4923550A (de)
DE (1) DE2317870C2 (de)
GB (1) GB1419292A (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3833888A (en) * 1973-02-05 1974-09-03 Honeywell Inf Systems General purpose digital processor for terminal devices
US3828325A (en) * 1973-02-05 1974-08-06 Honeywell Inf Systems Universal interface system using a controller to adapt to any connecting peripheral device
US3828326A (en) * 1973-04-18 1974-08-06 Ibm Adapter for interfacing a programmable controller to a data processor channel
US4031518A (en) * 1973-06-26 1977-06-21 Addressograph Multigraph Corporation Data capture terminal
US3881174A (en) * 1974-01-18 1975-04-29 Process Computer Systems Inc Peripheral interrupt apparatus for digital computer system
FR2261567B1 (de) * 1974-02-20 1977-09-23 Honeywell Bull Soc Ind
FR2273317B1 (de) * 1974-05-28 1976-10-15 Philips Electrologica
US4177511A (en) * 1974-09-04 1979-12-04 Burroughs Corporation Port select unit for a programmable serial-bit microprocessor
US4006466A (en) * 1975-03-26 1977-02-01 Honeywell Information Systems, Inc. Programmable interface apparatus and method
US4000487A (en) * 1975-03-26 1976-12-28 Honeywell Information Systems, Inc. Steering code generating apparatus for use in an input/output processing system
JPS51120641A (en) * 1975-04-15 1976-10-22 Nec Corp Peripheral control system
US4042912A (en) * 1975-06-19 1977-08-16 Honeywell Information Systems Inc. Database set condition test instruction
US4177512A (en) * 1976-03-12 1979-12-04 Burroughs Corporation Soft input/output auto poll system
US4053950A (en) * 1976-04-30 1977-10-11 International Business Machines Corporation Residual status reporting during chained cycle steal input/output operations
US4040037A (en) * 1976-06-01 1977-08-02 International Business Machines Corporation Buffer chaining
US4313160A (en) * 1976-08-17 1982-01-26 Computer Automation, Inc. Distributed input/output controller system
US4342082A (en) * 1977-01-13 1982-07-27 International Business Machines Corp. Program instruction mechanism for shortened recursive handling of interruptions
US4336588A (en) * 1977-01-19 1982-06-22 Honeywell Information Systems Inc. Communication line status scan technique for a communications processing system
US4237534A (en) * 1978-11-13 1980-12-02 Motorola, Inc. Bus arbiter
US4374415A (en) * 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4471457A (en) * 1980-08-21 1984-09-11 International Business Machines Corporation Supervisory control of peripheral subsystems
NL8103895A (nl) * 1981-08-21 1983-03-16 Philips Nv Inrichting voor het beheren van een tussengeheugen bij een massaal datatransport tussen een broninrichting en een bestemmingsinrichting.
US4939644A (en) * 1983-05-19 1990-07-03 Data General Corporation Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
JPS6336461A (ja) * 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
JPS6381554A (ja) * 1986-09-25 1988-04-12 Canon Inc 交換可能な周辺装置を取り扱う電子機器
JPH02128267A (ja) * 1988-11-09 1990-05-16 Fujitsu Ltd 共有メモリによる通信方式
JP2508872B2 (ja) * 1990-02-27 1996-06-19 三菱電機株式会社 プログラマブルコントロ―ラの制御方法
US5481755A (en) * 1990-05-18 1996-01-02 International Business Machines Corporation Apparatus and method for addressing multiple adapter cards in one operation by distributing bits of registers across the adapter cards
US5715407A (en) * 1992-03-06 1998-02-03 Rambus, Inc. Process and apparatus for collision detection on a parallel bus by monitoring a first line of the bus during even bus cycles for indications of overlapping packets
US5689725A (en) * 1995-05-02 1997-11-18 Apple Computer, Inc. System for generating status signals of second bus on first bus by comparing actual phase of the second bus with expected phase of second bus
US5793987A (en) * 1996-04-18 1998-08-11 Cisco Systems, Inc. Hot plug port adapter with separate PCI local bus and auxiliary bus
US6212593B1 (en) * 1998-06-01 2001-04-03 Advanced Micro Devices, Inc. Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system
JP4866313B2 (ja) * 2007-08-06 2012-02-01 住友重機械工業株式会社 樹脂封止装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
US3411143A (en) * 1966-01-13 1968-11-12 Ibm Instruction address control by peripheral devices
US3588831A (en) * 1968-11-13 1971-06-28 Honeywell Inf Systems Input/output controller for independently supervising a plurality of operations in response to a single command

Also Published As

Publication number Publication date
JPS4923550A (de) 1974-03-02
US3728693A (en) 1973-04-17
GB1419292A (en) 1975-12-31
DE2317870A1 (de) 1973-11-08

Similar Documents

Publication Publication Date Title
DE2317870C2 (de) Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage
DE68927492T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten
DE2856483C2 (de)
DE68927218T2 (de) Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
DE68921906T2 (de) Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren.
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE69017178T2 (de) Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung.
DE3686991T2 (de) Mechanismus fuer parallele speicherdatenabholung und befehlsausfuehrung in einem prozessor mit reduziertem befehlssatz.
DE2714805C2 (de)
DE2161886C2 (de) Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle
DE3751399T2 (de) Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen.
DE2456578C2 (de) Datenverarbeitungsanlage
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE3638572C2 (de)
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
DE2306115A1 (de) Datenprozessor mit ablage-mikrosteuerung
DE2750721A1 (de) Ein/ausgabe-system
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE1915818B2 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
DE1524102B2 (de) Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine
DE1285220B (de) Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten
DE2835095A1 (de) Gekoppeltes, mikroprogrammiertes prozessorsystem
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2458096C2 (de) Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee