(57)【特許請求の範囲】
【請求項１】
タスクの起動要求あるいは一時停止要求を発生する中央処理装置と、
上記中央処理装置からのタスクの起動要求に応じてバス使用要求を発生し、一時停止要求に応じてバス使用要求の発生を一時停止する複数のマスタ装置と、
上記複数のマスタ装置およびスレーブ装置に接続可能にされ、そのマスタ装置からのバス使用要求に応じてアービタに設定された優先順位に基づいてマスタ装置およびスレーブ装置間が接続されるようにバスラインを制御し、それら接続されたマスタ装置およびスレーブ装置間のデータを転送するバス装置とを備え、
上記中央処理装置は、
上記アービタとは個別に設けられると共に、上記マスタ装置からのバス使用要求を監視し、２つのマスタ装置からのバス使用要求が存在し、且つ、上記アービタに設定された上記２つのマスタ装置の優先順位、上記２つのマスタ装置によりそれぞれ実行されるタスクの演算処理量、および上記２つのマスタ装置からそれぞれ転送されるデータ転送量に基づいて、上記２つのマスタ装置の優先順位のままの順序により上記バスラインが制御された時に当該情報処理装置全体として処理効率が低下すると判断した場合に、上記２つのマスタ装置の優先順位とは逆の順序に上記２つのマスタ装置のタスクが起動されるように、タスクの起動要求および一時停止要求を発生することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マスタ装置からのバス使用要求に応じてマスタ装置およびスレーブ装置間が接続されるようにバスラインを制御し、接続されたマスタ装置およびスレーブ装置間のデータを転送するバス装置を備えた情報処理装置に関するものである。
【背景技術】
【０００２】
従来の情報処理装置は、各マスタ装置のデータ転送頻度をＣＰＵが監視し、ＣＰＵからの命令によりアービタの優先順位を動的に変更することで、システム全体の性能を著しく落とす、あるいは、要求性能を満足できない状態を回避していた（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平６−２４３０９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の情報処理装置は以上のように構成されているので、以下のような課題があった。
（１）アービタの優先順位を変更するための特別な手段を設ける必要がある。
（２）優先順位変更のタイミングと優先順位決定のタイミングとが重なると不具合が生じるため、アービタの優先順位変更に必要なサイクルを挿入する必要がある。
（３）アービタの優先順位変更は、アービタに実装されている優先順位決定アルゴリズムの範囲内での変更しかできないため自由度が低い。
（４）バスラインを使用するマスタ装置を変更できるのはアービトレーション時のみであり、使用中のバスラインに対して使用するマスタ装置の変更はできない。
【０００５】
この発明は上記のような課題を解決するためになされたもので、構成を簡素化すると共に処理効率を向上する情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る情報処理装置は、タスクの起動要求あるいは一時停止要求を発生する中央処理装置と、中央処理装置からのタスクの起動要求に応じてバス使用要求を発生し、一時停止要求に応じてバス使用要求の発生を一時停止する複数のマスタ装置と、複数のマスタ装置およびスレーブ装置に接続可能にされ、そのマスタ装置からのバス使用要求に応じてアービタに設定された優先順位に基づいてマスタ装置およびスレーブ装置間が接続されるようにバスラインを制御し、それら接続されたマスタ装置およびスレーブ装置間のデータを転送するバス装置とを備え、中央処理装置は、アービタとは個別に設けられると共に、マスタ装置からのバス使用要求を監視し、２つのマスタ装置からのバス使用要求が存在し、且つ、アービタに設定された２つのマスタ装置の優先順位、２つのマスタ装置によりそれぞれ実行されるタスクの演算処理量、および２つのマスタ装置からそれぞれ転送されるデータ転送量に基づいて、２つのマスタ装置の優先順位のままの順序によりバスラインが制御された時に当該情報処理装置全体として処理効率が低下すると判断した場合に、２つのマスタ装置の優先順位とは逆の順序に２つのマスタ装置のタスクが起動されるように、タスクの起動要求および一時停止要求を発生するようにしたものである。
【発明の効果】
【０００７】
この発明によれば、中央処理装置によるタスクの起動要求の変更によりバス使用要求を変更するようにしたので、アービタに設定された優先順位を変更することなく、従って、アービタの優先順位を変更するための特別な手段を設ける必要が無く、構成を簡素化することができる。また、アービタに設定された優先順位を変更することなく、従って、アービタの優先順位を変更するための必要なサイクルを挿入する必要が無く、処理時間を短縮することができる。さらに、アービタの優先順位に関わらず、中央処理装置によるタスクの起動要求の制御により、自由にバスラインを使用するマスタ装置を変更することができ、変更の自由度を高くすることができる。さらに、バスラインの使用中であっても、中央処理装置によるタスクの起動要求の制御により、自由にバスラインを使用するマスタ装置を変更することができ、変更時期の自由度を高くすることができる。このように、構成を簡素化すると共に処理効率を向上することができる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１による情報処理装置を示すブロック図であり、図において、マスタ装置１Ｍ０〜１Ｍｎは、タスクの起動要求に応じてバス使用要求を発生し、バスを使用してデータ転送すると共に、転送されたデータに対して演算処理するものである。スレーブ装置２Ｓ０〜２Ｓｍは、マスタ装置とのデータ転送の相手となるものである。なお、マスタ装置１Ｍ０〜１Ｍｎとしては、コンピュータのような装置あるいは特定用途向けのＨ／Ｗ  Ｉ／Ｐ等が適用され、スレーブ装置２Ｓ０〜２Ｓｍとしては、ＳＤＲＡＭのような記憶装置が適用されるものである。
バス装置３において、アービタ４は、マスタ装置からのバス使用要求を受け取り、予め設定された優先順位に従ってバス調停を行うものであり、バスライン５は、マスタ装置１Ｍ０〜１Ｍｎおよびスレーブ装置２Ｓ０〜２Ｓｍ間に接続可能にされ、接続されたマスタ装置およびスレーブ装置間のデータを転送するものである。
ＣＰＵ（中央処理装置）６は、アービタ４を介してバスアクセス状態を監視し、アービタ４に設定された優先順位に従ってそのままバスライン５が制御された時に、情報処理装置全体として処理効率が低下すると判断した場合に、マスタ装置に発生するタスクの起動要求を処理効率が低下しないようなタスクの起動要求に変更するものである。
【０００９】
バス要求信号７ｒ０〜７ｒｎは、マスタ装置がスレーブ装置との間でデータ転送したい場合に、バスライン５の使用を要求するためにアービタ４に送信するものであり、バスライン制御信号８は、アービタ４がそのバス要求信号７ｒ０〜７ｒｎに応じて予め設定された優先順位に従ってバス調停を行った結果、バスライン５に接続されるマスタ装置およびスレーブ装置の信号線を示すものである。バス使用許可信号９ｇ０〜９ｇｎは、アービタ４のバス調停の結果、バスライン５の使用が許可され、データ転送が可能となったマスタ装置にそのアービタ４から送信するものである。信号線１０Ｍ０〜１０Ｍｎ，１０Ｓ０〜１０Ｓｍは、マスタ装置およびスレーブ装置間のデータ転送を行うためのものである。
バスアクセス状態信号１１は、アービタ４が調停を行っているバスアクセスの状態をＣＰＵ６が監視するためのものであり、バスライン５を使用しているマスタ装置や、バス使用要求を発生しているマスタ装置の情報である。
タスク制御信号１２Ｍ０〜１２Ｍｎは、ＣＰＵ６がタスクの起動要求あるいは一時停止要求したい各マスタ装置１Ｍ０〜１Ｍｎに対して発生するものである。
図２は情報処理装置の動作を示すタイミングチャートである。
【００１０】
次に動作について説明する。
図１において、各マスタ装置１Ｍ０〜１Ｍｎは、スレーブ装置２Ｓ０〜２Ｓｍとデータ転送を行うためにそれぞれバス要求信号７ｒ０〜７ｒｎをアービタ４に送信する。アービタ４は、固定優先順位やラウンドロビン等の調停アルゴリズムに従って、各マスタ装置１Ｍ０〜１Ｍｎからのバス使用要求に対してバス調停を行い、バスライン５の使用を許可するマスタ装置（１Ｍ０〜１Ｍｎのうちのいずれか１つ）に対してバス使用許可信号（９ｇ０〜９ｇｎ）を送信すると共に、バスライン５にバスライン制御信号８を送信する。バスライン５は、バスライン制御信号８に従って、信号線（１０Ｍ０〜１０Ｍｎ）と信号線（１０Ｓ０〜１０Ｓｍ）とを接続し、許可されたマスタ装置およびスレーブ装置間のデータ転送を行う。
各マスタ装置１Ｍ０〜１Ｍｎのタスクでは、演算処理に必要なデータをスレーブ装置から読み出し、転送されてきたデータを演算処理して、演算処理後のデータをスレーブ装置に転送して書き込むものとなるが、以下では、マスタ装置１Ｍ０のタスクは、データ転送量が少なく演算処理量が多いものとし、マスタ装置１Ｍ１のタスクは、データ転送量が多く演算処理量が少ないものと仮定し、また、アービタ４に設定されている優先順位はマスタ装置１Ｍ０よりもマスタ装置１Ｍ１の方が上位であるものとして説明する。
【００１１】
図２において、ＣＰＵ６は、マスタ装置１Ｍ１に対してタスクの起動要求するタスク制御信号１２Ｍ１を発生し（図２のＡ）、マスタ装置１Ｍ１は、そのタスクの起動要求に応じてバス要求信号７ｒ１をアービタ４に送信する（図２のＢ）。ここで、マスタ装置１Ｍ１は、マスタ装置１Ｍ３によって使用されているバスライン５が空くのを待つ。
この時、マスタ装置１Ｍ０からバス要求信号７ｒ０がアービタ４に送信されると（図２のＣ）、アービタ４は、このバス要求信号７ｒ０の発生をバスアクセス状態信号１１としてＣＰＵ６に送信し、ＣＰＵ６では、マスタ装置１Ｍ０からバス要求信号７ｒ０が発生したことを認識する。
ここで、ＣＰＵ６は、アービタ４に設定された優先順位がマスタ装置１Ｍ０よりもマスタ装置１Ｍ１の方が上位であるから、マスタ装置１Ｍ１のタスク処理の開始後に、マスタ装置１Ｍ０のタスク処理が開始されることになるが、そのままの順序でタスク処理が開始された時に、情報処理装置全体として処理効率が著しく低下しないか判定する。
【００１２】
例えば、この場合、マスタ装置１Ｍ１によるバスライン５の使用後に、マスタ装置１Ｍ０によりバスライン５が使用されることになるが、タスクの演算処理量の多いマスタ装置１Ｍ０は、データ転送量が多いマスタ装置１Ｍ１がバスライン５を使用し終わるまで演算処理を始めることができず、その結果、マスタ装置１Ｍ０のタスク処理が終了するまでに時間がかかり過ぎ、情報処理装置全体の要求性能を満足することができない状態であると判定することができる。
このように判定した場合、ＣＰＵ６は、アービタ４に設定された優先順位とは逆にマスタ装置１Ｍ０のタスク処理の開始後に、マスタ装置１Ｍ１のタスク処理が開始されるように、マスタ装置１Ｍ１に対してタスクの一時停止要求するタスク制御信号１２Ｍ１を発生すると共に（図２のＤ）、マスタ装置１Ｍ０に対してタスクの起動要求するタスク制御信号１２Ｍ０を発生する。マスタ装置１Ｍ１は、そのタスクの一時停止要求に応じてアービタ４へのバス要求信号７ｒ１を一時停止し（図２のＥ）、マスタ装置１Ｍ０は、そのタスクの起動要求に応じてアービタ４へのバス要求信号７ｒ０の送信を継続する（図２のＣ）。
【００１３】
マスタ装置１Ｍ３のデータ転送が終了すれば、アービタ４からバスライン５にマスタ装置１Ｍ３によるバスライン５の使用が解除されるようにバスライン制御信号８が停止されるが、ここで、アービタ４は、設定された優先順位に従ってバス調停を行い、マスタ装置１Ｍ１からのバス要求信号７ｒ１が一時停止しているので、マスタ装置１Ｍ０にバス使用許可信号９ｇ０を送信すると共に（図２のＦ）、バスライン５にマスタ装置１Ｍ０によりバスライン５が使用されるようにバスライン制御信号８を送信する（図２のＧ）。さらに、ＣＰＵ６に、現在バスライン５を使用しているマスタ装置はマスタ装置１Ｍ０であることを示すバスアクセス状態信号１１を送信する。
ＣＰＵ６は、そのバスアクセス状態信号１１の通知に応じて、マスタ装置１Ｍ１へのタスクの一時停止要求を解除し、再びタスクの起動要求するタスク制御信号１２Ｍ１を発生し（図２のＨ）、マスタ装置１Ｍ１は、そのタスクの起動要求に応じてアービタ４へのバス要求信号７ｒ１の一時停止を解除する（図２のＩ）。マスタ装置１Ｍ０によるデータ転送が終了すると、アービタ４は、設定された優先順位に従ってバス調停を行い、マスタ装置１Ｍ１にバス使用許可信号９ｇ１を送信すると共に（図２のＪ）、バスライン５にマスタ装置１Ｍ１によりバスライン５が使用されるようにバスライン制御信号８を送信する（図２のＫ）。
【００１４】
以上の動作により、アービタ４に設定されている優先順位を書き換えることなく、バスライン５を使用するマスタ装置の順序を、マスタ装置１Ｍ０の使用後にマスタ装置１Ｍ１が使用されるように変更し、データ転送量の多いマスタ装置１Ｍ１によるバスライン５の占有により、演算処理量の多いマスタ装置１Ｍ０のタスク処理が終了するまでに時間がかかり過ぎてしまうことを回避し、情報処理装置全体の性能を著しく落とす、あるいは、要求性能を満足できない状態を回避することができる。
なお、上記実施の形態１では、ＣＰＵ６がマスタ装置のバスアクセス状態をアービタ４を介して監視するように説明したが、ＣＰＵ６がマスタ装置のバスアクセス状態を監視できるのであれば、アービタ４以外の他の手段を用いるものであっても構わない。
【００１５】
以上のように、この実施の形態１によれば、ＣＰＵ６によるタスクの起動要求の変更によりバス使用要求を変更するようにしたので、アービタ４に設定された優先順位を変更することなく、従って、アービタ４の優先順位を変更するための特別な手段を設ける必要が無く、構成を簡素化することができる。また、アービタ４に設定された優先順位を変更することなく、従って、アービタ４の優先順位を変更するための必要なサイクルを挿入する必要が無く、処理時間を短縮することができる。さらに、アービタ４の優先順位に関わらず、ＣＰＵ６によるタスクの起動要求の制御により、自由にバスライン５を使用するマスタ装置を変更することができ、変更の自由度を高くすることができる。さらに、バスライン５の使用中であっても、ＣＰＵ６によるタスクの起動要求の制御により、自由にバスライン５を使用するマスタ装置を変更することができ、変更時期の自由度を高くすることができる。このように、構成を簡素化すると共に処理効率を向上することができる
【図面の簡単な説明】
【００１６】
【図１】この発明の実施の形態１による情報処理装置を示すブロック図である。
【図２】情報処理装置の動作を示すタイミングチャートである。
【符号の説明】
【００１７】
１Ｍ０〜１Ｍｎ  マスタ装置、２Ｓ０〜２Ｓｍ  スレーブ装置、３  バス装置、４  アービタ、５  バスライン、６  ＣＰＵ（中央処理装置）、７ｒ０〜７ｒｎ  バス要求信号、８  バスライン制御信号、９ｇ０〜９ｇｎ  バス使用許可信号、１０Ｍ０〜１０Ｍｎ，１０Ｓ０〜１０Ｓｍ  信号線、１１  バスアクセス状態信号、１２Ｍ０〜１２Ｍｎ  タスク制御信号。
【図１】
0004689189.tif 000002
【図２】
0004689189.tif 000003