JPS62542B2 - - Google Patents

Info

Publication number
JPS62542B2
JPS62542B2 JP1348982A JP1348982A JPS62542B2 JP S62542 B2 JPS62542 B2 JP S62542B2 JP 1348982 A JP1348982 A JP 1348982A JP 1348982 A JP1348982 A JP 1348982A JP S62542 B2 JPS62542 B2 JP S62542B2
Authority
JP
Japan
Prior art keywords
input
output
channel
queue
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP1348982A
Other languages
Japanese (ja)
Other versions
JPS58129629A (en
Inventor
Yoshihisa Shibata
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP1348982A priority Critical patent/JPS58129629A/en
Publication of JPS58129629A publication Critical patent/JPS58129629A/en
Publication of JPS62542B2 publication Critical patent/JPS62542B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 本発明は入出力制御装置に関する。情報処理装
置が周辺の入出力デバイス例えば磁気デスク、テ
レタイプ、ラインプリンタ等に対してデータの入
出力を行なう場合には、これらデータの入出力は
入出力制御装置を介して行なわれる。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an input/output control device. When the information processing apparatus inputs and outputs data to peripheral input/output devices such as magnetic desks, teletypes, line printers, etc., these data inputs and outputs are performed via an input/output control device.

一般に、入出力制御装置は複数のチヤンネルを
有し、さらにこれら各チヤンネルには複数のデバ
イスが割当てられている。
Generally, an input/output control device has a plurality of channels, and each of these channels is assigned a plurality of devices.

従つて、中央処理装置CPUがある特定のデバ
イスに対してデータの入出力を行なう場合には、
CPUはそのデバイスの属するチヤンネル番号
と、そのデバイスのデバイス番号とを指定してデ
ータの入出力を行なう。
Therefore, when the central processing unit CPU inputs and outputs data to a specific device,
The CPU inputs and outputs data by specifying the channel number to which the device belongs and the device number of the device.

このように複数のチヤンネルが存在し、各チヤ
ンネルが複数のデバイスに共通に使用され、さら
にまた各デバイスの動作速度が、CPUの動作速
度に比較して一般に遥かに遅いため、CPUがこ
れらのデバイスに対してデータの入出力を行なう
場合には、これらの点を考慮し一般に下記のよう
に行なわれる。
Because there are multiple channels, each channel is commonly used by multiple devices, and the operating speed of each device is generally much slower than that of the CPU, the CPU When inputting/outputting data to/from, these points are generally taken into consideration as follows.

CPU(CPUのオペレーシヨンプログラム)
は、まず、この入出力デバイスが従うべき入出力
動作の詳細を規定したチヤンネルプログラムを作
成し、これを主記憶装置中の特定のメモリアドレ
スに格納する。つぎに、入出力制御装置に対し入
出力命令を指令する。この入出力命令は、これが
入出力命令であることを指定するオペコードと、
入出力を実行すべきデバイスの属するチヤンネル
番号と、このデバイスのデバイス番号と、さらに
主記憶装置中における上述のチヤンネルプログラ
ムの格納開始番地を示す情報とを含んでいる。
CPU (CPU operation program)
First, a channel program is created that specifies the details of the input/output operations to be followed by this input/output device, and is stored at a specific memory address in the main memory. Next, an input/output command is issued to the input/output control device. This I/O instruction has an opcode that specifies that this is an I/O instruction, and
It includes the channel number to which the device to perform input/output belongs, the device number of this device, and information indicating the storage start address of the above-mentioned channel program in the main storage device.

この入出力命令の指令を受けると、入出力制御
装置は直ちに指定されたチヤンネルおよびデバイ
スの現在の状態をチエツクし、そのチエツク結果
をコンデシヨンコードとしてCPUにリポートす
る。
Upon receiving this input/output command, the input/output control device immediately checks the current status of the specified channel and device, and reports the check result to the CPU as a condition code.

このコンデシヨンコードCCは、例えば4段階
の異なる状態を区別して表示する。
This condition code CC distinguishes and displays, for example, four different states.

CC=0は指定されたチヤンネル、サブチヤン
ネルおよびデバイスが、現在この入出力命令を実
行できる状態にあり、従つてこの入出力命令は直
ちに実行開始されることを表示する。
CC=0 indicates that the specified channel, subchannel, and device are currently ready to execute this I/O command, and therefore this I/O command will begin execution immediately.

CC=1は現在デバイスが割込保留中または使
用中であることを表示し、CC=2は現在このチ
ヤンネルまたはサブチヤンネルが使用中(ビジー
状態)または割込保留中であることを表示する。
CC=1 indicates that the device is currently pending an interrupt or is in use; CC=2 indicates that this channel or subchannel is currently in use (busy) or pending an interrupt.

また、CC=3は指定されたチヤンネル、サブ
チヤンネルまたはデバイスが現在障害状態にある
とかまたは実際に存在しないとかの理由のため入
出力動作の実行が不可能であることを表示する。
Also, CC=3 indicates that the input/output operation cannot be performed because the specified channel, subchannel, or device is currently in a failure state or does not actually exist.

さて、前記CC=0のリポートを発生した場合
には、入出力制御装置は直ちに主記憶装置中の指
定された番地から前記チヤンネルプログラムを順
番に読み出し、それに従つて指令された入出力動
作の実行を開始する。
Now, when the report of CC=0 is generated, the input/output control device immediately reads the channel programs in order from the specified address in the main memory and executes the commanded input/output operation accordingly. Start.

一方、CC=0のリポートを受けたCPUは、そ
れによりこの入出力命令が成功したことを識別
し、実際の入出力動作の実行は入出力制御装置に
任せ、CPU自身は次のプログラムの実行に進
む。このようにして、比較的長時間を必要とする
入出力命令の実行をCPUのプログラムから入出
力制御装置の制御にうつし、これによつて入出力
命令のCPUプログラムに対するオーバーヘツド
を軽減している。
On the other hand, the CPU that receives the CC=0 report identifies that this input/output instruction has been successful, leaves the actual execution of the input/output operation to the input/output controller, and the CPU itself executes the next program. Proceed to. In this way, the execution of input/output instructions that require a relatively long time is transferred from the CPU program to the control of the input/output control device, thereby reducing the overhead of input/output instructions on the CPU program. .

一方また、CC=3がCPUにリポートされた場
合には、いずれにしてもこの入出力命令の実行は
不可能であるため、CPUのプログラムはこの入
出力命令をこれ以上くりかえすことなく、次のプ
ログラムに進むことができる。
On the other hand, if CC=3 is reported to the CPU, it is impossible to execute this input/output instruction in any case, so the CPU program does not repeat this input/output instruction any more and starts the next one. You can proceed to the program.

これに対し、CC=1またはCC=2がリポート
された場合には、CPUのプログラムはこれによ
り入出力命令の一時的な実行失敗を識別し、適当
な時間をおいて再び同じ入出力命令の実行を指令
する。
On the other hand, if CC=1 or CC=2 is reported, the CPU program uses this to identify a temporary execution failure of the I/O instruction, and waits an appropriate time before attempting the same I/O instruction again. Command execution.

このように、従来装置において入出力命令が一
時的に実行に失敗した場合には、CPUのプログ
ラムはこれに対して適当な処理をほどこし、再び
同じ入出力命令の実行を指令しなければならな
い。これは入出力命令の実行に対しそれだけ
CPUプログラムに対するオーバーヘツドを増大
するという欠点を有している。
In this manner, when an input/output command temporarily fails to execute in a conventional device, the CPU program must perform appropriate processing and issue a command to execute the same input/output command again. This applies only to the execution of input/output instructions.
It has the disadvantage of increasing the overhead for the CPU program.

本発明の目的は上述の従来の欠点を除去した入
出力制御装置を提供するにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an input/output control device that eliminates the above-mentioned conventional drawbacks.

本発明の装置は中央処理装置と主記憶装置とチ
ヤンネル制御装置と複数のチヤンネルと複数の入
出力デバイスとを含む情報処理装置において、前
記各チヤンネル対応に設けられ該チヤンネルごと
に作られる入出力命令待行列の先頭に登録された
前記デバイスのデバイス番号に関する情報を含む
複数の待行列ヘツダテーブル手段と、前記各デバ
イス対応に設けられ対応するデバイスが前記待行
列に登録されているか否かに関する情報と前記主
記憶装置中に格納されたこのデバイスに対する入
出力命令の格納開始番地に関する情報と前記待行
列中における次の順番のデバイスの有無に関する
情報とこれが有る場合に該デバイスのデバイス番
号に関する情報とを含む複数の入出力待行列連結
テーブル手段と、前記各チヤンネル対応に設けら
れ前記各待行列中で入出力命令の起動を待つ入出
力デバイスの有無を示す入出力命令起動待表示手
段と前記各チヤンネル対応に設けられ前記入出力
命令起動の禁止を示す入出力命令起動禁止表示手
段とを含み、前記中央処理装置から入出力命令を
受けた前記チヤンネル制御装置は前記入出力命令
により指定されたチヤンネル番号およびデバイス
番号により対応する前記ヘツダテーブル手段およ
び前記連結テーブル手段の内容を参照しこれを用
いて前記待行列を作成し前記起動待表示手段をセ
ツトし任意のチヤンネルがアイドル状態になつた
ときに該チヤンネルは対応する前記起動待表示手
段と前記起動禁止表示手段との表示を参照し前記
制御装置に割込みを発生しこれに応答して前記制
御装置は対応するチヤンネルの前記待行列を参照
し待行列中に登録されたデバイスに対する入出力
命令の起動を開始する。
The device of the present invention is an information processing device including a central processing unit, a main storage device, a channel control device, a plurality of channels, and a plurality of input/output devices. a plurality of queue header table means including information regarding the device number of the device registered at the head of the queue; information provided for each of the devices regarding whether the corresponding device is registered in the queue; Contains information regarding the storage start address of input/output instructions for this device stored in the main memory, information regarding the presence or absence of a next device in the queue, and information regarding the device number of the device if there is one. a plurality of input/output queue concatenation table means; input/output command activation waiting display means provided for each of the channels and indicating the presence or absence of an input/output device waiting for activation of an input/output command in each of the queues; and an input/output command activation prohibition display means provided in the input/output command to indicate prohibition of activation of the input/output command, and the channel control device receiving the input/output command from the central processing unit displays the channel number and the channel number specified by the input/output command. The contents of the header table means and the concatenation table means corresponding to the device number are referred to and used to create the queue, and the activation waiting display means is set. When an arbitrary channel becomes idle, the channel is An interrupt is generated to the control device by referring to the corresponding display of the activation waiting display means and the activation prohibition display means, and in response, the control device refers to the queue of the corresponding channel and indicates that the channel is in the queue. Start invoking input/output commands for devices registered in .

次に図面を参照して本発明を詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例を説明するためのブ
ロツク図である。
FIG. 1 is a block diagram for explaining one embodiment of the present invention.

本実施例は中央処理装置(以下CPU)1、主
記憶装置(以下MM)2、チヤンネル制御装置
(以下CHC)3、複数のチヤンネルCH4−1,
……4−K……4−N、および各チヤンネルに属
する複数の入出力デバイスIOD5−1−1,5−
1−2,……5−1−M1,……5−K−1……
5−K−R,……5−K−MK,……5−N−
1,5−M−2,……5−N−MNを有してい
る。
This embodiment includes a central processing unit (hereinafter referred to as CPU) 1, a main memory unit (hereinafter referred to as MM) 2, a channel control unit (hereinafter referred to as CHC) 3, a plurality of channels CH4-1,
...4-K...4-N, and multiple input/output devices IOD5-1-1, 5- belonging to each channel
1-2,...5-1- M1 ,...5-K-1...
5-K-R,...5-K-M K ,...5-N-
1,5-M-2,...5-N-M N.

前記CHC3および前記チヤンネル4−1〜4
−Nが入出力制御装置6を構成している。
The CHC3 and the channels 4-1 to 4
-N constitutes the input/output control device 6.

また、CHC3には、第2図に示すように各チ
ヤンネル対応に入出力待行列ヘツダテーブル30
−1,……30−K,……30−Nと、各入出力
デバイス対応に入出力待行列連結テーブル31−
1−1,31−1−2……31−1−M1,……
31−K−1,……31−K−R,……31−K
−MK,……31−N−1,31−N−2……3
1−N−MNと、さらにまた各チヤンネル対応に
入出力命令起動待フリツプフロツプFF32−
1,……32−K,……32−Nおよび入出力命
令起動禁止フリツプフロツプFF33−1,……
33−K,……33−Nとを含んでいる。
The CHC 3 also has an input/output queue header table 30 corresponding to each channel as shown in FIG.
-1,...30-K,...30-N, and an input/output queue concatenation table 31- for each input/output device.
1-1, 31-1-2...31-1-M 1 ,...
31-K-1,...31-K-R,...31-K
-M K ,...31-N-1,31-N-2...3
1-N-M N , and a flip-flop FF32- for waiting input/output command activation for each channel.
1,...32-K,...32-N and input/output command activation inhibit flip-flop FF33-1,...
33-K, . . . 33-N.

前記各ヘツダテーブル30は、第3図に示すよ
うに、予め定めた一定のビツト幅を有するレジス
タから成り、対応するチヤンネルに入出力命令待
行列が存在するか否かの1ビツトの情報を格納す
るVLDフイールドと、この入出力命令待行列が
存在する場合、この待行列の先頭に登録された入
出力デバイス対応の前記連結テーブル31を指示
するポインタを格納するためのFSTフイールド
と、同じく待行列の最後尾に登録された入出力デ
バイス対応の連結テーブル31を指示するポイン
タを格納するためのLSTフイールドとを含んで
いる。
As shown in FIG. 3, each header table 30 consists of a register having a predetermined bit width, and stores 1-bit information indicating whether an input/output instruction queue exists in the corresponding channel. VLD field, and if this input/output command queue exists, an FST field for storing a pointer pointing to the concatenation table 31 corresponding to the input/output device registered at the head of this queue, and also an FST field of the queue. It also includes an LST field for storing a pointer pointing to the concatenation table 31 corresponding to the input/output device registered at the end.

また、前記各連結テーブル31は、第4図に示
すように、予め定めた一定のビツト幅を有するレ
ジスタから成り、前記入出力命令待行列におい
て、この連結テーブルに対応する入出力デバイス
の、次の順番の入出力デバイスが存在するか否か
の1ビツトの情報を格納するNXTフイールド
と、このNXTフイールドの内容が“1”の場
合、上記次の順番の入出力デバイス対応の連結テ
ーブルを指示するポインタを格納するための
NXTDPフイールドと、この連結テーブル自身に
対応する入出力デバイスが現在入出力命令待行列
中に加わつているか否かの1ビツトの情報を格納
するENQフイールドと、この入出力デバイスが
入出力命令待行列に加わつているときにさらに新
らしい入出力命令が発生したか否かの1ビツトの
情報を格納するIPフイールドと、さらにこの入出
力デバイスに対するチヤンネルプログラム(チヤ
ンネルコマンドワード、CCW)のMM2中にお
ける格納開始番地を指示するポインタを格納する
CCWADフイールドとを含んでいる。
Each of the concatenation tables 31, as shown in FIG. An NXT field that stores 1-bit information indicating whether or not an input/output device in the order exists, and if the content of this NXT field is "1", a concatenation table corresponding to the input/output device in the next order is specified. to store a pointer to
NXTDP field, ENQ field that stores 1-bit information indicating whether or not the input/output device corresponding to this concatenation table is currently added to the input/output command queue, and An IP field that stores 1-bit information indicating whether a new input/output command has occurred while the input/output device is being added to the input/output device, and a channel program (channel command word, CCW) for this input/output device stored in MM2. Store a pointer indicating the starting address
Contains the CCWAD field.

さて、本実施例によるデータ入出力動作は下記
のように行なわれる。
Now, the data input/output operation according to this embodiment is performed as follows.

今、一例として、第K番目のチヤンネル(つま
りチヤンネル4−K)の第R番目の入出力デバイ
ス(つまりデバイス5−K−R)に対するデータ
の入出力動作について説明する。第5図、第6図
および第7図は本実施例の動作を説明するための
フローチヤートである。
Now, as an example, a data input/output operation for the Rth input/output device (that is, device 5-K-R) of the Kth channel (that is, channel 4-K) will be described. FIG. 5, FIG. 6, and FIG. 7 are flowcharts for explaining the operation of this embodiment.

CPU1のオペレーシヨンプログラムOSはま
ず、入出力デバイス5−K−Rが行うべき入出力
動作の詳細を規定したチヤンネルプログラム(こ
れをCCW:チヤンネルコマンドワードという)
を作りこれをMM2の特定のメモリアドレスに格
納する。
The operation program OS of the CPU 1 is first a channel program (this is called a channel command word (CCW)) that specifies the details of the input/output operations to be performed by the input/output device 5-K-R.
and store it in a specific memory address of MM2.

ついでCHC3をコールし、DAW(デバイスア
ドレスワード:これは実行すべきオペレーシヨ
ン、つまり現在の場合は入出力命令、を指定し、
かつ、このオペレーシヨンを実行すべき入出力デ
バイスのチヤンネル番号、現在の例ではK、およ
びデバイス番号、現在の例ではR″、を含んでい
るワードである)とCAW(コマンドアドレスワ
ード:これは前記CCWのMM2中における格納
開始番地を指示するポインタ)とを供給し(第5
図ア)、CHC3からのコンデシヨンコードによる
リポートの応答を待つ(第5図イ)。
Next, call CHC3, specify the DAW (device address word: this is the operation to be performed, in the current case, an input/output instruction),
and the channel number of the input/output device on which this operation is to be performed, K in the current example, and the device number, R'' in the current example) and CAW (command address word; this is A pointer indicating the storage start address in MM2 of the CCW) is supplied (fifth
Figure A), waits for a report response from CHC3 using the condition code (Figure 5 B).

一方、CPU1からの前記コール(第5図ア)
を受けたCHC3は供給された前記DAWとCAW
とを取り出し(第5図エ)、これを解読すること
によつて指定されたオペレーシヨンが入出力命令
SIOがそれ以外の命令かを判定する(第5図
オ)。もしこれが、現在の場合のように、入出力
命令SIOである場合には、前記DAWで指定され
たチヤンネルKが現在有効か否か(実際に存在し
かつ現在障害状態でないかどうか)をチエツクす
る(第5図カ)。
On the other hand, the above call from CPU1 (Figure 5 A)
The received CHC3 is the supplied DAW and CAW.
(Fig. 5 d), and by decoding this, the specified operation is determined as an input/output command.
Determine whether SIO is any other instruction (Fig. 5 O). If this is an input/output instruction SIO, as in the current case, check whether the channel K specified in the DAW is currently valid (actually exists and is not currently in a faulty state). (Figure 5 F).

もし有効でなければコンデシヨンコードを3と
し(CC=3)、CPU1に対してリポートする
(第5図ク)。
If it is not valid, the condition code is set to 3 (CC=3) and a report is made to CPU1 (Figure 5, h).

またもし有効な場合にはコンデシヨンコードを
0とし(CC=0)、CPU1に対してリポートす
る(第5図キ)。
If it is valid, the condition code is set to 0 (CC=0) and a report is made to the CPU 1 (FIG. 5G).

このいずれかのリポートを受けたCPU1のプ
ログラムは、この受信を確認すると(第5図イ)
次の命令の実行に進む(第5図ウ)が、本実施例
においては入出力命令に対するCHC3のコンデ
イシヨンコードによるリポートがCC=0とCC=
3だけであり、前述の従来装置のCC=1および
CC=2に対するリポートを含まない点に特徴が
ある。このためにCPU側のプログラムにおいて
は前述の従来装置の欠点が除かれることになる。
なお、前記オペーレーシヨン判定(第5図オ)に
おいて、解読した命令が入出力命令以外の命令
(例えばテスト命令等)である場合には、指定さ
れたこの命令に対する処理を行ない(第5図
ケ)、その結果によつて定まるコンデシヨンコー
ドを発生し(第5図コ)、CPUにリポートする
が、この処理は従来装置と同様である。
When the CPU1 program receives one of these reports, it confirms the reception (Figure 5 B).
The execution proceeds to the next instruction (FIG. 5C), but in this embodiment, the CHC3 condition code report for the input/output instruction is CC=0 and CC=
3, compared to CC=1 and CC of the conventional device mentioned above.
The feature is that it does not include a report for CC=2. For this reason, the above-mentioned drawbacks of the conventional device can be eliminated in the program on the CPU side.
In addition, in the operation judgment (Fig. 5, O), if the decoded instruction is an instruction other than an input/output instruction (for example, a test instruction, etc.), the processing for this specified instruction is performed (Fig. 5, C). , a condition code determined by the result is generated (FIG. 5) and reported to the CPU, but this processing is the same as in the conventional device.

さて、CC=0を送出した場合(第5図キ)に
は、CHC3の処理はさらに進み、次に前記DAW
に含まれるチヤンネル番号Kとデバイス番号Rで
指定される連結テーブル31−K−Rの内容を読
む(第5図サ)。そしてまず、ENQフイールドが
“1”か否かをチエツクする(第5図シ)。
Now, when CC=0 is sent (Fig. 5 G), the processing of CHC3 proceeds further, and then the DAW
The contents of the concatenation table 31-K-R specified by the channel number K and device number R included in the file are read (see FIG. 5). First, it is checked whether the ENQ field is "1" (see Figure 5).

最初、これが“0”である場合の処理について
説明する。ENQフイールドが“0”である
(“1”でない)ということは、この入出力命令を
受けた入出力デバイス5−K−Rが、まだ、この
チヤンネルの入出力命令待行列に加わつていない
ことを意味する(すなわちこの入出力デバイス5
−K−Rに対する入出力命令で待つているものが
ないことを意味する)。従つて、この入出力デバ
イス5−K−Rに対する入出力命令が発生した現
在、直ちにこのデバイスに対する連結テーブル3
1−K−RのENQフイールドを“1”としてこ
れが待行列に加わつたことを表示し、またそれと
共に前記CAW(この入出力命令のチヤンネルプ
ログラムのMM2における格納開始番地を示すポ
インタ)をこの連結テーブル31−K−Rの
CCWADフイールドに書き込む(第5図ス)。
First, the processing when this is "0" will be explained. The fact that the ENQ field is "0" (not "1") means that the input/output device 5-K-R that received this input/output command has not yet been added to the input/output command queue of this channel. (i.e. this input/output device 5
- means there are no I/O commands waiting for K-R). Therefore, as soon as an input/output command is issued to this input/output device 5-K-R, the concatenation table 3 for this device is immediately updated.
The ENQ field of 1-K-R is set to "1" to indicate that this has been added to the queue, and at the same time, the CAW (pointer indicating the storage start address in MM2 of the channel program of this input/output instruction) is set to this concatenation. Table 31-K-R
Write in the CCWAD field (Figure 5).

つぎに、このチヤンネル4−Kに対するヘツダ
テーブル30−Kを読む(第5図セ)。そしてこ
のヘツダテーブル30−KのVLDフイールドが
“0”かどうかをチエツクする(第5図ソ)。
VLDフイールドが“0”ということは、まだこ
のチヤンネルに待行列が存在しないことを意味す
る(つまりこのチヤンネルに属する入出力デバイ
スの中には、現在、入出力命令を受けその起動を
待つているものが一つもないことを意味する)。
従つて、現在入出力命令を受けた入出力デバイス
5−K−Rが最初に待行列を構成することになる
ので、それを表示するために、ヘツダテーブル3
1−K−RのVLDフイールドを“1”とし、か
つ、FSTフイールドおよびLSTフイールドに、
この入出力デバイス5−K−R対応の連結テーブ
ル31−K−Rを指示するポインタを格納する
(第5図タ)。かくして、入出力デバイス31−K
−Rはこのチヤンネル4−Kの待行列の先頭(か
つ最後尾)に登録されたことになる。
Next, the header table 30-K for this channel 4-K is read (FIG. 5C). Then, it is checked whether the VLD field of this header table 30-K is "0" (FIG. 5-S).
A value of 0 in the VLD field means that there is no queue for this channel yet (that is, some I/O devices belonging to this channel are currently receiving I/O commands and waiting to be activated). (meaning there is nothing).
Therefore, since the input/output device 5-K-R that currently receives the input/output command will form the queue first, in order to display it, the header table 3
Set the VLD field of 1-K-R to “1”, and set the FST field and LST field,
A pointer indicating the concatenation table 31-K-R corresponding to this input/output device 5-K-R is stored (FIG. 5). Thus, input/output device 31-K
-R is now registered at the head (and tail) of the queue for channel 4-K.

これがすむと、CHC3は、このチヤンネル4
−Kに対応する入出力命令起動待フリツプフロツ
プFF32−Kをセツトし、このチヤンネル4−
Kに入出命令の起動を待つている入出力デバイス
があることを表示する(第5図チ)。
Once this is done, CHC3 will be able to connect to this channel 4.
A flip-flop FF32-K corresponding to input/output command activation is set, and this channel 4-K is set.
It is displayed on K that there is an input/output device waiting for activation of an input/output command (Fig. 5, h).

またもし、上記VLDのチエツク(第5図ソ)
においてVLDが“1”の場合には、このチヤン
ネル4−Kには待行列がすでに存在することを意
味し、その最後尾の入出力デバイスに対するポイ
ンタがこのヘツダテーブル30−KのLSTフイ
ールドに格納されている。今回新らしく入出力開
始命令を受けた入出力デバイス5−K−Rは、現
在の最後尾にあるものの次に新らしい最後尾の入
出力デバイスとして登録する必要がある。そこで
まず、ヘツダテーブル30−KのLSTフイール
ドに格納されたポインタが指示する連結テーブル
を選出し(第5図ツ)、この連結テーブルのNXT
フイールド(このフイールドのビツトは待行列に
おいて次の順位の入出力デバイスがこの待行列中
に存在することを示す)を“1”とし、かつ
NXTDPフイールド(これは上述の次の順位の入
出力デバイス対応の連結テーブルを指示するポイ
ンタを格納するフイールド)に現在新らしく待行
列の最後に加わつた入出力デバイス5−K−R対
応の連結テーブル31−K−Rを指示するポイン
タを格納し(第5図テ)、またこの同じポインタ
をヘツダテーブル30−KのLSTフイールドに
格納し(第5図ト)、入出力デバイス5−K−R
がこのチヤンネルの待行列の最後尾であることを
表示する。
Again, check the above VLD (Figure 5)
If VLD is "1" in this channel 4-K, it means that a queue already exists in this channel 4-K, and the pointer to the last input/output device is stored in the LST field of this header table 30-K. ing. The input/output device 5-K-R, which newly received the input/output start command this time, needs to be registered as the latest last input/output device after the current last one. Therefore, first, select the concatenation table pointed to by the pointer stored in the LST field of the header table 30-K (Figure 5), and select the NXT of this concatenation table.
field (a bit in this field indicates that the next ranked input/output device in the queue exists in this queue) is set to “1”, and
The NXTDP field (this is a field that stores a pointer to the concatenation table corresponding to the next-ranked input/output device described above) contains the concatenation table corresponding to the input/output device 5-K-R that has been newly added to the end of the queue. 31-K-R is stored (Fig. 5 T), and this same pointer is stored in the LST field of the header table 30-K (Fig. 5 G), and the input/output device 5-K-R is stored.
indicates that is at the end of the queue for this channel.

これがすむと、入出力命令起動禁止フリツプフ
ロツプFF33−Kをリセツトし((第5図ナ)、
入出力命令起動待のデバイスが新らしく待行列に
加わり、起動禁止状態がとけたことを表示する。
(起動禁止フリツプフロツプ33−Kをセツトす
る時点およびその作用については後述する)。こ
うして、入出力命令を受けた入出力デバイスがそ
れまでに待行列に加わつていない場合には新らし
く待行列に加えられ、それに従つて起動待フリツ
プフロツプ32−Kがセツトされるか(待行列が
新たに作られた場合)または起動禁止フリツプフ
ロツプ33−Kがリセツトされる(すでに待行列
ができていてその中にこのデバイスが加えられた
場合)。
When this is completed, reset the input/output command activation inhibit flip-flop FF33-K ((Fig. 5 N),
A new device waiting to be activated by an input/output command is added to the queue, indicating that the activation inhibited state has been removed.
(The timing and operation of setting the activation inhibit flip-flop 33-K will be described later). In this way, if an input/output device that has received an input/output command has not been added to the queue before, it is newly added to the queue, and the activation waiting flip-flop 32-K is set accordingly (queue queue). (if a new device is created) or the disabled flip-flop 33-K is reset (if a queue has already been created and this device is added to it).

さて、次に、前記第5図シのプロセスでENQ
フイールドが“1”である場合の処理について説
明する。ENQフイールドが“1”であること
は、今回、入出力命令を受けた入出力デバイス5
−K−Rは、すでに前に入出力命令を受けて、現
在その実行を待つための待行列に登録されている
状態であることを示す。この場合には、同じ入出
力デバイス5−K−Rを新らしい順位に二重登録
をするかわりに、対応する連結テーブル31−K
−RのIPフイールドに“1”をセツトし(第5図
ナ)、この入出力デバイス5−K−Rに対する特
定の処理依頼のあることを表示する。その上で
CPU1に対し割込要求を出す(第5図ニ)。すな
わち、CHC3は指令された入出力命令に対しす
でにCC=0(入出力命令の受付成功)のリポー
トをCPU1に返しているが、実際にはこれをそ
のまま受付けることが困難な特別の情況にあるた
め、これを割込みを用いてCPU1に知らせるの
である。これに対する処理については後述する。
ただしこの分枝を通る処理の発生する確率は低
い。
Now, next, in the process shown in Figure 5 above, ENQ
The processing when the field is "1" will be explained. The fact that the ENQ field is “1” means that the input/output device 5 that received the input/output command this time
-KR indicates that the input/output command has already been received and is currently registered in the queue waiting for its execution. In this case, instead of registering the same input/output device 5-K-R twice in a new order, the corresponding connection table 31-K
-R's IP field is set to "1" (FIG. 5, N) to indicate that there is a specific processing request for this input/output device 5-K-R. Moreover
Issues an interrupt request to CPU1 (Figure 5 D). In other words, CHC3 has already returned a report of CC=0 (successful reception of input/output command) to CPU1 in response to the commanded input/output command, but in reality, there is a special situation in which it is difficult to accept this as is. Therefore, this is notified to the CPU 1 using an interrupt. Processing for this will be described later.
However, the probability that processing that passes through this branch will occur is low.

さて、こうして入出力命令は受付けられ、待行
列に登録され、さらにこの待行列の存在を示す起
動待フリツプフロツプ32−Kがセツトされある
いは起動禁止フリツプフロツプ33−Kがリセツ
トされたが、これら各命令の待行列からの取りは
ずしとその起動とは以下のようにして行なわれ
る。
In this way, the input/output commands are accepted and registered in the queue, and the activation waiting flip-flop 32-K indicating the existence of this queue is set or the activation inhibiting flip-flop 33-K is reset. Dequeuing and activation are performed as follows.

すなわち、各チヤンネル4−1〜4−Nに対応
し、それぞれのチヤンネルが現在ビジ−状態(つ
まり何等かの処理を実行中で別の処理を実行でき
ない状態)にあるか、またはアイドル状態(つま
り、現在何等の処理も行なつておらず新らしい処
理にいつでも応じられる空状態)にあるかを監視
するチヤンネル状態監視プログラムが動作してい
る。前記チヤンネル4−Kに対するこの監視プロ
グラムはチヤンネル4−Kがアイドル状態か否か
を監視している(第6図ア)。
That is, corresponding to each channel 4-1 to 4-N, each channel is currently in a busy state (that is, a state in which some processing is being executed and another processing cannot be executed) or in an idle state (that is, in an idle state). A channel status monitoring program is running that monitors whether the channel is in an empty state (currently not performing any processing and ready for new processing at any time). This monitoring program for channel 4-K monitors whether channel 4-K is in an idle state (FIG. 6A).

このチヤンネル4−Kのある入出力命令の実行
が終了し、一時このチヤンネル4−Kがアイドル
状態になると、このプログラムはこのチヤンネル
4−Kに対する前記入出力命令起動待フリツプフ
ロツプFF32−Kおよび前記入出力命令起動禁
止フリツプフロツプFF33−Kを参照し(第6
図イ)、前者が“1”にセツトされかつ後者が
“0”にリセツトされている状態のときにかぎり
CHC3に対して割込みを発生し(第6図ウ)、
CHC3の入出力命令待行列処理プロセスを起動
する(第6図エ)。
When the execution of a certain input/output instruction on this channel 4-K is finished and this channel 4-K temporarily becomes idle, this program executes the flip-flop FF32-K and the input/output instruction waiting flip-flop FF32-K for this channel 4-K. Refer to flip-flop FF33-K (sixth
Figure A), only when the former is set to “1” and the latter is reset to “0”
Generates an interrupt to CHC3 (Figure 6 c),
The input/output command queue processing process of CHC3 is activated (Fig. 6D).

このプロセスが起動すると、まず対応するチヤ
ンネルのヘツダテーブル30−Kを読み(第6図
オ)、このヘツダテーブル30−KのFSTフイー
ルドおよびLSTフイールドで指定され、前述の
ようにして相互に連結されてこのチヤンネルの待
行列を構成している各連結テーブル対応のサブチ
ヤンネルを読み(第6図カ)、アイドル状態にあ
るものを探す(第6図キ)。このサブチヤンネル
とは、各チヤンネル毎に、そのチヤンネルが管理
する各入出力デバイスの状態等を格納したもので
ある。
When this process starts, it first reads the header table 30-K of the corresponding channel (Fig. 6, O), and the header specified by the FST field and LST field of this header table 30-K are interconnected as described above. It reads the subchannels corresponding to each concatenation table constituting the channel queue (FIG. 6(f)) and searches for one in an idle state (FIG. 6(g)). This subchannel stores, for each channel, the status of each input/output device managed by that channel.

こうして、アイドルのサブチヤンネルを有する
デバイスが見出されると、このデバイスを待行列
のリンクから取りはずす(第6図ク)。この取り
はずすための処理は前述の待行列に登録する場合
の逆の処理を行なえばよいので詳述を略すが、ま
ず、そのデバイス対応の連結テーブルのENQフ
イールドを0とし、待行列中でその前の順位にあ
るデバイスの連結テーブルのNXTDPフイールド
を更新する(前の順位のデバイスが存在しない場
合にはヘツダテーブルのFSTフイールドを更新
する。また取りはずされるデバイスが待行列の最
後尾のデバイスである場合には前の順位のデバイ
スのNXTフイールドを0としヘツダテーブルの
LSTフイールドの内容も更新する)。
Thus, when a device with an idle subchannel is found, this device is removed from the link in the queue (FIG. 6H). The process for removing this device is the reverse of the process for registering it in the queue as described above, so I will omit the details, but first, set the ENQ field of the concatenation table corresponding to the device to 0, and then Updates the NXTDP field in the concatenation table of the device at the position of sets the NXT field of the previous device to 0 and the header table.
(Also updates the contents of the LST field).

この取りはずした結果、待行列が消滅したか否
かをチエツクし(第6図ケ)、待行列が消滅した
場合にはヘツダテーブルのVLDフイールドを0
とし(第6図コ、さらに入出力命令起動待フリツ
プフロツプFF32−Kを0にして(第6図サ)
からこの入出力命令の起動処理に入る(第6図
シ)。入出力命令の起動は、取りはずしたデバイ
ス対応の連結テーブルのCCWADフイールドに格
納されたポインタの指示に従つてMM2から最初
のCCWを取り出しそれを実行することによつて
行なわれる。
As a result of this removal, it is checked whether the queue has disappeared (Figure 6), and if the queue has disappeared, the VLD field of the header table is set to 0.
(Fig. 6), and also set the input/output command activation flip-flop FF32-K to 0 (Fig. 6).
From this point on, the startup process for this input/output command starts (see FIG. 6). The input/output command is activated by fetching the first CCW from the MM 2 and executing it in accordance with the pointer stored in the CCWAD field of the concatenation table corresponding to the removed device.

取りはずしの結果、待行列がまだ残つている場
合には(第6図ケのNの分枝)、VLDフイールド
および起動待フリツプフロツプ32−Kをもとの
ままとして直ちに起動処理に入る(第6図シ)。
As a result of removal, if the queue still remains (branch of N in Figure 6), the VLD field and the flip-flop waiting for startup 32-K remain as they were and the startup process immediately begins (see Figure 6). shi).

さて、上述の、リンク内の各サブチヤンネルを
読み(第6図カ)、アイドル状態のものを探した
とき(第6図キ)、待行列中にアイドル状態のサ
ブチヤンネルが見出されない場合には、入出力命
令起動禁止フリツプフロツプFF33−Kを
“1”にセツトする(第6図ス)。これは、こうす
ることによつて上述の第6図イの判定条件を反転
し、この状況においてはこれ以上CHC3に対す
るチヤンネル4−Kからの割込み(第6図ウ)が
起らないようにするためのものである。この起動
禁止フリツプフロツプ33−Kは、前述のよう
に、CPU1から新たに入出力命令が出されて待
行列に登録された場合(第5図ナ)、および後述
するように、一つのデバイスの入出力命令の処理
が終了した場合(第7図キ)にはそれに従つてサ
ブチヤンネルの情況が変化するので、“0”にリ
セツトされ、チヤンネル4−KからCHC3への
割込みを再び可能とする。
Now, when reading each subchannel in the link mentioned above (Fig. 6 F) and searching for an idle subchannel (Fig. 6 G), if no idle subchannel is found in the queue, sets the input/output command activation inhibit flip-flop FF33-K to "1" (FIG. 6). By doing this, the judgment condition in Figure 6A above is reversed, and in this situation, no further interrupts from channel 4-K to CHC3 (Figure 6C) occur. It is for. As mentioned above, this activation-prohibited flip-flop 33-K is activated when a new input/output command is issued from the CPU 1 and registered in the queue (Fig. When the processing of the output command is completed (FIG. 7G), the status of the subchannel changes accordingly, so it is reset to "0", allowing interrupts from channel 4-K to CHC3 again.

さて、最後に、前述の第5図ニによるCPUへ
割込要求を行なつた場合のプロセスは次のように
なる。
Finally, the process when an interrupt request is made to the CPU according to FIG. 5D described above is as follows.

CHC3は、割込要求を出すときにはその割込
要求に対応するチヤンネル番号と、入出力デバイ
ス番号とを保持しておき、CPU1が割込を受付
けたときはこのチヤンネル番号とデバイス番号と
を用いて必要なヘツダテーブルおよび連結テーブ
ルにアクセスする。上記割込をCPU1が受けつ
けると、CHC3は上述の保持しているチヤンネ
ル番号デバイス番号を用いて対応するデバイスの
連結テーブルを読む(第7図ア)。該連結テーブ
ルのIPフイールドをチエツクすることにより(第
7図イ)、このIPフイールドが“1”の場合に
は、前述の第5図ニに対する割込要求の受付であ
ることを識別する。そして、待行列に入つている
入出力デバイスに重ねて入出力開始命令があつた
ことを示す予め定められているチヤンネルステー
タスワードCSWをMM2の予め定めた領域に格
納してCPU1にこれを知らせ(第7図ウ)、ま
た、これに対するCHC3の処理はこれですんだ
のでこの連結テーブルのIPフイールドを“0”に
リセツトする(第7図エ)。
When CHC3 issues an interrupt request, it holds the channel number and input/output device number corresponding to the interrupt request, and when CPU1 accepts the interrupt, it uses this channel number and device number. Access the necessary header and concatenation tables. When the CPU 1 accepts the above interrupt, the CHC 3 reads the concatenation table of the corresponding device using the channel number and device number held above (FIG. 7A). By checking the IP field of the concatenation table (FIG. 7(a)), if this IP field is "1", it is determined that the interrupt request for FIG. 5(d) described above has been accepted. Then, a predetermined channel status word CSW indicating that an input/output start command has been issued for an input/output device in the queue is stored in a predetermined area of MM2, and this is notified to CPU1 ( FIG. 7C), and since the CHC3 process for this is now complete, the IP field of this concatenation table is reset to "0" (FIG. 7D).

なお、CHC3からCPU1に対する割込みは、
上述のもののほかに、前述の第6図シの起動処理
で起動した入出力命令の実行がすんで、その結果
をCPU1に報告する場合にも用いられるが、こ
の場合には第7図イで連結テーブルのIPフイール
ドをチエツクするとこのフイールドに“1”がな
いためにこれを識別し、入出力命令実行結果に対
するCSWをMM2の前記領域に格納してCPUに
リポートし(第7図オ)、この結果、少くも一つ
のサブチヤンネルの状況が変化し新らしく入出力
命令を起動できる可能性ができたのでチヤンネル
4−Kの入出力命令起動禁止フリツプフロツプ3
3−Kがもしセツトされている場合にはこれを
“0”にリセツトする(第7図カ)。
Furthermore, interrupts from CHC3 to CPU1 are as follows:
In addition to the above, it is also used when the execution of the input/output command started in the startup process in Figure 6 B above is completed and the result is reported to CPU 1. In this case, the connection in Figure 7 B is used. When the IP field of the table is checked, it is identified that there is no "1" in this field, and the CSW for the input/output command execution result is stored in the area of MM2 and reported to the CPU (Fig. 7 O). As a result, the status of at least one subchannel changed and there was a possibility that a new input/output instruction could be activated, so flip-flop 3 for inhibiting input/output instruction activation of channel 4-K was created.
If 3-K is set, it is reset to "0" (FIG. 7F).

以上述べたように、本実施例を用いると、
CPUの入出力命令の指令に対し、CHCはそのチ
ヤンネル番号が有効の場合には常にこれを受付け
(CC=0でCPUにリポートし)、入出力命令待行
列に登録し、こうして待行列が作られると入出力
命令起動待フリツプフロツプをセツトしあるいは
入出力命令起動禁止フリツプフロツプをリセツト
し、一方、各チヤンネルは自己がアイドルにな
り、新らしく入出力命令を実行できる状態になる
とこの二つのフリツプフロツプの状態を参照しそ
れに応答し割込みを発生して入出力命令の起動を
要求し、この割込みを受けたCHCは待行列中に
登録されたデバイスの中で現在入出力命令実行可
能なものから順番に待行列から取りはずし、この
デバイスに対して指令された入出力命令を実行す
るような動作を行なう入出力制御装置を提供する
ことができる。
As mentioned above, using this example,
In response to a CPU input/output command, if the channel number is valid, the CHC always accepts it (reports it to the CPU with CC = 0) and registers it in the input/output command queue, thus creating a queue. When a channel is idle, it sets the flip-flop waiting for I/O command activation or resets the flip-flop inhibiting input/output command activation, while each channel becomes idle and changes the state of these two flip-flops when it becomes ready to execute a new I/O command. In response, the CHC generates an interrupt and requests the start of an I/O command, and the CHC that receives this interrupt waits in order from the devices registered in the queue that can currently execute the I/O command. An input/output control device can be provided that performs operations such as removing the device from the matrix and executing input/output instructions directed to the device.

このため、CPUは一度入出力命令を指令する
と、特別の場合を除き、以後の処理をすべて入出
力制御装置に委ねることができるので、入出力命
令に対するオーバーヘツドを節減することができ
る。
Therefore, once the CPU issues an input/output command, except in special cases, all subsequent processing can be entrusted to the input/output control device, thereby reducing overhead for input/output commands.

なお、本実施例の第5図、第6図および第7図
のフローチヤートで示したCHCおよびチヤンネ
ルCHの動作はフアームウエアを用いて容易に実
現することができる。また勿論専用のハードウエ
アを用いて実現することも可能である。
Note that the operations of the CHC and channel CH shown in the flowcharts of FIGS. 5, 6, and 7 of this embodiment can be easily realized using firmware. Of course, it is also possible to implement it using dedicated hardware.

また、本実施例においては入出力命令起動待フ
リツプフロツプ32−1〜32−Nおよび入出力
命令起動禁止フリツプフロツプ33−1〜33−
Nの物理的位置をCHC3内としたが、勿論これ
を各チヤンネル中においてもよい。
In addition, in this embodiment, input/output command activation waiting flip-flops 32-1 to 32-N and input/output command activation inhibiting flip-flops 33-1 to 33-N are provided.
Although the physical location of N is assumed to be within the CHC 3, it may of course be located within each channel.

また、本実施例で用いた入出力待行列ヘツダテ
ーブル30−1〜30−N、入出力待行列連結テ
ーブル31−1−1〜31−N−MN、入出力命
令起動待フリツプフロツプ32−1〜32−Nお
よび入出力命令起動禁止フリツプフロツプ33−
1〜33−NはRAMの予め定めた領域のそれぞ
れのアドレスの内容として構成することもでき
る。
In addition, the input/output queue header tables 30-1 to 30-N, the input/output queue concatenation tables 31-1-1 to 31-N-M N , and the flip-flops waiting for input/output command activation 32-1 to 30-N used in this embodiment 32-N and input/output instruction activation inhibit flip-flop 33-
1 to 33-N can also be configured as the content of each address in a predetermined area of the RAM.

以上のように本発明を用いると、入出力デバイ
スがアイドル以外の状態でも入出力命令を受付け
てこれを待行列に登録し入出力デバイスがアイド
ルになるとそのアイドルになつたものからつぎつ
ぎに自動的にこれを処理する入出力制御装置を提
供することができる。このため中央処理装置のソ
フトウエアに対するオーバーヘツドを軽減できる
という効果がある。
As described above, when the present invention is used, input/output commands are accepted even when the input/output device is in a state other than idle, the commands are registered in the queue, and when the input/output device becomes idle, the commands are automatically executed one after another starting from the one that became idle. An input/output controller can be provided to handle this. This has the effect of reducing the overhead on the software of the central processing unit.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を説明するためのブ
ロツク図、第2図は本実施例で用いる入出力待行
列ヘツダテーブル、入出力待行列連結テーブル、
入出力命令起動待フリツプフロツプおよび入出力
命令起動禁止フリツプフロツプを説明するための
図、第3図は前記入出力待行列ヘツダテーブルの
フオーマツトを説明するための図、第4図は前記
入出力待行列連結テーブルのフオーマツトを説明
するための図、第5図、第6図および第7図は本
実施例の動作を説明するためのフローチヤートで
ある。 図において、1……中央処理装置CPU、2…
…主記憶装置MM、3……チヤンネル制御装置
CHC、4−1〜4−N……チヤンネルCH、5−
1−1〜5−N−MN……入出力デバイスIOD、
6……入出力制御装置、30−1〜30−N……
入出力待行列ヘツダテーブル、31−1−1〜3
1−N−MN……入出力待行列連結テーブル、3
2−1〜32−N……入出力命令起動待フリツプ
フロツプ、33−1〜33−N……入出力命令起
動禁止フリツプフロツプ。
FIG. 1 is a block diagram for explaining one embodiment of the present invention, and FIG. 2 shows an input/output queue header table, an input/output queue concatenation table, and an input/output queue concatenation table used in this embodiment.
FIG. 3 is a diagram for explaining the format of the input/output queue header table, and FIG. 4 is a diagram for explaining the input/output queue concatenation table. FIGS. 5, 6 and 7 are flowcharts for explaining the operation of this embodiment. In the figure, 1... central processing unit CPU, 2...
...Main memory MM, 3...Channel control device
CHC, 4-1 to 4-N...Channel CH, 5-
1-1~5-N-M N ...Input/output device IOD,
6... Input/output control device, 30-1 to 30-N...
I/O queue header table, 31-1-1 to 3
1-N-M N ...I/O queue concatenation table, 3
2-1 to 32-N...Flip-flops waiting for input/output command activation, 33-1 to 33-N...Flip-flops inhibiting input/output command activation.

Claims (1)

【特許請求の範囲】 1 中央処理装置と主記憶装置とチヤンネル制御
装置と複数のチヤンネルと複数の入出力デバイス
とを含む情報処理装置において、 前記各チヤンネル対応に設けられ該チヤンネル
ごとに作られる入出力命令待行列の先頭に登録さ
れた前記デバイスのデバイス番号に関する情報を
含む複数の待行列ヘツダテーブル手段と、 前記各デバイス対応に設けられ対応するデバイ
スが前記待行列に登録されているか否かに関する
情報と前記主記憶装置中に格納されたこのデバイ
スに対する入出命令の格納開始番地に関する情報
と前記待行列中における次の順番のデバイスの有
無に関する情報とこれが有る場合に該デバイスの
デバイス番号に関する情報とを含む複数の入出力
待行列連結テーブル手段と、 前記各チヤンネル対応に設けられ前記各待行列
中で入出力命令の起動を待つ入出力デバイスの有
無を示す入出力命令起動待表示手段と、 前記各チヤンネル対応に設けられ前記入出力命
令起動の禁止を示す入出力命令起動禁止表示手段
とを含み、 前記中央処理装置から入出力命令を受けた前記
チヤンネル制御装置は前記入出力命令により指定
されたチヤンネル番号およびデバイス番号により
対応する前記ヘツダテーブル手段および前記連結
テーブル手段の内容を参照しこれを用いて前記待
行列を作成し前記起動待表示手段をセツトし任意
のチヤンネルがアイドル状態になつたときに該チ
ヤンネルは対応する前記起動待表示手段と前記起
動禁止表示手段との表示を参照し前記制御装置に
割込みを発生しこれに応答して前記制御装置は対
応するチヤンネルの前記待行列を参照し待行列中
に登録されたデバイスに対する入出力命令の起動
を開始するようにしたことを特徴とする入出力制
御装置。
[Scope of Claims] 1. In an information processing device including a central processing unit, a main storage device, a channel control device, a plurality of channels, and a plurality of input/output devices, an input device provided for each channel and created for each channel. a plurality of queue header table means including information regarding the device number of the device registered at the head of the output command queue; information provided for each of the devices and regarding whether the corresponding device is registered in the queue; information regarding the storage start address of an input/output instruction for this device stored in the main memory; information regarding the presence or absence of a next device in the queue; and, if present, information regarding the device number of the device. a plurality of input/output queue concatenated table means including: input/output command activation waiting display means provided for each of the channels and indicating the presence or absence of an input/output device waiting for activation of an input/output command in each of the queues; an input/output command activation prohibition display means provided corresponding to a channel and indicating prohibition of activation of the input/output command, wherein the channel control device receives the input/output command from the central processing unit and controls the channel specified by the input/output command. The contents of the header table means and the concatenation table means corresponding to the header table means and the concatenation table means are referred to based on the number and device number, the queue is created using the contents, and the start waiting display means is set, so that when an arbitrary channel becomes idle, the corresponding contents are displayed. The channel refers to the display of the corresponding activation waiting display means and the activation prohibition display means and generates an interrupt to the control device, and in response, the control device refers to the queue of the corresponding channel and starts waiting. An input/output control device characterized in that it starts activating input/output commands for devices registered in a matrix.
JP1348982A 1982-01-29 1982-01-29 Input and output controller Granted JPS58129629A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1348982A JPS58129629A (en) 1982-01-29 1982-01-29 Input and output controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1348982A JPS58129629A (en) 1982-01-29 1982-01-29 Input and output controller

Publications (2)

Publication Number Publication Date
JPS58129629A JPS58129629A (en) 1983-08-02
JPS62542B2 true JPS62542B2 (en) 1987-01-08

Family

ID=11834526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1348982A Granted JPS58129629A (en) 1982-01-29 1982-01-29 Input and output controller

Country Status (1)

Country Link
JP (1) JPS58129629A (en)

Also Published As

Publication number Publication date
JPS58129629A (en) 1983-08-02

Similar Documents

Publication Publication Date Title
US4901232A (en) I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US7484017B1 (en) Dequeuing from a host adapter two-dimensional queue
US5031091A (en) Channel control system having device control block and corresponding device control word with channel command part and I/O command part
US4077058A (en) Method and apparatus for executing an extended decor instruction
JPS646488B2 (en)
US8495261B2 (en) Redispatching suspended tasks after completion of I/O operations absent I/O interrupts
JPS62542B2 (en)
JPS62541B2 (en)
JPS62543B2 (en)
US6789134B1 (en) Dequeuing from a host adapter two-dimensional queue
JP3139310B2 (en) Digital signal processor
JPS6240736B2 (en)
JP2883488B2 (en) Instruction processing unit
JPH0425581B2 (en)
JP2823624B2 (en) I / O interface control method
JPH07114522A (en) Multiprocessor system
JP3127737B2 (en) Digital signal processor
JPS5942331B2 (en) Prosetsusasouchinoseigiohoshiki
JPH0413716B2 (en)
JPS6239779B2 (en)
JPH05334233A (en) Data transferring device
JPS6149695B2 (en)
JPS6048563A (en) Channel control system
JPH0766357B2 (en) I / O control method