(57)【要約】【課題】データ転送効率を高めることのできるバス制御装置を得る。【解決手段】キュー判定部５は、キュー部４にデータ転送要求が蓄積されているかを確認する。要求判定部６は、バスマスタ２−１〜２−ｎからのデータ転送要求の有無を確認する。要求調停部７は、キュー部４に蓄積されたデータ転送要求が一つのみ存在し、かつ、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、データ転送を要求しているバスマスタにバス使用許可を与える。【選択図】図１
2010108275.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、
前記キュー部に前記データ転送要求が蓄積されているかを確認するキュー判定部と、
前記複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、
前記要求判定部によるデータ転送要求の有無と、前記キュー判定部の判定結果とに基づいて、当該キュー部に蓄積されたデータ転送要求の中から、前記バススレーブに転送するデータ転送要求を選択する要求調停部を備えたことを特徴とするバス制御装置。
【請求項２】
要求調停部は、キュー判定部の確認の結果、前記キュー部に蓄積されたデータ転送要求が一つのみ存在し、かつ、要求判定部の確認の結果、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、前記データ転送を要求しているバスマスタにバス使用許可を与えることを特徴とする請求項１記載のバス制御装置。
【請求項３】
要求調停部は、キュー判定部の確認の結果、前記キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、固定優先順位またはデータ転送要求の履歴情報を元に、バス使用許可を特定のバスマスタに付与することを特徴とする請求項１記載のバス制御装置。
【請求項４】
要求調停部は、履歴情報としてバスマスタのデータ転送要求数に基づき、当該データ転送要求数が最も多いバスマスタにバス使用許可を付与することを特徴とする請求項３記載のバス制御装置。
【請求項５】
要求調停部は、履歴情報としてバスマスタの待ち時間に基づき、当該待ち時間が最も長いバスマスタにバス使用許可を付与することを特徴とする請求項３記載のバス制御装置。
【請求項６】
バススレーブが複数あり、転送されたデータを前記複数のバススレーブに分配するためのスレーブ分配部を備えたことを特徴とする請求項１から請求項５のうちいずれか１項記載のバス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のバスマスタおよび複数のバススレーブ間に接続され、それら複数のバスマスタおよび複数のバススレーブ間相互のデータ転送制御を行うバス制御装置に関するものである。
【背景技術】
【０００２】
従来のバス制御装置は、マスタからのリクエストをリクエストデータスレッドという単位で扱うことが可能であり、マスタの動作とは独立してバス転送を行うことができ、バスラインを効率良く利用することが出来る（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００３−３４８０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般にバス制御装置では、複数のバスマスタからのデータ転送要求を調停するのに複数サイクルかかる。そして、従来のバス制御装置では、例えば、キューにデータ転送要求が蓄積されておらず、かつ、データ転送要求が一つしか存在しない、といった特に調停動作を必要としない場合でも同様に調停を行うため、このような場合でも複数サイクルかかり、バス制御装置としてのデータ転送効率を向上させる場合の妨げとなっていた。
【０００５】
この発明は上記のような課題を解決するためになされたもので、データ転送効率を高めることのできるバス制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るバス制御装置は、複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、キュー部にデータ転送要求が蓄積されているかを確認するキュー判定部と、複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、要求判定部によるデータ転送要求の有無と、キュー判定部の判定結果とに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択する要求調停部を備えたものである。
【発明の効果】
【０００７】
この発明のバス制御装置は、データ転送要求の有無と、キュー部にデータ転送要求が蓄積されているかに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択するようにしたので、最適なデータ転送要求を選択することができ、バス制御装置としてのデータ転送効率を高めることができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１によるバス制御装置を示す構成図である。
図において、バス制御装置１は、複数のバスマスタ２−１，２−２，…，２−ｎと、複数のバススレーブ３−１，３−２，…，３−ｎとの間に設けられる装置であり、キュー部４、キュー判定部５、要求判定部６、要求調停部７、マルチプレクサ（ＭＵＸ）８、スレーブ分配部９、データバッファ部１０を備えている。
【０００９】
複数のバスマスタ２−１〜２−ｎは、データ転送を要求する装置であり、複数のバススレーブ３−１〜３−ｎは、複数のバスマスタ２−１〜２−ｎの要求に基づき、バスマスタ２−１〜２−ｎのデータをリード／ライトする装置である。キュー部４は、バスマスタ２−１〜２−ｎのデータ転送要求を蓄積するための単一メモリからなるキューである。キュー判定部５はキュー部４に蓄積されているデータ転送要求が存在するかどうかを確認する。要求判定部６は複数のバスマスタ２−１〜２−ｎのデータ転送要求の有無を確認する。要求調停部７はキュー判定部５と要求判定部６の結果に従い、キュー部４に蓄積されたデータ転送要求が一つだけで、かつ、データ転送要求が一つしか存在しない場合は、所定の調停手順をスキップして、データ転送を要求してきたバスマスタにバス使用許可を付与するよう構成されている。マルチプレクサ８は要求調停部７の情報に基づいて、キュー部４に蓄積されているデータ転送要求の中から一つを選択して出力する選択器である。スレーブ分配部９は、マルチプレクサ８で選択されたデータ転送要求を各バススレーブ３−１〜３−ｎに分配するための機能部である。データバッファ部１０は、バススレーブ３−１〜３−ｎからの応答をバスマスタ２−１〜２−ｎに通知するためのデータをバッファリングするためのものである。
【００１０】
次に、実施の形態１のバス制御装置の動作について説明する。
図２は、要求調停部７で行われる調停手順の一例を示したものである。バスマスタ２−１〜２−ｎからのデータ転送要求発行後、図２に示すような調停手順でバススレーブ３−１〜３−ｎに転送される要求が決定される。即ち、要求判定部６でデータ転送要求のタイムスタンプを取得すると、要求調停部７は、例えば、キュー部４に蓄積されているデータ転送要求の待ち時間をキュー判定部５によって取得し、待ち時間が最も長いデータ転送要求をバス転送の候補として選択する、といった待ち時間調停を行う。あるいは、待ち時間による調停ではなく、データ転送要求がバースト転送か否かに基づいて行うバースト転送調停やデータ量の大小に基づいて調停を行うデータ量調停といった調停が行われる。尚、これらの調停手順については、例えば特許文献１に記載されているように公知であるため、ここでの詳細な説明は省略する。
【００１１】
図３は、バスマスタ２−１〜２−ｎから発行されるデータ転送要求の例である。
リクエストデータスレッドは、リクエスト、制御情報およびデータから構成される。例えば、リクエストとしては、要求を示すリクエスト、発行元のバスマスタの識別ＩＤを示すマスタＩＤ、スレッドの識別を示すスレッドＩＤがある。そして、制御情報としては、書き込みまたは読み出し要求を示すＲ／Ｗ、宛先のバススレーブのアドレスを示すアドレス、転送の種類（バースト転送かどうか）を示す転送種別がある。最後に、データとしては、バススレーブ３−１〜３−ｎに書き込むデータがあり、合計Ｍｂｉｔで構成される。
【００１２】
バスマスタ２−１〜２−ｎにおけるいずれかのバスマスタがデータ転送要求を発行すると、このデータ転送要求はキュー部４に蓄積される。複数のバスマスタ２−１〜２−ｎがデータ転送要求を発行し、キュー部４に複数のデータ転送要求が蓄積されている場合、要求調停部７は、図２に示す調停手順に従ってバススレーブ３−１〜３−ｎに転送するデータ転送要求を決定する。
【００１３】
一方、データ転送要求が一つで、そのデータ転送要求がキュー部４に蓄積されている場合には、必ずそのデータ転送要求がバススレーブ３−１〜３−ｎに転送されることになる。このような場合には、キュー判定部５から要求調停部７に対して、蓄積されたデータ転送要求が一つであることが通知される。また、要求判定部６から要求調停部７に対して、データ転送要求が一つであることが通知される。これにより、要求調停部７は、図２に示す調停手順をスキップして、バススレーブ３−１〜３−ｎに転送するデータ転送要求を直ちに選択するようにマルチプレクサ８に指示を出力する。
【００１４】
スレーブ分配部９では、マルチプレクサ８を介してキュー部４から転送されたデータ転送要求内のスレッドＩＤとアドレスにより、該当するバススレーブ３−１〜３−ｎに転送要求を出力する。
【００１５】
データバッファ部１０は、データ転送要求がバススレーブ３−１〜３−ｎへの書き込み要求の場合は、マスタＩＤとスレッドＩＤを保持する。一方、データ転送要求が読み出し要求の場合は、マスタＩＤ、スレッドＩＤおよびバススレーブ３−１〜３−ｎからの読み出しデータを保持する。そして、該当するバスマスタ２−１〜２−ｎにデータ転送が完了したことを通知する。読み出し要求の場合は読み出したデータも転送する。
【００１６】
以上のように、実施の形態１のバス制御装置によれば、複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、キュー部にデータ転送要求が蓄積されているかを確認するキュー判定部と、複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、要求判定部によるデータ転送要求の有無と、キュー判定部の判定結果とに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択する要求調停部を備えたので、バスマスタからのデータ転送要求とキュー部に蓄積されたデータ転送要求とに基づいて、最適なデータ転送要求を選択することができ、バス制御装置としてのデータ転送効率を高めることができる。
【００１７】
また、実施の形態１のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つのみ存在し、かつ、要求判定部の確認の結果、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、データ転送を要求しているバスマスタにバス使用許可を与えるようにしたので、無駄な調停を行わないため、バス制御装置としてデータ転送効率を高めることができる。
【００１８】
また、実施の形態１のバス制御装置によれば、バススレーブが複数あり、転送されたデータを複数のバススレーブ毎に分配するためのスレーブ分配部を備えたので、バススレーブが複数設けられている構成に対しても、複数のバスマスタとのデータ転送を容易かつ確実に行うことができる。
【００１９】
また、実施の形態１のバス制御装置によれば、バススレーブからの応答をバスマスタに通知するためのデータバッファ部を備えたので、バス制御装置としてバスマスタとバススレーブ間のデータ転送を行う構成を実現することができる。
【００２０】
実施の形態２．
実施の形態２は、データ転送要求が一つもなく、かつ、データ転送要求がキュー部に蓄積されていない場合は、予め固定したバスマスタにバス使用許可を与えるようにしたものである。
図４は、実施の形態２におけるバス制御装置の構成図である。
図示のバス制御装置１ａにおいて、固定順位設定部１１は、要求調停部７ａに対して固定順位を設定するための機能部である。要求調停部７ａは、キュー判定部５の確認の結果、キュー部４に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部６でデータ転送要求を一つも存在しない場合は、固定順位設定部１１により設定されたバスマスタにバス使用許可を与えるよう構成されている。それ以外の構成は図１に示す実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００２１】
次に、実施の形態２の動作について説明する。
実施の形態２では、固定順位設定部１１によって、要求調停部７ａに固定順位を設定する。即ち、要求調停部７ａにおいて、データ転送要求が存在せず、かつ、キュー部４にデータ転送要求が蓄積されていない場合にバス使用許可を付与するバスマスタを予め設定しておく。そして、要求調停部７ａは、そのような状況が発生した場合には、特定のバスマスタにバス使用許可を与える。これにより、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となるので、データ転送効率を高めることができる。
【００２２】
一方、このような状態で、特定のバスマスタ以外のバスマスタがデータ転送を要求してきた場合、要求調停部７ａは、図２に示したような調停手順で調停を行う。従って、特定のバスマスタがデータ転送要求を出力した場合には、データ転送効率は高められないが、転送効率を損ねる影響を与えるものではない。
【００２３】
以上のように、実施の形態２のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、固定優先順位を元に、バス使用許可を特定のバスマスタに付与するようにしたので、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となり、従って、バス制御装置としてのデータ転送効率を高めることができる。
【００２４】
実施の形態３．
実施の形態３は、データ転送要求が一つもなく、かつ、データ転送要求がキュー部に蓄積されていない場合は、データ転送要求の履歴情報を元に特定のバスマスタにバス使用許可を与えるようにしたものである。
図５は、実施の形態３のバス制御装置の構成図である。
図示のバス制御装置１ｂにおける要求カウント部１２は、要求判定部６で検出された複数のバスマスタ２−１〜２−ｎのデータ転送要求に基づき、それぞれのバスマスタ２−１〜２−ｎのデータ転送要求発行回数をカウントするよう構成されている。また、要求調停部７ｂは、データ転送要求が一つもなく、かつ、データ転送要求がキュー部４に蓄積されていない場合に、要求カウント部１２で計測したデータ転送要求発行回数に基づいて、ある特定のバスマスタにバス使用許可を付与するよう構成されている。それ以外の構成は図１に示した実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００２５】
次に、実施の形態３の動作について説明する。
要求カウント部１２では、各バスマスタ２−１〜２−ｎにおけるデータ転送要求の履歴情報として、各バスマスタ２−１〜２−ｎのデータ転送要求発行回数の情報を保持している。要求調停部７ｂは、要求判定部６によって確認されるデータ転送要求が一つもなく、かつ、キュー判定部５からの通知で、データ転送要求がキュー部４に蓄積されていない場合に、要求カウント部１２でカウントしたデータ転送要求発行回数に基づいて、ある特定のバスマスタにバス使用許可を付与する。例えば、最もデータ転送要求発行回数が多いバスマスタにバス使用許可を付与する。
これにより、データ転送要求発行頻度の高いバスマスタに予めバス使用許可を付与することで、調停手順をスキップできる可能性が高くなり、予測が的中した場合にはデータ転送効率を高めることができる。もし、予測が外れても、通常の調停手順が行われるだけであるため、データ転送効率の低下を招くことはない。従来通りの転送効率を実現できる。
【００２６】
以上のように、実施の形態３のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、データ転送要求の履歴情報を元に、バス使用許可を特定のバスマスタに付与するようにしたので、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となり、従って、バス制御装置としてのデータ転送効率を高めることができる。
【００２７】
また、実施の形態３のバス制御装置によれば、要求調停部は、履歴情報としてバスマスタのデータ転送要求数に基づき、データ転送要求数が最も多いバスマスタにバス使用許可を付与するようにしたので、調停手順をスキップできる可能性を高くすることができ、バス制御装置としてのデータ転送効率を高めることができる。
【００２８】
実施の形態４．
実施の形態４は、履歴情報としてバスマスタの待ち時間を用いるようにしたものである。
図６は、実施の形態４のバス制御装置の構成図である。
図示のバス制御装置１ｃにおける待ち時間計測部１３は、各バスマスタ２−１〜２−ｎの待ち時間、即ち、バスマスタ２−１〜２−ｎがデータ転送要求を発行してからデータ転送されるまでの時間を計測する機能部である。要求調停部７ｃは、データ転送要求が一つもなく、かつ、データ転送要求がキュー部４に蓄積されていない場合に、待ち時間計測部１３で計測した各バスマスタ２−１〜２−ｎの待ち時間に基づいて、ある特定のバスマスタにバス使用許可を付与するよう構成されている。また、要求調停部７ｃは、特定のバスマスタを選択するようマルチプレクサ８に指示した場合に、これを示す信号を待ち時間計測部１３に出力するよう構成されている。それ以外の構成は図１に示した実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００２９】
次に、実施の形態４の動作について説明する。
待ち時間計測部１３は、要求判定部６からの各バスマスタ２−１〜２−ｎのデータ転送要求と、要求調停部７ｃからの実際のデータ転送が行われたことを示す信号に基づいて、各バスマスタ２−１〜２−ｎの待ち時間を計測している。要求調停部７ｃは、要求判定部６の出力により、データ転送要求が一つもなく、かつ、キュー判定部５からの出力によりキュー部４にデータ転送要求が一つも蓄積されていないことを検知した場合は、待ち時間計測部１３の出力に基づいて、待ち時間が最も長いバスマスタに対してバス使用許可を与える。その後、バス使用許可を与えたバスマスタからデータ転送要求が送出された場合は要求調停部７ｃは調停手順をスキップする。これにより、予測が的中した場合にはデータ転送効率を高めることができる。もし、予測が外れても、データ転送効率の低下を招くことはない。
【００３０】
以上のように、実施の形態４のバス制御装置によれば、要求調停部は、履歴情報としてバスマスタの待ち時間に基づき、待ち時間が最も長いバスマスタにバス使用許可を付与するようにしたので、待ち時間の長いバスマスタからのデータ転送要求に対する調停手順をスキップできる可能性を高くすることができ、その結果、バス制御装置全体の待ち時間の短縮化が図れ、データ転送効率を高めることができる。
無線通信を行う二つのデバイスであればどのようなものであっても適用可能である。
【図面の簡単な説明】
【００３１】
【図１】この発明の実施の形態１によるバス制御装置を示す構成図である。
【図２】この発明の実施の形態１によるバス制御装置の調停手順を示す説明図である。
【図３】この発明の実施の形態１によるバス制御装置のバスマスタから発行されるデータ転送要求の一例を示す説明図である。
【図４】この発明の実施の形態２によるバス制御装置を示す構成図である。
【図５】この発明の実施の形態３によるバス制御装置を示す構成図である。
【図６】この発明の実施の形態４によるバス制御装置を示す構成図である。
【符号の説明】
【００３２】
１，１ａ，１ｂ，１ｃ  バス制御装置、２−１〜２−ｎ  バスマスタ、３−１〜３−ｎ  バススレーブ、４  キュー部、５  キュー判定部、６  要求判定部、７，７ａ，７ｂ，７ｃ  要求調停部、９  スレーブ分配部、１０  データバッファ部、１１  固定順位設定部、１２  要求カウント部、１３  待ち時間計測部。
【図１】
2010108275.tif 000003
【図２】
2010108275.tif 000004
【図３】
2010108275.tif 000005
【図４】
2010108275.tif 000006
【図５】
2010108275.tif 000007
【図６】
2010108275.tif 000008