JPH07104833B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH07104833B2 JPH07104833B2 JP3043887A JP4388791A JPH07104833B2 JP H07104833 B2 JPH07104833 B2 JP H07104833B2 JP 3043887 A JP3043887 A JP 3043887A JP 4388791 A JP4388791 A JP 4388791A JP H07104833 B2 JPH07104833 B2 JP H07104833B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- interrupt
- ldvc
- queue
- 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 - Lifetime
Links
Description
ールで構成されるマルチプロセッサシステムにおいて、
各情報処理モジュールからの入出力要求あるいは各入出
力装置からの割り込み要求を効率的に処理するためのマ
ルチプロセッサシステム制御方式に関する。
を、便宜上次のような略語を用いて表わすものとする。 PM:情報処理モジュール DVC:入出力装置 ADP:入出力アダプタ IOC:入出力制御装置 IOBUS:PMとADPとを結合する入出力バス DVBUS:ADPとDVCを結合するデバイスバス CPU:PM内の情報処理機構 MSU:PM内の記憶装置 PIBC:PM−IOBUS接続部 PMBUS:PM内のCPU,MSU,PIBCを結合
するPMバス AIBC:ADP−IOBUS接続部 ADBC:ADP−DVBUS接続部 APU:ADP処理機構 PIBC:PM−IOBUS接続部 PMBUS:PM内のCPU,MSU,PIBCを結合
するPMバス AIBC:ADP−IOBUS接続部 ADBC:ADP−DVBUS接続部 APU:ADP処理機構 CSU:ADP内の制御記憶装置 LDVC:CSU内に設けられたPM−DVC対応の論
理的な入出力要求保持テーブル PDVC:DVC対応の物理的な入出力要求保持テーブ
ル PMIC:PMへの割り込み制御テーブル
ベースやユーザファイルなどのデータはシステムで一元
的に保持する必要があり、通常、磁気ディスクなどのD
VC(入出力装置)に格納されて、PM間で共用される
のが普通である。その際、ひとつのPMからあるDVC
をアクセスする場合、そのPMがすでに他のPMからの
入出力要求の処理を実行中であるDVCをアクセスする
場合、その処理が済むまで待ち、DVCが空いたところ
で入出力要求を再発行する必要がある。この処理はPM
上のソフトウェアにより行われることが多いが、割込み
・入出力要求の発行によるオーバーヘッドが大きい。ま
た、PMの数が多い時には再発行時にも再び別のPMが
先に使用してしまうなど、入出力要求の再発行処理の頻
度が増大し、PM台数の増加の割りにはシステム全体の
性能が向上しないというような問題がある。
テムの一例を示す。図において、1はPM(情報処理モ
ジュール)、2はADP(入出力アダプタ)、3はDV
C(入出力装置)、6はIOC(入出力制御装置)であ
る。PMは例えば8〜16台設置される。PMとADPは
1対1で設けられ、全てのDVCは1台のIOCによっ
て制御される。各PMと配下のADPは、1台の共用の
IOCを介してDVCの1つに対するアクセス処理を行
う。
どで多く用いられている構成である。各ADPは、それ
ぞれの上位のPMに専有されて動作し、また各DVCの
入出力制御を行うIOCには、複数のADPと接続する
ためのポートが設けられている。
なっているので、PMからの入出力要求を常に受け付け
ることはでき、ADPはその入出力要求をIOCに伝え
る。しかし、要求されたDVCが他のPM(ADPを介
して)からの入出力要求により動作中の場合には、IO
Cは入出力要求を行ったADPに対しDVCが使用中で
ある旨を報告し、入出力要求を受け付けない。ADPは
このステータス(DVC使用中)をPMに割込みなどで
報告し、入出力処理を完了する。
と、一定時間待ってから入出力要求を再発行する。また
IOCによっては、一度使用中を応答したDVCが空き
になると、その旨を割込みで報告する機能を持つものも
あり、その場合はPMのソフトウェアはその割込みを待
って、入出力要求を再発行する。
待ち合わせる機能を設け、ADPが入出力要求の再発行
処理を行うことで、PMのソフトウェアとオーバーヘッ
ドを削減する方式もある。
Cが空いている保証はなく、PM台数の増加およびDV
Cの使用率が増加するにつれて、再発行の頻度が増大す
る。再発行処理は本来の処理にとって不必要なものであ
るから、これはシステム性能の低下となる。
VCを共用する場合などでは、再発行処理の要する時間
に差があることがあり、これら2つのPMが同一DVC
に対する再発行処理を同時に開始しても、遅い方のPM
からの再発行が高い確率で失敗し、そのPMでの処理が
極端に性能悪化することがある。
す。このシステムでは、PM間に7で示す通信路が設け
られており、各PMはそれぞれ1台のADPと複数のD
VCをもつ。
定のPMに専有されアクセスされる。あるPMが自身の
配下にないDVCをアクセスする必要がある場合には、
PM間の通信路7を用いて、そのDVCが接続されてい
るPMに対して入出力動作を依頼し、転送データもこの
通信路7を経由して受け渡す。
要求を発行できるのは1台のPMに限られており、DV
Cの動作状態はそのPMのソフトウェアが常に把握する
ことができるため、図20の従来例システムで発生した
ような使用中、再発行制御は事前に回避できる。しか
し、この方式では、依頼先のPMのメモリ資源を消費
し、またPM間の通信のオーバーヘッドが発生し、PM
からDVCへの直接アクセス経路を持つ構成に比べて不
利である。
のPM配下のDVCのアクセス頻度に大きく依存するた
め、システム性能の低下を防ぐために、各DVCへのデ
ータの格納を工夫したり、処理するアプリケーションを
特定の用途に限ったりして、PM間の通信量を減らす努
力を運用面で行ったりする必要がある。これは、性能の
よいシステムを構築するのが難しくなったり、用途が限
られ汎用性に欠けるなどの欠点が多い。
込み要求する場合、そのPMがすでに他のDVCからの
割り込み要求の処理を実行中である場合、その処理が済
むまで待ち、PMが空いたところで割り込み要求を再発
行する必要がある。また、ソフトウェアの都合で割り込
みがマスクされていてPMが割り込み要求を受け付けら
れない場合も同様に割り込み要求を再発行する処理の必
要がある。この処理は、アダプタ内のファームウェアに
より行われるが、アダプタ内では、複数のPMからの複
数のDVCへの入出力要求が同時に処理されているた
め、これらが完了した場合の完了割り込みも並列して複
数処理する必要があるが効率よくできなかった。
からDVCへの直接的なアクセスパスを確保するととも
に、PMにおける入出力要求再発行のオーバーヘッドを
削減し、マルチプロセッサシステムの処理性能低下を防
ぐことを目的としている。
込みを処理する際に特定のPMの割り込み受け付け可否
の状態により他のPMへの割り込み待ちが発生すること
を削減し、マルチプロセッサシステムの処理機能低下を
防ぐことを目的としている。
複数のADPを共用し、各ADPはそれぞれ配下に固有
のDVCをもち、PMから任意のDVCへのアクセス
は、そのDVCをもつADPを介して行う構成におい
て、各ADPに、任意のPMから配下のDVCの各々に
対する入出力要求を、DVCごとの待ち行列で管理する
手段を設けたものである。
マルチプロセッサシステムを構成する複数のPM(情報
処理モジュール)である。
ADP(入出力アダプタ)である。3は、磁気ディスク
装置や磁気テープ装置などのDVC(入出力装置)であ
る。
してデータおよび制御情報を伝送するIOBUS(入出
力バス)である。5は、各ADPとその配下のDVCと
を結合して、データおよび制御情報を伝送するDVBU
S(デバイスバス)である。
である。221は、配下のDVC(#0,#1,・・
・)ごとに、PM(#0,#1,・・・)からの入出力
要求を保持する入出力要求保持テーブルLDVCであ
り、待ち行列管理機能をもつ。
順序をDVCごとに管理するLDVCに関する起動待ち
行列である。223は、各PMからの入出力要求をLD
VCで管理し、DVCが空きのとき、待ち行列222に
つながれている順序で入出力要求をAPUが処理する制
御プログラムである。
用し、各ADPはそれぞれ固有のDVCをもち、PMか
ら任意のDVCへのアクセスは、そのDVCをもつAD
Pを介して行う構成において、各ADPに、任意のDV
Cから対応するPMの各々に対する入出力要求を、PM
ごとの待ち行列で管理する手段を設けたものである。
1,・・・)ごとに、DCV(#0,#1,・・・)か
らの割り込み要求を保持する入出力要求保持テーブルL
DVC(ただし、先に述べた入出力要求を保持する入出
力要求保持テーブルとLDVCと同じものである)であ
り、待ち行列管理機能をもつ。
処理順序をPMごとに管理刷るLDVCに関する割り込
み待ち行列である。223は、各DVCからの割り込み
要求をLDVCで管理し、PMが空きのとき、割り込み
待ち行列224につながれている順序で割り込み要求を
APUが処理する制御プログラムである。
ンクする起動待ち行列223とLDVCの列方向にセル
をリンクする割り込み待ち行列224がある。
VCに対する入出力要求が発生すると、制御プログラム
223に示すように、そのDVCが接続されているAD
Pに対して入出力要求(REQ)を発行する。ADPの
APUはPMからの入出力要求を一旦そのPM/DVC
に対応するLDVCに格納し、DVC単位の起動待ち行
列につないで、入出力要求が到着した順にDVCに対し
て処理を行う。また、複数のDVCに対して入出力要求
がある場合には、DVC同士でも待ち行列を構成するこ
とで順に処理を行う。
用中に見えることは無くすことができる。また、ADP
は無駄な入出力要求をDVCに発行する必要が無くな
り、ADPレベルでも再発行のオーバーヘッドも無くな
る。さらに再発行時の失敗も起こらなくなるため、PM
の性能のばらつきによる極端な性能劣化も発生しない。
また、入出力動作そのものは図20の従来例システムと
同様に、入出力要求発行・データ転送ともに、各PMと
直接に行われるため、PMどうしの通信オーバーヘッド
やデータの配置の最適化といった問題も発生せず、高性
能なマルチプロセッサシステムを容易に構築することが
可能となる。
あるPMに対する割り込み要求が発生すると、制御プロ
グラム223に示すように、そのDVCが接続されてい
るADPからPMに対して割り込み要求(REQ)を発
行する。ADPのAPUはPMへの割り込み要求を一旦
そのPM/DVCに対応するLDVCに格納し、PM単
位の割り込み待ち行列につないで、割り込み要求の順に
PMに対して処理を行う。また、複数のPMに対して割
り込み要求がある場合には、PM同士でも待ち行列を構
成することで順に処理を行う。
みを処理する際に特定のPMの割り込み受け付け可否の
状態により他のPMへの割り込み待ちが発生することを
削減し、マルチプロセッサシステムの処理機能低下を防
ぐことができる。
VCへのI/O要求が同時に処理されているため、これ
らが完了した場合の完了割り込みも並列して複数を処理
することが可能となる。
プロセッサシステムの構成図である。
DVC、4はIOBUS、5はDVBUS、11はCP
U、12はMSU、13はPIBC(PM−IOBUS
接続部)、14はPMBUS(PMバス)、21はAP
U、22はCSU、23はAIBC(ADP−IOBU
S接続部)、24はADBC(ADP−DVBUS接続
部)、25はADBUS(ADPバス)、221はLD
VC(入出力要求保持テーブル)を示す。
U12に格納されたプログラムを実行し、一連の処理を
行う。その中で、入出力動作を要求する命令を実行する
と、入出力要求の対象となるADP・DVCなどの必要
な情報を指定し、PIBC13に対して入出力動作をA
DP2に要求するように指示する。
の入出力要求をADP2内のAIBC23に送付する。
AIBC23は、入出力要求を受け付けたことをAPU
21に伝え、APU21はこの入出力要求をCSU22
内の、その入出力要求を発行したPMと対象DVCに対
応するLDVC221に格納し、入出力動作待ちの待ち
行列にこのLDVC221を登録する。
い状態である場合で、動作中でないDVCに対する入出
力要求があると、待ち行列の順番に従ってその入出力要
求をDVCに対して発行し、順次LDVC221で保持
されている入出力要求を実行する。
情報の形式を示したもので、(a) はPM内のCPUが実
行する入出力命令、(b) は入出力命令のパラメータ、
(c) は入出力制御用のコマンド、(d) は入出力制御用の
ステータス・ブロックである。
使用するADPの機番(ADP#)、アクセス対象DV
Cの機番(DVC#)、パラメータ(b) のアドレス(Pa
rameter Adrs)をもつ。
ドレス(Command Adrs)と、完了情報を格納するステー
タス・ブロック(d) のアドレス(Status Blk Adrs)をも
つ。コマンド(c) は、Road, Write, Seek などのオペコ
ード(OP)、フラグ(flg),データ・カウント(Data
Count) 、主記憶のデータ格納アドレス(LSU Adrs)
を含み、複数のコマンドをチェインして結合して、チャ
ネル・プログラムを構成する。
示すステータス(Status) 、異常終了時の残りデータ・
カウント、最終コマンドのアドレスをもつ。図4は、本
発明の第1の実施例において、入出力要求を保持する制
御テーブルの構成を示す。
られ、LDVCとPDVCからなる。LDVCは、1つ
のDVCに対する各PMからの入出力要求を到着順に待
ち行列で管理するためのテーブルであり、例えばLDV
C#0は図1のLDVCの1行に対応し、PDVCはA
DP配下のDVCの複数個に対して複数のPMからの入
出力要求が到着したときその処理順序を管理するための
テーブルである。
この場合、DVC#0に対するPMからの入出力要求
が、PM#2、PM#0、PM#1の順にADPに到着
する。このためLDVC#0には、図に矢印でリンクし
て示されるようにPM#2を先頭に、PM#0,PM#
1と続く待ち行列が作成される。
PDVC#0がPDVC待ち行列の先頭になり実行中と
なったときに活性化される。このときLDVC#0の待
ち行列の先頭にある入出力要求PM#2が実行中とな
り、PM#0とPM#1の入出力要求は実行待ちとな
る。
合、LDVC待ち行列からPM#2の要求は取り外さ
れ、代わりにPM#0が先頭にくる。しかしこのときP
DVC#0はPDVC待ち行列の先頭から外され、実行
待ちとなるため、次にPDVC#0が実行中となるまで
PM#0の入出力要求は実行待ちとなる。
中のステータス(Status) には、次のような状態情報が
設定される。 IDLE:何もやっていない。
る。 WORK:待ち行列の先頭となり、入出力動作を実行し
ている。 IRQW:LDVCが割り込み待ち行列につながれて
(図17参照)、IRQバスコマンドの発行順番を待っ
ている状態。割り込み待ち行列の先頭(LDVC割り込
み待ち行列の先頭かつ、そのPMに対応するPMIC割
り込み待ち行列の先頭)になると、IRQコマンドを発
行するとともに、IRQEX状態に還移する。
の先頭になり、PMICがPMIC割り込み待ち行列の
先頭になってIRQバスコマンドを発行し、PMからの
受け付け可否通知を待っている状態。割り込み受け付け
通知が『可』なら、IACKW状態へ遷移し、割り込み
待ち行列からLDVCは外れる。『可』なら、このPM
IC割り込み待ち行列の最後尾へ接続しなおしIRQW
へ状態を戻す。
けられ、ADP2がIACKバスコマンドを待っている
状態。この時、このLDVCは割り込み待ち行列・起動
待ち行列ともに接続されていない。ADP2は、IAC
Kバスコマンドの受信により、IDLE状態に戻り、新
たなI/O命令の受け付け待ちとなる。
マンドとテーブルのステータス・ブロックへのアドレス
(Command Adrs,Status Blk Adrs)と、待ち行列をつく
るための前後のLDVCへのリンク情報(Next LDVC ,
Prev,LDVC)をもつ。
ステータス(Status) は、次のような状態を表示する。 IDLE:何もしていない(実行中や待ちのLDVCが
ない)。
(切断)している状態。
番(Active PM#) と、待ち行列をつくるた
めの前後のPDVCへのリンク情報(Next PDVC ,Prev.
PDVC) とをもつ。図8は、PDVCの待ち行列を例示し
たもので、DVC#0、DVC#1、DVC#2に対し
て、PM#0,PM#1,PM#2からの入出力要求が
発行されて、それぞれLDVCに保持されている。
を先頭にPDVC#0,PDVC#1が待ち行列につな
がれ、さらにPDVC#1にはPM#0のLDVCが、
PDVC#0にはPM#1,PM#2,PM#0のLD
VCがそしてPDVC#2にはPM#0のLDVCがそ
れぞれ待ち行列をつくっている。
VCを用いて入出力要求を処理するADPの制御プログ
ラムの処理フローを説明する。図9はADP制御プログ
ラムのメイン処理のフローチャートである。
処理を行い、PMからI/O(入出力)命令が到着する
と、そのI/O命令の受付処理を行い、WAIT状態の
PDVCがあればADP−DVC間のDVBUSの空き
を待ってそのI/O命令の実行を行い、この実行の完了
は後述するADPからPMへの割り込み処理により行わ
れ、そしてDVCからの再結合要求があればDISC状
態のPDVCについて再結合処理を行う。
理のフローチャートである。PMn からDCVnmへの要
求が到着した場合、OPCODEがIACK(Interrup
t Acknowledge)でなければI/O命令であると判断し、
LDVCnmの状態を調べ、IDLE以外であれば、I/
O命令完了をPMに応答し、LDVCnmの状態をWAI
Tに変更し、LDVCnmをLDVC待ち行列に加える。
外であればメイン処理(図9)に戻り、IDLEであれ
ばPDVCmの状態をWAITに変更し、PDVCmを
PDVC待ち行列に加えてメイン処理に戻る。OPCO
DEがIACKであれば、PMに割り込みが受け付けら
れたから、LDVCnmの状態を空、すなわちIDLEに
して、メイン処理に戻る。
である。なおnをPMの機番、mをDVCの機番とす
る。DVBUSが使用可能であれば、DVCm に対する
PDVCm とPMn からDVCm へのLDVCnmの状態
をWORKに変更する。次に入出力動作を実行する。こ
の入出力動作の実行は、まず、コマンドをDVCに送
り、DataをDVCに転送し、次にDVBUSが切断
されたかを調べることにより行われる。DVBUSの切
断には全動作の終了の場合と、DVCの機械的動作の間
DVCを一時的につきはなす場合とがある。入出力の全
動作を終了させることができなかった場合は、PDVC
m の状態をDISCに変更し、待ち行列から外し、メイ
ン処理(図9)に戻る。他方、入出力全動作を終了でき
た場合は割込処理1(図20参照)を実行する。
なければ、PDVCmの状態をWAITに変更し、PD
VCm をPDVC待ち行列の最後に移し、図9のメイン
処理に戻る。他方、LDV起動待ち行列の長さが0であ
れば、PDVCm の状態をIDLEに変更し、PCVC
m をPDVC起動待ち行列から外し、メイン処理に戻
る。
り、切断状態のDVCm から再結合要求があった場合、
対応するPDVCm の状態がDISCかどうかを調べ、
DISC以外の場合では再結合拒否をDVCに通知し、
DVBUSを開放して終了し、図9のメイン処理に戻
る。他方、PDVCm の状態がDISCの場合には、P
DVCm の状態をWORKに変更し、PDVCm をPD
VC待ち行列の先頭に移し、再結合受け付けを行って入
出力動作を再開し、図9のI/O命令実行に移る。
ルチプロセッサシステムの構成図である。 図におい
て、1はPM、2はADP、3はDVC、4はIOBU
S、5はDVBUS、11はCPU、12はMSU、1
3はPIBC(PMーIOBUS接続部)、14はPM
BUS(PMバス)、21はAPU、22はCSU、2
3はAIBC(ADPーIOBUS接続部)、24はA
DBC(ADPーDVBUS接続部)、25はADBU
S(ADPバス)、221はLDVC(入出力要求保持
テーブル)を示す。
Status Register),INTREQREG231(Interr
uptRequest Register) はそれぞれ割り込み要求に関す
る状態を格納する記憶回路である。
割り込み要求があると、待ち行列の順番に従ってその割
り込み要求をPMに対して発行し、順次LDVC221
で保持されている割り込み要求をCPU11に対して実
行する。
ると、今、PIBC13内にある記憶回路INTSTS
REG131の状態定義としては、次の3種類がある
とする。
MIRQ(PM Interrupt Request) はオフ。ADP2
からIRQ(Interrupt Request )バスコマンドを受信
すると、IRQ状態に遷移する。
Qはオン。ADP2からの新たな割り込みは受け付けら
れない。CPU11が割り込みを受け付け、PMIAC
K(PM Interrupt acknowlege)がオンになるとIAC
KW( Interrupt acknowlege Wait) に遷移する。 IACKW:IACKバスコマンド送付保留状態。PM
IRQはオフ。ADP2からの新たな割り込みは受け付
けられない。PIBCがIOBUSをアクセスしIAC
Kバスコマンドを送付するとINSTST REG13
1はIDLE状態に遷移する。PMは割り込み受付可能
状態になる。
ムは以下の通りである。APU21(APU上で走行し
ているファームウエアのこと、)はあるDVC#mか
ら、PM#nへの割り込み要求が発生すると、割り込み
詳細情報をステータスブロックとしてI/O命令発行時
にPMから指定されたMSU12の領域に事前に格納し
ておく。そして、APU21はAIBC23内の割り込
み発生回路(INTREQ REG)231に割り込み
情報(ADP#,DVC#,PM#.割り込み原因コー
ド等)をセットし、PMへの割り込み動作開始をAIB
C23に指示する。AIBC23はIOBUSをアクセ
スして、指定されたPMに対して割り込み要求のバスコ
マンド(IRQバスコマンド)を送付する。このバスコ
マンドには上記の指定した割り込み情報が含まれてい
る。PIBC13はこの割り込みコマンドをAIBC2
3から受け付けると、INTSTS REG131が空
いていれば(IDLE状態がならば)INTSTS R
EG131に割り込み情報をセットし、CPU11に対
して割り込み要求(PMIRQ)をオンにするととも
に、ADP2に割り込み受け付けを通知する。INTS
TS REG131が空いていない場合は、割り込みを
受け付けられないことをADP2に通知する。これらの
通知は、IOBUSの応答信号線(バスコマンド送付時
に受け付け側のユニットが送り側に送付する信号)によ
りADP2に伝えられる。
21への割り込みなどで)APU21に伝える。APU
21はこれにより、割り込み送付の成否を知る。失敗し
た場合は、後に再度割り込み要求を試みる。
割り込み受け付け可能状態であれば、PMIACKをオ
ンにし割り込み動作を実行する。割り込み受け付け可能
かどうかは、CPU11内にある割り込みマスクの状態
に依存する(これは非常に一般的な技術である)。ソフ
トウェアは何からの理由で、長時間割り込み禁止状態で
走行することがあり、その場合はINTSTS REG
131はずっとこの状態(IRQ状態)でどどまる。
と、PMIRQをオフにするとともに、INTSTS
TEG131をIACKW状態(IACK送付待ち状
態)としてIOBUSをアクセスしてADP2に割り込
み受け付けのバスコマンド(IACKバスコマンド)を
送付する。バスコマンドの送付がおわると、INTST
S REG131をIDLE状態に戻し、新たな割り込
みの受け付けが可能となる。
10)、APU21に割り込みなどで通知する。そし
て、APU21はIACKを受信によりそのLDVC2
11をIDLE状態に戻す。
込み要求を保持するMSUの制御テーブルの構成を示
す。制御テーブルは、PM対応に設けられ、LDVCと
PMICからなる。
からの割り込み要求を到着順に待ち行列で管理するため
のテーブルであり、PMICはPMの複数個に対して複
数のDVCからの割り込み要求が到着したときその処理
順序を管理するためのテーブルであり、例えばLDVC
#0は図1のLDVC内の一例に対応する。
す。この場合、PM#0に対するDVCからの割り込み
要求が、DVC#2、DVC#0、DVC#1の順にA
DPに到着する。このためLDVC#0には、図に矢印
でリンクして示されるようにDCV#2を先頭に、DV
C#0、DVC#1と続く待ち行列が作成される。
PMIC#0がPMIC割り込み待ち行列の先頭になり
割り込み実行中となったときに活性化される。このとき
LDVC#0の待ち行列の先頭にある割り込み要求DV
C#2が割り込み実行中となり、DVC#0とDVC#
1の割り込み要求は実行待ちとなる。
た場合、LDVC待ち行列からDVC#2の要求は取り
外され、代わりにDVC#0が先頭にくる。しかしこの
ときPMIC#0はPMIC待ち行列の先頭から外さ
れ、割り込み実行待ちとなるため、次にPMIC#0が
割り込み実行中となるまでDVC#0の割り込み要求は
割り込み実行待ちとなる。
であり、LDVCの状態も前述したものと同様である。
図16にPMICの形式を示す。
通りがある。 IDLE:そのPMに属する割り込み待ちのLDVC
(IRQW(Interrupt Request Wait) /IRQEX(I
nterrupt Request Execute) の状態)がない場合。
られ、IACKバスコマンドをまっている状態。 ACTIVE:AIBC23の制御権をこのPMが持っ
ている状態。このPMICにつながっているLDVCの
先頭はIRQEX状態である。
Cの機番(Active LDVC#) と、待ち行列をつくるための
前後のPMICへのリンク情報(Next PMIC,Prev.PMIC)
とをもつ。
例示したもので、PM#0、PM#1、PM#2に対し
て、DVC#0,DVC#1,DVC#2からの割り込
み要求が発行されて、それぞれLDVCに保持されてい
る。
2を先頭にPMIC#0,PMIC#1が待ち行列につ
ながれ、さらにPMIC#1にはDVC#0のLDVC
が、PMIC#0にはDVC#1,DVC#2,DVC
#0のLDVCがそしてPMIC#2にはDVC#0の
LDVCがそれぞれ待ち行列をつくっている。
ャートである。18図に示すように、割り込み処理1
は、図11にフローチャートで示したI/O命令実行の
際に行われるもので、まず、PMICm の状態がIDL
Eの時は、APU2がPMICの割り込み待ち行列の長
さを判断する。このPMIC割り込み待ち行列の長さが
0でない時は、APUがPMICの状態をWAITと
し、PMIC待ち行列につなぐ、そして、APUがLD
VCn の状態をIRQWとして、PMICn のLDVC
の割り込み待ち行列につなぎ、I/O命令実行に戻る。
PMIC割り込み待ち行列の長さが0の時は、APUが
PMICの状態をACTIVEにし、PMIC待ち行列
につなぐ、すなわちキューの先頭につなぐ。そしてAP
U21がLDVCnmの状態をIRQEXにし、PMIC
n のLDVC割り込み待ち行列につなぐ、すなわちキュ
ーの先頭につなぐ。AIBCに対して割り込みコマンド
発行を指示し、I/O命令実行に戻る。PMICn がW
AITまたはACTIVEの時は、直ちに、LDVCn
の状態をIRQWとすし、PMICn のLDVC割り込
み待ち行列につなぐ。
21に対する割り込み(CPU11に対する割り込みバ
スコマンドの結果がAIBCに通知)により起動され
る。図19に示すように、割り込み処理2は、割り込み
バスコマンド実行結果が受け付けの時は、先頭のLDV
Cの状態をIACKWとし、LDVC割り込み待ち行列
から外す。このLDVC割り込み待ち行列の長さが0の
時は、PMICの状態をIDLEにし、PMIC待ち行
列からPMICを外す。PMIC割り込み待ち行列の長
さが0でない時、次にPMICの状態をACTIVEに
し、先頭のLDVCをIRQEXとする。そして、AI
BCに対して割り込みコマンド発行を指示し、元の処理
に戻る。PMIC割り込み待ち行列の長さが0の時は、
直ちに元の処理に戻る。LDVC割り込み待ち行列の長
さが0でない時、PMICの状態をWAITに、LDV
Cの状態をIRQWにし、PMIC待ち行列の最後につ
なぐ。割り込みバスコマンド実行結果が拒否の時は、P
MICの状態をWAITに、LDVCの状態をIRQW
にし、PMIC待ち行列の最後につなぐ。
DVCへのアクセスバスを、他のPM経由でなくADP
を介して直接的に設定することができ、また入出力要求
を発行したPMは、アクセス先のDVCが使用中であっ
ても再発行を行う必要がなく、他のPMとの間で通信を
行う必要もないのでオーバーヘッドを削減でき、マルチ
プロセッサシステムの処理性能の向上を図ることが可能
である。
の割り込みを処理する際に特定のPMの割り込み受け付
け可否の状態により他のPMへの割り込み待ちが発生す
ることを削減し、マルチプロセッサシステムの処理機能
低下を防ぐことができる。
る。
ある。
ャートである。
る。
る。
ーチャートである。
ーチャートである。
Claims (11)
- 【請求項1】 複数の情報処理モジュール(PM)から
なるマルチプロセッサシステムにおいて、 各情報処理モジュール(PM)により共用される複数の
入出力アダプタ(ADP)と、各入出力アダプタ(AD
P)により分割して支配される複数の入出力装置(DV
C)とを設け、 入出力アダプタ(ADP)の各々は、配下の入出力装置
(DVC)と情報処理モジュール(PM)ごとに、各情
報処理モジュール(PM)からの入出力要求を管理する
入出力要求保持テーブル(LDVC)と、各入出力装置
(DVC)に対する前記入出力要求を管理する入出力要
求保持テーブル(PDVC)を備え、各入出力装置(DVC)毎の前記入出力要求の処理順序
を管理するLDVC起動待ち行列と、各入出力装置(D
VC)に対する処理順序を管理するPDVC起動待ち行
列とを形成し、 前記入出力要求保持テーブル(LDVC、PDVC)と
入出力装置(DVC)の状態とに基づいて、各情報処理
モジュール(PM)の入出力要求を処理することを特徴
とするマルチプロセッサシステム。 - 【請求項2】 前記入出力装置(DVC)対応の入出力
保持テーブル(PDVC)に設定される状態情報は、 何もしていない状態を示すIDLE,入出力アダプタ(ADP)と入出力装置(DVC)を結
合するデバイスバス(DVBUS) が空くのを待ってい
る状態を示すWAIT, 入出力動作実行中の状態を示すWORK,入出力装置(DVC) は動作中であるが、前記デバイス
バス(DVBUS)は切断している状態を示すDISC
からなることを特徴とする請求項1記載のマルチプロセ
ッサシステム。 - 【請求項3】 前記入出力アダプタ(ADP)は、 入出力命令が到着したとき入出力命令受付を行う手段
と、 入出力命令が到着しないか入出力命令の受付が完了した
ときWAIT状態の入出力要求保持テーブル(PDV
C)があるとき入出力命令を実行し、入出力動作が完了
したとき情報処理モジュール(PM)に対して割り込み
処理を行う手段と、 WAIT状態の入出力要求保持テーブル(PDVC)が
ないか入出力命令が実行されたとき再結合要求があれば
再結合処理を行う手段とからなることを特徴とする請求
項1記載のマルチプロセッサシステム。 - 【請求項4】 前記入出力命令受付手段は、到着した入出力命令 が割り込み受け付け(IACK)命
令ではなく入出力要求保持テーブル(LDVC)の状態
がIDLE以外のときは入出力受け付けを拒否する手段
と、前記入出力命令が前記(IACK)命令 でなくて入出力
要求保持テーブル(LDVC)の状態がIDLEのとき
入出力受付完了を情報処理モジュール(PM)に応答
し、入出力要求保持テーブル(LDVC)の状態をWA
ITに変更し、該入出力要求保持テーブル(LDVC)
をLDVC起動待ち行列に加える手段と、 次に入出力要求保持テーブル(PDVC)がIDLEの
とき入出力要求保持テーブル(PDVC)の状態をWA
ITに変更し該入出力要求保持テーブル(PDVC)を
PDVC起動待ち行列に加える手段と、前記入出力命令が割り込み受け付け命令(IACK) の
とき割り込み状態にある入出力要求保持テーブル(LD
VC)の状態をIDLEにする手段とからなることを特
徴とする請求項3記載のマルチプロセッサシステム。 - 【請求項5】 前記入出力命令実行手段は、入出力アダプタ(ADP)と入出力装置(DVC)を結
合するデバイスバス(DVBUS) が使用可のとき入出
力要求保持テーブル(PDVC)の状態をWORKに変
え、入出力要求保持テーブル(LDVC)の状態をWO
RKに変更する手段と、 入出力動作を実行する手段と、 全入出力動作が終了していないとき入出力要求保持テー
ブル(PDVC)の状態をDISCに変更し該入出力要
求保持テーブル(PDVC)をPDVC起動待ち行列か
ら外す手段と、 全入出力動作終了したとき、入出力要求保持テーブル
(LDVC)をLDVC起動待ち行列から外し情報処理
モジュール(PM)に対して割り込み処理を行う手段
と、 LDVC起動待ち行列の長さが0のとき入出力要求保持
テーブル(PDVC)の状態をIDLEに変更し、該入
出力要求保持テーブル(PDVC)をPDVC起動待ち
行列から外す手段と、 LDVC起動待ち行列の長さが0でないとき入出力要求
保持テーブル(PDVC)の状態をWAITに変更し入
出力要求保持テーブル(PDVC)をPDVC起動待ち
行列の最後に加える手段とからなることを特徴とする請
求項3記載のマルチプロセッサシステム。 - 【請求項6】 複数の情報処理モジュール(PM)から
なるマルチプロセッサシステムにおいて、 各情報処理モジュール(PM)により共用される複数の
入出力アダプタ(ADP)と、各入出力アダプタ(AD
P)により分割して支配される複数の入出力装置(DV
C)とを設け、 入出力アダプタ(ADP)の各々は、対応する情報処理
モジュール(PM)と入出力装置(DVC)ごとに各入
出力装置(DVC)からの割り込み要求を管理する割り
込み要求保持テーブル(LDVC)と、各情報処理モジ
ュール(PM)に対する割り込みを管理する割り込み制
御テーブル(PMIC)を備え、各情報処理モジュール(PM)毎の割り込み要求の処理
順序を管理するLDVC割り込み待ち行列と、各情報処
理モジュール(PM)に対する処理順序を管理するPM
IC割り込み待ち行列とを形成し 、前記 割り込み要求保持テーブル(LDVC)と割り込み
制御テーブル(PMIC)と情報処理モジュール(P
M)の状態とに基づいて、各入出力装置(DVC)の割
り込み要求を処理することを特徴とするマルチプロセッ
サシステム。 - 【請求項7】 前記入出力要求保持テーブル(LDV
C)に設定される状態情報は、 何もやっていない状態を示すIDLE,入出力装置(DVC)対応の入出力要求保持テーブル
(PDVC) が空くのを待っている状態を示すWAI
T, 待ち行列の先頭となり入出力動作を実行している状態を
示すWORK,入出力要求保持テーブル(LDVC) がLDVC割込み
待ち行列につながれて、割り込み要求(IRQ)命令の
発行順序を待っている状態を示すIRQWと、入出力要求保持テーブル(LDVC) がLDVC割り込
み待ち行列の先頭になり割り込み制御テーブル(PMI
C)がPMIC割り込み待ち行列の先頭になり、割り込
み要求(IRQ)命令を発行して、情報処理モジュール
(PM)から受け付け可否通知を待っている状態を示す
IRQEXと、 割り込み要求が情報処理モジュール(PM)に受け付け
られ、入出力アダプタ(ADP)が割り込み受け付け
(IACK)命令を待っている状態を示すIACKWか
らなることを特徴とする請求項1又は6の何れかに記載
のマルチプロセッサシステム。 - 【請求項8】 前記情報処理モジュール(PM)への割
り込み制御テーブル(PMIC)に設定される状態情報
は、 情報処理モジュール(PM)に属する割り込み待ちの入
出力要求保持テーブル(LDVC)がない状態を示す I
DLE,割り込み要求が情報処理モジュール(PM)に受け付け
られ、割り込み受け付け(IACK)命令を待っている
状態を示す WAIT、情報処理モジュール(PM)からの割り込み処理受け付
け可否通知を待っている状態を示すACTIVE からな
ることを特徴とする請求項7記載のマルチプロセッサシ
ステム。 - 【請求項9】 入出力動作終了時の情報処理モジュール
(PM)に対する前記割り込み処理は、情報処理モジュール(PMへの割り込み制御テーブル
(PMIC) の状態がIDLEであればPMIC割り込
み待ち行列の長さを判断する手段と、 PMIC割り込み待ち行列の長さが0でないとき、割り
込み制御テーブル(PMIC)の状態をWAITとし、
PMIC待ち行列に割り込み要求をつなぎ割り込み制御
テーブル(PMIC)のLDVC割り込み待ち行列に割
り込み要求をつなぐ手段と、 PMIC割り込み待ち行列の長さが0のとき、割り込み
要求をPMIC待ち行列の先頭につなぎ、さらに割り込
み制御テーブル(PMIC)のLDVC割り込み待ち行
列の先頭につないで割り込みコマンドの発行を指示する
手段と、割り込み制御テーブル(PMIC) の状態がWAITま
たはACTIVEのとき該割り込み制御テーブル(PM
IC)のLDVC割り込み待ち行列につなぐ手段とから
なることを特徴とする請求項8記載のマルチプロセッサ
システム。 - 【請求項10】 割り込み要求命令の結果通知の時の割
り込み処理は、 割り込み要求命令の実行結果が受け付けの時、先頭の入
出力要求保持テーブル(LDVC)の状態をIACKW
とし、LDVC割り込み待ち行列から外す手段と、該 LDVC割り込み待ち行列の長さが0のとき、割り込
み制御テーブル(PMIC)の状態をIDLEとし、P
MIC待ち行列から外す手段と、 PMIC割り込み待ち行列の長さが0でないとき、次の
割り込み制御テーブル(PMIC)の状態をACTIV
Eにし、先頭の入出力要求保持テーブル(LDVC)の
状態をIRQEXとし、割り込みコマンドを発行する手
段と、 PMIC割り込み待ち行列の長さが0のとき、直ちにも
との処理に戻る手段と、 割り込み要求命令の実行結果が拒否の時やLDVC割り
込み待ち行列の長さが0でないとき割り込み制御テーブ
ル(PMIC)をPMIC待ち行列の最後につなぐ手段
とからなることを特徴とする請求項9記載のマルチプロ
セッサシステム。 - 【請求項11】 複数の惰報処理モジュール(PM)か
らなるマルチプロセッサシステムにおいて、 各情報処理モジュール(PM)より共用される複数の入
出力アダプタ(ADP)と、各入出力アダプタ(AD
P)により分割して支配される複数の入出力装置(DV
C)とを設け、 入出力アダプタ(ADP)の各々は、配下の入出力装置
(DVC)と情報処理モジュール(PM)ごとに、各情
報処理モジュール(PM)からの入出力要求および各入
出力装置(DVC)からの割り込み要求を管理する入出
力要求保持テーブル(LDVC)と、各入出力装置(D
VC)に対する入出力要求を管理する入 出力要求保持テ
ーブル(PDVC)と、各情報処理モジュール(PM)
に対する割り込みを管理する割り込み制御テーブル(P
MIC)を備え、 各入出力装置(DVC)に対する処理順序を管理するP
DVC起動待ち行列と、各入出力装置(DVC)毎の入
出力要求の処理順序を管理するLDVC起動待ち行列
と、各情報処理モジュール(PM)に対する処理順序を
管理するPMIC割り込み待ち行列と、各情報処理モジ
ュール(PM)毎の割り込み要求の処理順序を管理する
LDVC割り込み待ち行列とを形成し、 前記入出力要求保持テーブル(LDVC、PDVC)と
入出力装置(DVC)の状態とに基づいて、各情報処理
モジュール(PM)の入出力要求を処理し、前記入出力
要求保持テーブル(LDVC)と割り込み制御テーブル
(PMIC)と情報処理モジュール(PM)の状態とに
基づいて、各入出力装置(DVC)の割り込み要求を処
理することを特徴とするマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3043887A JPH07104833B2 (ja) | 1990-03-09 | 1991-03-08 | マルチプロセッサシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-59070 | 1990-03-09 | ||
JP5907090 | 1990-03-09 | ||
JP3043887A JPH07104833B2 (ja) | 1990-03-09 | 1991-03-08 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04211857A JPH04211857A (ja) | 1992-08-03 |
JPH07104833B2 true JPH07104833B2 (ja) | 1995-11-13 |
Family
ID=26383720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3043887A Expired - Lifetime JPH07104833B2 (ja) | 1990-03-09 | 1991-03-08 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07104833B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7318423B2 (ja) | 2019-08-30 | 2023-08-01 | 富士通株式会社 | 通信制御装置、通信制御方法及び通信制御プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
JPS58154029A (ja) * | 1982-03-08 | 1983-09-13 | Fuji Facom Corp | 複数の中央処理装置による入出力機器の共有制御方式 |
-
1991
- 1991-03-08 JP JP3043887A patent/JPH07104833B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04211857A (ja) | 1992-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5940612A (en) | System and method for queuing of tasks in a multiprocessing system | |
KR101951072B1 (ko) | 코어 간 통신 장치 및 방법 | |
US6754738B2 (en) | Low overhead I/O interrupt | |
US7404190B2 (en) | Method and apparatus for providing notification via multiple completion queue handlers | |
EP0446077B1 (en) | A control system for multi-processor system | |
US4414620A (en) | Inter-subsystem communication system | |
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
US6880021B2 (en) | Intelligent interrupt with hypervisor collaboration | |
US5606703A (en) | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures | |
US20030065856A1 (en) | Network adapter with multiple event queues | |
KR20040071743A (ko) | 낮은 오버헤드 프로세서 인터페이싱 | |
WO2010105013A1 (en) | Scalable interface for connecting multiple computer systems which performs parallel mpi header matching | |
US5388217A (en) | Distributing system for multi-processor input and output using channel adapters | |
US5410650A (en) | Message control system for data communication system | |
KR20070116102A (ko) | Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US6792483B2 (en) | I/O generation responsive to a workload heuristics algorithm | |
US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
US5727151A (en) | Message control system specifying message storage buffer for data communication system with general purpose and arbitrary form buffers | |
EP0502215B1 (en) | Message control system in a data communication system | |
JPH0844649A (ja) | データ処理装置 | |
JPH07104833B2 (ja) | マルチプロセッサシステム | |
JP3115801B2 (ja) | 並列計算機システム | |
JP2922342B2 (ja) | 割込み制御装置 | |
US6493779B1 (en) | Method and system for interrupt handling using device pipelined packet transfers | |
JP2000244585A (ja) | バスインタフェース回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19961126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081113 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081113 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091113 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101113 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101113 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111113 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111113 Year of fee payment: 16 |