(57)【要約】【課題】優先順位の基に複数のマスタがアクセスする場合、所定の期間においてより確実にアクセスするとともに、いずれのマスタもアクセスできない期間をより少なくする。【解決手段】複数のデバイスにあらかじめ定められている優先順位に基づいて、バスなどの共通の通信経路を介して、複数のデバイスの間の通信を制御するとき、変更部１７１は、複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、カウンタ制御部１５４は、所定の期間の長さを制御する。本発明は、例えば、デジタルビデオカメラに適用することができる。【選択図】図４
2007334641.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置において、
前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更する変更手段と、
前記所定の期間の長さを制御する制御手段と
を備える情報処理装置。
【請求項２】
前記変更手段は、前記所定の期間が終了したときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻す
請求項１に記載の情報処理装置。
【請求項３】
前記変更手段は、前記所定のデバイスからの通信の要求に対して応答したときに、前記所定のデバイスの優先順位である第１の優先順位を、前記第２の優先順位に変更する
請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、基準となるクロックごとにカウントし、カウントした値が所定の閾値になったときに、前記カウントした値をリセットするカウンタの動作を制御することによって、前記所定の期間の長さを制御し、
前記変更手段は、前記カウントした値が前記閾値になったときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻す
請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記所定のデバイスからの通信の要求があり、かつ、前記所定のデバイスの優先順位が第２の優先順位に変更されているときにカウンタを動作させるように、カウンタの動作を制御する
請求項４に記載の情報処理装置。
【請求項６】
前記通信経路は、バスである
請求項１に記載の情報処理装置。
【請求項７】
前記複数のデバイスは、前記通信経路を介して、フレームまたはフィールドを単位とする画像データを相互に通信し、
前記変更手段は、フレームに割り当てられた時間であるフレーム時間内またはフィールドに割り当てられた時間であるフィールド時間内に少なくともフレームまたはフィールドの画像処理が行われるように、前記所定の期間だけ、前記所定のデバイスの優先順位を変更し、
前記制御手段は、前記フレーム時間または前記フィールド時間を確保するように、前記所定の期間の長さを制御する
請求項６に記載の情報処理装置。
【請求項８】
複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置の情報処理方法において、
前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、
前記所定の期間の長さを制御する
ステップを含む情報処理方法。
【請求項９】
複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する処理を、コンピュータに行わせるプログラムにおいて、
前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、
前記所定の期間の長さを制御する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、優先順位に基づいて、共通の通信経路を介した複数のデバイス間の通信を制御する情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来のバス調停方法として、ラウンドロビン方式によって公平なアクセスの調停をしたり、固定優先順位方式によってアクセス順序を調停したりする方法があった。
【０００３】
しかし、前者のラウンドロビン方式においては、処理状態によらず、複数のマスタが順番にバスを占有するため、無駄な待ち時間が発生し、効率よくアクセスすることができなかった。
【０００４】
また、後者の固定優先順位方式においては、アクセス要求の頻度の高いものの優先度を高くした場合、それよりも優先度の低いもののアクセス要求が受け入れられず、システム動作が破綻してしまうことがあった。
【０００５】
図１は、従来の、固定優先順位方式の装置の構成を示すブロック図である。図１で示される装置において、マスタＡ３１、マスタＢ３２、マスタＢ３３、およびマスタＤ３４のそれぞれと、バス調停機構（以下、アービタと称する）３５とが接続されている。
【０００６】
マスタＡ３１、マスタＢ３２、マスタＢ３３、およびマスタＤ３４のそれぞれの優先順位のうち、マスタＡ３１の優先順位が最も高く、マスタＢ３２の優先順位が２番目に高く、マスタＣ３３の優先順位が３番目に高く、マスタＤ３４の優先順位が４番目に高い。
【０００７】
アービタ３５は、マスタＡ３１、マスタＢ３２、マスタＢ３３、またはマスタＤ３４からアクセスの要求を受けると、アクセスを要求している中の優先順位の高いものに応答し、アクセスを許可する。アービタ３５から応答を受けたマスタＡ３１、マスタＢ３２、マスタＣ３３、およびマスタＤ３４のいずれかが、アクセスできる。
【０００８】
例えば、マスタＡ３１、マスタＢ３２、マスタＣ３３、およびマスタＤ３４が同時にアクセスの要求を出した場合、それぞれのマスタの優先順位によって調停されるので、最も優先順位の高いマスタＡ３１の要求が優先的に受け入れられる。この場合、アービタ３５は、マスタＡ３１に応答し、マスタＡ３１がアクセスすることになる。
【０００９】
以下、優先順位を、高い順に、優先１、優先２、優先３、優先４、優先５と称する。
【００１０】
図２は、従来の、要求から応答までのディレイが１クロックである場合の、マスタＡ３１、マスタＢ３２、マスタＣ３３、およびマスタＤ３４のアクセスの要求および応答のタイミングチャートの例である。
【００１１】
図２において、上から順に、クロック、マスタＡ３１の要求、マスタＢ３２の要求、マスタＣ３３の要求、マスタＤ３４の要求、マスタＡ３１への応答、マスタＢ３２への応答、マスタＣ３３への応答、およびマスタＤ３４への応答のそれぞれのタイミングチャートが示されている。また、時刻Ｔ１乃至Ｔ２３は、それぞれ、クロックの立ち上がりのタイミングを示している。
【００１２】
図２に示すように、時刻Ｔ３において、マスタＡ３１およびマスタＢ３２から同時にアクセスの要求が発生すると、アービタ３５が、優先順位のより高いマスタＡ３１に対して応答し、マスタＢ３２に対して応答しない。したがって、時刻Ｔ３において、マスタＡ３１はアクセスし、マスタＢ３２はアクセスしない。
【００１３】
同様に、時刻Ｔ５において、マスタＢ３２およびマスタＣ３３から同時にアクセスの要求が発生すると、アービタ３５が、優先順位のより高いマスタＢ３２に対して応答し、マスタＣ３３に対して応答しない。したがって、時刻Ｔ５において、マスタＢ３２はアクセスし、マスタＣ３３はアクセスしない。
【００１４】
さらに、時刻Ｔ７において、マスタＣ３３のみからアクセスの要求が発生すると、アービタ３５が、マスタＣ３３に対して応答する。したがって、時刻Ｔ７において、マスタＣ３３はアクセスする。また、時刻Ｔ９において、マスタＤ３４のみからアクセスの要求が発生しているので、アービタ３５が、マスタＤ３４に対して応答し、優先順位の最も低いマスタＤ３４がアクセスする。
【００１５】
また、時刻Ｔ１２乃至Ｔ１６の間は、マスタＡ３１、マスタＢ３２、マスタＣ３３、およびマスタＤ３４のそれぞれから同時にアクセスの要求が発生しているので、優先順位に従い、最も優先順位の高いマスタＡ３１が独占的にアクセスする状態になっている。優先順位が固定になっている場合、図２に示すように、マスタＡ３１の要求が長い期間で発生した際、その期間においては、マスタＡ３１の優先順位より低い優先順位のマスタＢ３２、マスタＣ３３、およびマスタＤ３４のアクセスの要求は一切受け入れられなくなってしまう。このため、予め、処理の優先順位を熟考して決定することが必要となる。
【００１６】
そこで、アクセス順序を入れ替えるための機構を実装することが一般的であり、例えば、マスタ側のアクセス要求間隔を制御し、シンプルなバス調停機構でも細かい優先度の制御を可能とする方法がある（例えば、特許文献１参照）。
【００１７】
【特許文献１】特開２００３−１８６８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、マスタ側のアクセス要求機構の複雑化により回路が肥大化し、また、アクセスの要求そのものを出す間隔が空いてしまう、すなわち、使わない時間帯域ができてしまうため、瞬間的にアクセスの隙間が発生した際の対応ができず、バスの使用率を向上させることができない。特に、モバイル機器においては、電力消費の観点から、クロックの周波数を上げずにメモリのスピードが抑えられるので、いずれのマスタもアクセスできない期間をより少なくして、効率よくアクセスさせる必要がある。
【００１９】
本発明は、このような状況に鑑みてなされたものであり、優先順位の基に複数のマスタがアクセスする場合、所定の期間においてより確実にアクセスするとともに、いずれのマスタもアクセスできない時間をより少なくすることができるようにするものである。
【課題を解決するための手段】
【００２０】
本発明の一側面の情報処理装置は、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置であって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更する変更手段と、前記所定の期間の長さを制御する制御手段とを備える。
【００２１】
前記変更手段には、前記所定の期間が終了したときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻させることができる。
【００２２】
前記変更手段には、前記所定のデバイスからの通信の要求に対して応答したときに、前記所定のデバイスの優先順位である第１の優先順位を、前記第２の優先順位に変更させることができる。
【００２３】
前記制御手段には、基準となるクロックごとにカウントし、カウントした値が所定の閾値になったときに、前記カウントした値をリセットするカウンタの動作を制御することによって、前記所定の期間の長さを制御させ、前記変更手段には、前記カウントした値が前記閾値になったときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻させることができる。
【００２４】
前記制御手段には、前記所定のデバイスからの通信の要求があり、かつ、前記所定のデバイスの優先順位が第２の優先順位に変更されているときにカウンタを動作させるように、カウンタの動作を制御させることができる。
【００２５】
前記経路は、バスとすることができる。
【００２６】
前記複数のデバイスには、前記通信経路を介して、フレームまたはフィールドを単位とする画像データを相互に通信させ、前記変更手段には、フレームに割り当てられた時間であるフレーム時間内またはフィールドに割り当てられた時間であるフィールド時間内に少なくともフレームまたはフィールドの画像処理が行われるように、前記所定の期間だけ、前記所定のデバイスの優先順位を変更させ、前記制御手段には、前記フレーム時間または前記フィールド時間を確保するように、前記所定の期間の長さを制御させることができる。
【００２７】
本発明の一側面の情報処理方法は、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置の情報処理方法であって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、前記所定の期間の長さを制御するステップを含む。
【００２８】
本発明の一側面のプログラムは、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する処理を、コンピュータに行わせるプログラムであって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、前記所定の期間の長さを制御するステップを含む。
【００２９】
本発明の一側面においては、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位が、所定の期間だけ、第２の優先順位に変更され、前記所定の期間の長さが制御される。
【発明の効果】
【００３０】
以上のように、本発明の一側面によれば、優先順位の基に複数のマスタがアクセスすることができる。また、本発明の一側面によれば、優先順位の基に複数のマスタがアクセスする場合、所定の期間においてより確実にアクセスするとともに、いずれのマスタもアクセスできない期間をより少なくすることができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３２】
本発明の一側面の情報処理装置は、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置であって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更する変更手段（例えば、図４の変更部１７１）と、前記所定の期間の長さを制御する制御手段（例えば、図４のカウンタ制御部１５４）とを備える。
【００３３】
前記変更手段には、前記所定の期間が終了したときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻させることができる（例えば、図７のステップＳ１４）。
【００３４】
前記変更手段には、前記所定のデバイスからの通信の要求に対して応答したときに、前記所定のデバイスの優先順位である第１の優先順位を、前記第２の優先順位に変更させることができる（例えば、図７のステップＳ１２）。
【００３５】
前記制御手段には、基準となるクロックごとにカウントし、カウントした値が所定の閾値になったときに、前記カウントした値をリセットするカウンタの動作を制御することによって、前記所定の期間の長さを制御させ（例えば、図８のステップＳ３１乃至ステップＳ３３）、前記変更手段には、前記カウントした値が前記閾値になったときに、前記所定のデバイスの前記第２の優先順位を、前記第１の優先順位に戻させることができる（例えば、図７のステップＳ１４）。
【００３６】
前記制御手段には、前記所定のデバイスからの通信の要求があり、かつ、前記所定のデバイスの優先順位が第２の優先順位に変更されているときにカウンタを動作させるように、カウンタの動作を制御させることができる（例えば、図１０のステップＳ５１乃至ステップＳ５３）。
【００３７】
前記通信経路は、バス（例えば、図３のバス６１）とすることができる。
【００３８】
前記複数のデバイス（例えば、図３の画像入力部７２など）には、前記通信経路を介して、フレームまたはフィールドを単位とする画像データを相互に通信させ、前記変更手段には、フレームに割り当てられた時間であるフレーム時間内またはフィールドに割り当てられた時間であるフィールド時間内に少なくともフレームまたはフィールドの画像処理が行われるように、前記所定の期間だけ、前記所定のデバイスの優先順位を変更させ、前記制御手段には、前記フレーム時間または前記フィールド時間を確保するように、前記所定の期間の長さを制御させることができる。
【００３９】
本発明の一側面の情報処理方法は、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する情報処理装置の情報処理方法であって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し（例えば、図７のステップＳ１２）、前記所定の期間の長さを制御する（例えば、図８のステップＳ３１乃至ステップＳ３３）ステップを含む。
【００４０】
本発明の一側面のプログラムは、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の通信経路を介しての前記複数のデバイスの間の通信を制御する処理を、コンピュータに行わせるプログラムであって、前記複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し（例えば、図７のステップＳ１２）、前記所定の期間の長さを制御する（例えば、図８のステップＳ３１）ステップを含む。
【００４１】
図３は、本発明の一実施の形態のデジタルビデオカメラの構成の例を示すブロック図である。
【００４２】
図３のデジタルビデオカメラ５１は、１つのメモリを複数のデバイスで使用する、いわゆるユニファイドメモリアーキテクチャを適用した、画像の記録および再生を行う情報処理装置の一例である。以下、デジタルビデオカメラ５１を例にして説明するが、これに限らず、例えば、デジタルスチルカメラまたは音声のレコーダなど、画像または音声などの所定のデータを処理する装置であればよい。
【００４３】
デジタルビデオカメラ５１は、バス６１、CCD（Charge Coupled Device）７１、画像入力部７２、画像処理部７３、画像圧縮部７４、画像伸張部７５、CPU（Central Processing Unit）７６、記録制御部７７、記録部７８、画像出力部７９、表示部８０、およびメモリ８１を含むように構成される。
【００４４】
また、デジタルビデオカメラ５１には、必要に応じてドライブ８２が接続される。ドライブ８２には、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどのリムーバブルメディア８３が必要に応じて装着され、データの授受を行うようになされている。
【００４５】
画像入力部７２、画像処理部７３、画像圧縮部７４、画像伸張部７５、CPU７６、記録制御部７７、画像出力部７９、メモリ８１、およびドライブ８２は、バス６１を介して相互に接続されている。なお、画像入力部７２、画像処理部７３、画像圧縮部７４、画像伸張部７５、CPU７６、記録制御部７７、および画像出力部７９は、マスタの一例である。
【００４６】
CCD７１は、CCDセンサから構成され、図示せぬレンズにより結像された光の像を光電変換することにより、光をアナログの電気信号に変換する。CCD７１は、変換により得られたアナログの電気信号である画像信号を画像入力部７２に供給する。
【００４７】
なお、CCD７１に限らず、例えば、CMOS（Complementary Metal Oxide Semiconductor）センサなど、画素を単位として画像の信号を生成する撮像素子を設けるようにしてもよい。
【００４８】
画像入力部７２は、CCD７１から供給されたアナログの画像信号を、デジタルの画像データに変換する。画像入力部７２は、変換により得られた画像データを、バス６１を介して、メモリ８１に書き込む。
【００４９】
画像処理部７３は、画像入力部７２によってメモリ８１に書き込まれた画像データを読み出し、必要に応じて各種の画像処理を適用する。例えば、画像処理部７３は、CCD７１による光電変換や画像入力部７２によるアナログ信号である画像信号の伝送において生じるノイズを低減させるノイズリダクション（NR（Noise Reduction））の処理を画像データに適用したり、画像データに対して各種のエフェクトを施したりする。画像処理部７３は、画像処理が適用された画像データを、バス６１を介して、メモリ８１に書き込む。
【００５０】
画像圧縮部７４は、画像処理部７３によってメモリ８１に書き込まれた画像データを読み出し、所定の符号化方式で符号化する。例えば、画像圧縮部７４は、MPEG（Moving Pictures Experts Group）2方式で画像データを符号化する。画像圧縮部７４は、符号化した画像データを、バス６１を介して、メモリ８１に書き込む。
【００５１】
画像伸張部７５は、記録部７８に記録されている画像データを、例えば、MPEG2方式などの、符号化されているその画像データの符号化方式で復号する。画像伸張部７５は、復号した画像データを、バス６１を介して、メモリ８１に書き込む。
【００５２】
CPU７６は、メモリ８１に記憶されているプログラムに従って各種の処理を実行する。メモリ８１には、CPU７６が各種の処理を実行する上において必要なデータなども適宜記憶される。CPU７６は、バス６１を介して、デジタルビデオカメラ５１の全体の動作を制御する。
【００５３】
記録制御部７７は、例えば、記録時には、画像圧縮部７４によってメモリ８１に書き込まれた、符号化されたデータを読み出し、記録部７８に記録させる。また、例えば、再生時には、記録制御部７７は、記録部７８に記録されている、符号化された画像データを読み出し、バス６１を介して、メモリ８１に書き込む。
【００５４】
記録部７８は、例えば、ハードディスクドライブ、所定のドライブに駆動されるDVD（Digital Versatile Disk）などの光ディスクおよびそのドライブ、またはメモリカードなどの半導体メモリなどからなる。
【００５５】
画像出力部７９は、バス６１を介して、画像処理部７３によってメモリ８１に書き込まれた画像データを読み出し、画像を表示するための表示データを生成し、表示部８０に供給する。
【００５６】
表示部８０は、例えば、LCD（Liquid Crystal Display）または有機EL（Electro Luminescence）などの表示デバイスからなり、画像出力部７９から供給される表示データに基づいて、各種の画像を表示する。
【００５７】
メモリ８１は、例えば、SDRAM（Synchronous Dynamic Random Access Memory）などの半導体メモリにより構成される。
【００５８】
以上のような構成により、デジタルビデオカメラ５１は、撮像された被写体の画像を記録または再生することができる。
【００５９】
デジタルビデオカメラ５１のような、画像や音声の記録または再生を行うAV（Audio Visual）機器においては、リアルタイム性が要求される処理とCPU７６による処理などのベストエフォートな処理とが混在して実行される。一般的に、リアルタイム性が要求される処理の優先順位は基本的に高くされ、リアルタイム性が要求されない処理の優先順位は低くされる。ビデオ信号の入出力系などは、定められた規格（例えば、CCIR（国際無線通信顧問委員会）-656など）での信号のやりとりになるため、クロック単位でのリアルタイム性が要求される。また、SDRAMなどのメモリ８１を介して、ビデオ信号処理などを行う場合には、クロック単位でのリアルタイム性は要求されないが、フレーム単位またはフィールド単位のリアルタイム性が要求され、最低限のフレームレートまたはフィールドレートを確保する必要がある。このようなフレームレートまたはフィールドレートの確保が必要な処理と、CPU７６による処理などのベストエフォートな処理とが混在した場合、CPU７６などは、画像処理の処理の度合いに応じて、どのくらいのアクセスが出来るかが決まってしまう。しかし、フレームレートまたはフィールドレートを確保する場合、フレーム時間またはフィールド時間で処理が終了できるだけのアクセスが許可されれば、画像処理の優先順位を常に高くしておく必要はない。
【００６０】
このように、記録または再生を行う際の、リアルタイム性が要求される処理とベストエフォートな処理とが混在するような場合、図３には図示されないアービタが、アクセスの制限を行い、優先順位の低いものに対しても定期的にアクセスを許可し、バス６１の使用率を向上させる。アービタは、独立に設けてバス６１に接続されるようにしてもよいし、メモリ８１またはCPU７６などと一体に設けるようにしてもよい。
【００６１】
なお、以下、バス６１の図示は省略する。
【００６２】
図４は、マスタとアービタとで表したデジタルビデオカメラ５１の機能の構成を示すブロック図である。図４において、デジタルビデオカメラ５１は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、マスタＤ１３４、アービタ１３５、およびCPU７６から構成されている。
【００６３】
マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のそれぞれは、複数のデバイスの一例であり、画像入力部７２、画像処理部７３、画像圧縮部７４、画像伸張部７５、CPU７６、記録制御部７７、および画像出力部７９のいずれかである。例えば、マスタＡ１３１は、画像入力部７２であり、マスタＢ１３２は、画像処理部７３であり、マスタＣ１３３は、画像圧縮部７４であり、マスタＤ１３４は、記録制御部７７である。
【００６４】
図４において、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４が、アービタ１３５に接続されている。マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４は、アービタ１３５に対してそれぞれアクセスの要求を出す。アービタ１３５は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４にあらかじめ定められている優先順位に基づいて、図示せぬバス６１を介したマスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のアクセスの調停を行う。
【００６５】
アービタ１３５は、アクセス要求受信部１５１、優先順位制御部１５２、アクセス許可送信部１５３、カウンタ制御部１５４、およびレジスタ設定部１５５を含むように構成される。
【００６６】
アクセス要求受信部１５１は、アービタ１３５に接続されているマスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のそれぞれからのアクセスの要求を受信する。アクセス要求受信部１５１は、アクセスの要求の受信を優先順位制御部１５２に通知する。
【００６７】
優先順位制御部１５２は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のそれぞれの優先順位を予め定め、また、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のうち、所定のものの優先順位を変えるように、優先順位を制御する。
【００６８】
優先順位制御部１５２は、アクセス要求受信部１５１からアクセスの要求の受信が通知されると、アクセスを要求してきたマスタＡ１３１、マスタＢ１３２、マスタＣ１３３、またはマスタＤ１３４のうち、最も優先順位の高いものを選択する。そして、優先順位制御部１５２は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、またはマスタＤ１３４のいずれかの選択をアクセス許可送信部１５３に通知する。すなわち、優先順位制御部１５２は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、またはマスタＤ１３４のそれぞれの優先順位に基づいて、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４の中から、アクセスを許可する１つを決定する。
【００６９】
また、優先順位制御部１５２は、変更部１７１およびカウンタ１７２を含むように構成される。
【００７０】
変更部１７１は、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、またはマスタＤ１３４のうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更する。また、変更部１７１は、所定の期間が終了したときに、そのデバイスの第２の優先順位を、第１の優先順位に戻す。
【００７１】
以下、優先順位が変更されるマスタを制限対象マスタと称する。
【００７２】
より具体的には、例えば、変更部１７１は、図５で示されるように、アービタ１３５に接続されている優先１のマスタＡ１３１、優先２のマスタＢ１３２、優先３のマスタＣ１３３、および優先４のマスタＤ１３４のうちのいずれかを、アクセスが制限されるマスタである制限対象マスタとし、所定の期間だけ、優先５のマスタ、すなわち最も優先順位の低いマスタとして扱われるように、アービタ１３５における優先順位を変更し、所定の期間が終了すると、その優先順位を元に戻す。
【００７３】
また、例えば、変更部１７１は、制限対象マスタからのアクセスの要求に対して応答したときに、制限対象マスタの優先順位である第１の優先順位を、第２の優先順位に変更する。すなわち、変更部１７１は、所定のデバイスからのアクセスの要求に対して応答したときに、所定のデバイスの優先順位である第１の優先順位を、第２の優先順位に変更する。
【００７４】
カウンタ１７２は、アービタ１３５の制御の基準となるクロックをカウントし、カウンタ値を変更部１７１に供給する。変更部１７１は、カウンタ１７２のカウンタ値が所定の値である制限値になった場合、所定のデバイスの優先順位を変更する。
【００７５】
アクセス許可送信部１５３は、優先順位制御部１５２によって決定された、アクセスを許可する、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４の中のいずれかに、アクセスの許可を示す応答を送信する。
【００７６】
カウンタ制御部１５４は、制限対象マスタの優先順位が変更されている期間の長さを制御する。より具体的には、カウンタ制御部１５４は、カウンタ１７２の動作を制御することで、制限対象マスタの優先順位が変更されている期間の長さを制御する。
【００７７】
レジスタ設定部１５５は、CPU７６の制御に基づいて、優先順位が変更される制限対象マスタを指定する値を設定したり、カウンタ１７２のカウンタ値の制限値を設定したりする。制限値は、制限対象マスタの優先順位が変更されている期間の長さを決定するための値である。
【００７８】
なお、CPU７６とは別にCPUを設けて、CPU７６とは別のCPUが、レジスタ設定部１５５に、制限対象マスタを指定する値を設定したり、カウンタ１７２のカウンタ値の制限値を設定したりするようにしてもよい。
【００７９】
次に、要求から応答までのディレイを１クロックとし、優先１のマスタＡ１３１、優先２のマスタＢ１３２、優先３のマスタＣ１３３、および優先４のマスタＤ１３４のうちの、マスタＡ１３１を制限対象マスタとし、所定の期間において、マスタＡ１３１の優先順位を優先５とする場合の例について、図６のタイミングチャートを参照して説明する。
【００８０】
図６において、上から順に、クロック、マスタＡ１３１の要求、マスタＢ１３２の要求、マスタＣ１３３の要求、マスタＤ１３４の要求、マスタＡ制限フラグ、マスタＡ１３１への応答、マスタＢ１３２への応答、マスタＣ１３３への応答、およびマスタＤ１３４への応答のそれぞれのタイミングチャートが示されている。また、時刻Ｔ１乃至Ｔ２３は、クロックの立ち上がりのタイミングを示している。
【００８１】
なお、マスタＡ制限フラグが立っていない期間において、マスタＡ１３１の優先順位は優先１とされ、マスタＡ制限フラグが立っている期間において、マスタＡ１３１の優先順位は優先５とされる。
【００８２】
時刻Ｔ３において、マスタＡ１３１およびマスタＢ１３２から同時にアクセスの要求が発生すると、アービタ１３５が、優先２のマスタＢ１３２に対して優先順位のより高い優先１のマスタＡ１３１に応答し、マスタＢ１３２に応答しない。すなわち、アービタ１３５は、マスタＡ１３１にアクセスを許可する。したがって、時刻Ｔ３において、マスタＡ１３１はアクセスし、マスタＢ１３２はアクセスしない。例えば、マスタＡ１３１は、バス６１を介して、マスタＢ１３２、マスタＣ１３３、マスタＤ１３４、またはメモリ８１のいずれかにアクセスする。
【００８３】
時刻Ｔ５において、マスタＢ１３２およびマスタＣ１３３から同時にアクセスの要求が発生すると、アービタ１３５が、優先３のマスタＣ１３３に対して優先順位のより高い優先２のマスタＢ１３２に応答し、マスタＣ１３３に応答しない。すなわち、アービタ１３５は、マスタＢ１３２にアクセスを許可する。したがって、時刻Ｔ５において、マスタＢ１３２はアクセスし、マスタＣ１３３はアクセスしない。例えば、マスタＢ１３２は、バス６１を介して、マスタＡ１３１、マスタＣ１３３、マスタＤ１３４、またはメモリ８１のいずれかにアクセスする。
【００８４】
時刻Ｔ７において、マスタＣ１３３のみからアクセスの要求が発生すると、アービタ１３５が、マスタＣ１３３に応答する。すなわち、アービタ１３５は、マスタＣ１３３にアクセスを許可する。したがって、時刻Ｔ７において、マスタＣ１３３はアクセスする。例えば、マスタＣ１３３は、バス６１を介して、マスタＡ１３１、マスタＢ１３２、マスタＤ１３４、またはメモリ８１のいずれかにアクセスする。
【００８５】
また、時刻Ｔ９においては、マスタＤ１３４のみからアクセスの要求が発生しているので、アービタ１３５が、マスタＤ１３４に応答し、時刻Ｔ９において優先順位の最も低い優先４のマスタＤ１３４がアクセスする。すなわち、アービタ１３５は、マスタＤ１３４にアクセスを許可する。例えば、マスタＤ１３４は、バス６１を介して、マスタＡ１３１、マスタＢ１３２、マスタＣ１３３、またはメモリ８１のいずれかにアクセスする。
【００８６】
時刻Ｔ１０乃至Ｔ２０の間は、例えば、マスタＡ１３１に対するアクセスを制限するマスタＡ制限フラグが立っているので、この間のマスタＡ１３１は、マスタＢ１３２、マスタＣ１３３、およびマスタＤ１３４のいずれよりも優先順位の低い、優先５のマスタとして扱われる。
【００８７】
例えば、時刻Ｔ１１において、マスタＡ１３１、マスタＢ１３２およびマスタＣ１３３から同時にアクセスの要求が発生すると、アービタ１３５は、時刻Ｔ１１において優先５のマスタＡ１３１および優先３のマスタＣ１３３に対して優先順位のより高い優先２のマスタＢ１３２に応答し、マスタＡ１３１およびマスタＣ１３３に応答しない。すなわち、アービタ１３５は、マスタＢ１３２にアクセスを許可する。したがって、時刻Ｔ１１において、マスタＢ１３２はアクセスし、マスタＡ１３１およびマスタＣ１３３はアクセスしない。
【００８８】
同様にして、時刻Ｔ１３において、マスタＡ１３１、マスタＣ１３３およびマスタＤ１３４から同時にアクセスの要求が発生すると、アービタ１３５は、時刻Ｔ１３において優先５のマスタＡ１３１および優先４のマスタＤ１３４に対して優先順位のより高い優先３のマスタＣ１３３に応答し、マスタＡ１３１およびマスタＤ１３４に応答しない。すなわち、アービタ１３５は、マスタＣ１３３にアクセスを許可する。したがって、時刻Ｔ１３において、マスタＣ１３３はアクセスし、マスタＡ１３１およびマスタＤ１３４はアクセスしない。
【００８９】
さらに、時刻Ｔ１５において、マスタＡ１３１およびマスタＤ１３４から同時にアクセスの要求が発生すると、アービタ１３５は、時刻Ｔ１５において優先５のマスタＡ１３１に対して優先順位のより高い優先４のマスタＤ１３４に応答し、マスタＡ１３１に応答しない。すなわち、アービタ１３５は、マスタＤ１３４にアクセスを許可する。したがって、時刻Ｔ１５において、マスタＤ１３４はアクセスし、マスタＡ１３１はアクセスしない。
【００９０】
また、時刻Ｔ１７において、マスタＡ１３１からのアクセスの要求が発生し、マスタＢ１３２乃至マスタＤ１３４からアクセスの要求が発生しないので、アービタ１３５は、マスタＡ１３１に応答する。したがって、時刻Ｔ１７において、マスタＡ１３１はアクセスする。
【００９１】
さらに、時刻Ｔ１９において、マスタＡ１３１およびマスタＢ１３２から同時にアクセスの要求が発生すると、時刻Ｔ１１の場合と同様に、アービタ１３５は、マスタＢ１３２に応答し、マスタＢ１３２がアクセスする。
【００９２】
時刻Ｔ２０以降、マスタＡ制限フラグが立っていないので、時刻Ｔ２０以降は、マスタＡ１３１は、本来の、優先順位の最も高い、優先１のマスタとして扱われる。
【００９３】
例えば、時刻Ｔ２１において、マスタＡ１３１およびマスタＢ１３２から同時にアクセスの要求が発生しているので、アービタ１３５は、時刻Ｔ２１において優先２のマスタＢ１３２に対して優先順位のより高い優先１のマスタＡ１３１に応答し、マスタＢ１３２に応答しない。すなわち、アービタ１３５は、マスタＡ１３１にアクセスを許可する。したがって、時刻Ｔ２１において、マスタＡ１３１はアクセスし、マスタＢ１３２はアクセスしない。
【００９４】
また、例えば、時刻Ｔ２３において、マスタＡ１３１、マスタＢ１３２、およびマスタＤ１３４から同時にアクセスの要求が発生しているので、アービタ１３５は、時刻Ｔ２３においてマスタＡ１３１、マスタＢ１３２、およびマスタＤ１３４のうち、優先順位の最も高いマスタＡ１３１に応答し、時刻Ｔ２３において、マスタＡ１３１がアクセスする。
【００９５】
このように、所定の期間、優先順位の高いマスタのその優先順位を低くすることで、本来、優先順位の高いマスタのアクセスを制限し、これによって、優先順位の低いマスタにアクセスさせることができる。また、制限対象マスタのアクセスを一定の期間禁止するわけではなく、制限対象マスタの優先順位を低くするだけなので、優先順位を低くすることでアクセスを制限している状態であっても、他に要求を出すマスタがなければ、制限対象マスタはアクセスすることができる。
【００９６】
このように、マスタについてアクセスが禁止される期間が生じることがない。これにより、マスタからアクセスの要求が生じると、いずれかのマスタがアクセスできるので、いずれかのマスタがアクセスしたいにもかかわらずバスが使用されない期間が生じることがなく、バスの使用率が向上する。
【００９７】
次に、優先順位制御部１５２による、優先順位の制御の処理について説明する。
【００９８】
図７は、アービタ１３５のクロックごとに実行される、優先順位の制御の処理の例を示すフローチャートである。
【００９９】
ステップＳ１１において、優先順位制御部１５２は、アクセス許可送信部１５３が制限対象マスタに、応答、すなわち、アクセス許可を送信したか否かを判定する。ステップＳ１１において、アクセス許可が送信されたと判定された場合、処理は、ステップＳ１２に進む。
【０１００】
ステップＳ１２において、優先順位制御部１５２の変更部１７１は、制限対象マスタの優先順位を変更する。より具体的には、例えば、変更部１７１は、制限対象マスタの優先順位を下げて、処理は終了する。
【０１０１】
一方、ステップＳ１１において、制限対象マスタにアクセス許可が送信されていないと判定された場合、処理は、ステップＳ１３に進む。
【０１０２】
ステップＳ１３において、優先順位制御部１５２は、クロックごとにカウントアップされるカウンタ１７２のカウンタ値が、レジスタ設定部１５５に設定されている制限値になったか否かを判定する。ステップＳ１３において、カウンタ値が制限値になっていないと判定された場合、制限対象マスタの優先順位を下げておくべき期間なので、制限対象マスタの優先順位を戻さないで、そのまま、処理は終了する。
【０１０３】
一方、ステップＳ１３において、カウンタ値が制限値になったと判定された場合、制限対象マスタの優先順位を下げておくべき期間が経過したので、処理はステップＳ１４に進む。
【０１０４】
ステップＳ１４において、優先順位制御部１５２の変更部１７１は、制限対象マスタの優先順位を元に戻して、処理は終了する。
【０１０５】
このように、優先順位制御部１５２は、制限対象マスタの優先順位を、制限対象マスタのアクセスが許可されると本来の優先順位ではないアクセスを制限する優先順位に変更し、アクセスが制限された状態でカウンタ値が制限値になると、元の優先順位に戻す。
【０１０６】
ここで、制限対象マスタのアクセスが制限される期間、すなわち制限対象マスタの優先順位を変更しておく期間の長さは、例えば、ステップＳ１３においてカウンタ値と比較される制限値を変更したり、カウンタ１７２をリセットするなどのカウンタ１７２の動作を制御することで、制御される。
【０１０７】
次に、カウンタ制御部１５４による、カウンタ１７２の動作の制御の処理について説明する。
【０１０８】
図８は、アービタ１３５のクロックごとに実行される、カウンタ１７２の動作の制御の処理の例を示すフローチャートである。
【０１０９】
ステップＳ３１において、カウンタ制御部１５４は、カウンタ１７２を動作させる。ステップＳ３２において、カウンタ制御部１５４は、カウンタ１７２のカウンタ値が、レジスタ設定部１５５に設定されている制限値になったか否かを判定する。ステップＳ３２において、カウンタ１７２のカウンタ値が制限値になったと判定された場合、ステップＳ３３に進み、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットして、処理は終了する。カウンタ値がリセットされると、例えば、カウンタ値は、０になる。
【０１１０】
ステップＳ３２において、カウンタ１７２のカウンタ値が制限値になっていないと判定された場合、カウンタ１７２のカウンタ値はリセットされず、処理は終了する。
【０１１１】
このように、例えば、カウンタ１７２は、他の処理に依存せず、カウントアップしたカウンタ値が一定の周期ごとにリセットされる、いわゆるフリーランのカウンタとして動作させられる。
【０１１２】
ここで、カウンタ１７２が、フリーランのカウンタとして動作している場合の、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３のそれぞれの動作、並びにアービタ１３５による制限対象マスタの優先順位の変更について説明する。
【０１１３】
図９は、カウンタ１７２がフリーランで動作している場合の、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３の動作のタイミングチャートの例である。なお、図９の例において、マスタＢ１３２を制限対象マスタとして説明する。
【０１１４】
図９において、上から順に、カウンタ１７２のカウンタ値、マスタＡ１３１の要求、マスタＢ１３２の要求、およびマスタＣ１３３の要求のそれぞれのタイミングチャートが示されている。また、図９において、タイミングチャートの上側には、時刻Ｔ０乃至Ｔ１１が示され、タイミングチャートの下側には、アービタ１３５において変更される、制限対象マスタであるマスタＢ１３２のそれぞれの時刻における優先順位を示す。カウンタ制御部１５４は、Ｔm乃至Ｔm+2（ｍは正の整数）を周期とするフリーランのカウンタとしてカウンタ１７２を動作させる。
【０１１５】
時刻Ｔ０において、カウンタ制御部１５４は、カウンタ１７２の動作を開始させる。マスタＡ１３１およびマスタＢ１３２からのアクセスの要求は発生せず、マスタＣ１３３からのアクセスの要求のみが発生している。このとき、マスタＢ１３２の優先順位は、優先２である。
【０１１６】
時刻Ｔ１において、マスタＢ１３２からのアクセスの要求が発生する。同時に、マスタＣ１３３からのアクセスの要求も発生しているが、優先順位のより高いマスタＢ１３２のアクセスが許可される。制限対象マスタであるマスタＢ１３２のアクセスが許可されると、優先順位制御部１５２の変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先５に下げる。
【０１１７】
時刻Ｔ２において、カウンタ１７２のカウンタ値が制限値になると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先２に戻す。また、このとき、カウンタ１７２のカウンタ値は、リセットされ、カウンタ１７２は、再びカウントアップを開始する。
【０１１８】
このように、時刻Ｔ１乃至Ｔ２の間、マスタＢ１３２の優先順位が優先５に下げられるので、マスタＢ１３２からのアクセスの要求があっても、マスタＡ１３１からのアクセスの要求がなければ、マスタＢ１３２の本来の優先順位である優先２より優先順位が低く、マスタＢ１３２の変更された優先順位である優先５より優先順位が高い優先３のマスタＣ１３３からのアクセスが可能となる。
【０１１９】
時刻Ｔ２乃至Ｔ３の間は、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３のそれぞれから同時にアクセスの要求が発生しているが、優先１のマスタＡ１３１のアクセスが許可される。
【０１２０】
時刻Ｔ３の前後において、マスタＣ１３３から継続してアクセスが要求され、時刻Ｔ３の前に、マスタＡ１３１からのアクセスの要求が立ち下がり、時刻Ｔ３において、マスタＢ１３２からのアクセスの要求が立ち下がっているので、優先３であるマスタＣ１３３に対して優先順位のより高い優先２のマスタＢ１３２のアクセスが許可される。マスタＢ１３２のアクセスが許可されると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先５に下げる。
【０１２１】
時刻Ｔ４において、カウンタ１７２のカウンタ値が制限値になると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先２に戻す。また、このとき、カウンタ制御部１５４は、カウンタ１７２の動作を継続させるとともに、カウンタ１７２のカウンタ値をリセットするので、カウンタ１７２は、再びカウントアップを開始する。
【０１２２】
時刻Ｔ３乃至Ｔ４の間、マスタＢ１３２の優先順位が優先５に下げられるので、マスタＢ１３２からのアクセスの要求があっても、マスタＡ１３１からのアクセスの要求がなければ、マスタＢ１３２の本来の優先順位である優先２より優先順位が低く、マスタＢ１３２の変更された優先順位である優先５より優先順位が高い優先３のマスタＣ１３３からのアクセスが可能となる。
【０１２３】
時刻Ｔ４乃至Ｔ５の間は、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３のそれぞれから同時に要求が発生しているが、優先１のマスタＡ１３１のアクセスが許可される。
【０１２４】
時刻Ｔ５の前後において、マスタＣ１３３から継続してアクセスが要求され、時刻Ｔ５の前に、マスタＡ１３１からのアクセスの要求が立ち下がり、時刻Ｔ５において、マスタＢ１３２からのアクセスの要求が立ち下がっているので、優先３であるマスタＣ１３３に対して優先順位のより高い優先２のマスタＢ１３２のアクセスが許可される。マスタＢ１３２のアクセスが許可されると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先５に下げる。
【０１２５】
時刻Ｔ６において、カウンタ１７２のカウンタ値が制限値になると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先２に戻す。また、このとき、カウンタ１７２のカウンタ値はリセットされ、カウンタ１７２は、再びカウントアップを開始する。
【０１２６】
時刻Ｔ５乃至Ｔ６の間、マスタＢ１３２の優先順位は、優先５に下げられる。
【０１２７】
時刻Ｔ６乃至Ｔ７の間、マスタＡ１３１乃至マスタＣ１３３のいずれもアクセスの要求を発生しない。また、時刻Ｔ６乃至Ｔ７の間、マスタＢ１３２の優先順位は、優先２である。
【０１２８】
時刻Ｔ７において、マスタＢ１３２からの要求だけが発生しているので、マスタＢ１３２のアクセスが許可される。マスタＢ１３２のアクセスが許可されると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先５に下げる。また、時刻Ｔ７乃至Ｔ８の間は、マスタＡ１３１またはマスタＣ１３３からの要求が発生しないので、マスタＢ１３２の優先順位が優先５であっても、マスタＢ１３２のアクセスは許可される。
【０１２９】
時刻Ｔ８において、カウンタ１７２のカウンタ値が制限値になると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先２に戻す。さらに、マスタＢ１３２からの要求だけが発生しているので、マスタＢ１３２のアクセスが許可され、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、即座に優先５に下げる。すなわち、時刻Ｔ８において、マスタＢ１３２の優先順位は、１クロック分の時間だけ優先２に戻るが、すぐに優先５に下がる。また、このとき、カウンタ１７２のカウンタ値はリセットされ、カウンタ１７２は、再びカウントアップを開始する。時刻Ｔ８乃至Ｔ９の間は、時刻Ｔ７乃至Ｔ８の間と同様、マスタＡ１３１またはマスタＣ１３３からの要求が発生しないので、マスタＢ１３２の優先順位が優先５であっても、マスタＢ１３２のアクセスは許可される。
【０１３０】
時刻Ｔ９において、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３からのアクセスの要求が発生する。時刻Ｔ９において、優先１であるマスタＡ１３１、優先５であるマスタＢ１３２、および優先３であるマスタＣ１３３のうち、最も優先順位の高い優先１のマスタＡ１３１のアクセスが許可される。
【０１３１】
時刻Ｔ１０において、カウンタ１７２のカウンタ値が制限値になると、変更部１７１は、アービタ１３５におけるマスタＢ１３２の優先順位を、優先２に戻す。また、このとき、カウンタ１７２のカウンタ値はリセットされ、カウンタ１７２は、再びカウントアップを開始する。
【０１３２】
時刻Ｔ１０乃至Ｔ１１の間は、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３のそれぞれから同時にアクセスが要求されているが、優先１のマスタＡ１３１のアクセスが許可される。すなわち、マスタＢ１３２のアクセスは許可されないので、マスタＢ１３２の優先順位は優先２のままで変わらない。
【０１３３】
時刻Ｔ１１において、カウンタ１７２のカウンタ値が制限値になると、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットさせる。
【０１３４】
このように、アービタ１３５は、制限対象マスタのアクセスが許可された場合、制限対象マスタの優先順位をより低い優先順位にするとともに、制限対象マスタの優先順位を、一定の周期の間に、一度はアクセス制限されていない元の優先順位とする。このようにすることで、制限対象マスタの優先順位より低い優先順位のマスタにアクセスを適宜許可することができる。
【０１３５】
例えば、ユニファイドメモリアーキテクチャを採用するデジタルビデオカメラ５１のフレームまたはフィールドを単位とする動画像の画像処理において、１フレーム時間内に１フレームまたは１フィールド時間内に１フィールドの画像データのメモリ８１からの読み出しまたは書き込みをする処理を行うような場合、１フレーム時間または１フィールド時間においてそれぞれのマスタのアクセスを許可し、少なくとも１フレーム時間内に１フレームの処理または１フィールド時間内に１フィールドの処理がそれぞれのマスタにおいて終了するように、マスタの優先順位が変更され、また、優先順位を変更する期間の長さが制御される。これにより、メモリ８１へのアクセスを平均化することができる。
【０１３６】
なお、カウンタ値の制限値は、例えば、フレームレートまたはフィールドレートを確保する場合には、処理に必要な最低限の時間とバス６１にアクセスする必要のある回数とから決定される。
【０１３７】
図１０は、アービタ１３５のクロックごとに実行される、カウンタ１７２の動作の制御の処理の他の例を示すフローチャートである。
【０１３８】
ステップＳ５１において、カウンタ制御部１５４は、優先順位制御部１５２からの信号を基に、制限対象マスタからアクセス要求されているか否かを判定する。すなわち、カウンタ制御部１５４は、アクセス要求受信部１５１が制限対象マスタからのアクセスの要求を受信しているか否かを判定する。ステップＳ５１において、制限対象マスタからアクセス要求されていると判定された場合、処理は、ステップＳ５２に進む。
【０１３９】
ステップＳ５２において、カウンタ制御部１５４は、優先順位制御部１５２からの制限対象マスタの優先順位を示す信号を基に、制限対象マスタの優先順位が下がっているか否かを判定する。ステップＳ５２において、制限対象マスタの優先順位が下がっていると判定された場合、処理は、ステップＳ５３に進む。
【０１４０】
ステップＳ５３において、カウンタ制御部１５４は、カウンタ１７２を動作させ、処理は終了する。既にカウンタ１７２が動作している場合、カウンタ制御部１５４は、カウンタ１７２の動作を継続させ、カウンタ１７２が動作していない場合、カウンタ制御部１５４は、カウンタ１７２の動作を開始させる。
【０１４１】
一方、ステップＳ５１において、制限対象マスタからアクセス要求されていないと判定された場合、または、ステップＳ５２において、制限対象マスタの優先順位が下がっていない、すなわち元の優先順位であると判定された場合、処理は、ステップＳ５４に進む。
【０１４２】
ステップＳ５４において、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットして、処理は終了する。
【０１４３】
このように、カウンタ制御部１５４は、カウンタ１７２に、制限対象マスタからのアクセスの要求があり、かつ、制限対象マスタの優先順位が下がっているときのみ動作させ、その動作を継続させる。
【０１４４】
ここで、カウンタ１７２が、制限対象マスタの優先順位が下がり、かつ、制限対象マスタからアクセス要求を受けている間のみ動作する場合の、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３のアクセスの動作、並びにアービタ１３５による制限対象マスタの優先順位の変更について説明する。
【０１４５】
以下で説明する例において、制限対象マスタの優先順位が元の優先順位から下げられた状態から、処理は開始される。
【０１４６】
図１１は、制限対象マスタの優先順位が下がり、かつ、制限対象マスタからアクセス要求を受けている間のみカウンタ１７２が動作する場合の、マスタＡ１３１、マスタＢ１３２、およびマスタＣ１３３の動作のタイミングチャートの例である。なお、図１１の例において、図９と同様に、マスタＢ１３２を制限対象マスタとして説明する。
【０１４７】
図１１において、上から順に、カウンタ１７２のカウンタ値、マスタＡ１３１のアクセスの要求、マスタＢ１３２のアクセスの要求、およびマスタＣ１３３のアクセスの要求のそれぞれのタイミングチャートが示されている。また、図１１において、タイミングチャートの上側には、時刻Ｔ０乃至Ｔ７が示され、タイミングチャートの下側には、アービタ１３５において変更される、制限対象マスタであるマスタＢ１３２のそれぞれの時刻における優先順位を示す。
【０１４８】
時刻Ｔ０と時刻Ｔ１との間の時刻から時刻Ｔ２の直前までの期間、時刻Ｔ３と時刻Ｔ４との間の時刻から時刻Ｔ５の直前までの期間、および時刻Ｔ６以降の期間において、マスタＡ１３１からアクセスが継続して要求されている。
【０１４９】
時刻Ｔ０から時刻Ｔ２までの期間、時刻Ｔ３から時刻Ｔ５までの期間、および時刻Ｔ６以降の期間において、マスタＢ１３２からアクセスが継続して要求されている。また、時刻Ｔ５と時刻Ｔ６との間において、１クロックの期間だけ、４回、マスタＢ１３２からアクセスが要求されている。
【０１５０】
時刻Ｔ０から時刻Ｔ５と時刻Ｔ６との間の時刻までの期間、および時刻Ｔ６以降の期間において、マスタＣ１３３からアクセスが継続して要求されている。
【０１５１】
時刻Ｔ０から時刻Ｔ１までの期間において、優先５のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１または優先３のマスタＣ１３３のいずれかからアクセスが継続して要求されているので、マスタＡ１３１またはマスタＣ１３３のいずれか一方のアクセスが許可される。
【０１５２】
マスタＢ１３２の優先順位が優先５である状態から処理が開始され、時刻Ｔ０において、マスタＢ１３２からのアクセスの要求が開始され、時刻Ｔ０から時刻Ｔ２までの期間において、マスタＢ１３２からのアクセスの要求が継続されると、制限対象マスタであるマスタＢ１３２の優先順位が下がり、かつ、制限対象マスタからアクセスの要求を受けている間のみカウンタ１７２が動作するので、時刻Ｔ０から時刻Ｔ２までの期間のうち、制限対象マスタであるマスタＢ１３２の優先順位が下がっている期間において、カウンタ１７２がカウントアップすることになる。
【０１５３】
時刻Ｔ１において、カウンタ１７２のカウンタ値が制限値になるので、時刻Ｔ１において、優先順位制御部１５２の変更部１７１は、マスタＢ１３２の優先順位を元に戻す。マスタＢ１３２の優先順位は、優先２となる。マスタＢ１３２の優先順位が元に戻るので、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットする。
【０１５４】
時刻Ｔ１において、優先２のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１からアクセスが要求されているので、マスタＡ１３１のアクセスが許可される。
【０１５５】
時刻Ｔ２において、マスタＡ１３１からのアクセスの要求がなくなり、マスタＢ１３２およびマスタＣ１３３からアクセスが要求されているので、優先３のマスタＣ１３３より優先順位の高い優先２のマスタＢ１３２からのアクセスが許可される。
【０１５６】
時刻Ｔ２において、マスタＢ１３２からのアクセスが許可されると、優先順位制御部１５２の変更部１７１は、マスタＢ１３２の優先順位を優先５に下げる。
【０１５７】
このように、時刻Ｔ１から時刻Ｔ２までの期間、マスタＢ１３２の優先順位は優先２とされる。
【０１５８】
時刻Ｔ１から時刻Ｔ２までの期間、マスタＢ１３２の優先順位が元に戻っているので、カウンタ制御部１５４は、クロックごとに、カウンタ１７２のカウンタ値をリセットする。したがって、時刻Ｔ１から時刻Ｔ２までの期間、カウンタ１７２はカウントアップしない。
【０１５９】
また、時刻Ｔ２から時刻Ｔ３までの期間、マスタＢ１３２は、アクセスを要求しないので、時刻Ｔ２から時刻Ｔ３までの期間、カウンタ１７２はカウントアップしない。
【０１６０】
時刻Ｔ２から時刻Ｔ３までの期間、カウンタ１７２はカウントアップしないので、カウンタが制限値になることはなく、マスタＢ１３２の優先順位は優先５とされる。
【０１６１】
時刻Ｔ３から時刻Ｔ４までの期間において、優先５のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１または優先３のマスタＣ１３３のいずれかからアクセスが継続して要求されているので、マスタＡ１３１またはマスタＣ１３３のいずれか一方のアクセスが許可される。
【０１６２】
マスタＢ１３２の優先順位が優先５であり、時刻Ｔ３において、マスタＢ１３２からのアクセスの要求が開始され、時刻Ｔ３から時刻Ｔ５までの期間において、マスタＢ１３２からのアクセスの要求が継続されると、制限対象マスタであるマスタＢ１３２の優先順位が下がり、かつ、制限対象マスタからアクセスの要求を受けている間のみカウンタ１７２が動作するので、時刻Ｔ３から時刻Ｔ５までの期間のうち、制限対象マスタであるマスタＢ１３２の優先順位が下がっている期間において、カウンタ１７２がカウントアップすることになる。
【０１６３】
時刻Ｔ４において、カウンタ１７２のカウンタ値が制限値になるので、時刻Ｔ４において、優先順位制御部１５２の変更部１７１は、マスタＢ１３２の優先順位を元に戻す。マスタＢ１３２の優先順位は、優先２となる。マスタＢ１３２の優先順位が元に戻るので、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットする。
【０１６４】
時刻Ｔ４において、優先２のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１からアクセスが要求されているので、マスタＡ１３１のアクセスが許可される。
【０１６５】
時刻Ｔ５において、マスタＡ１３１からのアクセスの要求がなくなり、マスタＢ１３２およびマスタＣ１３３からアクセスが要求されているので、優先３のマスタＣ１３３より優先順位の高い優先２のマスタＢ１３２からのアクセスが許可される。
【０１６６】
時刻Ｔ５において、マスタＢ１３２からのアクセスが許可されると、優先順位制御部１５２の変更部１７１は、マスタＢ１３２の優先順位を優先５に下げる。
【０１６７】
このように、時刻Ｔ４から時刻Ｔ５までの期間、マスタＢ１３２の優先順位は優先２とされる。
【０１６８】
時刻Ｔ４から時刻Ｔ５までの期間、マスタＢ１３２の優先順位が元に戻っているので、カウンタ制御部１５４は、クロックごとに、カウンタ１７２のカウンタ値をリセットする。したがって、時刻Ｔ４から時刻Ｔ５までの期間、カウンタ１７２はカウントアップしない。
【０１６９】
また、時刻Ｔ４から時刻Ｔ５までの期間において、マスタＢ１３２は、１クロックの期間だけ、４回、アクセスを要求する。しかしながら、マスタＢ１３２からのアクセスの要求がなくなると、カウンタ制御部１５４は、カウンタ１７２に、カウンタ値をリセットさせるので、リセットされたときのカウンタ１７２のカウンタ値が維持される。
【０１７０】
時刻Ｔ５から時刻Ｔ６までの期間、カウンタ１７２はカウントアップしないので、カウンタ値が制限値になることはなく、マスタＢ１３２の優先順位は優先５とされる。
【０１７１】
時刻Ｔ６から時刻Ｔ７までの期間において、優先５のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１および優先３のマスタＣ１３３からアクセスが継続して要求されているので、マスタＡ１３１のアクセスが許可される。
【０１７２】
マスタＢ１３２の優先順位が優先５であり、時刻Ｔ６において、マスタＢ１３２からのアクセスの要求が開始され、時刻Ｔ６から時刻Ｔ７以降までの期間において、マスタＢ１３２からのアクセスの要求が継続されると、制限対象マスタであるマスタＢ１３２の優先順位が下がり、かつ、制限対象マスタからアクセスの要求を受けている間のみカウンタ１７２が動作するので、時刻Ｔ６から時刻Ｔ７までの期間のうち、制限対象マスタであるマスタＢ１３２の優先順位が下がっている期間において、カウンタ１７２がカウントアップすることになる。
【０１７３】
時刻Ｔ７において、カウンタ１７２のカウンタ値が制限値になるので、時刻Ｔ７において、優先順位制御部１５２の変更部１７１は、マスタＢ１３２の優先順位を元に戻す。マスタＢ１３２の優先順位は、優先２となる。マスタＢ１３２の優先順位が元に戻るので、カウンタ制御部１５４は、カウンタ１７２のカウンタ値をリセットする。
【０１７４】
時刻Ｔ７において、優先２のマスタＢ１３２より優先順位の高い優先１のマスタＡ１３１からアクセスが要求されているので、マスタＡ１３１のアクセスが許可される。
【０１７５】
このように、アービタ１３５は、制限対象マスタからのアクセス要求が発生してから、カウンタ値が制限値になるまでの一定のディレイの後に、制限対象マスタにアクセスを許可することができる。
【０１７６】
これにより、一定のレイテンシをもって動作させることができ、アクセスの集中を緩和させることができる。
【０１７７】
以上のようにして、リアルタイム性を要求するものと、ベストエフォートな異なる周期で動作するものとが、１つの共通のバス上に存在する構造において、リアルタイム性を維持しつつ、ベストエフォートで動作するものにも効率よくアクセスさせることが可能となり、バス６１へのアクセス効率を改善し、使用率を向上させることができる。また、特にモバイル機器のような、限られたリソースを有効に利用する必要があるものの場合、マスタ側の構造によらず、アービタ側のみで対応できるので、構造の単純化、小規模化を図ることができる。
【０１７８】
なお、上述した説明において、カウンタ値などの値は、全てソフトウェアによる制御を可能とし、システム要件に応じて、任意の対応が可能となるものとする。
【０１７９】
また、上述した説明において、１つのマスタをアクセス制限の対象とするようにしたが、全てのマスタをアクセス制限の対象とするようにしてもよい。さらに、アクセス制限として、本来の優先順位よりも低い優先順位で扱われるようにしたが、本来の優先順位よりも高い優先順位で扱われるようにしてもよい。
【０１８０】
以上のように、複数のデバイスにあらかじめ定められている優先順位に基づいて、共通の経路を介しての複数のデバイスの間の通信を制御するようにした場合には、メモリに対してアクセスすることができる。また、複数のデバイスのうちの所定のデバイスの優先順位である第１の優先順位を、所定の期間だけ、第２の優先順位に変更し、所定の期間の長さを制御するようにした場合には、メモリに対して定期的かつ効率的にアクセスすることができる。
【０１８１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１８２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図３に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア８３、または、プログラムが一時的もしくは永続的に格納される図示せぬROMや、記録部７８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである図示せぬ通信部を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１８３】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８４】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１８５】
【図１】従来の固定優先順位方式の装置の構成を示すブロック図である。
【図２】従来のマスタのアクセスの要求および応答のタイミングチャートの例である。
【図３】本発明の一実施の形態のデジタルビデオカメラの構成の例を示すブロック図である。
【図４】マスタとアービタとで表したデジタルビデオカメラの機能の構成を示すブロック図である。
【図５】アービタの機能を説明する図である。
【図６】各マスタのアクセスを説明するタイミングチャートである。
【図７】優先順位の制御の処理を説明するフローチャートである。
【図８】カウンタの動作の制御の処理の例を説明するフローチャートである。
【図９】各マスタのアクセスの要求と優先順位とを説明するタイミングチャートである。
【図１０】カウンタの動作の制御の処理の他の例を説明するフローチャートである。
【図１１】各マスタのアクセスの要求と優先順位とを説明するタイミングチャートである。
【符号の説明】
【０１８６】
５１  デジタルビデオカメラ，  ６１  バス，  ７１  CCD，  ７２  画像入力部，  ７３  画像処理部，  ７４  画像圧縮部，  ７５  画像伸張部，  ７６  CPU，  ７７  記録制御部，  ７８  記録部，  ７９  画像出力部，  ８０  表示部，  ８１  メモリ，  ８２  ドライブ，  ８３  リムーバブルメディア，  １３５  アービタ，  １５１  アクセス要求受信部，  １５２  優先順位制御部，  １５３  アクセス許可送信部，  １５４  カウンタ制御部，  １５５  レジスタ設定部，  １７１  変更部，  １７２  カウンタ
【図１】
2007334641.tif 000003
【図２】
2007334641.tif 000004
【図３】
2007334641.tif 000005
【図４】
2007334641.tif 000006
【図５】
2007334641.tif 000007
【図６】
2007334641.tif 000008
【図７】
2007334641.tif 000009
【図８】
2007334641.tif 000010
【図９】
2007334641.tif 000011
【図１０】
2007334641.tif 000012
【図１１】
2007334641.tif 000013