(57)【要約】【課題】本発明は、回路規模の増大及び動作周波数の低下を極力抑えながら、サブシステム間のデータ転送性能を向上させることができるデータ転送システムを提供することを目的とする。【解決手段】データ転送システムは、複数のマスタに接続される第１のクロスバスイッチと、複数のスレーブに接続される第２のクロスバスイッチと、第１のクロスバスイッチと第２のクロスバスイッチとの間を結合する第１のデータ転送経路と、第１のデータ転送経路と並列に設けられ第１のクロスバスイッチと第２のクロスバスイッチとの間を結合する第２のデータ転送経路を含み、第１のクロスバスイッチは、複数のスレーブの少なくとも１つに対して、アクセス経路として第１及び第２のデータ転送経路のうちの１つを要求に応じて動的に選択可能なように構成されることを特徴とする。【選択図】図６
2007199859.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタに接続される第１のクロスバスイッチと、
複数のスレーブに接続される第２のクロスバスイッチと、
該第１のクロスバスイッチと該第２のクロスバスイッチとの間を結合する第１のデータ転送経路と、
該第１のデータ転送経路と並列に設けられ該第１のクロスバスイッチと該第２のクロスバスイッチとの間を結合する第２のデータ転送経路
を含み、該第１のクロスバスイッチは、該複数のスレーブの少なくとも１つに対して、アクセス経路として該第１及び第２のデータ転送経路のうちの１つを要求に応じて動的に選択可能なように構成されることを特徴とするデータ転送システム。
【請求項２】
該第１のデータ転送経路と該第２のデータ転送経路は各々バスブリッジを含むことを特徴とする請求項１記載のデータ転送システム。
【請求項３】
該第１のクロスバスイッチは、該複数のマスタから供給されるアドレスをアドレスマッピングに従いデコードしてアクセス先を決定する制御可能アドレスデコーダを含み、該制御可能アドレスデコーダにおける該アドレスマッピングが該要求に応じて動的に変更可能なように構成されることを特徴とする請求項１記載のデータ転送システム。
【請求項４】
該制御可能アドレスデコーダは、
複数の異なるアドレスマッピングに対応した複数の異なるアドレスデコーダ回路と、
該要求に応じて該複数のアドレスデコーダ回路の１つを選択する選択回路
を含むことを特徴とする請求項３記載のデータ転送システム。
【請求項５】
前記第１のクロスバスイッチは、
該要求として該複数のマスタから供給されるデータ転送要求を調停する調停回路と、
該調停回路による調停結果に応じて該複数のマスタと該第１及び第２のデータ転送経路とを動的に選択的に結合する選択回路
を含むことを特徴とする請求項１記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ転送システムに関し、詳しくはクロスバスイッチを用いたデータ転送システムに関する。
【背景技術】
【０００２】
システムＬＳＩは、ＣＰＵやメモリモジュール等の異なる機能を持った回路モジュールを複数組み合わせて単一のチップに搭載することで構成される。システムＬＳＩにおいて、各回路モジュール間はシステムバスにより接続される。
【０００３】
図１は、システムバスによる回路モジュール接続の典型的な構成例を示す図である。図１において、ＣＰＵ、ＤＭＡ（Dynamic Memory Access）コントローラ、ＤＳＰ（Digital Signal Processor）等であるシステムのマスタとなるマスタモジュール１０１〜１０３と、各種メモリインタフェースやＵＳＢ（Universal Serial Bus）等の機能を実現するスレーブとなるスレーブモジュール１０４〜１０６とが設けられる。マスタモジュール１０１〜１０３とスレーブモジュール１０４〜１０６との間は、システムバス１１１により接続される。システムバス１１１では、同時に1つのデータの転送のみが実行可能である。
【０００４】
図１のようなシステムバス構成では、システムＬＳＩのデータ転送性能を高めようとした場合、システムバス１１１部分がシステム性能の向上の妨げとなる可能性がある。例えば、マスタモジュール１０１がスレーブモジュール１０６にアクセスしようとし、同時にマスタモジュール１０２がスレーブモジュール１０４にアクセスしようとした場合には、システムバス１１１上では同時に１つのデータの転送しかできないため、一方の転送が終わるまで他方の転送が止められてしまい、転送性能が低下してしまう。これを「バス権の競合」と呼ぶ。システム全体のデータ転送性能を高めるためには、バス権の競合が少ないようなシステム構成とすることが必要となる。
【０００５】
上記のようなバス権の競合を回避するシステムバス構成として、クロスバスイッチ回路がある。図２は、クロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。図２において、マスタモジュール２０１〜２０３とスレーブモジュール２０４〜２０６との間は、クロスバスイッチ２５１により接続される。クロスバスイッチ２５１はインターフェース２１１乃至２１６を含む。インターフェース２１１乃至２１３がマスタモジュール２０１乃至２０３に接続され、インターフェース２１４乃至２１６がマスタモジュール２０４乃至２０６に接続される。これらのインターフェース２１１乃至２１６によりシステムバス接続を切り換え可能に構成することで、例えばマスタモジュール２０１からスレーブモジュール２０５へのデータ転送とマスタモジュール２０２からスレーブモジュール２０４へのデータ転送とを、同時に実行することが可能となる。
【０００６】
図３は、ＡＭＢＡ（Advanced Microcontroller Bus Architecture）規格のＡＨＢ（Advanced High-performance Bus）プロトコルを想定したバスブリッジ回路の一般的な構成例を示す図である。図３において、クロスバスイッチ２５１は、アドレス信号線、データ信号線、及び制御信号線からなるバス２２１〜２２６を介して、３つのマスタモジュール２０１〜２０３及び３つのスレーブモジュール２０４〜２０６に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス２６３により、インターフェース２１１乃至２１６間が接続されている。なおバス２２１〜２２６，２６３においては、実線がマスタ方向からスレーブ方向へ流れる信号（例えばアドレス信号、書き込みデータ信号、制御信号等）を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号（例えば読み出しデータ信号、応答信号等）を表している。
【０００７】
インターフェース２１１〜２１３は、マスタモジュールからのバス信号を制御するＩ／Ｆ制御回路２８４〜２８６と、バス上のアドレス信号をデコードするアドレスデコーダ２８１〜２８３と、読み出しデータ信号や応答信号等を選択する選択回路２８７〜２８９を含む。Ｉ／Ｆ制御モジュール２８４〜２８６は、マスタモジュールからバス２６３に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、Ｉ／Ｆ制御モジュール２８４〜２８６は、バスに対する新規転送発行を抑止するような応答信号（バス２２１〜２２３の破線）をマスタモジュールに返す。またＩ／Ｆ制御モジュール２８４〜２８６は更に、現在のバスの値を一時的に保持する機能を有する。
【０００８】
アドレスデコーダ２８１〜２８３は、バス上のアドレスデータをアドレスマップに従ってデコードする。アドレスデコーダ２８１〜２８３は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース２１４〜２１６に転送要求信号２６１を送出する。選択回路２８７〜２８９は、アドレスデコーダ２８１〜２８３のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
【０００９】
一方、インターフェース２１４〜２１６は、調停回路２９１〜２９３と選択回路２９４〜２９６とを含む。調停回路２９１〜２９３は、インターフェース２１１〜２１３からの転送要求信号２６１を受信して転送許可／不許可を示す転送可否応答信号２６２をインターフェース２１１〜２１３に返すとともに、調停結果を示す信号を選択回路２９４〜２９６に供給する。選択回路２９４〜２９６は、調停回路２９１〜２９３による調停結果に応じてバス信号を選択する。
【００１０】
上述したクロスバスイッチによる回路構成を用いる場合、バス件の競合が発生しないので、システム全体としてデータ転送性能が向上する。即ち、例えばマスタモジュール２０１がスレーブモジュール２０６にアクセスしようとし、同時にマスタモジュール２０２がスレーブモジュール２０４にアクセスしようとした場合においても、並列に複数のバスが設けられているためにデータ転送経路が重ならず、バス権の競合が発生しない。
【００１１】
近年、ＬＳＩの規模が大きくなり、クロスバスイッチに接続されるモジュール数が増加するとともに、システムの動作周波数を高く保つことが要求されている。このような回路においては、図３に示すようなクロスバスイッチの回路構成は必ずしも効果的ではなく、モジュール数の増加が要因となり、システム全体のデータ性能向上が低下してしまう場合がある。
【００１２】
例えば、複数のマスタモジュール間でバス権の競合を全く発生させないように構成するためには、クロスバスイッチ内部において、マスタモジュール数と同数の並列なバスを設ける必要がある。一組のバスはデータ線、アドレス線、制御線等の多数の配線から構成されるので、多数のバスを含むクロスバスイッチ回路は、ＬＳＩ実装時に必要な配線数が非常に多くなる。従ってモジュール数が増加すると、ＬＳＩ内部の配線配置制約が厳しくなり、その結果、ＬＳＩ回路面積の増大や動作周波数の低下を招き、システム全体としてのデータ転送性能が低下してしまう。
【００１３】
回路面積の増大を防ぎながらバス権の競合が発生しにくい状況を実現する構成として、バスブリッジを利用した構成がある。図４は、バスブリッジを利用したクロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。
【００１４】
図４のシステムは、システム全体が２つのサブシステムに分割され、マスタモジュール３０１〜３０３及びスレーブモジュール３０５から構成される第１のサブシステムと、マスタモジュール３０４及びスレーブモジュール３０６〜３０８から構成される第２のサブシステムとが設けられる。第１のサブシステムのクロスバスイッチ３５１と第２のサブシステムのクロスバスイッチ３５２とが、１本のバスブリッジ３３１によって結合されている。３１１乃至３１５と３２１乃至３２５はインターフェースである。この構成は、例えば特許文献１に開示される。
【００１５】
図４に示す構成には、回路の面積増加を抑えながら、転送性能を高く保つことができるという利点がある。例えば、各サブシステム内のデータ転送についてはバス権の競合が発生しないだけでなく、バスブリッジ３３１を介したデータ転送も同時に実行可能である。このようにバス競合をある低度避けることにより転送性能を高く保ちながらも、複数のマスタモジュールと複数のスレーブモジュールとの間の全ての組み合わせに対してバス配線を設けることなく、回路の面積増加を抑えることができる。
【００１６】
しかしながら、２つのクロスバスイッチ３５１及び３５２を結ぶバスブリッジ３３１の部分が、システム全体のデータ転送性能を律してしまうので、クロスバスイッチに接続されるモジュール数が増えた場合に問題となる可能性がある。例えば画像処理、音声処理、通信処理等のデータ転送に代表されるような、一定以上のデータ転送性能を保つ必要がある転送がバスブリッジ３３１を介して行われる場合、バスブリッジが一重であることにより、他の転送との間でバス権の競合が生じてしまうと、データ転送性能を満たすことができなくなってしまう可能性がある。
【００１７】
図５は、図４の構成において例えばマスタ３０１から見た場合のアドレスマップの構成を示す図である。図５に示すように、スレーブ３０６〜３０８については、バスブリッジ３３１を介してのみアクセス可能である。即ち、スレーブ３０６〜３０８のアドレス範囲０ｘＦＦＦＦ５００１〜０ｘＦＦＦＦ８０００は、バスブリッジ３３１に割当てられている。従って、例えばマスタ３０１からスレーブ３０６にアクセスしようとし、マスタ３０２からスレーブ３０７にアクセスしようとした場合には、バスブリッジ３３１に対するバス競合が発生することになる。
【特許文献１】特開２０００−３３９２６９号公報
【特許文献２】特開２００１−１９７２２８号公報
【特許文献３】特開平１１−１１０３４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上を鑑みて本発明は、回路規模の増大及び動作周波数の低下を極力抑えながら、サブシステム間のデータ転送性能を向上させることができるデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
データ転送システムは、複数のマスタに接続される第１のクロスバスイッチと、複数のスレーブに接続される第２のクロスバスイッチと、該第１のクロスバスイッチと該第２のクロスバスイッチとの間を結合する第１のデータ転送経路と、該第１のデータ転送経路と並列に設けられ該第１のクロスバスイッチと該第２のクロスバスイッチとの間を結合する第２のデータ転送経路を含み、該第１のクロスバスイッチは、該複数のスレーブの少なくとも１つに対して、アクセス経路として該第１及び第２のデータ転送経路のうちの１つを要求に応じて動的に選択可能なように構成されることを特徴とする。
【発明の効果】
【００２０】
本発明の少なくとも１つの実施例によれば、データ転送システムにおいて、第１のデータ転送経路と第２のデータ転送経路との多重のデータ転送経路を設けることにより、第１のクロスバスイッチ及び第２のクロスバスイッチの間のデータ転送性能を向上させることができる。即ち、多重のデータ転送経路を介してデータ転送を同時に並行して実行することができる。またスレーブの少なくとも１つに対しては、多重のデータ転送経路のうち要求に応じて動的に選択したデータ転送経路を介してアクセス可能であるように第１のクロスバスイッチを構成することで、回路面積の増加を抑えながらデータ転送の自由度・柔軟性を向上させ、データ転送性能を向上させることができる。
【発明を実施するための最良の形態】
【００２１】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００２２】
図６は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの基本構成を示す図である。なお本発明において、図６に示す構成の各モジュールの数、クロスバスイッチの数、バスブリッジの数、サブシステムの数等は一例であり、ここに図示される数に限られるものではない。
【００２３】
図６に示す構成においては、マスタモジュール４０１〜４０３とスレーブモジュール４０５とがクロスバスイッチ４５１に接続され、マスタモジュール４０４とスレーブモジュール４０６〜４０８とがクロスバスイッチ４５２に接続される。クロスバスイッチ４５１とクロスバスイッチ４５２とは、多重のバスブリッジ４３１及び４３２により互いに接続される。クロスバスイッチ４５１はインターフェース４１１乃至４１６を含み、クロスバスイッチ４５２はインターフェース４２１乃至４２６を含む。
【００２４】
多重のバスブリッジ４３１及び４３２を設けた構成とすることで、クロスバスイッチ４５１及びクロスバスイッチ４５２間のデータ転送性能は向上する。例えば、スレーブ４０６へのデータ転送にはバスブリッジ４３１が使用され、スレーブ４０７とスレーブ４０８へのデータ転送にはバスブリッジ４３２が使用されるとすると、これらのデータ転送は同時に並行して実行することができる。なお２つのバスブリッジ４３１及び４３２の何れがデータ転送に用いられるかは、クロスバスイッチ内部のアドレスデコーダによって決定される。
【００２５】
図７は、図６の構成において例えばマスタ４０１，４０２，又は４０３から見た場合のアドレスマップの構成の一例を示す図である。図７に示す例では、スレーブ４０６については、バスブリッジ４３１を介してのみアクセス可能である。即ち、スレーブ４０６のアドレス範囲０ｘＦＦＦＦ５００１〜０ｘＦＦＦＦ６０００は、バスブリッジ４３１に割当てられている。またスレーブ４０７，４０８については、バスブリッジ４３２を介してのみアクセス可能である。即ち、スレーブ４０７，４０８のアドレス範囲０ｘＦＦＦＦ６００１〜０ｘＦＦＦＦ８０００は、バスブリッジ４３２に割当てられている。
【００２６】
従って、図７に示す例では、マスタ４０１からスレーブ４０６へのデータ転送にはバスブリッジ４３１が使用され、マスタ４０２からスレーブ４０８へのデータ転送にはバスブリッジ４３２が使用されるので、これらのデータ転送は同時に並行して実行することができる。但し、マスタ４０１からスレーブ４０７へデータ転送しようとし、同時にマスタ４０２からスレーブ４０８へデータ転送しようとしても、バスブリッジ４３２においてバス競合が発生してしまう。このような場合、例えばスレーブ４０８へのデータ転送が高い転送能力を必要とする優先度の高いデータ転送であるとすると問題となる。
【００２７】
このような場合を考慮して、本発明では、スレーブモジュール４０６〜４０８の少なくとも１つのモジュールに対して、多重のバスブリッジ４３１及び４３２のうち要求に応じて動的に選択したバスブリッジを介してアクセス可能となるように、クロスバスイッチ４５１を構成する。これによりデータ転送の自由度・柔軟性を向上させ、データ転送性能を増大させる。
【００２８】
スレーブモジュール４０６〜４０８の少なくとも１つのモジュールに対して、多重のバスブリッジ４３１及び４３２のうち要求に応じて動的に選択したバスブリッジを介してアクセス可能となるように構成するために、本発明では第１の実施例の構成或いは第２の実施例の構成を用いる。第１の実施例の構成では、クロスバスイッチ内部のデコーダを動的に変更可能に構成する。第２の実施例では、データ転送要求に応じて多重のバスブリッジを動的に割当てるようにクロスバスイッチ内部の調停回路部を構成する。
【００２９】
まず第１の実施例について説明する。第１の実施例では、システムＬＳＩを構成する複数のクロスバスイッチ間を結ぶバスブリッジを多重化し、多重になっているバスブリッジの一方のバスブリッジをある特定アドレス領域向けのデータ転送専用になるようにクロスバスイッチ内部のデコーダを動的に変更する。これにより、特に高い転送能力を必要とする優先度の高いデータ転送に関して、バス権の競合を無くし、高いデータ転送性能を実現することが可能となる。
【００３０】
図８は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第１の実施例を示す図である。
【００３１】
図８に示す構成においては、マスタモジュール５０１〜５０３とデコーダ制御モジュール５０５とがクロスバスイッチ５５１に接続され、マスタモジュール５０４とスレーブモジュール５０６〜５０８とがクロスバスイッチ５５２に接続される。クロスバスイッチ５５１とクロスバスイッチ５５２とは、多重のバスブリッジ５３１及び５３２により互いに接続される。クロスバスイッチ５５１はインターフェース５１１乃至５１６を含み、クロスバスイッチ５５２はインターフェース５２１乃至５２６を含む。
【００３２】
デコーダ制御モジュール５０５は、ＣＰＵ等のマスタモジュールからアクセス可能なモジュールである。マスタモジュールからの指示に応じて、デコーダ制御モジュール５０５は、クロスバスイッチ内部のデコーダを動的に変更するためのモード信号５７１を送出する。
【００３３】
図９は、図８のクロスバスイッチ５５１の構成の一例を示す図である。図９において、図８と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００３４】
図９に示すクロスバスイッチ５５１は、アドレス信号線、データ信号線、及び制御信号線からなるバス６２１〜６２６を介して、３つのマスタモジュール５０１〜５０３、デコーダ制御モジュール５０５、及びバスブリッジ５３１，５３２に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス６６３により、インターフェース５１１乃至５１６間が接続されている。なおバス６２１〜６２６，６６３においては、実線がマスタ方向からスレーブ方向へ流れる信号（例えばアドレス信号、書き込みデータ信号、制御信号等）を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号（例えば読み出しデータ信号、応答信号等）を表している。
【００３５】
インターフェース５１１〜５１３は、マスタモジュールからのバス信号を制御するＩ／Ｆ制御回路６８４〜６８６と、バス上のアドレス信号をデコードする制御可能アドレスデコーダ６８１〜６８３と、読み出しデータ信号や応答信号等を選択する選択回路６８７〜６８９を含む。Ｉ／Ｆ制御モジュール６８４〜６８６は、マスタモジュールからバス６６３に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、Ｉ／Ｆ制御モジュール６８４〜６８６は、バスに対する新規転送発行を抑止するような応答信号（バス６２１〜６２３の破線）をマスタモジュールに返す。またＩ／Ｆ制御モジュール６８４〜６８６は更に、現在のバスの値を一時的に保持する機能を有する。
【００３６】
図１０は、Ｉ／Ｆ制御モジュール６８４の構成の一例を示す図である。図１０において、図９と同一の構成要素は同一の番号で参照し、その説明は省略する。なおＩ／Ｆ制御モジュール６８４の構成を代表例として示すが、Ｉ／Ｆ制御モジュール６８５，６８６も同様の構成を有する。
【００３７】
Ｉ／Ｆ制御モジュール６８４は、バス転送／保持判定回路１１０４、選択回路１１０５、及びバス保持レジスタ１１０６を含む。バス転送／保持判定回路１１０４は、バス６２１，６６２，６６３に流れる制御信号を観測する。バス６６３に新規転送を流すことができない状況においてバス転送を要求する制御信号をバス６２１に検出すると、バス転送／保持判定回路１１０４は信号１１３６を出力し、バス６２１に対して新規転送発行を抑止する応答信号を、組み合わせ回路１１０７を介して送信する。また更にバス転送／保持判定回路１１０４は、信号１１３８を介して選択回路１１０５にバス保持レジスタ１１０６を選択させる。バス保持レジスタ１１０６には現在のバスの値が保持されており、上記選択動作により、バス６６３の値が現状のまま保持される。
【００３８】
バス６６３に新規転送することが適切な状況においてバス転送を要求する制御信号をバス６２１に検出すると、バス転送／保持判定回路１１０４は、信号１１３８を介して選択回路１１０５にバス６２１を選択させる。これによりバス６２１とバス６６３とが接続され新規データ転送が可能となる。バス６６３の値の変化に追随して、バス６６３の最新の値がバス保持レジスタ１１０６に格納される。
【００３９】
図９を再び参照し、制御可能アドレスデコーダ６８１〜６８３は、バス上のアドレスデータをアドレスマップに従ってデコードする。制御可能アドレスデコーダ６８１〜６８３は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース５１４〜５１６に転送要求信号６６１を送出する。選択回路６８７〜６８９は、制御可能アドレスデコーダ６８１〜６８３のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
【００４０】
一方、インターフェース５１４〜５１６は、調停回路６９１〜６９３と選択回路６９４〜６９６とを含む。調停回路６９１〜６９３は、インターフェース５１１〜５１３からの転送要求信号６６１を受信して転送許可／不許可を示す転送可否応答信号６６２をインターフェース５１１〜５１３に返すとともに、調停結果を示す信号を選択回路６９４〜６９６に供給する。選択回路６９４〜６９６は、調停回路６９１〜６９３による調停結果に応じてバス信号を選択する。
【００４１】
図９に示すクロスバスイッチ５５１は、データ転送時の動作は従来のクロスバスイッチ回路と同様であるが、制御可能アドレスデコーダ６８１〜６８３がアドレスデコード設定を変更可能なように構成されている。これにより、システムが動作している間であっても、アドレスデコード設定を動的に切り替えることができる。具体的には、制御可能アドレスデコーダ６８１〜６８３は、デコーダ制御モジュール５０５から供給されるモード信号５７１に応じて、クロスバスイッチ内のバス転送の監視に基づいた適切なタイミングで、アドレスデコーダのアドレスマップを変換する。
【００４２】
図１１は、制御可能アドレスデコーダ６８１の構成の一例を周辺の構成とともに示す図である。図１１において、図９と同一の構成要素は同一の番号で参照し、その説明は省略する。なお制御可能アドレスデコーダ６８１の構成を代表例として示すが、制御可能アドレスデコーダ６８２，６８３も同様の構成を有する。
【００４３】
デコーダ制御モジュール５０５は、バスインターフェース１００２とモード設定レジスタ１００３によって構成される。バスマスタによりバス６２４及びバスインターフェース１００２を介してモード設定レジスタ１００３に設定された値は、モード信号５７１として制御可能アドレスデコーダ６８１に供給される。制御可能アドレスデコーダ６８１は、選択回路１０１５、レジスタ１０１６、バスの制御信号１０３９及びバス応答信号１０３７を観測するバス観測回路１０１７、回路として組み込まれた複数のアドレスデコーダ１０１８〜１０２０、及び複数のアドレスデコーダの１つを選択する選択回路１０２１を含む。
【００４４】
図１２は、マスタ５０１〜５０３からみたアドレスマップの一例を示す図である。図１３は、アドレスマップ切り替えの制御動作の一例を示すフローチャートである。図１３の制御フローに従い、図１２のアドレスマップ１（図面左）からアドレスマップ２（図面右）にアドレスマッピング構成を変える動作について以下に説明する。
【００４５】
初期状態であるアドレスマップ１の状態において、クロスバスイッチ５５１領域からクロスバスイッチ５５２領域へのデータ転送は、何れのアドレスに対してもバスブリッジ５３１を介して実行するように設定されている。この状態から、図１３の制御動作が開始される。
【００４６】
ステップＳ１で、図９に示すマスタ５０１が、デコーダ制御モジュール５０５のモード設定レジスタ１００３に、所望のアドレスマップ（切り替え後のアドレスマップ）のモード番号を設定する。ステップＳ２で、デコーダ制御モジュール５０５は、モード信号５７１をバスブリッジ内部の制御可能アドレスデコーダ６８１，６８２，６８３に送る
ステップＳ３で、制御可能アドレスデコーダ６８１は、バス６６３上の制御信号をバス観測回路１０１７で観測（監視）する。ステップＳ４で、ステップＳ３での観測結果に基づいて、バス上にデータ転送があるか否かを判断する。データ転送がある場合（ステップＳ３でＹｅｓの場合）には、所定時間待機した後に、バス上にデータ転送があるか否かを再度判断する。
【００４７】
データ転送がない場合（ステップＳ３でＮｏの場合）、ステップＳ４で、モード信号に応じてアドレスデコーダ１０１８〜１０２０のうちの１つを選択回路１０２１により選択する。具体的には、バス観測回路１０１７からの信号１０４２に応じて選択回路１０１５がデコーダ制御モジュール５０５からのモード信号５７１を選択して、選択回路１０２１に供給する。これにより、モード信号５７１に応じたデコーダが選択される。選択に用いられたモード信号５７１は、レジスタ１０１６に格納される。レジスタ１０１６の格納値は、その後選択回路１０１５がレジスタ１０１６を選択する状態となることで、定常的に選択回路１０２１に供給される。以上の動作により、インターフェース５１１におけるアドレスマップはアドレスマップ１からアドレスマップ２に切り替わる（図１２参照）。
【００４８】
同様に、他の制御可能アドレスデコーダ６８２，６８３についても、バスにデータ転送がないタイミングで、アドレスマップをアドレスマップ１からアドレスマップ２に切り替える。ステップＳ５で、全ての制御可能アドレスデコーダ６８１，６８２，６８３について、アドレスマップが切り替わったか否かを判断する。切り替わっていない場合（ステップＳ５でＮｏの場合）、全ての切り替えが終了するまで待機する。
【００４９】
ステップＳ５でＹｅｓの場合、制御可能アドレスデコーダ６８１〜６８３の全てが新規のアドレスマップ２に設定されたことになる。即ち、ステップＳ６に記載されるように、アドレスマップ２においてはバスブリッジ５３２がスレーブ５０８へのデータ転送に専用に割当てられるので、スレーブ５０８へのデータ転送についてはバス権の競合が発生しなくなる。従って、スレーブ５０８へのデータ転送が、高い転送能力を必要とする優先度の高いデータ転送であっても、必要なデータ転送性能を保つことが可能となる。
【００５０】
以上のアドレスマップ切り替えにより図１２に示すアドレスマップ２が設定されると、スレーブ５０８はクロスバスイッチ５５１に直接に接続されているスレーブモジュールであるかのように扱うことが可能となる。従って、特に高い転送能力を必要とする優先度の高いデータ転送に対しても、データ転送品質（QoS：クオリティ・オブ・サービス）を維持し続けることができる。
【００５１】
上記説明ではスレーブ５０８へのバス権競合がなくなるようなアドレスマップを用意して設定しているが、同様に他のスレーブモジュールに対してもバス権競合がなくなるようなアドレスマップを用意して設定することが可能である。このようにして、システムの要求に応じて特定のスレーブモジュールへのデータ転送に関してバス権の競合をなくし、データ転送品質を維持し続けることができる。
【００５２】
以下に、本発明の第２の実施例について説明する。この第２の実施例では、データ転送要求に応じて多重のバスブリッジを動的に割当てるようにクロスバスイッチ内部の調停回路部を構成する。
【００５３】
即ち、システムＬＳＩを構成する２本のクロスバスイッチを結ぶバスブリッジを多重化し、多重になっているバスブリッジに複数のデータを同時並行に転送できるようにクロスバスイッチ内部の調停回路部を構成する。これにより、特に高い転送能力を必要とする優先度の高いデータ転送に関して、バス権の競合をできるだけ少なくし、データ転送性能を保つことができる。
【００５４】
図１４は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第２の実施例を示す図である。
【００５５】
図１４に示す構成においては、マスタモジュール８０１〜８０３とスレーブモジュール８０５とがクロスバスイッチ８５１に接続され、マスタモジュール８０４とスレーブモジュール８０６〜８０８とがクロスバスイッチ８５２に接続される。クロスバスイッチ８５１とクロスバスイッチ８５２とは、多重のバスブリッジ８３１及び８３２により互いに接続される。クロスバスイッチ８５１はインターフェース８１１乃至８１５を含み、クロスバスイッチ８５２はインターフェース８２１乃至８２６を含む。
【００５６】
クロスバスイッチ８５１において、インターフェース８１１乃至８１３がマスタモジュール８０１〜８０３にそれぞれ接続され、インターフェース８１４がスレーブモジュール８０５に接続される。またインターフェース８１５が、バスブリッジ８３１及び８３２の双方に接続される。
【００５７】
このように図１４の構成では、２つのバス（バスブリッジ８３１及び８３２）が１つのインターフェース８１５により提供されている。以下に説明するように、インターフェース８１５に設けられた１つの調停回路によって、２つのバス（バスブリッジ８３１及び８３２）に対するバス使用権獲得要求を調停する。
【００５８】
図１５は、図１４の構成において例えばマスタ８０１から見た場合のアドレスマップの構成を示す図である。図１５に示すように、スレーブ８０６〜８０８については、バスブリッジ８３１及び８３２の何れを介してもアクセス可能である。即ち、スレーブ８０６〜８０８のアドレス範囲０ｘＦＦＦＦ５００１〜０ｘＦＦＦＦ８０００は、バスブリッジ８３１及び８３２に多重に割当てられている。
【００５９】
例えばマスタ８０１からスレーブ８０６にアクセスしようとし、マスタ８０２からスレーブ８０７にアクセスしようとした場合を考える。この場合、スレーブ８０６へのアクセスには例えばバスブリッジ８３１を割当て、スレーブ８０７へのアクセスには例えばバスブリッジ８３２を割り当てることで、互いにバス競合することなく並行してアクセス動作を実行することが可能になる。
【００６０】
図１６は、図１４のクロスバスイッチ８５１の構成の一例を示す図である。図１６において、図１４と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００６１】
図１６に示すクロスバスイッチ８５１は、アドレス信号線、データ信号線、及び制御信号線からなるバス９２１〜９２６を介して、３つのマスタモジュール８０１〜８０３、スレーブモジュール８０５、及びバスブリッジ８３１，８３２に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス９６３により、インターフェース８１１乃至８１５間が接続されている。なおバス９２１〜９２６，９６３においては、実線がマスタ方向からスレーブ方向へ流れる信号（例えばアドレス信号、書き込みデータ信号、制御信号等）を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号（例えば読み出しデータ信号、応答信号等）を表している。
【００６２】
インターフェース８１１〜８１３は、マスタモジュールからのバス信号を制御するＩ／Ｆ制御回路９８４〜９８６と、バス上のアドレス信号をデコードするアドレスデコーダ９８１〜９８３と、読み出しデータ信号や応答信号等を選択する選択回路９８７〜９８９を含む。Ｉ／Ｆ制御モジュール９８４〜９８６は、マスタモジュールからバス９６３に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、Ｉ／Ｆ制御モジュール９８４〜９８６は、バスに対する新規転送発行を抑止するような応答信号（バス９２１〜９２３の破線）をマスタモジュールに返す。またＩ／Ｆ制御モジュール９８４〜９８６は更に、現在のバスの値を一時的に保持する機能を有する。
【００６３】
アドレスデコーダ９８１〜９８３は、バス上のアドレスデータをアドレスマップに従ってデコードする。アドレスデコーダ９８１〜９８３は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース８１４又は８１５に転送要求信号９６１を送出する。選択回路９８７〜９８９は、アドレスデコーダ９８１〜９８３のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
【００６４】
インターフェース８１４は、調停回路９９１と選択回路９９４とを含む。調停回路９９１は、インターフェース８１１〜８１３からの転送要求信号９６１を受信して転送許可／不許可を示す転送可否応答信号９６２をインターフェース８１１〜８１３に返すとともに、調停結果を示す信号を選択回路９９４に供給する。選択回路９９４は、調停回路９９１による調停結果に応じてバス信号を選択する。
【００６５】
インターフェース８１５は、調停回路９９２と選択回路９９５，９９６とを含む。調停回路９９２は、インターフェース８１１〜８１３からの転送要求信号９６１を受信して転送許可／不許可を示す転送可否応答信号９６２をインターフェース８１１〜８１３に返すとともに、調停結果を示す信号を選択回路９９５，９９６に供給する。選択回路９９５，９９６は、調停回路９９２による調停結果に応じてバス信号を選択する。
【００６６】
図１７は、多重バスブリッジに対する調停回路の調停動作の一例を示すフローチャートである。図１７に示す調停動作により、図１６に示す調停回路９９２がバスブリッジ８３１及び８３２に対してデータ転送を割当てる。
【００６７】
まずステップＳ１において、アドレスデコーダ９８１〜９８３より新規転送要求信号９６１が供給される。ステップＳ２において、調停回路９９２はバス９２５，９２６の占有状況を判定する。バス９２５，９２６が双方ともに使用中である場合は、ステップＳ３に進む。ステップＳ３において、調停回路９９２は、新規転送要求信号９６１に対する応答である転送可否応答信号９６２として、転送待機を指示する信号を送出する。その後、ステップＳ１に処理が戻る。
【００６８】
ステップＳ２での判定の結果、バス９２５，９２６の一方が使用中である場合は、ステップＳ４に進む。ステップＳ４において、調停回路９９２は、優先順位が最も高い新規アクセスに対しては、新規転送要求信号９６１に対する応答である転送可否応答信号９６２として、転送要求を許可する信号を送出する。また調停回路９９２は、その他の新規アクセス要求に対しては、転送可否応答信号９６２として転送待機信号を送出する。
【００６９】
ステップＳ２での判定の結果、バス９２５，９２６の両方が利用可能である場合は、ステップＳ５に進む。ステップＳ５において、調停回路９９２は、優先順位が最も高い新規アクセスと２番目に高い新規アクセスとに対して、新規転送要求信号９６１に対する応答である転送可否応答信号９６２として、転送要求を許可する信号を送出する。また調停回路９９２は、その他の新規アクセス要求に対しては、転送可否応答信号９６２として転送待機信号を送出する。
【００７０】
ステップＳ４及びＳ５の何れかの調停動作の後、ステップＳ６でデータ転送動作が実行される。データ転送動作の後、ステップＳ１に処理が戻る。
【００７１】
上記説明したように第２の実施例においては、調停回路９９２を実装したクロスバスイッチ８５１を使用することにより、バスブリッジ８３１，８３２を介したデータ転送は、同時に最大２つのデータ転送まで並行して実行可能になる。従って、バスブリッジ８３１，８３２を介したデータ転送において、バス権の競合の発生の可能性はある低度低く抑えることが可能である。従って、高い転送能力を必要とするデータ転送に対しても、データ転送品質（QoS：クオリティ・オブ・サービス）を維持し続けることが比較的容易である。
【００７２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００７３】
例えば、バスブリッジとは、一般にプロトコル変換を行なう回路を指す用語であるが、本願においてはサブシステム間にプロトコル変換が必要なければ、バスブリッジ回路は必要ない。即ちサブシステム間にプロトコル変換が必要ない場合、上記各実施例の説明において、バスブリッジ回路を介したデータ転送経路は、単なるシステムバスの直接接続によるサブシステム間のデータ転送経路で置き換えることができる。
【００７４】
またクロスバスイッチは、他にも例えばクロスバス・スイッチ、バスマトリックス、マルチレイヤバス、インターコネクト、バススイッチ等の様々な異なる名称で呼ばれることがある。本願発明においてクロスバスイッチとは、経路を切り替え選択可能とすることで複数のモジュール間に並行に複数のデータ転送経路を設定可能な回路であればよく、特定の名称により特定される特定の構造を有する回路を意図したものではない。
【図面の簡単な説明】
【００７５】
【図１】システムバスによる回路モジュール接続の典型的な構成例を示す図である。
【図２】クロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。
【図３】ＡＭＢＡ規格のＡＨＢプロトコルを想定したバスブリッジ回路の一般的な構成例を示す図である。
【図４】バスブリッジを利用したクロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。
【図５】図４の構成においてマスタから見た場合のアドレスマップの構成を示す図である。
【図６】本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの基本構成を示す図である。
【図７】図６の構成においてマスタから見た場合のアドレスマップの構成の一例を示す図である。
【図８】本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第１の実施例を示す図である。
【図９】クロスバスイッチの構成の一例を示す図である。
【図１０】Ｉ／Ｆ制御モジュールの構成の一例を示す図である。
【図１１】制御可能アドレスデコーダの構成の一例を周辺の構成とともに示す図である。
【図１２】アドレスマップ切り替えの一例を示す図である。
【図１３】アドレスマップ切り替えの制御動作の一例を示すフローチャートである。
【図１４】本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第２の実施例を示す図である。
【図１５】図１４の構成においてマスタから見た場合のアドレスマップの構成を示す図である。
【図１６】クロスバスイッチの構成の一例を示す図である。
【図１７】多重バスブリッジに対する調停回路の調停動作の一例を示すフローチャートである。
【符号の説明】
【００７６】
４０１〜４０４  マスタモジュール
４０５〜４０８  スレーブモジュール
４１１〜４１６，４２１〜４２６  インターフェース
４３１，４３２  バスブリッジ
４５１，４５２  クロスバスイッチ
５０１〜５０４  マスタモジュール
５０５  デコーダ制御モジュール
５０６〜５０８  スレーブモジュール
５１１〜５１６  インターフェース
５２１〜５２６  インターフェース
５３１，５３２  バスブリッジ
５５１，５５２  クロスバスイッチ
６８１〜６８３  制御可能アドレスデコーダ
６８４〜６８６  Ｉ／Ｆ制御回路
６８７〜６８９  選択回路
６９１〜６９３  調停回路
６９４〜６９６  選択回路
【図１】
2007199859.tif 000003
【図２】
2007199859.tif 000004
【図３】
2007199859.tif 000005
【図４】
2007199859.tif 000006
【図５】
2007199859.tif 000007
【図６】
2007199859.tif 000008
【図７】
2007199859.tif 000009
【図８】
2007199859.tif 000010
【図９】
2007199859.tif 000011
【図１０】
2007199859.tif 000012
【図１１】
2007199859.tif 000013
【図１２】
2007199859.tif 000014
【図１３】
2007199859.tif 000015
【図１４】
2007199859.tif 000016
【図１５】
2007199859.tif 000017
【図１６】
2007199859.tif 000018
【図１７】
2007199859.tif 000019