JP2534797B2 - キュ―イング制御方式 - Google Patents
キュ―イング制御方式Info
- Publication number
- JP2534797B2 JP2534797B2 JP2221617A JP22161790A JP2534797B2 JP 2534797 B2 JP2534797 B2 JP 2534797B2 JP 2221617 A JP2221617 A JP 2221617A JP 22161790 A JP22161790 A JP 22161790A JP 2534797 B2 JP2534797 B2 JP 2534797B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- queue
- enqueue
- factor
- 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 - Fee Related
Links
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、入出力制御における入出力待行列処理、す
なわちキューイング制御方式に関する。
なわちキューイング制御方式に関する。
[従来の技術] 入出力命令のパス選択、入出力待行列を処理を入出力
処理装置(以下IOPと略記する)が行なう場合は、IOP内
で起動要求をエンキューする必要がある。
処理装置(以下IOPと略記する)が行なう場合は、IOP内
で起動要求をエンキューする必要がある。
従来のIOPでは、通常、計算機システム内に唯一の入
出力待ち行列を設けて、パス管理、入出力待行列管理を
行なう。すなわち、時系列的に発生する起動要求の待ち
を、システムの単一のキューで管理する。
出力待ち行列を設けて、パス管理、入出力待行列管理を
行なう。すなわち、時系列的に発生する起動要求の待ち
を、システムの単一のキューで管理する。
複数の起動要求がエンキューされているとき、それぞ
れのエンキューの契機となった要因は、一般的に異な
る。
れのエンキューの契機となった要因は、一般的に異な
る。
ある要因は、単に中央処理装置(IP)がIOPのサービ
スを待つために生じたかも知れないし、ある要因は、入
出力装置(IO)を起動した結果、ビジー要因を検出し
て、再起動を待つために、生じたのかも知れない。
スを待つために生じたかも知れないし、ある要因は、入
出力装置(IO)を起動した結果、ビジー要因を検出し
て、再起動を待つために、生じたのかも知れない。
一方、デキューの契機は、エンキューの要因となった
様々の状態が解除された時である。
様々の状態が解除された時である。
システムによっては、定期的にキューがサーチされ
て、待たされている起動要求があり、かつ、起動可能な
状態であれば、起動が開始される。いずれの場合でも、
デキューは、システムに一つあるキューの先頭の起動要
求から行なわれる。
て、待たされている起動要求があり、かつ、起動可能な
状態であれば、起動が開始される。いずれの場合でも、
デキューは、システムに一つあるキューの先頭の起動要
求から行なわれる。
なお、入出力処理の内容は、入出力装置の台数分のサ
ブチャネルと呼ばれるデータ領域に記憶されている。こ
れは、通常、主記憶内のハードウエア専用エリアに置か
れている。全てのIOPは、これらのサブチャネルを必要
に応じて参照する。
ブチャネルと呼ばれるデータ領域に記憶されている。こ
れは、通常、主記憶内のハードウエア専用エリアに置か
れている。全てのIOPは、これらのサブチャネルを必要
に応じて参照する。
サブチャネルは、1つのIOにたいして、1つ以上ある
入出力用のチャネルパス構成情報を有する。入出力命令
が実行されると1つのサブチャネルが対応づけられ、上
記チャネルパス情報に基づいてチャネルパスが動的に割
り当てられる。
入出力用のチャネルパス構成情報を有する。入出力命令
が実行されると1つのサブチャネルが対応づけられ、上
記チャネルパス情報に基づいてチャネルパスが動的に割
り当てられる。
[発明が解決しようとする課題] 上記従来技術では、キューがファーストインファース
トアウト(FIFO)構造のスタックであるため、それぞれ
異なった要因でエンキューされた複数の起動要求のデキ
ューが、必然的にエンキューされた順序と同一になる。
トアウト(FIFO)構造のスタックであるため、それぞれ
異なった要因でエンキューされた複数の起動要求のデキ
ューが、必然的にエンキューされた順序と同一になる。
通常、異なった要因で待行列の中にある個々の起動要
求が、起動可能となるタイミングは、エンキューされた
順序とは無関係に発生する。従って、ある一つの起動要
求が起動可能となったとき、上記起動要求をデキューす
るために、上記起動要求の前にチェインされている複数
の起動要求のデキューおよび再エンキューという無駄が
生じる確率が高くなる。
求が、起動可能となるタイミングは、エンキューされた
順序とは無関係に発生する。従って、ある一つの起動要
求が起動可能となったとき、上記起動要求をデキューす
るために、上記起動要求の前にチェインされている複数
の起動要求のデキューおよび再エンキューという無駄が
生じる確率が高くなる。
上記従来技術は、この点について十分な配慮がなされ
ておらず、無視出来ないIOPのオーバヘッドを招くとい
う問題があった。
ておらず、無視出来ないIOPのオーバヘッドを招くとい
う問題があった。
本発明の目的は、キューイング制御に伴うオーバヘッ
ドを極力小さくしたキューイング制御方式を提供するこ
とである。
ドを極力小さくしたキューイング制御方式を提供するこ
とである。
[課題を解決するための手段] 上記目的を達成するために、1または2以上の中央処
理装置と、複数の入出力装置と、上記入出力装置を制御
する入出力処理装置とを有するキューイング制御方式に
おいて、 入出力装置起動要求のキューをエンキューの要因に応
じて、1または2以上設け、 上記中央処理装置または入出力処理装置は、上記キュ
ーへのエンキューをエンキュー要因に応じて前記のキュ
ーのいづれかに対して行ない、 上記入出力処理装置は、デキューをデキュー要因に応
じて、上記のキューに対して行なうこととしたものであ
る。
理装置と、複数の入出力装置と、上記入出力装置を制御
する入出力処理装置とを有するキューイング制御方式に
おいて、 入出力装置起動要求のキューをエンキューの要因に応
じて、1または2以上設け、 上記中央処理装置または入出力処理装置は、上記キュ
ーへのエンキューをエンキュー要因に応じて前記のキュ
ーのいづれかに対して行ない、 上記入出力処理装置は、デキューをデキュー要因に応
じて、上記のキューに対して行なうこととしたものであ
る。
[作 用] エンキュー要因に応じて、設けられた起動要求のキュ
ーは、エンキュー要因発生時にエンキューされ、エンキ
ュー要因解除時、デキューされる。
ーは、エンキュー要因発生時にエンキューされ、エンキ
ュー要因解除時、デキューされる。
ある一つのキューには同じ要因で待たされるいくつか
の起動要求がチェインされる。
の起動要求がチェインされる。
その場合、要因が解除されたとき、順次デキューされ
起動がなされる。
起動がなされる。
また、一つの起動要求が、複数のエンキュー要因で複
数のキューにチェインされ得る。その場合、最初に解除
された要因に対応するキューからデキューされ、デキュ
ーの情報はサブチャネルに書き込まれる。
数のキューにチェインされ得る。その場合、最初に解除
された要因に対応するキューからデキューされ、デキュ
ーの情報はサブチャネルに書き込まれる。
そして、入出力処理が、起動される。
他のキューにチェインされたままになっている起動要
求は、そのエンキュー要因が解除されて、デキューした
時、起動がすでにおこなわれているかどうかを、サブチ
ャネルの内容で判定され、既に無効(処理済)であれば
捨てられるので誤動作することがない。
求は、そのエンキュー要因が解除されて、デキューした
時、起動がすでにおこなわれているかどうかを、サブチ
ャネルの内容で判定され、既に無効(処理済)であれば
捨てられるので誤動作することがない。
[実施例] 以下、本発明の一実施例について、図面を用いて説明
する。
する。
第5図は、本発明に係る計算機システムのブロック図
である。
である。
本計算機システムは、中央処理装置(IPA,IPB)60、
主記憶装置(MS)61、および入出力処理装置(IOPA,IOP
B)63を有し、これらは、インタフェース・コントロー
ル・ユニット(ICU)62を介して互いに接続される。IOP
63は、チャネル(CH)64を介して、入出力制御装置(IO
C)65、および、その配下の複数の入出力装置(IO)66
の動作を制御する。
主記憶装置(MS)61、および入出力処理装置(IOPA,IOP
B)63を有し、これらは、インタフェース・コントロー
ル・ユニット(ICU)62を介して互いに接続される。IOP
63は、チャネル(CH)64を介して、入出力制御装置(IO
C)65、および、その配下の複数の入出力装置(IO)66
の動作を制御する。
1つのチャネルには、最大256台の端末が接続可能と
する。
する。
IOPA、B63とIOC65の接続は、必らずしも一対一ではな
い。第5図ではCH64(i)とCH64(j)を介して、2つ
のIOP(IOPA、および、IOPB)63に接続されている。も
ちろん、一つのシステムに於ては、IOC65の数は通常一
つより大きい。
い。第5図ではCH64(i)とCH64(j)を介して、2つ
のIOP(IOPA、および、IOPB)63に接続されている。も
ちろん、一つのシステムに於ては、IOC65の数は通常一
つより大きい。
また、MS61の一部は、ハードウェア専用領域として定
義される(ハードウェア・システム・エリアHSA68)。
義される(ハードウェア・システム・エリアHSA68)。
第2図は、HSA68上にIOP単位に設けられる、プロセッ
サ・キュー(PROCQ)10のフォーマットを示す。
サ・キュー(PROCQ)10のフォーマットを示す。
本実施例においては、どのIOPでIPから要求された入
出力処理を行なうかを示すIOP毎のキューと、どのチャ
ネルで、IPから要求された入出力を行なうかを示すチャ
ネル毎のキューの2種類を要因ごとのキューとして設け
た例である。
出力処理を行なうかを示すIOP毎のキューと、どのチャ
ネルで、IPから要求された入出力を行なうかを示すチャ
ネル毎のキューの2種類を要因ごとのキューとして設け
た例である。
バイト0のLOCKは、IP間、IOP間、および、IP、IOP間
の同時参照、更新を防ぐための排他制御に使われる。
の同時参照、更新を防ぐための排他制御に使われる。
バイト2,3のQCNTは、PROCQ10にエンキューされている
サブチャネル20の数を保持する、QCNTは、システムに登
録されているサブチャネル20の総数を越えることはな
い。
サブチャネル20の数を保持する、QCNTは、システムに登
録されているサブチャネル20の総数を越えることはな
い。
サブチャネル20はHSA68に固定して記憶されており、
記憶位置は、HSA68の固定位置から移動しない。
記憶位置は、HSA68の固定位置から移動しない。
バイト4,5のTUCWおよびバイト6,7のBUCWは、それぞれ
PROCQ10にチェインされている先頭のサブチャネル20番
号、および、最後尾のサブチャネル20番号を保持する。
PROCQ10にチェインされている先頭のサブチャネル20番
号、および、最後尾のサブチャネル20番号を保持する。
サブチャネル20のチェインを形成するために、サブチ
ャネル20のバイト23にチェイン中の次のサブチャネル20
番号を保持するNUCWが定義される。
ャネル20のバイト23にチェイン中の次のサブチャネル20
番号を保持するNUCWが定義される。
PROCQ10は、そのIOPで処理すべく、そのIOPに割り当
てられた入出力装置の、いわば、リストを示すものであ
る。
てられた入出力装置の、いわば、リストを示すものであ
る。
ここで注意すべきことは、サブチャネル20のNUCWは、
1つだけ定義してあることである。すなわち、ある一つ
のサブチャネル20は、一時点では唯一のPROCQ10、即
ち、唯1のIOPにのみエンキューされるということであ
る。
1つだけ定義してあることである。すなわち、ある一つ
のサブチャネル20は、一時点では唯一のPROCQ10、即
ち、唯1のIOPにのみエンキューされるということであ
る。
第3図は、チャネル単位に設けられるチャネル・キュ
ー(CHQ)を示す。
ー(CHQ)を示す。
CHQは、チャネル毎に作られ、当該チャネルで処理す
べく、割り当てられたIOを示す、いわば、リストであ
る。
べく、割り当てられたIOを示す、いわば、リストであ
る。
CHQはサブチャネル20番号をエントリーとし、256個の
エントリーからなるチャネル・キュー・テーブル(CHQT
BL)40と、上記CHQTBL40をポイントするチャネル・キュ
ー・ポインタ(CHQP)30からなる。
エントリーからなるチャネル・キュー・テーブル(CHQT
BL)40と、上記CHQTBL40をポイントするチャネル・キュ
ー・ポインタ(CHQP)30からなる。
CHQP30は1ビットの有効ビットVCHQPとCHQTBL40の先
頭と最後をポイントするFUCWPとLUCWPからなる。
頭と最後をポイントするFUCWPとLUCWPからなる。
有効ビットは、そのチャネルに処理すべきIO起動が存
在することを示す。
在することを示す。
VCHQPの値が1のときFUCWPの値からLUCWPの値でポイ
ントされるCHQTBL40のエントリに、そのチャネルに割り
当てられているサブチャネル20が、エンキューされてい
る。
ントされるCHQTBL40のエントリに、そのチャネルに割り
当てられているサブチャネル20が、エンキューされてい
る。
CHQTBL40にエンキューされるサブチャネル20数は、そ
のチャネルに接続可能なIO66の数(256)を越えること
はありえないので、256個を越えることはない。
のチャネルに接続可能なIO66の数(256)を越えること
はありえないので、256個を越えることはない。
従って、CHQTBL40のエントリ数は256で足りることに
なる。よって、FLCWP、および、LUCWPの値は(OO)x〜
(FF)xの値をとり得る。
なる。よって、FLCWP、および、LUCWPの値は(OO)x〜
(FF)xの値をとり得る。
また、CHQは、そのチャネルが持続されるIOP63のみが
参照、更新するのでIOP63内部のメモリに保持すること
が出来る。このことは、比較的高速にCHQの更新、参照
が出来ることを可能とする。
参照、更新するのでIOP63内部のメモリに保持すること
が出来る。このことは、比較的高速にCHQの更新、参照
が出来ることを可能とする。
第4図は、サブチャネル20内のVINQ50の内容を示して
いる。
いる。
ビット0,1(VINPQ0/1)は、当該サブチャネル20がど
のプロセッサキューにエンキューされているかを示すも
のであり、それぞれ、1のとき上記サブチャネル20がPR
OCQA/Bにエンキューされていることを示す。
のプロセッサキューにエンキューされているかを示すも
のであり、それぞれ、1のとき上記サブチャネル20がPR
OCQA/Bにエンキューされていることを示す。
ある一つのサブチャネル20は、同時には2つのPROCQ1
0にエンキューされることは、本実施例ではない。従っ
て、VINPQ0/1の2ビットが同時に1になることはない。
0にエンキューされることは、本実施例ではない。従っ
て、VINPQ0/1の2ビットが同時に1になることはない。
ビット4〜7のVINCQ0〜3は、上記サブチャネル20が
どのチャネルキューにエンキューされているかを示すも
のであり、VINCQ0〜3のうち1になっているものが、そ
のサブチャネル20がエンキューされているチャネルを示
す。
どのチャネルキューにエンキューされているかを示すも
のであり、VINCQ0〜3のうち1になっているものが、そ
のサブチャネル20がエンキューされているチャネルを示
す。
第5図で、第1のパス、第2のパスをCH64(i),CH6
4(j)とすればVINCQ0が1のときはCHQ(i)に、VINC
Q1が1のときはCHQ(j)にサブチャネル20がエンキュ
ーされていることを示す。CH(i)、CH(j)がVINCQ0
〜3のどれに対応するかは、システムにおいて事前に設
定されている。
4(j)とすればVINCQ0が1のときはCHQ(i)に、VINC
Q1が1のときはCHQ(j)にサブチャネル20がエンキュ
ーされていることを示す。CH(i)、CH(j)がVINCQ0
〜3のどれに対応するかは、システムにおいて事前に設
定されている。
一つのサブチャネル20、すなわち一つのIO66に接続さ
れ得るパスの数は、システムで制限することが出来る。
ここでは、4パスとし、VINCQ0〜3を定義してある。VI
NCQ0〜3は同時に1になることがある。また、VINPQ0/1
と同時に1となり得る。
れ得るパスの数は、システムで制限することが出来る。
ここでは、4パスとし、VINCQ0〜3を定義してある。VI
NCQ0〜3は同時に1になることがある。また、VINPQ0/1
と同時に1となり得る。
次に第1図を用いて、本発明を適用したシステムの動
作例を示す。
作例を示す。
IO66にIP60よりSSCH(Start Subchannel)命令が発行
される(S1)と、IP60は、SSCH命令のオペランドである
オペレーション・リクエスト・ブロック(ORB)の値
を、MSのプログラム領域から、サブチャネル20の所定の
位置に転送し(S2)、IP60は、軌道可能なパスを決定す
る。
される(S1)と、IP60は、SSCH命令のオペランドである
オペレーション・リクエスト・ブロック(ORB)の値
を、MSのプログラム領域から、サブチャネル20の所定の
位置に転送し(S2)、IP60は、軌道可能なパスを決定す
る。
通常、IO66に物理的に接続されているパス(第5図の
CH(i),CH(j)。これは、サブチャネル20内のPAMと
呼ばれる領域に記憶される)と、プログラムから指定さ
れた論理的に起動可能なパス(SSCH命令によりORBで与
えられ、サブチャネル20内のLPMと呼ばれる領域に記憶
されている)のANDで、パスが決定される。
CH(i),CH(j)。これは、サブチャネル20内のPAMと
呼ばれる領域に記憶される)と、プログラムから指定さ
れた論理的に起動可能なパス(SSCH命令によりORBで与
えられ、サブチャネル20内のLPMと呼ばれる領域に記憶
されている)のANDで、パスが決定される。
システムの初期設定時、IO66の第1のパスはCH64
(i)、第2のパスがCH64(j)と定義されていれば、
PAMの値は(11000000)となる。
(i)、第2のパスがCH64(j)と定義されていれば、
PAMの値は(11000000)となる。
なお、余分なビットを含むのは、バイト単位でデータ
処理がなされているためである。
処理がなされているためである。
プログラムからは、LPM=(FF)xが指示されれば、
起動可能なパスのマスクは(11000000)となり、この値
がSPMとしてサブチャネル20に設定される(S3)。
起動可能なパスのマスクは(11000000)となり、この値
がSPMとしてサブチャネル20に設定される(S3)。
次いで、IP60は起動可能なパスから最初に起動すべき
パスを決定する。このパス決定アルゴリズムには、例え
ば良く知られているようにローテーションさせる方法と
がある。仮に、決定されたパスが第1のパスであれば、
第1のパスはCH(i)に接続されており、CH64(i)は
IOPA60の配下であるので、PROCQA10にエンキューする
(S4)。IP60はこの時点で命令を終了する(S5)。
パスを決定する。このパス決定アルゴリズムには、例え
ば良く知られているようにローテーションさせる方法と
がある。仮に、決定されたパスが第1のパスであれば、
第1のパスはCH(i)に接続されており、CH64(i)は
IOPA60の配下であるので、PROCQA10にエンキューする
(S4)。IP60はこの時点で命令を終了する(S5)。
IOPA63がPROCQA10をデキューする契機は、定期的なキ
ュー・サーチによる。もちろん、IP60とIOP63間に信号
線を設けて、IP60がIOP63を活性化する方法でもかまわ
ない。重要なことはIOP63がPROCQ10をデキューする契機
を保証してやることである。
ュー・サーチによる。もちろん、IP60とIOP63間に信号
線を設けて、IP60がIOP63を活性化する方法でもかまわ
ない。重要なことはIOP63がPROCQ10をデキューする契機
を保証してやることである。
IOPA63はPROCQA10をデキューし(S6)、TUCWからサブ
チャネル20番号を得ると、SPMが1で、かつ、自IOP63下
のチャネル64を選択する。本例に於ては、CH64(i)が
選択され、この時点でSPMの対応するビットを0にする
(01000000)(S7)。
チャネル20番号を得ると、SPMが1で、かつ、自IOP63下
のチャネル64を選択する。本例に於ては、CH64(i)が
選択され、この時点でSPMの対応するビットを0にする
(01000000)(S7)。
次に、IOPA63は、CH64(i)の状態を調べる。CH64
(i)がビジーでなければ起動する(S15)。
(i)がビジーでなければ起動する(S15)。
もしCH64(i)が、他のIOのために使われている等の
理由から、ビジーであればCHQ(i)にエンキューする
(S9)。この場合は、次にSPMを再度調べまだ1が立っ
ていれば、対応するパスが自IOP63下に接続されている
か調べる。
理由から、ビジーであればCHQ(i)にエンキューする
(S9)。この場合は、次にSPMを再度調べまだ1が立っ
ていれば、対応するパスが自IOP63下に接続されている
か調べる。
本例では、次に選択されるべきチャネルであるCH64
(j)はIOPB63に接続されている。そのため、IOPAでは
起動出来ず、IOPB63に入出力処理を依頼するために、CH
64(j)に接続されている。IOPB63のプロセスキューで
あるPROCQB10にエンキューしてIOPA63は、いったん処理
を終了する(S10)。
(j)はIOPB63に接続されている。そのため、IOPAでは
起動出来ず、IOPB63に入出力処理を依頼するために、CH
64(j)に接続されている。IOPB63のプロセスキューで
あるPROCQB10にエンキューしてIOPA63は、いったん処理
を終了する(S10)。
前記のCH64(i)がビジーでなく、起動した結果がCU
ビジー(CUB)、即ち、IOCがビジーであった場合も、同
様に、CQH(i)、および、PROCQB10にエンキューされ
る(S16、S9、S10)。
ビジー(CUB)、即ち、IOCがビジーであった場合も、同
様に、CQH(i)、および、PROCQB10にエンキューされ
る(S16、S9、S10)。
いずれの場合も、PROCQB10にエンキューした時点で
は、CHQ(i)とPROCQB10という複数のキューに、同一
のサブチャネル20、すなわち同一の起動要求がエンキュ
ーされていることになる。
は、CHQ(i)とPROCQB10という複数のキューに、同一
のサブチャネル20、すなわち同一の起動要求がエンキュ
ーされていることになる。
IOPB63がPROCQB10を、定期的なキューサーチの結果、
デキューした後の処理も前記IOPA63の動作と同様である
(S11〜S18)。
デキューした後の処理も前記IOPA63の動作と同様である
(S11〜S18)。
ただし、CH64(j)がビジー、あるいは起動の結果CU
ビジー(CUB)になった場合、CHQ(j)にエンキューし
てもSPMのすべてのビットが0になっているので、新た
にPROCQA10にエンキューすることはない。
ビジー(CUB)になった場合、CHQ(j)にエンキューし
てもSPMのすべてのビットが0になっているので、新た
にPROCQA10にエンキューすることはない。
次に、デキューの契機について説明する。
PROCQ10のデキューに関しては既に述べたように、PRO
CQ10のデキューの契機はCH64やIO66の状態に関係なく行
なわれることである。
CQ10のデキューの契機はCH64やIO66の状態に関係なく行
なわれることである。
一方、CHQのデキューは、エンキューした要因が解消
されたときである。即ち、チャネル64あるいはIO66がbu
sy−to−freeになったときである。このような状態変化
をIOP63が検知することはたやすい。例えば、チャネル6
4がbusy−to−freeを検出したとき、IOP63にブレークイ
ンする方法等がある。
されたときである。即ち、チャネル64あるいはIO66がbu
sy−to−freeになったときである。このような状態変化
をIOP63が検知することはたやすい。例えば、チャネル6
4がbusy−to−freeを検出したとき、IOP63にブレークイ
ンする方法等がある。
ここで、本発明の根幹をなすことは、IOP63がデキュ
ー要因を識別し、それに従ってデキューすべきキューを
決定することである。
ー要因を識別し、それに従ってデキューすべきキューを
決定することである。
本実施例では、複雑さを避けるため、PROCQ10とCHQの
2つのみを導入した。
2つのみを導入した。
しかし、チャネルビジーとCUビジーとを別要因とみな
して、更にキューの種類を増やすことも可能である。何
故なら、IOP63がチャネルのbusy−to−freeとCUエンド
(CUE)とを区別することは容易であるから、それぞれ
のキューのデキューの契機を区別出来るからである。
して、更にキューの種類を増やすことも可能である。何
故なら、IOP63がチャネルのbusy−to−freeとCUエンド
(CUE)とを区別することは容易であるから、それぞれ
のキューのデキューの契機を区別出来るからである。
次に、以上のエンキュー、デキューの過程で生じる空
キューについて述べる。
キューについて述べる。
既に述べたようにある一時点で一つのサブチャネル20
が複数のキューにエンキューされ得る。この場合、最も
早くデキューされたキューに従って起動が開始される。
その結果、起動が成功すれば、他のキューは無意味なも
のとなる。
が複数のキューにエンキューされ得る。この場合、最も
早くデキューされたキューに従って起動が開始される。
その結果、起動が成功すれば、他のキューは無意味なも
のとなる。
このキューを空キューと呼ぶ。
それらのキューがデキューされた時点では、サブチャ
ネル20は、入出力オペレーション中を示しているかも知
れないし、既に入出力オペレーションは終了しているか
も知れない。いずれにせよ、サブチャネル20にすでに起
動が掛っていることが、サブチャネル20に記録されてい
るため、起動待ちの状態とはなっておらず、余分な起動
がかかることはない。
ネル20は、入出力オペレーション中を示しているかも知
れないし、既に入出力オペレーションは終了しているか
も知れない。いずれにせよ、サブチャネル20にすでに起
動が掛っていることが、サブチャネル20に記録されてい
るため、起動待ちの状態とはなっておらず、余分な起動
がかかることはない。
これは、ほぼ同時に2つのキューが独立にデキューさ
れた時も、サブチャネル20のLOCKによる排他制御によ
り、正しく同期化されることが保証される。
れた時も、サブチャネル20のLOCKによる排他制御によ
り、正しく同期化されることが保証される。
空キューは幾分かのオーバヘッドを生み出す。
しかし、システムに1つのキューでは、複数のサブチ
ャネル20がエンキューされているとき、その順序と、bu
sy−to−free等により起動可能となるサブチャネル20の
順序とは関連がなく、キューの先頭にデキューできるサ
ブチャネル20があるという保証がなく、必要なサブチャ
ネル20を探す時間が多くかかる。その効率低下に比べれ
ば、本発明による空キューによるオーバヘッドは小さ
い。
ャネル20がエンキューされているとき、その順序と、bu
sy−to−free等により起動可能となるサブチャネル20の
順序とは関連がなく、キューの先頭にデキューできるサ
ブチャネル20があるという保証がなく、必要なサブチャ
ネル20を探す時間が多くかかる。その効率低下に比べれ
ば、本発明による空キューによるオーバヘッドは小さ
い。
なお、本発明では、入出力処理装置と中央処理装置と
は、ハードが異なるとしたが、ハードを1部共用できる
部分は共用することとしても良い。
は、ハードが異なるとしたが、ハードを1部共用できる
部分は共用することとしても良い。
この例としては、例えば、キューイング処理を行なう
部分を中央処理装置のハードを共用することにより達成
することが上げられる。
部分を中央処理装置のハードを共用することにより達成
することが上げられる。
[発明の効果] 本発明によれば、入出力起動をエンキューする際、エ
ンキュー要因に応じて、異なったキューにエンキュー
し、かつデキューも、キュー毎に対応するデキュー要因
発生時に個々に独立して行なえるので、起動要求を効率
良くデキューでき、従って、キューイング制御に伴うオ
ーバヘッドを極力小さくしたキューイング制御方式を提
供することができる。
ンキュー要因に応じて、異なったキューにエンキュー
し、かつデキューも、キュー毎に対応するデキュー要因
発生時に個々に独立して行なえるので、起動要求を効率
良くデキューでき、従って、キューイング制御に伴うオ
ーバヘッドを極力小さくしたキューイング制御方式を提
供することができる。
第1図は本発明の一実施例の動作フローチャートの説明
図、第2図はプロセッサ・キューのフォーマットの説明
図、第3図はチャネル・キューのフォーマットの説明
図、第4図はサブチャネル内のVINQのフォーマットの説
明図、第5図はシステムのブロック図である。 10……プロセッサ・キュー、30……チャネル・キュー・
ポインタ、40……チャネル・キュー・テーブル、50……
VINQ。
図、第2図はプロセッサ・キューのフォーマットの説明
図、第3図はチャネル・キューのフォーマットの説明
図、第4図はサブチャネル内のVINQのフォーマットの説
明図、第5図はシステムのブロック図である。 10……プロセッサ・キュー、30……チャネル・キュー・
ポインタ、40……チャネル・キュー・テーブル、50……
VINQ。
Claims (4)
- 【請求項1】1又は2以上の中央処理装置と、複数の入
出力装置と、上記入出力装置を各々制御する複数の入出
力制御装置と、上記入出力制御装置へのチャネルパスを
選択する少なくとも1つの入出力処理装置と、を有する
計算機システムのキューイング制御方式において、 エンキューの要因に応じて設けられた複数の入出力装置
起動要求のキューを2種以上段階的に有し、 上記中央処理装置又は入出力処理装置は、上記キューへ
のエンキューをエンキュー要因に応じて、前記キューの
いずれかに対して行うものであり、 上記入出力処理装置は、デキューをデキュー要因に応じ
て、上記キューに対して行うものであることを特徴とす
るキューイング制御方式。 - 【請求項2】1又は2以上の中央処理装置と、複数の入
出力装置と、上記入出力装置を制御する複数の入出力制
御装置と、上記入出力制御装置へのチャネルパスを選択
する少なくとも1つの入出力処理装置と、主記憶装置と
を有する計算機システムのキューイング制御方式におい
て、 エンキューの要因に応じて設けられた複数の入出力装置
起動要求のキューを2種以上段階的に有し、 上記中央処理装置又は入出力処理装置は、一つの入出力
装置に対する起動要求が複数のエンキュー要因を発生し
たときは、それぞれの要因に応じた複数のキューにエン
キューするものであり、 上記入出力処理装置は、デキューを前記複数のエンキュ
ーの内、最初に解除されたエンキュー要因に対応したキ
ューに対して、行うものであることを特徴とするキュー
イング制御方式。 - 【請求項3】1又は2以上の中央処理装置と、複数の入
出力装置と、上記入出力装置を各々制御する複数の入出
力制御装置と、上記入出力制御装置へのチャネルパスを
選択する少なくとも1つの入出力処理装置と、主記憶装
置とを有する計算機システムにおいて、 上記主記憶装置は、上記主記憶装置内のハードウエア専
用領域に、エンキューの要因に応じて設けられた複数の
入出力装置起動要求のキューを2種以上段階的に有し、 上記中央処理装置又は入出力処理装置は、上記キューへ
のエンキューをエンキュー要因に応じて、前記キューの
いずれかに対して行うものであり、 上記入出力処理装置は、デキューをデキュー要因に応じ
て、上記キューに対して行うものであることを特徴とす
る計算機システム。 - 【請求項4】少なくとも1つの中央処理装置と、複数の
入出力装置と、前記入出力装置を各々制御する複数の入
出力制御装置と、前記入出力制御装置へのチャネルパス
を選択する複数の入出力処理装置と、を有する計算機シ
ステムのキューイング制御装置であって、 前記入出力処理装置毎に設けられた複数の入出力装置起
動要求の第1キューと、前記チャネルパス毎に設けられ
た、当該チャネルパスに接続された前記入力制御装置及
び当該入出力制御装置が制御する入出力装置のビジーを
エンキュー要因とする複数の入出力装置起動要求の第2
キューと、を有し、 前記中央処理装置は、ある入出力装置に対して起動要求
したときに、当該入出力装置を制御する入出力制御装置
へのチャネルパスを選択する前記入出力処理装置が複数
ある場合に、予め定められた入出力制御装置に対して当
該起動要求を出力するものであり、 前記入出力処装置は、前記中央処理装置又は他の入出力
処理装置から送られてきた入出力装置の起動要求を、当
該入出力処理装置に設けられた第1キューにエンキュー
すると共に、 当該入出力処理装置が選択するチャネルパスであって当
該入出力装置を制御する入出力制御装置へのチャネルパ
スに設けられた第2キューにエンキュー要因が発生して
いるときに、当該第1キューからデキューした当該入出
力装置に対する起動要求を、当該第2キュー及び当該入
出力装置を制御する入出力制御装置へのチャネルパスを
選択する他の入出力処理装置にエンキューするものであ
り、 且つ、当該第1キューのデキューを定期的に行うと共
に、当該入出力装置に対する起動要求が複数の第2キュ
ーにエンキューされているときに、当該複数の第2キュ
ーの内、最初にエンキュー要因が解除された第2キュー
をデキューするものであることを特徴とするキューイン
グ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2221617A JP2534797B2 (ja) | 1990-08-23 | 1990-08-23 | キュ―イング制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2221617A JP2534797B2 (ja) | 1990-08-23 | 1990-08-23 | キュ―イング制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04104346A JPH04104346A (ja) | 1992-04-06 |
JP2534797B2 true JP2534797B2 (ja) | 1996-09-18 |
Family
ID=16769565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2221617A Expired - Fee Related JP2534797B2 (ja) | 1990-08-23 | 1990-08-23 | キュ―イング制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2534797B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60183660A (ja) * | 1984-03-02 | 1985-09-19 | Hitachi Ltd | 入出力処理装置 |
-
1990
- 1990-08-23 JP JP2221617A patent/JP2534797B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04104346A (ja) | 1992-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6862282B1 (en) | Method and apparatus for packet ordering in a data processing system | |
KR940003324B1 (ko) | 입출력 제어시스템 | |
KR100268565B1 (ko) | 다중 처리 시스템에서 타스크를 큐잉하기 위한 시스템 및 방법 | |
US5247671A (en) | Scalable schedules for serial communications controller in data processing systems | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
JP2000330807A (ja) | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 | |
JPH06266649A (ja) | 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ | |
GB2395308A (en) | Allocation of network interface memory to a user process | |
US5339449A (en) | System and method for reducing storage channels in disk systems | |
JPH06187302A (ja) | 転送要求キュー制御方式 | |
JP2003248622A (ja) | 帯域幅を増加させるためのメモリシステム | |
JP2534797B2 (ja) | キュ―イング制御方式 | |
JPS63236152A (ja) | I/oキユ−イング制御方法 | |
JPH03111955A (ja) | 待ち行列制御装置 | |
JP3875371B2 (ja) | ジョブ管理装置および記録媒体 | |
JPH1196108A (ja) | 計算機システム及びバス制御装置 | |
JPH0795318B2 (ja) | 多重処理コンピユータ及びプロセツサ間通信方法 | |
JP3982077B2 (ja) | マルチプロセッサシステム | |
JPS62247444A (ja) | チヤネル・パス制御方式 | |
JP2822582B2 (ja) | 入出力処理制御方式 | |
JPH04294438A (ja) | チャネルパス選択方式 | |
JPH10308754A (ja) | Atmスイッチ | |
JPH0381856A (ja) | データ転送制御方式 | |
JP2527066B2 (ja) | 受信待ち行列処理装置 | |
JPH06274436A (ja) | データ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |