(57)【要約】【構成】ＳＤＲＡＭ１２は１回にアクセスするデータ量が多くなるほど実効スループットが向上するメモリであり、バッファ３０は１アドレス毎にアクセスされるメモリであり、そしてコンパクトフラッシュ４６は１セクタ毎にアクセスされるメモリである。ＳＤＲＡＭ１２とバッファ３０との間では、ライト制御回路１８およびリード制御回路２０によって１セクタ毎のＤＭＡデータ転送が行なわれ、バッファ３０とコンパクトフラッシュ４６との間では、リード制御回路２６およびライト制御回路２８によって１セクタ毎のＤＭＡデータ転送が行なわれる。一方、ＣＰＵ５４は、バッファ３０に対してプログラム制御方式でデータアクセスを行ない、このときのアクセスデータ量は１セクタよりも少ない。【効果】ＣＰＵが必要とするデータ量は１セクタよりも少ないため、バッファにアクセスした方が、アクセス処理が短時間で完了する。【選択図】　図１
2004030602.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリと第２メモリとの間で所定量のＤＭＡデータ転送を行なう第１ＤＭＡコントローラ、
前記第２メモリと第３メモリとの間で前記所定量のＤＭＡデータ転送行なう第２ＤＭＡコントローラ、および
前記第２メモリに対してプログラム制御方式のデータアクセスを行なうＣＰＵを備え、
前記第１メモリは１回にアクセスするデータ量が多くなるほど実効スループットが向上するメモリであり、
前記第２メモリは所定アドレス数毎にアクセスされるメモリであり、
前記第３メモリは前記所定量毎にアクセスされるメモリであり、そして
前記ＣＰＵが前記第２メモリにアクセスするときのデータ量は前記所定量よりも少ない、データ処理装置。
【請求項２】
前記第２メモリは各々が少なくとも前記所定量に相当する容量を持つ複数のバンクを含み、
前記ＣＰＵは前記第２メモリの特定のバンクにのみアクセスし、
前記第１ＤＭＡコントローラは前記第２メモリの前記特定のバンク以外のバンクにのみアクセスし、
前記第２ＤＭＡコントローラは前記複数のバンクのいずれにもアクセスする、請求項１記載のデータ処理装置。
【請求項３】
前記第３メモリは所望データおよび前記所望データを管理する管理データを格納し、
前記第２ＤＭＡコントローラは前記管理データについて前記特定のバンクと前記第３メモリとの間で前記ＤＭＡデータ転送を行ない、
前記ＣＰＵは前記特定のバンクに格納された前記管理データにアクセスする、請求項２記載のデータ処理装置。
【請求項４】
前記第３メモリはアクセスが可能であるかどうかを示す状態信号を発生し、
前記ＣＰＵは前記状態信号が示す状態に関係なく前記第２ＤＭＡコントローラに対して前記ＤＭＡデータ転送を要求し、
前記第２ＤＭＡコントローラは前記状態信号が示す状態に応じて前記第３メモリにアクセスする、請求項１ないし３のいずれかに記載のデータ転送装置。
【請求項５】
前記第１ＤＭＡコントローラおよび前記第２ＤＭＡコントローラの一方による前記ＤＭＡデータ転送に応じてインクリメントされ前記第１ＤＭＡコントローラおよび前記第２ＤＭＡコントローラの他方による前記ＤＭＡデータ転送に応じてディクリメントされるカウンタをさらに備え、
前記ＣＰＵは前記カウンタの値に関係なく前記第１ＤＭＡコントローラおよび前記第２ＤＭＡコントローラに前記ＤＭＡデータ転送を要求し、
前記第１ＤＭＡコントローラおよび前記第２ＤＭＡコントローラは前記カウンタの値に応じて前記ＤＭＡデータ転送を行なう、請求項１ないし４のいずれかに記載のデータ処理装置。
【請求項６】
第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行なうＤＭＡコントローラ、
前記第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なうＣＰＵ、および
前記ＤＭＡコントローラから前記第１メモリへの第１アクセス要求および前記ＣＰＵから前記第１メモリへの第２アクセス要求を調停する調停回路を備える、データ処理装置。
【請求項７】
前記調停回路は前記第２アクセス要求を優先的に受け付ける、請求項６記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、データ処理装置に関し、たとえばディジタルカメラに適用され、第１メモリおよび第２メモリの間でデータを転送する、データ処理装置に関する。
【０００２】
【従来の技術】
従来から周知のデータ処理装置として、ＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）制御方式およびプログラム制御方式の２つの方式を併用して、メモリにアクセスするものがある。ＤＭＡ制御方式は、大量のデータを２つのメモリ間で転送する場合に用いられ、プログラム制御方式は制御情報などの短いデータをメモリとＣＰＵとの間でやり取りするときに用いられる。
【０００３】
【発明が解決しようとする課題】
しかし、従来技術では、アクセス先のメモリの特性によっては、プログラム制御方式のアクセスに時間がかかり、全体の処理速度が低下する場合が生じる。たとえば、一方のメモリがバースト転送方式を採用するＳＤＲＡＭで、他方のメモリがセクタ単位でのアクセスを基本とするコンパクトフラッシュである場合、１セクタ未満のデータをプログラム制御方式で読み出したいときに問題が生じる。つまり、バースト転送方式では、一括してアクセスするデータ量が多ければ多いほど実効スループットが向上するが、逆に言えば、少量のデータアクセスを行なうときは実効スループットが低下してしまう。一方、コンパクトフラッシュでは、上述のように１セクタ毎のアクセスが基本であるため、少量のデータアクセスを行なうメモリには適していない。
【０００４】
また、従来技術では、制御バスはＤＭＡコントローラおよびＣＰＵに個別に割り当てられているものの、データバスはＤＭＡコントローラおよびＣＰＵによって共用される。このため、ＣＰＵがデータバスを一度開放すると、データバスはＤＭＡコントローラによって占有されてしまい、ＣＰＵは、ＤＭＡコントローラの処理が完了しない限り、データバスを獲得できない。
【０００５】
このように、従来技術では、アクセス先のメモリの特性やバスとの接続関係などの点で、処理速度が低下するという問題があった。
【０００６】
それゆえに、この発明の主たる目的は、高速データ処理を実現できる、データ処理装置を提供することである。
【０００７】
【課題を解決するための手段】
第１の発明は、第１メモリと第２メモリとの間で所定量のＤＭＡデータ転送を行なう第１ＤＭＡコントローラ、第２メモリと第３メモリとの間で所定量のＤＭＡデータ転送行なう第２ＤＭＡコントローラ、および第２メモリに対してプログラム制御方式のデータアクセスを行なうＣＰＵを備え、第１メモリは１回にアクセスするデータ量が多くなるほど実効スループットが向上するメモリであり、第２メモリは所定アドレス数毎にアクセスされるメモリであり、第３メモリは前記所定量毎にアクセスされるメモリであり、そしてＣＰＵが第２メモリにアクセスするときのデータ量は所定量よりも少ない、データ処理装置である。
【０００８】
第２の発明は、第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行なうＤＭＡコントローラ、第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なうＣＰＵ、およびＤＭＡコントローラから第１メモリへの第１アクセス要求およびＣＰＵから第１メモリへの第２アクセス要求を調停する調停回路を備える、データ処理装置である。
【０００９】
【作用】
第１の発明では、第１ＤＭＡコントローラが第１メモリと第２メモリとの間で所定量のＤＭＡデータ転送を行ない、第２ＤＭＡコントローラが第２メモリと第３メモリとの間で所定量のＤＭＡデータ転送行ない、ＣＰＵが第２メモリに対してプログラム制御方式のデータアクセスを行なう。ここで、第１メモリは１回にアクセスするデータ量が多くなるほど実効スループットが向上するメモリであり、第２メモリは所定アドレス数毎にアクセスされるメモリであり、第３メモリは所定量毎にアクセスされるメモリである。一方、ＣＰＵが第２メモリにアクセスするときのデータ量は、所定量よりも少ない。
【００１０】
このため、ＣＰＵが第２メモリにアクセスするのに要する時間は、ＣＰＵが第１メモリにアクセスするのに要する時間よりも短くなる。また、第３メモリへのアクセスは所定量毎に行なわれるため、ＣＰＵは、第２メモリをアクセス先とすることで効率的なアクセスが可能となる。
【００１１】
この発明の好ましい例では、第２メモリは、各々が少なくとも所定量に相当する容量を持つ複数のバンクを含む。ここで、ＣＰＵは、第２メモリの特定のバンクにのみアクセスし、第１ＤＭＡコントローラは、第２メモリの特定のバンク以外のバンクにのみアクセスし、第２ＤＭＡコントローラは、複数のバンクのいずれにもアクセスする。
【００１２】
さらに好ましくは、第３メモリは所望データおよび所望データを管理する管理データを格納し、第２ＤＭＡコントローラは、管理データについて特定のバンクと第３メモリとの間でＤＭＡデータ転送を行ない、ＣＰＵは特定のバンクに格納された管理データにアクセスする。これによって、管理データが所望データによって上書きされるのを防止できる。
【００１３】
この発明の好ましい他の例では、第３メモリはアクセスが可能であるかどうかを示す状態信号を発生する。ここで、ＣＰＵは状態信号が示す状態に関係なく第２ＤＭＡコントローラに対してＤＭＡデータ転送を要求し、第２ＤＭＡコントローラは状態信号が示す状態に応じて前記第３メモリにアクセスする。これによって、第２ＤＭＡコントローラは第３メモリがアクセス可能となった時点で速やかにＤＭＡデータ転送を開始でき、データ転送処理が高速化される。
【００１４】
さらに好ましくは、第１ＤＭＡコントローラおよび第２ＤＭＡコントローラの一方によるＤＭＡデータ転送に応じてインクリメントされ第１ＤＭＡコントローラおよび第２ＤＭＡコントローラの他方によるＤＭＡデータ転送に応じてディクリメントされるカウンタが、さらに備えられる。ここで、ＣＰＵは、カウンタの値に関係なく第１ＤＭＡコントローラおよび第２ＤＭＡコントローラにＤＭＡデータ転送を要求し、第１ＤＭＡコントローラおよび第２ＤＭＡコントローラは、カウンタの値に応じてＤＭＡデータ転送を開始する。これによって、ＣＰＵが単に処理要求を発生するだけで、適切なタイミングでＤＭＡデータ転送が実行される。
【００１５】
第２の発明では、ＤＭＡコントローラは、第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行ない、ＣＰＵは、第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なう。そして、ＤＭＡコントローラから第１メモリへの第１アクセス要求およびＣＰＵから第１メモリへの第２アクセス要求は、調停回路によって調停される。このため、ＤＭＡ制御方式のデータアクセスの途中でプログラム制御方式のデータアクセスを行なうようなとき、バスの占有関係を切り換える必要がない。
【００１６】
この発明の好ましい例では、調停回路は、ＣＰＵからの第２アクセス要求を優先的に受け付ける。このため、第１アクセス要求および第２アクセス要求が同時に発生したような場合、ＣＰＵが優先的に第１メモリにアクセスする。
【００１７】
【発明の効果】
第１の発明によれば、ＣＰＵが第２メモリにアクセスするのに要する時間は、ＣＰＵが第１メモリにアクセスするのに要する時間よりも短くなるため、全体の処理を高速化できる。また、第３メモリへのアクセスは所定量毎に行なわれるため、ＣＰＵは、必要なデータに効率的にアクセスすることができる。
【００１８】
第２の発明によれば、ＤＭＡ制御方式のデータアクセスの途中でプログラム制御方式のデータアクセスを行ないたいようなときにバスの占有関係を切り換える必要がないため、処理を高速化できる。
【００１９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００２０】
【実施例】
図１を参照して、この実施例のディジタルカメラ１０は、データを格納するメモリとして、ＳＤＲＡＭ１２，コンパクトフラッシュ（ＣＦ）４６，レジスタ３６，バッファ３０およびフラッシュメモリ５２を含む。このうち、ＳＤＲＡＭ１２は、撮影された画像データを含む画像ファイルを一時的に記録するための内部メモリであり、コンパクトフラッシュ４６は、このような画像ファイルを記録するため着脱自在の記録媒体である。レジスタ３６は、後述するＤＭＡデータ転送のための処理要求を格納する内部メモリであり、バッファ３０は、ＳＤＲＡＭ１２とコンパクトフラッシュ４６との間でＤＭＡ転送される画像データ、あるいはコンパクトフラッシュ４６のＦＡＴ情報データを一時的に格納する内部メモリである。フラッシュメモリ５２は、ＣＰＵ５４のプログラムを格納する内部メモリである。
【００２１】
ＳＤＲＡＭ１２に対するアクセスはアクセス制御回路１４およびアクセス要求制御回路１６によって制御され、コンパクトフラッシュ４６に対するアクセスはアクセス制御回路４２およびアクセス要求制御回路４４によって制御される。また、レジスタ３６に対するアクセスはアクセス制御回路３８およびアクセス要求制御回路４０によって制御され、バッファ３０ａ〜３０ｃに対するアクセスはアクセス制御回路３２およびアクセス要求制御回路３４によって制御される。さらに、フラッシュメモリ５２に対するアクセスはアクセス制御回路５０およびアクセス要求制御回路４８によって制御される。
【００２２】
各々のアクセス要求制御回路は、アクセス要求が与えられたとき要求元に承認信号ＡＣＫを返送し、要求元は、この承認信号に応答して、アクセス信号をアクセス要求制御回路に与える。また、アクセス態様が書き込みの場合、要求元はアクセス信号とともに書き込みに係るデータをアクセス要求制御回路に与える。アクセス信号（およびデータ）は、アクセス要求制御回路を通してアクセス制御回路に与えられ、アクセス制御回路は、入力されたアクセス信号に従ってメモリにアクセスする。
【００２３】
アクセス要求制御回路３４，４０および４８にはＣＰＵ５４からのみアクセス要求が発せられる。これに対して、アクセス要求制御回路１６には、ＣＰＵ５４以外にライト制御回路１８，リード制御回路２０およびカメラ処理系のＤＭＡコントローラ５８からもアクセス要求が与えられる。アクセス要求制御回路４２にも、ＣＰＵ５４のほかにリード制御回路２６およびライト制御回路２８からアクセス要求が与えられる。つまり、アクセス要求制御回路１６および４２には、複数のアクセス要求が同時に入力される可能性があり、アクセス要求制御回路１６および４２は、同時に入力された各々のアクセス要求を調停していずれかの要求元に承認信号ＡＣＫを返送する。ただし、アクセス要求制御回路１６および４２はＣＰＵ５４に優先順位を与えており、複数のアクセス要求が与えられたときは、ＣＰＵ５４からのアクセス要求を最優先で受け付ける。
【００２４】
なお、カメラ処理には、撮影された生画像データ（ＲＡＷデータ）をＹＵＶデータに変換するＹＵＶ変換処理、ならびにＹＵＶデータを圧縮して圧縮ＹＵＶデータ（上述の画像データ）を生成する圧縮処理があり、ＲＡＷデータ，ＹＵＶデータおよび圧縮ＹＵＶデータのいずれも、対応するＤＭＡコントローラによってＳＤＲＡＭ１２に対するライト／リード処理を施される。上述のＤＭＡコントローラ５８は、このようなカメラ処理を行なう複数のＤＭＡコントローラを含む概念である。ここで、ＤＭＡコントローラ５８は、制御バスＣＢＤＭＡ４および３２ビットのデータバスＤＢＤＭＡ５を通してアクセス要求制御回路１６にアクセスする。
【００２５】
ＳＤＲＡＭ１２はバースト転送方式のメモリであり、先頭アドレスを指定すれば、これに続く複数アドレスに連続してアクセスすることができる。つまり、読み出し時は、連続する複数のアドレスに格納されたデータを１回で読み出すことができ、書き込み時は、複数アドレス分のデータを連続する複数のアドレスに１回で書き込むことができる。ＳＤＲＡＭ１２でもランダムアクセスは可能であるが、アドレスがロウ（ＲＯＷ）およびコラム（ＣＯＬＵＭＮ）に分割されており、ロウアドレスを先に設定するというオーバヘッドがあるため、１ワード毎のアクセスでは効率が悪くなる。このような理由から、バースト転送方式では、アクセスする１回あたりのデータ量が大きいほど、実効スループットが向上する。バーストアクセスを行なう場合、アクセス要求制御回路１６に与えられるアクセス信号には、アクセス先の先頭アドレス情報，データサイズ情報およびリード／ライトを示すアクセス態様情報が含まれる。
【００２６】
コンパクトフラッシュ４６は、図２に示すようにコントローラ４６ａ，バッファメモリ４６ｂおよび主メモリ４６ｃを含み、コントローラ４６ａはバッファメモリ４６ｂを介して主メモリ４６ｃにアクセスする。バッファメモリ４６ｂは１セクタ（５１２バイト）分の容量を持ち、アクセスは１セクタ毎に行なわれる。したがって、アクセス要求制御回路４２に与えられるアクセス信号には、所望のセクタアドレス情報およびリード／ライトを示すアクセス態様情報が含まれる。内部転送が行なわれているとき、コンパクトフラッシュ４６はビジー状態となり、内部転送が行なわれていないとき、コンパクトフラッシュ４６はレディ状態となる。このようなレディ状態およびビジー状態の判別信号は、コンパクトフラッシュ４６の特定の入出力ポートから出力される。
【００２７】
なお、主メモリ４６ｃにアクセスするためには、上述のアクセス信号に先立って、所望のセクタ番号およびアクセスの態様をコントローラ４６ａに設定する必要がある。
【００２８】
レジスタ３６は、図３に示すように形成される。ＳＤＲＡＭ側ライト制御回路（ライト制御回路１８），ＳＤＲＡＭ側リード制御回路（リード制御回路２０），ＣＦ側ライト制御回路（ライト制御回路２８）およびＣＦ側リード制御回路（リード制御回路２６）が、いわゆるＤＭＡコントローラである。処理要求は、アドレス情報，バンク情報および転送サイズ情報からなり、これらの情報を格納する欄が各々のＤＭＡコントローラに対応してレジスタ３６に形成される。処理要求をレジスタ３６に設定するとき、アクセス要求制御回路４０には、書き込み先のアドレス情報（書き込み欄の位置情報）およびアクセス態様情報“ライト”を含むアクセス信号と処理要求を形成する各情報データが与えられる。処理要求に含まれるアドレス情報，バンク情報および転送サイズ情報は、アクセス信号に基づいて所望の欄に書き込まれる。
【００２９】
バッファ３０としては、図４に示すように３つのバンク０〜２を持つＳＲＡＭが適用され、各々のバンクは５１２バイトの容量を持つ。各バンクへのアクセスは１アドレス毎に行なわれる。このため、バッファ３０へのアクセス信号には、アクセス先のバンク情報，アドレス情報およびリード／ライトを示すアクセス態様情報が含まれる。
【００３０】
フラッシュメモリ５２に対するアクセスは、バッファ３０と同じように、アクセス先のアドレス情報およびリード／ライトを示すアクセス態様情報を含むアクセス信号によって行なわれる。
【００３１】
各々の回路およびメモリ間の主な接続関係を以下に説明する。アクセス要求制御回路１６は、制御バスＣＢＤＭＡ１によってライト制御回路１８およびリード制御回路２０と接続され、制御バスＣＢＣＰＵ１によってＣＰＵ５４ならびにアクセス要求制御回路３４，４０，４２および４８と接続される。アクセス要求制御回路１６はまた、データバスＤＢＤＭＡ１によってライト制御回路１８と接続され、データバスＤＢＤＭＡ２によってリード制御回路２０と接続され、データバスＤＢＣＰＵ１およびＤＢＣＰＵ２によってアクセス要求制御回路３４，４０，４２および４８と接続される。データバスＤＢＣＰＵ１およびＤＢＣＰＵ２はまた、ＣＰＵ５４が接続されたデータバスＤＢＣＰＵ３と双方向バッファ５６を介して接続される。アクセス要求制御回路４２は、上述の接続に加えて、制御バスＣＢＤＭＡ３によってリード制御回路２６およびライト制御回路２８と接続され、データバスＤＢＤＭＡ３およびＤＢＤＭＡ４によってリード制御回路２６およびライト制御回路２８の各々と接続される。
【００３２】
リード制御回路２０および２６は、制御バスＣＢＣＯＭ１およびデータバスＤＢＣＯＭ１によってバッファ３０の入力側と接続され、ライト制御回路１８および２８は、制御バスＣＢＣＯＭ２およびデータバスＤＢＣＯＭ２によってバッファ３０の出力側と接続される。また、リード制御回路２０および２６およびライト制御回路１８および２８のいずれも、制御バスＣＢＤＭＡ２によってレジスタ３６と接続される。制御バスＣＢＣＯＭ１およびＣＢＣＯＭ２ならびにデータバスＤＢＣＯＭ１およびＤＢＣＯＭ２は、アクセス制御回路３２にも接続される。
【００３３】
つまり、データバスＤＢＤＭＡ１，ＤＢＤＭＡ２，ＤＢＤＭＡ３およびＤＢＤＭＡ４はそれぞれ、ライト制御回路１８，リード制御回路２０，ライト制御回路２８およびリード制御回路２６専用のデータバスであり、ＤＢＣＰＵ１〜ＤＢＣＰＵ３はＣＰＵ５４に専用のデータバスである。これに対して、データバスＤＢＣＯＭ１およびＤＢＣＯＭ２は、ライト制御回路１８および２８，リード制御回路２０および２６ならびにＣＰＵ５４によって共有される。なお、データバスＤＢＤＭＡ１およびＤＢＤＭＡ２は３２ビットのバスであり、データバスＤＢＤＭＡ３およびＤＢＤＭＡ４は１６ビットのバスである。
【００３４】
リード制御回路２０は、レジスタ３６のＳＤＲＡＭ側リード制御回路の欄に処理要求が設定されたとき、図５に示すフロー図に従って動作する。
【００３５】
ＳＤＲＡＭ１２の所望の先頭アドレス情報，バンク０〜２のいずれか１つを示すバンク情報および“５１２バイト”の転送サイズ情報がレジスタ３６のＳＤＲＡＭ側リード制御回路の欄に設定された場合、まずステップＳ１で内部カウンタ２０ａの値が“０”であるかどうか判別する。そして、カウント値が“１”以上であればステップＳ１の処理をくり返し、カウント値が“０”となったとき、アクセス先のバンクが空になったとみなしてステップＳ３に進む。ステップＳ３では、アクセス要求を制御バスＣＢＤＭＡ１を通してアクセス要求制御回路１６に発する。これに対して承認信号ＡＣＫが返送されると、ステップＳ５でＹＥＳと判断し、ステップＳ７でアクセス信号（先頭アドレス情報，リードを示すアクセス態様情報，５１２バイトのサイズ情報）を、同じ制御バスＣＢＤＭＡ１を通してアクセス要求制御回路１６に出力する。所望の先頭アドレス以降に書き込まれた５１２バイト分のデータはアクセス制御回路１２によって読み出され、データバスＤＢＤＭＡ２を介してリード制御回路２０に入力される。
【００３６】
ステップＳ９では、アクセス要求制御回路１６から入力された４バイト（３２ビット）分のデータをデータバスＤＢＣＯＭ１を介してバッファ３０に与えるとともに、指定されたバンクのアドレス信号を制御バスＣＢＤＭＡ２を介してバッファ３０に与える。続いて、ステップＳ１１で共有カウンタ２４および内部カウンタ２０ａを“４”インクリメントし、ステップＳ１１でカウンタ２０ａの値を“５１２”と比較する。そして、カウント値が“５１２”未満であればステップＳ９およびＳ１１の処理を繰り返す。この結果、入力された５１２バイトのデータは所望のバンクに先頭アドレスから順に書き込まれ、共有カウンタ２４および内部カウンタ２０ａのカウント値は“５１２”までインクリメントされる。カウント値が“５１２”に達すると、ステップＳ１５で終了フラグを発行する。終了フラグは、割り込み端子（図示せず）を通してＣＰＵ５４に与えられる。
【００３７】
ライト制御回路２８は、レジスタ３６のＣＦ側ライト制御回路の欄に処理要求が設定されたとき、図６に示すフロー図に従って動作する。
【００３８】
コンパクトフラッシュ４６の所望のセクタアドレス情報，所望のバンクを示すバンク情報および“５１２バイト”の転送サイズ情報がレジスタ３６のＣＦ側ライト制御回路の欄に設定されると、まずステップＳ２１でコンパクトフラッシュ４６がレディ状態／ビジー状態のいずれにあるかを状態信号に基づいて判別する。そして、ビジー状態であればステップＳ２１の処理を繰り返し、レディ状態に移行したときにステップＳ２３に進む。ステップＳ２３では、共有カウンタ２４の値が“２”以上を示しているかどうか判断し、ＮＯであれば同じ処理を繰り返す。カウント値が“２”以上となると、所望のバンクに転送可能なデータが格納されたとみなして、ステップＳ２５でアクセス要求を発生する。アクセス要求は、制御バスＣＢＤＭＡ３を通してアクセス要求制御回路４２に与えられる。
【００３９】
このアクセス要求に対してアクセス要求制御回路４２から承認信号ＡＣＫが返送されると、ステップＳ２９でアクセス信号（セクタアドレス情報，ライトのアクセス態様情報，５１２バイトのデータサイズ情報）を発生し、ステップＳ３１で所望のバンクのアドレス信号をバッファ３０に与える。アクセス信号は制御バスＣＢＤＭＡ３を通してアクセス要求制御回路４２に与えられ、アドレス信号は制御バスＣＢＣＯＭ２を通してバッファ３０に与えられる。これによって、所望のバンクの所望のアドレスに格納された２バイト（１６ビット）分のデータがデータバスＤＢＣＯＭ２を通して読み出され、読み出されたデータは、データバスＤＢＤＭＡ３を通してアクセス要求制御回路４２に与えられる。ステップＳ３３では共有カウンタ２４の値を“２”ディクリメントするとともに内部カウンタ２８ａの値を“２”インクリメントし、続くステップＳ３５では内部カウンタ２８ａの値を“５１２”と比較する。そして、カウント値が“５１２”未満であればステップＳ２３〜Ｓ３３の処理を繰り返すが、カウント値が“５１２”であれば、ステップＳ３７で終了フラグを発行する。
【００４０】
ステップＳ２３〜ステップＳ３５の処理が繰り返されることによって、バッファ３０から読み出された５１２バイト分のデータが、データバスＤＢＤＭＡ３，アクセス要求制御回路４２およびアクセス制御回路４４を経てコンパクトフラッシュ４６に与えられる。コントローラ４６ａは、与えられた５１２バイトのデータを一旦バッファメモリ４６ｂに蓄積し、バッファメモリ４６ｂが満杯となったときにこの５１２バイトのデータを主メモリ４６ｃの所望のセクタに書き込む。
【００４１】
リード制御回路２６は、レジスタ３６のＣＦ側リード制御回路の欄に処理要求が設定されたとき、図７に示すフロー図に従って動作する。
【００４２】
コンパクトフラッシュ４６の所望のセクタアドレス情報，所望のバンクを示すバンク情報および“５１２バイト”の転送サイズ情報がレジスタ３６のＣＦ側リード制御回路の欄に設定されると、ステップＳ４１でコンパクトフラッシュ４６の状態を判別し、レディ状態であればステップＳ４３で共有カウンタ２２の値を判別する。そして、共有カウンタ２２の値が“０”であれば、所望のバンクは空であるとみなし、ステップＳ４５でアクセス要求を制御バスＣＢＤＭＡ３を通してアクセス要求制御回路４２に出力する。これに対してアクセス要求制御回路４２から承認信号ＡＣＫが返送されると、ステップＳ４９でアクセス信号（セクタアドレス情報，リードのアクセス態様情報）を同じ制御バスＣＢＤＭＡ３を通してアクセス要求制御回路４２に与える。コンパクトフラッシュ４６からは２バイト分のデータが読み出され、読み出されたデータはデータバスＤＢＤＭＡ４を通してリード制御回路２６に与えられる。
【００４３】
ステップＳ５１では、読み出された２バイトのデータをアドレス信号とともにバッファ３０に与える。このとき、データはデータバスＤＢＣＯＭ１を通して、アドレス信号はＣＢＣＯＭ１を通してバッファ３０に与えられる。ステップＳ５３では共有カウンタ２２を“２”インクリメントし、続くステップＳ５５ではカウント値を“５１２”と比較する。そして、カウント値が“５１２”を下回る限りステップＳ４５〜Ｓ５３の処理を繰り返し、これによって、コンパクトフラッシュ４６の所望のセクタからデータが２バイトずつ読み出され、合計５１２バイトのデータがバッファ３０の所望のバンクに格納される。カウント値が“５１２”となるとステップＳ５５でＹＥＳと判断し、ステップＳ５７で終了フラグを発行する。
【００４４】
ライト制御回路１８は、レジスタ３６のＳＤＲＡＭ側ライト制御回路の欄に処理要求が設定されたとき、図８に示すフロー図に従って動作する。
【００４５】
ＳＤＲＡＭ１２の先頭アドレス情報，バンク０〜２のいずれか１つを示すバンク情報および“５１２バイト”の転送サイズ情報がレジスタ３６のＳＤＲＡＭ側ライト制御回路の欄に設定されると、ステップＳ６１で共有カウンタ２２の値を“５１２”と比較し、比較結果が一致を示せば、ステップＳ６３でアクセス要求を制御バスＣＢＤＭＡ１を通してアクセス要求制御回路１６に出力する。これに対して承認信号ＡＣＫが返送されると、ステップＳ６５でＹＥＳと判断し、ステップＳ６７でアクセス信号（先頭アドレス情報，リードを示すアクセス態様情報，５１２バイトのサイズ情報）を同じ制御バスＣＢＤＭＡ１を通してアクセス要求制御回路１６に出力する。
【００４６】
ステップＳ６９では、アドレス信号を制御バスＣＢＣＯＭ２を通してバッファ３０に与え、４バイト分のデータを所望のバンクから読み出す。読み出されたデータは、データバスＤＢＣＯＭ２およびデータバスＤＢＤＭＡ１を通してアクセス要求制御回路１６に与えられる。続いて、ステップＳ７１で共有カウンタ２２の値を“４”ディクリメントし、ステップＳ７３でカウント値を“０”と比較する。ここでカウント値が“１”以上であれば、ステップＳ６９およびＳ７１の処理を繰り返し、カウント値が“０”となると、ステップＳ７５で終了フラグを発行する。これによって、所望のバンクから５１２バイトのデータが読み出され、アクセス制御回路１４によってＳＤＲＡＭ１２の所望アドレスに書き込まれるとともに、書き込みが完了した時点で終了フラグが発行される。
【００４７】
ＳＤＲＡＭ１２には、上述のように画像ファイルが格納されており、リード制御回路２０およびライト制御回路２８によるＤＭＡ転送の対象となるデータは、この画像ファイルを形成する画像データである。一方、コンパクトフラッシュ４６の主メモリ４６ａには、同様の画像ファイルのほかにＦＡＴ情報データも記録されている。つまり、コンパクトフラッシュ４６はＭＳ−ＤＯＳ方式を採用しているため、ＦＡＴのようなファイル管理情報も主メモリ４６ａに記録されている。このため、リード制御回路２６およびライト制御回路１８によるＤＭＡ転送の対象となるデータとしては、画像ファイルを形成する画像データ以外にＦＡＴデータも含まれる。
【００４８】
ただし、ＦＡＴ情報データはＣＰＵ５４による空きクラスタの検索のために読み出されるものであり、バッファ３０からＳＤＲＡＭ１２にＤＭＡ転送されることはない。このため、リード制御回路２６は、ＦＡＴデータおよび画像データの両方をコンパクトフラッシュ４６からバッファ３０にＤＭＡ転送するものの、ライト制御回路１８は、画像データのみをバッファ３０からＳＤＲＡＭ１２にＤＭＡ転送する。
【００４９】
バッファ３０に格納されたＦＡＴデータは、ＣＰＵ５４によって読み出される。つまり、ＣＰＵ５４が制御バスＣＢＣＰＵ１を通してアクセス要求をアクセス要求制御回路４０に与え、これに対する承認信号ＡＣＫに応答して、バンク情報，アドレス情報およびアクセス態様情報を含むアクセス信号を同じ制御バスＣＢＣＰＵ１を通してアクセス要求制御回路３４に与える。所望のバンクの所望のアドレスに書き込まれたＦＡＴ情報データは、アクセス制御回路３２によって読み出される。読み出されたＦＡＴ情報データは、データバスＤＢＣＰＵ１およびＤＢＣＰＵ３を通してＣＰＵ５４に与えられる。なお、バッファ３０に格納されたＦＡＴ情報データが、後続の画像データによって上書きされることのないよう、ＦＡＴ情報データおよび画像データは互いに別のバンクに格納される。
【００５０】
ＣＰＵ５４は、ＳＤＲＡＭ１２に格納された画像ファイルをコンパクトフラッシュ４６に記録するとき、図９および図１０に示すフロー図を処理する。
【００５１】
まずステップＳ８１で、ＦＡＴ領域内のいずれかのセクタ番号およびアクセス態様“リード”を、特定の入出力ポートを通してコンパクトフラッシュ４６のコントローラ４６ａに設定する。次に、リード制御回路２６にＦＡＴ情報データのＤＭＡ転送を行なわせるための処理要求を、ステップＳ８３でレジスタ３６に設定する。つまり、ステップＳ１で設定したセクタ番号に対応するセクタアドレス情報，バンク０を示すバンク情報および“５１２バイト”の転送サイズ情報を図３に示すＣＦ側リード制御回路の欄に書き込む。これによって、ＦＡＴ領域に書き込まれたＦＡＴ情報データの一部がコンパクトフラッシュ４６からバッファ３０のバンク０にＤＭＡ転送される。ステップＳ８５では、このＤＭＡ転送処理の終了の有無を終了フラグに応答して判別する。つまり、終了フラグがリード制御回路２６から入力されない限りステップＳ８５の処理を繰り返し、終了フラグが与えられると、ステップＳ８７に進む。
【００５２】
ステップＳ８７では、アクセス要求制御回路３４およびアクセス要求回路３２を通してバッファ３０のバンク０にアクセスし、バンク０内のＦＡＴデータに基づいて空きクラスタを検索する。具体的には、バンク０からＦＡＴエントリを読み出して、対応するクラスタが空いているかどうかを判別する。全てのＦＡＴエントリの検索が完了すると、空きクラスタが検索されたかどうかをステップＳ８９で判断する。そして、空きクラスタが１つも見つからなかったときは、ステップＳ９１でセクタ番号を更新してからステップＳ８１に戻る。次回のステップＳ８１〜Ｓ８５の処理では、ＦＡＴ領域の別のセクタにあるＦＡＴ情報データがコンパクトフラッシュ４６からバッファ３０にＤＭＡ転送され、バンク０に格納された新規のＦＡＴ情報データに基づいて空きクラスタの検索処理が行なわれる。
【００５３】
空きクラスタが発見されたときは、ステップＳ８９からステップＳ９３に進み、発見された空きクラスタの先頭のセクタ番号およびアクセス態様“リード”をコンパクトフラッシュ４６に設定する。さらに、ＳＤＲＡＭ１２に格納された画像ファイルをコンパクトフラッシュ４６に転送するための処理要求を、ステップＳ９５でレジスタ３６に設定する。具体的には、ＳＤＲＡＭ１２の所望の先頭アドレス情報，バンク１を示すバンク情報および“５１２バイト”の転送サイズ情報をレジスタ３６のＳＤＲＡＭ側リード制御回路の欄に設定し、かつコンパクトフラッシュ４６の所望のセクタアドレス情報，バンク１を示すバンク情報および“５１２バイト”の転送サイズ情報をレジスタ３６のＣＦ側ライト制御回路の欄に設定する。
【００５４】
これによって、ＳＤＲＡＭ１２の所望の先頭アドレス以降に格納された５１２バイトの画像データが、リード制御回路２０によってバッファ３０のバンク１にＤＭＡ転送され、さらに、バンク１に格納された５１２バイトの画像データが、ライト制御回路２８によってコンパクトフラッシュ４６にＤＭＡ転送される。転送された５１２バイトの画像データは、空きクラスタの先頭に位置するセクタに書き込まれる。なお、バンク１を画像データの書き込み先として選択するのは、バンク０に格納されたＦＡＴ情報データが消滅するのを防止するためである。
【００５５】
ステップＳ９７では、リード制御回路２０およびライト制御回路２８の両方から終了フラグが発行されたときに、ステップＳ９７で要求したＤＭＡ処理が終了したと判断する。続くステップＳ９９では、ステップＳ８７で検索した空きクラスタが満杯になったかどうか判断し、ＮＯであればステップＳ１０１でセクタ番号を更新してからステップＳ９３に戻る。この結果、クラスタが満杯になるまで、ステップＳ９３〜Ｓ９９の処理が繰り返され、画像ファイルを形成する画像データは、空きクラスタ内の複数のセクタに連続して書き込まれる。
【００５６】
ステップＳ９９で空きクラスタが満杯になったと判断されると、現画像ファイルのＤＭＡ転送（コンパクトフラッシュ４６への記録）が完了したかどうかをステップＳ１０３で判断する。ここでＮＯであれば、ステップＳ１０５でバッファ３０内のバンク０にアクセスし、バンク０のＦＡＴ情報データを更新する。つまり、今回のＤＭＡ転送によって満杯となったクラスタに対応するＦＡＴエントリの情報を書き換える。続いて、ステップＳ１０７で再度バンク０にアクセスし、上述のステップＳ８７と同じ要領で空きクラスタの検索を行なう。続くステップＳ１０９では空きクラスタが発見されたかどうか判断し、ＹＥＳであれば、ステップＳ９３に戻って上述と同様のＤＭＡ転送処理を行なう。
【００５７】
一方、ステップＳ１０９でＮＯであれば、ステップＳ１１１でＦＡＴ領域内のセクタ番号およびアクセス態様“ライト”をコンパクトフラッシュ４６に設定する。ここで、設定するセクタ番号は、バンク０に格納されているＦＡＴ情報データを書き込むべきセクタの番号である。続いて、ライト制御回路２８にＦＡＴ情報データのＤＭＡ転送を行なうための処理要求を、ステップＳ１１３でレジスタ３６に設定する。つまり、ステップＳ１１１で設定したセクタ番号に対応するセクタアドレス情報，バンク０を示すバンク情報および“５１２バイト”の転送サイズ情報を、図３に示すＣＦ側ライト制御回路の欄に書き込む。これによって、バンク０に格納されたＦＡＴデータが、ライト制御回路２８によってコンパクトフラッシュ４６にＤＭＡ転送され、ＦＡＴ領域内の元のセクタに書き込まれる。
【００５８】
ステップＳ１１５では、ライト制御回路２８によるＤＭＡ転送処理の終了の有無を、ライト制御回路２８から終了フラグが発行されたかどうかによって判断する。終了フラグが発行されなければステップＳ１１５の処理を繰り返し、終了フラグが発行されると、ステップＳ１１７に進む。ステップＳ１１７では、ＦＡＴ領域の別のセクタからＦＡＴデータを読み出すべくセクタ番号を更新し、その後ステップＳ８１に戻る。
【００５９】
ステップＳ１０３で現画像ファイルのＤＭＡ転送が完了したと判断されたときは、記録日時やファイルサイズなどのファイル情報をコンパクトフラッシュ４６に書き込むべく、ステップＳ１１９に進む。ステップＳ１１９では、このようなファイル情報の書き込み先のセクタ番号およびアクセス態様“ライト”をコンパクトフラッシュ４６に設定する。続くステップＳ１２１では、ＳＤＲＡＭ１２に格納されたファイル情報をコンパクトフラッシュ４６に転送するための処理要求を、上述のステップＳ９５と同じ要領でレジスタ３６に設定する。つまり、ＳＤＲＡＭ１２の所望の先頭アドレス情報，バンク１を示すバンク情報および“５１２バイト”の転送サイズ情報をレジスタ３６のＳＤＲＡＭ側リード制御回路の欄に設定するとともに、コンパクトフラッシュ４６の所望のセクタアドレス情報，バンク１を示すバンク情報および“５１２バイト”の転送サイズ情報をレジスタ３６のＣＦ側ライト制御回路の欄に設定する。
【００６０】
これによって、ＳＤＲＡＭ１２の所望の先頭アドレス以降に格納された５１２バイトのファイル情報データがリード制御回路２０によってバッファ３０のバンク１にＤＭＡ転送され、さらに、バンク１に格納された５１２バイトのファイル情報データがライト制御回路２８によってコンパクトフラッシュ４６にＤＭＡ転送される。転送された５１２バイトの画像データは、ステップＳ１１９で設定されたセクタ番号に対応するセクタに書き込まれる。
【００６１】
ステップＳ１２３では、リード制御回路２０およびライト制御回路２８の両方から終了フラグが発行されたかどうかを判断し、ＹＥＳとの判断結果が得られたときにステップ１２５に進む。ステップＳ１２５では、ＳＤＲＡＭ１２に格納された全ての画像ファイルの記録処理が完了したかどうか判断する。そして、ＹＥＳであれば処理を終了するが、ＮＯであればステップＳ１１７でセクタ番号を更新してからステップＳ８１に戻る。
【００６２】
なお、以上の処理はＳＤＲＡＭ１２からコンパクトフラッシュ４６に画像ファイルを転送するときの処理であり、コンパクトフラッシュ４６からＳＤＲＡＭ１２に画像ファイルを転送するときの処理については、説明を省略している。ただし、このコンパクトフラッシュ４６からＳＤＲＡＭ１２へのＤＭＡ転送処理も上述と同じ要領で行なわれる。このとき、ＦＡＴ情報データはたとえばバンク０に格納され、画像データはたとえばバンク２を用いて転送される。
【００６３】
図示しないシャッタボタンが押されたとき、ＣＰＵ５４は図７に示す割り込みルーチンを処理する。まず、ステップＳ１３１でＳＤＲＡＭ１２に十分な空き容量が存在するかどうか判断し、ＹＥＳとの判断結果が得られたときにステップＳ１３３で、カメラ処理を行なう。このとき、撮影されたＲＡＷデータのＳＤＲＡＭ１２に対するライト／リード処理、ＲＡＷデータをＹＵＶ変換することで生成されたＹＵＶデータのＳＤＲＡＭ１２に対するライト／リード処理，およびＹＵＶデータをＪＰＥＧ圧縮して生成された圧縮ＹＵＶデータのＳＤＲＡＭ１２に対するライト処理が、ＤＭＡコントローラ５８によって行なわれる。
【００６４】
このようなカメラ処理が完了すると、ステップＳ１３５で撮影日時やファイルサイズを含むファイル情報データをＳＤＲＡＭ１２に格納する。このとき、ＣＰＵ５４は、まずアクセス要求を制御バスＣＢＣＰＵ３を通してアクセス要求制御回路１６に与える。これに対してアクセス要求制御回路１６から承認信号ＡＣＫが返送されると、ＳＤＲＡＭ１２の所望の先頭アドレス情報，ファイル情報データのサイズ情報および“ライト”を示すアクセス態様情報を含むアクセス信号を、同じ制御バスＣＢＣＰＵ３を通してアクセス要求制御回路１６に与え、同時にファイル情報データをデータバスＤＢＣＰＵ３およびＤＢＣＰＵ１を通してアクセス制御回路１６に与える。ファイル情報データはＳＤＲＡＭ１２の所望のアドレスに書き込まれ、これによって圧縮ＹＵＶデータおよびファイル情報データを含む画像ファイルがＳＤＲＡＭ１２内に作成される。
【００６５】
以上の説明から分かるように、ＳＤＲＡＭ１２は１回にアクセスするデータ量が多くなるほど実効スループットが向上するメモリであり、バッファ３０は１アドレス毎にアクセスされるメモリであり、そしてコンパクトフラッシュ４６は１セクタ毎にアクセスされるメモリである。ＳＤＲＡＭ１２とバッファ３０との間では、ライト制御回路１８およびリード制御回路２０によって１セクタ（５１２バイト）毎のＤＭＡデータ転送が行なわれ、バッファ３０とコンパクトフラッシュ４６との間では、リード制御回路２６およびライト制御回路２８によって１セクタ（５１２バイト）毎のＤＭＡデータ転送が行なわれる。一方、ＣＰＵ５４は、バッファ３０に対してプログラム制御方式でデータアクセスを行ない、このときのアクセスデータ量は１セクタよりも少ない。
【００６６】
このように、ＣＰＵ５４が必要とするデータ量は１セクタよりも少ないため、ＳＤＲＡＭ１２にアクセスするよりも、バッファ３０にアクセスした方が、アクセス処理が短時間で完了する。また、コンパクトフラッシュ４６はセクタ単位でのアクセスしかできないため、バッファ３０をＣＰＵ５４のアクセス先とした方が、効率的なアクセスが可能となる。
【００６７】
また、バッファ３０は複数のバンク０〜２からなり、各バンクは５１２バイトの容量を持っている。ライト制御回路１８およびリード制御回路２０は、画像データのＤＭＡ転送にバンク１または２を用い、リード制御回路２６およびライト制御回路２８は、ＦＡＴ情報データのＤＭＡ転送にバンク０を用いるとともに、画像データのＤＭＡ転送にバンク１または２を用いる。そして、ＣＰＵ５４は、ＦＡＴ情報データの読み出し／書き込みのためにバンク０にアクセスする。このように、画像データの格納先とＦＡＴ情報データの格納先が互いに異なるため、画像データのＤＭＡ転送時にＦＡＴ情報データが消滅することはない。
【００６８】
コンパクトフラッシュ４６は、内部転送を実行していないときにレディ状態となり、内部転送を実行しているときにビジー状態となり、現時点の状態を示す状態信号が特定の入出力ポートから出力される。コンパクトフラッシュ４６とバッファ３０との間でのＤＭＡ転送を行なうとき、ＣＰＵ５４は、この状態信号が示す状態に関係なく、処理要求をレジスタ３６に設定する。一方、リード制御回路２６およびライト制御回路２８は、状態信号が示すレディを示すときにコンパクトフラッシュ４６ににアクセスする。従来技術では、ＣＰＵがコンパクトフラッシュの状態を監視し、コンパクトフラッシュがレディ状態に移行してからＤＭＡコントローラに処理要求を与えていたため、時間的なロスが発生していた。この実施例では、上述の要領で処理が行なわれるため、従来技術のような時間のロスが生じることはない。
【００６９】
また、ＳＤＲＡＭ１２からコンパクトフラッシュ４６へのＤＭＡデータ転送を行なう場合、ライト制御回路１８は、４バイト（３２ビット）分のデータをＳＤＲＡＭ１２からバッファ３０に転送する毎にカウンタ２２を“４”ずつインクリメントし、リード制御回路２６は、２バイト分のデータをバッファ３０からコンパクトフラッシュ４６に転送する毎にカウンタ２２を“２”ずつディクリメントする。逆に、コンパクトフラッシュ４６からＳＤＲＡＭ１２へのＤＭＡデータ転送を行なう場合は、ライト制御回路２８が、２バイト分のデータをコンパクトフラッシュ４６からバッファ３０に転送する毎にカウンタ２４を“２”ずつインクリメントし、リード制御回路２０が、４バイト分のデータをバッファ３０からＳＤＲＡＭ１２に転送する毎にカウンタ２４を“４”ずつディクリメントする。したがって、ＣＰＵ５４は、単に処理要求をレジスタ３６に設定するだけで、適切なタイミングでＤＭＡデータ転送が実行される。なお、ライト制御回路２８およびリード制御回路２０は同時に動作することはないため、アクセスが同時に実行されることはない。
【００７０】
また、ライト制御回路１８，リード制御回路２０，ＤＭＡコントローラ５８およびＣＰＵ５４の各々は、専用のデータバスＤＢＤＭＡ１，ＤＢＤＭＡ２，ＤＢＤＭＡ５およびＣＢＣＰＵ１を通してＳＤＲＡＭ１２へのデータアクセスを行なう。ここで、各々のデータアクセスが互いに衝突することがないよう、アクセス要求がアクセス要求制御回路１６によって調停される。さらに、アクセス要求制御回路１６は、複数のアクセス要求が与えられたとき、ＣＰＵ５４からのアクセス要求を優先的に受け付ける。これによって、それぞれのＤＭＡコントローラがＤＭＡ処理を行なっているときでも、ＤＭＡ処理の合間でプログラム制御によるアクセスを行なうことができる。ＤＭＡ処理の合間で行なわれる処理としては、図１１のステップＳ１３５におけるファイル情報データの書き込み処理がある。なお、このような処理は、リード制御回路２６，ライト制御回路２８およびＣＰＵ５４の各々がコンパクトフラッシュ４６にアクセスするときも行なわれる。
【００７１】
なお、この実施例では、画像ファイルの記録媒体としてコンパクトフラッシュを用いているため、１セクタを５１２バイトとしているが、記録媒体としてスマートメディアを用いるときは、１セクタは５２８バイトである。このとき、バッファには、各々が５２８バイトの容量を持つバンクを設け、１回のＤＭＡ処理によって転送するデータ量は５２８バイトとする必要がある。
【００７２】
また、この実施例では、バースト転送方式のメモリとしてＳＤＲＡＭを用いているが、バースト転送は単なるＤＲＡＭでも行なわれる。このため、ＳＤＲＡＭの代わりにＤＲＡＭを用いてもよい。
【図面の簡単な説明】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】コンパクトフラッシュの構成を示すブロック図である。
【図３】レジスタの一例を示す図解図である。
【図４】バッファに形成された複数のバンクを示す図解図である。
【図５】ＳＤＲＡＭ側リード制御回路の動作の一部を示すフロー図である。
【図６】ＣＦ側ライト制御回路の動作の一部を示すフロー図である。
【図７】ＣＦ側リード制御回路の動作の一部を示すフロー図である。
【図８】ＳＤＲＡＭ側ライト制御回路の動作の一部を示すフロー図である。
【図９】ＣＰＵの動作の一部を示すフロー図である。
【図１０】ＣＰＵの動作の他の一部を示すフロー図である。
【図１１】ＣＰＵの動作のその他の一部を示すフロー図である。
【符号の説明】
１０…ディジタルカメラ
１２…ＳＤＲＡＭ
１６，３４，４０，４２，４８…アクセス要求制御回路
１８，２８…ライト制御回路
２０，２６…リード制御回路
３０…バッファ
３６…レジスタ
４６…コンパクトフラッシュ
５４…ＣＰＵ
【図１】
2004030602.tif 000003
【図２】
2004030602.tif 000004
【図３】
2004030602.tif 000005
【図４】
2004030602.tif 000006
【図５】
2004030602.tif 000007
【図６】
2004030602.tif 000008
【図７】
2004030602.tif 000009
【図８】
2004030602.tif 000010
【図９】
2004030602.tif 000011
【図１０】
2004030602.tif 000012
【図１１】
2004030602.tif 000013
【手続補正書】
【提出日】平成15年5月23日(2003.5.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行なうＤＭＡコントローラ、
前記第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なうＣＰＵ、および
前記ＤＭＡコントローラから前記第１メモリへの第１アクセス要求および前記ＣＰＵから前記第１メモリへの第２アクセス要求を調停する調停回路を備える、データ処理装置。
【請求項２】
前記調停回路は前記第２アクセス要求を優先的に受け付ける、請求項１記載のデータ処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
【課題を解決するための手段】
この発明に従うデータ処理装置は、第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行なうＤＭＡコントローラ、第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なうＣＰＵ、およびＤＭＡコントローラから第１メモリへの第１アクセス要求およびＣＰＵから第１メモリへの第２アクセス要求を調停する調停回路を備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
【作用】
ＤＭＡコントローラは、第１メモリに対して第１データバスを通してＤＭＡ制御方式のデータアクセスを行ない、ＣＰＵは、第１メモリに対して第２データバスを通してプログラム制御方式のデータアクセスを行なう。そして、ＤＭＡコントローラから第１メモリへの第１アクセス要求およびＣＰＵから第１メモリへの第２アクセス要求は、調停回路によって調停される。このため、ＤＭＡ制御方式のデータアクセスの途中でプログラム制御方式のデータアクセスを行なうようなとき、バスの占有関係を切り換える必要がない。


【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
【発明の効果】
この発明によれば、ＤＭＡ制御方式のデータアクセスの途中でプログラム制御方式のデータアクセスを行ないたいようなときにバスの占有関係を切り換える必要がないため、処理を高速化できる。