JP2695933B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP2695933B2
JP2695933B2 JP1221429A JP22142989A JP2695933B2 JP 2695933 B2 JP2695933 B2 JP 2695933B2 JP 1221429 A JP1221429 A JP 1221429A JP 22142989 A JP22142989 A JP 22142989A JP 2695933 B2 JP2695933 B2 JP 2695933B2
Authority
JP
Japan
Prior art keywords
channel
sub
busy
mode
execution
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
Application number
JP1221429A
Other languages
English (en)
Other versions
JPH0385657A (ja
Inventor
英典 梅野
孝 森川
孝 下城
太郎 井上
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1221429A priority Critical patent/JP2695933B2/ja
Publication of JPH0385657A publication Critical patent/JPH0385657A/ja
Application granted granted Critical
Publication of JP2695933B2 publication Critical patent/JP2695933B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムに係り、特に、仮想計算機シ
ステムに好適な計算機システムに関する。
〔従来の技術〕
拡張アーキテクチヤ(M/EXアーキテクチヤともいう)
チヤネルシステムの動作仕様は、Mシリーズ処理装置
(M/EXモード)8080−2−093−10 222頁,247頁−227
頁において論じられている。これによれば、拡張アーキ
テクチヤ(Extended Architecture,M/EXアーキテクチヤ
ともいう)における入出力チヤネルシステム(以後単に
チヤネルシステムという)の動作の概要は、以下の通り
である。すなわち、中央処理装置CPUが、入出力装置
(以後単に装置ともいう)に対して、入出力(Input/Ou
tput又はI/O)をスタートする命令(例えばStart subch
annel(SSCH)命令)を発行したとき、まず対象のサブ
チヤネルが利用可能即ちフリーであるとき、チヤネルシ
ステムがその要求を記憶し、CPUは条件コードOを該I/O
命令発行元に返すことにより、I/O命令自身の実行を終
了し、次の命令の実行に移る。その後、CPUと並列にチ
ヤネルシステムが動作し、記憶しているI/O要求をスケ
ジユールする。チヤネルシステムが、該I/O要求をスタ
ートし、該当の装置に対して、該I/O要求に対するスタ
ート信号を発行する。このスタート信号に対して該当の
装置からビジイの応答が返つて来たとき、チヤネルシス
テムは、次のいずれかの動作を取る。すなわち (1)他のシステムが使用中であると考えて、該当のI/
O要求をキユーイングする。または、 (2)該装置が接続されている複数のチヤネルパスの中
で、チヤネルパスを切換えながら選択する。チヤネルパ
スを切換えて、どれかのチヤネルパスで装置ビジイでな
くなれば、そのチヤネルンパスが選択される。かかるチ
ヤネルパスが存在しないときは、(1)と同様に、該I/
Oが要求をキユーイングする。
上記(1)の動作をするか、(2)の動作をするか
は、該装置のチヤネルパスに関する動作モードによる。
すなわち、該装置が多重パスモードのときは、上記
(1)の動作をし、単一パスモードのときは(2)の動
作を行う。
とちらの動作を行うにしろ、装置ビジイの状態がなく
ならないときは、チヤネルシステムが内部に、該I/O要
求をキユーイングし、装置ビジイが解除されるのを待
つ。キユーイングされたI/O要求は、装置ビジイ装置が
解除された時点で、再び、チヤネルシステムによつてス
ケジユールされる。
M/EXのI/O命令であるSSCH命令で、スタート機能の起
動条件が成立し、条件コード0がセツトされたとする。
この後チヤネルシステムによつて、そのI/O命令がスケ
ジユールされ、実際に入出力装置を選択したとする。こ
のときもし、起動処理が正常に行なわれないときは、遅
延コードlor3が設定され、その割込み要因が発生する。
別の機能であるM/EXアーキテクチヤのSSCH命令には、
初期状態割込みという機能が用意されている。これは、
MアーキテクチヤのVM上のOSから発行された同期型のI/
O命令であるSIO(Start I/O)命令をシミユレーシヨン
するために用意された機能である。この機能は、チヤネ
ルシステムが該SSCH命令がスケジユールして、指定され
た装置が指定された最初のChannel Command Word(CC
W)を受け取つたとき、CPUに対して初期状態割込み要因
を発生させることができるという機能である。このと
き、該SIO命令の条件コードは0であると決定すること
ができる。
一方、拡張アーキテクチヤではないMアーキテクチヤ
と呼ばれるアーキテクチヤがある。
Mアーキテクチヤにおけるチヤネルの動作仕様は、HI
TAC Mシリーズ処理装置80802−001−41 235頁,263頁
〜282頁において論じられている。これによれば、Mア
ーキテクチヤにおけるチヤネルシステムの動作の概要
は、以下のとおりである。すなわち、CPUが装置に対し
て、同期的にI/O動作をスタートする命令(Mアーキテ
クチヤのSIO命令を発行したとき、チヤネルシステム
は、そのI/O命令に同期して、該装置に、I/O動作をスタ
ートさせるためのスタート信号を送る。このスタート信
号に該装置が応答し、該装置のスタートが正常に実行さ
れれば、CPUは条件コード0として、該I/O命令の実行を
終了し、次の命令の実行に移る。該装置がビジイである
ために、該装置がスタートされ得ないときは、CPUは、
条件コードを1として、該I/O命令の実行を終了し、次
の命令の実行に移る。
このMシリーズアーキテクチヤでの同期型のI/O命令
であるSIO命令は、該装置からの応答により条件コード
が決定されるまでの間、その実行を終了することができ
ない。例えば、装置が、ビジイであるときは、装置から
のビジイ応答信号が来るのを待つて条件コードを決定す
るまで、SIO命令は終了せず、従つて、CPUは次の命令へ
進めない。Mシリーズアーキテクチヤのチヤネルシステ
ムは、ハードウエア自身では、チヤネルパスの切換えを
行なわない。チヤネルパスの切換えは、チヤネルパスの
ビジイをOSへ報告し、OSの責任を行う。Mシリーズアー
キテクチヤにおいても、非同期型のI/O命令であるStart
I/O Fast release(SIOF)命令が存在する。これは、
上記の同期型の命令SIO命令の上記問題点すなわち、装
置からの応答があるままでCPUが待たされるという問題
点を解決するために作られた命令である。CPUが、このS
IOF命令を発行すると、チヤネルシステムは、指定され
たチヤネルがフリー(free)ならば、通常は、装置から
の応答を待つことなく、条件コード0をCPUに応答し、C
PUもまた条件コード0で該命令を終了し、次の命令の実
行を開始できる。指定されたチヤネルがビジイならば、
条件コード2として該命令の実行は終了する。その後、
Mアーキテクチヤのチヤネルシステムは、CPUと、並行
して動作し、もし、該当装置がビジイであるとわかつた
ときは、遅延条件コード1によつて、CPUに割込みを発
生することにより、OSへ報告することができる。
さて、仮想計算機システムは、1台の実計算機システ
ムの下で、複数台の仮想計算機(VM)を走行させること
ができる。各VM上ではOSを動作させることができるの
で、結局、1台の実計算機システムの下で、複数台のOS
を動作させることができる。この実計算機を特にホスト
計算機といい、仮想計算機システムを実現する制御プロ
グラムをVirtual Machine Contral Pragram(VMCP)と
いう。
ホスト計算機が、M/EXアーキテクチヤであるときは、
仮想計算機(これを以後ゲストともいう)のアーキテク
チヤとしては、M/EXアーキテクチヤのVM及びMアーキテ
クチヤのVMの双方のVMをサポートしているものとする。
VM上のOSが発行したI/O命令は、VMCPによつてシミユ
レーシヨンされるかまたは、ハードウエアによつて直接
実行される。いずれにせよ、ホスト計算機がM/EXアーキ
テクチヤである場合は、ゲストがMのアーキテクチヤで
あり、MのアーキテクチヤのI/O命令を発行しても、そ
れは、M/EXアーキテクチヤのI/O命令に変換されてい
る。
Mアーキテクチヤのゲスト上のOSが、同期型のI/O命
令であるSIO命令又は非同期型のI/O命令であるSIOF命令
を発行したときはVMCPによるシミユレーシヨン又はハー
ドウエアによる直接実行が行なわれるが、いずれも、M/
EXのI/O命令であるSSCH命令を使用してシミユレーシヨ
ン又は直接実行が行なわれる。ところで、入出力装置に
至るチヤネルパスは複数存在することが多い。VM上のOS
が入出力装置を使用するときに、該OSに対してチヤネル
パスをどのようにみせるかについては、いくつかの方法
が考えられるが、この特許では、その代表的な方法とし
て、パス固定方式とパス非固定方式とを考える。
Mアーキテクチヤ・ゲストのOSに見せるチヤネルパス
(仮想チヤネルパス)の実際のチヤネルパス(実行チヤ
ネルパス)との対応を1対1に取る用法をパス固定用法
という。たとえば、ある入出力装置に対するパス応答関
係を、 仮想パス→実パス (149)(hex)→LPM=(80)(hex) (460)(hex)→LPM=(40)(hex) とつけることである。VM上のOSが(140)(hex)(仮想
パス0という)としてI/O命令を発行すると、VMCPでシ
ミユレーシヨンするにしろ、ハードウエアで直接実行す
るにしろ、実のパスはLogical Path Mask(LPM)=(8
0)(hex)で表わされる実パス(実パス0という)を通
してI/O命令が発行され、仮想パスが(460)(hex)
(仮想パス1という)のときは、実パスLPM=(40)(h
ex)(実パス1という)が使用される。
このようなパス固定用法においては、動的チヤネルパ
ス再結合は適用されない。いいかえれば、実パス0でI/
Oが起動されたときは、その割込みは必ず実パス0に発
生し、ゲスト上のOSに対しても仮想パス0で返される。
実パス1で起動されたときは、実パス1に割込みが発生
するという具合である。この動作を単一パスモードとい
う。すなわち、パス固定用法における使用するチヤネル
パスのモードは、全て単一パスモードであるとする。
ゲストがMアーキテクチヤであるときは、ゲスト上の
OSは、普通使用するチヤネルに対して、多重パスモード
を指定することはなく、全て、単一パスモードである。
従つて、このようなチヤネルパスについては、VMCPが、
あらかじめ多重パスモードを指定しなければ、多重パス
モードとなり得ない。
もうひとつのパス非固定方式というのは、同じく、M
アーキテクチヤのVM上のOSに適用される。これは、該VM
に専有化された装置のチヤネルパスが複数本あつたとし
ても、該VM上のOSには、1本のチヤネルパスしかみせ
ず、該装置の複数チヤネルパスの管理は、全て、拡張チ
ヤネルシステムと、VMCP側にまかせる方法である。この
方法は、拡張チヤネルシステム側のチヤネルパスセレク
シヨンの機能や、動的チヤネルパス更結合の機能が生か
されるため、性能が向上するという良さがある。しか
し、VM上のOS自身のパス管理、特に、フアイルの中味に
基づく、きめの細かいパス障害管理が適用されなくなる
ため、システム信頼性に不安が残る。しかし、VM上のOS
によつては、性能を重視して、このパス非固定方式を使
用することもある。M/EXアーキテクチヤのVMの場合は、
それに専有された装置のチヤネルパスは、全て、そのま
ま、VM上のOSに渡してしまうので、パス固定方式に近い
が、多重パスモードを許すので、起動時のチヤネルパス
と、I/O完了割込み時のチヤネルパスとは必ずしも同一
ではない。
本特許は、MアーキテクチヤのVMに専有化された装置
に対するI/O命令に関する。
MアーキテクチヤのゲストのOSが非同期のI/O命令SIO
F命令又は同期型のSIO命令を使用したとき、それをVMCP
でシミユレーシヨンするにしろ、ハードウエアで直接実
行するにせよ以下の問題点が発生する。
先ずSIO命令を使用したときを述べる。Mアーキテク
チヤのゲストがSIO命令を発行したときは、VMCPに制御
が渡り、VMCPによつてシミユレーシヨンされる。これは
文献「プログラム プロダウト VMS拡張システム VMS
/ES 解説8040−3−301−10」に示される通りである。
VMCPによつて、Mゲスト上のOSが発行するSIO命令を
シミユレーシヨンするときは、ホスト計算機(これはM/
EX アーキテクチヤ)のSSCH命令に変換してシミユレー
シヨンする。
このMアーキテクチヤのゲスト上のOSが発行するSIO
命令のシミユレーシヨンにおいては、以下のような3つ
の問題点が発生する。第1の問題点は、以下のとおり。
(1)該SIO命令によつて指定された装置が他系のシス
テムからリザーブされているため、ビジイ状態であると
き、VMCPがそのシミユレーシヨンのために発行したSSCH
命令によるI/O要求はM/EXアーキテクチヤのチヤネルシ
ステムによつてキユーイングされてしまう。このキユー
イング状態は、他系のシステムが、該リザーブを解除す
るまでつづく。この間、該SIOを発行したMアーキテク
チヤのゲストは、停止状態におかれる。なぜなら、該SI
Oの条件コードが決定するまでは、該SIO命令は終了しな
いからであり、該SIO命令の条件コードが決定するに
は、すくなくとも、チヤネルシステムが、該シミユレー
シヨン用のSSCH命令によるI/Oの要求のキユーイングを
やめて、該I/O要求をサービスする必要があるからであ
る。
(2)もし、リザーブした他系がいつまでもリザーブを
解除しないと、該装置のビジイはいつまでも解除されな
いため、該SIO命令を発行したゲストは、いつまでも停
止状態となる。
特に、他系が、該装置をリザーブしたままシステム停
止になつたりすると、実際にこの状態が発行する。
第2の問題点は以下のとおりである。
以下に述べた問題点は、装置ビジイだけでなく、制御
装置ビジイの場合でも同様に発行する。例えば、以下に
示す如くである。
(1)MアーキテクチヤゲストからSIO命令が発行さ
れ、VMCPが、それをシミユレーシヨンするためにSSCH命
令を発行した。ところが、指定された装置の制御装置が
センス情報を含んでいるためビジイとなることがある。
(2)M/EXアーキテクチヤのチヤネルシステムは、指定
したチヤネルパス上の制御装置からビジイ信号が応答さ
れてくると、別の論理的に結合されているチヤネルパス
を選択する。もし、どのチヤネルパスも該制御装置ビジ
イのため利用不可であると該SSCH命令によるI/O要求を
キユーイングする。このキユーイングは、該制御装置か
らのフリー(free)信号が応答されて来た時点で、解除
され、該I/O要求がサービスされる。
(3)ところが、制御装置は、センス情報を保留してい
るかぎりビジイとなる。制御装置は、ゲスト間,ゲスト
−ホスト間で共用されるのが原則であるため、センス情
報は、それらのどれかが、読み込まなくてはならない。
(4)該SIO命令を発行したゲスト(Mアーキテクチ
ヤ)を、ゲストAとし、該制御装置を共用し、そのセン
ス情報を読み込むべきゲストをゲストB(MまたはM/EX
アーキテクチヤ)とする。ゲストAの該SIO命令をシミ
ユレーシヨンするために、VMCPが行したSSCH命令は、ゲ
ストBが該センス情報を読みこむかまたは、VMCPが前も
つて該センス情報を読み込まない限り、制御装置ビジイ
であるため該チヤネルシステムにキユーイングされる。
VMCPは該センス情報の読み込みをゲストB上のOSに委ね
ている場合がある。しかし、ゲストBのOSの不良のため
該センス情報を読み込まない可能性がある。このため、
そのキユーイングされている間は、ゲストA上のOSは該
SIO命令の条件コードが決定されないため、停止状態と
なり、性能が低下する可能性がある。
第3の問題点は以下のとおり。
第2のような問題は、実は、ゲストAの中だけでも以
下のとおり発生する。
(1)MアーキテクチヤのゲストA上のOSが、SIO命令
を発行し、VMCPがそのシミユレーシヨンのためにSSCH命
令をある制御装置下の装置に対して発行したとする。
(2)その時点で、該制御装置が、ゲストA自身の別の
装置(同一制御装置下)のI/Oよりのユニツトチエツク
割込み要因の発生により、センス待ち状態で、従つて制
御装置ビジイ状態であるとする。このため、VMCPがその
シミユレーシヨンのために発行したSSCH命令によるI/O
要求は、他の利用可能チヤネルパスがないため、M/EXア
ーキテクチヤのチヤネルシステムがキユーイングする。
このため、MアーキテクチヤのゲストA上のOSが発行し
た該SIO命令に対するVMCPのシミユレーシヨンは完了す
ることなく従つて、ゲストA上のOSは停止状態となる。
(3)従つて、該SIO命令が終了しないため、ゲストA
に該制御装置からのユニツトチエツク割込みを返すこと
もできず、ゲストA上のOS自身が該センス情報を読み取
り、該制御装置のビジイ状態を解除することもできな
い。
(4)これをさけるには、該制御装置下の別の装置のI/
O(これもゲストA上のOSの発行したI/Oである)のユニ
ツトチエツク割込みと、VMCPが受け取り、VMCPが該ユニ
ツトチエツクを発生した装置に対して、センス情報を読
み取る必要性がある。しかし、VMCPは、ゲストAに、そ
のセンス情報の読み取りを期待し、自分自身では読み取
らないことがある。このようなときは、ゲストA上のOS
の停止状態は避けられない。
以上の3つの問題点はMアーキテクチヤVM上のOSが発
行するSIO命令に対するVMCPのシミユレーシヨンに関す
るものであるが、同OSのSIOC命令についても同様な問題
点が発生する。
MゲストアーキテクチヤのOSが非同期I/O命令であるS
IOF命令を発行したとする。これは、VMCPによりシミユ
レーシヨンされるか、又は、ハードウエアにより直接実
行される。いずれにせよ、M/EXアーキテクチヤのI/O命
令であるSSCHM命令が用いられる。M/EXアーキテクチヤ
のI/O命令であるSSCH命令は、非同期のI/O命令であり、
入出力装置の状態までは見に行かず、主記憶装書上のサ
ブチヤネルの状態だけで条件コードを決定し、命令の実
行を終了する。このSSCHの命令実行終了と同時に、その
条件コードに従い、ゲストの発行したSIOF命令の条件コ
ードを決定し、該命令の実行を終了する。このSSCH命令
は、そのI/Oの要求が拡張チヤネルシステムによりキユ
ーイングされたとしても、条件コードを決定し、命令の
実行は終了する。したがつて、SIOF命令を発行したゲス
トが、拡張チヤネルシステムによるキユーイングで、停
止状態になることはない。しかし入出力装置ビジイ状態
や、入出力制御装置ビジイ状態やチヤネルパスビジイ状
態であるために利用可能チヤネルパスがなくて、拡張チ
ヤネルシステムがI/O要求をキユーイングしてしまう
と、I/O完了待ちのタイムオーバや、交代のチヤネルパ
スの使用ができなくなり、性能低下の恐れがある。Mア
ーキテクチヤの実計算機におけるチヤネルシステムで
は、OSからのI/O要求を、チヤネル自身がキユーイング
することはなく、入出力装置のビジイ状態や、入出力制
御装置のビジイ状態や、チヤネルパスのビジイ状態は、
I/O命令実行結果の条件コードとして、OSに報告され
る。従つて、Mアーキテクチヤ実計算機上のOSでは、上
記の条件コードに従つて、OS自身の管理のもとに、入出
力装置のbusy to free割込み待ちや、チヤネルパスの交
代を行うことができる。このため、上記の問題点は発生
しない。
以上述べたように、Mアーキテクチヤのゲスト上から
発行されたI/O命令が、非同期系のSIOF命令であつて
も、拡張チヤネルシステムのキユーイングにより性能低
下を招くこととなる。
以上の問題点はパス固定,パス非固定に関係なく発生
する問題点である。
〔発明が解決しようとする課題〕
ここで本発明が解決しようとする問題点を、要約して
述べる。
従来技術での問題点は、Mアーキテクチヤのゲスト上
のOSが発行するI/O命令に対するVMCPによるシミユレー
シヨンまたはハードウエアによる直接実行に関する。
I/O装置ビジイ状態時又は、I/O制御装置ビジイ状態
時、又は、チヤネルパスビジイ状態のため利用可能なチ
ヤネルパスが存在しないとき、拡張チヤネルシステム
が、I/O要求をキユーイングする。このため、Mアーキ
テクチヤゲスト上のOSの命令実行動作が停止したり、ゲ
スト上のOSが交代パス機能を使えないため、性能が低下
したりする。
本発明の目的は、上記条件下で、Mアーキテクチヤの
ゲスト上で、OSの命令実行動作が停止したり、OSのパス
交代機能が使えないため、性能が低下することを防止す
るための手段を有する入出力チヤネルシステムを提供す
ることである。
〔課題を解決するための手段〕
上記目的は、以下の手段により達成される。
(1)拡張アーキテクチヤのチヤネルシステム、すなわ
ち、拡張チヤネルシステムにおいて、装置に対応する各
サブチヤネルに、Mのモード(第1のモード)あるいは
M/EXのモード(第2のモード)を設定する手段。
(2)M/EXモードのサブチヤネルに対する拡張チヤネル
システムの動作は、従来と全く同様とする。
(3)Mモードの入出力装置のビジイ状態に対する拡張
チヤネルシステムの動作は、以下のとおり。
(a)M/EXアーキテクチヤのI/O命令(例えばStart Sub
channel(SSCH)命令)を、ある装置を指定して発行し
たとする。この装置が、Mモードであるとき、装置ビジ
イ状態を検出したときは、該I/O要求をキユーイングす
ることなく、該装置ビジイ状態をCPUへ報告する手段。
(b)該装置ビジイ状態をCPUへ報告したことを、該装
置対応に記憶する手段。
(c)装置の状態がビジからフリーに変つたとき、該装
置がそのビジイ状態をCPUへ報告したことを示すとき、
該装置のビジイからフリーになつたことを示す割込み要
因を該装置に生成する手段。
(d)該装置が、そのビジイ状態をCPU報告したことを
示す記憶を消去する手段。
(4)Mモードの入出力装置に対するI/O命令の実行
で、入出力制御装置がビジイ状態を示すために利用可能
チヤネルパスがないときの拡張チヤネルシステムの動作
に関する手段は以下のとおり。
(a)該I/O要求をキユーイングすることなく該入出力
制御装置がビジイであることをCPUに報告する手段。
(b)該入出力制御装置がビジイであることをCPUに報
告したことを、該入出力装置に記憶する手段。
(c)該入出力制御装置がビジイからフリーに変つたと
き、該制御装置下の装置で、CPUに、制御装置ビジイ状
態を報告した装置について、制御装置ビジイからフリー
への割込み要因を生成する手段。
(d)(b)に示した記憶を消去する手段。
(5)Mモードの入出力装置に対するI/O命令の実行
で、指定したチヤネルパスがビジイであることを示すた
め利用可能なチヤネルパスが存在しないときの拡張チヤ
ネルシステムの動作に関する手段は以下のとおり。
(a)該I/O要求をキユーイングすることなく、該チヤ
ネルパスがビジイであることを、CPUに報告する手段。
(b)該チヤネルパスがビジイであることをCPUに報告
したことを、該入出力装置に記憶する手段。
(c)チヤネルパスがビジイからフリーに変つたとき、
該チヤネルパス下の装置で、CPUにチヤネルビジイ状態
を報告した状態について、チヤネルパスのビジイからフ
リーへの割込要因を生成する手段。
(d)(b)に示した記憶を消去する手段。
〔作用〕
以下、述べた手段は以下のように動作する。
(1)Mモードの入出力装置に対するI/O命令で、入出
力装置ビジイ状態を検出したときは、該I/O要求はキユ
ーイングされることなく、該装置のビジイ状態をCPUへ
報告する。
(2)CPUへの報告は、遅延コード1の割込みとなる
が、VMCPでシミユレーシヨンするにせよ、ハードウエア
で直接実行するにせよ、Mアーキテクチヤゲスト上のOS
に、装置ビジイであることが報告される。これにより該
OSは次の命令を実行することができる。
(3)Mゲスト上のOSは、該装置に対するI/O要求をそ
のソフトウエア処理としてキユーイングする。
(4)該装置がビジイからフリーに状態を変化したと
き、該装置からビジイからフリーになつたことを示す割
込が発生する。
(5)上記割込みは、いずれ、該ゲスト上のOSに報告さ
れ、該OSは、該装置にキユーイングされているI/O要求
(OS自身がキユーイングしたもの)をリスタートする。
以上によつて分かるとおり、装置のビジイ状態がゲス
ト上のOSに報告されるので、ゲストOSは装置ビジイ状態
に対応した適切な処理を行える。しかも拡張チヤネルシ
ステムは該I/O要求をキユーイングしないのでゲストOS
が命令実行停止になることはない。
(6)Mモード入出力装置に対するI/O命令で、入出力
制御装置ビジイ状態を検出したときや、指定したチヤネ
ルパスがビジイであることを検出したときも上記の
(1)〜(5)までと同様のことがいえる。装置の場合
と異なるのは、該入出力制御装置下の装置で、CPUへ制
御装置ビジイを報告した各装置から、制御装置のビジイ
からフリーになつたことを示す割込み要因が発生するこ
とである。該チヤネルについても同様である。
(7)よつて、Mアーキテクチヤゲスト上のOSに制御装
置ビジイとその後の制御装置フリーが報告されることと
なる。
(8)同様に、チヤネルパスのビジイとそのフリーもM
アーキテクチヤゲスト上のOSに報告される。
(9)以上によつて、Mアーキテクチヤゲスト上のOS
は、拡張チヤネルシステムがキユーイングを行なわない
ため自分自身で、キユーイングや交代パスのサービスが
可能となり性能低下を防止できる。
〔実施例〕
以下、本発明の一実施例を第1図により説明する。
第1図の説明:10は命令プロセサ(1P)11は汎用レジ
スタ1(GR1)、12はシステムコントローラ(SC)、13
は割込回路、14は記憶制御ユニツト(SCU)、15は主記
憶装置(MS)、16は主記憶装置15に格納された入出力
(I/O)命令SSCH(Start Subchannel)命令、16−1
は、そのオペランドORB(Operation Request Block)、
17は、同じく主記憶装置15上に格納された命令SMD(Set
Mode)命令、17−1は、そのオペランドである。ここ
で、SSCH命令16は従来から存在する命令であり、SMD命
令は、本発明で新設する命令である。18は、主記憶装置
15内のハードウエアシステムエリア(HSA)であり、19
は、HSA18内のサブチヤネル領域(SCHA)、20は、同じ
く、HSA18内の論理制御装置群領域(LCUA)、21はHSA18
内の論理チヤネルパス群領域(LCHA)、22はチヤネルパ
スid(CHPID)とユニツトアドレス(UA)から制御装置
番号uとサブチヤネル番号sを得るためのHAS18内のテ
ーブル(UCWT)、23はHAS18内のI/O割込要求キユの領域
(ITQ)である。ユニツトアドレスとは、チヤネルパス
からみて一意に決定される番号であり、入出力装置と一
対一に対応する番号である。25は、命令プロセサIP10内
の命令実行や割込処理用のマイクロプログラム(μP)
である。
30はI/Oプロセサ(IOP)、31はIOP内のマイクロプロ
グラム(μP)であり、32はIOP内のレジスタ群であ
る。34はIOP30内のチヤネル群でチヤネル0(CH0)チヤ
ネル1(CH1)〜チヤネルN(CHN)からなる。
40は入出力制御装置(IOC又はContnol Unit:CU)であ
り、50〜52はIOC40下の入出力装置(単に装置、又は、
デバイスということもある)である。1台のIOCの下に
さらに多くの入出力装置(以後単に装置という)を接続
することができる。さらに、1台のIOPの下に複数台のI
OC(第1図では41)を接続することができる。
第1図ではIOC40はチヤネル0(CH0)、チヤネル1
(CH1)に接続され、IOC41はチヤネル2(CH2)、チヤ
ネル3(CH3)に接続されている。さらに、装置50〜52
は、IOC40とICO41の両方から制御される。第1図におけ
る各ブロツク(命令プロセサIP10,システムコントロー
ラSCの12、主記憶装置MS15、I/OプロセサIOP30、I/O制
御装置IOC40〜41,I/O装置50〜52)は、従来と何らかわ
ることはない。さらに、各にブロツク相互間の結果も従
来と同じである。従来と異なるのは、新設命令Set Mede
(SMD)命令(17は主記憶15に格納されたSMD命令)、サ
ブチヤネル領域19における一部のデータ構造、I/Oプロ
セサIOPのマイクロプログラム(μP)31における動
作、IOP内のレジスタ群32の内容と働き、命令プロセツ
サIP10のマイクロプログラム25の動作だけである。主
に、従来と異なるデータ構造を用いて、マイクロプログ
ラム25及び31の働きにより、全体として従来と異なる動
作を行う。
第2図は、主記憶装置MS15内のバードウエアシステム
エリアHSA18内のサブチヤネル群領域(SCHA)19、論理
制御装置群領域(LCUA)20、論理チヤネル群領域(LCH
A)21を示す。領域(SCHA)19は、サブチヤネル0(19
−0),サブチヤネル1(19−1),…サブチヤネルS
(19−S)…からなり、各サブチヤネル領域19−0,19−
1,…19−S…は、連続領域からなる。
各サブチヤネルの領域19−S(S=0,1,2,…)は、同
一の大きさであり、サブチヤネルの番号Sと、領域19の
先頭アドレスが与えられれば、該当するサブチヤネル領
域19−Sのアドレスを求めることができる。領域(LCU
A)20は、領域制御装置0(20−0),同1(20−
1),…同u(20−u),…からなり、それらの論理制
御装置の領域は、論理制御装置番号0,1,2,…の順番に連
続した領域である。各論理制御装置の領域の大きさは一
定であるので、領域20の先頭アドレスと、制御装置番号
uが与えられれば、該当の論理制御装置領域20−uのア
ドレスが求められる。
領域(LCHA)21は、論理チヤネルパス群領域であり、
チヤネルパスid0(21−0),1(21−1),…,C(21−
C),…からなる。各論理チヤネルパス21−C(C=0,
1,2,…)の領域は、番号の順に連続しており、各領域の
大きさは同一である。従つて、領域(LCAH)21の先頭ア
ドレスと、論理チヤネルパス番号Cが与えられれば、該
当の論理チヤネルパス領域21−Cのアドレスを求めるこ
とができる。領域(UCWT)22は、チヤネルパスidとユニ
ツトアドレスから、該当するサブチヤネル番号と制御装
置番号を求めるためのテーブルである。各エントリの22
−0,22−1,…,22−n…は連続領域からなり、各大きさ
は、同一である。領域23(ITQ)は、I/O割込み要求をキ
ユーイングするところである。23−0はI/O割込サブク
ラス0のI/O割込要求キューのヘツダ部である。23−0
−0,23−0−1,23−0−2は、1/O割込サブクラス0の
割込要求キユーであり、各々が割込要求を持つサブチヤ
ネルと対応し、そのサブチヤネルへのアドレスを含む。
第3−A図はサブチヤネル領域19内のひとつのサブチ
ヤネル19−Sの内容を表わす。サブチヤネル19−S内の
領域19−S−1は、新たに設けた領域である。以下に該
領域内の各フイールドについて説明する。
M :“1"のとき、このサブチヤネルがMモードであるこ
とを意味する。
DV:“1"のとき、このサブチヤネルに対応する装置のビ
ジイ状態を遅延コード1の割込みでIP(10)に報告した
ことを示す。これはM=“1"のときのみ有効である。
CU:“1"のとき、このサブチヤネルを制御する論理制御
装置のビジイ状態を遅延コード1の割込みでIP(10)に
報告したことを示す。これはM=“1"のときのみ有効で
ある。
CH:“1"のとき、このサブチヤネルに対するI/O命令処理
時に、指定されたチヤネルパスがビジイ状態であること
を条件コード2でIP(10)に報告したことを示す。これ
はM=“1"のときのみ有効である。
PF=1ということは、このサブチヤネルがパス固定モ
ードで動作することを意味する。このパス固定モードは
M=1のときのみ意味をもち、かつ、VM上のOSに対して
は複数本のチヤネルパスを見せるがこのサブチヤネルへ
I/O命令を発行するまえに、このサブチヤネルのロジカ
ルパスマスクは1本だけのチヤネルパスが使用可能であ
るように設定され、かつパスモードが単一パスモードで
あるように設定されていなければならない。単一パスモ
ードとは、I/O割込みやI/O動作中の再結合のためのチヤ
ネルパスの選択が、I/O起動時に使用されたチヤネルパ
スしか選択しないモードのことをいう。この単一パスモ
ードは、従来のMアーキテクチヤにおけるチヤネルシス
テムの動作と同じである。また、サブチヤネル内に存在
するロジカルパスマスクは、このサブチヤネルに対し
て、I/O命令を発行する前に、プログラムにより設定さ
れ、I/O起動時に選択可能なチヤネルパスのマスクを表
わす。PF=0でM=1のとき、このサブチヤネルはパス
非固定モードであることを表わす。パス非固定とはVM上
のOS対しては該装置のチヤネルパスは1本だけしか見せ
ないで、実際の該装置のパスは複数本あつても良いが、
それらの管理を全てIOPとVMCPに委ねる方法である。
19−S−2はチヤネルパスid(CHPID)であり、対応
装置へのチヤネルパスを表わす。このチヤネルパスid
は、サブチヤネル19−S内に複数存在しても良い。しか
し、19−S−1のM=“1"のときは、ひとつのI/O動作
の起動から終了までに使用されるチヤネルパスは、唯一
であり、起動時に選択されたものである。19−S−3
は、このサブチヤネルに対応する装置につけられたデバ
イスアドレス(UA)を含み、接続されているチヤネルパ
スidから見て一意に決まる番号(0〜255)である。
19−S−0は、サブチヤネル状態語(SCSW)であり、
このサブチヤネル19−Sの状態を表わす内容を含む。詳
しくは、第5図で再びのべる。第4図及び第5図の32−
6は、19−S−0のSCSWを読みだすためのレジスタであ
り、その内容は、同一である。サブチヤネル19−Sは、
従来技術で定義されたものと同じであり。入出力装置と
一対一に対応するものであり、第1図に示すように、ハ
ードウエアシステムエリア(HSA)18に存在する領域で
ある。サブチヤネル19−S内の各フイールドで19−S−
1が、本発明で新設されるフイールドであり、その他
は、従来と全く同じである。
第3−A図20−uは、論理制御装置群領域20(LCUA)
の中の、ひとつの論理制御装置領域である。制御装置
は、第1図の40,41に示すとおりであるが、システム全
体で一意に決まる制御装置番号u(0〜255)によつ
て、ハードウエア的に識別される。20−u,20−u−0も
従来技術と全く同じである。21−Cは、論理チヤネルパ
ス群領域21(LCHA)の中のひとつの論理チヤネルパス領
域を表わし、チヤネルパスは、第1図の34に示すとお
り、IOP(30)の中にある。チヤネルパスは0〜255まで
の値を持つチヤネルパスid(CHPID)により、ハードウ
エア的に一意に識別される。
22−nは、第2図のテーブル領域22(UCWT)中のひと
つのエントリを表わす。このテーブルは、チヤネルパス
id(19−S−2のCHPID)と、デバイスアドレス(19−
S−3のUA)とから n=CHPID*256+UA で決まるn番目のエントリ22−nに、以下のフイールド
を含む。
S :チヤネルパスid(CHPID)とデバイスアドレス(UA)
に対応するサブチヤネル番号を表わす。
u :上記に関連する制御装置番号を表わす。
v0:“1"のときuが有効であることを表わす。“0"のと
きuが無効であることを表わす。
v1:“1"のときSが有効であることを表わす。“0"のと
きSが無効であることを表わす。
20−u,20−c,20−nはいずれも、従来と全く同一の内
容であり、従来技術と特にかわることはない。
第3−B図は、第3−A図の20−u−1,20−u−2,21
−c−1,21−c−2の内容を図示したものである。20−
u−2は、この論理制御装置番号uを持つ制御装置に接
続されている可能性のある装置のユニツトアドレス(U
A)UA0,UA1,…UA31を含む。20−u−1は、32ビツトか
らなり、第iビツト目の値Mi=1ならば、UAiは有効で
あり。Mi=0ならば無効である。これにより、実際に制
御装置uに接続されている装置のユニツトアドレスを知
ることができる。同様に、21−c−2は、この論理チヤ
ネル番号cを持つチヤネルパスに接続されている可能性
のある制御装置の番号u0,u1,…u31を含む。21−c−1
は、32ビツトからなり、第iビツト目の値Mi=1なら
ば、u1は有効であり、Mi=0ならば、u1は無効である。
これにより、実際にチヤネルパス(c)に接続されてい
る制御装置の番号を知ることができる。
第3−B図に示す各フイールドも従来と同様である。
第4図は、IOP30内のローカルストレジLS32内のレジ
スタ群を表わす。32−1は第3−A図におけるサブチヤ
ネル19−S内のフイールド19−S−1を読み込むための
レジスタ、32−2は装置アドレス(UA)を含むためのレ
ジスタ,32−3は制御装置番号(u)を含むためのレジ
スタ,32−4はチヤネルパスid(CHPID)を含むためのレ
ジスタ,32−7は、サブチヤネル群領域19の先頭アドレ
スを含むレジスタ,32−8は論理制御装置群領域20の先
頭アドレスを含むレジスタ、32−9は論理チヤネルパス
群領域21の先頭アドレスを含むレジスタである。32−5
はサブチヤネル番号s.を含むレジスタ、32−6はサブチ
ヤネル状態レジスタ(SCSW)を含むレジスタ,32−10は
テーブルUCWT22の先頭アドレスを含むレジスタである。
これらの中で、32−1が、本発明で新しく設けたレジス
タであり、それ以外は、全て、従来の同一のレジスタで
ある。
第5図は、サブチヤネル状態語(SCSW)の主要フイー
ルドを示す。サブチヤネルは装置と一対一に対応し、SC
SWはサブチヤネルの状態を表わす。SCSWは、サブチヤネ
ルの割込要因や、対応する装置のビジイ状態等を表わ
す。32−6−0は遅延コード(DCC)を表わす2ビツト
のフイールドである。32−6−1はFunction Contnol
(EC)とよばれる3ビツトのフイールドであり、start
functionやhalt function等を表わす。32−6−2はAct
ivity Control(AC)と呼ばれるフイールドであり、sta
rt pendingや、halt pending等を表わす。32−6−3は
Status Cintrol(SC)であり、このサブチヤネルの割込
要因を表わす。32−6−4は、CCW(Channel Command W
ord)アドレスであり、割込要因発生時に、最後に、チ
ヤネルが実行したCCWのアドレス+8を表わす。32−6
−5はDevice Status(DS)であり、対するデバイスの
ビジイ状態や、該デバイスの接続されている制御装置の
ビジイ状態や、チヤネルエンドやデバイスエンドの状態
を表わす。32−6−6はSubchannel Status(SS)であ
り、チヤネル障害等を表わす。以上のSCSWの内容は、こ
こに明示されていないフイールドを含めて、全て、従来
と全く同じである。
第6図は、本発明で、新設した命令であり、Set Mode
(SMD)命令と呼ばれる。17はSMD命令の形式を表わし、
17−0は第2オペランドアドレスであり、ベースレジス
タB2の内容31ビツトとD2(12ビツト)の値の和(D2は上
位に19ビツトの0を付加)の値を含む。この第2オペラ
ンドアドレス(論理アドレス)の指す所1バイトが17−
1であり、この17−1の1バイトの先頭2ビツトがサブ
チヤネルに設定されるモードビツト(MとPF)を含む。
サブチヤネル番号(S)は17−1に示す汎用レジスタ1
(GR1)に含まれる。
以下に、第1図に示すシステム全体の動作概要を説明
する。この概要は従来と全く同じである。
主記憶装置(MS)15上のI/O命令であるSSCH(Start S
ubchannel)命令16は、そのオペランドとしてORB(Oper
ation Request Block)16−1と、汎用レジスタ1(GR
1)(11)を持つ。GR1(11)にはサブチヤネル番号Sが
含まれている。SSCH命令は、命令プロセサ(IP)(10)
のマイクロプログラム(μP)(25)で実行される。μ
P25は、該サブチヤネルがフリーのときSSCH命令のI/O要
求を、入出力プロセサ(IOP)(30)の管理するI/O要求
キユーにキユイングし、IOPに線120経由して起動信号を
送つた後、条件コード=0として、命令の処理を終了す
る。該サブチヤネルに割込要因がある場合は条件コード
=1とする。該サブチヤネルがビジイのときは、条件コ
ード=2として実行を終了する。
さて、IP10とIOP30とは並列に動作し、従つて、上記I
/O要求キユーは、IOP30により非同期にスケジユーリン
グされる。IOP30内のマイクロプログラム(μP)31
は、該当サブチヤネル内のチヤネルパスidとユニツトア
ドレス(UA)(第3−A図)の19−SA2と19−S−3)
を用いて、該チヤネルパスから該ユニツトアドレスを持
つ装置に対して、該I/O要求の起動信号を送る。このと
き、制御装置も一意に決定される。(各サブチャネル19
−S(第3−A図)内の上記チヤネルパスid(19−S−
2),ユニツトアドレスUA(19−S−3)は、I/Oシス
テム生成時に決定され、システムの立ちあげ時にハード
ウエアシステムエリア(HSA)18に読みこまれる。)例
えば、チヤネルパスid=1,UA=1のときは、μP31は線1
06,チヤネルインタフエース108,IOCO(40),IOCOと装置
1(51)とのインターフエース112を経由してI/O起動信
号が送られる。
該装置のI/O動作が終了し、割込要因が発生すると、
μP31の動作により、該当のサブチヤネルに割込要因が
設定され、該割込要求が、割込要求キユー(ITQ)23の
該当位置にキユーイングされる。この割込要因は、シス
テムコントローラ(SC)12内の割込回路13により割込可
能性が判断され、割込可能であるときは、線100を通し
てIP10に割込みが発生し、μP25の該当の割込処理部へ
制御が渡される。
以上が第1図の動作の概要であるが、これらは従来と
全く同じである。
以下に本発明の特徴となる機能について述べる。本発
明は仮想計算機システム(VMS)において適用されるの
で、仮想計算機システムとの関連において動作を説明す
る。VMSの制御プログラムをVMCPという。
第7図は、第6図に示す新設命令(SMD:Set Mode命
令)の用法を示すフローチヤートである。
まず、VMSの運用者が、どのI/O装置をどのVMに専有化
されるかを決定する。これに基づき、Mアーキテクチヤ
を持つVMにどの装置を専有化させるかが決定される(70
0)。VMに専用化させる装置は、VMデイレクトリ、又はV
MSの制御プログラムVMCPのコマンドにより、VMCPに知ら
せることができる。さらに、該装置をパス固定モードで
動かすか、パス非固定で動かすかも同様にしてVMCPに知
らせる(710)。VMCPへは、該装置の装置番号が知らさ
れるので、VMCPは、STSCH(store Subchannel)命令を
サブチヤネル番号の0から順次1,2,…発行して、サブチ
ヤネルの内容を調べる。STSCH命令は、SHA内のサブチヤ
ネル命令(SCHA)19にアクセスし、各サブチヤネルの内
容を、プログラムでアクセス可能な主記憶MS(15)の中
の指定された位置に格納する。VMCPは、VMデイレクトリ
又はVMCPのコマンドで指定された装置番号と、サブチヤ
ネル内の装置番号(後者はI/Oゼネレーシヨン時に決め
られ、システム立ち上げ時にHAS18内の領域19に格納さ
れる)の一致によつて該当するサブチヤネル(その番号
をS0とする)を得る(720)。VMCPは、GR1にS0を設定
し、オペランドM=1かつオペランドPF=lor0として新
設命令SMD命令を発行する。これにより該サブチヤネル
をMモードとパス固定,非固定モードとを設定する(73
0)。この命令を発行されていないサブチヤネルの初期
状態は、M/EXモードである。以上のサブチヤネルのモー
ドの設定は、VMをlog−on(定義し)、VM上にOSをロー
ドする(IPLする)より前までに完了すべきである。さ
らに、VMCPはサブチヤネルのMモードでかつパス固定モ
ードに設定するときは、該サブチヤネルのチヤネルパス
に関するモードは単一パスモードを指定する。単一パス
モードとは、I/O起動時に使用したチヤネルパス以外の
チヤネルパスは、該I/O動作(チヤネルパスプログラム
の動作)が終了するまでの間使用しないモードのことを
いう。単一パスモードの設定方法は、全く従来と同じで
ある。
第8−A図,8−B図にVM上のOSの発行したSIO(Start
I/O)命令が、VMCPにより、どのようにシミユレーシヨ
ンされるかを示す。第8−A図,8−B図に示す方法は、
従来における方法と何ら変わることはない。しかし、本
発明の機能がなければ、ここに示すシミユレーシヨン方
法は、正常に動作しない可能性がある。とりあえず、第
8−A図の動作を説明する。
(1)MモードVM上のOSがStart I/O(SIO)命令を装置
Aに対して仮想パスaを経由して発行したとする(80
0)。
(2)VMCPに制御が渡り、VMCPが該SIO命令をシミユレ
ーシヨンするために、該VMを停止状態にする(810)。
(3)VMCPが該装置Aが、該VMの専用装置かどうか判断
する(820)。
(4)専用装置でない(即ち共用装置)のときは、共用
装置のシミユレーシヨンを行なう(830)。
共用装置のシミユレーシヨンは、本発明には関係ない
ので詳細は省略する。
(5)該装置Aが専用装置であるとき、VMCPは、仮想装
置Aに対応する実装置のサブチヤネル番号S0と、仮想パ
スaに対応する実パスa′とを求める(840)。サブチ
ヤネルS0はVMCPによりMモードで、かつ単一パスモード
かつパス固定モードに設定されているとする。パス固定
モードとは、VM上のOSの指定したチヤネルパス(仮想チ
ヤネルパス)と実のチヤネルパスとの間で1対1の対応
を取るモードのことである。例えば、 仮想チヤネルパス→実チヤネルパス (140)hex→LPM=(80)hex (150)hex→LPM=(40)hex という対応がある。これは、140(16進数)の仮想チヤ
ネルパス(チヤネルパスのことを単にパスともいう)に
対して、ロジカルパスマスク(LPM)が80(16進)で示
される実チヤネルパスを対応させることを意味する。LP
Mは、サブチヤネルの中に8ビツトあり、各ビツトの0
〜7が、設サブチヤネルに接続されているチヤネルパス
に対応する。ビツトの値=1のときは、該チヤネルパス
が論理的に使用可能であることを表わす。ビツトの値=
0のときは、該チヤネルパスが論理的に使用不可である
ことを表わす。仮想パス150(16進)に対してもLPM=40
(16進)の実パスが対応する。この対応関係は、VMCPが
該サブチヤネルに対して定義する。このパス固定方式
は、従来の方式と同じである。このとき、VMCPは、該サ
ブチヤネルに対しては、単一パスモードを指定する。な
ぜなら、もし、多重パスモードを指定すると、デバイス
側のCPR(channel Path Reconnection機構)により、起
動時にLPM=(80)hex側で起動しても、I/O割込時に
は、LPM=(40)hex側で該I/O割込みがはいつてくるこ
とがあり得、そのとき、一対一対応関係がこわされてし
まうからである。
(6)VMCPは、オペランド(ORB)の初期ステータス割
込み要求ビツトを1とし、(5)で求めた、実パスa′
一本だけ論理的に使用可能であるようにLPMのビツトマ
スクを設定し、該サブチヤネルS0に対してSSCH命令を発
行する(850)。初期ステータス割込み要求とは、装置
がSSCH命令の初期起動で最初のコマンドを受け取つた場
合、割込要因を発生させる要求のことである。この割込
要求を初期ステータス割込みという。これが発生したと
きは、該SIO命令の条件コードは0としてシミユレーシ
ヨンすることができる。(第8−B図の890,821)。
(7)(6)のSSCH命令の条件コードが0のときは、割
込みが発生するのを持つ(870)。
(8)(6)のSSCH命令の条件コード≠0のときは、該
SIOの条件コードを決定し、VM1の停止状態を解除し、デ
イスパツチヤヘコントロールを渡す(880)。
(9)サブチヤネルS0からのI/O割込みが発生したと
き、それが、初期ステータス割込みか、遅延コード(DC
C ie.Deferred Condition Code)割込みかのときは、VM
1の該SIOの条件コード(CC)を決定し、VM1の停止状態
を解除し、デイスパツチヤへ制御を渡す。(890,801,81
1,821)。
(10)上記のいずれでもないときは、通常の割込み処理
を行う(831)。
以上のVMCPのシミユレーシヨンは、従来の方法と何ら
かわることはない。この従来方法での問題点は、処理87
0での割込待ちの後、割込みがいつまでも発生せず、従
つて、VM1が、いつまでも停止状態となる場合が発生す
るということである。それは、従来技術問題点でも述べ
たように、他系のシステムにより、装置がリザーブされ
たため、装置がビジイ状態であつたり、制御装置がビジ
イ状態であつたり、チヤネルがビジイ状態であつたりし
た場合で、かつ、そのビジイ状態がいつまでも継続した
場合に発生する。第8−A図のSIOではなくて、Mアー
キテクチヤのVM上のOSが非同期系のI/O命令であるSIOF
(Start I/O Fast Release)を発行したとき、これは、
従来より、VMCPによつてシミユレーシヨンされるか、ま
たは、ハードウエアにより直接実行される。いずれにせ
よ、ホスト計算機はM/EXアーキテクチヤであるから、M/
EXのI/O命令であるSSCH(Start Subchannel)命令が用
いられる。VMCPでのシミユレーシヨンの方法は、第8−
A図のSIOシミユレーシヨンと類似しているが、以下の
2点が異なるだけである。
(1)SSCH命令を発行した後、条件コード(CC)=0の
ときは、割込待ちとせず、該SIOFのCC=0として、該VM
をデイスパツチ可能とする。
(2)SSCH命令を発行するとき、初期ステータス割込み
は期待しなくて良いので、そのオペランドであるORBの
初期ステータス割込み要求ビツトは0のまま。
ハードウエアで直接実行する場合も同様である。この
VM上のOSがSIOFを発行した場合は、VM上のOSには、初期
ステータスI/O割込みや、遅延コードの割込みを待つこ
となく、条件コードが決定され、該VMは、デイスパツチ
可能となる。従つて、SIO命令のときのように、VMが停
止状態のままとなることはない。しかし、SSCH命令で指
定したチヤネルパスがビジイや、制御装置がビジイや、
装置がビジイの場合、ハードウエアであるIOP30側が、
該I/O要求をキユーイングしてしまうため、VM上のOS
は、交代パスが存在しても使用できず、従つて、I/O動
作のレスポンスが悪化する危険性は、避けることはでき
ない。
これを解決するための新しい手段と新しい方法が、第
1図の17(新設命令SMD)、μP25,μP31,レジスタ群3
2、及びサブチヤネル19のデータ構造にある。
第9図に、マイクロプログラム(μP)25の動作フロ
ーを示す。これを説明する。
この動作フローは、従来とは異なり、新しい処理方式
である。
(1)プログラムが第1図16に示すSSCH命令を、発行す
ると、処理900にコントロールが渡る。このSSCH命令
は、第8図(1)に示す処理850でのSSCH命令であるこ
ともあり、そうでないこともある。このSSCH命令の対象
サブチヤネルの番号をS0とする(900)。さらに、このS
SCH命令は、M/EXモードのVM上のOSが発行した命令であ
つても良い。
(2)サブチヤネルS0の制御領域19−S0のアドレスを得
て、そこへアクセスする。第1図には明示していない
が、命令プロセサIP(10)内には、第2図に示すHSA18
内のサブチヤネルエリア(SCHA)19の先頭アドレス,LCU
A20の先頭アドレス,LCHAの先頭アドレス,UCWT22の先頭
アドレスを含むレジスタを含む。その先頭アドレスとサ
ブチヤネル番号S0により、制御領域19−S0のアドレスを
得ることができる。これは、従来と同じである(90
0)。
(3)サブチヤネルS0の19−S0−1(第3図(1))フ
イールド内のフラグMが1かどうか判定する(910)。
M=1ということはこのサブチヤネルがMモードである
ことを表わしている。該SSCH命令がVM上のOSから発行さ
れた命令であるときは、該VMのアーキテクチヤは、M/EX
であるから、それの使用するサブチヤネルは当然M/EXモ
ードである。従つてM=0でなければならない。
(4)サブチヤネルS0がMモードかつPF=1即ちパス固
定モードであるとき、19−S0−4(第3図(1)参照)
のロジカルパスマスク(LPM)からチヤネルパスを選択
する(920)。PF=0即ちパス非固定のときは(10)
へ。
(5)LPMによつて指定される論理的使用可能チヤネル
パスは一本のはずであるから、これをチエツクする(93
0)。なんとなれば、今サブチヤネルS0は、Mモードで
あり、かつ、パス固定モードだからである。
(6)一本でないときは、サブチヤネル動作不能という
ことで条件コード(CC)=3として命令を完了する(94
0,941)。
(7)一本のときは、該チヤネルパス(C0とする)の制
御領域21−C0(第2図)にアクセスする(950)。
(8)該チヤネルパスC0がビジイかどうか、即ち、21−
C0−0のd=1(第3図(1))かを判定する(96
0)。チヤネルビジイか否かの状態ビツトは、従来から
存在するビツトであり、IOP30内のμP31により保守され
る。
(9)チヤネルパスC0がビジイのときは、サブチヤネル
S0の19−S0−1(第3図(1))のCH1とし、さら
に、条件コード(CC)=2とし、命令を完了する(970,
951)。CH=1はIP10にチヤネルビジイと報告したこと
を示す。
(10)チヤネルパスC0がビジイでないときは、サブチヤ
ネルがフリーがどうか判定し(980)、フリーでないと
きはCC(≠0)を従来どおり決定し(990)、命令実行
を終える(931)。
(11)サブチヤネルがフリーのときは、このI/O要求を
キユーイングし、IOP30へスタート機能起動信号を線120
経由で(第1図参照)送り、条件コードCCを0として、
命令実行を完了する(901,911,921)。
以上の処理の中で、第9図に示す905の点線で囲つた
範囲内の処理が、本発明で新規に追加された処理であ
る。その他の処理は従来と同じである。上記番号でいえ
ば、(3),(4),(5),(6),(7),
(8),(9)が新規の処理であり、他は、従来と同じ
である。
第9図の処理で、従来と異なるのは、サブチヤネルが
Mモードでパス固定モードのとき、指定されたチヤネル
パスのビジイ状態を検出し、そのとき、IOPが該I/O要求
をキユーイングすることなく、チヤネルビジイを示す条
件コード(CC)=2をIPに報告することにある。従来処
理においては、チヤネルパスがビジイであつても、IOP
が該I/O要求とキユーイングして、IPへは条件コード(C
C)=0を報告してしまう。この時、LPMは一本に絞られ
ているため、交代パスが使用されることはなく、従つて
性能低下を招く。しかし、第9図の方法によれば、チヤ
ネルパスビジイのときは、IOP30はI/O要求をキユーイン
グすることなく、CC=2がIPに報告される(970)。
従つて、該IPで走行中のOSが、チヤネルパスビジイを
認識でき、従つて、該OSが交代チヤネルパスがあればそ
れを利用することができ、性能低下を防止することがで
きる。パス非固定時は、IOPのキユーイングによる性能
低下を防止することができる。
第10図は、本発明の新機能を含むマイクロプログラム
31の動作の中でスタート機能の起動を示すフローであ
る。以下これを述べる。
(1)第1図に示すIOP30は、IP10とは並列に、スター
ト機能を起動し、そのマイクロプログラム(μP)31に
制御を渡す。
(2)μP31はキユーイングされたI/O要求を取り出し処
理を開始する(1000)。従来と同じであるので、第1図
には明示していないが、IP10が発行したSSCH命令等のI/
O要求は、HAS18のある場所に、μP31の働きにより、I/O
要求キユーとしてキユーイングされる。
(3)取り出したI/O要求が、SSCH命令によるI/O要求か
判断する(1001)。
(4)SSCH要求でないときは、他の要求の処理を行う
が、これは従来と同じであるので詳細は省く(1001,100
8)。
(5)SSCH要求のときは、該サブチヤネルの番号をS0
するとき、サブチヤネルS0の制御領域19−S0にアクセス
する(第2図,第3図(1))(1002)。
(6)サブチヤネルS0がMモードかつパス固定モードか
判定する。即ち、19−S0−1のM=1&PF=1か見る。
(第3−A図),(1003)。
(7)サブチヤネルS0がMモードかつ、パス固定モード
ではないとき、第13−A図の1009へ行く。以下は、パス
固定モードの処理を述べる。
(8)サブチヤネルS0がMモードかつパス固定モードで
あるとき、該サブチヤネルのLPMから、チヤネルパスid
を選択する(1004)。
(9)今、サブチヤネルS0はMモードかつ固定パスモー
ドだから、LPMによつて示される論理的に使用可能なパ
スは、1本だけのはずである。従つて1本だけかどうか
チエツクする(1005)。
(10)1本だけでないときは、サブチヤネル動作不能と
するために、遅延コード(Deferred Condition Code)
=3の割込要因を該サブチヤネルS0に設定し、それを割
込要因キユーに登録する(1010,1011)。この遅延コー
ド=3の割込要因設定方法自体は、従来と同じであり、
詳細は省略する。
(11)使用可能パスが1本のとき、サブチヤネルS0と、
指定されたチヤネルパスid(C0)と、ユニツトアドレス
UA0をIOP30内のレジスタ群32内のレジスタ32−5,32−4,
32−2に設定し、チヤネルパスC0を経由して、ユニツト
アドレスUA0により制御装置へ起動信号を送る(100
6)。(第1図,第4図参照)。サブチヤネル内のユニ
ツトアドレス(第3−A図,19−S−3)、チヤネルパ
スid(第3−A図の19−S−2)は、I/Oシステム生成
のときに、決定され、システムの立ちあげ時に、HSA18
に読みこまれる。
(12)起動信号を送つた後は、該制御装置からの応答待
ちとなる(1007)。
第10図のスタート機能の起動処理の中で、点線で囲ん
だ1015内の処理が、本発明で、新規に追加される内容で
ある。上記処理でいえば(6),(8),(9),(1
0),(11),(12)が、新規追加処理である。これに
よつて、サブチヤネルがMモードでパス固定モードのと
き、指定されたチヤネルパスから、該装置へ起動信号が
送られる。
第11−A図は、同じくIOP30の中のマイクロプログラ
ム31の動作を表わしている。これは、第10図でのパス固
定モードの装置への起動信号に対応して、該制御装置か
らビジイ信号が送られて来たとき、起動されるマイクロ
プログラムの処理である。これを以下に説明する。
(1)チヤネルパスC0からユニツトアドレスUA0に向け
てのスタート信号に対して、制御装置(Contral Unit:C
U)からビジイ信号が返つて来たとする。(1020)。レ
ジスタ32−4にCo,32−2にUA0,32−5にサブチヤネル
番号S0が設定されている。
(2)チヤネルパスC0,ユニツトアドレスUA0により、第
2図に示すUCWT(22)を検索する(1021)。
(3)n=Co*256+UA0により、第2図のテーブル22の
エントリ22−nにアクセスする(第3−A図参照)。C0
は8ビツト,UA0も8ビツトからなる整数であり。nは2
バイト16ビツトからなる整数である(1022)。
(4)エントリ22−n内の制御装置番号u0を得る。(第
3−A図)(1023)。
(5)サブチヤネルの制御領域19−S0にアクセスする
(第2図)(1024)。
(6)サブチヤネルS0の中から19−S0−1(第3図)を
読み出し、第4図のレジスタ32−1に設定する(102
5)。この後、第11−B図の1030へ続く。これは下の
(7)へつづく。
(7)第4図に示すレジスタ32−6にサブチヤネルS0
SCSW(subchannel Status Word)19−S−0を読み込む
(1030)。
(8)第4図に示すレジスタ32−6のDevice Status(D
S)32−6−5に制御装置ビジイを設定する。設定は、
ビツトのORにより設定する(1032)。
(9)さらに、レジスタ32−6のSCSWのSC(Status Con
tnol)32−6−3に割込要因を、DCC(Diferred Condit
ion Code即ち遅延コード)に1を設定する。さらに、レ
ジスタ32−1のCU=1とする。CU=1とは、このサブチ
ヤネル起動時の制御装置(即ちCU)ビジイをIP10に報告
したことを示す(1033)。
(10)レジスタ32−6のSCSWを、サブチヤネルS0のSCSW
(19−S0−0)に書き込む。さらに、レジスタ32−1の
内容をサブチヤネルS0の19−S0−1に書き込み、サブチ
ヤネルS0内のCU=1とする(1034)。
(11)該サブチヤネルS0の割込要求を、第2図ITQ(2
3)の割込要求キユーの該当キユーにキユーイングす
る。これにより終了する(1035,1036)。
第11−A図,第11−Bの処理の中で、本発明で新規に
追加された処理は点線で囲つた1039の部分である。上記
処理でいうと、(7),(8),(9),(10),(1
1)の新規部分である。これにより、サブチヤネルがM
モードでパス固定モードのとき、該制御装置がビジイで
あるとき、該I/O要求を再キユーイングすることなく、
ビジイであることをIP10に報告することができる。従つ
て、IP上のOS自身が、チヤネルパス交代等を行うことが
可能となり、IOP30自身のキユーイングによる性能低下
を防止することができる。
制御装置ビジイをIP側に報告すると、OS側は、制御装
置エンド信号を待つこととなるため、それをIP側に報告
する手段が必要となる。第12−A図は、このための方法
を示す。以下、これを述べる。
(1)制御装置(CU:Control Unit)エンド信号が制御
装置u0からチヤネルパスC0経由で、IOP30に送られてく
ると、マイクロプログラム31のCU−end処理部へ制御が
渡され、第12−A図に示される処理が行なわれる。この
とき、第4図のレジスタ32−3にu0,レジスタ32−4にC
0がチヤネル34の働きにより設定されている。
(2)第2図LCUA(20)の該当のエントリ20−u0にアク
セスする。第3−B図に示すエントリ20−u0フイールド
20−u0−1及び20−u0−2にアクセスし、フイールド20
−u0−1の第0エントリから、そのエントリのビツト値
Mi=1のとき、フイールド20−u0−2の対応するエント
リUAiについて下記(3)〜(16)を行う。(i=0,…,
31)。(1041)。
(3)ni=C0*256+UAiによりテーブル22のエントリ22
−niにアクセスする(第3−A図)(1042)。
(4)エントリ22−ni内のサブチヤネル番号Siを得る
(第3−A図)(1043)。
(5)該サブチヤネルSiの制御領域19−Siにアクセスす
る(第2図)(1044)。
(6)該サブチヤネルSiの中から、状態語19−Siを読み
こみ、第4図のレジスタ32−1に設定する(第3−A
図)(1045)。
(7)該サブチヤネルSiはMモード、すなわち、32−1
のM=1か判定する(第4図)。(1050)。
(8)該サブチヤネルのM=1でないときは、他の有効
なUAiの処理へ移る。(17)の1057へ。
(9)サブチヤネルがMモードのとき、このサブチヤネ
ルSiは制御装置ビジイをCPUへ報告したか、即ち、レジ
スタ32−1のCU=1かを判断する(第4図)。(105
1)。
(10)レジスタ32−1のCU=0のときは、他の有効なUA
iの処理へ移る。すなわち(17)へ。(1051)。
(11)レジスタ32−1のCU=1のときは、以下の(12)
〜(16)によつて、IP10側に、制御装置(CU)−endを
報告する。
(12)第4図のレジスタ32−6(SCSW)に、サブチヤネ
ルSiのSCSW(19−Si−0)を読み込む(1052)。
(13)レジスタ32−6(SCSW)のDS部(32−6−5)に
制御装置−end状態を設定する。この設定はビツトのOR
による(1053)。
(14)さらに、レジスタ23−6のSCSWのSC(32−6−
3)に割込要因を設定する。さらに、レジスタ32−1の
CU←0,CH←0とする(1054)。
(15)レジスタ32−6のSCSWを設サブチヤネルSiのSCSW
(19−Si−0)に書き込む。さらにレジスタ32−1の内
容をサブチヤネルSiの状態語19−Si−1に書き込む(10
55)。(第3−A図)。
(16)該サブチヤネルSiの割込要求を第2図の割込要求
キユーITQ23にキユーイングする。(1056)。
(17)i=i+1として、Mi=1であれば、(3)へ。
Mi=0のときは、さらにi=i+1とする。i32にな
つたら、従来どおりキユーイングされたI/O要求のリス
タート処理をして処理は終了する(1057,1324,1058)。
第12−A図,第12−B図の中で、本発明で新規の処理
は、点線で囲つた1200の部分である。上記処理でいう
と、(7),(8),(9),(10),(11),(1
2),(13),(14),(15),(16)である。これに
より、サブチヤネルがMモードのとき、そのサブチヤネ
ルへのスタート機能起動時に制御装置ビジイとなつたサ
ブチヤネルから、該制御装置(CU)−endとなつたとき
に、それをIP10側にCU−end割込みとして報告すること
ができる。これにより、IP10上のOSは、該制御装置から
のリスタートをかけることができる。
さて、第9図では、IP10でのSSCH命令の実行時に該当
チヤネルパスビジイを検出し、条件コード=2をIP10に
返した(処理970)。このチヤネルパスビジイは、第10
図におけるIOP30のマイクロプログラム31の動作とし
て、該チヤネルパス(C0)からユニツトアドレス(U
A0)へ起動信号を送つたとき(処理1006)、検出される
こともある。このときは、第11−A図で、制御装置ビジ
イの遅延コード(=1)の割込みをユニツトアドレスUA
0に対する該サブチヤネルS0から発生させた(1032,103
3,1034,1035)のと全く同様にして、チヤネルビジイで
遅延コード(=2)の割込みを該サブチヤネルS0から発
生させる。さらに該サブチヤネルS0の状態語19−S0−1
のフラグCH=1として、IP10へチヤネルビジイを報告し
たことを記憶する。これの詳細なフローチヤートは、第
11−A図と類似となり、容易に類推できるので省略す
る。
さて、チヤネルビジイをIP10上のOSに報告すると、OS
は、チヤネルエンド信号の割込みを期待するので、チヤ
ネルパスからのチヤネルエンド信号に基づいて、IP10側
にチヤネルエンド割込みを発生させる必要がある。これ
も、第12−A図のCU−endの割込み発生と同様に行うこ
とができる。すなわち、チヤネルパスC0からのチヤネル
−エンド信号に対して、IOP30のマイクロプログラム31
が起動されて以下のことを行う。
(1)第2図に示す該当の論理チヤネルパス領域12−C0
にアクセスし、その中の、21−C0−1と、21−C0−2を
読みこむ。(第3−B図参照)、21−C0−1は、32ビツ
トからなるマスク、21−C0−2は、32バイトからなり、
各バイトは、制御装置番号を示す。21−C0−1の第iビ
ツトのマスクMi=1のとき、21−C0−2のuiは有効であ
り、チヤネルパスC0に論理的に接続されている制御装置
番号を表わす。Mi=0のときは、uiは無効である。
(2)i=0から、有効なuiに対して、第2図に示す論
理制御装置領域20−uiにアクセスし、その中の20−ui
1及び20−ui−2から、有効なユニツトアドレスUA
j(j=0,1,2,…31)について以下の(a)〜(b)を
行う。
(a)ユニツトアドレスUAjに対応するサブチヤネルSj
から状態語19−Sj−1を読み出す。
(b)19−Sj−1のフラグM=1かつCH=1のときは、
該サブチヤネルSjからIPへチヤネルビジイを報告してい
るから、このサブチヤネルSjにチヤネルエンドの割込要
因を設定し、さらにCH←0とする。このサブチヤネルの
割込要因を、第2図のITQの割込要求キユーにキユーイ
ングする。
これらの(a),(b)の処理は、第12−B図の点線
1200内の処理に相当する。M=0orCH=0のときは、従
来と同じリスタートを行う。
(1),(2),(2)の(a),(b)の処理は、
第12−A図,第12−B図より容易に類推可能であるの
で、詳細なフローチヤートは省略する。
さて、第10図1006でのチヤネルパスC0ユニツトアドレ
スUA0でのスタート機能起動信号に対して、デバイスビ
ジイ信号が、IOPに返つて来たとする。このとき、IP10
に対してデバイスビジイの遅延コード=1の割込みを報
告する。このデバイスビジイ報告の方法は、第11−A図
とほとんど同じである。異なる点は以下の2点だけであ
る。
(1)処理1032で、レジスタ32−6のSCSWのDS(32−6
−5)にCU−busyではなくてデバイスビジイを設定する
こと。
(2)処理1033で、レジスタ32−1の中のCUではなくて
DV←1にすること。
同様にして、デバイスエンド信号が、チヤネルパスC0
経由で、ユニツトアドレスUA0からIOP30に来たとき、同
様の条件で、デバイスエンド割込みを発生させる。すな
わち、ユニツトアドレスUA0に対応するサブチヤンルS0
がMモードie,第3−A図のサブチヤネルSO0の状態語
(19−S0−1のフラグM=1でかつ、DV=1のとき、該
サブチヤネルS0のSCSW19−S−0)にデバイスエンドの
割込み要因を設定する。さらに、状態語19−S0−1のフ
ラグDV←0とし、該サブチヤネルの割込要求を第2図の
ITQ23に登録する。これらの処理も、第12−A図、第12
−B図から容易に類推できるので、詳細なフローチヤー
トは省略する。
以上により、パス固定時の実施例の説明を終える。こ
の実施例によれば、装置がMモードかつパス固定モード
のとき、チヤネルパスのビジイとそのエンド,制御装置
のビジイとそのエンド,装置のビジイとそのエンドが命
令プロセサIP側のOSに報告される。そのため、ハードウ
エアであるIOPのI/O要求のキユーイングが無くなり、OS
側でのソフトウエアによる交代パスの使用が可能とな
り、全体の性能低下を防止することができる。
以上は、全て、MモードVMのI/O動作は全て、パス固
定方式で考えて来たが、もうひとつの方式であるパス非
固定方式についても、全く同様に考えることができる。
パス非固定方式とは、VM上のOSに対しては、装置に対し
て一本のパスしか見せず、実際のパスは複数本あつて良
く、その複数本のパスの選択や管理は、ハードウエアで
あるチヤネルシステムとVMCPにまかせる方法である。こ
れは、チヤネルシステムによるパスセレクシヨンやリコ
ネクシヨンが可能になることから、性能向上が期待され
る方法である。しかし反面、VM上のOSのパス管理やパス
障害対策が生かされないことから、信頼性に不安があ
る。しかし、VMのユーザによつては、このパス非固定を
使う場合もある。
このパス非固定方式において、VM上のOSには、装置に
対して、パスは1本しか見せないから、VM上のOSによる
パス交代は期待できない。しかし、VM上のOS(Mアーキ
テクチヤ)が、同期型のSIO命令を使用するときは、チ
ヤネルシステム側のキユーイングにより、VM上のOSが条
件コード(SIO命令の)をもらえないまま、停止状態と
なつてしまうことが起こり得る。これを防止するために
は、パス固定方式のときと同様にチヤネルビジイ又は、
制御装置ビジイ又は、デバイスビジイを必要に応じて、
条件コード又は遅延条件コードの形で命令プロセサ側に
報告する必要がある。このための方法,手段は以下のと
おりである。
第3−A図19−Sに示すサブチヤネル内の状態語のフ
イールドPF=1のときは、このサブチヤネルは(M=1
の条件下で)パス固定モードである。PF=0のときは、
(M=1の条件下で)、このサブチヤネルはパス非固定
モードであるとする。
M=1,PF=0のときは、19−S−1の他のフイールド
の意味は、PF=1のときと同じである。チヤネルパスが
複数存在し、各チヤネルパスでチヤネルパスビジイであ
つたり、制御装置ビジイであつたりするので、CHとCUが
同様に1であることはありうる。
第9図における命令プロセサ10におけるSSCH命令処理
を行うマイクロプログラムの動作で従来と異なるところ
は、パス固定のときの動作を表わしている。パス非固定
のときは、判定910で、PF=0だからNOで、980へ行く。
従つて、このときは、SSCH命令は、従来仕様と全く同じ
であり、何ら特別な処理は行なわない。
第10図は、IOP30内のマイクロプログラム31のスター
ト機構起動の処理中で、主に、パス固定時の処理を表わ
している。パス非固定時は、判定1003において、PF=0
だから第13−A図の処理1009へ行く。
第13−A図は、IOP30のマイクロプログラム31の動作
であるスタート機能の中で、パス非固定のときの動作を
表わしている。
これを以下に説明する。
(1)スタート機能がサブチヤネルS0に対して起動さ
れ、第10図1003よりコントロールが渡つてくる。
(2)該サブチヤネルS0がパス非固定モードか(即ち,M
=1&PF=0か)否か判断し、否のときは、従来どおり
M/EXのサブチヤネルS0の処理を行う。(1009,1303)。
(3)パス非固定モードのときは、該サブチヤネルS0
LPMから論理的に選択可能なチヤネルパスを選択する。
(1300,1301)。今、サブチヤネルS0は、パス非固定モ
ードだから、VM上のOSには1本のパスしか見せないが、
サブチヤネルS0に物理的に接続されたチヤネルパスは全
て論理的に使用可能となるように、LPMには設定されて
いる。この設定は、VMCPが、ユーザ指定にもとづき、サ
ブチヤネルをパス非固定モードとするときに設定され
る。
(4)パスが選択されたときは、選択されたパスC0と該
サブチヤネルS0のユニツトアドレスUA0よりスタート機
能を起動する。この後、IOPは制御装置側からの応答を
待つ(1320,1305)。
(5)制御装置から応答があると、同じく、マイクロプ
ログラム30に制御が渡り、判断1307が行なわれる。起動
O,Kであれば、CH←O,CU←Oとしてチヤネルコマンド語
(CCW)の実行のためにCCW転送が開始される(1307,131
0,1313)。
(6)応答が選択されたパスビジイであるときは、その
要因がチヤネルビジイのときは該サブチヤネルS0内のCH
=1とし、制御装置ビジイのときは、サブチヤネルS0
のCU=1とする。(1307,1310、第3−A図19−S0
1)その後、1300へ行き、次のチヤネルパスを選択す
る。
(7)応答が対応する装置ビジイのときは、該サブチヤ
ネルS0のDV=1(第3−A図19−S0−1参照)とし、該
サブチヤネルS0に、遅延コード1のデバイスビジイの割
込要因を設定する。(1309,1311)。この割込要因の設
定方法は、パス固定時のとき(第12−B図参照)と全く
同様である。
(8)(3)で次のパスが選択可能のときは、該サブチ
ヤネルS0のI/O要求を従来のように論理制御装置にキユ
ーイングするのではなく、以下のように、命令プロセサ
10に、パス選択不可能の要因を通知するための割込要因
を設定する(1304)。該サブチヤネルS0において、 (a)CH=1,CU=0のときは、遅延コード(DCC)=2
のチヤネルビジイの割込要因を設定する。
(b)CH=0,CU=1のときは、DCC=1の制御装置ビジ
イの割込み要因を設定する。
(c)CH=1,CU=0のときは、DCC=1の制御装置ビジ
イの割込み要因を設定する。
以上により、サブチヤネルがパス非固定モードのとき
も、デバイスビジイ時は、デバイスビジイが、また、パ
ス選択不可能時は、その要因に従つて、チヤネルビジイ
か又は、制御装置ビジイかが命令プロセサに報告される
こととなる。
この後、パス固定時のときにも述べたように、命令プ
ロセサ上のOSが、デバイスビジイが報告されたときは、
デバイスエンド割込みを、制御装置ビジイが報告された
ときは制御装置エンドを、チヤネルビジイが報告された
ときはチヤネルエンド割込みを待つことになる。このた
め、IOP30のマイクロプログラム31は、各エンド信号に
応じてサブチヤネルに割込要因を設定する必要がある。
例えば、制御装置−end信号が、制御装置側からIOPに送
られて来たときは、第12−A図,第12−B図に示すよう
にIOP30のマイクロプログラム31が動作して、パス固定
のときと同じく、パス非固定のときも、制御装置ビジイ
に対する制御装置−endを命令プロセサ側へ報告するこ
とができる。
パス非固定モード時のチヤネルエンド信号のときのチ
ヤネルエンド割込み発生方法,デバイスエンド信号のと
きのデバイスエンド割込発生の方法も、第12−A図,第
12−B図に示すパス固定時のCU−end信号の処理,第13
図に示すパス非固定時のCU−end信号の処理より容易に
類似可能である。従つて、詳細なフローチヤートは省略
する。
以上によつて、命令プロセサIP10やIOP30はMモード
でパス非固定モード時も、パス固定モードのときと同様
の動作を行うことができる。これにより、MモードのVM
上のOSが、同期型のSIO命令を発行したとき、IOP30側の
キユーイングによるVMの停止状態という事象による性能
低下を防止することができる。
以上の実施例は、パス固定時もパス非固定時もチヤネ
ルビジイや制御装置ビジイを報告したサブチヤネルを全
てIOP30側がマークをつけておき、チヤネルエンドや制
御装置エンドのときに、IOP30のマイクロプログラム31
が、該当のマークのついたサブチヤネルをさがしまわる
という方法である。しかし、この方法では、上記マイク
ロプログラムの開発量が大きくなり、オーバヘツドが大
きくなる可能性がある。これを防止するため以下のよう
に、ソフトウエアであるVMCPが介入する方法もある。
(1)MアーキテクチヤのVM上のOSからのI/O命令であ
るSIO命令や、SIOF命令によるスタート機能起動時や命
令実行時に、チヤネルビジイ又は制御装置ビジイを検出
したとき、あるいは、その応答があつたとき、全てVMCP
に報告する。その方法は、上記I/O命令がVM上のOSから
発行されたとき、その実行を中断して、VMCPに制御を渡
すか、又は、チヤネルビジイや制御装置ビジイの遅延コ
ード割込みを全てVMCPに対して発生させるかである。い
ずれの方法も、従来技術により容易に類推できる。
(2)IOP30側としては、チヤネルビジイや制御装置ビ
ジイをIP10へ報告したときの起動されたサブチヤネルの
番号をひとつだけ記憶する。このとき、前と同じく、19
−S−1内のCH=1orCU=1とする。これは、例えば、
第2図の論理チヤネル領域21や、論理制御装置領域20の
各エントリ21−Cや20−uに各ひとつだけのサブチヤネ
ル番号(2バイト)と記憶する場所を設ければ良い。最
近のサブチヤネル番号だけが記憶される。
(3)ソフトウエアであるVMCP側は、起動時、チヤネル
ビジイとなつたサブチヤネル番号を全て記憶しておく。
(4)チヤネルエンドや、CU−end信号をIOP30が受けと
つたときは、IOP30のマイクロプログラム31は、サブチ
ヤネルを探し回ることはしないで、該当のチヤネルまた
は該当の制御装置に対して記憶されているサブチヤネル
に対してだけ、チヤネルエンドの割込要因または制御装
置−エンドの割込要因をそのSCSWに設定する。しかも、
この割込は、VMCPに対する割込要因として設定する。こ
のとき、該サブチヤネルのCHorCUは1のままとする。
(5)(4)で設定した割込みがVMCPに対して発生すれ
ば、VMCPは、該サブチヤネルの状態フラグCHorCUを調べ
ることにより、チヤネルエンド割込みか制御装置−エン
ド割込みかを知ることができる。
(6)VMCPが記憶しているサブチヤネルに対してVMCPが
同様にチヤネルエンド割込みか制御装置エンド割込みを
設定する。
以上のように、MアーキテクチヤVMのOSのI/O命令に
対するチヤネルビジイとチヤネルエンド及び、制御装置
ビジイと制御装置エンドに対しては、VMCPが必ず介入す
ることにすれば、IOP30のマイクロプログラム31の開発
量を低下させることができる。オーバヘツドに関して
は、VMCPの介入となるので、マイクロプログラムによる
場合と比較して、どちらが良いかは不明である。しか
し、同様の効果を期待することはできる。
以上で本発明の実施例の記述を終える。
〔発明の効果〕
本発明によれば、以下の効果がある。
(1)拡張アーキテクチヤ(M/EXアーキテクチヤ)にお
けるチヤネルシステムにおいて、装置毎に、Mモードか
否か指定でき、Mモードのとき、該サブチヤネルに関し
ては、Mアーキテクチヤのチヤネルシステムの動作を期
待できる。
(2)これにより、M/EXアーキテクチヤの計算機下の仮
想計算機システムにおいて、MアーキテクチヤのVM上の
OSからのI/O命令に対して、性能や信頼性を落すことな
くVMCPでシミユレーシヨン又はハードウエアで直接実行
することができる。
(3)MアーキテクチヤのVMに対して、パス固定方式を
性能を落すことなく実現することができる。パス固定方
式は、VM上のOSの使用するチヤネルパスとハードウエア
の実のチヤネルパスとを一対一に対応させる方法であ
り、これは、VM上のOSに、チヤネルパスの障害処理を委
ねるためには、必要な方法である。これにより、各VM上
のOSによる固定のパス障害処理が有効となり、システム
全体の信頼性が保存される。
(4)サブチヤネルのMモードサポートにより、パス固
定方式での、IOP側でのI/O要求のキユーイングを避け
て、VM上のOSによる交代パスの利用が、可能となり、I/
O動作のレスポンスが悪化するのを防止することができ
る。
(5)特に、磁気テープ(MTU)でのFoward Spaceや、B
ack Ward Spaceにおいては、その制御装置(MTC)がビ
ジイになる時間が長く、もし本発明がなければ、Mアー
キテクチヤのVMのMTUのパス固定方式で、ひとつのパス
上のMTCがビジイであると、例え、別のパスのMTCがフリ
ーであつても、IOPがそれを使用することはできない。
従つて、著しい性能低下となる。しかし、本発明では、
該MTUをMモードに設定すれば、該MTCのビジイ状態は、
該VM上のOSに報告されるので、該OSによるMTCの切換え
が可能となり、性能低下を防止することができる。
(6)MアーキテクチヤVMに専有化された装置がMモー
ド装置でパス非固定モードのときは、該VM上のOSには1
本のチヤネルパスしか見せない。従つて、VM上のOSによ
るチヤネルパス交代は期待できないが、VM上のOSが、M
のI/O命令であるSIO命令を発行したとき、IOP側のキユ
ーイングによつて、その条件コードが決まるまでの間、
該VMが停止状態となつてしまい、性能が低下するのを防
止することができる。
【図面の簡単な説明】
第1図は、本発明の実施例の全体的構成図、第2図はハ
ードウエアシステムエリア(HSA)の中のデータ構造
図、第3A図はサブチヤネル領域,論理制御装置領域,論
理チヤネル領域等を示す図、第3B図は、論理制御装置領
域内のフイールド,論理チヤネル領域のフイールドを示
す図、第4図はIOPのレジスタ群を示す図、第5図はSCS
Wのフオーマツトを示す図、第6図は新設命令のフオー
マツトを示す図、第7図はVMCPによるサブチヤネルへの
Mモードの設定のフローチヤート、第8A,8B図は組みあ
わさつてVMCPによるSIO(Start I/O)命令のシミユレー
シヨンフローチヤート、第9図は命令プロセサ10のマイ
クロプログマムの処理フローチヤート、第10図,第11A
図,第11B図,第12A図,第12B図,第13図は、組み合わ
さつてIOP(30)のマイクロプログラムの処理のフロー
チヤートである。 10……命令プロセサIP、12……システムコントローラS
C、30……入出力プロセサ、40,41……入出力制御装置、
50,51,52……入出力装置、15……主憶装置MS、18……ハ
ードウエアシステムエリア、19……サブチヤネル領域、
20……論理制御装置領域、21……論理チヤネル領域、22
……チヤネルパスとユニツトアドレスから、該当するサ
ブチヤネル番号を求めるテーブルUCWT、23……I/O割込
要求キユー。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 井上 太郎 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】1台の計算機において制御プログラムの管
    理により複数のオペレーティング・システム(OS)が走
    行し、前記計算機に接続された入出力装置対応に当該入
    出力装置へのI/O実行要求を受け付けるための制御手段
    であるサブチャネルが1つ以上あり、各OSは1つ以上の
    前記サブチャネルを占有し、前記制御プログラムは各OS
    にI/O実行モードとして第1のモードあるいは第2のモ
    ードを指定し、各OSのI/O実行要求を前記指定されたI/O
    実行モードに従って制御する計算機システムであって、 前記制御プログラムが各サブチャネルに占有元のOSのI/
    O実行モードを設定する手段と、 走行中のOSがI/O実行を要求したサブチャネルに対応す
    る入出力装置がビジイであることに応じて、当該サブチ
    ャネルのI/O実行モードを判定する手段と、 当該サブチャネルのI/O実行モードが第1のモードであ
    るとき、当該入出力装置がビジイであることを前記I/O
    実行を要求したOSに報告する手段と、 当該サブチャネルのI/O実行モードが第2のモードであ
    るとき、前記I/O実行要求を当該サブチャネルで受け付
    け、前記ビジイが解除されるまで前記入出力装置に対す
    るI/O実行を保留する手段とを有する計算機システム。
  2. 【請求項2】請求項1に記載の計算機システムにおい
    て、 I/O実行を要求したOSに前記ビジイを報告したことに応
    じて、当該サブチャネルにビジイ入出力装置報告を記憶
    しておく手段と、 前記入出力装置がビジイからフリーになったことに応じ
    て、前記入出力装置に対応するサブチャネルの入出力実
    行モードを判定する手段と、 前記サブチャネルが第1のモードであることに応じて、
    前記サブチャネルにビジイ入出力装置報告が記憶されて
    いるかを判定する手段と、 ビジイ入出力装置報告が記憶されていることに応じて、
    前記サブチャネルを占有するOSへ当該入出力装置がビジ
    イからフリーになったことを示す割り込み要因を発生す
    る手段とを有する計算機システム。
  3. 【請求項3】1台の計算機において制御プログラムの管
    理により複数のオペレーティング・システム(OS)が走
    行し、前記計算機に接続された入出力装置対応に当該入
    出力装置へのI/O実行要求を受け付けるための制御手段
    であるサブチャネルが1つ以上あり、各OSは1つ以上の
    前記サブチャネルを占有し、前記制御プログラムは各OS
    にI/O実行モードとして第1のモードあるいは第2のモ
    ードを指定し、各OSのI/O実行要求を前記指定されたI/O
    実行モードに従って制御する計算機システムであって、 前記制御プログラムが各サブチャネルに占有元のOSのI/
    O実行モードを設定する手段と、 走行中のOSがI/O実行を要求したサブチャネルに対応す
    る入出力装置を制御する制御装置がビジイであることに
    応じて、当該サブチャネルのI/O実行モードを判定する
    手段と、 当該サブチャネルのI/O実行モードが第1のモードであ
    るとき、当該制御装置がビジイであることを前記I/O実
    行を要求したOSに報告する手段と、 当該サブチャネルのI/O実行モードが第2のモードであ
    るとき、前記I/O実行要求を当該サブチャネルで受け付
    け、前記ビジイが解除されるまで前記入出力装置に対す
    るI/O実行を保留する手段とを有する計算機システム。
  4. 【請求項4】請求項3に記載の計算機システムにおい
    て、 I/O実行を要求したOSに前記ビジイを報告したことに応
    じて、当該サブチャネルにビジイ制御装置報告を記憶し
    ておく手段と、 前記制御装置がビジイからフリーになったことに応じ
    て、前記制御装置に接続された入出力装置に対応するサ
    ブチャネルの入出力実行モードを判定する手段と、 前記サブチャネルが第1のモードであることに応じて、
    前記サブチャネルにビジイ制御装置報告が記憶されてい
    るかを判定する手段と、 ビジイ制御装置報告が記憶されていることに応じて、前
    記サブチャネルを占有するOSへ当該制御装置がビジイか
    らフリーになったことを示す割り込み要因を発生する手
    段とを有する計算機システム。
  5. 【請求項5】1台の計算機において制御プログラムの管
    理により複数のオペレーティング・システム(OS)が走
    行し、前記計算機に接続された入出力装置対応に当該入
    出力装置へのI/O実行要求を受け付けるための制御手段
    であるサブチャネルが1つ以上あり、各OSは1つ以上の
    前記サブチャネルを占有し、前記制御プログラムは各OS
    にI/O実行モードとして第1のモードあるいは第2のモ
    ードを指定し、各OSのI/O実行要求を前記指定されたI/O
    実行モードに従って制御する計算機システムであって、 前記制御プログラムが各サブチャネルに占有元のOSのI/
    O実行モードを設定する手段と、 走行中のOSがI/O実行要求において指定した全てのチャ
    ネルパスがビジイであることに応じて、当該I/O実行が
    要求されたサブチャネルのI/O実行モードを判定する手
    段と、 当該サブチャネルのI/O実行モードが第1のモードであ
    るとき、当該チャネルパスがビジイであることを前記I/
    O実行を要求したOSに報告する手段と、 当該サブチャネルのI/O実行モードが第2のモードであ
    るとき、前記I/O実行要求を当該サブチャネルで受け付
    け、前記ビジイが解除されるまで前記入出力装置に対す
    るI/O実行を保留する手段とを有する計算機システム。
  6. 【請求項6】請求項5に記載の計算機システムにおい
    て、 I/O実行を要求したOSに前記ビジイを報告したことに応
    じて、当該サブチャネルにビジイチャネルパス報告を記
    憶しておく手段と、 前記チャネルパスがビジイからフリーになったことに応
    じて、前記チャネルパスに接続された入出力装置に対応
    するサブチャネルの入出力実行モードを判定する手段
    と、 前記サブチャネルが第1のモードであることに応じて、
    前記サブチャネルにビジイチャネルパス報告が記憶され
    ているかを判定する手段と、 ビジイチャネルパス報告が記憶されていることに応じ
    て、前記サブチャネルを占有するOSへ当該チャネルパス
    がビジイからフリーになったことを示す割り込み要因を
    発生する手段とを有する計算機システム。
JP1221429A 1989-08-30 1989-08-30 計算機システム Expired - Fee Related JP2695933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1221429A JP2695933B2 (ja) 1989-08-30 1989-08-30 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1221429A JP2695933B2 (ja) 1989-08-30 1989-08-30 計算機システム

Publications (2)

Publication Number Publication Date
JPH0385657A JPH0385657A (ja) 1991-04-10
JP2695933B2 true JP2695933B2 (ja) 1998-01-14

Family

ID=16766605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1221429A Expired - Fee Related JP2695933B2 (ja) 1989-08-30 1989-08-30 計算機システム

Country Status (1)

Country Link
JP (1) JP2695933B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100466221B1 (ko) * 2002-08-16 2005-01-13 한미반도체 주식회사 트리밍장치의 프레스금형
JP2015161053A (ja) 2014-02-28 2015-09-07 株式会社島精機製作所 編地の解れ止め方法

Also Published As

Publication number Publication date
JPH0385657A (ja) 1991-04-10

Similar Documents

Publication Publication Date Title
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
JP3653159B2 (ja) 仮想計算機システム間の仮想計算機移動制御方法
JP3431972B2 (ja) 仮想ディスクシステム
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
EP3594807A1 (en) Virtual disk file format conversion method and device
US8738890B2 (en) Coupled symbiotic operating system
JPH06309267A (ja) I/o装置と拡張記憶装置又は主記憶装置の間でデータを転送する方法
JPH0212553A (ja) 仮想計算機システム
JP2012089105A (ja) メモリシステム及びホストコントローラ
US5392409A (en) I/O execution method for a virtual machine system and system therefor
JPH06103213A (ja) 入出力装置
JP2014235501A (ja) ストレージ装置の制御方法、ストレージ装置及び情報処理装置
JP2008226040A (ja) 情報処理装置及びコマンド多重度制御方法
CN112015352B (zh) 存储块设备识别装置、系统和存储块设备读写方法
JP2695933B2 (ja) 計算機システム
WO2017119918A1 (en) Virtual machine messaging
JP2610966B2 (ja) 仮想計算機制御方法
TWI798976B (zh) 直接記憶體存取電路、其操作方法,以及記憶體存取指令的產生方法
JP2864255B2 (ja) 仮想計算機方式の計算機システム
JPS6336012B2 (ja)
JPS6218074B2 (ja)
KR920004409B1 (ko) 가상 컴퓨터를 위한 입.출력 처리 시스템
WO2023146604A1 (en) Distributed accelerator
JPH04347756A (ja) チャネル状態読み出し方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees