(57)【要約】【課題】比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなく、且つ、効率的なメモリアクセスが行なえるようにすることを目的とする。【解決手段】バスに接続されている複数のバスマスタから出力されるバス使用要求を複数のバスマスタに設定された優先順位に基づいて調停する調停手段と、直前にバスの使用許可を与えられたバスマスタに応じて、調停手段における調停を定められた時間の間待つよう制御する調停制御手段と、直前にバスの使用許可を与えられたバスマスタと、優先順位とに応じて、調停のタイミングを変更する調停タイミング変更手段と、を有することによって前記課題を解決する。【選択図】図４
2007286682.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続されている複数のバスマスタから出力されるバス使用要求を前記複数のバスマスタに設定された優先順位に基づいて調停する調停手段と、
直前にバスの使用許可を与えられたバスマスタに応じて、前記調停手段における調停を定められた時間の間待つよう制御する調停制御手段と、
前記直前にバスの使用許可を与えられたバスマスタと、前記優先順位とに応じて、前記調停のタイミングを変更する調停タイミング変更手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記調停制御手段は、バスマスタのバス使用要求の許諾回数、又は拒絶回数に応じてバスマスタに対する前記優先順位を変更することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記複数のバスマスタ毎のデータ転送量を予め設定、記憶するデータ転送量記憶手段と、
バスの使用を許可されたバスマスタのデータ転送量をカウントし、前記データ転送量記憶手段に記憶されたデータ転送量と比較することでバスの使用終了か否かを判断するデータ転送終了計測手段と、
を更に有することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記直前にバスの使用許可を与えられたバスマスタからバス使用終了情報を受け取ることで、バスの使用終了か否かを判断するデータ転送終了計測手段を更に有することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項５】
データ処理装置におけるデータ処理方法であって、
バスに接続されている複数のバスマスタから出力されるバス使用要求を前記複数のバスマスタに設定された優先順位に基づいて調停する調停ステップと、
直前にバスの使用許可を与えられたバスマスタに応じて、前記調停ステップにおける調停を定められた時間の間待つよう制御する調停制御ステップと、
前記直前にバスの使用許可を与えられたバスマスタと、前記優先順位とに応じて、前記調停のタイミングを変更する調停タイミング変更ステップと、
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
従来、動画像データや音声データをデジタルデータとして記録媒体に記録再生するデジタル機器が知られている。デジタルの動画像データは膨大なデータ量となるため、このようなデジタル機器では、デジタルの動画像データを符号化することによりデータ量を削減して比較的低い伝送レートに変換した後、記録媒体に記録している。
【０００３】
また、このようなデジタル機器では、回路規模削減によるコスト削減や消費電力削減の要求が大きく、これらの要求を満たすべく、動画データや音声データの処理回路が設計されている。更に、近年では、デジタル放送が始まり、これに伴い、ＮＴＳＣ等の標準解像度（ＳＤ）の画像データに代わり、データ量がより多い高精細（ＨＤ）画像データを扱うデジタル機器が増えており、更なる効率的な設計が求められている。
【０００４】
一方、近年、ＳＤＲＡＭに代表される大容量のメモリが比較的安価に利用できる環境が整いつつある。膨大な量のデータを処理するデジタル機器においても、複数のバスマスタが大容量メモリを共通に使用することで、回路規模や消費電力の削減を行うことが考えられている。大容量メモリを複数のバスマスタにおいて共通に使用した場合、複数のバスマスタからのメモリアクセスが競合することが考えられる。
【０００５】
そこで、各バスマスタのバス使用要求を調停してバスの制御を行うバス調停方法には、先着順制御方法、巡回順制御方法、固定優先順制御方法、可変優先順制御方法等があり、システムに求められる性能、仕様に応じて使い分けられている。更に、例えば特許文献１に記載されているように各バスマスタのバス使用許可信号がディセーブルになってから次のバス使用要求信号を発生するまでの最短時間を考慮したバスシステムもある。
【０００６】
【特許文献１】特開２０００―６６９９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、リアルタイムにデータを処理するデジタル装置においては、大容量メモリを複数のバスマスタにおいて共通に使用した場合、決められた優先順位に従ったバス調停方法によりメモリアクセスが待たされた結果、データの処理が間に合わずに破綻してしまうことが考えられる。これを避けるためには、より高速にアクセス可能なメモリを使用する必要があるが、高速なメモリは低速なメモリに比べて高価であり、消費電力も大きくなってしまう。
【０００８】
また、リアルタイムにデータを処理する回路ブロックの優先順位を高く設定した場合には、それ以外の回路ブロックのアクセスが長期間待たされることも考えられ、やはりデータの処理が間に合わずに破綻してしまう。
【０００９】
更に、特許文献１に記載されているように各バスマスタのバス使用許可信号がディセーブルになってから次のバス使用要求信号を発生するまでの最短時間を含んで調停を行うと、優先順位の状況によっては、次のバスマスタが事前に判明している場合もある。この場合もバスの帯域を常に使用してしまうためバス帯域に無駄が生じてしまう。
【００１０】
本発明は前記の問題点に鑑みなされたもので、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなく、且つ、効率的なメモリアクセスが行なえるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
そこで、前記問題を解決するため、本発明は、バスに接続されている複数のバスマスタから出力されるバス使用要求を前記複数のバスマスタに設定された優先順位に基づいて調停する調停手段と、直前にバスの使用許可を与えられたバスマスタに応じて、前記調停手段における調停を定められた時間の間待つよう制御する調停制御手段と、前記直前にバスの使用許可を与えられたバスマスタと、前記優先順位とに応じて、前記調停のタイミングを変更する調停タイミング変更手段と、を有することを特徴とする。
【００１２】
本発明によれば、係る構成とすることにより、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなく、且つ、効率的なメモリアクセスが行なえるようにすることができる。
【００１３】
また、前記問題を解決するため、本発明は、データ処理方法としてもよい。
【発明の効果】
【００１４】
本発明によれば、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなく、且つ、効率的なメモリアクセスが行なえるようにすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。
【００１６】
図１は、デジタルビデオカメラの一例の構成図である。各種バスマスタである処理回路は、ＣＰＵ１０３によって制御されつつ、各々が所望のタイミングでアービタ１０７にバス使用要求を出力する。それらのバス使用要求をアービタ１０７が調停する。そして、メモリコントローラ１０８でメモリ１０９の制御を行うことで処理回路の動作を保証する。
【００１７】
本実施形態における各処理回路は、ＳＤ及びＨＤ対応の画像データ及びオーディオデータのリアルタイム処理を行うことができる。例えば、ＣＰＵ１０３は、各処理回路に時分割的に画像データ及びオーディオデータを供給して処理させる。このことによって、１フレーム当たりのデータ量がＳＤ対応画像データの倍であるようなＨＤ対応の画像データや、オーディオデータをリアルタイムに処理することができる。
【００１８】
図１に示されるように、デジタルビデオカメラは、共有バス１０１、撮像素子Ｉ／Ｆ１０２、ＣＰＵ１０３、第１の信号処理部１０４、第２の信号処理部１０５、を含む。また、デジタルビデオカメラは、入出力Ｉ／Ｆ１０６、アービタ１０７、メモリコントローラ１０８、メモリ１０９、記録媒体１１０、を含む。
【００１９】
撮像素子Ｉ／Ｆ１０２は、レンズ（図示せず）から入光した被写体像を撮像素子（図示せず）により光電変換した画像データを出力する。ＣＰＵ１０３は、データの生成、各種コマンドの解析、各種設定及びデジタルビデオカメラ全体を統括制御する。第１の信号処理部１０４は、撮像素子Ｉ／Ｆ１０２からの出力信号（画像データ）をマトリクス処理することによって輝度信号及び色差信号を生成し、ガンマ処理、Ａ／Ｄ変換等の処理を行う。
【００２０】
第２の信号処理部１０５は、Ｙ／Ｃ分離、離散コサイン変換を用いた可変長符号化／復号化、記録媒体１１０へのフォーマット／デフォーマット変換、誤り訂正等の処理を行う。入出力Ｉ／Ｆ１０６は、ＥＶＦ（電子ビューファインダ）（図示せず）等の表示部への出力データ、ライン入出力データ等のデータ処理を行う。
【００２１】
アービタ１０７は、各バスマスタからの個別のバス使用要求に対して、各バスマスタに設定された優先順位等に応じて各バスマスタからのバス使用要求を調停しメモリコントローラ１０８へ出力する。本実施形態において、各バスマスタとは、共有バス１０１に接続されている、撮像素子Ｉ／Ｆ１０２、ＣＰＵ１０３、第１の信号処理部１０４、第２の信号処理部１０５、入出力Ｉ／Ｆ１０６等である。
【００２２】
メモリコントローラ１０８は、アービタ１０７の出力に基づいてメモリ１０９へのアクセスを制御する。メモリ１０９は、本実施形態においては、クロックの立ち上がりに同期してデータのバースト転送を行うＳＤＲＡＭや、クロックの立ち上がりと、立ち下がりとの両方に同期してデータのバースト転送を行うＤＤＲ−ＳＤＲＡＭである。ここで、ＳＤＲＡＭとは、Ｓｙｎｃｒｏｎｏｕｓ−ＤＲＡＭの略である。また、ＤＤＲ−ＳＤＲＡＭとは、Ｄｕａｌ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭの略である。
【００２３】
次に、図２を用いて優先順位の変更方法について説明する。図２は、優先順位の変更方法を説明するための図である。図２の例では、説明を簡略化するため、バスマスタとして、ＣＰＵ１０３、第１の信号処理部１０４、第２の信号処理部１０５を用いて説明を行なう。
【００２４】
第１の信号処理部１０４及び第２の信号処理部１０５は、所定の周期でリアルタイム処理が必要なブロックと、所定の周期でリアルタイム処理が必要ではないハンドシェーク系のブロックと、で構成されるバスマスタであり、高い優先順位を必要とするものとする。また、ＣＰＵ１０３は、所定の周期でリアルタイム処理が不要なハンドシェーク系のブロックのみで構成されるバスマスタであり、低い優先度でも構わないものとする。よって、優先順位は、第１の信号処理部１０４、第２の信号処理部１０５、ＣＰＵ１０３の順に設定されているものとする。
【００２５】
しかし、ＣＰＵ１０３は、ワーストケースが連続した場合において破綻する可能性がある。よって、アービタ１０７は、バス使用要求の拒絶回数（以下、ｎと記す）と、バス使用要求の許諾回数（以下、ｍと記す）と等に応じて、優先順位をＣＰＵ１０３、第１の信号処理部１０４、第２の信号処理部１０５の順に変更するものとする。
【００２６】
ここで、ｎ、ｍは、ＣＰＵ１０３よってレジスタ等に設定される。アービタ１０７は、ｎ及びｍと、実際に計数されたバス使用要求の拒絶回数（以下、Ｒｅｊと記す）及び実際に計数されたバス使用要求の許諾回数（以下、Ａｃｋと記す）と、を比較し、比較結果に基づいて調停処理の優先順位を変更する。
【００２７】
アービタ１０７は、例えば、初期状態で優先順位が最下位であるＣＰＵ１０３の優先順位を制御するための条件、Ｒｅｊ≧ｎを満たした時、ＣＰＵ１０３の優先順位を最上位に設定し、Ａｃｋ≧ｍの条件を満たした時、ＣＰＵ１０３の優先順位を最下位に設定する。以下では、ｎ＝２、ｍ＝１の場合を例に説明を行なう。なお、拒絶回数、許諾回数を計数する手段は、ハードウェア及び／又はＣＰＵ１０３により実現することができるため、特に図示しない。
【００２８】
第１の信号処理部１０４、第２の信号処理部１０５、ＣＰＵ１０３の各バス使用要求の信号波形は、バス使用要求発生時に'Ｈ'レベルになり、アービタ１０７の調停処理によりバス使用要求が受け付けられた時に'Ｌ'レベルになるように動作する。図２において、調停処理は受け付けられたバスマスタのメモリアクセス終了後、速やかに実施される。
【００２９】
図２では、２０１、２０３、２０５、２０７、２０９、２１１、２１３がメモリアクセス処理時間を示しており、２０２、２０４、２０６、２０８、２１０、２１２が調停処理のタイミングを示している。２０１に係るメモリアクセスが完了後、調停タイミング２０２において、第１の信号処理部１０４、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'１'になる。その後、設定されたバースト長に従い２０３に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００３０】
２０３に係るメモリアクセスが完了すると調停タイミング２０４において、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第２の信号処理部１０５のバス使用要求がアービタ１０７において受け付けられる。そして、第２の信号処理部１０５のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'２'になる。ＣＰＵ１０３のＲｅｊがｎ＝２以上の値になったため、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最上位に設定される。その後、設定されたバースト長に従い２０５に示された時間、第２の信号処理部１０５によって、メモリアクセスが占有される。
【００３１】
２０５に係るメモリアクセスが完了すると調停タイミング２０６において、第１の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。ここで、ＣＰＵ１０３の優先順位が最上位になっているため、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられる。そして、ＣＰＵ１０３のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。同時に、調停タイミング２０６において、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられたため、ＣＰＵ１０３のＲｅｊが'０'にリセットされ、ＣＰＵ１０３のＡｃｋが'１'に計数される。
【００３２】
ＣＰＵ１０３のＡｃｋがｍ＝１以上の値になったために、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最下位に設定される。その後、設定されたバースト長に従い２０７に示された時間、ＣＰＵ１０３によって、メモリアクセスが占有される。
【００３３】
２０７に係るメモリアクセスが完了すると調停タイミング２０８において、第１の信号処理部１０４、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。ここで、ＣＰＵ１０３の優先順位は最下位になっているため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが'１'に計数されると共に、Ａｃｋが'０'にリセットされる。その後、設定されたバースト長に従い２０９に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００３４】
２０９に係るメモリアクセスが完了すると調停タイミング２１０において、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第２の信号処理部１０５のバス使用要求がアービタ１０７において受け付けられる。そして、第２の信号処理部１０５のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'２'になる。ＣＰＵ１０３のＲｅｊがｎ＝２以上の値になったために、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最上位に設定される。その後、設定されたバースト長に従い２１１に示された時間、第２の信号処理部１０５によって、メモリアクセスが占有される。
【００３５】
２１１に係るメモリアクセスが完了すると調停タイミング２１２において、第１の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。ここで、ＣＰＵ１０３の優先順位が最上位になっているため、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられる。そして、ＣＰＵ１０３のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。同時に、調停タイミング２１２において、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられたため、ＣＰＵ１０３のＲｅｊが'０'にリセットされ、ＣＰＵ１０３のＡｃｋが'１'に計数される。ＣＰＵ１０３のＡｃｋがｍ＝１以上の値になったために、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最下位に設定される。
【００３６】
上述したように、アービタ１０７は、Ｒｅｊ、Ａｃｋの値等を用いてバスマスタのバス使用要求に対する優先順位の変更を行う。
【００３７】
次に、図３を用いてメモリアクセスが破綻する時のアクセスパターン（図３（Ａ））と、本実施形態を適応することでメモリアクセスの破綻を防止した場合のアクセスパターン（図３（Ｂ））を説明する。図３は、調停時の制御方法を説明するための図である。
【００３８】
図３の例では、先の図２と同様、説明を簡略化するため、バスマスタとして、ＣＰＵ１０３、第１の信号処理部１０４、第２の信号処理部１０５を用いて説明を行なう。
【００３９】
また、後述する調停制御部４０２における調停制御を第１の信号処理部１０４に対してのみに適応するものとして説明を行なう。また、先の図２と同様、ｎ＝２、ｍ＝１の場合を例に説明を行なう。図３では、３０１、３０３、３０５、３０７、３０９、３１１、３１３、３１５がメモリアクセス処理時間を示しており、３０２、３０４、３０６、３０８、３１０、３１２、３１４が調停処理のタイミングを示している。
【００４０】
まず、メモリアクセス処理が破綻する場合の動作を、図３（Ａ）を用いて説明する。３０１に係るメモリアクセスの処理が完了後、調停タイミング３０２において、第１の信号処理部１０４、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、ＣＰＵ１０３は、後述する期間Ｓ内での処理を行えずシステム的に破綻する事になる。
【００４１】
また、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'１'になる。その後、設定されたバースト長に従い３０３に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００４２】
３０３に係るメモリアクセスが完了すると、アービタ１０７は、直前にバスの使用許可を与えたバスマスタが第１の信号処理部１０４なので、バス使用終了後、第１の信号処理部１０４が再びバス使用要求をアサートしてくるまでの最短時間として定められた時間、調整に係る処理を待つ（ウエイトする）。その後、調停タイミング３０４において、第１の信号処理部１０４、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。
【００４３】
また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'２'になる。ＣＰＵ１０３のＲｅｊがｎ＝２以上の値になったため、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最上位に設定される。その後、設定されたバースト長に従い３０５に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００４４】
３０５に係るメモリアクセスが完了すると、アービタ１０７は、第１の信号処理部１０４が再びバス使用要求をアサートしてくるまでの最短時間として定められた時間、調整に係る処理を待つ。その後、調停タイミング３０６において、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。ここで、ＣＰＵ１０３の優先順位が最上位になっているため、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられる。そして、ＣＰＵ１０３のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。同時に、調停タイミング３０６において、ＣＰＵ１０３のバス使用要求が受け付けられたため、ＣＰＵ１０３のＲｅｊが'０'にリセットされ、ＣＰＵ１０３のＡｃｋが'１'に計数される。
【００４５】
ＣＰＵ１０３のＡｃｋがｍ＝１以上の値になったために、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最下位に設定される。その後、設定されたバースト長に従い３０７に示された時間、ＣＰＵ１０３によって、メモリアクセスが占有される。
【００４６】
３０７に係るメモリアクセスが完了すると調停タイミング３０８において、第２の信号処理部１０５のバス使用要求のみが発生している。そのため、第２の信号処理部１０５のバス使用要求がアービタ１０７において受け付けられる。第２の信号処理部１０５のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。その後、設定されたバースト長に従い３０９に示された時間、第２の信号処理部１０５によって、メモリアクセスが占有される。
【００４７】
３０９に係るメモリアクセスが完了すると調停タイミング３１０において、第１の信号処理部１０４、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＣＰＵ１０３のＲｅｊが計数され、'１'に計数されると共に、Ａｃｋが'０'にリセットされる。その後、設定されたバースト長に従い３１１に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００４８】
３１１に係るメモリアクセスが完了すると、アービタ１０７は、第１の信号処理部１０４が再びバス使用要求をアサートしてくるまでの最短時間として定められた時間、調整に係る処理を待つ。その後、調停タイミング３１２において、第１の信号処理部１０４、ＣＰＵ１０３、のバス使用要求が発生している。そのため、その時点で優先順位が一番高い第１の信号処理部１０４のバス使用要求がアービタ１０７において受け付けられる。そして、第１の信号処理部１０４のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。
【００４９】
また、その時点でＣＰＵ１０３のバス使用要求は拒絶される事になり、アービタ１０７においてＲｅｊが計数され、'２'になる。ＣＰＵのＲｅｊがｎ＝２以上の値になったため、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最上位に設定される。その後、設定されたバースト長に従い３１３に示された時間、第１の信号処理部１０４によって、メモリアクセスが占有される。
【００５０】
３１３に係るメモリアクセスが完了すると、アービタ１０７は、第１の信号処理部１０４が再びバス使用要求をアサートしてくるまでの最短時間として定められた時間、調整に係る処理を待つ。その後、調停タイミング３１４において、第２の信号処理部１０５、ＣＰＵ１０３、のバス使用要求が発生している。ここで、ＣＰＵ１０３の優先順位が最上位になっているため、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられる。そして、ＣＰＵ１０３のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。同時に、調停タイミング３１４において、ＣＰＵ１０３のバス使用要求が受け付けられたため、ＣＰＵ１０３のＲｅｊが'０'にリセットされ、ＣＰＵ１０３のＡｃｋが'１'に計数される。
【００５１】
ＣＰＵ１０３のＡｃｋがｍ＝１以上の値になったために、アービタ１０７によって、ＣＰＵ１０３のバス使用要求の優先順位が最下位に設定される。その後、設定されたバースト長に従い３１５に示された時間、ＣＰＵ１０３によって、メモリアクセスが占有される。
【００５２】
以上述べたように、特定のバスマスタのメモリアクセス後、必要ない場合でも、同じバスマスタのバス使用要求の再アサートまでの最短時間として定められた時間の間、調停を待ってしまうと、メモリアクセスの帯域に無駄が生じてしまう。その結果、ＣＰＵ１０３のようなハンドシェーク系の比較的優先度の低いバスマスタが、処理区間Ｓ内において処理を行えず、システム的な破綻が生じる事になる場合がある。
【００５３】
次に、後述する調停タイミング変更部４０３を用いて、必要に応じて後述する調停制御部４０２を制御し、調停のタイミングを変更することでシステム破綻を防止した場合のアクセスパターンの一例を、図３（Ｂ）を用いて説明する。なお、図３（Ａ）に示したものと同一のものについては、同じ符号を付し、説明は省略する。
【００５４】
３０５に係るメモリアクセスが完了すると、優先順位の変更方法によってＣＰＵ１０３の優先順位が最上位になっているため、調停タイミング変更部４０３は、調停制御部４０２を制御し、速かに調停タイミング３０６を実行する。
【００５５】
調停タイミング３０６において、ＣＰＵ１０３の優先順位が最上位になっているため、ＣＰＵ１０３のバス使用要求がアービタ１０７において受け付けられる。そして、ＣＰＵ１０３のバス使用要求の波形が'Ｈ'から'Ｌ'に変化する。
【００５６】
３１３に係るメモリアクセスの終了後も、調停タイミング変更部４０３は、調停制御部４０２を制御し、調停タイミング３１４の調停タイミングを変更し、速かに調停タイミング３１４を実行する。
【００５７】
このような処理を行うことによって、ＣＰＵ１０３は、処理区間Ｓ内において処理を行え、システム的な破綻を防止することができる。
【００５８】
図４は、アービタ１０７の構成の一例を示す図である。調停部４０１は、各バスマスタのバス使用要求を、バスマスタの優先順位に従って調停する。調停制御部４０２は、設定されたバースト長に従った、バスマスタのメモリ１０９へのアクセスを制御する。また、調停制御部４０２は、バスマスタによるメモリ１０９へのアクセス終了後、直前に許可されたバスマスタから必要に応じて同じバスマスタがバス使用要求をアサートしてくるまでの、定められた最短時間、待ってから調停を行うよう調停部４０１を制御する。
【００５９】
調停タイミング変更部４０３は、図３で説明したように、直前に許可されたバスマスタと、現在の優先順位と、に応じて、同じバスマスタからのバス使用要求をアサートしてくるまでの最短時間を待たないように調停制御部４０２を制御する。データ転送量記憶部４０４は、データ転送量を記憶する。データ転送終了計測部４０５は、データ伝送の終了を計測する。データ伝送終了計測部４０５は、例えば、メモリ１０９に転送したデータ転送量を計測し、このデータ転送量が、データ転送量記憶部４０４に設定されたデータ転送量に達したと判断すると、データ転送終了と判断し、調停制御部４０２にデータ転送終了を通知する。また、データ伝送終了計測部４０５は、例えば、各バスマスタよりデータ転送終了フラグを受け取ることでデータ転送終了を判断し、調停制御部４０２にデータ転送終了を通知する。
【００６０】
なお、本実施形態においては、デジタルビデオカメラを用いてメモリアクセスの調停を説明したが、このことは本発明の実施を限定するものではない。
【００６１】
以上、本実施形態によれば、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなく、且つ、効率的なメモリアクセスが行なえるようにすることができる。
【００６２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６３】
【図１】デジタルビデオカメラの一例の構成図である。
【図２】優先順位の変更方法を説明するための図である。
【図３】調停時の制御方法を説明するための図である。
【図４】アービタ１０７の構成の一例を示す図である。
【符号の説明】
【００６４】
１０１  共有バス
１０２  撮像素子Ｉ／Ｆ
１０３  ＣＰＵ
１０４  第１の信号処理部
１０５  第２の信号処理部
１０６  入出力Ｉ／Ｆ
１０７  アービタ
１０８  メモリコントローラ
１０９  メモリ
４０１  調停部
４０２  調停制御部
４０３  調停タイミング変更部
４０４  データ転送量記憶部
４０５  データ転送終了計測部
【図１】
2007286682.tif 000003
【図２】
2007286682.tif 000004
【図３】
2007286682.tif 000005
【図４】
2007286682.tif 000006