JPS595359A - Queuing method of input/output instruction - Google Patents

Queuing method of input/output instruction

Info

Publication number
JPS595359A
JPS595359A JP57114246A JP11424682A JPS595359A JP S595359 A JPS595359 A JP S595359A JP 57114246 A JP57114246 A JP 57114246A JP 11424682 A JP11424682 A JP 11424682A JP S595359 A JPS595359 A JP S595359A
Authority
JP
Japan
Prior art keywords
input
queue
channel
output
output instruction
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
JP57114246A
Other languages
Japanese (ja)
Inventor
Masaji Ishibashi
正路 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57114246A priority Critical patent/JPS595359A/en
Publication of JPS595359A publication Critical patent/JPS595359A/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/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

Abstract

PURPOSE:To shorten a queue-processing time, and to reduce the burden of a CPU, by providing a table for controlling a queue of an input/output instruction on a channel processor side. CONSTITUTION:An input/output instruction is supplied from a central processor CPU to a input/output devices DV connected to the lower order of each channel CH through a channel processor CHP for controlling plural channels CH. A queue control table which can stack plural input/output instruction is provided on the channel processor CHP side. Whenever an input/output instruction is outputted from the central processor CPU, a necessary matter is inputted to the queue control table. When a dequeue request exists, execution of a processing waiting input/output instruction is started from its head by giving access to the queue control table.

Description

【発明の詳細な説明】 発明の技術分野 本発明は、中央処理装置が入出力機器に対して発する入
出力命令のキューイング方法に関する。
TECHNICAL FIELD OF THE INVENTION The present invention relates to a method for queuing input/output commands issued by a central processing unit to input/output devices.

技術の背景 CPU (中央処理装置)と10(入出力機器)との間
のデータ授受に使用される入出力命令はCPUから発行
されるが、この命令はチャ永ルまたはその下位の指定し
たioが使用できる場合に限って受は付けられるので、
チャネルやlbの使用頻度が高くなるにつれ命令受付確
率は低下する。入出力命令が受は付けられずにCPUに
はね返されると、CPUはチャネルや16が空いて要求
を受は付けるまで何度も入出力命令を再スケジュールし
て出し直す必要がある。しかし、これはCPU本来の演
算能力を低下させるので、一般にはチャネルやlbが使
用中なら該命令をスタックし、該当するioがフリーに
なった時点で該命令を実行するというキューイング方法
を採る。
Technical background The input/output command used for data exchange between the CPU (central processing unit) and 10 (input/output equipment) is issued from the CPU, but this command is issued by the specified I/O The reception will only be accepted if it can be used, so
As the frequency of use of a channel or lb increases, the instruction acceptance probability decreases. If an I/O command is not accepted and is bounced back to the CPU, the CPU must reschedule and reissue the I/O command many times until a channel or 16 becomes available and the request can be accepted. However, this reduces the inherent computing power of the CPU, so generally a queuing method is used in which the instruction is stacked if the channel or LB is in use, and the instruction is executed when the corresponding IO becomes free. .

従来技術と問題点 、 従来の入出力命令のキュースタックは、メインメモリに
デバイスに相当してサブチャネルがあるがそのサブチャ
ネル内に置き、そして咳サブチャネル内にポインタを持
たせるという方法をとるのが普通である。しかし、この
方法では毎回メインメモリをアクセスする必要があるの
で、チャネル側で処理するにしても時間がかかる欠点が
ある。
Conventional technology and problems: The conventional queue stack for input/output instructions has a subchannel corresponding to a device in the main memory, and it is placed in that subchannel, and a pointer is placed in the subchannel. is normal. However, since this method requires accessing the main memory each time, it has the disadvantage that it takes time even if processing is performed on the channel side.

発明の目的 本発明は、キューイングに必要なスタックをチャネル側
に置くことでキュー処理の時間を短縮しようとするもの
である。
OBJECTS OF THE INVENTION The present invention attempts to shorten the queue processing time by placing the stack necessary for queuing on the channel side.

発明の構成 本発明は、複数のチャネルを管理するチャネルプロセッ
サを通して各チャネルの下位に接続された入出力機器に
中央処理装置から入出力命令を与えるシステムで、指定
したチャネルまたは入出力機器が使用中であるときに該
入出力命令を一時スタックするキューイング方法におい
て、複数の入出力命令をスタック可能なキュー管理用テ
ーブルを該チャネルプロセッサ側に設け、そして中央処
理装置から入出力命令が出される度に所要事項を該テー
ブルに取り込み、そしてデキュー要求があるとき該テー
ブルをアクセスして処理持ち入出力命令を先頭から実行
開始させることを特徴とするが、以下図示の実施例を参
照しながらこれを詳細に説明する。
Structure of the Invention The present invention is a system in which input/output instructions are given from a central processing unit to input/output devices connected to lower levels of each channel through a channel processor that manages a plurality of channels. In a queuing method that temporarily stacks input/output instructions when The system is characterized in that necessary items are imported into the table, and when there is a dequeue request, the table is accessed to start execution of the processing input/output instruction from the beginning. Explain in detail.

発明の実施例 第1図以下は本発明の実施例を示す図で、第1図はチャ
ネル側でCPUからの入出力命令を何個、どのような順
序でスタックしているか等を示すテーブルQCB (Q
ueue  control block )の説明図
である。このテーブルQCBはキューが多ければ複数個
設けられることもあり、また不要時は消滅させることが
できる。1つのQCBは16のエレメント#0〜#15
を備える。このうちのエレメント#l〜#15は15個
の入出力命令に関するキュー情報をスタックする部分、
エレメント#0はそれらのエレメントを管理する部分で
ある。
Embodiment of the Invention Figure 1 The following figures are diagrams showing an embodiment of the present invention. Figure 1 is a table QCB showing how many input/output instructions from the CPU are stacked on the channel side and in what order. (Q
UEUE CONTROL BLOCK). If there are many queues, a plurality of tables QCB may be provided, and they can be deleted when unnecessary. One QCB has 16 elements #0 to #15
Equipped with Of these, elements #l to #15 are parts that stack queue information regarding 15 input/output instructions;
Element #0 is a part that manages those elements.

QCBが複数個ある場合は、最初のQCBの#0エレメ
ントがQCB全体の制御に関する情報を含む、エレメン
ト#0は図示のようにQB、QC。
If there are multiple QCBs, the #0 element of the first QCB contains information regarding the control of the entire QCB. Element #0 is the QB, QC as shown.

NQP、BQP、DQP、およびQPからなり、そのキ
ューイングビットQBは16ビツト構成で、第1〜第1
5ビツトが、エレメント#1〜#15のそれぞれがデキ
ュー(dequeue )待ちであるか否かをビット対
応で表示する0例えば第五ビットに11″を立ててエレ
メント#量がデキエー待ちであることを示す、第0ビツ
トは#0エレメントに対応するが、このエレメントはQ
CB制御用でキューが立つことはないので不使用、具体
的には0とする。待機していた入出力命令が実行される
と当咳エレメント内のマスクデータM A、 S Kの
逆データとキューイングビットQBの論理積をとってそ
のエレメントをデキューする(QBの該当ビットを0″
にする)、キューカウントQCは現にキューされている
命令の総数(QCBが複数個ならその全QCBのキュー
数)を示し、新たにキューされると+1、逆にデキュー
されると−1される。ネクストQCBポインタNQPは
、エレメント#l〜#15の全てにキューがあり更に1
6個目以降のキューがあると次のテーブルQCBが作ら
れるが、そのQCBのアドレスを示す。このようにして
複数のQCBがチェインされる。バックQCBポインタ
BQPはこの場合に1つ前のQCBアドレスを示す、こ
れらのQCBチェインポインタNQP、BQPは複数の
QCBが作られる場所が後述するローカルストレージし
s内のように予め固定的に設定される場合には必ずしも
必要ない、QPはどのエレメントまでキューされている
かを示すキューポインタで、カレントQCBナンバー(
TJA在、命令実行順番にあるQCBの番号)とQCB
内キューカウントQCがら構成される。
It consists of NQP, BQP, DQP, and QP, and its queuing bit QB has a 16-bit configuration.
5 bits indicate whether or not each of elements #1 to #15 is waiting for dequeue. , the 0th bit corresponds to the #0 element, but this element is Q
Since this is for CB control and no queue is created, it is not used, specifically, it is set to 0. When the input/output command that has been waiting is executed, the inverse data of the mask data M A and S K in the relevant element is ANDed with the queuing bit QB, and the element is dequeued (the corresponding bit of QB is set to 0). ″
), the queue count QC indicates the total number of currently queued instructions (if there are multiple QCBs, the number of queues for all QCBs), and when a new instruction is queued, it is +1, and when it is dequeued, it is -1. . The next QCB pointer NQP has queues in all elements #l to #15, and one
If there is a sixth or subsequent queue, the next table QCB is created, and the address of that QCB is shown. In this way, multiple QCBs are chained. In this case, the back QCB pointer BQP indicates the previous QCB address.These QCB chain pointers NQP and BQP are fixedly set in advance as in the local storage where multiple QCBs are created, which will be described later. QP is a queue pointer that indicates up to which elements are queued, and is not necessarily required when the current QCB number (
QCB number in the order of instruction execution in TJA) and QCB
It consists of the inner queue count QC.

このキューポインタQPは新たにキューされた場合、キ
ューイングビットQBの対応するエレメントビットがオ
ン(“1″)になり、この結果キューカウントQCが+
1されることでQP+1となる。DQPは逆にどのエレ
メントまでデキューされているかを示すデキューポイン
タで、同様に当該QCBナンバーとQCB内キューカウ
ントQCから構成される。このデキューポインタは新た
にデキューされた場合、キューイングビットQBの対応
するエレメントビットがオフ10″)になり、この結果
キューカウントQCが−1されることでDQP−1とな
る0以上は管理用のエレメント#0についてである。
When this queue pointer QP is newly queued, the corresponding element bit of the queuing bit QB turns on (“1”), and as a result, the queue count QC increases.
By being 1, it becomes QP+1. Conversely, DQP is a dequeue pointer indicating up to which element has been dequeued, and is similarly composed of the QCB number and the intra-QCB queue count QC. When this dequeue pointer is newly dequeued, the corresponding element bit of the queuing bit QB is turned off (10''), and as a result, the queue count QC is decremented by 1, resulting in DQP-1. Anything above 0 is for management. This is about element #0.

QCBのエレメント#1〜#15の構成は起動情報、1
6機番、CAW、CHPパス情報、ucWアドレス、及
びマスクデータからなる。起動情報はCPUから起動さ
れた時の情報であり、ここにはCPU側のコントロール
レジスタCROのビット0 (Block multl
plexlng  bit )のコピー或いはプログラ
ム ステータスワードPSW内のECモードビット等が
入る。10機番は起動時に指定されたデバイス機番で、
CHP (チャネルプロセッサ)パス情報を用いて別パ
スへのりトライ時にも使用される。UCWアドレスは1
0機番に対応したUCWの先頭アドレスを示す。これは
16ビツトで、チャネルアドレスCIA、コントロール
ユニットアドレスCUA、デバイスアドレスDVAから
なる。
The configuration of QCB elements #1 to #15 is startup information, 1
6 machine number, CAW, CHP path information, ucW address, and mask data. The startup information is the information when the CPU starts it, and it includes bit 0 (Block multi) of the control register CRO on the CPU side.
plexlng bit) or the EC mode bit in the program status word PSW. The number 10 is the device number specified at startup,
It is also used when trying to connect to another path using CHP (channel processor) path information. UCW address is 1
Indicates the start address of UCW corresponding to machine number 0. This is 16 bits and consists of channel address CIA, control unit address CUA, and device address DVA.

第2図はチャネルプロセッサCHPのアイドルループの
説明図である。CHPは第5図に示すように複数のチャ
ネルCHの上位に位置する管理、制御用のプロセッサで
、それ自身独立したマイクロプログラムで動作する。各
チャネルCHの下位にはコントロールユニットCUが接
続され、更にその下位に個々のデバイス(i/δ)DV
が接続される。MSはメインストレッジである。第6図
はチャネルプロセッサCHPの詳細で、LSはテーブル
QCBなどを格納するローカルストレンジ、C8は第2
図のアイドルループおよび後述するキュー処理、デキュ
ー処理等のプログラムを内蔵するコントロールストレッ
ジ、REG+は要求レジスタ、A/Sはアダー/シフタ
ーである。
FIG. 2 is an explanatory diagram of the idle loop of the channel processor CHP. As shown in FIG. 5, the CHP is a management and control processor located above a plurality of channels CH, and operates on an independent microprogram. A control unit CU is connected to the lower level of each channel CH, and each device (i/δ) DV is connected to the lower level of each channel CH.
is connected. MS is the main storage. Figure 6 shows the details of the channel processor CHP, where LS is a local strange storing table QCB, etc., and C8 is a second
REG+ is a request register, and A/S is an adder/shifter, which is a control storage containing programs such as the idle loop shown in the figure and queue processing and dequeue processing to be described later.

チャネルプロセッサCHPでプログラムは常時C8内の
アイドルループを回っており、各々の要求があるか否か
を常に監視している。アイドルループには第2図に示す
ように、cpuo起動有無、デキュー要求有無、チャネ
ル割込要求有無各判定機能が含まれ、要求がなければプ
ログラムは単純にこれらを素通りして循環している。C
PUから入出力命令5iOPが発行されると要求レジス
タREG+中のCPU0起動のビットがオンになり、C
8のプログラムはこれを監視しているので直ちにその処
理に入る。またこのときCPUよりPswのECモード
ピット、コントロールレジスタOROのビット0  (
block multlplexing  bit )
 、16機番(起動機番)などが送られて来て、これが
X、Yレジスタに取り込まれる。レジスタREG1の起
動ビットがオンになったことによりCHPはメインスト
レッジMSからチャネルアドレスワードCAWをフェッ
チし、フォーマットをチェック後、空キューを調ぺCC
−0応答(この意味は後述する)でcpuとの結合を解
除する。この後テーブルQCBを調べてそのキューイン
グビットQBが示す空エレメントに上記起動情報をセッ
トする。このときキューカウントQCおよびキューポイ
ンタQPを共に+1し、またキューイングビットQBの
該当するエレメントビットをオンにしてキュー処理を終
る。このQCB作成はX、Yレジスタ、アダーシフタA
/S、LSのワークエリアを利用して行なう。5sop
命令でない場合は、当該命令の処理に入る。10処理が
終った、コンド・ロールユニットCUがフリーになった
、またはチャネルCHがフリーになったときはデキュー
処理が上り、その処理が行われると共に処理待ち16の
起動が行なわれる。チャネル割込み処理ルーチンは要求
があればそれを処理し、なければ素通りする。
The program in the channel processor CHP is always running in an idle loop in C8, and constantly monitoring whether there are any requests. As shown in FIG. 2, the idle loop includes functions for determining the presence or absence of CPU activation, the presence or absence of a dequeue request, and the presence or absence of a channel interrupt request, and if there is no request, the program simply passes through these and cycles. C
When the input/output instruction 5iOP is issued from the PU, the CPU0 activation bit in the request register REG+ is turned on, and the C
Since program No. 8 is monitoring this, it immediately starts processing. At this time, the CPU sends the EC mode pit of Psw to bit 0 of control register ORO (
block multiplexing bit)
, 16 machine number (starting machine number), etc. are sent, and these are taken into the X and Y registers. With the activation bit of register REG1 turned on, the CHP fetches the channel address word CAW from the main storage MS, checks the format, and then checks the empty queue.CC
-0 response (the meaning of which will be explained later) releases the connection with the CPU. Thereafter, the table QCB is checked and the activation information is set in the empty element indicated by the queuing bit QB. At this time, both the queue count QC and the queue pointer QP are incremented by 1, and the corresponding element bit of the queuing bit QB is turned on to complete the queue processing. This QCB is created using X, Y registers, adder shifter A
/S and LS work areas are used. 5sop
If it is not a command, processing of the command begins. When processing 10 is completed, when the control unit CU becomes free, or when the channel CH becomes free, the dequeue processing is started, and at the same time the processing is performed, the waiting processing 16 is activated. The channel interrupt handling routine processes the request if there is one, otherwise it passes through.

第3図はチャネルプロセッサCHPによるキュー処理の
動作フローである。但し説明を簡単にするためテーブル
QCBは1組だけ設定しであるものとする。このためキ
ューカウントQCがキュー用のエレメント#1〜#15
の個数15に達している場合(QC>15)は新たな入
出力命令を受付けることができないのでコンディション
コードをCC=2にセットする。これはチャネルがビジ
ーであることを示し、CPUに命令の再発行を指示する
。セット後はCHPとCPUとの結合が解かれる(CP
Uリリース)。QC≦14であればメインストレッジM
Sからチャネルプログラムの先頭を指示するCAW (
チャネル・アドレス・ワード)をフェッチする。そして
CAWのフォーマットチェックの結果が不良(NG)で
あればCC−1(これはプログラムチェック結果不良を
示す)にセットし、プログラムチェックを報告して終了
する。良(OK)であればCG−0(これは正常に受付
けたを示す)にセットしてCPUをレリーズする。次い
でキューポインタQPが0であるか判断する。QP−0
は管理用のエレメント#0を指しているのでキューに用
いることはできない5このときはキューポインタQPに
1をセットし、エレメント#1からキューの作成を開始
する。QP≠0であればそのポインタ値が示すエレメン
トに第1図に示す起動情報、CAW等をセットする。
FIG. 3 is an operational flow of queue processing by the channel processor CHP. However, to simplify the explanation, it is assumed that only one set of table QCB is set. Therefore, the queue count QC is for queue elements #1 to #15.
If the number of commands has reached 15 (QC>15), no new input/output commands can be accepted, so the condition code is set to CC=2. This indicates that the channel is busy and tells the CPU to reissue the instruction. After setting, the connection between CHP and CPU is released (CP
U release). If QC≦14, main storage M
CAW (
channel address word). If the result of the CAW format check is defective (NG), it is set to CC-1 (which indicates a defective program check result), the program check is reported, and the process ends. If it is OK, it is set to CG-0 (which indicates normal reception) and the CPU is released. Next, it is determined whether the queue pointer QP is 0. QP-0
cannot be used as a queue because it points to management element #0.5 At this time, queue pointer QP is set to 1, and queue creation is started from element #1. If QP≠0, the activation information, CAW, etc. shown in FIG. 1 are set in the element indicated by the pointer value.

次いで該エレメント、例えば第1図の#4が使用された
ことを示すために、そのマスクデータMASK(本例で
は第0から数えて第4ビツトだけが1となった16ビツ
トのデータ)とキューイングビットQB (このときは
第0ビツトも含めて16ビツトとして扱う)の論理和を
とり、その結果をQBヘセットする。QB−QBVMA
SK (QP)はこれを示す処理ステップである。この
後キューが1つ増えたことを示すためにキューカウント
QCを+1し、またキューポインタQPO値を1つ進め
る。
Next, in order to indicate that the element, for example #4 in FIG. The logical sum of the input bits QB (in this case, including the 0th bit is treated as 16 bits) is taken, and the result is set to QB. QB-QBVMA
SK (QP) is a processing step indicating this. Thereafter, to indicate that the number of queues has increased by one, the queue count QC is incremented by 1, and the queue pointer QPO value is incremented by 1.

第4図はチャネルプロセッサCHPによるデキュー処理
の動作フローである。この場合は常にキューカウントQ
Cの値を監視していて、QC=0であれば終了(end
) 、QC#0であればデキュー処理へ移る様に単純に
表現しているが、実際にはデキュー要求で起動を受けて
スタートし、キューがたまっていなければ(QC=O)
バイパスするという意味である。デキュー要求を受けた
ときにデキューポインタDQPが0である場合にはそれ
を1にセットするが、これは第3図のQP=0ならlに
セットするのと同じ理由である。このデキューポインタ
DQPの内容をテーブルQCB内で変化させていると内
容が破壊することがあるので、その内容はワークエリア
WORK (第6図参照)ヘコピーしてそこで変化させ
る。DQPWはワークエリアWORK上にコピーされた
デキューポインタを指す。そしてこのワークエリア上の
デキューポインタDQPWをもとにキューイングビット
QBとマスクデータMASK (DQPW)を1ビツト
ずつチェックする。即ちDQPWはこ−では次の処理対
象のみ1で残り(5ビツトは0の16ビツト構成をとっ
ており、これがQBと1ビツトずつアンドをとられる。
FIG. 4 is an operational flowchart of dequeue processing by the channel processor CHP. In this case, the queue count is always Q
The value of C is monitored, and if QC=0, it ends (end
), it is simply expressed as moving to dequeue processing if it is QC#0, but in reality it starts upon receiving activation with a dequeue request, and if the queue is not accumulated (QC=O)
It means to bypass. If the dequeue pointer DQP is 0 when a dequeue request is received, it is set to 1 for the same reason that if QP=0 in FIG. 3, it is set to 1. If the contents of the dequeue pointer DQP are changed within the table QCB, the contents may be destroyed, so the contents are copied to the work area WORK (see FIG. 6) and changed there. DQPW points to the dequeue pointer copied onto the work area WORK. Then, based on the dequeue pointer DQPW on this work area, the queuing bit QB and mask data MASK (DQPW) are checked bit by bit. That is, DQPW has a 16-bit configuration in which only the next processing target remains 1 (5 bits are 0), and this is ANDed with QB one bit at a time.

チェック結果がオフ(OF F)で売れば該当するエレ
メントにはキューはないのでDQPWを+1しておく。
If the check result is OFF (OFF), there is no queue in the corresponding element, so add 1 to DQPW.

この結果のDQP7り(QP<DQPであれば正常であ
るが、QP2:DQP従ってキューポインタQPの値が
デキューポインタDQPの値以上になるときは誤りであ
るからエラー処理する。一方、キューイングビットQB
とマスクデータMASK (DQPW)ビットとのチェ
ック結果がオン(ON)であればそのビットに対応する
エレメント情報をテーブルQCBから取り出して対応す
るioを起動する。
This result is DQP7 (if QP<DQP, it is normal, but if QP2:DQP, so the value of queue pointer QP is greater than or equal to the value of dequeue pointer DQP, it is an error and is handled as an error.On the other hand, the queuing bit QB
If the check result between the bit and the mask data MASK (DQPW) bit is ON, the element information corresponding to that bit is taken out from the table QCB and the corresponding io is activated.

そして起動が正常に完了したらワークWORKのデキュ
ーポインタDQPWとテーブルQCB上のデキューポイ
ンタDQPが一致しているか判断する。起動が正常に終
了しないときはポインタDQpwを+1し、QP<DQ
PWを判定し、Yesなら終了、NoならoB−MAs
K(DQPW)の判定ブロックへ戻って次のキュー処理
に入る。
When the startup is completed normally, it is determined whether the dequeue pointer DQPW of the work WORK and the dequeue pointer DQP on the table QCB match. If startup does not end normally, add 1 to pointer DQpw and set QP<DQ.
Determine PW, if Yes, end, if No, OB-MAs
The process returns to the decision block for K (DQPW) and enters the next queue process.

つまりこの場合は次の処理対象の起動がうまく行かない
ので、1つとばしてその次の対象の処理に入り、これも
駄目なら更にその次を起動し、最後まで駄目なら対象な
し、終了とする。起動が正常に完了し、且つDQPW=
DQPであるときはテーブルQCB上のポインタDQP
のマスクデータMASK (DQP)を反転し、それと
キューインクヒツトQBの論理積をとってその結果を再
度QBに書込む。これでキューイングビットQBでデキ
ュー処理されたエレメントビットが0になる。
In other words, in this case, starting the next processing target does not go well, so we skip one and start processing the next target, and if this also does not work, we start the next one, and if it does not work until the end, there is no target and it ends. . Startup is completed normally and DQPW=
If it is DQP, pointer DQP on table QCB
The mask data MASK (DQP) is inverted, and the logical product of it and the queue ink hit QB is taken, and the result is written to QB again. Now, the element bit dequeued by the queuing bit QB becomes 0.

DQPW≠DQPであればDQPW内のマスクデータM
ASK (DQPW)を用いて同様の処理をする。この
後キューカウントQCを−1して終了する。なお本例で
はデキュー要求があると次のキューを1つ処理してエン
ドとしているが、残りの全てのキューを処理してエンド
としてもよい。
If DQPW≠DQP, mask data M in DQPW
Similar processing is performed using ASK (DQPW). Thereafter, the queue count QC is decremented by 1 and the process ends. In this example, when there is a dequeue request, the next queue is processed and the end is reached, but all remaining queues may be processed and the end is reached.

このようなキューコントロールブロックと呼ばれるテー
ブルQCBをチャネルプロセッサCHP側(第6図の例
ではローカルストレンジLS内)に設けると、毎回メイ
ンストレッジMSにアクセスする必要がないので処理時
間が短縮される。例えば1台のCHPがMSに1回アク
セスする時間がlμsかかるとすれば、伯のCHP或い
はCPUがあるシステムではこれらの共合を考慮せねば
ならず、これを考慮すると1.1 、u Sなどになり
、しかも毎回アクセスせねばならないのでそのn倍にな
る。これに対し本発明のようにすればCHPは自己のL
S内をアクセスするだけでよいので1回のアクセスタイ
ムは80nS程度に短縮される。
If such a table QCB called a queue control block is provided on the channel processor CHP side (in the local strange LS in the example of FIG. 6), it is not necessary to access the main storage MS each time, so that processing time is shortened. For example, if it takes lμs for one CHP to access an MS once, then in a system with multiple CHPs or CPUs, these combinations must be taken into account. Considering this, 1.1, u S etc., and since it has to be accessed every time, it becomes n times that amount. On the other hand, if the present invention is used, the CHP will have its own L
Since it is only necessary to access within S, the time for one access is shortened to about 80 nS.

発明の効果 以上述べたように本発明によれば、チャネルプロセッサ
側に入出力命令のキューを管理するテーブルを設けたの
で、キュー処理時間が短縮され、CPUの負担が軽減す
る利点が得られる。そしてチャネルプロセッサもマイク
ロコードイビされ、インテリジェンスが与えられるのが
最近の傾向なので、チャネルプロセッサによるキュー処
理は容易である。更に本発明のように入出力命令はキュ
ーテーブルに組込んでCPUとの接続を速やかに解除す
ると、CPU負担を可及的に減少してCPUにその高性
能を充分発揮させることができる。
Effects of the Invention As described above, according to the present invention, since a table for managing the queue of input/output commands is provided on the channel processor side, the queue processing time is shortened and the load on the CPU is reduced. And since the recent trend is for channel processors to be microcoded and given intelligence, queue processing by channel processors is easy. Furthermore, as in the present invention, if input/output commands are incorporated into a queue table and the connection with the CPU is quickly released, the load on the CPU can be reduced as much as possible and the CPU can fully demonstrate its high performance.

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

第1図〜第6図は本発明の一実施例を示す図で、第1図
はキュー管理用テーブル(キューコントロールブロック
)の説明図、第2図はチャネルプロセッサのアイドルル
ープを示すフローチャート、第3図はキュー処理の詳細
フローチャート、第4図はデキュー処理の詳細フローチ
ャート、第5図はシステム全体の概略ブロック図、第6
図はチャネルプロセッサの構成図である。 図中、CPUは中央処理装置、MSはメインストレッジ
、CHPはチャネルプロセッサ、CHはチャネル、DV
はデバイス(入出力機器)、C8はコントロールストレ
ッジ、LSはローカルストレンジ、QCBはキューコン
トロールブロック(キュー管理用テーブル)である。 出願人 富士通株式会社 代理人弁理士  青  柳    稔 篤3図
1 to 6 are diagrams showing one embodiment of the present invention, in which FIG. 1 is an explanatory diagram of a queue management table (queue control block), FIG. 2 is a flowchart showing an idle loop of a channel processor, and FIG. Figure 3 is a detailed flowchart of queue processing, Figure 4 is a detailed flowchart of dequeue processing, Figure 5 is a schematic block diagram of the entire system, and Figure 6 is a detailed flowchart of queue processing.
The figure is a block diagram of a channel processor. In the figure, CPU is the central processing unit, MS is the main storage, CHP is the channel processor, CH is the channel, and DV
is a device (input/output equipment), C8 is a control storage, LS is a local strange, and QCB is a queue control block (queue management table). Applicant Fujitsu Ltd. Representative Patent Attorney Minoru Aoyagi 3rd figure

Claims (1)

【特許請求の範囲】[Claims] 複数のチャネルを管理するチャネルプロセッサを通して
各チャネルの下位に接続された入出力機器に中央処理装
置から入出力命令を与えるシステムで、指定したチャネ
ルまたは入出力機器が使用中であるときに該入出力命令
を一時スタックするキューイング方法において、複数の
入出力命令をスタック可能なキュー管理用テーブルを該
チャネルプロセッサ側に設け、そして中央処理装置から
入出力命令が出される度に所要事項を該テーブルに取り
込み、そしてデキュー要求があるとき該テーブルをアク
セスして処理待ち入出力命令を先頭から実行開始させる
ことを特徴とする入出力命令のキューイング方法。
A system in which input/output instructions are given from a central processing unit to input/output devices connected to lower levels of each channel through a channel processor that manages multiple channels, and when a specified channel or input/output device is in use, In a queuing method in which instructions are temporarily stacked, a queue management table capable of stacking multiple input/output instructions is provided on the channel processor side, and required information is written to the table each time an input/output instruction is issued from the central processing unit. A method for queuing input/output instructions, characterized in that when there is a request for fetching and dequeuing, the table is accessed to start execution of input/output instructions waiting to be processed from the beginning.
JP57114246A 1982-07-01 1982-07-01 Queuing method of input/output instruction Pending JPS595359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57114246A JPS595359A (en) 1982-07-01 1982-07-01 Queuing method of input/output instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57114246A JPS595359A (en) 1982-07-01 1982-07-01 Queuing method of input/output instruction

Publications (1)

Publication Number Publication Date
JPS595359A true JPS595359A (en) 1984-01-12

Family

ID=14632945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57114246A Pending JPS595359A (en) 1982-07-01 1982-07-01 Queuing method of input/output instruction

Country Status (1)

Country Link
JP (1) JPS595359A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02158839A (en) * 1988-12-12 1990-06-19 Fujitsu Ltd Data transferring method
WO2001001262A1 (en) * 1999-06-24 2001-01-04 Fujitsu Limited Device controller and input/output system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02158839A (en) * 1988-12-12 1990-06-19 Fujitsu Ltd Data transferring method
WO2001001262A1 (en) * 1999-06-24 2001-01-04 Fujitsu Limited Device controller and input/output system
US6792482B2 (en) 1999-06-24 2004-09-14 Fujitsu Limited Device controller and input/output system
US7409472B2 (en) 1999-06-24 2008-08-05 Fujitsu Limited Device controller and input/output system

Similar Documents

Publication Publication Date Title
US8181000B2 (en) Method and apparatus for binding shadow registers to vectored interrupts
US4410939A (en) System for program interrupt processing with quasi-stack of register-sets
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
US4272819A (en) Inter-subsystem direct transfer system
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
CN106569891B (en) Method and device for scheduling and executing tasks in storage system
US4274138A (en) Stored program control system with switching between instruction word systems
US20070074214A1 (en) Event processing method in a computer system
JPS5841538B2 (en) Multiprocessor system instructions
JP3284311B2 (en) Communication bus control device and bus control method in data processing system
US7689991B2 (en) Bus management techniques
JPS595359A (en) Queuing method of input/output instruction
US6810523B2 (en) Efficient thread programming using a single callback function
CN115981893A (en) Message queue task processing method and device, server and storage medium
JP4334026B2 (en) Computer system and method for generating and handling system management interrupts therein
JP3227069B2 (en) I / O processing system
US7434223B2 (en) System and method for allowing a current context to change an event sensitivity of a future context
US6084943A (en) Diagnostic device for a telephone system
JP3008895B2 (en) Multiprocessor load equalizer
US3504347A (en) Interrupt monitor apparatus in a computer system
JPS6223904B2 (en)
JPH04232559A (en) Method of conversation between processors of system, system for conducting this method and use for dispatching
JPS59225429A (en) Channel processing unit
CN111858011A (en) Multi-data-stream task processing method, device, equipment and storage medium
JPH0752393B2 (en) Data processing device