(57)【要約】【課題】複数のデータ転送を同時に実行可能とすることによってデータの転送効率を向上させたリング型バスシステムを提供する。【解決手段】複数のモジュールと、各モジュールと接続してデータを所定の転送方向に転送するバス接続部と、このバス接続部を介してリング状に接続することによりデータの転送経路となる複数のバスと、全ての前記バス接続部を制御するバス制御部とからなるリング型バスシステムとする。バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、いずれか一方の転送経路を選択してデータを転送させる。転送経路の選択は、第１の転送経路と第２の転送経路とでバスの数の少ない方の転送経路を選択する。【選択図】図１
2005056112.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールと、
各モジュールと接続してデータを所定の転送方向に転送するバス接続部と、
このバス接続部を介してリング状に接続することによりデータの転送経路となる複数のバスと、
全ての前記バス接続部を制御するバス制御部と
からなるリング型バスシステム。
【請求項２】
前記バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、前記第１の転送経路と前記第２の転送経路とでバスの数の少ない方の転送経路を選択することを特徴とする請求項１記載のリング型バスシステム。
【請求項３】
前記バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、前記第１の転送経路と前記第２の転送経路のうちいずれか一方の転送経路の一部が他のデータ転送に使用されていた場合には、他方の転送経路を選択することを特徴とする請求項１記載のリング型バスシステム。
【請求項４】
第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、第１のデータ転送を停止して第２のデータ転送を行い、この第２のデータ転送の終了後、前記第１のデータ転送を再開することを特徴とする請求項１記載のリング型バスシステム。
【請求項５】
第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、前記バス制御部は、前記第１のデータ転送に使用している転送経路とは異なる転送経路を検出し、前記第１のデータ転送に使用する転送経路を切替えて前記第１のデータ転送を行うとともに前記第２のデータ転送を行うことを特徴とする請求項１記載のリング型バスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（大規模集積回路）等の半導体装置内に設けたモジュール間を接続するバスシステムに関するものであり、特に、複数のバスをリング型に接続して形成したリング型バスからなるリング型バスシステムに関するものである。
【背景技術】
【０００２】
従来、ＬＳＩ（大規模集積回路）等の半導体装置内には、演算部や記憶部等の各種機能を持たせたモジュールを設けるとともに、各モジュールを接続するバスを設け、このバスを介して各モジュール間における所要のデータの転送を可能としている。
【０００３】
このようなバスとしては、図７に示すように、両端をそれぞれ終端とした直線型バス100や、図８に示すように両端を接続することによりリング型としたリング型バス200が知られている（例えば、特許文献１参照。）。
【０００４】
このような直線型バスやリング型バスでは、バスに接続した第１のモジュールから、同じくバスに接続した第２のモジュールにデータを転送する場合には、第１のモジュールと第２のモジュールとの間でのみデータ転送を可能とする一方で、それ以外のモジュールはデータ転送を禁止することにより、第１のモジュールと第２のモジュールでのデータ転送を確実に実行可能としていた。
【特許文献１】特開平１０−２３０４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したように第１のモジュールと第２のモジュールとの間でデータ転送を行っている際に、それ以外のモジュール間ではデータ転送を禁止した場合には、データ転送は一組のモジュール間でのみしか実行できないことによって転送効率を向上させることが困難となっていた。
【０００６】
複数のデータ転送を同時実行させる方法としては、図９に示すように、各モジュール310をそれぞれバス320を介してスイッチバス330に接続し、スイッチバス330による切替操作によって所要のモジュール310間を接続するとともに、必要に応じて別のモジュール310間も接続することによってデータの同時転送を行う方法も提案されてはいるが、昨今のように半導体装置の機能向上にともなうモジュール310の増加によって、各モジュール310を全てスイッチバス330に接続することは極めて困難となっており、現実的な解決手段とはなっていなかった。
【課題を解決するための手段】
【０００７】
そこで、本発明では、複数のモジュールと、各モジュールと接続してデータを所定の転送方向に転送するバス接続部と、このバス接続部を介してリング状に接続することによりデータの転送経路となる複数のバスと、全てのバス接続部を制御するバス制御部とからなるリング型バスシステムとした。
【０００８】
また、バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、第１の転送経路と第２の転送経路とでバスの数の少ない方の転送経路を選択することにも特徴を有するものである。
【０００９】
また、バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、第１の転送経路と第２の転送経路のうちいずれか一方の転送経路の一部が他のデータ転送に使用されていた場合には、他方の転送経路を選択することにも特徴を有するものである。
【００１０】
また、第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、第１のデータ転送を停止して第２のデータ転送を行い、この第２のデータ転送の終了後、第１のデータ転送を再開することにも特徴を有するものである。
【００１１】
また、第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、バス制御部は第１のデータ転送に使用している転送経路とは異なる転送経路を検出し、第１のデータ転送に使用する転送経路を切替えて第１のデータ転送を行うとともに第２のデータ転送を行うことにも特徴を有するものである。
【発明の効果】
【００１２】
請求項１記載の発明によれば、複数のモジュールと、各モジュールと接続してデータを所定の転送方向に転送するバス接続部と、このバス接続部を介してリング状に接続することによりデータの転送経路となる複数のバスと、全てのバス接続部を制御するバス制御部とからなるリング型バスシステムとしたことによって、データの転送に使用しているバス以外のバスを他のデータの転送に用いることができ、同時に複数のデータ転送を実行とすることができる。特に、データの転送方向を切替える各バス接続部は、それぞれ２本のバスと接続しているだけであるので、バスの取回しを容易に行うことができ、極めて簡潔にリング型バスシステムを構築することができる。
【００１３】
請求項２記載の発明によれば、バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、第１の転送経路と第２の転送経路とでバスの数の少ない方の転送経路を選択することによって、より短時間でデータ転送を終了させることが可能な転送経路を使用することができるので、データの転送効率を向上させることができる。
【００１４】
請求項３記載の発明によれば、バス制御部は、転送元のモジュールと転送先のモジュールとを接続する第１の転送経路と第２の転送経路とを検出し、第１の転送経路と第２の転送経路のうちいずれか一方の転送経路の一部が他のデータ転送に使用されていた場合には、他方の転送経路を選択することによって、データ転送において待機状態が生じることを抑止できるので、データの転送効率を向上させることができる。
【００１５】
請求項４記載の発明によれば、第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、第１のデータ転送を停止して第２のデータ転送を行い、この第２のデータ転送の終了後、第１のデータ転送を再開することによって、データ転送に使用するバスの数が少ないことによって短時間でデータ転送を終了させることができる方のデータ転送を優先して実行することができるので、トータルとしてのデータ転送に要する時間を短縮させることができ、データの転送効率を向上させることができる。
【００１６】
請求項５記載の発明によれば、第１のデータ転送に使用されているバスを用いてデータを転送する第２のデータ転送が生じた場合には、バス制御部は第１のデータ転送に使用している転送経路とは異なる転送経路を検出し、第１のデータ転送に使用する転送経路を切替えて第１のデータ転送を行うとともに第２のデータ転送を行うことによって、複数のデータ転送を同時に実行することができるので、データの転送効率を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
本発明のリング型バスシステムは、図１（ａ）に示すように、複数のモジュールと、各モジュールと接続してデータを所定の転送方向に転送するバス接続部と、このバス接続部を介してリング状に接続することによりデータの転送経路となる複数のバスと、全てのバス接続部を制御するバス制御部とから構成しているものである。
【００１８】
本実施形態では、説明の便宜上、モジュールとして、第１モジュール11、第２モジュール12、第３モジュール13、第４モジュール14、第５モジュール15、第６モジュール16、第７モジュール17、第８モジュール18を設けているものとする。各モジュール11〜18は、プロセッサやメモリ等の各種の機能を有している機能部である。
【００１９】
各モジュール11〜18は、それぞれ、第１バス接続部21、第２バス接続部22、第３バス接続部23、第４バス接続部24、第５バス接続部25、第６バス接続部26、第７バス接続部27、第８バス接続部28と接続している。
【００２０】
そして、第１バス接続部21と第２バス接続部22とを第１バス31で接続し、第２バス接続部22と第３バス接続部23とを第２バス32で接続し、第３バス接続部23と第４バス接続部24とを第３バス33で接続し、第４バス接続部24と第５バス接続部25とを第４バス34で接続し、第５バス接続部25と第６バス接続部26とを第５バス35で接続し、第６バス接続部26と第７バス接続部27とを第６バス36で接続し、第７バス接続部27と第８バス接続部28とを第７バス37で接続し、第８バス接続部28と第１バス接続部21とを第８バス38で接続して、リング型バスを形成している。
【００２１】
このように、第１バス接続部21〜第８バス接続部28にはそれぞれ２本のバスを接続することによって、無端であって全てのバス接続部21〜28を一連に連結したバスを構成している。
【００２２】
さらに、第１バス接続部21〜第８バス接続部28はバス制御部40と接続しており、後述するようにバス制御部40によってデータの転送経路の制御を行っている。
【００２３】
上記したリング型バスシステムの動作を以下の順番で接続する。
（１）１つのデータ転送のみを行う場合
（２）１つのデータ転送中にそのデータ転送に使用していないバスを用いて別のデータ転送を行う場合
（３）１つのデータ転送中にそのデータ転送に使用しているバスを用いて別のデータ転送を行う場合
【００２４】
（１）１つのデータ転送のみを行う場合
リング型バスシステムにおいて、データ転送が行われていないときに、例えば第１モジュール11から第４モジュール14へのデータ転送処理が発生したとする。
【００２５】
この場合、バスがリング型となっていることによって、バス制御部40は、図１（ａ）に示すように、第１モジュール11と第４モジュール14とを接続する第１仮想転送経路R1と、第２仮想転送経路R2の２つの仮想転送経路を選定する。ここで、第１仮想転送経路R1は、第１バス31と第２バス32と第３バス33とから構成し、第２仮想転送経路R2は、第４バス34と第５バス35と第６バス36と第７バス37と第８バス38とから構成している。
【００２６】
そして、バス制御部40は、第１仮想転送経路R1と第２仮想転送経路R2のうち、第１仮想転送経路R1及び第２仮想転送経路R2を構成しているバスの数の少ない仮想転送経路、すなわち、ここでは第１仮想転送経路R1を、図１（ｂ）に示すように転送経路Ｔとして選択するように構成している。
【００２７】
転送経路Ｔの選択は、バス制御部40が第２仮想転送経路R2を構成しているバスを切り離すように第５バス接続部25、第６バス接続部26、第７バス接続部27を制御することによって行っている。
【００２８】
第１仮想転送経路R1と第２仮想転送経路R2のうち、バスの数の少ない仮想転送経路の方を転送経路Ｔとして選択することによって、バスの数の多い仮想転送経路よりも短時間でデータ転送を終了させることができるので、データの転送効率を向上させることができる。なお、第１仮想転送経路R1と第２仮想転送経路R2とにおいてバスの数が同数である場合には、いずれか一方を自由に選択してよい。
【００２９】
転送経路Ｔによるデータの転送後、バス制御部40は、切り離していたバスを再度接続させるよういしている。
【００３０】
（２）１つのデータ転送中にそのデータ転送に使用していないバスを用いて別のデータ転送を行う場合
リング型バスシステムにおいて、図２（ａ）に示すように、例えば第１モジュール11と第４モジュール14とを接続する第１バス31と第２バス32と第３バス33とから構成した第１転送経路T1において第１データ転送処理が行われている場合に、第８モジュール18から第６モジュール16への第２データ転送処理が発生したとする。
【００３１】
この場合、バス制御部40は、図２（ａ）に示すように、第８モジュール18と第６モジュール16とを接続する第１仮想転送経路R1と、第２仮想転送経路R2を選定する。ここで、第１仮想転送経路R1は、第８バス38と第１バス31と第２バス32と第３バス33と第４バス34と第５バス35とから構成し、第２仮想転送経路R2は、第６バス36と第７バス37とから構成している。
【００３２】
そして、バス制御部40は、第１仮想転送経路R1と第２仮想転送経路R2のうち、第１仮想転送経路R1の一部が第１転送経路T1として使用されているために使用できないことによって、図２（ｂ）に示すように第２仮想転送経路R2を第２転送経路T2として選択するように構成している。
【００３３】
この場合、第２仮想転送経路R2が第１仮想転送経路R1よりも少ない数のバスで構成しているかどうかは考慮することなく、データ転送に使用されていないバスが使用できるのであれば、そのバスを用いて転送経路を構成するようにしている。
【００３４】
すなわち、例えば図３（ａ）に示すように、第１モジュール11と第２モジュール12とを接続する第１バス31で構成した第１転送経路T1において第１データ転送処理が行われている場合に、第８モジュール18から第３モジュール13への第２データ転送処理が発生した場合でも、第８バス38と第１バス31と第２バス32とで構成する第１仮想転送経路R1の方が、第３バス33と第４バス34と第５バス35と第６バス36と第７バス37とで構成する第２仮想転送経路R2よりもバスの数が少ないにもかかわらず、第１仮想転送経路R1の第１バス31が既に第１転送経路T1として使用されているので、バス制御部40は、図３（ｂ）に示すように、第２仮想転送経路R2を第２転送経路T2として選択するように構成している。
【００３５】
このように、一方の仮想転送経路の一部が他のデータ転送に使用されていた場合には、他方の仮想転送経路を転送経路として選択することによって、データ転送において待機状態が生じることを抑止できるので、データの転送効率を向上させることができる。
（３）１つのデータ転送中にそのデータ転送に使用しているバスを用いて別のデータ転送を行う場合
リング型バスシステムにおいて、図４（ａ）に示すように、例えば第８モジュール18と第３モジュール13とを接続する第８バス38と第１バス31と第２バス32とで構成した第１転送経路T1において第１データ転送処理が行われている場合に、第１転送経路T1を構成している第１バス31を使用して第１モジュール11から第２モジュール12へデータを転送する第２転送経路T2による第２データ転送処理が発生したとする。
【００３６】
この場合、バス制御部40は、図４（ｂ）に示すように、第１転送経路T1によるデータ転送を一次中断し、第２転送経路T2による第１モジュール11から第２モジュール12への第２データ転送処理を先に実行するように構成している。
【００３７】
そして、バス制御部40は、第２データ転送処理の終了後に第１転送経路T1による第１データ転送処理を再開するように構成している。
【００３８】
このように、第１データ転送処理の実行中に、第１転送経路T1中の一部のバスを用いてデータを転送する第２データ転送処理が生じた場合に、第１データ転送処理のデータ転送を一次中断して第２データ転送処理のデータ転送を先に実行することによって、短時間でデータ転送を終了させることができる方のデータ転送を優先して終了させることができるので、トータルとしてのデータ転送に要する時間を短縮させることができ、データの転送効率を向上させることができる。
【００３９】
上記したように、第１データ転送処理の実行中に、第１転送経路T1中の一部のバスを用いてデータを転送する第２データ転送処理が生じた場合に、第１データ転送処理を中断させるのではなく、以下のようにして第１データ転送処理と第２データ転送処理とを同時に実行させることもできる。
【００４０】
すなわち、例えば、図５（ａ）に示すように、第８モジュール18と第３モジュール13とを接続する第８バス38と第１バス31と第２バス32とで構成した第１転送経路T1において第１データ転送処理が行われている場合に、第１転送経路T1を構成している第１バス31を使用して第１モジュール11から第２モジュール12へデータを転送する第２転送経路T2での第２データ転送処理が発生したとする。
【００４１】
この場合に、バス制御部40は、図５（ｂ）に示すように、第１転送経路T1を用いて行っていた第１データ転送処理を、第１転送経路T1とは異なる第３バス33と第４バス34と第５バス35と第６バス36と第７バス37とから構成した第３転送経路T3を検出して、その転送経路で第１データ転送処理を実施可能かどうかを検証し、第１データ転送処理が実施可能であった場合に第３転送経路T3に切り替えて第１データ転送処理を行うとともに、第２転送経路T2による第１モジュール11から第２モジュール12への第２データ転送処理を実行するように構成している。
【００４２】
したがって、第１データ転送処理と第２データ転送処理とを同時に実行することができるので、データの転送効率を向上させることができる。
【００４３】
なお、第１データ転送処理を第１転送経路T1から第３転送経路T3に切り替える場合に、第３転送経路T3のバスが他のデータ転送に使用されていた場合には、そのデータ転送が終了するまで、または、第２データ転送処理が終了するまで第１データ転送処理を一次中断し、先に空いた方の経路を用いて第１データ転送処理を再開するように構成している。
【００４４】
上記した実施形態では、同時に２種類のデータ転送を行う場合について説明したが、２種類のデータ転送を同時に行うだけでなく、データ転送が可能なバスを用いて、例えば図６に示すように、第１バス31で構成した第１転送経路T1と、第３バス33で構成した第２転送経路T2と、第５バス35で構成した第３転送経路T3と、第７バス37で構成した第４転送経路Ｔ4とによるデータ転送を同時に行うこともできる。
【図面の簡単な説明】
【００４５】
【図１】本発明にかかるリング型バスシステムの説明図である。
【図２】本発明にかかるリング型バスシステムの説明図である。
【図３】本発明にかかるリング型バスシステムの説明図である。
【図４】本発明にかかるリング型バスシステムの説明図である。
【図５】本発明にかかるリング型バスシステムの説明図である。
【図６】本発明にかかるリング型バスシステムの説明図である。
【図７】従来のバスシステムの説明図である。
【図８】従来のバスシステムの説明図である。
【図９】従来のバスシステムの説明図である。
【符号の説明】
【００４６】
11  第１モジュール
12  第２モジュール
13  第３モジュール
14  第４モジュール
15  第５モジュール
16  第６モジュール
17  第７モジュール
18  第８モジュール
21  第１バス接続部
22  第２バス接続部
23  第３バス接続部
24  第４バス接続部
25  第５バス接続部
26  第６バス接続部
27  第７バス接続部
28  第８バス接続部
31  第１バス
32  第２バス
33  第３バス
34  第４バス
35  第５バス
36  第６バス
37  第７バス
38  第８バス
40  バス制御部
【図１】
2005056112.tif 000003
【図２】
2005056112.tif 000004
【図３】
2005056112.tif 000005
【図４】
2005056112.tif 000006
【図５】
2005056112.tif 000007
【図６】
2005056112.tif 000008
【図７】
2005056112.tif 000009
【図８】
2005056112.tif 000010
【図９】
2005056112.tif 000011