JP2005018224A - 競合制御装置 - Google Patents
競合制御装置Info
- Publication number
- JP2005018224A JP2005018224A JP2003179568A JP2003179568A JP2005018224A JP 2005018224 A JP2005018224 A JP 2005018224A JP 2003179568 A JP2003179568 A JP 2003179568A JP 2003179568 A JP2003179568 A JP 2003179568A JP 2005018224 A JP2005018224 A JP 2005018224A
- Authority
- JP
- Japan
- Prior art keywords
- access
- acquisition request
- priority
- processing
- resource
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
【課題】優先度の高い処理が優先度の低い処理によって資源の獲得ができないために処理を妨げられることを無くすことができる競合制御装置を提供すること。
【解決手段】第1のプロセッサ1a及び第2のプロセッサ1bは、記憶装置2へのアクセスを必要とするとき、処理時間と許容待ち時間とを算出し、優先度とともに資源獲得要求に設定して競合制御装置3に送信する。競合制御装置3は、資源獲得要求を受信したとき、記憶装置2にアクセスする実行中の処理が有れば、その優先度と資源獲得要求の優先度を比較し、資源獲得要求の優先度の方が高ければ、資源獲得要求の送信元に許容待ち時間だけ処理を待たせ、実行中の処理が終わらないときは、実行中の処理を中断して資源獲得要求の送信元に処理を実行させる。
【選択図】 図1
【解決手段】第1のプロセッサ1a及び第2のプロセッサ1bは、記憶装置2へのアクセスを必要とするとき、処理時間と許容待ち時間とを算出し、優先度とともに資源獲得要求に設定して競合制御装置3に送信する。競合制御装置3は、資源獲得要求を受信したとき、記憶装置2にアクセスする実行中の処理が有れば、その優先度と資源獲得要求の優先度を比較し、資源獲得要求の優先度の方が高ければ、資源獲得要求の送信元に許容待ち時間だけ処理を待たせ、実行中の処理が終わらないときは、実行中の処理を中断して資源獲得要求の送信元に処理を実行させる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、マルチプロセッサシステムなどにおいて、共有資源へのアクセスの競合を制御する競合制御装置に関する。
【0002】
【従来の技術】
従来、マルチプロセッサシステムなどにおいて共有資源へのアクセスの競合を制御するため、プロセッサ毎にアクセス時間を割り当てて、割り当てられた時間には優先的に共有資源へアクセスすることができるようにするものがあった(例えば、特許文献1参照)。
【0003】
また、共有資源の資源獲得要求に優先順位を設け、この優先順位毎に処理の待ち行列を用意し、資源獲得要求は、付加される優先順位に対応する待ち行列に入れられ、実行中の処理が終了して資源が解放されると、優先順位の高い待ち行列に入っている資源獲得要求から資源を獲得するものもあった(例えば、特許文献2参照)。
【0004】
【特許文献1】
特開平5−233561号公報
【特許文献2】
特開平5−313923号公報
【0005】
【発明が解決しようとする課題】
しかし、このような従来の競合制御装置では、リアルタイム性のある処理が直ぐにでも資源を獲得したいときでも、割り当てられた時間でなかったり、実行中の処理があったりすると、割り当てられた時間がくるまで、または実行中の処理が終了するまで資源を獲得することができず、リアルタイム性のある処理を行うことができないという問題があった。
【0006】
本発明はこのような問題を解決するためになされたもので、優先度の高い処理が優先度の低い処理によって資源の獲得ができないために処理を妨げられることを無くすことができる競合制御装置を提供するものである。
【0007】
【課題を解決するための手段】
本発明の競合制御装置は、複数のプロセッサで共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させる構成を有している。
【0008】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0009】
ここで、前記共有資源へのアクセスの許可を要求する資源獲得要求に中断不可情報を備え、前記共有資源へのアクセス権を有している処理が前記中断不可情報で中断不可を設定している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させない構成とした。
【0010】
この構成により、共有資源へのアクセス権を有している処理の優先度が低い場合でも、特別に処理の中断を行われたくない状況の場合には、中断不可を設定することによって、優先度の高い処理の要求があっても処理を中断されずに実行することができる。
【0011】
また、本発明のプロセッサは、複数のプロセッサで共有される共有資源へのアクセスの許可を要求するとき、前記共有資源にアクセスする処理の優先度と、この処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信する構成を有している。
【0012】
この構成により、資源獲得要求の受信側で、優先度と許容待ち時間に基づいて、共有資源へのアクセス権が付与されることとなる。
【0013】
また、本発明のプロセッサは、複数の処理で共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させる競合制御手段を備え、前記共有資源へのアクセスの許可を要求する前記処理は、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信する構成を有している。
【0014】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0015】
ここで、前記共有資源は他のプロセッサとも共有され、前記競合制御手段は、他のプロセッサからの前記資源獲得要求も受け付けて処理する構成とした。
【0016】
この構成により、マルチプロセッサシステムの複数のプロセッサにおいて、1つのプロセッサの競合制御手段を用いて共有資源への競合制御を行うことができることとなる。
【0017】
また、本発明のプロセッサは、複数の処理で共有される共有資源へのアクセスの周期及びアクセス時間が各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスする構成を有している。
【0018】
この構成により、優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間が設定され、設定に従って効率よく処理を行うことができる。
【0019】
また、本発明のマルチプロセッサシステムは、複数のプロセッサで共有される共有資源へのアクセスの周期及びアクセス時間が各プロセッサの各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスする構成を有している。
【0020】
この構成により、マルチプロセッサシステムの各プロセッサの各処理毎に、優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間が設定され、設定に従って効率よく処理を行うことができる。
【0021】
また、本発明の競合制御方法は、複数の処理で共有される共有資源へのアクセスの許可を要求するとき、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを通知させ、前記優先度及び許容待ち時間に基づいて、前記共有資源へのアクセスの許可の要求があったとき、前記共有資源へのアクセス権を有している処理が有れば、前記アクセスの許可を要求してきた処理の優先度を前記アクセス権を有している処理の優先度と比較し、前記アクセスの許可を要求してきた処理の方が優先度が高いときは、前記許容待ち時間だけ前記アクセスの許可を要求してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記アクセスの許可を要求してきた処理を実行させる構成とした。
【0022】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0023】
ここで、前記共有資源へのアクセス権を有している処理が、前記共有資源へのアクセスの許可を要求するとき中断不可を通知している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させない構成とした。
【0024】
この構成により、共有資源へのアクセス権を有している処理の優先度が低い場合でも、特別に処理の中断を行われたくない状況の場合には、中断不可を通知することによって、優先度の高い処理の要求があっても処理を中断されずに実行することができる。
【0025】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
【0026】
(第1の実施の形態)
図1は本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図である。
【0027】
図1に示すように、本実施の形態のマルチプロセッサシステムは、第1のプロセッサ1aと第2のプロセッサ1bとの2つのプロセッサと、この2つのプロセッサの共有資源である記憶装置2と、2つのプロセッサの記憶装置2へのアクセスを制御する競合制御装置3とを備えている。
【0028】
第1のプロセッサ1a及び第2のプロセッサ1bでは、それぞれに様々な種類の複数の処理が行われ、その処理の中で記憶装置2へのアクセスが必要となる処理は、競合制御装置3に資源獲得要求を送信して記憶装置2へのアクセスが許可されるのを待つようになっている。
【0029】
この資源獲得要求には、資源獲得要求を行う処理の優先度や、この処理の処理時間や、処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間などが設定されて送信される。
【0030】
競合制御装置3は、資源獲得要求に設定されたこれらの情報に基づいて、第1のプロセッサ1a又は第2のプロセッサ1bで実行中の記憶装置2へのアクセス権を持つ処理よりも優先度の高い処理の資源獲得要求があっても、実行中の処理を優先し、優先度の高い処理を許容待ち時間だけ待たせ、許容待ち時間が過ぎても実行中の処理が終わらない場合には実行中の処理を中断し、優先度の高い処理を実行させるようになっている。
【0031】
図2のシーケンス図は、実行中の処理が優先度の高い処理の許容待ち時間を超えずに処理が終了した場合を示している。
【0032】
図2に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする処理を実行するとき、第1のプロセッサ1aは、記憶装置2へアクセスする処理が当該処理を終了させるまでにかかる時間(処理時間)を算出し、また、処理を実行するのに支障が無い範囲で記憶装置2へアクセスする処理を待つことができる時間(許容待ち時間)を算出する。
【0033】
そして、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS11)。
【0034】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が無ければ、資源獲得要求の送信元の情報や資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを実行中の処理の情報として記憶し、資源獲得要求に設定されている処理時間のタイマを設定し、資源獲得要求の送信元に処理開始指示を返送する(ステップS12)。
【0035】
第1のプロセッサ1aは、資源獲得要求に対して処理開始指示を受信すると、記憶装置2にアクセスする処理を開始する。
【0036】
第1のプロセッサ1aが処理を開始した後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の第1のプロセッサ1aと同様に、処理時間と許容待ち時間とを算出し、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS13)。
【0037】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が有れば、実行中の処理の優先度と後から受信した資源獲得要求に設定されている優先度を比較し、後から受信した資源獲得要求に設定されている優先度の方が高ければ、後から受信した資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを待機中の処理の情報として記憶し、後から受信した資源獲得要求に設定されている許容待ち時間を参照し、許容待ち時間のタイマを設定して、資源獲得要求の送信元に処理待ち指示を送信する(ステップS14)。
【0038】
第2のプロセッサ1bは、資源獲得要求に対して処理待ち指示を受信すると、処理待ちの状態で待機を開始する。
【0039】
その後、第1のプロセッサ1aで記憶装置2にアクセスする処理が終了すると、第1のプロセッサ1aは、競合制御装置3に処理終了通知を送信する(ステップS15)。
【0040】
競合制御装置3は、処理終了通知を受信すると、終了した処理の処理時間で設定したタイマを解除し、待機中の処理が有るかを判定し、待機中の処理が有れば当該処理の許容待ち時間で設定したタイマを解除し、記憶している当該処理に関する情報から処理時間を読み出し、読み出した処理時間のタイマを設定し、当該処理に処理開始指示を送信する(ステップS16)。
【0041】
処理待ち状態の第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始する。
【0042】
このように本実施の形態によれば、後から要求の有った処理の優先度が実行中の処理の優先度より高くても、後からの処理の許容待ち時間分は処理を待たせて実行中の処理を優先的に処理させることができる。
【0043】
なお、第2のプロセッサ1bは、処理待ち指示(ステップS14)を受信してから処理待ち状態としたが、資源獲得要求(ステップS13)を送信した時に処理待ち状態にしてもよい。この場合、すでに第2のプロセッサ1bは処理待ち状態のため、競合制御装置3からの処理待ち指示(ステップs14)の送信を省略してもよい。
【0044】
図3のシーケンス図は、実行中の処理が優先度の高い処理の許容待ち時間を超えて処理が続行した場合を示している。
【0045】
図3に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする処理を実行するとき、第1のプロセッサ1aは、上述の場合と同様に、優先度と算出した処理時間と許容待ち時間とを設定した資源獲得要求を競合制御装置3へ送信し、資源獲得要求を受信した競合制御装置3は、実行中の処理が無いので、資源獲得要求に設定された処理時間のタイマを設定し、処理開始指示を返信し、処理開始指示を受信した第1のプロセッサ1aは、処理を開始する(ステップS11、S12)。
【0046】
その後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の場合と同様に、優先度と算出した処理時間と許容待ち時間とを設定した資源獲得要求を競合制御装置3へ送信し、資源獲得要求を受信した競合制御装置3は、実行中の処理が有り、かつ実行中の処理の優先度より後からの資源獲得要求の処理の優先度の方が高いので、後からの資源獲得要求に設定された許容待ち時間のタイマを設定し、後からの資源獲得要求に対し処理待ち指示を返送し、処理待ち要求を受信した第2のプロセッサ1bは、処理待ちの状態で待機する(ステップS13、S14)。
【0047】
そして、競合制御装置3において、許容待ち時間を設定したタイマがタイムアウトすると、競合制御装置3は、処理時間を設定したタイマを中断し、処理を実行中の第1のプロセッサ1aに処理中断指示を送信する(ステップS21)。
【0048】
第1のプロセッサ1aは、処理中断指示を受信すると、実行中の処理を中断し、処理中断完了通知を競合制御装置3へ送信し(ステップS22)、処理待ち状態となる。
【0049】
競合制御装置3は、処理中断指示に対し処理中断完了通知を受信すると、記憶している実行中の処理の情報を中断中の処理の情報として記憶し、記憶している待機中の処理の情報を実行中の処理の情報として記憶し、当該実行中の処理の情報から処理時間を読み出して、読み出した処理時間のタイマを設定し、第2のプロセッサ1bに処理開始指示を送信する(ステップS23)。
【0050】
第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始し、処理が終了すると、競合制御装置3に処理終了通知を送信する(ステップS24)。
【0051】
競合制御装置3は、処理終了通知を受信すると、実行中の処理の処理時間で設定したタイマを解除し、記憶している中断中の処理の情報を実行中の処理の情報として記憶し、当該実行中の処理の情報から中断中のタイマを再開し、処理開始指示を処理を中断している第1のプロセッサ1aに送信する(ステップS25)。
【0052】
第1のプロセッサ1aは、処理開始指示を受信すると、中断していた処理を開始する。
【0053】
このように本実施の形態によれば、実行中の処理が、後から要求の有った処理の優先度がより高い処理の許容待ち時間内に終了しないとき、実行中の処理を中断し、優先度の高い処理を実行することができる。
【0054】
また、本実施の形態においては、資源獲得要求に中断不可フラグを設定することができ、この中断不可フラグが設定されて資源獲得要求した処理は、実行中により優先度の高い処理の資源獲得要求があっても中断されずに処理を行うことができるようになっている。
【0055】
具体的には、図4のシーケンス図に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする中断されたくない処理を実行するとき、第1のプロセッサ1aは、記憶装置2へアクセスする処理が処理を終了するまでにかかる時間(処理時間)を算出し、また、処理を実行するのに支障が無い範囲で記憶装置2へアクセスする処理を待つことができる時間(許容待ち時間)を算出する。
【0056】
そして、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間と、中断不可フラグとを設定した資源獲得要求を競合制御装置3に送信する(ステップS31)。
【0057】
競合制御装置3は、資源獲得要求を受信すると、受信した資源獲得要求に中断不可フラグが設定されているか判定し、中断不可フラグが設定されていると、資源獲得要求を送信してきたプロセッサ以外のプロセッサに、資源獲得要求に設定されてきた処理時間を設定した中断不可通知を送信する(ステップS32)。
【0058】
そして、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が無ければ、資源獲得要求の送信元の情報や資源獲得要求に設定されている優先度や処理時間や許容待ち時間や中断不可であることなどを実行中の処理の情報として記憶し、資源獲得要求に設定されている処理時間のタイマを設定し、資源獲得要求の送信元に処理開始指示を返送する(ステップS33)。
【0059】
第1のプロセッサ1aは、資源獲得要求に対して処理開始指示を受信すると、記憶装置2にアクセスする処理を開始する。
【0060】
第1のプロセッサ1aが処理を開始した後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の第1のプロセッサ1aと同様に、処理時間と許容待ち時間とを算出し、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS34)。
【0061】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が有れば、実行中の処理が中断不可であるか判定し、実行中の処理が中断不可であれば、後から受信した資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを待機中の処理の情報として記憶し、資源獲得要求の送信元に処理待ち指示を送信する(ステップS35)。
【0062】
第2のプロセッサ1bは、資源獲得要求に対して処理待ち指示を受信すると、処理待ちの状態で待機を開始する。
【0063】
その後、第1のプロセッサ1aで記憶装置2にアクセスする処理が終了すると、第1のプロセッサ1aは、競合制御装置3に処理終了通知を送信する(ステップS36)。
【0064】
競合制御装置3は、処理終了通知を受信すると、終了した処理の処理時間で設定したタイマを解除し、待機中の処理が有るかを判定し、待機中の処理が有れば当該処理の許容待ち時間で設定したタイマを解除し、記憶している当該処理に関する情報から処理時間を読み出し、読み出した処理時間のタイマを設定し、当該処理に処理開始指示を送信する(ステップS37)。
【0065】
処理待ち状態の第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始する。
【0066】
このように本実施の形態によれば、資源獲得要求に中断不可フラグを設定すれば、優先度の低い処理でも後から優先度の高い処理の要求があっても、中断したくない処理を優先的に処理させることができる。
【0067】
以上のように本実施の形態によれば、後から要求の有った処理の優先度が実行中の処理の優先度より高い場合、後からの処理の許容待ち時間分は処理を待たせ、許容待ち時間が経過しても実行中の処理が終了しないときは実行中の処理を中断して後からの処理を実行するようにしているので、優先度の低い処理により優先度の高い処理を妨げることを無くすことができる。
【0068】
また、後から要求の有った処理の優先度が実行中の処理の優先度より高い場合、後からの処理の許容待ち時間分は処理を待たせているので、許容待ち時間分は実行中の処理を優先的に処理させることができ、実行中の処理を後から要求のあった優先度の高い処理によって中断させられることを少なくすることができる。
【0069】
本実施の形態の他の態様としては、図5に示すように、競合制御装置3の機能を1つのプロセッサ(図では第1のプロセッサ4a)に、競合制御部41として実行する。このように構成することによって、競合制御装置を別に設けなくても本実施の形態の処理を行うことができる。
【0070】
なお、本実施の形態においては、処理終了時に処理終了通知を競合制御装置3に送信したが、資源獲得要求に設定されている処理時間に従って処理の終了を検知してもよい。
【0071】
また、第1のプロセッサ1a及び第2のプロセッサ1bは、資源獲得要求を送信した後、処理開始指示や処理待ち指示を待ち、受信した指示に従って処理を行ったが、資源獲得要求を送信した後に処理待ちの状態となり、処理開始指示を受信したら処理を開始するようにしてもよい。この場合、競合制御装置3からの処理待ち指示の送信を省略することができる。
【0072】
(第2の実施の形態)
図6は本発明の第2の実施の形態のマルチプロセッサシステムを示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
【0073】
本実施形態の記憶装置2にアクセスする処理は、全て周期的にアクセスするようになっており、各周期毎に記憶装置2にアクセスする時間やアクセスの開始を待つことができる許容待ち時間などは1つの処理では全て同じとなっている。
【0074】
すなわち、記憶装置2へのアクセスは全て周期的に行われ、各処理が行うアクセスのアクセス時間や許容待ち時間は予め決まっている。
【0075】
そこで、記憶装置2へアクセスする処理のアクセス間隔やアクセス時間や許容待ち時間を全て集め、集めたデータから優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間を算出する。
【0076】
そして、算出したアクセス間隔やアクセス時間をそれぞれの処理に対応付けて記憶しておき、そのアクセス間隔やアクセス時間に従って処理を行っていく。
【0077】
具体的には、第1のプロセッサ5a及び第2のプロセッサ5bは、初期設定時に記憶装置2にアクセスする処理を予め設定されたアクセス間隔で記憶装置2にアクセスするように設定して処理を開始する。
【0078】
そして、第1のプロセッサ5a及び第2のプロセッサ5bは、記憶装置2にアクセスする場合、各処理毎に予め設定されたアクセス時間をタイマ装置6に設定し、記憶装置2へのアクセスを開始する。
【0079】
その後、タイマ装置6からタイムアウトの通知があるまで、第1のプロセッサ5a及び第2のプロセッサ5bは、記憶装置2へのアクセスを行い、タイマ装置6からタイムアウトの通知があると、記憶装置2へのアクセスを終了し、その後の処理を続ける。
【0080】
このように本実施の形態においては、記憶装置2にアクセスする処理のアクセス間隔やアクセス時間や許容待ち時間等を収集して、収集したデータから優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間を算出し、算出したアクセス間隔やアクセス時間により処理を行っているので、優先度の高い処理が優先度の低い処理によって処理を妨げられることを無くすことができる。
【0081】
【発明の効果】
以上説明したように、本発明によれば、複数の処理で共有する共有資源へのアクセスの許可を要求するときに、当該処理の優先度とともに処理開始を待つことができる時間である許容待ち時間を設定して通知させ、共有資源のアクセス権を持つ実行中の処理よりも優先度の高い処理がアクセスの許可を要求してきたとき、優先度の高い処理を許容待ち時間だけ待たせ、許容待ち時間が経過しても実行中の処理が終了しないときは実行中の処理を中断して優先度の高い処理を実行させているので、実行中の処理により優先度の高い処理の実行を妨げることを無くすことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図
【図2】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理の許容待ち時間を超えない場合のシーケンス図
【図3】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理の許容待ち時間を超える場合のシーケンス図
【図4】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理による中断を許さない場合のシーケンス図
【図5】本発明の第1の実施の形態の他の態様のマルチプロセッサシステムを示すブロック図
【図6】本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図
【符号の説明】
1a 第1のプロセッサ
1b 第2のプロセッサ
2 記憶装置
3 競合制御装置
4a 第1のプロセッサ
4b 第2のプロセッサ
41 競合制御部
5a 第1のプロセッサ
5b 第2のプロセッサ
6 タイマ装置
【発明の属する技術分野】
本発明は、マルチプロセッサシステムなどにおいて、共有資源へのアクセスの競合を制御する競合制御装置に関する。
【0002】
【従来の技術】
従来、マルチプロセッサシステムなどにおいて共有資源へのアクセスの競合を制御するため、プロセッサ毎にアクセス時間を割り当てて、割り当てられた時間には優先的に共有資源へアクセスすることができるようにするものがあった(例えば、特許文献1参照)。
【0003】
また、共有資源の資源獲得要求に優先順位を設け、この優先順位毎に処理の待ち行列を用意し、資源獲得要求は、付加される優先順位に対応する待ち行列に入れられ、実行中の処理が終了して資源が解放されると、優先順位の高い待ち行列に入っている資源獲得要求から資源を獲得するものもあった(例えば、特許文献2参照)。
【0004】
【特許文献1】
特開平5−233561号公報
【特許文献2】
特開平5−313923号公報
【0005】
【発明が解決しようとする課題】
しかし、このような従来の競合制御装置では、リアルタイム性のある処理が直ぐにでも資源を獲得したいときでも、割り当てられた時間でなかったり、実行中の処理があったりすると、割り当てられた時間がくるまで、または実行中の処理が終了するまで資源を獲得することができず、リアルタイム性のある処理を行うことができないという問題があった。
【0006】
本発明はこのような問題を解決するためになされたもので、優先度の高い処理が優先度の低い処理によって資源の獲得ができないために処理を妨げられることを無くすことができる競合制御装置を提供するものである。
【0007】
【課題を解決するための手段】
本発明の競合制御装置は、複数のプロセッサで共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させる構成を有している。
【0008】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0009】
ここで、前記共有資源へのアクセスの許可を要求する資源獲得要求に中断不可情報を備え、前記共有資源へのアクセス権を有している処理が前記中断不可情報で中断不可を設定している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させない構成とした。
【0010】
この構成により、共有資源へのアクセス権を有している処理の優先度が低い場合でも、特別に処理の中断を行われたくない状況の場合には、中断不可を設定することによって、優先度の高い処理の要求があっても処理を中断されずに実行することができる。
【0011】
また、本発明のプロセッサは、複数のプロセッサで共有される共有資源へのアクセスの許可を要求するとき、前記共有資源にアクセスする処理の優先度と、この処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信する構成を有している。
【0012】
この構成により、資源獲得要求の受信側で、優先度と許容待ち時間に基づいて、共有資源へのアクセス権が付与されることとなる。
【0013】
また、本発明のプロセッサは、複数の処理で共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させる競合制御手段を備え、前記共有資源へのアクセスの許可を要求する前記処理は、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信する構成を有している。
【0014】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0015】
ここで、前記共有資源は他のプロセッサとも共有され、前記競合制御手段は、他のプロセッサからの前記資源獲得要求も受け付けて処理する構成とした。
【0016】
この構成により、マルチプロセッサシステムの複数のプロセッサにおいて、1つのプロセッサの競合制御手段を用いて共有資源への競合制御を行うことができることとなる。
【0017】
また、本発明のプロセッサは、複数の処理で共有される共有資源へのアクセスの周期及びアクセス時間が各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスする構成を有している。
【0018】
この構成により、優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間が設定され、設定に従って効率よく処理を行うことができる。
【0019】
また、本発明のマルチプロセッサシステムは、複数のプロセッサで共有される共有資源へのアクセスの周期及びアクセス時間が各プロセッサの各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスする構成を有している。
【0020】
この構成により、マルチプロセッサシステムの各プロセッサの各処理毎に、優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間が設定され、設定に従って効率よく処理を行うことができる。
【0021】
また、本発明の競合制御方法は、複数の処理で共有される共有資源へのアクセスの許可を要求するとき、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを通知させ、前記優先度及び許容待ち時間に基づいて、前記共有資源へのアクセスの許可の要求があったとき、前記共有資源へのアクセス権を有している処理が有れば、前記アクセスの許可を要求してきた処理の優先度を前記アクセス権を有している処理の優先度と比較し、前記アクセスの許可を要求してきた処理の方が優先度が高いときは、前記許容待ち時間だけ前記アクセスの許可を要求してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記アクセスの許可を要求してきた処理を実行させる構成とした。
【0022】
この構成により、共有資源へのアクセス権を有している処理よりも優先度の高い処理による資源獲得要求があった場合、優先度の高い処理が指定してきた許容待ち時間分は現在アクセス権のある処理が優先して処理を行い、許容待ち時間が経過したらアクセス権のある処理は中断されて優先度の高い処理が実行されることとなる。
【0023】
ここで、前記共有資源へのアクセス権を有している処理が、前記共有資源へのアクセスの許可を要求するとき中断不可を通知している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させない構成とした。
【0024】
この構成により、共有資源へのアクセス権を有している処理の優先度が低い場合でも、特別に処理の中断を行われたくない状況の場合には、中断不可を通知することによって、優先度の高い処理の要求があっても処理を中断されずに実行することができる。
【0025】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
【0026】
(第1の実施の形態)
図1は本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図である。
【0027】
図1に示すように、本実施の形態のマルチプロセッサシステムは、第1のプロセッサ1aと第2のプロセッサ1bとの2つのプロセッサと、この2つのプロセッサの共有資源である記憶装置2と、2つのプロセッサの記憶装置2へのアクセスを制御する競合制御装置3とを備えている。
【0028】
第1のプロセッサ1a及び第2のプロセッサ1bでは、それぞれに様々な種類の複数の処理が行われ、その処理の中で記憶装置2へのアクセスが必要となる処理は、競合制御装置3に資源獲得要求を送信して記憶装置2へのアクセスが許可されるのを待つようになっている。
【0029】
この資源獲得要求には、資源獲得要求を行う処理の優先度や、この処理の処理時間や、処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間などが設定されて送信される。
【0030】
競合制御装置3は、資源獲得要求に設定されたこれらの情報に基づいて、第1のプロセッサ1a又は第2のプロセッサ1bで実行中の記憶装置2へのアクセス権を持つ処理よりも優先度の高い処理の資源獲得要求があっても、実行中の処理を優先し、優先度の高い処理を許容待ち時間だけ待たせ、許容待ち時間が過ぎても実行中の処理が終わらない場合には実行中の処理を中断し、優先度の高い処理を実行させるようになっている。
【0031】
図2のシーケンス図は、実行中の処理が優先度の高い処理の許容待ち時間を超えずに処理が終了した場合を示している。
【0032】
図2に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする処理を実行するとき、第1のプロセッサ1aは、記憶装置2へアクセスする処理が当該処理を終了させるまでにかかる時間(処理時間)を算出し、また、処理を実行するのに支障が無い範囲で記憶装置2へアクセスする処理を待つことができる時間(許容待ち時間)を算出する。
【0033】
そして、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS11)。
【0034】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が無ければ、資源獲得要求の送信元の情報や資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを実行中の処理の情報として記憶し、資源獲得要求に設定されている処理時間のタイマを設定し、資源獲得要求の送信元に処理開始指示を返送する(ステップS12)。
【0035】
第1のプロセッサ1aは、資源獲得要求に対して処理開始指示を受信すると、記憶装置2にアクセスする処理を開始する。
【0036】
第1のプロセッサ1aが処理を開始した後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の第1のプロセッサ1aと同様に、処理時間と許容待ち時間とを算出し、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS13)。
【0037】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が有れば、実行中の処理の優先度と後から受信した資源獲得要求に設定されている優先度を比較し、後から受信した資源獲得要求に設定されている優先度の方が高ければ、後から受信した資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを待機中の処理の情報として記憶し、後から受信した資源獲得要求に設定されている許容待ち時間を参照し、許容待ち時間のタイマを設定して、資源獲得要求の送信元に処理待ち指示を送信する(ステップS14)。
【0038】
第2のプロセッサ1bは、資源獲得要求に対して処理待ち指示を受信すると、処理待ちの状態で待機を開始する。
【0039】
その後、第1のプロセッサ1aで記憶装置2にアクセスする処理が終了すると、第1のプロセッサ1aは、競合制御装置3に処理終了通知を送信する(ステップS15)。
【0040】
競合制御装置3は、処理終了通知を受信すると、終了した処理の処理時間で設定したタイマを解除し、待機中の処理が有るかを判定し、待機中の処理が有れば当該処理の許容待ち時間で設定したタイマを解除し、記憶している当該処理に関する情報から処理時間を読み出し、読み出した処理時間のタイマを設定し、当該処理に処理開始指示を送信する(ステップS16)。
【0041】
処理待ち状態の第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始する。
【0042】
このように本実施の形態によれば、後から要求の有った処理の優先度が実行中の処理の優先度より高くても、後からの処理の許容待ち時間分は処理を待たせて実行中の処理を優先的に処理させることができる。
【0043】
なお、第2のプロセッサ1bは、処理待ち指示(ステップS14)を受信してから処理待ち状態としたが、資源獲得要求(ステップS13)を送信した時に処理待ち状態にしてもよい。この場合、すでに第2のプロセッサ1bは処理待ち状態のため、競合制御装置3からの処理待ち指示(ステップs14)の送信を省略してもよい。
【0044】
図3のシーケンス図は、実行中の処理が優先度の高い処理の許容待ち時間を超えて処理が続行した場合を示している。
【0045】
図3に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする処理を実行するとき、第1のプロセッサ1aは、上述の場合と同様に、優先度と算出した処理時間と許容待ち時間とを設定した資源獲得要求を競合制御装置3へ送信し、資源獲得要求を受信した競合制御装置3は、実行中の処理が無いので、資源獲得要求に設定された処理時間のタイマを設定し、処理開始指示を返信し、処理開始指示を受信した第1のプロセッサ1aは、処理を開始する(ステップS11、S12)。
【0046】
その後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の場合と同様に、優先度と算出した処理時間と許容待ち時間とを設定した資源獲得要求を競合制御装置3へ送信し、資源獲得要求を受信した競合制御装置3は、実行中の処理が有り、かつ実行中の処理の優先度より後からの資源獲得要求の処理の優先度の方が高いので、後からの資源獲得要求に設定された許容待ち時間のタイマを設定し、後からの資源獲得要求に対し処理待ち指示を返送し、処理待ち要求を受信した第2のプロセッサ1bは、処理待ちの状態で待機する(ステップS13、S14)。
【0047】
そして、競合制御装置3において、許容待ち時間を設定したタイマがタイムアウトすると、競合制御装置3は、処理時間を設定したタイマを中断し、処理を実行中の第1のプロセッサ1aに処理中断指示を送信する(ステップS21)。
【0048】
第1のプロセッサ1aは、処理中断指示を受信すると、実行中の処理を中断し、処理中断完了通知を競合制御装置3へ送信し(ステップS22)、処理待ち状態となる。
【0049】
競合制御装置3は、処理中断指示に対し処理中断完了通知を受信すると、記憶している実行中の処理の情報を中断中の処理の情報として記憶し、記憶している待機中の処理の情報を実行中の処理の情報として記憶し、当該実行中の処理の情報から処理時間を読み出して、読み出した処理時間のタイマを設定し、第2のプロセッサ1bに処理開始指示を送信する(ステップS23)。
【0050】
第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始し、処理が終了すると、競合制御装置3に処理終了通知を送信する(ステップS24)。
【0051】
競合制御装置3は、処理終了通知を受信すると、実行中の処理の処理時間で設定したタイマを解除し、記憶している中断中の処理の情報を実行中の処理の情報として記憶し、当該実行中の処理の情報から中断中のタイマを再開し、処理開始指示を処理を中断している第1のプロセッサ1aに送信する(ステップS25)。
【0052】
第1のプロセッサ1aは、処理開始指示を受信すると、中断していた処理を開始する。
【0053】
このように本実施の形態によれば、実行中の処理が、後から要求の有った処理の優先度がより高い処理の許容待ち時間内に終了しないとき、実行中の処理を中断し、優先度の高い処理を実行することができる。
【0054】
また、本実施の形態においては、資源獲得要求に中断不可フラグを設定することができ、この中断不可フラグが設定されて資源獲得要求した処理は、実行中により優先度の高い処理の資源獲得要求があっても中断されずに処理を行うことができるようになっている。
【0055】
具体的には、図4のシーケンス図に示すように、第1のプロセッサ1aで記憶装置2へのアクセスを必要とする中断されたくない処理を実行するとき、第1のプロセッサ1aは、記憶装置2へアクセスする処理が処理を終了するまでにかかる時間(処理時間)を算出し、また、処理を実行するのに支障が無い範囲で記憶装置2へアクセスする処理を待つことができる時間(許容待ち時間)を算出する。
【0056】
そして、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間と、中断不可フラグとを設定した資源獲得要求を競合制御装置3に送信する(ステップS31)。
【0057】
競合制御装置3は、資源獲得要求を受信すると、受信した資源獲得要求に中断不可フラグが設定されているか判定し、中断不可フラグが設定されていると、資源獲得要求を送信してきたプロセッサ以外のプロセッサに、資源獲得要求に設定されてきた処理時間を設定した中断不可通知を送信する(ステップS32)。
【0058】
そして、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が無ければ、資源獲得要求の送信元の情報や資源獲得要求に設定されている優先度や処理時間や許容待ち時間や中断不可であることなどを実行中の処理の情報として記憶し、資源獲得要求に設定されている処理時間のタイマを設定し、資源獲得要求の送信元に処理開始指示を返送する(ステップS33)。
【0059】
第1のプロセッサ1aは、資源獲得要求に対して処理開始指示を受信すると、記憶装置2にアクセスする処理を開始する。
【0060】
第1のプロセッサ1aが処理を開始した後、第2のプロセッサ1bで記憶装置2にアクセスする必要のある処理を実行しようとするとき、第2のプロセッサ1bは上述の第1のプロセッサ1aと同様に、処理時間と許容待ち時間とを算出し、記憶装置2にアクセスする処理の予め定められた優先度と、算出した処理時間及び許容待ち時間とを設定した資源獲得要求を競合制御装置3に送信する(ステップS34)。
【0061】
競合制御装置3は、資源獲得要求を受信すると、記憶装置2にアクセスする実行中の処理が有るか判定し、実行中の処理が有れば、実行中の処理が中断不可であるか判定し、実行中の処理が中断不可であれば、後から受信した資源獲得要求に設定されている優先度や処理時間や許容待ち時間などを待機中の処理の情報として記憶し、資源獲得要求の送信元に処理待ち指示を送信する(ステップS35)。
【0062】
第2のプロセッサ1bは、資源獲得要求に対して処理待ち指示を受信すると、処理待ちの状態で待機を開始する。
【0063】
その後、第1のプロセッサ1aで記憶装置2にアクセスする処理が終了すると、第1のプロセッサ1aは、競合制御装置3に処理終了通知を送信する(ステップS36)。
【0064】
競合制御装置3は、処理終了通知を受信すると、終了した処理の処理時間で設定したタイマを解除し、待機中の処理が有るかを判定し、待機中の処理が有れば当該処理の許容待ち時間で設定したタイマを解除し、記憶している当該処理に関する情報から処理時間を読み出し、読み出した処理時間のタイマを設定し、当該処理に処理開始指示を送信する(ステップS37)。
【0065】
処理待ち状態の第2のプロセッサ1bは、処理開始指示を受信すると、処理待ちとなっている処理を開始する。
【0066】
このように本実施の形態によれば、資源獲得要求に中断不可フラグを設定すれば、優先度の低い処理でも後から優先度の高い処理の要求があっても、中断したくない処理を優先的に処理させることができる。
【0067】
以上のように本実施の形態によれば、後から要求の有った処理の優先度が実行中の処理の優先度より高い場合、後からの処理の許容待ち時間分は処理を待たせ、許容待ち時間が経過しても実行中の処理が終了しないときは実行中の処理を中断して後からの処理を実行するようにしているので、優先度の低い処理により優先度の高い処理を妨げることを無くすことができる。
【0068】
また、後から要求の有った処理の優先度が実行中の処理の優先度より高い場合、後からの処理の許容待ち時間分は処理を待たせているので、許容待ち時間分は実行中の処理を優先的に処理させることができ、実行中の処理を後から要求のあった優先度の高い処理によって中断させられることを少なくすることができる。
【0069】
本実施の形態の他の態様としては、図5に示すように、競合制御装置3の機能を1つのプロセッサ(図では第1のプロセッサ4a)に、競合制御部41として実行する。このように構成することによって、競合制御装置を別に設けなくても本実施の形態の処理を行うことができる。
【0070】
なお、本実施の形態においては、処理終了時に処理終了通知を競合制御装置3に送信したが、資源獲得要求に設定されている処理時間に従って処理の終了を検知してもよい。
【0071】
また、第1のプロセッサ1a及び第2のプロセッサ1bは、資源獲得要求を送信した後、処理開始指示や処理待ち指示を待ち、受信した指示に従って処理を行ったが、資源獲得要求を送信した後に処理待ちの状態となり、処理開始指示を受信したら処理を開始するようにしてもよい。この場合、競合制御装置3からの処理待ち指示の送信を省略することができる。
【0072】
(第2の実施の形態)
図6は本発明の第2の実施の形態のマルチプロセッサシステムを示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
【0073】
本実施形態の記憶装置2にアクセスする処理は、全て周期的にアクセスするようになっており、各周期毎に記憶装置2にアクセスする時間やアクセスの開始を待つことができる許容待ち時間などは1つの処理では全て同じとなっている。
【0074】
すなわち、記憶装置2へのアクセスは全て周期的に行われ、各処理が行うアクセスのアクセス時間や許容待ち時間は予め決まっている。
【0075】
そこで、記憶装置2へアクセスする処理のアクセス間隔やアクセス時間や許容待ち時間を全て集め、集めたデータから優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間を算出する。
【0076】
そして、算出したアクセス間隔やアクセス時間をそれぞれの処理に対応付けて記憶しておき、そのアクセス間隔やアクセス時間に従って処理を行っていく。
【0077】
具体的には、第1のプロセッサ5a及び第2のプロセッサ5bは、初期設定時に記憶装置2にアクセスする処理を予め設定されたアクセス間隔で記憶装置2にアクセスするように設定して処理を開始する。
【0078】
そして、第1のプロセッサ5a及び第2のプロセッサ5bは、記憶装置2にアクセスする場合、各処理毎に予め設定されたアクセス時間をタイマ装置6に設定し、記憶装置2へのアクセスを開始する。
【0079】
その後、タイマ装置6からタイムアウトの通知があるまで、第1のプロセッサ5a及び第2のプロセッサ5bは、記憶装置2へのアクセスを行い、タイマ装置6からタイムアウトの通知があると、記憶装置2へのアクセスを終了し、その後の処理を続ける。
【0080】
このように本実施の形態においては、記憶装置2にアクセスする処理のアクセス間隔やアクセス時間や許容待ち時間等を収集して、収集したデータから優先度の高い処理も優先度の低い処理も効率よく処理が行えるようなアクセス間隔やアクセス時間を算出し、算出したアクセス間隔やアクセス時間により処理を行っているので、優先度の高い処理が優先度の低い処理によって処理を妨げられることを無くすことができる。
【0081】
【発明の効果】
以上説明したように、本発明によれば、複数の処理で共有する共有資源へのアクセスの許可を要求するときに、当該処理の優先度とともに処理開始を待つことができる時間である許容待ち時間を設定して通知させ、共有資源のアクセス権を持つ実行中の処理よりも優先度の高い処理がアクセスの許可を要求してきたとき、優先度の高い処理を許容待ち時間だけ待たせ、許容待ち時間が経過しても実行中の処理が終了しないときは実行中の処理を中断して優先度の高い処理を実行させているので、実行中の処理により優先度の高い処理の実行を妨げることを無くすことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図
【図2】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理の許容待ち時間を超えない場合のシーケンス図
【図3】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理の許容待ち時間を超える場合のシーケンス図
【図4】本発明の第1の実施の形態のマルチプロセッサシステムの実行中の処理が優先度の高い処理による中断を許さない場合のシーケンス図
【図5】本発明の第1の実施の形態の他の態様のマルチプロセッサシステムを示すブロック図
【図6】本発明の第1の実施の形態のマルチプロセッサシステムを示すブロック図
【符号の説明】
1a 第1のプロセッサ
1b 第2のプロセッサ
2 記憶装置
3 競合制御装置
4a 第1のプロセッサ
4b 第2のプロセッサ
41 競合制御部
5a 第1のプロセッサ
5b 第2のプロセッサ
6 タイマ装置
Claims (11)
- 複数のプロセッサで共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させることを特徴とする競合制御装置。
- 前記共有資源へのアクセスの許可を要求する資源獲得要求に中断不可情報を備え、前記共有資源へのアクセス権を有している処理が前記中断不可情報で中断不可を設定している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させないことを特徴とする請求項1に記載の競合制御装置。
- 複数のプロセッサで共有される共有資源へのアクセスの許可を要求するとき、前記共有資源にアクセスする処理の優先度と、この処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信することを特徴とするプロセッサ。
- 請求項1または請求項2に記載の競合制御装置と、複数の請求項3に記載のプロセッサとを備えたことを特徴とするマルチプロセッサシステム。
- 複数の処理で共有される共有資源へのアクセスの許可を要求する資源獲得要求を受信したとき、前記共有資源へのアクセス権を有している処理が有れば、前記資源獲得要求に設定されている優先度を前記アクセス権を有している処理の優先度と比較し、前記資源獲得要求に設定されている優先度の方が優先度が高いときは、前記資源獲得要求に設定されている許容待ち時間だけ前記資源獲得要求を送信してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記資源獲得要求を送信してきた処理を実行させる競合制御手段を備え、前記共有資源へのアクセスの許可を要求する前記処理は、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを資源獲得要求に設定して送信することを特徴とするプロセッサ。
- 前記共有資源は他のプロセッサとも共有され、前記競合制御手段は、他のプロセッサからの前記資源獲得要求も受け付けて処理することを特徴とする請求項5に記載のプロセッサ。
- 請求項6に記載のプロセッサと、複数の請求項3に記載のプロセッサとを備えることを特徴とするマルチプロセッサシステム。
- 複数の処理で共有される共有資源へのアクセスの周期及びアクセス時間が各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスすることを特徴とするプロセッサ。
- 複数のプロセッサで共有される共有資源へのアクセスの周期及びアクセス時間が各プロセッサの各処理毎に予め設定され、前記各処理は、設定された前記アクセスの周期及びアクセス時間に従って前記共有資源へアクセスすることを特徴とするマルチプロセッサシステム。
- 複数の処理で共有される共有資源へのアクセスの許可を要求するとき、自処理の優先度と、自処理を支障が無いように行うために許容される処理開始までの待ち時間である許容待ち時間とを通知させ、前記優先度及び許容待ち時間に基づいて、前記共有資源へのアクセスの許可の要求があったとき、前記共有資源へのアクセス権を有している処理が有れば、前記アクセスの許可を要求してきた処理の優先度を前記アクセス権を有している処理の優先度と比較し、前記アクセスの許可を要求してきた処理の方が優先度が高いときは、前記許容待ち時間だけ前記アクセスの許可を要求してきた処理の実行を待たせ、前記許容待ち時間が経過しても前記アクセス権を有している処理が終了しないときは、前記アクセス権を有している処理を中断させ、前記アクセスの許可を要求してきた処理を実行させることを特徴とする競合制御方法。
- 前記共有資源へのアクセス権を有している処理が、前記共有資源へのアクセスの許可を要求するとき中断不可を通知している場合は、処理の優先度に関係なく前記アクセス権を有している処理を中断させないことを特徴とする請求項10に記載の競合制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003179568A JP2005018224A (ja) | 2003-06-24 | 2003-06-24 | 競合制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003179568A JP2005018224A (ja) | 2003-06-24 | 2003-06-24 | 競合制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005018224A true JP2005018224A (ja) | 2005-01-20 |
Family
ID=34180859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003179568A Pending JP2005018224A (ja) | 2003-06-24 | 2003-06-24 | 競合制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005018224A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006127524A (ja) * | 2004-10-29 | 2006-05-18 | Internatl Business Mach Corp <Ibm> | 物理リソースに対するアクセスを管理する方法、装置、およびプログラム |
JP2009282751A (ja) * | 2008-05-22 | 2009-12-03 | Toyota Infotechnology Center Co Ltd | プログラム検査システムおよび方法 |
JP2011503676A (ja) * | 2007-08-14 | 2011-01-27 | イマジネイション テクノロジーズ リミテッド | マルチスレッドプロセッサにおける複合命令 |
CN102170548A (zh) * | 2011-01-28 | 2011-08-31 | 杭州海康威视数字技术股份有限公司 | 互斥资源远程访问方法及数字硬盘录像机 |
CN101129033B (zh) * | 2005-02-28 | 2012-10-10 | 特克拉科技公司 | 控制对共享资源的访问的方法和系统 |
JP2015095767A (ja) * | 2013-11-12 | 2015-05-18 | 株式会社デンソー | 通信装置 |
-
2003
- 2003-06-24 JP JP2003179568A patent/JP2005018224A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006127524A (ja) * | 2004-10-29 | 2006-05-18 | Internatl Business Mach Corp <Ibm> | 物理リソースに対するアクセスを管理する方法、装置、およびプログラム |
CN101129033B (zh) * | 2005-02-28 | 2012-10-10 | 特克拉科技公司 | 控制对共享资源的访问的方法和系统 |
JP2011503676A (ja) * | 2007-08-14 | 2011-01-27 | イマジネイション テクノロジーズ リミテッド | マルチスレッドプロセッサにおける複合命令 |
JP2009282751A (ja) * | 2008-05-22 | 2009-12-03 | Toyota Infotechnology Center Co Ltd | プログラム検査システムおよび方法 |
CN102170548A (zh) * | 2011-01-28 | 2011-08-31 | 杭州海康威视数字技术股份有限公司 | 互斥资源远程访问方法及数字硬盘录像机 |
JP2015095767A (ja) * | 2013-11-12 | 2015-05-18 | 株式会社デンソー | 通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101915198B1 (ko) | 프로세서간 메시지처리장치 및 방법 | |
KR101610828B1 (ko) | 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법 | |
JP6486485B2 (ja) | 車載制御装置 | |
US7853743B2 (en) | Processor and interrupt controlling method | |
US8707315B2 (en) | Method and system for implementing realtime spinlocks | |
JP4747307B2 (ja) | ネットワーク処理制御装置,プログラムおよび方法 | |
JP2005018224A (ja) | 競合制御装置 | |
CN103197954B (zh) | 信息处理装置和控制信息处理装置的方法 | |
JP2002304334A (ja) | ダウンロードシステム | |
JP3876816B2 (ja) | コンピュータの共有資源利用制限方法 | |
JP4179110B2 (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
JP2972772B1 (ja) | 系間通信システム及び系間通信制御方法 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
WO2019038834A1 (ja) | 情報処理装置及びリソース使用調停方法 | |
JPH0448336A (ja) | 割込規制方式 | |
JPH0525135B2 (ja) | ||
JP2007122490A (ja) | コンピュータ | |
JP2836591B2 (ja) | プロセッサ間バス伝送方法及びプロセッサ間バス伝送システム | |
JPH0612394A (ja) | プロセススケジュール方式 | |
JPH10289188A (ja) | サーバ・クライアント間通信優先度制御装置 | |
JPH04128957A (ja) | マルチプロセッサシステムにおける共有資源の排他制御方法 | |
JP3643623B2 (ja) | 資源の優先割付けを可能にする待ち時間調整方式及び優先処理可能な資源割付け方式 | |
JPS5844553A (ja) | 排他制御方式 | |
JPH0981526A (ja) | マルチプロセッサシステム | |
JPH0666060B2 (ja) | バス優先権制御方式 |