(57)【要約】【課題】  アクセスターゲットに対する複数のバスマスタを調停する際、低遅延特性および高帯域特性の双方に対応できるようにする。【解決手段】  共有バス１には、複数のバスマスタＰ０〜ＰＮ−１、バスコントローラ１５およびアクセスターゲット３を接続する。バスコントローラ１５は、バスマスタＰ０〜ＰＮ−１からのバスアクセス要求をラウンドロビン方式で調停する。バスコントローラ１５は、バスマスタＰ０〜ＰＮ−１に重み設定値を設定し、個々のバスマスタＰ０〜ＰＮ−１が調停される毎に加算した設定値の累積重み値の整数値を算出し、ラウンドロビン方式におけるラウンド範囲を、調停されたバスマスタＰ０〜ＰＮ−１を最低の優先順位から整数値番目のバスマスタＰ０〜ＰＮ−１に入れ替える。【選択図】  図１
2011165113.tif 000002
【特許請求の範囲】
【請求項１】
共有バスと、
この共有バスに接続された複数のバスマスタと、
前記共有バスに接続された共有リソースとしてのアクセスターゲットと、
前記バスマスタからのバスアクセス要求を受け、所定のプライオリティを有する前記バスマスタに対してラウンドロビン方式に基づいて調停することによって前記アクセスターゲットへのバス権を何れかの前記バスマスタに与えて前記アクセスターゲットとの間の前記バスアクセス要求およびバスアクセス応答を確保するとともに、バスアクセス応答の完了によって以降の前記バスアクセス要求の再調停を行うバスコントローラと、
を具備し、
前記バスコントローラは、重み設定値の設定された個々の前記バスマスタが調停される毎に加算して前記設定値の累積重み値における整数値を算出するものであることを特徴とするバス調停装置。
【請求項２】
前記バスコントローラは、算出された前記整数値に基づいて、前記ラウンドロビン方式におけるラウンド範囲について、調停された前記バスマスタを最低の優先順位から前記整数値番目に入れ替え制御する請求項１記載のバス調停装置。
【請求項３】
前記バスコントローラは、小数を含む前記設定値の前記累積重み値が桁あふれして得られた前記整数値を用いる請求項１又は２記載のバス調停装置。
【請求項４】
前記バスコントローラは、１未満又は「１」を超える前記設定値の設定された前記バスマスタを入れ替え制御する請求項１〜３いずれか１項記載のバス調停装置。
【請求項５】
前記バスコントローラは、前記プライオリティに応じて重み付けされた前記設定値の設定された前記バスマスタを入れ替え制御する請求項１〜４いずれか１項記載のバス調停装置。
【請求項６】
共有バスに接続される複数のバスマスタからのバスアクセス要求が競合するときに、所定のプライオリティを有する前記バスマスタに対して均等に許可するラウンドロビン方式に基づいて調停するバス調停方法であって、
前記バスマスタに重み設定値を設定し、個々の前記バスマスタが調停される毎に加算して前記設定値の累積重み値における整数値を算出することを特徴とするバス調停方法。
【請求項７】
算出された前記整数値に基づいて、前記ラウンドロビン方式におけるラウンド範囲について、調停された前記バスマスタを最低の優先順位から前記整数値番目に入れ替え制御する請求項６記載のバス調停方法。
【請求項８】
前記設定値は小数を含むものであり、前記整数値は前記累積重み値の桁あふれによって得られた整数値である請求項６又は７記載のバス調停方法。
【請求項９】
１未満又は「１」を超える前記設定値を選択する請求項６〜８いずれか１項記載のバス調停方法。
【請求項１０】
前記バスマスタに応じて前記設定値に重み付けて設定する請求項６〜９いずれか１項記載のバス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバス調停装置およびバス調停方法に係り、例えば情報処理装置（コンピュータ）等に搭載して好適するバス調停装置およびバス調停方法の改良に関する。
【背景技術】
【０００２】
情報処理装置においては、例えば、複数のバスマスタとしての入出力部および情報処理部を共有バスを介してアクセスターゲットしてのデータメモリに接続し、バスコントローラの調停によって共有バスを占有する入出力部又は情報処理部にバス権を与え、入出力部又は情報処理部からデータメモリへのバスアクセス要求が衝突しないようにバス調停している。
【０００３】
従来、バス調停方法には、システムが円滑に作動するように、固定優先方式、ラウンドロビン方式又はこれらの組み合わせ方式が採用されている。
【０００４】
固定優先方式は、各バスマスタにプライオリティ情報を持たせ、それらバスマスタからのバスアクセス要求が衝突するときには、バスコントローラがプライオリティ情報に基づいてプライオリティの高いバスマスタに対して優先的にバス権を与える構成である。
【０００５】
他方、ラウンドロビン方式は、バスアクセス要求するバスマスタ中でプライオリティの最も高いバスマスタからバス権を与え、バスアクセス要求の終了したバスマスタをプライオリティの最も低いものに置き換えるとともに、バス権を与えたバスマスタより低いプライオリティのバスマスタのそれを全て１個ずつ繰り上げる構成であり、プライオリティの低いバスマスタからのバスアクセス要求にも応えることが可能である。
【０００６】
ところが、ラウンドロビン方式を採用する場合に、プライオリティの高いバスマスタによってバス権が長期にわたって占有されたような場合に、それよりプライオリティが低いが同等のプライオリティを有する複数のバスマスタの待ち時間が考慮されず、後にバスアクセス要求された同等のプライオリティのバスマスタと同じ調停方式で調停されることになり、先に要求したにも関わらず、先に許可されないといった不整合が生じ易い問題点があった。
【０００７】
そこで、例えば、特開２００７−１１４９１８号公報（特許文献１）のバス調停方式が提案されている。
【０００８】
特許文献１は、共有バスに接続される複数のバスマスタからのバスアクセス要求が競合するときに固定優先方式に基づいて調停するとともに、プライオリティが同等のバスマスタに対しては均等に許可するラウンドロビン方式に基づいて調停するバス調停方式であり、プライオリティが同一のバスマスタからのバスアクセス要求が競合するときに、異なるプライオリティのバスマスタに対する相対的待ち時間に応じて可変に設定された相対的重みに基づいてバスアクセス要求を許可する重み付けラウンドロビン方式により調停する構成を有し、プライオリティが同一のバスマスタからのバスアクセス要求が競合するときに、待ち時間の長い方のバスマスタからの要求が許可される確率を上昇させながらも、待ち時間の短い方のバスマスタからの要求も確実に許可されるようにしたものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１１４９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した特許文献１では、待ち時間の長い方および短い方のバスマスタからの要求双方を確実に許可するようにしているが、バスマスタからのバスアクセス要求に対するバスアクセス応答を遅らせない低遅延（レイテンシ）特性と、システムの過大負荷を抑えて伝送速度を確保する高帯域（バンド）特性には考慮が払われておらず、依然として改良すべき余地がある。
【００１１】
すなわち、複数のバスマスタからアクセスターゲットへのバス調停を行う場合、低遅延特性を保証するためには、調停されたバスマスタ以外のバスマスタが調停される期間を保証できなくてはならず、仮に複数のバスマスタに対して低遅延特性を保証しようとすると、可能な限り短い周期でプライオリティを変えていく必要がある。
【００１２】
他方、短い周期でバス権が切り替わると、メモリシステム等のアクセスターゲットへのアクセス量が増え、アクセスターゲットのオーバーヘッドが増大して全体の有効帯域が減ることになる。これら低遅延特性と高帯域特性は相反する性質であり、対策が望まれていた。
【００１３】
本発明はそのような課題を解決するためになされたもので、低遅延特性および高帯域特性の双方に対応可能なバス調停装置およびバス調停方法の提供を目的とする。
【課題を解決するための手段】
【００１４】
そのような課題を解決するために本発明の請求項１に係るバス調停装置は、共有バスと、この共有バスに接続された複数のバスマスタと、その共有バスに接続された共有リソースとしてのアクセスターゲットと、そのバスマスタからのバスアクセス要求を受け、所定のプライオリティを有するバスマスタに対してラウンドロビン方式に基づいて調停することよってアクセスターゲットへのバス権を何れかのバスマスタに与えてアクセスターゲットとの間のバスアクセス要求およびバスアクセス応答を確保するとともに、バスアクセス応答の完了によって以降のバスアクセス要求の再調停を行うバスコントローラと、を具備している。
【００１５】
しかも、上記バスコントローラは、重み設定値の設定された個々のバスマスタが調停される毎に加算して設定値の累積重み値における整数値を算出するものである。
【００１６】
本発明の請求項２に係るバス調停装置は、上記バスコントローラが、算出された整数値に基づいて、そのラウンドロビン方式におけるラウンド範囲について、調停されたバスマスタを最低の優先順位から整数値番目に入れ替え制御する構成である。
【００１７】
本発明の請求項３に係るバス調停装置は、上記バスコントローラが、小数を含む設定値の累積重み値が桁あふれして得られた整数値を用いる構成である。
【００１８】
本発明の請求項４に係るバス調停装置は、上記バスコントローラが、１未満又は「１」を超える設定値の設定されたバスマスタを入れ替え制御する構成である。
【００１９】
本発明の請求項５に係るバス調停装置は、上記バスコントローラが、そのプライオリティに応じて重み付けされた設定値の設定されたバスマスタを入れ替え制御する構成である。
【００２０】
本発明の請求項６に係るバス調停方法は、共有バスに接続される複数のバスマスタからのバスアクセス要求が競合するときに、所定のプライオリティを有するバスマスタに対して均等に許可するラウンドロビン方式に基づいて調停するバス調停方法であって、そのバスマスタに重み設定値を設定し、個々のバスマスタが調停される毎に加算して設定値の累積重み値における整数値を算出する構成である。
【００２１】
本発明の請求項７に係るバス調停方法は、算出された整数値に基づいて、そのラウンドロビン方式におけるラウンド範囲について、調停されたバスマスタを最低の優先順位から整数値番目に入れ替え制御する構成である。
【００２２】
本発明の請求項８に係るバス調停方法は、上記設定値が小数を含むものであり、その整数値は累積重み値の桁あふれによって得られた整数値である構成である。
【００２３】
本発明の請求項９に係るバス調停方法は、１未満又は「１」を超える前記設定値を選択する構成である。
【００２４】
本発明の請求項１０に係るバス調停方法は、上記バスマスタに応じて設定値に重み付けて設定する構成である。
【発明の効果】
【００２５】
このような本発明の請求項１、６に係るバス調停装置およびバス調停方法では、共有バスに接続される複数のバスマスタからのバスアクセス要求が競合するときに、所定のプライオリティを有するバスマスタに対してラウンドロビン方式に基づいて調停する。
【００２６】
しかも、そのバスマスタに重み設定値を設定し、個々のバスマスタが調停される毎に加算して設定値の累積重み値における整数値を算出するから、低遅延特性および高帯域特性の双方に対応可能である。
【００２７】
本発明の請求項２、７に係るバス調停装置およびバス調停方法では、そのラウンドロビン方式のラウンド範囲について、調停されたバスマスタを最低の優先順位から整数値番目に入れ替え制御するから、低遅延特性および高帯域特性の双方に対し、細かく対応可能である。
【００２８】
本発明の請求項３、８に係るバス調停装置およびバス調停方法では、上記設定値が小数を含むものであり、その整数値は累積重み値の桁あふれによって得られた整数値であるから、複数のバスマスタの細かい入れ替え調停が可能である。
【００２９】
本発明の請求項４、９に係るバス調停装置およびバス調停方法では、１未満又は「１」を超える前記設定値を選択するから、より一層、細かい設定を介して複数のバスマスタの細かい入れ替え調停が可能である。
【００３０】
本発明の請求項５、１０に係るバス調停装置およびバス調停方法では、上記バスマスタに応じて設定値に重み付けて設定するから、個々のバスマスタに応じて細かい入れ替え調停が可能である。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るバス調停方法を実行するバス調停装置の実施の形態を示す概略ブロック図である。
【図２】本発明に係るバス調停装置の動作を説明する図である。
【図３】本発明に係るバス調停装置の動作を説明する図である。
【図４】本発明に係るバス調停装置の動作を説明するフローチャートである。
【発明を実施するための最良の形態】
【００３２】
以下、本発明に係るバス調停装置およびバス調停方法の実施の形態を図面を参照して説明する。なお、本発明に係るバス調停方法はそのバス調停装置を説明する過程で説明する。
【００３３】
図１において、バス調停装置Ａは、共有バス１と、これに接続されたアクセスターゲットとしてのデータメモリ３、バスマスタＰ０としての拡縮変換処理部５、バスマスタＰ１としての濃度変換処理部７、バスマスタＰ２としてのＣＰＵ（central processing unit）Ｉ／Ｆ９、バスマスタＰＮ−２としてのＵＳＢ（universal serial bus）コントローラ１１、バスマスタＰＮ−１としてのセントロＩ／Ｆ１３およびバスコントローラ１５を有し、例えば情報処理装置を構成している。なお、バス調停装置Ａは、これ以外の構成を有するが、本発明の要旨ではないので説明および図示を省略する。
【００３４】
データメモリ３は画像データ情報を格納する読み書き可能な共有リソースであり、拡縮変換処理部５はデータメモリ３中の画像データ情報を読み出して拡大縮小変換処理するとともにデータメモリ３に格納する機能を有し、濃度変換処理部７は同じくデータメモリ３中の画像データ情報を読み出して濃度変換処理するとともにデータメモリ３に格納する機能を有している。
【００３５】
ＣＰＵＩ／Ｆ９は、当該バス調停装置Ａの内部機器から入力されてくる画像データ情報をデータメモリ３に格納するインターフェースであり、ＵＳＢコントローラ１１は、当該バス調停装置Ａの外部機器から入力されてくる画像データ情報をデータメモリ３に格納するインターフェースであり、セントロＩ／Ｆ１３は、データメモリ３に格納されている画像データ情報を出力するインターフェースである。
【００３６】
バスコントローラ１５は、拡縮変換処理部５、濃度変換処理部７、ＣＰＵＩ／Ｆ９、ＵＳＢコントローラ１１およびセントロＩ／Ｆ１３（バスマスタＰ０〜ＰＮ−１）からのバスアクセス要求を受け、これらの順にプライオリティが設定されたバスマスタＰ０〜ＰＮ−１に対してラウンドロビン方式に基づいて調停することよってデータメモリ（アクセスターゲット）３へのバス権を何れかのバスマスタＰ０〜ＰＮ−１に与えてアクセスターゲット３との間のバスアクセス要求およびバスアクセス応答を確保するとともに、バスアクセス応答の完了によって以降のバスアクセス要求の再調停を行う機能を有している。
【００３７】
バスコントローラ１５は、拡縮変換処理部５、濃度変換処理部７、ＣＰＵＩ／Ｆ９、ＵＳＢコントローラ１１およびセントロＩ／Ｆ１３（バスマスタＰ０〜ＰＮ−１）に重み設定値を設定し、個々のバスマスタＰ０〜ＰＮ−１が調停される毎に加算して設定値の累積重み値における整数値を算出し、ラウンドロビン方式におけるラウンド範囲について、調停されたバスマスタＰ０〜ＰＮ−１を最低の優先順位から整数値番目のバスマスタＰ０〜ＰＮ−１に入れ替えることにより実現する機能を有している。バスコントローラ１５の詳細な動作機能は後述する。
【００３８】
次に、上述したバスコントローラ１５の構成および機能を図２および図３を参照して説明する。
【００３９】
なお、以下の説明においては、データメモリ３をアクセスターゲットとして、拡縮変換処理部５、濃度変換処理部７、ＣＰＵＩ／Ｆ９、ＵＳＢコントローラ１１およびセントロＩ／Ｆ１３をバスマスタＰ０〜ＰＮ−１とする。
【００４０】
バスコントローラ１５は、例えば、図２Ａに示すように、バスマスタＰ０〜ＰＮ−１をプライオリティ（優先度）順に優先度テーブル（図示せず）に配列管理しており、バスコントローラ１５が、優先度テーブル中で何れかのバスマスタＰ０〜ＰＮ−１を選択すると、調停されたバスマスタＰ０〜ＰＮ−１にバス権を与え、バスアクセス要求の終了したバスマスタＰ０〜ＰＮ−１をプライオリティの最も低いＰＮ−１に置き換えるとともに、バス権を与えたバスマスタＰ０〜ＰＮ−１より低いプライオリティのバスマスタＰ０〜ＰＮ−１のそれを全て１個ずつ繰り上げ、テーブル内容をラウンドロビン制御させる。すなわち、ラウンドロビン方式動作させる。
【００４１】
バスマスタＰ０の符号０は最優先のプライオリティが与えられたチャネル番号であり、バスマスタＰＮ−１の符号Ｎ−１は最低優先のプライオリティが与えられたチャンネル番号であり、符号Ｎはバスコントローラ１５で管理するバスマスタ数である。
【００４２】
バスコントローラ１５は、図２Ａの隣合うバスマスタＰ０〜ＰＮ−１の間に、図２Ｂに示すような２状態スイッチＳＷ１、ＳＷ２、ＳＷＮ−２、ＳＷＮ−１をＮ−１個分配置してバスマスタＰ０〜ＰＮ−１を配列構成している。
【００４３】
２状態スイッチＳＷ１〜ＳＷＮ−１は、個々のバスマスタＰ０〜ＰＮ−１の状態を維持するホールド（Ｈｏｌｄ）と、バスアクセス要求の終了したバスマスタＰ０〜ＰＮ−１を繰り下げるとともに終了したバスマスタＰ０〜ＰＮ−１より低いプライオリティのバスマスタを全て１個ずつ繰り上げるラウンド（Ｒｏｕｎｄ）する機能を有している。
【００４４】
このような構成において、バスコントローラ１５は、スイッチＳＷ１〜ＳＷＮ−１を全てホールドに変更すれば、図２ＣのようにバスマスタＰ０〜ＰＮ−１を固定状態に維持して固定優先方式を確保する。バスマスタＰ０から右側のＳＷ１〜ＳＷＮ−１を全てラウンドに変更すれば、図２Ｄのように最高優先のバスマスタＰ０が調停されて処理が終了すると、最高優先のバスマスタＰ０が最低優先に変更され、他のバスマスタＰ１〜ＰＮ−１が順次優先度を繰り上げるラウンド動作させる。
【００４５】
バスマスタＰＮ−２が調停されて処理が終了すると、図３ＡのようにバスマスタＰＮ−２より右のスイッチＳＷＮ−１のみがラウンドに変更され、バスマスタＰＮ−２、ＰＮ−１のプライオリティだけが入れ替わる。
【００４６】
そして、本発明においては、バスコントローラ１５において、バスマスタＰ０〜ＰＮ−１に設定する重み設定値ＷＥＩＧＨＴの種類とこの重み設定値ＷＥＩＧＨＴの処理に特徴がある。
【００４７】
ここで、バスマスタＰ０〜ＰＮ−１をチャネル番号（ｉ）（０≦ｉ＜Ｎ）に対応させ、重み設定値ＷＥＩＧＨＴとして小数含む値をバスマスタＰ０〜ＰＮ−１に設定し、チャンネル番号（ｉ）のバスマスタＰ０〜ＰＮ−１の重み設定値をＷＥＩＧＨＴ(ｉ)を０≦ＷＥＩＧＨＴ(ｉ)＜Ｎ、０≦ｉ＜Ｎとしたとき、バスコントローラ１５は、調停に勝利したチャネル番号（ｇ）におけるＷＥＩＧＨＴ(ｉ)の累積重み値 ＡＣＣＷＥＩＧＨＴ(ｉ)  (０≦ＡＣＣＷＥＩＧＨＴ（ｉ）＜１、０≦ｉ＜Ｎ) を算出するとともに、以下の演算を行う。
【００４８】
ｔｅｍｐ ← ＡＣＣＷＥＩＧＨＴ(ｇ) + ＷＥＩＧＨＴ(ｇ)  
Ｒｅｓｕｌｔ  ← ｔｅｍｐの整数部
ＡＣＣＷＥＩＧＨＴ(ｇ) ← ｔｅｍｐの小数部
【００４９】
これ基づき、バスコントローラ１５は以下のようにスイッチＳＷ（ｉ）を変更、ラウンド制御する。
【００５０】
Ｓｗｉｔｃｈ(ｉ) ← ラウンド   ｉf ｇ≦ｉ＜Ｎ−Ｒｅｓｕｌｔ
【００５１】
すなわち、バスコントローラ１５は、調停されたチャネル（ｇ）におけるＷＥＩＧＨＴ(ｉ)の累積重み値 ＡＣＣＷＥＩＧＨＴ(ｉ) の整数部の数を、バスマスタＰＮ−１における「Ｎ−１」中の符号「Ｎ」から減算する数に代入し、最低の優先順位のバスマスタＰＮ−１から代入した数番目のバスマスタ位置にラウンドさせる機能を有する。
【００５２】
例えば、調停されたチャネル番号（ｇ）におけるＷＥＩＧＨＴ(ｉ)の累積重み値 ＡＣＣＷＥＩＧＨＴ(ｉ) の整数部が「２」であれば、調停されたチャネル番号（ｇ）におけるバスマスタ（ｇ）をバスマスタＰＮ−２の位置にラウンドさせる機能を有する。
【００５３】
しかも、調停されたチャネル番号（ｇ）におけるＷＥＩＧＨＴ(ｉ)の累積重み値 ＡＣＣＷＥＩＧＨＴ(ｉ) の整数部に桁あふれが発生すれば、ラウンドされるバスマスタ位置がより高いプライオリティ順位に移動することになる。
【００５４】
図３Ｃに示す例は、チャンネル番号（ｇ）＝１、Ｒｅｓｕｌｔ＝２のラウンド動作例であり、Ｒｅｓｕｌｔ＝２を得るためにＷＥＩＧＨＴが２に近い値に設定されたものである。
【００５５】
このようなバスマスタＰ０〜ＰＮ−１に係る管理動作や制御がバスコントローラ１５において例えば動作プログラムによってなされる。
【００５６】
しかも、バスマスタＰ０〜ＰＮ−１に設定する重み設定値ＷＥＩＧＨＴの値を、管理するバスマスタ数までの値にすることにより、ラウンドされるバスマスタ位置がより高いプライオリティ順位に移動可能となり、高いプライオリティ順位にラウンドされると、より早く調停可能となる。
【００５７】
そのため、バスマスタＰ０〜ＰＮ−１に対し、重み設定値ＷＥＩＧＨＴとして短期間動作用にＷＥＩＧＨＴ＞１を設定すれば、バスマスタＰ０〜ＰＮ−１が早く調停されるような低遅延モードとなり、長期間動作用にＷＥＩＧＨＴ＜１を設定すれば、長期間用の重み設定値ＷＥＩＧＨＴは調停切り替え回数が少なくなるように動作させて高帯域効率モードとなる。
【００５８】
すなわち、重み設定値ＷＥＩＧＨＴを「０」に近い値に設定すれば長い長期間が実現可能で、重み設定値ＷＥＩＧＨＴをＮに近い値に設定すれば最短の低遅延特性を持つ短期間の設定ができたことになり、重み設定値ＷＥＩＧＨＴとして長期間および短期間の２種類を設定すればよい。
【００５９】
なお、本発明のバス調停装置では、１個の重み設定値（変数）によって短期間および長期間の何れにも対応できることを特徴とするが、短期間動作用の重み設定値ＷＥＩＧＨＴ＞１の設定にして、短期間動作の低遅延モードを優先的に設定することが好ましいである。
【００６０】
次に、本発明のバス調停装置Ａの動作、主にバスコントローラ１５の動作を図４のフローチャートを参照して簡単に説明する。
【００６１】
動作プログラムが開始されると、ステップＳ１にて所定の手順で何れかのバスマスタの調停がなされてバスアクセス要求とこれに基づくバスアクセス応答処理がなされ、ステップＳ２にて調停バスマスタの重み設定値の累積値が算出され「temp ← ACCWEIGHT(ｇ) + ＷＥＩＧＨＴ(ｇ)」、ステップＳ３では累積値の整数部を抽出する「Result ← tempの整数部」。
【００６２】
続くステップＳ４では累積値の小数部で累積値を置換「ACCWEIGHT(ｇ) ←tempの小数部」、ステップＳ５にて調停されたバスマスタのラウンド位置を整数部の値で決定してラウンドして終了して再調停に備える。
【００６３】
この場合、整数部に桁あふれがあればバスマスタのラウンド位置が上位になり、整数部に桁あふれがなければラウンド位置が変わらない。
【００６４】
このような主要な処理が本発明のバス調停方法を構成する。
【００６５】
このように本発明のバス調停装置Ａは、共有バス１と、この共有バス１に接続された複数のバスマスタＰ０〜ＰＮ−１と、その共有バス１に接続された共有リソースとしてのアクセスターゲット３と、それらバスマスタＰ０〜ＰＮ−１からのバスアクセス要求を受け、所定のプライオリティを有するバスマスタＰ０〜ＰＮ−１に対してラウンドロビン方式に基づいて調停することよってアクセスターゲット３へのバス権を何れかのバスマスタＰ０〜ＰＮ−１に与えてアクセスターゲット３との間のバスアクセス要求およびバスアクセス応答を確保するとともに、バスアクセス応答の完了によって以降のバスアクセス要求の再調停を行うバスコントローラ１５と、を具備している。
【００６６】
しかも、バスコントローラ１５が、重み設定値ＷＥＩＧＨＴの設定された個々のバスマスタＰ０〜ＰＮ−１が調停される毎に加算した設定値ＷＥＩＧＨＴの累積重み値の整数値を算出し、そのラウンドロビン方式におけるラウンド範囲について、調停されたバスマスタＰ０〜ＰＮ−１を最低の優先順位から整数値番目に入れ替え制御するものである。
【００６７】
そのため、重み設定値ＷＥＩＧＨＴの値によってバスマスタＰ０〜ＰＮ−１を最低の優先順位から整数値番目に入れ替え可能となり、重み設定値ＷＥＩＧＨＴを「０」に近い値に設定すれば長期間の調停実現が可能で、重み設定値ＷＥＩＧＨＴをバスマスタ数の「Ｎ」に近い値に設定すれば低遅延特性を持つ短期間の調停実現が可能となり、低遅延特性および高帯域特性の双方に対応可能であり、バスマスタＰ０〜ＰＮ−１のラウンド範囲を任意に設定可能となる。
【００６８】
特に、重み設定値ＷＥＩＧＨＴとして小数を含むものが設定され、累積重み値の桁あふれによって得られた整数値を用いてバスマスタＰ０〜ＰＮ−１をラウンドさせるから、バスマスタＰ０〜ＰＮ−１の細かい入れ替え位置制御も可能である。
【００６９】
さらに、重み設定値ＷＥＩＧＨＴを１未満又は「１」を超える設定とを選択すれば、バスマスタＰ０〜ＰＮ−１のより一層細かい入れ替えが可能である。
【００７０】
そして、バスマスタＰ０〜ＰＮ−１に応じて設定値の重み付け設定を可変すれば、バスマスタＰ０〜ＰＮ−１に応じて細かい入れ替え調停が可能である。
【００７１】
特に、重み設定値ＷＥＩＧＨＴを「０」に近い値に設定すれば、長い長期間が実現可能で、複数回例えば３回はラウンドロビンの位置を変えずに調停可能となる一方、重み設定値ＷＥＩＧＨＴを「Ｎ」に近い値に設定すれば、１回毎にラウンドロビンの位置を変えることが可能で、他のバスマスタに調停を譲ることが可能となるうえ、これらが１個の重み設定値（変数）によって短期間および長期間の何れにも対応可能である。
【００７２】
この点、一般に情報を処理する汎用システムにおいて種々の使用形態、すなわち当該システムを余裕状態で使う場合と限界状態で使う場合を想定する必要があり、本発明のようにバスコントローラ１５等の調停器を変更せずに多くの想定に対応可能となることは有用である。
【００７３】
なお、本発明に係るバス調停方法は、上述したバス調停装置Ａと同様の効果を得ることが可能である。
【符号の説明】
【００７４】
１  共有バス
３  データメモリ（アクセスターゲット：共有リソース）
５  拡縮変換処理部（バスマスタＰ０）
７  濃度変換処理部（バスマスタＰ１）
９  ＣＰＵＩ／Ｆ（バスマスタＰ２）
１１  ＵＳＢコントローラ（バスマスタＰN−2）
１３  セントロＩ／Ｆ（バスマスタＰＮ−１）
１５  バスコントローラ
Ａ  バス調停装置
ＳＷ１、ＳＷ２、ＳＷＮ−２、ＳＷＮ−１  スイッチ
【図１】
2011165113.tif 000003
【図２】
2011165113.tif 000004
【図３】
2011165113.tif 000005
【図４】
2011165113.tif 000006