JP3714457B2 - マルチタスク均等処理方式及びその方法 - Google Patents
マルチタスク均等処理方式及びその方法 Download PDFInfo
- Publication number
- JP3714457B2 JP3714457B2 JP2000121027A JP2000121027A JP3714457B2 JP 3714457 B2 JP3714457 B2 JP 3714457B2 JP 2000121027 A JP2000121027 A JP 2000121027A JP 2000121027 A JP2000121027 A JP 2000121027A JP 3714457 B2 JP3714457 B2 JP 3714457B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- interrupt request
- request
- processing
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータで行われるマルチタスク方式及びその方法に関し、特に局用電子交換機のために構成される複数個別制御装置と主制御装置によって構成されるシステムにおけるマルチタスク方式及びその方法に関する。
【0002】
【従来の技術】
このようなシステムにおいては、一般的にそれぞれの個別制御装置が独自の処理を行い、非同期的に統括的な情報を主制御装置に対してアクセスするが、近年個々の個別制御装置の処理能力が向上し、主制御装置における個別制御装置による非同期アクセスの効率化が要請されている。
【0003】
この要請にこたえるために、例えば特開平07−021116号公報に開示されているように、制御プログラムにてタイマ監視機能を持つことにより処理の効率化をすることが提案されている。
【0004】
【発明が解決しようとする課題】
この先行技術文献に開示された手法は、本発明の実施形態を示す図1のブロック図における主制御装置における受信処理の効率化対策であるが、制御プログラムでのタイマ監視での処理であるため、非同期アクセスの均等化処理に対する受信監視部という構成を有していない。
【0005】
このため、非同期アクセスに対し、タイマによる周期監視による制御となるため、制御プログラムの負荷が非常に高くなるという動作となる。
【0006】
その結果、システム全体の処理能力が低下してしまうという欠点がある。
【0007】
さらには、特定の個別制御装置の連続アクセスに対し、受信順序による処理の優先付けを行うため、特定の個別制御装置の連続アクセスが他の個別制御装置からの非同期アクセス処理に影響を与えてしまうという問題もある。
【0008】
本発明の目的は、特定の個別タスクからの非同期連続処理要求を受信した場合においても、各個別タスクに対する処理を均等かつ効率的に行うことを可能とする機能を有するマルチタスク均等処理方式を提供することにある。
【0009】
特に、本発明の目的は、特定の個別制御装置からの非同期連続アクセスを受信した場合においても、各個別制御装置を相手とした送受信処理を均等かつ効率的に行うことを可能とする機能を有するマルチタスク均等処理方式を提供することにある。
【0010】
【課題を解決するための手段】
本発明によるマルチタスク均等処理方式は、各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグと、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視部と、前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサ部と、前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットする手段と、前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットする手段と、を備えることを特徴とする。
【0011】
また、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とする。
【0012】
更に、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、定期的に動作することを特徴とする。
【0013】
更に、本発明によるマルチタスク均等処理方式は、上記のマルチタスク均等処理方式において、前記アクセス監視部は、前記プロセッサ部が前記処理の実行を終了するたびに動作し、終了した前記処理に対応するタスクについてのバッファのみについて動作することを特徴とする。
【0014】
本発明によるマルチタスク均等処理方法は、各々が各タスクから送信される処理要求を記憶する複数のバッファを用意するステップと、タスク毎に複数の禁止フラグを用意するステップと、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、を有することを特徴とする。
【0015】
また、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップでは、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とする。
【0016】
更に、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップは、定期的に行うことを特徴とする。
【0017】
更に、本発明によるマルチタスク均等処理方法は、上記のマルチタスク均等処理方法において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とする。
【0018】
本発明によるコンピュータ読み取り可能な記録媒体は、各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグを用いて行う方法であって、各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、を有する方法をコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【0019】
また、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップでは、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とする。
【0020】
更に、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、定期的に行うことを特徴とする。
【0021】
更に、本発明によるコンピュータ読み取り可能な記録媒体は、上記のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とする。
【0022】
【発明の実施の形態】
本発明は、複数の個別制御装置とこれらを統括する主制御装置から構成されるシステムにおいて、個々の個別制御装置から主制御装置に対し非同期的に発生するアクセスを、主制御装置が均等に行うために、主制御装置内に個別制御装置毎にアクセス要求(ライト要求又はリード要求)が個別制御装置により書き込まれる送受信バッファを設け、各々の送受信バッファへ蓄積されたアクセス要求を監視して、アクセス要求が蓄積されていた場合にはこのアクセス要求を主制御装置の制御プログラムへ割込通知により通知するアクセス監視部を設け、更に、制御プログラムへアクセス要求を通知するための割込通知を蓄えるためのFIFO構成の割込制御バッファを設け、割込制御バッファには1つの個別制御装置からの割込通知は1つしか書き込めないようにすることにより、特定の個別制御装置から連続的にアクセス要求が発生した場合、主制御装置において他の個別制御装置からのアクセスに遅延、阻害が発生しないようにアクセス監視部及び割込制御バッファの間のプロトコルに設けられた通知制御機能により制御プログラムによる処理の均等化、ならびに効率化を実現することを特徴としている。
【0023】
個別制御装置からのアクセス要求(ライト要求(データが付随する)又はリード要求)はまず、主制御装置内の送受信バッファに格納さる。これを監視するアクセス監視部は、定期的に又はプロセッサからのコマンドにより送受信バッファにアクセス要求が蓄積されているか否かを監視し、蓄積されているときには、主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込む。制御プログラムは割込制御バッファへの積込順序に従い、割込通知に対応した個別制御装置のための処理(送信処理又は受信処理)を行っていく。
【0024】
このとき、ある特定個別制御装置からのアクセス要求が連続的に発生した場合、割込通知順序に依存する制御プログラムの処理では、他の個別装置からのアクセス要求に応じた他の個別装置のための処理(送信処理又は受信処理)の遅延、および阻害が発生することが懸念される。
【0025】
そこで、送受信バッファ、アクセス監視部、および割込制御バッファに、既に割込制御バッファに割込通知がエントリされている個別装置と同一の個別装置からの新たな割込通知を待機させる制御動作を実行させる。従って、アクセス監視部は、送受信バッファにアクセス要求が蓄積されているときには、常に主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込むのではなく、割込通知が許可されているとき(待機させられていないとき)にのみ主制御装置に搭載された制御プログラム向けの割込通知を割込制御バッファに書き込む。
【0026】
本発明により、複数の個別制御装置からの非同期アクセス要求に対し均等かつ効率的に処理を実行できるという効果が得られる。
【0027】
図1のブロック図を参照すると、本発明の一実施形態としての局用電子交換機は、主制御装置11と複数の個別制御装置13、14および15とこれらを接続する外部バス12を備えるシステムである。
【0028】
各個別制御装置13、14および15は、各々、プロセッサ(MPU:Micro Processor Unit)を有し、その個別制御に応じた処理を行なう。
【0029】
個別制御装置13、14および15を統括するための主制御装置11は、個別制御装置13、14および15と外部バス12を経由して通信を行なう。
【0030】
また、主制御装置11は、個別制御装置13、14および15との送受信を行なうために、個別制御装置毎にブロックを割り当てた送受信バッファ16を有している。
【0031】
個別制御装置13、14および15は、各々の処理を行うが、主制御装置11との送受信(主制御装置へのライト又は主制御装置からのリード)を行なおうとした場合には、外部バス12を経由して、主制御装置11内の各々割り当てられた送受信バッファ16にアクセス要求(データが付随したライト要求又はリード要求)を一旦格納する。
【0032】
主制御装置11内のアクセス監視部17は、個別制御装置13、14および15からの送受信バッファ16におけるアクセス要求の有無を個別制御装置ごとに監視し、ある個別制御装置のための送受信バッファ16にアクセス要求が蓄積されているときには、その個別制御装置の識別子を有する割込通知が割込バッファ18に書き込まれていなければ、その個別制御装置の識別子をもった割込通知を割込バッファ18に書き込む。
【0033】
プロセッサ部19で動作する制御プログラムは、定期的に割込バッファ18に割込通知が蓄積されているか否かをローカルバス1aを介して監視し、割込バッファ18に割込通知が蓄積されていれば内部バス1bを介して割込通知に付随する識別子に対応する個別制御装置に対応する送受信バッファ16の先頭に書き込まれているアクセス要求を読み取り、アクセス要求がリード要求なのか又はライト要求なのかなどの情報を読み取り、それらの情報に応じて送信処理又は受信処理を行う。
【0034】
上記の処理において、もしも何も処置をしなければ、或る特定の個別制御装置13が連続的に主制御装置11に対しアクセス要求を出した場合、割込制御バッファ18には、この特定個別制御装置13からの割込通知ばかりがエントリされてしまい、他の個別制御装置14、15の処理に影響を与えてしまう。
【0035】
この処理に対し、本発明に従って設けられたアクセス監視部17及び割込制御バッファ18は、割込通知制限機能を具備する。割込通知制限機能は、アクセス監視部17が割込バッファ18に書き込もうとする割込通知の識別子で示される個別制御装置と同一の個別制御装置の識別子を有する割込通知が既に割込制御バッファ18に格納されている場合には、その書き込もうとする割込通知の書き込みを禁止する機能を有する。
【0036】
また、制御プログラムでの処理(送信処理又は受信処理)が完了した後に、完了した処理に対応する割込通知の識別子が示す送受信バッファ16と同一の送受信バッファ16に残留しているアクセス要求がないか否かを、プロセッサ部19がアクセス監視部17に対してアクセス監視コマンドを出すのに応じてアクセス監視部17がアクセス監視をすることにより判定し、残留しているアクセス要求があれば、アクセス監視部17は、新たに割込制御バッファ16に対し割込通知を書き込む。なお、割込制御バッファ18においては、完了した処理の基となったアクセス要求と新たに書き込まれるアクセス要求の間には、定期的な監視の結果或いは他の個別制御装置のためのコマンドによる監視の結果として他の個別制御装置のアクセス要求が挿入される余地がある。
【0037】
これにより、制御プログラムにてタイマ等による定期的な受信監視のみにたよることなく、かつ、特定の個別制御装置13から非同期的かつ連続的に発生した受信処理に偏り、他の個別制御装置14、15の処理が不充分となることなく、均等にかつ効率的に処理を実行することが可能となる。
【0038】
また、割込制御バッファ18への割込通知の書き込みは、個別制御装置13、14および15から書き込まれた送受信バッファ16へのアクセス要求を監視することにより行うことが可能であり、また、送受信バッファ内に残留したアクセス要求に対する処理の開始も本実施形態の構成にて実現できる。
【0039】
次に、本実施形態の動作を図1のブロック図と図2のシーケンス図を参照して説明する。
【0040】
個別制御装置A(13)からの主制御装置11に対するアクセス要求(ステップ21)が21個、個別制御装置B(14)からの主制御装置11に対するアクセス要求(ステップ22)が7個、個別制御装置C(15)からの主制御装置11に対するアクセス要求(ステップ23)が3個あったとする。
【0041】
各々のアクセス要求は、外部バス12を経由して、主制御装置11内に個別装置毎にブロックが割り当てられた送受信バッファ16に格納される。
【0042】
ここで、主制御装置11内のアクセス監視部17は、各送受信バッファ16に割込要求が蓄積されているか否かを監視し(ステップ24)、蓄積されているときには、割込通知を割込制御バッファ18に書き込む(ステップ25)。このとき、例えば、割込通知1つに対し、アクセス要求は5つまでと制限を設定しておくことにする。
【0043】
なお、定期的なアクセス監視の場合には、送受信バッファ16に少なくとも1つのアクセス要求がある場合には、割込通知を割込制御バッファ18に書き込む。一方でプロセッサ部19からのコマンドによりアクセス監視をする場合には、送受信バッファ16に5個以上のアクセス要求が無ければ、割込通知を割込制御バッファ18に書き込まない。
【0044】
プロセッサ(MPU)部19に搭載された制御プログラムはローカルバス1aを経由し割込制御バッファ18に割込通知が書き込まれているか否かを監視し(ステップ26)、監視の結果が肯定的であるときには、割込通知の書き込み順序に従って受信処理又は送信処理を実行していく。
【0045】
図2に示したシーケンス図に従った動作の場合、個別制御装置A(13)の通知の処理を行ない、続いて個別制御装置B(14)の処理、そして個別制御装置C(15)の処理を行なう(ステップ27)。
【0046】
アクセス監視部17及び割込制御バッファ18には更なる機能であって、同一個別装置についての割込通知を2つ以上割込制御バッファ18に書き込めない機能が備えられている。
【0047】
この機能により、特定の個別制御装置からの連続した割込通知を防止することが可能となり、他の個別制御装置からの処理を均等に実施することが可能となる。
【0048】
また、制御プログラムにおいて完了した処理(ステップ27)に対応する割込通知に対応する個別制御装置と同一の個別制御装置に割り当てられた送受信バッファ16内に残留したアクセス要求がないかをアクセス監視部17に行わせるためのコマンドをプロセッサ部19は発行する(ステップ30)。一方で、割込制御バッファ18は、割込制御バッファ18からの割込通知の読み出しが行われたか否かを監視し(ステップ28)、読み出しが行われれば、読み出された割込通知に付随する識別子で示される個別制御装置と同一の個別制御装置からの割込通知を許容するようにする(ステップ29)。上記のコマンドに応じたアクセス監視で残留したアクセス要求が5つ以上あることが判定された場合には、アクセス監視部17は、割込通知の割込制御バッファ18への書き込みが許容されているので割込通知を割込制御バッファ18に書き込む(ステップ25)。
【0049】
このように、送受信バッファ内に残留したアクセス要求があれば、ハードウェアにて再割込通知を行う機能を具備していることから、制御プログラムでの処理緩和となり、システム性能向上可能とする。
【0050】
また、ある個別制御装置からのある割込通知に対する処理が終了してから初めてその個別制御装置からの次の割込通知が許可されるので、同一の個別制御装置からの割込通知が連続することが無くなる。
【0051】
また、個別制御装置からのアクセス要求の数と割込通知の数との割合を上記の実施形態では5としたが、この割合をカスタマイズ可能とすることにより、システム全体の性能に合わせ、容易に処理の最適化設定を行うことが可能となる。
【0052】
本発明の他の実施形態として、その基本的構成は上記の通りであるが、異種バス変換機能についてさらに工夫している。その構成を図3に示す。図3において、外部バスA側の構成については図1と同様であるが、送受信バッファ16に外部バスA12とは異なる外部バスB1cを接続する構成を示す。
【0053】
本構成により、主制御装置11がバスブリッジ機能を実現することになり、異種バス変換機能を比較的容易に実現することが可能となる。
【0054】
【実施例】
図4〜6を参照して本発明の実施例について説明する。
【0055】
本実施例の基本的構成は図1に示すものと同様であり、動作は図2に示すものと同様である。
【0056】
図4を参照すると、送受信バッファは、リングバッファA(16a)、リングバッファB(16b)、リングバッファC(16c)を備える。リングバッファA(16a)、リングバッファB(16b)、リングバッファC(16c)は、各々、個別制御装置A(13)、個別制御装置B(14)、個別制御装置C(15)に対応する。リングバッファA(16a)、リングバッファB(16b)、リングバッファC(16c)は、各々、1024個のアクセス要求を記憶でき、最初のアクセス要求はヘッドポインタにより示され、最後のアクセス要求はテールポインタにより示される。送受信バッファ16に書き込まれているアクセス要求の数はテールポインタとヘッドポインタの差により知ることができる。各エントリには、1つのアクセス要求が書き込まれる。ライト要求の場合にはライト要求のコマンドとデータ等が1つのエントリに書き込まれ、リード要求の場合にはリード要求のコマンド等が1つのエントリに書き込まれる。
【0057】
割込制御バッファ18は、FIFO181とフラグ182を備える。FIFO181の各エントリは、1つの割込通知が書き込まれる。フラグ182は、フラグ182a、182b、182cを備え、フラグ182a、182b、182cは、各々、個別制御装置A(13)、個別制御装置B(14)、個別制御装置C(15)に対応する。FIFO181に個別制御装置A(13)についての割込通知が書き込まれたときには、フラグ182aはセットされ、FIFO181から個別制御装置A(13)についての割込通知が読み出されたときには、フラグ182aはリセットされる。フラグ182b、182cについても同様である。アクセス監視部17は、フラグ182の値を見て割込通知をFIFO181に書き込むことが可能か否かを判定する。
【0058】
図6を参照すると、まず、個別制御装置A(13)からの12個のアクセス要求21、個別制御装置B(14)からの7個のアクセス要求22、個別制御装置C(15)からの3個のアクセス要求23がある。
【0059】
次に、アクセス制御装置17が定期アクセス要求監視を実行すると(24−1)、1個以上の個別制御装置A(13)についてのアクセス要求が送受信バッファ16にあり、且つ、フラグ182aがリセットされているので、個別制御装置A(13)についての割込通知を割込制御バッファ18に書き込む(25−1)。これと同時にフラグ182aはセットされる。
【0060】
上記と同様な動作が個別制御装置B(14)、個別制御装置C(15)についても行われる(24−2、25−2、24−3、25−3)。
【0061】
次に、アクセス制御装置17が定期アクセス要求監視24−4、24−5を実行すると、個別制御装置A(13)、B(14)について、割込通知が出されていない1個以上のアクセス要求が送受信バッファ16にあるが、フラグ182aがセットされているので、個別制御装置A(13)、B(14)についての割込通知は割込制御バッファ18に書き込まない。また、個別制御装置C(15)については割込通知が出されていないアクセス要求がないので、個別制御装置C(15)についての割込通知は割込制御バッファ18には書き込まない。
【0062】
次に、プロセッサ部19が割込通知監視を行う(26−1)。このときフラグ182aはリセットされる(29−1)。FIFO181の先頭には個別制御装置A(13)の割込通知があるので、リングバッファ16aの先頭の5つのアクセス要求を判定し(31−1)、判定結果に応じて送信処理又は受信処理を行う(27−1)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファA(16a)を対象にアクセス監視を行わせるためのコマンドを発行する(30−1)。
【0063】
ステップ30−1のコマンドに応じてアクセス監視部17はリングバッファA(16a)を対象にしてアクセス監視を行う(24−6)。リングバッファA(16a)には、5個以上である7個の未処理のアクセス要求があり、フラグ182aがリセットされているので、個別制御装置A(13)についての割込通知を割込制御バッファ18に書き込む(25−4)。
【0064】
次に、プロセッサ部19が割込通知監視を行う(26−2)。このときフラグ182bはリセットされる(29−2)。FIFO181の先頭には個別制御装置B(14)の割込通知があるので、リングバッファ16bの先頭の5つのアクセス要求を判定し(31−2)、判定結果に応じて送信処理又は受信処理を行う(27−2)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファB(16b)を対象にアクセス監視を行わせるためのコマンドを発行する(30−2)。
【0065】
ステップ30−2のコマンドに応じてアクセス監視部17はリングバッファB(16b)を対象にしてアクセス監視を行う(24−7)。リングバッファA(16a)には、5個より少ない2個の未処理のアクセス要求しかないので、個別制御装置B(14)についての割込通知を割込制御バッファ18に書き込むことはしない。
【0066】
次に、プロセッサ部19が割込通知監視を行う(26−3)。このときフラグ182cはリセットされる(29−3)。FIFO181の先頭には個別制御装置C(15)の割込通知があり、リングバッファ16cには3つのアクセス要求があるので、リングバッファ16cの先頭の3つのアクセス要求を判定し(31−3)、判定結果に応じて送信処理又は受信処理を行う(27−3)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファC(16c)を対象にアクセス監視を行わせるためのコマンドを発行する(30−3)。
【0067】
ステップ30−3のコマンドに応じてアクセス監視部17はリングバッファC(16c)を対象にしてアクセス監視を行う(24−8)。リングバッファC(16c)には、未処理のアクセス要求がないので、個別制御装置C(15)についての割込通知を割込制御バッファ18に書き込むことはしない。
【0068】
次に、プロセッサ部19が割込通知監視を行う(26−4)。このときフラグ182aはリセットされる(29−4)。FIFO181の先頭には個別制御装置A(13)の割込通知があり、リングバッファ16cには7つのアクセス要求があるので、リングバッファ16cの先頭の5つのアクセス要求を判定し(31−4)、判定結果に応じて送信処理又は受信処理を行う(27−4)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファA(16a)を対象にアクセス監視を行わせるためのコマンドを発行する(30−4)。
【0069】
ステップ30−4のコマンドに応じてアクセス監視部17はリングバッファA(16a)を対象にしてアクセス監視を行う(24−9)。リングバッファA(16c)には、5個以下である2個の未処理のアクセス要求しかないので、個別制御装置A(13)についての割込通知を割り込み制御バッファ18に書き込むことはしない。
【0070】
次に、プロセッサ部19が割込通知監視を行う(26−5)。FIFO181には割込通知がないので、これに続いてアクセス判定や送信処理等は行われない。
【0071】
次に、アクセス制御装置17が定期アクセス要求監視を実行すると(24−10)、1個以上である2個の個別制御装置A(13)についてのアクセス要求が送受信バッファ16にあり、且つ、フラグ182aがリセットされているので、個別制御装置A(13)についての割込通知を割込制御バッファ18に書き込む(25−5)。これと同時にフラグ182aはセットされる。
【0072】
次に、アクセス制御装置17が定期アクセス要求監視を実行すると(24−11)、1個以上である2個の個別制御装置B(14)についてのアクセス要求が送受信バッファ16にあり、且つ、フラグ182bがリセットされているので、個別制御装置B(14)についての割込通知を割込制御バッファ18に書き込む(25−6)。これと同時にフラグ182bはセットされる。
【0073】
次に、プロセッサ部19が割込通知監視を行う(26−6)。このときフラグ182aはリセットされる(29−5)。FIFO181の先頭には個別制御装置A(13)の割込通知があり、リングバッファ16aには2つのアクセス要求があるので、リングバッファ16aの先頭の2つのアクセス要求を判定し(31−5)、判定結果に応じて送信処理又は受信処理を行う(27−5)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファA(16a)を対象にアクセス監視を行わせるためのコマンドを発行する(30−5)。
【0074】
ステップ30−5のコマンドに応じてアクセス監視部17はリングバッファA(16a)を対象にしてアクセス監視を行う(24−6)。リングバッファA(16a)には、未処理のアクセス要求がないので、個別制御装置A(13)についての割込通知を割込制御バッファ18に書き込むことはしない。
【0075】
次に、プロセッサ部19が割込通知監視を行う(26−7)。このときフラグ182bはリセットされる(29−6)。FIFO181の先頭には個別制御装置B(14)の割込通知があり、リングバッファ16bには2つのアクセス要求があるので、リングバッファ16bの先頭の2つのアクセス要求を判定し(31−6)、判定結果に応じて送信処理又は受信処理を行う(27−6)。この処理が終了すると、プロセッサ部19はアクセス監視部17にリングバッファB(16b)を対象にアクセス監視を行わせるためのコマンドを発行する(30−6)。
【0076】
ステップ30−6のコマンドに応じてアクセス監視部17はリングバッファB(16b)を対象にしてアクセス監視を行う(24−13)。リングバッファA(16a)には、未処理のアクセス要求がないので、個別制御装置A(13)についての割込通知を割込制御バッファ18に書き込むことはしない。
【0077】
次に、アクセス制御装置17が定期アクセス要求監視を実行すると(24−14)、いずれの個別制御装置についてもアクセス要求が送受信バッファ16にないので、いずれの個別制御装置についても割込通知を割込制御バッファ18に書き込まない。
【0078】
なお、アクセス要求監視24−6〜24−9の間に、定期的なアクセス要求監視があり、アクセス要求が1個以上ある個別制御装置についてのフラグがリセットされていれば、その個別制御装置について割込通知が割込制御バッファ18に書き込まれる。
【0079】
なお、上記の実施形態及び実施例ではプロセッサ部の行う処理は、送信処理又は受信処理であるとしたが、これに限定されるものではなく、プロセッサ部の行う処理を個別制御装置が要求した任意の処理とすることができるのはいうまでもない。
【0080】
また、個別制御装置の代わりに、ソフトウェアにより実現されるタスク又はプロセスを置いても良い。
【0081】
また、アクセス制御部17、プロセッサ部19等の機能は、コンピュータにその機能を実現させるためのプログラムを記録した記録媒体からコンピュータがそのプログラムを読み込んで実行することにより実現することも可能である。
【0082】
【発明の効果】
以上説明したように、外部バスを経由して複数の個別制御装置からの非同期アクセス要求に対する受信処理又は送信処理を行うシステム主制御装置において、アクセス監視部および割込制御バッファに割込通知制御、または待機機能を具備しているので、特定の個別制御装置からの連続的なアクセス要求が発生した場合においても、主制御装置内のプロセッサ部に搭載された制御プログラムは、割込制御バッファへの割込通知順序に従い、一意的に処理を実行することにより、外部バスに接続された複数の個別制御装置からの受信処理を均等かつ効率的に実行することが可能となる。
【0083】
従って、従来制御プログラムにて行っていた、競合調停、あるいはタイマ監視等によるアクセス監視をハードウェアにて実現することにより、システム性能を向上させることができる。
【0084】
さらには、本発明では、制御プログラムの受信処理後、送受信バッファの残留アクセス要求の有無を確認する機能を具備していることから、送受信バッファに積み込まれているにもかかわらず、それに対して制御プログラムにより受信処理又は送信処理がなされないアクセス要求が発生するような状態を回避することができる。
【0085】
しかも、割込通知の数とアクセス要求の数との割合を可変的に取り扱うことが可能となっているので、システムの能力または各々の個別制御処理に対し最適に設定することが容易であることから、システム性能向上のための調整を容易に設定することが可能という効果もある。
【図面の簡単な説明】
【図1】本発明の実施形態によるマルチタスク均等処理方式の構成を示すブロック図である。
【図2】本発明の実施形態によるマルチタスク均等処理方式の動作を示すシーケンス図である。
【図3】本発明の他の実施形態によるマルチタスク均等処理方式の構成を示すブロック図である。
【図4】本発明の実施例による送受信バッファの構成を示す図である。
【図5】本発明の実施例による割込制御バッファの構成を示す図である。
【図6】本発明の実施例によるマルチタスク均等処理方式の動作を示すシーケンス図である。
【符号の説明】
1a ローカルバス
1b 内部バス
11 主制御装置
12 外部バス
13 個別制御装置A
14 個別制御装置B
15 個別制御装置C
16 送受信バッファ
17 アクセス監視部
18 割込制御バッファ
19 プロセッサ部
Claims (12)
- 各々が各タスクから送信される処理要求を記憶する複数のバッファと、
タスク毎に用意された複数の禁止フラグと、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視部と、
前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、
前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサ部と、
前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットする手段と、
前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットする手段と、
を備えることを特徴とするマルチタスク均等処理方式。 - 請求項1に記載のマルチタスク均等処理方式において、前記アクセス監視部は、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とするマルチタスク均等処理方式。
- 請求項1又は2に記載のマルチタスク均等処理方式において、前記アクセス監視部は、定期的に動作することを特徴とするマルチタスク均等処理方式。
- 請求項1又は2に記載のマルチタスク均等処理方式において、前記アクセス監視部は、前記プロセッサ部が前記処理の実行を終了するたびに動作し、終了した前記処理に対応するタスクについてのバッファのみについて動作することを特徴とするマルチタスク均等処理方式。
- 各々が各タスクから送信される処理要求を記憶する複数のバッファを用意するステップと、
タスク毎に複数の禁止フラグを用意するステップと、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、
前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、
前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、
前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、
前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、
を有することを特徴とするマルチタスク均等処理方法。 - 請求項5に記載のマルチタスク均等処理方法において、前記アクセス監視ステップでは、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とするマルチタスク均等処理方法。
- 請求項5又は6に記載のマルチタスク均等処理方法において、前記アクセス監視ステップは、定期的に行うことを特徴とするマルチタスク均等処理方法。
- 請求項5又は6に記載のマルチタスク均等処理方法において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とするマルチタスク均等処理方法。
- 各々が各タスクから送信される処理要求を記憶する複数のバッファと、タスク毎に用意された複数の禁止フラグを用いて行う方法であって、
各バッファに前記処理要求が存在するか否かを判定し、存在するときには存在する前記処理要求の送信元のタスクに対応する前記禁止フラグがセットされているか否かを判定し、前記禁止フラグがセットされていなければ、送信元のタスクの識別子を付した割込要求を出力するアクセス監視ステップと、
前記アクセス監視部から出力された前記割込要求を記憶するFIFOと、
前記FIFOに前記割込要求が存在するか否かを判定し、存在するときには前記FIFOの先頭に存在する前記割込要求に付された識別子により特定される前記タスクに対応する前記バッファに記憶されている前記処理要求を読み出すことにより処理を決定し、前記処理を実行するプロセッサステップと、
前記FIFOに前記割込要求が書き込まれたときに、書き込まれた前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをセットするステップと、
前記FIFOから前記割込要求が読み出されたときに、読み出された前記割込要求に付された識別子により特定される前記タスクに対応する前記禁止フラグをリセットするステップと、
を有する方法をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。 - 請求項9に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップでは、複数の前記処理要求に対し1つの前記割込要求を出力することを特徴とするコンピュータ読み取り可能な記録媒体。
- 請求項9又は10に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、定期的に行うことを特徴とするコンピュータ読み取り可能な記録媒体。
- 請求項9又は10に記載のコンピュータ読み取り可能な記録媒体において、前記アクセス監視ステップは、前記プロセッサステップが各処理について終了するたびに実行され、終了した前記処理に対応するタスクについてのバッファのみについて実行されることを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000121027A JP3714457B2 (ja) | 2000-04-21 | 2000-04-21 | マルチタスク均等処理方式及びその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000121027A JP3714457B2 (ja) | 2000-04-21 | 2000-04-21 | マルチタスク均等処理方式及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001306337A JP2001306337A (ja) | 2001-11-02 |
JP3714457B2 true JP3714457B2 (ja) | 2005-11-09 |
Family
ID=18631743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000121027A Expired - Fee Related JP3714457B2 (ja) | 2000-04-21 | 2000-04-21 | マルチタスク均等処理方式及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3714457B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5659995B2 (ja) * | 2011-10-06 | 2015-01-28 | 株式会社デンソー | 電子制御装置 |
-
2000
- 2000-04-21 JP JP2000121027A patent/JP3714457B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001306337A (ja) | 2001-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7921281B2 (en) | Processor and program execution method capable of efficient program execution | |
JP2003263331A (ja) | マルチプロセッサシステム | |
KR0147509B1 (ko) | 타임아웃 처리회로 및 그를 이용한 수신장치 | |
JP3999943B2 (ja) | マルチバンクアクセス制御装置及びマルチバンクアクセス制御方法 | |
US5968168A (en) | Scheduler reducing cache failures after check points in a computer system having check-point restart function | |
JP3714457B2 (ja) | マルチタスク均等処理方式及びその方法 | |
JP4318664B2 (ja) | 情報処理装置およびタスク実行方法 | |
JP2002024195A (ja) | 並列処理装置、及び、並列処理方法 | |
JP4789269B2 (ja) | ベクトル処理装置及びベクトル処理方法 | |
JP2792866B2 (ja) | バッファプール事前拡張装置 | |
JP4335327B2 (ja) | 調停装置および方法 | |
JP2907533B2 (ja) | マルチプロセッサシステム | |
JP2585905B2 (ja) | マルチタスク実行装置 | |
EP0341670B1 (en) | Processing time allocation system and method | |
JPH0728748A (ja) | バス制御機構及び計算機システム | |
JP2972557B2 (ja) | データ転送制御装置および制御方法 | |
JP2002082901A (ja) | バス制御装置 | |
JP2001005767A (ja) | 非同期データ入出力処理方法,データ処理装置および非同期データ入出力処理のプログラム記録媒体 | |
JPH10320351A (ja) | バッファ方式 | |
JP2856709B2 (ja) | バス間結合システム | |
JPS62164134A (ja) | ハ−ドウエアスタツク制御方式 | |
JPH03149627A (ja) | マルチタスクモニタのdma制御方法 | |
JPH1049436A (ja) | 主記憶制御回路 | |
JPH02129724A (ja) | プログラム実行方式 | |
JPH0281254A (ja) | マルチプロセッサ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050817 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |