(57)【要約】【課題】簡易的にバス使用権を分配する割合を変えて調停を行うことができるバス使用権の調停装置を提供する。【解決手段】バスに接続されたバスマスタに与えるバス使用権を調停するための調停方法に対応する設定値を複数記憶するシフトレジスタ１１ａに記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法から一の調停方法を選択する調停方法選択回路１１と、調停方法選択回路１１により選択された調停方法に従って、バスのバス使用権を与えるバスマスタを決定するバスマスタ決定回路１２と、バスマスタ決定回路１２により、調停方法選択回路１１により選択された調停方法に従って、バス使用権の決定が所定回数行われると、シフトレジスタ１１ａに記憶された複数の設定値から一の設定値を新たに選択するように調停方法選択回路１１を制御する制御部１３とを備える。【選択図】  図１
2010009241.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続されたバスマスタに与えるバス使用権を調停するための調停方法に対応する設定値を複数記憶する記憶部に記憶された複数の設定値から一の設定値を選択することによって、複数の上記調停方法から一の調停方法を選択する調停方法選択部と、
上記調停方法選択部により選択された調停方法に従って、上記バスのバス使用権を与えるバスマスタを決定する決定部と、
上記決定部により、上記調停方法選択部により選択された調停方法に従って、上記バス使用権の決定が所定回数行われると、上記記憶部に記憶された複数の設定値から一の設定値を新たに選択するように上記調停方法選択部を制御する制御部とを備えるバス使用権の調停装置。
【請求項２】
上記制御部は、上記バスに接続されたバスマスタにバス使用権を与える優先度に基づいて設定された複数の上記設定値を、上記記憶部に記憶させる請求項１記載のバス使用権の調停装置。
【請求項３】
バスに接続されたバスマスタに与えるバス使用権を調停するための調停方法に対応する設定値を複数記憶する記憶部に記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法から一の調停方法を選択する調停方法選択ステップと、
上記調停方法選択ステップにより選択された調停方法に従って、上記バスのバス使用権を与えるバスマスタを決定する決定ステップとを有し、
上記調停方法選択ステップでは、上記決定ステップによりバス使用権の決定が所定回数行われると、上記記憶部に記憶された複数の設定値から一の設定値を新たに選択するバス使用権の調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスに接続されたバスマスタに与えるバス使用権の調停装置及び調停方法に関するものである。
【背景技術】
【０００２】
複数のバスマスタがバスを介して接続されたバスシステムでは、優先順位に従ってバス使用権を各バスマスタに与える固定優先順位方式（例えば、特許文献１参照）や、平等にバス使用権を各バスマスタに与えるラウンドロビン方式（例えば、特許文献２参照）などの調停方法によって、バスマスタ間の調停を行っている。
【０００３】
【特許文献１】特開平１１―７３３７９号公報
【特許文献２】特開２０００―１４８６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
固定優先順位方式を用いた調停方法は、例えば、１つのバスに４つのバスマスタＡ〜Ｄが接続されており、「Ａ＞Ｂ＞Ｃ＞Ｄ」の順で優先順位が固定されているバスシステムに適用される。このバスシステムにおいては、優先順位が高いバスマスタＡ、Ｂ、Ｃがバス使用権を要求し続けると、優先順が最も低いバスマスタＤがバス使用権を常に獲得できないという問題があった。
【０００５】
また、ラウンドロビン方式を用いた調停方法の具体例を、図５及び図６を参照して以下のとおり説明する。
【０００６】
図５は、１つのバスＢＵＳに４つのバスマスタＡ〜Ｄが接続されており、アービタＡｒｂｉｔｅｒによってバス使用権が管理されたバスシステム１００を示した図である。このバスシステム１００では、例えば次のようにバスマスタＡ〜Ｄの優先度を設定した４つの固定優先順位方式に係る調停方法を順次繰り返す。すなわち、アービタＡｒｂｉｔｅｒは、「Ａ＞Ｂ＞Ｃ＞Ｄ」（調停方法０）、「Ｂ＞Ｃ＞Ｄ＞Ａ」（調停方法１）、「Ｃ＞Ｄ＞Ａ＞Ｂ」（調停方法２）、「Ｄ＞Ａ＞Ｂ＞Ｃ」（調停方法３）を順次繰り返す。このようにして調停処理を行うことで、アービタＡｒｂｉｔｅｒは、バスマスタＡ〜Ｄにバス使用権が与えられる優先順位をローテーションさせることができ、平等にバス使用権を各バスマスタＡ〜Ｄに与えることができる。
【０００７】
図６は、１つのバスＢＵＳに４つのバスマスタＡ〜Ｄが接続されており、アービタＡｒｂｉｔｅｒによってバス使用権が管理されたバスシステム２００を示した図である。このバスシステム２００では、バス使用権を獲得したバスマスタの優先順位を最低順位になるように遷移するようにアービタＡｒｂｉｔｅｒが調停を行うものである。例えば「Ａ＞Ｂ＞Ｃ＞Ｄ」の優先順位（調停方法０）でバスマスタＢがバス使用権を獲得すると、アービタＡｒｂｉｔｅｒは、バスマスタＢの優先順位が最低順位となる「Ｃ＞Ｄ＞Ａ＞Ｂ」の優先順位（調停方法２）で調停を行う。
【０００８】
次にラウンドロビン方式による調停処理の動作例について図７を参照して説明する。ここで、処理内容に係る説明を簡単にするために、全てのバスマスタＡ〜Ｄがバス使用権をバスアービタＡｒｂｉｔｅｒに対して常時要求しているものとする。
【０００９】
上述したバスシステム２００では、図７に示すように、まず上述した調停方法０に従って、優先順位が一番高いバスマスタＡにバス使用権を与える。次の調停時において、バスマスタＡの優先順位を最低の状態とし、バスマスタＢの優先順位を最高の状態として、上述した調停方法１に従って調停を行う。そして、次の調停時において、バスシステム２００は、バスマスタＢにバス使用権を与えると、さらにその次の調停時において、バスマスタＢの優先順位を最低の状態として上述した調停方法２に従って調停を行う。その後、バスシステム２００は、上述した調停方法３、調停方法０の順に繰り返して調停処理を行う。
【００１０】
また、バスシステム１００では、全てのバスマスタＡ〜Ｄがバス使用権を常時要求している場合、バスマスタＡ、Ｂ、Ｃ、Ｄの順で繰り返しバス使用権を与えるように調停するので、結果として図７に示すようなバスシステム２００と同様の調停を行うこととなる。
【００１１】
このようにして、ラウンドロビン方式に係る調停方法では、バスに接続された全てのバスマスタがバス使用権を要求し続けた場合には、図７に示すようにバス使用権の分配が均等になるという特徴がある。
【００１２】
バスシステムによっては、バスマスタ毎にバス使用権の分配の割合、すなわち優先度の重み付けを変えたい場合があるが、上述した調停方法を用いると、容易に調整できないという問題がある。例えば、ラウンドロビン方式で調停を行う場合、他のバスマスタに比べて大量のデータ転送を行うバスマスタにより多くのバス使用権を与えようとしても、他のバスマスタもバス使用権を要求している間、優先度が均等になってしまうという問題がある。
【００１３】
本発明は、このような実情に鑑みて提案されたものであり、簡易的にバス使用権を分配する割合を変えて調停を行うことができるバス使用権の調停装置、及び、バス使用権の調停方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決するための手段として、本発明に係るバス使用権の調停装置は、バスに接続されたバスマスタに与えるバス使用権を調停するための調停方法に対応する設定値を複数記憶する記憶部に記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法から一の調停方法を選択する調停方法選択部と、調停方法選択部により選択された調停方法に従って、バスのバス使用権を与えるバスマスタを決定する決定部と、決定部により、調停方法選択部により選択された調停方法に従って、バス使用権の決定が所定回数行われると、記憶部に記憶された複数の設定値から一の設定値を新たに選択するように調停方法選択部を制御する制御部とを備える。
【００１５】
また、本発明に係るバス使用権の調停方法は、バスに接続されたバスマスタに与えるバス使用権を調停するための調停方法に対応する設定値を複数記憶する記憶部に記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法から一の調停方法を選択する調停方法選択ステップと、調停方法選択ステップにより選択された調停方法に従って、バスのバス使用権を与えるバスマスタを決定する決定ステップとを有し、調停方法選択ステップでは、決定ステップによりバス使用権の決定が所定回数行われると、記憶部に記憶された複数の設定値から一の設定値を新たに選択する。
【発明の効果】
【００１６】
本発明は、記憶部に記憶された複数の設定値から一の設定値を選択することによって複数の調停方法から一の調停方法を選択して、選択した調停方法に従ってバス使用権の調停が所定回数行われると、再び記憶部に記憶された複数の設定値から一の設定値を新たに選択して調停処理を行う。本発明では、適宜調整された設定値が記憶部に記憶されることで、簡易的にバス使用権の分配割合を変えて調停処理を行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
【００１８】
本発明が適用されたバス使用権の調停装置は、バスに接続されたバスマスタに与えるバス使用権の調停を行う装置である。以下では、本発明が適用されたバス使用権の調停装置の第１の実施形態として図１に示すようなバスアービタ１を用いて、本発明を実施するための形態について説明する。
【００１９】
バスアービタ１は、図１に示すように、４つのバスマスタＡ〜ＤがバスＢＵＳを介して接続されたバスシステムの調停を行う調停装置である。なお、バスアービタ１は、複数のバスマスタがバスを介して接続されたバスシステムの調停を行うのであれば、バスマスタの接続数が４つに限定されるものではない。
【００２０】
具体的に、バスアービタ１は、複数の調停方法から一の調停方法を選択する調停方法選択回路１１と、選択された調停方法に従ってバス使用権を与えるバスマスタを決定するバスマスタ決定回路１２と、調停方法選択回路１１の動作を制御する制御部１３とを備える。
【００２１】
調停方法選択回路１１は、各調停方法に対応する設定値を複数記憶するシフトレジスタ１１ａを内部に有している。ここで、本実施の形態においては、シフトレジスタ１１ａが記憶する設定値を次のように定義する。すなわち、値が「０」である設定値は、「Ａ＞Ｂ＞Ｃ＞Ｄ」の優先順位でバスマスタを選択する「調停方法０」を示す設定値である。また、値が「１」である設定値は、「Ｂ＞Ｃ＞Ｄ＞Ａ」の優先順位でバスマスタを選択する「調停方法１」を示す設定値である。さらに、値が「２」である設定値は、「Ｃ＞Ｄ＞Ａ＞Ｂ」の優先順位でバスマスタを選択する「調停方法２」を示す設定値である。さらにまた、値が「３」である設定値は、「Ｄ＞Ａ＞Ｂ＞Ｃ」の優先順位でバスマスタを選択する「調停方法３」を示す設定値である。例えば、シフトレジスタ１１ａは、後述する制御部１３からの制御命令に従い、矢印Ａに示されるように、設定値の値が「０、３、１、３、２、３、０、３」の順番で繰り返し選択されるように各記憶素子に、上記のように定義された設定値を記憶するものとする。なお、本発明が適応される調停装置では、バスマスタの数と調停方法の種類とが必ずしも一致しなくてもよく、また、調停方法が上述した固定優先順位方式に限定されず、任意の調停手法に対応して設定値を設定するようにしてもよい。
【００２２】
以上のような構成からなるシフトレジスタ１１ａを有する調停方法選択回路１１では、後述する制御部１３からの制御命令に従って、順次シフトレジスタ１１ａから設定値を読み出して、読み出した設定値の値をバスマスタ決定回路１２に通知する。このようにして、調停方法選択回路１１は、シフトレジスタ１１ａに記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法１〜４から一の調停方法を選択する。特に、調停方法選択回路１１では、シフトレジスタ１１ａに記憶されたデータを２ビット毎に出力することで、順次設定値をバスマスタ決定回路１２に通知することができる。このようにして、調停方法選択回路１１では、シフトレジスタ１１ａに設定値を記憶させることで、簡易的な装置構成で順次設定値をバスマスタ決定回路１２に通知することができる。
【００２３】
バスマスタ決定回路１２は、上述した調停方法選択回路１１から通知された設定値に対応する調停方法に従って、バスＢＵＳのバス使用権を与えるバスマスタを決定する処理を行う。例えば、調停方法選択回路１１から値が「２」である設定値が通知された場合、バスマスタ決定回路１２は、「Ｃ＞Ｄ＞Ａ＞Ｂ」の優先順位に従って、バス使用権の要求（以下バスリクエストという）があったバスマスタの中から、バス使用権を与えるバスマスタを選択する。
【００２４】
制御部１３は、例えば、バスマスタ決定回路１２がバス使用権を与える調停処理を１回行う毎に、シフトレジスタ１１ａから新たな設定値を選択するように、調停方法選択回路１１を制御する。例えば、設定値の値が「０、３、１、３、２、３、０、３」の順番で並んで出力されるので、制御部１３は、最初に値が「０」の設定値が選択された後は、次に並んでいる値が「３」の設定値を出力するように、調停方法選択回路１１を制御する。なお、制御部１３は、バスマスタ決定回路１２によって調停処理を所定回数行われる毎に、シフトレジスタ１１ａから新たな設定値を選択させるように調停方法選択回路１１を制御するようにしてもよい。
【００２５】
また、シフトレジスタ１１ａに記憶される設定値は、予め固定された値としてもよいが、システムの使用状況に応じて、適応的に制御部１３によってその値が書き換えられるようにしてもよい。
【００２６】
以上のような構成からなるバスアービタ１は、バスマスタ決定回路１２により、調停方法に従ってバス使用権の調停が所定回数行われると、調停方法選択回路１１が、シフトレジスタ１１ａに記憶された複数の設定値から一の設定値を新たに選択して調停処理を行う。バスアービタ１では、ソフトウェアによって適宜調整された設定値がシフトレジスタ１１ａに記憶されることで、簡易的にバス使用権の分配割合を変えて調停処理を行うことができる。
【００２７】
特に、バスアービタ１では、制御部１３が、バスシステムの使用状況や、各バスマスタの繁忙度合いに応じて、シフトレジスタ１１ａに記憶させる設定値を適応的に調整することで、より柔軟な調停が可能となる。例えば、ビデオカメラの映像信号処理系がバスシステムとして構築されている場合、バスアービタ１では、制御部１３が、再生モードや記録モードなどの動作モードに応じて各バスマスタの優先度の重み付けを変えて最適な信号処理を実現することができる。また、バスアービタ１は、各バスマスタに設けられている送受信用のデータを一時的に記憶するバッファの占有率を検出して、この検出結果に応じて、シフトレジスタ１１ａに記憶する設定値を適応的に調整することで、最適な調停処理を実現することができる。
【００２８】
次に、バスアービタ１による調停処理の動作例について図２を参照して説明する。ここで、処理内容に係る説明を簡単にするために、全てのバスマスタＡ〜Ｄがバスリクエストをバスアービタ１に対して常時要求しているものとする。また、図２では、調停方法選択回路１１により選択される設定値、バスマスタ決定回路１２により調整される調停方法、及び、バス使用権が与えられるバスマスタのそれぞれの対応関係を示している。
【００２９】
初期状態ＳＴ１において、バスアービタ１は、調停方法選択回路１１によりシフトレジスタ１１ａから値が「０」である設定値が選択されて、バスマスタ決定回路１２に通知される。そして、バスアービタ１は、バスマスタ決定回路１２が「調停方法０」に従って、バス使用権を与えるバスマスタを決定する。「調停方法０」では、バスマスタＡが一番優先順位が高いので、バスマスタＡにバス使用権が与えられることとなる。
【００３０】
バスマスタＡにバス使用権が与えられると、状態ＳＴ２において、制御部１３は、調停方法選択回路１１に対して、シフトレジスタ１１ａから次に並んだ設定値、すなわち値が「３」である設定値を選択させるように制御する。そしてバスアービタ１では、選択された設定値に従って、バスマスタＤにバス使用権を与える。
【００３１】
以下、バスアービタ１は、制御部１３がバス使用権が各バスマスタに与えられる毎に、順次シフトレジスタ１１ａから設定値を順次選択するように制御することで、バスマスタＢ、Ｄ、Ｃ、Ｄ、Ａ、Ｄの順にバス使用権を与える。
【００３２】
以上のようにして、バスアービタ１は、シフトレジスタ１１ａの設定値を設定することによって、バスマスタＤが比較的多く選択されるように、バス使用権の分配の割合の調整を行うことができる。実際には、全てのバスマスタがバス使用権を要求しているとは限らないので、バス使用権の分配の度合いが正確に設定通りにならないが、シフトレジスタ１１ａに記憶される設定値を調整することで、大まかに簡易的な調整が可能となる。
【００３３】
以上のような構成からなるバスアービタ１は、調停方法選択回路１１がシフトレジスタ１１ａに記憶される設定値を巡回的に選択することで、簡易的にバス使用権の割合を変えて調停処理を行うことを実現している。また、本発明が適用された調停装置は、必ずしも設定値がシフトレジスタ１１ａに記憶される形態に限定されず、例えば図３に示すバスアービタ２のように、設定値がメモリ２１１に記憶されるようにしてもよい。
【００３４】
バスアービタ２は、第２の実施形態に係る調停装置であって、調停方法選択回路２１が、設定値を記憶する記憶部として機能するメモリ２１１を有するものである。なお、バスアービタ２において、上述した第１の実施形態に係る調停装置であるバスアービタ１と同様の構成については同様の符号を付してその説明を省略する。
【００３５】
調停方法選択回路２１は、各調停方法１〜４に対応する設定値を複数記憶するメモリ２１１と、メモリ２１１から読み出した設定値を一時的に記憶するレジスタ２１２とを内部に有している。
【００３６】
メモリ２１１は、アドレス制御によりランダムアクセス可能な記憶手段であって、第１の実施形態に係るシフトレジスタ１１ａと同様、例えば設定値の値が「０、３、１、３、２、３、０、３」の順番で繰り返し選択されるように、設定値を記憶する。具体的には、メモリ２１１は、２ビット毎にアドレス領域を割り当てて、各アドレス領域に設定値を格納する。
【００３７】
レジスタ２１２は、メモリ２１１から読み出した設定値を一時的に記憶する記憶素子であって、例えば設定値の値が０〜３の場合、２ビットのデータを保持する記憶素子から構成される。
【００３８】
以上のような構成からなる調停方法選択回路２１では、制御部１３からの制御命令に従って、順次メモリ２１１から設定値をレジスタ２１２に読み出して、レジスタ２１２に読み出した設定値の値をバスマスタ決定回路１２に通知する。このようにして、調停方法選択回路２１は、メモリ２１１に記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法１〜４から一の調停方法を選択する。
【００３９】
このようにして、第２の実施形態に係るバスアービタ２は、バスアービタ１と同様に、バスマスタ決定回路１２により調停方法に従ってバス使用権の調停が所定回数行われると、調停方法選択回路２１が、メモリ２１１に記憶された複数の設定値から一の設定値を新たに選択して調停処理を行う。バスアービタ２では、適宜調整された設定値がメモリ２１１に記憶されることで、簡易的にバス使用権の分配割合を変えて調停処理を行うことができる。
【００４０】
また、バスアービタ２は、メモリ２１１上に設定値のみを記憶する構成を有しているが、第３の実施形態に係る調停装置として、図４に示すバスアービタ３のように、設定値以外の情報を設定値と対応付けてメモリ３１１上に記憶させることで、より柔軟に調停処理を調整することができる。
【００４１】
すなわち、第３の実施形態に係るバスアービタ３は、図４に示すように、調停方法選択回路３１が、設定値を記憶する記憶部として機能するメモリ３１１を有するものである。なお、バスアービタ３において、上述した第１、２の実施形態に係るバスアービタ１、２と同様の構成については同様の符号を付してその説明を省略するものとする。
【００４２】
調停方法選択回路３１は、各調停方法１〜４に対応する設定値を複数記憶するとともに、後述する拡張情報を記憶するメモリ３１１と、メモリ３１１から読み出した設定値を一時的に記憶するレジスタ３１２とを内部に有している。
【００４３】
メモリ２１１は、第１の実施形態に係るシフトレジスタ１１ａと同様、例えば設定値の値が「０、３、１、３、２、３、０、３」の順番で繰り返し選択されるように、設定値を記憶する。具体的には、メモリ３１１は、アドレス制御によりランダムアクセス可能な記憶手段であって、設定値の数だけアドレスを記憶領域に割り当てて、各アドレスに対応付けて２ビットで示される設定値を記憶する。また、メモリ３１１は、例えば以下に示すような拡張情報を、各設定値に対応付けて、アドレス領域に記憶する。例えば、メモリ３１１は、この拡張情報に対応する設定値を所定回数繰り返して読み出すための制御情報として、拡張情報が記憶される。また、メモリ３１１は、この拡張情報に対応する設定値が読み出された後、次に出力対象となる設定値のアドレス番号のポインタとして、拡張情報が記憶される。
【００４４】
レジスタ２１２は、メモリ２１１から読み出した設定値を一時的に記憶する記憶素子であって、例えば、設定値と拡張情報とを合わせた合計ビットのデータを保持する記憶素子から構成される。
【００４５】
以上のような構成からなる調停方法選択回路３１では、制御部１３からの制御命令に従うとともに、メモリ３１１に記憶されている拡張情報に従って、メモリ３１１から設定値をレジスタ３１２に読み出して、レジスタ３１２に読み出した情報のうち、設定値の値をバスマスタ決定回路１２に通知する。また、調停方法選択回路３１は、レジスタ３１２に読み出した情報のうち、拡張情報に従って、次回メモリ３１１から読み出すアドレス領域を制御する。このようにして、調停方法選択回路３１は、メモリ３１１に記憶された複数の設定値から一の設定値を選択することによって、複数の調停方法１〜４から一の調停方法を選択することができ、少ない記憶容量、すなわち少ないハードウェア資源を活用して、より複雑な順番で設定値をバスマスタ決定回路１２に通知することができる。特に、バスアービタ３では、設定値に対応して拡張情報を用いることで、少ないハードウェア資源を活用して、システムの状況に応じて複雑な調停処理の調整を柔軟且つ容易に行うことができる。
【００４６】
なお、本発明は、以下の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００４７】
【図１】第１の実施形態に係る調停装置の構成を説明するための図である。
【図２】第１の実施形態に係る調停装置の動作例を説明するための図である。
【図３】第２の実施形態に係る調停装置の構成を説明するための図である。
【図４】第３の実施形態に係る調停装置の構成を説明するための図である。
【図５】ラウンドロビン方式による従来の調停方法を説明するための図である。
【図６】ラウンドロビン方式による従来の調停方法を説明するための図である。
【図７】ラウンドロビン方式による従来の調停方法に係る動作例を説明するための図である。
【符号の説明】
【００４８】
１、２、３  バスアービタ、１１、２１、３１  調停方法選択回路、１１ａ  シフトレジスタ、１２  バスマスタ決定回路、１３  制御部、２１１、３１１  メモリ、２１２、３１２  レジスタ
【図１】
2010009241.tif 000003
【図２】
2010009241.tif 000004
【図３】
2010009241.tif 000005
【図４】
2010009241.tif 000006
【図５】
2010009241.tif 000007
【図６】
2010009241.tif 000008
【図７】
2010009241.tif 000009