DE2725522A1 - Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung

Info

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
Application number
DE19772725522
Other languages
English (en)
Inventor
Richard L Bishop
Stephen P Tulloh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu IT Holdings Inc
Original Assignee
Amdahl Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amdahl Corp filed Critical Amdahl Corp
Publication of DE2725522A1 publication Critical patent/DE2725522A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program 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

PAT E N TA N W*'. LT ^
SCHIFF v.FÜNER STREHL SCHÜBEL-HOPF EBBINGHAUS FINCK
MARIAHILFPLATZ 2*3, MÖNCHEN 9O 2725522
POSTADRESSE: POSTFACH 95 O1 6O, D-8OOO MÖNCHEN 95
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.
Gesamtsystem (Fig. 1)
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
IBM-Corporation".
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.
Kanaleinheit (Fig. 2)
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-
Kanaleinheit (Fig. 3)
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 .
C-Einhelt-Kanaldateniranipulator (Fig. 4)
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. '
Beschreibung der Felder in dem Kanalschiebestatus (SCS)
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
Patenpuffersteuerung
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
Kana1zah!generator
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.
PCL IM-Logikbild
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.
Kanalzahlregister
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:
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
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.
Datenzugriffssteuerlogik (Fig. 6)
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
Kanaleinheitsoperation
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
Zyklen Kanal zu S-Elnheit
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
Kanal zu S-Einheit
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
S-Einheit zu Kanal
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$
Steuerungs-Schnittstellensteuerlogik CICL
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.
Start für den entfernt liegenden Schnittstellenzuordner
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.
ADB-Erzeugung und Steuerung
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.
Beispiel der ADB-Erzeugung
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.
Neue ADB-Erzeugung
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.
ADB-Eingabe an SCS
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.
Adressierung des Kanalortspeichers LCS
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.
Zugriffssteuerung
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.
LCSAR-Biterzeugung für Zugriffssteuerung
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
Datenzugriff
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-Erzeugung für Datenzugriff
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.
LCSAR-Priorität
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)

  1. DA-14 148
    PATENTANSPRÜCHE
    Datenverarbeitungssystem 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 Kanaleinheitsvorrichtung
    eine 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 einen
    709851/0928 ORIGINAL INSPECTED
    DA-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/0928
    4. 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 Richtung
    709851/0928
    eine 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/0928
    11. 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
DE19772725522 1976-06-07 1977-06-06 Datenverarbeitungsvorrichtung Withdrawn DE2725522A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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