[go: up one dir, main page]

DE2314733A1 - PROCEDURE AND CIRCUIT ARRANGEMENT FOR THE QUEUE FORMATION - Google Patents

PROCEDURE AND CIRCUIT ARRANGEMENT FOR THE QUEUE FORMATION

Info

Publication number
DE2314733A1
DE2314733A1 DE19732314733 DE2314733A DE2314733A1 DE 2314733 A1 DE2314733 A1 DE 2314733A1 DE 19732314733 DE19732314733 DE 19732314733 DE 2314733 A DE2314733 A DE 2314733A DE 2314733 A1 DE2314733 A1 DE 2314733A1
Authority
DE
Germany
Prior art keywords
register
channel
address
control word
algorithm
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.)
Pending
Application number
DE19732314733
Other languages
German (de)
Inventor
Wayne Waldo Blackwell
John Joseph O'connell
Edwin Bruce Pierce
John Edward Shabe
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2314733A1 publication Critical patent/DE2314733A1/en
Pending 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/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Memory System (AREA)

Description

Böblingen, 13. März 1973Boeblingen, March 13, 1973

Anmelderin: International Business MachinesApplicant: International Business Machines

Corporation, Armonk, N.Y. 10504Corporation, Armonk, N.Y. 10504

Amtl. Aktenzeichen: NeuanmeldungOfficial File number: New registration

Aktenzeichen der Anmelderin: PO 971 063File number of the applicant: PO 971 063

Verfahren und Schaltungsanordnung zur WarteschlangenbildungMethod and circuit arrangement for queuing

Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur Warteschlangenbildung von Start-Ein/Ausgabebefehlen in Datenverarbeitungsanlagen .The invention relates to a method and a circuit arrangement for queuing start input / output commands in data processing systems .

Je schneller die Zentraleinheiten von Datenverarbeitungsanlagen Befehle ausführen können, desto größer werden die Verzögerungen dieser Zentraleinheiten durch Eingabe/Ausgabe-Operationen. Eine Hauptursache dieser Verzögerungen liegt darin, daß ein E/A-Befehl, wie z.B. der Befehl START E/A aufgehalten wird, bis die von diesem Befehl eingeleitete E/A-Anschlußstellenreihenfolge beendet ist.The faster the central processing units of data processing systems can execute commands, the greater the delays these central processing units through input / output operations. A major cause of these delays is that an I / O command such as holding the START I / O command until the I / O port sequence initiated by that command completes is.

Diese Reihenfolge ist in der US-Patentschrift Nr. 3 336 582 beschrieben. Um die Zentraleinheit wieder freizugeben, ohne daß sie auf die Anschlußstellenfolge warten muß, schlägt ein bekanntes Verfahren vor, daß der Zentraleinheit alle während der Anschlußstellenreihenfolge entdeckten Betriebsbedingungen signalisiert werden. Das erfolgt durch einen Befehl mit dem Namen START E/A SCHNELLE FREIGABE (START I/O FAST RELEASE), der für das IBM System 370 definiert ist.This sequence is described in U.S. Patent No. 3,336,582. To enable the central unit again without it must wait for the connection point sequence, a known method suggests that the central processing unit all during the connection point sequence detected operating conditions are signaled. This is done with a command called START I / O START I / O FAST RELEASE, which is defined for the IBM System 370.

309882/0989309882/0989

Indem man für die Zentraleinheit die Wartezeit auf die Verbindungsherstellung zwischen dem Kanal und der E/A-Einheit· ausschaltet, soll durch den Befehl START E/A SCHNELLE FREIGABE die Totlaufzeit der Zentraleinheit reduziert werden, die mit einer START E/A-Operation verbunden ist.By letting the central unit wait for the connection to be established between the channel and the I / O unit · switches off, the START I / O FAST RELEASE command is used to activate the Reduce the dead time of the central unit associated with a START I / O operation.

Obwohl durch dieses Verfahren bei START-E/A-Operationen das angestrebte Ziel erreicht wird, muß die Zentraleinheit immer noch unterbrochen werden, wenn die E/A-Anschlußstelle, verfügbar wird and nicht von Anfang an zur Verfügung steht und außerdem muß die Operation START E/A SCHNELLE FREIGÄBE durch die Verarbeitungseinheit . erneut eingeleitet werden, wenn die E/A-Anschlußeinheit verfügbar wird. Diese notwendigen Unterbrechungen belegen einen immer größer werdenden Teil der Zeit der Zentraleinheiten, da der Kanal immer stärker benutzt wird, d.h., wenn der Kanal stärker benutzt wird, ist die Wahrscheinlichkeit wesentlich größer, daß die Zentraleinheit eine belegte E/A-Ä*a-Schlußeinheit antrifft, und daher steigt der Bedarf an notwendigen Unterbrechungen, wenn diese belegte Anschlußeinheit frei wird.Although this procedure causes the If the desired goal is achieved, the central processing unit must still be interrupted when the I / O connection point becomes available will not be available from the start and the START I / O FAST ENABLES operation must also be performed by the processing unit . be initiated again when the I / O connector becomes available. These necessary interruptions occupy an increasing part of the time of the central units, since the channel is used more and more, i.e. when If the channel is used more, there is a much greater likelihood that the central unit will have an occupied I / O-A * a terminal unit occurs, and therefore the need for necessary interruptions increases when this busy line unit is free will.

Die Aufgabe der vorliegenden Erfindung besteht somit darin, ein Verfahren und eine Schaltung zu schaffen, bei denen die E/A-Anschlußeinheit zum Zeitpunkt der Annahme eines Befehles für eine SCHNELLE FREIGABE nicht zur direkten Benutzung frei sein muSF weil E/A-Anforderungen in eine Warteschlange in einen Unterkanal gesetzt werden, die für eine E/A-Operation erforderliche Zeit der Verarbeitungseinheit reduziert und die Notwendigkeit ausgeschaltet wird, daß die E/A-Einheit ebenfalls zur Verfügung stehtr wodurch wiederum die Unterbrechungsfolge bei Steuereinheitenende überflüssig wird, die ein Eingreifen der Zentraleinheit erfordert. .*..*"-■The object of the present invention is thus to provide a method and a circuit in which the I / O terminal unit not be free for direct use of a command for a quick release at the time of acceptance Mus F because I / O requests in a queue are set to a sub-channel, reducing the time required for an I / O operation of the processing unit is turned on and the need for the I / O unit also is available again r whereby the interrupt sequence at the control unit end is unnecessary that a Requires intervention from the central unit. . * .. * "- ■

Die erfindungsgemäße Lösung der Aufgabe besteht in einem Verfahren, das dadurch charakterisiert ist, daß* während des Abbruchs eines Kanalkoiumandoworts ein Hauptspeicher in einer seatralenThe inventive solution to the problem consists in a method which is characterized by the fact that * a main memory in a seatral

po 971 0S3 ,. . 301812/OS-SlI-po 971 0S3,. . 301812 / OS-SlI-

- 3 - . 23H733- 3 -. 23H733

Recheneinheit durch ein Koininandoadreßwort adressiert wird und daß während einer Unterkanalabfrage zwei Wörter, die die Kanalaktivität repräsentieren, abgespeichert werden.Computing unit is addressed by a Koininandoadreßwort and that during a subchannel interrogation two words indicating the channel activity represent, are stored.

Eine weitere Lösung besteht in einer Schaltungsanordnung zur Durchführung des Verfahrens, die dadurch charakterisiert ist, daß zum Empfang der Kanalkommandowörter ein Kanaladressen- und Zählregister mit dem Hauptspeicher verbunden ist, daß mit dem Hauptspeicher und dem Kanaladressen- und Zählregister ein Steuerwortregister zur Adressierung des Hauptspeichers während des Abbruchs von Kanalkommandowörtern verbunden ist und daß mit dem Hauptspeicher weiterhin ein Datenpufferregister verbunden ist, das Daten und Kommandosilben empfängt und seinerseits ausgangsseitig mit einem Datenzusammensetzungsregister verbunden ist, das bei einer Leseoperation Daten zu Doppelwörtern zusammensetzt, die von einem Kanalanschlußregister empfangen wurden.Another solution consists in a circuit arrangement for carrying out the method, which is characterized by that to receive the channel command words a channel address and counting register is connected to the main memory, that with the Main memory and the channel address and counter register, a control word register for addressing the main memory during the Interruption of channel command words and that a data buffer register is still connected to the main memory, which receives data and command syllables and is in turn connected on the output side to a data composition register, which, in a read operation, combines data into double words received from a channel connection register.

Der Vorteil sowohl des erfindungsgemäßen Verfahrens als auch der Schaltungsanordnung zur Durchführung des Verfahrens besteht vor allem darin, daß sehr schnelle Start-Ein- und Ausgabebefehle ohne eine größere Verzögerung sofort ausgeführt werden, weil nicht erst abgewartet wird, bis eine einmal eingeleitete Reihenfolge beendet ist.The advantage of both the method according to the invention and the circuit arrangement for carrying out the method is present above all in the fact that very fast start input and output commands are executed immediately without any major delay, because there is no need to wait until a sequence that has been initiated has ended.

Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:An embodiment of the invention is shown in the drawings and will be described in more detail below. Show it:

Fig. IA u. IB Schaltpläne,Fig. IA and IB circuit diagrams,

Fig. 2 bis 4 Instruktionsformate,Fig. 2 to 4 instruction formats,

Fig. 5A bis 7B Programmabläufe in symbolischer Darstellung.5A to 7B program sequences in symbolic representation.

Der in Fig. 1 dargestellte Kanal enthält nur die zum praktischen Betrieb der vorliegenden Erfindung notwendige Maschinenausrüstung. Die Beschreibung definiert die Erfindung in den GrenzenThe duct shown in Figure 1 contains only the machinery necessary to practice the present invention. The description defines the invention within the limits

po 971 063 309882/0989 po 971 063 309882/0989

-4- 23U733-4- 23U733

eines Multiplexorkanalblockes des IBM Systems 370, das Konzept und Verfahren der Warteschlangenbildung für E/A-Operationen im Kanal ist jedoch keineswegs auf diese Grenzen beschränkt.a multiplexor channel block of the IBM System 370, the concept however, the method of queuing for I / O operations on the channel is by no means limited to these limits.

Das Kanaladressen- und Zählregister (CACR) 100 empfängt die Kanalkommandowörter (CCW) vom Hauptspeicher über die Speicher-Sammelausgangsleitung (SDBO) 102. Das CACR 100 enthält auch die Datenadresse für die erste und nachfolgende Datenadressierungen in einem Speicher. Außerdem enthält es die Anzahl der zur übertragung von der Einheit zum Hauptspeicher übriggeblie-'benen Bytes. Bytes werden nachfolgend Silben genannt, weil ein aus "Bytes" zusammengesetztes Wort auch als aus Silben bestehend bezeichnet werden kann. Das CACR enthält außerdem die während der Speicheradressierung benötigten Schlüssel, den die auszuführenden Operationen beschreibenden Operationscode (OP-Code) und zur Steuerung der Operation benutzte Kennzeichen. Fig. 2 zeigt den Inhalt des CACR 100 nach dem Abruf eines CCW. Aus Fig. 2 ist zu ersehen, daß die Bits 0 bis 7 das Kommando, die Bits 8 bis 31 die Datenadresse, die Bits 32 bis 36 Kennzeichen und die Bits 48. bis 63 die Zahl enthalten. Fig. 3 zeigt den Registerinhalt vor dem ersten und nachfolgenden Speicherzugriffen. Gemäß Fig. 3 sind die Schlüssel in den Bits 0 bis 3, der OP-Code in den Bits 6 und 7, die Datenadresse in den Bits 8 bis 31, die Kennzeichen in den Bits 32 bis 36 und der Kanalzustand in den Bits 40 bis 42 und die Zahl in den Bits 48 bis 63 enthalten.The channel address and count register (CACR) 100 receives the channel command words (CCW) from main memory over the memory collective output line (SDBO) 102. The CACR 100 also contains the data address for the first and subsequent data addressing in a store. It also contains the number of levels left over for transmission from the unit to the main memory Bytes. Bytes are referred to below as syllables because a word composed of "bytes" is also called syllable can be designated. The CACR also contains the keys required during memory addressing and the keys to be executed Operation code describing operations (OP code) and identifiers used to control the operation. Fig. 2 shows the contents of the CACR 100 after retrieving a CCW. From Fig. 2 it can be seen that the bits 0 to 7 the command, the Bits 8 to 31 contain the data address, bits 32 to 36 contain the identifier and bits 48 to 63 contain the number. Fig. 3 shows the Register content before the first and subsequent memory accesses. According to Fig. 3, the keys in bits 0 to 3 are the OP code in bits 6 and 7, the data address in bits 8 to 31, the flags in bits 32 to 36 and the channel status in the Bits 40 through 42 and the number in bits 48 through 63 included.

An die SDBO 102 und das CACR 100 ist auch das Steuerwortfegister (CWR) HO angeschlossen. Das CWR HO empfängt das Kommandoadreßwort (CAW) vom Speicher über die SDBO 102 und wird dazu benutzt, den Speicher während des Abrufes von CCWs zu adressieren, das CSW zu bilden und während einer Unterbrechungsreaktion zu speichern sowie, während einer Unterkanalabfrage zwei Kanaltätigkeitswörter festzuhalten. Das Datenpufferregister (DBR) 120 ist ebenfalls mit der SDBO 102 verbunden. Dieses Register empfängt die bei einer Schreiboperation vom Speicher auf der SDBO 102 übertragenen Daten, Kommandosilben vom Speicher auf der SDBO 1O2The control word register is also connected to the SDBO 102 and the CACR 100 (CWR) HO connected. The CWR HO receives the command address word (CAW) from the memory via the SDBO 102 and is used to to address the memory during the retrieval of CCWs, to form the CSW and to store it during an interrupt response as well as capturing two channel activity words during a subchannel interrogation. The data buffer register (DBR) 120 is also connected to the SDBO 102. This register receives those transferred from memory on SDBO 102 during a write operation Data, command syllables from the memory on the SDBO 1O2

Po 971 O63 '309882/0989Po 971 O6 3 '309882/0989

während des Abrufes von CCWs und hält bei Leseoperationen ein Datendoppelwort zur übertragung in den Speicher auf der Speicherdaten-Eingangssaramelleitung (SDBI) 1O3 fest.during the retrieval of CCWs and holds a data double word for read operations for transmission to the memory on the memory data input aramel line (SDBI) 1O3 fixed.

An das DBR 120 ist das Daten-Zusaramensetzungsregister (DAR) angeschlossen. Bei Leseoperationen werden Daten zu einem Doppelwort zusammengesetzt aus den einzelnen Silben, die vom Kanalanschlußregister 140 empfangen wurden. Ebenfalls bei einer Leseoperation werden Daten vom DAR 130 vor der Speieheroperation an das DBR 120 übertragen. Während einer Schreiboperation wird ein Doppelwort vom DBR 120 in das DAR 130 übertragen. Doppelwörter werden bei Schreiboperationen vom DAR 130 kommend in Silben zerlegt und so durch das Kanalanschlußregister 140 über den Kanal an die Anschlußsteuereinheit gesendet. Das Einleiten und Ausleiten von Daten in das bzw. aus dem DAR 130 wird durch die wertniederen Bits des Zahlenfeldes im CACR 100 gesteuert. An das DAR 130 ist das Kanalanschlußregister (CIFR) 14O angeschlossen. Dieses Register empfängt die Kommandosilbe vom DBR 120 über das DAR 13O zur übertragung an die Steuereinheit über die Ausgangssammelleitung. Bei Schreiboperationen empfängt es außerdem die Datensilbe vom DAR 130 zur übertragung an die Steuereinheit über die Ausgangssammelleitung. Außerdem empfängt sie die Einheitenadresse vom Adreßwortregister 150 zur übertragung an die Steuereinheit. Bei Leseoperationen werden Datensilben von der Steuereinheit auf der EingangsSammelleitung zur übertragung an das DAR 130 empfangen. Zustandssilben von der Steuereinheit werden während der Zustandsanalyse ebenfalls empfangen. Das Kanalsteuerregister 140 empfängt auch die Einheitenadresse von der Steuereinheit zum Vergleich mit der Einheitenadresse von der Einheitenadressen-Samraelausgangsleitung 215 oder dem Steuerwortregister 110 oder für eine Eingabe in das Adreßwortregister 150. An das Kanalanschlußregister 14O sind angeschlossen das Steuerwortregister 110, die Einheitenadressen-Sammelausgangsleitung 215, verschiedene andere Steuerleitungen und das Adreßwortregister 15Q. Die erste Silbe des Adreßwortregisters 150 wird für das Betriebszustandsfeld benutzt, welchesThe data composition register (DAR) is connected to the DBR 120 connected. During read operations, data are put together to form a double word from the individual syllables from the channel connection register 140 were received. Also in a read operation, data is retrieved from the DAR 130 prior to the store operation the DBR 120 transferred. A double word is transferred from DBR 120 to DAR 130 during a write operation. Double words are broken down into syllables during write operations from the DAR 130 and so by the channel connection register 140 via the Channel sent to the port controller. The input and output of data to and from the DAR 130 is performed by the lower value bits of the number field are controlled in the CACR 100. The channel connection register (CIFR) 140 is connected to the DAR 130. This register receives the command syllable from DBR 120 via DAR 130 for transmission to the control unit via the output manifold. During write operations, it also receives the data syllable from DAR 130 for transmission to the Control unit via the output manifold. It also receives the unit address from the address word register 150 for transmission to the control unit. During read operations, data syllables are transmitted from the control unit to the input bus Transmission to the DAR 130 received. State syllables from the control unit are also used during the state analysis receive. The channel control register 140 also receives the unit address from the control unit for comparison with the unit address from the unit address samrael out line 215 or the control word register 110 or for entry into the address word register 150. The control word register 110, the unit address collective output line, are connected to the channel connection register 140 215, various other control lines and the address word register 15Q. The first syllable of the address word register 150 is used for the operating status field, which

po 971 O63 309882/0989po 971 O63 309882/0989

durch die Kanalsteuerungen 115 eingestellt wird. Dieses Feld wird immer dann eingestellt, wenn ein Unterkanal zugeordnet wurde oder sich der Zustand eines aktiven ünterkanales ändert. Die zweite Silbe enthält die Einheitenadresse der dem Unterkanal zugeordneten Einheit. Die Einheitenadresse wird von der Einheitenadressen-Sammelausgangsleitung 215 während einer Verarbeitungsfolge von E/A-Befehlen geladen. Die Einheitenadresse wird vom Kommandowortregister 110 während einer QSIO-Folge oder einer Antwortfolge auf eine Sekundärunterbrechung geladen. Die Einheitenadresse wird vom Kanalanschlußregister 140 während der Abgabe einer Sekundärunterbrechung durch eine Einheit über den Kanal an die Steuereinheit geladen. Das Adreßwortregister 150 gibt auch die Betriebszustandswörter in den Steuerwortspeicher 195 ein. Es überträgt außerdem die Einheitenadresse an das Kanalanschlußregister 140 während einer E/A-Befehlsfolge, einer QSIO-Folge oder einer sekundären Eingabefolge.is set by the channel controls 115. This field is always set when a subchannel has been assigned or the status of an active subchannel changes. The second syllable contains the unit address of the unit assigned to the subchannel. The device address is loaded from the device address collective outbound line 215 during a processing sequence of I / O commands. The unit address is loaded from command word register 110 during a QSIO sequence or a response sequence to a secondary interrupt. The unit address is loaded from the channel attachment register 140 during the delivery of a secondary interrupt by a unit over the channel to the control unit. The address word register 150 also enters the operating status words into the control word memory 195. It also transfers the device address to the channel attachment register 140 during an I / O instruction sequence, a QSIO sequence, or a secondary input sequence.

Mit der Einheitenadressen-Sammelausgangsleitung 215 ist auch der Einheitenadressenvergleicher 160 verbunden, der während einer Abtastung des Ünterkanales auf E/A-Befehle die von der Einheitenadressen-Sammelausgangsleitung eingegebene Adresse mit der Einheitenadresse vom Steuerwortregister 110 vergleicht. Er vergleicht außerdem während der ersten Auswahlteile einer SIO-Befehlsfolge die von der Einheitenadxessen-Sammelausgangsleitung 215 eingegebene Adresse mit der Einheitenadresse vom CIFR 140. Weiterhin vergleicht er die Einheitenadresse vom Steuerwortregister 110 mit der Einheitenadresse vom CIFR 140 während der Einheitenstartfolge und er vergleicht die Einheitenadresse vom Steuerwortregister 110 mit der Einheitenadresse vom CIFR 140 während der QSIO-Folgen.Also connected to the unit address group output line 215 is the unit address comparator 160, which compares the address input from the unit address group output line with the unit address from the control word register 110 during a scan of the subchannel for I / O commands. During the first selection parts of an SIO instruction sequence, it also compares the address entered by the unit address collective output line 215 with the unit address from the CIFR 140. Furthermore, it compares the unit address from the control word register 110 with the unit address from the CIFR 140 during the unit start sequence and it compares the unit address from Control word register 110 with the unit address from the CIFR 140 during the QSIO sequences.

Mit dem CWR 110 ist der Unterkanal-Betriebszustandsdecodierer 164 verbunden, der aus einer Kombinationsschaltung besteht, die zusammen mit dem Einheitenadressenvergleicher 160 den Be- , triebszustand der Kanäle aus dem Betriebszustandsfeld im Steuerwortregister 110 bestimmt.The subchannel operating status decoder 164 is connected to the CWR 110 and consists of a combination circuit which, together with the unit address comparator 160, determines the operating status of the channels from the operating status field in the control word register 110.

971 063 3O98827O0IS971 063 3O98827O0IS

An die Einheitenadressen-Sammelausgangsleitung 215 ist ein Decodierer 168 für einen gemeinsamen Unterkanal angeschlossen, mit welchem festgestellt wird, wenn die Einheitenadresse auf der Einheitenadressen-Sammelausgangsleitung 215 einem gemeinsam benutzten Unterkanal zugeteilt wird. Diese Einheitenadressen, die einem gemeinsam benutzten Unterkanal zugeordnet werden können, werden normalerweise bei der Systeminstallation in eine Schaltkarte gesteckt.To the unit address collective output line 215 is a Decoder 168 connected for a common subchannel, with which it is determined when the unit address is on the unit address trunk line 215 is allocated to a shared subchannel. These unit addresses, that can be assigned to a shared subchannel are usually integrated into a Circuit card inserted.

In Fig. 1 ist weiterhin ein Festadressengenerator (FAG) 170 gezeigt, der feste Adressen für einen CAW-Abruf, eine CSW-Speicherung un für ein Verzeichnis fester Adressen erzeugt. Mit dem ebenfalls dargestellten Markengenerator 175 werden Silbenmarken zur Speicherung von weniger als einem Doppelwort im Hauptspeicher erzeugt.In Fig. 1, a fixed address generator (FAG) 170 is also shown, the fixed addresses for a CAW retrieval, a CSW storage un generated for a directory of fixed addresses. With the mark generator 175 also shown, syllable marks are created generated to store less than one double word in main memory.

Das an das CACR ICX) angeschlossene Erhöhungs-yErniedrigungsgerät 180 hat mehrere Funktionen und zwar einmal die Erhöhung/ Erniedrigung der Datenadresse im CACR 100, die Erniedrigung der Zahl im CACR 100, die Erniedrigung der Kommandoadresse im CWR 110; dann dient es als Verbindungsweg zwischen dem CACR 100 und dem CWR 110 und zwischen den Silben 1 bis 3 und 5 bis 7 im CWR HO.The increase / decrease device connected to the CACR ICX) 180 has several functions, namely the increase / decrease of the data address in the CACR 100, the decrease of the Number in CACR 100, the lowering of the command address in CWR 110; then it serves as a connection path between the CACR 100 and the CWR 110 and between the syllables 1 to 3 and 5 to 7 in the CWR HO.

Mit dem Steuerwort-Speicheradreßregister (CWAR) 190 wird der Steuerwortspeicher 195 adressiert und dieses Register wird durch die KanalSteuerungen 115 eingeschaltet, wenn der Steuerwortspeicher 195 adressiert wird.With the control word memory address register (CWAR) 190, the control word memory 195 is addressed and this register is through the channel controls 115 turned on when the control word memory 195 is addressed.

An das CWAR 190 ist der Steuerwortspeicher (CWM) 195 angeschlossen, der als Festwertspeicher ausgeführt ist und Eingangssignale vom Steuerwortregister 110 und dem Adreßwortregister 150 empfängt und Ausgangssignale an das Steuerwortregister 110 abgibt. Der Steuerwortspeicher 195 enthält ein Betriebszustandswort für jeden Unterkanal. Im Ausführungsbeispiel sind 16 Unterkanäle vorhanden und der Steuerwortspeicher speichert die KommandowörterThe control word memory (CWM) 195 is connected to the CWAR 190, which is designed as a read-only memory and receives input signals from the control word register 110 and the address word register 150 and outputs output signals to control word register 110. The control word memory 195 contains an operating status word for each subchannel. In the exemplary embodiment there are 16 subchannels and the control word memory stores the command words

po 971 063 309882/0 989 po 971 063 309882/0 989

1 und 2 für jeden dieser 16 Unterkanäle. Die einzelnen Stellen im Steuerwortspeicher sind folgendermaßen zugeordnet:1 and 2 for each of these 16 subchannels. The individual places in the control word memory are assigned as follows:

a) Die Stellen 0-7 enthalten zwei Betriebszustandswörter/Steile. Ein Betriebszustandwort gehört zu jedem Unterkanal.a) Positions 0-7 contain two operating status words / parts. An operating status word belongs to each sub-channel.

b) Die Stellen J3-31 sind nicht zugeordnet.b) Positions J3-31 are not assigned.

c) Die Stellen 32-48 enthalten das Steuerwort 1 für jeden Unterkanal.c) Positions 32-48 contain control word 1 for each Subchannel.

d) Die Stellen 48-63 enthalten das Steuerwort 2 für jeden Unterkanal.d) Positions 48-63 contain control word 2 for each Subchannel.

Fig. 4 zeigt das Format der Stellen im Steuerwortspeicher.4 shows the format of the locations in the control word memory.

Die Anschluß-Reihenfolgesteuerung 208 steuert schließlich die Anschlußleitungen und ihre Reihenfolge. Diese Anlage ist vollständiger beschrieben in IBM System/360 und System/370 I/O Interface channel to control Unit Original Equipment Manufacturer's Information - Form GA 22-6974-0.Terminal sequencer 208 ultimately controls the leads and their order. This system is more complete described in IBM System / 360 and System / 370 I / O Interface channel to control unit Original Equipment Manufacturer's Information - Form GA 22-6974-0.

BETRIEB: .OPERATION: .

Warteschlangenbildung von SIOFSIOF queuing

Im Zusammenhang mit den Ablaufdiagrammen in den Fign. 5-7 wird zuerst die Arbeitsweise des in Fig. 5 gezeigten Algorithmus beschrieben. Beim Empfang eines Befehles von der Zentraleinheit stellt dieser Algorithmus zunächst einmal fest, ob es sich um einen SIOF-Befehl handelt und die zu seiner Ausführung notwendigen Geräte zur Verfügung stehen, d.h. ob die Anschlußeinheit und die E/A-Einheit nicht belegt sind. Wenn eine dieser beiden Einheiten belegt ist, setzt der Algorithmus den Befehl in eine Warteschlange im Kanal. Der Warteschlangenalgorithmus für den Befehl START E/A SCHNELLE FREIGABE beginnt mit der Prüfung der Kanalwahlleitung 201 an der zentralen Anschlußeinheit 2OO. Wenn ein Signal auf der Kanalwahlleitung 201 liegt, stellt der Algorithmus als nächstes fest, ob ein Signal auf der Unterbrechungs-In connection with the flow charts in FIGS. 5-7 will the operation of the algorithm shown in FIG. 5 will first be described. When receiving a command from the central unit this algorithm first determines whether it is a SIOF command and what is necessary for its execution Devices are available, i.e. whether the connection unit and the I / O unit are not in use. If either of these two Units is occupied, the algorithm places the command in a queue in the channel. The queuing algorithm for the START I / O FAST RELEASE command begins testing the channel selection line 201 on the central line unit 200. if a signal is on the channel selection line 201, the algorithm next determines whether there is a signal on the interrupt

po 971 063 309882/0989po 971 063 309882/0989

antwortleitung 202 liegt. Ist das der Fall, läuft der Algorithmus mit einer Unterbrechungsfolge aus und ist beendet. Wenn kein Signal auf der Unterbrechungsantwortleitung 202 liegt, prüft der Algorithmus weiter, ob eine Signal auf der SIOF-Leitung 203 liegt. Wenn auf der Leitung 203 kein Signal liegt, läuft der Algorithmus zu einer Verarbeitungsfolge für einen nicht wartenden SIO-Befehl aus und endet. Wenn jedoch auf der Leitung 203 ein Signal liegt, stellt der Algorithmus weiter fest, ob auch ein Signal auf der Blockraultiplexleitung 2O4 liegt. Wenn kein Signal auf der Blockmultiplexleitung 204 liegt, läuft der Algorithmus zu derselben Folge aus und endet wie bei der Leitung 203. Wenn jedoch auf der Leitung 204 ein Signal liegt, wird durch die Steuerung das Kanalgerät zu einer Abtastung nach einem Unterkanal gestartet. Dadurch werden insbesondere Nullen in das CWAR gesetzt. In den Kanalsteuerungen 115 werden außerdem die Verriegelungsschaltungen für den verfügbaren und für den bedingt verfügbaren Unterkanal zurückgestellt.answer line 202 is located. If this is the case, the algorithm runs out with an interruption sequence and is ended. if there is no signal on the interrupt response line 202, the algorithm continues to check for a signal on the SIOF line 203 lies. If there is no signal on line 203, the algorithm runs on a processing sequence for one not waiting SIO command and ends. However, when on the line 203 a signal is present, the algorithm further determines whether a signal is also present on the block multiplex line 204. if there is no signal on the block multiplex line 204, the algorithm expires in the same sequence and ends as with the line 203. However, if there is a signal on line 204, the controller causes the channel device to scan for a subchannel started. In particular, this places zeros in the CWAR. In the channel controllers 115 are also the latch circuits deferred for the available and the conditionally available sub-channel.

Der Algorithmus muß jetzt alle im Ausführungsbeispiel beschriebenen 16 Unterkanäle abfragen, um festzustellen, ob einer dieser Unterkanäle verfügbar ist und ob die Einheitenadresse im Befehl bereits im Unterkanal belegt ist. Dazu wird der Inhalt des Steuerwortspeichers 195, der durch den Inhalt des Steuerwort-Speicheradreßregister 190 vorgeschrieben ist, in die Bitpositionen 0-31 des Steuerwortregister 110 ausgelesen. Das erste Betriebszustandsfeld (Bits 0-7) wird dann im Unterkanal-Betriebszustandsdecodierer 164 geprüft, um festzustellen, ob das erste Bit gleich 0 ist. Ist das der Fall, wird geprüft, ob die Unterkanal-Verfügbarkeitsverriegelungsschaltung in der Kanalsteuerung 115 eingestellt ist. Wenn festgestellt wurde, daß der verfügbare Unterkanal eingestellt wurde, prüft der Algorithmus weiter das zweite Betriebszustandsfeld. Wenn er jedoch feststellt, daß das verfügbare Unterkanal nicht eingestellt wurde, stellt er diesen ein und setzt die Nummer des Unterkanales, die aus dem um 1 Position nach links verschobenen Inhalt der Bitpositionen 3 bis 5 des Steuerwort-Speicheradreßregister 190 besteht, in die Kanalsteuerungen 115.The algorithm must now all be described in the exemplary embodiment Inquire 16 subchannels to determine whether one of these subchannels is available and whether the unit address in the command is already is occupied in the subchannel. For this purpose, the content of the control word memory 195, which is determined by the content of the control word memory address register 190 is prescribed, read into the bit positions 0-31 of the control word register 110. The first operating status field (Bits 0-7) is then checked in subchannel mode decoder 164 to see if the first bit is zero. Is this If so, it is checked whether the sub-channel availability lock circuit in the channel controller 115 is set. if it has been determined that the available subchannel has been set, the algorithm continues to check the second operating status field. However, if it finds that the available sub-channel has not been tuned in, it tunes in and sets the Number of the subchannel derived from the content of bit positions 3 to 5 of the control word memory address register, shifted by 1 position to the left 190 consists in the channel controls 115.

Po 971 063 309882/0989 Po 971 063 309882/0989

- ίο - 23U733- ίο - 23U733

Dann prüft der Algorithmus das zweite Betriebszustandsfeld.The algorithm then checks the second operating status field.

Wenn das erste Betriebszustandsfeld angibt, daß der Unterkanal belegt ist (d.h. Bit 0 ist von O verschieden), stellt der Algorithmus fest, ob der Unterkanal mit der adressierten Einheit belegt ist, indem er überprüft, ob Bit 0 und 7 gleich 1 sind, wodurch ein gemeinsamer Unterkanal bezeichnet wird. Handelt es sich ura einen gemeinsamen Unterkanal, wird der Inhalt der Bitpositionen 0-3 des ersten Betriebszustandsfeldes, der von der Einheitenadressen-Sammelausgangsleitung 21.5 kommt, verglichen mit dem Inhalt der Bitpositionen 8-11 des Steuerwortregisters 110. Ist der Inhalt gleich, stellt der Algorithmus den Zustand des Unterkanalcodierers fest, um den Bedingungscode zu ermitteln, der bei Freigabe an die Zentraleinheit gesendet wird. Dementsprechend setzt der Algorithmus den Bedingungscode auf die Bedingungscodeleitungen 206 der zentralen Anschlußeinheit 200 und endet mit der Freigabe der Zentraleinheit,If the first operational status field indicates that the subchannel is busy (i.e. bit 0 is different from 0), the algorithm determines whether the subchannel is occupied by the addressed unit by checking whether bits 0 and 7 are equal to 1, whereby a common subchannel is designated. If it is a common sub-channel, the content of bit positions 0-3 of the first operating status field, which is controlled by the Unit address collective output line 21.5 comes compared with the content of bit positions 8-11 of the control word register 110. If the content is the same, the algorithm determines the state of the subchannel encoder in order to determine the condition code, which is sent to the central unit when enabled. Accordingly the algorithm places the condition code on the condition code lines 206 of the central connection unit 200 and ends with the release of the central unit,

Wenn das erste Betriebszustandsfeld keinen gemeinsamen Unterkanal angibt, ist der Vergleich einer vollen Adresse erforderlich, d.h. die Bits 0 und 7 des ersten Betriebszustandsfeldes sind nicht beide gleiche 1 und dann wird der Inhalt der von der Einheitenadressen-Sammelausgangsleitung 215 kommenden Bitpositionen 0-7 im Einheitenadressenvergleicher 160 verglichen mit dem Inhalt der Bitpositionen 8-15 des Steuerwortregisters 110. Wenn sie gleich sind, stellt der Algorithmus den Betriebszustand des Unterkanales fest, setzt den entsprechenden Bedingungscode und endet jnit der Freigabe der Zentraleinheit. Wenn die Bits O-7 von der Einheitenadressensammelausgangsleitung jedoch nicht mit dem Inhalt des Steuerwortregisters in den Bitspositionen 8-15 übereinstimmen oder die Bits 0-3 von der Einheitenadressen-Sammelausgangs leitung mit dem Inhalt der Bitpositionen 8-11 des Steuerwortregisters 110, dann muß die Sekundärunterbrechung bestimmt werden, indem man feststellt, ob die Bits 1 und 2 des ersten Betriebszustandsfeldes gleich 1 bzw.- 0 sind. Dann wird weiterhin festgestellt, ob ein Unterkanal mit einer niedrigerenIf the first operating status field does not have a common sub-channel indicates, a full address must be compared, i.e. bits 0 and 7 of the first operating status field are not both are equal to 1 and then the content of the unit address group output line becomes 215 coming bit positions 0-7 in the unit address comparator 160 compared with the content of bit positions 8-15 of control word register 110. If they are the same, the algorithm sets the operating state of the Sub-channel, sets the corresponding condition code and ends with the release of the central unit. When bits O-7 from the unit address collective output line, however, not with the contents of the control word register in bit positions 8-15 match or bits 0-3 from the unit address group output line with the content of bit positions 8-11 of control word register 110, then the secondary interrupt can be determined by determining whether bits 1 and 2 of the first operating status field are equal to 1 and -0, respectively. Then it will be further determined whether a sub-channel with a lower

971 063 -30188 2/0 9.8-9971 063 -30188 2/0 9.8-9

Nummer allgemein oder bedingt zur Verfügung steht, indem man die entsprechenden Verriegelungsschaltungen in der Kanalsteuerung 115 prüft. Wenn ein Kanal nicht vorher allgemein oder bedingt verfügbar geschaltet wurde, wird er jetzt bedingt verfügbar geschaltet und die Unterkanalnummer in die Kanalsteuerungen 115 gesetzt. Der Algorithmus prüft dann das zweite Betriebszustandsfeld. Falls keine Sekundärunterbrechung vorliegt, d.h. die Bits 1 und 2 des ersten Betriebszustandsfeldes sind nicht gleich 1 bzw. 0, prüft der Algorithmus als nächstes das zweite Betriebszustandefeld.Number is generally or conditionally available by the appropriate interlock circuits in the channel controller 115 are checked. If a channel has not previously been general or was switched conditionally available, it is now switched conditionally available and the subchannel number in the channel controls 115 set. The algorithm then checks the second operating status field. If there is no secondary interruption, i.e. bits 1 and 2 of the first operating status field are not equal to 1 and 0, respectively, the algorithm checks this next second operating status field.

Das zweite Betriebszustandsfeld umfaßt die Bitpositionen 16 bis 23 des Steuerwortregisters 110, von welchen die Bitposition 16 jetzt auf 0 geprüft wird. Steht das Bit 16 auf 0, dann muß mit einer überprüfung der Verfügbarkeitsverriegelungsschaltung für den Unterkanal festgestellt werden, ob ein Unterkanal mit niedrigerer Zahl vorher verfügbar gemacht wurde. Wenn das der Fall ist, prüft der Algorithmus als nächstes die Zahl im Steuerwortadreßregister. Wenn die Verfügbarkeitsverriegelung für den Unterkanal noch nicht eingeschaltet wurde, wird sie jetzt eingeschaltet und die Zahl des Unterkanals in die Kanalsteuerung 115 in ähnlicher Weise gesetzt, wie es oben für das erste Betriebszustandsfeld beschrieben wurde, jedoch wird die Unterkanalzahl nach der Verschiebung jetzt um 1 erhöht. Als nächstes prüft der Algorithmus dann die Zahl im Steuerwortadreßregister. Wenn das erste Bit des zweiten Betriebszustandsfeldes von 0 verschieden ist, stellt der Algorithmus fest, ob die Bitpositionen 16 bis 23 des Steuerwortregisters 110 Einsen enthalten und damit einen gemeinsamen Unterkanal bezeichnen. Diese Feststellung wird im Unterkanal-Betriebszustandsdecodierer 164 getroffen. Wenn dort festgestellt wird, daß diese Bits gleich 1 sind, wird im Einheitenadressenvergleicher 160 der Inhalt der Bits 0 bis 3 von der Einheitenadressen-Sammelausgangsleitung 215 mit dem Inhalt Bits 24 bis 27 des Steuerwortregisters 110 verglichen. Wenn der Einheitenadressenvergleicher 160 einer Übereinstimmung feststellt, wird der Betriebszustand des Unterkanales ermittelt und der Bedingungs-The second operating status field comprises the bit positions 16 to 23 of the control word register 110, of which the bit position 16 is now checked for 0. If bit 16 is set to 0, the availability interlocking circuit for the subchannel it is determined whether a subchannel with a lower number has previously been made available. If that is the case the algorithm next checks the number in the control word address register. When the availability lock for the subchannel has not yet been switched on, it is now switched on and the number of the subchannel is entered in the channel control 115 in set in a similar way to that described above for the first operating status field, but the subchannel number is set now increased by 1 after the shift. Next, the algorithm then checks the number in the control word address register. If that first bit of the second operating status field is different from 0, the algorithm determines whether the bit positions 16 to 23 of the control word register 110 contain ones and thus designate a common subchannel. This finding is made in Sub-channel operating state decoder 164 hit. If it is found there that these bits are equal to 1, the unit address comparator 160 the content of bits 0 to 3 from the unit address collective output line 215 with the content of bits 24 to 27 of the control word register 110 are compared. When the unit address comparator 160 detects a match, the operating status of the sub-channel is determined and the condition

PO 971 063PO 971 063

309882/0 989309882/0 989

- 12 - 23U733- 12 - 23U733

code genauso gesetzt, wie es oben für das erste.Betriebszustandsfeld beschrieben wurde, und der Algorithmus endet dann mit der Freigabe der Zentraleinheit.code is set exactly as it was above for the first operating status field has been described, and the algorithm then ends with the release of the central unit.

Falls die Bits 16 und 23 nicht gleich 1 sind, werden die Bits 0-7 von der Einheitenadressen-Sammelausgangsleitung 215 im Einheitenadressenvergleicher 160 verglichen mit den Bits 24 bis 31 des Steuerwortregisters 110. Falls der Einheitenadressenvergleicher 160 eine Übereinstimmung feststellt, wird der Betriebszustand des ünterkanales ermittelt, der Kommandocode entsprechendgesetzt und der Algorithmus mit der Freigabe der Zentraleinheit beendet. Falls der Einheitenadressenvergleicher 160 keine Übereinstimmung feststellt, muß das zweite Betriebszustandsfeld auf eine Sekundärunterbrechung überprüft v/erden. Zu drüisem Zweck wird zuerst festgestellt, ob die Bits 17 und 18 des zweiten Betriebszustandsfeldes gleich 1 bzw. 0 sind. Diese Feststellung trifft der Unterkanal-Betriebszustandsdecodierer 164. Wenn diese Bedingung angezeigt wird, muß festgestellt werden, ob ein Unterkanal mit einer niedrigeren Zahl vorher bedingt oder unbedingt als frei ermittelt wurde. Wenn ein früherer Unterkanal weder bedingt noch unbedingt verfügbar ist, wird der Unterkanal auf bedingte Verfügbarkeit geschaltet und die Zahl dieses Ünterkanales in die Kanalsteuerung 115 gemäß obiger Beschreibung geladen. Der Algo- ; rithmus läuft dann weiter zur Zahl im Steuerwortregister 110. Wenn festgestellt wurde, daß der Unterkanal weder bedingt noch unbedingt verfügbar geschaltet ist oder das die Bits 17 und 13 im zweiten Betriebszustandsfeld nicht gleich 1 bzw. 0 sind, läuft der Algorithmus weiter zur Zahl im Steuerwortregister.If bits 16 and 23 are not 1, bits 0-7 from the unit address collective output line 215 become in the unit address comparator 160 compared to bits 24 through 31 of control word register 110. If the unit address comparator 160 finds a match, the operating status of the sub-channel is determined and the command code is set accordingly and the algorithm ends with the release of the central unit. If the unit address comparator 160 does not match determines, the second operating status field must be checked for a secondary interruption / ground. For a dull purpose it becomes first determined whether bits 17 and 18 of the second operating status field are equal to 1 and 0, respectively. This determination is made by the subchannel operating state decoder 164. If this condition is displayed, it must be determined whether a subchannel with a lower number was previously determined conditionally or unconditionally as free became. If a previous subchannel is neither conditionally nor unconditionally available, the subchannel is subject to conditional availability switched and the number of this sub-channel loaded into the channel controller 115 as described above. The algo-; rithmus then continues to the number in control word register 110. If it is determined that the subchannel is neither conditional nor is switched unconditionally available or that bits 17 and 13 in the second operating status field are not equal to 1 or 0, the algorithm continues to the number in the control word register.

Durch die überprüfung der Zahl im Steuerwortregister wird jetzt festgestellt, ob der Inhalt des Steuerwortregisters gleich 7 ist. Damit wird geprüft, ob der Zustand aller Unterkanäle abgefragt wurde. Wenn der Inhalt des Steuerwort-Speicheradressenregisters 190 als von 7 verschieden ermittelt wird, wird er um 1 erhöht und der Algorithmus wiederholt die oben beschriebenenSchritte zur Prüfung der beiden Betriebszustandsfeider und der Verfügbar-By checking the number in the control word register, now determines whether the content of the control word register is equal to 7. This checks whether the status of all sub-channels has been queried. If the contents of the control word memory address register 190 is determined to be different from 7, it is incremented by 1 and the algorithm repeats the steps described above to check the two operating status fields and the available

PO 971 O63 3 0 9882/09&9PO 971 O 63 3 0 9882/09 & 9

keit der Einheiten. Wenn der Inhalt des Steuerwort-Speicheradreßregisters 19O jedoch gleich 7 istr stellt der Algorithmus anschließend fest, ob ein Unterkanal als bedingt oder unbedingt verfügbar ermittelt wurde. Trifft das für keinen Kanal zu, wird der Bedingungscode auf 2 gesetzt und die Zentraleinheit mit dem Auslaufen des Algorithmus freigegeben. Das heißt dann, daß alle Unterkanäle belegt sind. Für den Fall, daß ein Unterkanal nicht belegt, d.h. also bedingt oder unbedingt verfügbar ist, werden Verriegelungsschaltungen eingeschaltet, der Inhalt der Einheitenadressen-Sammelausgangsleitung 215 in die Bits 8 bis 15 des Adreßwortregisters 150 geladen und der Abruf eines Kommandoadreßwortes begonnen. Das Kommandoadreßwort wird auf bekannte Weise aus dem Hauptspeicher in den Steuerwortspeicher 110 abgerufen. Der Abruf des Kommandoadreßwortes kann mit der noch zu beschreibenden 3inheitenwahl überlappt werden und braucht nicht nacheinander zu erfolgen. Wenn das Kommandoadreßwort abgerufen ist, prüft der Algorithmus auf Fehleranzeige. Wenn ein Fehler angezeigt wird, wird ein Teil-Kommandozustandswort (CSW) gebildet und gespeichert und der Bedingungscode auf 1 gesetzt und der Algorithmus endet mit der Freigabe der Zentraleinheit. Wenn keine Fehler angezeigt werden, muß der Kanal zur Steueranschlußeinheit auf Belegung überprüft werden. Wenn er nicht belegt ist, wird der Abruf des CCW eingeleitet mit den CAW-Schlüsseln im Kommandowortregister Bits 0-3 und der Adresse in den Bits 8-31. Der Inhalt des Adreßwortregisters 150 wird in das Kanalanschlußregister 140 geladen, der Bedingungscode auf 0 gesetzt und die Zentraleinheit freigegeben. Die Einheitenwahl wird dann auf normale Weise eingeleitet. Dann stellt der Algorithmus fest, ob eine Eingangswahl angezeigt ist, d.h. eine Leitung an der Anschluß-Reihenfolgesteuerung 208 zeigt an, daß die Einheit nicht in Betrieb ist. Wenn eine Eingangswahl angezeigt ist, wird ein Untearkanal-Unterbrechungsausstand gesetzt, ein CSW gebildet und im Steuerwortspeicher 195 gespeichert sowie eine Unterbrechungsanforderung an die Zentraleinheit gesendet, womit der Algorithmus endet. Falls eine Eingangswahl nicht angezeigt ist, muß festgestellt werden, ob die Einheit gewählt worden ist, ob sie nicht gewählt worden ist. Wennunits. However, if the contents of the control word storage address register 19O is equal to 7 r , the algorithm then determines whether a subchannel has been determined to be conditionally or unconditionally available. If this does not apply to any channel, the condition code is set to 2 and the central unit is enabled when the algorithm expires. This then means that all sub-channels are occupied. In the event that a subchannel is not occupied, ie is conditionally or unconditionally available, interlocking circuits are switched on, the content of the unit address collective output line 215 is loaded into bits 8 to 15 of the address word register 150 and a command address word is started. The command address word is fetched from the main memory into the control word memory 110 in a known manner. The call of the command address word can be overlapped with the 3-unit selection to be described and does not have to be done one after the other. When the command address word has been called up, the algorithm checks for errors. If an error is displayed, a partial command status word (CSW) is created and saved, the condition code is set to 1 and the algorithm ends when the central unit is enabled. If no errors are displayed, the channel to the control connection unit must be checked for occupancy. If it is not used, the call of the CCW is initiated with the CAW keys in the command word register bits 0-3 and the address in bits 8-31. The contents of the address word register 150 are loaded into the channel connection register 140, the condition code is set to 0 and the central processing unit is enabled. Unit selection is then initiated in the normal way. The algorithm then determines whether an input selection is indicated, that is, a line to the line sequencer 208 indicates that the unit is inoperative. If an input selection is indicated, a sub-channel interrupt pending is set, a CSW is formed and stored in control word memory 195, and an interrupt request is sent to the central processing unit, which ends the algorithm. If an input selection is not displayed, it must be determined whether the unit has been selected, whether it has not been selected. if

O63 309882/051$O63 309882/051 $

angezeigt ist, daß die Einheit gewählt worden istr prüft der Algorithmus, ob die Steuereinheit belegt ist* Wenn er dabei feststellt, daß die Steuereinheit nicht belegt ist, endet der Algorithmus und an diesem Punkt wurde dann festgestellt, daß die Operation wie eine normale Operation START E/A SCHNELLE FREIGABE weiterlaufen kann. Wenn jedoch angezeigt wird, daß die Steuereinheit belegt ist, muß der Algorithmus weiterlaufen zum START E/AWarte sch langenvexfahr en«indicates that the unit has been selected r the algorithm checks to see if the control unit is busy START I / O FAST RELEASE can continue. If, however, it is indicated that the control unit is busy, the algorithm must continue to run to START I / O wait.

Wenn festgestellt wird, daß die Änschlußeinheit zwischen Kanal und Steuereinheit oder die Steuereinheit belegt ist, decodiert der Algorithmus nach dem Ablaufdiagramm in Fig. 5 den Inhalt der Einheitenadressen-Sammelausgangsleitung 215 im Decodierer für den gemeinsam benutzten Unterkanal 168, um festzustellen, ob die Einheitenadressen-Sammelausgangsleitung 215 einen gemeinsam benutzten ünterkanal bezeichnet. Wenn das der Fall ist, werden die Bits 0-7 im Adreßwortregister 150 auf 10000101 gesetzt und damit ein gemeinsam benutzter ünterkanal mit einem SIOQ bezeichnet. Wenn die Decodierung keinen gemeinsam benutzten ünterkanal bezeichnet, setzt der Algorithmus die Bits 0-7 im Adreßwortregister 150 auf 10000100 und bezeichnet damit einen nicht gemeinsam benutzten ünterkanal mit einem SIOQ. Die Zahl des Unterkanals wird um ein Bit nach rechts verschoben und in das Steuerwort-Speicheradreßregister 190 gesetzt. Die Markierungen in den Steuerungen^ des Steuerwortspeichers 195 werden pro wertniederes Bit in der Unterkanalzahl gesetzt, um anzuzeigen, ob der Inhalt des Adreßwortregister s 150 in den rechten oder linken Teil der zu adressierenden Stelle im Steuerwortspeicher gesetzt wird. Der Inhalt des Ädreßwortregisters 150 wird dann in den Steuerwort speicher 195 an der Adresse geschrieben,, die im Steuerwart-Speicheradreßregister 190 und den Markierungen im Steuerwortspeicher enthalten ist. Der Algorithmus setzt; dann die um 22 erhöhte ütoterkanalzahl in das Steuerwort-Speicheradreßregister 190 und schreibt den, Inhalt der Bits 0-31 des Steuerwort-Speicheradreß— registers 190 in den Steuerwortspeicher 195. an der Adresse des Steuerwort-Speicheradreßregisters; 190. Dieses speichert dasIf it is determined that the connection unit between channel and control unit or the control unit is busy, decoded the algorithm according to the flowchart in FIG. 5 shows the content of the Unit address collective output line 215 in the decoder for shared subchannel 168 to determine if unit address trunk line 215 was sharing one called sub-channel. If that's the case, the Bits 0-7 in address word register 150 are set to 10000101 and thus a shared sub-channel designated with a SIOQ. if If the decoding does not indicate a shared sub-channel, the algorithm sets bits 0-7 in the address word register 150 10000100 and thus designates a sub-channel that is not shared with an SIOQ. The number of the subchannel is increased by one Bit shifted to the right and into the control word storage address register 190 set. The markings in the controls ^ des Control word memories 195 are set for each low-order bit in the subchannel number to indicate whether the contents of the address word register s 150 in the right or left part of the address to be addressed Position in the control word memory is set. The content the address word register 150 is then stored in the control word 195 written to the address, which is in the control maintenance memory address register 190 and the markings in the control word memory is. The algorithm sets; then the number of dead channels increased by 22 into control word storage address register 190 and writes the content of bits 0-31 of the control word memory address register 190 in the control word memory 195. at the address of the Control word storage address register; 190. This saves that

PO 971 O63iPO 971 O63i

CAW in den Steuerwortspeicher 195. Der Bedingungscode wird dann auf 0 gesetzt und der Algorithmus endet mit der Freigabe der Zentraleinheit. An diesem Punkt ist der SIOF-Befehl in eine Warteschlange im Steuerwortspeicher 195 gesetzt.CAW into control word memory 195. The condition code is then set to 0 and the algorithm ends when the central unit is enabled. At this point the SIOF command is in a Queue in control word memory 195 set.

Erste Auflösung der WarteschlangeFirst resolution of the queue

Der SIOF-Warteschlangen-Auflösungsalgorithmus wird durch zwei verschiedene Bedingungen eingeleitet, die erste Bedingung (Warteschlangenauflösung 1) ist eine von einer Steuereinheit eingeleitete Folge, die auftritt, wenn die Steuereinheit vom belegten in den freien Zustand übergeht und die zweite Bedingung (Warteschlangenauflösung 2) tritt ein, wenn die Anschlußeinheit νο,η Kanal zur Steuereinheit vom belegten in den freien Zustand übergeht. Zuerst wird der Algorithmus für die Warteschlangenauflösung 1 beschrieben. Dieser Algorithmus ist im Ablaufdiagramm der Fig. 6 dargestellt. Zuerst stellt der Kanal fest, ob eine Anforderung vom Kanal an die Anschluß-Reihenfolgesteuerung 208 vorliegt. Wenn das nicht der Fall ist, wird diese Bestimmung wiederholt, bis eine Anforderung auftritt. Wenn eine Anforderung gefunden wird, erzeugt der Kanal ein Signal "Anheben Halten Ausgang" und ein Signal "Wählen Ausgang" in der Anschiußreihenfolgesteuerung 208. Dann stellt der Algorithmus die Operationseingangsadresse fest und wenn diese Feststellung negativ ist, wiederholt er die Operation, bis angezeigt wird, daß die Adresse der Einheit im CIFR steht. In diesem Fall werden Nullen in das Steuerwort-Speicheradressenregister 190 geladen, damit die Unterkanäle abgefragt werden daraufhin, ob einem von ihnen die die Bedienung anfordernde Einheit zugeordnet ist. Die Verriegelungsschaltung für bedingte und unbedingte Verfügbarkeit des ünterkanales werden zurückgestellt. Der Algorithmus liest dann die im Steuerwortspeicher 195 stehenden Daten entsprechend der im CWAR 190 enthaltenen Adresse und setzt die Ausgabe in die Bits 0-31 des Steuerwortregisters 110. Mit einer überprüfung des ersten Betriebszustandsfeldes des im Steuerwortregister 110 stehenden Steuerwortes bestimmt der Algorithmus darin, ob das erste BitThe SIOF queue resolution algorithm is implemented by two various conditions initiated, the first condition (queue resolution 1) is a sequence initiated by a control unit that occurs when the control unit is busy goes into the free state and the second condition (queue resolution 2) occurs when the connection unit νο, η channel to the control unit changes from the occupied to the free state. First, the algorithm for the queue resolution 1 will be described. This algorithm is in the flowchart of Fig. 6 shown. First, the channel determines if there is a request from the channel to the port sequencer 208 is present. If not, this determination is repeated until a request occurs. If a requirement is found, the channel generates a "raise hold output" signal and a "select output" signal in the connection sequence control 208. The algorithm then determines the operation entry address and if that determination is negative, it repeats he continues the operation until it is indicated that the address of the unit is in the CIFR. In this case, zeros will be in the control word memory address register 190 loaded so that the subchannels are queried as to whether one of them is operating requesting unit is assigned. The interlocking circuit for conditional and unconditional availability of the sub-channel will be deferred. The algorithm then reads the data in the control word memory 195 in accordance with the data in the CWAR 190 and sets the output in bits 0-31 of the control word register 110. With a check of the first operating status field of the control word in control word register 110, the algorithm determines whether the first bit

PO 971 063 309882/0989- PO 971 063 309882 / 0989-

gleich 1 ist. Diese Operation wird im Unterkanai-Betriebszustandsdecödierer 164 durchgeführt* Wenn festgestellt wird,, daß das erste Bit im ersten Betriebszustandsfeld eine 1 ist, prüft der Algorithmus als nächstes, ob das letzte Bit im ersten Betriebszustandsfeld auch eine 1 ist, wodurch ein gemeinsam benutzter Unterkanal bezeichnet wird. Diese Operation läuft ebenfalls im Unterkanalbetriebszustandsdecodierer 164 ab* Wenn das der Fall ist, wird der Inhalt der Bitpositionen 0-3 des Kanalanschlußregisters 140 verglichen mit dem Inhalt der Bitpositionen 8-11 des Steuerwortregisters 110. Wenn eine Übereinstimmung festgestellt wird, stellt der Algorithmus als nächstes fest, ob eine Warteschlangenauflösung für START E/A-Befehle erforderlich ist. Ergibt der Vergleich einen Unterschied zwischen den. Bits, prüft der Algorithmus als nächstes das zweite Betriebszustandsfeld.equals 1. This operation is performed in the sub-channel mode decoder 164 performed * If it is determined that the first bit in the first operating status field is a 1, checks the algorithm next, whether the last bit in the first operating status field is also a 1, indicating a shared subchannel. This operation is also running in the subchannel operating state decoder 164 from * If the is the case, the content of bit positions 0-3 of the channel attachment register 140 is compared with the content of the bit positions 8-11 of control word register 110. When a match is found next, the algorithm determines whether a Queue resolution is required for START I / O commands. If the comparison shows a difference between the. Bits, checks the algorithm next the second operating status field.

Wenn der Algorithmus feststellt, daß das erste Betriebszustandsfeld nicht mit einer 1 endet, stellt fest, ob die Bits 0-7 des Kanalanschlußregisters 140 im Inhalt übereinstimmen mit den Bits 8-11 des Steuerwortregisters 110. Wenn das nicht der Fall ist, prüft der Algorithmus als nächstes das zweite Betriebszustandsfeld. Wenn jedoch eine Übereinstimmung festgestellt wird, stellt der Algorithmus als nächstes fest, ob ein SIOF-Befehl in die Warteschlange gesetzt wurde, indem das erste,Betriebszustandsfeld im Unterkanal-Betriebszustandsdecodierer 164 decodiert und dadurch festgestellt wird, ob die Bits 0 und 5 dieses Feldes gleich 1 sind. Wenn das der Fall ist," setzt der Algorithmus die Zahl des Unterkanals in die Kanalsteuerung 115 gleich dem Inhalt des Steuerwort-Speicheradressenregisters 190, dessen Bits 3-5 um eine Position nach links verschoben sind. Er- überträgt außerdem den Inhalt des Kanalanschlußregisters 140 in die Bitpositionen 8-15 des Adreßwortregisters 150. Dann fährt der Kanal mit der Reihenfolgeschaltung der Kanalanschlußeinheit fort. Falls das erste Betriebszustandsfeld keinen SIOF-Befehl in einer Warteschlange angibt, stellt der Algorithmus den Betriebszustand des Unterkanales fest und arbeitet dann entsprechend weiter. An diesem Punkt des Algorithmus wurde festgestellt, daß die Operation If the algorithm determines that the first operating status field does not end with a 1, it determines whether bits 0-7 des Channel connection register 140 have the same content as bits 8-11 of control word register 110. If this is not the case, the algorithm next checks the second operating status field. However, if a match is found, the algorithm next determines whether a SIOF instruction is in the Queue was set by the first, operating status field is decoded in the subchannel operating state decoder 164, thereby determining whether bits 0 and 5 of this field are equal to 1. If so, the algorithm "sets the Number of the subchannel in the channel controller 115 equal to the content of control word storage address register 190, bits 3-5 of which are shifted one position to the left. He also transmits the contents of the channel connection register 140 into the bit positions 8-15 of address word register 150. The channel then continues sequencing the channel attachment unit. If the first operating status field does not have a SIOF command in a queue indicates, the algorithm determines the operating status of the subchannel and then continues to work accordingly. At this point the algorithm found that the operation

PO 971 063 30988270989 PO 971 063 30988270989

wie bei einem Wahl-yBlock-Multiplexkanal weiterläuft und daher endet der Algorithmus.continues as with a Wahl-yBlock-Multiplexkanal and therefore the algorithm ends.

Wenn weiter oben im Algorithmus festgestellt wird, daß das Bit 0 des ersten Betriebszustandsfeldes von 1 verschieden ist, überprüft der Algorithmus, ob die Verfügbarkeitsverriegelungsschaltung des Unterkanales eingeschaltet ist. Wenn das der Fall ist, prüft der Algorithmus als nächstes das zweite Betriebszüstandsfeld. Wenn die erwähnte Verriegelungsschaltung nicht eingeschaltet ist, schaltet sie der Algorithmus ein und setzt die Zahl des Unterkanals in die Kanalsteuerung 115 entsprechend dem Inhalt der um eine Position nach links verschobenen Bits 3-5 des Steuerwort-Speicheradressenregisters 190. Dann prüft der Algorithmus das zweite Betriebszustandsfeld.If it is found further up in the algorithm that bit 0 of the first operating status field differs from 1, this is checked the algorithm whether the subchannel availability locking circuit is on. If that's the case, the algorithm next checks the second operating status field. If the mentioned interlock circuit is not switched on, the algorithm switches it on and sets the number of the Subchannel into the channel controller 115 according to the content of bits 3-5 of the control word memory address register, shifted one position to the left 190. The algorithm then checks the second operating status field.

Zur überprüfung des zweiten Betriebzustandsfeldes muß dieses zuerst einmal decodiert werden, um festzustellen, ob das erste Bit des Betriebszustandsfeldes gleich 1 ist. Wenn das der Fall ist, decodiert der Algorithmus das Betriebszustandsfeld, um festzustellen, ob auch das letzte Bit dieses Feldes gleich 1 ist. Wenn das der Fall ist, wird der Inhalt der Bitpositionen 0-3 des Kanalanschlußregisters 140 im Exnheitenadressenverglexcher 160 verglichen mit dem Inhalt der Bits 24-27 des Steuerwortregisters 110. Wenn der Inhalt gleich ist, stellt der Algorithmus als nächstes fest, ob es sich bei dem in Frage kommenden Befehl um einen SIOF-Befehl in der Warteschlange handelt. Wenn keine Übereinstimmung bei dem Vergleich festgestellt wird, stellt der Algorithmus als nächstes fest, ob der Inhalt des Steuerwortadressenregisters gleich 7 ist. Wenn der Algorithmus oben festgestellt hat, daß das zweite Betriebszustandsfeld mit einer 1 beginnt und mit einer 0 endet, wird der Inhalt der Bitpositionen 0-7 des Kanalanschlußregisters 140 verglichen mit dem Inhalt der Bitpositionen 24-31 des Steuerwortregisters 110. Stimmen diese beiden nicht überein, prüft der Algorithmus als nächstes, ob der Inhalt des Steuerwort-Speicheradressenregisters 190 gleich 7 ist. Wenn das der Fall ist, prüft der Algorithmus als nächstesTo check the second operating status field, this must be done first must be decoded once to determine whether the first bit of the operating status field is equal to 1. If that's the case, the algorithm decodes the operating status field to determine whether the last bit of this field is also 1. if that is the case, the contents of bit positions 0-3 of the channel attachment register become 140 in the entity address comparator 160 compared to the contents of bits 24-27 of the control word register 110. If the contents are the same, the algorithm next determines whether the instruction in question is is a SIOF command in the queue. If no match when the comparison is found, the algorithm next determines whether the contents of the control word address register equals 7. If the algorithm above has determined that the second operating status field with a 1 begins and ends with a 0, the content of bit positions 0-7 of the channel connection register 140 is compared with the content of bit positions 24-31 of control word register 110.If these two do not match, the algorithm next checks whether the content of the control word memory address register 190 is 7. If so, the algorithm checks next

97Ϊ 063 309882/0989 97Ϊ 063 309882/0989

den Befehl daraufhin, ob es ein START E/A-Befehl in einer Warteschlange ist.the command to see if there is a START I / O command in a queue is.

Wenn der Algorithmus feststellt, daß das zweite Betriebszustandsfeld in der ersten Bitposition keine 1 enthält, stellt er fest, ob der Unterkanal verfügbar geschaltet ist. Wenn das der Fall ist, prüft der Algorithmus dann weiter, ob der Inhalt des Steuerwort-Speicheradressenregisters '190 gleich 7 ist. Wenn die Verfügbarkeitsverriegelungsschaltung für den Unterkanal nicht eingeschaltet ist, schaltet sie der Algorithmus ein und setzt die Zahl des Unterkanals in die Kanalsteuerung 115.If the algorithm determines that the second operating status field does not contain a 1 in the first bit position, it determines whether the subchannel is available. If that is the case the algorithm then further checks whether the content of the control word storage address register '190 is equal to 7. When the availability interlock circuit is not switched on for the subchannel, the algorithm switches it on and sets the Number of the subchannel in the channel controller 115.

Jetzt prüft der Algorithmus, ob der Inhalt des Steuerwort-Speicheradressenregisters 190 gleich 7 ist. Wenn das der Fall ist, endet der Algorithmus. An diesem Punkt wurde festgestellt, daß kein SIOF-Befehl in der Warteschlange für die Einheit an der Anschlußstelle stand. Der Kanal arbeitet dann im Normalbetrieb für den Sekundärstatus weiter. Wenn der Inhalt des Steuerwort-Speicheradressenregisters von 0 verschieden ist, wird er um 1 erhöht und der Inhalt des Steuerwortspeichers 195 gemäß dem Inhalt des Steuerwort-Speicheradressenregisters 190 gelesen und die Ausgabe in die Bitpositionen 0-31 des Steuerwortregisters 110 geleitet. Der Algorithmus prüft dann erneut die in diesem Befehlswort enthaltenen Betriebszustandscodes.The algorithm now checks whether the content of the control word memory address register 190 equals 7. If so, the algorithm ends. At this point it was found that no SIOF command queued for the unit at the Junction stood. The channel then continues to work in normal operation for the secondary status. If the contents of the control word memory address register is different from 0, it is increased by 1 and the content of the control word memory 195 according to the Contents of the control word memory address register 190 read and the output in the bit positions 0-31 of the control word register 110 headed. The algorithm then checks the operating status codes contained in this command word again.

Falls der Inhalt der Bitpositionen 24-31 des Steuerwortregisters 110 übereinstimmt mit dem Inhalt der Bitpositionen 0-7 des Kanalanschlußregisters 140, prüft der Algorithmus als nächstes, ob ein START E/A-Befehl in der Warteschlange steht, indem zuerst im Unterkanal-Betriebszustandsdecodierer 164 festgestellt wird, ob die erste und sechste Bitposition des zweiten Betriebszustandsfeldes eine 1 enthalten. Wenn das nicht der Fall ist, kehrt der Algorithmus zu dem vorhergehenden Schritt zurück, bestimmt wieder den Betriebszustand des Unterkanales und läuft dann entsprechend weiter, d.h. es wurde festgestellt, daß dieOperation weiterläuft wie ein Wahl-/Blockkanal und der Algorithmus endet. Wenn dieIf the content of bit positions 24-31 of control word register 110 matches the content of bit positions 0-7 of the channel connection register 140, the algorithm next checks whether a START I / O command is queued by first it is determined in the subchannel operating status decoder 164 whether the first and sixth bit positions of the second operating status field a 1 included. If that is not the case, it returns Algorithm back to the previous step, determined again the operating status of the subchannel and then continues accordingly, i.e. it was determined that the operation continues like a dial / block channel and the algorithm ends. If the

po 971 063 309882/09892-.-- po 971 063 309882/09892 -.--

- 19 - 23U733- 19 - 23U733

beiden Bitpositionen eine 1 enthalten, wird die Kanalzahl in die Kanalsteuerung 150 gesetzt und außerdem der Inhalt des Kanalanschlußregisters 140 in die Bitpositionen 8-15 des Adreßwortregisters 150 übertragen.Both bit positions contain a 1, the channel number is set in the channel controller 150 and also the contents of the channel connection register 140 in the bit positions 8-15 of the address word register 150 transferred.

Der Algorithmus schaltet dann die Anschluß-Reihenfolgesteuerung 208 normal weiter, so. daß der Betriebszustand in das Kanalanschlußregister 140 übertragen wird. Dann stellt der Algorithmus fest, ob nur ein Steuereinheiten-Endzustand vorhanden ist. Wenn das nicht der Fall ist/ läuft der Algorithmus als normale Blockmultiplexoperation weiter. Wenn dieser Zustand jedoch eingeschaltet ist, nimmt die Steuereinheit diesen Zustand an und das Steuerwortadreßregister wird auf die Unterkanalzahl +32 eingestellt. Der Algorithmus liest darin aus dem Steuerwortspeicher 195 entsprechend der im Steuerwort-Speicheradreßregister 19O enthaltenen Adresse und setzt den gelesenen Inhalt in die Bitpositionen 0-31 des Steuerwortregisters 110, überträgt den Inhalt der Bitpositionen 8-15 des Adreßwortregisters 150 in das Kanalanschlußregister 140, startet einen CCW-Abruf an der dem Inhalt der Bitpositionen 8-31 des Steuerwortregisters 110 entsprechenden Adresse. Die Schlüssel sind gleich dem Inhalt der Bitpositionen 0-3 des Steüerwortregisters 110. Der Algorithmus läuft dann weiter zur ersten Wahl einer Einheit, wie sie oben im Rahmen der Schlangenbildung beschrieben ist. An diesem Punkt wählt der Kanal die Einheit neu und läuft weiter wie bei der SIOF-Warteschlangenbildung.The algorithm then switches port sequencing 208 normal continue, like that. that the operating status in the channel connection register 140 is transmitted. Then the algorithm determines whether there is only one controller end state. if that is not the case / the algorithm runs as a normal block multiplex operation Further. However, if this state is switched on, the control unit assumes this state and the control word address register is set to the subchannel number +32 set. The algorithm reads therein from the control word memory 195 corresponding to that in the control word memory address register 19O contained address and sets the read content in the bit positions 0-31 of the control word register 110, transmits the content of bit positions 8-15 of address word register 150 into the channel connection register 140, a CCW fetch starts on the contents of bit positions 8-31 of the control word register 110 corresponding address. The keys are equal to the content of bit positions 0-3 of control word register 110. The algorithm then continues to the first choice of a unit, as described above in the context of queuing. At this At point, the channel re-selects the unit and continues as with SIOF queuing.

Zweite WarteschlangenauflösungSecond queue resolution

Der in Fig. 7 gezeigte Algorithmus beginnt damit, daß die Kanalanschlußeinheit verfügbar wird. Zuerst stellt der Algorithmus das Steuerwort-Speicheradressenregister 190 zurück und liest den Inhalt aus dem Steuerwortspeicher 195 entsprechend der Adresse im Steuerwortspeicheradreßregister 190 aus. Diese Information wird in das Steuerwortregister 110 auf die Bitpositionen O-31 gesetzt. Als näcstes stellt der Algorithmus fest, ob das erste Betriebs-The algorithm shown in FIG. 7 begins with the channel attachment unit becomes available. First, the algorithm resets the control word memory address register 190 and reads the Contents from the control word memory 195 according to the address in the control word memory address register 190. This information will is set in control word register 110 to bit positions O-31. Next, the algorithm determines whether the first operational

po 971 O63 309882/0989po 971 O63 309882/0989

23U73323U733

zustandsfeld des im Steuerwortregister 110 gespeicherten Steuerwortes ein SIOQ-Steuerworf ist, d.h. ob die Bits O und 5 gleich 1 sind. Wenn das der Fall ist, setzt der Algorithmus die Unterkanalzahl, die aus dem um eine Position nach links verschobenen Inhalt der CWAR-Bits·3-5 besteht, in die Kanalsteuerung 115 und überträgt den Inhalt der Bitpositionen 8-15 des Steuerwortregisters 110 in das Adreßwortregister 150 auf die Bitpositionen 8-15 und läuft dann weiter zur Einheitenwahl. "Status field of the control word stored in control word register 110 is a SIOQ control word, i.e. whether bits 0 and 5 are the same 1 are. If that is the case, the algorithm sets the subchannel number that is shifted one position to the left from the Contents of the CWAR bits * 3-5 are in the channel controller 115 and transfers the contents of bit positions 8-15 of control word register 110 to address word register 150 at bit positions 8-15 and then continues to select the unit. "

Wenn der Algorithmus feststellt, daß die Bits 0 und 5 von 1 ver-'schieden sind, prüft er als nächstes, ob die Bits 1 und 6 im zweiten Betriebszustandsfeld gleich 1 sind. Wenn das der Fall ist, führt der Algorithmus dieselben Operationen aus wie beim ersten Betriebszustandsfeld. Wenn die beiden Bits im zweiten Betriebszustandsfeld jedoch von 0 verschieden sind, prüft der Algorithmus als nächstes, ob der Inhalt des Steuerwort-Speicheradressenregisters 190 gleich 7 ist. Wenn das der Fall ist, endet der Algorithmus, da keine START E/A-Operation in der Warteschlange gefunden wurde. Wenn der Inhalt des Steuerwort-Speicheradressenregisters 190 von 0 verschieden ist, wird er um 1 erhöht und dann der Inhalt des Steuerwortspeichers 195 entsprechend dem Inhalt des Steuerwort-Speicheradressenregisters 190 ausgelesen und die Information in die Bitpositionen 0-31 des Steuerwortregisters 110 übertragen. Dann prüft der Algorithmus wieder das erste und zweite Betriebszustandsfeld auf das Vorhandensein eines SIOQ-Befehles.If the algorithm finds that bits 0 and 5 are different from 1 it next checks whether bits 1 and 6 in the second operating status field are equal to 1. If that is the case the algorithm performs the same operations as in the first operating status field. If the two bits in the second Operating status field are different from 0, the algorithm next checks whether the content of the control word memory address register 190 equals 7. If so, the algorithm ends because there is no START I / O operation queued was found. If the content of the control word storage address register 190 is other than 0, it is increased by one and then the contents of the control word memory 195 corresponding to that The contents of the control word memory address register 190 are read out and the information is stored in bit positions 0-31 of the control word register 110 transferred. The algorithm then checks the first and second operating status fields again for the presence of one SIOQ command.

Wenn das erste oder zweite Bit im.Betriebszustandsfeld gleich 1 ist in der ersten und sechsten Bitposition, läuft der Algorithmus weiter zur Einheitenwahl. Zuerst stellt der Algorithmus das Steuerwort-Speicheradressenregister 190 auf die Zahl des ünterkanales +32 ein. Dann liest er den Inhalt des Steuerwortspeichers 195 nach der im Steuerwort-Speicheradressenregister 190 enthaltenen Adresse und leitet ihn in die Bitpositionen 0-31 des Steuerwortregisters 110. Dann wird ein CCW-Abruf eingeleitet mit der in den Bits 8-31 des Steuerwortregisters 110 stehendenIf the first or second bit in the operating status field is the same 1 is in the first and sixth bit position, the algorithm continues to select the unit. First, the algorithm introduces the control word memory address register 190 to the number of the sub-channel +32. Then it reads the content of the control word memory 195 according to the address contained in the control word memory address register 190 and forwards it to bit positions 0-31 of control word register 110. A CCW poll is then initiated with the one in bits 8-31 of control word register 110

ro 971 063 309882/0989 ro 971 063 309882/0989

Adresse und den in den Bits 0-3 desselben Registers stehenden Schlüsseln. Dann geht der Algorithmus weiter zum oben beschriebenen Verfahren zur SIOF-Warteschlangenbildung und wählt Einheiten- und Kanalstartprogramm. Wenn die Einheit erfolgreich gestartet wurde, endet der Algorithmus, andernfalls fragt er den Unterkanal nach weiteren SIOQ1S ab. Mit einer Überprüfung der Unterkanalzahl stellt der Algorithmus fest, ob der letzte Unterkanal 15 abgefragt wurde und wenn das der Fall ist, endet der Algorithmus. Wenn er nicht abgefragt wurde, stellt der Algorithmus fest, ob der letzte abgefragte Unterkanal gerade oder ungerade war. Wenn .er ungerade war, gibt der Algorithmus die Adresse des nächsten Betriebszustandswortes in das CWAR und fragt dann das erste Betriebszu,stansfeld des nächsten Wortes ab. War der letzte abgetastete Unterkanal ein geradzahliger, gibt der Algorithmus die Adresse des laufenden Betriebszustandswortes in das CWAR 190 ein und tastet dann das zweite Betriebszustandsfeld dieses Wortes ab.Address and the keys in bits 0-3 of the same register. The algorithm then advances to the SIOF queuing procedure described above and selects unit and channel launcher. When the unit was started successfully, the algorithm ends, otherwise it asks the subchannel for further SIOQ 1 S from. By checking the number of subchannels, the algorithm determines whether the last subchannel 15 was queried and if this is the case, the algorithm ends. If not polled, the algorithm determines whether the last subchannel polled was odd or even. If it was odd, the algorithm puts the address of the next operating status word into the CWAR and then queries the first operating status field for the next word. If the last subchannel scanned was an even number, the algorithm enters the address of the current operating status word into the CWAR 190 and then scans the second operating status field of this word.

po 971 063 309882/0989 po 971 063 309882/0989

Claims (7)

PATENTANSPRÜCHE PA TENTA STATEMENTS Verfahren zur Warteschlangenbildung von Start-Ein/Ausgabebefehlen in Datenverarbeitungsanlagen, dadurch gekennzeichnet, daß während des Abbruchs eines Kanalkommandoworts. ein Hauptspeicher in einer zentralen Recheneinheit durch ein Kommandoadreßwort adressiert wird und daß während einer Unterkanälabfrage zwei Wörter, die die Kanalaktivität repräsentieren, abgespeichert werden.Method for queuing start I / O commands in data processing systems, thereby characterized in that during the cancellation of a channel command word. a main memory in a central processing unit is addressed by a command address word and that during a subchannel query two words which represent the channel activity can be saved. 2. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß zum Empfang.der Kanalkommandowörter (CCW) ein Kanaladressen- und Zählregister (100) mit dem Hauptspeicher verbunden ist., daß mit dem Hauptspeicher und dem Kanaladressen- und Zählregister (100) ein Steuerwortregister (110) zur Adressierung des Hauptspeichers während des Abbruchs von Kanalkommandowörtern verbunden ist und daß mit dem Hauptspeicher weiterhin ein Datenpufferregister (120) verbunden ist, das Daten- und Kommandosilben empfängt und seinerseits ausgangsseitig mit einem Datenzusammensetzungsregister (130) verbunden ist, das bei einer Leseoperation Daten zu Doppelwörtern zusammensetzt, die von einem Kanalanschlußregister (140) empfangen wurden.2. Circuit arrangement for carrying out the method according to Claim 1, characterized in that for the reception.der Channel command words (CCW) a channel address and counting register (100) is connected to the main memory. That with the main memory and the channel address and counter register (100) a control word register (110) for addressing of the main memory is connected during the cancellation of channel command words and that with the main memory a data buffer register (120) is also connected, which receives data and command syllables and in turn is connected on the output side to a data composition register (130) which, in the event of a read operation, contains data assembled into double words received from a channel attachment register (140). 3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß während einer Leseoperation Daten vom Datenzusammensetzungsregister (130) vor einer Speicheroperation zum Datenpufferregister (120) übertragen werden.3. Circuit arrangement according to claim 2, characterized in that data from the data composition register during a read operation (130) are transferred to the data buffer register (120) prior to a store operation. 4. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß während einer Schreiboperation ein Doppelwort aus dem Datenpufferregister (120) in das Datenzusammen-Setzungsregister (130) übertragen werden.4. Circuit arrangement according to claim 2, characterized in that a double word during a write operation from the data buffer register (120) to the data composition register (130) are transmitted. PO971063 309882/0989 PO971063 309882/0989 5. Schaltungsanordnung nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß das Ein- und Auslesen von Daten in das bzw. aus dem Kanaladressen- und Zählregister (100) durch die wertniederen Bits des Zahlenfeldes des Kanaladressen- und Zählregisters (100) gesteuert wird.5. Circuit arrangement according to claims 3 and 4, characterized in that the reading in and out of data in the or from the channel address and counter register (100) through the lower value bits of the number field of the channel address and counting register (100) is controlled. 6. Schaltungsanordnung nach den Ansprüchen 2 bis 5, dadurch gekennzeichnet, daß das im Adreßwortregister stehende Betriebszustandswort in den Steuerwortspeicher (110) übertragen wird und daß außerdem die Einheitenadresse an das Kanalanschlußregister (140) während einer E/A-Befehlsfolge oder einer anderen sekundären Eingabefolge gegeben wird.6. Circuit arrangement according to claims 2 to 5, characterized characterized in that the operating status word in the address word register is transferred to the control word memory (110) and that also the unit address to the channel attachment register (140) during an I / O instruction sequence or another secondary input sequence. 7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß das Steuerwortregister (110) mit einem Unterkanal-Betriebs zus tandsdecodierer (164) verbunden ist, der in Zusammenarbeit mit dem Einheitenadressenvergleicher (160) den Betriebszustand der Kanäle aus dem Betriebszustandsfeld im Steuerwortregister (110) bestimmt.7. Circuit arrangement according to claim 6, characterized in that the control word register (110) with a sub-channel operation state decoder (164) is connected, which in cooperation with the unit address comparator (160) determines the operating status of the channels from the operating status field in the control word register (110). PO971063 309882/0989 PO971063 309882/0989
DE19732314733 1972-06-30 1973-03-24 PROCEDURE AND CIRCUIT ARRANGEMENT FOR THE QUEUE FORMATION Pending DE2314733A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US26775472A 1972-06-30 1972-06-30

Publications (1)

Publication Number Publication Date
DE2314733A1 true DE2314733A1 (en) 1974-01-10

Family

ID=23020007

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19732314733 Pending DE2314733A1 (en) 1972-06-30 1973-03-24 PROCEDURE AND CIRCUIT ARRANGEMENT FOR THE QUEUE FORMATION

Country Status (3)

Country Link
JP (1) JPS4938530A (en)
DE (1) DE2314733A1 (en)
FR (1) FR2191773A5 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS519538A (en) * 1974-07-15 1976-01-26 Hitachi Ltd Maruchi akusesuyo nyushutsuryokukanrisochi
JPS5121449A (en) * 1974-08-16 1976-02-20 Hitachi Ltd Kiokusochino maruchiseigyohoshiki
JPS5837578B2 (en) * 1975-11-07 1983-08-17 株式会社日立製作所 Channel Sochi
JPS5263624A (en) * 1975-11-20 1977-05-26 Matsushita Electric Ind Co Ltd Input controller
US4224667A (en) * 1978-10-23 1980-09-23 International Business Machines Corporation Command queuing for I/O adapters
JPS60238959A (en) * 1984-05-11 1985-11-27 Nec Corp Starting system of input-output device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4933534A (en) * 1972-07-26 1974-03-28

Also Published As

Publication number Publication date
FR2191773A5 (en) 1974-02-01
JPS4938530A (en) 1974-04-10

Similar Documents

Publication Publication Date Title
DE69029892T2 (en) Data presentation and protocol
DE2829550C2 (en)
DE2854397A1 (en) BUFFER STORAGE UNIT FOR A DATA PROCESSING SYSTEM
DE2806045A1 (en) IT SYSTEM WITH BUFFER MEMORY
DE2750721A1 (en) INPUT / OUTPUT SYSTEM
DE2755897A1 (en) INPUT / OUTPUT SYSTEM
DE2806024A1 (en) STORAGE SYSTEM WITH ERROR DETECTION AND CORRECTION POSSIBILITY
DE1094496B (en) Arrangement for memory control in information processing systems
EP0010198A2 (en) Device for page replacement control in a data processing system with a virtual memory
DE2755371A1 (en) INPUT / OUTPUT PROCESSING SYSTEM
DE2719247B2 (en) Data processing system
CH522921A (en) Computer system
DE1299145B (en) Circuit arrangement for controlling peripheral input and output devices of data processing systems
DE3126721A1 (en) "DATA PROCESSING DEVICE WITH A PROGRAMMABLE FIXED MEMORY"
DE2523372B2 (en) Input-output port controller
DE2122338A1 (en) Circuit arrangement for controlling the flow of data in data processing systems
DE2755952A1 (en) I / O PROCESSING SYSTEM WITH A TIMER
DE2459956A1 (en) PROCESSOR AND PERIPHERAL PROCESSING SYSTEM USING IT
DE2801611A1 (en) PROCEDURE AND ARRANGEMENT FOR ADDRESSING AND STORING DATA IN MEMORIES WITH OPTIONAL ACCESS
DE2758023C3 (en) Connection circuit for an input / output interface of a data processing system
EP0895165B1 (en) Communication system with a DMA controller
DE1499206C3 (en) Computer system
DE2336020C3 (en) Address calculation circuit for parity error correction programs
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
EP0282877B1 (en) Method and apparatus for controlling the error correction in a data transmission system of data read from dynamical peripheral storage devices, in particular disk storage devices of a data-processing system

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee