(57)【要約】【課題】  転送系統数より多くのデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができるバス装置を提供する。【解決手段】  マスタ１１〜１ｎ及びスレーブ２１〜２ｍのバス３との接続点にスイッチ部４１１〜４ｎ１，４１２〜４ｍ２をそれぞれ設け、これらスイッチ部によりデータ転送要求に応じた転送経路をバス３から分割することで、１系統のデータ転送系統であっても複数のデータ転送を同時に実行する。【選択図】        図１
2005276136.tif 000002
【特許請求の範囲】
【請求項１】
バスを介して互いに接続する複数のマスタ装置及び複数のスレーブ装置を備えたバス装置において、上記複数のマスタ装置及び上記複数のスレーブ装置と上記バスとの各接続点に設けられ、これら装置によるデータ転送に応じて上記接続点でバスを分割してデータ転送経路を形成するスイッチ部を備えたことを特徴とするバス装置。
【請求項２】
スイッチ部は、複数のマスタ装置及び複数のスレーブ装置による複数のデータ転送に応じて接続点でバスを分割してデータ転送経路をそれぞれ形成し、これらデータ転送経路により複数のデータ転送を同時に実行することを特徴とする請求項１記載のバス装置。
【請求項３】
複数のマスタ装置及び複数のスレーブ装置は、複数のバスを介して互いに接続し、スイッチ部は、上記複数のマスタ装置及び上記複数のスレーブ装置による複数のデータ転送に応じて接続点で上記バスを分割してデータ転送経路をそれぞれ形成し、これらデータ転送経路により複数のデータ転送を同時に実行することを特徴とする請求項１記載のバス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のマスタと複数のスレーブをバスで接続し、マスタとスレーブ間でデータ転送するバス装置に関するものである。
【背景技術】
【０００２】
単一バス系統のバス装置では、あるマスタから要求されたデータ転送が実行中であると、実行中のデータ転送が終了するまで他のマスタからのデータ転送要求は待ち状態になるように制御される。このため、データ転送要求の待ち状態の頻度やタイミングによってバス装置全体の性能が低下する可能性がある。
【０００３】
このような不具合を解消するため、従来では、データ転送のためのバス系統を複数設けることで、複数のマスタから転送要求されたデータを同時に多重転送するバス装置が提案されてきた。
【０００４】
上述したようなバス装置として、例えば特許文献１に開示されるものがある。特許文献１のバス装置では、複数のマスタの各々に多重転送のための専用バス系統が設けられ、スレーブとこれらバス系統との間にスイッチ部が設けられている（以下、従来例１と称する）。上記スイッチ部によりスレーブがバス系統を選択することができ、各バスの系統を同時に使用することが可能である。これによりデータ多重転送を実現している。
【０００５】
また、この他に、特許文献１では、各マスタと複数のバス系統との間にスイッチ部を設けて、マスタ及びスレーブにおいてもバスの系統を選択する構成（以下、従来例２と称する）も開示されている。このように構成することで、最大バス系統数分の多重転送を実現することができる。
【０００６】
【特許文献１】特開平１１−２８２７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のバス装置は、データ多重転送のために膨大な配線量が必要であったり、バス系統を減らすとその分多重化が不十分になってしまうという課題があった。
【０００８】
例えば、従来例１によるバス装置では、複数のマスタごとにデータ転送のためのバス系統を設けるため、データの多重転送が可能である反面、バス信号に対応する配線量が膨大になり、装置全体のコストが高くなってしまう。
【０００９】
また、従来例２は、マスタがスイッチ部によりバスのデータ転送系統を選択することができるため、従来例１に比べ、バスの系統数を減らすことができる。しかしながら、従来例２の構成では、データ転送系統数がｎであった場合、最大多重化はｎまでであるため、装置全体の性能を十分に高くすることができない。
【００１０】
この発明は、上記課題を解決するためになされたもので、マスタ及びスレーブのバスとの接続部にそれぞれ設けたスイッチ部によりバスを分割してデータ転送に割り当てることで、転送系統数より多くのデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができるバス装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るバス装置は、バスを介して互いに接続する複数のマスタ装置及び複数のスレーブ装置を備えたバス装置において、複数のマスタ装置及び複数のスレーブ装置とバスとの各接続点に設けられ、これら装置によるデータ転送に応じて接続点でバスを分割してデータ転送経路を形成するスイッチ部を備えるものである。
【発明の効果】
【００１２】
この発明によれば、バスを介して互いに接続する複数のマスタ装置及び複数のスレーブ装置を備えたバス装置において、複数のマスタ装置及び複数のスレーブ装置とバスとの各接続点に設けられ、これら装置によるデータ転送に応じて接続点でバスを分割してデータ転送経路を形成するスイッチ部を備えるので、転送系統数より多くのデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができるという効果がある。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１は、この発明の実施の形態１によるバス装置の構成を示す図である。実施の形態１によるバス装置は、複数のマスタ１１〜１ｎ及びこれらマスタをバス３にそれぞれ接続するスイッチ部４１１〜４ｎ１並びに複数のスレーブ２１〜２ｍ及びこれらマスタをバス３にそれぞれ接続するスイッチ部４１２〜４ｍ２からなり、これらマスタ及びスレーブ並びにスイッチ部にそれぞれ信号線を介して接続するアービタ５によってデータ転送が制御される。但し、ｎ，ｍは自然数である。バス３は、マスタとスレーブとの間でのデータ転送に関するコマンド、アドレス、データを転送する。
【００１４】
図２は、図１中のマスタ及びスレーブ周辺の構成を示す図であり、例えば１系統のバス３に複数のマスタ及び複数スレーブを接続した場合の構成を示している。マスタ１１〜１ｎ及びスレーブ２１〜２ｍは１系統のバス３にそれぞれ接続しており、その接続点にスイッチ部４１１〜４ｎ１，４１２〜４ｍ２がそれぞれ設けられる。これらスイッチ部４１１〜４ｎ１，４１２〜４ｍ２を介してマスタ１１〜１ｎとスレーブ２１〜２ｍとの間でデータ転送６１〜６ｎが実行される。なお、図では、マスタ１１〜１ｎとスレーブ２１〜２ｍが順番に並んで配置されている例を示したが、任意の並び順であっても構わない。
【００１５】
マスタ１１〜１ｎは例えばＣＰＵ等であり、スレーブ２１〜２ｍとしては例えば上記ＣＰＵ等との間でデータのやり取りが行われるＲＡＭやＲＯＭ等の記憶装置が考えられる。スイッチ部４１１〜４ｎ１，４１２〜４ｍ２は、バス３における信号の流れを開閉して所望のマスタとスレーブとの間でデータ転送させる構成であればよく、例えば図３に示すようなものが考えられる。
【００１６】
図３では、図２中のスイッチ４２１を例にして示している。図示の例によるスイッチ４２１は、２つのＰＭＯＳトランジスタ４２１１，４２１２を直列に接続し、マスタ１２への信号線をその接点に設けて構成される。ＰＭＯＳトランジスタ４２１１，４２１２のゲートは、アービタ５からの信号線に接続している。これにより、アービタ５から上記信号線を介して伝送された制御信号でＰＭＯＳトランジスタ４２１１，４２１２がオンオフ制御される。また、他のスイッチ部４１１，４３１〜４ｎ１，４１２〜４ｍ２も同様の構成であるものとする。
【００１７】
例えば、スイッチ部４１２において、アービタ５からの制御信号でＰＭＯＳトランジスタ４２１１がオフ状態になり、ＰＭＯＳトランジスタ４２１２がオン状態になった場合を考える。このとき、マスタ１２は、ＰＭＯＳトランジスタ４２１２側のバス３でデータ転送可能となり、ＰＭＯＳトランジスタ４２１１側のバス３とは分離される。
【００１８】
なお、図３では、スイッチ部の機能についての理解を容易にするために簡略化した構成を示したもので、これに限定されるものではなく、バス３における信号の流れをオンオフすることが可能な回路であればよい。
【００１９】
次に動作について説明する。
マスタ１１〜１ｎは、データ転送をするにあたり、図１に示すように、転送先のスレーブを識別するスレーブＩＤ及びデータ転送要求であるｒｅｑｕｅｓｔ信号からなるデータ転送要求信号をアービタ５に出力する。
【００２０】
アービタ５では、マスタからのデータ転送要求信号に基づいて当該要求に応じた転送経路が存在するか否かを判断し、この結果をｓｗ＿ｂｕｓｙ信号として当該マスタに出力する。例えば、データ転送要求信号中のスレーブＩＤで特定されたスレーブや当該要求を行ったマスタに対応するスイッチ部が他のデータ転送によって使用されており、当該要求に応じたデータ転送経路を構成することができない場合、当該転送経路が存在しないと判断する。
【００２１】
この場合、アービタ５は、スイッチ部が他のデータ転送で使用されており、当該データ転送要求に応じた転送経路が存在しない旨を、ｓｗ＿ｂｕｓｙ信号をＨ（ハイ）レベルにしてマスタに出力する。一方、データ転送要求に応じた転送経路が存在する場合、ｓｗ＿ｂｕｓｙ信号をＬ（ロウ）レベルにしてマスタに出力する。
【００２２】
また、アービタ５は、データ転送要求に応じた転送経路が存在しない場合、ｒｅｑｕｅｓｔ２信号をＬ（ロウ）レベルにして、当該要求信号中のスレーブＩＤで特定されたスレーブに出力する。一方、データ転送要求に応じた転送経路が存在する場合、ｒｅｑｕｅｓｔ２信号をＨ（ハイ）レベルにして上記スレーブに出力する。このとき、スレーブは、データ転送を了解した旨のＡｃｋ信号をデータ転送要求したマスタに出力し、データ転送が実行される。
【００２３】
次に、複数のマスタと複数のスレーブとの間でのデータ転送要求が同時になされた場合の処理について説明する。ここでは、図４（ａ）に示すように、マスタ１１からスレーブ２１へのデータ転送、マスタ１２からスレーブ２３へのデータ転送、マスタ１３からスレーブ２２へのデータ転送が、図４（ｂ）に示すように互いの転送処理が終了する前に実行要求された場合を例にして説明する。
【００２４】
マスタ１１，１２，１３は、スレーブ２１，２３，２２へのデータ転送を実行するにあたり、上述したようなデータ転送要求信号（Ｈレベルのｒｅｑｕｅｓｔ信号、スレーブＩＤ）をアービタ５に出力する。なお、マスタはデータ転送が完了するまでＨレベルのｒｅｑｕｅｓｔ信号を出力し続ける。これにより、アービタ５が、他のデータ転送要求があった場合に、マスタからのｒｅｑｕｅｓｔ信号のレベルに基づいて既存のデータ転送の有無を判断できるようにしている。
【００２５】
アービタ５は、マスタ１２からスレーブ２３へのデータ転送要求があると、スレーブＩＤで特定したスレーブ２３とマスタ１２との間のスイッチ部４２１，４２２，４３１，４３２が他のデータ転送に使用されているか否かを判断する。
【００２６】
図４（ｂ）では、マスタ１２からスレーブ２３へのデータ転送要求が最も早くなされ、他のデータ転送によってスイッチ部が使用されていないので、アービタ５は、スイッチ部４２１，４２２，４３１，４３２がオン状態になるよう制御する。例えば、図３に示す構成であれば、スイッチ部４２１，４２２，４３１，４３２のＰＭＯＳトランジスタをオン制御してマスタ１２からスレーブ２３までのデータ転送経路を設定する。また、スイッチ部４２１，４３２の他のＰＭＯＳトランジスタをオフ制御してバス３を分割してマスタ１２からスレーブ２３までのデータ転送経路を他の転送経路とは独立に形成する。
【００２７】
これにより、アービタ５は、データ転送要求に応じた転送経路が存在する旨を示すＬレベルのｓｗ＿ｂｕｓｙ信号をマスタ１２に出力すると共に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２３に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２３は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１２に出力し、データ転送が実行される（図４（ｂ）中のＤａｔａ欄参照）。
【００２８】
このあと、図４（ｂ）に示すように、マスタ１２からスレーブ２３へのデータ転送が終了する前に、マスタ１１からスレーブ２１へのデータ転送要求がなされると、アービタ５は、スレーブＩＤで特定したスレーブ２１とマスタ１１との間のスイッチ部４１１，４１２が他のデータ転送に使用されているか否かを判断する。
【００２９】
図４（ｂ）の例では、他のデータ転送によってスイッチ部４１１，４１２が使用されていないので、アービタ５は、これらがオン状態になるよう制御する。このとき、マスタ１２からスレーブ２３へのデータ転送に影響を与えないように、マスタ１２からスレーブ２３へのデータ転送経路をバス３から分割するようにスイッチ部の制御がなされる。
【００３０】
例えば、図３に示す構成であれば、スイッチ部４１２のマスタ１１側のＰＭＯＳトランジスタをオン制御すると共に、マスタ１２からスレーブ２３へのデータ転送に影響を与えないように、スイッチ部４１２のマスタ１２側のＰＭＯＳトランジスタをオフ制御する。これにより、バス３を分割してマスタ１２からスレーブ２３へのデータ転送経路とは独立にマスタ１１からスレーブ２１までのデータ転送経路が形成されることになる。
【００３１】
次に、アービタ５は、データ転送要求に応じた転送経路が存在する旨を示すＬレベルのｓｗ＿ｂｕｓｙ信号をマスタ１１に出力すると共に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２１に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２１は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１１に出力する。このようにして、マスタ１２からスレーブ２３へのデータ転送と同時にマスタ１１からスレーブ２１へのデータ転送が実行される（図４（ｂ）中のＤａｔａ欄参照）。つまり、バス３によるデータ転送系統数＋１のデータ転送が同時に実行されることになる。
【００３２】
続いて、図４（ｂ）に示すように、マスタ１２からスレーブ２３へのデータ転送、及び、マスタ１１からスレーブ２１へのデータ転送が終了する前に、マスタ１３からスレーブ２２へのデータ転送要求がなされると、アービタ５は、スレーブＩＤで特定したスレーブ２２とマスタ１３との間のスイッチ部４３１，４２２が他のデータ転送に使用されているか否かを判断する。
【００３３】
このとき、スイッチ部４３１，４２２は、マスタ１２からスレーブ２３へのデータ転送で使用されているので、アービタ５は、当該スイッチ部が使用されている間、Ｈレベルのｓｗ＿ｂｕｓｙ信号をマスタ１３に出力する（図４（ｂ）参照）。マスタ１３は、Ｈレベルのｒｅｑｕｅｓｔ信号をアービタ５に出力して要求を続けるが、アービタ５からＨレベルのｓｗ＿ｂｕｓｙ信号が出力されている間はデータ転送待ち状態に入る。
【００３４】
このあと、アービタ５は、マスタ１２からのｒｅｑｕｅｓｔ信号がＬレベルとなり、マスタ１２とスレーブ２３との間のデータ転送が完了したものと判断されると、これに応じてマスタ１３からスレーブ２２までのデータ転送経路を設定するようにスイッチ部４３１，４２２をオン状態に制御し、Ｌレベルのｓｗ＿ｂｕｓｙ信号をマスタ１３に出力する。
【００３５】
例えば、図３に示す構成であれば、スイッチ部４３１のスレーブ２２側のＰＭＯＳトランジスタをオン制御すると共に、スレーブ２３側のバス３領域と分離するため、スイッチ部４３１のスレーブ２３側のＰＭＯＳトランジスタをオフ制御する。また、スイッチ部４２２のマスタ１３側のＰＭＯＳトランジスタをオン制御すると共に、マスタ１２側のバス３領域と分離するため、スイッチ部４２２のマスタ１２側のＰＭＯＳトランジスタをオフ制御する。これにより、バス３を分割してマスタ１３からスレーブ２２までのデータ転送経路が形成される。即ち、他のデータ転送経路とは独立にマスタ１３からスレーブ２２までのデータ転送経路が設定されることになる。
【００３６】
また、アービタ５は、Ｌレベルのｓｗ＿ｂｕｓｙ信号をマスタ１３に出力すると同時に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２２に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２２は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１３に出力する。このようにして、マスタ１１からスレーブ２１へのデータ転送と同時にマスタ１３からスレーブ２２へのデータ転送が実行される（図４（ｂ）中のＤａｔａ欄参照）。
【００３７】
以上のように、この実施の形態１によれば、マスタ１１〜１ｎ及びスレーブ２１〜２ｍのバス３との接続点にスイッチ部４１１〜４ｎ１，４１２〜４ｍ２をそれぞれ設け、これらスイッチ部によりデータ転送要求に応じた転送経路をバス３から分割することで、１系統のデータ転送系統であっても複数のデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができる。
【００３８】
なお、図３に示す構成を有するスイッチ部において、互いに隣り合うスイッチ部については、いずれか一方のＰＭＯＳトランジスタを省略してもよい。例えば、図２に示すよう、スイッチ部４１２，４２１は、互いにＰＭＯＳトランジスタ同士で接続されることになるため、これらトランジスタのうちのいずれか一方を削除しても構わない。
【００３９】
例えば、スイッチ部４２１のＰＭＯＳトランジスタ４２１１を削除しても、スイッチ部４１２のＰＭＯＳトランジスタが、データ転送経路を設定するにあたり必要に応じてバス３を分割することが可能となる。このように、本発明によるスイッチ部は、図３に示したようなＰＭＯＳトランジスタを使用したものでなくとも、必要に応じてバス３を分割することができる構成であればよい。
【００４０】
また、図３に示すスイッチ部の構成では、２つのＰＭＯＳトランジスタ４２１１，４２１２をオンオフ制御するための信号線がそれぞれ必要であったが、図５に示すように、１本の信号線でアービタ５とシリアル・パラレル変換回路４２１３とを接続し、シリアル・パラレル変換回路４２１３から２本の信号線でＰＭＯＳトランジスタ４２１１，４２１２をオンオフ制御するように構成してもよい。
【００４１】
この構成では、アービタ５が、１本の信号線を介してスイッチ部４２１のＰＭＯＳトランジスタ４２１１，４２１２をオンオフ制御するための制御信号をシリアルに送信し、シリアル・パラレル変換回路４２１３が受信する。シリアル・パラレル変換回路４２１３では、受信した制御信号に関するシリアル信号をパラレル信号に変換して対応するＰＭＯＳトランジスタ４２１１，４２１２に出力する。このように構成することで、スイッチ部とアービタ５との間での配線数を削減することができ、装置全体のコストを低減することができる。
【００４２】
実施の形態２．
図６は、この発明の実施の形態２によるバス装置の構成を示す図であり、２系統のバスに複数マスタ及び複数スレーブが接続されている。実施の形態２によるバス装置は、複数のマスタ１１〜１ｎ及びこれらマスタをバス３１，３２にそれぞれ接続するスイッチ部４１１〜４ｎ１，４１３〜４ｎ３並びに複数のスレーブ２１〜２ｍ及びこれらマスタをバス３１，３２にそれぞれ接続するスイッチ部４１２〜４ｍ２，４１４〜４ｍ４からなる。また、上記実施の形態１と同様に上記マスタ及びスレーブ並びにスイッチ部にそれぞれ信号線を介して接続するアービタ５によってデータ転送７１，７２，７３が制御される。但し、ｎ，ｍは自然数である。
【００４３】
スイッチ部４１１〜４ｎ１，４１２〜４ｍ２，４１３〜４ｎ３，４１４〜４ｍ４及びバス３１，３２を介してマスタ１１〜１ｎとスレーブ２１〜２ｍとの間でデータ転送７１〜７ｎが実行される。なお、図では、マスタ１１〜１ｎとスレーブ２１〜２ｍが順番に並んで配置されている例を示したが、任意の並び順であっても構わない。
【００４４】
また、マスタ１１〜１ｎは例えばＣＰＵ等であり、スレーブ２１〜２ｍとしては例えば上記ＣＰＵ等との間でデータのやり取りが行われるＲＡＭやＲＯＭ等の記憶装置が考えられる。スイッチ部４１１〜４ｎ１，４１２〜４ｍ２，４１３〜４ｎ３，４１４〜４ｍ４は、バス３１，３２における信号の流れを開閉して所望のマスタとスレーブとの間でデータ転送させる構成であればよく、例えば図７に示すようなものが考えられる。
【００４５】
図７では、図６中のスイッチ４１４を例にして示している。図示の例によるスイッチ４１４は、６つのＰＭＯＳトランジスタ４１４１〜４１４６から構成され、バス３２上にＰＭＯＳトランジスタ４１４１，４１４２を直列に接続し、バス系統３１への信号線上にＰＭＯＳトランジスタ４１４３，４１４４を直列に接続し、直列接続した各ＰＭＯＳトランジスタ対を跨ぐようにＰＭＯＳトランジスタ４１４５，４１４６がそれぞれ接続される。
【００４６】
ＰＭＯＳトランジスタ４１４１〜４１４６の各ゲートは、アービタ５からの信号線に接続している。これにより、アービタ５から上記信号線を介して伝送された制御信号でＰＭＯＳトランジスタ４１４１〜４１４６がオンオフ制御される。また、他のスイッチ部４１１〜４ｎ１，４１２〜４ｍ２，４１３〜４ｎ３，４１４〜４ｍ４も同様の構成であるものとする。
【００４７】
例えば、スイッチ部４１４において、アービタ５からの制御信号でＰＭＯＳトランジスタ４１４２，４１４３，４１４５，４１４６をオフ状態とし、ＰＭＯＳトランジスタ４１４１，４１４４をオン状態にした場合を考える。このとき、スレーブ２１は、ＰＭＯＳトランジスタ４１４１側のバス３２でデータ転送可能となり、バス系統３１やＰＭＯＳトランジスタ４１４２側のバス３２とは分離される。
【００４８】
なお、図７では、スイッチ部の機能についての理解を容易にするために簡略化した構成を示したもので、これに限定されるものではなく、バス３１，３２における信号の流れをオンオフすることが可能な回路であればよい。つまり、本実施の形態によるスイッチ部は、上記実施の形態１と同様にバスを分割する機能を有し、かつ、バス系統３１からスレーブ２１に転送される信号がバス系統３２に影響を与えない機能を有する。
【００４９】
次に動作について説明する。
マスタ１１〜１ｎは、データ転送をするにあたり、上記実施の形態１で示したように、転送先のスレーブを識別するスレーブＩＤ及びデータ転送要求であるｒｅｑｕｅｓｔ信号からなるデータ転送要求信号をアービタ５に出力する。
【００５０】
アービタ５では、マスタからのデータ転送要求信号に基づいて当該要求に応じた転送経路が存在するか否かを判断し、この結果をｓｗ＿ｂｕｓｙ信号として当該マスタに出力する。例えば、データ転送要求信号中のスレーブＩＤで特定されたスレーブや当該要求を行ったマスタに対応するスイッチ部が他のデータ転送によって使用されており、当該要求に応じたデータ転送経路を構成することができない場合、当該転送経路が存在しないと判断する。
【００５１】
この場合、アービタ５は、スイッチ部が他のデータ転送で使用されており、当該データ転送要求に応じた転送経路が存在しない旨を、ｓｗ＿ｂｕｓｙ信号をＨ（ハイ）レベルにしてマスタに出力する。一方、データ転送要求に応じた転送経路が存在する場合、ｓｗ＿ｂｕｓｙ信号をＬ（ロウ）レベルにしてマスタに出力する。
【００５２】
また、アービタ５は、データ転送要求に応じた転送経路が存在しない場合、ｒｅｑｕｅｓｔ２信号をＬ（ロウ）レベルにして、当該要求信号中のスレーブＩＤで特定されたスレーブに出力する。一方、データ転送要求に応じた転送経路が存在する場合、ｒｅｑｕｅｓｔ２信号をＨ（ハイ）レベルにして上記スレーブに出力する。このとき、スレーブは、データ転送を了解した旨のＡｃｋ信号をデータ転送要求したマスタに出力し、データ転送が実行される。ここまでの基本動作は、上記実施の形態１と同様である。
【００５３】
次に、複数のマスタと複数のスレーブとの間でのデータ転送要求が同時になされた場合の処理について説明する。ここでは、図８に示すように、マスタ１２からスレーブ２１へのデータ転送Ｂ及びマスタ１３からスレーブ２２へのデータ転送Ｃが実行されている途中に、マスタ１１からスレーブ２３へのデータ転送要求ａがなされた場合を説明する。
【００５４】
マスタ１１，１２，１３は、スレーブ２１，２３，２２へのデータ転送を実行するにあたり、上述したようなデータ転送要求信号（Ｈレベルのｒｅｑｕｅｓｔ信号、スレーブＩＤ）をアービタ５に出力する。なお、マスタはデータ転送が完了するまでＨレベルのｒｅｑｕｅｓｔ信号を出力し続ける。これにより、アービタ５が、他のデータ転送要求があった場合に、マスタからのｒｅｑｕｅｓｔ信号のレベルに基づいて既存のデータ転送の有無を判断できるようにしている。
【００５５】
先ず、アービタ５は、マスタ１２からスレーブ２１へのデータ転送要求ｂがあると、スレーブＩＤで特定したスレーブ２１とマスタ１２との間のスイッチ部４２１，４２３，４１４が他のデータ転送に使用されているか否かを判断する。
【００５６】
他のデータ転送によってスイッチ部が使用されていないと、アービタ５は、スイッチ部４２１，４２３，４１４がオン状態になるよう制御する。例えば、図７に示す構成であれば、スイッチ部４２１，４２３，４１４のＰＭＯＳトランジスタをオン制御してマスタ１２からスレーブ２１までのデータ転送経路を設定する。
【００５７】
このとき、アービタ５は、他のデータ転送に影響を与えないようにするため、バス３１，３２を分割してマスタ１２からスレーブ２１までのデータ転送経路を割りあてるべくスイッチ部４２１，４２３，４１４のＰＭＯＳトランジスタのオンオフ制御を実行する。
【００５８】
これにより、アービタ５は、データ転送要求ｂに応じた転送経路が存在する旨を示すＬレベルのｓｗ＿ｂｕｓｙ信号をマスタ１２に出力すると共に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２１に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２１は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１２に出力し、データ転送Ｂが実行される。
【００５９】
また、マスタ１３からスレーブ２２へのデータ転送要求ｃがあると、アービタ５は、スレーブＩＤで特定したスレーブ２２とマスタ１３との間のスイッチ部４３１，４３３，４２４が他のデータ転送に使用されているか否かを判断する。
【００６０】
これらスイッチ部は他のデータ転送によって使用されていないので、アービタ５は、スイッチ部４３１，４３３，４２４がオン状態になるよう制御する。例えば、図７に示す構成であれば、スイッチ部４３１，４３３，４２４のＰＭＯＳトランジスタをオン制御してマスタ１３からスレーブ２２までのデータ転送経路を設定する。
【００６１】
このとき、アービタ５は、他のデータ転送に影響を与えないようにするため、バス３１，３２から分割してマスタ１３からスレーブ２２までのデータ転送経路を形成すべくスイッチ部４３１，４３３，４２４のＰＭＯＳトランジスタのオンオフ制御を実行する。
【００６２】
これにより、アービタ５は、データ転送要求ｃに応じた転送経路が存在する旨を示すＬレベルのｓｗ＿ｂｕｓｙ信号をマスタ１３に出力すると共に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２２に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２２は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１３に出力し、データ転送Ｃが実行される。
【００６３】
このあと、データ転送Ｂ，Ｃが終了する前に、マスタ１１からスレーブ２３へのデータ転送要求ａがなされると、アービタ５は、スレーブＩＤで特定したスレーブ２３とマスタ１１との間のスイッチ部４１１〜４３４が他のデータ転送に使用されているか否かを判断する。
【００６４】
ここで、スイッチ部４１１，４１２，４２２，４３２，４３４は、他のデータ転送Ｂ，Ｃに使用されていない。そこで、アービタ５は、これらがオン状態になるよう制御する。このとき、データ転送Ｂ，Ｃに影響を与えないように、マスタ１１からスレーブ２３へのデータ転送経路は、バス３１，３２を分割して形成する。
【００６５】
例えば、図７に示す構成のスイッチ部４１１であれば、バス３２への信号線から分離されるようにバス３２側のＰＭＯＳトランジスタをオフ制御し、マスタ１１及びスイッチ部４１２側のＰＭＯＳトランジスタをオン制御する。また、スイッチ部４１２では、スレーブ２１を介した転送経路から分離されるようにスレーブ２１側のＰＭＯＳトランジスタをオフ制御し、スイッチ部４１１，４２１側のＰＭＯＳトランジスタをオン制御する。
【００６６】
スイッチ部４２２では、スレーブ２２を介した転送経路から分離されるようにスレーブ２２側のＰＭＯＳトランジスタをオフ制御し、スイッチ部４２１，４３１側のＰＭＯＳトランジスタをオン制御する。
【００６７】
スイッチ部４３２では、転送経路がバス３２へのコーナーとなってバス３１から分離されるようスイッチ部４３１及びバス３２側のＰＭＯＳトランジスタのみをオン制御する。さらに、スイッチ部４３４では、スレーブ２２側の転送経路から分離されるようにスイッチ部４３３側のＰＭＯＳトランジスタをオフ制御し、スイッチ部４３２及びスレーブ２３側のＰＭＯＳトランジスタをオン制御する。
【００６８】
一方、スイッチ部４２１，４３１は、データ転送Ｂ，Ｃにそれぞれ使用されている。このとき、アービタ５は、当該スイッチ部の切り替えによってデータ転送要求ａに対応した転送経路を設定できるか否かを判定する。例えば、図７に示す構成のスイッチ部であれば、ＰＭＯＳトランジスタのオンオフ制御によって転送経路を複数パターン設定することができる。
【００６９】
特に、ＰＭＯＳトランジスタ４１４５は、ＰＭＯＳトランジスタ４１４１，４１４２がオフ状態であるときにオン制御することで、バス系統３１及びスレーブ２１間の経路と分離してバス３２を他の転送経路に使用することができる。また、ＰＭＯＳトランジスタ４１４６も、ＰＭＯＳトランジスタ４１４２，４１４３がオフ状態であるときにオン制御することで、バス３２と独立してバス系統３１及びスレーブ２１間の経路を他の転送経路に使用することができる。
【００７０】
上記判定処理においてデータ転送Ｂ，Ｃに使用されているスイッチ部をどのように切り替えてもデータ転送要求ａに対応した転送経路を設定できないと判定される場合、アービタ５は、これらスイッチ部が使用されている間、Ｈレベルのｓｗ＿ｂｕｓｙ信号をマスタ１１に出力する。マスタ１１は、Ｈレベルのｒｅｑｕｅｓｔ信号をアービタ５に出力して要求を続けるが、アービタ５からＨレベルのｓｗ＿ｂｕｓｙ信号が出力されている間はデータ転送待ち状態に入る。
【００７１】
図８の例において、アービタ５は、データ転送Ｂ，Ｃに使用されているスイッチ部４２１，４３１の切り替えによって構築可能な転送経路のパターンを判断し、これらスイッチ部について上述したようなＰＭＯＳトランジスタのオンオフ制御で図８下段に示したような転送経路がデータ転送要求ａに対応した転送経路として設定することができると判定する。
【００７２】
このあと、アービタ５は、データ転送Ｂにおいて、マスタ１３からスレーブ２２までのデータ転送経路をバス３１，３２から分離すべくスイッチ部４２１のＰＭＯＳトランジスタがオンオフ制御されているところ、当該データ転送Ｂによる転送経路から独立して、つまり、バス３１，３２を分割してデータ転送要求ａに対応した転送経路が形成されるようスイッチ部４２１を切り替える。
【００７３】
ここで、スイッチ部４２１，４３１が、図７において、「バス系統３１に接続」を「マスタ１２（マスタ１３）に接続」と、「スレーブ２１に接続」を「スイッチ部４２３（スイッチ部４３３）に接続」と、「バス３２」を「バス３１」と読み替えた構成である場合を考える。
【００７４】
このとき、スイッチ部４２１において、マスタ１２からスイッチ部４２３への経路をバス３１，３２から分離するように、例えばＰＭＯＳトランジスタ４１４６のみがオン制御されていたところ、アービタ５は、ＰＭＯＳトランジスタ４１４５もオン状態にする。同様に、スイッチ部４３１において、マスタ１３からスイッチ部４３３への経路をバス３１，３２から分離するように、例えばＰＭＯＳトランジスタ４１４６のみがオン制御されていたところ、アービタ５は、ＰＭＯＳトランジスタ４１４５もオン状態にする。これにより、データ転送要求ａに対応した転送経路の一部であるスイッチ部４２１からスイッチ部４３１間の経路が設定される。
【００７５】
次に、アービタ５は、データ転送要求ａに応じた転送経路が存在する旨を示すＬレベルのｓｗ＿ｂｕｓｙ信号をマスタ１１に出力すると共に、Ｈレベルのｒｅｑｕｅｓｔ２信号をスレーブ２３に出力する。Ｈレベルのｒｅｑｕｅｓｔ２信号を受けると、スレーブ２３は、上記転送経路を介してデータ転送を了解した旨のＡｃｋ信号をマスタ１１に出力する。このようにして、データ転送Ｂ，Ｃと同時にマスタ１１からスレーブ２３へのデータ転送Ａが実行される。つまり、バス３１，３２によるデータ転送系統数＋１のデータ転送が同時に実行されることになる。
【００７６】
以上のように、この実施の形態２によれば、マスタ１１〜１ｎ及びスレーブ２１〜２ｍのバス３１，３２との接続点にスイッチ部４１１〜４ｎ１，４１３〜４ｎ３，４１２〜４ｍ２，４１４〜４ｍ４をそれぞれ設け、これらスイッチ部によりデータ転送要求に応じた転送経路をバス３１，３２から分割することで、データ転送系統数を超えるデータ転送要求があっても、これら要求に応じたデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができる。
【００７７】
なお、図７に示す構成を有するスイッチ部において、互いに隣り合うスイッチ部については、いずれか一方のＰＭＯＳトランジスタを省略してもよい。例えば、図６に示すよう、スイッチ部４１３，４１４は、互いにＰＭＯＳトランジスタ同士で接続されることになるため、これらトランジスタのうちのいずれか一方を削除しても構わない。
【００７８】
例えば、スイッチ部４１３のＰＭＯＳトランジスタ４１４２を削除しても、スイッチ部４１４のＰＭＯＳトランジスタ４１４１が、データ転送経路を設定するにあたり必要に応じてバス３２を分割することが可能となる。このように、本発明によるスイッチ部は、図７に示したようなＰＭＯＳトランジスタを使用したものでなくとも、必要に応じてバス３１，３２を分割することができる構成であればよい。
【００７９】
また、図７に示すスイッチ部の構成では、６つのＰＭＯＳトランジスタ４１４１〜４１４６をオンオフ制御するための信号線がそれぞれ必要であったが、１本の信号線でアービタ５とシリアル・パラレル変換回路とを接続し、シリアル・パラレル変換回路から６本の信号線でＰＭＯＳトランジスタ４１４１〜４１４６をオンオフ制御するように構成してもよい。
【００８０】
この構成では、アービタ５が、１本の信号線を介してスイッチ部のＰＭＯＳトランジスタ４１４１〜４１４６をオンオフ制御するための制御信号をシリアルに送信し、シリアル・パラレル変換回路が受信する。シリアル・パラレル変換回路では、受信した制御信号に関するシリアル信号をパラレル信号に変換して対応するＰＭＯＳトランジスタに出力する。このように構成することで、スイッチ部とアービタ５との間での配線数を削減することができ、装置全体のコストを低減することができる。
【００８１】
なお、上記実施の形態２では、２系統のバスに対して同時に３つ以上のデータ転送を可能にする例を示したが、図９に示すように３系統のバスを設けて多重転送するように構成してもよく、上記と同様の効果を得ることが可能であることは容易に推測できる。
【００８２】
図９は、図６の構成にさらにバス３３を加えた３系統のバスを有するバス装置であり、マスタ１１〜１３とバス３３との接続点にスイッチ部４１５，４２５，４３５を設け、スレーブ２１〜２３とバス３３との接続点にスイッチ部４１６，４２６，４３６を設けている。スイッチ部４１５，４２５，４３５，４１６，４２６，４３６は、例えば図７に示すような構成を有してアービタ５により複数のデータ転送要求に応じた各転送経路を互いに独立して設定することができる。
【００８３】
図示の例では、上記実施の形態２と同様に、スイッチ部４１１，４１３のオンオフ制御によりマスタ１１のバス３２を介したデータ転送経路ａ１が、スイッチ部４２１，４１２，４３１，４２２，４２４，４２６のオンオフ制御によりマスタ１２とスレーブ２２との間でのデータ転送経路ｂ１が、スイッチ部４３１，４３３，４３５，４１６のオンオフ制御によりマスタ１３とスレーブ２１との間でのデータ転送経路ｃ１が、スイッチ部４１５，４１３，４２３，４１４，４３３，４２４，４３４，４３６のオンオフ制御によりスレーブ２３のバス３２，３３を介したデータ転送経路ｄ１が設定されている。
【００８４】
また、本発明の特徴であるマスタ及びスレーブとバス系統との各接続点にデータ転送ごとに転送経路をバス系統から分離できるスイッチ部を設ける構成であれば、バス系統数は１〜３に限らず４以上であってもよい。
【産業上の利用可能性】
【００８５】
以上のように、この発明に係るバス装置は、マスタ及びスレーブのバスとの接続部にそれぞれ設けたスイッチ部によりバスを分割してデータ転送に割り当てることで、複数のデータ転送を同時に実行することができ、且つ従来と比較してバス系統における配線量を減少させることができるので、バスを介して複数のプロセッサ装置（ＣＰＵ等）と複数の記憶装置がデータをやり取りするマルチプロセッサシステムに適用可能である。
【図面の簡単な説明】
【００８６】
【図１】この発明の実施の形態１によるバス装置の構成を示す図である。
【図２】図１中のマスタ及びスレーブ周辺の構成を示す図である。
【図３】図１中のスイッチ部の構成例を示す図である。
【図４】実施の形態１のバス装置による動作を説明する図である。
【図５】図１中のスイッチ部の他の構成例を示す図である。
【図６】この発明の実施の形態２によるバス装置の構成を示す図である。
【図７】図６中のスイッチ部の構成例を示す図である。
【図８】実施の形態２のバス装置による動作を説明する図である。
【図９】実施の形態２によるバス装置の他の構成例を示す図である。
【符号の説明】
【００８７】
１１〜１ｎ  マスタ（マスタ装置）、２１〜２ｍ  スレーブ（スレーブ装置）、３，３１〜３３  バス、４１１〜４ｎ１，４１２〜４ｍ２，４１３〜４ｎ３，４１４〜４ｍ４，４１５，４１６，４２５，４２６，４３５，４３６  スイッチ部、４２１１，４２１２，４１４１〜４１４６  ＰＭＯＳトランジスタ、４２１３  シリアル・パラレル変換回路、５  アービタ、６１〜６ｎ，７１〜７３，ａ１，ｂ１，ｃ１，Ａ，Ｂ，Ｃ  データ転送、ａ，ｂ，ｃ  データ転送要求。
【図１】
2005276136.tif 000003
【図２】
2005276136.tif 000004
【図３】
2005276136.tif 000005
【図４】
2005276136.tif 000006
【図５】
2005276136.tif 000007
【図６】
2005276136.tif 000008
【図７】
2005276136.tif 000009
【図８】
2005276136.tif 000010
【図９】
2005276136.tif 000011