(57)【特許請求の範囲】
【請求項１】
各々が各タスクから送信される処理要求を記憶する複数のバッファと、
タスク毎に用意された複数の禁止フラグと、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視部と、
前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、
前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサ部と、
前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットする手段と、
前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットする手段と、
を備えることを特徴とするマルチタスク均等処理方式。
【請求項２】
請求項１に記載のマルチタスク均等処理方式において、前記アクセス監視部は、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とするマルチタスク均等処理方式。
【請求項３】
請求項１又は２に記載のマルチタスク均等処理方式において、前記アクセス監視部は、定期的に動作することを特徴とするマルチタスク均等処理方式。
【請求項４】
請求項１又は２に記載のマルチタスク均等処理方式において、前記アクセス監視部は、前記プロセッサ部が前記処理の実行を終了するたびに動作し、終了した前記処理に対応するタスクについてのバッファのみについて動作することを特徴とするマルチタスク均等処理方式。
【請求項５】
各々が各タスクから送信される処理要求を記憶する複数のバッファを用意するステップと、
タスク毎に複数の禁止フラグを用意するステップと、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、
前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、
前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、
前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、
前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、
を有することを特徴とするマルチタスク均等処理方法。
【請求項６】
請求項５に記載のマルチタスク均等処理方法において、前記アクセス監視ステップでは、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とするマルチタスク均等処理方法。
【請求項７】
請求項５又は６に記載のマルチタスク均等処理方法において、前記アクセス監視ステップは、定期的に行うことを特徴とするマルチタスク均等処理方法。
【請求項８】
請求項５又は６に記載のマルチタスク均等処理方法において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とするマルチタスク均等処理方法。
【請求項９】
各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグを用いて行う方法であって、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、
前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、
前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、
前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、
前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、
を有する方法をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップでは、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項９又は１０に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、定期的に行うことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９又は１０に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータで行われるマルチタスク方式及びその方法に関し、特に局用電子交換機のために構成される複数個別制御装置と主制御装置によって構成されるシステムにおけるマルチタスク方式及びその方法に関する。
【０００２】
【従来の技術】
このようなシステムにおいては、一般的にそれぞれの個別制御装置が独自の処理を行い、非同期的に統括的な情報を主制御装置に対してアクセスするが、近年個々の個別制御装置の処理能力が向上し、主制御装置における個別制御装置による非同期アクセスの効率化が要請されている。
【０００３】
この要請にこたえるために、例えば特開平０７−０２１１１６号公報に開示されているように、制御プログラムにてタイマ監視機能を持つことにより処理の効率化をすることが提案されている。
【０００４】
【発明が解決しようとする課題】
この先行技術文献に開示された手法は、本発明の実施形態を示す図１のブロック図における主制御装置における受信処理の効率化対策であるが、制御プログラムでのタイマ監視での処理であるため、非同期アクセスの均等化処理に対する受信監視部という構成を有していない。
【０００５】
このため、非同期アクセスに対し、タイマによる周期監視による制御となるため、制御プログラムの負荷が非常に高くなるという動作となる。
【０００６】
その結果、システム全体の処理能力が低下してしまうという欠点がある。
【０００７】
さらには、特定の個別制御装置の連続アクセスに対し、受信順序による処理の優先付けを行うため、特定の個別制御装置の連続アクセスが他の個別制御装置からの非同期アクセス処理に影響を与えてしまうという問題もある。
【０００８】
本発明の目的は、特定の個別タスクからの非同期連続処理要求を受信した場合においても、各個別タスクに対する処理を均等かつ効率的に行うことを可能とする機能を有するマルチタスク均等処理方式を提供することにある。
【０００９】
特に、本発明の目的は、特定の個別制御装置からの非同期連続アクセスを受信した場合においても、各個別制御装置を相手とした送受信処理を均等かつ効率的に行うことを可能とする機能を有するマルチタスク均等処理方式を提供することにある。
【００１０】
【課題を解決するための手段】
本発明によるマルチタスク均等処理方式は、各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグと、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視部と、前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサ部と、前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットする手段と、前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットする手段と、を備えることを特徴とする。
【００１１】
また、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とする。
【００１２】
更に、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、定期的に動作することを特徴とする。
【００１３】
更に、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、前記プロセッサ部が前記処理の実行を終了するたびに動作し、終了した前記処理に対応するタスクについてのバッファのみについて動作することを特徴とする。
【００１４】
本発明によるマルチタスク均等処理方法は、各々が各タスクから送信される処理要求を記憶する複数のバッファを用意するステップと、タスク毎に複数の禁止フラグを用意するステップと、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、を有することを特徴とする。
【００１５】
また、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップでは、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とする。
【００１６】
更に、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップは、定期的に行うことを特徴とする。
【００１７】
更に、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とする。
【００１８】
本発明によるコンピュータ読み取り可能な記録媒体は、各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグを用いて行う方法であって、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、前記アクセス監視部から出力された前記割込要求を記憶するＦＩＦＯと、前記ＦＩＦＯに前記割込要求が存在するか否かを判定し、存在するときには前記ＦＩＦＯの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、前記ＦＩＦＯに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、前記ＦＩＦＯから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、を有する方法をコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００１９】
また、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップでは、複数の前記処理要求に対し１つの前記割込要求を出力することを特徴とする。
【００２０】
更に、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、定期的に行うことを特徴とする。
【００２１】
更に、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とする。
【００２２】
【発明の実施の形態】
本発明は、複数の個別制御装置とこれらを統括する主制御装置から構成されるシステムにおいて、個々の個別制御装置から主制御装置に対し非同期的に発生するアクセスを、主制御装置が均等に行うために、主制御装置内に個別制御装置毎にアクセス要求（ライト要求又はリード要求）が個別制御装置により書き込まれる送受信バッファを設け、各々の送受信バッファへ蓄積されたアクセス要求を監視して、アクセス要求が蓄積されていた場合にはこのアクセス要求を主制御装置の制御プログラムへ割込通知により通知するアクセス監視部を設け、更に、制御プログラムへアクセス要求を通知するための割込通知を蓄えるためのＦＩＦＯ構成の割込制御バッファを設け、割込制御バッファには１つの個別制御装置からの割込通知は１つしか書き込めないようにすることにより、特定の個別制御装置から連続的にアクセス要求が発生した場合、主制御装置において他の個別制御装置からのアクセスに遅延、阻害が発生しないようにアクセス監視部及び割込制御バッファの間のプロトコルに設けられた通知制御機能により制御プログラムによる処理の均等化、ならびに効率化を実現することを特徴としている。
【００２３】
個別制御装置からのアクセス要求（ライト要求（データが付随する）又はリード要求）はまず、主制御装置内の送受信バッファに格納さる。これを監視するアクセス監視部は、定期的に又はプロセッサからのコマンドにより送受信バッファにアクセス要求が蓄積されているか否かを監視し、蓄積されているときには、主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込む。制御プログラムは割込制御バッファへの積込順序に従い、割込通知に対応した個別制御装置のための処理（送信処理又は受信処理）を行っていく。
【００２４】
このとき、ある特定個別制御装置からのアクセス要求が連続的に発生した場合、割込通知順序に依存する制御プログラムの処理では、他の個別装置からのアクセス要求に応じた他の個別装置のための処理（送信処理又は受信処理）の遅延、および阻害が発生することが懸念される。
【００２５】
そこで、送受信バッファ、アクセス監視部、および割込制御バッファに、既に割込制御バッファに割込通知がエントリされている個別装置と同一の個別装置からの新たな割込通知を待機させる制御動作を実行させる。従って、アクセス監視部は、送受信バッファにアクセス要求が蓄積されているときには、常に主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込むのではなく、割込通知が許可されているとき（待機させられていないとき）にのみ主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込む。
【００２６】
本発明により、複数の個別制御装置からの非同期アクセス要求に対し均等かつ効率的に処理を実行できるという効果が得られる。
【００２７】
図１のブロック図を参照すると、本発明の一実施形態としての局用電子交換機は、主制御装置１１と複数の個別制御装置１３、１４および１５とこれらを接続する外部バス１２を備えるシステムである。
【００２８】
各個別制御装置１３、１４および１５は、各々、プロセッサ（MPU：Micro Processor Unit）を有し、その個別制御に応じた処理を行なう。
【００２９】
個別制御装置１３、１４および１５を統括するための主制御装置１１は、個別制御装置１３、１４および１５と外部バス１２を経由して通信を行なう。
【００３０】
また、主制御装置１１は、個別制御装置１３、１４および１５との送受信を行なうために、個別制御装置毎にブロックを割り当てた送受信バッファ１６を有している。
【００３１】
個別制御装置１３、１４および１５は、各々の処理を行うが、主制御装置１１との送受信（主制御装置へのライト又は主制御装置からのリード）を行なおうとした場合には、外部バス１２を経由して、主制御装置１１内の各々割り当てられた送受信バッファ１６にアクセス要求（データが付随したライト要求又はリード要求）を一旦格納する。
【００３２】
主制御装置１１内のアクセス監視部１７は、個別制御装置１３、１４および１５からの送受信バッファ１６におけるアクセス要求の有無を個別制御装置ごとに監視し、ある個別制御装置のための送受信バッファ１６にアクセス要求が蓄積されているときには、その個別制御装置の識別子を有する割込通知が割込バッファ１８に書き込まれていなければ、その個別制御装置の識別子をもった割込通知を割込バッファ１８に書き込む。
【００３３】
プロセッサ部１９で動作する制御プログラムは、定期的に割込バッファ１８に割込通知が蓄積されているか否かをローカルバス１ａを介して監視し、割込バッファ１８に割込通知が蓄積されていれば内部バス１ｂを介して割込通知に付随する識別子に対応する個別制御装置に対応する送受信バッファ１６の先頭に書き込まれているアクセス要求を読み取り、アクセス要求がリード要求なのか又はライト要求なのかなどの情報を読み取り、それらの情報に応じて送信処理又は受信処理を行う。
【００３４】
上記の処理において、もしも何も処置をしなければ、或る特定の個別制御装置１３が連続的に主制御装置１１に対しアクセス要求を出した場合、割込制御バッファ１８には、この特定個別制御装置１３からの割込通知ばかりがエントリされてしまい、他の個別制御装置１４、１５の処理に影響を与えてしまう。
【００３５】
この処理に対し、本発明に従って設けられたアクセス監視部１７及び割込制御バッファ１８は、割込通知制限機能を具備する。割込通知制限機能は、アクセス監視部１７が割込バッファ１８に書き込もうとする割込通知の識別子で示される個別制御装置と同一の個別制御装置の識別子を有する割込通知が既に割込制御バッファ１８に格納されている場合には、その書き込もうとする割込通知の書き込みを禁止する機能を有する。
【００３６】
また、制御プログラムでの処理（送信処理又は受信処理）が完了した後に、完了した処理に対応する割込通知の識別子が示す送受信バッファ１６と同一の送受信バッファ１６に残留しているアクセス要求がないか否かを、プロセッサ部１９がアクセス監視部１７に対してアクセス監視コマンドを出すのに応じてアクセス監視部１７がアクセス監視をすることにより判定し、残留しているアクセス要求があれば、アクセス監視部１７は、新たに割込制御バッファ１６に対し割込通知を書き込む。なお、割込制御バッファ１８においては、完了した処理の基となったアクセス要求と新たに書き込まれるアクセス要求の間には、定期的な監視の結果或いは他の個別制御装置のためのコマンドによる監視の結果として他の個別制御装置のアクセス要求が挿入される余地がある。
【００３７】
これにより、制御プログラムにてタイマ等による定期的な受信監視のみにたよることなく、かつ、特定の個別制御装置１３から非同期的かつ連続的に発生した受信処理に偏り、他の個別制御装置１４、１５の処理が不充分となることなく、均等にかつ効率的に処理を実行することが可能となる。
【００３８】
また、割込制御バッファ１８への割込通知の書き込みは、個別制御装置１３、１４および１５から書き込まれた送受信バッファ１６へのアクセス要求を監視することにより行うことが可能であり、また、送受信バッファ内に残留したアクセス要求に対する処理の開始も本実施形態の構成にて実現できる。
【００３９】
次に、本実施形態の動作を図１のブロック図と図２のシーケンス図を参照して説明する。
【００４０】
個別制御装置Ａ（１３）からの主制御装置１１に対するアクセス要求（ステップ２１）が２１個、個別制御装置Ｂ（１４）からの主制御装置１１に対するアクセス要求（ステップ２２）が７個、個別制御装置Ｃ（１５）からの主制御装置１１に対するアクセス要求（ステップ２３）が３個あったとする。
【００４１】
各々のアクセス要求は、外部バス１２を経由して、主制御装置１１内に個別装置毎にブロックが割り当てられた送受信バッファ１６に格納される。
【００４２】
ここで、主制御装置１１内のアクセス監視部１７は、各送受信バッファ１６に割込要求が蓄積されているか否かを監視し（ステップ２４）、蓄積されているときには、割込通知を割込制御バッファ１８に書き込む（ステップ２５）。このとき、例えば、割込通知１つに対し、アクセス要求は５つまでと制限を設定しておくことにする。
【００４３】
なお、定期的なアクセス監視の場合には、送受信バッファ１６に少なくとも１つのアクセス要求がある場合には、割込通知を割込制御バッファ１８に書き込む。一方でプロセッサ部１９からのコマンドによりアクセス監視をする場合には、送受信バッファ１６に５個以上のアクセス要求が無ければ、割込通知を割込制御バッファ１８に書き込まない。
【００４４】
プロセッサ（ＭＰＵ）部１９に搭載された制御プログラムはローカルバス１ａを経由し割込制御バッファ１８に割込通知が書き込まれているか否かを監視し（ステップ２６）、監視の結果が肯定的であるときには、割込通知の書き込み順序に従って受信処理又は送信処理を実行していく。
【００４５】
図２に示したシーケンス図に従った動作の場合、個別制御装置Ａ（１３）の通知の処理を行ない、続いて個別制御装置Ｂ（１４）の処理、そして個別制御装置Ｃ（１５）の処理を行なう（ステップ２７）。
【００４６】
アクセス監視部１７及び割込制御バッファ１８には更なる機能であって、同一個別装置についての割込通知を２つ以上割込制御バッファ１８に書き込めない機能が備えられている。
【００４７】
この機能により、特定の個別制御装置からの連続した割込通知を防止することが可能となり、他の個別制御装置からの処理を均等に実施することが可能となる。
【００４８】
また、制御プログラムにおいて完了した処理（ステップ２７）に対応する割込通知に対応する個別制御装置と同一の個別制御装置に割り当てられた送受信バッファ１６内に残留したアクセス要求がないかをアクセス監視部１７に行わせるためのコマンドをプロセッサ部１９は発行する（ステップ３０）。一方で、割込制御バッファ１８は、割込制御バッファ１８からの割込通知の読み出しが行われたか否かを監視し（ステップ２８）、読み出しが行われれば、読み出された割込通知に付随する識別子で示される個別制御装置と同一の個別制御装置からの割込通知を許容するようにする（ステップ２９）。上記のコマンドに応じたアクセス監視で残留したアクセス要求が５つ以上あることが判定された場合には、アクセス監視部１７は、割込通知の割込制御バッファ１８への書き込みが許容されているので割込通知を割込制御バッファ１８に書き込む（ステップ２５）。
【００４９】
このように、送受信バッファ内に残留したアクセス要求があれば、ハードウェアにて再割込通知を行う機能を具備していることから、制御プログラムでの処理緩和となり、システム性能向上可能とする。
【００５０】
また、ある個別制御装置からのある割込通知に対する処理が終了してから初めてその個別制御装置からの次の割込通知が許可されるので、同一の個別制御装置からの割込通知が連続することが無くなる。
【００５１】
また、個別制御装置からのアクセス要求の数と割込通知の数との割合を上記の実施形態では５としたが、この割合をカスタマイズ可能とすることにより、システム全体の性能に合わせ、容易に処理の最適化設定を行うことが可能となる。
【００５２】
本発明の他の実施形態として、その基本的構成は上記の通りであるが、異種バス変換機能についてさらに工夫している。その構成を図３に示す。図３において、外部バスＡ側の構成については図１と同様であるが、送受信バッファ１６に外部バスＡ１２とは異なる外部バスＢ１ｃを接続する構成を示す。
【００５３】
本構成により、主制御装置１１がバスブリッジ機能を実現することになり、異種バス変換機能を比較的容易に実現することが可能となる。
【００５４】
【実施例】
図４〜６を参照して本発明の実施例について説明する。
【００５５】
本実施例の基本的構成は図１に示すものと同様であり、動作は図２に示すものと同様である。
【００５６】
図４を参照すると、送受信バッファは、リングバッファＡ（１６ａ）、リングバッファＢ（１６ｂ）、リングバッファＣ（１６ｃ）を備える。リングバッファＡ（１６ａ）、リングバッファＢ（１６ｂ）、リングバッファＣ（１６ｃ）は、各々、個別制御装置Ａ（１３）、個別制御装置Ｂ（１４）、個別制御装置Ｃ（１５）に対応する。リングバッファＡ（１６ａ）、リングバッファＢ（１６ｂ）、リングバッファＣ（１６ｃ）は、各々、１０２４個のアクセス要求を記憶でき、最初のアクセス要求はヘッドポインタにより示され、最後のアクセス要求はテールポインタにより示される。送受信バッファ１６に書き込まれているアクセス要求の数はテールポインタとヘッドポインタの差により知ることができる。各エントリには、１つのアクセス要求が書き込まれる。ライト要求の場合にはライト要求のコマンドとデータ等が１つのエントリに書き込まれ、リード要求の場合にはリード要求のコマンド等が１つのエントリに書き込まれる。
【００５７】
割込制御バッファ１８は、ＦＩＦＯ１８１とフラグ１８２を備える。ＦＩＦＯ１８１の各エントリは、１つの割込通知が書き込まれる。フラグ１８２は、フラグ１８２ａ、１８２ｂ、１８２ｃを備え、フラグ１８２ａ、１８２ｂ、１８２ｃは、各々、個別制御装置Ａ（１３）、個別制御装置Ｂ（１４）、個別制御装置Ｃ（１５）に対応する。ＦＩＦＯ１８１に個別制御装置Ａ（１３）についての割込通知が書き込まれたときには、フラグ１８２ａはセットされ、ＦＩＦＯ１８１から個別制御装置Ａ（１３）についての割込通知が読み出されたときには、フラグ１８２ａはリセットされる。フラグ１８２ｂ、１８２ｃについても同様である。アクセス監視部１７は、フラグ１８２の値を見て割込通知をＦＩＦＯ１８１に書き込むことが可能か否かを判定する。
【００５８】
図６を参照すると、まず、個別制御装置Ａ（１３）からの１２個のアクセス要求２１、個別制御装置Ｂ（１４）からの７個のアクセス要求２２、個別制御装置Ｃ（１５）からの３個のアクセス要求２３がある。
【００５９】
次に、アクセス制御装置１７が定期アクセス要求監視を実行すると（２４−１）、１個以上の個別制御装置Ａ（１３）についてのアクセス要求が送受信バッファ１６にあり、且つ、フラグ１８２ａがリセットされているので、個別制御装置Ａ（１３）についての割込通知を割込制御バッファ１８に書き込む（２５−１）。これと同時にフラグ１８２ａはセットされる。
【００６０】
上記と同様な動作が個別制御装置Ｂ（１４）、個別制御装置Ｃ（１５）についても行われる（２４−２、２５−２、２４−３、２５−３）。
【００６１】
次に、アクセス制御装置１７が定期アクセス要求監視２４−４、２４−５を実行すると、個別制御装置Ａ（１３）、Ｂ（１４）について、割込通知が出されていない１個以上のアクセス要求が送受信バッファ１６にあるが、フラグ１８２ａがセットされているので、個別制御装置Ａ（１３）、Ｂ（１４）についての割込通知は割込制御バッファ１８に書き込まない。また、個別制御装置Ｃ（１５）については割込通知が出されていないアクセス要求がないので、個別制御装置Ｃ（１５）についての割込通知は割込制御バッファ１８には書き込まない。
【００６２】
次に、プロセッサ部１９が割込通知監視を行う（２６−１）。このときフラグ１８２ａはリセットされる（２９−１）。ＦＩＦＯ１８１の先頭には個別制御装置Ａ（１３）の割込通知があるので、リングバッファ１６ａの先頭の５つのアクセス要求を判定し（３１−１）、判定結果に応じて送信処理又は受信処理を行う（２７−１）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＡ（１６ａ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−１）。
【００６３】
ステップ３０−１のコマンドに応じてアクセス監視部１７はリングバッファＡ（１６ａ）を対象にしてアクセス監視を行う（２４−６）。リングバッファＡ（１６ａ）には、５個以上である７個の未処理のアクセス要求があり、フラグ１８２ａがリセットされているので、個別制御装置Ａ（１３）についての割込通知を割込制御バッファ１８に書き込む（２５−４）。
【００６４】
次に、プロセッサ部１９が割込通知監視を行う（２６−２）。このときフラグ１８２ｂはリセットされる（２９−２）。ＦＩＦＯ１８１の先頭には個別制御装置Ｂ（１４）の割込通知があるので、リングバッファ１６ｂの先頭の５つのアクセス要求を判定し（３１−２）、判定結果に応じて送信処理又は受信処理を行う（２７−２）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＢ（１６ｂ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−２）。
【００６５】
ステップ３０−２のコマンドに応じてアクセス監視部１７はリングバッファＢ（１６ｂ）を対象にしてアクセス監視を行う（２４−７）。リングバッファＡ（１６ａ）には、５個より少ない２個の未処理のアクセス要求しかないので、個別制御装置Ｂ（１４）についての割込通知を割込制御バッファ１８に書き込むことはしない。
【００６６】
次に、プロセッサ部１９が割込通知監視を行う（２６−３）。このときフラグ１８２ｃはリセットされる（２９−３）。ＦＩＦＯ１８１の先頭には個別制御装置Ｃ（１５）の割込通知があり、リングバッファ１６ｃには３つのアクセス要求があるので、リングバッファ１６ｃの先頭の３つのアクセス要求を判定し（３１−３）、判定結果に応じて送信処理又は受信処理を行う（２７−３）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＣ（１６ｃ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−３）。
【００６７】
ステップ３０−３のコマンドに応じてアクセス監視部１７はリングバッファＣ（１６ｃ）を対象にしてアクセス監視を行う（２４−８）。リングバッファＣ（１６ｃ）には、未処理のアクセス要求がないので、個別制御装置Ｃ（１５）についての割込通知を割込制御バッファ１８に書き込むことはしない。
【００６８】
次に、プロセッサ部１９が割込通知監視を行う（２６−４）。このときフラグ１８２ａはリセットされる（２９−４）。ＦＩＦＯ１８１の先頭には個別制御装置Ａ（１３）の割込通知があり、リングバッファ１６ｃには７つのアクセス要求があるので、リングバッファ１６ｃの先頭の５つのアクセス要求を判定し（３１−４）、判定結果に応じて送信処理又は受信処理を行う（２７−４）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＡ（１６ａ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−４）。
【００６９】
ステップ３０−４のコマンドに応じてアクセス監視部１７はリングバッファＡ（１６ａ）を対象にしてアクセス監視を行う（２４−９）。リングバッファＡ（１６ｃ）には、５個以下である２個の未処理のアクセス要求しかないので、個別制御装置Ａ（１３）についての割込通知を割り込み制御バッファ１８に書き込むことはしない。
【００７０】
次に、プロセッサ部１９が割込通知監視を行う（２６−５）。ＦＩＦＯ１８１には割込通知がないので、これに続いてアクセス判定や送信処理等は行われない。
【００７１】
次に、アクセス制御装置１７が定期アクセス要求監視を実行すると（２４−１０）、１個以上である２個の個別制御装置Ａ（１３）についてのアクセス要求が送受信バッファ１６にあり、且つ、フラグ１８２ａがリセットされているので、個別制御装置Ａ（１３）についての割込通知を割込制御バッファ１８に書き込む（２５−５）。これと同時にフラグ１８２ａはセットされる。
【００７２】
次に、アクセス制御装置１７が定期アクセス要求監視を実行すると（２４−１１）、１個以上である２個の個別制御装置Ｂ（１４）についてのアクセス要求が送受信バッファ１６にあり、且つ、フラグ１８２ｂがリセットされているので、個別制御装置Ｂ（１４）についての割込通知を割込制御バッファ１８に書き込む（２５−６）。これと同時にフラグ１８２ｂはセットされる。
【００７３】
次に、プロセッサ部１９が割込通知監視を行う（２６−６）。このときフラグ１８２ａはリセットされる（２９−５）。ＦＩＦＯ１８１の先頭には個別制御装置Ａ（１３）の割込通知があり、リングバッファ１６ａには２つのアクセス要求があるので、リングバッファ１６ａの先頭の２つのアクセス要求を判定し（３１−５）、判定結果に応じて送信処理又は受信処理を行う（２７−５）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＡ（１６ａ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−５）。
【００７４】
ステップ３０−５のコマンドに応じてアクセス監視部１７はリングバッファＡ（１６ａ）を対象にしてアクセス監視を行う（２４−６）。リングバッファＡ（１６ａ）には、未処理のアクセス要求がないので、個別制御装置Ａ（１３）についての割込通知を割込制御バッファ１８に書き込むことはしない。
【００７５】
次に、プロセッサ部１９が割込通知監視を行う（２６−７）。このときフラグ１８２ｂはリセットされる（２９−６）。ＦＩＦＯ１８１の先頭には個別制御装置Ｂ（１４）の割込通知があり、リングバッファ１６ｂには２つのアクセス要求があるので、リングバッファ１６ｂの先頭の２つのアクセス要求を判定し（３１−６）、判定結果に応じて送信処理又は受信処理を行う（２７−６）。この処理が終了すると、プロセッサ部１９はアクセス監視部１７にリングバッファＢ（１６ｂ）を対象にアクセス監視を行わせるためのコマンドを発行する（３０−６）。
【００７６】
ステップ３０−６のコマンドに応じてアクセス監視部１７はリングバッファＢ（１６ｂ）を対象にしてアクセス監視を行う（２４−１３）。リングバッファＡ（１６ａ）には、未処理のアクセス要求がないので、個別制御装置Ａ（１３）についての割込通知を割込制御バッファ１８に書き込むことはしない。
【００７７】
次に、アクセス制御装置１７が定期アクセス要求監視を実行すると（２４−１４）、いずれの個別制御装置についてもアクセス要求が送受信バッファ１６にないので、いずれの個別制御装置についても割込通知を割込制御バッファ１８に書き込まない。
【００７８】
なお、アクセス要求監視２４−６〜２４−９の間に、定期的なアクセス要求監視があり、アクセス要求が１個以上ある個別制御装置についてのフラグがリセットされていれば、その個別制御装置について割込通知が割込制御バッファ１８に書き込まれる。
【００７９】
なお、上記の実施形態及び実施例ではプロセッサ部の行う処理は、送信処理又は受信処理であるとしたが、これに限定されるものではなく、プロセッサ部の行う処理を個別制御装置が要求した任意の処理とすることができるのはいうまでもない。
【００８０】
また、個別制御装置の代わりに、ソフトウェアにより実現されるタスク又はプロセスを置いても良い。
【００８１】
また、アクセス制御部１７、プロセッサ部１９等の機能は、コンピュータにその機能を実現させるためのプログラムを記録した記録媒体からコンピュータがそのプログラムを読み込んで実行することにより実現することも可能である。
【００８２】
【発明の効果】
以上説明したように、外部バスを経由して複数の個別制御装置からの非同期アクセス要求に対する受信処理又は送信処理を行うシステム主制御装置において、アクセス監視部および割込制御バッファに割込通知制御、または待機機能を具備しているので、特定の個別制御装置からの連続的なアクセス要求が発生した場合においても、主制御装置内のプロセッサ部に搭載された制御プログラムは、割込制御バッファへの割込通知順序に従い、一意的に処理を実行することにより、外部バスに接続された複数の個別制御装置からの受信処理を均等かつ効率的に実行することが可能となる。
【００８３】
従って、従来制御プログラムにて行っていた、競合調停、あるいはタイマ監視等によるアクセス監視をハードウェアにて実現することにより、システム性能を向上させることができる。
【００８４】
さらには、本発明では、制御プログラムの受信処理後、送受信バッファの残留アクセス要求の有無を確認する機能を具備していることから、送受信バッファに積み込まれているにもかかわらず、それに対して制御プログラムにより受信処理又は送信処理がなされないアクセス要求が発生するような状態を回避することができる。
【００８５】
しかも、割込通知の数とアクセス要求の数との割合を可変的に取り扱うことが可能となっているので、システムの能力または各々の個別制御処理に対し最適に設定することが容易であることから、システム性能向上のための調整を容易に設定することが可能という効果もある。
【図面の簡単な説明】
【図１】本発明の実施形態によるマルチタスク均等処理方式の構成を示すブロック図である。
【図２】本発明の実施形態によるマルチタスク均等処理方式の動作を示すシーケンス図である。
【図３】本発明の他の実施形態によるマルチタスク均等処理方式の構成を示すブロック図である。
【図４】本発明の実施例による送受信バッファの構成を示す図である。
【図５】本発明の実施例による割込制御バッファの構成を示す図である。
【図６】本発明の実施例によるマルチタスク均等処理方式の動作を示すシーケンス図である。
【符号の説明】
１ａ  ローカルバス
１ｂ  内部バス
１１  主制御装置
１２  外部バス
１３  個別制御装置Ａ
１４  個別制御装置Ｂ
１５  個別制御装置Ｃ
１６  送受信バッファ
１７  アクセス監視部
１８  割込制御バッファ
１９  プロセッサ部
【図１】
0003714457.tif 000002
【図２】
0003714457.tif 000003
【図３】
0003714457.tif 000004
【図４】
0003714457.tif 000005
【図５】
0003714457.tif 000006
【図６】
0003714457.tif 000007