(57)【要約】【課題】  特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理の実現が可能なバス調停装置及びバス調停方法を提供すること。【解決手段】  調停回路１８は、バスマスタ装置からバス使用のリクエストがあると、システムバスの占有時間を複数の時間単位に分割し、分割された個々の単位時間におけるバスの優先度を個別に設定する。調停回路１８は、ＣＰＵ１１及び制御回路１４〜１７のうち、いずれかのバスマスタ装置からシステムバス１９を介してバス使用のリクエストであるバス要求信号があるか否かを判別し、バス要求信号があると、設定されている優先度にしたがって、バス調停処理を行う。【選択図】  図１
2006251875.tif 000002
【特許請求の範囲】
【請求項１】
バスを共有する複数のバスマスタ装置からのバスの使用の要求に応じて、前記バスの使用を調停するバス調停装置であって、
前記バスの占有時間を、複数の占有区間に分割する占有区間設定手段と、
前記占有区間毎に異なる優先度を決定する優先度決定手段と、
前記決定された優先度にしたがってバスの使用を調停するバス調停手段と、
を備えるバス調停装置。
【請求項２】
請求項１記載のバス調停装置であって、
前記優先度決定手段は、前記占有区間毎に優先度付与方法を設定する優先度付与方法設定手段を有し、前記設定された優先度付与方法に従って、前記占有区間毎に異なる優先度を決定するバス調停装置。
【請求項３】
請求項２記載のバス調停装置であって、
前記優先度付与方法設定手段は、前記優先度付与方法として、前記バスマスタ装置毎に固定の優先度を割り当てる優先度固定方式を設定するバス調停装置。
【請求項４】
請求項３記載のバス調停装置であって、
前記バスマスタ装置から処理すべきデータ量を取得するデータ量取得手段を更に備え、
前記優先度決定手段は、前記取得したデータ量に応じて、優先度を決定するバス調停装置。
【請求項５】
請求項３記載のバス調停装置であって、
前記バスマスタ装置からのバスアクセスの履歴を示すバスアクセス履歴情報を格納するバスアクセス履歴情報格納手段を更に備え、
前記優先度決定手段は、前記格納されたバスアクセス履歴情報に基づいて優先度を決定するバス調停装置。
【請求項６】
請求項５記載のバス調停装置であって、
前記バスアクセス履歴情報を前記バスマスタ装置に送出するバス調停装置。
【請求項７】
請求項２記載のバス調停装置であって、
前記優先度付与方法設定手段は、前記優先度付与方法としてラウンドロビン方式を設定するバス調停装置。
【請求項８】
バスを共有する複数のバスマスタ装置からのバスの使用の要求に応じて、前記バスの使用を調停するバス調停方法であって、
前記バスの占有時間を、複数の占有区間に分割するステップと、
前記占有区間毎に異なる優先度を決定するステップと、
前記決定された優先度にしたがってバスの使用を調停するステップと、
を有するバス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスを共有する複数のバスマスタ装置からのバスの使用の要求に応じて、バスの使用を調停するバス調停装置及びバス調停方法に関する。
【背景技術】
【０００２】
従来、複数のバスマスタ装置（ＣＰＵ、表示制御装置、通信制御装置、入出力制御装置等）がメインメモリ等を共有するコンピュータシステムでは、これらを接続する共有バスを使用してデータ転送が行われる。複数のバスマスタ装置が共有バスに対して同時にデータ転送を要求した場合、１つのバスマスタ装置を選択するためのバス使用権の調停を行う必要が生じる。バス使用権の調停を行う際、競合したバスマスタ装置の優先度を調べ、より高い優先度のバスマスタ装置にバス使用権を与えるバス制御が一般的に行われている。バス使用権を獲得したバスマスタ装置は、その処理が終了するまでバスを占有し、他のバスマスタ装置は処理終了まで待機することになる。
【０００３】
優先度に基づくバス使用権の付与では、予めバスマスタ装置それぞれに固定的に優先度を与え、優先度の高いバスマスタ装置から使用する方法、全てのバスマスタ装置の優先度を均等（公平）にして順番に回す方法（ラウンドロビン）、バスマスタ装置がバスリクエストを出す際、優先度を表すコード情報を併せて送出し、高い優先度の要求を出したバスマスタ装置から順にバスの使用許可を与える方法などが採用されていた（例えば、特許文献１参照）。
【特許文献１】特開平６−２４３０９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のバス調停装置にあっては、複数のバスマスタ装置が同一のバスを使用するので、特定のバスマスタ装置がバスを使用している間、バスを占有することになり、他のバスマスタ装置ではバス待ちの時間が発生していた。
【０００５】
仮に、優先度固定方式を用いた場合、優先度の高いバスマスタ装置に一方的に処理が割り当てられるので、優先度の低いバスマスタ装置は、緊急度の高いデータを処理しなければならない場合であっても、処理できないという事情があった。
【０００６】
また、ラウンドロビン方式を用いた場合、全てのバスマスタ装置に対して公平であるので、優先的に処理したいバスマスタ装置が存在しても、優先的に処理させることができなかった。
【０００７】
更に、バスマスタ装置がバスリクエストを出す際、優先度を示すコード情報を送出する方式である場合、優先度固定方式と同様、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置ではバスの使用が待たされていた。
【０００８】
本発明は、上記従来の事情に鑑みてなされたものであって、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理の実現が可能なバス調停装置及びバス調停方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のバス調停装置は、バスを共有する複数のバスマスタ装置からのバスの使用の要求に応じて、前記バスの使用を調停するバス調停装置であって、前記バスの占有時間を、複数の占有区間に分割する占有区間設定手段と、前記占有区間毎に異なる優先度を決定する優先度決定手段と、前記決定された優先度にしたがってバスの使用を調停するバス調停手段と、を備える。
【００１０】
この構成により、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理を実現できる。
【００１１】
また、本発明のバス調停装置において、前記優先度決定手段は、前記占有区間毎に優先度付与方法を設定する優先度付与方法設定手段を有し、前記設定された優先度付与方法に従って、前記占有区間毎に異なる優先度を決定する。
【００１２】
この構成により、占有区間毎に種々の優先度付与方法を採用することができる。
【００１３】
また、本発明のバス調停装置において、前記優先度付与方法設定手段は、前記優先度付与方法として、前記バスマスタ装置毎に固定の優先度を割り当てる優先度固定方式を設定する。
【００１４】
この構成により、特定の占有区間内では、予め決定された優先度にしたがって、バスマスタ装置にバスの使用権を付与できる。
【００１５】
また、本発明のバス調停装置は、前記バスマスタ装置から処理すべきデータ量を取得するデータ量取得手段を更に備え、前記優先度決定手段は、前記取得したデータ量に応じて、優先度を決定する。
【００１６】
この構成により、処理すべきデータ量の多いバスマスタ装置の優先度を高くすることができる。
【００１７】
また、本発明のバス調停装置は、前記バスマスタ装置からのバスアクセスの履歴を示すバスアクセス履歴情報を格納するバスアクセス履歴情報格納手段を更に備え、前記優先度決定手段は、前記格納されたバスアクセス履歴情報に基づいて優先度を決定する。
【００１８】
この構成により、バスアクセスの履歴を考慮してバスマスタ装置の優先度を決定することができる。例えば、バスアクセスの多いバスマスタ装置の優先度を高く設定あるいは低く設定することが可能となる。
【００１９】
また、本発明のバス調停装置は、前記バスアクセス履歴情報を前記バスマスタ装置に送出する。
【００２０】
この構成により、バスマスタ装置は、バスアクセス履歴情報を用いた処理を行うことができるので、例えば、バスアクセスが所定回数に達した場合、それ以上のバスアクセスを停止させることも可能であり、バスの競合（バスコンフリクト）を減少させることができる。
【００２１】
また、本発明のバス調停装置において、前記優先度付与方法設定手段は、前記優先度付与方法としてラウンドロビン方式を設定する。
【００２２】
この構成により、特定の占有区間内では、各バスマスタ装置に対し、公平にバスの使用権を割り当てることができる。
【００２３】
本発明のバス調停方法は、バスを共有する複数のバスマスタ装置からのバスの使用の要求に応じて、前記バスの使用を調停するバス調停方法であって、前記バスの占有時間を、複数の占有区間に分割するステップと、前記占有区間毎に異なる優先度を決定するステップと、前記決定された優先度にしたがってバスの使用を調停するステップと、を有する。
【００２４】
この方法により、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理を実現できる。
【発明の効果】
【００２５】
本発明によれば、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理の実現が可能なバス調停装置及びバス調停方法を提供することができる。
【発明を実施するための最良の形態】
【００２６】
本発明の実施形態に係るバス調停装置及びバス調停方法について図面を参照しながら説明する。本実施形態のバス調停装置はバス制御システムに適用される。図１は実施の形態におけるバス制御システムの構成を示すブロック図である。
【００２７】
図１に示すように、バス制御システム１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、制御回路１４〜１７及び調停回路１８が共有バスであるシステムバス１９に接続された構成を有する。制御回路１４〜１７はそれぞれ、例えば、ディスク制御、通信制御、表示制御及び入出力制御等を行うものである。ここで、ＣＰＵ１１及び制御回路１４〜１７はバスマスタ装置であり、調停回路１８にシステムバス１９の使用を要求する。
【００２８】
図２は本実施形態の調停回路１８の構成を示すブロック図である。図２に示すように、調停回路１８は、制御回路２１、タイマ２２、優先度テーブル記憶部２３、バスアクセス履歴情報記憶部２４及びＩ／Ｏインタフェース部２５を有する。
【００２９】
タイマ２２は、クロック及びこのクロックに同期した所定時間（時間単位）毎の区切信号を制御回路２１に送出する。制御回路２１は、各部の制御を司り、タイマ２２からのクロックに同期して各バスマスタ装置から入力されるバス要求信号を受け取るとともに、区切信号を入力した時点で最も優先度の高いバスマスタ装置にバス許可信号を送出する。なお、制御回路２１は、例えば、バスの占有時間を複数の占有区間に分割する占有区間設定手段、占有区間毎に異なる優先度を決定する優先度決定手段、占有区間毎に優先度付与方法を設定する優先度付与方法設定手段、バスマスタ装置から処理すべきデータ量を取得するデータ量取得手段、及び決定された優先度にしたがってバスの使用を調停するバス調停手段の機能を有する。
【００３０】
優先度テーブル記憶部２３には、時間単位毎に更新される、各バスマスタ装置の優先度が記述された優先度テーブルが格納されている。バスアクセス履歴情報記憶部２４には、全てのバスマスタ装置からのバスアクセスの履歴を表すバスアクセス履歴情報が記憶されている。
【００３１】
優先度テーブルは、制御回路２１が優先度を決定する際に参照される。また、Ｉ／Ｏインタフェース部２５は、制御回路２１から各バスマスタ装置へのバスアクセス履歴情報の出力、及び各バスマスタ装置から制御回路２１へのデータ量の入力を行う。
【００３２】
ここで、各バスマスタ装置は、システムバス１９の使用を要求する際あるいはバス調停回路１８から要求された際、処理すべきデータ量を調停回路１８に通知するとともに、調停回路１８から通知されたバスアクセス履歴情報を格納し、この情報を基に、調停回路１８へのバス要求信号の送出を制御することも可能である。
【００３３】
上記構成を有する調停回路１８は、バスマスタ装置からバス使用のリクエストがあると、システムバスの占有時間を複数の占有区間である時間単位に分割し、分割された個々の時間単位におけるバスの優先度を個別に設定する。
【００３４】
図３は個々の時間単位におけるバスの優先度付与方法の設定を示す図である。分割した個々の時間単位における優先度を付与する方法として、各バスマスタ装置に対して固定的に優先度を与える方法（優先度固定方式）、全てのバスマスタ装置に公平な優先度を付与して順番に回す方法（ラウンドロビン方式）、バスマスタ装置がバスリクエストを出すときに優先度を表すコードを送出して優先度の高い要求から順にバスの使用許可を与える方法などが挙げられる。図３では、優先度付与方法として、時間単位ｔ１では優先度固定方式、時間単位ｔ２ではラウンドロビン方式が採用され、これらの方式が時間単位毎に交互に繰り返される。
【００３５】
図４は調停回路１８におけるバス調停処理手順を示すフローチャートである。まず、ＣＰＵ１１及び制御回路１４〜１７のうち、いずれかのバスマスタ装置からシステムバス１９を介してバス使用のリクエスト（バス要求信号）があるか否かを判別する（ステップＳ１）。バス要求信号がない場合、ステップＳ１の処理を繰り返し、バス要求信号があると、分割された時間単位を終了したか否かを判別する（ステップＳ２）。ここで、タイマ２２から区切信号が入力された時点を時間単位の起点とする。なお、最初のバス要求信号が入力された時点を時間単位の起点とすることも可能である。
【００３６】
そして、時間単位が終了している場合、優先度を決定する処理を行い、決定された優先度を基に、優先度テーブル記憶部２３に記憶された優先度テーブルを書き換える（ステップＳ３）。そして、優先度テーブルに記述された優先度にしたがって、バス調停処理を行う（ステップＳ４）。この後、ステップＳ１に戻って同様の処理を繰り返す。一方、ステップＳ２で時間単位が終了していない場合、そのままステップＳ４に進み、既に決定されている優先度にしたがって、バス調停処理を行う。
【００３７】
図５はステップＳ３における優先度決定処理手順を示すフローチャートである。本実施形態では、優先度付与方法として、時間単位の経過毎に優先度固定方式とラウンドロビン方式を交互に切り替える場合を示す。
【００３８】
まず、前回の優先度付与方法を判別する（ステップＳ１１）。前回の優先度付与方法がラウンドロビン方式であった場合、今回の優先度付与方法を優先度固定方式に切り替える（ステップＳ１２）。そして、バス要求信号を送出しているバスマスタ装置が処理すべきデータ量を、Ｉ／Ｏインタフェース部２５を介して取得する（ステップＳ１３）。
【００３９】
取得したデータ量を基に優先度を決定し、優先度テーブルを書き換える（ステップＳ１４）。すなわち、本実施形態では、バス要求信号が競合している場合、調停回路１８は、バスの使用を要求しているバスマスタ装置に対し、処理すべきデータ量が多いほど高い優先度を決定する。この後、元の処理に戻る。
【００４０】
一方、ステップＳ１１で前回の優先度付与方法が優先度固定方式であった場合、ラウンドロビン方式に切り替える（ステップＳ１５）。この後、元の処理に戻る。ラウンドロビン方式では、前述したように、バスの使用を要求している全てのバスマスタ装置に対して均等に優先度が割り当てられ、優先度テーブルには、同一の優先度が記述される。そして、ステップＳ４のバス調停処理において、所定のバス占有時間が経過する度、順次、次のバスマスタ装置にバスの使用権が与えられる。
【００４１】
図６はステップＳ４におけるバス調停処理手順を示すフローチャートである。まず、複数のバスマスタ装置からバス要求信号が送出されているか否かを判別する（ステップＳ２１）。
【００４２】
複数のバス要求信号が送出されている場合、ステップＳ３で決定され、優先度テーブルに記述された優先度にしたがって、最も優先度の高いバスマスタ装置にバス使用権を付与する（ステップＳ２２）。このとき、各バスマスタ装置の優先度が均等である場合、つまりラウンドロビン方式である場合、ステップＳ２２では、複数のバスマスタ装置に対し、所定のバス占有時間が経過する度、順番に次のバスマスタ装置にバス使用権を付与していく。この後、元の処理に戻る。
【００４３】
一方、ステップＳ２１でバス要求信号が複数でない場合、バス要求信号を送出している単一のバスマスタ装置に対し、バス使用権を付与する（ステップＳ２３）。この後、元の処理に戻る。
【００４４】
このように、本発明の実施形態のバス制御システムによれば、バスの占有時間を複数の時間単位に分割し、個々の時間単位に対してそれぞれ異なるバスの優先度を個別に設定できる。したがって、従来に比べて処理のサイクルが早くなり、特定のバスマスタ装置によるバスの占有時間を削減することができる。また、優先度の低いバスマスタ装置であっても、緊急度の高いデータ処理が発生した場合、個々の時間単位において個別に優先度が切り替え可能であるので、そのバスマスタ装置が必要以上に待たされることなく、効率的なデータ処理を実現できる。したがって、バス待ち時間及びバスコンフリクトを改善することができる。
【００４５】
なお、本発明は、上記実施の形態の構成に限られるものではない。例えば、上記実施形態では、各バスマスタ装置からのデータ量に応じて優先度を決定していたが、過去のバスアクセス履歴に基づいて優先度を決定するようにしてもよい。つまり、アクセス回数の多いバスマスタ装置に高い優先度を付与するようにしてもよい。この場合、図５のフローチャートを、ステップＳ１２で優先度固定方式に切り替えた後、ステップＳ１３でバス要求信号を送出したバスマスタ装置のバスアクセス回数を取得し、ステップＳ１４でバスアクセス回数に応じた優先度を決定するように、変更することで実現可能である。
【００４６】
また、上記実施形態では、分割された時間単位の経過毎に優先度付与方法を変更していたが、時間単位をさらに複数の領域に分割し、各領域毎に異なる優先度付与方法を設定するようにしてもよい。図７は個々の時間単位における他のバスの優先度付与方法の設定を示す図である。図７には、分割された各時間単位はさらに３つの領域に区切られている。時間単位ｔ１の第１及び第３の領域にはデータ量に基づく優先度固定方式が設定され、第２の領域にはラウンドロビン方式が設定されている。一方、時間単位ｔ２の第１及び第３の領域にはバスアクセス履歴に基づく優先度固定方式が設定され、第２の領域にはラウンドロビン方式が設定されている。この場合、時間単位内において、しばらく処理が回ってこないバスマスタ装置であっても、ラウンドロビン方式の第２の領域に入ると、処理を行うことが可能となる。図７では、各領域は等間隔であったが、不等間隔であってもよい。また、優先度付与方法としては、優先度固定方式、ラウンドロビン方式に限らず、任意の付与方式が設定可能である。
【００４７】
また、バス調停回路は、バスアクセス履歴情報を保存しておき、各バスマスタ装置にフィードバックするようにしてもよい。そして、バスマスタ装置は、通知されたバスアクセス履歴情報を基にバスのリクエストを行うことで、より効率的な処理が可能となる。例えば、バスマスタ装置は、自身のバスアクセスが所定回数に達した場合、それ以上のバスアクセスを停止することで、バスの競合（バスコンフリクト）を減らすことができる。また、バス調停回路は、分割された時間単位に関する情報、例えば時間単位の長さ、時間単位毎に設定された優先度付与方法などを保存しておき、これらの情報を基に次回の時間単位の長さや次回の優先度付与方法などを設定するようにしてもよい。これにより、優先度の付与を計画的に行うことが可能となる。
【産業上の利用可能性】
【００４８】
本発明は、特定のバスマスタ装置がバスを使用している間、他のバスマスタ装置のバス待ち時間を改善することができ、効率的なデータ処理の実現が可能な効果を有し、バス調停装置及びバス調停方法等に有用である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に係るバス制御システムの構成を示すブロック図
【図２】本発明の実施形態に係る調停回路の概略構成を示すブロック図
【図３】個々の単位時間におけるバスの優先度付与方法の設定例を示す図
【図４】本発明の実施形態に係るバス調停処理手順を示すフローチャート
【図５】本発明の実施形態に係る優先度決定処理手順を示すフローチャート
【図６】本発明の実施形態に係るバス調停処理手順を示すフローチャート
【図７】個々の単位時間における他のバスの優先度付与方法の設定例を示す図
【符号の説明】
【００５０】
１４〜１７  制御回路
１８  調停回路
１９  システムバス
２１  制御回路
２２  タイマ
２３  優先度テーブル記憶部
２４  バスアクセス履歴情報記憶部
【図１】
2006251875.tif 000003
【図２】
2006251875.tif 000004
【図３】
2006251875.tif 000005
【図４】
2006251875.tif 000006
【図５】
2006251875.tif 000007
【図６】
2006251875.tif 000008
【図７】
2006251875.tif 000009