(57)【要約】【課題】上位バスの動作クロックと下位バスの動作クロックが異なる速度で動作しており、これらの動作クロックが変更可能なシステムにおいて、どのような動作クロックやデータ幅においても双方のバス間の転送を可能とする。【解決手段】さまざまな周波数に対応したバスブリッジ群４１〜４４を並列に構成し、上位バス１０のクロックと下位バス２０のクロックの周波数の関係に応じて、複数のバスブリッジ４１〜４４の中より転送速度を最も大きくするバスブリッジを選択する選択信号を生成する信号生成手段６１と、上位バス１０と選択されたバスブリッジを接続するための選択手段５１と、下位バス２０と選択されたバスブリッジを接続するための選択手段５２とを有し、両バスの動作クロックが変化する毎に、常に転送速度が最大となるように使用するバスブリッジを選択する。【選択図】  図１
2006195948.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックで動作する上位バスと、第２のクロックで動作する下位バスとの間に接続されるバスアダプタ装置であって、
クロックに応じて転送速度が異なる複数のバスブリッジと、
前記第１および第２のクロックに対応して前記複数のバスブリッジの１つを選択し、選択したバスブリッジを前記上位バスと前記下位バスとの間に接続する選択手段とを備えることを特徴とするバスアダプタ装置。
【請求項２】
請求項１記載のバスアダプタ装置であって、
前記選択手段は、転送速度が最大のバスブリッジを選択することを特徴とするバスアダプタ装置。
【請求項３】
請求項１記載のバスアダプタ装置であって、
前記第１および第２のクロックに基づいてバスブリッジ選択信号を生成し、前記選択手段に供給する信号生成手段を備えることを特徴とするバスアダプタ装置。
【請求項４】
請求項３記載のバスアダプタ装置であって、
前記信号生成手段は、前記第１および第２のクロックの周波数に基づいて前記バスブリッジ選択信号を生成することを特徴とするバスアダプタ装置。
【請求項５】
請求項１記載のバスアダプタ装置であって、
前記選択手段は、選択したバスブリッジを前記上位バスに接続する第１の選択手段と、
選択したバスブリッジを前記下位バスに接続する第２の選択手段とを含むことを特徴とするバスアダプタ装置。
【請求項６】
請求項５記載のバスアダプタ装置であって、
前記複数のバスブリッジは、前記第１の選択手段と前記第２の選択手段の間に並列に接続されていることを特徴とするバスアダプタ装置。
【請求項７】
請求項１記載のバスアダプタ装置であって、
前記上位バスにバスマスタが接続されており、
前記下位バスにバススレーブが接続されていることを特徴とするバスアダプタ装置。
【請求項８】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第１のクロックと前記第２のクロックが非同期である場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項９】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第１のクロックの周波数が、前記第２のクロックの周波数より大きい場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１０】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第１のクロックの周波数が、前記第２のクロックの周波数の２以上の整数倍である場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１１】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第２のクロックの周波数が、前記第１のクロックの周波数より大きい場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１２】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第２のクロックの周波数が、前記第１のクロックの周波数の２以上の整数倍である場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１３】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第１のクロックと前記第２のクロックが同期している場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１４】
請求項１記載のバスアダプタ装置であって、
前記複数のバスブリッジには、前記第１のクロックの周波数と前記第２のクロックの周波数が等しい場合に転送速度が最大となるバスブリッジが含まれることを特徴とするバスアダプタ装置。
【請求項１５】
請求項１記載のバスアダプタ装置であって、
前記上位バスのデータ幅と前記下位バスのデータ幅を相互に変換するデータ幅変換手段を備えることを特徴とするバスアダプタ装置。
【請求項１６】
第１のクロックで動作する上位バスと、第２のクロックで動作する下位バスとの間に接続されるバスアダプタ装置であって、
クロックに応じて転送速度が異なり、一端が前記下位バスと接続されている複数のバスブリッジと、
前記複数のバスブリッジより１つ以上のバスブリッジを選択し、前記上位バスと接続する選択手段とを備えることを特徴とするバスアダプタ装置。
【請求項１７】
請求項１６記載のバスアダプタ装置であって、
バスブリッジ選択信号を生成し、前記選択手段に供給する信号生成手段を備えることを特徴とするバスアダプタ装置。
【請求項１８】
請求項１７記載のバスアダプタ装置であって、
前記信号生成手段は、次転送の転送識別情報を参照することを特徴とするバスアダプタ装置。
【請求項１９】
請求項１７記載のバスアダプタ装置であって、
前記信号生成手段は、前記複数のバスブリッジにおける転送速度を予測する予測手段を含むことを特徴とするバスアダプタ装置。
【請求項２０】
請求項１９記載のバスアダプタ装置であって、
前記予測手段は、次転送の情報を予測要因に用いることを特徴とするバスアダプタ装置。
【請求項２１】
請求項２０記載のバスアダプタ装置であって、
前記予測手段は、次転送のアドレス情報を予測要因に用いることを特徴とするバスアダプタ装置。
【請求項２２】
請求項１９記載のバスアダプタ装置であって、
前記予測手段は、前記複数のバスブリッジの保有するバッファの使用状況を予測要因に用いることを特徴とするバスアダプタ装置。
【請求項２３】
請求項１９記載のバスアダプタ装置であって、
前記予測手段は、前記第１および第２のクロックの周波数比を予測要因に用いることを特徴とするバスアダプタ装置。
【請求項２４】
請求項１９記載のバスアダプタ装置であって、
前記予測手段は、前記上位バスのデータ幅と前記下位バスのデータ幅を予測要因に用いることを特徴とするバスアダプタ装置。
【請求項２５】
請求項１９記載のバスアダプタ装置であって、
前記予測手段は、前記次転送の情報、前記複数のバスブリッジの保有するバッファの使用割合、前記第１および第２のクロックの周波数比、ならびに前記上位バスのデータ幅と前記下位バスのデータ幅の一部もしくは全部を予測要因に用いることを特徴とするバスアダプタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス間を中継するバスアダプタ装置に関する。
【背景技術】
【０００２】
バス間の中継において、複数の経路を用意して状況に応じて使い分けることによって、さまざまな機能に対応することができる。例えば、物理的な寸法上の制約等から、ＰＣＩバスに接続されるＰＣＩコネクタを備えていないノートブックＰＣ等の故障解析を、開発期間中・量産工程中・使用中の任意の時点で実施するために、ノートブックＰＣに通常備えられるＰＣカード・スロットにＰＣＩバス・アナライザ等の検査装置を接続し、ＰＣのシステム・バスである（１次側）ＰＣＩバス上のトランザクションを検査して、故障モードを探る方法が知られている。
【０００３】
図４は、かかる検査を行うために、ＰＣＩバス４０とＰＣカード・スロット４４Ａ，４４Ｂ間に設置される従来のバスブリッジ回路を示す。すなわち、このバス・ブリッジ回路は、ＰＣカード・スロット４４Ａ，４４Ｂが接続されるカードバス５８，５８Ａ，５８ＢとＰＣＩバス４０間でデータを双方向的に転送する機能を有するカードバス・コントローラ４２と、カードバス・コントローラ４２の動作モードを切り替えるための制御入力手段として機能するジャンパ６０と、パススルーモード信号（検査モード信号）の不活性または活性状態に応じてカードバス・コントローラ４２の動作を可能化または不能化するためのＡＮＤゲート６２と、活性なパススルーモード信号に応じてＢＥ＃（バス・イネーブル）信号を伝達するための線６４と、双方向性バス・スイッチ６６とを含んでいる。
【０００４】
このようなバスブリッジ回路は、ＰＣＩバス４０のようなユーザーアクセス不能な一次バスと、カードバス５８，５８Ａ，５８Ｂのようなユーザーアクセス可能な二次バスとの間に接続され、バスブリッジ回路の入力側と出力側の間にバイパス回路（双方向性バス・スイッチ６６）を設けており、ジャンパ６０等の制御入力手段によって、通常経路（カードバス・コントローラ４２の経路）とバイパス経路の動作を不能／可能としている。さらに、パススルーと呼ばれる特別なモードを実現する為の論理回路（ＡＮＤゲート６２）を追加して、一次側バス上のトランザクションをバスブリッジ回路のコネクタまたはスロット（ＰＣカード・スロット４４Ａ，４４Ｂ）から非破壊的に検査することを可能としている。
【０００５】
すなわち、制御入力手段からのパススルーモード信号が不活性状態を呈するときは（ジャンパ６０：「開」）、カードバス・コントローラ４２の動作を可能にし、且つ前記バイパス経路の動作を不能にして、バスブリッジ回路をその通常モードで動作させる。一方、パススルーモード信号が活性状態を呈するときは（ジャンパ６０：「閉」）、カードバス・コントローラ４２の動作を不能にし、且つバイパス経路の動作を可能にして、一次側バス上の複数のバス信号のうち所定のバス信号を、バイパス経路を介して、そのまま二次側バス上に出力するようにしている（例えば、特許文献１参照）。
【特許文献１】特開２０００−２５９５１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の構成にあっては、一次バスと二次バス間において双方の動作クロックが異なっている場合や、双方のデータ幅が異なっている場合には、バイパス経路を通ってそのまま信号をパススルーさせることは不可能である。また、通常のバスブリッジ経路においても、一次バスや二次バスの動作クロックが変化すると、同一動作が保証できない場合も起こりうる。
【０００７】
本発明の目的は、上位バスの動作クロックと下位バスの動作クロックが異なる速度で動作しており、これらの動作クロックが変更可能なシステムにおいて、どのような動作クロックやデータ幅においても双方のバス間の転送を可能とすることにある。
【０００８】
また、本発明の他の目的は、単機能のバスブリッジを組み合わせて構成可能であり、開発工数を削減し、かつ制御を単純化することにある。
【０００９】
また、本発明の他の目的は、上位バスの動作クロックと下位バスの動作クロックが異なる速度で動作しており、これらの動作クロックが変更可能なシステムにおいて、どのような動作クロックやデータ幅においても双方のバス間の転送を可能としつつ、転送が混雑した場合にも転送性能を向上させることにある。
【課題を解決するための手段】
【００１０】
本発明のバスアダプタ装置は、第１のクロックで動作する上位バスと、第２のクロックで動作する下位バスとの間に接続されるバスアダプタ装置であって、クロックに応じて転送速度が異なる複数のバスブリッジと、前記第１および第２のクロックに対応して前記複数のバスブリッジの１つを選択し、選択したバスブリッジを前記上位バスと前記下位バスとの間に接続する選択手段とを備え、前記選択手段は、転送速度が最大のバスブリッジを選択することを特徴とする。
【００１１】
本発明のバスアダプタ装置によれば、上位バスと下位バスの動作クロックを変更可能なシステムにおいて、複数のバスブリッジの中から現在の動作クロックに適したバスブリッジを選択して使用することができるので、どの動作クロックでもバスブリッジ群の中から転送速度が最大となるバスブリッジを使って転送することができる。
【００１２】
また、本発明のバスアダプタ装置は、前記第１および第２のクロックに基づいてバスブリッジ選択信号を生成し、前記選択手段に供給する信号生成手段を備えることを特徴とする。また、前記信号生成手段は、前記第１および第２のクロックの周波数に基づいて前記バスブリッジ選択信号を生成することを特徴とする。
【００１３】
また、本発明のバスアダプタ装置において、前記選択手段は、選択したバスブリッジを前記上位バスに接続する第１の選択手段と、選択したバスブリッジを前記下位バスに接続する第２の選択手段とを含むことを特徴とする。また、前記複数のバスブリッジは、前記第１の選択手段と前記第２の選択手段の間に並列に接続されていることを特徴とする。さらに、前記上位バスにバスマスタが接続されており、前記下位バスにバススレーブが接続されていることを特徴とする。
【００１４】
本発明のバスアダプタ装置によれば、単機能のバスブリッジを並列に接続して構成可能であり、開発工数を削減し、かつ制御を単純化することができる。
【００１５】
また、本発明のバスアダプタ装置において、前記複数のバスブリッジには、前記第１のクロックと前記第２のクロックが非同期である場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。
【００１６】
本発明のバスアダプタ装置によれば、第１のクロックと第２のクロックが非同期である場合にも転送速度を最大とすることができる。
【００１７】
また、本発明のバスアダプタ装置において、前記複数のバスブリッジには、前記第１のクロックの周波数が、前記第２のクロックの周波数より大きい場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。また、前記複数のバスブリッジには、前記第１のクロックの周波数が、前記第２のクロックの周波数の２以上の整数倍である場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。また、前記複数のバスブリッジには、前記第２のクロックの周波数が、前記第１のクロックの周波数より大きい場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。また、前記複数のバスブリッジには、前記第２のクロックの周波数が、前記第１のクロックの周波数の２以上の整数倍である場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。
【００１８】
本発明のバスアダプタ装置によれば、第１または第２のクロックの周波数が第２または第１のクロックの周波数より大きい場合、または、第１または第２のクロックの周波数が、第２または第１のクロックの周波数の２以上の整数倍である場合に、転送速度を最大とすることができる。
【００１９】
また、本発明のバスアダプタ装置において、前記複数のバスブリッジには、前記第１のクロックと前記第２のクロックが同期している場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。また、前記複数のバスブリッジには、前記第１のクロックの周波数と前記第２のクロックの周波数が等しい場合に転送速度が最大となるバスブリッジが含まれることを特徴とする。
【００２０】
また、本発明のバスアダプタ装置は、前記上位バスのデータ幅と前記下位バスのデータ幅を相互に変換するデータ幅変換手段を備えることを特徴とする。
【００２１】
本発明のバスアダプタ装置によれば、上位バスと下位バスの動作クロックを変更可能かつ、上位バスと下位バスのデータ幅が異なるシステムにおいて、正確にデータ転送を行うことができる。
【００２２】
また、本発明のバスアダプタ装置は、第１のクロックで動作する上位バスと、第２のクロックで動作する下位バスとの間に接続されるバスアダプタ装置であって、クロックに応じて転送速度が異なり、一端が前記下位バスと接続されている複数のバスブリッジと、前記複数のバスブリッジより１つ以上のバスブリッジを選択し、前記上位バスと接続する選択手段を備えることを特徴とする。
【００２３】
本発明のバスアダプタ装置によれば、上位バスと下位バスの動作クロックを変更可能なシステムにおいて、複数のバスブリッジから現在の動作クロックで使用可能な一つ以上のバスブリッジを選択して使用することができるので、状況に応じてバスブリッジを使い分けることで、転送効率を向上させることができる。
【００２４】
また、本発明のバスアダプタ装置は、バスブリッジ選択信号を生成し、前記選択手段に供給する信号生成手段を備えることを特徴とする。また、本発明のバスアダプタ装置において、前記信号生成手段は、次転送の転送識別情報を参照することを特徴とする。
【００２５】
本発明のバスアダプタ装置によれば、信号生成手段の選択信号生成時に転送識別情報を参照することで、同じ転送識別情報を持つ前の転送とスレーブへの到着順序が入れ替わるために生じるプロトコル違反を防止することができる。
【００２６】
また、本発明のバスアダプタ装置において、前記信号生成手段は、前記複数のバスブリッジにおける次転送の転送速度を予測する予測手段を含むことを特徴とする。
【００２７】
本発明のバスアダプタ装置によれば、複数のバスブリッジにおける次転送の転送速度の予測結果を、最も転送効率が高くなるバスブリッジを選択するために用いることができる。
【００２８】
また、本発明のバスアダプタ装置において、前記予測手段は、次転送の情報を用いてバスブリッジ選択信号を生成することを特徴とする。また、本発明のバスアダプタ装置において、前記予測手段は、次転送のアドレス情報を用いてバスブリッジ選択信号を生成することを特徴とする。
【００２９】
本発明のバスアダプタ装置によれば、次転送のアドレス情報から転送先スレーブを特定することができるので、転送速度を予測する際に、転送先が競合することによる性能低下を考慮することができる。
【００３０】
また、本発明のバスアダプタ装置において、前記予測手段は、前記複数のバスブリッジの保有するバッファの使用状況を予測要因に用いることを特徴とする。
【００３１】
本発明のバスアダプタ装置によれば、複数のバスブリッジの保有するバッファの使用状況から現在の転送混雑の度合を参照することができるので、この情報を転送速度の予測に用いることができる。
【００３２】
また、本発明のバスアダプタ装置において、前記予測手段は、前記第１および第２のクロックの周波数比を予測要因に用いることを特徴とする。また、前記予測手段は、前記上位バスのデータ幅と前記下位バスのデータ幅を予測要因に用いることを特徴とする。
【００３３】
本発明のバスアダプタ装置によれば、第１および第２のクロックの周波数比や上位バスのデータ幅と下位バスのデータ幅比から、上位バスからの転送と下位バスへの転送の、転送速度や転送量の違いによって生じる近い将来のバスブリッジの混雑の度合を推測でき、この情報を転送速度の予測に用いることができる。
【００３４】
また、本発明のバスアダプタ装置において、前記予測手段は、前記次転送に関する情報、前記複数のバスブリッジの保有するバッファの使用割合、前記第１および第２のクロックの周波数比、ならびに前記上位バスのデータ幅と前記下位バスのデータ幅の一部もしくは全部を予測要因に用いることを特徴とする。
【００３５】
本発明のバスアダプタ装置によれば、各バスブリッジにおける次転送を実行した場合の転送速度を複数の要因を組み合わせて予測することで、予測精度を向上させることができる。
【発明の効果】
【００３６】
以上説明したように、本発明にかかるバスブリッジ回路によれば、上位バスと下位バスの動作クロックがどのような速度であってもバス間の転送を可能にし、またその動作クロックにおいて転送速度が最も大きくなるバスブリッジを、用意した複数のバスブリッジの中から選択することで、転送速度の向上を図ることができる。
【００３７】
また、本発明にかかるバスブリッジ回路によれば、既存のバスブリッジモジュールを利用することで容易にシステムを構築できるので、設計や制御系を単純化し、開発工数を削減することができる。
【００３８】
また、本発明にかかるバスブリッジ回路によれば、複数のバスブリッジを利用することで、次転送をそれ以前の転送と並列に中継することを可能にし、転送が混雑した場合でも、現在の動作クロックにおいて使用可能な複数のバスブリッジの中から、現在の状況において転送速度が最も大きくなるバスブリッジを選択することで、転送速度の向上を図ることができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明におけるバスアダプタ装置の実施の形態を図面に基づいて詳細に説明する。
【００４０】
（実施の形態１）
図１は、本発明の実施の形態１におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図である。本実施形態のバスアダプタ装置30は、マスタ11が接続されている上位バス10と、スレーブ21が接続されている下位バス20との間に接続され、上位バス10と下位バス20上の信号を中継する。
【００４１】
バスアダプタ装置30は、上位バス10の動作クロックＡと下位バス20の動作クロックＢが非同期である場合に最も転送速度が大きいバスブリッジＡ41、前記クロックＡが前記クロックＢの整数倍である場合に最も転送速度が大きいバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍である場合に最も転送速度が大きいバスブリッジＣ43、前記クロックＡと前記クロックＢが同じ場合に最も転送速度が大きいバスブリッジＤ44を有する。
【００４２】
また、バスアダプタ装置30は、上位バス10とバスブリッジ41〜44の一つを接続する選択手段Ａ51、バスブリッジ41〜44の一つと下位バス20を接続する選択手段Ｂ52、バスブリッジ41〜44から転送速度を最大にするバスブリッジを選択して、選択手段Ａ51と選択手段Ｂ52へ選択信号を出力する信号生成手段61を有する。
【００４３】
次に、本実施形態のバスアダプタ装置について、その動作を説明する。上位バス10と下位バス20を中継する転送が行われる前に、あらかじめ信号生成手段61において、上位バスの動作クロックと下位バスの動作クロックの周波数を示すクロックモード信号81を取得し、この信号を基準にしてバスブリッジ41〜44より一つを選択する選択信号を生成する。
【００４４】
すなわち、前記クロックＡと前記クロックＢが一致している場合はバスブリッジＤ44、前記クロックＡが前記クロックＢの整数倍となっている場合はバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍となっている場合はバスブリッジＣ43、前記クロックＡと前記クロックＢの関係が上記以外の場合はバスブリッジＡ41を選択する選択信号を生成する。
【００４５】
この選択信号を選択手段Ａ51と選択手段Ｂ52に出力し、選択手段Ａ51では上位バス10と選択されたバスブリッジとを接続し、選択手段Ｂ52では選択されたバスブリッジと下位バス20とを接続する。
【００４６】
その後マスタ11からスレーブ21への転送が開始され、転送情報がバスアダプタ装置30へ送られると、選択手段Ａ51を通してあらかじめ選択されたバスブリッジへ転送が中継される。その転送情報を選択手段Ｂ52で選択して下位バス20へ送られ、スレーブ21へ転送される。
【００４７】
このような構成をとることで、上位バスと下位バスの動作クロックの速度に応じて使用するバスブリッジを変化させることができるので、動作クロックの速度が変化しても用意したバスブリッジの中から常に転送速度が最大となるバスブリッジを使って転送することができる。
【００４８】
なお、信号生成手段61に入力される信号は、図１のようなクロックモード信号81に限らず、上位バスの動作クロックと下位バスの動作クロックの周波数を示す信号であればその他の信号でも可能である。
【００４９】
（実施の形態２）
図２は、本発明の実施の形態２におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図である。本実施形態のバスアダプタ装置30は、マスタ11が接続されている上位バス10（データ幅ｎbit）と、上位バス10とデータ幅が異なっており、スレーブ21が接続されている下位バス20（データ幅ｍbit）との間に接続され、上位バス10と下位バス20上の信号を中継する。
【００５０】
バスアダプタ装置30は、異なるデータ幅を持つ上位バス10と下位バス20の間を正しく転送するためのデータ幅変換手段71、上位バス10の動作クロックＡと下位バス20の動作クロックＢが非同期である場合に最も転送速度が大きいバスブリッジＡ41、前記クロックＡが前記クロックＢの整数倍である場合に最も転送速度が大きいバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍である場合に最も転送速度が大きいバスブリッジＣ43、前記クロックＡと前記クロックＢが同じ場合に最も転送速度が大きいバスブリッジＤ44を有する。
【００５１】
また、バスアダプタ装置30は、上位バス10とバスブリッジ41〜44の一つを接続する選択手段Ａ51、バスブリッジ41〜44の一つと下位バス20を接続する選択手段Ｂ52、バスブリッジ41〜44から転送速度を最大にするバスブリッジを選択して、選択手段Ａ51と選択手段Ｂ52へ選択信号を出力する信号生成手段61を有する。
【００５２】
次に、本実施形態のバスアダプタ装置について、その動作を説明する。上位バス10と下位バス20を中継する転送が行われる前に、あらかじめ信号生成手段61において、上位バスの動作クロックと下位バスの動作クロックの周波数を示すクロックモード信号81を取得し、この信号を基準にしてバスブリッジ41〜44より一つを選択する選択信号を生成する。
【００５３】
すなわち、前記クロックＡと前記クロックＢが一致している場合はバスブリッジＤ44、前記クロックＡが前記クロックＢの整数倍となっている場合はバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍となっている場合はバスブリッジＣ43、前記クロックＡと前記クロックＢの関係が上記以外の場合はバスブリッジＡ41を選択する選択信号を生成する。
【００５４】
この選択信号を選択手段Ａ51、選択手段Ｂ52に出力し、選択手段Ａ51では上位バス10と選択されたバスブリッジとを接続し、選択手段Ｂ52では選択されたバスブリッジと下位バス20とを接続する。
【００５５】
その後マスタ11からスレーブ21への転送が開始され、転送情報がバスアダプタ装置30へ送られると、データ幅変換手段71において下位バス20のデータ幅に変換されたのち選択手段Ａ51を通してあらかじめ選択されたバスブリッジへ転送が中継される。その転送情報を選択手段Ｂ52で選択して下位バス20へ送られ、スレーブ21へ転送される。
【００５６】
このような構成をとることで、上位バスと下位バスの動作クロックの速度に応じて使用するバスブリッジを変化させることができるので、動作クロックの速度が変化しても用意したバスブリッジの中から常に転送速度が最大となるバスブリッジを使って転送することができる。
【００５７】
また図２では、データ幅変換手段71が上位バス10と選択手段Ａ51の間に接続されているが、この構成に限らず、データ幅変換手段71を選択手段Ｂ52と下位バス20の間に接続することも可能である。
【００５８】
また、データ幅変換手段を各バスブリッジで保有して、バスブリッジへデータが入力される時にデータ幅変換を行うことができ、または、バスブリッジからデータが出力される時にデータ幅変換を行うことも可能である。
【００５９】
なお信号生成手段61に入力される信号は、図２のようなクロックモード信号81に限らず、上位バスの動作クロックと下位バスの動作クロックの周波数を示す信号であれば他の信号でも可能である。
【００６０】
（実施の形態３）
図３は、本発明の実施の形態３におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図である。本実施形態のバスアダプタ装置30は、マスタ11〜1nが接続されている上位バス10（データ幅ｎbit）と、スレーブ21〜2nが接続されている下位バス20（データ幅ｍbit）との間に接続され、上位バス10と下位バス20上の信号を中継する。
バスアダプタ装置30は、異なるデータ幅を持つ上位バス10と下位バス20の間を正しく転送するためのデータ幅変換手段71、上位バス10の動作クロックＡと下位バス20の動作クロックＢが非同期である場合に最も転送速度が大きいバスブリッジＡ41、前記クロックＡが前記クロックＢの整数倍である場合に最も転送速度が大きいバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍である場合に最も転送速度が大きいバスブリッジＣ43、前記クロックＡと前記クロックＢが同じ場合に最も転送速度が大きいバスブリッジＤ44を有する。
【００６１】
また、バスアダプタ装置30は、上位バス10とバスブリッジ41〜44の一つを接続する選択手段51、バスブリッジ41〜44から一つのバスブリッジを選択して、選択手段51へ選択信号62を出力する信号生成手段61を有する。信号生成手段61は、各バスブリッジを用いて次転送を行った場合の転送速度を予測する予測手段64を有する。予測手段64へは、アドレス情報、転送識別情報を含む次転送信号63、バスブリッジ41〜44の保有するバッファの使用状況、クロックモード信号81、上位バス10と下位バス20のデータ幅比の情報が入力される。
【００６２】
本実施形態のバスアダプタ装置について、その動作を説明する。上位バス10と下位バス20を中継する転送を行う際には、転送しようとする信号の転送に使用するバスブリッジをバスブリッジ41〜44から選択する必要があり、その選択信号62を生成する信号生成手段61が有する予測手段64において、転送速度の予測を行う。
【００６３】
予測の手順を説明する。まず、クロックモード信号から判別できる現在の前記クロックＡと前記クロックＢの関係において、使用可能なバスブリッジとその転送速度性能を求める。すなわち、前記クロックＡと前記クロックＢが非同期である場合はバスブリッジＡ41のみ、前記クロックＡが前記クロックＢの整数倍である場合はバスブリッジＡ41とバスブリッジＢ42、前記クロックＢが前記クロックＡの整数倍である場合はバスブリッジＡ41とバスブリッジＣ43、前記クロックＡと前記クロックＢが同じ場合はバスブリッジＡ41とバスブリッジＤ44が使用可能となり、同時に各バスブリッジにおける転送速度性能を求める。なおブリッジの構成によっては、ここで挙げた以外のバスブリッジが使用可能な場合もある。使用可能なバスブリッジとその転送速度性能は、クロックモードから一意に決定できるので、あらかじめクロックモードと使用可能なバスブリッジとその転送速度性能を対応させたリストを作成し、これを参照する方法が考えられる。
【００６４】
次に、使用可能な各バスブリッジにおいて、次転送を行った場合の転送速度を予測する。予測するための要因として、以下の情報を用いる。
【００６５】
まず、上記で求めた各バスブリッジの転送速度性能を参照し、各バスブリッジにおける転送速度予測の基本とする。
【００６６】
他には、使用可能な各バスブリッジの保有するバッファの使用状況を参照する。これにより、各バスブリッジにおいて転送が混雑しているかどうかを調べる。ここで、最も転送速度性能の高いバスブリッジにおいて転送が全く混雑していなければ、このバスブリッジを使用して次転送を行う場合が最も転送速度が高くなると予測できる。そうでない場合は、その他のバスブリッジを使用することでより転送速度を上げられる可能性がある。
【００６７】
他には、次転送の情報を参照する。スレーブで受け付け可能な転送が一つのみであった場合、同一のスレーブにアクセスする複数の転送を、複数のバスブリッジを使用して同一のタイミングで転送しても、転送同士が衝突して片方の転送が待たされることにより、転送速度が向上しないと考えられる。これを検知するために、次転送のアドレスと、使用可能な各バスブリッジのバッファに格納されている最後の転送情報のアドレスとの比較を行う。もしアドレスの一致する転送情報が存在した場合は、その転送情報を持っているバスブリッジを用いて転送を行うことにより、別スレーブへアクセスする転送が次以降に行われる場合に、別の使用可能なバスブリッジを用いることで次転送を高速に転送することができ、結果的に全体の転送速度を向上させることができる。
【００６８】
他には、使用可能な各バスブリッジの上位バス10と下位バス20のデータ幅比や、上位バス10と下位バス20のクロック比を参照する。これらを参照することで、上位バスからの転送量と下位バスへの転送量が異なることにより発生する混雑しやすさを予測することができる。このため、使用可能なバスブリッジのうち最も転送速度性能の高いバスブリッジがあまり混雑していない状況で、データ幅比やクロック比からすぐに混雑すると判断できる場合は、他の混雑していない使用可能なバスブリッジを用いて、転送速度を向上させることができると予測できる。
【００６９】
これらの要因を総合的に参照し、各バスブリッジを用いて次転送を中継した場合の転送速度を予測する。
【００７０】
信号生成手段61においては、基本的に、予測手段64において最も転送速度が高くなると予測されたバスブリッジを選択する選択信号62を生成する。
【００７１】
しかし、転送識別番号が同一の転送間ではスレーブへ到着する順序を変更してはいけないプロトコルの場合、確実に順番の追い越しがないようにする必要がある。そのために、次転送の転送識別信号を参照して、使用可能な各バスブリッジのバッファに格納されている最後の転送情報の転送識別信号と比較する。いずれかのバスブリッジで転送識別信号が一致した場合は、予測手段64の予測結果において最も転送速度が速くなると予測される他のバスブリッジがあったとしても、転送識別信号が一致した転送情報を持っているバスブリッジを選択するようにする。これにより、確実に同一経路で転送することができ、プロトコル違反を防止できる。
【００７２】
上記のようにして生成された選択信号62用いて、選択手段51ではバスブリッジ41〜44のうち一つと接続する。次転送は接続されたバスブリッジを通って下位バス20へ中継された後、適切なスレーブへ転送される。
【００７３】
このような構成をとることで、バスブリッジ選択において様々な要因を参照することができ、それに応じて選択するバスブリッジを変化させることができるので、上位バスと下位バスの動作クロックの速度のみ参照して決定したバスブリッジにおいて転送が混雑した場合でも、他のバスブリッジを用いることで転送速度を向上させることができる。
【００７４】
また図３では、データ幅変換手段71が上位バス10と選択手段Ａ51の間に接続されているが、この構成に限らず、データ幅変換手段を各バスブリッジで保有し、バスブリッジへデータが入力される時にデータ幅変換を行うことも可能であり、または、バスブリッジからデータが出力される時にデータ幅変換を行うことも可能である。上位バス10と下位バス20のデータ幅が同じ場合は、データ幅変換手段71は不要である。
【００７５】
なお信号生成手段61に入力されるクロックモード信号81は、これに限らず、上位バス10の動作クロックと下位バス20の動作クロックの周波数を示す信号であれば他の信号でも可能である。
【産業上の利用可能性】
【００７６】
本発明にかかるバスアダプタ装置は、上位バスと下位バスの動作クロック速度に応じて使用するバスブリッジを変えることで、どのような動作クロック速度でも用意した複数のバスブリッジの中から転送速度が最大となるバスブリッジを使用することが可能なため、低消費対策等でバスのクロック動作速度が可変なシステムにおいて有効である。また既存のバスブリッジモジュールを利用することで容易に機能を実現できるので、IPモジュールの再利用性を高くすることができる。
【００７７】
加えて、上位バスと下位バスの動作クロック速度だけでなく様々な要因に応じて使用するバスブリッジを変えることで、わずかな機能追加で、一つのバスブリッジにおいて転送が混雑した場合でも転送速度を向上させることができる。特に、DMA(Direct Memory Access)をマスタとして転送した場合、各チャネルがマスタに対応し、チャネル間で転送先スレーブが異なりやすいので、複数のバスブリッジを使用することで速度の向上が見込まれる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態１におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図
【図２】本発明の実施の形態２におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図
【図３】本発明の実施の形態３におけるバスアダプタ装置30を説明するための概略構成図を示すブロック図
【図４】ＰＣＩバス４０とＰＣカード・スロット４４Ａ，４４Ｂ間に設置される従来のバスブリッジ回路
【符号の説明】
【００７９】
10  上位バス
11〜1n  バスマスタ
20  下位バス
21〜2n  バススレーブ
30  バスアダプタ装置
41  バスブリッジＡ
42  バスブリッジＢ
43  バスブリッジＣ
44  バスブリッジＤ
51  選択手段Ａ
52  選択手段Ｂ
61  信号生成手段
62     選択信号
63     次転送信号
64     予測手段
71  データ幅変換手段
81  クロックモード信号
【図１】
2006195948.tif 000003
【図２】
2006195948.tif 000004
【図３】
2006195948.tif 000005
【図４】
2006195948.tif 000006