説明

バス制御装置

【課題】データ転送効率を高めることのできるバス制御装置を得る。
【解決手段】キュー判定部5は、キュー部4にデータ転送要求が蓄積されているかを確認する。要求判定部6は、バスマスタ2−1〜2−nからのデータ転送要求の有無を確認する。要求調停部7は、キュー部4に蓄積されたデータ転送要求が一つのみ存在し、かつ、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、データ転送を要求しているバスマスタにバス使用許可を与える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のバスマスタおよび複数のバススレーブ間に接続され、それら複数のバスマスタおよび複数のバススレーブ間相互のデータ転送制御を行うバス制御装置に関するものである。
【背景技術】
【0002】
従来のバス制御装置は、マスタからのリクエストをリクエストデータスレッドという単位で扱うことが可能であり、マスタの動作とは独立してバス転送を行うことができ、バスラインを効率良く利用することが出来る(例えば、特許文献1参照)。
【0003】
【特許文献1】特開2003−348098号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
一般にバス制御装置では、複数のバスマスタからのデータ転送要求を調停するのに複数サイクルかかる。そして、従来のバス制御装置では、例えば、キューにデータ転送要求が蓄積されておらず、かつ、データ転送要求が一つしか存在しない、といった特に調停動作を必要としない場合でも同様に調停を行うため、このような場合でも複数サイクルかかり、バス制御装置としてのデータ転送効率を向上させる場合の妨げとなっていた。
【0005】
この発明は上記のような課題を解決するためになされたもので、データ転送効率を高めることのできるバス制御装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
この発明に係るバス制御装置は、複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、キュー部にデータ転送要求が蓄積されているかを確認するキュー判定部と、複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、要求判定部によるデータ転送要求の有無と、キュー判定部の判定結果とに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択する要求調停部を備えたものである。
【発明の効果】
【0007】
この発明のバス制御装置は、データ転送要求の有無と、キュー部にデータ転送要求が蓄積されているかに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択するようにしたので、最適なデータ転送要求を選択することができ、バス制御装置としてのデータ転送効率を高めることができる。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
図1は、この発明の実施の形態1によるバス制御装置を示す構成図である。
図において、バス制御装置1は、複数のバスマスタ2−1,2−2,…,2−nと、複数のバススレーブ3−1,3−2,…,3−nとの間に設けられる装置であり、キュー部4、キュー判定部5、要求判定部6、要求調停部7、マルチプレクサ(MUX)8、スレーブ分配部9、データバッファ部10を備えている。
【0009】
複数のバスマスタ2−1〜2−nは、データ転送を要求する装置であり、複数のバススレーブ3−1〜3−nは、複数のバスマスタ2−1〜2−nの要求に基づき、バスマスタ2−1〜2−nのデータをリード/ライトする装置である。キュー部4は、バスマスタ2−1〜2−nのデータ転送要求を蓄積するための単一メモリからなるキューである。キュー判定部5はキュー部4に蓄積されているデータ転送要求が存在するかどうかを確認する。要求判定部6は複数のバスマスタ2−1〜2−nのデータ転送要求の有無を確認する。要求調停部7はキュー判定部5と要求判定部6の結果に従い、キュー部4に蓄積されたデータ転送要求が一つだけで、かつ、データ転送要求が一つしか存在しない場合は、所定の調停手順をスキップして、データ転送を要求してきたバスマスタにバス使用許可を付与するよう構成されている。マルチプレクサ8は要求調停部7の情報に基づいて、キュー部4に蓄積されているデータ転送要求の中から一つを選択して出力する選択器である。スレーブ分配部9は、マルチプレクサ8で選択されたデータ転送要求を各バススレーブ3−1〜3−nに分配するための機能部である。データバッファ部10は、バススレーブ3−1〜3−nからの応答をバスマスタ2−1〜2−nに通知するためのデータをバッファリングするためのものである。
【0010】
次に、実施の形態1のバス制御装置の動作について説明する。
図2は、要求調停部7で行われる調停手順の一例を示したものである。バスマスタ2−1〜2−nからのデータ転送要求発行後、図2に示すような調停手順でバススレーブ3−1〜3−nに転送される要求が決定される。即ち、要求判定部6でデータ転送要求のタイムスタンプを取得すると、要求調停部7は、例えば、キュー部4に蓄積されているデータ転送要求の待ち時間をキュー判定部5によって取得し、待ち時間が最も長いデータ転送要求をバス転送の候補として選択する、といった待ち時間調停を行う。あるいは、待ち時間による調停ではなく、データ転送要求がバースト転送か否かに基づいて行うバースト転送調停やデータ量の大小に基づいて調停を行うデータ量調停といった調停が行われる。尚、これらの調停手順については、例えば特許文献1に記載されているように公知であるため、ここでの詳細な説明は省略する。
【0011】
図3は、バスマスタ2−1〜2−nから発行されるデータ転送要求の例である。
リクエストデータスレッドは、リクエスト、制御情報およびデータから構成される。例えば、リクエストとしては、要求を示すリクエスト、発行元のバスマスタの識別IDを示すマスタID、スレッドの識別を示すスレッドIDがある。そして、制御情報としては、書き込みまたは読み出し要求を示すR/W、宛先のバススレーブのアドレスを示すアドレス、転送の種類(バースト転送かどうか)を示す転送種別がある。最後に、データとしては、バススレーブ3−1〜3−nに書き込むデータがあり、合計Mbitで構成される。
【0012】
バスマスタ2−1〜2−nにおけるいずれかのバスマスタがデータ転送要求を発行すると、このデータ転送要求はキュー部4に蓄積される。複数のバスマスタ2−1〜2−nがデータ転送要求を発行し、キュー部4に複数のデータ転送要求が蓄積されている場合、要求調停部7は、図2に示す調停手順に従ってバススレーブ3−1〜3−nに転送するデータ転送要求を決定する。
【0013】
一方、データ転送要求が一つで、そのデータ転送要求がキュー部4に蓄積されている場合には、必ずそのデータ転送要求がバススレーブ3−1〜3−nに転送されることになる。このような場合には、キュー判定部5から要求調停部7に対して、蓄積されたデータ転送要求が一つであることが通知される。また、要求判定部6から要求調停部7に対して、データ転送要求が一つであることが通知される。これにより、要求調停部7は、図2に示す調停手順をスキップして、バススレーブ3−1〜3−nに転送するデータ転送要求を直ちに選択するようにマルチプレクサ8に指示を出力する。
【0014】
スレーブ分配部9では、マルチプレクサ8を介してキュー部4から転送されたデータ転送要求内のスレッドIDとアドレスにより、該当するバススレーブ3−1〜3−nに転送要求を出力する。
【0015】
データバッファ部10は、データ転送要求がバススレーブ3−1〜3−nへの書き込み要求の場合は、マスタIDとスレッドIDを保持する。一方、データ転送要求が読み出し要求の場合は、マスタID、スレッドIDおよびバススレーブ3−1〜3−nからの読み出しデータを保持する。そして、該当するバスマスタ2−1〜2−nにデータ転送が完了したことを通知する。読み出し要求の場合は読み出したデータも転送する。
【0016】
以上のように、実施の形態1のバス制御装置によれば、複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、キュー部にデータ転送要求が蓄積されているかを確認するキュー判定部と、複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、要求判定部によるデータ転送要求の有無と、キュー判定部の判定結果とに基づいて、キュー部に蓄積されたデータ転送要求の中から、バススレーブに転送するデータ転送要求を選択する要求調停部を備えたので、バスマスタからのデータ転送要求とキュー部に蓄積されたデータ転送要求とに基づいて、最適なデータ転送要求を選択することができ、バス制御装置としてのデータ転送効率を高めることができる。
【0017】
また、実施の形態1のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つのみ存在し、かつ、要求判定部の確認の結果、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、データ転送を要求しているバスマスタにバス使用許可を与えるようにしたので、無駄な調停を行わないため、バス制御装置としてデータ転送効率を高めることができる。
【0018】
また、実施の形態1のバス制御装置によれば、バススレーブが複数あり、転送されたデータを複数のバススレーブ毎に分配するためのスレーブ分配部を備えたので、バススレーブが複数設けられている構成に対しても、複数のバスマスタとのデータ転送を容易かつ確実に行うことができる。
【0019】
また、実施の形態1のバス制御装置によれば、バススレーブからの応答をバスマスタに通知するためのデータバッファ部を備えたので、バス制御装置としてバスマスタとバススレーブ間のデータ転送を行う構成を実現することができる。
【0020】
実施の形態2.
実施の形態2は、データ転送要求が一つもなく、かつ、データ転送要求がキュー部に蓄積されていない場合は、予め固定したバスマスタにバス使用許可を与えるようにしたものである。
図4は、実施の形態2におけるバス制御装置の構成図である。
図示のバス制御装置1aにおいて、固定順位設定部11は、要求調停部7aに対して固定順位を設定するための機能部である。要求調停部7aは、キュー判定部5の確認の結果、キュー部4に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部6でデータ転送要求を一つも存在しない場合は、固定順位設定部11により設定されたバスマスタにバス使用許可を与えるよう構成されている。それ以外の構成は図1に示す実施の形態1と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【0021】
次に、実施の形態2の動作について説明する。
実施の形態2では、固定順位設定部11によって、要求調停部7aに固定順位を設定する。即ち、要求調停部7aにおいて、データ転送要求が存在せず、かつ、キュー部4にデータ転送要求が蓄積されていない場合にバス使用許可を付与するバスマスタを予め設定しておく。そして、要求調停部7aは、そのような状況が発生した場合には、特定のバスマスタにバス使用許可を与える。これにより、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となるので、データ転送効率を高めることができる。
【0022】
一方、このような状態で、特定のバスマスタ以外のバスマスタがデータ転送を要求してきた場合、要求調停部7aは、図2に示したような調停手順で調停を行う。従って、特定のバスマスタがデータ転送要求を出力した場合には、データ転送効率は高められないが、転送効率を損ねる影響を与えるものではない。
【0023】
以上のように、実施の形態2のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、固定優先順位を元に、バス使用許可を特定のバスマスタに付与するようにしたので、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となり、従って、バス制御装置としてのデータ転送効率を高めることができる。
【0024】
実施の形態3.
実施の形態3は、データ転送要求が一つもなく、かつ、データ転送要求がキュー部に蓄積されていない場合は、データ転送要求の履歴情報を元に特定のバスマスタにバス使用許可を与えるようにしたものである。
図5は、実施の形態3のバス制御装置の構成図である。
図示のバス制御装置1bにおける要求カウント部12は、要求判定部6で検出された複数のバスマスタ2−1〜2−nのデータ転送要求に基づき、それぞれのバスマスタ2−1〜2−nのデータ転送要求発行回数をカウントするよう構成されている。また、要求調停部7bは、データ転送要求が一つもなく、かつ、データ転送要求がキュー部4に蓄積されていない場合に、要求カウント部12で計測したデータ転送要求発行回数に基づいて、ある特定のバスマスタにバス使用許可を付与するよう構成されている。それ以外の構成は図1に示した実施の形態1と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【0025】
次に、実施の形態3の動作について説明する。
要求カウント部12では、各バスマスタ2−1〜2−nにおけるデータ転送要求の履歴情報として、各バスマスタ2−1〜2−nのデータ転送要求発行回数の情報を保持している。要求調停部7bは、要求判定部6によって確認されるデータ転送要求が一つもなく、かつ、キュー判定部5からの通知で、データ転送要求がキュー部4に蓄積されていない場合に、要求カウント部12でカウントしたデータ転送要求発行回数に基づいて、ある特定のバスマスタにバス使用許可を付与する。例えば、最もデータ転送要求発行回数が多いバスマスタにバス使用許可を付与する。
これにより、データ転送要求発行頻度の高いバスマスタに予めバス使用許可を付与することで、調停手順をスキップできる可能性が高くなり、予測が的中した場合にはデータ転送効率を高めることができる。もし、予測が外れても、通常の調停手順が行われるだけであるため、データ転送効率の低下を招くことはない。従来通りの転送効率を実現できる。
【0026】
以上のように、実施の形態3のバス制御装置によれば、要求調停部は、キュー判定部の確認の結果、キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、データ転送要求の履歴情報を元に、バス使用許可を特定のバスマスタに付与するようにしたので、特定のバスマスタがデータ転送を要求してきた時には、調停手順が不要となり、従って、バス制御装置としてのデータ転送効率を高めることができる。
【0027】
また、実施の形態3のバス制御装置によれば、要求調停部は、履歴情報としてバスマスタのデータ転送要求数に基づき、データ転送要求数が最も多いバスマスタにバス使用許可を付与するようにしたので、調停手順をスキップできる可能性を高くすることができ、バス制御装置としてのデータ転送効率を高めることができる。
【0028】
実施の形態4.
実施の形態4は、履歴情報としてバスマスタの待ち時間を用いるようにしたものである。
図6は、実施の形態4のバス制御装置の構成図である。
図示のバス制御装置1cにおける待ち時間計測部13は、各バスマスタ2−1〜2−nの待ち時間、即ち、バスマスタ2−1〜2−nがデータ転送要求を発行してからデータ転送されるまでの時間を計測する機能部である。要求調停部7cは、データ転送要求が一つもなく、かつ、データ転送要求がキュー部4に蓄積されていない場合に、待ち時間計測部13で計測した各バスマスタ2−1〜2−nの待ち時間に基づいて、ある特定のバスマスタにバス使用許可を付与するよう構成されている。また、要求調停部7cは、特定のバスマスタを選択するようマルチプレクサ8に指示した場合に、これを示す信号を待ち時間計測部13に出力するよう構成されている。それ以外の構成は図1に示した実施の形態1と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【0029】
次に、実施の形態4の動作について説明する。
待ち時間計測部13は、要求判定部6からの各バスマスタ2−1〜2−nのデータ転送要求と、要求調停部7cからの実際のデータ転送が行われたことを示す信号に基づいて、各バスマスタ2−1〜2−nの待ち時間を計測している。要求調停部7cは、要求判定部6の出力により、データ転送要求が一つもなく、かつ、キュー判定部5からの出力によりキュー部4にデータ転送要求が一つも蓄積されていないことを検知した場合は、待ち時間計測部13の出力に基づいて、待ち時間が最も長いバスマスタに対してバス使用許可を与える。その後、バス使用許可を与えたバスマスタからデータ転送要求が送出された場合は要求調停部7cは調停手順をスキップする。これにより、予測が的中した場合にはデータ転送効率を高めることができる。もし、予測が外れても、データ転送効率の低下を招くことはない。
【0030】
以上のように、実施の形態4のバス制御装置によれば、要求調停部は、履歴情報としてバスマスタの待ち時間に基づき、待ち時間が最も長いバスマスタにバス使用許可を付与するようにしたので、待ち時間の長いバスマスタからのデータ転送要求に対する調停手順をスキップできる可能性を高くすることができ、その結果、バス制御装置全体の待ち時間の短縮化が図れ、データ転送効率を高めることができる。
無線通信を行う二つのデバイスであればどのようなものであっても適用可能である。
【図面の簡単な説明】
【0031】
【図1】この発明の実施の形態1によるバス制御装置を示す構成図である。
【図2】この発明の実施の形態1によるバス制御装置の調停手順を示す説明図である。
【図3】この発明の実施の形態1によるバス制御装置のバスマスタから発行されるデータ転送要求の一例を示す説明図である。
【図4】この発明の実施の形態2によるバス制御装置を示す構成図である。
【図5】この発明の実施の形態3によるバス制御装置を示す構成図である。
【図6】この発明の実施の形態4によるバス制御装置を示す構成図である。
【符号の説明】
【0032】
1,1a,1b,1c バス制御装置、2−1〜2−n バスマスタ、3−1〜3−n バススレーブ、4 キュー部、5 キュー判定部、6 要求判定部、7,7a,7b,7c 要求調停部、9 スレーブ分配部、10 データバッファ部、11 固定順位設定部、12 要求カウント部、13 待ち時間計測部。

【特許請求の範囲】
【請求項1】
複数のバスマスタからのデータ転送要求をキュー部に蓄積してからバススレーブに転送制御するバス制御装置において、
前記キュー部に前記データ転送要求が蓄積されているかを確認するキュー判定部と、
前記複数のバスマスタからのデータ転送要求の有無を確認する要求判定部と、
前記要求判定部によるデータ転送要求の有無と、前記キュー判定部の判定結果とに基づいて、当該キュー部に蓄積されたデータ転送要求の中から、前記バススレーブに転送するデータ転送要求を選択する要求調停部を備えたことを特徴とするバス制御装置。
【請求項2】
要求調停部は、キュー判定部の確認の結果、前記キュー部に蓄積されたデータ転送要求が一つのみ存在し、かつ、要求判定部の確認の結果、データ転送要求が一つしかない場合は、予め定めた調停手順をスキップして、前記データ転送を要求しているバスマスタにバス使用許可を与えることを特徴とする請求項1記載のバス制御装置。
【請求項3】
要求調停部は、キュー判定部の確認の結果、前記キュー部に蓄積されたデータ転送要求が一つも存在せず、かつ、要求判定部の確認の結果、データ転送要求が一つも存在しない場合は、固定優先順位またはデータ転送要求の履歴情報を元に、バス使用許可を特定のバスマスタに付与することを特徴とする請求項1記載のバス制御装置。
【請求項4】
要求調停部は、履歴情報としてバスマスタのデータ転送要求数に基づき、当該データ転送要求数が最も多いバスマスタにバス使用許可を付与することを特徴とする請求項3記載のバス制御装置。
【請求項5】
要求調停部は、履歴情報としてバスマスタの待ち時間に基づき、当該待ち時間が最も長いバスマスタにバス使用許可を付与することを特徴とする請求項3記載のバス制御装置。
【請求項6】
バススレーブが複数あり、転送されたデータを前記複数のバススレーブに分配するためのスレーブ分配部を備えたことを特徴とする請求項1から請求項5のうちいずれか1項記載のバス制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate