DE2725522A1 - Datenverarbeitungsvorrichtung - Google Patents
DatenverarbeitungsvorrichtungInfo
- Publication number
- DE2725522A1 DE2725522A1 DE19772725522 DE2725522A DE2725522A1 DE 2725522 A1 DE2725522 A1 DE 2725522A1 DE 19772725522 DE19772725522 DE 19772725522 DE 2725522 A DE2725522 A DE 2725522A DE 2725522 A1 DE2725522 A1 DE 2725522A1
- Authority
- DE
- Germany
- Prior art keywords
- channel
- register
- data
- logic
- ocl
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Description
SCHIFF v.FÜNER STREHL SCHÜBEL-HOPF EBBINGHAUS FINCK
MARIAHILFPLATZ 2*3, MÖNCHEN 9O 2725522
KARl LUDWIQ SCHIFF
n· < J 148 DIPt. CHEM. DR. ALEXANDER ». FONER
DIPL. ING. PETER STREHL
DiPL. CHCM. DR. URSULA 5CHÜBEL-MOPF
DIPL. IMG DIETER EOaiNQHAUS
6 JUNi 19/7 DR'INGi ni-TER FiNCK
TELEFON (Ο8Θ) 4β3Ο64
TELEX D-23 5O5 AURO D
TELEGRAMME AUROMARCPAT MÜNCHEN
AMDAHL CORPORATION Sunnyvale, CaI., USA
Datenverarbeitungsvorrichtung
Die Erfindung bezieht sich auf das Gebiet instruktionsgesteuerter Digitalrechner und insbesondere auf Verfahren
und Vorrichtungen, die Kanälen in den Datenverarbeitungssystemen zugeordnet sind bzw. auf ein Datenverarbeitnngssystem
mit einer Vielzahl von Kanalzentraleinheiten.
Bekanntlich werden Kanäle von der Bauweise her als der Teil
eines Datenverarbeitungssystems definiert, der Steuerwerke bedient, die Systeme mit Ein-Ausgabegeräten bzw. I/O-Gercitfm
zugeordnet sind. Kanäle haben unabhängige und diskrete Einrichtungen, welche ihre eigene Steuerbefehlsgruppen
aufweisen, welche die Ein-AusgabegerSte in die Lage versetzen, Daten zu lesen und zu schreiben, während der Rest
des Systems gleichzeitig Instruktionen verarbeitet, die nicht notwendigerweise in Beziehung zu den Ein-Ausgabegeräten
stehen. Jeder Kanal hat seine eigenen Instruktionen im Systemspeicher, die unter einer übervachungsprogr?jrüTi-
steuerung abberufen und verarbeitet werden.
709851/0928
Man kennt drei Typen von Kanälen, nämlich Selektorkanäle,
Bytemultiplexkanäle und Blockmultiplexkanäle. Selektorkanäle und Blockmultiplexkanäle werden im allgemeinen mit
hoher Geschwindigkeit arbeitenden Einrichtungen zugeordnet, während Bytemultiplexkanäle gewöhnlich mit nieriger Geschwindigkeit
arbeitenden Einrichtungen zugeordnet werden, über ein Steuerwerk ist eine Vielzahl von Ein-Ausgabegeräten
mit einem Kanal verbunden. Bytemultiplexkanäle und Blockmultiplexkanäle ermöglichen einen verschachtelten
Transfer von Daten von Mehrfacheinrichtungen, die an der gleichen physikalischen Kanalschnittstelle befestigt sind.
Obwohl Kanäle etwas unabhängig von Instruktionen funktionieren, die von dem Datenprozeß angewendet v/erden, wählt das
Datenverarbeitungssystem die Uberwachungssteuerung über die
Operationen der Kanäle und der Ein-Ausgabegeräte. Die Kanäle sind deshalb Zentraleinheiten für die Informationen, die eine
bestimmte Unabhängigkeit von anderen Zentraleinheiten, beispielsweise einem Eingabegerät, haben und steigern so den
gleichzeitigen Ablauf der Verarbeitung von Informationen durch das System.
Obwohl bekannte Vorrichtungen zufriedenstellend arbeiten, besteht eine Notwendigkeit für verbesserte Kanaleinrichtungen,
die eine wirksamere Nutzung der modernen Hochgeschwindigkeitstechnologien ermöglichen. Obwohl Eingabe-Ausgabe-Geräte
mit vergleichsweise begrenzten Geschwindigkeiten, welche die maximale Datenübertragungsgeschwindigkeit für einen Kanal
einschränken, häufig infolge mechanischer Grenzen beschränkt sind t und obwohl elektronische Schaltungen bei viel
höheren Geschwindigkeiten arbeiten, sollten diese Schaltungen bei einer Vielzahl von Eingabe-Ausgabe-Geräten genutzt
werden, um ihre Hochgeschwindigkeitseigenschaften wirksamer einzusetzen. Bei bekannten Kanalkonstruktionen, in denen eine
Kanaleinrichtung pro Kanalbasis zur Verfügung steht, werden die Schaltungen in einem Kanal nicht mit anderen Kanälen ge-
teilt. 109851/0928
Erfindungsgemäß wird nun ein Datenverarbeitungssystem geschaffen,
welches einen Systemspeicher und eine Kanaleinheit für die übertragung von Daten über Steuergeräte, zwischen
Eingabe-Ausgabe-Geräten und einem Hauptspeicher und über eine Vielzahl von Kanälen aufweist.
Erfindungsgemäß wird eine Kanaleinheit geschaffen, die einen
Kanalspeicher zum Speichern von Informationen einschließlich der über den Kanal zu übertragenden Daten hat. Zusätzlich
hat die Kanaleinheit einen Kanalzustandsspeicher mit einer Gruppe von Speicherstellen, die jedem Kanal zugewiesen sind.
Der Zustandsspeicher hat für jede Gruppe eine erste Stelle zum Speichern einer Zählung, um eine verbleibende oder
übrige Transferlänge zu kennzeichnen, wobei die verbleibende Transferlänge eine Anzahl von Bits von Daten spezifiziert,
die über einen zugeordneten Kanal noch zu überführen sind. In dem Zustandsspeicher befinden sich auch zweite Stellen
zum Speichern einer Zeigermarke zum Bestimmen einer Stelle in dem Kanalspeicher sowie dritte Stellen zum Speichern
einer Verfügbarkeitszahl, welche die verbleibenden Stellen in dem Kanalspeicher spezifiziert.
Die Kanaleinheit hat eine erste Zentraleinheit bzw. einen ersten Prozessor, der allen Kanälen gemein ist und zum
Steuern des Transfers von Daten zwischen dem Datenspeicher und dem Systemspeicher dient. Der erste Prozessor hat eine
Einrichtung, die mit dem Zustandsspeicher für den Zugang bzw. Zugriff zu der ersten, zweiten und dritten Stelle für
jeden Kanal verbunden ist, eine Einrichtung zum überführen von Daten zwischen dem Kanalspeicher und dem Hauptspeicher
mittels einer ersten Transferhöhe bzw. eines ersten Transferbetrags und mit einer Einrichtung zum Ändern der Verfügbarkeitszahl
in einer Richtung durch einen Betrag, der gleich dem ersten Transferbetrag ist.
709851/0928
Die Kanaleinheit hat weiterhin eine zweite Zentraleinheit bzw. einen zweiten Prozessor, der allen Kanälen gemeinsam
ist und zum Steuern des Datentransfers zwischen dem Kanalspeicher und der Eingabe-Ausgabe-Geräte dient. Der zweite
Prozessor hat eine Einrichtung, die mit dem Zustandsspeicher für den Zugriff zu der ersten, zweiten und dritten Stelle
für jeden Kanal verbunden ist, eine Einrichtung zum überführen von Daten zwischen dem Kanalspeicher und den Eingabe-Ausgabe-Geräten
durch einen zweiten Transferbetrag sowie eine Einrichtung zum Ändern der Verfügbarkeitszahl in einer
Richtung entgegengesetzt zu der einen Richtung um einen Betrag, der gleich dem zweiten Transferbetrag ist.
Gemäß der obigen Zusammenfassung hat die Kanaleinheit des Datenverarbeitungssystems einen Prozessor zum Steuern von
Datentransfers zwischen einem Kanalspeicher und einem Systemspeicher und einen weiteren Prozessor zum Steuern von Datentransfers
zwischen Eingabe-Ausgabe-Geräten und einem Kanalspeicher .
Anhand der Zeichnungen wird die Erfindung beispielsweise näher erläutert.
Fig. 1 zeigt ein Blockschaltbild einer Ausführungsform des
gesamten Datenverarbeitungssystems.
Fig. 2 zeigt schematisch eine Kanaleinheit.
Fig. 3 zeigt eine weitere, ins Einzelne gehende schematische Darstellung der Kanaleinheit.
Fig. 4 zeigt eine schematische Darstellung des Datenmanipulators,
der einen Teil der Kanaleinheit von Fig. 3 bildet.
Fig. 5 zeigt schematisch eine ins Einzelne gehende Darstellung
der Kanalsteuerlogik, die einen Teil der Kanaleinheit von Fig. 3 bildet.
709851/0928
Fig. 6 zeigt schematisch die Datenzugriffssteuerlogik, die
einen Teil der Kanalsteuerlogik von Fig. 5 bildet.
Fig. 7 zeigt eine Darstellung des Kanalverscbiebezustand
feldes bzw. SCS-Feldes
Fig. 8 zeigt eine Darstellung des SCS-Feldes fur eine
Eingabe.
Fig. 9 zeigt eine Darstellung des SC^-Feldes für eine
Ausgabe.
In Fig. 1 ist das erfindungsgemäße Datenverarbeitungssystem gezeigt. Es hat einen Hauptspeicher 2, eine Speichersteuereinheit
4f eine Instruktionseinheit 8, eine Ausführungseinheit 1o, eine Kanaleinheit 6 mit zugeordneter Eingabe-Ausgabe
und eine Bedienungseinheit 12. Das System von Fig. arbeitet unter der Steuerung von Systeminstruktionen, bei
denen eine organisierte Gruppe solcher Instruktionen ein Systemprogramm bildet. Systeminstruktionen und die Daten,
mit denen die Instruktionen operieren, werden von dem Eingabe-Ausgabe-Gerät über die Kanaleinheit 6 durch die Speichersteuereinheit
4 in den Hauptspeicher 2 eingegeben. Von dem Hauptspeicher 2 werden Systeminstruktionen und Daten durch
die Instruktionseinheit 8 über die Speichersteuerung 4 abgeholt und so verarbeitet, daß die Ausführung in der Ausführungseinheit
1o gesteuert wird. Das System von Fig. 1 ist im einzelnen in der US-PS 3 84o 861 beschrieben, aus
der die Wirkungsweise eines geeigneten instruktionsgesteuerten Datenverarbeitungssystems entnommen v/erden kann.
Weitere Einzelheiten eines Datenverarbeitungssysteins der genannten Art und Weise ergeben sich aus der Literaturstelle
"IBM-System/37o, Principles of Operation, SRL GA 22-7ooo-3,
709851/0928
Im folgenden werdendie Einheit 2 als MS-Einheit, die Einheit
4 als S-Einheit, die Einheit 6 als C-Einheit, die Einheit 8 als I-Einheit und die Einheit 1o als Ε-Einheit bezeichnet.
Auf die jeweilige Eingabe-Ausgabe wird durch I/O Bezug genommen.
Die in Fig. 2 schematisch gezeigte C-Einheit von Fig. 1 verbindet die I/O-Steuerungen 411" mit der S-Einheit 4.
Die Anzahl N der Kanäle ist variabel. Für den vorliegenden Fall wird N zu 16 gewählt, was sechzehn Kanäle bedeutet. Die
Kanalsteuerlogik 4o3', auf die im folgenden als CCL Bezug
genommen wird, arbeitet so, daß sie die Kanaleinrichtung und die Zuweisung ihrer verschiedenen Teile zu speziellen Kanälen steuert. Die CCL-Logik 4o3' hat eine Speicheradressier-
und Prioritätszuweisungseinheit 444, um zu bestimmen, welcher Teil der CCL-Logik 4o3* welchem Kanal zugewiesen wird. Die
CCL-Logik 4o3' hat weiterhin vier Steuersegmente (Teile),
die an der Speicheradressiereinheit 444 befestigt sind. Obwohl Fig. 2 eine Teilung in vier Segmenten zeigt, sind
auch andere Aufteilungen möglich. Jedes der Steuerlogiksegmente kann speziellen Funktionen zugeordnet werden, wobei jedes Segment unabhängig von den anderen Segmenten
arbeitet. Die Zustandssteuerung 428' von Fig. 2 empfängt
eine Instruktion für einen spezifischen adressierten Kanal aus der I-Einheit auf der Eingabeschiene 426*. Die Zustandssteuerung 428* adressiert dann in geeigneter Weise und modifiziert dann die eine- der sechzehn Kanal-Zustandspeicherstellen in den Kanalspeichern 448, die dem adressierten
Kanal entspricht. Andere Steuerlogiksegemente führen dann
Operationen aus, die erforderlich sind, um die Instruktionen von der I-Einheit einzuführen. Die typischen Operationen umfassen den Zugriff zur S-Einheit, durch die S-Einheitszugriffslogik 43ο1, die ijteuerwprtveraxbeitung durch die
op-Steuerung 429' oder das überführen von Daten zu einer
Steuereinheit 411'. Typischerweise modifiziert jedes Logiksegment
428', 429* , 43ο1 oder 432' den Kanalzustandsspeicher
in den Kanalspeichern 448 selbst, wenn es seine Operationen ausführt. Diese Operationen erfordern typischerweise
einen Zugriff zu anderen Kanalspeichern, die in dem Kanalspeicher 448 enthalten sind.
Die Eingabe von der I-Einheit 8 von Fig. 1 über die Leitung
426 wird von dem nicht gezeigten wirksamen Adressenregister der I-Einheit abgezweigt, wobei zu gegebenen Zeiten eine
Kanalzahl (vier Bits niedriger Ordnung eines aus acht Bits bestehenden Byte) erzeugt wird, die bei einem 16-Kanalsystem
kennzeichnet, welcher der sechzehn Kanäle zur Zeit beeinflußt wird. Der an der Leitung 426 gezeigte Kanal wird
von verschiedenen Kanaleinheitsteilen zu verschiedenen Zeiten beeinflußt. Für einen gegebenen Transfer empfängt die
Zustandssteuerlogik 428' den Befehl und die Kanalzahl aus der I-Einheit und modifiziert die Kanalzustandsspeicherstelle,
die diesem Kanal zugeordnet ist, so daß andere Steuerlogiksegmente koordinierte Aktionen ausführen. Bei dem
16-Kanalbeispiel hat der Kanalzustandsspeicher sechzehn
Stellen. Die spezielle Stelle, die dem an der Leitung 426 gezeigten Kanal zugeordnet ist, wird durch die Schaltung 44
adressiert.
Die von der C-Einheit 6 von Fig. 1 ausführbaren Operationen umfassen Informationentransfers zwischen der S-Einheit 4
und dem Kanalspeicher 448 und Informationentransfers zwischen dem Kanalspeicher 448 und den I/O-Geräten über die
I/O Steuereinheiten 411'. Transfers zwischen der S-Einheit
und dem Kanalspeicher 448 stehen unter der Steuerung des S-EinheitszugriffSpeichers und der Steuerungen 43ο1. In
gleicher Weise stehen Transfers zwischen dem Kanalspeicher 448 und den I/O-Steuerungen 411' unter der Steuerung des
CTLR-Zugriffsspeichers und der Steuerung 432'.
709851/0928
DA-14 148 - y-
In Fig. 3 ist die C-Einheit 6 von Fig. 1 und 2 näher erläutert, wobei der Kanalspeicher 448 von Fig. 2 in drei Abschnitte
und die Steuerlogik in vier Abschnitte aufgeteilt ist. Die Kanalspeicherabschnitte sind der Kanalschiebezustandsspeicher
SCS bzw. der Schieberegisterspeicher, der Stufen SCSO bis SCSI 5 mit dem Verzögerungsteil 431 aufweist,
der Ortskanalspeicher LCS 4o6, der einen Kanalpufferspeicher CBS hat und ein Subkanalzustandsspeicher SSS mit dem Subkanalpufferspelcher
SBS 4o8. Die Steuerlogikteile umfassen die Zustandssteuerungen 428, die OCL-Steuerungen 429, die
DACL-Steuerungen 43o und die CICL-Steuerungen 432. Die Kanaleinheit 6 von Fig. 3 hat zusätzlich eine Registerschaltung
4o4, einen Datenmanipulator 4o5 und eine entfernt liegende Schnittsteilenlogik 4o7. Die Fern-Schnittstellenlogik RIL
4o7 steht mit einer Vielzahl von I/O-Steuerungen 411 in Verbindung.
Die C-Einheit 6 wirkt so, daß die I/O-Geräte, die
den I/O-Steuerungen 411 zugeordnet sind, mit dem restlichen
Datenverarbeitungssysteir, von Fig. 1 verbunden werden.
Die Kanalsteuerlogik CCL 4o3 hat einen Schieberegisterspeicher SCSO bis SCSI5, der für jeden Kanal der C-Einheit
6 adressierbar ist. In Fig. 3 hat dieser Speicher mit STATE bezeichnete Zustandsplätze 428 zum Steuern und Spezifizieren
des Zustandes eines adressierten Kanals, Operations- und Steuerlogikplätze 429, die mit OCL bezeichnet sind, um die
Operationen der Kanäle zu spezifizieren und zu steuern, Datenzugriffssteuerlogikplätze 43o, die mit DACL bezeichnet
sind, um den Zugriff zur Dateninformation von der S-Einheit von Fig. 1 und zu dieser Einheit zu steuern, sowie Zentralschnittstellen-Steuerlogikplätze 432, die mit CICL bezeichnet
sind, für den Informationszugriff zu und von den I/O-Steuerungen 411 über die entfernt liegende Schnittstellenlogik
4o7, die mit RIL bezeichnet ist. Die Stufen 428, 429, 43o und 431 bestehen aus Schieberegisterstufen, die ihren
709851/0928
DA-14 148 -ST-
««ΑΓΓΛΟ
Inhalt zirkulieren lassen. Bei einer anderen Ausführungsform
hat der Speicher in den Stufen 428 bis 431 einen Willkürzugriff sspeicher. Bei jeder Ausführungsform ist ein Platz
im Speicher vorhanden, der jedem Kanal zugeordnet ist. Außerdem gibt es ein Verfahren für den Zugriff zu diesem
Platz in dem Speicher.
Zusätzlich hat die Kanalsteuerlogik CCL 4o3 eine Steuerung 433, die mit der Bedienungseinheit 12 von Fig. 1 in Verbindung
steht, um die bedienungsseitig spezifizierten Befehle auszuführen.
Ein Befehlhalteregister 45o empfängt an der Eingangsschiene 13 Bits-Steuerdaten, die in das Befehlshalteregister 45o
unter einem Befehl an der Haltesteuerleitung bzw. Eingabesteuerleitung
545, die mit C VALID bezeichnet ist, gehalten bzw. eingegeben werden. Die Bits in dem Befehlshalteregister
45o werden an der Schiene 455 ausgegeben, wobei die Ausgangsbits 12 und 11 in den Subkanalpufferspeicher 4o8 zur Steuerung
des Speichers 4o8 ansprechend auf die Bedienungsbefehle eingegeben werden.
Das Bit 1o von dem Register 45o wird in den örtlichen Kanalspeicher
LCS 4o6 zum Steuern des prtlichen Kanalspeichers nach dem Befehl von der Bedienungseinheit 12 eingegeben.
Die Bits 9, 8 und 7 aus dem Register 45o v/erden in die Register 4o4 eingegeben, um die Register mit den Eingabeinformationen
an der Schiene 543 zu steuern.
Die Steuerungen 433 umfassen ein Kanaltaktnetzwerk 454 und werden unter der Steuerung der Bits 6,5 und 4 aus dem Register
45o gesperrt oder gestartet. Die Steuerungen 4 33 haben zusätzlich eine Schaltung 453 für den Anfangsprogrammlademodus
IPL, die die Kanaleinheit während der IPL-Betrlebsart ansprechend auf das Bit 3 aus dem Register 4 5o
steuert. Das Bit 2 aus dem Register 45o v/ird aus dem
709851/0928
ΟΛ-UUe -Ur-
Register 45o als eine Eingabe an die Stufe SCSI5 der Zustandsstufen
428 übermittelt. Das Bit 1 des Registers 45o wird den Registerzugriffssteuerungen 452 eingegeben, die
das Laden der Registerschaltung 4o4 über die Eingabeschiene 543 steuern. Das Bit O des Registers 45o wird den Rücksetzsteuerungen
451 eingegeben, die so arbeiten, daß die Schaltung der C-Einheit 6 ansprechend auf das Bit 0 des Befehlsregisters
45o rückgesetzt wird.
In Fig. 3 sind die Register REG 4o4 der C-Einheit von Fig. 2 näher gezeigt. Die Register 4o4 haben ein Speichereinheitadressenregister
464 mit 32 Bits, das mit SUAR bezeichnet ist, ein Speichereinheitdatenregister 465 von 32 Bits, das
mit SUDR bezeichnet ist, ein Arbeitsregister 466 mit 32 Bits, das mit WR bezeichnet ist, ein lokales Kanalspeicheradressenregister
467 mit 13 Bits, das mit LCSAR bezeichnet ist, und ein lokales Kanalspeicherabholdatenregister 468 mit 32 Bits,
das mit LCSFDR bezeichnet ist. Das WR-Register 466 empfängt Informationen von der S-Einheit über die Eingabeschiene
394 und hat eine Ausgabe, die über eine Schiene 4 24 als Eingabe mit dem Kanaldatenmanipulator 4o5 verbunden ist,
der mit CHDM bezeichnet wird. Das WR-Register 466 hat auch eine Eingabe, die von dem LCS-FDR-Register 468 und von dem
Subkanalpufferspeicher SBS 4o8 über die Schiene 423 abgezweigt ist. Die Datenbahnbreiten sind zur Vereinfachung der
Beschreibung allgemein angegeben, wobei Paritätsbits ignoriert werden, die in herkömmlicher Weise vorhanden sind.
Beispielsweise sind für 32 Bits vier Paritätsbits vorhanden, also jeweils eines für ein 8-Bit-Byte.
Das SUAR-Register 464 empfängt auch eine Eingabe von dem
LCS-FDR-Register 468 und gibt seine Ausgabe an ein Adressendekrementgerät
bzw. an ein Indexregister 435, das mit DECR bezeichnet ist, das in die Schiene 353 abgibt, die eine Verbindung
für die Eingabe mit einem nicht gezeigten Pufferadressenregister in der S-Einheit herstellt. Das SUAR-Register
464 arbeitet zusammenwirkend mit der Dekrement-
709851/0928
einrichtung 435 so, daß die Adresse innerhalb der Speichereinheit spezifiziert wird, bei der Informationen durch die
C-Einheit 6 gespeichert oder abgeholt werden.
Das SUDR-Register 465 wirkt so, daß die Daten in der Speichereinheit
über einen Byte-Schieber 436 und eine Abgabeschiene 358 gespeichert werden. Das Holen der Daten von der Schiene
394 in das Arbeitsregister 466 bzw. das Speichern über die Schiene 358 erfolgt an der Stelle in der Speichereinheit,
die durch die Adresse auf der Adressenschiene 353 spezifiziert ist.
Die von der Speichereinheit geholte und in dem WR-Register
466 gespeicherte Information wird über die Schiene 424 dem Kanaldatenmanipulator 4o5 übermittelt. Von dem Kanaldatenmanipulator
wird die Datenangabe zurück über die Schiene 4 empfangen und in dem Datenmanipulator-Aus-Register bzw.
-Abgaberegister 437 gespeichert, das mit DMOR bezeichnet ist. Das Register 437 ist mit seinem Ausgang mit dem Eingang
eines Datenhandhabungsregisters 439 verbunden, das mit DHR bezeichnet ist,und seinerseits abgabeseitig an die Eingabeseite
des Ortskanalspeichers LCS 4o6 und den Subkanalpufferspeicher SBS 4o8 angeschlossen ist. Zusätzlich hat das DHR-Register
439 einen Eingang vom Schnittflächenlogikdatenregister
ILGDR 438. Das Register 438 ist so angeschlossen, daß es über seine Eingabeschiene 415 Datenangaben von der
entfernt liegenden Schnittstellenlogik RIL 4o7 empfängt.
Die in Fig. 3 gezeigte entfernt liegende Schnittstellenlogik 4o7 ist mit den I/O-Steuerungen (Steuereinheiten) 411 verbunden.
Dementsprechend erfolgt der Datentransfer in das Datenverarbeitungssystem von den I/O-Geräten über das ILGDR-Register
438. Wenn eine Datenangabe in den Registern 4o4 über die entfernt liegende Schnittstellenlogik 4o7 empfangen
wird, wird sie über das Datenregister 438 zu dem Ortskanalspeicher 4o6 oder dem Subkanalpufferspeicher 4o8 geführt,
709851/0928
DA-14 148 PiT
ehe sie weiter an das Datenverarbeitungssystem übermittelt wird. Wenn die Information von den Registern 4o4 heraus den
I/O-Geräten übermittelt werden soll, erfolgt ein Zugriff zur
Information von dem Ortskanalspeicher über die Schiene 421. Die Information wird in das Ortskanalspeicher-Abholdatenregister
468 eingegeben bzw. darin gehalten, dessen Abgabe als Eingabe mit dem ILPDR-Register 44o verbunden ist. Aus
dem Register 44o werden als eine einem I/O-Gerät zu übermittelnde
Datenangabe eine oder zwei Bytes gleichzeitig durch den Byte-Wähler 441 ausgewählt. Die
Abgabeschiene 416 aus dem Wähler 441 hat sechzehn Datenbits, zwei 8-Bit-Schienen (plus Parität), die als Eingabe mit der
entfernt liegenden Schnittstellenlogik 4o7 verbunden sind.
Insgesamt wirken die Register 4o4 so, daß Daten, die von der S-Einheit über die Schiene 394 abgeholt sind, gespeichert
werden oder daß Daten in der S-Einheit über die Schiene an einem Adressenplatz in der S-Einheit gespeichert werden,
der durch die Adresse auf der Schiene 353 spezifiziert ist. Die zwischen den Registern 4o4 und der S-Einheit übermittelte
Information wird auch in dem Ortskanalspeicher 4o6 oder in dem Subkanalpufferspeicher 4o8 über Schienen 419 an einer
Adresse gespeichert, die von der Schiene 42o spezifiziert ist, und ist einem Zugriff in den Registern 4o4 aus diesen
Speichern über die Schienen 421 und 423 offen. Für Datentransfers zwischen den Registern 4o4 und den I/O-Geräten
wird die Information über die entfernt liegende Schnittstellenlogik auf der Schiene 416 abgegeben und den Registern
4o4 aus der entfernt liegenden Schnittstellenlogik eingegeben .
In Fig. 4 ist der Kanaldatenmanipulator 4o5 der C-Einheit von Fig. 3 im einzelnen gezeigt. Der Datenmanipulator 4o5
empfängt die 32-Bit-Eingabe auf der Schiene 424, welche mit vielen Plätzen in dem Manipulator 4o5 verbunden ist.
709851/0928
Insbesondere bildet die Eingabeschiene 424 als Eingabe zu den Zustandsregistern 476 eine Verbindung mit den Kennzeichenbits
477 und mit dem Befehlsregister 446.
Das Zustandsregister 476 funktioniert so, daß die Zustandsinformation
gehalten wird, welche die Operation der Register und der Kanäle in der C-Einheit 6 von Fig. 3 betrifft.
Die Register 476 haben eine Eingabe zu den eingewählten Toren 487 und bilden einen Teil der Eingabe zu dem OCL 429
als Teil der Schiene 498. Die Kennzeichen 477 wirken als Speichereinrichtungen und zeigen an, dann bestimmte Funktionen
abgelaufen sind. Sie haben gleichzeitig einen Eingang zu dem OCL über eine Schiene 498. Das Befehlsregister 446
funktioniert so, daß Befehlsworte eingegeben bzw. gehalten werden und durch das Tor 487 verfügbar sind. Der Inhalt des
Registers 446 wird in einem zweckmäßigeren Format in der Rückkodierungslogik 478 rückkodiert und wird dann als Eingabe
mit der OCL über die Schiene 49 8 verbunden.
Zusätzlich ist die Eingabeschiene 424 mit der Subkanalzustandslogik
482 verbunden, welche so wirkt, daß die Information gesteuert und analysiert wird, die auf die Subkanalinformation
bezogen ist, welche in dem Subkanalzustandsspeicher SSS gespeichert ist, der einen Teil des Ortskanalspeichers
4o6 bildet, indem Zugriffe zu dem SSS auf der Basis des aufeinanderfolgenden inkrementierten Inhaltes
des Adressenregisters 479 veranlaßt werden. Die Zustandslogik 482 sucht die Information auf der Schiene 424 für den
Subkanal mit der höchsten Priorität. Die Subkanalzustandslogik 482 steht mit der OCL in Verbindung und übermittelt
eine Eingabe an die OCL auf der Schiene 494 und empfängt eine Ausgabe von dem OCL auf der Schiene 499. Zusätzlich
erstellt die Subkanalzustandslogik 482 ansprechend auf die Information auf der Schiene 482 und in dem Einrichtungsadressenregister
479 eine Priorität, die den Einwähltoren 487 für die Speicherung in den Subkanalzustandsplätzen des
70 9851/0928
Ortskanalspeichers 4o6 eingegeben wird.
Die Schiene 424 stellt auch eine Verbindung als Eingabe mit dem Einrichtungsadressenregister 479 her, wobei dieses
Register zur Spezifizierung verwendet wird, welche Einrichtung unter der Steuerung der C-Einheit von Fig. 3 beeinflußt
wird. Das Einrichtungsadressenregister 479 wird direkt von dem wirksamen Adressenregister EAR, das nicht gezeigt ist,
auf der Schiene 426 geladen. Die Einrichtungsadresse auf der Schiene 426, die dem Register 479 eingegeben wird, beträgt
8 Bits. Diese acht Bits werden zusammen mit vier Bits höherer Ordnung zum Spezifizieren der Kanalzahl auf der Schiene 426
dem Steuermultiplexor 7o4 in der Zustandslogik 4 28 von Fig. eingegeben.
Das Einrichtungsadressenregister 479 wird in Inkrementen von acht durch die +8-Inkrementeinrichtung 4 8o auf den neuesten
Stand gebracht, die eine Ausgabe von dem Register 479 erhält und eine neue Eingabe für das Register 479 bildet. Ein Komparator
481 empfängt eine Eingabe von dem Register 479 und von der Eingabeschiene 424 zur Feststellung, wann das Einrichtungsadressenregister
47o die gleiche Einrichtung spezifiziert, die auf der Schiene 424 identifiziert ist. Die
Ergebnisse des Vergleichs im Komparator 481 werden in einem Register 486 gespeichert, dessen Ausgang mit dem OCL als Teil
der Schiene 49 8 verbunden ist.
Die Schiene 424 dient auch als ein Eingang zum Datenmanipulator 483. Der Addierer 483 empfängt auch Eingaben von der
Datenzugriffssteuerlogik DACL auf der Schiene 495 zur Verwendung
in Verbindung mit Datentransfers zwischen der S-Einheit und Kanalspeichern. Der Addierer 483 ist mit seiner
Ausgabeseite mit Einwähltoren über eine Schiene 492 zum Steuern von Hauptspeicheradressen und Datenzählungen in den
Ortskanalspeicher 4o6 und den Subkanalpufferspeicher 4o8 der Kanalspeicher verbunden, wo sie in Verbindung mit Informationstransfers
für den Zugriff verfügbar sind. Der Addierer
709851/0928
DA-14 148
von 483 empfängt auch eine Eingabe von einem Zusatz- bzw. Sicherheitsgenerator 491, der unter der Steuerung der OCL
über die Eingabeschiene 497 so wirkt, daß die Adresse in dem Kanalspeicher am Ende der Vorgänge in Verbindung mit
einem Kanal korrigiert wird.
Der Addierer 483, der im folgenden DM ADDER bezeichnet wird, des Datenmanipulators von Fig. 4 empfängt eine Eingabe von
der Pufferbyte-Zählwahlschaltung 474, die mit BBC SEL bezeichnet wird. Die Schaltung 474 empfängt eine 5-Bitgepufferte
Bytezählung BBC, welche die fünf Bits niedriger Ordnung des gesamten 16-Bit-Zählfeldes enthält. Das Zählfeld
bildet die Gesamtzahl der Bytes der zwischen der Kanaleinheit und der Speichereinheit zu übertragenden Daten. In
den meisten Fällen wird die gepufferte Bytezählung BBC von
dem DACL-Aktionsregister 736 an der Leitung 46o empfangen. Unter bestimmten Bedingungen, wenn Fehler oder andere Unterbrechungen
eingetreten sind, wird die gepufferte Bytezählung von der OCL in der Leitung 461 empfangen. Die Schaltung
474 kann auch eine Information von der Schiene 424 wählen, die von dem Arbeitsregister 466 in Fig. 3 abgezv;eigt
ist. Während der Anlauffolge und immer dann, wenn eine Entnahme von den Bits höherer Ordnung des Zählfeldes erforderlich
ist, wird das Arbeitsregister in Fig. 3 mit dem Zählfeld geladen. Während des Anlaufes vor irgendeinem Byte-Transfer
wird das Zählfeld der rechten Pforte des Addierers 483 eingegeben. Zu anderen Zeiten während der Datenverarbeitung,
wenn das Feld hoher Ordnung der Bytezählung auf den neuesten Stand gebracht werden muß, werden die Bits hoher
Ordnung von dem Arbeitsregister 466 und die Bits niedriger Ordnung (gepufferte Bytezählung) von der Leitung 46o erhalten
und werden zusammen der rechten Pforte des Addierers 483 eingegeben. Die erhaltene Transferlänge beträgt gewöhnlich
vier, da dies die maximale Zahl von Bytes ist, die zur Speichereinheit zur gleichen Zeit gesendet werden kann.
Dieser Betrag muß von dem Zählfeld (und deshalb von BBC) bei jedem Speichereinheitstransfer subtrahiert werden.
709851/0928
DA—14 148 — \4Γ —
ο π *ϊ r r ο ο
2 / 2 b b IZ
Die linke Pforte des Addierer 483 empfängt die tatsächliche Bytetransferlänge TL, die unter üblichen Umständen vier ist,
was einen 4-Bytetransfer kennzeichnet. Die tatsächliche Bytetransferlänge wird von dem übrigen Teil des Zählfeldes
im Addierer 483 unter der Steuerung der Datenmanipulator-Funktionskontrolle 49o abgezogen, die mit DM FCN CTL bezeichnet
ist.
Der Ausgang 492 vom Addierer 483 weist die neue verbleibende Zählung auf. Während eines Anlaufvorgangs wird von dem Anfangszählfeld
nichts subtrahiert. Deshalb erscheint das gesamte Zählfeld an der Schiene 492. Während der Verarbeitung,
um die gepufferte Bytezählung (fünf Bits niedriger Ordnung) auf den neuesten Stand zu bringen, wenn eine Entnahme
von den Bits hoher Ordnung nicht erforderlich ist, tritt eine kurze Folge ein. In der kurzen Folge erscheint
die auf den neuesten Stand gebrachte gepufferte Bytezählung an der Schiene 492 und die Bits hoher Ordnung werden ignoriert.
Eine lange Folge tritt ein, wenn es erforderlich ist, Bits hoher Ordnung zu entnehmen bzw. auszuleihen, die zunächst
von dem Kanalspeicher zum Arbeitsregister 466 geholt werden. Die Bits hoher Ordnung aus dem Arbeitsregister werden
zusammen mit der gepufferten Bytezählung (Bits niedriger Ordnung) von der Wahlschaltung 474 dem Addierer 483 eingegeben.
Die tatsächliche Transferlänge wird subtrahiert, um an der Ausgabeschiene 492 eine neue verbleibende Zählung bzw.
Restzählung zu erzeugen.
Die Ausgabe aus dem Addierer 483 weist die gepufferte Bytezählung (fünf Bits niedriger Ordnung) auf, die auf der
Schiene 427 an das DACL-Ergebnisregister 737 abgegeben wird. Die elf Bits hoher Ordnung werden dem erweiterten Bitrechner
471 eingegeben, der mit EX CAL bezeichnet wird. Der Rechner 471 hat ein 11-Eingabe-ODER-Tor (nicht gezeigt),
welches das Vorhandensein einer logischen 1 bei irgendeinem Bit hoher Ordnung des Zählfeldes feststellt. Die Ausgabe aus
dem ODER-Tor wird immer dann gewählt, wann ein neues
709851/0928
EX-Wahlsignal an der Leitung 456 und an der Leitung 418 erscheint.
Bei Fehlen eines Signals an der Leitung 456 wird der alte Wert von EX an der Leitung 457 beibehalten und an
die Leitung 418 abgegeben. Der Wert von EX an der Leitung wird zum neuen Wert bestimmt und wird direkt zum DACL-Ergebnisregister
737 abgegeben. Er wird auch in das gepufferte Bytezählungsregister BBCR 47o zusammen mit dem neuen Wert
der gepufferten Bytezählung von der Schiene 492 zu der Zeit eingegeben bzw. gehalten, wenn die OCL ein Haltesignal bzw.
ein Eingabesignal an der Leitung 462 gibt.
Die spezielle, von dem Addierer 483 ausgeführte Addition oder Funktion wird durch die Datenmanipulator-Funktions-?
stuerung 49o spezifiziert, die Steuerfunktionen hat, welche durch die Operationssteuerlogik OCL an der Eingabeschiene
496 von der Steuerpunktdekodierungs7o6 der OCL spezifiziert wird. Die sechs Eingänge an der Schiene 496 aus der OCL
sind die genaue Zählung, die Zusatzzählung (backup count), die genaue Datenangabe, die Zusatzdatenangabe, Inkrement
durch vier und Inkrement durch acht. Die Eingabe an den Leitungen 417 aus der DACL spezifiziert, ob addiert oder subtrahiert
wird.
Die DMOR-Einwähltore 487 erzeugen die Ausgaben an der
32-Bits-Schiene 425, die als eine Eingabe für das Datenmanipulator-Ausgaberegister
437 in der Registereinheit 4o4 von Fig. 4 dient. Der Inhalt der 32 Bits wird unter der
Steuerung der Wahlsteuerungen 488 gewählt und formuliert. Die Wahlsteuerungen 488 wählen die Information aus der Eingabeschiene
424, aus der Subkanalzustandslogik 482, aus den Zustandsregistern 476, aus dem Einrichtungsadressenregister
479, aus dem Datenmanipulatoraddierer 492, aus dem Befehlsregister 446 und aus der Eingabeschiene 475.
Die Eingabeschiene 475 zu den Auswähltoren 487 empfängt acht Bits, jedes auf der Schiene 475, die aus der jeweiligen
709851/0928
Kanalzahlinformation, der gesteuerten Kennzeichenregisterinformation
und der Kanalzustandsinformation bestehen. Zusätzlich empfängt die Schiene 475 vier Bits von Datenangaben,
die sich auf eine neue Subkanalzustandsinformation an der Schiene 497 aus der OCL beziehen. Die Schiene 475
erhält weiter eine Eingabeinformation von der Schiene 495, die von dem Zustandsrechner 7o3 von Fig. 6 über die Schiene
495 abgeleitet wird.
Kanalsteuerlogik und Zustandsspeicher der C-Einheit (Fig. 5)
Die Kanalsteuerlogik CCL 4o3 in der Anordnung von Fig. 3
wird im einzelnen in Fig. 6 gezeigt. In Fig. 5 bilden der Statusspeicher 428, die Operationssteuerlogik OCL 429, die
Datenzugriffssteuerlogik DACL 43o und die zentrale Schnittstellensteuerlogik CICL 432 die Hauptteile der Kanalsteuerlogik,
die mit dem Kanalzustandsspeicher zusammenwirkt. Jedes dieser Teile ist einem Kanal gleichzeitig zuweisbar,
wobei jedes Teil Kanälen zugewiesen werden kann, die von den anderen verschieden sind.
Der Kanalzustandsspeicher besteht aus Schieberegisterstufen 71o, wobei jeweils eine für jeden Kanal vorgesehen ist. Die
Schieberegisterstufen 71 ο haben einen Schiebekanalzustandsspeicher
SCS, der den Zustand eines jeden Kanals bestimmt und anzeigt, welcher Kanal für eine Zuweisung zu Teilen der
Kanalsteuerlogik CCL verfügbar ist. Die sechzehn Stufen 71o,
die mit SCSO, SCSI .... SCSI 5 bezeichnet sind, enthalten
jeweils zu jedem gegebenen Zeitpunkt eine Information# die
einem einzigen entsprechenden Kanal der Kanäle zugeordnet
ist, die als Kanäle CHO, CH1 CH15 bezeichnet sind.
Während eines Anfangszyklus enthält zu einem Zeitpunkt SCSO
eine Information, die sich auf CHO bezieht. SCSI enthält eine Information, die CH15 zugeordnet ist, usw., bis SCSI 5
eine Information enthält, die CH1 zugeordnet ist. Während des nächsten Taktzyklus enthält SCSO eine Information, die
709851/0928
CH1 zugeordnet ist, SCSI eine Information, die CHO zugeordnet
ist. Mit jedem darauffolgenden Taktzyklus wird die Kanalinformation schrittweise durch die Stufen 71 ο in der
herkömmlichen Schieberegisterweise weitergegeben. Nach sechzehn Zyklen befindet sich die Information wieder im
Anfangszyklus. '
Wie erläutert, ist der Kanalschiebestatus bzw. der Schiebekanalzustand
SCS ein Satz von sechzehn Schieberegistern mit Stufen 0 bis 15. Jede Kanalzustandslnformation besetzt einen
Platz und schiebt um eine Stufe bei jedem Zyklus in Ringform weiter. Ein gegebener Kanal, der sich jetzt in der Stufe 0
befindet, erscheint dort wieder nach sechzehn Zyklen.
Die Kanalzustandsinformation bestimmt die I/0-Prozeßzustände
und die Steuerungs- und Fehlerinformation für jeden Kanal. Die Operationssteuerlogik, die Datenzugriffssteuerlogik
und die zentrale Schnittflächensteuerlogik haben einen Zugriff zu dieser Information an speziellen Punkten längs
des SCS-Weges. Dies erlaubt eine Beeinflussung aller sechzehn
Kanäle auf einer zeitgeteilten Basis.
A. Der globale Transferzustand GTS
Dieses 6-Bit-Feld bildet den zentralen Schnittstellensteuerlogikstatus
CICL für einen Kanal. Die sechs Bits werden oktal interpretiert. Die GTS-Zustände werden von
00 bis 77 numeriert.
B. Der OCL-Ortszustand OLS, 6 Bits
Dieses Feld dekodiert oktal und stellt den gegenwärtigen Zustand der Operationssteuerlogik OCL für einen Kanal dar.
Höher bestimmte Zustände sind:
709851/0926
Status | OLS Bits |
012345 | |
OCL in Ruhe | 1O1EOO |
Anfangswahl | 100ETT |
SIOF | II00TT |
Kette | 111000 |
Halt | 111010 |
Transfer | 111100 |
Warten Kettendaten | OCPPPP |
Kontingenz Halten | 1101TT |
Das eingesetzte Bit "E" zeigt an, daß ein Kanal oder eine Schnittstellensteuerprüfung festgestellt wurde, ehe ein
Zustandskode rückgeführt und die I-Einheit während der Ausführung einer I/O-Instruktion freigegeben wurds.
Das TT-FeId in der Anfangswahl und SIOF werden von dem
Schnittstellenzeitgeber eingeleitet und zum Feststellen eines Schnittstellen-Timeout-Zustandes verwendet.
Das TT-FeId bei Kontingenz Halten wird von dein Kontingenzhaltezeitgeber
eingeleitet.
Das CPPP-FeId bei Warten Kettendaten ist eine Kopie des
letzten Bytezeigers von CICL, gemacht während der Vorabholung bzw. Vorabrufung.
Das OLS-FeId bestimmt den inneren Status der Operationssteuerlogik
OCL. Der grundsätzliche Unterschied zwischen dem globalen Transferstatus GTS und OLS besteht darin, daß
OLS ein Zustand innerhalb OCL allein ist, während GTS sowohl OCL als auch die Steuerungs- (zentrale) Schnittstellenlogik
CICL betrifft und durch jede übergeführt werden kann. Der Zweck von OLS besteht darin, einen getrennten
Zustand für jede Steuerstufe von OCL für ein spezielles TS festzulegen. Wenn beispielsweise GTS der Anfangsstatus-
709851/0928
DA-14 148 - 2X~-
O 7 O C C O
Zustand ist, unterscheidet OLS, ob der Zustand durch ein START I/O (SIO) oder eine Befehlskette eingeleitet ist.
c· Transferoperation TOP , 2 Bits
Das Transferoperationsfeld enthält den Typ der Datentransferoperation,
der durch das Kanalbefehlswort CCW spezifiziert ist.
00 Test I/O
01 Ausgabe oder Steuerung
10 Eingabe
11 Eingabe rückwärts
D. Unterbrechungszustand IS, 3 Bits
Dieses Feld enthält den Unterbrechungszustand des Kanals. Es
ändert sich nicht, wenn Subkanäle ausgetauscht werden. Die Unterbrechungszustände aller Subkanäle, die einem speziellen
Kanal zugewiesen sind, werden in dem Subkanalzustandsspeicher SSS gespeichert. Das IS-Feld reflektiert den Unterbrechungszustand
dieser Subkanäle, der die höchste Priorität hat. Die acht, von diesem Feld dargestellten Zustände sind von der
höchsten zur niedrigsten Priorität im folgenden aufgeführt:
010 "Tötlicher" Steuerungscheck. In dem Kanal ist eine
Steuerungsprüfung bzw. ein Steuerungsstillstand festgestellt worden.
111 Hardware-Check. Der Kanal enthält eine Unterbrechung
infolge einer Hardware-Fehlfunktion.
110 Primäre Unterbrechung. In den Kanal oder Subkanal
ist eine "Kanalende"-Unterbrechung vorhanden.
709851/0928
Sekundäre Unterbrechung. Es existiert eine
asynchrone Unterbrechung, die das "Kanalende" nicht ausschließt. Ein sekundärer Status wird
in dem Kanal nicht gespeichert, wird jedoch in dem I/0-Gerät schwebend gehalten.
Kanal verfügbar. Es ist eine "Kanal verfügbar"-Unterbrechung vorhanden. Dies wirkt nur auf die
Blockmultiplexkanäle.
Nichts. Es sind keine Unterbrechungen im Kanal oder in den Subkanälen vorhanden.
SSS wird nicht abgetastet. Dieser Kode zeigt,
daß der Unterbrechungszustand nicht bekannt ist, da der Subkanalstatusspeicher SSS nicht abgetastet
worden ist. Dies tritt ein, nachdem eine Unterbrechung verarbeitet worden ist, und bleibt, bis
die Operationssteuerlogik OCL eine Abtastung beginnen kann.
E. Ungewöhnliches Beendigungsfeld UTF, 3 Bits
Dieser 3-Bit-Kode stellt einen Zustand dar, der den Datentransfer für einige ungewöhnliche Zustände beendet. Wenn
mehr als ein ungewöhnlicher Zustand vorhanden ist, wird der Zustand gesetzt, für den ein höherer Wert festgelegt ist.
Okay. Keine Beendigung des Datentransfers.
Halt. Dies wird bei Empfang einer Halt-I/O-Instruktion
festgelegt.
Schutz-Check bevorstehend.
011 Programm-Check bevorstehend.
Die vorstehenden beiden Zustände werden gesetzt, wenn entweder der Schutz-Check oder der Programm
Check für einen vorher abgerufenen Befehl oder eine Datenangabe bei der Kettendatenverarbeitung
für die Abgabeoperation festgestellt wird. Diese Zustände werden in reale Checks umgewandelt, wenn
der I/0-Operationszustand zu dem neuen Befehl fortschreitet
oder wenn die Schutzgrenze gekreuzt wird,
100 Schutz-Check
101 Programm-Check
110 Schnittstellen-Steuercheck. Fehler entdeckt an der
I/O-Schnittfläche.
111 Kanal-Steuercheck. Fehler entdeckt bei der Steueroperation
innerhalb der C-Einheit.
F. Kanaltyp (CH-Typ), 2 Bits
Dieser Kode stellt den Typ des Kanals dar. Fig. 1 bis 6 zeigen, wie der Kanaltyp bestimmt wird, wobei Informationen
von dem Kanaladressenspeicher CAS verwendet werden. Die beiden Kanaltyp-Bits haben die folgende Bedeutung:
00 Byte-Multiplexer
01 Block-Multiplexer
10 Selektorkanal
11 Nicht installiert
709851/0928
G. OCL-ünterscheider, PCL DIST., 1 Bit
Wird gesetzt, wenn die OCL durch den OCL-Kettenbefehlsstrom
geht, ehe sie in den Start I/O-Schnellstrom SIOF
eintritt. Dadurch kann die OCL unterscheiden, ob in SIOF ausgehend von einer Start-I/O-Schnellinstruktion oder durch
den Kettenbefehlsstrom eingetreten wurde.
Das OCL-ünterscheidungsbit wird auch während einer Kettendatenoperation
verwendet. In diesem Fall wird das Bit eingeschaltet, wenn die CICL-Zeigermarke an CPPPP vorbeigeht
(letzte Byte-Zeigermarke des laufenden CCW).
In jedem der vorstehend beschriebenen Fälle wird das Unterscheidungsbit in den SCS-Zustand 1 durch die OCL gesetzt,
H. Datenzugriffssteuerlogikzeiger DACLP, 5 Bits
Der DACLP zeigt auf das nächste Datenbyte, zu dem die DACL in dem Kanalpufferspeicher greift.
I. Gepufferte Byte-Zählung BBC
Die BBC-Bits 0 bis 4 sind die fünf Bits niedriger Ordnung der Byte-Zählung von dem Kanalbefehlswort CCW. Während
der Abholung des CCW kopiert die Operationssteuerlogik OCL die fünf Bits niedriger Ordnung von dem CCW-Zählfeld in
den Schiebekanalzustand.
J. Verfügbarer DACL-Puffer ADB, 3 Bits
ADB ist die Anzahl der Datenbytes oder der Datenplätze, die für die DACL zur Verarbeitung verfügbar sind.
ADB ist ein Maß für die Beanspruchung des Puffers.
709851/0928
■iiSS»
CICL trägt zu der Beanspruchung ADB bei. DACL verringert die Beanspruchung von ADB.
ADB von O ist eine maximale Beanspruchung an der Ausgabe
und eine minimale Beanspruchung an der Eingabe. Der Datenpuffer ist in beiden Fällen leer.
ADB bedeutet zwei Dinge:
a) Bei der Eingabe stellt ADB den vollen Zustand des LCS-Datenpuffers
dar und ist die Zahl der Datenbytes in dem Puffer.
2) Bei der Ausgabe stellt ADB den leeren Zustand des Datenpuffers dar und ist die Zahl der Byteplätze, die
in dem Puffer leer sind.
ADB ist ein Maß für die Datenbeanspruchung. Je größer ADB ist, desto größer ist die Beanspruchung. Die Steuerungsschnittstellenlogik
CICL erhöht die Beanspruchung. Die Datenzugriffssteuerlogik DACL verringert die Beanspruchung.
Bei einer Eingabeoperation bedeutet ein verfügbarer DACL-Puffer ADB von 0, daß keine Bytes in einem Kanaldatenpuffer
vorhanden sind und daß sich der Puffer auf einer minimalen Beanspruchung befindet. Wenn Bytes von
dem I/O-Gerät aufgenommen werden, bringt sie CICL in den
Datenpuffer und erhöht die ADB, d. h. der Datenpuffer wird stärker beansprucht. Wenn DACL diese Bytes von dem Datenpuffer
entfernt und sie zu der S-Einheit schickt, reduziert DACL den Wert ADB, d. h. der Datenpuffer wird weniger beansprucht
.
Bei einer Ausgabeoperation bedeutet ein verfügbarer DACL-Puffer
ADB von 0 ebenfalls einen leeren Puffer. Der Datenpuffer befindet sich jedoch im Zustand der maximalen
709851/0928
Beanspruchung, weil die CICL keine verfügbaren Daten zum überführen zum I/O-Berät hat. Wenn DACL Daten in den Puffer
gibt, verringert DACL den Wert ADB und der Datenpuffer wird weniger beansprucht. Wenn die Steuerungs-Schnittstellensteuerlogik
CICL diese Daten entfernt, rediziert CICL den Wert ADB, was eine stärkere Beanspruchung am Datenpuffer
ergibt.
Als Beispiel wird eine Ausgabeoperation eines Datenpuffers genommen. Die DACL verringert ADB. Die CICL erhöht ADB.
Wenn vier Bytes in den Puffer durch die DACL gebracht v/erden, wird ADB von O (32 leere Positionen) auf 28 (29 leere
Positionen) reduziert. Es sind dann einige Daten für die CICL verfügbar und der Puffer wird weniger beansprucht.
Wenn die CICL dem I/O-Gerät ein Byte übermittelt, wird
ADB auf 29 (29 leere Pufferplätze) erhöht und der Puffer
wird stärker beansprucht.
K. Kennzeichen, 4 Bits
Die Kettendatenangabe CD kommt von dem Kennzeichenfeld des Kanalbefehlwortes CCW. Sie wird in dem SCS durch die einleitende
SCS-Angabe bewahrt (gesehen in den OCL-Fließdiagrammen).
Der Kettenbefehl CC kommt von dem CCW-Kennzeichenfeld und
wird in dem SCS durch die einleitende SCS-Angabe bewahrt (gesehen in den OCL-Fließdiagrammen).
"Illegale Länge festgestellt (ILD)" wird in SCS4 oder C gesetzt, wenn die Steuerungs-Schnittflächensteuerlogik
CICL eine nicht korrekte Aufzeichnungslänge festgestellt
hat.
Überspringen/Programm-Steuerungsunterbrechung SKIP/PCI
wird verwendet, um ein überspringen bei einer Eingabeoperation (Datentransfer unterdrückt) oder eine programm-
gesteuerte Unterbrechung für eine Kettendatenabgabeoperation anzuzeigen. Wenn ein CCW vorher während eines Datenketten-•
Vorgangs abgeholt wird, wobei sein PCI-Kennzeichen an ist, wird das Kennzeichen PCI-schwebend gesetzt. Wenn der 1/0-Transfer
für dieses CCW eingeleitet wird, d. h. das vorherige CCW ist abgeschlossen, wird dieses Bit zu dem PCI-Kennzeichen
überführt.
L. Checks, 3 Bits
Programmgesteuerte Unterbrechung PCI: Dieses Bit wird gesetzt, wenn das Kanalbefehlsv/ort das PCI-Kennzeichen
hat. Eine PCI-Unterbrechung wird der I-Einheit präsentiert, wenn dieses Bit vorhanden ist. Obwohl sich dieses Bit in
dem Checkfeld von SCS befindet, ist es logischerweise Teil des Kennzeichenfeldes in SCS.
Kettencheck CCK zeigt, daß ein Verkettungscheck eingetreten ist. Die Feststellung erfolgt durch die DACL-Prloritätslogik.
Wenn der Verkettungscheck festgestellt wird, wird das CCK-Bit in SCS 3 durch die DACL-Prioritätslogik postiert.
Kanaldatencheck CDC zeigt, daß die DACL oder CICL einen Kanaldatencheck festgestellt hat.
M. CICL (CCD , 2 Bits
Der CICL-Indikator, CICL IND., wird in SCS 0 oder 8 bei
zwei Gelegenheiten geschrieben:
1) Während der Anfangswahl, wenn die Adresse aus dem 1/0-Gerät
(bei Adressen-ein-Zeit) mit der Adresse vereinbar ist, die dem I/O-Gerät übermittelt wird (bei der Adressen-aus-Zeit).
709851/0928
2) Während der Anfangswahl, wenn der Anfangsstatus (zur Status-ein-Zeit) gleich O ist.
3) CICL Paritätsfehler (CICL P.E.) wird in SCS 1 oder 9
geschrieben, wenn die CICL entweder
a) einen Paritätsfehler bei Schnittstellendaten feststellt, die in den Ortskanalspeicher LCS gehen, wobei
der Fehler in dem Datenhalteregister DHR festgestellt wird, oder
b) einen Paritätsfehler bei den Daten feststellt, die von LCS geholt werden, wobei der Fehler in dem Ortskanalspeicher-Abholdatenregister
LCSFDR festgestellt wird.
N. Schnlttstellentransferbreite ITW, 3 Bits
Es wird eine vier Byte-Schnittstelle FBI verwendet, um anzuzeigen,
daß dieser Kanal als 1/2 eines Kanalpaares arbeitet, das für eine 4-Byte-Schnittstellenoperation verwendet
wird.
Bits O bis 1 haben zwei Funktionen:
1) Bit O wird verwendet, um den Befehl für einen erneuten Eintritt
in die OCL während des Status-Ein zu signalisieren, wenn der Status nicht null ist. Dies erfolgt durch
Überführen des Zeichens -Ein- 0 Bit von der I/O-Schnitt-εte
He zu dem ITW-Bit 0.
2) Zu einer anderen Zeit als der Statuszeit zeigen die Bits 0 bis 1 die logische Breite der I/O Schnittstelle an,
wobei gilt:
709851/0928
DA-14 148 | OO | 1 | (DTP) , | - 2&- | breit |
01 | 3 | By te s | breit | ||
10 | 2 | Bytes | breit | ||
11 | 4 | Bytes | breit | ||
Seite | Bytes | ||||
Distanz zur | 4 Bits | ||||
Seitenbit — wenn angezeigt wird, daß der Kanal entweder eine Kanalindirektadressierung oder eine logische Operation
ausführt. Bits 0-2 haben die folgende Bedeutung:
000 Seitengrenze mehr als 4 Bytes entfernt
001 Seitengrenze ein Byte entfernt
010 Seitengrenze zwei Bytes entfernt
011 Seitengrenze drei Bytes entfernt
100 Seitengrenze vier Bytes entfernt
101 Seitengrenze erreicht 110 Nicht benutzt
101 Nicht benutzt
P. Speicherschutzschlüssel (KEY), 4 Bits
Diese Bits enthalten den Speicherschutzschlüssel von dem Kanaladressenwort CAW. Das Feld wird durch die OCL eingeleitet.
Siehe Einleiten SCS in OCL-Fließdiagramm.
Q. Kanalzahl (CH.NO.), 4 Bits
Diese Bits identifizieren den Kanal, zu dem die SCS-Zustandsinformation
gehört, innerhalb der angezeigten Stufe (siehe Kanalzahl-Erzeugung).
709851/0928
Die Kanalpufferspeicher umfassen den Subkanalpufferspeicher
SBS und den Ortskanalspeicher LCS. Der SBS hält die Steuerung und die Statusinformation für inaktive Subkanäle fest.
Der LCS wird in drei logisch getrennte Bereiche unterteilt, in einen Kanalpufferspeicher 1, CBSI, den Subkanalzustandsspeicher
SSS und den Kanalpufferspeicher 2, CBS II. CES I und CBS II enthalten Steuerungs-, Zustands- und Datenpufferbereiche
für die sechzehn Kanäle. Der SSS speichert die Funktionszustände aller 1o24 verfügbaren Subkanäle.
Es gibt sechzehn Datenpuffer bei dem Kanalpufferspeicher CBS, einschließlich der Speicher 4o7 und 4o8 von Fig. 5,
jeweils einer für jeden Kanal. Die Steuerungsschnittstellenlogik CICL 432 und die Datenzugriffssteuerlogik DACL
43o steuern diese Puffer. Die DACL 43o steuert die Datenbewegung zwischen der S-Einheit 4 und dem CBS-Datenbereich.
Die CICL 432 steuert die Bewegung der Daten zwischen dem CBS und dem I/O-Geräten über Steuerungen 411. Bei einer
Eingabe füllt die CICL 432 die Datenpuffer, während sie die DACL 43o leer. Bei einer Ausgabe gilt das Entgegengesetzte.
Die DACL füllt und die CICL entleert.
Jeder Puffer enthält 32 Ein-Byte-Plätze. Das Adressieren
erfolgt jedoch in Ein-Wort-Grenzen. Man kann sich die Puffer als kreisförmige Schlangenlinien vorstellen. Wenn eine umlaufende
Adresse verwendet wird, sind die Pufferoperationen fortlaufend. Das heißt, wenn die DACL oder CICL das letzte
Wort 28 adressiert, fahren sie bei der Adresse null fort.
Um die Spur des Pufferzugriffs zu halten, werden zwei Punkte verwendet. Der DACL-Zeiger und der CICL-Zeiger,
von denen jeder auf einen der 32 Ein-Byte-Plätze zeigt.
709851/0928
J (ο
Der DACL-Zeiger ist ein 5-Bit-Zeiger, der in SCS gehalten
ist (es gibt 16 DACL-Zeiger, einen für jeden Kanal). Der Zeiger wird von der DACL verwendet, um eine CBS-Adresse
zu erzeugen, wenn ein Zugriff zu dem Datenpuffer vorgenommen werden soll.
Der CICL-Zeiger wird nicht in SCS gehalten. Der CICL-Zeiger
wird in der CICL dadurch erzeugt, daß das 4-Bitverfügbare DACL-Pufferfeld ADB aus dem SCS zu dem DACL-Zeiger
addiert wird. Wie die DACL verwendet die CICL ihren Zeiger, um CBS-Adressen zu erzeugen, die in das Ortsspeicheradressenregister
LCSAR 467 geladen werden, wenn ein CBS-Zugriff erforderlich ist.
Anhand von Fig. 8 wird das Verhalten der Zeiger bzw. Zeigermarken für eine Eingabeoperation beschrieben. Die beiden
Zeiger beginnen bei null. Die CICL sammelt Daten, ein Byte gleichzeitig, speichert r>ie in dem CBS über den CICL-Zeiger
und bewegt den Zeiger um eine Bytezählung weiter. In Fig. 8 hat das CICL die Bytes 0 bis 23 geladen und zeigt
auf den nächsten Platz, auf Byte 24. Die DACL greift Daten in dem CBS über den DACL-Zeiger, sendet die Daten zur
S-Einheit und bringt den DACL-Zeiger auf den neuesten Stand. In Fig. 8 befindet sich der DACL-Zeiger bei dem Byte
0. Bei dem ersten Transfer überführt die DACL vier Bytes, die Bytes 0 bis 3, so daß der DACL-Zeiger sich auf dem
Byte 4 nach einem Transfer befindet. Der CICL-Zeiger führt den DACL-Zeiger im Uhrzeigersinn um die Schlange während der
Eingabe herum. Wenn die CICL den Puffer LCS 4o6 füllt, leert ihn die DACL.
Bei einer Eingabebeendigung beendet die CICL den Datentransfer, ehe dies die DACL tut. Wenn weniger als 32 Datenbytes
zu übertragen verbleiben, geht das EX-Bit weg. Wenn das EX-Bit weggegangen ist, ist BBC die verbleibende Byte-
zählung. 709851/0928
DA-14 148 -jar-
Die CICL hört auf, Daten einzugeben, wenn BBC = ADB und
EX abgegeben ist. Zu diesem Zeitpunkt enthält der Datenpuffer LCS 4o6 alle erforderlichen Bytes, obwohl die DACL den
Transfer aller Bytes zur S-Einheit nicht abgeschlossen hat. Die DACL hört auf, Daten zur S-Einheit zu übermitteln,
wenn BBC schrittweise auf null gelangt ist und EX abgegeben ist. Nur die DACL dekrementiert BBC, so daß, wenn
BBC null ist, alle Bytes zur S-Einheit geschoben worden sind.
Die Abgabeoperation wird mit den in Fig. 9 gezeigten Zeigern erläutert. Der DACL- und der CICL-Zeiger starten
beide bei null. Die DACL holt 4 Datenbytes von der S-Einheit, placiert sie in dem CBS pro DACL-Zeiger und
bewegt den Zeiger fort. In Fig. 9 hat die DACL sechsmal gearbeitet, so daß sich der Zeiger bei dem Byte 24 befindet. Die CICL übermittelt dem I/O-Gerät Daten und bewegt
den CICL-Zeiger weiter. Die CICL ist nur am Anfang und befindet sich auf dem Byte null. Jeder Transfer ist ein
Byte, so daß der nächste Platz Byte 1 ist. Der DACL-Zeiger führt den CICL-Zeiger im Uhrzeigersinn um die
Schlange herum. Wenn die DACL den LCS-Puffer füllt, leert ihn die CICL.
Für ein Abgabeende beendet die DACL den Datentransfer, bevor dies die CICL tut. Wenn weniger als 32 Bytes für die
DACL zum Abholen bleiben, geht das EX-Bit ab. Wenn das EX-Bit abgegeben ist, ist BBC die verbleibende Bytezählung.
Die DACL hört mit dem Datenabholen auf, wenn BBC schrittweise auf null geführt ist und das EX-Bit abgegeben ist.
Die CICL hört auf, Daten zu I/O zu verschieben, wenn ADB * BBC = 0.
709851/0928
Der Kanalzahlgenerator ist ein 4-Bit-Binärzähler, der als
Kanalzahlabschnitt der SCS-Stufe F ausgeführt ist. Die 4-Bit-Kanaladresse schreitet fort zu den SCS-Stufen O,
und 2. Da diese Stufen die einzigen Stufen sind, bei denen SCS-Daten geprüft oder modifiziert werden, fällt der
Kanaladressenabschnitt von SCS nach Stufe 2 ab. Die Nova erzeugt die Kanalzahlen, die in den anderen SCS-Stufen
gezeigt werden.
Nach dem Einschalten beginnt dieser 4-Bit-Ninärzähler bei
einem willkürlichen Zustand, macht dann jeweils einen Schritt bei jedem Taktzyklus und zählt von O bis F und
wiederholt kontinuierlich.
Das Bit niedriger Ordnung des Zahlengenerators kippt jeden Zyklus. Dieses Bit niedriger Ordnung dient einem
doppelten Zweck. Es wird als"ungerade Zyklushalteschaltung" bezeichnet.
Wenn die Halteschaltung ausgeschaltet ist, wird der Zyklus
als "gerade" bezeichnet. Wenn die Halteschaltung eingeschaltet ist, bezeichnet man den Zyklus als "ungerade". Diese Halteschaltung hat
eine Eingabe an den Sü/LCS Mux, um gerade/ungerade-Zyklen
in Bezug auf die CICL oder OCL/DACL-Priorität zu bestimmen.
Die nicht gezeigte Takteingabe zu jeder der Stufen 71o
ist herkömmlich.
Der erste Teil der Kanalsteuerlogik CCL 4o3 ist die Zustandsschaltung
428, die auf die Stufen SCSI 5 und SCSO des Kanalzustandsspeichers anspricht. Die Stufe SCSI5
empfängt eine Eingabe von der Stufe SCSI 4, eine Eingabe von dem Befehlshalteregister 45o von Fig. 3 auf der Leitung
712 und eine Eingabe auf der Leitung 452, die von der Bedienungseinheit 12 von Fig. 1 abgeleitet wird.
709851/0928
DA-14 148
Bei der Information SCSI 5 erfolgt während jeder vorgegebenen
Taktperiode eine Eingabe an den Zustandsrechner 7o3, wobei die Konfigurationsberechnung entsprechend der
Schaltverdrahtungseingänge an den Leitungen 7o8 die Konfiguration der Kanaleinheiten neu erstellt und die Ergebnisse
in SCSO speichert. Zusätzlich erzeugt der Zustandsvorrechner 7o3 über ein Register 7o2 eine Eingabe an eine
unmittelbare Prioritätslogik 714, wobei der Zustand des Kanals dem Inhalt von SCSI5 zugeordnet ist. Gleichzeitig
empfängt die Steuermultiplexeinheit 7o4 die 4-Bit-Kanaladresse auf der Eingabeschiene 426 von dem nicht gezeigten
EAR der I-Einheit von Fig. 1. Der Steuermultiplexer 7o4 empfängt zusätzlich einen op-Kode und unterbricht die Information
auf der Schiene 426, die über ein Register 7o2 der OCL-Sofortausführungslogik 714 zugeführt wird. Zusätzlich
zu der von der I-Einheit über die Schiene 426 erhaltenen Eingabe führt der Steuermultiplexer 7o4 die Steuerinformation
zurück zu der I-Einheitssteuerung über eine Schiene 716, um die Zustandskodierungen einzustellen und
um anzuzeigen, wann Operationen abgeschlossen sind, die durch die I-Einheit spezifiziert sind. Der Steuermulitplexer
7o4 erhält den Zustandskode und op-Abschlußinformation
über Eingänge aus der OCL-Sofortprioritätslogik 714 und von der OCL-Bearbeitungslogik 719.
Die Information inder Stufe SCSI 5 wird in jedem Zyklus
in die Stufe SCSO vorgesteuert eingegeben, wo sie für einen Zyklus gehalten wird. In gleicher Weise erhält die
Stufe SCSI5 eine neue Information von der Stufe SCSI4 und
hält sie in jedem Zyklus.
SCSO gibt eine 46-Bit-Eingabe an die OCL-Sofortbehandlungslogik
714. Die OCL-Sofortbehadlungslogik 714 wartet für die Zirkulationsstufeninformation in den Stufen 71o, um
umlaufen zu lassen, bis die Information für den Kanal, der durch die vier Kanalbits an der Schiene 426 spezifiziert
ist. zur Stufe SCSI zirkuliert. Wenn dieser
709851/0928
da-14 148
adressierte Kanal seinen Zustand hat, ist die Information SCSI. Die Logik 714 bestimmt die Operation, die auszuführen
ist. Wenn der adressierte Kanal, wie er durch die Zustandsschaltung 428 bestimmt ist, auf andere Weise sich in Ruhe
befindet, arbeitet die OCL 429 und kopiert den Inhalt von SCSI in das OCL-Stufungsregister 721, das mit OCLSR bezeichnet
wird. Gleichzeitig veranlaßt die OCL-Sofortbehandlungslogik
714, daß eine "Instruktion" in das OCL-Sofortregister 722 gesteuert wird, das die Bezeichnung
OCLIR hat. Das Register 722 veranlaßt über einen seiner Ausgänge, daß die OCL-Ergebnislogik 725 die Kanalzustandsinformation
für den adressierten Kanal,der sich gleichzeitig in SCSI befindet, von"Ruhe" auf "schwebende Operation"
ändert. Der Zustand von Ruhe auf schwebend tritt ein, wenn die Information in SCSI über die Ergebnislogik 725 zu dem
SCS2 gegeben wird.
Wenn die Information in SCS2 anzeigt, daß ein schwebender Operationszustand vorhanden ist, enthält das Stufungsregister
721 eine Information, in welchem Zustand sich diese Operation zusairimen mit der Information befindet, die
ausreicht, um die Operation einzuleiten. Während dieser Zeit wartet die I-Einheit auf ein Rücksignal auf der
Leitung 716, welches die I-Einheit in die Lage versetzt, Instruktionen in dem Instruktionsstrom weiterzuverarbeiten.
Die OCL-Behandlungslogik bzw. die OCL-Prozedurlogik 719
mit ihrer Eingabe von dem Stufungsregister 721 analysiert den Gehalt des Registers 721, um Prozeduren einzuleiten,
die einen Zugang zu dem Kanalspeicher bewirken, einschließlich des Ortskanalspeichers 4o6 und des Subkanalpufferspeichers
4o8. Auf diese Kanalspeicher erfolgt ein Zugriff, um den Zustand des adressierten Subkanals zu erreichen
und zu halten. Der Subkanal wird durch den Datenmanipulator mit seinen acht Bits indentifiziert, wobei
die Einrichtungsnummer an der Schiene 426 eingegeben ist.
Die OCL-Prozedurlogik 719 beginnt über das Register PRTR 724 Folgen in dem 0SVg1JPf*\nfKχ>
§¥" OCL-Zuordner 726
umfaßt sequentielle Logikprogrammteile zur Durchführung von
Kontrollfunktionen über die OCL-Steuerpunktdekodierung 7o6,
wodurch die Register 4o4, der Datenmanipulator 4o5 und die vier Teile 428, 429, 43o und 432 der Kanalsteuerlogik 4o3
ihre erforderlichen Funktionen ausführen.
Wenn die Prozedurlogik 719 den Zuordner 726 veranlaßt hat, eine spezielle Prozedur einzuleiten, befindet sich die
Prozedurlogik 719 in einem Wartezustand, in welchem auf den Abschluß der Prozedur gewartet wird. Wenn die Logik 719 ein
Signal auf der Eingabeschiene 498 erhält, welches anzeigt, daß eine eingeleitete Prozedur abgeschlossen ist, erfolgt
eine Entscheidung über die nächste Prozedur, wenn überhaupt eine ausgeführt wird. Wenn alle Prozeduren, die durch die
Logik 719 spezifiziert sind, ausgeführt sind, zeigt die Prozedurlogik 719 diesen Zustand durch ein Signal zur Ergebnislogik
725 an. Wenn danach die zugeordnete Kanalinformation im Stufenregister 721 ebenfalls in die Stufe SCS2 verschoben
ist, veranlaßt die Ergebnislogik 725 eine Änderung in der Kanalzustandsinformation, wodurch eine Setzung von
"Operation schwebend" in "Anfangswahl" erfolgt.
In Fig. 5 verwendet die OCL 429 das OCL-Ergebnisregister OCLRR 469 und das OCL-Sofortregister OCLIR 722, um neue
SCS-Informationen in SCS2 zu postieren.
Das OCLIR wird verwendet, wenn es möglich 1st, Einzyklusentscheidungen
beim Setzen von bestimmten SCS-Feldern zu treffen.
Das Setzen des OCLIR wird durch die OCL-Sofortlogik 714
bestimmt.
Die OCL-Sofortlogik empfängt SCS-Informationen (GTS, OLS
usw.) von SCS 0 und Steuerinformationen (wie I/O OP jetzt)
von dem Steuermux 1o4 (Multiplexer). Diese kombinierte
709851/0928
DA-14 148 -
Information wird in die OCL-Sofortlogik eingebracht, während
sich der Zyklus des Kanals in SCSO befindet. Die Sofortlogik inspiziert diese Information und fällt Entscheidungen
für das Setzen von Halteschaltungen in dem OCLIR. Wsnn der Kanal in
SCSI eingestuft wird, werden die OCLIR-Halteschaltungen gesetzt.
Wenn der Kanal in SCS2 eingestuft wird, steuern die OCLIR-Haltes^altungen
das Postieren von spezifizierten FCS-Feldern
in SCS2 über die Ergebnislogik 725.
Das OCL-Sofortlogikregister 722 kann sieben Felder von
SCS beeinflussen, nämlich
1) UTF
2) GTS
3) DTP
4) IS
5) OLS
6) SKIP und PCI Bits
7) DACLP
Das folgende IM-Logikbild zeigt die Eingabe- und Ausgabelogikzustände
der Logik 714 und ist unter Verwendung herkömmlicher Logikschaltungen gebaut.
PCI & SKIP: 0 - Keine Änderung
1 - Setzen von PCI und Rücksetzen von SKIP
DTP: O - Keine Änderung
1 - Setzen von DTP auf
UTF: 00 .- Keine Änderung
01 - Nicht benutzt
10 - Setzen von UTF auf
11 - Setzen von UTF auf
709851/0928
IS: OO - Keine Änderung
01 - Setzen von SI auf 1
10 - Setzen von IS auf 2
11 - Setzen von IS auf 3
GTS: OO - Keine Änderung
01 - Setzen von GTS auf 5o
10 - Setzen von GTS auf OO
11 - Setzen von GTS auf 66 und DACLP auf O
OLS: OO - Keine Änderung
01 - Setzen von OLS auf Ruhe
10 - Setzen von OLS auf Transfer
11 - Setzen von OLS auf blind bzw. leer
In Fig. 5 wirkt die OCL-Prioritätslogik OCL PRI LOGIC 715
zusammen mit dem OCL-Stufungsregister OCLSR 721, um zu bestimmen, welche Prozedur durch die OCL 429 ausgeführt
wird. Die OCL 429 ist in der Lage, viele verschiedene Steuerprozeduren durchzuführen. Da jeder neue Kanal in
SCS O kommt, muß die OCL-Prioritätslogik 715 bestimmen,
ob der neue Kanal mit einer Steuerprozedur bedient werden soll oder nicht und ob die OCL 429 ruht oder ob die geforderte
Prozedur für den Kanal eine höhere Priorität als andere Kanäle hat, die die Bedienung von OCL 429 angefordert
haben.
Das OCL-Stufungsregister 721 wiiJct unter der Steuerung der
Prioritätslogik 715. Die Stufungsregister 721 haben ein
Paar von Halteschaltungen für jede der Eingangsprozeduren, die von der OCL 429 ausgeführt werden können. Jedes
Paar von Halteschaltungen ist eine Haupt-Neben-Kombination.
Die Prioritätslogik 715 fragt SCS 0, um zu bestimmen, wann irgendeine der Prozeduren, die von der OCL 429
ausgeführt werden kann, von dem Kanal in SCS 0 angefordert wird. Wenn eine Anforderung für eine Prozedur vorhanden ist,
709851/0928
wird die Haupthalteschaltung entsprechend dieser Prozedur automatisch in das Register 721 gesetzt. Es wird nur eine
Haupthalteschaltung zu jedem Zeitpunkt gesetzt. Die Haupthalteschaltungen im Register 721 sind in jedem Taktzyklus
durch nicht gezeigte herkömmliche Einrichtungen taktgesteuert, und zwar jedesmal dann, wenn SCS taktgesteuert
ist. Die Ausgabe einer jeden Haupthalteschaltung beschickt ihre entsprechende Nebenhalteschaltung im Register 721.
Ein Transfer von der Haupthalteschaltung zur Nebenhalteschaltung erfolgt jedoch dann, wenn die Prioritätslogik
715 bestimmt, daß ein Transfer eintreten soll. Die OCL-Prioritätslogik ist eine herkömmliche Logik zum Vergleichen
des Inhaltes der Haupthalteschaltungen mit den Nebenhalteschaltungen im Register 721, um zu bestimmen, ob
die in den Haupthalteschaltungen geforderte Prozedur eine höhere Priorität als die Prozedur in den Nebenhalteschaltungen
hat. Die verschiedenen Prozeduren, die OCL 429 ausführen kann und die anhand der Prozedurlogik 719 diskutiert
werden, haben alle eine vorher festgelegte Priorität. Beispielsweise haben Prozeduren mit höherer Priorität eine
Platzhalteschaltung mit höherer Zahl, während Prozeduren mit einer niedrigeren Priorität eine Platzhalteschaltung mit
niedriger Zahl haben. Die Prioritätslogik 17 ist deshalb im wesentlichen ein herkömmlicher Komparator. Wenn die Haupt-Nebenhalteschaltung
eine höhere Zahl als die Nebenhalteschaltungszahl hat, gibt die Komparatorausgabe von der
Prioritätslogik 719 einen Takt an die Nebenhalteschaltungen im Register 72o, wodurch die höhere Prioritätsprozedur in die
Nebenhalteschaltungen überführt wird. Wenn die in den Nebenhalteschaltungen
indentifizierte Prozedur bereits eine gleiche oder höhere Priorität hat, wird keine Ausgabe durch
die Prioritätslogik 715 erzeugt und die vorausgehende Prozedur
wird in der Nebenhalteschaltung gehalten. Der Inhalt der Nebenhalteschaltung im Register 721 spezifiziert die
nächste von der Prozedurlogik 719 auszuführende Prozedur. Obwohl die Prioritätslogik 715 als einfacher Komparator und
als Torsteuerung zwischen den Haupt-Nebenhalteschaltungen
709851/0928
DA-14 148 -JkT-
beschrieben ist, können auch andere komplizierte Prioritätsschaltungen
gemäß der Erfindung verwendet werden. Beispielsweise kann das Basisprioritätsvergleichsschema
zwischen dem Inhalt der Haupt-Nebenhalteschaltungen ausgeweitet
werden, indem die Ausgabe von dem Komparator unter bestimmten Bedingungen unterbunden wird oder abwechselnd der
Transfer von der Haupthalteschaltung zu den Nebenhalteschaltungen erzwungen wird, auch wenn die Ausgabe von dem Komparator
nicht erfolgte.
Die Operation der Prioritätslogik ist die eines 2-Bit-Zustandsgerätes.
Es gibt vier Zustände für das Zustandsgerät, nämlich 00, 01, 10 und 11.
Die Zustandsgerätzustände des Stufungsregisters SR sind nur wesentlich, wenn die Stufungsregisternebenhalteschaltung
eine OCL-Prozeduranforderung enthält, nämlich SR-voll. Das SR-Zustandsgerät bestimmt, ob die Stufungsregisternebenhalteschaltungen
gleich bleiben oder rückgesetzt werden sollen,und ermöglicht eine neue Anforderung,
die von den Stufungsregisterhaupthalteschaltungen geladen wird. Die Zustände werden folgendermaßen bestimmt:
Zustand OO - über-Schreibeη der Nebenhalteschaltungen
Wenn SR-voll vorliegt, zeigt dieser Zustand an, daß die OCL-Prozedurlogik eine OCL-Prozedur ausführt, jedoch für
einen anderen Kanal als den Kanal SCS 1.
Dieser Zustand tritt ein, wenn
a) OCL sich nicht in Ruhe befindet
b) die Kanalzahl in SCSI nicht gleich ist der Kanalzahl in
dem OCL-Aktionsregister 72o oder dem OCL-Ergebnisregister
469. Dieser Vergleich virä ausaefül.rt, wenn der Kanal sich
in SCSO befindet und für die Verwendung ctes nächsten Zyklus
gehalten ist, wenn sich der Kanal in SCSI befindet.
709851/0928
DA-14 148 - 4T
Aktion während des Zustandes 00:
Es wird ein Vergleich zwischen den Stufungsregisterhaupt- und Nebenhalteschaltungen ausgeführt, um zu bestimmen, wenn
die Haupthalteschaltungen eine größere Priorität als die Nebenhalteschaltungen haben.
Wenn die Stufungsregisterhaupthalteschaltungen in der Priorität höher sind, werden die Nebenhalteschaltungen tal:tgesteuert.
Dies führt dazu, daß die Stromanforderung rückgesetzt wird und daß die Anforderung in den Haupthalteschaltungen
auf die Nebenhalteschaltungen übertragen wird. Die Nebenhalteschaltungen werden gesetzt, wenn der anfordernde
Kanal in SCS2 eintritt.
Zustand 01 (Kanalzahl in SCSO = Kanalzahl in Nebenhalteschaltungen)
:
Dieser Zustand zeigt an, daß die OCL-Prozedurlogik an der
Schiene eine OCL-Prozedur für einen Kanal ausführt, wobei die Stufungsregisternebenhalteschaltungen eine auszuführende
Anforderung halten und der Kanal, der sich gegenwärtig in SCSO befindet, der gleiche Kanal ist, für den die Nebenhalteschaltungen
eine Anforderung enthalten.
Zu diesem Zeitpunkt ist es möglich, daß der Kanal in SCSO nicht länger eine OCL-Prozedur erfordert, oder er erfordert
eine andere Prozedur als vorher.
Dieser Zustand tritt ein, wenn
1) Die OCL-Prozedurlogik arbeitet
2) die Stufungsregisternebenhalteschaltungen eine Prozeduranforderung
enthalten, die bis jetzt von der Prozedurlogik nicht akzeptiert worden ist (Stufungsregister voll).
708851/0928
Mt
3) Die Kanalzahl in SCSO ist die gleiche Kanalzahl, die sich zur Zeit in den Stufungsregisternebenhalteschaltungen
befindet.
Die Stufungsregisternebenhalteschaltungen werden taktgesteuert.
Es gibt drei mögliche Ergebnisse:
1) Der Kanal in SCSO fordert nicht länger eine OCL-Prozedur. Die Stufungsregisternebenhalteschaltung, die eingesetzt
ist, wird rückgesetzt, SR-voll schaltet aus.
2) Der Kanal in SCSO fordert noch eine Prozedur, jedoch eine andere als vorher. Die vorhandene Nebenhalteschaltung wird
rückgesetzt. Es wird eine neue gesetzt, um die neue Anforderung wiederzugeben. SR-voll bleibt.
3) Der Kanal in SCSO fordert noch die gleiche Prozedur wie vorher. Die Stufungsregisernebenhalteschaltungen werden
taktgesteuert. Die Nebenhalteschaltung, die vorhanden war, bleibt. SR bleibt voll gesetzt.
Zustand 10 (SR ist voll gehalten):
Dieser Zustand zeigt an, daß das Stufungsregister mit voller
Halteschaltung bzw. Eingabe bleibt, auch wenn die OCL-Prozedurlogik
ruht.
Etwas von der OCL-Prozedurlogik fordert, daß SCS-Informationen
in das Aktionsregister 72o von SCSI geladen werden, ehe die Prozedur ausgeführt werden kann.
Wenn die OCL-Prozedurlogik eine Prozedur beendet und den Ruhezustand
erreicht, wird die Anforderung an die Stufungsregisternebensperren
von der Prozedurlogik akzeptiert und eSR-voll schaltet ab, wodurch es möglich ist, daß die nächste Prozeduranforderung
von den Stufungsregisterhaupthalteschaltungen an die Nebenhalteschaltunaen übertragen wird.
HS
Wenn die OCL-Prozedurlogik in den Ruhezustand gelangt und die
Forderung in den Stufungsregisternebenhalteschaltungen SCS-Informationen
verlangt, geht das SR-Zustandsgerät in den Zustnad 10. Es bleibt in diesem Zustand, bis der der Anforderung
zugeordnete Kanal SCS 1 erreicht. Zu dieser Zeit wird das Aktionsregister 72o von SCS 1 geladen und SR-voll wird
rückgesetzt. Dieser Zustand tritt ein, wenn:
1) OCL sich in Ruhe befindet (die Prozedurlogik, die eine
Anforderung macht, arbeitet gerade nicht)
2) die Stufungsregisternebenhalteschaltungen enthalten eine Anforderung (SR-voll ein)
3) die OCL-Prozedurlogik hat nicht begonnen, die Anforderung auszuführen, da die erforderliche SCS-Information von
SCS 1 nicht in das Aktionsregister geladen wurde.
Aktion während des Zustandes 10:
1) SR-voll kann nicht rückgesetzt werden
2) Die Zustandsregisternebenhalteschaltungen können sich nicht ändern.
Wenn der Kanal mit der Anforderung an die Stufungsregisternebenhalteschaltungen
in SCSO eintritt, werden Signale erzeugt, die es dem Aktionsregister ermöglichen, von SCSI während des
nächsten Zyklus geladen zu werden. Zu dieser Zeit gehört die OCL-Ruhe auf.
Zustand 11 (SR leer gesetzt):
Dieser Zustand zeigt an, daß die Anforderung an die Stufenregisternebenhalteschaltungen
von der OCL-Prozedurlogik während des nächsten Zyklus akzeptiert wird.
709851/0928
DA-14 148 - /MT -
Es wird SR leer gesetzt, wodurch alle Anforderungen an die Stufungsregisterhaupthalteschaltungen gestellt werden können,
auf die Nebenhalteschaltungen übertragen zu werden.
Dieser Zustand tritt ein, wenn:
1) OCL sich in Ruhe befindet
2) die Stufungsregisternebenhalteschaltungen eine Anforderung
enthalten
3) die Anforderung in den Nebenhalteschaltungen keine SCS-Information
von SCSI fordert? wenn dies der Fall ist, ist diese Information bereits in das Aktionsregister geladen
.
Aktion während des Zustandes 11:
1) SR-voll ist rückgesetzt
2) Wenn die Stufungsregisterhaupthalteschaltungen eine Anforderung
enthalten, werden die Stufungsregisternebenhalteschaltungen taktgesteuert und so gesetzt, daß sie
diese Anforderung wiedergeben.
Die (XL-Prioritatslogik 715 hat gewöhnlich eine nicht gezeigte
Stufungsregister-voll/leer-Halteschaltung, welche nur
auf die Stufungsregisternebenhalteschaltungen Bezug nimmt. Wenn die Nebenhalteschaltungen eine Anforderung enthalten,
die nicht von der OCL-Prozedurlogik akzeptiert worden ist, wird die Halteschaltung gesetzt. Wenn die OCL-Prozedurlogik
ihre laufende Operation beendet und zur Ruhe gelangt, ermöglichen bestimmte Zustände es der OCL-Prozedurlogik, die
Anforderung in den Nebenhalteschaltungen zu akzeptieren. Es beginnt die Bearbeitung dieser Anforderung. Zu dieser Zeit
wird die Stufungsregistervollhalteschaltung rückgesetzt und der Status Zustandsreglster leer wird aktiv.
709851/092 8
SO
Wenn die OCL-Prozedurlogik leer wird, wird normalerweise die
Anforderung, die sich augenblicklich in den Nebenhaiteschaltungen befindet, unmittelbar von der OCL-Prozedurlogik
akzeptiert. Einige Prozeduranforderungen verlangen jedoch, daß die Information von SCS in das OCL-Aktionsregister geladen
wird, ehe diese Prozedur erreicht werden kann, wobei der Weg für die SCS-Information SCSI zum Aktionsregister ist. Wenn
dies eintritt, gehen das OCL-Prioritätsstufungsregisterzustandsgerät
in den Zustand 10, der unterbindet, daß das volle Stufungsregister rückgesetzt wird, bis der Kanal mit der
Anforderung in SCSI eintritt. Wenn eine Anforderung in den Nebenhalteschaltungen von der OCL-Prozedurlogik akzeptiert
worden ist, werden die Stufungsregisternebenhalteschaltungen logisch leer (Stufungsregister-voll ist ausgeschaltet). Die
vorhandene Nebenhaiteschaltung wird nicht rückgesetzt, bis
eine neue Nebenhalteschaltung gesetzt ist.
Die Stufungsregister-voll-Schaltung wird gesetzt, wenn alle
folgenden Maßnahmen eintreten:
1) Es liegt keine Anforderung in den Nebenhalteschaltungen vor.
2) Der Kanal in SCS 0 hat eine Anforderung für eine OCL-Prozedur.
3) Der Kanal in SCS 0 befindet sich zur Zeit nicht in dem OCL-Aktionsregister oder dem OCL-Ergebnisregister.
Die Halteschaltung wird rückgesetzt, wenn irgendeine der folgenden Maßnahmen eintritt:
1) Es erfolgt eine Systemhauptrucksetzung.
2) Der Prioritätszustand der Geräte ist 11.
709851/0928
3) Der Prioritätszustand der Geräte ist 01 und es ist keine Prozeduranforderung für den Kanal in SCS 1 vorhanden.
Die Halteschaltung wird an der Rücksetzung gehindert, wenn der Prioritätszustand des Gerätes 10 ist.
In den Registern in der OCL sind vier Kanalzahlen enthalten, von denen jede vier Bits breit ist. Die Kanalzahlen sind die
Kanalzahl für die Stufungsregisterhaupthalteschaltungen CN-SM,
die Kanalzahl für die Stufungsregisternebenhalteschaltungen CN-SS, die Kanalzahl für das Aktionsregister CN-AR und die
Kanalzahl für das Ergebnisregister CN-R.
Die Kanalzählen in den Registern halten die Spur dafür,
welcher Kanal sich gerade in jeder Phase der OCL befindet, das Stufungsregister 721, das Aktionsregister 72o und das
Ergebnisregister 469. Die Register sind pipelineartig angeordnet.
Die CN-SM-Kanalzahl wird von einem normalen Taktgeber taktgesteuert
und bei jedem Zyklus geladen, während die übrigen Kanalzahlen mit ihrem entsprechenden Register, wie vorher
beschrieben, geladen werden.
Die Prioritätslogik 715 von Fig. 5 hat typischerweise eine
nicht gezeigte Zustandshalteschaltung für "Kanal nicht in Prozedur" CNIP. Diese Halteschaltung zeigt, wenn sie gesetzt
ist, daß der Kanal in SCSO weder im Aktionsregister 72o beeinflußt wird, noch in dem Ergebnisregister 469 für das
Postieren in SCS2 gehalten wird.
Diese Halteschaltung informiert die OCL-Prioritätslogik, daß
der Kanal in SCS 0 in den Stufungsregisternebenhalteschaltungen placiert werden kann, wenn
709851/0 9 28
DA-,4,48
1) der Kanal eine Prozeduranforderung hat und
2) die Nebenhaiteschaltungen für die Aufnahme einer neuen
Anforderung verfügbar sind.
Jeder Zyklus dieses Zustandsgerätes ist gesetzt oder rückgesetzt,
um den Zustand des Kanals in SCSO wiederzugeben bzw. wiederzuspiegeln.
Die Prioritätslogik 715 hat typischerweise eine OCL-Unterscheidungshalteschaltung,
die in zwei Fällen gesetzt wird, nämlich wenn
1) das OLS-FeId in SCSO gleich einer Kette ist. Dies ermöglicht
der OCL zu erkennen, daß OLS in SIOF von einer Kette anstelle von einer SIOF-Instruktion eingeht.
2) CICLP CPPPP während "warten, Kettendaten" passiert. Dies ermöglicht OCL, die richtige CCW-Adresse in dem CSW im
Fall des Datentransferendes zu placieren, ehe die Bytezählung 0 erreicht.
In Fig. 5 hat die OCL-Prozedurlogik 719, die mit OCL PROC
LOGIC bezeichnet wird, ein herkömmliches, nicht gezeigtes Zustandsgerät, beispielsweise einen Zähler oder ein Register.
Das OCL-Prozedurzustandsgerät besteht aus fünf Zuständen, nämlich IDLE (Ruhe), WORK (arbeiten), WORK 0, WORK 1 und
EXIT (aus).
Das Zustandsgerät wird durch eine herkömmliche Steuer- und Dekodierlogik in der OCL PROC LOGIC 719 gesteuert und ist,
wie anhand der Zustände erläutert wird, folgendermaßen definiert:
Das Zustandsgerät befindet sich im Zustand IDLE, wenn die OCL PROC LOGIC 719 keine OCL-Prozedur ausführt.
709851/0928
Wenn die OCL-Prioritatslogik 719 feststellt, daß von einem
Kanal eine Prozedur verlangt wird, wird die Anforderung in die OCL-Stufungsregisternebenhalteschaltungen 721 placiert
und die SR FULL-Halteschaltung eingeschaltet.
Wenn die verlangte Prozedur ein "Abrufen CAW" (FETCH CAW),
"Ersetzen, Kettendaten" (BACK UP CHAIN DATA) oder "Blind 1" (DUMMY 1) ist, wird das verlangte Signal "Aktionsregister
warten" (WAIT ACTION REGISTER) "WAAR" aktiviert. Wenn die Anforderung für eine andere Prozedur ist, bleibt WAAR inaktiv.
Abhängig vom Zustand von WAAR, handelt das OCL-Prozedurzustandsgerät
folgendermaßen:
1) Entweder es fährt mit dem WORK-Zustand bei dem nächsten geraden Zyklus fort. Wenn WAAR inaktiv ist und SR-voll
aktiv ist, geht das OCL-Prozedurzustandsgerät zum Arbeitszustand über bei dem nächsten geradzahligen Zyklus.
2) Oder wenn WARTEN für AR-voll anliegt, geht das Gerät in
den WORK-Zustand bei dem folgenden geraden Zyklus über.
Wenn SR-voll und WAAR beide aktiv sind, bleibt das OCL-Prozedurgerät
in dem IDLE-Zustand, bis AR-voll aktiv wird. Dann geht es während des nächsten geraden Zyklus in den
WORK-Zustand über. WAAR signalisiert der OCL-Prozedurlogik,
daß die Prozeduranforderung eine solche Anforderung ist, bei der es nötig ist, daß eine SCS-Information in das OCL
Aktionsregister 72o geladen wird, ehe die Prozedur ausgeführt werden kann. Wenn der fordernde Kanal in SCS 0 eintritt,
werden Signale erzeugt, die das Laden des Aktionsregisters mit der erforderlichen SCS-Information während des nächsten
Zyklus erlauben, wenn der Kanal sich in SCS 1 befindet.
709851/0928
Wenn das Aktionsregister geladen ist, wird das Signal AR-voll erzeugt und das OCL-Prozedurzustandsgerät geht in
den WORK-Zustand während des nächsten geraden Zyklus über.
Wenn das OCL-Prozedurgerät den Schritt zum WORK-Zustand macht, werden vier Steuersignale erzeugt.
1) PRT-Takt-steuerbar (PRTCE)
Dieses Signal erlaubt die Taktsteuerung des Prozedurtransferregisters
724, das mit PRT bezeichnet ist. Das Signal SR-voll und das Prozedurzustandsgerät, das sich
nicht im IDLE-Zustand bzw. Ruhezustand befindet, steuert das Prozedurstartsignal. Zusammen mit PRT-Takt-steuerbar
setzt dies die Prozedur (die in den OCL-Stufungsregisternebenhalteschaltungen gehalten wird) in das PRT-Register.
2) START
Dieses Signal veranlaßt einen herkömmlichen, nicht gezeigten Zuordner, beispielsweise einen Zähler, den IDLE-Zustand
bzw. Ruhezustand zu verlassen, wodurch die Prozedurlogik die Prozedur beginnen kann, die in dem PRT-Register
gehalten ist.
3) SCHRA-Takt-steuerbar
Dieses Signal ermöglicht es dem OCL-Aktionsregister 72o,
die Kanalzahl zu laden.
4) SR auf leer gesetzt
Dieses Signal zusammen mit dem Ruhezustand des OCL-Prozedurzustandsgerätes
setzt das OCL-Prioritätsstufungsregister-Zustandsgerät auf 11. Dadurch wird die SR-voll-Haltschaltung
rückgesetzt. Wenn SR-voll aus ist, wird die OCL-
709851/0928
DA-14 148
Prioritätslogik 719 informiert, daß die Prozeduranforderung
in den Stufungsregister-Nebenhalteschaltungen auf PRT übertragen ist und daß die Nebenhalteschaltungen nun logisch
leer sind.
Das OCL-Prozedurzustandsgerät, das sich im WORK-Zustand befindet,
ermöglicht es, daß die Prozedur, die in dem PRT-Register 724 gehalten ist, ausgeführt wird.
Wenn die Ausführung der Prozedur abgeschlossen ist, beispielsweise
wenn der Zähler die maximale Zählung erreicht und rücksetzt, tritt das OCL-Zuordnerzustandsgerät in den Ruhezustand,
wodurch das Prozedurzustandsgerät informiert wird, daß die
Prozedur ausgeführt ist.
Wenn der OCL-Zuordner in den Ruhezustand eintritt, wird der Prozedur-WORK-Zustand bzw. -Arbeitszustand rückgesetzt, wenn
AR-voll aktiv ist. Wenn AR-voll nicht aktiv ist, bleibt der
Arbeitszustand gesetzt, bis AR-voll aktiv wird.
Wie im vorstehenden ausgeführt wurde, kann die erste auftretende Prozedur ausgeführt werden, ehe das OCL-Aktionsregister
mit den Kanal-SCS-Informationen von SCS 1 geladen wird.
Wenn eine zweite Prozedur ausgeführt werden soll, ist es immer erforderlich, daß sich die SCS-Information zuerst in
dem OCL-Aktionsregister befindet. Deshalb muß das AR-voll-Signal
vorhanden sein, ehe der WORK-Zustand bzw. Arbeitszustand rückgesetzt wird.
Das OCL-Prozedurgerät schreitet von dem WORK-Zustand zu dem WORK-O-Zustand, wenn folgendes eintritt:
1) Das Aktionsregister ist voll.
2) Der OCL-Zuordner tritt in den Ruhezustand und signalisiert den Abschluß der laufenden Prozedur.
709851/0928
3) Es handelt sich um einen ungeraden Zyklus (ODD).
4) Die auszuführende Prozedur ist
A) Speichern SCW2
B Abrufen Subkanalzustand
C) übermitteln STW
D) Abrufen Gerätzustand
E) Abrufen CCW1
F) Abrufen CCW2
G) Abrufen IDAW H) übersetzen
I) Abrufen CAW und PAR bei Bit
Wenn irgendeine der anderen Prozeduren ausgeführt werden soll, schreitet das OCL-Prozedurgerät von WORK zu WORK
Die obige Kombination erzeugt ein Verzogerungssignal. Dieses
Verzögerungssignal (Delay) zeigt an, daß die OCL-Folgelogik
zwei extra Zyklen braucht, nachdem der OCL-Zuordner den Ruhezustand
erreicht. LCS erleichtert und das OK für OCL von SU/LCS MUX wird erforderlich.
Aktion während des WORK-O-Zustandest
WORK 0 ist ein Zwei-Zyklus-Verzögerungszustand, indem keine Aktion erfolgt.
Rücksetzen auf WORK-O-Zustand:
Der WORK-O-Zustand wird rückgesetzt bei dem nächsten ungeraden
Gerätezyklus, nachdem es gesetzt wird.
709851/0928
DA-14 148 - 52Γ-
OCL-Prozedur WORK-1-Zustand
Setzen:
Setzen:
Der WORK-1-Zustand wird durch eines von zwei Verfahren gesetzt,
nämlich
1) bei dem folgenden ungeraden Zyklus, nachdem WORK O gesetzt
ist, wenn in WORK 0 eingetreten ist,
2) bei dem gleichen Zyklus, der den WORK-Zustand rücksetzt,· wenn die Verzögerung für die OCL-Prozedur inaktiv ist.
Aktion während des WORK-1-Zustandes:
Der WORK-1-Zustand zeigt an, daß eine OCL-Prozedur abgeschlossen
ist. Wenn das Signal "OCL-Prozedur-Ende" aktiv ist, war es die letzte Prozedur eines Prozedurstrangs.
Beispiel: Prozedurstrang
F CAW
FCCW1
FCCW2
FCCW1
FCCW2
SAVE MODES (Modusbewahrung - dies ist die letzte Prozedur des Strangs)
Am Ende einer jeden Prozedur tritt das OCL-Prozedurgerät in den WORK-1-Zustand ein. Am Ende der SAVE MODES-Prozedur wird
auch das OCL-Prozedur-Ende-Signal aktiv.
Der Aus-Zustand (EXIT) wird erreicht, we-n die letzte Prozedur des Prozedurstrangs abgeschlossen ist (OCL PROCEDURE END)
und sich das OCL-Folgegerät im WORK-1-Zustand befindet.
709851/0928
Der Aus-Zustand kann nicht gesetzt werden, wenn das OCL-Ergebnisregister
eine Information enthält, die noch nicht an SCS abgegeben ist (Postieren von OCLRR aktiv).
Der Aus-Zustand bleibt nur für einen Zyklus. Bei dem nächsten Zyklus nach dem Aus-Zustand geht das OCL-Prozedurzustandsgerät
auf Ruhe, wodurch die nächste Prozedur gestartet werden kann.
Wenn ein Kanal eine OCL-Prozedur fordert, ist es möglich, daß mehr als eine Prozedur ausgeführt werden muß.
Wenn beispielsweise I/O OP JETZT und SIO aktiv sind und
GTS = 00, wird die Prozedur "Abholen CAW" (FCAW) ausgeführt. Nachdem SAW abgeholt bzw. abgerufen ist, werden die Prozeduren
"Abrufen CCW1" (FCCW1), "Abrufen CCW2" (FCCW2) und "SAVE MODES" (SVMD) ausgeführt. Wenn CAW-Abrufen beendet ist, beginnt die
Logik automatisch mit CCW1-Abrufen. Wenn CCW1-Abrufen beendet
ist, wird automatisch mit CCW2-Abrufen begonnen. Wenn CCW2-Abrufen
beendet ist, beginnt SAVE MODES (Modusbewahrung). Wenn SAVE MODES beginnt, wird das OCL-Prozedur-Ende-Signal
erzeugt.
Dieses Signal OCL-Prozedur-Ende bedeutet, daß die letzte Prozedur eines Prozedurstrangs begonnen hat.
Wenn diese letzte Prozedur abgeschlossen ist, tritt das OCL-Prozedurgerät
in den WORK-1-Zustand ein. Die Ergebnisse der kombinierten Leistungen der Prozeduren werden in das OCL-Ergebnisregister
placiert. Es wird die Halteschaltung "Postierung OCLRR" eingeschaltet, um zu signalisieren, daß
das OCL-Ergebnisregister voll ist.
"Prozedurstart" wird erzeug, wenn die SR-voll-Halteschaltung
eingeschaltet ist, wodurch angezeigt ist, daß die Stufungsregisterhalteschaltungen
eine Prozeduranforderung haben, die noch nicht ausgeführt ist. Das OCL-Prozedurgerät befindet
sich im Ruhezustand, was anzeigt, daß keine Prozedur gegenwärtig von der OCL-Prozedurlogik ausgeführt wird.
709851/0928
Das Prozedur-Start-Signal ermöglicht, daß die Prozedur in den Stufungsregisternebenhalteschaltungen in das PRT-Register
übergeführt und darin gehalten wird.
Das Signal "Start für den Prozedurzuordner" wird erzeugt, wenn
das OCL-Prozedurzustandsgerät in den WORK-Zustand gesetzt wird
oder wenn WORK 1 und OCL-Prozedur-Ende aktiv sind.
Dieses Signal setzt die OCL-Folgegerätzustände "Hauptfolge 0"
und "Subfolge 0". Dies ermöglicht, daß die Prozedur in dem PRT-Register gehalten wird, um eine Beeinflussung der OCL-Prozedurlogik
zu beginnen.
Der Sü/LCS MUX 7o4 enthält die Leitung "keine S-Einheit OP".
Diese Leitung ist normal aktiv und muß durch OCL abgesteuert werden, wenn OCL einen Datentransfer zur oder von der S-Einheit
erfordert. Dieses Absteuern wird durch spezielle OCL-Prozeduren erreicht, beispielsweise durch FCCW1, FCCW2,
FCAW.
Wenn durch ein I/O-Gerät "Forderung-In" über eine Steuerung
411 aufgestellt wird, tritt CICL 432 in eine Erfassungsfolge (polling sequence) ein, GTS = 3o. Wenn GTS = 32, wird die
Adresse des I/O-Gerätes in dem Wort 0 von LCS gespeichert.
GTS geht in den Zustand 33, bis "Adresse-ein" abfällt und "Status-ein" aufgestellt wird. Das GTS geht dann in "Statusbereit" (37) über.
Wenn die OCL den "Zustand-bereit" von GTS feststellt,und OCL
auf "Ruhe" ist, wird die Subkanalzustandsabrufprozedur ausgeführt.
Diese Prozedur ruft die I/O-Adresse von LCS Wort-0 ab und führt sie in das I/O-Adressenregister 479.
Die Signale "-WR00-07 für IOAR", "SEL LCS T WR BYTE 0",
"LCS wählen für WR" und "IOAR-Takt-steuern" werden durch die OCL erzeugt, um die I/O-Adresse in das I/O-Adressenregister
479 zu steuern.
709851/0928
Wenn die Prozedur Subkanalzustand-Abrufen abgeschlossen ist,
wird die Prozedur Schieben-ESB und IOAR ausgeführt, um den Puffer zu unterbrechen (MEBI oder MEDI). Diese Prozedur
nimmt die I/O-Geräteadresse von dem I/O-Adressenregister
479 und führt sie in das LCS-Wort 6 Byte 3 ein.
Die Signale "TDH DMOR T DHR C1", "DMOR Takt-steuern" und
"SEL DAR zu DMOR BYTE 3" werden von der OCL erzeugt, um die I/O-Adresse in das DHR-Register 439 über die Wahlschaltung
487 zu führen.
I/O OP - jetzt
Wenn die I-Einheit eine I/O-Instruktion (SIO, TIO, usw.)
dekodiert, gibt sie"I/O-OP-schwebend" an die C-Einheit. Die
übermittelt auch die Kanal/Einrichtungsadresse von der I-Einheit WAR-Register auf der Schiene 426 zum Register 479
von Fig. 4.
Der Steuermux 7o4 stellt das "I/O-OP-schwebend"-Signal fest
und vergleicht darauf ansprechend die erhaltene Kanaladresse mit der Kanaladresse in SCS F (SCS 15). Wenn die beiden
Adressen zusammenpassen, übermittelt der Steuermux 7o4 das Signal "I/0-OP-jetzt" an die OCL.
Die OCL hält das "I/0-0P-jetzf'-Signal, wenn der Kanal auf
SCS 0 übergeht.
Wenn der Kanal auf SCS 1 übergeht, bewirkt die OCL
1) das Setzen der "CAW-abholen"-Prozedur für die Stufungsregisterhauptschaltungen,
wenn OCL auf Ruhe ist und GTS gleich OP-schwebend, Erfassungssequenz 1 oder Ruhe ist.
2) Sie setzt die STIDC-Prozedur für die Stufungsregisterhauptschaltung,
wenn die Instruktion von der I-Einheit "Speicherkanal ID" war, OCL auf Ruhe ist und GTS gleich
709851/0928
OP-schwebend, Erfassungssequenz 1 oder Ruhe ist.
3) Sie hält I/O-OP-jetzt in den Stufungsregisterhalteschaltungen.
Wenn die Instruktion aus der I-Einheit eine Instruktion ist, die CAW nicht erfordert, wird noch die
CAW-abrufen-Prozedur ausgeführt.
Wenn die Taktgebung für die Stufungsregisternebenschaltungen eintreten, wird das I/O-OP-jetzt-Signal in den Stufungsregisternebenhalteschaltungen
gehalten.
Wenn das Aktionsregister auf Ruhe geht und bereit ist, eine neue Anforderung aufzunehmen, setzt die I/O-OP-jetzt-Aktionsregisterhalteschaltung.
Die OCL tiberwacht das IS-Feld von SCS 0. Wenn ein Kanal eine
Speicherung eines CSW fordert, gibt die OCL das Forderungssignal SET RUPT REQUEST. Wenn die Unterbrechung abgedeckt ist,
übermittelt der Steuermux 7o4 "Unterbrechung erfordertich"
(RUPT REQ) an die I-Einheit. Wenn die I-Einheit bereit ist, die Unterbrechung in den Prozeß aufzunehmen (erlaubt wird,
CSW zu speichern), wird "Unterbrechung bestätigt" (RUPT ACK) der C-Einheit übermittelt.
Nach dem Feststellen von "Unterbrechung bestätigt" (RUPT ACK) wartet der Steuermux auf den anfordernden Kanal für die
Zyklusführung in SCS F (SCS 15). Wenn die Kanaladresse in RCHR gleich SCS F ist, sendet der Steuer-Mux "Unterbrechung
jetzt" (RUPT NOVi) zur OCL. RUPT NOW ist einen Zyklus lang
und kommt jedesmal, wenn die Kanalzahl in RCHR gleich SCS F ist, bis das Signal I/O-vollständig (IOCP) von der OCL
empfangen wird, was anzeigt, daß CSW gespeichert worden ist. Der Steuer-Mux wartet für RUPT ACK, so daß die I-Einheit und
der Steuer-Mux auf Ruhe gehen.
709851/0928
Wenn der Kanal in SCS O eintritt, hält die OCL-Prioritätslogik
das RUPT NOW-Signal. Dieses Halten wird während folgender Funktionen ausgeführt:
1) Wenn OS = 4 (sekundäre Unterbrechung), setzt die RUPT NOW-Halteschaltung GTS auf OP-schwebend (5o) über das
OCL-Sofortregister, um Vorbereitungen für die Anfangswahl zu treffen.
2) Wenn der Zustand IFC, CCC oder PCI vorliegt, wird die Stufungsregisterhauptprozedur für AIC 1 gesetzt.
3) Die Stufungsregisterhauptprozeduranforderung für
Vorrichtungsstatus-abrufen wird verhindert.
4) Die Stufungsregisterhauptprozeduranforderung für DMY 1 wird nicht gesetzt.
Wenn der Kanal in SCS 1 eintritt, wird die OCL-Priorität 11RUPT NOW" für die Stufungsregisterhaupthalteschaltung gesetzt.
Dies ist der gleiche Zyklus, den die OCL-Prioritätshaupthalteschaltungen setzen.
Wenn die OCL-Prioritätslogik erlaubt, daß die Prozeduranforderung
in den Stufungsregisterhaupthalteschaltungen auf die Stufungsregisternebenhalteschaltungen gegeben wird,
wird die RUPT NOW-Stufungsregisternebenhalteschaltung gesetzt.
Wenn das Aktionsregister die Prozeduranforderung von den Stufungsregisternebenhalteschaltungen akzeptiert, wird die
RUPT NOW-Stufungsregisterhalteschaltung gesetzt.
Während einer Eingabekettendatenoperation werden alle ankommenden Datenbytes für das laufende CCW in den Hauptspeicher
gegeben, ehe die OCL das nächste CCW abruft (es erfolgt keine CCW-Vorabrufung).
709851/0928
DA-14 148 - %fT- TV
2/
Während einer Ausgabekettendatenoperation ruft die OCL vorher das nächste CCW ab, wenn 16 oder weniger Datenbytes
(von dem vorhandenen CCW) der CICL zu dem I/O-Gerät überführt
werden. Wenn das CCW vorher abgerufen ist, ruft die DACL die Datenangabe für das vorher abgerufene CCW vorher ab.
Wenn der Datentransfer zu dem I/O-Gerät anomal endet, ist es
möglich, daß die CICL mit den Daten entweder für das vorhandene oder das vorher abgerufene CCW operiert. Um die richtige
CCW-Adresse in dem CSW zu placieren, wird eine spezielle Logik benutzt. Ein Hauptteil diener Logik umfaßt das CPPPP.
Die OCL bestimmt, wenn der CICL 16 oder weniger Datenbytes bleiben und zwar nach folgender Formel:
BBC = 0 und EX = 0 und ADB> 16 = weniger als 16 Rest
Wenn dieser Zustand eintritt, wird der DACLP aus dem SCS 1 in das OLS-FeId von SCS 2 geführt. Auf diesen Wert wird dann
als CPPPP Bezug genommen. Der DACLP ist der leste Bytezeiger des vorhandenen CCW.
Wenn der Datentransfer zu dem I/O-Gerät anomal endet, wird
die richtige CCW-Adresse (für das CSW) berechnet, indem der CICLP mit dem CPPPP verglichen wird und das OCL-Unterscheidungsbit
geprüft wird.
Wenn der CICLP minus dem CPPPP größer als 0 ist am Ende des Datentransfers und das OCL-Unterscheidungsbit vorhanden ist,
sind alle Daten für das vorhandene CCW übertragen worden. Eine Korrektur der CCW-Adresse ist nicht erforderlich.
Wenn der CICLP minus dem CPPPP weniger als 0 ist oder wenn das OCL-Unterscheidungsbit weg ist, sind nicht alle Daten
für das vorhandene CCW übertragen worden. Es wird die Prozedur "Ersatz CD" (BACK UP CD) ausgeführt, um die CCW-Adresse
zu korrigieren.
709851/0928
da-η 148
Die OCL-Prozedurlogik 719 ist in herkömmlicher Weise sequentiell
und führt eine Anzahl verschiedener Prozeduren aus. Die Logik 719 wird in Ausdrücken einer SIOF-Instruktion bestimmt. Die
SIOF-Instruktion führt zu einer Eingabe zu dem Steuermultiplexer
7o4, wie dies vorstehend erläutert wurde. Der Multiplexer 7o4 überträgt die Eingabe auf die Prioritätslogik 715,
die so wirkt, daß die OP-jetzt-Halteschaltung in den Nebenhalteschaltungen
des Stufungsregisters 721 gesetzt wird. Wenn das Stufungsregister 721 die Nebenhalteschaltung OP-jetzt
gesetzt hat, wird die Prozedurlogik 719 darauf ansprechend erregt, um eine Sequenz von Prozeduren auszuführen. Zu der
Zeit, zu der die OP-jetzt-Halteschaltung gesetzt ist, wird
die Kanalzahl, die der SIOF-Instruktion zugeordnet ist, ebenfalls in dem Aktionsregister 72o in der beschriebenen Weise
gespeichert.
Die erste von der Prozedurlogik 719 ausgeführte Prozedur ist
Abrufen des Kanaladressenwortes, also FCAW. Die FCAW-Prozedur hat die Funktion des Zugriffs zu einem festgelegten Platz des
Hauptspeichers 2 über die Speichereinheit 4, um das Kanaladressenwort CAW zu erhalten. Bei der gezeigten Ausführungsform
befindet sich das CAW in der Speicheradresse 48 des Hauptspeichers. Die Prozedurlogik 719 ist deshalb eine herkömmliche
sequentielle Logik, die die folgenden sequentiellen Signale erzeugt, um das CAW von dem Platz 48 abzurufen. Die Prozedurlogik
719 steuert eine feste Adresse 4 8 als eine Eingabe zum SUAR-Register 464 und veranlaßt, daß diese Adresse in dem Register
464 gehalten wird. Die Prozedurlogik 719 transferiert als nächstes den Inhalt des Registers 464 über die Schaltung
435 ohne Änderung für die S-Einheit über die Schiene 353. Der
Inhalt der Hauptspeicherstelle 48 wird zu der Kanaleinheit über die Schiene 394 zurückgeführt. Die Schiene 394 gibt ihre
Information in das WR-Register 466 ein. Die Prozedurlogik 719 erzeugt ein Signal, um das WR-Register in herkömmlicher
Weise zu halten. Die nächste sequentielle Funktion der Prozedurlogik 719 besteht darin, ein Signal abzugeben, um den
Inhalt des LCSAR 467 zu laden. Der Zweck des Laderegisters 467
709851/0928
(ο S
besteht darin, eine Adresse für den Ortskanalspeicher 4o6 für die Speicherung des CAW zu bilden, das sich in dem WR-Register
466 befindet. Da der Speicher 4o6 einen Platz hat, der jeweils jedem der 16 Kanäle zugeordnet ist, erhält man das Feld hoher
Ordnung für die Adresse im Speicher 4o6 aus der Kanalzahl. Die Kanalzahl für den Kanal, auf dem die OCL gerade arbeitet, wird
in dem Aktionsregister 72o gespeichert.sie wurde automatisch zu dem Zeitpunkt placiert, zu dem die OP-jetzt-Halteschaltung
in dem Stufungsregister 721 gesetzt wurde. Die Kanalzahl wird von dem Aktionsregister 72o in das Feld höherer Ordnung des
LCSAR 467 geführt. Die Prozedurlogik zwingt das Feld niedriger
Ordnung zu einem vorher zugewiesenen Platz für das CAW, der beispielsweise der Platz 4 sein kann. Diese Adresse wird in
das Register 467 gegeben bzw. in dem Register gehalten. Während der Zeit, in der die Adresse in dem Register 467 gehalten wird,
nimmt die sequentielle Logik den Inhalt des WR-Registers 466 als eine Eingabe zu dem Datenmanipulator 4o5. Die sequentielle
Logik der Logik 719 in Fig. 5 steuert das Hinsteuern direkt über den Datenmanipulator 4o5 über die Wahlsteuerschaltung 488.
In Fig. 5 besteht die Wahlsteuerung 488 nur in der Wahl von Toren, die steuern, welche der Eingaben der Wahlschaltung 487
gewählt wird. Bei dem gezeigten Beispiel veranlaßt die OCL-Prozedurlogik
719 die Wahl der Schiene 424, so daß der Datenmanipulator 4o5 soweit es die vorliegende Prozedur betrifft,
die Datenangabe nicht ändert. Die Ausgabe aus der Wahlschaltung 487 erscheint an der Schiene 425 und wird in das Register
437 von Fig. 3 gegeben. Der Zuordner 7o6 gibt die Datenangabe, nachdem er sie in dem Register 437 hält, in das Register 439,
das sie seinerseits als Eingabe zu dem Ortskanalspeicher 4o6 führt. Das CAW wird in dem Ortskanalspeicher 4o6 bei der
Adresse placiert, die durch LCS AR 467 spezifiziert ist. An dieser Stelle ist die Prozedur FCAW abgeschlossen.
Die Prozedurlogik signalisiert, daß die FCAW-Prozedur abgeschlossen
ist, wodurch ein neues Halten bzw. ein neues Eingeben in das PRT-Reglster 724^ yf^P1^*! JfV^' xm B^ne neue Prozedur
DA-14 148 --ΤΓ-
zu ermöglichen, die aus dem Abrufen des Kanalbefehlswortes 1
FCCW1 besteht. Wenn die Prozedurlogik die FCCW1-Halteschaltung
im PRT-Register 724 setzt, beginnt eine Sequenzprozedur
FCCW1, die im folgenden erläutert wird. Der Zweck der Prozedur besteht darin, die Adresse aus dem Befehls-
adressenwortplatz in LCS 4o6 abzurufen und sie für den Zu
griff zu CCW1 aus dem Hauptspeicher über die Speichereinheit 4 von Fig. 1 zu verwenden. Der Zuordner 7o6 gibt zuerst ein
Steuersignal ab, um den Inhalt des LCSAR zu steuern, um den Ortskanalspeicher 4o6 zu adressieren. Wenn auf diese Weise
adressiert ist, wird die Hauptspeicheradresse von CCW1 in das LCSFDR 468 über die Schiene 421 geführt. Der Zuordner 7o6
erzeugt das Haltesignal, welches das Halten bzw. das Eingeben ins Register 468 steuert. Als nächstes wird die Adresse aus
dem Register 468 unter Steuerung des Zuordners 7o6 in das SUAR-Register 464 gegeben und gleichzeitig in das WR-Register
466. Der Inhalt des SUAR-Registers 464 wird ohne Änderung über
die Schaltung 435 und über die Schiene 353 zur S-Einheit ge
geben. In der S-Einheit erfolgt ein Zugriff zu CCW1, das an
der Schiene 394 erscheint. Gleichzeitig mit der Führung der Adresse über die Schiene 353 zur Speichereinheit wird der
Inhalt des WR-Registers 466 in den Datenmanipulator 4o5 ge führt. Der Zuordner 7o6 erzeugt auf herkömmliche Weise ein
Signal für die Funktionssteuerung 49o. Die Funktionssteuerung
49o empfängt das Signal, welches die Einsteuerung des Addierers 483 von Fig. 4 spezifiziert. Der Addierer 483 wird so
gesteuert, daß plus 4 (gleich vier Bytes) zu der Adresse auf der Schiene 424 addiert werden, die von dem WR-Register 466
abgezweigt wurde.
Die inkrementierte Adresse aus dem Addierer 483 erscheint an
der Schiene 492 und wird von der Wahlschaltung 4 87 unter der Steuerung der Wahlsteuerung 488 gewählt. Die Wahlsteuerung
488 wählt die Schiene 492 für die Abgabe auf der Schiene 425. Die Adresse auf der Schiene 425 wird in das Register 437 von
Fig. 3 und in das Register 439 eingegeben. Die Adresse wird in den LCS 4o6 bei der Adresse geladen, die durch das
709851/0928
Adressenregister 467 spezifiziert wird. Gleichzeitig damit erscheinen die Ergebnisse aus der S-Einheit an der Schiene
394 und werden unter der Steuerung des Zuordners 7o6 in dem Register 466 gespeichert. Zu diesem Zeitpunkt drückt der Zuordner
7o6 ein neues Feld niedriger Ordnung in das LCSAR (beispielsweise 8), das zusammen mit dem Kanalzahlfeld höherer
Ordnung einen neuen Adressenplatz für den Ortskanalspeicher 4o6 bildet. Dieser neue Kanaladressenplatz ist der Platz, der
reellen Datenadresse, die man aus dem CCW1 erhält, das laufend bzw. jetzt in dem WR-Register 466 gespeichert wird. Der
Zuordner 7o6 schließt die FCCW1-Prozedur ab, indem der Inhalt
des Registers 466 über den Datenmanipulator 4o5 in die Register 437 und 439 zu dem Platz in 4o6 geführt wird, der
durch die Adresse in dem Register 457 spezifiziert ist.
Zu dieser Zeit tritt der Zuordner 7o6 wieder in das alte Feld niedriger Ordnung für das Adressenregister 467 (beispielsweise
4) ein, um die Adresse im Speicher 4o6 der Befehlswortadresse im Hauptspeicher zu spezifizieren. Diese Befehlswortadresse
ist bereits um 4 inkrementiert, wie dies erläutert wurde, es ist jetzt die Adresse des Kanalbefehlswortes 2,
CCW2.
Diese Operation schließt die Prozedur FCCW1 ab, die dazu führt, daß eine neue Prozedur in das Register 724 eingegeben
bzw. dort gehalten wird. Die neue Prozedur dient zum Abrufen des Kanalbefehlswortes 2 und hat die Bezeichnung FCCW2.
Die FCCW2-Prozedur entspricht im wesentlichen der von FCCW1.
Aus dem Hauptkanalspeicher 4o6 erfolgt ein Zugriff zur Hauptspeicheradresse CCW2, die in dem Register 468 placiert und
ins Register 464 eingegeben wird. Von dem Register 464 wird sie zur Speichereinheit geführt. Die Speichereinheit führt
die Adresse zum WR-Register 466 zurück. Zu dieser Zeit inkrementiert der Zuordner 7o6 das Feld niedriger Ordnung des
LCSAR-Registers 467 so, daß der Inhalt im Register 466 im Ortskanalspeicher 4o6 auf einem noch neuen Adressenplatz
709851/0928
gespeichert wird. Der Inhalt des WR-Registers 466, das
CCW2 enthält, wird über die Schiene 424 in den Manipulator 4o5 geführt. Im Manipulator 4o5 erscheint CCW2 auf der Schiene
424. Die Funktionssteuerung 49o veranlaßt, daß CCW2 über den
Addierer 483 ohne Modifizierung geführt wird, so daß es auf der Schiene 492 erscheint. Zu dieser Zeit wird das 11-Bit-FeId
an der Schiene 492 in die EX CAL-Schaltung 471 und die BBCR-Schaltung 47o eingegeben, um ein Bytezählfeld an der
Schiene 458 zu erzeugen. Die Schiene 458 stellt eine Verbindung mit der Ergebnislogik her, um die Anfangszählung in
den SCS zur richtigen Zeit zu postieren.
Der Datenmanipulator von Fig. 4 hat das Steuerregister 446, welches den Befehl von einem Kanalbefehlswort empfängt und
speichert, ein Kennzeichenregister 477, welches die Kennzeichen von einem Kanalbefehlswort empfängt und speichert,
und das Zustandsregister 476, welches den Zustand von einem Kanalbefehlswort empfängt und speichert. Diese Werte sind
unter der Steuerung der Prozedurlogik 719 für die Ergebnislogik
für den Eintritt in geeignete SCS-Felder verfügbar, wenn die Ergebnislogik 725 für das Postieren gesteuert wird. Wenn die
FCCW2-Prozedur durch den Zuordner 7o6 abgeschlossen ist, ist die erforderliche Information an der Ergebnislogik für das
Laden des SCS verfügbar. Die abschließende Prozedur der Prozedurlogik 719 wird "Moduserhaltungsprozedur" genannt, bei
der eine bestimmte Information an einem Platz des Ortskanalspeichers placiert wird. Für die erfindungsgemäßen Zwecke kann
der Bewahrungsmodus bzw. Save-Mode ignoriert werden. Wenn der Bewahrungsmodus abgeschlossen ist, signalisiert er den Abschluß
des Prozedurstrangs für die OCL 429. Nach dem Abschluß der Modusbewahrungsprozedursignale postiert die Ergebnislogik
725 die Informationsfelder, wie sie vorher diskutiert wurden, in die SCS2, um anzuzeigen, daß es jetzt Zeit für die DACL-Prozeßeinheit
43o und die CICL-Prozeßeinheit 4 32 ist, mit dem übertragen der Daten zu beginnen und die OCL in Ruhe zu
bringen. In der Ruhestellung kann die OCL eine Prozedur für einen weiteren Kanal TfJJfJg^j Q g 2 g
DA-14 148
Die obigen Prozeduren wurden unter der Annahme diskutiert, daß nur ein Kanal eine Priorität hatte und die OCL 429 voll
für das Beeinflussen eines Kanals zugewiesen ist. Der FCAW-Prozedurstrang hat jedoch tatsächlich eine Priorität von 2.
Andere Prozeduren der Priorität 1 können die FCAW-Prozedur gezwungen haben, zu warten, ehe die Beeinflussung durch die
OCL beginnt.
In Fig. 6 ist im einzelnen die Datenzugriffssteuerlogik
DACL gezeigt, die einen Teil der Kanalsteuerlogik von Fig. 5
bildet. Die DACL schiebt die Daten zu dem Ortskanalspeicher LCS 4o6 oder aus ihm heraus. Bei Schreiboperationen schiebt
die DACL Daten von der S-Einheit 4 von Fig. 1 zur LCS 4o6. Bei Leseoperationen schiebt die DACL Daten von der LCS 4o6
zur S-Einheit.
Die DACL ist eine Pipeline- bzw. Strangverarbeitungseinheit, die den Schiebekanalzustand SCS benutzt. Jeder Zyklus einer
neuen Kanalzustandsinformation sitzt in SCS2. DACL-Verarbeitungsanforderungen
werden von dieser Information bestimmt. Wenn die DACL Daten verarbeitet, wird am Ende eine neue Zustandsinformation
zurück in SCS2 durch die DACL-Ergebnislogik 74o postiert.
Der Strang arbeitet in drei Stufen, nämlich Einstufung, Aktion und Ergebnis. Die Prioritätslogik 734 bestimmt bei
jedem Zyklus, ob der Kanal in SCS2 eingestuft werden soll. Wenn das Stufungsregister SR 735 leer ist und der Kanal eine
DACL-Bearbeitung verlangt, wird das Stufungsregister 735 taktgesteuert. Diese Taktsteuerung gibt einen Teil der SCS2-Information
plus irgendeine neue Information in das SR ein.
Wenn die Aktionslogik 739 verfügbar ist, wird das Stufungsregister
735 auf das Aktionsregister AR 736 übertragen. Das AR-Register 736 versorgt die Aktionslogik mit Informationen,
709851/0928
die benötigt werden, um die Daten zur S-Einheit zu bewegen oder von dort zu holen. Bei einer Leseoperation gibt die
Steuerungs-Schnittstellenlogik CICL 432 Daten von einem I/O-Gerät in den Ortskanalspeicher LCS 4o6. Die DACL-Aktionslogik
739 überführt diese Daten zur S-Einheit. Bei einer Schreiboperation erfolgt dies umgekehrt. Die DACL gibt S-Einheitsdaten
in den LCS, während die CICL die Daten entfernt und zu einem I/O-Gerät gibt. Beim Abschluß der Dateneingabe-
oder -ausgabeoperation erzeugt die DACL-Aktionslogik 739 neue Zustände für den Kanal, auf den eingewirkt wird.
Die Zustandsinformation wird dann zu der Ergebnislogik geführt, um sie in den Schiebekanalzustand SCS zu postieren.
In der Ergebnislogik gibt es zwei Ergebnisregister. Das Ergebnisregister
1 RR1 737 empfängt die Daten aus der Aktionslogik. Das Ergebnisregister 2 RR2 741 empfängt die Daten von
RR1 und führt sie weiter zu SCS2, wo sie postiert werden. Auf diese Weise wirken die Ergebnisregister als Pipeline, um
Ergebnisse von bis zu zwei verschiedenen Operationen zu puffern.
Die vollständige DACL-Leitung kann vier Kanäle mit verschiedenen Bearbeitungspunkten haben. Ein Kanal kann in das Stufungs·
register SR 735 eingestuft werden, wobei auf die Aktion gewartet wird. Ein weiterer Kanal kann in dem Aktionsregister
AR 736 sitzen, während die DACL-Aktionslogik auf diesem Kanal
arbeitet. Zwei Kanäle können Ergebnisse im Ergebnisregister 737 und Ergebnisregister 741 haben, wobei darauf gewartet wird,
daß sie in SCS2 zurückpostiert werden. Die zweite Stufe SCS2 des Schiebekanalzustandsspeichers empfängt zyklisch Informationen
von dem SCSI-Zustand an der Schiene 742. Für jeden Zyklus ist eine Information für DACL verfügbar, die einen
neuen Kanal betrifft. SCS2 gibt zyklisch Informationen an die SCS3-Stufe an der Schiene 743 und an die CICL auf der Schiene
744 ab.
709851/0928
DA-14 148 - μ-- 2775522
Die Information in der Stufe SCS2 für jeden Zyklus ist die Eingabe für die DACL-Prioritätslogik 734 über die Schiene 746,
um zu bestimmen, ob der Kanal im Speicher SCS2 die höchste Priorität für eine Aktion durch die DACL von Fig. 6 hat. Wenn
dies der Fall ist, wird die tatsächlich vorzunehmende Transferlänge TL auf einer 2-Bit-Schiene an das Stufungsregister
735 abgegeben. Die Prioritätsbestimmung in der Logik 734 kann beispielsweise nur eine Anzeige dafür sein, ob die DACL jetzt
arbeitet oder nicht. Wenn nicht, wird die Priorität einem solchen Kanal gewährt, der gerade in SCS2 liegt, wobei die
Information in das Stufungsregister 735 mit einem Taktsignal geladen wird. Es können auch andere komplizierte Prioritätsbeziehungen verwendet werden.
Die tatsächliche Transferlänge TL eines von der DACL auszuführenden
Transfers beträgt typischerweise 4 Bytes und wird durch einen2-Bit-TL-Kode aus der Logik 734 bestimmt, der in
das Stufungsregister 735 geladen wird. Andere Längen können beispielsweise verwendet werden, wenn am Ende eines Transfers
weniger als 4 Bytes bleiben, um den Transfer abzuschließen. In diesem Fall hat der tatsächliche Transferlängenkode TL 3,2
oder 1 Byte, wie es angemessen ist. Die Logik 734 berücksichtigt auch andere Spezialzustände, beispielsweise Transfers,
die sich einer Seitengrenze nähern, und erzeugt Steuersignale an der 3-Bit-Leitung DTP und der 2-Bit-Leitung TP. Diese
Steuerungen sind für die Verwendung in Verbindung mit der Erfindung nicht nötig und werden nicht weiter diskutiert.
Das Stufungsregister 735 erhält Informationen von der Logik 734 und direkt von der Stufe SCS2 auf der 23-Bit-Schiene 746.
Diese Informationen umfassen das 1-Bit-alte EX, das 5-Bitalte
BBC, die Kanalzahl und eine weitere Steuerinformation,
die mit der Erfindung nicht in Zusammenhang steht. Von speziellem Interesse ist das alte BBC-Feld, welches für die
gepufferte Bytezählung BBC steht, und das 1-Bit-EX-Feld,
welches für das fortgesetzte BBC-Bit (EX) steht. Das BBC-Feld umfaßt die fünf Bits niedriger Ordnung des übrigen
709851/0928
Zählfeldes. Das EX-Bit zeigt, ob eines der elf Bits hoher Ordnung in dem übrigen Zählfeld vorhanden ist. Das Stufungsregister
735 hält unter anderem BBC, d. h. fünf Bits niedriger Ordnung des gewünschten Zählfeldes, die EX-Anzeige, ob eines
der elf Bits hoher Ordnung in dem 16-Bit-Zählfeld vorhanden
ist, und die TL-Anzeige der tatsächlichen Transferlänge, die bei der vorliegenden Operation der DACL vorzunehmen ist. Die
Information im Stufungsregister 735 bestimmt den nächsten Transfer, der von der DACL auszuführen ist. Der Inhalt des
Aktionsregisters 736 stellt den gerade von der DACL ausgeführten Transfer dar. Wenn der vorliegende Transfer ausgeführt
ist, wird die Information für den nächsten Transfer im Register 735 in das Register 736 geladen.
Der Inhalt des Aktionsregisters 736 wird in die DACL-Aktionslogik
739 eingegeben. Die Aktionslogik 739 ist eine kombinatorische Logik, welche durch eine feste Folge als Funktion
der Eingabe aus dem Aktionsregister 736 geht. Die Aktionslogik verwendet das Aktionszustandsregister 739-2 zum
Speichern der Sequenzzustände der DACL-Aktionslogik. Die Sequenz der Aktionslogik 739 steuert viele Zeitgebersignale,
die an die Steuerschiene 748 ausgegeben werden. Die Steuersignale an der Schiene 758 sind herkömmliche Halte- und Uberführungsdaten.
Ihre speziellen Sequenzen werden im folgenden in Verbindung mit der erfindungsgemäßen Arbeitsweise definiert.
Die Aktionslogik 739 hat einen herkömmlichen Komparator zum Vergleichen der gewünschten tatsächlichen Transferlänge TL
mit der alten BBC. Wenn TL kleiner als BBC oder gleich ist, kann der tatsächliche Transfer mit einer kurzen Folge vor
sich gehen. Die Aktionslogik 739 und das Zustandssequenzregister 739-2 veranlassen, daß eine kurze Sequenz ausgeführt
wird, welches noch erläutert wird. Wenn TL größer als BBC ist, wird das alte EX-FeId geprüft. Wenn EX, was bedeutet,
daß Bits hoher Ordnung existieren, auf eine Zeit gesetzt ist, zu der TL größer als die alte BBC ist, spezifizieren die
709851/0928
Aktionslogik 739 und das Zustandssequenzregister 739-2 eine lange Sequenz. Die lange Sequenz ruft die Bits hoher Ordnung
von dem Kanalspeicher ab und setzt danach das übrig bleibende Zählfeld in den Kanalspeicher zurück. Wenn BBC kleiner als
die maximale Transferlänge TL (in diesem Fall 4) oder gleich ist und EX nicht gesetzt ist, folgt die kurze Sequenz. Wenn
die alte BBC insgesamt auf 0 rückgeführt ist und EX nicht gesetzt ist, ist der ursprüngliche Transfer vollständig und
die Zählung ausgelaufen.
Die Ausgaben aus der Aktionslogik 739 führen zu einem Transfer
von Informationsbytes zwischen dem Kanalspeicher und der Speichereinheit. Zusätzlich zur Ausführung dieses tatsächlichen
Transfers von Informationsbytes wird durch die Aktionslogik
739 das übrige Zählfeld um die Menge des tatsächlichen Transfers dekrementiert. Bei einer Ausführungsform der Erfindung
wird die Dekrementierung bzw. Reduzierung des Zählfeldes dadurch erreicht, daß am Anfang die BBC, die in dem Zustandsspeicher
umläuft, und das Zählfeld in dem Ortskanalspeicher dekrementiert wird, falls dies nötig ist. Wenn eine Anleihe
bzw. eine Entnahme von den Bits hoher Ordnung erforderlich ist, wird eine lange Sequenz verwendet, um bei den Bits hoher
Ordnung aus dem Ortskanalspeicher 4o6 zuzugreifen, damit das gesamte übrige Zählfeld dekrementiert wird und das neue
übrige Zählfeld zurück in dem Speicher 4o6 gespeichert wird.
Die alte BBC und die alte EX erscheinen vor dem tatsächlcchen Transfer in dem Aktionsregister 736. Die alte BBC
wird auf der 5-Bit-Schiene 46o zur Datenmanipulatorschaltung von Fig. 4 abgegeben. In gleicher Weise wird die alte
EX aus dem Register 736 auf der 1-Bit-Leitung 457 an den Datenmanipulator von Fig. 4 abgegeben. Nach der Bearbeitung
durch den Datenmanipulator wird die neue EX auf der 1-Bit-Leitung 418 aus dem Datenmanipulator erhalten und in dem
Ergebnis-1-Register R1R 737 gespeichert. In gleicher Weise
erhält man die neue BBC auf der 5-Bit-Schiene 427. Sie Sie wird in dem R1R-Register 737 gespeichert. Die Kanalzahl
709851/0928
ist die Eingabe an das Ergebnisregister 737 aus einem Register 749, welches den Wert des letzten Kanals speichert,
der die Steuerung der DACL hat. Die Kanalzahl im Register 749 wird von dem Aktionsregister 736 abgeleitet. Wenn die
Kanalzahl, die neue BBC und die neue EX in das Register 737 eingegeben werden, sind sie für das Beladen des Ergebnis-2-Registers
R2R 741 verfügbar. Die Kanalzahlen bei beiden Ergebnisregistern 737 und 741 sind als Eingaben für die
Prioritätslogik 734 verfügbar. Auf diese Weise können die Kanäle, welche die Steuerung der DACL haben, dazu verwendet
werden, zu entscheiden, daß die Kanäle, die gegenwärtig von der DACL bedient werden, keine Priorität für die Benutzung
der DACL haben. Wenn sich die neuen BBC- und die neuen EX-Werte im Register 741 befinden, sind sie für das Rückpostieren
in den Zustandsspeicher über die DACL-Ergebnislogik 74o verfügbar.
Die Logik 74o hat einen herkömmlichen Komparator, der die Kanalzahl aus SCSI auf der Schiene 75o von der Schiene 742
erhält und sie mit der Kanalzahl im R2R-Register 741 vergleicht.
Wenn ein Vergleich eintritt, werden die neuen EX- und die neuen BBC-Werte im Register 741 über die Ergebnislogik
74o zur Schiene 745 geführt, wo sie in die SCS2-Stufe zusammen mit der Information aus SCSI eingeführt werden. Die
alte BBC und die alte EX in SCSI werden gelöscht. Die Zeit, die für die Ausführung des Transfers zur Speichereinheit
und für das Einführen neuer Werte von EX und BBC in die SCS2 -Stufe erforderlich ist, ist eine Funktion davon, ob
nur das Feld niedriger Ordnung (BBC) mit einer kurzen Sequenz auf den neuesten Stand gebracht werden muß oder nicht oder
ob eine Entnahme oder Ausborgung erforderlich ist und das gesamte Zählfeld mit einer längen Sequenz auf den neuesten
Stand gebracht werden muß.
709851/0928
Das Arbeiten bzw. die Operation der Kanaleinheit gemäß der Erfindung wird in Übereinstimmung mit einer typischen Instruktion
beschrieben, nämlich "Start-I/O-Schnellfreigabe",
was als SIOF abgekürzt.ist. Als Anfangsbedingung befinden
sich alle Kanäle, also sechzehn entsprechend dem vorliegenden Beispiel, in Ruhe und müssen durch die Anfagnsprogrammladung
IPL oder alternativ durch einen Rücksetzbefehl aktiviert
werden. Wenn die Programmbeladung am Anfang ausgeführt ist, werden Instruktionen in den Hauptspeicher geladen und Instruktionen
abberufen und durch die I-Einheit bearbeitet. Als Teil des Anfangsprogrammladens stellt jede I/O-Instruktion,
wie SIOF, in dem Speicher eine Sequenz von Kanalbefehlen zusammen, die effektiv ein Kanalprogramm sind. Das anfängliche
Beladen setzt einen Zeiger an einen festen Platz des Speichers, beispielsweise an den Platz 72 bei dem vorliegenden System,
der den Platz des ersten Befehls in der Kanalbefehlsfolge identifiziert. Wenn der Start-I/O-Befehl durch die I-Einheit
abgerufen wird, wird das wirksame Adressenregister in der I-Einheit mit der Information beladen, die der Kanaleinheit
über die Schiene 426 übermittelt wird. Die Kanaleinheit erkennt
die Start-I/O-Instruktion in der Zustandslogik und
wartet auf die adressierte Kanalinformation, die durch die
Stufen SCSO bis SCSI 5 umläuft und an dem SCSI-Platz ankommt,
was zu einer Benachrichtigung der Sofortprozedurlogik führt, wenn der richtige Kanal der sechzehn Kanäle an dem SCSI-Platz
ankommt. Nimmt man beispielsweise an, daß der Zustand des adressierten Kanals Ruhe ist, ermöglicht die OCL, daß der
Inhalt des SCSI in das Stufungsregister 721 eintritt, während
die Ergebnislogik 725 den Zustand des Kanals ändert (es sei Kanal 5 als typisches Beispiel angenommen), so daß durch Halten
in SCS2 der Zustand Operation-schwebend angezeigt wird. Während eines jeden Zyklus wird die Kanalinformation gleichzeitig
durch die Stufen 71o um eine Stufe weitergeführt, so daß nach sechzehn Zyklen die Information jedes Kanal durch
alle Stufen SCSI bis SCSI 5 schrittweise gegangen ist.
709851/0928
DA-14 148 TT
Bei einer Start-I/O-Instruktion fährt die Kanalinformation
fort, durch die Stufen 71o schrittweise zu gehen, wobei die OCL-Schaltung 429 einem speziellen Kanal zugeordnet wird,
bei dem vorliegenden Beispiel dem Kanal 5. Während die Schaltung 429 dem Kanal 5 für die Verarbeitung zugeordnet wird,
können die übrigen Teile der Kanalsteuerlogik (Zustands-DACL, CICL) für die Beeinflussung der übrigen Kanäle außer
dem Kanal 5 verwendet werden.
Bei einer SIOF-Instruktion wartet die I-Einheit auf die
Kanaleinheit und insbesondere die OCL, um die Bearbeitung ihres Teils der Kanalfunktion zu beenden. Bei einer SIOF-Instruktion
ist die OCL veranwortlich für das Abrufen eines Kanaladressenwortes in den Kanalpufferspeicher, während gecheckt
wird, um zu gewährleisten, daß der Subkanalzustandsspeicher für das Bearbeiten der identifizierten adressierten
Einrichtung verfügbar ist. Nimmt man an, daß der identifizierte Subkanal die Einrichtung 25 ist, wodurch implizid ein
Subkanal identifiziert wird, speichert die Prozedurlogik nach dem Zugriff zu dem Kanaladressenwort, wodurch die
Adresse des ersten Kanalbefehlswortes festgestellt wird, die Befehlszeiger in dem Kanalpufferspeicher des LCS und
führt Gültigkeitschecks bzw. -prüfungen für die Information durch. Bei der Durchführung ihrer Funktionen verwendet die
OCL gemeinsame Datenbahnen und einen Speicher zur Steuerung der Funktionen.
Mit dem Zugriff zum ersten Kanalbefehlswort zeigt die Prozedurlogik
719 dem Steuermultiplexer 7o4, daß die SIOF-Instruktion der I-Einheit der Datenverarbeitungsanlage abgeschlossen
ist, wie dies auf den Rückkehrleitungen 716 angegeben ist, wodurch die I-Einheit weitere Instruktionen in
ihrem Instruktionenstrom bearbeiten kann.
Wenn das erste Kanalbefehlswort abgerufen ist, meldet die
Prozedurlogik 719 der Ergebnislogik 725, daß der Anfangswahlzustand für den zugeordneten Kanal 5 in die von SCSI
709851/0928
DA-14 148 -
nach SCS2 überführten Daten immer dann eingeführt werden soll,
wenn die nächste Kanal-5-Information in SCSI während der
normalen Schiebezyklen geladen wird. Wenn die CICL-Schaltung
432 in der Logik 757 den ursprünglichen Wahlstatus für irgendeinen Kanal feststellt, veranlaßt sie einen Kanalpufferspeicherzugriff
(CBS), um eine Einrichtungsadresse und einen Befehl zu erhalten und um ihn der richtigen physikalischen
Schnittstelle und der richtigen I/O-Steuerung zu übermitteln,
die die entfernt liegende Schnittstellenlogik 4o7 von Fig. benutzt.
Nimmt man an, daß der erste Befehl darin besteht, eine Information
von der Steuereinheit zum Hauptspeicher zu überführen, so manipuliert die CICL die Steuerleitungen und der
LCS veranlaßt, daß Daten von den I/O-Steuerungen zu dem LCS
überführt werden. Die CICL erhält über die Steuerlogik 757
und die Abgabeschiene 78o für die geeignete Kanalstufe SCS4 oder SCSI2 eine Aufzeichnung, welche Plätze von LCS die überführten
Daten enthalten. Wenn eine ausreichende Datenmenge in dem LCS gesammelt ist, erkennt die DACL die Notwendigkeit
einer überführung zum Hauptspeicher, indem der Zustand des Kanals 5 beobachtet wird, wie er in dem SCS2 erscheint. An
dieser Stelle führt die DACL einen Datentransfer von dem LCS zum Hauptspeicher herbei.
Wenn das Kanalbefehlswort von der I-Einhelt von Fig. 1 erhalten
worden ist, wird es unter der Steuerung der OCL über die Schiene 394 zum Arbeitsregister WR 466 in Fig. 3 übermittelt.
Von dort wird es durch den Datenmanipulator 4o5 zur Schiene 425 ohne Änderung weitergegeben und in das DMOR-Register
437 eingegeben. Von dort wird es in das DHR-Register 439 geführt und in dem Ortskanalspeicher 4o6 gespeichert.
Auf diese Weise wird das 16-Bit-Zählfeld am
Anfang in dem Kanalspeicher 4o6 gespeichert.
Wenn das Zählfeld aus dem Kanalsteuerwort von dem WR-Register 466 gesteuert wird, geht es durch den Addierer 483 in den
709851/0928
da-Hi«
Datenmanipulator von Fig. 4 und erscheint unverändert an der
Schiene 492. An der Schiene 492 werden die fünf Bits niedriger Ordnung extrahiert und in das BBCR-Register 47o geladen. Von
dort werden die Anfangswerte der neuen BBC zum OCLRR-Register 467 in Fig. 5 geführt.
Zur gleichen Zeit werden in dem Manipulator von Fig. 4 die elf Bits höherer Ordnung des gesamten Transferlängenfeldes
in den EX-Rechner 471 eingegeben, wo die Bits hoher Ordnung einer ODER-Schaltung ausgesetzt werden, um das anfängliche
neue EX-Signal an der Leitung 418 zu bilden, das ebenfalls
m BBCR-Register 47o gespeichert und zum OCLRR-Register
überführt wird. Aus dem Register 467 werden der anfängliche neue EX- und BBC-Wert durch die Logik 725 in SCS2 geführt,
wenn SCSI die richtige Kanalzahl enthält.
Als typisches Beispiel wird eine Gesamtzahl von 36 Bytes angenommen. In dem 16-Bit-Zählfeld haben die elf Bits hoher
Ordnung zehn Nullen mit hoher Ordnung, worauf eine 1 folgt, während die fünf Bits niedriger Ordnung 00100 sind. Die
Zählung erscheint in binärer Notierung als 100100, wobei zehn Nullen hoher Ordnung vorausgehen.
Wenn das Kanalbefehlswort aus der I-Einheit von Fig. 1 erhalten
wird, wird es unter der Steuerung der OCL über die Schiene 394 zum Arbeitsregister WR 466 in Fig. 3 übermittelt.
Von da wird es über den Üatenmanipulator 4o5 zur Schiene 425 ohne Änderung übertragen und in das DMOR-Register 437
gegeben. Von dort wird es in das DHR-Register 439 gebracht und in dem Ortskanalspeicher 4o6 gespeichert. Auf diese
Weise wird das 16-Bit-Zählfeld anfänglich in dem Kanalspeicher 4o6 gespeichert.
Wenn das Zählfeld von dem Kanalbefehlswort von dem WR-Register 466 gesteuert wird, geht es durch den Addierer 483 in
dem Datenmanipulator von Fig. 4 und erscheint unverändert an der Schiene 492. An der Schiene 492 v/erden die fünf Bits
709851/0928
DA-14 148 - W- 2775522
niedriger Ordnung herausgezogen und in das BBCR-Register
47o geladen. Von dort wird der Anfangswert des neuen BBC zum OCLRR-Register 469 in Fig. 5 geführt.
Gleichzeitig werden in dem Manipulator von Fig. 4 die elf Bits hoher Ordnung des gesamten Transferlängenfeldes in
den EX-Rechner 471 eingegeben, wo die Bits hoher Ordnung einer ODER-Eehandluna unterworfen werden, um das anfängliche
neue EX-Signal an der Leitung 418 zu bilden, das ebenfalls in dem BBCR-Register 47o gespeichert und zum OCLRR-Register
46o überführt wird. Aus dem Register 469 werden die anfänglichen neuen EX- und BBC-Werte durch die Logik 725 in
SCS2 eingesteuert, wenn SCSI die richtige Kanalzahl enthält. Das DACL-Zeigerfeld in dem SCS wird durch die OCL
auf null geführt.
Als typisches Beispiel wird eine Gesamtzählung von 36 Bytes angenommen. In dem 16-Bit-Zählfeld umfassen die elf Bits hoher
Ordnung zehn Nullen hoher Ordnung, worauf eine 1 folgt, die fünf Bits niedriger Ordnung sind 00100. Die Zählung erscheint
in Binärnotierung als 100100 durch zehn Nullen hoher Ordnung.
Bei diesem typischen Beispiel ist die anfängliche neue BBC, die in SCS2 durch die OCL gespeichert wird 00100. Der
in SCS2 für das anfängliche neue EX-Bit gespeicherte Wert ist 1, da die elf Bits hoher Ordnung nicht null sind.
Wenn die anfängliche neue BBC und die anfängliche neue EX in SCS2 gespeichert sind, ist DACL bereit, einen Transfer von
36 Datenbytes immer dann zu beginnen, wenn die Kanalzahl 5 die Priorität erhält, DACL zu benutzen. Wenn der Kanal 5 die
Priorität erhält, werden die BBC und die EX für den Kanal 5 in SCS2 zu dem Aktionsregister 736 durchgeführt. Im Register
736 werden nun die BBC und die EX sowie die alte BBC und die alte EX behandelt und in der Aktionslogik 739 geprüft.
Nimmt man an, daß die übliche tatsächliche Transferlänge TL 4 Bytes ist, so wird der Wert 100 von TL mit dem BBC im
709851/0928
DA-14 148
Register 736 durch die Logik 739 verglichen. Da BBC einen Wert von 00100 hat, ist er gleich oder größer als der Wert
von TL, der 100 ist, so daß die Aktionslogik 739 nach einer kurzen Sequenz fragt. Die kurze Sequenz wird in der folgenden
Tabelle I angegeben.
TABELLE I - Kurze Folge
S-Einheit zu Kanal
1 u. 2 Datenadresse abrufen
3 u. 4 Daten abrufen
5 u. 6 Datenadresse speichern
7 u. 8 nicht benutzt
Datenadresse abrufen nicht benutzt Datenadresse speichern Daten speichern
Bei der Durchführung der kurzen Sequenz-Datenüberführung von dem Kanalspeicher zur Speichereinheit muß zuerst die Datenadresse
in dem Kanalspeicher von dem Kanalspeicher aus gegriffen und in dem Speichereinheitadressenregister 464 von
Fig. 3 im Zyklus 3 placiert werden. Jeder Zugriff des Kanalspeichers erfordert zwei Zyklen. Als nächstes müssen die
Daten selbst aus dem Kanalspeicher abgerufen werden, wofür die Adresse im Register 467 im Zyklus 3 verwendet wird. Die
Adresse wird durch Addieren der Kanalzahl aus dem Adressenregister 739 zu dem DACLP-FeId im Register 736 zusammengesetzt.
Wenn die Adresse 100 und TL 4 ist, wird die Adresse 104. Die gegriffene Datenangabe wird an die Schiene 421 abgegeben und
im Register 468 gespeichert, von wo sie zum Register 465 überführt und an die Speichereinheit über die Schiene 358
abgegeben wird. Schließlich wird die modifizierte Datenadresse, welche das nächste, zu überführende Byte identifiziert,
zurück in dem Ortskanal 4o6 gespeichert. Die Adresse 104 (100 + 4 (für TL) = 104) wird durch den Datenmanipulator
4o5 addiert. Im Zyklus 3 wird die alte Datenadresse in WR zu TL in CHDM 4o5 addiert und in das DMOR 437 geladen und in
dem DHR 439 im Zyklus 5 und dann dem LCS 4o6 zugeführt. Eine gleiche Folge wird für eine überführung einer Information aus
709851/0928
der Speichereinheit zum Ortskanalspeicher 4o6 verwendet.
Während der kurzen Sequenz gemäß Tabelle I tritt ein Transfer von vier Bytes zwischen der Speichereinheit und der Kanaleinheit
ein. Dementsprechend muß der TL-Wert 100 von dem anfänglichen Gesamtzählfeld subtrahiert werden, wodurch das
restliche Zählfeld gebildet wird. Der TL-Wert von 100 wird von dem BBC-Wert 00100 in dem Datenmanipulator subtrahiert.
Man erhält als Ergebnis 00000, welches der neue BBC-Wert ist.
Da der Anfangswert für BBC 100 war, wird die 100-Subtraktion
von TL ausgeführt, ohne daß eine Anleihe von einem Feld hoher Ordnung gemacht werden muß. Das alte EX-Bit bleibt deshalb
gültig und wird als neues EX-Bit gewählt. Somit ist das neue EX = 1.
Nach der Subtraktion von 100 von dem BBC-Wert ist der neue BBC-Wert OOOOO. Dieser neue BBC-Wert wird in dem R1R-Register
737 und dann in dem R2R-Register 741 von Fig. 6
gespeichert und zu dem SCS2 überführt, wodurch die Verwendung der DACL durch den Kanal 5 momentan abgeschlossen ist.
Wenn die Kanalzahl in SCSI der Kanalzahl im R2R 741 entspricht,
lädt die DACL die neue BBC, den neuen DACL-Zeiger (jetzt 4) und den neuen ADB in SCS2. ADB und DACLP werden eingestellt
(dekrementiert bzw. inkrementiert), wobei das TL in R2R 741
verwendet wird.
Wenn die neue EX und die neue BBC in der SCS2-Stufe gespeichert
sind, fährt der Zustandsspeicher fort, zu zirkulieren, bis der Kanal 5 wieder in SCS2 erscheint und die Priorität für die
Benutzung der DACL erhält. Da der Gesamttransfer von 36 Bytes nicht erfolgt ist, wird dem Kanal 5 zu irgendeiner Zeit
wieder die Priorität durch die Prioritätslogik 734 von Fig. gegeben. Wenn der Kanal 5 die Priorität wieder hat, werden
die Kanalzahl 5, ein neuer TL-Wert von vier Bytes, der jetzt alte BBC-Wert 00000 und der alte EX-Wert 1 in das Stufungs-
709851/0928
DA-14 148 - 27--
SZ
register 735 gegeben. Wenn die Aktionslögik auf Ruhe steht,
wird das SR-Register 735 in das Aktionsregister 736 gesteuert. Der alte BBC-Wert 00000 und das EX-Bit 1 werden
zum Datenmanipulator auf den Schienen 46o bzw. 457 geführt.
In diesem Fall kann nun, der TL-Wert, der gleich 100 ist,
nicht von dem alten BBC-Wert abgezogen werden, der 00000 beträgt, ohne daß eine Anleihe von Bits hoher Ordnung gemacht
wird, die nun vorhanden sein müssen, da EX 1 ist. Dementsprechend muß eine lange Sequenz folgen, damit die tatsächliche
Transferlänge 100 von der verbleibenden Zählung 100000
richtig subtrahiert werden kann, die wie immer durch Verketten der elf Bits hoher Ordnung des Zahlwortes in LCS mit
dem BBC-Feld von SCS ankommt. Die lange Sequenz wird in Tabelle II aufgeführt.
TABELLE II - Lange Sequenz
Datenadresse abrufen Daten abrufen
Zählung abrufen
Modifizierte r>at»nadresse
speichern
Modifizierte ZHhluno
speichern
Zyklen | U. | 2 |
1 | U. | 4 |
3 | U. | 6 |
5 | U. | 8 |
7 | U. | 1o |
9 |
Datenadresse abrufen Zählung abrufen
Modifizierte Datenadresse speichern
Modifizierte Zählung speichern
Daten speichern
Wie bei der kurzen Sequenz wird die Adresse von dem Ortskanalspeicher
abgerufen. Sie lautet nun 104. Die inodifizistte
Adresse ist 104+4 (für TL) = 108. Dieser Wert wird in LCS rückgespeichert.
Bei der langen Sequenz nach Tabelle II werden die beiden zusätzlichen
Schritte von Zählung abrufen von modifizierte Zählung speichern hinzugefügt. Während des Schritts
709851/0928
"Zählung abrufen" werden das gesamte Zählungsfeld, einschließlich der elf Bits hoher Ordnung, von dem Ortskanalspeicher
abgerufen und zum Register 468 geführt, von wo sie zu dem Arbeitsregister 466 im Zyklus 7 überführt werden.
In dem Datenmanipulator von Fig. 4 werden die elf Bits hoher Ordnung aus dem Register 466 (eine 1, der zehn Nullen
vorausgehen) mit den Bits niedriger Ordnung (wobei es sich um die alte BBC von 00000 an der Schiene 46o handelt) verknüpft
und der rechten Pforte des Addierers 483 eingegeben. Gleichzeitig wird der TL-Wert von 100 der linken Pforte des
Addierers 483 eingegeben. Die linke Eingabe wird subtrahiert, um das Resultat an der Schiene 492 zu bilden. Wenn 100 von
100000 subtrahiert wird ist das Ergebnis an der Schiene 492 O111OO.
Der neue BBC-Wert ist 11100, der neue EX-Wert ist O. Da bei
dem speziell gewählten Beispiel alle elf Bits hoher Ordnung O sind, wird das neue EX-Bit jetzt auf O gesetzt. Die neue
Zählung von elf Bits hoher Ordnung werden in das DMOR 437 geladen und in das DHR 437 in Zyklus 9 sowie in den LCS
gebracht. Der neue EX-Wert von O und der neue BBC-Wert von 11100 werden in den Ergebnisregistern 737 und 741 gespeichert.
Wenn der Kanal 5 wieder in SCSI erscheint, wird ein Vergleich
in der Ergebnis logik 74o ausgeführt. Der neue EX-Wert und
der neue BBC-Wert werden in SCS2 gespeichert. Die Information in SCS2 zirkuliert in dem Zustandspeicher weiter, bis die
Prioritätslogik 734 wieder bestimmt, daß der Kanal 5 Priorität hat. Zu diesem Zeitpunkt werden die Kanalzahl 5, der jetzt
alte BBC-Wert 11100 und der alte EX-Wert O dem Aktionsregister 736 eingegeben. Die Aktionslogik 739 bestimmt, daß
der alte BBC-Wert 11100 größer ist als die tatsächliche Transferlänge 100, so daß nach einer kurzen Sequenz gefragt
wird.
709851/0926
Die kurze Sequenz wird gemäß Tabelle I wiederholt. Es werden vier Datenbytes von dem Kanalspeicher zur Speichereinheit
überführt, während der Hochgeschwindigkeitsdatenmanipulator 100 von dem alten BBC-Wert 11100 abzieht, wodurch der neue
BBC-Wert von 11000 gebildet wird. Von diesem Punkt an wird der O-Wert für das EX-Bit nicht geändert, da keine Anleihe
von dem alten BBC-Wert erforderlich ist.
Die Operation geht mit einer kurzen Sequenz weiter, bis der neue BBC-Wert auf 00000 reduziert ist. Da EX zu dieser Zeit
ebenfalls 0 ist, können die DACL und die OCL bestimmen, daß der Datentransfer abgeschlossen ist. Die CICL beendet den
Datentransfer und gibt dann die Steuerung an OCL ab, nachdem sie von der Steuereinheit "Status" erhalten hat. Nach der
Status-Handhabung gibt die OCL die Steuerung weiter an die
CICL und schließt die Sequenz, wodurch der Kanal ruht.
Wenn alle Daten überführt sind, notiert dies die OCL und veranlaßt die Ergebnislogik 725,auf dem Kanalzustand zu operieren,
so daß der Kanal 5 ruht. Danach ist der Kanal 5 wieder für die Uberführungsinformation von den I/O-Steuerungen zur
Steuereinheit verfügbar.
Obwohl das Beispiel in Verbindung mit einem einzigen Kanal, nämlich dem Kanal 5, erläutert wurde, und die verschiedenen
Teile der Kanalsteuerlogik für den Kanal 5 transfer arbeiten, sieht man, daß eine gleiche Operation auch für andere Kanäle
durchführbar ist. Während beispielsweise die Zustandslogik
428 mit Kanal 5 arbeitet, kann die OCL-Logik 429 auf der Steuerinformation operieren, die einem anderen Kanal zugeordnet
ist, während gleichzeitig die DACL-Logik 4 3o noch einen dritten Kanal beeinflussen kann, während die CICL einen vierten
Kanal bearbeitet. Da jeder Teil der Kanalsteuerlogik 4o3 verfügbar wird, nimmt ar eine Eingabe aus dem Schiebekanalzustand
SCS an und beginnt die Beeinflussung eines geeigneten
Kanals.
709851/092$
Die CICL 432 ist eine Pipelineverarbeitungseinrichtung, welche die Daten zwischen dem lokalen Kanalspeicher LCS und den
I/O-GerSten verschiebt.
Während einer Start-I/O-Instruktion aktiviert die Operationssteuerlogik
die CICL durch Ändern des Feldes des Gesamttrans f er zustandes GTS des Schiebekanalzustandes SCS. Die
CICL antwortet durch Einleiten der Anfangswahlsequenz, einer Wortsequenz und dann einer Endsequenz. Mittlerweile überwacht
die OCL die Operation, indem Änderungen geprüft werden, die die CICL für den Schiebekanalzustand macht.
Die OCL greift ein, wenn ein Zustand Kanal-Ende und Einrichtung-Ende
von der Einrichtung erhalten wird. Wenn der Kanal-Ende-Status erhalten wird, setzt die CICL einen neuen GTS-Zustand
im Schiebekanalzustand. Dies verhindert eine weitere Aktion in der CICL, bis die OCL den Status behandelt und die
CICL freigibt, indem der GTS auf einen neuen Wert geändert wird. Die CICL erkennt den neuen GTS-Zustand und fährt mit
der Behandlung fort. Die Handhabung des Einrichtungs-Ende-Status ist ähnlich.
Die OCL überwacht die CICL-Operationen hinsichtlich Fehler.
Wenn die CICL einen Schnittstellensteuercheck oder einen Kanalsteuercheck feststellt, setzt die CICL einen Fehlerwert
in das Feld für ein ungewöhnliches Ende des SCS. Die OCL fühlt dieses Fehlerfeld in dem SCS und veranlaßt das Speichern
eines Kanalstatuswortes CSW.
Diese elf Schnittstellensequenzen, die von der CICL 432 ausgeführt
v/erden können, sind in der Literaturstelle IBM-System 36o und System 37o I/O Interface Channel to Control
Unit Original Equipment Manufacturer's Information, Formblatt
Nr. GA22-6974, beschrieben.
709851/0928
Um die CICL-Sequenzen auszuführen, verwendet die CICL den
Ortskanalspeicher LCS, die entfernt liegende Schnittstellenlogik RIL und den Schiebekanalzustand SCS.
Der LCS enthält einen Datenpuffer mit 32 Datenplätzen für jeden Kanal. Diese Daten werden der I/O-Schnittstelle an der
Abgabe zugeführt. An der Eingabe wird der Datenpuffer als Zwischenspeicher für Daten verwendet, die von der I/O-Schnittstelle
erhalten werden. Der Ortskanalspeicher LCS enthält auch die Einrichtungsbefehle, die der I/O-Steuereinheit unter
der Steuerung der CICL übermittelt werden. Der von dem I/O-Gerät
erhaltene Status wird in dem LCS durch die CICL gespeichert.
Die entfernt liegende Schnittstellenlogik sorgt für die Datenwege zu und von dem Ortskanalspeicher LCS für die
sechzehn Kanalschnittstellen, die CICL sorgt für die Steuerung, hat jedoch keine Datenbahnen. Die I/O-Schnittstellenverbindungen
sitzen an dem RIL-Rahmen. An der Eingabe werden die Daten (oder Markierungen), die sich von diesen Schnittstellen
aus bewegen, in dem RIL gepuffert und dann weiter zu dem LCS unter der Steuerung der CICL geführt. Bei der Abgabe
ist die Richtung umgekehrt.
Zum Steuern des Datenstroms zwischen dem LCS und der RIL verwendet die CICL eine Information aus dem SCS und der RIL.
Diese Information wird in ein Eingabestufungsregister geladen. Die CICL-Behandlung erfolgt aus diesem Register.
Die CICL-Behandlung braucht nur einen Zyklus. Es wird jedoch
nur ein Schritt in dem Strom ausgeführt. Da viele Schritte erforderlich sind, um jede der elf Sequenzen auszuführen,
verlangen die CICL-Operationen viele Gerätezyklen.
Die CICL und die entfernt liegende Schnittstellenlogik RIL arbeiten zusammen als Pipelineprozessor.
709851/0928
Die Pipeline beginnt, wenn die CICL einen Sync-Impuls zu dem
RIL-Zuordner schickt. Der Zuordner beginnt, Abtastimpulse S,
Flankenimpulse E, Steuerimpulse C und Schienenimpulse B zu emittieren. Die Pulse gegen Informationen von der I/O-Schnittstelle
in RIL ein.
Während der ersten vier Zyklen der CICL-RIL-Leitung werden
Ein-Markierungen geprüft und in die RIL eingegeben. Die EinMarkierungen
werden gleichzeitig von einem Hi/Lo-Kanalpaar (Hoch-Tief-Kanalpaar) gesammelt, deren Kanalzahlen einen
Abstand von acht haben, beispielsweise 0-8, 1-9, usw..
Obwohl die Ein-Markierungen gesammelt werden, wenn Serviceein oder Daten-ein vorhanden ist, wird in die RIL eine
Vorderflankenhalteschaltung gesetzt. Die Vorderflanken in der
RIL werden der CICL übermittelt und teilen dieser mit, wenn eine Datenangabe durch ein I/O-Gerät erforderlich ist.
Die Prioritätslogik in der CICL prüft die Vorderflanken.
Wenn keiner der beiden Kanäle des Hi/Lo-Paares eine Vorderflanke aufweist, gibt die CICL die Priorität dem Kanal, der
noch keinen Service für den längsten Zeitraum erhalten hat.
Die Abgabe der Prioritätslogik ist ein Signal, das dazu verwendet wird, entweder den hochzahligen Kanal oder den niedrigzahligen
Kanal zu wählen. Dieses Wahlsignal wird dem Hi/Lo-Wahlschieberegister übermittelt.
Das Hi/Lo-Wahlschieberegister enthält acht Stufen und erirtnert
sich nur, ob der höherzahlige Kanal oder der niederzahlige Kanal durch die Prioritätsschaltungen gewählt wurde.
Jeder Zyklus des erinnerten Signals wird zur nächsten Stufe des Schieberegisters geschoben. Wenn ein gewählter Kanal sich
durch die Pipeline bewegt, erzeugt das Hi/Lo-Wahlschieberegister Tore zum Steuern der CICL und RIL.
709851/0928
Die erste Steuerung aus dem Hi/Lo-Wahlschieberegister gibt
die Information des Schiebekanalzustands SCS in das CICL-Eingabestufungsregister
CICLIS ein. Jede der Kanalzustandsinformationen ruht in dem SCS. Von den beiden, für den Service
unlesbaren Kanälen befindet sich eine in SCS2, die andere in SCSA.
Zur gleichen Zeit, zu der die Zustandsinformation in das CICLIS geladen wird, gibt das Hi/Lo-Wahlschieberegister auch
die Rückkoppelungsinformatlon der Ein-Markierungen und AusMarkierung
der gewählten Kanäle (aus dem RIL) in das CICLIS für die Behandlung ein.
Die Behandlung in der CICL erfordert nur einen Zyklus (P-Zyklus). Die Prozessierlogik bestimmt:
1) Eine neue Zustandsinformation, um darzustellen, welchen Schritt der Kanal für die gegenwärtige Operation ausführt.
2) Die neuen Aus-Markierungen, die zu der entfernt liegenden Schnittstellenlogik RIL überführt werden.
3) Die Anforderungen für Schreiben oder Abruf am Ortskanalspeicher
LCS.
Während der Behandlung wird eine neue Kanalzustandsinformation erzeugt. Diese Information wird in den SCS bei dem
Zyklus postiert, der auf den P-Zyklus folgt, und wird durch eine Erinnerungseinrichtung ausgeführt, die von den Prioritätsschaltungen
gesetzt wird.
Wenn während der Behandlung festgestellt wird, daß ein Abruf am LCS-Speicher erforderlich ist, wird eine Adresse erzeugt
und in das Ortskanalspeicher-Adressenregister LCSAR gegeben. Eine Speicheroperation könnte darin bestehen, den Datenstatus
zu speichern. Eine Abrufoperation könnte darin bestehen, eine
I/O-Adresse, einen Befehl oder Daten abzurufen.
109851/0928
Der Status oder Daten-ein kommen in die RIL aus den I/O-Schnittstellen-Schienen-Leitungen.
Diese Datenangabe (Status/Daten) wird über die I/O-Schienenpuffer bis zur
Steuerung des Hi/Lo-Wahlschieberegisters und des RIL-Zuordners
geführt. Wenn die Datenangabe durch die RIL geht, wird sie in das Schnittstellenlogikdatengewinnungsregister
ILGDR eingeführt bzw. dort gehalten. Für die Neuanordnung der Datenbytes in dem ILGDR wird gegebenenfalls ein Bytewähler
verwendet, ehe die Daten zu dem Ortskanalspeicher LCS geführt werden.
Die Daten oder Befehle aus dem LCS werden in das 32 BIt-
~"hnittstellenlogikeinbringdatenregister ILPDR eingebracht.
Ein Bytewähler an der Ausgabe des ILPDR übermittelt ein Byte zu dem RIL. Für eine zwei Bytes breite Schnittstelle werden
zwei Bytes gewählt und der RIL übermittelt. Das Hi/Lo-Wahlschieberegister
und der RIL-Zuordner bilden die Eingabesteuerungen, die erforderlich sind, um diese Daten durch die
Abgabepuffer A und B zu bewegen und daraus heraus zu den 1/0-Schnittsteilen-Abgabeleitungen.
Jedesmal, wenn die Kanalzahl in SCS2 gleich 3 oder E ist, empfängt der RIL-Zuordner einen Startimpuls. Der Zuordner
läuft acht Zyklen und erhält dann einen neuen Startimpuls. Durch diesen Prozeß läuft der RIL-Zuordner kontinuierlich.
Wenn ein Kanal sich in dem P-Zyklus befindet, wird ein ADB-Operand
erzeugt. Der Operand kann echt oder komplementär sein. Echte ADB-Operanden sind für die normale operation vorgesehen.
Komplement-Operanden sind für Korrekturoperationen vorgesehen. Der erzeugte Operand wird zu dem ADB in CICLIS für eine neue
ADB-Erzeugung addiert. Wenn die CICL keine Daten zu einem
709851/0928
DA-14 148
2725b22
I/O-Gerät tiberführt, wird der neu berechnete ADB gelöscht
und der ADB in dem SCS bleibt unverändert.
^Verfügbarer DACL-Puffer (ADB)
Bei der Abgabe ist ADB die Zahl der Byte-Plätze, die in dem Kanalpufferspeicher CBS leer sind.
Bei der Eingabe ist ADB die Zahl der Bytes, die sich in dem CBS gerade befinden.
Jedesmal, wenn ein Kanal in den Prozeß-P-Zyklus eintritt,
ist eine Entscheidung zu fällen, um
Daten von dem CBA-Daten-Puffer abzurufen und sie zu den
RIL-Abgabepuffern zu überführen, oder
Daten von dem I/O-Gerät (in ILGDR) in dem CBS zu speichern,
oder
weder eine CBS-Speicherung, noch eine CBS-Abrufung vorzunehmen
.
Wenn entweder eine Speicherung oder eine Abrufung eintritt,
muß der verfügbare DACL-Puffer (ADB) auf den neueste:-* Stand
gebracht werden und in dem Schiebekanalzustand SCS postiert werden.
Für das auf den neuesten Stand Bringen des ADB rechnet die CICL ein 5-Bit-Feld, das als ADB-Operand bezeichnet wird.
Die Bits sind numeriert von 0 bis 4. Bei einer Ausgabeoperation
entspricht der Operand der Zahl der Bytes, die von dem Kanalpufferspeicher CBS zu den RIL-Ausgabepuffern überführt
werden. Bei einer Eingabe entspricht der ADB-Operand dem Betrag von Bytes, die von dem I/O-Gerät erhalten und
dem CBS-Datenbereich übermittelt wurden.
709851/0928
Der ADP-Operand kann in der echten oder komplementären Form vorliegen. Echte Operanden dienen für normale Eingabe-oder
Ausgabeoperationen. Kompliment-Operanden werden für Korrekturoperationen verwendet.
Bei der Abgabe ist eine ADB-Korrektur erforderlich, wenn ein
I/O-Gerät abfällt auf op-ein oder ansteigt auf Status-ein,
ehe die Kanal-CCW-Zählung 0 ist. In diesem Fall wird ein
negativer Operand erzeugt. Dies wird später noch im einzelnen erläutert. Der ADB-Operand wird zu dem alten ADB in CICLIS
gespeichert, um einen neuen ADB zu erzeugen.
Der CICLIS erhält einen ADB aus SCS 2 oder A bei jedem Zyklus über das Hi/Lo-Wahlschieberegister. Dieser ADB wird
zu dem ADB-Operand addiert, der von der CICL erzeugt wurde, und zurück in den SCS4 oder C postiert. Während der CICL-Bearbeitung
wird jedoch, wenn kein Datentransfer erforderlich ist, der neu berechnete ADB nicht benutzt, statt dessen
wählt eine Wahlschaltung den ADB von SCS 3 oder SCSB.
Die Wahl basiert darauf, ob der Kanal, den die CICL behandelt, von SCS2 oder SCS A (SCS 10) kommt, was von dem Hi/Lo-Wahlschieberegister
während des Schienen-B-Zyklus bestimmt wird. Wenn die CICL den Kanal in SCS 2 behandelt, wird der ADB aus
SCS 3 in SCS 4 eingeführt. Wenn die CICL den Kanal in SCS A behandelt hat, wird der ADB aus SCS B in SCS C eingeführt.
+ ADB-Operand-Erzeugung
Dieser Operand ist ein Inkrementbetrag zu der ADB-Addierung
und ist gleich +1 Byte (00001) oder +2 Bytes (00010) bei normaler Operation. Ein plus-eins-Operand wird erzeugt bei
der Eingabe oder Ausgabe, wenn eine Ein-Byte-Schnittstelle verwendet wird und ein Datenbyte zwischen dem Datenpuffer
und der RIL überführt werden soll. Ein plus-zwei-Operand wird bei der Eingabe oder Ausgabe nur dann erzeugt, wenn
eine Zwei-Byte-Schnittstelle verwendet wird. Die CICL kann
709851/0928
DA-14 148 -ar-
auch eine plus-eins-Schnittstelle für eine Zwei-Byte-Schnittstelle
erzeugen, wie dies bei einer ungeraden Bytezählung der Fall ist, wenn das letzte Byte von dem CBS zur
RIL tiberführt wird.
Während des Prozeßzyklus, wenn die Information des Kanals
sich in CICLIS befindet, wird der ADB geprüft. Es wird festgestellt, ob die Operation eine Eingabe oder eine Ausgabe
ist und wie breit der Datentransfer ist. Daraus wird der neue ADB-Wert bestimmt.
Wenn ADB aus SCS gleich 00111 ist und die Operation für einen
Ein-Byte-Transfer vorgesehen ist, wird ADB auf O1OOOO gesetzt.
Dies wird erreicht durch:
1) Punkt A = plus infolge einer Abgabeoperation
2) Punkt B = plus infolge Punkt A ist minus und Punkt C ist
minus (kein Zwei-Byte-Transfer)
3) Punkt D wird plus, weil Punkt B ist plus
4) Punkt E wird minus, weil Punkt D ist plus
5) Punkt H wird plus, weil ADB Bit 4 aus SCS ist ein (Punkt G)
6) Punkt H ist plus und bring Punkt I auf minus, wobei
Bit 4 des neuen ADB abgewendet wird.
Wenn ADB 00110 ist, ist der neue ADB-Wert 00101. Dies wird erreicht durch die obigen Maßnahmen 1 bis 4. Punkt H wird
minus, weil Punkt G plus ist. Dies führt dazu, daß Punkt I plus wird.
709851/0928
- ADB-Operand-Erzeugung
Die CICL kann es für erforderlich halten, von dem ADB zu subtrahieren. Dies wird erreicht durch Erzeugung eines
Kompliment-ADB-Operand. Der Kompliment-Operand wird dann zu dem ADB in dem CICL-Eingabe-Stufungsregister CICLIS
addiert. Diese Subtraktion durch Komplement-Addition wird als ADB-Korrektur bezeichnet.
Die ADB-Korrektur erfolgt, wenn ein I/O-Gerät auf op-ein
oder Status-ein fällt ehe die Kanal-CCW-Zählung null erreicht
hat. In jedem Fall kann in dem RIL-Ausgabepuffer eine Datenangabe
sein, die noch nicht zu dem I/O-Gerät überführt worden ist. Da der ADB modifiziert worden ist (spiegelt eine falsche
Zählung wieder), ist eine ADP-Correktur erforderlich, wenn der ADB in der CSW-Erzeugung verwendet wird.
Der für die Korrektur erzeugte ADB-Operand kann -1 (11111), -2 Bytes (11110) oder -3 Bytes (11o1) sein. Die
-2 und -3 Operanden werden nur erzeugt, wenn eine Zwei-Byte-Schnittstelle verwendet wird. Zusätzlich werden Komplimentbzw.
Komplementoperanden nur bei Abgabeoperationen erzeugt.
Die neue ADB-Erzeugung erfolgt in einem DUal-5-Bit-Addierer,
der einen Chip CL29 enthält. Der Addierer hat keine Steuerungen und führt eine simple binäre Addition von 5 Bits von dem ADB-Operanden
und von den 5 Bits des ADB von CICLIS aus.
Der neue ADB-Wert eines Kanals wird während des Prozeßzyklus-P
des Kanals berechnet. Während des folgenden Zyklus CTS/DIS wird der neue ADB-Wert zum SCS zurückgeführt.
709851/0928
Zum Steuern der Zuführung des ADB-Wertes zum SCS wird ein Selektor gewählt. Wie vorstehend erläutert, kann der neue
ADB-Wert zu SCS 4 oder C gehen. Wenn kein CICL-Datentransfer
vorliegt, wird der ADB-Wert aus SCS 3 oder B anstelle des neuen ADB-Wertes aus der CICL gewählt.
Das LCS-Adressenregister LSCAR kann durch die Operationssteuerlogik
OCL, die Datenzugriffssteuerlogik DACL, die Bedienungseinrichtung und die Kanalschnittstellensteuerungslogik
CICL eingesteuert werden. Die OCL und DACL über LCS für jeden ungeraden Zyklus; CICL hat Zugriff zu LCS bei
jedem Zyklus.
Unter dem Begriff Zugriffssteuerung fällt eine LCS-Anfordernng
zum Speichern einer I/O-Adresse, ein Speicherstatus, die Abrufung
einer I/O-Adresse oder die Abrufung eines I/O-Befehls.
Die Zugriffssteuerung erfolgt, während der gesamte Transferzustand
irgendeinem Wert gleicht, außer den Arbeitszuständen
66 bis 77.
Ein LCSAR-Bit 1o wird immer dann zwangsweise abgeführt, wenn
die CICL einen Zugriff zu dem LCS hat. LCSAR-Bit 1 bis 4 ist die Kanalzahl und kommt vom CICL-Eingabestufungsregister
CICLIS. LCSAR-Bit 5 wird abgezweigt, weil GTS nicht gleich WORK (Arbeit) während des SteuerZugriffs ist. LCSAR-Bit 6
wird angesetzt, wenn GTS gleich 61 (Abrufbefehl) ist.
709851/0928
as-
LCSAR-Bit 7 wird abgesetzt, wenn:
1) GTS - 01 (CICL ruft eine Adresse für HALT i/0) oder
2) GTS = 32 (CICL speichert eine Adresse für ein Gerät, welches Forderung-ein gegeben hat) oder
3) GTS = 52 (CICL ruft eine I/O-Adresse für eine Anfangswahl) oder
4) GTS - 6o (CICL ruft eine I/O-Adresse für einen Vergleich
mit der Adresse, die von einem I/O-Gerät eingegeben ist)
oder
5) GTS = 61 (CICL ruft einen Befehl ab zum Senden eines
I/O-Gerätes)
Bit 7 wird angesetzt, wenn GTS = 26, 34, 44 oder 64
(CICL speichert den I/O-Gerätstatus). LCSAR-Bit 8 wird abgesetzt
für alle SteuerZugriffe, da GTS nicht gleich WORK ist.
LCSAR-Bit 9 wird angesetzt, wenn die Operation ein Schreiben an LCS ist.
LCSAR-Bit 1o wird angesetzt über Byte-O-Schreimarkierungsschaltung
während aller Steuerzugriffe, da GTS nicht gleich WORK ist.
LCSAR-Bit 11 wird angesetzt, wenn GTS gleich 01, 32, 52 oder 6o ist (siehe LCSAR-Bit 7 für die Beschreibung der Zustände)
. Bit 11 wird über die Byte-Schreibmarkierungsschaltungen
gesetzt.
LCSAR-Bit 12, 13 werden abgesetzt während der Steuerungszugriffe über die Byte-2-Schreibmarkierungs- und Byte-3-Schreibmarkierungsschaltungen.
Sie werden abgesetzt, da GTS nicht gleich WORK ist.
709851/0928
Die CICL befindet sich im Datentransfer, wenn der Gesamttransferzustand
GTS gleich WORK ist (Zustände 66 bis 77). Der Transfer kann eine Eingabe, ein Bewegen von I/O-Daten
zum Ortskanalspeicher LCS oder eine Abgabe und ein Bewegen von Daten von dem LCS zu einem I/O-cerät s.ein. Während des
Datentransfers hat das CICL einen Datenzugriff zu LCS entgegengesetzt
zu dem Steuerzugriff, da während des Steuerzugriff s GTS einen anderen Wert als WORK hat.
LCSAR-BIt 0 wird abgesetzt jedesmal, wenn CICL einen Zugriff
zu LCS hat..
LCSAR-Bit 1-4 ist die Kanalzahl und kommt aus dem CICL-Eingabestufungsregister
CICLIS.
LCSAR-Bit 5 wird angesetzt, weil GTS ist gleich WORK (66 bis 77)
LCSAR-Bit 6-8 kommt aus dem CICL-Zeiger. Der CICL-Zeiger
wird erzeugt bei CL 29 durch Addieren des verfügbaren DACL-Puffers
ADB zu dem DACL-Zeiger.
LCSAR-Bit 9 wird angesetzt, wenn die Operation ein Schreiben an LCS ist.
LCSAR-Bit 1O-13 wird angesetzt durch die Byte (O-3)-Schreibmarkierungsschaltungen.
Eine Anforderung eines Kanals mit ungerader Zahl erfolgt während gerader Zyklen. Das verfügbare CBS ist abgeschaltet.
Die erzeugte Adresse wird eingegeben und auf 1-Zyklus gehalten.
709851/0928
DA-14 148 - 99Γ-
LCSAR wird während des CBSI-Zyklus mit ungeraden Kanälen
eingesteuert.
Alle ungeraden Kanäle treten in den CICL-Prozeßzyklus während
eines geraden Gerätezyklus ein. Das Bit niedriger Ordnung für den Kanalzahlerzeuger bestimmt ungerade-gerade Zyklen. Für
Einzelheiten siehe Kanalzahlerzeugung.
Wenn ein ungerader Kanal eine CBS-Forderung macht, wird die verfügbare CBS-Eingabe abgesetzt. Der ungerade Kanal kann
nicht die LCSAR einsteuern, bis der nächste gerade Gerätezyklus da ist (CICL hat nur Zugang zu CBS bei geraden Zyklen).
Während dieser Zeit befindet sich ein geradzahliger Kanal in dem Prozeßzyklus, so daß das LCSAR nicht benutzt werden muß.
Der geradzahlige Kanal wird dadurch blockiert, daß die verfügbare CBS-Halteschaltung ausgeschaltet ist. Somit verhindert
ein verfügbarer CBS, daß geradzahlige Kanäle LCSAR einsteuern, während ungeradzahlige Kanäle dem LCSAR eingeben
können.
Die Adressenerzeugung für einen ungeraden Kanal erfolgt während des P-Zyklus, wird während des nächsten Zyklus
(ungerader Zyklus) gehalten und in den LCSAR bei dem folgenden Zyklus (CBS1-Zyklus) eingegeben.
Die Anforderung eines geradzahligen Kanals erfolgt während ungerader Zyklen. Sie ist nicht möglich, wenn ein geradzahliger
Kanal eine Anfrage für den letzten Zyklus macht. Sie erzeugt eine LCSAR-Adresse während des P-Zyklus und steuert
LCSAR mit der erzeugten Adresse während des nächsten Zyklus (CTD/DIS) ein, wenn CBS verfügbar ist.
Geradzahlige Kanäle sind im P-Zyklus während ungerader Gerätezyklen. Die Erzeugung der LCSAR-Bits erfolgt während
dieses Zyklus. Die erzeugte Adresse wird in LCSAR bei dem nächsten Zyklus eingegeben.
709851/0928
DA-14 148
Da die CICL Zugang zu LCS nur bei geradzahligen Zyklen hat,
hat nur jeweils ein Kanal einen Zugang zu LCS alle zwei Zyklen. Eine Anforderung eines geradzahligen Kanals wird
blockiert, wenn eine Forderung nach einem ungeraden Kanal schwebend ist.
Die Anforderung nach einem geradzahligen Kanal wird über die CBS-verfügbare Halteschaltung blockiert. Dieser Weg
wird von allen geradzahligen Kanälen verwendet. Wie bei der Anforderung nach einem ungeraden Kanal erläutert ist,
wird die CBS-verfügbare Halteschaltung abgeschaltet als Ergebnis einer Forderung nach einem ungeraden Kanal. LCSAR
wird von Verzögerungshalteschaltungen eingesteuert, die die für ungerade Kanäle erzeugte LCSAR-Adresse enthalten.
Wenn keine Forderung nach einem ungeraden Kanal schwebt, wird ein geradzahliger Kanal LCSAR einen Zyklus nach dem
P-Zyklus (CTS/DIS-Zyklus) eingesteuert.
709851/0928
Leerseite
Claims (1)
- DA-14 148PATENTANSPRÜCHEDatenverarbeitungssystem mit einem Systemspeicher und einer Kanaleinheitseinrichtung zum überführen von Daten zwischen Eingabe/Ausgabe-Geräten und dem Systemspeicher über eine Vielzahl von Kanälen, dadurch gekennzeichnet , daß die Kanaleinheitsvorrichtungeine Kanalspeichereinrichtung zum Speichern von Informationen einschließlich der über die Kanäle zu überführenden Daten,eine Kanalzustandspeichereinrichtung, die allen Kanälen gemeinsam ist, eine Vielzahl von Gruppen von Plätzen hat, wobei jeweils eine Gruppe für jeden der Kanäle vorgesehen ist und jede Gruppe Informationen für einen anderen zugeordneten Kanal speichert, die Zustandspeichereinrichtung für jede Gruppe erste Plätze zum Speichern einer Zählung, um eine verbleibende Transferlänge zu bestimmen, wobei die restliche Transferlänge eine Zahl von Bytes von Daten spezifiziert, die über den zugeordneten Kanal zu überführen verbleiben, zweite Plätze zum Speichern eines Zeigers für die Bestimmung eines Platzes in der Kanalspeichereinrichtung und dritte Plätze zum Speichern einer Verfügbarkeitszahl aufweist, welche die verbleibenden Plätze in der Kanalspeichereinrichtung spezifiziert,eine erste Prozeasoreinrichtung, die allen Kanälen gemeinsam ist, um den Transfer der Daten zwischen der Kanalspeichereinrichtung und dem Systemspeicher zu steuern, die eine Einrichtung, die mit der Zustandsspeichereinrichtung für den Zugriff zu ersten, zweiten und dritten Plätzen für jeden Kanal verbunden ist, Einrichtungen zum überführen der Daten zwischen den Kanalspeichereinrichtungen und dem Systemspeicher durch einen709851/0928 ORIGINAL INSPECTEDDA-14 148 -zur-ersten Transferbetrag und eine Einrichtung zum Ändern der Verfügbarkeitszahl in einer Richtung um den Betrag aufweist, der gleich dem ersten Transferbetrag ist, und eine zweite Prozessoreinrichtung aufweist, die allen Kanälen gemeinsam ist, um den Transfer der Daten zwischen der Kanalspeichereinrichtung und den Eingabe/Ausgabe-Geräten zu steuern, die eine Einrichtung, welche mit der Zustandsspeichereinrichtung für den Zugriff zu den ersten, zweiten und dritten Plätzen für jeden Kanal verbunden ist, eine Einrichtung zum überführen der Daten zwischen der Kanalspeichereinrichtung und den Eingabe/Ausgabe-Geräten um einen zweiten Transferbetrag und eine Einrichtung zum Ändern der Verfügbarkeitszahl in eine Richtung entgegengesetzt zu der genannten einen Richtung um einen Betrag, der gleich dem zweiten Uberführungsbetrag ist, aufweist.2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet , daß die Kanalspeichereinrichtung erste, zweite und dritte Plätze hat, die jedem Kanal zugeordnet sind, und eine Adresseneinrichtung aufweist, die auf die erste und zweite Prozessoreinrichtung für den Zugriff zu den Plätzen anspricht.3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet , daß die Zustandsspeichereinrichtung ein Schieberegister mit einer Vielzahl von Plätzen in jeder Stufe, wobei jede Stufe so betätigbar ist, daß Steuerinformationen für einen anderen der Kanäle gespeichert wird, und eine Einrichtung zum schrittweisen Verschieben der Schieberegisterstufen aufweist, wodurch die Steuerinformation für jeden Kanal für die verschiedenen Prozessoren zu unterschiedlichen Zeiten verfügbar sind.709851/09284. Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet , daß die Schieberegisterstufen einen vierten Ort zum Speichern einer Kanalzahl zum Identifizieren des Kanals aufweisen, der der Stufe zugeordnet ist, wodurch die erste und zweite Prozessoreinrichtung einen gerade beeinflußten Kanal identifizieren können.5. Datenverarbeitungssystem nach Anspruch 4, gekennzeichnet durch Einrichtungen zum überführen der Kanalzahl aus dem vierten Platz zu der Adresseneinrichtung, wenn die erste Prozessoreinrichtung aktiv ist, um eine Adresse hoher Ordnung in der Adresseneinrichtung zu bilden, und durch Einrichtungen zum überführen der Kanalzahl aus dem vierten Platz zu der Adresseneinrichtung, wenn die zweite Prozessoreinrichtung aktiv ist, um eine Adresse hoher Ordnung in der Adresseneinrichtung zu bilden.6. Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet , daß die erste Prozessoreinrichtung den Zeiger von dem zweiten Platz zu der Adresseneinrichtung überführt, um ein Feld niedriger Ordnung in der Adresseneinrichtung zu bilden, und daß die zweite Prozessoreinrichtung eine Kombination des Zeigers von dem zweiten Platz und der Verfügbarkeitszahl aus dem dritten Platz überführt, um ein Feld niedriger Ordnung in der Adresseneinrichtung zu bilden.7. Datenverarbeitungssystem, insbesondere nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet , daß für eine Ausgabeoperation die erste Prozessoreinrichtung eine Einrichtung zum Steuern des Datentransfers von dem Systemspeicher zur Kanalspeichereinrichtung hat, wobei die Einrichtung zum Ändern der Verfügbarkeitszahl in der einen Richtung709851/0928eine Einrichtung zum Dekrementieren der Verfügbarkeitszahl aufweist, und daß die zweite Prozessoreinrichtung eine Einrichtung zum überführen von Daten von der Kanalspeichereinrichtung zu Eingabe/Ausgabe-Geräten aufweist, wobei die Einrichtung zum Ändern der Verfügbarkeitszahl in einer Richtung entgegengesetzt zu der genannten einen Richtung eine Einrichtung zum Inkrementieren der Verfügbarkeitszahl aufweist.8. Datenverarbeitungssystem, insbesondere nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet , daß bei einer Eingabeoperation die zweite Prozessoreinrichtung eine Einrichtung zum Steuern des Datentransfers von den Eingabe/Ausgabe-Geräten zu der Kanalspeichereinrichtung aufweist, wobei die Einrichtung zum Ändern der Verfügbarkeitszahl in der Richtung entgegengesetzt zu der genannten Richtung eine Einrichtung zum Dekrementieren der Verfügbarkeitszahl aufweist, und daß die erste Prozessoreinrichtung eine Einrichtung zum überführen von Daten aus der Kanalspeichereinrichtung zum Speichersystem aufweist, wobei die Einrichtung zum Ändern der Verfügbarkeitszahl in der einen Richtung eine Einrichtung zum Inkrementieren der Verfügbarkeitszahl aufweist.9. Datenverarbeitungssystem nach Anspruch 7, gekennzeichnet durch eine Einrichtung zum Dekrementieren der Verfügbarkeitszahl um einen Betrag, der gleich dem ersten Transferbetrag ist.1o. Datenverarbeitungssystem nach Anspruch 8, gekennzeichnet durch eine Einrichtung zum Dekrementieren der Verfügbarkeitszahl in der Richtung entgegengesetzt zu der genannten einen Richtung um einen Betrag, der gleich dem zweiten Transferbetrag ist.709851/092811. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet , daß der erste Transferbetrag dem zweiten Transferbetrag nicht gleich ist.12. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, gekennzeichnet durch Einrichtungen für den zuweisenden Zugriff zu der Kanalspeichereinrichtung durch die erste oder zweite Prozessoreinrichtung als Funktion der Größe der Verfügbarkeitszahl.13. Datenverarbeitungssystem, insbesondere nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Systemspeichereinrichtung, eine Instruktionshandhabungseinrichtung, eine Instruktionsausführungseinrichtung, eine Kanaleinheitseinrichtung zum Durchführen der Funktionen einer Vielzahl von Kanälen, durch welche Informationen zwischen Eingabe/Ausgabe-Geräten und dem System übermittelt werden, wobei die Kanaleinheitseinrichtung eine Vielzahl von Prozessoren aufweist, von denen jeder verschiedenen Kanälen zu verschiedenen Zeiten zuweisbar ist und jeder für die Ausführung verschiedener Funktioneen bezüglich der verschiedenen Kanäle vorgesehen ist, und wobei die Kanaleinheitseinrichtung eine Steuereinrichtung zum Steuern der Zuweisung der Prozessoren zu den verschiedenen Kanälen hat.709851/0928
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/693,553 US4056843A (en) | 1976-06-07 | 1976-06-07 | Data processing system having a plurality of channel processors |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2725522A1 true DE2725522A1 (de) | 1977-12-22 |
Family
ID=24785137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772725522 Withdrawn DE2725522A1 (de) | 1976-06-07 | 1977-06-06 | Datenverarbeitungsvorrichtung |
Country Status (8)
Country | Link |
---|---|
US (1) | US4056843A (de) |
AU (1) | AU507901B2 (de) |
BE (1) | BE855477A (de) |
CA (1) | CA1097762A (de) |
CH (1) | CH629320A5 (de) |
DE (1) | DE2725522A1 (de) |
GB (1) | GB1584104A (de) |
IL (1) | IL52265A0 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3041219A1 (de) * | 1980-11-03 | 1982-05-19 | Bruker Analytische Meßtechnik GmbH, 7512 Rheinstetten | Vorrichtung zur speicherung von messdaten |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4261033A (en) * | 1977-01-19 | 1981-04-07 | Honeywell Information Systems Inc. | Communications processor employing line-dedicated memory tables for supervising data transfers |
JPS586173B2 (ja) * | 1978-01-20 | 1983-02-03 | 株式会社日立製作所 | チャネル制御方式 |
US4276594A (en) * | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4437157A (en) | 1978-07-20 | 1984-03-13 | Sperry Corporation | Dynamic subchannel allocation |
DE2845218C2 (de) * | 1978-10-17 | 1986-03-27 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen |
US4293909A (en) * | 1979-06-27 | 1981-10-06 | Burroughs Corporation | Digital system for data transfer using universal input-output microprocessor |
FI76893C (fi) * | 1980-09-29 | 1988-12-12 | Honeywell Inf Systems | Kommunikationsmultiplexer med dubbla mikroprocessorer. |
US4426679A (en) | 1980-09-29 | 1984-01-17 | Honeywell Information Systems Inc. | Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor |
US4430710A (en) | 1981-08-24 | 1984-02-07 | Burroughs Corporation | Subsystem controller |
US4428043A (en) | 1981-08-24 | 1984-01-24 | Burroughs Corporation | Data communications network |
AU555632B2 (en) * | 1982-03-12 | 1986-10-02 | Honeywell Information Systems Incorp. | Multiplexing central to peripheral control signals |
US4519034A (en) * | 1982-06-30 | 1985-05-21 | Elxsi | I/O Bus clock |
JPS5947625A (ja) * | 1982-09-13 | 1984-03-17 | Fujitsu Ltd | 入出力割り込み方式 |
US4604709A (en) * | 1983-02-14 | 1986-08-05 | International Business Machines Corp. | Channel communicator |
DE3431785A1 (de) * | 1984-08-29 | 1986-03-13 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung fuer einen nach dem warteschlangenprinzip arbeitenden steuerspeicher (fifo-speicher) |
JPS62208153A (ja) * | 1986-03-08 | 1987-09-12 | Nec Corp | 入出力バツフア装置 |
JPH0752420B2 (ja) * | 1986-09-10 | 1995-06-05 | 株式会社日立製作所 | 入出力装置アドレス方式 |
US5016160A (en) * | 1988-12-15 | 1991-05-14 | International Business Machines Corporation | Computer system having efficient data transfer operations |
JPH0776950B2 (ja) * | 1990-06-22 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理方法及び装置 |
CA2067599A1 (en) * | 1991-06-10 | 1992-12-11 | Bruce Alan Smith | Personal computer with riser connector for alternate master |
US5465355A (en) * | 1991-09-04 | 1995-11-07 | International Business Machines Corporation | Establishing and restoring paths in a data processing I/O system |
US5367661A (en) * | 1992-11-19 | 1994-11-22 | International Business Machines Corporation | Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program |
GB2312319B (en) * | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
CA2201679A1 (en) | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Video data storage |
GB2374749B (en) * | 2001-04-20 | 2005-04-06 | Discreet Logic Inc | Image data processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3432813A (en) * | 1966-04-19 | 1969-03-11 | Ibm | Apparatus for control of a plurality of peripheral devices |
US3526878A (en) * | 1967-03-27 | 1970-09-01 | Burroughs Corp | Digital computer system |
US3675209A (en) * | 1970-02-06 | 1972-07-04 | Burroughs Corp | Autonomous multiple-path input/output control system |
US3673576A (en) * | 1970-07-13 | 1972-06-27 | Eg & G Inc | Programmable computer-peripheral interface |
US3934232A (en) * | 1974-04-25 | 1976-01-20 | Honeywell Information Systems, Inc. | Interprocessor communication apparatus for a data processing system |
-
1976
- 1976-06-07 US US05/693,553 patent/US4056843A/en not_active Expired - Lifetime
-
1977
- 1977-04-06 IL IL52265A patent/IL52265A0/xx not_active IP Right Cessation
- 1977-06-01 GB GB23186/77A patent/GB1584104A/en not_active Expired
- 1977-06-06 DE DE19772725522 patent/DE2725522A1/de not_active Withdrawn
- 1977-06-06 CA CA279,921A patent/CA1097762A/en not_active Expired
- 1977-06-07 AU AU25912/77A patent/AU507901B2/en not_active Expired
- 1977-06-07 CH CH701477A patent/CH629320A5/fr not_active IP Right Cessation
- 1977-06-07 BE BE178273A patent/BE855477A/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3041219A1 (de) * | 1980-11-03 | 1982-05-19 | Bruker Analytische Meßtechnik GmbH, 7512 Rheinstetten | Vorrichtung zur speicherung von messdaten |
Also Published As
Publication number | Publication date |
---|---|
BE855477A (fr) | 1977-10-03 |
GB1584104A (en) | 1981-02-04 |
AU2591277A (en) | 1978-12-14 |
US4056843A (en) | 1977-11-01 |
AU507901B2 (en) | 1980-02-28 |
CH629320A5 (fr) | 1982-04-15 |
IL52265A0 (en) | 1977-08-31 |
CA1097762A (en) | 1981-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2725522A1 (de) | Datenverarbeitungsvorrichtung | |
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE2828544C2 (de) | ||
DE2902080C2 (de) | Anordnung zum Steuern von Datenübertragungen zwischen einem Hauptspeicher und Eingabe/Ausgabe-Einheiten | |
DE3853574T2 (de) | Steuerung von Benutzerantworten in einem Übertragungsbus. | |
DE3114961C2 (de) | ||
DE2846495C2 (de) | Zentraleinheit | |
DE1449531C3 (de) | Prozessor, vorzugsweise für ein modul ares Mehrprozessorsystem | |
DE68927492T2 (de) | Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2161886C2 (de) | Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE68928519T2 (de) | Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen | |
DE2719295A1 (de) | Programmsteuerung | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
EP0010198A2 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2424931A1 (de) | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten | |
DE2612037A1 (de) | Prozessor | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE1499206C3 (de) | Rechenanlage | |
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage | |
DE1549531A1 (de) | Digitale Rechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: VON FUENER, A., DIPL.-CHEM. DR.RER.NAT. EBBINGHAUS |
|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 13/38 |
|
8139 | Disposal/non-payment of the annual fee |