JPS605011B2 - オペレ−シヨン・スタ−ト防止装置 - Google Patents

オペレ−シヨン・スタ−ト防止装置

Info

Publication number
JPS605011B2
JPS605011B2 JP56194616A JP19461681A JPS605011B2 JP S605011 B2 JPS605011 B2 JP S605011B2 JP 56194616 A JP56194616 A JP 56194616A JP 19461681 A JP19461681 A JP 19461681A JP S605011 B2 JPS605011 B2 JP S605011B2
Authority
JP
Japan
Prior art keywords
status
block
interrupt
subchannel
ucb
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
JP56194616A
Other languages
English (en)
Other versions
JPS57125447A (en
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS57125447A publication Critical patent/JPS57125447A/ja
Publication of JPS605011B2 publication Critical patent/JPS605011B2/ja
Expired legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10—Program control for peripheral devices
    • G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】 本発明の分野 本発明は、多重処理システムが、割込みを介して装置状
況情報の通信に対して明瞭な制御を確実に維持するよう
にし、かつ上言己多重処理システムが、関連した周辺装
置におけるオペレーションのスタートに関してそのよう
な装置状況情報の利用に対して明瞭な制御を確実に維持
するようにする装置に関する。
解決すべき問題及び主たる目的 複数の中央処理ェレメント(CPェレメント又はCP)
がオペレーティング・システム(監視フ。
ログラム)「主記憶装置、入出力装置などを共用する今
日の緊密結合形多重処理システムにおいて、周辺装置の
オペレーションをスタートしようとする試みは、主記憶
装置の中にその周辺装置独特に関連して記憶されている
装置制御ブロック(UCB)に含まれた状況情報に基い
て行われる。これについては、IBM社の出版物「OS
監視プログラム論理」(OSI/OSuperviso
rLogicGY28−6616Pa袋s3〜9)を参
照されたい。そのようなシステムでは共用された装置に
関して働いているCPは関連したUCBへ衝突的アクセ
スを行ない、破壊効果を生じる場合がある。例えば、1
個のCPが他のCPと共用している周辺装置でオペレー
ションをスタートしようとし、他のCPは同じ周辺装置
の状況と関連した割込みを処理している場合がある。
これらのCPは、双方が共通にアクセスできない異なつ
た1/0チャネル、サブチャネル、制御ユニット通路と
通信関係にあるかも知れない。オペレーションをスター
トしようとしている第1のCPはそのCPと協力関係に
ある1/0通路を介して、周辺装置の状況を明示的にテ
ストし、その通路に表示された状況情報を回複するよう
にプログラム化されてよいが、そのようなテストは、第
2のCPからのみアクセス可能な通路に表示された状況
情報までも第1のCPへ回複させるものではない。これ
についてはIBM社の出版物「IBMシステム/370
操作解説書」( IBM S$tem/ 370 Pr
inciples ofOperationGA22一
7000pp208,209)及び前記のGY28−6
616を参照されたい。第1のCPによってUCBがロ
ックされると、割込みを処理している第2のCPはUC
Bの更新を妨害される。従って周辺装置の動作は、それ
が旧いものであると識別できない状況情報に基いて開始
されるかも知れない。これは破壊的なエラーを生じるか
も知れず、中央のオペレーティング・システムは、エラ
ーの分析及び回復に無駄な「オーバヘッド」処理を負相
させられることになる。例えば、第1のCP(CP−A
)がDASDファイルでディスク・パックの手作業交換
に関連した割込みを処理しており、第2のCP(CP−
B)は除去されるパックについて出力(書込)動作を開
示するために働いていると仮定する。
更に、CP−BはDASDファイルに関連したUCBへ
の排他的(ロックされた)アクセスを有しているものと
仮定する。このような状況において、出力動作は譲った
(新しく取付けられた)ディスク・パックに関してCP
一Bによって開始されるかも知れない。なぜならば、C
P−Bは割込みに関連した状況の変化を識別することが
できないからである。その理由は、パックの取換えを反
映する条件は、CP−Aが最初に割込みを受入れた時、
CP−Aに関連した接続通路からクリアされてしまって
おり、CP一Bが動作しようとしている1/0通路中に
必ずしも表示されないからである。結果の出力動作は、
新しく交換されたパックの前に記録されていたデータの
上で重ね書きを実行し、それによって有効又は重要なデ
ータを破壊する。本発明の目的は、そのようなCPの衝
突及び関連した破壊効果を避ける装置を提供することで
ある。
現在の多重処理システムにおいて、そのような衝突は、
共用されている装置がそれぞれCPと通信するためのそ
れぞれの通路を介して、更新された状況条件を冗長的に
各CPへ通信するように、共用されている装置を適合化
することによって避けられる。
しかし、状況の多重タギングと呼ばれるこの手順は、全
てのCPが単一の状況変化事象に関して冗長的に割込み
を処理することを必要とする。これは明らかに、1つの
状況変化事象を1つのCPによって処理させることより
も能率が悪い。本発明の他の目的は、多重処理システム
の中央処理ェレメントをして、共用されている装置の状
況変化に関連した割込処理を協働して行わせ、かつ関連
した状況情報の処理を協働して行わせる装置を提供する
ことである。
この場合、1つの状況変化事象は1つの中央処理ェレメ
ントによって処理されてよく、しかもシステムは関連し
た周辺装置における新しい動作のスケージューリングに
関してエラーを生じる可能性はない。更に、1/0チャ
ンネルを中央プロセッサとダイナミックに変化する浮動
協働関係に置き、そのようなチャネルによって共用され
る1/0処理サブシステムへ、周辺装置と通信する通路
を割当てる責任と、そのような割当てに関連した計算処
理を管理する責任とを委任し、それによって中央の複合
体及びそのオペレーティング・システムからそのような
通路を指定しかつ管理する負坦を軽減するようにした提
案がなされたことがあった。
(米国特許3725864を参照)。そのような所謂r
浮動チャネル」システムにおいては、「多重タギング一
法の非効率性は、中央複合体を構成する複数のCPへチ
ャネル通路をダイナミックな変動性をもって割当てるこ
とによって複合化され、1つの状況変化事象に関する割
込処理を冗長的に各CPへ要求することば困難となる。
更に上記米国特許において、1/0処理サブシステム中
のそれぞれの周辺装置へ1つのサブチヤネルを与えるこ
とが提案された。
これは明らかに、任意の時点で周辺装置を中央複合体ヘ
リンクすることができる物理的チャネル通路の数を無視
して、中央複合体に関して、それぞれの周辺装置のため
独特の通信ノードを設けようとするものである。しかし
サプチャネル記憶装置のそのような集中化は、関連した
周辺装置のオペレーションが常に最新の状況情報に関し
てスタートされることを確実にするものではない。例え
ば、状況を多重タギングする場合でも、状況は1つの通
路を介して周辺装置から1つのCPへクリアされ、その
直後に他のCPからその周辺装置へ同一の通路を介して
信号が送られ、かくて上記他のCPが変更された状況を
知らされることなく周辺装置のオペレーションがスター
トされる場合がある。本発明は、そのような浮動チャネ
ル環境において、共用された装置からの状況割込みを1
つのCPで処理させ、他のCPが同一の装置に関して同
時的動作を実行している時でも、システムに誤ったオペ
レーション・スタートを実行させることのない装置を提
供する。
本発明の要約 本発明に従えば、1群の浮動1/0チャネルと関連した
1/0処理装置(lOP)を介して複数のCPヘリンク
された周辺装置で状況変化が生じると、lOPは、その
周辺装置に関連した独特のサブチャネルに、状況係属表
示(SP)、状況変化情報、及びCPに関する割込係属
(IP)表示を記憶する。
これらのSP及びIP表示は、全く異なったCP動作に
よって検査されかつクリアされる。『条件は、オペレー
ティング・システムと独立して動作しているCPがサブ
チャネルと関連した1/○割込みを受入れた時クリアさ
れる。しかし、SP条件及び関連した状況情報は、m条
件がクリアされた後でもサブチャネルに記憶されたまま
である。
本発明に従えば、中央システム複合体は、本発明と連係
して動作している共通のオベレーテイング・システムに
よつて、サプチヤネルをテストしかつ保存された状況を
回復することを要求される。そのようなテスト及び回復
は、不正確又は古い状況を参照して周辺装置のオペレー
ションがスタートされることを妨げる環境の下で実行さ
れる。それぞれのCPには、新しく定義されたサブチャ
ネル・テスト(TSCH)命令によって指定された動作
を実行する装置が設けられる。
この動作は、オベレ−ティング・システムをしてSP条
件のために指定されたサプチヤネルを明示的にテストさ
せ、かつ状況を原子的(割込不可能な)動作モードへ回
復させる。TSCH動作を実行している時、CPはSP
条件があるかどうかについてプログラム指定されたサブ
チャネルを検査し、SP条件があればそれをクリアし、
もし適当であれば状況を回復し、SP条件がクリアされ
ているかどうかを示す条件コードをセットして、シーケ
ンス・フランチに備える。これにより、オペレーティン
グ・システムはCPUをしてVCB状況を更新させるこ
とができる。本発明の装置はプログラミング上の約束に
協力して動作する。この約束は、TSCH動作が状況係
属サブチャネルに関して正当な時間に実行されること、
従ってUCBヘアクセスしているCPが周辺装置をスタ
ートさせるための信号をサブチャネルを介して送る前に
、そのUCBが更新されることを確実にするものである
。上記の約束は、UCBが1個のCPに対してのみ直列
ベースでアクセス可能であること、かつUCBヘアクセ
スしているCPが、関連した周辺装置でオペレーション
をスタートするよう働いている時、装置起動命令(もし
必要ならばTSCH動作はこの命令によって挿入されて
よい)の実行中、SP条件があるかどうかについてサブ
チヤネルを検査しなければならないことを必要とする。
本発「明に従う装置の動作に望ましいものであるが必須
要件ではない他の要件として、UCBヘアクセスしてい
るCP(これは、例えば周辺装置のオペレーションをス
タートするため働いている)は、そのUCBの制御を放
棄する直前に、そのUCBへのアクセスを支配している
ロック・ワ−ド内のフラグ・フィールドを検査するよう
に動作しなければならない。上記のフラグ・フィールド
は、このCPがUCBの制御を保有している間に、他の
CPがそのUCBへのアクセスを得ようとしている(勿
論、不成功に終っている)かどうかを表示する。もしそ
のような競合条件が存在すれば、UCBの制御を放棄し
ようとしているCPは、TSCH動作を実行し、もし必
要ならば、UCB内の状況を更新しなければならない。
上記の追加的要件、及び関連したフラグ検査及び状況回
復動作によって、サブチャネル状況の変化に関連した割
込タスクを処理しており、かつUCBヘアクセスするこ
とのできないCPは、そのタスクに関して動作を打切る
ことができ、一方、その時UCBの制御を有しているC
Pは打切られた動作の状況更新部分を確実に完了するこ
とができる。前述したような、本発明に従う装置の望ま
しい動作モー日こおいて、前記の約束は、米国特許38
86525に開示される「比較交換」装置の動作として
実行される。
そのような動作によって、UCBへのアクセスを得よう
と努めているCPは、UCBのロック・フィールドを変
更してそのような競合条件を表示し、UCBがロックさ
れているかどうか(即ち、他のCPによって制御されて
いるかどうか)を決定するため、ロック・フィールドの
前の内容を検査する。もしUCBがロックされていれば
、競合しているCPは、適用可能なプログラム要件に従
って、他の動作を実行するか、「ロック上で空転する」
(即ち適当な遊び時間の後にUCBロックの検査を反復
する)ことができる。他方、割込タスクを処理している
プロセッサがUCBへのアクセスを獲得すると、そのプ
ロセッサはそのプログラムによってTSCH動作を実行
しなければならない。
それによって、そのプロセッサはSP条件を「直接に」
クリアし、タスクを完了する。(サブチャネルから状況
を回復し、UCBを更新し、その他の動作を実行する。
)本発明の具体的説明 1 前書き 多重処理(M円)動作のために構成された現在のデータ
処理システムにおいて、周辺装置は、複数の1/0チャ
ネル通路を介して上位中央処理複合体中の複数の中央処
理ェレメント(CP)と通信する。
そのようなMPシステムにおいて、2個のCPは、1個
の共用される周辺装置に関して異つた機能を実行するた
め、共用されたオペレーティングシステム(監視プログ
ラム)の下で同時に動作してよい。かくて、1個のCP
は周辺装置で動作を開示するために働いてよく、他のC
Pはその周辺装置から送られた状況情報の変化に関連し
た割込タスクを処理してよい。そのようなシステムにお
いて、所与の周辺装置の動作をスケジュールするための
主たる参照事項としてオペレーティング・システムによ
って使用される装置状況情報は、主記憶装置中の装置制
御フロック(UCB)に記憶されている。
それぞれの周辺装置は、独特に関連ずけられたUCBを
有している。UCBは1時に1個のCPによってのみ有
効にアクセス可能であるから、複数のCPが相互に衝突
する場合が生じ、その中の1個のCPが時代遅れの状況
情報を参照して関連した周辺装置の動作を開始するかも
知れない。なぜならば、UCBは最初の起動したCPに
よって制御されており、従って現在新しい状況情報を受
取るためにアクセスできないからである。更に、当業者
によって認識された事項であるが、もしシステムの1/
0チャネルがCPに対してダイナミックな変動乃至浮動
協力接続関係を有するように適合化され、それによって
CPが1/0チャネル処理サブシステムへ1/0動作を
実行するためのチャネル通路を選択する責任、及びその
ような通路のため計算処理を管理する責任を委任するこ
とができれば、システムをもっと有効に動作させること
ができる点が認識された。
1/0動作の上記の局面に関連した中央の作業負荷を除
くことができるからである。
前述したように、そのようなシステム環境において、ま
た特に浮動チャネル(周辺装置当り1個のサブチヤネル
)形の環境において、周辺装置の動作を開始すべく作業
しているCPが、割込みに応答する他のCPによって処
理されている重要な状況変化情報を見落す可能性がある
。
割込みが受入れられた時、サブチヤネルはクリアされる
からである。ここでrサブチヤネル」は、1つの1/○
動作を維持するのに必要なチャネル装置の集合を意味す
るものとし、データ記憶アドレス、転送カウント、及び
上記動作に関連した状況及び制御情報を記憶するため、
チャネル処理サブシステムによって使用される装置を含
む。変更された状況は、中央複合体の主たる状況参照手
段であるUCBに必ずしも書込まれない。なぜならば、
UCBは1時に1個のプロセッサによってのみアクセス
可能だからである。従って、UCBは周辺装置動作を開
始すべく作業しているCPによって制御され、周辺装置
に関して割込みを処理しているCPからアクセスできな
い。これは誤ったデー外こ基いて周辺装置動作を開始さ
せ、エラー分析及び回復手順の重い負坦を、中央複合体
及び1/○サブシステムに課することになる。例えば、
1個のCPが指定されたディスク・パック装置に関して
出力(書込)データ転送を準備しかつ開始し、一方、他
のCPがその指定されたパックの除去(例えばオペレー
タによって)及び異ったパックとの置換に関連した「状
況変化」割込を処理している場合の影響を考えてみる。
この場合の影響として、交換されたパック上の有効なデ
ータが重ね書きされ、破壊されることになる。この種の
エラーの検出及び訂正は、長時間の分析及び回復処理の
ために中央システムへ負坦をかけ、そのためシステムの
生産的効率は低下する。この問題は、1/0動作を開始
しようしているCPへ装置状況情報を利用させるように
した、現在の(先行技術の)MPシステムで採用されて
いる手順及びメカニズムから来ている。現在のシステム
において、1/0動作の開始は、一般的なオペレーティ
ング・システム制御プログラムの1部である1/0監視
プログラムのスケジユーリング・ェレメントによって指
定され(例えば前記のGY28一6616の17〜21
頁を参照)、主として「論理チャネル」装置に含まれる
状況情報に依存している。論理チャネル装置の「核一は
主記憶装置の中におかれた装置制御ブロック(UCB)
である。(前記GY28一6610 3〜9頁を参照)
。それぞれのUCBは1つの装置ユニットと独特に関連
させられている。UCBにある状況情報は、1/0監視
プログラムの割込処理制御の下で、又は既知の命令(例
えばTest l/○及びTestChannel)に
よって明示的に指示された「チャネル及び装置」テスト
動作によって変更されることができる。上記の命令は、
装置動作を実際に開始する開始命令(例えば、Sta比
1/0)に先行する(GY28−6610 17一2
1頁、GA22−7000 69〜74、鰍〆 95〜
101、185〜18玖208〜239及び249〜2
52を参照)。そのような明示的に指定されたテスト動
作によって、中央システム複合体は、状況変化条件の記
録が指定されたチャネルを含む装置へ至る特定の通路に
係属しているかどうかを識別することができる。
状況が装置で係属している時、又は割込みがチャネル中
で係属している時、上記のテスト動作によって、中央シ
ステムは明示的にプログラムされた動作によって状況情
報を回復することができる。我々は、問題が生じるのは
次のような理由からであることを発見した。即ち、1/
0割込みの受入れに関連した割込処理(UCBの更新を
含む)は、その受入に続く不確定時間の間完了しないに
もかかわらず、上記の係属条件は、CPが1/0割込み
を受入れた時、全て終了することである。CPによる割
込みの受入れは、CPの他の動作を制御する監視及び問
題レベルのプログラムとは無関係のマシン・レベルで実
行される動作である(前記GA22−7000、69〜
74頁を参照)。そのような動作は、1/0サブシステ
ムによって表示された割込要求条件に応答してトリガさ
れ、応答しているCPのプログラム状態に変化を生じ(
斑W交換)、それによってそのCPの制御が監視レベル
の割込処理(IH)プログラムへ移される。このプログ
ラムによって、CPは割込みの原因(1/0、マシン・
チェックなど)及びその源を決定する(例えば1/0割
込みについては、IHはCPをして入出力装置を識別せ
しめ、かつ割込要求が受取られたチャネル一制御装置の
通路を決定せしめる)。更に上記のプログラムにより、
CPは特定の割込条件によって必要とされる動作又はタ
スクを実行する(例えば、1/0割込みについては、状
況変化情報の評価及び論理チャネルの更新など)。その
ようなシステムにおいて、CPを中断させる信号は、状
況が入出力装置から1/0チャネル処理サブシステム(
lOP)へ通知された後に、かつ入出力装置における関
連した状況係属条件がクリアされた後に、lOPによっ
て設定される。
この信号が係属している間、関連した「割込係属一条件
がlOPの制御の下でその入出力装置に関連したサブチ
ャネル中に表示される。CPが信号に応答しかつ割込み
を受入れた時、割込係属条件はサブチャネルからクリア
され、関連した状況変化情報が主記憶装置中の中間バッ
ファに入れられる(これは、後にCPプログラムの制御
の下で、UCBへ転送される)。我々は問題の主たる原
因が次のようなものであることを発見した。
即ち、lOP信号に応答したCPが割込みを受入れてか
らUCBが実際に更新されるまでの間に、変化した状況
を表わす条件はもはや中央複合体の外部で表示されない
ことである。従って、この時間中、他のCPが入出力装
置への特定の通路を明示的にテストしても、それは現在
UCBにある状況が最新なものであるかどうかを示すも
のではない。従って、もし上記他のCPがUCBへのア
クセスを制御していれば、それが入出力装置及びサブチ
ャネルに関して明示的にテストを実行した後であっても
、時代遅れのUCB状況を参照して入出力装置の動作を
開始する可能性がある。この問題は、浮動チャネルMP
環境においてもっと深刻に表われる。
この環境において、サプチャネルへ割込係属条件を記憶
することは、状況変化条件が周辺装置からlOPへ複数
の可変的協力関係にあるチャネル、インターフェイス通
路の1つを介して通知されることと関連している。lo
pサフシステム及びそれと協力関係にある周辺通路機構
で適当な安全策を横じておかないと、中央システムがチ
ャネル通路の1つを介して明示的に周辺装置をテストし
ても、状況変化条件を検出できない場合がある。本発明
は、少なくとも2つの個別的なメカニズムによって、そ
のような事態を除くことを目的とする。
1つのメカニズムは、lOPサブシステムの中で又はそ
れと協力して動作し、状況と関連した割込信号と独立し
て、かつ中央複合体がその割込信号に応答して割込みを
受入れる動作とは独立して、サブチャネル内に状況係属
(SP)条件を表示する。
このSP条件及び関連した状況変化情報は、中央複合体
がその監視プログラムの制御の下で明示的に動作して、
その条件をクリアし状況を回復するまで、サブチャネル
内に記憶されたままである。時代遅れのUCB状況を参
照して装置動作を開始させようとする中間的試みが排除
される場合にのみ、上記の明示的動作が起るようにプロ
グラム可能である。本発明に関連した他のメカニズムは
、中央複合体のCPの中で又はそれと協力して動作し、
CPが独特の「サブチヤネル・テスト」(TSCH)動
作を実行するようオペレーティング・システムに命令を
出させる。
上記の動作は指定されたサブチャネルの検査、そのサブ
チャネルに表示されたSP条件のクリア、SP条件があ
ればサブチャネルから状況情報を除去すること、クリア
動作の機能としてプログラム・ブランチが起るか起らな
いかの条件を設定することを含む。除去された状況は後
に評価されてよく、もし適当ならば、オペレーティング
・システムの下でUCBへ入れうれる。この第2のメカ
ニズムは、新しく定義された特検命令であるTSCHに
応答してその動作を実行するように適合化される。その
ような侍検命令は、監視プログラム状態にあるCPによ
ってのみ実行可能である(前記のGA22−7000、
30頁を参照)。TSCH命令は原子的(割込不可能な
)モードでのみ実行される。上記のモードは動作が割込
まれないことを確実にし、それによって動作が割込まれ
る場合に生じる不確かな又は不明瞭な潜在的影響を除く
ことができる。第3のメカニズムは、それ自体既知であ
るが、本明細書においては新しい意味を持たせてある。
この第3のメカニズムによって、UCBへのアクセスを
妨害されたCPは、そのUCBへフラグ条件を記憶する
という現時点で望ましい(必ず必要というわけではない
)動作を実行することができる。本明細書で説明される
プログラム制限の下で、このフラグは最終的にそのUC
Bに対するアクセス制御を有しているCPによって検査
されねばならず、フラグがアクチブであることが発見さ
れると、そのCPは関連したサプチャネルに関してTS
CH動作を実行する必要がある。フラグ記憶動作は米国
特許3886525に説明される「比較交換J装置によ
って実行され、その効果も上記米国特許明細書に説明さ
れている。フラグ検査の動作は、UCBへのアクセスを
有していたCPがそのUCB制御を放棄する直前に起る
ように、プログラム上の約束によりスケジュールするこ
とができる。フラグ記憶、フラグ検査、及び条件的なT
SCH動作により、割込タスクを処理している間にUC
Bへのアクセスを妨害されたCPは、そのタスクの実行
を打切ることができ、かつその時UCBを制御している
CPは、打切られたタスクの状況更新部分を有効に完了
することができる。これにより、UCBアクセスを妨害
されたCPが、UCBが解放されるまでそれを繰返して
検査することにより、無駄に空転する非能率性を除くこ
とができる。2 「状況喪失」問題を生じる可能性のあ
る動作の具体的説明第1図及び第2図は、本発明の課題
である「状況喪失」問題が生じる「先行技術」の多重処
理(M円)システムを示し、第3図及び第4図は第1図
及び第2図のシステムでそのような問題を起す動作の例
を示す。
今後、第1図の構成は「通路ごとのサブチャネル」(S
PP)構成と呼び、第2図の構成は、「周辺装置ごとの
非変更サブチャネル」(SPD)構成と呼ぶことにする
。「非変更」の語は、第2図の構成と本発明を組込んだ
「変更されたJSPD構成(第5図乃至第13図を参照
して説明される)とを区別するために使用される。これ
らの名称が暗示するように、SPP構成は、共用される
装置と中央複合体との間のそれぞれの個別的チャネル通
路のために、別個のサブチヤネルを含む。一方、SPD
構成は、それぞれの周辺装置について、その装置に関連
した全てのチャネル通路に共通の1つだけのサブチャネ
ルを含む。SPP構成は2個又はそれ以上のCPを含む
。第1図において、それらはCP1(16)及びCP2
(18)として示される。これらのCPは主記憶装置2
0及び共用される装置(ディスク・パック)n(22)
ヘアクセスする。主記憶装置20は装置nと独特に関連
しているUCBnを含む。装置nは2つ又はそれ以上の
通路を介してCP及び主記憶装置20へ接続されてよい
。図を簡単にするため、2つの通路が示される。1つは
CPI及び主記憶装置へ至る第1通路a(n)であり、
他の1つはCP2及び主記憶装置へ至る第2通路b(n
)である。
通路a(n)は制御ユニットa(24)及びチャネル2
6(CHI)を含む。通路b(n)は制御ユニットb(
28)及びチャネル30(CH2)を含む。通路a(n
)及びb(n)は、相互に全く別個のものであってよく
、別個の関連したサブチヤネルを有する。それらはサブ
チャネルnl(32)及びサブチヤネルn2(34)と
して示される。第2図のSPD構成(これは米国特許3
725864に開示される)も2個又はそれ以上のCP
を有する。
それらはCP1(36)及びCP2(38)として示さ
れる。これらのCPは主記憶装置40及び装置n(42
)へ共通にアクセスする。主記憶装置40はUCBn(
44)を含み、このUCBは装置nと独特に関連ずけら
れている。しかし、この構成は複数の浮動チャネル46
を含む。浮動チャネル46は、CP及びそれと協力関係
にある装置(装置nを含む)の間で通信を行わせるため
、共通の1/0処理(lop)サブシステム48によっ
て可変的に割当可能である。更に、チャネル46はlO
Pサブシステム48を介して単一の共通サブチャネル記
憶装置50ヘアクセスする。記憶装置50の1部分がサ
ブチャネルn(52)として示される。サブチャネルn
(52)は装置n(42)のため排他的に使用され、チ
ャネル46を介して実行される1/0取引に関して装置
n(42)のサブチャネルとして使用される。SPD構
成において、装置n(42)は、制御ユニットa(54
)を通る第1の通路a(n)を介してチャネル46へ接
続され、かつ制御ユニットb(56)を通る第2の通路
b(n)を介してチャネル46へ接続される。
制御ユニットa(54)はチャネル46の任意の1つ又
は全てに対して物理的接続リンクを有してよく、接続リ
ンクの1つがリンク60として示される。同様に、制御
ユニットb(56)はチャネル46の任意の1つ又は全
てに対して物理的接続リンクを有してよく、接続リンク
の1つがリンク62として示される。チャネル46はl
OPサブシステム48を介してCP1(36)及びCP
2(38)と通信してよい。従って、通路a(n)の物
理的構成は、lOPサブシステム48及び/又は制御ユ
ニットa(54)によって、制御ユニットa(54)と
チャネル46との間のりンクがどのように選択されるか
によって、時間とともに変化することが理解されよう。
同様に、通路b(n)の物理的構成も、lOPサブシス
ム48及び/又は制御ユニットb(56)の制御の下で
ダイナミックに変えられることが分る。SPP又はSP
D構成のいずれにおいても、共通にアクセスされる装置
n(22又は42)は、「アンタグ」モードにおいて1
つの通路(例えばa(n)又はb(n)上で状況変化条
件が係属しているか、又は「多重タキング」モード‘こ
おいて全ての通路則ちa(n)及びb(n)上で状況変
化条件が係属していることを表示するように適合化され
てよい。
SPP又はSPD構成のいずれにおいても、上記のいず
れのモードでも動作できるように適合化された装置nを
含む場合、本発明が技術課題としている「状況喪失」問
題が起る。第3図及び第4図は、装置nがそれぞれ「ア
ンタグ」又は「多重タギング」モードで動作するよう適
合化されている場合、どのようにして上言己の問題がS
PP構成で起るかを示す。これらの例及び後述する「変
更された」SPD構成の説明から、当業者は、どのよう
にして「非変更」SPD構成において上記の問題が起る
かを容易に理解することができよう(装置nはアンタグ
又は多重タキングのいずれのモード‘こも適合化されて
いるものとする)。第3図において、装置nはCHI及
びCPIについてのみ(即ち通路a(n)についてのみ
)、アンタグ・モードで動作しているものと仮定する。
装置nがCPIへ与えるべき状況を有している時、制御
ユニットa24を通して働いている装置nは、通路a(
n)を通して「状況係属」信号72を発生する。CHI
が自由になった時(CHIは他の制御ユニットのために
使用中であるかも知れない)、それは受入信号76によ
って応答し、「割込係属」表示78と共に関連した状況
情報を一時的にサブチャネルnlに記憶する。同時に、
CHIはサブチャネルnlに関連した割込要求をCPI
へ表示させる。CPIが自由になった時、それは割込受
入信号を発生し、これはCHIをして割込係属条件をク
リアさせ、かつサブチャネルnlから主記憶装置201
こおいて全てのチャネルのための中間状況バッファとし
て永久的に割当てられた記憶領域へ装置n状況情報を転
送させる。次いでCPIは82で示されるように関連し
た割込処理の実行を開始する。割込処理タスクを実行し
ている間、CPIは状況情報を中間状況バッファから装
置n状況を評価するため一時的に割当てられた1つ又は
それ以上の中間バッファへ転送する。割込処理を実行し
ている間、CPIはUCB内のロック・ワードをテスト
することによってUCBnヘアクセスすることを試みて
よい。84及び86で示されるように、これらの試み/
テストは不成功であるかも知れない。
なぜならば、その時UCBn上のロックはCP2によっ
て制御されており、90で示されるように、CP2は装
置nで動作を開始する作業を進めており(通路b(n)
を介して)、また92で示されるように、以前からUC
Bnロックの制御を有しているかも知れないからである
。この状態において、94で示されるように、CP2及
びCH2は、CPIがUCBnにある状況情報を更新し
ようとしているにもかかわらず、UCBnで利用可能な
古い状況情報のみを参照して、制御ユニットb28を介
して装置nに対するスタート1/0(SIO)命令を実
行する可能性がある。第4図は第3図と同じSPP構成
であるが、装置nが多重タギングへ適合されている場合
を示す。
110及び112で示されているように、装置nはその
状況係属条件を通路a(n)及びb(n)の双方を介し
て表示する。
しかし、これらの通路における構成要素(a(n)にお
いては制御ユニットa24及びCHI(26)、b(n
)においては制御ユニットb28及びCH2(30)は
異つた作業負荷を有するので、上記状況係属条件に対す
るそれぞれの構成要素の応答は、異つた時点に生じる。
通路a(n)における時点は114で示され、通路b(
n)における時点は1 16で示される。それらの時点
で、サブチャネルnl(32)及びサブチャネルn2(
34)へ状況が記憶される。従って、CPI及びCP2
に関する割込係属条件の表示は異つた時点118又は1
20で生じ、それによってCPI及びCP2は、1つの
状況変化事象に関して、そのような異つた時点で始まる
冗長的な割込処理122及び124を実行するかも知れ
ない。CPIの割込処理において、CPIは、126で
示されるように、CP2がUCBnへのアクセスを試み
る前に、UCBnをロックすると共に状況を更新し、ま
た127で示されるようにそのロックを解放するかも知
れない。CPIがその割込みを処理している間、128
で示されるように、CP2は装置nに関して動作を開始
する作業を進めていてよく、また130で示されるよう
に、CP2は、上言己の動作開始機能又は多重タギング
割込みの冗長的処理に関連して、UCBnを遅れてロッ
クしてもよい。
その後、CP2は1 32で示されるようにUCBn状
況を更新してよく、また136で示されるようにロック
を解放する前に、CP2は134で示されるようにSI
O動作を開始してよい。3 本発明の具体的説明 第5図乃至第14図は、本発明に従って前記の「状況喪
失」問題を除くため、第2図に示されるSPD構成を適
合化させた実施例を示す。
そのような適合化がない場合に、状況喪失が生じる環境
及びそのような適合化を比較的単純なSPP構成へ拡張
して適用する方法は、以下の説明が進行するにつれて当
業者に明らかとなろう。第5図において、CPI(21
0)及びCP2(212)はそれぞれ第8図乃至第11
図に示されるように変更され、主記憶装置401まそれ
ぞれの装置n‘こついて変更されたUCBn214を有
する。
更に、浮動チャネル46と関連したlOPサプシステム
22川ま、第6図に示されるように変更され、サブチャ
ネル記憶装置222も変更されている。それぞれの変更
されたUCBn214は特別のビット230,232,
234を有するロックワードを含む。
これらのビットは、割込みのCP処理に関して効率を改
善するため、後述するCP及びlOPの適合化と関連し
て使用される。ビット230は、そのUCBがロックさ
れているか(使用中)又はロックされていないか(使用
中でない)を示す。ビット232及び234は、それぞ
れのCP(CPI又はCP2)が不成功的にそのロック
をテストしたことを指示するため使用される。UCBn
214は2つのビット232,234を有するように示
されているが、実際のシステムにおいては、それぞれの
リンク可能なCPのため競合条件を表示するため、十分
な数のそのようなビットが設けられていることに注意す
べきである。装置n(42)、制御ユニットa(54)
、及び制御ユニットb(56)は第2図に示される構成
要素と同じであり、本発明に関連して特別の適合化を必
要としない。装置nは多重タギングのために適合さされ
ても適合化されなくてもよい。そのような適合化又は非
適合化は、lOPサブシステム、サブチャネル記憶装置
、及びCPにおける通合化メカニズムの動作に影響を及
ぼさないことが分るであろう。本発明に従って実施され
るlOPサブシステム220及びサブチャネル記憶装置
222の適合化は、第6図に示される。
適合化されたlOPサブシステム及びサプチャネル記憶
装置の動作は、第7図に示される。第6図に示すように
、変更されたサプチャネル記憶装置222は、それぞれ
の周辺装置のためのサブチャネル制御ブロック(SCB
)を含む。装置nのためのSCBはSCBn238で表
わされる。lOPサブシステムは、SCBの中に、周辺
装置及びそれに関連した通路構成要素の状況240を記
憶する。SCBnは1対のビット242,244を含む
。これらのビットは、関連したSCBnについて、それ
ぞれ「割込係属」(IPn)条件及び状況係属」(SP
n)条件を示す。IPnビット242は、10Pサブシ
ステムが割込待ち行列中でSCBnを位置づけた時、1
へセットされる。
mnビット242は、CPによって割込みが受入れられ
たことに関連してSCBnが割込待ち行列から除去され
た時、0へIJセットされる。本発明に従えば、SPn
ビット244は、状況が、SCBnへ記憶された時に1
へりセットされ、SCBnへ向けられた「サブチャネル
・テスト」動作が、中央オペレーティング・システムの
制御の下でCPによって実行されるまで、1の状態へと
どまる。第6図には示されないが、サブチャネル記憶装
置222はlOPサブシステム及びそれぞれのCPから
アクセス可能である(異った時点で)。
更に、サブチャネル記憶装置222は別個の装置として
示されているが、本発明の装置で要求される動作を変更
しないで、それを主記憶装置40(第5図)の1部とし
て設けてもよい。サプチャネル記憶装置222に関して
は、lOPサプシステム220はSCBnにある情報を
変更するための論理手段244と、CPへ割込要求を送
り、かつそのような要求に関連してサブチャネルの待ち
行列を維持するための論理手段246を含む。
先入先出法で使用されるこの「割込」侍ち行列は、以下
に説明されるが図面には説明されていない。この待ち行
列は本発明と直接の関連を有するものではない。論理手
段244は、SCBに含まれる情報を変更する手段24
8と、SCB内のmnビット及びSPnビットを操作す
る手段250とを含む。
論理手段246は、割込待ち行列が少なくとも1個のサ
ービスされていないSCBを含む時、線253を介して
割込要求信号をCPへ送る手段252と、割込待ち行列
へ新しいSCBを追加させる手段254とを含む。SC
Bの追加は手段248をして、現在待ち行列に入れられ
ようとしているSCBと、もし待ち行列がその前に空で
なかったならば、先行するSCBへ待ち行列リンク・ア
ドレスを挿入させ、もし前に待ち行列が空であったなら
ば、現在入れられようとしているSCBを指示するため
、待ち行列に関連した「次のェレメント(SCB)」ポ
ィンタを変更し、かつ前に空であった待ち行列へSCB
を入れようとしている時、「非空」表示をセットするこ
とによって行なわれる。更に論理手段246は、線25
8を介してCPから受取られた割込受入信号に応答して
、先入先出法により割込待ち行列から1時に1つずつS
CBを除去する手段256を含む。そのような除去が行
なわれる度に、手段256は、図示されない接続線によ
って、手段248をして割込待ち行列の「次のェレメン
ト」ポィンタ及びリンク表示を変更せしめ、かつその除
去動作によって待ち行列が空にされると、「非空」表示
をリセットせしめる。
更に、手段256は、線260を介して除去されたSC
BのアドレスをCPへ通知する。第6図に示される装置
の勤作シ−ケンスが、装置nの1つのサブチャネルに関
連して第7図に示される。
装置nからの状況係属信号が、制御ユニットa(54)
又は制御ユニットb(56)を介して(もし装置nが多
重タギングのために適合化されていれば、制御ユニット
の双方を介して)、チャネル46の1つによって受取ら
れると(ブロック280)、lOPサブシステムは、S
CBnを変更しそれを割込待ち行列上に入れる刺激信号
を受取る(ブロック282)。更にブロック282にお
いて、lOPサブシステムは、サブチャネル記憶装置へ
「原子的」ロックを施し(ブロック282において動作
が持続している間、サプチャネル記憶装置を排他的に制
御する)、制御ユニットa54又は制御ユニットb56
の1つから受取られた状況情報をSCBnへ書込み、I
Pnビット及びSPnピツトを1へセットし、割込待ち
行列が、SCBnを最後のェントリィとして含むように
割込待ち行列を変更し、もし割込待ち行列がこのェント
リィの前に空であったならば、CPに関して割込要求信
号を設定し、次いでサブチャネル記憶装置上のロックを
解放する。これら動作と関連して、又これら動作に続い
て、lOPサブシステムは、ブロック284において、
制御ユニットを解放するための刺激信号をチャネル46
へ与える。
これによって、制御ユニットは、その対応する通路から
状況係属条件をクリアする。 .中断286によっ
て示されるように、或る若干の時間経過の後、CPの1
つ(この場合、CPIと仮定する)がlOPサブシステ
ムからの割込要求信号に応答し、割込みの受入れを通知
する(ブロック288)。
この事が起ると、lOPサブシステムは、ブロック29
川こおいて、最も古い未処理のSCBエントリイ(即ち
、IPnビットを1へセットされた最も古いェントリイ
)を割込待ち行列から除去し(この場合、SCBnと仮
定する)、待ち行列情報を適切に変更し(除去されたェ
ントリィSCBnのmnビットをリセットし、待ち行列
リンク・アドレス及びポィンタを変更する)、除去され
たェントリイSCBnのアドレスを通知する。これによ
って、lOPによるSCBnの処理は完了するが、SC
BnのSPnビットは1へセットされたままである。本
発明に関連してなされるCPの主たる変更は、第8図に
示される。
第8図の位置に関連した動作は第9図に示される。第8
図に示されるように、新しい命令であるサブチャネル・
テスト(TSCH)命令がCPの命令レジスタ3001
こ置かれ、それと共にアドレス情報が汎用レジスタ(G
RI)302に準備されていると(そのような情報は、
サブチャネル記憶装置222におけるSCBnの如き特
定のサブチャネルのアドレスを指定する)、CP中の命
令解読演算論理手段304(上記の新しい命令を実行す
るために変更されている)は新しい動作を惹起する。こ
れによって、CPはサブチャネル記憶装置222からS
CBnのSPnビットを呼出し、そのビットの値を検査
し、SCBnのSPnビットへ0を書込み、検査された
ビットの値に従って、条件コード・レジスタ308に条
件コード0又は1をセットする。もし条件コード0がセ
ットされると、アドレスされたSCBnから状況が読出
され、オペレーティング・システムによって主記憶装置
の中に一時的に割当てられた割込応答ブロック(IRB
)に記憶される。IRBはアドレスされたSCBと関連
ずけられており、SCBnのためのIRBはIRBnで
表わされる。TSCH命令の実行に関連した動作は第9
図に示される。そのような実行の前に、320で示され
るように、TSCH命令に先行する命令から惹起された
動作により、目的のSCBnのアドレスが汎用レジスタ
302へロードされる。次いでブロック322において
、TSCH命令が主記憶装置からフヱッチされる。この
フェッチは、第8図に示される通常の命令フェッチ制御
手段324の動作により行なわれる。ブロック326に
おいて、命令を実行するための命令解読演算論理手段3
04はTSCH命令の動作コード(B235)を検出し
、主記憶装置及びサブチャネル記憶装置へ「原子的」ロ
ックを施し、次の動作の準備を整える。
ブロック328において、レジスタ302中のアドレス
を使用してSCBnがアドレスされ、関連したIRBn
310(第8図)を条件的にアクセスするため、アドレ
スが準備される。IRBnのアドレスは、TSCH命令
のD27ィールドの内容を、その命令のB2フィ−ルド
‘こよって指定されるレジスタの内容へ加えることによ
って形成される。勿論、B2及びD2の値は、IRBn
のこのアドレスを形成するため、先行する命令によって
設定されている。フロツク330において、CPはアド
レスされたSCBnからSPnビットを除去し、かつそ
の値を検査するように動作する。
その値が1であれば、それは状況がサブチャネルSCB
nで係属中であることを意味し、CPはブロック332
の動作を実行する。フロツク332において、SCBn
のSPnビット位置へ0が記憶され、SCBnからIR
Bnへ状況情報が転送され、条件コード・レジスタ30
8へ0の条件コードがセットされる。もし検査されたS
Pnビットの値が0であれば、CPはブロック334に
おいて条件コード・レジスタ308に1を記憶する。条
件コードのセットは、TSCH命令の実行に続く2つの
命令シーケンスの1つを選択するために使用されてよい
。
そのようなシーケンスの1つは条件コード0に関連し、
状況を評価しかつUCBnを条件的に更新するために使
用されてよい。他のシーケンスは条件コード1に関連し
、そのような評価及び選択的更新を省略する。ブロック
332又は334の後のブロック336において、ブロ
ック326で設定された貯蔵装置のロックが解放され、
TSCH命令の実行が完了する。第10図に示される装
置を使用して実行され、かつ第11図を参照して説明さ
れる補充的かつ望ましい(必ずしも必須ではない)動作
によって、本発明の装置は、割込処理を実行しておりか
つ状況の更新を完了するためUCBへのアクセスを妨げ
られるCPの負坦を軽減することができる。
上記の補助的動作によって、妨害されたCPは、その割
込処理を打切ることができ、その間に、UCBの制御を
有しているCPは、本明細書で説明されるプログラム要
件の下で、打切られたタスク(状況更新)を確実に完了
することができる。第10図に示される装置は、前記の
米国特許3886525に説明された「比較交換」装置
と同じものであるが、上言己補助的動作の基礎を与える
ための独特の情況の下で動作する。この装置は「比較交
換」(C&S)命令を実行する。第10図において、こ
の命令がCP命令レジスタ30川こ入れられている状態
が示される。この命令は動作コード350、汎用レジス
タを指定するRIフィールド352及びR3フィ−ルド
354、貯蔵アドレスを限定するB2フィールド356
及びD2フィールド358を含む。動作コード350は
、比較交換動作を実行するため、第8図の命令解読演算
論理手段304を条件ずける。主題の補助的動作に関し
て、変位D2によって限定されたレジスタの内容へ加え
た結果は、評価されるべきUCBnのロック・ワード(
オペランド2)をアドレスするために使用される。
アドレスされたロック・ワードは記憶装置から謙出され
、比較回路360の第1入力へ印加される。その間に、
RIフィールド‘こよって指定された汎用レジスタ36
2に含まれるオペランド1が比較回路360の第2入力
へ印加される。比較回路360は2つの入力(オペラン
ド1及び2)を比較し、「等価一世力(=)又は「不等
価」出力(ミ)を発生する。もし等価出力が発生される
と、R3フィールド354によって指定された汎用レジ
スタ364の内容であるオペランド3がゲート366を
介して転送される。UCBnのロック・ワードへ書込ま
れる。それによって、前にロック・ワードへ記憶されて
いたオペランド2が置換される。もし比較結果が不等価
であれば、UCBからオペランド2が読出され、それが
しジスタ362へゲートされるので、前にそこに含まれ
ていたオペランド1が置換される。この命令は、第1の
CP(例えばCPI)をして、第2のCP(例えばCP
2)が現在所与のUCB(例えばUCBn)に対するア
クセスを制御しているかどうかを決定させ、かつそのU
CB中にフラグをセットして第にP条件ずけることによ
り、第ICPにより打切られるかも知れない動作(例え
ば状況の更新)を完了させるために使用される。この命
令を実行するためのプログラム要件は(前記GA22−
7000、123〜124頁を参照)、第ICPがその
命令を実行する時、その実行の前に、第本PがそのUC
Bロックの制御を放棄したかどうかを第ICPによって
決定させ、それによって第ICPが、変更されたRI及
びR3のパラメータを使用してその命令の実行を反復す
べきであるか、又はその割込処理動作を打切って、UC
Bの更新完了を第次Pへ任せるかを、弟ICPに決定さ
せることである。第11図を参照すると、「比較交換一
命令は次のように使用される。先ず、CP2は、CPI
が上記命令を実行する間、UCBn上のロックを制御し
ているものと仮定する。上記命令の実行の前に、370
‘こおいて、CPIは現在のUCBnロック・ワードを
変更ないこ議取り、それを評価し、その価からCP2が
その時ロックを制御しているかどうかを決定する。次い
でCPIは、フェッチされたロック・ワードをレジス夕
362へ入れ、かつ変更されたロック・ワードをレジス
夕364へロードするように動作する。変更されたロッ
ク。ワードはフラグ・ビットを含み、このフラグ・ビッ
トは、CP2がUCBnの制御を有している間、CPI
が不成巧的にそのUCBnヘアクセスしようとしたこと
を示す。ブロック372において、CPIは比較交換命
令を命令レジスタ300へフェッチする。ブロック37
4において、CPIはオペラソド2(UCBnロック・
ワード)をフエツチし、ブロック376において、CP
Iはオペランド2とオペランド1(レジスタ362中の
ワード)とを比較する。もしCP2制御の状況が仮定ど
おりに370〜376の間に変化していなければ、比較
されたオペランドは等しく、CP“まブロック380及
び382の動作を実行する。ブロック380では、変更
されたロック・ワード力川CBnへ記憶され、ブロック
382では、等価の比較結果に関連して、条件コードが
0へセットされる。他方、もしCPIが上記命令を実行
する前又はその実行中にUCBnロックの制御を放棄し
たのであれば、ロック・ワード(オペランド2の値)は
変更され、ブロック376の比較は不等価条件を示す。
その場合、CPIはブロック384及び386の動作を
実行する。ブロック384でレジスタ362のオペラン
ド1がオペランド2によつて置換され、ブロック386
で条件コード1がセットされる。ブロック380,38
2又はブロック384,386のいずれのシーケンスを
取るにせよ、CPIはブロック390で命令の実行を完
了する。後にCP2は、条件コード‘こ基いてブランチ
し、条件コードが1であれば、レジスタ362の新しい
値を分析し、UCBnが今やアクセス可能であることを
決定し、第2の比較交換命令を実行して、UCBnロッ
クの制御を確保しようとしてよい。第12図は、第5図
の環境において、TSCH命令を実行する第8図の装置
が、第10図の装置と結合して、本発明の主題である状
況喪失の問題を除くため、どのようにして補助的な比較
交換機能を実行するかを示す。第12図において、CP
2は装置nで動作を開始するため通路b(n)に関して
作業を進めており、それと同時にCPIは通路a(n)
を介して装置nから受取られた状況変化信号を処理する
作業を進めているものと仮定する(第5図参照)。先ず
CP2の動作を考察する。フロツク400において、C
P2はUCBnに関して比較交換命令を実行する。ブロ
ック402において、上記命令の動作によりUCBがア
クセス可能である(比較が等価)ことが示されると、ブ
ロック404で変更されたロック・ワードが記憶される
。これはCP2がUCBを制御していることを示す。も
しUCBがアクセス不可能であれば(比較が不等価)、
CP2は条件コード1をセットし、或る遅延の後に命令
を再実行するために、通路406を介してブランチする
。この空転動作はCP2がUCBnのアクセスを得て、
関連したロツキング動作を完了するまで継続する。UC
Bnへのアクセスを得た後に、CP2はブロック406
で「変更されたスタート1/0命令を実行する。
この命令については、後に第13図及び第14図を参照
して説明する。この命令によってCP2はSCBnによ
って表わされた装置の状態を評価し、SCBnへ初期制
御情報を条件的に記憶し、SCBnの評価された状態に
従って4つの条件コード(0,1,2,3)の1つをセ
ットする。どの条件コードがセットされたかに従って、
CP2はブロック408で異つた追加的動作を実行し、
(これについては、後に第14図を参照して説明する)
初期スケジューリングの処理を完了する。その後、CP
2はブロック410で「最終的な一比較交換動作を実行
する。これによって、CP2は前の比較交換動作(ブロ
ック400)以降にUCBnロックが変更されたかどう
かを決定することができる。即ち、CP2は、他のCP
(例えばCPI)が不成功的にUCBnへのアクセスを
得ようとしたかどうかを決定することができる。フロツ
ク412で、CP2はブロック410における比較交換
動作の結果に基いてブランチする。上記の結果により他
のCPがUCBnへのアクセスを得ようとしなかったこ
とが示されると、CP2はブロック414でUCBnを
変更してその解放を効果的に表示するように動作し、ブ
ロック416でその動作を完了する。他方、ブロック4
1 2で他のCPがUCBnへのアクセスを不成功的に
試みたことをCP2が決定すると、CP2はブロック4
20の動作を実行する。その動作は、SCBnのSPn
ビットをテストするサプチヤネル・テスト動作と、もし
必要ならばUCBn状況の条件的更新とを含む。次いで
CP2はブロック422で他の比較交換動作を実行し、
フロック412へ戻る。それによってCP2は、ブロッ
ク420の動作が実行されている間に、他のCPがUC
Bnへのアクセスを得ようとしたかどうかを決定するこ
とができる。もし必要ならば、CP2は、それがUCB
nの最後の更新以降にアクセスの試みがなされなかった
ことを決定するまで、ブロック420,422,411
2の動作を反復することができる。最終的にCP2はU
CBnロックの内容が変更されなかったことを発見し、
ブロック412で「ノー」の出口をとりブロック414
,416へ進む。前に仮定したように、CP2の前記の
動作中、CPIは装置nに関して割込みを処理すべ〈動
作している。
従ってブロック430で、CPIは割込みを受入れ、か
つSCBnから状況を受取る。次いでCPIは、中断4
32で示されるように、検索した装置状況情報を評価す
るために、他の割込処理動作を実行する。状況が意味あ
るものであると仮定すれば、CPIはブロック434で
比較交換動作を実行することによって、UCBnへのア
クセスを得ようと試み(その状況情報を更新するため)
、ブロック436で、この動作の結果に従ってブランチ
を実行する。もしUCBnがアクセス可能であれば、C
PIは以下のブロックでUCBnをロックし、条件的に
UCBn状況を更新する。即ち、CPIは、ブロツ.ク
44 0でSCBnのSPnビットをテストし、SCB
n状況をIRBnへ転送し、SCBn中のSPnビット
を0へセットし、中断442で示されるように、IRB
n中の装置状況情報を評価し、ブロック444でUCB
nへIRBn状況を条件的に転送し、ブロック446で
割込処理の実行を終了する。他方、もしブロック436
で、UCBnが他のCP(例えばCP2)によってロッ
クされていることをCPIが発見すると、CPIは単に
その動作を打切り、通路450を介してブロック446
の終了動作へ行く。
ここで注意すべきは、もしCPIがブロック436で通
路450へ進むと、その時UCBnを制御しているCP
2は、若干の遅れた時点で、ブロック410又は422
の比較交換動作によって、それがCPIの動作を妨害し
たことを認識する。そして、CP2は、ブロック420
で示されるように、SCBnをテストしUCBnを更新
するように動作する。これらは、本来ならばCPIによ
って実行される機能である。前述したように、CP2に
よって実行されるブロック406の動作は、変更された
スタート1/0命令である。
この命令を実行する装置は第13図に示され、その実行
に関連した動作は第14図に示される。第13図は、上
記命令が実行のためにCP命令レジス夕300へ入れる
れた状態を示す。
その時点で、汎用レジスタ302は特定のサブチャネル
(この場合SCBn)のロケーションを限定する情報を
前もってロードされている。上記命令のB2及びD2パ
ラメ−外こよって限定された「第2オペランド」は、主
記憶装置にある動作要求ブロック(ORB)480を指
定する。ORB48川ま開始動作を限定するパラメータ
を含む。これらのパラメータは割込パラメータ、動作制
御情報、チャネル・プログラム・アドレスなどを含むが
、本発明と直接の関連を有しないので、これ以上の説明
を省略する。第14図に示されように、変更されたスス
タート1/0命令の実行に関連した動作(ブロック48
4から502まで)は、10Pサブシステムとの相互作
用なしにCPによってのみ実行される。
その後、504によって示されるように、適当な信号を
受けたlOPサブシステムは、周辺装置への通路を選択
しそれと通信を選択する動作を実行するように進行する
。その間に、CPは他の機能を実行していてよい。48
0でORBを準備した後に、CPはブロック484で変
更されたスタート1/0命令をフェツチする。
フロツク486で、CPはサブチヤネル記憶装置及び主
記憶装置に原子的ロックを施す。フロック490で、C
Pは第13図の汎用レジス夕302の内容によってアド
レスされたサブチヤネル(SCB)の状況を評価し、そ
の結果に基いて4つのブロック492,494,496
,498の1つへブランチする。もしSCBn中のSP
nビットが1へセットされていれば、CPはブロック4
92の動作を実行する。この動作は命令条件コード(C
C)を1へセットし、原子的ロックを解放することであ
る。もしSCBn状況情報によって、サブチャネルが状
況係属中でなく使用中であることが分ると、CPはブロ
ック494の動作を実行する。この動作は命令条件コー
ドを2へセットしロックを解放する。もしSCBn状況
情報によって、周辺装置が操作可能でないことが分ると
(裾付けられてし、ないか、又は操作中でない)、CP
はフロック496の動作を実行する。この動作は条件コ
ードを3へセットし、ロックを解放する。もし上記の例
外条件のいずれも発見されなければ、それはサブチヤネ
ルが動作を開始するのに適した状態にあることを意味す
る。そして、CPはブロック498の動作を実行する。
その動作は、条件コードを0へセットし、主記憶装置中
のORB480からサブチャネル記憶装置中のSCBn
へ開始制御情報を転送し、問題としている動作が今やl
OPサブシステムによって進行されるべく係属中である
ことを示すため、SCBn中のSFP(開始機能係属中
)ビットを1へセットし、前述した動作をlOPサブシ
ステムが継続するよう10P作業刺激信号を発生し、ロ
ックを解放する。フロツク492,494,496,4
98の1つで動作を実行した後、CPはブロック500
で終了動作を実行する。
この動作は変更されたスタート1/0命令の実行を完了
させる。次いでCPは、ブロック502でブロック49
2,494,496,498の動作によって設定された
条件コードを評価する。ブロック502の動作は第12
図のブロック410〜420の動作に対応する。504
で示されるように、CPがブロック500で終了動作を
完了した後に「CPがブロック498でlOP作業刺激
信号を発生したものと仮定すると、lOPサブシステム
が自由になった時、それは上記刺激信号に応答して開始
プロセスを進めるためブロック506〜516の動作を
実行する。フロツク506で、lOPサブシステムは、
作業刺激信号を認識して、サブチャネル記憶装置及び主
記憶装置に原子的ロックを施す。ブロック510で、l
OPサブシステムは、周辺装置への通路を選択する動作
を実行する。それは動作の開始を試行するためである。
ブロック512で、lOPサブシステムは、選択された
通路のチャネル及び制御ユニットを介して、周辺装置と
通信しようと試みる。フロツク514で、lOPサブシ
ステムは、この試行の成功又は失敗に従ってブランチす
る。
もし試行が成功したのであれば、ブロック516でロッ
クが解放され、動作は選択された通路ェレメントによっ
て続行される。もし試行が成功しなかったならば、lo
pサブシステムは、同一又は他の選択された通路に関し
てブロック610,512,514の動作を反復する。
従って、この変更されたスタート1/0動作は、CP及
びlOPサブシステムによる別個の動作を含むことが分
る。
CPはORBの内容をサブチャネルへ転送しかつ作業刺
激信号をlopサブシステムへ与えるだけでよく、それ
に続いてlOPサブシステムは通路の選択、周辺装置の
起動などを独立的に制御する。
【図面の簡単な説明】
第1図及び第2図は本発明の主題とする技術問題がどの
ようにして先行技術のMPシステムで生じるかを示す図
、第3図及び第4図は第1図及び第2図のMPシステム
で本発明の主題とする技術問題を惹起する中央システム
の動作を示し、第5図乃至第11図は第2図に示される
MPシステムの浮動チャネル構成を本発明に従って適合
化したシステムを示す図、第12図乃至第14図は第5
図乃至第11図に示される適合化システムが本発明に従
いどのようにして割込みを処理しかつ周辺装置の動作を
開始するように動作するかを示す図である。 42・・・・・・装置n、46・・・・・・浮動チャネ
ル、210,212・・・・・・中央処理ユニット、2
44・…・・サブチャネル記憶装置、300・・・・・
・CP命令レジスタ、302・…・・汎用レジスタ、3
04・・・・・・命令解読演算論理手段、308・・・
・・・条件コードレジスタ、310・・・・・・IRB
(割込応答ブロック)、360・・・・・・比較回路、
362・・・・・・汎用レジスタ、364…・・・汎用
レジススタ、480・…・・ORB(動作要求ブロック
)。 第1図 第2図 第3図 第4図 第5図 第6図 第7図 第9図 第8図 第10図 第11図 第12図 第13図 第14図

Claims (1)

    【特許請求の範囲】
  1. 1 共通の監視プログラムによって監視される第1及び
    第2の中央処理ユニツトを有し、上記第1中央処理ユニ
    ツトが周辺装置でのオペレーシヨンをスタートすべくチ
    ヤネルに関して動作する時、同時に上記第2中央処理ユ
    ニツトが上記チヤネルによって記憶された上記周辺装置
    の状況情報を処理すべく上記第1中央処理ユニツトより
    も相対的に監視されない態様で上記チヤネルに関して動
    作する中央複合体を含むデータ処理システムにおけるオ
    ペレーシヨン・スタート防止装置であって、上記第2中
    央処理ユニツトが上記周辺装置の状況情報を処理する可
    能性のある間上記周辺装置へオペレーシヨン・スタート
    信号を発信しようとする上記第1中央処理ユニツトへ上
    記周辺装置に関連した状況係属条件を表示するための手
    段と、上記状況係属条件が表示されている間上記第1中
    央処理ユニツトによる上記オペレーシヨン・スタート信
    号の発信を妨害するため上記中央複合体に設けられた手
    段と、上記中央複合体が上記オペレーシヨン・スタート
    信号の発信及び上記状況情報の処理を共に監視すること
    ができる時にのみ上記状況係属条件をクリアするため上
    記中央複合体中に設けられた手段とを具備し、上記第2
    中央処理ユニツトが上記状況情報を処理する前に上記第
    1中央処理ユニツトが古い状況情報に基いて上記オペレ
    ーシヨンをスタートすることを防止するように構成した
    オペレーシヨン・スタート防止装置。
JP56194616A 1980-12-31 1981-12-04 オペレ−シヨン・スタ−ト防止装置 Expired JPS605011B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US221604 1980-12-31
US06/221,604 US4400773A (en) 1980-12-31 1980-12-31 Independent handling of I/O interrupt requests and associated status information transfers

Publications (2)

Publication Number Publication Date
JPS57125447A JPS57125447A (en) 1982-08-04
JPS605011B2 true JPS605011B2 (ja) 1985-02-07

Family

ID=22828504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56194616A Expired JPS605011B2 (ja) 1980-12-31 1981-12-04 オペレ−シヨン・スタ−ト防止装置

Country Status (5)

Country Link
US (1) US4400773A (ja)
EP (1) EP0055370B1 (ja)
JP (1) JPS605011B2 (ja)
CA (1) CA1165457A (ja)
DE (1) DE3177080D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01117013U (ja) * 1988-01-29 1989-08-08
JP3007357U (ja) * 1994-07-29 1995-02-14 カワイ電線株式会社 シース表面着色vvfケーブル

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709349A (en) * 1982-01-05 1987-11-24 Sharp Kabushiki Kaisha Method for maintaining display/print mode in display printer
JPS5947625A (ja) * 1982-09-13 1984-03-17 Fujitsu Ltd 入出力割り込み方式
US4618968A (en) * 1983-11-04 1986-10-21 Motorola, Inc. Output compare system and method automatically controlilng multiple outputs in a data processor
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4713751A (en) * 1984-10-24 1987-12-15 International Business Machines Corporation Masking commands for a second processor when a first processor requires a flushing operation in a multiprocessor system
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
DE3688759T2 (de) * 1985-03-20 1994-01-05 Hitachi Ltd Ein-/Ausgabe-Steuerungssystem.
US4779195A (en) * 1985-06-28 1988-10-18 Hewlett-Packard Company Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor
US5155812A (en) * 1989-05-04 1992-10-13 Texas Instruments Incorporated Devices and method for generating and using systems, software waitstates on address boundaries in data processing
US5043876A (en) * 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US5038275A (en) * 1988-10-07 1991-08-06 Advanced Micro Devices, Inc. Status transfer structure within a data processing system with status read indication
US5065313A (en) * 1989-03-30 1991-11-12 Dell Usa Corporation Digital computer system having circuit for regulation of I/O command recovery time
US5055491A (en) * 1989-04-10 1991-10-08 Sumitomo Chemical Company, Limited Carboxylic acid esters, methods for producing them and insecticides and/or acaricides containing them as an active ingredient
US5617574A (en) 1989-05-04 1997-04-01 Texas Instruments Incorporated Devices, systems and methods for conditional instructions
JPH0687569B2 (ja) * 1989-09-28 1994-11-02 アメリカン テレフォン アンド テレグラフ カムパニー 端末アダプタおよびデータ伝送方法
US5202998A (en) * 1990-08-31 1993-04-13 International Business Machines Corporation Fast, simultaneous multi-processor system status communication interface
US5202964A (en) * 1990-10-26 1993-04-13 Rolm Systems Interface controller including messaging scanner accessing state action table
US5386560A (en) * 1991-05-23 1995-01-31 International Business Machines Corporation Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
EP0528060B1 (de) * 1991-08-13 1997-02-19 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren zur Durchführung von Ein-/Ausgabeoperationen in Datenverarbeitungssystemen
US5394542A (en) * 1992-03-30 1995-02-28 International Business Machines Corporation Clearing data objects used to maintain state information for shared data at a local complex when at least one message path to the local complex cannot be recovered
US5331673A (en) * 1992-03-30 1994-07-19 International Business Machines Corporation Integrity of data objects used to maintain state information for shared data at a local complex
US5392397A (en) * 1992-03-30 1995-02-21 International Business Machines Corporation Command execution system for using first and second commands to reserve and store second command related status information in memory portion respectively
US5319753A (en) * 1992-09-29 1994-06-07 Zilog, Inc. Queued interrupt mechanism with supplementary command/status/message information
JPH06214969A (ja) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> 情報通信方法および装置
US5410709A (en) * 1992-12-17 1995-04-25 Bull Hn Information System Inc. Mechanism for rerouting and dispatching interrupts in a hybrid system environment
US5911138A (en) * 1993-06-04 1999-06-08 International Business Machines Corporation Database search facility having improved user interface
JP2846837B2 (ja) * 1994-05-11 1999-01-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
GB9419246D0 (en) 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
TW200602974A (en) 2004-05-19 2006-01-16 Arc Internat Uk Ltd Microprocessor architecture
US11163892B2 (en) * 2019-01-09 2021-11-02 International Business Machines Corporation Buffering data until encrypted destination is unlocked
CN112198820B (zh) * 2020-09-27 2021-11-12 中国第一汽车股份有限公司 一种中断服务实现方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675209A (en) * 1970-02-06 1972-07-04 Burroughs Corp Autonomous multiple-path input/output control system
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
US3886525A (en) * 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US4123794A (en) * 1974-02-15 1978-10-31 Tokyo Shibaura Electric Co., Limited Multi-computer system
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
US4191997A (en) * 1978-04-10 1980-03-04 International Business Machines Corporation Circuits and methods for multiple control in data processing systems
US4166290A (en) * 1978-05-10 1979-08-28 Tesdata Systems Corporation Computer monitoring system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01117013U (ja) * 1988-01-29 1989-08-08
JP3007357U (ja) * 1994-07-29 1995-02-14 カワイ電線株式会社 シース表面着色vvfケーブル

Also Published As

Publication number Publication date
EP0055370B1 (en) 1989-07-26
DE3177080D1 (en) 1989-08-31
EP0055370A3 (en) 1984-10-31
US4400773A (en) 1983-08-23
JPS57125447A (en) 1982-08-04
EP0055370A2 (en) 1982-07-07
CA1165457A (en) 1984-04-10

Similar Documents

Publication Publication Date Title
EP0055370B1 (en) Independent handling of i/o interrupt requests and associated status information transfers
US6799236B1 (en) Methods and apparatus for executing code while avoiding interference
US6308318B2 (en) Method and apparatus for handling asynchronous exceptions in a dynamic translation system
EP0528220A2 (en) Dynamically established event monitors in event management services of a computer system
US5317739A (en) Method and apparatus for coupling data processing systems
US7797706B2 (en) Method and apparatus for thread-safe handlers for checkpoints and restarts
US6105098A (en) Method for managing shared resources
US5966543A (en) Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
US20060106994A1 (en) Mechanism that provides efficient multi-word load atomicity
US5280615A (en) Out of order job processing method and apparatus
US5566334A (en) Method for processing interrupt requests in a computer system operating environment having different types of supervisor programs concerned with specified types of interrupt events
JPH0533410B2 (ja)
JPH0296849A (ja) Tpキューイングシステムにおける正確に1回のセマンティクス
JPS5939785B2 (ja) デ−タ処理装置
US6910209B2 (en) Clean thread termination
US20040098639A1 (en) Debugging kernel-loadable modules and suspending and replacing functions in non-microkernel operating systems
US7134050B2 (en) Method and system for containing software faults
US5363502A (en) Hot stand-by method and computer system for implementing hot stand-by method
US4040037A (en) Buffer chaining
US5432933A (en) Method of canceling a DB2 thread
US6957367B2 (en) System and method for controlling activity of temporary files in a computer system
US5003468A (en) Guest machine execution control system for virutal machine system
EP0297895A2 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
CA1281431C (en) Sequence controller of an instruction processing unit for placing said unit in a ready, go, hold or cancel state
DE102013210839B4 (de) Einschränken der Verarbeitung innerhalb eines Prozessors zum Erleichtern der Ausführung einer Transaktion