(57)【要約】  本発明の資源要求調停装置は、複数のマスタと接続し、各マスタの発行する転送要求を調停する。資源要求調停装置は、マスタの発行する転送要求それぞれのスラック値を示すカウンタを有し、各カウンタのカウンタ値を勝抜方式で比較して最も優先度の高い転送要求を発行したマスタを特定する。資源要求調停装置は特定したマスタにアクセス権を付与し、スレーブの利用を許可する。
2013038589.tif 000002
【特許請求の範囲】
【請求項１】
共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、
前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
前記特定した資源要求装置にアクセス権を付与する付与手段と
を備えることを特徴とする資源要求調停装置。
【請求項２】
前記カウンタのそれぞれは、対応する資源要求装置にアクセス権が付与された場合は、当該資源要求装置の要求帯域幅を用いて算出される増分値をカウンタ値に加算する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項３】
前記カウンタのそれぞれは、対応する資源要求装置が要求を発行している間は、クロックサイクル毎にカウンタ値を減分する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項４】
さらに、前記カウンタのそれぞれに対して、当該カウンタのカウンタ値を、カウンタのビット数よりも少ないビット数のレベル値に縮退する縮退手段を備え、
前記特定手段は、前記カウンタ値の代わりに前記レベル値を比較して、最も小さいレベル値のカウンタと対応する資源要求装置を特定する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項５】
前記縮退手段のそれぞれは、当該カウンタのカウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル値が小さいほどより下位のビットをアサートしたレベル信号を生成し、
さらに、前記レベル信号のそれぞれに対して、当該レベル信号と上流からのレベル信号とを論理和で結合して下流に伝達する結合手段と、
前記特定手段は、前記縮退手段の生成するレベル信号それぞれに対して、当該レベル信号と前記上流からのレベル信号とを比較して、より下位のビットをアサートしたレベル信号を識別し、各比較結果に応じて最も小さいレベル値のカウンタと対応する資源要求装置を特定する
ことを特徴とする請求項４記載の資源要求調停装置。
【請求項６】
前記縮退手段は、前記カウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル数と同数のビット数で前記レベル値に対応するビット位置のみをアサートしたレベル信号を生成する
ことを特徴とする請求項５記載の資源要求調停装置。
【請求項７】
前記特定手段は、上限しきい値を超えるカウンタ値のカウンタと対応する資源要求装置は前記比較対象としない
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項８】
前記カウンタのそれぞれは、カウンタ値があらかじめ定められた下限しきい値以下の場合、カウンタ値を減分しない
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項９】
さらに、前記複数のカウンタのうちいずれか１つのカウンタにおいて、カウンタ値の異常を検知した場合に、すべてのカウンタのカウンタ値を初期化する初期化手段を備える
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項１０】
前記付与手段は、前記複数の資源要求装置のいずれかにアクセス権を与えた後一定期間、いずれの資源要求装置にもアクセス権を与えない
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項１１】
前記特定手段は、前記比較の結果が等しい場合、あらかじめ定められた優先順位の高い資源要求装置を特定する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項１２】
前記特定手段は、前記比較の結果が等しい場合、ラウンドロビン方式で決められた順序に従って資源要求装置を特定する
ことを特徴とする請求項１１記載の資源要求調停装置。
【請求項１３】
前記特定手段は、前記比較の結果が等しい場合、ランダムに資源要求装置を特定する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項１４】
共有資源に対するアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、
前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し増分し、対応する資源要求装置にアクセス権が付与された場合は減分値をカウンタ値に減算する複数のカウンタと、
前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も大きいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
前記特定した資源要求装置にアクセス権を付与する付与手段と
を備えることを特徴とする資源要求調停装置。
【請求項１５】
共有資源と、前記共有資源のアクセス権を取得するための要求を発行する複数の資源要求装置と、前記要求を調停する資源要求調停装置を含む資源要求調停システムであって、
前記資源要求調停装置は、
前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
前記特定した資源要求装置にアクセス権を付与する付与手段と
を備えることを特徴とする資源要求調停システム。
【請求項１６】
共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停方法であって、
前記複数の資源要求装置と１対１対応の複数のカウンタそれぞれに対して、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算するステップと
前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定ステップと、
前記特定した資源要求装置にアクセス権を付与する付与ステップと
を含むことを特徴とする資源要求調停方法。
【請求項１７】
共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する集積回路であって、
前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、
前カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、
前記特定した資源要求装置にアクセス権を付与する付与手段と
を備えることを特徴とする集積回路。
【請求項１８】
共有資源のアクセス権を獲得するために複数の資源要求装置から発行される要求を調停する資源要求調停処理をコンピュータに実行させるためのプログラムであって、
前記資源要求調停処理は、
前記複数の資源要求装置と１対１対応の複数のカウンタそれぞれに対して、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算するステップと
前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定ステップと、
前記特定した資源要求装置にアクセス権を付与する付与ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の資源要求装置から発行される資源要求を調停する技術に関する。
【背景技術】
【０００２】
従来、プロセッサやＤＭＡ（Direct Memory Access）コントローラー等の複数の資源要求装置から、バスやユニファイドメモリ等の共有資源へのアクセスを可能に構成した資源要求調停装置がある。各資源要求装置は、共有資源にアクセスするために、他の資源要求装置の状態を関知することなく、資源要求を発行する。同時に複数の資源要求装置から資源要求が発行された場合に、資源要求調停装置は、各資源要求装置に優先順位をつけて、最も高い優先順位を持つ資源要求装置にアクセス権を与える調停と呼ばれる作業を行い、共有資源へのアクセスの衝突を防止している。【０００３】
基本的な調停方式として、複数の資源要求装置それぞれの優先順位を固定的に定める固定優先順位方式や、各資源要求装置に対して巡回的にアクセス権を与えることによって各資源要求装置間の共有資源へのアクセスの公平性を確保するラウンドロビン方式が知られている。【０００４】
また、データ転送レートや最大待ち時間等で表されるサービス品質を管理するために、各資源要求装置で実行中のプロセスの進捗データ（プロセスの待ち時間や余裕時間等）に応じて、各資源要求装置の優先順位を決定する技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３４６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の技術では、各資源要求装置の優先順位を決定するために進捗データについてバブルソート機構などの比較プロセスの反復実施をするので、調停対象となる資源要求装置数の増加によって、調停を実現するための回路の配線混雑度や処理時間が増大するという課題がある。【０００７】
本発明は、上記課題を鑑みてなされたものであり、調停を実現するための回路における配線混雑度を緩和し、処理時間を低減した資源要求調停装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る資源要求調停装置は、共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、前記特定した資源要求装置にアクセス権を付与する付与手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の資源要求調停装置によれば、調停を実現するための回路における配線混雑度を緩和し、処理時間を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるバスシステムの構成を示すブロック図
【図２】実施の形態１におけるマスタの動作を示すフローチャート
【図３】実施の形態１におけるバスインターフェースの動作を示すフローチャート
【図４】実施の形態１におけるカウンタの動作を示すフローチャート
【図５】実施の形態１における比較部の動作を示すフローチャート
【図６】実施の形態１における通知部の動作を示すフローチャート
【図７】実施の形態２におけるバスシステムの構成を示すブロック図
【図８】実施の形態２における縮退部の動作を示すフローチャート
【図９】実施の形態２における結合部の動作を示すフローチャート
【図１０】実施の形態２における比較部の動作を示すフローチャート
【図１１】実施の形態３におけるバスシステムの構成を示すブロック図
【図１２】実施の形態３におけるカウンタの動作を示すフローチャート
【図１３】実施の形態３におけるカウンタ初期化部の動作を示すフローチャート
【図１４】資源要求調停装置を用いたバスシステム全体の構成例を示すブロック図
【図１５】資源要求調停装置を用いた集積回路の構成例を示すブロック図
【発明を実施するための形態】
【００１１】
＜１．実施の形態１＞
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１２】
なお、説明のため、資源要求装置をマスタ、共有資源をスレーブとよぶ。本実施形態では、各マスタは、基幹バスを介してスレーブにアクセスを行い、資源要求調停装置は、基幹バスを介したスレーブへのアクセス権を調停する。従って、本実施形態では、資源要求調停装置をバスアービタ、アクセス権をバス権ともよぶ。
＜１−１．構成＞
図１は、実施の形態１におけるバスシステム１００を示すブロック図である。図１に示すように、バスシステム１００は、マスタ（１１０、１２０および１３０）、バスアービタ１４０、基幹バス１６０およびスレーブ１７０を備える。
【００１３】
バスアービタ１４０は、マスタ（１１０、１２０および１３０）、基幹バス１６０およびスレーブ１７０と接続される。各構成要素について、スレーブに近い方（例えば、マスタ１１０に対して、マスタ１２０およびマスタ１３０）を下流、スレーブから遠い方（例えば、マスタ１３０に対して、マスタ１１０、マスタ１２０）を上流と呼ぶ。
【００１４】
マスタ（１１０、１２０および１３０）は、バスアービタ１４０と接続される。各マスタは、スレーブ１７０を利用する場合には、バスアービタ１４０に対してバス使用要求を発行し、バス権を得るまで待機する。バス権を得たマスタは、基幹バス１６０を介して、スレーブ１７０からデータの読み出しおよびスレーブ１７０へデータの書き込みを行う。
【００１５】
各マスタがバスアービタ１４０へ発行するバス使用要求は、具体的には、基幹バス１６０上で使用されるバスプロトコルのリード／ライトトランザクションである。本実施の形態では、ＡＲＭ  Ｌｉｍｉｔｅｄ，  Ｃａｍｂｒｉｄｇｅ，  Ｕｎｉｔｅｄ  Ｋｉｎｇｄｏｍによって開発されたＡＸＩ（Advanced  eXtensible  Interface）プロトコルを使用する。
【００１６】
スレーブ１７０は、スレーブ利用可能信号線１７１を介してバスアービタと接続され、スレーブ１７０がデータ転送可能かどうかをバスアービタ１４０に通知する。また、スレーブ１７０は、基幹バス１６０と接続され、基幹バス１６０上のトランザクションコマンドに従ってデータ転送を行う。
【００１７】
次に、バスアービタ１４０の内部構成を説明する。バスアービタ１４０は、ソケット（１１１、１２１および１３１）および通知部１５０を備える。また、各ソケットは、バスインターフェース（１１２、１２２および１３２）、カウンタ（１１３、１２３および１３３）、比較部（１１４、１２４および１３４）および選択部（１１５、１２５および１３５）を備える。
【００１８】
また、ソケット（１１１、１２１および１３１）同士は、優先カウンタ信号線（１０６、１１６、１２６および１３６）およびマスタ識別信号線（１０７、１１７、１２７および１３７）を用いてデイジーチェイン接続され、マスタ識別信号線の最下流には通知部１５０が接続される。
【００１９】
バスインターフェース（１１２、１２２および１３２）は、対応するマスタおよび基幹バス１６０と接続される。各バスインターフェースは、マスタからのバス使用要求を記憶する機能と、バス権が付与されたマスタと基幹バス１６０の仲介をする機能とを有する。
【００２０】
カウンタ（１１３、１２３および１３３）は、保持するカウンタ値を比較部へ出力する。本実施の形態において、カウンタ値は、対応するマスタの発行したバス使用要求のデッドラインまでの余裕時間（スラック値）を示し、各カウンタは、対応するマスタがバス使用要求を発行している間はカウンタ値を繰り返し減分し、マスタがバス権を獲得した場合にはカウンタ値を増分する。
【００２１】
比較部（１１４、１２４および１３４）は、上流の優先カウンタ信号線から入力される上流マスタのカウンタ値と自マスタのカウンタ値とを比較して、より小さいカウンタ値を下流の優先カウンタ信号線へ出力する機能と、上記比較結果を選択部に出力する機能とを有する。
【００２２】
選択部（１１５、１２５および１３５）は比較部からの入力に応じて、上流のマスタ識別信号線の示すマスタ識別信号か、自マスタを示すマスタ識別信号かを選択して下流のマスタ識別信号線へ出力する。各選択部は、例えば、比較部からの入力を選択制御入力とするマルチプレクサで構成される。
【００２３】
ここで、比較部から選択部へ入力される信号は、自マスタを優先するか上流マスタを選択するかを示す１ビットの信号であり、選択部の出力するマスタ識別信号は、バスアービタ１４０に接続される各マスタを一意に特定できるＩＤ情報である。
【００２４】
比較部および選択部の処理を上流から下流へ順に行うことによって、最下流の優先カウンタ信号線１３６には、最も小さいカウンタ値が出力され、最下流のマスタ識別信号線１３７には、最も小さいカウンタ値のマスタを示すマスタ識別信号が出力される。
【００２５】
なお、最上流の優先カウンタ信号線１０６のカウンタ値は、各カウンタのカウンタ値よりも大きい値であればよく、本実施形態では各カウンタの保持できる最大値とする。また、マスタ識別信号線１０７のマスタ識別信号は、いずれのマスタも示さない信号とする。
【００２６】
通知部１５０は、マスタ識別信号線１３７から入力されるマスタ識別信号を、調停結果通知信号線１５１を通じて各カウンタへ出力する。
【００２７】
バスアービタ１４０は、通知部１５０からカウンタを経由してバスインターフェースに調停結果を通知し、バスインターフェースが対応するマスタに基幹バス１６０の使用を許可することによって、マスタにバス権を付与する。
＜１−２．動作＞
次に、実施の形態１におけるバスシステム１００の動作について説明する。各ソケットは同様の動作を行うため、ここでは、ソケット１１１に対応する構成要素の動作を説明する。
【００２８】
図２は、実施の形態１のマスタ１１０の動作を示すフローチャートである。マスタ１１０は、初期状態は待機状態であり、バス使用要求があるまで待機する（ステップＳ２１）。
【００２９】
マスタ１１０は、待機状態のときにバス使用要求があると、バスアービタ１４０にバス使用要求を発行し（ステップＳ２２）、転送待機状態に移行する。
【００３０】
マスタ１１０は、転送待機状態では、基幹バス１６０の使用が許可されるまで待機する（ステップＳ２３）。マスタ１１０は、転送待機状態でバスの使用が許可されると、スレーブ１７０とデータ転送を実施する（ステップＳ２４）。また、マスタ１１０は、ステップＳ２４のデータ転送が完了したかどうかを判定し（ステップＳ２５）、転送完了していない場合は、ステップＳ２３に戻る。
【００３１】
データ転送完了後、マスタ１１０は待機状態に移行し、システム終了判定を行う（ステップＳ２６）。マスタ１１０は、システム終了でないならば、ステップＳ２１に戻り、システム終了ならば処理を終了する。
【００３２】
このとき、ステップＳ２５の転送完了判定は、リードトランザクションとライトトランザクションとで異なっていてもよい。本実施の形態では、リードトランザクションの場合、マスタがＡＸＩのアドレスチャネルへの発行が完了したときを転送完了とし、ライトトランザクションの場合、マスタがＡＸＩのライトチャネルへＷＬＡＳＴシグナルをアサートしたデータの発行が完了したときを転送完了とする。
【００３３】
図３は、バスインターフェース１１２の動作を示すフローチャートである。バスインターフェース１１２は、初期状態は、転送禁止状態であり、マスタ１１０に対して基幹バス１６０の使用を禁止し（ステップＳ３１）、マスタ１１０からバス使用要求が発行されるまで待機している（ステップＳ３２）。
【００３４】
バスインターフェース１１２は、転送禁止状態のときにマスタ１１０からバス使用要求が発行されると、バス権待状態に移行し、バス使用要求を記憶し（ステップＳ３３）、マスタ１１０がバス権を獲得するまでカウンタ１１３へ要求信号を出力する（ステップＳ３４）。
【００３５】
バスインターフェース１１２は、バス権待状態のときに、カウンタ１１３からマスタ１１０がバス権を獲得したことを示す信号が出力されると、転送許可状態に移行し、マスタ１１０に対して、基幹バス１６０の使用を許可し（ステップＳ３５）、記憶していたバス使用要求を消去する（ステップＳ３６）。
【００３６】
バスインターフェース１１２は、転送許可状態のとき、基幹バス１６０上の各チャネルを監視し、マスタ１１０による基幹バス１６０の使用が完了するまで待機する（ステップＳ３７）。
【００３７】
データ転送完了後、バスインターフェース１１２は、転送禁止状態に移行し、システム終了判定を行う（ステップＳ３８）。バスインターフェース１１２は、システム終了でないなら、ステップＳ３１に戻り、システム終了ならば、処理を終了する。
【００３８】
図４は、カウンタ１１３の動作を示すフローチャートである。図４に示すように、まず、カウンタ１１３は、カウンタ値c1の初期値を設定する（ステップＳ４０１）。本実施の形態では、例えば、マスタ１１０の要求帯域幅に基づいたスループット間隔T1を初期値とする。
【００３９】
ここで、マスタの要求帯域幅は、マスタの要求するデータ転送レート、つまり、マスタが単位時間当たりに要求するデータ量である。マスタの要求帯域幅は、例えば、要求１回当たりのデータ量と単位時間当たりの要求回数との積で示される。また、マスタのスループット間隔は、要求１回分のデータの平均処理時間（クロック数）を示し、マスタがバス使用要求を発行する平均要求間隔もこれに一致する。
【００４０】
次に、カウンタ１１３は、マスタ１１０がバス使用要求を発行しているかどうか、つまり、バスインターフェース１１２から要求信号が出力されているかどうかを判定する（ステップＳ４０２）。
【００４１】
マスタ１１０がバス使用要求を発行している場合（Ｓ４０２：Ｙｅｓ）、カウンタ１１３は、マスタ１１０がバス権を獲得しているかどうか、つまり、通知部１５０から調停結果通知信号線１７１を通じて、マスタ１１０を示すマスタ識別信号が出力されているかどうかを判定する（ステップＳ４０３）。
【００４２】
マスタ１１０がバス権を獲得していない場合（Ｓ４０３：Ｎｏ）、カウンタ１１３は、カウンタ値c1とあらかじめ定められた下限しきい値とを比較し（ステップＳ４０４）、カウンタ値c1が下限しきい値よりも大きいならば、カウンタ値c1を減分し（ステップＳ４０５）、カウンタ値c1が下限しきい値以下ならば、カウンタ値の減分は行わずに処理を進める。カウンタ１１３は、カウンタ値c1が下限しきい値に達したら、カウンタ値c1の減分をやめることでカウンタ値c1が不正な値となることを防いでいる。なお、下限しきい値は、本実施形態では0とする。
【００４３】
次に、カウンタ１１３は、カウンタ値c1と上限しきい値とを比較し（ステップＳ４０６）、カウンタ値c1が上限しきい値以下の場合に、マスタ１１０の発行しているバス使用要求が優先すべき要求であることを示す優先信号を比較部１１４に出力する（ステップＳ４０７）。カウンタ値c1が上限しきい値を超えている、つまり、マスタ１１０の発行しているバス使用要求のデッドラインまでに余裕がある場合（ステップＳ４０６：Ｙｅｓ）、カウンタ１１３は、他のマスタのバス使用要求を優先させるために優先信号を出力しない。なお、上限しきい値は、本実施形態では、上述のスループット間隔T1とする。
【００４４】
ステップＳ４０３で、マスタ１１０がバス権を獲得している場合（ステップＳ４０３：Ｙｅｓ）、増分値をカウンタ値c1に加算する（ステップＳ４０８）。増分値は、本実施の形態では、上述のスループット間隔T1とする。
【００４５】
カウンタ１１３は、ステップＳ４０８の処理に続いてバスインターフェース１１２にマスタ１１０がバス権を獲得したことを示す信号を出力する（ステップＳ４０９）。
【００４６】
マスタ１１０からバス使用要求が発行されていない場合（Ｓ４０２：Ｎｏ）、および、カウンタ値が上限しきい値を超えていた場合（Ｓ４０６：Ｙｅｓ）、並びに、ステップＳ４０７、Ｓ４０９の処理完了後、カウンタ１１３は、システム終了判定を行い（ステップＳ４１０）、システム終了でないならステップＳ４０２に戻り、システム終了なら処理を終了する。
【００４７】
図４のステップＳ４０２からステップＳ４０９の処理は、１クロックサイクルで実行される。バスインターフェース１１２から要求信号が出力されている間、カウンタ１１３のカウンタ値c1は、１クロックサイクルに１回デクリメントされ、カウンタ値が上限しきい値を超えていない場合に比較部１１４へ優先信号が出力される。
【００４８】
なお、カウンタのカウンタ値c1は、常に比較部１１４へ出力されている状態であり、バスアービタ１４０は、優先信号の出力の有無によって、各マスタを調停対象とするかしないかを判定する。
【００４９】
図５は、比較部１１４の動作を示すフローチャートである。比較部１１４は、まず、カウンタ１１３から優先信号が出力されているかを判定し（ステップＳ５１）、カウンタ１１３から優先信号が出力されていない場合、ステップＳ５３へ進み、上流のマスタを優先する処理を行う。
【００５０】
カウンタ１１３から優先信号が出力されている場合（Ｓ５１：Ｙｅｓ）、比較部１１４は、上流マスタのカウンタ値と自マスタのカウンタ値、つまり、優先カウンタ信号線１０６のカウンタ値c0とカウンタ１１３のカウンタ値c1とを入力し、両者を比較してどちらのカウンタ値がより小さいかを判定する（ステップＳ５２）。
【００５１】
「上流マスタのカウンタ値≦自マスタのカウンタ値」の場合（Ｓ５２：Ｙｅｓ）、比較部１１４は、優先カウンタ信号線１１６に優先カウンタ信号線１０６のカウンタ値c0を出力し（ステップＳ５３）、選択部１１５に、上流マスタを優先する信号を出力する（ステップＳ５４）。
【００５２】
「上流マスタのカウンタ値＞自マスタのカウンタ値」の場合（Ｓ５２：Ｎｏ）、比較部１１４は、優先カウンタ信号線１１６にカウンタ１１３のカウンタ値c1を出力し（ステップＳ５５）、選択部１１５に自マスタを優先する信号を出力する（ステップＳ５６）。
【００５３】
選択部１１５は、比較部１１４からの入力に応じて、比較部１１４のからの入力が上流マスタを優先する信号ならばマスタ識別信号線１０７のマスタ識別信号を、比較部１１４からの入力が自マスタを優先する信号ならばマスタ１１０を示すマスタ識別信号を、マスタ識別信号線１１７へ出力する。
【００５４】
図６は、通知部１５０の動作を示すフローチャートである。通知部１５０は、初期状態は待機状態であり、スレーブ１７０からスレーブ利用可能信号線１７１を通じてスレーブ利用可能信号が出力される（ステップＳ６１）、かつ、マスタ識別信号線１３７からいずれかのマスタを示すマスタ識別信号が出力される（ステップＳ６２）まで待機する。
【００５５】
スレーブ利用可能信号は、例えば、スレーブ１７０の転送帯域幅に基づくスループット間隔Tsで出力される。ここで、スレーブの転送帯域幅は、スレーブのデータ転送レート、つまり、スレーブが単位時間あたりに転送するデータ量である。スレーブの転送帯域幅は、例えば、転送１回あたりのデータ量と単位時間当たりの転送回数との積で示される。また、スレーブのスループット間隔は、転送１回当たりの平均処理時間（クロック数）を示し、バスアービタ１４０の平均調停間隔もこれに一致する。
【００５６】
通知部１５０は、待機状態のときにスレーブ利用可能信号といずれかのマスタを示すマスタ識別信号との両方が入力されると、バス監視状態に移行し、マスタ識別信号線１３７のマスタ識別信号を調停結果として調停結果通知信号線１５１に出力する（ステップＳ６３）。
【００５７】
通知部１５０は、バス監視状態のとき、基幹バス１６０の各チャネルを監視して、バス権を獲得したマスタによる基幹バス１６０の使用が完了するまで待機する（ステップＳ６４）。
【００５８】
転送完了すると、通知部１５０は、待機状態に移行し、システム終了判定を行い（ステップＳ６５）、システム終了でないならステップＳ６１に戻り、システム終了なら処理を終了する。
【００５９】
以上、図２から図６に示した動作により、バスアービタ１４０は、各マスタからのバス使用要求に応じて、調停結果をスレーブ１７０のスループット間隔Tsで通知する。
＜１−３．考察＞
次に、本実施形態のバスシステム１００において、スレーブの転送帯域幅とマスタ（１１０、１２０および１３０）の要求帯域幅との関係について説明する。
【００６０】
例えば、スレーブのスループット間隔がTs[clk]、バスシステムの動作周波数がF[MHz]、データ転送単位がC[byte]の場合、スレーブの転送帯域幅は
（スレーブ転送帯域幅）＝  C×F÷Ts[byte/s]
と表せる。
【００６１】
また、マスタ１１０、マスタ１２０およびマスタ１３０のスループット間隔をそれぞれT1[clk]、T2[clk]、T3[clk]とすると、各マスタの要求帯域幅は
（マスタ１１０の要求帯域幅）＝  C×F÷T1[byte/s]
（マスタ１２０の要求帯域幅）＝  C×F÷T2[byte/s]
（マスタ１３０の要求帯域幅）＝  C×F÷T3[byte/s]
と表せる。
【００６２】
全マスタの要求帯域幅を満たすためには、スレーブの転送帯域幅は全マスタの要求帯域幅の総和より大きい値である必要がある。
【００６３】
（スレーブ転送帯域幅）≧（マスタ１１０の要求帯域幅）＋（マスタ１２０の要求帯域幅）＋（マスタ１３０の要求帯域幅）
すなわち
C×F÷Ts  ≧  C×F÷T0  ＋  C×F÷T1  ＋  C×F÷T2
1/Ts  ≧  1/T0  ＋  1/T1  ＋  1/T2
という帯域制約を満たす必要がある。
【００６４】
逆に、帯域制約が満たされるならば、各マスタのバス使用要求は、デッドラインを超えるまでに受け付けられ、マスタ１１０はC×F÷T1という帯域幅を、マスタ１２０はC×F÷T2という帯域幅を、マスタ１３０はC×F÷T3という帯域幅を利用できる。つまり、バスアービタ１４０は、各マスタの要求帯域幅に基づいてサービス品質を管理することができる。
＜１−４．まとめ＞
実施の形態１におけるバスアービタ１４０は、マスタ（１１０、１２０および１３０）のカウンタ値を上流から順番に勝抜方式で比較して、最も小さいカウンタ値を持つマスタを特定して、バス権の付与を行っている。この構成によれば、比較の回数はバスアービタ１４０に接続されるマスタの数と一致するので、バブルソート機構等を用いたソーティングと比較して、マスタ数が増えることによる調停回路の配線混雑度および処理時間の増大を抑制することができる。
【００６５】
また、実施の形態１におけるバスアービタ１４０は、マスタごとに異なるスループット間隔をカウンタの初期値および増分値とし、全カウンタは共通の速度で減分（クロックサイクル毎のデクリメント）する。この構成によれば、マスタの要求帯域幅に応じて各マスタのバス使用要求を調停すること、つまり、各マスタのサービス品質を管理することができる。
【００６６】
さらに、実施の形態１におけるバスアービタ１４０は、あるマスタのカウンタ値が予め定められた上限しきい値よりも大きい場合、優先信号を出力せず（図４：Ｓ４０６、Ｓ４０７参照）、比較部で比較を行わずに上流マスタを優先する処理を行っている（図５：Ｓ５１参照）。つまり、バスアービタ１４０は、カウンタ値が上限しきい値よりも大きいマスタに対しては、バス権を付与しない構成である。この構成によれば、カウンタ値が上限しきい値よりも大きいカウンタのカウンタ値は加算されないので、各カウンタのカウンタ値は、適切な範囲内で増減することが保証される。
（２．実施の形態２）
以下、本発明の一実施形態であるバスシステム７００について説明する。実施の形態１では、カウンタ値をそのままマスタ（１１０、１２０および１３０）の優先度として比較を行っている。実施の形態２では、カウンタ値を縮退し、カウンタのビット数よりも少ないビット数のレベル信号をマスタの優先度として比較を行う点で実施の形態１と異なる。実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
＜２−１．構成＞
図７は、実施の形態２におけるバスシステム７００を示すブロック図である。図７に示すように、バスアービタ７４０は、実施の形態１のバスアービタ１４０のソケット（１１１、１２１および１３１）に代えてソケット（７１０、７２０および７３０）を備える。ソケット（７１０、７２０および７３０）は、ソケット（１１１、１２１および１３１）の構成に加えて、さらに、縮退部（７１１、７２１および７３１）および結合部（７１２、７２２および７３２）を有し、バスアービタ１４０の比較部（１１４、１２４および１３４）とは動作の異なる比較部（７１３、７２３および７３３）を有する。
【００６７】
また、ソケット（７１０、７２０および７３０）同士は、要求レベル信号線（７０４、７１４、７２４および７３４）およびマスタ識別信号線（１０７、１１７、１２７および１３７）を用いてデイジーチェイン接続され、マスタ識別信号線の最下流には通知部１５０が接続される。
【００６８】
縮退部（７１１、７２１および７３１）は、カウンタのカウンタ値を入力として、カウンタ値をカウンタのビット数よりも少ないビット数で表現したレベル値に正規化し、レベル値のレベル数と同数のビット数で、レベル値と対応するビット位置のみをアサートしたレベル信号を出力する。例えば、レベル数がＮで、レベル値がＫ（＜Ｎ）の場合、縮退部は、Ｎ本のビット線のうち、下位からＫ番目のビット線のみをアサートしたレベル信号を出力する。
【００６９】
ここで、レベル値のレベル数とは、レベル値で区別することができるレベルの数のことである。また、カウンタ値をカウンタのビット数よりも少ないビット数のレベル値に正規化する処理を縮退処理といい、レベル値のレベル数と同数のビット数で、レベル値と対応するビット位置のみアサートしたレベル信号を生成する処理をワンホット化処理という。
【００７０】
結合部（７１２、７２２および７３２）は、縮退部の出力するレベル信号と上流の要求レベル信号線のレベル信号を入力し、両者を論理和で結合して下流の要求レベル信号線へ出力する。
【００７１】
なお、本実施の形態では、最上流の要求レベル信号線７０４のレベル信号は接地され、要求レベル信号線７１４には、縮退部７１１のレベル信号がそのまま出力されるものとする。
【００７２】
比較部（７１３、７２３および７３３）は、縮退部の出力するレベル信号と上流の要求レベル信号線のレベル信号を入力し、両者を比較して、自マスタと上流マスタとで、どちらを優先するかを示す信号を選択部に出力する。
＜２−２．動作＞
次に、実施の形態２におけるバスシステム７００の動作について説明する。各ソケットは同様の動作を行うため、ここでは、ソケット７１０に対応する縮退部７１１、結合部７１２および比較部７１３の動作について説明する。
【００７３】
図８は、縮退部７１１の動作を示すフローチャートである。図８に示すように、縮退部７１１は、まず、スレーブ１７０のスループット間隔Tsを用いてカウンタ１１３のカウンタ値c1をレベル値L1＝Floor(c1/Ts)に縮退する（ステップＳ８１）。Floor(x)は、xを実数としてx以下の最大の整数を表す。
【００７４】
ここで、レベル値L1は、カウンタ値c1をスレーブ１７０のスループット間隔Tsで割った商である。つまり、レベル値L1は、カウンタ１１３のカウンタ値が０になるまでにバスアービタ７４０が実施する調停回数を示している。
【００７５】
次に、縮退部７１１は、レベル値L1とバスアービタ７４０に接続されるマスタ数Nとを比較して（ステップＳ８２）、L1＞（N―１）ならば、L1＝（N―１）とする（ステップＳ８３）。
【００７６】
縮退部７１１は、レベル値L1を算出すると、マスタ数Nと同数のビット数を持ち、算出したレベル値L1と対応するビット位置のみアサートしてワンホット化した要求レベル信号を生成し、結合部７１２および比較部７１３に出力する（ステップＳ８４）。
【００７７】
ステップＳ８３の処理によって、レベル値L1のレベル数は、マスタ数Ｎとなり、ステップＳ８４の処理で生成するレベル信号のビット数を、カウンタ１１３のビット数によらず、マスタ数Ｎに抑えることができる。
【００７８】
ここで、本実施の形態ではマスタ数Nは３であるので、レベル値L1は０、１および２のいずれかになる。要求レベル信号は、レベル値L1が０なら（００１）、レベル値L1が１なら（０１０）、レベル値L1が２なら（１００）となる。
【００７９】
図９は、結合部７１２の動作を示すフローチャートである。図９に示すように、結合部７１２は、縮退部７１１の出力するレベル信号と要求レベル信号線７０４のレベル信号とを入力し、両者を論理和で結合して要求レベル信号線７１４に出力する（ステップＳ９１）。
【００８０】
図１０は、比較部７１３の動作を示すフローチャートである。図１０に示すように、比較部７１３は、まず、カウンタ１１３から、優先信号が出力されているかを判定し（ステップＳ５１）、カウンタ１１３から優先信号が出力されていない場合、ステップＳ５４へ進む。
【００８１】
カウンタ１１３から優先信号が出力されている場合（Ｓ５１：Ｙｅｓ）、比較部７１３は、上流からのレベル信号と自マスタのレベル信号、つまり、要求レベル信号線７０４のレベル信号と縮退部７１１のレベル信号とを入力し、両者を比較してより下位のビットがアサートされているレベル信号を識別する（ステップＳ１０１）。
【００８２】
「上流マスタの最下位アサートビット位置≦自マスタのアサートビット位置」の場合（Ｓ１０１：Ｙｅｓ）、比較部７１３は、選択部１１５に、上流マスタを優先する信号を出力する（ステップＳ５４）。
【００８３】
「上流マスタの最下位アサートビット位置＞自マスタのアサートビット位置」の場合（Ｓ１０１：Ｎｏ）、比較部１１４は、選択部１１５に自マスタを優先する信号を出力する（ステップＳ５６）。
＜２−４．まとめ＞
実施の形態２におけるバスアービタ７４０は、カウンタ値をカウンタのビット数よりも少ないビット数に縮退したレベル値を優先度として比較を行っている。この構成によれば、実施の形態１のようにカウンタ値をそのまま優先度として比較を行うよりも、比較回路の配線数を削減することができ、調停回路の配線混雑度が緩和できる。
【００８４】
また、実施の形態２におけるバスアービタ７４０は、ワンホット化したレベル信号と上流からのレベル信号とを論理和で結合して下流に伝達している。この構成によれば、下流マスタでの優先度の判定に必要な情報を失うことなく、論理和だけで、上流マスタの要求レベル信号と、自マスタの要求レベル信号を結合して下流マスタに伝達することができる。その結果、各比較部は並列に実施することが可能となり、調停回路の論理段数を抑制できるので、１クロックサイクルで配線可能な配線長が長くなり、より柔軟に調停回路を設計することができる。
（３．実施の形態３）
以下、本発明の一実施形態であるバスシステム１１００について説明する。実施の形態１は、カウンタに異常が発生した場合（例えば、カウンタ値が下限しきい値を下回った場合）、飽和処理を行っている。実施の形態３では、カウンタに異常が発生した場合、カウンタを初期化する仕組みを持つ。実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
＜３−１．構成＞
図１１は、実施の形態２におけるバスシステム１１００を示すブロック図である。図１１に示すように、バスアービタ１１４０は、カウンタ初期化部１１５０を備える点と、ソケット（１１１、１２１および１３１）およびカウンタ（１１３、１２３および１３３）の代わりにソケット（１１１０、１１２０および１１３０）およびカウンタ（１１１１、１１２１および１１３１）を備える点で、実施の形態１のバスシステム１０００と構成が異なる。
【００８５】
カウンタ初期化部１１５０は、各カウンタと接続され、いずれかのカウンタからカウンタ異常検知信号が出力されると、すべてのカウンタにカウンタ初期化信号を出力する。
【００８６】
カウンタ（１１３、１２３および１３３）は、実施の形態１のカウンタと比較して、さらに、カウンタ値に異常があればカウンタ初期化部１１５０へカウンタ異常検知信号を出力し、カウンタ初期化部１１５０からカウンタ初期化信号が出力されるとカウンタ値を初期化する仕組みを備える。
＜３−２．動作＞
実施の形態１と異なるカウンタ（１１１１、１１２１および１１３１）およびカウンタ初期化部１１５０の動作について説明する。各カウンタは、同様の動作をするため、カウンタ１１１１を説明して、カウンタ（１１２１および１１３１）については、説明を省略する。
【００８７】
図１２は、実施の形態３のカウンタ１１１１の動作を示すフローチャートである。図１２に示すように、カウンタ１１１１は、実施の形態１のカウンタの動作に加えて、カウンタ値c1と下限しきい値の比較を行うステップＳ４０４の前に、カウンタ初期化部１１５０からカウンタ初期化信号が出力されているかどうかを判定し（ステップＳ１２０１）、カウンタ初期化部１１５０からカウンタ初期化信号が出力されていれば、カウンタ値を初期化する（ステップＳ１２０２）。カウンタ１１１１は、ステップＳ１２０２で、カウンタを初期化した後、ステップＳ４０６に進み処理を続行する。
【００８８】
また、カウンタ１１１１は、カウンタ値c1に増分値を加算するステップＳ４０８の前に、カウンタ初期化部１１５０からカウンタ初期化信号が出力されているかどうかを判定し（ステップＳ１２０３）、カウンタ初期化部１１５０からカウンタ初期化信号が出力されていれば、カウンタ値を初期化する（ステップＳ１２０４）。カウンタ１１１１は、ステップＳ１２０４で、カウンタを初期化した後、ステップＳ４０９に進み処理を続行する。
【００８９】
さらに、カウンタ１１１１は、カウンタ値c1と下限しきい値を比較した結果、カウンタ値と下限しきい値が等しい場合（Ｓ４０４：Ｙｅｓ）、カウンタ初期化部へカウンタ異常信号を出力するステップＳ１２０５を有する。
【００９０】
図１３は、カウンタ初期化部１１５０の動作を示すフローチャートである。図１３に示すように、カウンタ初期化部１１５０は、いずれかのカウンタからカウンタ異常検知信号が出力されているかどうかを判定し（ステップＳ１３１）、カウンタ異常検知信号が出力されていなければ出力されるまで待機する。
【００９１】
いずれかのカウンタからカウンタ異常検知信号が出力されると、カウンタ初期化部１１５０は、カウンタ初期化信号を出力する（ステップＳ１３２）。
【００９２】
カウンタ初期化部２５００は、カウンタ初期化信号を出力した後、システム終了判定を行い（ステップＳ１３３）、システム終了でないならステップＳ１３１に戻り、システム終了なら処理を終了する。
＜３−３．まとめ＞
実施の形態３のバスアービタ１１４０は、帯域制約を満たしている限り、実施の形態１のバスアービタ１４０と同様の振る舞いをする。
【００９３】
実施の形態１のバスアービタ１４０は、帯域制約を満たしていない場合には、カウンタ値が下限しきい値を下回り、各マスタの優先度を示すカウンタ値の大小関係の情報が失われてしまう可能性がある。その結果、各マスタの要求帯域幅に応じた調停ができない、つまり、サービス品質が低下する可能性がある。
【００９４】
実施の形態２のバスアービタ１１４０は、カウンタ値の異常が検知された際に、バスアービタ１１４０全体のカウンタ値を初期化する仕組みを持つことで、サービス品質の低下を抑えることが出来る。
＜４．補足＞
以上、本発明に係る資源要求調停装置の実施形態を説明したが、例示した資源要求調停装置を以下に示すように変形することも可能であり、本発明は上述の実施形態に限られるものではない。
【００９５】
（１）上述の各実施形態の資源要求調停装置におけるマスタからバスアービタへ発行するバス使用要求は、基幹バス上で使用されるバスプロトコルのトランザクションコマンドとしたが、これに限られるものではない。マスタがバス使用要求を発行したことを伝えることができればよく、要求では単純な信号を出力して、バス権を得たときにトランザクションコマンドを発行する構成でも良い。
【００９６】
（２）上述の実施形態２では、レベル値の算出方法について、図５のフローチャートで示したような演算を行うとしているが、レベル値の算出方法はこの限りではない。例えば、スレーブのスループット間隔を２のべき乗で表現し、単純なシフト演算でレベル値を算出するとしてもよいし、あらかじめスレーブスループット間隔の定数倍をテーブルとして保持しておき、そのテーブルを参照することで、レベル値を導出してもよい。
【００９７】
（３）上述の実施形態２の資源要求調停装置は、ワンホット化した要求レベル信号を生成するとしたが、論理和で要求レベル信号を下流に伝達する構成はこの限りではない。例えば、レベル値が０の場合は（１１１）、レベル値が１の場合は（１１０）、レベル値が２の場合は（１００）のように、より低い優先度のレベル信号をマスクするレベル信号を生成してもよい。この場合、優先度の大小関係と要求レベル信号の値の大小関係が一致するため、各比較部は、要求レベル信号線の大小関係で、優先マスタを識別することができる。
【００９８】
（４）上述の各実施形態において、上流マスタと自マスタのカウンタ値（レベル値）が同値の場合、常に上流マスタを優先する信号を選択部に出力しているが、上流マスタと自マスタのカウンタ値（レベル値）が同値の場合の処理は必ずしもこの限りではない。例えば、常に自マスタを優先する信号を選択部に出力してもよいし、ラウンドロビン方式を用いて交互に優先するマスタを変更してもよい。また、ランダムに決定したマスタを優先するとしてもよい。帯域制約が満たされない場合に固定優先順位方式を用いると、特定のマスタがバス権を獲得し続けるという状態が発生する可能性があるが、その場合でもラウンドロビンやランダムな方法により、特定のマスタがバス権を獲得し続けるという状態を回避することができる。
【００９９】
（５）上述の実施形態では、カウンタの動作は、転送要求コマンドが記憶されている間減分し、バス権を獲得すれば加算するとしたが、逆でもよく、転送要求コマンドが記憶されている間増分し、バス権を獲得すれば減算するとしてもよい。
【０１００】
（６）上述の実施形態では、資源要求調停装置に接続されるマスタの数が３であるとしたが、必ずしも３である必要はなく、マスタはいくつあってもよい。また、スレーブについても、スレーブの数に応じて資源要求調停装置の数を増やすことで複数のスレーブに利用することも可能であり、スレーブの数はいくつでもよい。
【０１０１】
（７）上述の各実施形態では、カウンタの上限しきい値は、マスタのスループット間隔としたが、これに限られるものではない。例えば、スレーブのスループット間隔とバスアービタに接続されるマスタ数との積を用いてもよい。
【０１０２】
（８）上述の各実施形態では、各ソケットはデイジーチェイン接続されるとしたが、各ソケットの接続トポロジはこの限りではない。各ソケットは、例えば、リング型で接続してもよいし、スター型やツリー型で接続してもよい。いずれのトポロジでも、各ソケットを１度ずつ経由することで、優先度を下流に伝達することが可能である。
【０１０３】
（９）上述の各実施形態及び各変形例を、部分的に組み合せてもよい。
【０１０４】
（１０）上述の実施形態で示したバスシステムは、典型的には集積回路であるＬＳＩで実現される。図１４に本発明のバスアービタを用いたバスシステム全体の構成例を示す。バスシステムＬＳＩｅｘ１００は、マイコンｅｘ１０３、信号処理部ｅｘ１０４、ストリームＩ／Ｏｅｘ１０５およびＡＶ Ｉ／Ｏｅｘ１０６、メモリコントローラｅｘ１０７を備える。基幹バスｅｘ１０２は、上述の実施形態で示したバスアービタを備えた構成であり、各要素はバスｅｘ１０２を介して接続される。バスシステムＬＳＩｅｘ１００は、メモリｅｘ２０１にアクセスする場合、メモリコントローラｅｘ１０７を介してメモリｅｘ１０８にアクセスする。電源回路部ｅｘ１０１は、電源がオン状態の場合に各要素に対して電力を供給することで各要素を動作可能な状態に起動する。上述の実施形態で示した資源要求調停装置は、例えば、マイコンｅｘ１０３、信号処理部ｅｘ１０４、ストリームＩ／Ｏｅｘ１０５およびＡＶ Ｉ／Ｏｅｘ１０６をマスタ、メモリｅｘ２０１（メモリコントローラｅｘ１０７）をスレーブとしてバスｅｘ１０２のバス権を調停する。
【０１０５】
以下、アンテナｅｘ２０２や記録メディアｅｘ２０３などから入力される符号化された映像データや音声データの復号処理を例に、バスシステムＬＳＩｅｘ１００の動作を説明する。
【０１０６】
まず、ストリームＩ／Ｏｅｘ１０５は、マイコンｅｘ１０３の制御に従って、アンテナｅｘ２０２や記録メディアｅｘ２０３などから入力された符号化データを、メモリｅｘ２０１へ転送する。
【０１０７】
信号処理部ｅｘ１０４は、マイコンｅｘ１０３の制御に従って、メモリｅｘ２０１に蓄積した符号化データを取得し、復号処理を行う。復号処理の後、信号処理部ｅｘ１０４は、復号された音声データと映像データを、同期して再生できるようにメモリｅｘ２０１に転送する。
【０１０８】
ＡＶ Ｉ／Ｏｅｘ１０６は、マイコンｅｘ１０３の制御に従って、復号されたデータをメモリｅｘ２０１から取得し、モニタｅｘ２０４などに出力する。
【０１０９】
このとき各データは、処理量や処理速度に応じて分割され、複数回に分けて処理される。
【０１１０】
バスシステムＬＳＩｅｘ１００は、上述の実施形態で示したバスアービタを用いて、マイコンｅｘ１０３、信号処理部ｅｘ１０４、ストリームＩ／Ｏｅｘ１０５、ＡＶ Ｉ／Ｏｅｘ１０６からメモリｅｘ２０１へアクセスするために発行するバス使用要求を調停することで映像データや音声データの復号処理を行う。
【０１１１】
このように、上記実施形態で示した資源要求調停方法を上述したシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【０１１２】
なお、上記では、メモリｅｘ２０１は、バスシステムＬＳＩｅｘ１００の外部の構成として説明したが、バスシステムＬＳＩｅｘ１００の内部に含まれる構成であってもよい。
【０１１３】
（１１）図１５は、実施の形態１のバスシステムを、ＬＳＩ１４００として実現したブロック図である。本実施形態では、スレーブをＤＲＡＭ（Dynamic Random Access Memory）、各マスタをそれぞれＣＰＵ（Central Processing Unit）、画像表示装置、信号処理装置として、ＬＳＩ上に構成している。
【０１１４】
ここでは、システムＬＳＩとＤＲＡＭの構成を示したが、ｅＤＲＡＭ（embedded DRAM）やＳＲＡＭ（Static Random Access Memory）やハードディスクなど他の記憶装置で構成してもかまわない。
【０１１５】
これらは個別に１チップ化されてもよいし、一部またはすべてを含むように１チップ化されても良い。ここではＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１１６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１１７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
【０１１８】
（１２）上述の実施形態で示した各処理を、バスシステムのプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
＜５．補足２＞
以下、本発明に係る資源要求調停装置の構成および変形例の効果について説明する。
【０１１９】
（Ａ）本発明の一実施形態の資源要求調停装置は、共有資源のアクセス権を取得するために複数の資源要求装置から発行される要求を調停する資源要求調停装置であって、前記複数の資源要求装置と１対１に対応し、対応する資源要求装置が要求を発行している間はカウンタ値を繰り返し減分し、対応する資源要求装置にアクセス権が付与された場合は増分値をカウンタ値に加算する複数のカウンタと、前記カウンタそれぞれのカウンタ値を勝抜方式で比較して、最も小さいカウンタ値のカウンタと対応する資源要求装置を特定する特定手段と、前記特定した資源要求装置にアクセス権を付与する付与手段とを備えることを特徴とする。
【０１２０】
この構成により、本発明の資源要求調停装置は、比較の回数は資源要求調停装置に接続される資源要求装置の数と一致するので、バブルソート機構等を用いたソーティングと比較して、マスタ数が増えることによる調停回路の配線混雑度および処理時間の増大を抑制することができる。
【０１２１】
（Ｂ）上記実施形態（Ａ）のカウンタのそれぞれは、対応する資源要求装置にアクセス権が付与された場合は、当該資源要求装置の要求帯域幅を用いて算出される増分値をカウンタ値に加算するとしてもよい。
【０１２２】
この構成によると、資源要求調停装置は、各資源要求装置の要求帯域幅に応じたサービス品質を管理することができる。
【０１２３】
（Ｃ）上記実施形態（Ａ）の資源要求調停装置は、さらに、前記カウンタのそれぞれに対して、当該カウンタのカウンタ値を、カウンタのビット数よりも少ないビット数のレベル値に縮退する縮退手段を備え、前記特定手段は、前記カウンタ値の代わりに前記レベル値を比較して、最も小さいレベル値のカウンタと対応する資源要求装置を特定するとしてもよい。
【０１２４】
この構成によると、資源要求調停装置は、カウンタ値をよりビット数の少ないレベル値に縮退するので、配線混雑度を緩和することができる。
【０１２５】
（Ｄ）上記実施形態（Ｃ）の資源要求調停装置は、前記縮退手段のそれぞれは、当該カウンタのカウンタ値をカウンタのビット数よりも少ないレベル数のレベル値に縮退し、前記レベル値が小さいほどより下位のビットをアサートしたレベル信号を生成し、さらに、前記レベル信号のそれぞれに対して、当該レベル信号と上流からのレベル信号とを論理和で結合して下流に伝達する結合手段と、前記特定手段は、前記縮退手段の生成するレベル信号それぞれに対して、当該レベル信号と前記上流からのレベル信号とを比較して、より下位のビットをアサートしたレベル信号を識別し、各比較結果に応じて最も小さいレベル値のカウンタと対応する資源要求装置を特定するとしてもよい。
この構成によると、資源要求調停装置は、各比較を並列に行うことができるので、調停にかかる処理時間を減少することができる。
【０１２６】
（Ｅ）上記実施形態（Ａ）の資源要求調停装置は、前記特定手段は、上限しきい値を超えるカウンタ値のカウンタと対応する資源要求装置は前記比較対象としないとしてもよい。
【０１２７】
（Ｆ）上記実施形態（Ａ）の資源要求調停装置は、前記カウンタのそれぞれは、カウンタ値が下限しきい値以下の場合、カウンタ値を減分しないとしてもよい。
【０１２８】
上記（Ｅ）〜（Ｆ）の構成によると、各カウンタのカウンタ値は、適切な範囲で増減することが保証される。
【０１２９】
（Ｇ）上記実施形態（Ａ）の資源要求調停装置は、さらに、前記複数のカウンタのうちいずれか１つのカウンタにおいて、カウンタ値の異常を検知した場合に、すべてのカウンタのカウンタ値を初期化する初期化手段を備えるとしてもよい。
【０１３０】
この構成によると、共有資源の転送帯域幅が資源要求装置の要求帯域幅を満たせない場合でも、サービス品質の低下を抑えることができる。
【０１３１】
（Ｈ）上記実施形態（Ａ）の資源要求調停装置は、前記付与手段は、前記複数の資源要求装置のいずれかにアクセス権を与えた後一定期間、いずれの資源要求装置にもアクセス権を与えないとしてもよい。
【０１３２】
この構成によると、資源要求調停装置は、バス権をいずれかのマスタに与えたあと、基幹バスの各チャネルを監視して一定期間、他のマスタにバス権を付与しないことによって、バス権を得たマスタが何らかの理由により、データ転送をすぐに開始できない場合に、他のマスタがバス権を取得し、転送を開始することを禁止し、バス権を取得した順番と転送の順番が一致することを保証できる。
【０１３３】
（Ｉ）上記実施形態（Ａ）の資源要求調停装置は、前記特定手段は、前記比較の結果が等しい場合、ラウンドロビン方式で決められた順序に従って資源要求装置を特定するとしてもよい。
【０１３４】
（Ｊ）上記実施形態（Ａ）の資源要求調停装置は、前記特定手段は、前記比較の結果が等しい場合、ランダムに資源要求装置を特定するとしてもよい。
【０１３５】
上記（Ｉ）〜（Ｊ）の構成によると、資源要求調停装置は、共有資源の転送帯域幅が資源要求装置の要求帯域幅を満たせない場合でも、特定の資源要求調停装置がアクセス権を獲得し続けるという状態を回避することができる。
【産業上の利用可能性】
【０１３６】
本発明の資源要求調停装置は、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の高解像度の情報表示機器や撮像機器など様々な用途に利用可能である。
【符号の説明】
【０１３７】
１００  バスシステム
１１０，１２０，１３０  マスタ
１１１，１２１，１３１  ソケット
１１２，１２２，１３２  バスインターフェース
１１３，１２３，１３３  カウンタ
１１４，１２４，１３４  比較部
１１５，１２５，１３５  選択部
１０６，１１６，１２６，１３６  優先カウンタ信号線
１０７，１１７，１２７，１３７  マスタ識別信号線
１４０  バスアービタ
１５０  通知部
１５１  調停結果通知信号線
１６０  基幹バス
１７０  スレーブ
１７１  スレーブ利用可能信号線
７００  バスシステム
７１０，７２０，７３０  ソケット
７１１，７２１，７３１  縮退部
７１２，１２３，１３３  結合部
７１３，７２３，７３３  比較部
７０４，７１４，７２４，７３４  要求レベル信号線
７４０  バスアービタ
１１００  バスシステム
１１１０，１１２０，１１３０  ソケット
１１１１，１１２１，１１３１  カウンタ
１１４０  バスアービタ
１１５０  カウンタ初期化部
ｅｘ１００  バスシステム
ｅｘ１０１  電源回路部
ｅｘ１０２  基幹バス
ｅｘ１０３  マイコン
ｅｘ１０４  信号処理部
ｅｘ１０５  ストリームＩ／Ｏ
ｅｘ１０６  ＡＶ  Ｉ／Ｏ
ｅｘ１０７  メモリコントローラ
ｅｘ２０１  メモリ
ｅｘ２０２  アンテナ
ｅｘ２０３  記録メディア
ｅｘ２０４  モニタ
【図１】
2013038589.tif 000003
【図２】
2013038589.tif 000004
【図３】
2013038589.tif 000005
【図４】
2013038589.tif 000006
【図５】
2013038589.tif 000007
【図６】
2013038589.tif 000008
【図７】
2013038589.tif 000009
【図８】
2013038589.tif 000010
【図９】
2013038589.tif 000011
【図１０】
2013038589.tif 000012
【図１１】
2013038589.tif 000013
【図１２】
2013038589.tif 000014
【図１３】
2013038589.tif 000015
【図１４】
2013038589.tif 000016
【図１５】
2013038589.tif 000017
【手続補正書】
【提出日】平成24年12月20日(2012.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共有資源にアクセスする複数の資源要求装置のうち優先度の最も高い資源要求装置に前記共有資源へのアクセス権を付与する資源要求調停装置であって、
前記資源要求装置それぞれと１対１に対応して設けられ、対応する資源要求装置の優先度を示すカウンタ値を保持する複数のカウンタと、
前記カウンタそれぞれと１対１に対応して設けられ、対応するカウンタのカウンタ値からワンホットのレベル信号を生成する複数のレベル信号生成手段と、
前記複数のレベル信号生成手段の生成したレベル信号それぞれのアサートビット位置に基づいて、前記優先度の最も高い資源要求装置を特定する特定手段と
を備えることを特徴とする資源要求調停装置。
【請求項２】
前記レベル信号生成手段それぞれは、対応するカウンタのカウンタ値を、カウンタのビット数よりも少ない階調数のレベル値に縮退し、縮退結果のレベル値から前記ワンホットのレベル信号を生成する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項３】
前記レベル信号生成手段それぞれは、正規化結果のレベル値に応じて、対応する資源要求装置の優先度が高いほどより下位のビットをアサートしたレベル信号を生成し、
前記特定手段は、前記複数のレベル信号生成手段のうちアサートビット位置が最も下位のレベル信号を生成したレベル信号生成手段を特定し、特定したレベル信号生成手段に対応する資源要求装置を前記優先度の最も高い資源要求装置とする
ことを特徴とする請求項２に記載の資源要求調停装置。
【請求項４】
更に、前記レベル信号生成手段それぞれと１対１に対応して設けられ、複数の信号線を用いてデイジーチェーン接続された複数の結合手段を備え、
前記結合手段それぞれは、対応するレベル信号生成手段の生成したレベル信号と上流の信号線に流れる信号とを論理和で結合して下流の信号線に出力し、
前記特定手段は、
前記結合手段それぞれに対して、対応するレベル信号生成手段の生成したレベル信号と上流の信号線に流れる信号とでどちらがより下位のビットがアサートされているかを判定し、
各判定結果に基づいて前記アサートビット位置の最も下位のレベル信号を生成したレベル信号生成手段を特定する
ことを特徴とする請求項２記載の資源要求調停装置。
【請求項５】
前記カウンタのそれぞれは、対応する資源要求装置が要求を発行している間は、クロックサイクル毎にカウンタ値を減分し、対応する資源要求装置にアクセス権が付与された場合は、当該資源要求装置の要求帯域幅に基づく値をカウンタ値に加算する
ことを特徴とする請求項１記載の資源要求調停装置。
【請求項６】
共有資源と、前記共有資源にアクセスする複数の資源要求装置と、前記複数の資源要求装置のうち優先度の最も高い資源要求装置に前記共有資源へのアクセス権を付与する資源要求調停装置とを含む資源要求調停システムであって、
前記資源要求調停装置は、
前記資源要求装置それぞれと１対１に対応して設けられ、対応する資源要求装置の優先度を示すカウンタ値を保持する複数のカウンタと、
前記カウンタそれぞれと１対１に対応して設けられ、対応するカウンタのカウンタ値からワンホットのレベル信号を生成する複数のレベル信号生成手段と、
前記複数のレベル信号生成手段の生成したレベル信号それぞれのアサートビット位置に基づいて、前記優先度の最も高い資源要求装置を特定する特定手段と
を備えることを特徴とする資源要求調停システム。
【請求項７】
共有資源にアクセスする複数の資源要求装置それぞれの優先度を示すカウンタ値を保持する複数のカウンタを備える資源要求調停装置で用いられる、前記複数の資源要求装置のうち優先度の最も高い資源要求装置に前記共有資源へのアクセス権を付与する資源要求調停方法であって、
前記資源要求調停方法は、
前記カウンタのカウンタ値それぞれからワンホットのレベル信号を生成するレベル信号生成ステップと、
前記レベル信号それぞれのアサートビット位置に基づいて、前記優先度の最も高い資源要求装置を特定する特定ステップと
を含むことを特徴とする資源要求調停方法。
【請求項８】
共有資源にアクセスする複数の資源要求装置のうち優先度の最も高い資源要求装置に前記共有資源へのアクセス権を付与する資源要求調停装置で用いられる集積回路であって、
前記資源要求装置それぞれと１対１に対応して設けられ、対応する資源要求装置の優先度を示すカウンタ値を保持する複数のカウンタと、
前記カウンタそれぞれと１対１に対応して設けられ、対応するカウンタのカウンタ値からワンホットのレベル信号を生成する複数のレベル信号生成部と、
前記複数のレベル信号生成手段の生成したレベル信号それぞれのアサートビット位置に基づいて、前記優先度の最も高い資源要求装置を特定する特定部と
を備えることを特徴とする集積回路。
【請求項９】
共有資源にアクセスする複数の資源要求装置のうち優先度の最も高い資源要求装置に前記共有資源へのアクセス権を与える資源要求調停処理を、前記資源要求装置それぞれの優先度を示すカウンタ値を保持する複数のカウンタを備える資源要求調停装置で実行させるためのプログラムであって、
前記資源要求調停処理は、
前記カウンタのカウンタ値それぞれからワンホットのレベル信号を生成するレベル信号生成ステップと、
前記レベル信号それぞれのアサートビット位置に基づいて、前記優先度の最も高い資源要求装置を特定する特定ステップと
を含むことを特徴とするプログラム。
【請求項１０】
（削除）
【請求項１１】
（削除）
【請求項１２】
（削除）
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
（削除）
【請求項１６】
（削除）
【請求項１７】
（削除）
【請求項１８】
（削除）
【国際調査報告】
2013038589.tif 000018
2013038589.tif 000019
2013038589.tif 000020
2013038589.tif 000021
2013038589.tif 000022
2013038589.tif 000023
2013038589.tif 000024
2013038589.tif 000025
2013038589.tif 000026