(57)【要約】【課題】  バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めるバス装置を得る。【解決手段】  高速マスタ１ａ，１ｂに接続されたバスライン２と、バスライン２に接続され、転送されるデータを一旦格納するキャッシュメモリ３と、キャッシュメモリ３に接続され、そのキャッシュメモリ３に格納されたデータが転送される低速スレーブ４とを備えた。バスライン２には、キャッシュメモリ３を介して低速スレーブ４が設けられ、高速マスタ１ａ，１ｂから連続して低速スレーブ４へのデータ転送が発生した場合でも、一旦キャッシュメモリ３にデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。【選択図】        図１
2005352668.tif 000002
【特許請求の範囲】
【請求項１】
高速処理によりデータを転送する高速マスタと、
上記高速マスタに接続され、その高速マスタからのデータを転送するバスラインと、
上記バスラインに接続され、転送されるデータを一旦格納するキャッシュメモリと、
上記キャッシュメモリに接続され、そのキャッシュメモリに格納されたデータが転送される低速スレーブとを備えたバス装置。
【請求項２】
高速処理によりデータを転送する複数の高速マスタと、
上記複数の高速マスタに接続され、それら高速マスタからのデータを転送するバスラインと、
上記バスラインに接続され、転送されるデータを一旦格納するキャッシュメモリと、
上記高速マスタからの転送要求に応じてその高速マスタの上記バスラインの使用を承認するアービタと、
上記キャッシュメモリに接続され、そのキャッシュメモリに格納されたデータが転送される低速スレーブとを備えたバス装置。
【請求項３】
高速処理によりデータを転送する複数の高速マスタと、
上記複数の高速マスタに接続可能にされ、それら高速マスタからのデータを転送する複数のバスラインと、
上記複数のバスラインに接続可能にされ、転送されるデータを一旦格納する複数のキャッシュメモリと、
上記高速マスタからの転送要求に応じてその高速マスタの上記バスラインの使用を承認するアービタと、
上記複数のバスラインにそれぞれ設けられ、上記アービタによる上記バスラインの使用の承認に応じて所定の上記高速マスタおよび上記キャッシュメモリ間を接続するスイッチと、
上記複数のキャッシュメモリにそれぞれ接続され、それらキャッシュメモリに格納されたデータが転送される低速スレーブとを備えたバス装置。
【請求項４】
高速マスタは、分割されたデータを、アービタによるバスラインの使用の承認に応じて転送可能にし、
キャッシュメモリは、それら分割されたデータを再構築して低速スレーブに転送することを特徴とする請求項２または請求項３記載のバス装置。
【請求項５】
アービタは、バスラインの使用の承認に応じてスイッチを接続し、高速マスタおよびキャッシュメモリ間のバス経路を同時に複数の形成可能にしたことを特徴とする請求項３または請求項４記載のバス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、高速マスタおよび低速スレーブ間相互のデータ転送を行うバス装置に関するものである。
【背景技術】
【０００２】
高速マスタから低速スレーブへのデータ転送を行う場合、データ転送におけるバス保有時間は低速スレーブがデータを受信する時間分必要となり、バスを長時間占有する結果となる。これを解決するため、高速マスタに接続されるバスとは別に低速スレーブ側に低速バスを設け、高速マスタ側のバスと低速バスとをブリッジで接続する手段が取られている。
この手段によると、高速マスタから低速スレーブへの転送はブリッジを経由するため、高速マスタに接続されているバスの占有時間を短縮することが可能である（例えば、特許文献１および特許文献２参照）。
【０００３】
【特許文献１】特開平７−３３４２８１号公報
【特許文献２】特開平１０−４４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のバス装置は以上のように構成されているので、ブリッジから低速スレーブへの転送が遅いため、高速マスタから連続して低速スレーブへのデータ転送が発生した場合、ブリッジが最初の転送から動作状態を継続するため、バス使用権を占有する時間が長くなり、バスの使用効率を含め処理全体の効率が低下する課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めるバス装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るバス装置は、高速マスタに接続されたバスラインと、バスラインに接続され、転送されるデータを一旦格納するキャッシュメモリと、キャッシュメモリに接続され、そのキャッシュメモリに格納されたデータが転送される低速スレーブとを備えたものである。
【発明の効果】
【０００７】
この発明によれば、バスラインには、キャッシュメモリを介して低速スレーブが設けられ、高速マスタから連続して低速スレーブへのデータ転送が発生した場合でも、一旦キャッシュメモリにデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１によるバス装置を示すブロック図であり、図において、高速マスタ１ａ，１ｂは、高速処理によりデータを転送可能な装置である。バスライン２は、高速マスタ１ａ，１ｂに接続され、高速マスタ１ａ，１ｂと同様にデータを高速転送可能なものである。キャッシュメモリ３は、バスライン２に接続され、転送されるデータを一旦格納するものである。低速スレーブ４は、キャッシュメモリ３に接続され、そのキャッシュメモリ３に格納されたデータが転送されるものである。
なお、データ転送１１ａは、高速マスタ１ａから転送されるものであり、転送データ１２ａは、キャッシュメモリ３に格納されたデータである。また、データ転送１１ｂは、高速マスタ１ｂから転送されるものであり、転送データ１２ｂは、キャッシュメモリ３に格納されたデータである。
【０００９】
次に動作について説明する。
この実施の形態１では、２台の高速マスタ１ａ，１ｂがバスライン２に接続され、また、バスライン２には、キャッシュメモリ３を介して低速スレーブ４が接続されたものである。ここで、バスライン２は、高速マスタ１ａ，１ｂと同様、高速転送が可能であることを前提とする。
高速マスタ１ａ，１ｂから低速スレーブ４へ転送するデータは、バスライン２を通じて一旦キャッシュメモリ３に格納され、その後、キャッシュメモリ３から低速スレーブ４に転送される。
高速マスタ１ａから低速スレーブ４へのデータ転送１１ａが発生し、続けて高速マスタ１ｂから低速スレーブ４へのデータ転送１１ｂが発生した場合、まず、高速マスタ１ａにその高速マスタ１ａからキャッシュメモリ３へのバス使用権が与えられ、高速マスタ１ａからキャッシュメモリ３にデータ転送１１ａされてからそのバス使用権を開放し、次に、高速マスタ１ｂにその高速マスタ１ｂからキャッシュメモリ３へのバス使用権が与えられ、高速マスタ１ｂからキャッシュメモリ３にデータ転送１１ｂされてからそのバス使用権を開放する。キャッシュメモリ３では、データ転送１１ａによる転送データ１２ａおよびデータ転送１１ｂによる転送データ１２ｂが格納された後に低速スレーブ４に転送される。このように、高速マスタ１ａ，１ｂから連続して低速スレーブ４へのデータ転送１１ａ，１１ｂが発生した場合でも、一旦キャッシュメモリ３にデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮することができる。
【００１０】
図１では、転送データ１２ａ，１２ｂを独立なデータの塊として表現しているが、キャッシュメモリ３内には、転送データ１２ａ，１２ｂが混在して格納されても構わなく、それら混在された転送データ１２ａ，１２ｂが低速スレーブ４へのデータ転送の際に、再構築されるものであれば良い。
なお、図１では、複数の高速マスタ１ａ，１ｂから特定の低速スレーブ４へのデータ転送が連続した場合を示したが、唯一の高速マスタ１ａから特定の低速スレーブ４へのデータ転送が連続した場合も同じであり、バス使用権を占有する時間を短縮することができる。
また、図１では、高速マスタ１ａ，１ｂから低速スレーブ４へのデータの書き込み処理について説明したが、高速マスタから低速スレーブへのデータの読み出し処理については以下のとおりである。すなわち、動作としては、高速マスタから低速スレーブに読み出し要求し、低速スレーブが読み出しデータをキャッシュメモリに転送するがここまではバスラインを使用することなく、キャッシュメモリから読み出しデータを高速マスタに転送する場合にのみバスラインを占有することになり、高速マスタから低速スレーブへのデータの読み出し処理においても同様にバス使用権を占有する時間を短縮することができる。
【００１１】
以上のように、この実施の形態１によれば、２台の高速マスタ１ａ，１ｂがバスライン２に接続され、また、バスライン２には、キャッシュメモリ３を介して低速スレーブ４が接続され、高速マスタ１ａ，１ｂから連続して低速スレーブ４へのデータ転送が発生した場合でも、一旦キャッシュメモリ３にデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
【００１２】
実施の形態２．
図２はこの発明の実施の形態２によるバス装置を示すブロック図であり、図において、アービタ５は、高速マスタ１ａ，１ｂからの転送要求に応じて、優先順位に基づいてその高速マスタのバスライン２の使用を承認するものである。
また、高速マスタ１ａ，１ｂからは、アービタ５によるバスライン２の使用の承認に応じたデータ転送１１ａ，１１ｂとして分割データが転送され、キャッシュメモリ３では、それら分割データを再構築して低速スレーブ４に転送するようにしたものである。その他の構成については図１と同等である。
【００１３】
次に動作について説明する。
この実施の形態２は、高速マスタ１ａ，１ｂから低速スレーブ４へのデータ転送を分割して転送する場合を示したものである。高速マスタ１ｂから大量のデータ転送１１ｂが発生し、その直後に高速マスタ１ａからデータ転送１１ａが発生し、データ転送１１ａのデータ量がデータ転送１１ｂのデータ量よりも少ない場合、データ転送１１ｂの途中にデータ転送１１ａを割り込ませる。これにより、比較的データ量の少ないデータ転送１１ａが大量データのデータ転送１１ｂの完了まで待つ必要が無くなる。転送データ１２ａ，１２ｂは図１同様、低速スレーブ４に接続されたキャッシュメモリ３に格納された後、再構築して低速スレーブ４に転送される。この実施の形態２においては、マスタおよびスレーブの処理速度が同じである場合においても有効である。
【００１４】
図３はこの発明の実施の形態２によるバス装置の動作を示すタイミングチャートであり、図において、高速マスタ１ｂから転送要求（１ｂ）が発行され、アービタ５がその転送要求の承認（１ｂ）を有効にすれば、高速マスタ１ｂはデータ（１１ｂ）のように分割データの転送を開始する。高速マスタ１ｂからのデータ転送途中において、高速マスタ１ａからの転送要求（１ａ）が発行され、アービタ５において高速マスタ１ａからの転送の優先順位が高速マスタ１ｂからの転送よりも高い場合は、アービタ５は承認（１ｂ）を無効にし、承認（１ａ）を有効にする。高速マスタ１ｂは、承認（１ｂ）が無効になるとデータ転送を中止し、高速マスタ１ａは、承認（１ａ）が有効になるのを確認してデータ転送を開始する。高速マスタ１ａからのデータ転送完了後、承認（１ａ）は無効になり、これと同時に承認（１ｂ）が有効に戻る。高速マスタ１ｂは、承認（１ｂ）が有効になるのを確認して、残りのデータ転送を再開する。アービタ５は、高速マスタの処理内容、データ量の多さ、その他の条件により優先順位を定める。
【００１５】
なお、図３では、転送要求（１ａ）のデータ転送完了後に転送要求（１ｂ）のデータ転送を再開しているが、転送要求（１ａ）および転送要求（１ｂ）のデータ転送をを交互に行っても構わない。
また、図２では、高速マスタから低速スレーブへのデータの書き込みについて示したが、高速マスタから低速スレーブへのデータの読み出しについても同様である。高速マスタ１ｂから大量の読み出し転送が発生し、その直後に高速マスタ１ａからの読み出し転送が発生し、高速マスタ１ａの読み出しデータ量が高速マスタ１ｂの読み出しデータ量よりも少ない場合、高速マスタ１ｂの読み出し転送途中に高速マスタ１ａの読み出し転送を割り込ませる。これにより、比較的データ量の少ない高速マスタ１ａの読み出し転送が大量データの高速マスタ１ｂの読み出し転送完了まで待つ必要が無くなる。
【００１６】
以上のように、この実施の形態２によれば、２台の高速マスタ１ａ，１ｂがバスライン２に接続され、また、バスライン２には、キャッシュメモリ３を介して低速スレーブ４が接続され、高速マスタ１ａ，１ｂから連続して低速スレーブ４へのデータ転送が発生した場合でも、一旦キャッシュメモリ３にデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
また、高速マスタ１ａ，１ｂから分割されたデータをアービタ５によるバスライン２の使用の承認に応じて転送可能にし、キャッシュメモリ３では、分割されたデータを再構築して低速スレーブ４に転送することにより、高速マスタ１ｂから大量のデータ転送中に、高速マスタ１ａからデータ転送したい場合に、高速マスタ１ｂのデータ転送を中止して高速マスタ１ａからデータ転送すれば、高速マスタ１ａは高速マスタ１ｂの大量のデータ転送終了を待つことなくデータ転送を開始することができる。また、高速マスタ１ｂがデータ転送を中止するまで転送したデータを再転送する必要はない。このように、バス使用権を保有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
【００１７】
実施の形態３．
図４はこの発明の実施の形態３によるバス装置を示すブロック図であり、図において、高速マスタ１ａ〜１ｃは、高速処理によりデータを転送可能な装置である。バスライン２ａ，２ｂは、高速マスタ１ａ〜１ｃに接続可能にされ、高速マスタ１ａ〜１ｃと同様にデータを高速転送可能なものである。キャッシュメモリ３ａ〜３ｃは、バスライン２ａ，２ｂに接続可能にされ、転送されるデータを一旦格納するものである。低速スレーブ４ａ〜４ｃは、対応するキャッシュメモリ３ａ〜３ｃに接続され、そのキャッシュメモリ３ａ〜３ｃに格納されたデータが転送されるものである。アービタ５は、高速マスタ１ａ〜１ｃからの転送要求に応じて、優先順位に基づいてその高速マスタのバスライン２ａ，２ｂの使用を承認するものである。スイッチ６ａ〜６ｌは、バスライン２ａ，２ｂにそれぞれ設けられ、アービタ５による制御信号に応じて所定の高速マスタ１ａ〜１ｃおよびキャッシュメモリ３ａ〜３ｃ間を接続するものである。
なお、データ転送１１ａ〜１１ｃは、それぞれ高速マスタ１ａ〜１ｃから転送されたものである。また、高速マスタ１ａ〜１ｃからは、アービタ５によるバスライン２ａ，２ｂの使用の承認に応じて分割データが転送され、キャッシュメモリ３ａ〜３ｃでは、それら分割データを再構築して低速スレーブ４ａ〜４ｃに転送するようにしたものである。その他の構成については図１と同等である。
【００１８】
次に動作について説明する。
この実施の形態３は、複数の高速マスタ１ａ〜１ｃから複数の低速スレーブ４ａ〜４ｃへの転送において、バスライン２ａ，２ｂおよびスイッチ６ａ〜６ｌによるバス経路を複数形成したものである。
図５はスイッチの詳細を示す回路図であり、スイッチ６ａ〜６ｌのうちのスイッチ６ｂの詳細を代表させて示したものである。このスイッチ６ｂでは、バスライン２ａ上に２個のスイッチが接続されると共にそのバイパスラインに１個のスイッチが接続され、また、高速マスタ１ａからのライン上に２個のスイッチが接続されると共にそのバイパスラインに１個のスイッチが接続されたものである。このバイパスラインおよびスイッチは、横および縦等のさまざまな経路を形成するために設けられたものである。各スイッチは、ＮＭＯＳトランジスタで構成され、アービタ５からの制御信号によりオン／オフされる。なお、各スイッチは、ＮＭＯＳトランジスタで構成したが、これに限ることなく、信号の流れをオン／オフすることができるものであれば、どのようなスイッチであっても良く、さらに、スイッチ６ａ〜６ｌについても、バスライン２ａ，２ｂおよびアービタ５からの制御信号と共に複数のバス経路を形成できるものであれば、どのような構成であっても良い。
【００１９】
図４において、高速マスタ１ａから低速スレーブ４ｃへのデータ転送１１ａおよび高速マスタ１ｃから低速スレーブ４ａへのデータ転送１１ｃを行っている途中で、高速マスタ１ｂから低速スレーブ４ｂへのデータ転送１１ｂが発生した場合、データ転送１１ｂは、データ転送１１ａ，１１ｃに妨げられることになる。
図６は転送データの流れを示す説明図であり、データ転送１１ａ，１１ｃに比べ、データ転送１１ｂの優先順位が高い場合、この図６に示すように、データ転送１１ａまたはデータ転送１１ｃにデータ転送１１ｂを割り込ませる。データ転送１１ｂのデータは、スイッチの切り替えにより、転送経路１３ｂまたは転送経路１４ｂのどちらかを経由し、キャッシュメモリ３ｂに転送される。これにより、データ転送１１ｂが長時間待たされることを防ぐことができ、処理全体の効率を向上させることが可能となる。
【００２０】
図７はこの発明の実施の形態３によるバス装置の動作を示すタイミングチャートであり、図６で示したように、データ転送１１ａにデータ転送１１ｂを割り込ませた場合を示したものである。
図において、高速マスタ１ａから転送要求（１ａ）が発行され、アービタ５がその転送要求の承認（１ａ）を有効にすれば、アービタ５からの制御信号によりスイッチ６ｅ，６ｆのバスライン２ａの横方向の経路を形成して、高速マスタ１ａはデータ（１１ａ）のように分割データの転送を開始する。高速マスタ１ａからのデータ転送途中において、高速マスタ１ｃからの転送要求（１ｃ）が発行され、アービタ５がその転送要求の承認（１ｃ）を有効にすれば、アービタ５からの制御信号によりスイッチ６ｇ，６ｈのバスライン２ｂの横方向の経路を形成して、高速マスタ１ｃはデータ（１１ｃ）のように分割データの転送を開始する。ここで、高速マスタ１ｂから転送要求（１ｂ）が発行され、アービタ５において転送の優先順位が、高速マスタ１ｂ、高速マスタ１ｃ、高速マスタ１ａの順である場合は、アービタ５は承認（１ａ）を無効にし、承認（１ｂ）を有効にする。高速マスタ１ａは、承認（１ａ）が無効になるとデータ（１１ａ）の転送を中止し、アービタ５が転送要求の承認（１ｂ）を有効にすれば、アービタ５からの制御信号によりスイッチ６ｅ，６ｆ，６ｈのバスライン２ａ，２ｂの転送経路１３ｂを形成して、高速マスタ１ｂはデータ（１１ｂ）のように分割データの転送を開始する。また、この時、スイッチ６ｈは、高速マスタ１ｃからのデータ転送が維持可能になるように、横方向のバイパスラインの経路を形成する。高速マスタ１ｂからのデータ転送完了後、承認（１ｂ）は無効になり、これと同時に承認（１ａ）が有効に戻る。高速マスタ１ａは、承認（１ａ）が有効になるのを確認して、残りのデータ転送を再開する。
【００２１】
なお、図７では、データ転送１１ｂが終了するまでデータ転送１１ａを止めているが、データ転送１１ｂとデータ転送１１ａとを交互に行うようにしても構わない。また、図７では、データ転送１１ｂがデータ転送１１ａに割り込み、転送経路１３ｂを経由してキャッシュメモリ４ｂにデータを転送するタイミングを示したが、データ転送１１ｂがデータ転送１１ｃに割り込み、転送経路１４ｂを経由してキャッシュメモリ４ｂにデータを転送するようにしても構わない。
【００２２】
以上のように、この実施の形態３によれば、３台の高速マスタ１ａ〜１ｃがバスライン２ａ，２ｂに接続され、また、バスライン２ａ，２ｂには、キャッシュメモリ３ａ〜３ｃを介して低速スレーブ４ａ〜４ｃが接続され、高速マスタ１ａ〜１ｃから連続して低速スレーブ４ａ〜４ｃへのデータ転送が発生した場合でも、一旦キャッシュメモリ３ａ〜３ｃにデータが転送されてしまえば、バス使用権を開放することができ、バス使用権を占有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
また、高速マスタ１ａ〜１ｃから分割されたデータをアービタ５によるバスライン２ａ，２ｂの使用の承認に応じて転送可能にし、キャッシュメモリ３ａ〜３ｃでは、分割されたデータを再構築して低速スレーブ４ａ〜４ｃに転送することにより、例えば、高速マスタ１ａ，１ｃから大量のデータ転送中に、高速マスタ１ｂからデータ転送したい場合に、高速マスタ１ａのデータ転送を中止して高速マスタ１ｂからデータ転送すれば、高速マスタ１ｂは高速マスタ１ａの大量のデータ転送終了を待つことなくデータ転送を開始することができる。また、高速マスタ１ａがデータ転送を中止するまで転送したデータを再転送する必要はない。このように、バス使用権を保有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
さらに、アービタ５の制御によりスイッチを接続し、高速マスタおよびキャッシュメモリ間のバス経路を同時に複数の形成可能にしたことで、複数のバス経路で同時にデータ転送を行うことができると共に、高速マスタからの転送要求に応じてバス経路を切り替えることで、バス使用権を保有する時間を短縮し、バスの使用効率を含め処理全体の効率を高めることができる。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態１によるバス装置を示すブロック図である。
【図２】この発明の実施の形態２によるバス装置を示すブロック図である。
【図３】この発明の実施の形態２によるバス装置の動作を示すタイミングチャートである。
【図４】この発明の実施の形態３によるバス装置を示すブロック図である。
【図５】スイッチの詳細を示す回路図である。
【図６】転送データの流れを示す説明図である。
【図７】この発明の実施の形態３によるバス装置の動作を示すタイミングチャートである。
【符号の説明】
【００２４】
１ａ〜１ｃ  高速マスタ、２，２ａ，２ｂ  バスライン、３，３ａ〜３ｃ  キャッシュメモリ、４，４ａ〜４ｃ  低速スレーブ、５  アービタ、６ａ〜６ｌ  スイッチ、１１ａ〜１１ｃ  データ転送、１２ａ，１２ｂ  転送データ、１３ｂ，１４ｂ  転送経路。
【図１】
2005352668.tif 000003
【図２】
2005352668.tif 000004
【図３】
2005352668.tif 000005
【図４】
2005352668.tif 000006
【図５】
2005352668.tif 000007
【図６】
2005352668.tif 000008
【図７】
2005352668.tif 000009