(57)【要約】【課題】  メモリ２からの読出し開始アドレスがワードアドレスでない場合であっても、ワードアドレスである場合と同程度の短い時間でデータ転送を行なうことが可能なメモリ制御装置１を提供する。【解決手段】  本発明のメモリ制御装置１は、２つのメモリ２、３間に介在し、一方のメモリ２から読み出されたデータを一時的に格納するためのバッファ17、外部からのデータ転送指令に含まれる読出し開始アドレスから前記一方のメモリ２の該読出し開始アドレスに格納されているデータを含むワードのワードアドレスを導出するＤＭＡ制御回路13、前記一方のメモリ２の前記ワードアドレスから読み出したデータを前記バッファ17に格納する選択回路18a、及び前記バッファ17から前記一方のメモリ２の前記読出し開始アドレス以降に格納されているデータを読み出して他方のメモリ３に書き込む選択回路19aを具えている。【選択図】      図１
2006048378.tif 000002
【特許請求の範囲】
【請求項１】
２つのメモリ間に介在して、外部からデータ転送指令を受けて両メモリ間でデータの転送を行なうものであって、複数バイトのデータからなる１ワード毎に付与されているワードアドレスを用いて一方のメモリにアクセスすることが可能なメモリ制御装置において、
前記一方のメモリから読み出されたデータを一時的に格納するためのデータ編成用バッファ手段と、
外部から前記一方のメモリからの読出し開始アドレスを含むデータ転送指令を受けたとき、該読出し開始アドレスから、該一方のメモリの該読出し開始アドレスに格納されているデータを含むワードのワードアドレスを導出するアドレス導出手段と、
前記一方のメモリの前記ワードアドレスからデータの読出しを開始し、読み出したデータを前記データ編成用バッファ手段に格納する第１データ処理手段と、
前記データ編成用バッファ手段から、前記一方のメモリの前記読出し開始アドレス以降に格納されているデータを読み出して他方のメモリに書き込む第２データ処理手段
とを具えていることを特徴とするメモリ制御装置。
【請求項２】
前記アドレス導出手段は、データ転送指令に含まれる読出し開始アドレスがワードアドレスでない場合にワードアドレス導出動作を行ない、前記第１データ処理手段は、前記読出し開始アドレスがワードアドレスでない場合に、導出されたワードアドレスからデータの読出しを開始する一方、前記読出し開始アドレスがワードアドレスである場合には、該読出し開始アドレスからデータの読出しを開始する請求項１に記載のメモリ制御装置。
【請求項３】
外部から前記一方のメモリへの書込み開始アドレスを含むデータ転送指令を受けて前記他方のメモリから該一方のメモリへデータの転送を行なうものであって、
前記他方のメモリからデータを読み出して前記データ編成用バッファ手段に格納する第３データ処理手段と、
前記データ編成用バッファ手段から、前記データ転送指令に含まれる書込み開始アドレスに応じたバイト数のデータを読み出して、前記一方のメモリの該書込み開始アドレス以降に書き込む第４データ処理手段
とを具えている請求項１又は請求項２に記載のメモリ制御装置。
【請求項４】
前記データ編成用バッファ手段から読み出したデータを一時的に格納するための２つのアクセス速度差吸収用メモリ手段を具え、前記第２データ処理手段は、前記データ編成用バッファ手段から読み出したデータを２つのアクセス速度差吸収用メモリ手段に交互に書き込むと共に、該２つのアクセス速度差吸収用メモリ手段から交互にデータを読み出して前記他方のメモリに書き込むものであって、一方のアクセス速度差吸収用メモリ手段からデータを読み出して前記他方のメモリに書き込む動作と、前記データ編成用バッファ手段からデータを読み出して他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行する請求項１乃至請求項３の何れかに記載のメモリ制御装置。
【請求項５】
前記第３データ処理手段は、前記他方のメモリから読み出したデータを前記２つのアクセス速度差吸収用メモリ手段に交互に書き込むと共に、該２つのアクセス速度差吸収用メモリ手段から交互にデータを読み出して前記データ編成用バッファ手段に格納するものであって、一方のアクセス速度差吸収用メモリ手段からデータを読み出して前記データ編成用バッファ手段に格納する動作と、前記他方のメモリからデータを読み出して他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行する請求項４に記載のメモリ制御装置。
【請求項６】
２つのメモリと、該２つのメモリ間に介在し外部からデータ転送指令を受けて両メモリ間でデータの転送を行なうメモリ制御装置と、該メモリ制御装置に対してデータ転送指令を発する情報処理装置とを具えた電子機器において、該情報処理装置は、
一方のメモリからの読出し開始アドレスを含むデータ転送指令を前記メモリ制御装置に出力する手段
を具え、前記メモリ制御装置は、複数バイトのデータからなる１ワード毎に付与されているワードアドレスを用いて前記一方のメモリにアクセスすることが可能であって、
前記一方のメモリから読み出されたデータを一時的に格納するためのデータ編成用バッファ手段と、
前記情報処理装置からデータ転送指令を受けたとき、該指令に含まれる読出し開始アドレスから、前記一方のメモリの該読出し開始アドレスに格納されているデータを含むワードのワードアドレスを導出するアドレス導出手段と、
前記一方のメモリの前記ワードアドレスからデータの読出しを開始し、読み出したデータを前記データ編成用バッファ手段に格納する第１データ処理手段と、
前記データ編成用バッファ手段から、前記一方のメモリの前記読出し開始アドレス以降に格納されているデータを読み出して他方のメモリに書き込む第２データ処理手段
とを具えていることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのメモリ間に介在して、両メモリ間でデータの転送を行なうメモリ制御装置及びこれを具えた電子機器に関するものである。
【背景技術】
【０００２】
近年、ＣＣＤ(固体撮像素子)等の撮像光学系によって撮影された画像をデジタルデータとしてメモリカード等の記録媒体に記録するデジタルカメラが普及している。
デジタルカメラにおいては、ユーザにより画像記録操作が行なわれると、撮像光学系から得られた画像信号がデジタル画像データに変換された後、周知の圧縮方式により圧縮され、これによって得られた圧縮画像データが一旦、ＳＤＲＡＭに格納された後、記録媒体に記録される。
又、ユーザにより画像再生操作が行なわれると、記録媒体に記録されている圧縮画像データが読み出されて一旦、ＳＤＲＡＭに格納された後、該データに対して画像伸長処理及びアナログ変換処理を含む周知の信号処理が施され、これによって得られた画像信号がＬＣＤ(液晶ディスプレイ)等の画像表示装置に供給される。この結果、記録媒体に記録されている画像が画像表示装置に表示されることになる。
【０００３】
図８は、従来のデジタルカメラの構成を表わしている。尚、図８においては、撮像光学系及び画像表示装置の図示は省略されている。
該デジタルカメラは、撮像動作などの種々の動作を制御するＣＰＵ(６)と、画像データを一時的に格納するためのＳＤＲＡＭ(２)と、画像データを記録するための記録媒体(３)と、ＳＤＲＡＭ(２)と記録媒体(３)との間でデータの転送を行なうＤＭＡ(Direct  Memory  Access)コントローラ(５)とを具えている。図中の細線はデータバスを表わしており、各バスの近傍に記載された数字はバス幅を表わしている。ＳＤＲＡＭ(２)は３２ビットのバス幅を有する一方、記録媒体(３)は１６ビットのバス幅を有している。
【０００４】
ＤＭＡコントローラ(５)は、ＳＤＲＡＭ(２)に対する書込み及び読出しを制御するＳＤＲＡＭ制御回路(51)と、記録媒体(３)に対する書込み及び読出しを制御する記録媒体制御回路(52)と、１６バイトのデータ容量を有してＳＤＲＡＭ(２)及び記録媒体(３)から読み出したデータを一時的に格納するための２つのアクセス速度差吸収用メモリ(54a)(54b)と、これら２つのメモリ(54a)(54b)の内、１つのメモリを選択して該メモリに対するデータの書込みを行なう第１メモリ選択回路(55a)と、１つのメモリを選択して該メモリからデータの読出しを行なう第２メモリ選択回路(55b)とを具えている。
又、前記ＤＭＡコントローラ(５)は、アクセス速度差吸収用メモリ(54a)(54b)から読み出した３２ビットのデータの内、上位１６ビットのデータ或いは下位１６ビットのデータの何れかのデータを選択して前記記録媒体制御回路(52)に供給する第１データ選択回路(56a)と、記録媒体(３)から順次読み出される１６ビットのデータを上位データ或いは下位データとして３２ビットのデータを作成しアクセス速度差吸収用メモリ(54a)(54b)に供給する第２データ選択回路(56b)とを具えている。
【０００５】
上記のＳＤＲＡＭ制御回路(51)、記録媒体制御回路(52)、第１及び第２メモリ選択回路(55a)(55b)、第１及び第２データ選択回路(56a)(56b)には、制御バス(50)を介して、これらの回路の動作を制御するＤＭＡ制御回路(53)が接続されている。
ＤＭＡ制御回路(53)には、前記ＣＰＵ(６)が接続されており、ＤＭＡ制御回路(53)は、ＣＰＵ(６)からのデータ転送指令を受けて前記制御動作を実行する。
【０００６】
上記ＳＤＲＡＭ(２)においては、１バイト毎にアドレス(以下、バイトアドレスという)が付与されており、バイトアドレスとして、例えば、１バイト目に“ＳＡ０”、２バイト目に“ＳＡ１”、３バイト目に“ＳＡ２”・・・が付与される。
又、前記ＣＰＵ(６)は、１ワードを３２ビット(＝４バイト)としてデータ処理を行なうものであって、前記ＤＭＡコントローラ(５)は、ＳＤＲＡＭ(２)に対してワード単位でアクセスすることが可能である。１ワードは４バイトであるので、各ワードの最初のアドレス(以下、ワードアドレスという)は、“ＳＡ０”、“ＳＡ４”、“ＳＡ８”・・・となる。
【０００７】
図９(ａ)は、ＳＤＲＡＭ(２)に格納されているデータをワード単位で表わしているのに対し、同図(ｂ)は、ＳＤＲＡＭ(２)に格納されているデータをバイト単位で表わしており、同図(ｃ)乃至(ｅ)はそれぞれ、ＳＤＲＡＭ(２)に格納されているデータを記録媒体(３)に転送する際に、アクセス速度差吸収用メモリ(54a)(54b)及び記録媒体(３)にデータが格納されるタイミングを表わしている。
図９(ａ)の如く、ＳＤＲＡＭ(２)のワードアドレス“ＳＡ０”にデータ“Ｄ０”、ワードアドレス“ＳＡ４”にデータ“Ｄ１”、ワードアドレス“ＳＡ８”にデータ“Ｄ２”・・・が格納されている。又、同図(ｂ)の如く、例えばワードアドレス“ＳＡ０”に格納されている前記データ“Ｄ０”は４つのデータ“Ｄ０ａ”〜“Ｄ０ｄ”から構成されており、バイトアドレス“ＳＡ０”にデータ“Ｄ０ａ”、バイトアドレス“ＳＡ１”にデータ“Ｄ０ｂ”、バイトアドレス“ＳＡ２”にデータ“Ｄ０ｃ”、バイトアドレス“ＳＡ３”にデータ“Ｄ０ｄ”が格納されている。
【０００８】
例えば、図８に示すＣＰＵ(６)からＤＭＡコントローラ(５)のＤＭＡ制御回路(53)に対して、ワードアドレス“ＳＡ０”をＳＤＲＡＭ(２)からの読出し開始アドレスとして８ワード分のデータをＳＤＲＡＭ(２)から記録媒体(３)へ転送すべき旨のデータ転送指令が発せられた場合、ＤＭＡ制御回路(53)は、該ワードアドレスを含むデータ処理指令をＳＤＲＡＭ制御回路(51)に出力する。ＳＤＲＡＭ制御回路(51)は、該指令を受けて、ＳＤＲＡＭ(２)の前記ワードアドレスからデータを３２ビットずつ読み出して４ワード分のデータを１ブロックとして第１メモリ選択回路(55a)にバースト転送する動作を開始する。
第１メモリ選択回路(55a)は、図９(ｄ)の如くＳＤＲＡＭ制御回路(51)からのデータを一方のアクセス速度差吸収用メモリ(54a)に格納する動作を開始し、その後、該メモリ(54a)に最初の３２ビット分のデータ“Ｄ０ａ”〜“Ｄ０ｄ”が格納されて該メモリ(54a)からのデータの読出しが可能となった時点で、第２メモリ選択回路(55b)は、該メモリ(54a)からデータを３２ビットずつ読み出して第１データ選択回路(56a)に供給する動作を開始する。
【０００９】
上述の如く前記一方のアクセス速度差吸収用メモリ(54a)から最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”を読み出して第１データ選択回路(56)に供給する処理が行なわれている間に、前記第１メモリ選択回路(55a)は、同図(ｃ)の如く、次の４ワード分のデータ“Ｄ４ａ”〜“Ｄ７ｄ”を他方のアクセス速度差吸収用メモリ(54b)に格納する動作を開始し、その後、最初の４ワード分のデータの最後のデータ“Ｄ３ｄ”が第１データ選択回路(56a)に供給されると、前記第２メモリ選択回路(55b)は、前記他方のアクセス速度差吸収用メモリ(54a)からデータを３２ビットずつ読み出して第１データ選択回路(56a)に供給する動作を開始する。
第１データ選択回路(56a)は、上述の如く第２メモリ選択回路(55b)から供給される３２ビットのデータの内、下位１６ビットのデータ及び上位１６ビットのデータを交互に記録媒体制御回路(52)に供給する動作を実行し、記録媒体制御回路(52)は、供給されるデータを同図(ｅ)の如く記録媒体(３)に書き込む。
この様にして、ＳＤＲＡＭ(２)から前記ワードアドレス“ＳＡ０”以降に格納されている８ワード分のデータ“Ｄ０ａ”〜“Ｄ７ｄ”が記録媒体(３)に転送されて記録されることになる。
【００１０】
上記ＤＭＡコントローラ(５)においては、上述の如く、ＳＤＲＡＭ(２)から読み出したデータを一旦、アクセス速度差吸収用メモリ(54a)(54b)に格納した後に記録媒体(３)に書き込むことによって、ＳＤＲＡＭ(２)に対するアクセス速度と記録媒体(３)に対するアクセス速度との差を緩和することが出来る。又、図９(ｃ)乃至(ｅ)に示す如く、一方のアクセス速度差吸収用メモリ(54a)からデータを読み出して記録媒体(３)に書き込む処理と、ＳＤＲＡＭ(２)からデータを読み出して他方のアクセス速度差吸収用メモリ(54b)に書き込む処理とを並列的に実行することによって、記録媒体(３)に対する書込みを連続的に行なうことが出来、全体のデータ転送時間を短縮することが出来る。
【００１１】
図１０(ａ)は、記録媒体(３)に記録されているデータをバイト単位で表わしており、同図(ｂ)乃至(ｅ)はそれぞれ、記録媒体(３)に記録されているデータをＳＤＲＡＭ(２)に転送する際に、アクセス速度差吸収用メモリ(54a)(54b)にデータが格納されるタイミング、ＳＤＲＡＭ(２)にワード単位でデータが格納されるタイミング、及びＳＤＲＡＭ(２)にバイト単位でデータが格納されるタイミングを表わしている。
例えば、図８に示すＣＰＵ(６)からＤＭＡコントローラ(５)のＤＭＡ制御回路(53)に対して、ワードアドレス“ＳＡ０”をＳＤＲＡＭ(２)への書込み開始アドレスとして８ワード分のデータを記録媒体(３)からＳＤＲＡＭ(２)へ転送すべき旨のデータ転送指令が発せられた場合には、ＤＭＡ制御回路(53)は、記録媒体制御回路(52)にデータ処理指令を出力する。記録媒体制御回路(52)は、該指令を受けて、図１０(ａ)の如く記録媒体(３)に記録されているデータを１６ビットずつ読み出して第２データ選択回路(56b)に転送する動作を開始する。第２データ選択回路(56b)は、供給される１６ビットのデータを交互に下位データ或いは上位データとして３２ビットのデータを作成し、第１メモリ選択回路(55a)に供給する。
【００１２】
第１メモリ選択回路(55a)は、図１０(ｃ)の如く、第２データ選択回路(56b)からのデータを一方のアクセス速度差吸収用メモリ(54a)に格納する動作を開始し、その後、該メモリ(54a)に４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(54a)が満杯となった時点で、第２メモリ選択回路(55b)は、該メモリ(54a)から該データを読み出してＳＤＲＡＭ制御回路(51)に供給する動作を開始する。
【００１３】
又、上述の如く一方のアクセス速度差吸収用メモリ(54a)に最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(54a)が満杯となった時点で、前記第１メモリ選択回路(55a)は、同図(ｂ)の如く、次の４ワード分のデータ“Ｄ４ａ”〜“Ｄ７ｄ”を３２ビットずつ他方のアクセス速度差吸収用メモリ(54b)に格納する動作を開始する。その後、該アクセス速度差吸収用メモリ(54b)に前記データ“Ｄ４ａ”〜“Ｄ７ｄ”が格納されて該メモリ(54b)が満杯となった時点で、前記第２メモリ選択回路(55b)は、該メモリ(54b)から該データを読み出してＳＤＲＡＭ制御回路(51)に供給する動作を開始する。
ＳＤＲＡＭ制御回路(51)は、同図(ｄ)及び(ｅ)の如く、第２メモリ選択回路(55b)から供給されるデータを３２ビットずつＳＤＲＡＭ(２)に格納する。
この様にして、記録媒体(３)に記録されている８ワード分のデータがＳＤＲＡＭ(２)に転送されて前記ワードアドレス“ＳＡ０”以降に格納されることになる。
【００１４】
上記ＤＭＡコントローラ(５)においては、上述の如く、記録媒体(３)から読み出したデータを一旦、アクセス速度差吸収用メモリ(54a)(54b)に格納した後にＳＤＲＡＭ(２)に書き込むことによって、ＳＤＲＡＭ(２)に対するアクセス速度と記録媒体(３)に対するアクセス速度との差を緩和することが出来る。又、図１０(ｂ)乃至(ｅ)に示す如く、一方のアクセス速度差吸収用メモリ(54a)からデータを読み出してＳＤＲＡＭ(２)に格納する処理と、記録媒体(３)からデータを読み出して他方のアクセス速度差吸収用メモリ(54b)に格納する処理とを並列的に実行することによって、４ワード分のデータをＳＤＲＡＭ(２)に格納する処理が終了してから次の４ワード分のデータをＳＤＲＡＭ(２)に格納する処理が開始されるまでの時間を短縮することが出来、全体のデータ転送時間を短縮することが出来る。
【００１５】
尚、本願出願人は、ＳＤＲＡＭを含む３つのメモリを具え、それらのメモリ間で高速な転送処理を行なうことが可能なデータ処理装置を提案している(特許文献１及び２参照)。
又、本願出願人は、ＣＰＵからのアクセス要求に応じてメモリに対するアクセスを行なう種々のメモリ制御回路を提案している(特許文献３及び４参照)。
更に、ＳＤＲＡＭチップを使用して待ち時間を減少させることが可能な高性能高帯域幅ＲＡＭバス・アーキテクチャが提案されている(特許文献５参照)。
【特許文献１】特開２００１−２４３１７１号公報
【特許文献２】特開２００４−０３０６０２号公報
【特許文献３】特開２０００−１８７６３５号公報
【特許文献４】特開平１１−２５９３５８号公報
【特許文献５】特開平１０−３４０２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記従来のデジタルカメラにおいては、ＳＤＲＡＭ(２)からの読出し開始アドレスがワードアドレス“ＳＡ０”、“ＳＡ４”、“ＳＡ８”・・・である場合には、上述の如くＤＭＡコントローラ(５)によってデータ転送処理を行なうことが出来るが、ＳＤＲＡＭ(２)の読出し開始アドレスがワードアドレスでない場合、例えばバイトアドレス“ＳＡ２”である場合には、ＤＭＡコントローラ(５)のみによってデータ転送処理を行なうことが出来ず、後述の如くＣＰＵ(６)及びＤＭＡコントローラ(５)によってデータ転送処理が行なわれる。
【００１７】
例えば、ＳＤＲＡＭ(２)からの読出し開始アドレスをバイトアドレス“ＳＡ２”として３ワード分のデータ“Ｄ０ｃ”〜“Ｄ２ｄ”を記録媒体(３)に転送する場合には、ＣＰＵ(６)は、先ず図１１(ａ)の如く、プログラム格納メモリからＳＤＲＡＭ(２)のワードアドレス“ＳＡ０”に格納されているワードデータ“Ｄ０”を読み出すプログラム(以下、データ読出しプログラムという)をフェッチして実行する。これによって、同図(ｂ)の如くＳＤＲＡＭ(２)のワードアドレス“ＳＡ０”に格納されているデータ“Ｄ０”、即ち同図(ｃ)に示す３２ビット分のデータ“Ｄ０ａ”〜“Ｄ０ｄ”がＣＰＵ(６)のレジスタに読み込まれる。続いて、ＣＰＵ(６)は、前記プログラム格納メモリから、前記レジスタに読み込まれたデータを下位に１６ビットだけシフトさせた後に下位１６ビットのデータを記録媒体(３)に書き込むプログラム(以下、データシフト・書込みプログラムという)をフェッチして実行する。これによって、ＳＤＲＡＭ(２)のバイトアドレス
“ＳＡ２”及び“ＳＡ３”にそれぞれ格納されているデータ“Ｄ０ｃ”及び“Ｄ０ｄ”が同図(ｄ)の如く記録媒体(３)に記録される。その後、ＣＰＵ(６)は、プログラム格納メモリから、ＤＭＡコントローラ(５)を起動するプログラム(以下、ＤＭＡ起動プログラムという)をフェッチして実行する。これによって、ＣＰＵ(６)からＤＭＡコントローラ(５)に対し、ワードアドレス“ＳＡ４”を読出し開始アドレスとして２ワード分のデータをＳＤＲＡＭ(２)から記録媒体(３)へ転送すべき旨のデータ転送指令が発せられて、ＳＤＲＡＭ(２)のワードアドレス“ＳＡ４”以降に格納されている２ワード分のデータ“Ｄ１ａ”〜“Ｄ２ｄ”が同図(ｄ)の如く記録媒体(３)に記録される。この様にして、ＳＤＲＡＭ(２)のバイトアドレス“ＳＡ２”以降に格納されているデータ“Ｄ０ｃ”〜“Ｄ２ｄ”が記録媒体(３)に転送されて記録されることになる。
【００１８】
従来のデジタルカメラにおいては、上述の如く、ＳＤＲＡＭ(２)からの読出し開始アドレスがワードアドレスでない場合には、ＣＰＵ(６)は、ＤＭＡ起動プログラムをフェッチする処理のみならず、データ読出しプログラムをフェッチする処理、及びデータシフト・書込みプログラムをフェッチする処理を行なわねばならず、読出し開始アドレスがワードアドレスである場合に比べて全体のデータ転送時間が長くなる問題があった。
本発明の目的は、メモリからの読出し開始アドレスがワードアドレスでない場合であっても、読出し開始アドレスがワードアドレスである場合と同程度の短い時間でデータ転送を行なうことが可能なメモリ制御装置及びこれを具えた電子機器を提供することである。
【課題を解決するための手段】
【００１９】
本発明に係るメモリ制御装置は、２つのメモリ間に介在して、外部からデータ転送指令を受けて両メモリ間でデータの転送を行なうものであって、複数バイトのデータからなる１ワード毎に付与されているワードアドレスを用いて一方のメモリにアクセスすることが可能である。そして、該メモリ制御装置は、
前記一方のメモリから読み出されたデータを一時的に格納するためのデータ編成用バッファ手段と、
外部から前記一方のメモリからの読出し開始アドレスを含むデータ転送指令を受けたとき、該読出し開始アドレスから、該一方のメモリの該読出し開始アドレスに格納されているデータを含むワードのワードアドレスを導出するアドレス導出手段と、
前記一方のメモリの前記ワードアドレスからデータの読出しを開始し、読み出したデータを前記データ編成用バッファ手段に格納する第１データ処理手段と、
前記データ編成用バッファ手段から、前記一方のメモリの前記読出し開始アドレス以降に格納されているデータを読み出して他方のメモリに書き込む第２データ処理手段
とを具えている。
【００２０】
上記メモリ制御装置には、該メモリ制御装置に対して一方のメモリからの読出し開始アドレスを含むデータ転送指令を発する情報処理装置が接続される。
上記本発明に係るメモリ制御装置においては、情報処理装置からのデータ転送指令に含まれる読出し開始アドレスから、前記一方のメモリの該読出し開始アドレスに格納されているデータを含むワードのワードアドレスが導出された後、一方のメモリの該導出されたワードアドレスからデータの読出しが開始され、読み出されたデータはデータ編成用バッファ手段に格納される。そして、該データ編成用バッファ手段から、前記一方のメモリの前記読出し開始アドレス以降に格納されているデータが読み出されて他方のメモリに書き込まれる。この様にして、一方のメモリの前記読出し開始アドレス以降に格納されているデータが他方のメモリに転送されて記録されることになる。
上記本発明に係るメモリ制御装置によれば、情報処理装置からのデータ転送指令に含まれる読出し開始アドレスがワードアドレスでない場合であっても、上述の如く一方のメモリの該読出し開始アドレス以降に格納されているデータを他方のメモリに記録することが出来るので、情報処理装置は該メモリ制御装置を起動するプログラムをフェッチして実行すればよく、データ読出しプログラムをフェッチする処理及びデータシフト・書込みプログラムをフェッチする処理は不要である。従って、読出し開始アドレスがワードアドレスである場合と同程度の短い時間でデータの転送を行なうことが出来る。
【００２１】
具体的には、前記アドレス導出手段は、データ転送指令に含まれる読出し開始アドレスがワードアドレスでない場合にワードアドレス導出動作を行ない、前記第１データ処理手段は、前記読出し開始アドレスがワードアドレスでない場合に、導出されたワードアドレスからデータの読出しを開始する一方、前記読出し開始アドレスがワードアドレスである場合には、該読出し開始アドレスからデータの読出しを開始する。
【００２２】
又、具体的には、外部から前記一方のメモリへの書込み開始アドレスを含むデータ転送指令を受けて前記他方のメモリから該一方のメモリへデータの転送を行なうものであって、
前記他方のメモリからデータを読み出して前記データ編成用バッファ手段に格納する第３データ処理手段と、
前記データ編成用バッファ手段から、前記データ転送指令に含まれる書込み開始アドレスに応じたバイト数のデータを読み出して、前記一方のメモリの該書込み開始アドレス以降に書き込む第４データ処理手段
とを具えている。
【００２３】
上記具体的構成においては、情報処理装置からのデータ転送指令に含まれる書込み開始アドレスがワードアドレスでない場合であっても、他方のメモリに書き込まれているデータを一方のメモリの該書込み開始アドレス以降に記録することが出来るので、情報処理装置は該メモリ制御装置を起動するプログラムをフェッチして実行すればよく、書込み開始アドレスがワードアドレスである場合と同程度の短い時間でデータの転送を行なうことが出来る。
【００２４】
更に具体的には、前記データ編成用バッファ手段から読み出したデータを一時的に格納するための２つのアクセス速度差吸収用メモリ手段を具え、前記第２データ処理手段は、前記データ編成用バッファ手段から読み出したデータを２つのアクセス速度差吸収用メモリ手段に交互に書き込むと共に、該２つのアクセス速度差吸収用メモリ手段から交互にデータを読み出して前記他方のメモリに書き込むものであって、一方のアクセス速度差吸収用メモリ手段からデータを読み出して前記他方のメモリに書き込む動作と、前記データ編成用バッファ手段からデータを読み出して他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行する。
【００２５】
上記具体的構成においては、一方のメモリから読み出されたデータを一旦、データ編成用バッファ手段及びアクセス速度差吸収用メモリ手段に書き込んだ後に他方のメモリに書き込むことによって、２つのメモリ間のアクセス速度差を緩和することが出来る。又、一方のアクセス速度差吸収用メモリ手段からデータを読み出して他方のメモリに書き込む動作と、前記データ編成用バッファ手段からデータを読み出して他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行することによって、他方のメモリに対する書込みを連続的に行なうことが出来、全体のデータ転送時間を短縮することが出来る。
【００２６】
更に又、具体的には、前記第３データ処理手段は、前記他方のメモリから読み出したデータを前記２つのアクセス速度差吸収用メモリ手段に交互に書き込むと共に、該２つのアクセス速度差吸収用メモリ手段から交互にデータを読み出して前記データ編成用バッファ手段に格納するものであって、一方のアクセス速度差吸収用メモリ手段からデータを読み出して前記データ編成用バッファ手段に格納する動作と、前記他方のメモリからデータを読み出して他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行する。
【００２７】
上記具体的構成においては、他方のメモリから読み出されたデータを一旦、アクセス速度差吸収用メモリ手段及びデータ編成用バッファ手段に書き込んだ後に一方のメモリに書き込むことによって、２つのメモリ間のアクセス速度差を緩和することが出来る。又、一方のアクセス速度差吸収用メモリ手段からデータを読み出して前記データ編成用バッファ手段に格納する動作と、前記他方のメモリから読み出したデータを他方のアクセス速度差吸収用メモリ手段に書き込む動作とを同時に実行することによって、データ編成用バッファ手段に対する格納処理を連続的に行なうことが出来、全体のデータ転送時間を短縮することが出来る。
【発明の効果】
【００２８】
本発明に係るメモリ制御装置及びこれを具えた電子機器によれば、メモリからの読出し開始アドレスがワードアドレスでない場合であっても、読出し開始アドレスがワードアドレスである場合と同程度の短い時間でデータ転送を行なうことが出来る。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を図１に示すデジタルカメラに実施した形態につき、図面に沿って具体的に説明する。尚、図１においては、撮像光学系及び画像表示装置の図示は省略されている。
本発明に係るデジタルカメラは、図示の如く、撮像動作などの種々の動作を制御するＣＰＵ(４)と、画像データを一時的に格納するためのＳＤＲＡＭ(２)と、画像データを記録するための記録媒体(３)と、ＳＤＲＡＭ(２)と記録媒体(３)との間でデータの転送を行なうＤＭＡコントローラ(１)とを具えている。図中の細線はデータバスを表わしており、各バスの近傍に記載された数字はバス幅を表わしている。ＳＤＲＡＭ(２)は３２ビットのバス幅を有する一方、記録媒体(３)は１６ビットのバス幅を有している。
【００３０】
ＤＭＡコントローラ(１)は、ＳＤＲＡＭ(２)に対する書込み及び読出しを制御するＳＤＲＡＭ制御回路(11)と、記録媒体(３)に対する書込み及び読出しを制御する記録媒体制御回路(12)と、１６バイトのデータ容量を有してＳＤＲＡＭ(２)及び記録媒体(３)から読み出したデータを一時的に格納するための２つのアクセス速度差吸収用メモリ(14a)(14b)と、これら２つのメモリ(14a)(14b)の内、データ書込みの対象とする何れか１つのメモリを選択して該メモリに対するデータの書込みを行なう第１メモリ選択回路(15a)と、データ読出しの対象とする何れか１つのメモリを選択して該メモリからデータの読出しを行なう第２メモリ選択回路(15b)とを具えている。
又、前記ＤＭＡコントローラ(１)は、アクセス速度差吸収用メモリ(14a)(14b)から読み出した３２ビットのデータの内、上位１６ビットのデータ或いは下位１６ビットのデータの何れかのデータを選択して前記記録媒体制御回路(12)に供給する第１データ選択回路(16a)と、記録媒体(３)から順次読み出される１６ビットのデータを上位データ或いは下位データとして３２ビットのデータを作成しアクセス速度差吸収用メモリ(14a)(14b)に供給する第２データ選択回路(16b)とを具えている。
【００３１】
更に、上記ＤＭＡコントローラ(１)は、特徴的構成において、６４ビットのバス幅を有してＳＤＲＡＭ(２)及び記録媒体(３)から読み出したデータを一時的に格納するためのデータ編成用バッファ(17)と、該バッファ(17)からデータを書き込むべき領域を選択して該領域に対するデータの書込みを行なう第１バッファ書込み領域選択回路(18a)及び第２バッファ書込み領域選択回路(18b)と、該バッファ(17)からデータを読み出すべき領域を選択して該領域からデータの読出しを行なう第１バッファ読出し領域選択回路(19a)及び第２バッファ読出し領域選択回路(19b)とを具えている。
【００３２】
上記のＳＤＲＡＭ制御回路(11)、記録媒体制御回路(12)、第１及び第２メモリ選択回路(15a)(15b)、第１及び第２データ選択回路(16a)(16b)、第１及び第２バッファ書込み領域選択回路(18a)(18b)、第１及び第２バッファ読出し領域選択回路(19a)(19b)には、制御バス(10)を介して、これらの回路の動作を制御するＤＭＡ制御回路(13)が接続され、該制御回路(13)には上記ＣＰＵ(４)が接続されている。
【００３３】
上記ＣＰＵ(４)は、ＤＭＡコントローラ(１)にＳＤＲＡＭ(２)から記録媒体(３)へのデータ転送を実行させんとする際には、ＳＤＲＡＭ(２)からの読出し開始アドレスがワードアドレスであるか否かに拘わらず、ＤＭＡコントローラ(１)を起動するためのプログラムをプログラム格納メモリ(図示省略)からフェッチして実行する。これによって、ＣＰＵ(４)からＤＭＡコントローラ(１)のＤＭＡ制御回路(13)に対し、ＳＤＲＡＭ(２)からの読出し開始アドレス、転送容量及び転送方向を含むデータ転送指令が発せられることになる。
一方、ＤＭＡコントローラ(１)に記録媒体(３)からＳＤＲＡＭ(２)へのデータ転送を実行させんとする際には、ＳＤＲＡＭ(２)への書込み開始アドレスがワードアドレスであるか否かに拘わらず、ＤＭＡコントローラ(１)を起動するためのプログラムをプログラム格納メモリからフェッチして実行する。これによって、ＣＰＵ(４)からＤＭＡコントローラ(１)のＤＭＡ制御回路(13)に対し、ＳＤＲＡＭ(２)への書込み開始アドレス、転送容量及び転送方向を含むデータ転送指令が発せられることになる。
前記ＤＭＡ制御回路(13)は、ＣＰＵ(４)からの上記データ転送指令を受けたとき、該指令に含まれる読出し開始アドレス或いは書込み開始アドレスがワードアドレスであるか否かを判断し、その判断結果に応じて制御動作を実行する。
【００３４】
図２は、ＳＤＲＡＭ(２)に格納されているデータを記録媒体(３)に転送する際のデータ転送経路を表わしている。又、図４(ａ)は、ＳＤＲＡＭ(２)に格納されているデータをワード単位で表わしているのに対し、同図(ｂ)は、ＳＤＲＡＭ(２)に格納されているデータをバイト単位で表わしており、同図(ｃ)乃至(ｆ)はそれぞれ、ＳＤＲＡＭ(２)からの読出し開始アドレスがワードアドレスである場合に、データ編成用バッファ(17)、アクセス速度差吸収用メモリ(14a)(14b)及び記録媒体(３)のそれぞれにデータが格納されるタイミングを表わしている。
図４(ａ)の如く、ＳＤＲＡＭ(２)のワードアドレス“ＳＡ０”にデータ“Ｄ０”、ワードアドレス“ＳＡ４”にデータ“Ｄ１”、ワードアドレス“ＳＡ８”にデータ“Ｄ２”・・・が格納されている。又、同図(ｂ)の如く、例えばワードアドレス“ＳＡ０”に格納されている前記データ“Ｄ０”は４つのデータ“Ｄ０ａ”〜“Ｄ０ｄ”から構成されており、バイトアドレス“ＳＡ０”にデータ“Ｄ０ａ”、バイトアドレス“ＳＡ１”にデータ“Ｄ０ｂ”、バイトアドレス“ＳＡ２”にデータ“Ｄ０ｃ”、バイトアドレス“ＳＡ３”にデータ“Ｄ０ｄ”が格納されている。
【００３５】
例えば、図２に示すＣＰＵ(４)からＤＭＡ制御回路(13)に対して、ワードアドレス“ＳＡ０”を読出し開始アドレスとして８ワード分のデータをＳＤＲＡＭ(２)から記録媒体(３)へ転送すべき旨のデータ転送指令が発せられた場合、ＤＭＡ制御回路(13)は、該ワードアドレスを含むデータ処理指令をＳＤＲＡＭ制御回路(11)に出力する。ＳＤＲＡＭ制御回路(11)は、該指令を受けて、ＳＤＲＡＭ(２)の前記ワードアドレスからデータを３２ビットずつ読み出して４ワード分のデータを１ブロックとして第１バッファ書込み領域選択回路(18a)にバースト転送する動作を開始する。
【００３６】
第１バッファ書込み領域選択回路(18a)は、図４(ｃ)の如く、データ編成用バッファ(17)から下位側の３２ビット幅を有する下位側書込み領域BD[31:0]及び上位側の３２ビット幅を有する上位側書込み領域BD[63:32]を交互に選択して、選択した領域にＳＤＲＡＭ制御回路(11)から供給される３２ビットのデータを書き込む動作を開始し、その後、前記バッファ(17)に最初の６４ビット分のデータ“Ｄ０ａ”〜“Ｄ１ｄ”が書き込まれた時点で、第１バッファ読出し領域選択回路(19a)は、前記バッファ(17)の下位側書込み領域及び上位側書込み領域から交互に３２ビットのデータを読み出して第１メモリ選択回路(15a)に供給する動作を開始する。第１メモリ選択回路(15a)は、図４(ｅ)の如く、供給された３２ビットのデータを一方のアクセス速度差吸収用メモリ(14a)に格納する動作を開始し、その後、該メモリ(14a)に最初の３２ビット分のデータ“Ｄ０ａ”〜“Ｄ０ｄ”が格納されて該メモリ(14a)からのデータの読出しが可能となった時点で、第２メモリ選択回路(15b)は、該メモリ(14a)からデータを３２ビットずつ読み出して第１データ選択回路(16a)に供給する動作を開始する。
【００３７】
上述の如く前記一方のアクセス速度差吸収用メモリ(14a)から最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”を読み出して第１データ選択回路(16a)に供給する処理が行なわれている間に、第１メモリ選択回路(15a)は、同図(ｄ)の如く、次の４ワード分のデータ“Ｄ４ａ”〜“Ｄ７ｄ”を他方のアクセス速度差吸収用メモリ(14b)に格納する動作を開始し、その後、最初の４ワード分のデータの最後のデータ“Ｄ３ｄ”が第１データ選択回路(16a)に供給されると、前記第２メモリ選択回路(15b)は、前記他方のアクセス速度差吸収用メモリ(14a)からデータを３２ビットずつ読み出して第１データ選択回路(16a)に供給する動作を開始する。
第１データ選択回路(16a)は、上述の如く第２メモリ選択回路(15b)から供給される３２ビットのデータの内、下位１６ビットのデータ及び上位１６ビットのデータを交互に記録媒体制御回路(12)に供給する動作を実行し、記録媒体制御回路(12)は、供給されるデータを図４(ｆ)の如く記録媒体(３)に書き込む。
この様にして、ＳＤＲＡＭ(２)から前記ワードアドレス“ＳＡ０”以降に格納されている８ワード分のデータ“Ｄ０ａ”〜“Ｄ７ｄ”が記録媒体(３)に転送されて記録されることになる。
【００３８】
図５(ｃ)乃至(ｆ)はそれぞれ、ＳＤＲＡＭ(２)からの読出し開始アドレスがワードアドレスでない場合に、データ編成用バッファ(17)、アクセス速度差吸収用メモリ(14a)(14b)及び記録媒体(３)のそれぞれにデータが格納されるタイミングを表わしている。尚、同図(ａ)及び(ｂ)はそれぞれ、図４(ａ)及び(ｂ)と同一であって、図５(ａ)は、ＳＤＲＡＭ(２)に格納されているデータをワード単位で表わしており、同図(ｂ)は、ＳＤＲＡＭ(２)に格納されているデータをバイト単位で表わしている。
例えば、図２に示すＣＰＵ(４)からＤＭＡ制御回路(13)に対して、ワードアドレスでないバイトアドレス“ＳＡ１”を読出し開始アドレスとして８ワード分のデータをＳＤＲＡＭ(２)から記録媒体(３)へ転送すべき旨のデータ転送指令が発せられた場合、ＤＭＡ制御回路(13)は、前記バイトアドレス“ＳＡ１”から、該アドレスに格納されているデータ“Ｄ０ｂ”を含むワードデータ“Ｄ０”のワードアドレス“ＳＡ０”を導出し、該ワードアドレスを含むデータ処理指令をＳＤＲＡＭ制御回路(11)に出力する。ＳＤＲＡＭ制御回路(11)は、該指令を受けて、ＳＤＲＡＭ(２)の前記ワードアドレス“ＳＡ０”からデータを３２ビットずつ読み出して４ワード分のデータを１ブロックとして第１バッファ書込み領域選択回路(18a)にバースト転送する動作を開始する。
【００３９】
第１バッファ書込み領域選択回路(18a)は、図５(ｃ)の如く、データ編成用バッファ(17)から下位側書込み領域BD[31:0]及び上位側書込み領域BD[63:32]を交互に選択して、選択した領域にＳＤＲＡＭ制御回路(11)から供給される３２ビットのデータを書き込む動作を開始し、その後、該バッファ(17)に最初の６４ビット分のデータ“Ｄ０ａ”〜“Ｄ１ｄ”が書き込まれた時点で、第１バッファ読出し領域選択回路(19a)は、該バッファ(17)からデータを３２ビットずつ読み出して第１メモリ選択回路(15a)に供給する動作を開始する。このとき、データ編成用バッファ(17)の書込み領域は、ＳＤＲＡＭ(２)の前記読出し開始アドレス“ＳＡ１”に格納されていたデータ“Ｄ０ｂ”が格納されている位置から上位側に３２ビット幅を有する第１書込み領域BD[39:8]と、残りの３２ビット幅を有する第２書込み領域BD[7:0]BD[63:40]とに分割され、これらの第１書込み領域及び第２書込み領域から交互にデータが読み出されて第１メモリ選択回路(15a)に供給される。これによって、第１メモリ選択回路(15a)には、前記読出し開始アドレス“ＳＡ１”に格納されていたデータ“Ｄ０ｂ”以降のデータが供給されることになる。
【００４０】
第１メモリ選択回路(15a)は、図５(ｅ)の如く、供給された３２ビットのデータを一方のアクセス速度差吸収用メモリ(14a)に格納する動作を開始し、その後、該メモリ(14a)に最初の３２ビット分のデータ“Ｄ０ｂ”〜“Ｄ１ａ”が格納されて該メモリ(14a)からのデータの読出しが可能となった時点で、第２メモリ選択回路(15b)は、該メモリ(14a)からデータを３２ビットずつ読み出して第１データ選択回路(16a)に供給する動作を開始する。
【００４１】
上述の如く前記一方のアクセス速度差吸収用メモリ(14a)から最初の４ワード分のデータ“Ｄ０ｂ”〜“Ｄ４ａ”を読み出して第１データ選択回路(16a)に供給する処理が行なわれている間に、第１メモリ選択回路(15a)は、同図(ｄ)の如く、次の４ワード分のデータ“Ｄ４ｂ”〜“Ｄ８ａ”を他方のアクセス速度差吸収用メモリ(14b)に格納する動作を開始し、その後、最初の４ワード分のデータの最後のデータ“Ｄ４ａ”が第１データ選択回路(16a)に供給されると、前記第２メモリ選択回路(15b)は、前記他方のアクセス速度差吸収用メモリ(14a)からデータを３２ビットずつ読み出して第１データ選択回路(16a)に供給する動作を開始する。
第１データ選択回路(16a)は、上述の如く第２メモリ選択回路(15b)から供給される３２ビットのデータの内、下位１６ビットのデータ及び上位１６ビットのデータを交互に記録媒体制御回路(12)に供給する動作を実行し、記録媒体制御回路(12)は、供給されたデータを図５(ｆ)の如く記録媒体(３)に書き込む。
この様にして、ＳＤＲＡＭ(２)から前記バイトアドレス“ＳＡ１”以降に格納されている８ワード分のデータ“Ｄ０ｂ”〜“Ｄ８ａ”が記録媒体(３)に転送されて記録されることになる。
【００４２】
ＳＤＲＡＭ(２)から記録媒体(３)へのデータ転送時には、上述の如く、ＳＤＲＡＭ(２)から読み出したデータを一旦、データ編成用バッファ(17)及びアクセス速度差吸収用メモリ(14a)(14b)に格納した後に記録媒体(３)に書き込むことによって、ＳＤＲＡＭ(２)に対するアクセス速度と記録媒体(３)に対するアクセス速度との差を緩和することが出来る。又、図４(ｄ)乃至(ｆ)に示す如く、一方のアクセス速度差吸収用メモリ(14a)からデータを読み出して記録媒体(３)に書き込む処理と、データ編成用バッファ(17)からデータを読み出して他方のアクセス速度差吸収用メモリ(14b)に書き込む処理とを並列的に実行することによって、記録媒体(３)に対する書込みを連続的に行なうことが出来る。
【００４３】
図３は、記録媒体(３)に記録されているデータをＳＤＲＡＭ(２)に転送する際のデータ転送経路を表わしている。又、図６(ａ)は、記録媒体(３)に格納されているデータをバイト単位で表わしており、同図(ｂ)乃至(ｆ)はそれぞれ、ＳＤＲＡＭ(２)への書込み開始アドレスがワードアドレスである場合に、アクセス速度差吸収用メモリ(14a)(14b)にデータが格納されるタイミング、データ編成用バッファ(17)にデータが格納されるタイミング、ＳＤＲＡＭ(２)にワード単位でデータが格納されるタイミング、及びＳＤＲＡＭ(２)にバイト単位でデータが格納されるタイミングを表わしている。
【００４４】
例えば、図３に示すＣＰＵ(４)からＤＭＡ制御回路(13)に対して、ワードアドレス“ＳＡ０”をＳＤＲＡＭ(２)への書込み開始アドレスとして８ワード分のデータを記録媒体(３)からＳＤＲＡＭ(２)へ転送すべき旨のデータ転送指令が発せられた場合には、ＤＭＡ制御回路(13)は、記録媒体制御回路(12)にデータ処理指令を出力する。記録媒体制御回路(12)は、該指令を受けて、図６(ａ)の如く記録媒体(３)に記録されているデータを１６ビットずつ読み出して第２データ選択回路(16b)に転送する動作を開始する。第２データ選択回路(16b)は、供給される１６ビットのデータを交互に下位データ或いは上位データとして３２ビットのデータを作成し、第１メモリ選択回路(15a)に供給する。
【００４５】
第１メモリ選択回路(15a)は、同図(ｃ)の如く、第２データ選択回路(16b)からのデータを一方のアクセス速度差吸収用メモリ(14a)に格納する動作を開始し、その後、該メモリ(14a)に４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(14a)が満杯となった時点で、第２メモリ選択回路(15b)は、該メモリ(14a)から該データを読み出して第２バッファ書込み領域選択回路(18b)に供給する動作を開始する。
【００４６】
又、上述の如く一方のアクセス速度差吸収用メモリ(14a)に最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(14a)が満杯となった時点で、第１メモリ選択回路(15a)は、同図(ｂ)の如く、次の４ワード分のデータ“Ｄ４ａ”〜“Ｄ７ｄ”を３２ビットずつ他方のアクセス速度差吸収用メモリ(14b)に格納する動作を開始する。その後、最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が前記一方のアクセス速度差吸収用メモリ(54a)から読み出されて第２バッファ書込み領域選択回路(18b)に供給された時点で、前記第２メモリ選択回路(15b)は、前記他方のアクセス速度差吸収用メモリ(14b)からデータを３２ビットずつ読み出して第２バッファ書込み領域選択回路(18b)に供給する動作を開始する。
【００４７】
第２バッファ書込み領域選択回路(18b)は、図６(ｃ)の如く、データ編成用バッファ(17)から下位側書込み領域BD[31:0]及び上位側書込み領域BD[63:32]を交互に選択して、選択した領域に第２メモリ選択回路(15b)から供給される３２ビットのデータを書き込む動作を実行し、前記バッファ(17)に最初の６４ビット分のデータ“Ｄ０ａ”〜“Ｄ１ｄ”が書き込まれた時点で、第２バッファ読出し領域選択回路(19b)は、前記バッファ(17)の下位側書込み領域及び上位側書込み領域から交互に３２ビットのデータを読み出してＳＤＲＡＭ制御回路(11)に供給する動作を開始する。ＳＤＲＡＭ制御回路(11)は、同図(ｅ)及び(ｆ)の如く、供給されたデータを３２ビットずつＳＤＲＡＭ(２)に格納する。
この様にして、記録媒体(３)に記録されている８ワード分のデータがＳＤＲＡＭ(２)に転送されて前記ワードアドレス“ＳＡ０”から格納されることになる。
【００４８】
図７(ｂ)乃至(ｆ)はそれぞれ、ＳＤＲＡＭ(２)への書込み開始アドレスがワードアドレスでない場合に、データ編成用バッファ(17)にデータが格納されるタイミング、アクセス速度差吸収用メモリ(14a)(14b)にデータが格納されるタイミング、ＳＤＲＡＭ(２)にワード単位でデータが格納されるタイミング、及びＳＤＲＡＭ(２)にバイト単位でデータが格納されるタイミングを表わしている。尚、同図(ａ)は、図６(ａ)と同一であって、記録媒体(３)に記録されているデータをバイト単位で表わしている。
【００４９】
例えば、図３に示すＣＰＵ(４)からＤＭＡ制御回路(13)に対して、ワードアドレスでないバイトアドレス“ＳＡ１”をＳＤＲＡＭ(２)への書込み開始アドレスとして８ワード分のデータを記録媒体(３)からＳＤＲＡＭ(２)へ転送すべき旨のデータ転送指令が発せられた場合には、ＤＭＡ制御回路(13)は、記録媒体制御回路(12)にデータ処理指令を出力する。記録媒体制御回路(12)は、該指令を受けて、図７(ａ)の如く記録媒体(３)に記録されているデータを１６ビットずつ読み出して第２データ選択回路(16b)に転送する動作を開始する。第２データ選択回路(16b)は、供給される１６ビットのデータを交互に下位データ或いは上位データとして３２ビットのデータを作成し、第１メモリ選択回路(15a)に供給する。
【００５０】
第１メモリ選択回路(15a)は、図７(ｃ)の如く第２データ選択回路(16b)からのデータを一方のアクセス速度差吸収用メモリ(14a)に格納する動作を開始し、その後、該メモリ(14a)に４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(14a)が満杯となった時点で、第２メモリ選択回路(15b)は、該メモリ(14a)から該データを読み出して第２バッファ書込み領域選択回路(18b)に供給する動作を開始する。
【００５１】
又、上述の如く一方のアクセス速度差吸収用メモリ(14a)に最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が格納されて該メモリ(14a)が満杯となった時点で、第１メモリ選択回路(15a)は、同図(ｂ)の如く、次の４ワード分のデータ“Ｄ４ａ”〜“Ｄ７ｄ”を３２ビットずつ他方のアクセス速度差吸収用メモリ(14b)に格納する動作を開始する。その後、最初の４ワード分のデータ“Ｄ０ａ”〜“Ｄ３ｄ”が前記一方のアクセス速度差吸収用メモリ(54a)から読み出されて第２バッファ書込み領域選択回路(18b)に供給された時点で、前記第２メモリ選択回路(15b)は、前記他方のアクセス速度差吸収用メモリ(14b)からデータを３２ビットずつ読み出して第２バッファ書込み領域選択回路(18b)に供給する動作を開始する。
【００５２】
第２バッファ書込み領域選択回路(18b)は、同図(ｄ)の如く、データ編成用バッファ(17)から下位側書込み領域BD[31:0]及び上位側書込み領域BD[63:32]を交互に選択して、選択した領域に第２メモリ選択回路(15b)から供給される３２ビットのデータを書き込む動作を実行し、前記バッファ(17)に最初の６４ビット分のデータ“Ｄ０ａ”〜“Ｄ１ｄ”が書き込まれた時点で、第２バッファ読出し領域選択回路(19b)は、前記バッファ(17)からデータを３２ビットずつ読み出してＳＤＲＡＭ制御回路(11)に供給する動作を開始する。このとき、データ編成用バッファ(17)の書込み領域は、ＳＤＲＡＭ(２)への書込み開始アドレス“ＳＡ１”に応じて３２ビット幅の第１書込み領域BD[23:0]BD[63:56]と第２書込み領域BD[55:24]とに分割され、これらの第１書込み領域及び第２書込み領域から交互にデータが読み出されてＳＤＲＡＭ制御回路(11)に供給される。これによって、ＳＤＲＡＭ制御回路(11)には、第１番目のデータブロックとして、２４ビットのデータ“Ｄ０ａ”〜“Ｄ０ｃ”が供給され、その後、データ“Ｄ０ｄ”以降のデータが３２ビットずつ供給されることになる。ＳＤＲＡＭ制御回路(11)は、同図(ｅ)及び(ｆ)の如く、供給されたデータをＳＤＲＡＭ(２)に格納する。
この様にして、記録媒体(３)に記録されている８ワード分のデータがＳＤＲＡＭ(２)に転送されて前記バイトアドレス“ＳＡ１”から格納されることになる。
【００５３】
上述の如く、記録媒体(３)からＳＤＲＡＭ(２)へのデータ転送時には、記録媒体(３)から読み出したデータを一旦、アクセス速度差吸収用メモリ(14a)(14b)及びデータ編成用バッファ(17)に格納した後にＳＤＲＡＭ(２)に書き込むことによって、ＳＤＲＡＭ(２)に対するアクセス速度と記録媒体(３)に対するアクセス速度との差を緩和することが出来る。又、図６(ｂ)乃至(ｄ)に示す如く、一方のアクセス速度差吸収用メモリ(14a)からデータを読み出してデータ編成用バッファ(17)に格納する処理と、記録媒体(３)からデータを読み出して他方のアクセス速度差吸収用メモリ(14b)に書き込む処理とを並列的に実行することによって、データ編成用バッファ(17)に対する格納処理を連続的に行なうことが出来る。
【００５４】
上記本発明に係るデジタルカメラにおいては、ＤＭＡコントローラ(１)は、ＣＰＵ(４)からのデータ転送指令に含まれる読出し開始アドレスがワードアドレスでない場合であっても、ＳＤＲＡＭ(２)の該読出し開始アドレス以降に書き込まれているデータを記録媒体(３)に転送して記録することが出来るので、ＣＰＵ(４)は、上述の如くＤＭＡ起動プログラムをフェッチして実行すればよく、データ読出しプログラムをフェッチする処理及びデータシフト・書込みプログラムをフェッチする処理は不要である。従って、読出し開始アドレスがワードアドレスである場合と同程度の短い時間でＳＤＲＡＭ(２)から記録媒体(３)へのデータ転送を行なうことが出来る。
又、ＤＭＡコントローラ(１)は、ＣＰＵ(４)からのデータ転送指令に含まれる書込み開始アドレスがワードアドレスでない場合であっても、記録媒体(３)に記録されているデータをＳＤＲＡＭ(２)の該書込み開始アドレス以降に格納することが出来るので、ＣＰＵ(４)はＤＭＡ起動プログラムをフェッチして実行すればよく、書込み開始アドレスがワードアドレスである場合と同程度の短い時間で記録媒体(３)からＳＤＲＡＭ(２)へのデータ転送を行なうことが出来る。
【００５５】
尚、本発明の各部構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能である。
例えば、ＳＤＲＡＭに限らず、その他の種々のメモリを採用することが可能である。
又、本発明は、デジタルカメラに限らず、その他の種々の電子機器に実施することが可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明を実施したデジタルカメラの構成を表わすブロック図である。
【図２】ＳＤＲＡＭに格納されているデータを記録媒体に転送する際のデータ転送経路を表わすブロック図である。
【図３】記録媒体に記録されているデータをＳＤＲＡＭに転送する際のデータ転送経路を表わすブロック図である。
【図４】ＳＤＲＡＭからの読出し開始アドレスがワードアドレスである場合のデータ読出し及び書込みのタイミングを表わす図である。
【図５】ＳＤＲＡＭからの読出し開始アドレスがワードアドレスでない場合のデータ読出し及び書込みのタイミングを表わす図である。
【図６】ＳＤＲＡＭへの書込み開始アドレスがワードアドレスである場合のデータ読出し及び書込みのタイミングを表わす図である。
【図７】ＳＤＲＡＭへの書込み開始アドレスがワードアドレスでない場合のデータ読出し及び書込みのタイミングを表わす図である。
【図８】従来のデジタルカメラの構成を表わすブロック図である。
【図９】ＳＤＲＡＭに格納されているデータを記録媒体に転送する際のデータ読出し及び書込みのタイミングを表わす図である。
【図１０】記録媒体に記録されているデータをＳＤＲＡＭに転送する際のデータ読出し及び書込みのタイミングを表わす図である。
【図１１】ＣＰＵが各種プログラムを起動するタイミングと、ＳＤＲＡＭ及びメモリに格納されているデータを表わす図である。
【符号の説明】
【００５７】
(１)   ＤＭＡコントローラ
(11)   ＳＤＲＡＭ制御回路
(12)   記録媒体制御回路
(13)   ＤＭＡ制御回路
(17)   データ編成用バッファ
(18a)  第１バッファ書込み領域選択回路
(18b)  第２バッファ書込み領域選択回路
(19a)  第１バッファ読出し領域選択回路
(19b)  第２バッファ読出し領域選択回路
(２)   ＳＤＲＡＭ
(３)   記録媒体
(４)   ＣＰＵ
【図１】
2006048378.tif 000003
【図２】
2006048378.tif 000004
【図３】
2006048378.tif 000005
【図４】
2006048378.tif 000006
【図５】
2006048378.tif 000007
【図６】
2006048378.tif 000008
【図７】
2006048378.tif 000009
【図８】
2006048378.tif 000010
【図９】
2006048378.tif 000011
【図１０】
2006048378.tif 000012
【図１１】
2006048378.tif 000013