(57)【要約】【課題】  各マスタ装置のデータ転送処理要求の発生頻度が変化した場合でも効率的にバスを使用できるバス装置を得る。【解決手段】  バス装置１において、対応するマスタ装置２ａ，２ｂからのデータ転送処理要求を蓄積するデータＦＩＦＯ１１ａ，１１ｂと、各データＦＩＦＯ１１ａ，１１ｂに蓄積されたデータ転送処理要求数をカウントするカウンタ１２ａ，１２ｂと、カウンタ１２ａ，１２ｂによるカウント値に基づいて、蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロット１４に割り当て、各データＦＩＦＯの蓄積されたデータ転送処理要求数が同等の場合に、レジスタ１３に予め設定された優先順位に従ってデータ転送処理要求をデータＦＩＦＯから取り出してタイムスロット１４に割り当て、データバス１５に出力するデータ多重回路１６とを備えた。【選択図】        図１
2005316866.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタ装置とスレーブ装置との間に発生する個々のデータ転送処理要求を、一次元的なタイムスロットに割り当てて、そのタイムスロットに割り当てられた順番にデータ転送処理要求を処理するバス装置において、
上記各マスタ装置毎に対応して設けられ、対応するマスタ装置からのデータ転送処理要求を蓄積するデータＦＩＦＯと、
上記各データＦＩＦＯに蓄積されたデータ転送処理要求数をカウントするカウンタと、
上記カウンタによるカウント値に基づいて、蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出して上記タイムスロットに割り当て、上記各データＦＩＦＯの蓄積されたデータ転送処理要求数が同等の場合に、予め設定された優先順位に従ってデータ転送処理要求をデータＦＩＦＯから取り出して上記タイムスロットに割り当てるデータ多重回路とを備えたことを特徴とするバス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のマスタ装置および複数のスレーブ装置間に接続され、それら複数のマスタ装置および複数のスレーブ装置間相互のデータ転送を行うバス装置に関するものである。
【背景技術】
【０００２】
従来のバス装置は、予め設定された優先順位に従って、タイムスロットに割り当てるデータ転送処理要求の選択を行っていた（例えば、特許文献１参照）。また、優先度の低いマスタ装置が優先順位を書き換える機能を持つことにより優先度の高いマスタ装置がバスを占有することを防ぐ方法も提案されている（例えば、特許文献２参照）。
【０００３】
【特許文献１】特開平２−４５８５７号公報
【特許文献２】特開平９−１９８３４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のバス装置は以上のように構成されているので、タイムスロットへの割り当て規則が固定的であるため、あるマスタ装置のデータ転送処理要求の発生頻度が局所的に減少した場合には、タイムスロットに割り当てるデータ転送処理要求が無くなり、タイムスロットに空きスロットが生じ、バス装置が持つバンド幅を有効に使用できなくなるなどの課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、各マスタ装置のデータ転送処理要求の発生頻度が変化した場合でも効率的にバスを使用できるバス装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るバス装置は、各マスタ装置毎に対応して設けられ、対応するマスタ装置からのデータ転送処理要求を蓄積するデータＦＩＦＯと、各データＦＩＦＯに蓄積されたデータ転送処理要求数をカウントするカウンタと、カウンタによるカウント値に基づいて、蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロットに割り当て、各データＦＩＦＯの蓄積されたデータ転送処理要求数が同等の場合に、予め設定された優先順位に従ってデータ転送処理要求をデータＦＩＦＯから取り出してタイムスロットに割り当てるデータ多重回路とを備えたものである。
【発明の効果】
【０００７】
この発明によれば、蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロットに割り当てるようにしたので、あるマスタ装置のデータ転送処理要求の発生頻度が局所的に減少した場合でもタイムスロットに空きスロットが生じることなく、効率的にバスを使用することができる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１によるバス装置を示すブロック図であり、図において、バス装置１は、マスタ装置２ａ，２ｂと、スレーブ装置３ａ，３ｂとが相互に接続されて、それら接続されたマスタ装置２ａ，２ｂおよびスレーブ装置３ａ，３ｂ間相互のデータ転送処理要求を処理するものである。なお、マスタ装置２ａ，２ｂとしては、コンピュータのような装置あるいは特定用途向けのＨ／Ｗ  Ｉ／Ｐ等が適用され、スレーブ装置３ａ，３ｂとしては、ＳＤＲＡＭのような記憶装置が適用されるものである。
【０００９】
バス装置１において、データＦＩＦＯ１１ａは、対応するマスタ装置２ａからのデータ転送処理要求を蓄積し、データＦＩＦＯ１１ｂは、対応するマスタ装置２ｂからのデータ転送処理要求を蓄積するものである。カウンタ１２ａは、データＦＩＦＯ１１ａに蓄積されたデータ転送処理要求数をカウントし、カウンタ１２ｂは、データＦＩＦＯ１１ｂに蓄積されたデータ転送処理要求数をカウントするものである。レジスタ１３は、データＦＩＦＯ１１ａとデータＦＩＦＯ１１ｂとの優先順位が予め設定されるものである。
【００１０】
タイムスロット１４は、一次元的に形成された複数のスロットにデータ転送処理要求が割り当てられ、その割り当てられた順番にデータ転送処理要求を処理するものであり、データバス１５は、バス装置１とスレーブ装置３ａ，３ｂとの間でデータを送受信するものである。データ多重回路１６は、カウンタ１２ａ，１２ｂによるカウント値に基づいて、蓄積されたデータ転送処理要求数の多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロット１４に割り当て、各データＦＩＦＯ１１ａ，１１ｂの蓄積されたデータ転送処理要求数が同等の場合に、レジスタ１３に予め設定された優先順位に従ってデータ転送処理要求をデータＦＩＦＯから取り出してタイムスロット１４に割り当て、データバス１５に出力するものである。
図２はデータ転送処理要求の形式を示す説明図である。
【００１１】
次に動作について説明する。
図１において、マスタ装置２ａからデータＦＩＦＯ１１ａに、また、マスタ装置２ｂからデータＦＩＦＯ１１ｂにデータ転送処理要求が順次転送される。
図２はそのデータ転送処理要求の形式の一例を示したものであり、項目としては、転送元のマスタ装置を示すマスタＩＤ、転送先のスレーブ装置を示すスレーブＩＤ、具体的な命令を示すコマンド、スレーブ装置への書き込み要求の場合の書き込みデータがある。また、コマンドは階層的に形成され、スレーブ装置のアドレス、スレーブ装置への要求が読み出し要求か書き込み要求か、バイトイネーブル、バースト指示等がある。
【００１２】
図１において、データＦＩＦＯ１１ａ，１１ｂにこのようなデータ転送処理要求が順次格納され、カウンタ１２ａは、データＦＩＦＯ１１ａに蓄積されたデータ転送処理要求数をカウントし、そのカウント値がＭ、また、カウンタ１２ｂは、データＦＩＦＯ１１ｂに蓄積されたデータ転送処理要求数をカウントし、そのカウント値がＮであったとする。
データ多重回路１６は、カウンタ１２ａおよびカウンタ１２ｂによるカウント値ＭおよびＮを比較する。
ここで、まず、Ｍ＞Ｎならばデータ多重回路１６は、蓄積されたデータ転送処理要求数の多いデータＦＩＦＯ１１ａから優先的にデータ転送処理要求を１つ取り出してタイムスロット１４に割り当てデータバス１５に出力し、同時にカウンタ１２ａのカウント値を１つデクリメント（Ｍ−１）する。
また、Ｍ＜Ｎならばデータ多重回路１６は、蓄積されたデータ転送処理要求数の多いデータＦＩＦＯ１１ｂから優先的にデータ転送処理要求を１つ取り出してタイムスロット１４に割り当てデータバス１５に出力し、同時にカウンタ１２ｂのカウント値を１つデクリメント（Ｎ−１）する。
【００１３】
さらに、Ｍ＝Ｎならばデータ多重回路１６は、レジスタ１３に予め設定された優先順位に従う。すなわち、レジスタ１３にマスタ装置２ａを優先させる値が設定されている場合には、データＦＩＦＯ１１ａから優先的にデータ転送処理要求を１つ取り出してタイムスロット１４に割り当てデータバス１５に出力し、同時にカウンタ１２ａのカウント値を１つデクリメント（Ｍ−１）する。また、レジスタ１３にマスタ装置２ｂを優先させる値が設定されている場合には、データＦＩＦＯ１１ｂから優先的にデータ転送処理要求を１つ取り出してタイムスロット１４に割り当てデータバス１５に出力し、同時にカウンタ１２ｂのカウント値を１つデクリメント（Ｎ−１）する。
【００１４】
図１におけるタイムスロット１４では、＃１、＃３〜＃５スロットにマスタ装置２ａからのデータ転送処理要求が割り当てられ、＃２スロットにマスタ装置２ｂからのデータ転送処理要求が割り当てられ、＃６〜＃８スロットが空きスロットとなっている。このように、データＦＩＦＯ１１ａ，１１ｂのうちの蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロット１４に割り当てられるので、データＦＩＦＯ１１ａ，１１ｂのどちらかにデータ転送処理要求数が格納されている間は、タイムスロット１４の＃１スロットに空きスロットが生じることなく、効率的にバスを使用することができる。
以降、データバス１５では、そのタイムスロット１４に割り当てられた順番にデータ転送処理要求を処理する。すなわち、スレーブＩＤに応じたスレーブ装置にデータ転送処理要求を転送する。
【００１５】
以上のように、この実施の形態１によれば、蓄積されたデータ転送処理要求数の最も多いデータＦＩＦＯから優先的にデータ転送処理要求を取り出してタイムスロット１４に割り当てるようにしたので、あるマスタ装置のデータ転送処理要求の発生頻度が局所的に減少した場合でもタイムスロット１４に空きスロットが生じることなく、効率的にバスを使用することができる。
なお、上記実施の形態１では、マスタ装置およびスレーブ装置とも２台の場合について説明したが、双方、何台接続したものであっても良い。
【図面の簡単な説明】
【００１６】
【図１】この発明の実施の形態１によるバス装置を示すブロック図である。
【図２】データ転送処理要求の形式を示す説明図である。
【符号の説明】
【００１７】
１  バス装置、２ａ，２ｂ  マスタ装置、３ａ，３ｂ  スレーブ装置、１１ａ，１１ｂ  データＦＩＦＯ、１２ａ，１２ｂ  カウンタ、１３  レジスタ、１４  タイムスロット、１５  データバス、１６  データ多重回路。
【図１】
2005316866.tif 000003
【図２】
2005316866.tif 000004