(57)【要約】【課題】複数のマスタデバイスが接続されたバスシステムにおける各マスタデバイスの転送性能が期待される転送性能となるように、バス使用権の優先順位を制御できるようにする。【解決手段】転送要求を発行する複数のマスタデバイスが接続されるバスシステムにおけるマスタデバイス毎に転送状態を転送状態測定部により測定し、測定した転送状態から各マスタデバイスの転送性能を転送性能算出部により算出し、算出した転送性能と転送性能の期待値とに基づいて、バス使用権の調停に係るバス使用権の優先順位を調停係数算出部により制御するようにして、各マスタデバイスの転送性能が期待される転送性能となるようにバス使用権の優先順位を制御できるようにする。【選択図】図１
2020107257.tif 000002
【特許請求の範囲】
【請求項１】
転送要求を発行する複数のマスタデバイスが接続されるバスシステムにおけるマスタデバイス毎に転送状態を測定する測定手段と、
前記測定手段が測定した転送状態から各マスタデバイスの転送性能を算出する性能算出手段と、
前記性能算出手段が算出した転送性能と転送性能の期待値とに基づいて、バス使用権の調停に係るバス使用権の優先順位を制御する順位制御手段とを有することを特徴とする制御装置。
【請求項２】
前記順位制御手段は、前記性能算出手段が算出した転送性能と前記転送性能の期待値とが一致するように前記バス使用権の優先順位を制御することを特徴とする請求項１記載の制御装置。
【請求項３】
前記順位制御手段は、前記性能算出手段が算出した転送性能と転送性能の期待値との差に応じた変化量で前記バス使用権の優先順位を変更することを特徴とする請求項１又は２記載の制御装置。
【請求項４】
前記順位制御手段は、前記性能算出手段が算出した転送性能と転送性能の期待値とに基づいて、調停手段がバス使用権の調停に用いる調停係数を算出して前記調停手段に出力することを特徴とする請求項１〜３の何れか１項に記載の制御装置。
【請求項５】
前記順位制御手段は、所定のタイミングで前記バス使用権の優先順位の制御を行うことを特徴とする請求項１〜４の何れか１項に記載の制御装置。
【請求項６】
前記バス使用権の優先順位に従って、前記バスシステムにおけるバス使用権の調停を行う調停手段を有することを特徴とする請求項１〜５の何れか１項に記載の制御装置。
【請求項７】
前記測定手段、前記性能算出手段、及び前記順位制御手段を前記バスシステムの内部に設けたことを特徴とする請求項１〜６の何れか１項に記載の制御装置。
【請求項８】
前記測定手段を、前記バスシステムの外部に設けたことを特徴とする請求項１〜６の何れか１項に記載の制御装置。
【請求項９】
前記性能算出手段及び前記順位制御手段の双方あるいは片方を、ソフトウェアで実装したことを特徴とする請求項１〜８の何れか１項に記載の制御装置。
【請求項１０】
前記ソフトウェアで実装した前記性能算出手段及び前記順位制御手段の双方あるいは片方を、動的に変更可能とする請求項９記載の制御装置。
【請求項１１】
転送要求を発行する複数のマスタデバイスが接続されるバスシステムにおけるマスタデバイス毎に転送状態を測定する測定工程と、
前記測定工程で測定した転送状態から各マスタデバイスの転送性能を算出する性能算出工程と、
前記性能算出工程で算出した転送性能と転送性能の期待値とに基づいて、バス使用権の調停に係るバス使用権の優先順位を制御する順位制御工程とを有することを特徴とする制御方法。
【請求項１２】
転送要求を発行する複数のマスタデバイスが接続されるバスシステムにおけるマスタデバイス毎に転送状態を測定する測定ステップと、
前記測定ステップで測定した転送状態から各マスタデバイスの転送性能を算出する性能算出ステップと、
前記性能算出ステップで算出した転送性能と転送性能の期待値とに基づいて、バス使用権の調停に係るバス使用権の優先順位を制御する順位制御ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス使用権の調停処理に係る制御装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
デジタル信号で情報を処理する情報処理装置にあっては、情報の転送を要求するマスタデバイスと、この要求に応じて情報を転送するスレーブデバイスが存在する。マスタデバイスの一例はＣＰＵであり、スレーブデバイスの一例はメモリコントローラである。マスタデバイスとスレーブデバイスを１対１に接続することは稀で、デバイスを相互に接続するバスを介して１以上のマスタデバイスと１以上のスレーブデバイスを接続することが多い。
【０００３】
バスを介して接続されたマスタデバイス及びスレーブデバイスのそれぞれは独立して動作することから、バスに対する転送要求及び転送要求に付随するデータが複数同時に存在することがある。したがって、動作が完了していない転送要求間で実行順序を調停するシステム、すなわちバス使用権の調停システムが必要である。バス使用権の調停システムによる調停方法には、すべてのマスタデバイスに対して公平にバス使用権を与える調停方法や、マスタデバイス毎に設ける優先順位に従いバス使用権を与える調停方法がある。
【０００４】
特定の期間内に転送を完了しなければならないマスタデバイスが接続されたバスに対してはすべてのマスタデバイスに対して公平にバス使用権を与える調停方法は適用が困難である。公平にバス使用権を与えるようにすると、特定の期間内に転送を完了しなければならないマスタデバイスが転送を要求しても、そのマスタデバイスは順番が来るまでバス使用権が与えられない。その結果、マスタデバイスの転送が特定の期間内に完了しないおそれが生じる。
【０００５】
また、マスタデバイス毎に設けた優先順位に従いバス使用権を与える調停方法を適用すると、優先順位が高いマスタデバイスに対して優先してバス使用権が与えられる。そこで、他のマスタデバイスより特定の期間内に転送を完了しなければならないマスタデバイスの優先順位を高くすると、そのマスタデバイスに優先的にバス使用権が与えられることとなる。その結果、特定の期間内に転送を完了しなければならないマスタデバイスの転送は特定の期間に完了する。しかし、他のマスタデバイスはバス使用権の割り当てが減少するため、これらのマスタデバイスに対しては、バス使用権が与えられるまでの待ち時間の増加、及び待ち時間の増加に因る転送性能の低下を引き起こす。
【０００６】
従来、マスタデバイスとスレーブデバイスを相互に接続するバスシステムにあっては、バス使用権の調停を実施する技術の提案が為されている。例えば、特許文献１には、目標スループットを得るために最低限必要な優先レベル、すなわち優先順位を動的に選択する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−１８７８７４公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に記載された技術は、優先レベルの選択回数が上限値に達したマスタデバイスに対しては優先レベルを下げている。つまり、転送要求を多数発行するマスタデバイスは、バス使用権が与えられる優先順位が低下する。しかしながら、転送要求を多数発行するマスタデバイスは、多くのバス使用権の割り当てを必要とするのが普通である。よって、特許文献１に記載の技術では、バスに接続されたマスタデバイスが期待通りのバス使用権を常に確保できるとは限らない。本発明は、このような事情に鑑みてなされたものであり、複数のマスタデバイスが接続されたバスシステムにおける各マスタデバイスの転送性能が期待される転送性能となるように、バス使用権の優先順位を制御できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る制御装置は、転送要求を発行する複数のマスタデバイスが接続されるバスシステムにおけるマスタデバイス毎に転送状態を測定する測定手段と、前記測定手段が測定した転送状態から各マスタデバイスの転送性能を算出する性能算出手段と、前記性能算出手段が算出した転送性能と転送性能の期待値とに基づいて、バス使用権の調停に係るバス使用権の優先順位を制御する順位制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のマスタデバイスが接続されたバスシステムにおける各マスタデバイスの転送性能が期待される転送性能となるように、バス使用権の優先順位を制御することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態におけるバスシステムの構成例を示す図である。
【図２】第１の実施形態における優先順位制御の例を説明する図である。
【図３】第１の実施形態における優先順位制御の例を説明する図である。
【図４】第２の実施形態におけるバスシステムの構成例を示す図である。
【図５】第３の実施形態におけるバスシステムの構成例を示す図である。
【図６】第４の実施形態におけるバスシステムの構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。ただし、本発明の趣旨及びその範囲から逸脱することなく、実施形態及び詳細を変更することは可能である。したがって、本実施形態は記載内容に限定するものではない。また、以下に示す実施形態は、特に限定する場合を除き、ハードウェア上に実装しても、あるいはソフトウェアで実装しても構わない。なお、同一の機能を有する構成要素には原則として同一の符号を付し、重複する説明は省略する。
【００１３】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、第１の実施形態における制御装置を適用したバスシステムの構成例を示すブロック図である。図２に示すように、本実施形態におけるバスシステム１００は、優先順位制御部１０１、バス使用権調停部１０２、及びバス転送路１０３を有する。バスシステム１００には、１以上のマスタデバイス１０４、及び１以上のスレーブデバイス１０５が接続される。
【００１４】
優先順位制御部１０１は、期待する転送性能と実行された転送での転送性能とに基づいて、バスシステム１００に接続されたマスタデバイス１０４に係るバス使用権の優先順位を制御する。優先順位制御部１０１は、転送状態測定部１１１、転送性能算出部１１２、及び調停係数算出部１１３を有する。転送状態測定部１１１、転送性能算出部１１２、及び調停係数算出部１１３については後述する。優先順位制御部１０１は、制御装置の一例である。なお、制御装置として、優先順位制御部１０１に加えてバス使用権調停部１０２を含むように構成してもよい。また、転送状態測定部１１１、転送性能算出部１１２、及び調停係数算出部１１３は、測定手段、性能算出手段、及び順位制御手段の一例である。
【００１５】
バス使用権調停部１０２は、優先順位制御部１０１、詳細には調停係数算出部１１３により算出される調停係数に基づいて、バス転送路１０３を使用する権利（バス使用権）の調停を行う。バス使用権調停部１０２は、調停係数の値が大きい、すなわち優先順位が高いマスタデバイス１０４に対しては、より多くのバス使用権を割り当てる。また、バス使用権調停部１０２は、反対に、調停係数の値が小さい、すなわち優先順位が低いマスタデバイス１０４に対してはバス使用権の割り当てを少なくする。
【００１６】
なお、本実施形態では、調停係数の値が大きいほどマスタデバイスの優先順位が高いものとするが、優先順位が高いほど値が小さくなるような調停係数を用いてもよく、その場合には前述した説明とは逆となるようにバス使用権の調停を行えばよい。すなわち、バス使用権調停部１０２は、調停係数の値が小さいマスタデバイス１０４に対しては、より多くのバス使用権を割り当て、反対に、調停係数の値が大きいマスタデバイス１０４に対してはバス使用権の割り当てを少なくする。
【００１７】
バス転送路１０３は、マスタデバイス１０４が発行するアドレスや書き込み値、あるいはスレーブデバイス１０５が発行する読み出し値や応答をトランザクションの応答を転送する経路である。
【００１８】
次に、優先順位制御部１０１が有する転送状態測定部１１１、転送性能算出部１１２、及び調停係数算出部１１３についてそれぞれ説明する。
【００１９】
＜転送状態測定部１１１＞
転送状態測定部１１１について説明する。転送状態測定部１１１は、バスシステム１００に接続されたマスタデバイス１０４毎に、バス転送路１０３を介して実際に行われた転送の転送状態を測定する。転送状態測定部１１１は、バス転送路１０３に接続されたマスタデバイス１０４毎に、以下の（１）〜（５）に示す５項目の情報を取得して記録する。以下の（１）〜（５）に示す情報の取得に当たって、情報の取得を開始する要因や取得対象は、バスシステム１００が適用するバスプロトコルに準拠する。なお、転送状態測定部１１１が取得する情報は、以下に示す５項目に限定されるものではなく、他の情報を取得するようにしてもよい。
（１）転送要求を発行した時刻
（２）転送を実際に開始した時刻
（３）一度に転送するデータの大きさ
（４）データ転送の繰り返し回数
（５）転送が完了した時刻
【００２０】
なお、本実施形態においては、以下の特徴を有するバスプロトコルをバスシステム１００に適用するものとする。
・アドレスの転送とデータの転送は独立
・アドレスの転送がデータの転送に先行
・一度に転送するデータの大きさはアドレスと同時に転送
・データ転送の繰り返し回数はアドレスと同時に転送
・転送アドレスが有効であることを示す信号（ａｄｄｒ＿ｖａｌｉｄ）を有する
・転送データが有効であることを示す信号（ｄａｔａ＿ｖａｌｉｄ）を有する
【００２１】
本実施形態において、アドレスの転送とデータの転送は独立し、またアドレスの転送がデータの転送に先行することから、マスタデバイス１０４は、転送の開始に当たりアドレス転送の開始をバスシステム１００に対して要求する。よって、
（１）転送要求を発行した時刻＝マスタデバイス１０４がバスシステム１００にアドレス転送の開始要求を発行した時刻
である。また、
（２）転送を実際に開始した時刻＝マスタデバイス１０４がバスシステム１００に先頭アドレスの転送を開始した時刻
である。
一方、１つの転送要求はマスタデバイス１０４が転送完了応答を受信して完了する。よって、
（５）転送が完了した時刻＝マスタデバイス３が転送完了応答を受信した時刻
である。
【００２２】
したがって、転送状態測定部１１１は、（１）転送要求を発行した時刻としてマスタデバイス１０４によるアドレス転送の開始要求の発行時刻を記録する。また、転送状態測定部１１１は、（２）転送を実際に開始した時刻としてマスタデバイス１０４による先頭アドレスの転送開始時刻を記録し、（５）転送が完了した時刻としてマスタデバイス１０４の転送完了応答の受信時刻を記録する。
【００２３】
また、本実施形態において、マスタデバイス１０４は、アドレスの転送と同時にバスシステム２に対して、一度に転送するデータの大きさ、及びデータ転送の繰り返し回数を転送する。したがって、転送状態測定部１１１は、有効なアドレスを転送している期間内、すなわち信号ａｄｄｒ＿ｖａｌｉｄの値が「有効」を示している期間のいずれかの時刻で、それらの情報を取得して記録する。すなわち、転送状態測定部１１１は、（３）一度に転送するデータの大きさ、及び（４）データ転送の繰り返し回数として、アドレスと同時にそれぞれ転送された一度に転送するデータの大きさを示す値、及びデータ転送の繰り返し回数を示す値を、記録する。
【００２４】
本実施形態は、取得した情報を記録する手段、あるいは記録する媒体に依存しない。転送状態測定部１１１が取得した（１）〜（５）に示す情報を記録可能で、かつ転送性能算出部１１２が記録した情報を参照可能であるならば、任意の手段や媒体を適用して本実施形態を実施可能である。例えば、転送状態測定部１１１内部のメモリに取得した情報を記録するようにしてもよいし、または転送状態測定部１１１外部の記憶装置に記録するようにしてもよい。さらに、転送状態測定部１１１内部のメモリあるいは外部の記憶装置は、ＳＲＡＭやＤＲＡＭ等の揮発性のメモリ素子であってもよいし、フラッシュメモリ等の不揮発性のメモリ素子であってもよい。また、転送状態測定部１１１外部の記憶装置としてハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）を適用しても実施可能である。
【００２５】
＜転送性能算出部１１２＞
次に、転送性能算出部１１２について説明する。転送性能算出部１１２は、転送状態測定部１１１が測定した転送状態に基づいて、各マスタデバイス１０４の転送性能を算出する。転送性能を表す物理量には、単位時間当たりの転送データ量を示すスループットを始めとして種々の物理量が存在する。本実施形態は、転送性能を表す物理量に依存するものではないことから、転送性能を表す物理量として任意の物理量を適用して転送性能算出部１１２を実施可能である。そこで、本実施形態では、転送性能を表す物理量として、スループットを適用する。本実施形態に適用するスループットは、単位時間を１秒、転送データ量をバイト数とする。なお、本実施形態において適用するスループットは、単位時間を秒に限定するものではなく、水平同期期間や垂直同期期間等の動作に基づく期間を単位時間としたスループットを適用しても実施可能である。
【００２６】
転送性能算出部１１２は、転送状態測定部１１１により測定された、以下の測定値を用いて、下記式によりマスタデバイス１０４のスループット（Ｔｈ）を算出する。
（１）転送要求を発行した時刻
（３）一度に転送するデータの大きさ
（４）データ転送の繰り返し回数
（５）転送完了応答を受信した時刻
【００２７】
【数１】
2020107257.tif 000003
【００２８】
本実施形態では、転送性能算出部１１２によるスループット（Ｔｈ）の更新は、バス転送路１０３を介した転送が行われる毎に実施するものとする。なお、スループット（Ｔｈ）の更新間隔は、転送毎に限定するものではなく、固定時間間隔（例えば１０秒等）でスループット（Ｔｈ）を更新してもよい。また、スループット（Ｔｈ）の更新は、動作に基づく期間、例えば１水平同期期間であってもよい。
【００２９】
転送性能算出部１１２は、算出した各マスタデバイス１０４の転送性能を、調停係数算出部１１３に出力する。なお、転送性能算出部１１２から調停係数算出部１１３への転送性能の供給は、直接供給するようにしてもよいし、例えばメモリやハードディスク等の記憶媒体を経由して調停係数算出部１１３へ供給するようにしてもよい。
【００３０】
＜調停係数算出部１１３＞
次に、調停係数算出部１１３について説明する。調停係数算出部１１３は、転送性能算出部１１２で算出した転送性能に基づいて、バス使用権の優先順位を制御する。調停係数算出部１１３は、算出された各マスタデバイスの転送性能の値を基に、バスシステム１００においてバス使用権の割り当てが期待値に合致するようにバス使用権の調停に用いる調停係数を算出する。なお、調停係数算出部１１３によるバス使用権の優先順位に係る制御処理は、転送性能算出部１１２による転送性能の更新にあわせて行うようにしてもよいし、予め設定した所定のタイミングで行うようにしてもよい。
【００３１】
ここで、調停係数算出部１１３が生成する調停係数の様式は、バス使用権調停部１０２がバス使用権調停の優先順位を指定する方法に依存する。例えば、バス使用権調停部１０２がアービトレーションウェイト（重み値）を適用してバス使用権調停の優先順位を指定するならば、調停係数はアービトレーションウェイトの値である。なお、調停係数の様式は、アービトレーションウェイトに限定されるものではなく、バス使用権調停部１０２に適用可能な様式であれば、調停係数の様式は任意である。
【００３２】
以下、下記に示す諸元を有するバスシステム１００を例に、調停係数算出部１１３での処理を説明する。
・バスシステム１００に接続するマスタデバイス１０４の数が３（Ｍ０、Ｍ１、Ｍ２）
・優先順位は、アービトレーションウェイト値（ａｗ）で指定
・アービトレーションウェイト値（ａｗ）の範囲は、｛ａｗ｜０≦ａｗ≦１５｝
・優先順位はアービトレーションウェイト値（ａｗ）に比例
【００３３】
本例において使用者がバスシステム１００において期待するマスタデバイス１０４毎の転送性能の期待値（ｅｘｐ）と、この期待値（ｅｘｐ）を得ることを期待して設定したアービトレーションウェイト値（ａｗ）の例を図２に示す。また、図２には、転送性能算出部１１２が算出した各マスタデバイス１０４の転送性能、すなわち転送性能の実行値（ａｃｔ）、及び実行値（ａｃｔ）と期待値（ｅｘｐ）との差分（ｄ）も併せて示している。
【００３４】
図２に示すように、マスタデバイスＭ０による転送は、実行値（ａｃｔ）と期待値（ｅｘｐ）が同じであり、期待に沿った転送性能を得ている。しかし、マスタデバイスＭ１による転送は、実行値（ａｃｔ）が期待値（ｅｘｐ）より低く、期待値以下の実行性能しか得ることができていない。一方、マスタデバイスＭ２による転送は、実行値（ａｃｔ）が期待値（ｅｘｐ）より高く、期待値以上の実行性能を得ている。
【００３５】
調停係数算出部１１３は、転送性能における実行値（ａｃｔ）と期待値（ｅｘｐ）との差分（ｄ）を解消するように、アービトレーションウェイト値（ａｗ）を更新する。差分（ｄ）を解消するようにアービトレーションウェイト値（ａｗ）を更新する手法には種々の手法が存在する。本実施形態は、差分（ｄ）を解消する手法に依存するものではない。そこで、本実施形態では、下記式によりアービトレーションウェイト値（ａｗ）に加算する補正量（ｋ）を算出し、この補正量（ｋ）とアービトレーションウェイト値（ａｗ）と加算することでアービトレーションウェイト値（ａｗ）を更新する手法を適用する。
【００３６】
【数２】
2020107257.tif 000004
【００３７】
また、補正量（ｋ）の加算に当たっては飽和演算を適用する。すなわち、下記式に示すように更新後のアービトレーションウェイト値（ａｗ）が、アービトレーションウェイト値（ａｗ）の範囲に納まるようにする。下記式において、ｍａｘ（ａｗ）はアービトレーションウェイト値（ａｗ）の最大値を表し、ｍｉｎ（ａｗ）はアービトレーションウェイト値（ａｗ）の最小値を表す。本実施形態では、ｍａｘ（ａｗ）＝１５であり、ｍｉｎ（ａｗ）＝０である。
【００３８】
【数３】
2020107257.tif 000005
【００３９】
図２に示した転送性能の実行値（ａｃｔ）、期待値（ｅｘｐ）、及び実行値（ａｃｔ）と期待値（ｅｘｐ）との差分（ｄ）に対して、前述したようにしてアービトレーションウェイト値（ａｗ）を更新した結果を図３に示す。すなわち、転送性能の実行値（ａｃｔ）と期待値（ｅｘｐ）との差（ｄ）に応じた変化量で、バス使用権の優先順位を示すアービトレーションウェイト値（ａｗ）を変更した結果を図３に示す。図３に示すように、マスタデバイスＭ０は期待値（ｅｘｐ）に沿った転送性能を得ていることから、アービトレーションウェイト値（ａｗ）に変化はなく３のままである。一方、期待値以下の実行性能しか得ることができていなかったマスタデバイスＭ１のアービトレーションウェイト値（ａｗ）は、３から４に更新している。アービトレーションウェイト値（ａｗ）が増加したことにより、マスタデバイスＭ１の転送に対するバス使用権の割り当てが増加し、その結果、マスタデバイスＭ１の転送性能が向上する。反対に、期待値以上の実行性能を得ていたマスタデバイスＭ２のアービトレーションウェイト値（ａｗ）は、６から５に減少している。アービトレーションウェイト値（ａｗ）が減少したことにより、マスタデバイスＭ２の転送に対するバス使用権の割り当てが減少し、その結果、マスタデバイスＭ２の転送性能は低下する。
【００４０】
以上のようにしてアービトレーションウェイト値（ａｗ）の更新がなされるたびに、調停係数算出部１１３は、更新後のアービトレーションウェイト値（ａｗ）をバスシステム１００内のバス使用権調停部１０２に出力する。以下、同様に転送性能の実行値（ａｃｔ）と期待値（ｅｘｐ）に差分（ｄ）が存在するならば、アービトレーションウェイト値（ａｗ）の補正を実施し、転送性能の実行値（ａｃｔ）と期待値（ｅｘｐ）とが一致するよう調停係数算出部１１３が動作する。
【００４１】
第１の実施形態によれば、優先順位制御部１０１が、マスタデバイス１０４毎に実際の転送性能を取得して、期待する転送性能との差を解消するように調停係数を補正し、バス使用権の調停に用いられる調停係数を更新する。これにより、各マスタデバイス１０４の転送性能が期待される転送性能となるようにバス使用権の優先順位を制御することができ、期待される転送性能が得られるように各マスタデバイス１０４に適切にバス使用権を与えることが可能となる。また、各マスタデバイス１０４における実際の転送性能を、期待する転送性能に一致させることが可能となり、バスシステム１００における転送性能の見積もり精度を向上させることができる。
【００４２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。図４は、第２の実施形態におけるバスシステムの構成例を示すブロック図である。第２の実施形態では、優先順位制御部１０１は、転送性能算出部１１２及び調停係数算出部１１３の双方あるいは片方をバスシステム１００内のＣＰＵ上で動作するソフトウェアを適用して実装する。すなわち、第２の実施形態では、転送性能算出部１１２及び調停係数算出部１１３の双方あるいは片方はファームウェア４０１の形態である。図４には、優先順位制御部１０１をバスシステム１００に適用し、転送性能算出部１１２と調停係数算出部１１３の双方をソフトウェア（ファームウェア）４０１で実装した例を示している。
【００４３】
第２の実施形態における転送状態測定部１１１の動作は、第１の実施形態における転送状態測定部１１１の動作と同様である。すなわち、転送状態測定部１１１は、マスタデバイス１０４毎に実際に行われた転送の転送状態を取得して記録し、転送状態を出力する。
【００４４】
第２の実施形態における転送性能算出部１１２も第１の実施形態における転送性能算出部１１２と同様に、マスタデバイス１０４毎に転送性能を算出する。第２の実施形態における転送性能算出部１１２は、ソフトウェアによる実装であることから、必要時のみメモリに展開し、不要時はメモリから退避する使用方法を適用してもよい。
【００４５】
また、第２の実施形態における調停係数算出部１１３も第１の実施形態における調停係数算出部１１３と同様に、マスタデバイス３毎に調停係数を算出する。算出した調停係数は、バスシステム１００内のＣＰＵがバス使用権調停部１０２内のレジスタに書き込む。第２の実施形態における調停係数算出部１１３も転送性能算出部１１２と同様にソフトウェアによる実装であることから、必要時のみメモリに展開し、不要時はメモリから退避する使用方法を適用してもよい。
【００４６】
さらに、第２の実施形態における転送性能算出部１１２及び調停係数算出部１１３は、ソフトウェアによる実装であることから機能の変更が動作中に変更可能である。したがって、バスシステム１００の使用状態や動作状況に適応した、転送性能算出部１１２及び調停係数算出部１１３の機能変更が可能である。例えば、静止画の転送と動画の転送とでバス使用権の割り当てのアルゴリズムが異なるならば、転送対象に適応して調停係数算出部１１３を書き替える。すなわち、静止画を転送する期間では、静止画転送に適したアルゴリズムに基づく調停係数算出部１１３に書き替えて適用し、動画を転送する期間では、動画転送に適したアルゴリズムに基づく調停係数算出部１１３に書き替えて適用する。このように調停係数算出部１１３を書き替えることで適切なバス使用権の割り当てアルゴリズムを適用することが可能となる。
【００４７】
第２の実施形態によれば、第１の実施形態と同様に、各マスタデバイス１０４の転送性能が期待される転送性能となるようにバス使用権の優先順位を制御することができる。したがって、期待される転送性能となるように各マスタデバイス１０４にバス使用権を与えることが可能となり、またバスシステム１００における転送性能の見積もり精度を向上させることができる。
【００４８】
（第３の実施形態)
次に、本発明の第３の実施形態について説明する。図５は、第３の実施形態におけるバスシステムの構成例を示すブロック図である。第３の実施形態では、優先順位制御部１０１は、転送性能算出部１１２及び調停係数算出部１１３をバスシステム１００外のＣＰＵ上で動作するソフトウェア（ファームウェア）５０１を適用して実装する。
【００４９】
第３の実施形態における転送状態測定部１１１の動作は、第１の実施形態及び第２の実施形態における転送状態測定部１１１の動作と同様である。すなわち、転送状態測定部１１１は、マスタデバイス１０４毎に転送状態を取得して記録し、転送状態を出力する。
【００５０】
第３の実施形態における転送性能算出部１１２も第１の実施形態及び第２の実施形態における転送性能算出部１１２と同様に、マスタデバイス１０４毎に転送性能を算出する。また、第３の実施形態における調停係数算出部１１３も第１の実施形態及び第２の実施形態における調停係数算出部１１３と同様に、マスタデバイス１０４毎に調停係数を算出する。算出した調停係数は、バスシステム１００外のＣＰＵがバス使用権調停部１０５内のレジスタに書き込む。第３の実施形態における転送性能算出部１１２及び調停係数算出部１１３は、第２の実施形態と同様にソフトウェアによる実装であることから、必要時のみメモリに展開し、不要時はメモリから退避する使用方法を適用してもよい。
【００５１】
さらに、第３の実施形態における転送性能算出部１１２及び調停係数算出部１１３は、第２の実施形態と同様にソフトウェアによる実装であることから機能の変更が動作中に変更可能である。したがって、第２の実施形態と同様にバスシステム１００の使用状態や動作状況に適応した、転送性能算出部１１２及び調停係数算出部１１３の機能変更が可能である。
【００５２】
第３の実施形態によれば、第１の実施形態と同様に、各マスタデバイス１０４の転送性能が期待される転送性能となるようにバス使用権の優先順位を制御することができる。したがって、期待される転送性能となるように各マスタデバイス１０４にバス使用権を与えることが可能となり、またバスシステム１００における転送性能の見積もり精度を向上させることができる。
【００５３】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。図６は、第４の実施形態におけるバスシステムの構成例を示すブロック図である。第４の実施形態では、優先順位制御部１０１は、バスシステム１００外に実装する。例えば、転送状態測定部１１１をバスシステム１００の外部に設け、転送性能算出部１１２及び調停係数算出部１１３をバスシステム１００外のＣＰＵ上で動作するソフトウェア（ファームウェア）６０１を適用して実装する。
【００５４】
第４の実施形態における転送状態測定部１１１は、第１の実施形態から第３の実施形態における転送状態測定部１１１と同様に、マスタデバイス１０４毎に転送状態を取得して記録し、転送状態を出力する。第４の実施形態における転送性能算出部１１２及び調停係数算出部１１３は、第３の実施形態と同様にバスシステム１００外のＣＰＵ上で動作するソフトウェア６０１を適用して実装する。したがって、第４の実施形態における転送性能算出部１１２と調停係数算出部１１３の特徴は第３の実施形態と同様である。第４の実施形態による優先順位制御部１０１は、バスシステム１００外に実装することから、既存のバスシステムに対して追加し、機能の向上を図ることが可能である。
【００５５】
第４の実施形態においても、第１の実施形態と同様に、各マスタデバイス１０４の転送性能が期待される転送性能となるようにバス使用権の優先順位を制御することができる。したがって、期待される転送性能となるように各マスタデバイス１０４にバス使用権を与えることが可能となり、またバスシステム１００における転送性能の見積もり精度を向上させることができる。
【００５６】
（本発明の他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５７】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５８】
１００：バスシステム  １０１：優先順位制御部  １０２：バス使用権調停部  １０３：バス転送路  １０４：マスタデバイス  １０５：スレーブデバイス  １１１：転送状態測定部  １１２：転送性能算出部  １１３：調停係数算出部
【図１】
2020107257.tif 000006
【図２】
2020107257.tif 000007
【図３】
2020107257.tif 000008
【図４】
2020107257.tif 000009
【図５】
2020107257.tif 000010
【図６】
2020107257.tif 000011