(57)【要約】【課題】  リアルタイム性の高い動作を確保しつつ、バススレーブの処理能力を向上させることができるようにする。【解決手段】  第２のＤＭＡＣ２１０におけるアドレス予約量のカウンタ値ＳＴＫ２がスレッシュホールドレベルSTK＿THRを超えるまでは、第２のＤＭＡＣ２１０は、アドレス予約を行い、カウンタ値ＳＴＫ２がスレッシュホールドレベルSTK＿THRを超えたら、アドレス要求信号ＲＥＱ２をマスクし、アドレス要求信号ＲＥＱ２に基づく要求の発行を禁止することにより、カウンタ値ＳＴＫ２がスレッシュホールドレベルSTK＿THRを超えるまで、第２のＤＭＡＣ２１０がアドレス予約を連続して行うことが出来るようにして、リアルタイム性の高い動作を確保しつつ、ＳＤＲＡＭ９０のパフォーマンスを低下させることを防止することができるようにする。【選択図】  図４
2006252341.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数手段と、
前記計数手段による計数値と、１つ以上の閾値とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御手段とを有することを特徴とする電子機器。
【請求項２】
前記バスマスタからバススレーブに対して行われる要求に基づくデータを蓄積する蓄積手段を有し、
前記計数手段は、前記蓄積手段に蓄積されたデータ量を計数することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記１つ以上の閾値は、前記要求の禁止を行うための第１の閾値と、前記要求の禁止を解除するための第２の閾値とを有することを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記複数のバスマスタは、前記バススレーブからデータの読み出しを行う第１のバスマスタと、前記バススレーブにデータの書き込みを行う第２のバスマスタとを有し、
前記第１の閾値及び前記第２の閾値は、前記第１のバスマスタが前記バススレーブからデータを読み出している間に、前記第２のバスマスタからの要求を許可する値に設定され、
前記制御手段は、前記比較手段により比較された結果に基づいて、前記第１のバスマスタからの要求の許可及び禁止を制御することを特徴とする請求項３に記載の電子機器。
【請求項５】
前記複数のバスマスタは、前記バススレーブからデータの読み出しを行う第１のバスマスタと、前記バススレーブにデータの書き込みを行う第２のバスマスタとを有し、
前記第１の閾値及び前記第２の閾値は、前記第１のバスマスタが前記バススレーブからデータを読み出している間に、前記第２のバスマスタからの要求を許可する値に設定され、
前記制御手段は、前記比較手段により比較された結果に基づいて前記第１のバスマスタからの要求の許可及び禁止と、前記第２のバスマスタからの要求の許可及び禁止との双方を制御することを特徴とする請求項３に記載の電子機器。
【請求項６】
前記制御手段は、第１のバスマスタからの要求の優先権を、前記第２のバスマスタからの要求の優先権よりも高く設定し、前記第１のバスマスタからの要求と、前記第２のバスマスタからの要求とが同時期に生じた場合には、前記設定した優先権に従った順番で、前記第１のバスマスタからの要求及び前記第２のバスマスタからの要求を許可することを特徴とする請求項４又は５に記載の電子機器。
【請求項７】
撮像手段と、
前記撮像手段により得られる撮像信号をアナログ−デジタル変換するＡＤ変換手段と、  前記ＡＤ変換手段によりデジタル信号に変換された撮像信号を、前記第１のバスマスタにより読み出されたデータを用いて補正する補正手段とを有し、
前記第２のバスマスタは、前記補正手段により補正された撮像信号を前記バススレーブに書き込むことを特徴とする請求項５又は６に記載の電子機器。
【請求項８】
前記要求は、前記バススレーブのアドレスの使用を予約するための要求であることを特徴とする請求項１〜７の何れか１項に記載の電子機器。
【請求項９】
複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数ステップと、
前記計数ステップによる計数値と、１つ以上の閾値とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御ステップとを有することを特徴とする制御方法。
【請求項１０】
複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数ステップと、
前記計数ステップによる計数値と、１つ以上の閾値とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、制御方法、及びコンピュータプログラムに関し、特に、複数のバスマスタが、バススレーブに対し要求を行ってデータを処理するために用いて好適なものである。
【背景技術】
【０００２】
従来、ＣＰＵや、ＤＭＡ（Direct Memory Access）コントローラ（以下ＤＭＡＣと称する）が、バスマスタとなってバスを制御することが多かった。通常は、ＣＰＵがバスマスタとなりバスを占有する。ＤＭＡＣがバスマスタとなる場合には、ＤＭＡＣがＣＰＵに対してバスリクエストを送信する。ＣＰＵは、このバスリクエストを受け取るとバスを開放する。そうすると、バスの使用権利（以下バス権と称する）がＤＭＡＣへ移り、ＤＭＡＣがバスマスタとして動作する。従来は、このような方式でＤＭＡＣがバスマスタとなるようにするのが一般的であった（特許文献１を参照）。
【０００３】
【特許文献１】特開平５−３３４２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した方式であると、バスマスタが、バス権を移さないと他のバスマスタがバス権を取得することはできず、バス権を取得できないバスマスタは、ロックされた状態となる。このため、前述した方式は、インタロック（Inter lock）方式のバスと呼ばれる。
【０００５】
ところで、昨今、システムの多機能化が進むことに伴い、前記ＣＰＵやＤＭＡＣ以外の他の多数のバスマスタがシステムに接続されるようになった。すると、あるバスマスタがバスを占有する間、他のバスマスタがロックされた状態となる。したがって、前述した方式では、前記他のバスマスタは、バスへのアクセスが待たされる。すなわち、前記他のバスマスタがバスを使用できるようになるまでの待ち時間が長くなる。
【０００６】
そこで、バスを使用できるようになるまでの待ち時間を解消するために、スプリットバストランザクション（Split Bus Transaction）方式が採用されるようになった。このスプリットバストランザクション方式では、アドレスフェーズとデータフェーズとが分離されており、複数のバスマスタが、アドレスフェーズにおいて、アクセスするスレーブデバイスに対してアドレスの使用を予約する。そして、前記複数のバスマスタは、非同期に発生するデータフェーズにおいて、スレーブとデータのアクセスを行う。
【０００７】
前記スプリットバストランザクション方式を採用することより、あるバスマスタがバスを占有することなく、バスマスタがロックされた状態をできるだけ回避することが可能になる。よって、前記スプリットバストランザクション方式では、前記インタロック方式よりも、トータルのバス効率（バンド幅）を高くすることが可能である。
【０００８】
しかしながら、前記スプリットバストランザクション方式では、例えば複数のバスマスタから、バススレーブであるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）へのリクエストがアドレスフェーズで混在することになる。したがって、前記スプリットバストランザクション方式は、複数のバスマスタに、均等にバス権を与えられる（特定のバスマスタがロックされる状態を避ける）点においては有利であるが、複数のバスマスタのアクセスの状態によっては、ＳＤＲＡＭのパフォーマンスを著しく低下させる要因となり得るという問題点があった。
【０００９】
そこで、本願発明者らは、複数のバスマスタが、アドレスフェーズにおいて、スレーブデバイスに対してアドレスを予約することによって、ＳＤＲＡＭのパフォーマンスが低下する要因について詳細に調査した。ここで、ＳＤＲＡＭのパフォーマンスが低下する要因について説明する。
【００１０】
（１）  ＳＤＲＡＭへのアクセスに、読み出し（Read）と書き込み（Write）とが交互に起こる場合
図７は、一般的なＤＤＲ（Double date rate）タイプのＳＤＲＡＭにおける動作タイミングの一例を示すタイミングチャートである。ＤＤＲタイプのＳＤＲＡＭとは、クロック信号の立ち上がり時と立ち下がり時の両方でデータを処理することが可能なＳＤＲＡＭである。クロック信号の立ち上がり時又は立ち下がり時の何れかでデータを処理するＳＤＲ（Single date rate）タイプのＳＤＲＡＭと比較すると、２倍の速度でデータの処理を行うことが可能である。
【００１１】
なお、図７では、バースト長を８（ＢＬ＝８）、ＣＡＳレイテンシー（Column Address Strobe latency）を２（ＣＬ＝２）とした場合のタイミングチャートを示している。
また、図７に示すタイミングチャートでは、同一のロウアドレスへのアクセスを行う場合を示しており、プリチャージは発生していない。アクセスの順序によっては、現在のアクセスから次のアクセスまでの間にタイミングギャップが発生する。
【００１２】
図７（ａ）に示すように、Readコマンドの次に、Readコマンドが発生する場合には、タイミングギャップは発生しない。また、図７（ｂ）に示すように、Writeコマンドの次に、Writeコマンドが発生する場合にも、タイミングギャップは発生しない。
これに対し、図７（ｃ）に示すように、Readコマンドの次にWriteコマンドが発生する場合のタイミングギャップは１サイクルである。また、図７（ｄ）に示すように、Writeコマンドの次にReadコマンドが発生する場合のタイミングギャップは、３．５サイクルのである。
以上のように、読み出し（Read）又は書き込み（Write）を連続してアクセスする方が、タイミングギャップが少なく、ＳＤＲＡＭのパフォーマンスが高いことが分かる。
【００１３】
（２）  ＳＤＲＡＭのアクセスに、バンクコンフリクトが起こる場合
図８は、プリチャージが必要なＤＤＲタイプのＳＤＲＡＭにおける動作タイミングの一例を示すタイミングチャートである。図８でも、図７と同様に、バースト長を８（ＢＬ＝８）とし、ＣＡＳレイテンシーを２（ＣＬ＝２）とした場合のタイミングチャートを示している。
【００１４】
スプリットバストランザクション方式では、複数のバスマスタが、バススレーブであるＳＤＲＡＭに対してアクセスする。このため、図８に示したように、同一バンクの異なるページ（ロウアドレス）へのアクセス（以下、バンクコンフリクトと称する）が発生する場合が多くなる可能性がある。このようなアクセスが発生すると、ページクローズ（ＳＤＲＡＭへのプリチャージ）、及びページオープン（ＳＤＲＡＭへのアクティブ）が必要となり、バンクコンフリクトにおけるタイミングギャップが、バスの転送効率を大幅に低下させる可能性がある。
【００１５】
図８（ａ）に示すように、Readコマンド、Pre Chargeコマンド、ACT（Active）コマンド、及びReadコマンドが、この順番で発生する場合のタイミングギャップは、６サイクルである。図８（ｂ）に示すように、Writeコマンド、Pre Chargeコマンド、ACTコマンド、及びWriteコマンドが、この順番で発生する場合のタイミングギャップは、８サイクルである。
【００１６】
図８（ｃ）に示すように、Readコマンド、Pre Chargeコマンド、ACTコマンド、及びWriteコマンドが、この順番で発生する場合のタイミングギャップは、４．５サイクルである。図８（ｄ）に示すように、Writeコマンド、Pre Chargeコマンド、ACTコマンド、及びReadコマンドが、この順番で発生する場合のタイミングギャップは、９．５サイクルである。
【００１７】
このようなタイミングギャップは、ＤＲＡＭの種別ごとに多少異なるが、プリチャージ（Pre Charge）を必要とするＳＤＲＡＭへのアクセスに関しては、一般に多くのタイミングギャップを要し、これらタイミングギャップが、ＳＤＲＡＭのパフォーマンスを低下させることになる。
【００１８】
特に、ＤＤＲタイプのＳＤＲＡＭでは、タイミングギャップによるパフォーマンスの低下が著しく現れる。バースト長を８としてＤＤＲタイプのＳＤＲＡＭにアクセスした場合、１回のバースト転送を行うために必要なクロックサイクル数は、４サイクルである。仮に、バンクコンフリクトの起こらない（プリチャージを必要としない）読み出し（Read）又は書き込み（Write）の連続転送を行った場合は、ＳＤＲＡＭのバンド幅として、ほぼ１００％の帯域を得ることが可能である。
【００１９】
しかしながら、仮に、１回のバースト転送を行っている間に、１サイクルのタイミングギャップが毎回発生すると、全体のクロックサイクル数は、４サイクルのアクセスと、１サイクルのタイミングギャップとを含んだ５サイクルとなる。よって、（タイミングギャップの割合に応じて）バンド幅が２０％低下する。
【００２０】
バースト長を８としてＳＤＲタイプのＳＤＲＡＭにアクセスした場合、１回のバースト転送を行うために必要なクロックサイクル数は、８サイクルである。よって、１サイクルのタイミングギャップが発生した場合の全体のクロックサイクル数は、９サイクルとなり、（タイミングギャップの割合に応じて）バンド幅が約１１％低下する。
【００２１】
以上のように、ＤＤＲタイプのＳＤＲＡＭは、ＳＤＲタイプのＳＤＲＡＭに対して、クロックレート上、２倍の速度でデータのアクセスを行う。ところが、データのアクセス以外の期間であるコマンド発行期間や、前述したタイミングギャップが発生している期間に関しては、ＳＤＲタイプのＳＤＲＡＭと変わることはない。よって、ＤＤＲタイプのＳＤＲＡＭとしてのクロックレート分である２倍の帯域を最高性能帯域と見込むと、１サイクル分の帯域損失は、その２倍の２サイクル分の帯域損失となって効いてくる。従って、ＳＤＲＡＭに対するアクセスに発生するタイミングギャップは、例え１サイクルであってもＳＤＲＡＭの処理能力（パフォーマンス）に大きく影響されることになる。
【００２２】
このように、リアルタイム性の高い動作を確保しようとすると、バススレーブのパフォーマンスを低下させてしまうという問題があった。
そこで、本発明は、リアルタイム性の高い動作を確保しつつ、バススレーブの処理能力を向上させることができるようにすることを目的とする。
【課題を解決するための手段】
【００２３】
本発明に係る電子機器は、複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数手段と、前記計数手段による計数値と、１つ以上の閾値とを比較する比較手段と、前記比較手段による比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御手段とを有することを特徴とする。
【００２４】
本発明に係る制御方法は、複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数ステップと、前記計数ステップによる計数値と、１つ以上の閾値とを比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御ステップとを有することを特徴とする。
【００２５】
本発明に係るコンピュータプログラムは、複数のバスマスタからバススレーブに対して行われる要求に応じた量を計数する計数ステップと、前記計数ステップによる計数値と、１つ以上の閾値とを比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記複数のバスマスタから前記バススレーブに対して行われる要求を許可及び禁止する制御ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、リアルタイム性の高い動作を確保しつつ、バススレーブの処理能力を向上させることができる。
【発明を実施するための最良の形態】
【００２７】
次に、図面を参照しながら、本発明の実施形態について説明する。なお、以下の各実施形態では、電子機器の一例としてデジタルカメラを採用するが、デジタルカメラの代わりにデジタルビデオカメラ、カメラ付き携帯電話等の撮像装置を採用することも可能である。
【００２８】
（第１の実施形態）
図１は、デジタルカメラの概略構成の一例を示した図である。本実施形態のバスアーキテクチャ（bus architecture）は、スプリットバストランザクション方式である。このスプリットバストランザクション方式では、バススレーブへのアクセスが、アドレスフェーズとデータフェーズとに分離される。また、複数のバスマスタが、ＤＭＡＣとして配される。複数のバスマスタは、アービトレーション（arbitration）を行った結果に基づいて、アドレスの使用の予約を、バススレーブに対して行う。データフェーズにおいては、これら複数のバスマスタにおける予約の順番に従って、アドレスフェーズで予約されたアドレスに対して非同期でデータのアクセスを行う。
【００２９】
図１において、６０、６１は、本実施形態におけるデータバスである。６０は、ＳＤＲＡＭ９０からのデータの読み出し用の専用バスである。６１は、ＳＤＲＡＭ９０への書き込み用の専用バスである。なお、データバスは、本実施形態のように、読み出し専用のものと、書き込み専用のものとを別々にしても良いし、読み出し用と書き込み用とで共通にしても良い。また、本実施形態では、データバス６０、６１は、ＣＰＵ系のシステムバスと画像データ専用バスとを兼用しているが、これらシステムバスと、画像データ専用バスとを２つに分けても良い。このようにデータバスを、２つ以上のバスに分けたとしても以下に説明する本実施形態における制御方式が変わることはない。
【００３０】
１０は、被写体の光学像を電気信号に変換する撮像素子（ＣＣＤ（Charge Coupled Device）、ＣＭＯＳイメージセンサ等）である。１１は、撮像素子１０で生成された撮像信号である。１２は、撮像信号１１のノイズ除去を行う相関２重サンプリング回路(ＣＤＳ)と、ＣＤＳから出力された撮像信号１１を適正なレベルに増幅するためのオートゲインコントロール回路(ＡＧＣ)と、ＡＧＣから出力された撮像信号１１をデジタルの撮像データへ変換するＡＤ変換回路（ＡＤ）とを備えたＣＤＳ／ＡＧＣ／ＡＤ回路である。
【００３１】
１３は、ＣＤＳ／ＡＧＣ／ＡＤ回路１２から出力される撮像データを伝送するデータ線である。１５は、撮像データに対して適正なダーク補正や、シェーディング補正を行うデジタル信号処理回路である。ダーク補正とは、例えば、撮像素子１１を露光しない状態での撮像により得られた撮像データを用いて、撮像素子１１を露光した状態での本撮影により得られた撮像データにおける２次元の固定パターンのノイズを補正することにより、撮像素子１１で発生する暗電流ノイズや撮像素子１１に固有の微小なキズによる画素欠損等に基づくノイズによる画質劣化に対する補正を行うことをいう。
【００３２】
１６は、撮像処理回路１５によって補正された撮像データを伝送する伝送線である。１７は、撮像処理回路１５でダーク補正処理を行うためのダークデータを伝送する伝送線である。このダークデータは、例えば、ＳＤＲＡＭ９０に記憶されている。
【００３３】
２７は、撮像処理回路１５によってダーク補正等が行われた後にＳＤＲＡＭ９０に保持された撮像データを伝送するデータ線である。２５は、データ線２７を伝送した撮像データに対して、現像処理を行うための現像処理回路である。現像処理回路２５では、適切な信号処理が行われる。例えば、現像処理回路２５では、ＪＰＥＧ等の画像フォーマットに従って、撮像データに対して圧縮処理等を行い、現像データを生成する。
【００３４】
２６は、現像処理回路２５で生成された現像データを伝送するデータ線である。３６は、表示装置３２に画像を表示するために、ＳＤＲＡＭ９０より読み出された撮像データを伝送するデータ線である。３５は、データ線３６を伝送した撮像データに基づく画像を表示するための処理を行う再生処理回路である。再生処理回路３５は、例えば、ビデオ信号用の画像フォーマットに前記撮像データを変換して、適正な画像データを生成する。３３は、再生処理回路３５により生成された画像データを伝送するデータ線である。３２は、データ線３３を伝送した画像データに基づく画像を表示する表示装置である。
【００３５】
４２は、コンパクトフラッシュ（登録商標）カード（ＣＦカード）や、ＳＤカード等の記憶メディアである。４５は、記憶メディア４２とのインターフェースを行うストレージデバイスコントローラである。４３は、記憶メディア４２から読み出されたデータを伝送するデータ線である。４４は、記憶メディア４２に書き込むデータを伝送するデータ線である。４６は、ストレージデバイスコントローラ４５により記憶メディア４２から読み出されたデータをＤＭＡコントロール回路５０に伝送するデータ線である。４７は、記憶メディア４２に書き込むデータをＤＭＡコントロール回路５０からストレージデバイスコントローラ４５に伝送するデータ線である。
【００３６】
５０は、撮像処理回路１５、現像処理回路２５、表示処理回路３５、及びストレージデバイスコントローラ４５と、データバス６０、６１とに対するＤＭＡ（Direct Memory Access）を制御するためのＤＭＡコントロール回路である。５１は、アドレスフェーズにおいて、ＤＭＡコントロール回路５０からバススレーブであるメモリコントローラ８０へ送信されるアドレス要求信号を伝送するデータ線である。このアドレス要求信号は、ＤＭＡコントロール回路５０が、メモリコントローラ８０に対して、ＳＤＲＡＭ９０のアドレスの使用を要求するための信号である。
【００３７】
５２は、前記アドレス要求信号に対して、スレーブであるメモリコントローラ８０からＤＭＡコントロール回路５０に返されるアクノレッジ（Acknowledge）信号を伝送するデータ線である。５３、５４は、データフェーズにおけるデータを伝送するデータ線である。データ線５３は、例えば、ＳＤＲＡＭ９０に記憶されているデータを読み出すためのリードデータを伝送する。データ線５４は、例えば、ＳＤＲＡＭ９０にデータを書き込むためのライトデータを伝送する。
【００３８】
７０は、本実施形態のデジタルカメラを統括制御するＣＰＵである。７１は、アドレスフェーズにおいて、ＣＰＵ７０からスレーブであるメモリコントローラ８０に送信されるアドレス要求信号を伝送するデータ線である。７２は、前記アドレス要求信号に対して、スレーブであるメモリコントローラ８０からＣＰＵ７０に返されるアクノレッジ信号を伝送するデータ線である。７３、７４は、データフェーズにおけるデータを伝送するデータ線である。データ線７３は、例えば、ＳＤＲＡＭ９０に記憶されているデータを読み出すためのリードデータを伝送する。データ線７４は、例えば、ＳＤＲＡＭ９０にデータを書き込むためのライトデータを伝送する。
【００３９】
８０は、スレーブであるＳＤＲＡＭ９０をコントロールするメモリコントローラである。８１、８２は、データフェーズにおけるデータを伝送するデータ線である。データ線８２は、ＳＤＲＡＭ９０に記憶されているデータを読み出すためのリードデータを伝送する。データ線８１は、例えば、ＳＤＲＡＭ９０にデータを書き込むためのライトデータを伝送する。８３は、ＳＤＲＡＭ９０とメモリコントローラ８０との間で、アドレス信号、データ、及びコントロール信号を伝送するデータ線である。９０は、ＳＤＡＲＭである。
【００４０】
図２は、図１に示した撮像処理回路１５と、ＤＭＡコントロール回路５０との構成の一例を示した図である。
図２の撮像処理回路１５において、１００は、ＣＤＳ／ＡＧＣ／ＡＤ回路１２からデータ線１３を介して入力された撮像データから、データ線１７を介してＳＤＲＡＭ９０から入力されたダークデータを減算する減算器である。これにより、撮像データがダーク補正される。
【００４１】
ＤＭＡコントローラ５０において、２００は、撮像処理回路１５によりダーク補正等が施された後にデータ線１６を介して入力した撮像データを保持する第１のＦＩＦＯ（First-in First-out）部である。この第１のＦＩＦＯ部２００は、ＳＤＲＡＭ９０への撮像データの転送を数回分蓄えるだけの容量を備えている。２０１は、第１のＦＩＦＯ部２００より読み出された撮像データを伝送するデータ線である。２０２は、第１のＦＩＦＯ部２００に保持されている撮像データの蓄積量を数えているカウンタのカウンタ値ＳＴＫ１を伝送するデータ線である。２０３は、撮像データをメモリコントローラ８０へ転送するためのバスマスタとして機能する第１のＤＭＡＣである。第１のＤＭＡＣ２０３は、カウンタ値ＳＴＫ１に基づいて、転送可能なデータ量が第１のＦＩＦＯ部２００に蓄積されたと判定すると、アドレス要求信号ＲＥＱ１を発生する。
【００４２】
２０４は、第１のＤＭＡＣ２０３により発生されたアドレス要求信号ＲＥＱ１を伝送するデータ線である。バスマスタである第１のＤＭＡＣ２０３で発生したアドレス要求信号ＲＥＱ１の返信として、スレーブであるメモリコントローラ８０から、アドレスフェーズコントロール回路２２０を介して第１のＤＭＡＣ２０３にアクノレッジ信号ＡＣＫ１が送信される。２０５は、アクノレッジ信号ＡＣＫ１を伝送するデータ線である。第１のＤＭＡＣ２０３がアクノレッジ信号ＡＣＫ１を入力すると、バスマスタである第１のＤＭＡＣ２０３から、スレーブであるメモリコントローラ８０に向けてデータが送信される。２０６は、この第１のＤＭＡＣ２０３から送信されるデータを伝送するデータ線である。
【００４３】
２１６は、ＳＤＲＡＭ９０から、メモリコントローラ８０、データ線８２、データバス６１、及びデータ線５３を介してデータフェーズコントロール回路２３０に入力されたダークデータを第２のＤＭＡＣ２１３に伝送するデータ線である。２１１は、第２のＤＭＡＣ２１３に入力されたダークデータを第２のＦＩＦＯ部２１０に伝送するデータ線である。２１０は、ＳＤＲＡＭ９０から、メモリコントローラ８０、データ線８２、データバス６１、データ線５３、データフェーズコントロール回路２３０、及び第２のＤＭＡＣ２１３を介して入力されたダークデータを蓄える第２のＦＩＦＯ部である。
【００４４】
２１２は、第２のＤＭＡＣ２１０がＳＤＲＡＭ９０のアドレスを予約した量（以下、アドレス予約量と称する）を数えるカウンタのカウンタ値ＳＴＫ２をアドレスフェーズコントロール回路２２０に伝送するデータ線である。２１３は、ＳＤＲＡＭ９０から、メモリコントローラ８０、データ線８２、データバス６１、データ線５３、及びデータフェーズコントロール回路２３０を介して入力されたダークデータを、撮像処理回路１５へ転送するためのバスマスタである第２のＤＭＡＣである。第２のＤＭＡＣ２１３は、カウンタ値ＳＴＫ２に基づいて、受信可能なデータ量の空きが第２のＦＩＦＯ部２１０にあると判定すると、アドレス要求信号ＲＥＱ２を発生する。
【００４５】
２１４は、第２のＤＭＡＣ２１３により発生されたアドレス要求信号ＲＥＱ２を伝送するデータ線である。バスマスタである第２のＤＭＡＣ２１３で発生したアドレス要求信号ＲＥＱ２の返信として、スレーブであるメモリコントローラ８０から、アドレスフェーズコントロール回路２２０を介して第２のＤＭＡＣ２１３にアクノレッジ信号ＡＣＫ２が送信される。２１５は、アクノレッジ信号ＡＣＫ２を伝送するデータ線である。なお、ＤＭＡコントローラ５０内には、図２に示したものの他にも、撮像データの現像処理等で使用される多数のバスマスタが存在することは言うまでもない。
【００４６】
２２０は、ＤＭＡコントローラ１５内のバスマスタである第１及び第２のＤＭＡＣ２０３、２１３で発生したアドレス要求信号ＲＥＱ１、ＲＥＱ２をアービトレーション（arbitration）するアドレスフェーズコントロール回路である。２３０は、アドレスフェーズコントロール回路２２０で受け付けられたアドレスの順序に従い、スレーブであるメモリコントローラ８０より非同期でアクセスされるデータフェーズに基づいて、バスマスタである第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３の何れかと通信するデータフェーズコントロール回路である。
【００４７】
図３は、アドレスフェーズコントロール回路２２０の構成の一例を示す図である。
バスマスタである第２のＤＭＡＣ２１３がアドレスフェーズで発生させるアドレス要求信号ＲＥＱ２は、マスク信号ＭＡＳＫによってマスクされる。マスク信号ＭＡＳＫは、マスク制御回路３００によってマスクのオン及びオフが制御される。３０１は、マスクをオンにするための第１のコンパレータである。３０２は、マスクをオフにするための第２のコンパレータである。
【００４８】
マスクの制御は、第２のＦＩＦＯ部２１０で数えられているアドレス予約量で制御される。また、マスクをオン及びオフするためのスレッシュホールドレベル（threshold level）がある。３０３は、マスクをオンにするスレッシュホールドレベルSTK＿THRである。３０４は、マスクをオフにするスレッシュホールドレベルSTK＿THRNである。第２のＤＭＡＣ２１０におけるアドレス予約量を数えるカウンタのカウンタ値ＳＴＫ２が、スレッシュホールドレベルSTK＿THRを超えたら、セット信号ＳＥＴがアクティブとなる。そうすると、マスク制御回路３００は、マスク信号ＭＡＳＫをアクティブとする。これによりアドレス要求信号ＲＥＱ２はマスクされる。マスクの状態は、カウンタ値ＳＴＫ２が、スレッシュホールドレベルSTK＿THRの値を下回ったとしてもホールドされる。マスクの状態が解除されるためには、スレッシュホールドレベルSTK＿THRNの値がカウンタ値ＳＴＫ２以下となる必要がある。
【００４９】
３０５は、アドレス要求信号ＲＥＱ２をマスク信号ＭＡＳＫによってマスクするゲート回路である。３０６は、アドレス要求信号ＲＥＱ１、ＲＥＱ２以外の他のバスマスタ（ＤＭＡＣ）からの要求信号を伝送するデータ線である。３０７は、全てのバスマスタ（ＤＭＡＣ）からの要求の優先権を決定するアービトレーション回路である。要求の優先権を決定した結果は、データ線５１に伝送される要求信号REQ＿Xとして、スレーブであるメモリコントローラ８０へ出力される。前記優先権は、予め設定することが可能である。例えば、アドレス要求信号ＲＥＱ１よりもアドレス要求信号ＲＥＱ２に高い優先権を設定すると、アドレス要求信号ＲＥＱ１とアドレス要求信号ＲＥＱ２とが同時に発生した場合、アドレス要求信号ＲＥＱ２に基づく要求が選択される。選択された要求は、要求信号REQ＿Xとして出力される。また、アドレス要求信号ＲＥＱ１に基づく要求は、アドレス要求信号ＲＥＱ２に基づく要求がネゲート（negate）されると、実行される。
【００５０】
以下に、ダーク補正処理をするときの制御の一例について詳細に説明する。
本実施形態では、本露光撮影の前の適切なタイミングで、非露光状態で撮影されたデータ（ダークデータ）は、予めＳＤＲＡＭ９０に記憶されている。ＤＭＡコントローラ５０は、シャッターを開放して行う本露光を行う前に、ＳＤＲＡＭ９０に記憶されているダークデータをＳＤＲＡＭ９０から予め読み出しておく。そして、撮像処理処理回路１５は、読み出されたダークデータを用いて、本露光において撮像されたデータ（本露光データ）に対しダーク補正を行う（前述したように一般には減算を行う）。こうしてダーク補正された後の撮像データは、前記ＳＤＲＡＭ９０に予め記憶されているダークデータと同一の領域に記録される。このように、ダーク補正されたデータを、ダークデータの領域に書き込む（上書きする）ことによって、メモリの領域を節約できる。なお、ダーク補正については、特開２００４−２６０５９６号公報に、詳細が示されている。
【００５１】
本実施形態では、本露光時のＳＤＲＡＭ９０へのデータ書き込みと、前記ダークデータのＳＤＲＡＭ９０からの読み出しとを一定期間内、好ましくは同時に行う必要があるために、バスの帯域を多く必要とする。
また、ダーク補正された後の撮像データを、前記ダークデータと同一の領域に書き込むために、同一のバンクアクセスが発生する可能性が高い。このように同一のバンクアクセスが発生すると、バンクコンフリクトが発生し、ＳＤＲＡＭ９０のパフォーマンスが低下する。このため、本実施形態では、バンクコンフリクトが発生するのをできるだけ削減し、ＳＤＲＡＭ９０に対するデータの読み出しと書き込みのためのアクセスをある程度連続させることで、ＳＤＲＡＭ９０のパフォーマンスを従来よりも向上させるようにしている。以下、このようにしてＳＤＲＡＭ９０のパフォーマンスを向上させるための制御方法の一例について説明する。
【００５２】
本露光時に、撮像素子１０は、受光した撮像信号１１をＣＤＳ／ＡＧＣ／ＡＤ回路１２へ送信し、ＡＤ変換された撮像データを撮像処理回路１５へ出力するが、事前に、次のような設定を行う。ＣＰＵ７０は、撮像モードに適切な設定を撮像処理回路１５に設定する。次に、ＤＭＡコントローラ５０の設定を行う。アービトレーションの設定は、ダークデータの読み出しを行うバスマスタである第２のＤＭＡＣ２１３を最も高い優先権（プライオリティ）に設定する。第１のＤＭＡＣ２０３の優先権（プライオリティ）は、ダークデータの読み出し用の第２のＤＭＡＣ２１３よりも低い優先権（プライオリティ）に設定する。また、他のＤＭＡＣを使用する場合は、その他のＤＭＡＣを、第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３よりも低い優先権（プライオリティ）に設定する。
【００５３】
第１のＤＭＡＣ２０３に対する第１のＦＩＦＯ部２００の容量と、第２のＤＭＡＣ２１３に対する第２のＦＩＦＯ部２１０の容量は、１２８バイトとする。ＳＤＲＡＭ９０のデータ幅と、データバス６０、６１のバス幅は、３２ビットとする。第１のＦＩＦＯ部２００の容量と、第２のＤＭＡＣ２１３に対する第２のＦＩＦＯ部２１０の容量が１２８バイトで、ＳＤＲＡＭ９０へアクセスする１回の転送量が常に８バースト転送であるとすると、４回（＝１２８［byte］÷（４［byte］×８［beat］））分の転送量を、第１のＦＩＦＯ部２００、及び第２のＦＩＦＯ部２１０に蓄えることが可能である。
【００５４】
次に、ＤＭＡＣ２のアドレス予約量ＳＴＫ２と比較を行うスレッシュホールド値STK＿THRに、例えば９６を設定し、STK＿THRNに、例えば３２を設定する。次に、前記ＤＭＡＣ１、ＤＭＡＣ２のＤＭＡを行うための設定を行う。例えば、ＳＤＲＡＭ９０へアクセスするスタートアドレスや、ＤＭＡの総転送量等を設定する。これら設定終了後に、前記ＤＭＡＣ１、ＤＭＡＣ２を同時にスタートさせる。
【００５５】
図４は、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３が、アドレスフェーズにおいてアドレス要求信号を発行するタイミングを概念的に示した図である。第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３を同時にスタートさせると、第２のＦＩＦＯ部２１０には、ダークデータが全く蓄積されていないので、第２のＤＭＡＣは、アドレス要求信号ＲＥＱ２を発生する。このとき、第２のＤＭＡＣ２１３のアドレス予約量を示すカウンタ値ＳＴＫ２は０である。
【００５６】
また、第１のＤＭＡＣ２０３からのアドレス要求信号ＲＥＱ１も発生している可能性はある。しかし、アービトレーション（arbitration）の設定より第２のＤＭＡＣ２１３の方が、第１のＤＭＡＣ２０３よりも優先度が高い。このため、第２のＤＭＡＣ２１３からのアドレス要求信号ＲＥＱ２が優先的に選択される。よって、アドレスフェーズコントロール回路２２０は、アドレス要求信号ＲＥＱ２に基づく要求を、メモリコントローラ８０へリクエスト信号REQ＿Xとして送信する。
【００５７】
図４において、第２のＤＭＡＣ２１０のアドレス予約量を数えるカウンタのカウンタ値ＳＴＫ２が９６のときに、アドレス要求信号ＲＥＱ２が受け付けられると、カウンタ値ＳＴＫ２は、１２８にカウントアップされる。アドレス要求信号ＲＥＱ２のマスクをオンにするスレッシュホールドレベルSTK＿THRは、９６であるとすると、カウンタ値ＳＴＫ２が、スレッシュホールドレベルSTK＿THRを超える。このために、マスク信号ＭＡＳＫが有効となり、アドレス要求信号ＲＥＱ２に基づく要求は、発行禁止状態になる。
【００５８】
第２のＤＭＡＣ２１３の要求が禁止状態の間、第２のＤＭＡＣ２１３のデータフェーズでは、データが順次処理されているので、アドレス予約量は、次々と図示していないデータフェーズによって消費される。こうして、第２のＤＭＡＣ２１３におけるアドレス予約量が消費されると、アドレス予約量をカウントしているカウンタのカウンタ値ＳＴＫ２が０になる。アドレス要求信号ＲＥＱ２のマスクをオフにするスレッシュホールドレベルSTK＿THRNが３２であるとすると、カウンタ値ＳＴＫ２は、スレッシュホールドレベルSTK＿THRNを下回る。そうすると、マスク信号ＭＡＳＫは解除され、第２のＤＭＡＣ２１３のアドレス要求信号ＲＥＱ２に基づく要求は、発行許可状態となる。
【００５９】
第２のＤＭＡＣ２１３からの要求が禁止されている期間に、第１のＤＭＡＣ２０３は、アドレス予約を発行することが可能となる。図４に示す例では、第２のＤＭＡＣ２１３からのアドレス予約が４回連続して起こり、第２のＤＭＡＣ２１３からの要求が禁止状態の間に、第１のＤＭＡＣ２０３からのアドレス予約が４回連続して起こっている。
【００６０】
図５は、第２のＤＭＡＣ２１３からのリードアクセスと、第１のＤＭＡＣ２０３からのライトアクセスの順序によって、ＳＤＲＡＭ９０へのアクセスに必要なサイクル数がどのように変わるのかを概念的に説明する図である。なお、ここでは、第２のＤＭＡＣ２１３からのリードアクセスと、第１のＤＭＡＣ２０３からのライトアクセスとがそれぞれ４回ずつ発生しているものとする。また、バンクコンフリクトが発生しないとし、ＣＡＳレイテンシー（Column Address Strobe latency）を２（ＣＬ＝２）、バースト長を８（ＢＬ＝８）とする。
【００６１】
図５において、リードアクセスが４回連続して続いた後に、ライトアクセスが４回連続して続いた場合には、ＳＤＲＡＭ９０へのアクセスに３３サイクルを要し、リードアクセスとライトアクセスが常に交互に行われる場合は、ＳＤＲＡＭ９０への４５サイクルを要すことが分かる。これより、リードアクセスが４回連続して続いた後に、ライトアクセスが４回連続して続いた場合の方が、ＳＤＲＡＭ９０のパフォーマンスが高いことが容易に分かる。
【００６２】
また、個々のバスマスタ（第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３）がアクセスするＳＤＲＡＭ９０上のデータは、ほとんどが画像データであるため、連続したアドレスに配されている。即ち、特定のＤＭＡＣ（例えば、第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３）が、ＳＤＲＡＭ９０にアクセスする限りは、バンクコンフリクトが発生する頻度は極めて低い。従って、本実施形態では、特定のＤＭＡＣ（例えば、第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３）が、ある一定期間、ＳＤＲＡＭ９０に連続してアクセスを行うので、バンクコンフリクトを低減することができる。
【００６３】
例えば、本実施形態のように、ダークデータの記憶領域に、ダーク補正された撮像データを書き込み（上書きし）、常に同一バンクにアクセスが起こるような処理の場合に、リードアクセス（読み出し）とライトアクセス（書き込み）とが常に交互に行われるようにすると、同一バンクの同一ロウアドレスへのアクセスが発生する可能性が高くなる。これにより、Pre Chargeコマンド、ACT（Active）コマンドが必要となるケースが多くなり、タイミングギャップが多数発生し、ＳＤＲＡＭ９０のパフォーマンスを低下させることになる。本実施形態では、このようなことを防止することができる。
【００６４】
ＤＭＡコントローラ５０内の第１及び第２のＦＩＦＯ部２００、２１０は、スプリットバストランザクションにおいては、アドレスを先行予約するために必要なリソースである。本実施形態では、第１及び第２のＦＩＦＯ部２００、２１０のアドレス予約量と、そのアドレス予約量に対して任意に設定される複数のスレッシュホールドレベルSTK＿THR、STK＿THRNとを用いて、第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３からの要求を制御することと、第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３からの要求に対する優先度を制御することとを行うことで、バスマスタである第１のＤＭＡＣ２０３及び第２のＤＭＡＣ２１３の、バススレーブであるメモリコントローラ８０へのアクセスを、ある程度連続して行うことができる。これにより、第１及び第２のＤＭＡＣ２０３、２１３とＳＤＲＡＭ９０とのアクセスを最適化させることができ（第１及び第２のＤＭＡＣ２０３、２１３が、容易に且つ効率的にＳＤＲＡＭ９０にアクセスさせることができ）、デジタルカメラの画像処理のパフォーマンスを向上させることができる。特に、撮像データに対するダーク補正処理に対して、パフォーマンスを向上させ、リアルタイム性を保証することができる。
【００６５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
前述した第１の実施形態では、ダークデータをＳＤＲＡＭ９０から読み出す第２のＤＭＡＣ２１３からのアドレス要求信号ＲＥＱ２と、ダークデータを用いてダーク補正を行った撮像データをＳＤＲＡＭ９０に書き込む第１のＤＭＡＣ２０３からのアドレス要求信号ＲＥＱ１の発行制御を、ハードウェアを用いて制御するようにしたが、本実施形態では、アドレス要求信号ＲＥＱ１、ＲＥＱ２の発行制御を、ソフトウェアを用いて制御するようにしている。このように、本実施形態と第１の実施形態とは、アドレス要求信号ＲＥＱ１、ＲＥＱ２の発行制御の部分が異なるだけであるので、本実施形態の説明において、前述した第１の実施形態と同一部分については、図１〜図５に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００６６】
図６のフローチャートを用いて、アドレス要求信号ＲＥＱ１、ＲＥＱ２の発行制御を行う際の本実施形態のデジタルカメラのソフトウェアによる処理動作の一例を説明する。なお、以下に示す処理は、図１に示したＣＰＵ７０が、図示しないＲＯＭに記憶されている制御プログラムを実行することにより実現することができる。
【００６７】
まず、ステップＳ１では、撮像処理回路１５の初期設定を行う。
次に、ステップＳ２では、図３に示したアービトレーション回路３０７が要求の優先権を決定することができるように、アドレス要求信号ＲＥＱ１、ＲＥＱ２に基づく要求に対する優先権（プライオリティ）の設定を行う。ここでは、バスマスタとして動作しているＤＭＡＣは、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３であるとする。ダークデータをＳＤＲＡＭ９０より読み出す第２のＤＭＡＣ２１３の優先権を、ダーク補正が行われた撮像データをＳＤＲＡＭ９０へ書き込む第１のＤＭＡＣ２０３優先権よりも高く設定する（図６では、第２のＤＭＡＣ＞第１のＤＭＡＣと表記する）。
【００６８】
次に、ステップＳ３では、第１のＤＭＡＣ２０３、第２のＤＭＡＣ２１３に適切な初期設定を行う。例えば、ＤＭＡを行うスタートアドレスや転送サイズ等を設定する。
次に、ステップＳ４では、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３をスタートさせる。
次に、ステップＳ５では、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３の双方において処理が終了したか否かを判定する。この判定の結果、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３の双方において処理が終了していれば、すべての処理を終了とする。
【００６９】
一方、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３の少なくとも何れか一方において処理が終了していなければ、ステップＳ６に進み、第２のＤＭＡＣ２１３のアドレス予約量をカウントしているカウンタのカウンタ値ＳＴＫ２が、スレッシュホールドレベルTHR＿LEVELを超えるまで待機する。そして、カウンタ値ＳＴＫ２が、スレッシュホールドレベルTHR＿LEVELを超えると、ステップＳ７に進み、優先権（プライオリティ）の設定を現在の設定と逆にする。図６に示す例では、第１のＤＭＡＣ２０３の優先権を、第２のＤＭＡＣ２１３の優先権を高く設定する（図６では、第１のＤＭＡＣ＞第２のＤＭＡＣと表記する）。
【００７０】
次に、ステップＳ８では、第２のＤＭＡＣ２１３のアドレス予約量をカウントしているカウンタのカウンタ値ＳＴＫ２が、スレッシュホールドレベルTHR＿LEVELN以下になるまで待機する。そして、カウンタ値ＳＴＫ２が、スレッシュホールドレベルTHR＿LEVELN以下になると、ステップＳ９に進み、優先権（プライオリティ）の設定を現在の設定と逆にする。図６に示す例では、第２のＤＭＡＣ２１３の優先権を、第１のＤＭＡＣ２０３の優先権を高く設定する（図６では、第２のＤＭＡＣ＞第１のＤＭＡＣと表記する）。
そして、ステップＳ５に戻り、第１のＤＭＡＣ２０３、及び第２のＤＭＡＣ２１３の双方において処理が終了するまで、ステップＳ５〜Ｓ９を繰り返し行う。
【００７１】
即ち、第２のＤＭＡＣ２１３からのアドレス要求信号ＲＥＱ２の発行の許可条件と禁止条件とを、第２のＤＭＡＣ２１３のアドレス予約量のカウンタ値ＳＴＫ２を用いてＣＰＵ７０により常に監視し、カウンタ値ＳＴＫ２が禁止条件の場合においては、第１のＤＭＡＣ２０３からの要求の優先順位を第２のＤＭＡＣ２１３よりも高く設定し、カウンタ値ＳＴＫ２が許可条件の場合においては、第１のＤＭＡＣ２０３からの優先順位を第２のＤＭＡＣ２１３よりも低く設定する。このようにすれば、ソフトウェア処理によっても、アドレス要求信号ＲＥＱ１、ＲＥＱ２の発行制御を行うことが可能になる。
【００７２】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのコンピュータプログラムを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００７３】
また、この場合、前記コンピュータプログラム自体が上述した実施形態の機能を実現することになり、そのコンピュータプログラム自体、及びそのコンピュータプログラムをコンピュータに供給するための手段、例えば、かかるコンピュータプログラムを格納した記録媒体は本発明を構成する。かかるコンピュータプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７４】
また、コンピュータが供給されたコンピュータプログラムを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのコンピュータプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるコンピュータプログラムは本発明の実施形態に含まれることは言うまでもない。
【００７５】
さらに、供給されたコンピュータプログラムがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのコンピュータプログラムの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００７６】
【図１】本発明の第１の実施形態を示し、デジタルカメラの概略構成の一例を示した図である。
【図２】本発明の第１の実施形態を示し、撮像処理回路と、ＤＭＡコントロール回路との構成の一例を示した図である。
【図３】本発明の第１の実施形態を示し、アドレスフェーズコントロール回路の構成の一例を示す図である。
【図４】本発明の第１の実施形態を示し、第１のＤＭＡＣ、及び第２のＤＭＡＣが、アドレスフェーズにおいてアドレス要求信号を発行するタイミングを概念的に示した図である。
【図５】本発明の第１の実施形態を示し、第２のＤＭＡＣからのリードアクセスと、第１のＤＭＡＣからのライトアクセスの順序によるＳＤＲＡＭのパフォーマンスの違いの一例を示した図である。
【図６】本発明の第２の実施形態を示し、アドレス要求信号の発行制御を行う際のデジタルカメラのソフトウェアによる処理動作の一例を説明するフローチャートである。
【図７】一般的なＤＤＲタイプのＳＤＲＡＭにおける動作タイミングの一例を示すタイミングチャートである。
【図８】プリチャージが必要なＤＤＲタイプのＳＤＲＡＭにおける動作タイミングの一例を示すタイミングチャートである。
【符号の説明】
【００７７】
１０  撮像素子
１５  撮像処理回路
２５  現像処理回路
３５  再生処理回路
４５  ストレージデバイスコントローラ
６０、６１  データバス
５０  ＤＭＡコントロール回路
７０  ＣＰＵ
８０  メモリコントローラ
９０  ＳＤＲＡＭ
２００  第１のＦＩＦＯ部
２１０  第２のＦＩＦＯ部
２０３  第１のＤＭＡＣ
２１３  第２のＤＭＡＣ
２２０  アドレスフェーズコントロール回路
２３０  データフェーズコントロール回路
【図１】
2006252341.tif 000003
【図２】
2006252341.tif 000004
【図３】
2006252341.tif 000005
【図４】
2006252341.tif 000006
【図５】
2006252341.tif 000007
【図６】
2006252341.tif 000008
【図７】
2006252341.tif 000009
【図８】
2006252341.tif 000010