(57)【要約】  【課題】  バスマスタの転送レートの保証において優位なバスシステムの制御方法及び装置を提供すること。  【解決手段】  複数のバスマスタについて、バスを介してスレーブにアクセスするための優先順位を基本優先順位として予め定める工程と；前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と；前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と；所定の基準時間を計測する工程と；前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と；前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程と；を含んでいる。  【選択図】  図２
2007018280.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御方法において、
前記複数のバスマスタについて、前記バスを介して前記スレーブにアクセスするための優先順位を基本優先順位として予め定める工程と；
前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と；
前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と；
所定の基準時間を計測する工程と；
前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と；
前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程とを含むことを特徴とするバスシステムのアクセス制御方法。
【請求項２】
前記複数のバスマスタの各々についての前記基準アクセス数と前記有効アクセス回数とを比較し、その比較結果と前記基本優先順位とに基づいて、前記実際のアクセス優先順位を求めることを特徴とする請求項１に記載のバスシステムのアクセス制御方法。
【請求項３】
前記基準アクセス数を、システム外部から設定することを特徴とする請求項１又は２に記載のバスシステムのアクセス制御方法。
【請求項４】
前記基準アクセス数を、システム内部で設定・変更可能とすることを特徴とする請求項１又は２に記載のバスシステムのアクセス制御方法。
【請求項５】
前記基準アクセス数を、前記バスに接続された１つのスレーブによって設定・変更可能とすることを特徴とする請求項４に記載のバスシステムのアクセス制御方法。
【請求項６】
前記実際のアクセス優先順位を有効／無効に設定可能とすることを特徴とする請求項１，２，３，４又は５に記載のバスシステムのアクセス制御方法。
【請求項７】
前記実際のアクセス優先順位を有効／無効にする設定は、前記バスに接続された１つのスレーブによって実行可能することを特徴とする請求項６に記載のバスシステムのアクセス制御方法。
【請求項８】
前記基準時間を、システム外部から設定・変更することを特徴とする請求項１，２，３，４，５，６又は７に記載のバスシステムのアクセス制御方法。
【請求項９】
前記基準時間を、システム内部で設定・変更可能とすることを特徴とする請求項１，２，３，４，５，６又は７に記載のバスシステムのアクセス制御方法。
【請求項１０】
前記基準時間の設定・変更を、前記バスに接続された１つのスレーブによって実行可能することを特徴とする請求項９に記載のバスシステムのアクセス制御方法。
【請求項１１】
少なくとも１つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御装置において、
前記複数のバスマスタの各々について、所定の基準時間内の前記スレーブへの実際の有効アクセス回数をカウントするカウンタと；
前記複数のバスマスタの各々について予め定められた、前記スレーブへのアクセス許可に関する基本優先順位と；前記複数のバスマスタの各々について、要求される転送レートに基づいて定められる所定時間内の基準アクセス数と；前記カウンタから出力される実際の有効アクセス回数と；に基づき、前記複数のバスマスタの実際の優先順位を求める優先順位決定回路と；
前記実際の優先順位に従って、前記複数のバスマスタのアクセス許可を行う調停回路とを備えたことを特徴とするバスシステムのアクセス制御装置。
【請求項１２】
前記優先順位決定回路は、前記複数のバスマスタの各々についての前記基準アクセス数と前記有効アクセス回数とを比較し、その比較結果と前記基本優先順位とに基づいて、前記実際のアクセス優先順位を求めることを特徴とする請求項１１に記載のバスシステムのアクセス制御装置。
【請求項１３】
前記基準アクセス数は、システム外部から設定されることを特徴とする請求項１１又は１２に記載のバスシステムのアクセス制御装置。
【請求項１４】
前記バスに接続され、前記基準アクセス数を設定・変更可能なスレーブを更に備えたことを特徴とする請求項１１又は１２に記載のバスシステムのアクセス制御装置。
【請求項１５】
前記優先順位決定回路は、前記実際のアクセス優先順位を有効／無効に切り替え可能な構成であることを特徴とする請求項１１，１２，１３又は１４に記載のバスシステムのアクセス制御装置。
【請求項１６】
前記バスに接続され、前記優先順位決定回路における前記実際のアクセス優先順位を有効／無効に切り替え可能なスレーブを更に備えたことを特徴とする請求項１５に記載のバスシステムのアクセス制御装置。
【請求項１７】
前記基準時間は、システム外部から設定・変更される構成を採ることを特徴とする請求項１１，１２，１３，１４，１５又は１６に記載のバスシステムのアクセス制御装置。
【請求項１８】
前記バスに接続され、前記基準時間を設定・変更可能なスレーブを更に備えたことを特徴とする請求項１１，１２，１３，１４，１５又は１６に記載のバスシステムのアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のバスマスタが一組のバスを共有するシステムのアクセス制御方法及び装置に関し、特に、バスマスタからのアクセス要求に対して、ある特定のバスマスタにアクセス許可を与えるバス使用権の管理を行なうバス制御方法及び制御装置に関する。
【背景技術】
【０００２】
従来、この種のバス制御回路は、各バスマスタに対するバス使用権の獲得優先順位がハードウェア的に決定（固定）されており、複数のバスマスタから同時にバス使用要求が発生した場合には、優先順位の高いバスマスタに対してバス使用許可信号を出力するようになっていた。従って、優先順位の高いバスマスタへのバス使用許可が多くなり、優先順位の低いバスマスタへバス使用許可が与えられなくなる事態が生じていた。
【０００３】
ところで、高速なデータ転送が要求されるシステムでは、システムの目的動作を実現するために、バスマスタ毎に一定の転送レート（単位時間あたりの転送回数）を保証することが必要となる。
【０００４】
特開平５−８９０３４号に開示された発明においては、各バスマスタのバス使用権獲得回数（転送回数）を一定の比率に保つことができるバス制御回路が提供されている。具体的には、バス使用権を獲得できなかった回数がある値を超えた場合、他のバスマスタに優先してバス使用権を与える構成となっている。そして、カウンタ初期値回路に予め記憶されている値により、各バスマスタのバス使用権の獲得頻度に傾斜を持たせ、各バスマスタのバス使用権の獲得回数に応じてバス使用権の優先度を上下させている。
【特許文献１】特開平５−８９０３４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特開平５−８９０３４号に開示された発明によると、優先順位が２段階（ロー、ハイ）に限定され、３段階以上の優先順位を持つシステムへの適用が困難である。また、バスマスタ毎に一定の転送レートの保証が要求される場合に、容易に対応できないという問題がある。
【０００６】
本発明は、上記のような状況に鑑みて成されたものであり、バスマスタの転送レートの保証において優位なバスシステムの制御方法及び装置を提供することを目的とする。
【０００７】
本発明の他の目的は、３段階以上の優先順位を持つシステムへの適用が容易な制御方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、少なくとも１つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御方法において、
前記複数のバスマスタについて、前記バスを介して前記スレーブにアクセスするための優先順位を基本優先順位として予め定める工程と；
前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と；
前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と；
所定の基準時間を計測する工程と；
前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と；
前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程とを含んでいる。
【０００９】
また、本発明の第２の態様は、少なくとも１つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御装置において、
前記複数のバスマスタの各々について、所定の基準時間内の前記スレーブへの実際の有効アクセス回数をカウントするカウンタと；
前記複数のバスマスタの各々について予め定められた、前記スレーブへのアクセス許可に関する基本優先順位と；前記複数のバスマスタの各々について、要求される転送レートに基づいて定められる所定時間内の基準アクセス数と；前記カウンタから出力される実際の有効アクセス回数と；に基づき、前記複数のバスマスタの実際の優先順位を求める優先順位決定回路と；
前記実際の優先順位に従って、前記複数のバスマスタのアクセス許可を行う調停回路とを備えている。
【００１０】
上記のように、本発明においては、複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を予め定めている。そして、その基準アクセス数と、基準時間内における有効アクセス回数と、固定値としての基本優先順位とに基づいて、実際のアクセス優先順位を求めている。このため、各バスマスタに要求される転送レートの保証を有効に実現することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態について、実施例を用いて詳細に説明する。図１は、本発明が適用されるバスシステムの概略構成を示すブロック図である。本発明は、少なくとも１つのスレーブ（スレーブ１，スレーブ２）が接続されたバス１０を複数のバスマスタ（マスタ１，マスタ２，マスタ３）が共有するバスシステムに適用される。本発明が適用可能なシステム（ＬＳＩ）としては、画像処理用ＬＳＩ、通信用ＬＳＩ、音声用ＬＳＩ等がある。バスマスタとしては、例えば、ＣＰＵ，ＤＭＡ等が挙げられる。一方、スレーブとしては、例えば、メモリ（メモリコントローラ）、ＵＳＢコントローラ、Ａ／Ｄコントローラ等が挙げられる。
【００１２】
図２は、本発明の第１実施例に係るバスシステムの制御装置の構成を示すブロック図である。本実施例の制御装置は、バスに接続されたマスタ１（１１０）及びマスタ２（１１２）によるスレーブ１１６へのアクセス制御（バスの使用許可制御）を行うものである。なお、本実施例では説明の便宜上、２つのマスタと１つのスレーブを含む構成としているが、マスタ及びスレーブの数はこれに限らないことは言うまでもない。本実施例の制御装置は、マスタ１（１１０），マスタ２（１１２）からのアドレスを選択するアドレスセレクタ１１４と、マスタ１（１１０），マスタ２（１１２）からの要求に応じてアクセス許可を行う調停回路１１８と、マスタ１（１１０），マスタ２（１１２）のアクセス優先順位を決定する優先順位決定回路１２０とを備えている。
【００１３】
マスタ１（１１０），マスタ２（１１２）は、調停回路１１８に対してアクセス要求信号を出力する。マスタ１（１１０），マスタ２（１１２）は、調停回路１１８からのアクセス許可信号を入力したら、アクセスするスレーブ１１６のアドレス、転送タイプ、ライトデータ等を出力する。マスタ１（１１０），マスタ２（１１２）からの信号は、アドレスセレクタ１１４の入力端子に供給される。アドレスセレクタ１１４の出力端子は、スレーブ１１６の入力端子に接続されている。調停回路１１８は、後述する優先順位決定回路１２０から供給される優先順位テーブルに従って、アクセス許可を出すマスタを選択する。調停回路１１８は、マスタに対してアクセス許可を出すと同時に、当該マスタを特定するマスタ番号（１又は２）をアドレスセレクタ１１４に送信する。
【００１４】
マスタ１（１１０），マスタ２（１１２）からは、アドレス信号の他に転送タイプを示す信号がアドレスセレクタ１１４に対して出力される。転送タイプは、少なくとも、その転送（アクセス）が有効であるか無効であるかと、アドレスが連続するか否かを示す信号を含む。例えば、“NSQ”は有効なアクセスでかつアドレスが非連続の状態を示し、“SEQ”は有効なアクセスでかつアドレスが連続することを示す。
【００１５】
アドレスセレクタ１１４では、調停回路１１８からのマスタ番号によって特定された（アクセス許可された）マスタのアドレス信号を選択し、スレーブ１１６に対して出力する。アドレスセレクタ１１４は、また、アクセス許可されたマスタの転送タイプを優先順位決定回路１２０に出力する。スレーブ１１６は、アドレスセレクタ１１４からアドレスの入力があると、転送要求受け取り完了を示す信号を優先順位決定回路１２０に対して出力する。スレーブ１１６は、また、必要に応じて入力アドレスに対応するデータを、対応するマスタ（１１０又は１１２）に対して出力する。
【００１６】
優先順位決定回路１２０には、タイマー割り込み信号、タイマー設定値、マスタ１（１１０）の基準アクセス数１、マスタ２（１１２）の基準アクセス数２が外部より入力される。優先順位決定回路１２０には、外部より入力された上記の信号の他に、マスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて優先順位テーブルを生成し、調停回路１１８に対して出力する。
【００１７】
図３は、第１実施例に係る制御回路の要部である優先順位決定回路１２０の構成を示すブロック図である。優先順位決定回路１２０は、マスタ１（１１０）の有効アクセス数をカウントするアクセス数カウンタ１３０と、マスタ２（１１２）の有効アクセス数をカウントするアクセス数カウンタ１３２と、所定の基準時間を計測するタイマー割り込みカウンタ１３４と、優先順位テーブルを生成する優先順位テーブル生成回路１３６とを備えている。
【００１８】
アクセス数カウンタ１３０、１３２の各々には、上述したマスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて、マスタ１（１１０），マスタ２（１１２）の実際の有効アクセス回数をカウントし、アクセス回数１，アクセス回数２として、優先順位テーブル生成回路１３６に対して出力する。アクセス数カウンタ１３０は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が１の番号を示しているときに、マスタ１（１１０）のアクセス回数を１カウントアップする。同様に、アクセス数カウンタ１３２は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が２の番号を示しているときに、マスタ２（１１２）のアクセス回数を１カウントアップする。有効アクセス回数については、例えば、転送タイプがNSQ, SEQ, SEQと続いた場合、“３”となる。
【００１９】
タイマー割り込みカウンタ１３４は、基準時間を図るタイマーとして機能する。タイマー割り込みカウンタ１３４は、外部から供給される一定周期のタイマー割り込み信号を、予め外部から入力されるタイマー割り込み回数設定値まで（基準時間だけ）カウントする。そして、カウント終了時に自己のカウント値を０に初期化すると共に、初期化信号をアクセス数カウンタ１３０，１３２及び、優先順位テーブル生成回路１３６に対して出力する。すなわち、アクセス数カウンタ１３０，１３２及び、優先順位テーブル生成回路１３６は、基準時間毎に初期化される。基準時間は、画像処理用ＬＳＩの場合、例えば、１μ秒〜１０μ秒程度に設定することができる。
【００２０】
優先順位テーブル生成回路１３６には、予め外部から基準アクセス数１、基準アクセス数２及び、マスタ１（１１０），マスタ２（１１２）のアクセス許可に関する基本優先順位（固定値）が設定入力されている。基準アクセス数１及び基準アクセス数２は、マスタ１（１１０），マスタ２（１１２）に対して設定されるアクセス数であり、マスタ毎に要求（保証）される転送レート及び基準時間に基づいて決定される。すなわち、要求される転送レートに直結する数値を基準アクセス数として設定することができる。実際の基準アクセス数は、（転送レート）×（基準時間）とすることができ、あるいは、それ以上／以下とすることもできる。転送レートとしては、マスタがＤＭＡの場合、例えば、２．６Ｍ回／秒程度とすることができる。
【００２１】
優先順位テーブル生成回路１３６は、上述した全ての入力データ（基準アクセス数１、基準アクセス数２、アクセス回数１、アクセス回数２、基本優先順位）に基づいて優先順位テーブルを生成し、調停回路１１８に対して出力する。図４は、第１実施例の作用を示す表であり、優先順位テーブル生成回路１３６の論理パターンを示す。表の中で、「アクセス数」はアクセス回数を意味し、「設定値」は基準アクセス数を意味する。図５は、第１実施例の動作を示すタイミングチャートである。
【００２２】
優先順位テーブル決定回路１２０に設定されている基礎優先順位において、マスタ１（１１０）がマスタ２（１１２）より優先順位が高いと仮定する。優先順位テーブル生成回路１３６における基準アクセス数とアクセス回数との比較は、タイマー割り込みカウンタ１３４で計測される基準時間（単位時間）が経過した時点で実行される。すなわち、タイマー割り込みカウンタ１３４から初期化信号がアサートされたタイミングで実施される。基準アクセス数とアクセス回数との比較(1)の結果、マスタ１（１１０）のアクセス回数及びマスタ２（１１２）のアクセス回数が、各々の基準アクセス数１，基準アクセス数２を上回っているため、優先順位テーブルは変化しない。
【００２３】
次に、アクセス数比較(1)から基準時間が経過した後、再び基準アクセス数とアクセス回数との比較(2)を行う。比較(2)の結果、マスタ１（１１０）のアクセス回数は基準アクセス数１を上回っているが、マスタ２（１１２）のアクセス回数は基準アクセス数２に達していない。優先順位テーブル生成回路１３６は、図４に示す表の論理に従い、マスタ２（１１２）の優先順位を高くするように優先順位テーブルを動的に変更（更新）する。その結果、マスタ２（１１２）はマスタ１（１１０）よりも優先的にアクセス許可を与えられ、マスタ２（１１２）によるアクセス数が増加する。
【００２４】
その後、アクセス数比較(2)から基準時間が経過した後、再び基準アクセス数とアクセス回数との比較(3)を行う。比較(3)の結果、マスタ１（１１０）のアクセス回数及びマスタ２（１１２）のアクセス回数が、各々の基準アクセス数１，基準アクセス数２を上回っているため、優先順位テーブルは変化しない。
【００２５】
以上のように、本実施例においては、優先順位テーブル生成回路１３６が各マスタのアクセス回数を監視し、単位時間あたりのマスタのアクセス数が転送レートとして要求される値を下回る場合に、そのマスタの優先順位を高めている。このように、各マスタの優先順位を動的に調整することが可能であり、各マスタの実際の有効アクセス数を要求される転送レートに近づけることが可能となる。本実施例においては、単純に優先順位を上下させるだけでなく、優先順位テーブルを動的に更新させており、状況によっては優先順位を変化させないことがある。
【００２６】
図６は、本発明の第２実施例に係るバスシステムの制御回路の構成を示すブロック図である。本実施例は上述した第１実施例に対し、モード設定スレーブ２２２，応答セレクタ２２４，アドレスデコーダ２２６を追加した構成であり、基準アクセス数１、基準アクセス数２，タイマー設定値を内部的に生成する構成となっている。以下、詳細に説明する。
【００２７】
本実施例の制御装置は、バスに接続されたマスタ１（２１０）及びマスタ２（２１２）によるスレーブ２１６、２２２へのアクセス制御（バスの使用許可制御）を行うものである。なお、本実施例では説明の便宜上、２つのマスタと２つのスレーブを含む構成としているが、マスタ及びスレーブの数はこれに限らないことは言うまでもない。本実施例の制御装置は、マスタ１（２１０），マスタ２（２１２）からのアドレスを選択するアドレスセレクタ２１４と、マスタ１（２１０），マスタ２（２１２）からの要求に応じてアクセス許可を行う調停回路２１８と、マスタ１（２１０），マスタ２（２１２）のアクセス優先順位を決定する優先順位決定回路２２０とを備えている。本実施例の制御装置は、更に、スレーブからマスタへのデータを選択する応答セレクタ２２４と、転送アドレスをデコードして応答セレクタ２２４に供給するアドレスデコーダ２２６とを備えている。
【００２８】
マスタ１（２１０），マスタ２（２１２）は、調停回路２１８に対してアクセス要求信号を出力する。マスタ１（２１０），マスタ２（２１２）は、調停回路２１８からのアクセス許可信号を入力したら、アクセスするスレーブのアドレス、転送タイプ、ライトデータ等を出力する。マスタ１（２１０），マスタ２（２１２）から出力される信号は、アドレスセレクタ２１４の入力端子に供給される。アドレスセレクタ２１４の出力端子は、スレーブ１１６、２２２の入力端子の他、アドレスデコーダ２２６及び優先順位決定回路２２０に接続されている。調停回路２１８は、後述する優先順位決定回路２２０から供給される優先順位テーブルに従って、アクセス許可を出すマスタを選択する。調停回路２１８は、マスタに対してアクセス許可を出すと同時に、当該マスタを特定するマスタ番号（１又は２）をアドレスセレクタ２１４及び優先順位決定回路２２０に送信する。
【００２９】
マスタ１（２１０），マスタ２（２１２）からは、アドレス信号の他に転送タイプを示す信号がアドレスセレクタ２１４に対して出力される。転送タイプは、少なくとも、その転送（アクセス）が有効であるか無効であるかと、アドレスが連続するか否かを示す信号を含む。例えば、“NSQ”は有効なアクセスでかつアドレスが非連続の状態を示し、“SEQ”は有効なアクセスでかつアドレスが連続することを示す。
【００３０】
アドレスセレクタ２１４では、調停回路２１８からのマスタ番号によって特定された（アクセス許可された）マスタのアドレス信号を選択し、スレーブ２１６又は２２２に対して出力する。アドレスセレクタ２１４は、また、アクセス許可されたマスタの転送タイプを優先順位決定回路２２０に出力する。スレーブ１１６、２２２は、アドレスセレクタ２１４からアドレスの入力があると、転送要求受け取り完了を示す信号を応答セレクタ２２４を介して優先順位決定回路２２０に対して出力する。スレーブ２１６は、また、必要に応じて入力アドレスに対応するデータを、応答セレクタ２２４を介して対応するマスタ（２１０又は２１２）に対して出力する。
【００３１】
優先順位決定回路２２０には、タイマー割り込み信号が外部より入力される。モード設定スレーブ２２２からは、タイマー設定値、マスタ１（２１０）の基準アクセス数１、マスタ２（２１２）の基準アクセス数２、イネーブル信号が優先順位決定回路２２０に供給される。優先順位決定回路２２０には、上記の信号の他に、マスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて優先順位テーブルを生成し、調停回路２１８に対して出力する。なお、優先順位決定回路２２０の基本的な構成及び動作は、図３に示す優先順位決定回路１２０と同様である。異なる部分は、本実施例の優先順位決定回路２２０にはモード設定スレーブ２２２からイネーブル信号が入力されることである。
【００３２】
図７は、第２実施例に係る制御回路の要部である優先順位決定回路２２０の構成を示すブロック図である。優先順位決定回路２２０は、マスタ１（２１０）の有効アクセス数をカウントするアクセス数カウンタ２３０と、マスタ２（２１２）の有効アクセス数をカウントするアクセス数カウンタ２３２と、所定の基準時間を計測するタイマー割り込みカウンタ２３４と、優先順位テーブルを生成する優先順位テーブル生成回路２３６とを備えている。
【００３３】
アクセス数カウンタ２３０、２３２の各々には、上述したマスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて、マスタ１（２１０），マスタ２（２１２）の実際の有効アクセス回数をカウントし、アクセス回数１，アクセス回数２として、優先順位テーブル生成回路２３６に対して出力する。アクセス数カウンタ２３０は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が１の番号を示しているときに、マスタ１（２１０）のアクセス回数を１カウントアップする。同様に、アクセス数カウンタ２３２は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が２の番号を示しているときに、マスタ２（２１２）のアクセス回数を１カウントアップする。有効アクセス回数については、例えば、転送タイプがNSQ, SEQ, SEQと続いた場合、“３”となる。
【００３４】
アドレスデコーダ２２６は、アドレスセレクタ２１４によって選択されたアドレスをデコードし、そのアクセスが対象となるスレーブの番号を生成する。応答セレクタ２２４は、アドレスデコーダ２２６の示すスレーブ番号に従って、選択されているスレーブの応答信号をマスタ２（２１０）、マスタ２（２１２）に返すようになっている。モード設定スレーブ２２２は、マスタ１（２１０）またはマスタ２（２１２）からのライトアクセスによって内部にもつレジスタを更新し、その値を保持する。このレジスタの値は、モード設定値として優先順位決定回路２２０に対して出力される。ここで、モード設定値は、イネーブル信号、タイマー設定値、基準アクセス数１、基準アクセス数２を示す。
【００３５】
タイマー割り込みカウンタ２３４は、基準時間を図るタイマーとして機能する。タイマー割り込みカウンタ２３４は、外部から供給される一定周期のタイマー割り込み信号を、モード設定スレーブ２２２から入力されるタイマー割り込み回数設定値（タイマー設定値）までカウントする。そして、カウント終了時に自己のカウント値を０に初期化すると共に、初期化信号をアクセス数カウンタ２３０，２３２及び、優先順位テーブル生成回路２３６に対して出力する。すなわち、アクセス数カウンタ２３０，２３２及び、優先順位テーブル生成回路２３６は、基準時間毎に初期化される。基準時間は、画像処理用ＬＳＩの場合、例えば、１μ秒〜１０μ秒程度に設定することができる。
【００３６】
優先順位テーブル生成回路２３６には、モード設定スレーブ２２２から入力される基準アクセス数１、基準アクセス数２の他に、マスタ１（２１０），マスタ２（２１２）のアクセス許可に関する基本優先順位（固定値）が設定される。基準アクセス数１及び基準アクセス数２は、マスタ１（２１０），マスタ２（２１２）に対して設定されるアクセス数であり、マスタ毎に要求（保証）される転送レート及び基準時間に基づいて決定される。すなわち、要求される転送レートに直結する数値を基準アクセス数として設定することができる。実際の基準アクセス数は、（転送レート）×（基準時間）とすることができ、あるいは、それ以上／以下とすることもできる。転送レートとしては、マスタがＤＭＡの場合、例えば、２．６Ｍ回／秒程度とすることができる。
【００３７】
優先順位テーブル生成回路２３６は、上述した入力データ（基準アクセス数１、基準アクセス数２、アクセス回数１、アクセス回数２、基本優先順位）に基づいて優先順位テーブルを生成し、調停回路２１８に対して出力する。図８は、第２実施例の作用を示す表であり、優先順位テーブル生成回路２３６の論理パターンを示す。表の中で、「アクセス数」はアクセス回数を意味し、「設定値」は基準アクセス数を意味する。なお、具体的な優先順位テーブルの生成動作は、上述した第１実施例と同様であるため、説明を省略する。なお、優先順位テーブル生成回路２３６は、モード設定スレーブ２２２からのイネーブル信号がディアサートされているときには、優先順位テーブルは優先順位テーブルの初期値を示し、優先順位テーブルの変更・更新は行われない。
【００３８】
システムの稼働中に、基準アクセス数１、基準アクセス数２、タイマー設定値を変更する際には、モード設定スレーブ２２２にアクセスして容易に設定変更が可能となる。また、上述したように、イネーブル信号を変更することにより、優先順位決定回路２２０の稼働・停止を選択することができる。このような制御は、マスタであるＣＰＵで実行するプログラムによって実施することができる。
【００３９】
本実施例においては、先に説明した第１実施例による効果に加え、以下に示す格別の効果がある。すなわち、本実施例においては優先順位テーブル生成回路２３６を稼働・停止させることができるため、システムの状況に応じて各マスタの優先順位の調節の自由度が向上する。また、各マスタの基準アクセス数をシステムの稼働中に変更できるため、各マスタに要求される転送レートが変更された場合にも、柔軟に対応できるというメリットがある。
【００４０】
以上、本発明の実施例について説明したが、本発明はこれらの実施例に何ら限定されるものではなく、特許請求の範囲に示された技術的思想の範囲内において、適宜設計変更が可能なものである。
【図面の簡単な説明】
【００４１】
【図１】図１は、本発明が適用されるバスシステムの概略構成を示すブロック図である。
【図２】図２は、本発明の第１実施例に係るバスシステムの制御回路の構成を示すブロック図である。
【図３】図３は、第１実施例に係る制御回路の要部である優先順位決定回路の構成を示すブロック図である。
【図４】図４は、第１実施例の作用を示す表であり、優先順位テーブル生成回路の論理パターンを示す。
【図５】図５は、第１実施例の動作を示すタイミングチャートである。
【図６】図６は、本発明の第２実施例に係るバスシステムの制御回路の構成を示すブロック図である。
【図７】図７は、第２実施例に係る制御回路の要部である優先順位決定回路の構成を示すブロック図である。
【図８】図８は、第２実施例の作用を示す表であり、優先順位テーブル生成回路の論理パターンを示す。
【図１】
2007018280.tif 000003
【図２】
2007018280.tif 000004
【図３】
2007018280.tif 000005
【図４】
2007018280.tif 000006
【図５】
2007018280.tif 000007
【図６】
2007018280.tif 000008
【図７】
2007018280.tif 000009
【図８】
2007018280.tif 000010