JP2010015413A - データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法 - Google Patents

データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法 Download PDF

Info

Publication number
JP2010015413A
JP2010015413A JP2008175349A JP2008175349A JP2010015413A JP 2010015413 A JP2010015413 A JP 2010015413A JP 2008175349 A JP2008175349 A JP 2008175349A JP 2008175349 A JP2008175349 A JP 2008175349A JP 2010015413 A JP2010015413 A JP 2010015413A
Authority
JP
Japan
Prior art keywords
transfer
data
destination device
transfer destination
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008175349A
Other languages
English (en)
Inventor
Katsuya Tanaka
克哉 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008175349A priority Critical patent/JP2010015413A/ja
Publication of JP2010015413A publication Critical patent/JP2010015413A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】データを2つのメモリに転送しようとするとき、2回の転送を行わなければならなかった。
【解決手段】転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を含む。
【選択図】図1

Description

本発明は、例えば、DMA(Direct Memory Access)コントローラ及びDMAコントロールシステムのような、データを移動させるデータ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法に関する。
下記の特許文献1及び特許文献2に記載されたDMAコントロールシステムと同様な構成を有する、図15に図示された従来のDMAコントロールシステムS10では、CPU(Central Processing Unit)1がDMAC(DMA Controller)2へ、装置DVからメモリM1及びメモリM2へデータDTをDMA転送する旨を指示する。当該指示を受けると、DMAC2は、まず、アドレスバスAB及び読み出し信号(図示せず。)により装置DV(アドレスはAD_DV)を転送元装置として指定し、かつ、アドレスバスAB及び書き込み信号(図示せず。)によりメモリM1(アドレスはAD_M1)を転送先装置として指定する。これにより、DMAC2は、装置DVからメモリM1へデータDTをデータバスDB経由で転送し、1回めの転送が終了する。
上記した1回めの転送に引き続き、DMAC2は、次に、前記アドレスバスAB及び前記読み出し信号によりメモリM1を転送元装置として指定し、かつ、前記アドレスバスAB及び前記書き込み信号によりメモリM2(アドレスはAD_M2)を転送先装置として指定する。これにより、DMAC2は、メモリM1からメモリM2へデータDTをデータバスDB経由で転送し、2回めの転送が終了する。
特開平5−233440号公報 特開2004−48337号公報
しかしながら、上記した従来のDMAコントロールシステムS10では、上記した2回の転送を縦続的に(直列的に)行わなければならないことから、装置DVからメモリM1及びメモリM2へのデータDTのDMA転送が終了するまでの所要時間が長いという問題があった。
本発明は、上記した課題を解決すべく、以下の適用例により実現される。
[適用例1]
転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を含むことを特徴とするデータ転送装置。
[適用例2]
転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を含むことを特徴とするデータ転送装置。
適用例1、適用例2のデータ転送装置によれば、例えば、前記選択部は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記転送部は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果例えば、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送の開始から前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる場合がある。
[適用例3]
前記第1の転送先装置への転送を先に行いかつ前記第2の転送先装置への転送を後に行うとの転送順序を指定する指定部を更に含み、
前記転送部は、前記データを、前記第1の転送先装置へ転送した後に前記第2の転送先装置へ転送することを特徴とする適用例1又は適用例2のデータ転送装置。
適用例3のデータ転送装置によれば、例えば、指定部は、前記第1の転送先装置への転送を先に行い、かつ、前記第2の転送先装置への転送を後に行う旨の転送順序を指定することにより、前記転送部は、前記データを、前記第1の転送先装置へ転送した後に前記第2の転送先装置へ転送することができることから、前記データを前記第1の転送先装置及び前記第2の転送先装置の両方を完全に同時ではなく、僅かにずれたタイミングで転送することが可能となる。
[適用例4]
前記指定部は、前記転送順序の指定を、チップセレクト信号により行うことを特徴とする適用例3のデータ転送装置。
適用例4のデータ転送装置によれば、例えば、前記指定部は、前記転送順序の指定を前記チップセレクト信号により行い、また、当該チップセレクト信号は、汎用されている信号であることから、前記転送順序を指定するべく新たに別な信号を準備することなく、前記転送順序の指定を実現することが可能となる。
[適用例5]
前記指定部は、前記転送順序の指定を、書込信号により行うことを特徴とする適用例3のデータ転送装置。
適用例5のデータ転送装置によれば、例えば、前記指定部は、前記転送順序の指定を前記書込信号により行い、また、当該書込信号は、汎用されている信号であることから、前記転送順序を指定するべく新たに別な信号を準備することなく、前記転送順序の指定を実現することが可能となる。
[適用例6]
前記データを変換する変換部を更に含み、
前記転送部は、前記変換部により変換されたデータを転送することを特徴とする適用例1又は2のデータ転送装置。
適用例6のデータ転送装置によれば、前記変換部は、前記データを変換し、前記転送部は、前記変換されたデータを転送することから、例えば、秘匿性等の観点から、前記変換前のデータをそのままの形式で転送することが好ましくないような属性を有する場合であっても、前記データを前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置へ転送することが可能となる。
[適用例7]
前記変換部は、前記データに暗号を施すことを特徴とする適用例6のデータ転送装置。
適用例7のデータ転送装置によれば、例えば、前記変換部は、前記データに暗号を施すことから、前記転送部は、前記暗号化されたデータを転送することができ、これにより、前記データの秘匿性を維持することが可能となる。
[適用例8]
前記変換部は、前記データのエンディアンを変更することを特徴とする適用例6のデータ転送装置。
適用例8のデータ転送装置によれば、前記変換部は、前記データのエンディアンを変更することから、例えば、前記データの本来のエンディアンが、CPUが使用するのに適した形式でない場合であっても、前記データの前記エンディアンの変更により当該CPUが使用するのに適した形式に合わせることができることから、当該CPUにとって転送後のデータを使用し易くすることが可能となる。
[適用例9]
前記変換部は、前記データのエンディアンをビッグ・エンディアンへ変更することを特徴とする適用例8のデータ転送装置。
適用例9のデータ転送装置によれば、前記データのエンディアンをビッグ・エンディアンへ変更することから、前記データを、SPARC(登録商標)のようなCPUにとって転送後のデータを使用し易くすることが可能となる。
[適用例10]
前記変換部は、前記データのエンディアンをリトル・エンディアンへ変更することを特徴とする適用例8のデータ転送装置。
適用例10のデータ転送装置によれば、前記データのエンディアンをリトル・エンディアンへ変更することから、前記データを、Pentium(登録商標)のようなCPUにとって転送後のデータを使用し易くすることが可能となる。
[適用例11]
前記変換部は、前記データにビット・シフトを施すことを特徴とする適用例6のデータ転送装置。
適用例11のデータ転送装置によれば、前記変換部が、前記データにビット・シフトを施すことから、例えば、前記データを構成する複数のビットの位置をCPUのデータ処理の都合上から規定される有効な桁位置へ移動することが可能となり、その結果、当該CPUにとって転送後のデータを使用し易くすることができる。
[適用例12]
前記変換部は、前記データに左シフトを施すことを特徴とする適用例11のデータ転送装置。
適用例12のデータ転送装置によれば、前記変換部は前記データに左シフトを施すことから、例えば、前記データを構成するビットの桁数がCPUの処理の観点から小さくても、左シフトが実行された後のデータを構成するビットの桁数を、当該CPUの処理上適するものとすることが可能となる。
[適用例13]
前記変換部は、前記左シフトにより前記データを10ビットから16ビットへ変換することを特徴とする適用例12のデータ転送装置。
適用例13のデータ転送装置によれば、前記変換部は、前記左シフトにより前記データを10ビットから16ビットへ変換することから、例えば、CPUが16ビット処理に好適なものである場合には、変換後のデータが、当該CPUにとって使用し易いものとすることが可能となる。
[適用例14]
前記変換部は、前記データにサチュレーション付きの演算を施すことを特徴とする適用例6のデータ転送装置。
適用例14のデータ転送装置によれば、前記変換部は、前記データにサチュレーション付きの演算を施すことから、例えば、前記データが、輝度及び明度を有する画像データ、又は、音量を有する音データである場合に、前記データが単なる演算を施された結果として、演算後のデータにより表される輝度や明度が予想しないレベルになってしまうこと、及び、当該演算後のデータにより表される音量が予想しないレベルになってしまうことを回避することが可能となり、その結果、転送後のデータを用いたCPUの処理が無駄になってしまうという事態を回避することが可能となる。
[適用例15]
前記変換部は、前記データにサチュレーション付きの加算を施すことを特徴とする適用例14のデータ転送装置。
適用例15のデータ転送装置によれば、前記変換部は、前記データにサチュレーション付きの加算を施すことから、例えば、前記データが単なる加算を施された結果として、加算後の結果である和の値が、有効値、例えば、FFhを上回ってしまい、それにより、例えば、03hになってしまい、加算後のデータにより表される輝度や明度が予想しない小さいレベルになってしまうこと、及び、当該加算後のデータにより表される音量が予想しない小さいレベルになってしまうことを回避することが可能となり、その結果、転送後のデータを用いたCPUの処理が無駄になってしまうという事態を回避することが可能となる。
[適用例16]
前記変換部は、前記データにサチュレーション付きの減算を施すことを特徴とする適用例14のデータ転送装置。
適用例16のデータ転送装置によれば、前記変換部は、前記データにサチュレーション付きの減算を施すことから、減算後の結果である差の値が、有効値、例えば、00hを下回ってしまい、それにより、例えば、FAhになってしまい、それにより、減算後のデータにより表される輝度や明度が予想しない大きいレベルになってしまうこと、及び、当該減算後のデータにより表される音量が予想しない大きいレベルになってしまうことを回避することが可能となり、その結果、転送後のデータを用いたCPUの処理が無駄になってしまうという事態を回避することが可能となる。
[適用例17]
前記第1の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であり、前記第2の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であることを特徴とする適用例1又は2のデータ転送装置。
適用例17のデータ転送装置によれば、前記第1の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であり、前記第2の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であり、これにより、第1の転送先装置及び第2の転送先装置がシリコン型記憶装置であるか磁気型記憶装置であるかを問わず、データ転送を行うことができる。
[適用例18]
データの出力を受けるべき第1の出力先装置及び第2の出力先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の出力先装置及び前記第2の出力先装置の両装置を選択する選択部と、
前記データを前記選択された前記第1の出力先装置及び前記第2の出力先装置の両装置へ実質的に同時に出力する出力部と、を含むことを特徴とするデータ出力装置。
[適用例19]
データの出力を受けるべき第1の出力先装置及び第2の出力先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の出力先装置及び前記第2の出力先装置の両装置を選択する選択部と、
前記データを前記選択された前記第1の出力先装置及び前記第2の出力先装置の両装置へ実質的に1回の出力命令で出力する出力部と、を含むことを特徴とするデータ出力装置。
適用例18、適用例19のデータ出力装置によれば、例えば、前記選択部は、前記第1の出力先装置及び前記第2の出力先装置の両方が割り当てられているアドレスを指定することにより、前記第1の出力先装置及び前記第2の出力先装置の両方を選択する。これにより、前記出力部は、前記第1の出力先装置及び前記第2の出力先装置の両方への前記データの出力を、実質的に同時に、換言すれば、実質的に、1回の出力命令で行うことができる。その結果、従来のような、前記データを前記第1の出力先装置へ出力し、更に、当該データを前記第1の出力先装置から前記第2の出力先装置へ出力するという、2回の連続的な出力を行うことを回避することができ、前記データの出力が終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例20]
データの書き込みを受けるべき第1の書込先装置及び第2の書込先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の書込先装置及び前記第2の書込先装置の両装置を選択する選択部と、
前記データを前記選択された前記第1の書込先装置及び前記第2の書込先装置の両装置へ実質的に同時に書き込む書込部と、を含むことを特徴とするデータ処理装置。
[適用例21]
データの書き込みを受けるべき第1の書込先装置及び第2の書込先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の書込先装置及び前記第2の書込先装置の両装置を選択する選択部と、
前記データを前記選択された前記第1の書込先装置及び前記第2の書込先装置の両装置へ実質的に1回の書込命令で書き込む書込部と、を含むことを特徴とするデータ処理装置。
適用例20、適用例21のデータ処理装置によれば、例えば、前記選択部は、前記第1の書込先装置及び前記第2の書込先装置の両方が割り当てられているアドレスを指定することにより、前記第1の書込先装置及び前記第2の書込先装置の両方を選択する。これにより、前記書込部は、前記第1の書込先装置及び前記第2の書込先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の書込命令で行うことができる。その結果、従来のような、前記データを、前記第1の書込先装置へ書き込み、更に、当該データを、前記第1の書込先装置から前記第2の書込先装置へ書き込むという、2回の連続的な書き込みを行うことを回避することができ、前記データの書き込みが終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例22]
(1)転送元装置と、
(2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするデータ転送システム。
[適用例23]
(1)転送元装置と、
(2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするデータ転送システム。
適用例22、適用例23のデータ転送システムによれば、例えば、前記データ転送装置の前記選択部は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記データ転送装置の前記転送部は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例24]
選択部と転送部とを有する転送装置のデータの転送を制御するデータ転送プログラムであって、
前記選択部に、転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択させる選択工程と、
前記転送部に、前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送させる転送工程と、を含むことを特徴とするデータ転送プログラム。
[適用例25]
選択部と転送部とを有する転送装置のデータの転送を制御するデータ転送プログラムであって、
前記選択部に、転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択させる選択工程と、
前記転送部に、前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送させる転送工程と、を含むことを特徴とするデータ転送プログラム。
適用例24、適用例25のデータ転送プログラムによれば、例えば、前記選択工程は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記転送工程は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例26]
(1)車両の運転に関連する画像データを収集する収集装置と、
(2)前記収集装置から前記画像データの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記収集装置から前記画像データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするドライブレコーダ。
[適用例27]
(1)車両の運転に関連する画像データを収集する収集装置と、
(2)前記収集装置から前記画像データの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記収集装置から前記画像データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするドライブレコーダ。
適用例26、適用例27のドライブレコーダによれば、例えば、前記選択部は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記転送部は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方へ、前記車両の運転に関連する画像データを転送することを、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例28]
(1)転送元装置と、
(2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とする電子機器。
[適用例29]
(1)転送元装置と、
(2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
(3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
(3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とする電子機器。
適用例28、適用例29の電子機器によれば、例えば、前記選択部は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記転送部は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる。
[適用例30]
転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択工程と、
前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送工程と、を含むことを特徴とするデータ転送方法。
[適用例31]
転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択工程と、
前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送工程と、を含むことを特徴とするデータ転送方法。
適用例30、適用例31のデータ転送方法によれば、例えば、前記選択工程は、前記第1の転送先装置及び前記第2の転送先装置の両方が割り当てられているアドレスを指定することにより、前記第1の転送先装置及び前記第2の転送先装置の両方を選択する。これにより、前記転送工程は、前記転送元装置から前記第1の転送先装置及び前記第2の転送先装置の両方への前記データの転送を、実質的に同時に、換言すれば、実質的に、1回の転送命令で行うことができる。その結果、従来のような、前記データを前記転送元装置から前記第1の転送先装置へ転送し、更に、当該データを前記第1の転送先装置から前記第2の転送先装置へ転送するという、2回の連続的な転送を行うことを回避することができ、前記データの転送が終了するまでの所要時間を従来に比して短縮することが可能となる。
《実施例》
実施例のデータ転送システムについて図面を参照して説明する。
〈構成〉
図1は、実施例のデータ転送システムの構成を示す。実施例のデータ転送システムSは、DMA転送を制御するDMAコントロールシステムであり、図1に示されるように、転送元装置(例えば、デジタルカメラ、ビデオカメラ、マイク、ハードディスク)であるDVから転送先装置(例えば、DRAM、SRAM)であるメモリM1及びM2へ、画像データ及び音データ等であるデータ、例えば、データDT1を同時的にDMA転送を行うべく、CPU1と、DMAC2と、装置DVと、第1のメモリM1と、第2のメモリM2と、デコーダDECと、論理積素子AND1、AND2と、記憶部STと、を含み、これらは、基本的に、32本(32ビット)の線からなるアドレスバスAB及び32本(32ビット)の線からなるデータバスDBにより接続されている。
CPU1は、(A)アドレスバスABにアドレス信号を出力し、(B)データバスDBからデータの入力を受けまたデータバスDBへデータを出力し、換言すれば、データ転送を行い、(C)読み出し信号RDを(どこに)出力し、(D)書き込み信号WRを(どこに)出力する。CPU1は、上記(A)〜(D)の動作に加えて、DMA転送をDMAC2に指示すべく、DMAC2にDMA転送のための情報を通知する。「DMA転送のための情報」とは、(1)転送元装置のアドレス、(2)転送先装置のアドレス、(3)転送すべきデータのサイズ、(4)その他のオプションをいう。例えば、装置DVに記憶されているデータDT1を、第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」の両方へ転送することを想定すると、CPU1は、当該DMA転送のための情報として、(1)装置DVのアドレス「AD_DV」と、(2)第1のメモリM1及び第2のメモリM2のアドレス「AD_M1(1)&M2(1)」と、(3)転送すべきデータDT1のサイズ(例えば、10MB)を通知する。
第1のメモリM1及び第2のメモリM2の両メモリが割り当てられているアドレス「AD_M1(1)&M2(1)」については、後述されるように、当該アドレス「AD_M1&M2」が指定されることにより、デコーダDEC及び論理積素子AND1、AND2が協働して「ロー(low)」である、2つのチップセレクト信号CSを第1のメモリM1及び第2のメモリM2へ出力する。これにより、第1のメモリM1及び第2のメモリM2の両方が、ディスイネーブル状態(動作しない状態)からイネーブル状態(動作する状態)へ遷移する(ロー・アクティブ(low active)の場合)。以下では、「ロー」と「0」とは同義であり、また、「ハイ(high)」と「1」とは同義である。
図2は、実施例のDMACの構成を示す。DMAC2は、CPU1に代わってDMA転送を行う。図2に示されるように、DMAC2は、選択部D1と、転送部D2と、指定部D3と、変換部D4とを有する。
選択部D1は、アドレスバスABに接続されており、アドレスバスABにアドレス信号を出力することによって装置DV、第1のメモリM1、第2のメモリM2、又は、第1のメモリM1及び第2のメモリM2の両方を選択する。より具体的には、選択部D1は、アドレスバスAB上でアドレス信号により装置DVのアドレス「AD_DV」を指定することによって装置DVを選択し、アドレスバスAB上でアドレス信号により第1のメモリM1のアドレス「AD_M1」を指定することによって第1のメモリM1を選択し、アドレスバスAB上でアドレス信号により第2のメモリM2のアドレス「AD_M2」を指定することによって第2のメモリM2を選択し、アドレスバスAB上でアドレス信号により第1、第2のメモリのアドレス「AD_M1&M2」を指定することによって第1のメモリM1及び第2のメモリM2の両方を選択する。
転送部D2は、データバスDBに接続されており、データバスDBを介してデータ転送を行う。より具体的には、データバスDBを介して装置DVから第1のメモリM1へデータ転送を行い、データバスDBを介して装置DVから第2のメモリM2へデータ転送を行い、または、データバスDBを介して装置DVから第1のメモリM1及び第2のメモリM2の両方へデータ転送を行う。
指定部D3は、読み出し信号RD及び書き込み信号WRを出力する。指定部D3は、より具体的には、例えば、読み出し信号RDを装置DVに出力することにより、装置DVからのデータ読み出しを行い、また、書き込み信号WRを第1のメモリM1へ出力することにより、第1のメモリM1へのデータ書き込みを行い、書き込み信号WRを第2のメモリM2へ出力することにより、第2のメモリM2へのデータ書き込みを行い、書き込み信号WRを第1のメモリM1及び第2のメモリM2の両方へ出力することにより、第1のメモリM1及び第2のメモリM2へのデータ書き込みを行う。
指定部D3は、また、アドレスバスABに接続されており、データ転送先にデータを転送する順序を指定する。より具体的には、指定部D3は、アドレスバスABへアドレス信号を出力することによってデコーダDECからチップセレクト信号CSを、装置DV、第1のメモリM1、第2のメモリM2のいずれに出力すべきかを決定する。ここで、アドレスバスABにアドレス信号を出力する点については、選択部D1と指定部D3とは、実質的に同一に機能している。
指定部D3は、アドレスバスABにアドレス「AD_M1(1)」(例えば、上位ビットAD31は「0」であり、上位ビットAD30は「1」である。)を出力する。これにより、デコーダDECは、上位ビットAD31の値「0」及びAD30の値「1」をデコードする。その結果として、端子T(M1)から「0」を出力し、端子T(M2)から「1」を出力し、端子T(M1&M2)から「1」を出力する。これにより、論理積素子AND1は、「ロー」であるチップセレクト信号CSを第1のメモリM1に出力し、論理積素子AND2は、「ハイ」であるチップセレクト信号CSを第2のメモリM2に出力する。この結果、第1のメモリM1のみがイネーブル状態になる。
指定部D3は、アドレスバスABにアドレス「AD_M2(1)」(例えば、上位ビットAD31は「1」であり、上位ビットAD30は「0」である。)を出力することにより、デコーダDECは、上位ビットAD31の値「1」及びAD30の値「0」をデコードし、その結果として、端子T(M1)から「1」を出力し、端子T(M2)から「0」を出力し、端子T(M1&M2)から「1」を出力し、これにより、論理積素子AND1は、「ハイ」であるチップセレクト信号CSを第1のメモリM1に出力し、論理積素子AND2は、「ロー」であるチップセレクト信号CSを第2のメモリM2に出力し、この結果、第2のメモリM2のみがイネーブル状態になる。
指定部D3は、アドレスバスABにアドレス「AD_M1(1)」(例えば、上位ビットAD31は「0」であり、上位ビットAD30は「0」である。)を出力することにより、デコーダDECは、上位ビットAD31の値「0」及びAD30の値「0」をデコードし、その結果として、端子T(M1)から「1」を出力し、端子T(M2)から「1」を出力し、端子T(M1&M2)から「0」を出力し、これにより、論理積素子AND1は、「ロー」であるチップセレクト信号CSを第1のメモリM1に出力し、論理積素子AND2は、「ロー」であるチップセレクト信号CSを第2のメモリM2に出力し、この結果、第1のメモリM1及び第2のメモリM2の両方がイネーブル状態になる。
また、第1のメモリM1及び第2のメモリM2の両方に略同時にデータ転送を行うことに代えて、第1のメモリM1へ転送した後に、当該転送に引き続き、第2のメモリM2へ転送すること、及び、第2のメモリM2へ転送した後に、当該転送に引き続き、第1のメモリM1へ転送する。詳細については、変形例として説明する。
変換部D4は、データの形式を変換する。変換部D4は、より具体的には、(1)変換の特殊態様として、何らの変換を行わず、(2)データを暗号化し、(3)データのエンディアンを変更し、例えば、ビッグ・エンディアン又はリトル・エンディアンへ変更し、(4)データにビット・シフトを施し、例えば、データを左シフトすることにより10ビットから16ビットへ変換し、(5)データにサチュレーション付きの演算を施し、例えば、データにサチュレーション付きの加算又はサチュレーション付きの減算を行う。実施例では、変換部D4は、上記の(1)のように、何らの変換を行わず、他方で、上記の(2)〜(5)の変換については、変形例で説明する。
図1に戻り、装置DVは、例えば、デジタルカメラ、ビデオカメラ(画像入力装置)、マイク(音入力装置)、ハードディスク(磁気型記憶装置)であり、転送元装置として機能する。他方で、第1のメモリM1及び第2のメモリM2は、例えば、SRAM、DRAM等のシリコン型記憶装置であり、転送先装置として機能する。ここで、上記したように、第1のメモリM1は、第1のメモリM1に印加されるチップセレクト信号CSが「ハイ」であるときには、ディスイネーブル状態にあり、即ち、何らの動作(読み出し動作、書き込み動作)を行わず、他方で、当該チップセレクト信号CSが「ロー」であるときには、イネーブル状態にあり、即ち、前記動作を行う(ロー・アクティブの場合)。同様にして、第2のメモリM2は、第2のメモリM2に印加されるチップセレクト信号CSが「ハイ」であるときには、ディスイネーブル状態にあり、即ち、何らの動作(読み出し動作、書き込み動作)を行わず、他方で、当該チップセレクト信号CSが「ロー」であるときには、イネーブル状態にあり、即ち、前記動作を行う(ロー・アクティブの場合)。
装置DVは、アドレス「AD_DV」が割り当てられており、当該アドレス「AD_DV」は、データの読み出し及びデータの書き込みを行うために指定すべきアドレスである。例えば、装置DVから当該装置DVに記憶されているデータDT1を読み出すときにはアドレス「AD_DV」が指定され、装置DVから当該装置DVに記憶されているデータDT2を読み出すときにもアドレス「AD_DV」が指定され、装置DVから当該装置DVに記憶されているデータDT3を読み出すときにもアドレス「AD_DV」が指定される。他方で、装置DVにデータDT1を書き込むときにはアドレス「AD_DV」が指定され、装置DVにデータDT2を書き込むときにもアドレス「AD_DV」が指定され、装置DVにデータDT3を書き込むときにもアドレス「AD_DV」が指定される。
なお、装置DVは、アドレスバスAB上に出力されたアドレス信号がデコーダDECによってデコードされた結果であるチップセレクト信号(論理積素子AND1、AND2から出力されるチップセレクト信号CSとは異なるチップセレクト信号)によって、ディスイネーブル状態及びイネーブル状態の切り換えが可能であるところ、本実施例では、第1のメモリM1及び第2のメモリM2の動作に関する説明及び理解を容易にすべく、装置DVは、常時、イネーブル状態にあることを想定する。
第1のメモリM1及び第2のメモリM2は、基本的に、ディスイネーブル状態にあり、換言すれば、基本的には、読み出し動作及び書き込み動作を行っていない状態になる。
第1のメモリM1は、アドレス「AD_M1(1)」、「AD_M1(2)」、「AD_M1(3)」、...が割り当てられており、当該アドレス「AD_M1(1)」、「AD_M1(2)」、「AD_M1(3)」、...は、第1のメモリM1にデータの読み出し及び書き込みを行うために指定すべき個々のアドレスである。
例えば、第1のメモリM1から当該第1のメモリM1のアドレス「AD_M1(1)」に記憶されているデータDT1を読み出すときには、選択部D1は、アドレス「AD_M1(1)」を指定し、第1のメモリM1から当該第1のメモリM1のアドレス「AD_M1(2)」に記憶されているデータDT2を読み出すときにはアドレス「AD_M1(2)」を指定し、第1のメモリM1から当該第1のメモリM1のアドレス「AD_M1(3)」に記憶されているデータDT3を読み出すときには、アドレス「AD_M1(3)」を指定する。他方で、第1のメモリM1のアドレス「AD_M1(1)」にデータDT1を書き込むときには、アドレス「AD_M1(1)」を指定し、第1のメモリM1のアドレス「AD_M1(2)」にデータDT2を書き込むときには、アドレス「AD_M1(2)」を指定し、第1のメモリM1のアドレス「AD_M1(3)」にデータDT3を書き込むときには、アドレス「AD_M1(3)」を指定する。
第2のメモリM2は、アドレス「AD_M2(1)」、「AD_M2(2)」、「AD_M2(3)」、...が割り当てられており、当該アドレス「AD_M2(1)」、「AD_M2(2)」、「AD_M2(3)」、...は、第2のメモリM2にデータの読み出し及びデータの書き込みを行うために指定すべき個々のアドレスである。
例えば、第2のメモリM2から当該第2のメモリM2のアドレス「AD_M2(1)」に記憶されているデータDT1を読み出すときにはアドレス「AD_M2(1)」を指定し、第2のメモリM2から当該第2のメモリM2のアドレス「AD_M2(2)」に記憶されているデータDT2を読み出すときにはアドレス「AD_M2(2)」を指定し、第2のメモリM2から当該第2のメモリM2のアドレス「AD_M2(3)」に記憶されているデータDT3を読み出すときには、アドレス「AD_M2(3)」を指定する。他方で、第2のメモリM2のアドレス「AD_M2(1)」にデータDT1を書き込むときには、アドレス「AD_M2(1)」を指定し、第2のメモリM2のアドレス「AD_M2(2)」にデータDT2を書き込むときには、アドレス「AD_M2(2)」を指定し、第2のメモリM2のアドレス「AD_M2(3)」にデータDT3を書き込むときには、アドレス「AD_M2(3)」を指定する。
第1のメモリM1及び第2のメモリM2は、アドレス「AD_M1(1)&M2(1)」、アドレス「AD_M1(2)&M2(2)」、アドレス「AD_M1(3)&M2(3)」、...が割り当てられており、第1のメモリM1及び第2のメモリM2にデータの読み出し及びデータの書き込みを行うために指定すべき個々のアドレスである。
例えば、第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」の両方にデータDT1を同時的に書き込むときには、アドレス「AD_M1(1)&M2(1)」を指定し、第1のメモリM1のアドレス「AD_M1(2)」及び第2のメモリM2のアドレス「AD_M2(2)」の両方に同時的にデータDT2を書き込むときには、アドレス「AD_M1(2)&M2(2)」を指定し、第1のメモリM1のアドレス「AD_M1(3)」及び第2のメモリM2のアドレス「AD_M2(3)」の両方に同時的にデータDT3を書き込むときには、アドレス「AD_M1(3)&M2(3)」を指定する。
デコーダDECは、CPU1及びDMAC2のいずれかからアドレスバスABによりアドレスの指定を受け、論理積素子AND1、AND2と協働して、第1のメモリM1、第2のメモリM2を選択する。
より具体的には、デコーダDECは、第1のメモリM1のアドレス「AD_M1(1)」を選択すべくアドレス「AD_M1(1)」の指定を受けると、当該アドレス「AD_M1(1)」の上位2ビット(AD31「0」、AD30「1」)をデコードし、当該デコードの結果として、チップセレクト信号CSがロー・アクティブ(low active)であるという動作原理に従って、端子T(M1)から、「ロー」の信号S(M1)を出力し、端子T(M2)から、「ハイ」の信号S(M2)を出力し、端子T(M1&M2)から、「ハイ」の信号S(M1&M2)を出力する。論理積素子AND1、AND2は、「ロー」である信号S(M1)、「ハイ」である信号S(M2)、「ハイ」である信号S(M1&M2)に論理積を施すことにより、論理積素子AND1は、「ロー」であるチップセレクト信号CSを第1のメモリM1へ出力し、他方で、論理積素子AND2は、「ハイ」であるチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1のみがイネーブル状態になる。
デコーダDECは、また、第2のメモリM2のアドレス「AD_M2(1)」を選択すべくアドレス「AD_M2(1)」の指定を受けると、当該アドレス「AD_M2(1)」の上位2ビット(AD31「1」、AD30「0」)をデコードし、当該デコードの結果として、チップセレクト信号CSがロー・アクティブ(low active)であるという動作原理に従って、端子T(M1)から、「ハイ」の信号S(M1)を出力し、端子T(M2)から、「ロー」の信号S(M2)を出力し、端子T(M1&M2)から、「ハイ」の信号S(M1&M2)を出力する。論理積素子AND1、AND2は、「ハイ」である信号S(M1)、「ロー」である信号S(M2)、「ハイ」である信号S(M1&M2)に論理積を施すことにより、論理積素子AND1は、「ハイ」であるチップセレクト信号CSを第1のメモリM1へ出力し、他方で、論理積素子AND2は、「ロー」であるチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第2のメモリM2のみがイネーブル状態になる。
デコーダDECは、更に、第1のメモリM1及び第2のメモリM2のアドレス「AD_M1(1)&M2(1)」の両方を選択すべくアドレス「AD_M1(1)&M2(1)」の指定を受けると、当該アドレス「AD_M1(1)&M2(1)」の上位2ビット(AD31「1」、AD30「1」)をデコードし、当該デコードの結果として、端子T(M1)から、「ハイ」の信号S(M1)を出力し、端子T(M2)から、「ハイ」の信号S(M2)を出力し、端子T(M1&M2)から、「ロー」の信号S(M1&M2)を出力する。論理積素子AND1、AND2は、「ハイ」である信号S(M1)、「ハイ」である信号S(M2)、「ロー」である信号S(M1&M2)に論理積を施すことにより、論理積素子AND1は、「ロー」であるチップセレクト信号CSを第1のメモリM1へ出力し、かつ、論理積素子AND2もまた、「ロー」であるチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1及び第2のメモリM2の両方がイネーブル状態になる。
記憶部STは、例えば、EEPROMのような不揮発性メモリであり、プログラムPRを予め記憶している。プログラムPRは、CPU1が行うべき処理、より正確には、CPU1自身が直接行うべき処理、及び、CPU1からの指示の下にDMAC2が行うべき処理を規定している。
〈動作1〉
図3は、実施例のデータ転送システムの動作を示すフローチャートである。以下、実施例のデータ転送システムの動作1について図3のフローチャートを参照して説明する。動作の説明及び理解を容易にすべく、装置DVは、予め、データDT1を記憶しており、第1のメモリM1は、データDT1を何ら記憶しておらず、他方で、装置DVから、当該装置DVに記憶されている前記データDT1を、第1のメモリM1(1)へ転送する必要が生じたことを想定する。
ステップS11:装置DVからデータDT1を第1のメモリM1(1)へ転送する必要が生じると、CPU1は、DMAC2に当該データ転送の実行を命令する。CPU1は、より具体的には、DMAC2に前記データ転送を実行させるべく、装置DVから第1のメモリM1(1)へのデータDT1を転送するための情報、即ち、装置DVのアドレス「AD_DV」と、第1のメモリM1(1)のアドレス「AD_M1(1)」と、データDT1のサイズとをDMAC2に通知する。
ステップS12:前記命令を受けると、DMAC2では、選択部D1は、アドレスバスAB上で装置DVのアドレス「AD_DV」を指定し、即ち、装置DVを選択し、かつ、指定部D3は、読み出し信号RDを出力する。これにより、装置DVは、データバスDB上に、データDT1を出力する。
ステップS13:上記した装置DVの選択に引き続き、選択部D1は、アドレスバスAB上に第1のメモリM1のアドレス「AD_M1(1)」を指定し、即ち、第1のメモリM1を選択し、指定部D3は、書き込み信号WRを出力する。当該指定を受けると、デコーダDECは、アドレスバスAB上のアドレス信号のうち上位ビットAD31、AD30をデコードし、その結果として、端子T(M1)から「ロー」の信号S(M1)を出力し、端子T(M2)から「ハイ」の信号S(M2)を出力し、端子T(M1&M2)から「ハイ」の信号S(M1&M2)を出力する。論理積素子AND1は、「ロー」の信号S(M1)及び「ハイ」の信号S(M1&M2)を受けると、「ロー」のチップセレクト信号CSを第1のメモリM1へ出力し、他方で、論理積素子AND2は、「ハイ」の信号S(M2)及び「ハイ」の信号S(M1&M2)を受けると、「ハイ」のチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1は選択され、第2のメモリM2は選択されず、換言すれば、第1のメモリM1は、ディスイネーブル状態からイネーブル状態に遷移し、対照的に、第2のメモリM2は、ディスイネーブル状態に維持される。更に、前記選択されたことに加えて、前記書き込み信号WRを受けると、第1のメモリM1は、書き込みの動作をすべきと認識する。
ステップS14:DMAC2では、転送部D2が、書き込み信号WRが出力されている間に、データバスDB上に存在するデータDT1を第1のメモリM1のアドレス「AD_M1(1)」に書き込む。その後、DMAC2は、アドレスバスAB上に第1のメモリM1のアドレス「AD_M1(1)」を示すアドレス信号を出力すること、及び、書き込み信号WRを出力することを終了し、この結果、第1のメモリM1は、イネーブル状態からディスイネーブル状態へ遷移する。これにより、装置DVから第1のメモリM1へのデータDT1の転送が完了する。
〈動作2〉
図4は、実施例のデータ転送システムの動作を示すフローチャートである。以下、実施例のデータ転送システムの動作2について図4のフローチャートを参照して説明する。動作の説明及び理解を容易にすべく、装置DVは、予め、データDT1を記憶しており、第2のメモリM2は、データDT1を何ら記憶しておらず、他方で、装置DVから、当該装置DVに記憶されている前記データDT1を、第2のメモリM2(1)へ転送する必要が生じたことを想定する。
ステップS21:装置DVからデータDT1を第2のメモリM2(1)へ転送する必要が生じると、CPU1は、DMAC2に当該データ転送の実行を命令する。CPU1は、より具体的には、DMAC2に前記データ転送を実行させるべく、装置DVから第2のメモリM2(1)へのデータDT1を転送するための情報、即ち、装置DVのアドレス「AD_DV」と、第2のメモリM2(1)のアドレス「AD_M2(1)」と、データDT1のサイズとを通知する。
ステップS22:前記命令を受けると、DMAC2では、選択部D1は、アドレスバスAB上に装置DVのアドレス「AD_DV」を指定し、即ち、装置DVを選択し、かつ、指定部D3は、読み出し信号RDを出力する。これにより、装置DVは、データバスDB上に、データDT1を出力する。
ステップS23:上記した装置DVの選択に引き続き、選択部D1は、アドレスバスAB上に第2のメモリM2のアドレス「AD_M2(1)」を指定し、即ち、第2のメモリM2を選択し、指定部D3は、書き込み信号WRを出力する。当該指定を受けると、デコーダDECは、アドレスバスAB上のアドレス信号のうち上位ビットAD31、AD30をデコードし、その結果として、端子T(M1)から「ハイ」の信号S(M1)を出力し、端子T(M2)から「ロー」の信号S(M2)を出力し、端子T(M1&M2)から「ハイ」の信号S(M1&M2)を出力する。論理積素子AND1は、「ハイ」の信号S(M1)及び「ハイ」の信号S(M1&M2)を受けると、「ハイ」のチップセレクト信号CSを第1のメモリM1へ出力し、他方で、論理積素子AND2は、「ロー」の信号S(M2)及び「ハイ」の信号S(M1&M2)を受けると、「ロー」のチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1は選択されず、第2のメモリM2は選択され、換言すれば、第1のメモリM1は、イネーブル状態に維持され、対照的に、第2のメモリM2は、ディスイネーブル状態からイネーブル状態に遷移する。更に、前記選択されたことに加えて、前記書き込み信号WRを受けると、第2のメモリM2は、書き込みの動作をすべきと認識する。
ステップS24:DMAC2では、転送部D2が、書き込み信号WRが出力されている間に、データバスDB上に存在するデータDT1を第2のメモリM2のアドレス「AD_M2(1)」に書き込む。その後、DMAC2は、アドレスバスAB上に第2のメモリM2のアドレス「AD_M2(1)」を示すアドレス信号を出力すること、及び、書き込み信号WRを出力することを終了し、この結果、第2のメモリM2は、イネーブル状態からディスイネーブル状態へ遷移する。これにより、装置DVから第2のメモリM2へのデータDT1の転送が完了する。
〈動作3〉
図5は、実施例のデータ転送システムの動作を示すフローチャートである。以下、実施例のデータ転送システムの動作3について図5のフローチャートを参照して説明する。動作の説明及び理解を容易にすべく、装置DVは、予め、データDT1を記憶しており、第1のメモリM1及び第2のメモリM2は、データDT1を何ら記憶しておらず、他方で、装置DVから、当該装置DVに記憶されている前記データDT1を、第1のメモリM1(1)及び第2のメモリM2(1)へ転送する必要が生じたこと、例えば、装置DVに動作上の障害が発生するおそれがあり、しかも、データDT1を、バックアップの観点から、第1のメモリM1及び第2のメモリM2の両方にしかも短時間内で保存する必要が生じたことを想定する。
ステップS31:装置DVからデータDT1を第1のメモリM1(1)及び第2のメモリM2(1)へ転送する必要が生じると、CPU1は、DMAC2に当該データ転送の実行を命令する。CPU1は、より具体的には、DMAC2に前記データ転送を実行させるべく、装置DVから第1のメモリM1(1)及び第2のメモリM2(1)へのデータDT1を転送するための情報、即ち、装置DVのアドレス「AD_DV」と、第1のメモリM1(1)及び第2のメモリM2(1)のアドレス「AD_M1(1)&M2(1)」と、データDT1のサイズとを通知する。
ステップS32:前記命令を受けると、DMAC2では、選択部D1は、アドレスバスAB上に装置DVのアドレス「AD_DV」を指定し、即ち、装置DVを選択し、かつ、指定部D3は、読み出し信号RDを出力する。これにより、装置DVは、データバスDB上に、データDT1を出力する。
ステップS33:上記した装置DVの選択に引き続き、選択部D1は、アドレスバスAB上に第1のメモリM1及び第2のメモリM2のアドレス「AD_M1(1)&M2(1)」を指定し、即ち、第1のメモリM1及び第2のメモリM2を選択し、指定部D3は、書き込み信号WRを出力する。当該指定を受けると、デコーダDECは、アドレスバスAB上のアドレス信号のうち上位ビットAD31、AD30をデコードし、その結果として、端子T(M1)から「ハイ」の信号S(M1)を出力し、端子T(M2)から「ハイ」の信号S(M2)を出力し、端子T(M1&M2)から「ロー」の信号S(M1&M2)を出力する。論理積素子AND1は、「ハイ」の信号S(M1)及び「ロー」の信号S(M1&M2)を受けると、「ロー」のチップセレクト信号CSを第1のメモリM1へ出力し、同様に、論理積素子AND2は、「ハイ」の信号S(M2)及び「ロー」の信号S(M1&M2)を受けると、「ロー」のチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1は選択され、また、第2のメモリM2も選択され、換言すれば、第1のメモリM1は、ディスイネーブル状態からイネーブル状態に遷移し、第2のメモリM2は、同様にして、ディスイネーブル状態からイネーブル状態に遷移する。更に、前記選択されたことに加えて、前記書き込み信号WRを受けると、第1のメモリM1及び第2のメモリM2は、書き込みの動作をすべきと認識する。
ステップS34:DMAC2では、転送部D2が、書き込み信号WRが出力されている間に、データバスDB上に存在するデータDT1を第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」に書き込む。その後、DMAC2は、アドレスバスAB上に第1のメモリM1及び第2のメモリM2のアドレス「AD_M1(1)&M2(1)」を示すアドレス信号を出力すること、及び、書き込み信号WRを出力することを終了し、この結果、第1のメモリM1及び第2のメモリM2は、イネーブル状態からディスイネーブル状態へ遷移する。これにより、装置DVから第1のメモリM1及び第2のメモリM2へのデータDT1の転送が完了する。
〈効果〉
上述したように、実施例のデータ転送システムSでは、特に、実施例のデータ転送システムSの動作3では、ステップS33で、DMAC2が、アドレスバスABによりアドレス「AD_M1(1)&M2(1)」を選択し、かつ、指定部D3が、書き込み信号WRを出力すると、デコーダDECによるアドレス「AD_M1(1)&M2(1)」のデコードの結果を受けて、論理積素子AND1が、「ロー」のチップセレクト信号CSを第1のメモリM1へ出力し、また、論理積素子AND2も、「ロー」のチップセレクト信号CSを第2のメモリM2へ出力する。これにより、第1のメモリM1及び第2のメモリM2が略同時に選択されることから、ステップS34で、装置DVから第1のメモリM1及び第2のメモリM2の両方へデータDT1を実質的に同時に転送することが可能となり、換言すれば、ステップS31における、CPU1からDMAC2へなされる、実質的に1回のデータ転送命令により、第1のメモリM1及び第2のメモリM2の両方へデータDT1を転送することが可能となる。
《変形例1》
図6は、変形例1のデータ転送システムの構成の一部を示す。変形例1のデータ転送システムは、基本的に、実施例のデータ転送システムS(図1に図示。)と同様な構成を有する。他方で、書き込み信号WRが、第1のメモリM1及び第2のメモリM2の両方に直接入力されている実施例のデータ転送システムSと異なり、変形例1のデータ転送システムでは、図6に示されるように、書き込み信号WRが、第1のメモリM1には直接入力されているものの、第2のメモリM2には、遅延素子DLを介して入力されており、即ち、書き込み信号WRは、第1のメモリM1及び第2のメモリM2の両方へ同時に入力されるのではなく、第1のメモリM1へ入力された後、遅延素子DL分だけ遅れて第2のメモリM2へ入力される。
変形例1のデータ転送システムでは、実施例のデータ転送システムSの動作3と同様に、上述したステップS31及びステップS32と同様な動作を行う。当該動作に引き続き、ステップS33で、選択部D1は、アドレスバスAB上に第1のメモリM1及び第2のメモリM2のアドレス「AD_M1(1)&M2(1)」を選択することにより、デコーダDEC及び論理積素子AND1、AND2の協働により「ロー」のチップセレクト信号CSが第1のメモリM1及び第2のメモリM2の各々に入力され、即ち、第1のメモリM1及び第2のメモリM2の両方が選択され、第1のメモリM1及び第2のメモリM2は、ディスイネーブル状態からイネーブル状態に遷移する。
更に、指定部D3は、書き込み信号WRを出力する。ここで、上記したように、当該書き込み信号WRは、第1のメモリM1へ先に入力され、第2のメモリM2へは遅延素子DL分だけ遅れて入力される。これにより、ステップS34で、転送部D2は、データバスDB上のデータDT1を、書き込み動作の準備が先に完了している第1のメモリM1に書き込み、その後で、書き込み動作の準備が後に完了した第2のメモリM2に書き込む。
上述したように、変形例1のデータ転送システムでは、実施例のデータ転送システムSと異なり、第1のメモリM1へのデータDT1の転送を先に行い、第2のメモリM2へのデータDT1の転送を、遅延素子DLの遅延時間分だけ遅れて行うことによっても、実施例のデータ転送システムSと同様に、第1のメモリM1及び第2のメモリM2へのデータDT1の転送を、実質的に同時に、換言すれば、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
《変形例2》
図7は、変形例2のデータ転送システムの構成の一部を示す。変形例2のデータ転送システムは、基本的に、実施例のデータ転送システムS(図1に図示。)と同様な構成を有する。他方で、実施例のデータ転送システムSと異なり、変形例2のデータ転送システムでは、端子T(M1&M2)と論理積素子AND2の一方の入力端との間に、遅延素子DLが設けられている。これにより、変形例2のデータ転送システムでは、論理積素子AND1から出力されるチップセレクト信号CSが第1のメモリM1へ入力されるタイミングと、論理積素子AND2から出力されるチップセレクト信号CSが第2のメモリM2へ入力されるタイミングと同時である実施例のデータ転送システムSと異なり、図7に示されるように、論理積素子AND1から出力されるチップセレクト信号CSが、先に、第1のメモリM1へ入力され、その後で、即ち、遅延素子DLの遅延分だけ遅れて、論理積素子AND2から出力されるチップセレクト信号CSが、第2のメモリM2へ入力される。換言すれば、第1のメモリM1が先にディスイネーブル状態からイネーブル状態へ遷移し、引き続いて、第2のメモリM2がディスイネーブル状態からイネーブル状態へ遷移する。
変形例2のデータ転送システムでは、実施例のデータ転送システムSと同様に、より正確には、実施例のデータ転送システムSの動作3と同様に、上記したステップS31及びステップS32と同様な動作を行う。当該動作に引き続き、ステップS33で、選択部D1が、アドレスバスAB上にアドレス「AD_M1(1)&M2(1)」を指定することに先立って、指定部D3は、書き込み信号WRを出力する。
前記指定部D3による書き込み信号WRの出力に引き続き、選択部D1は、アドレスバスAB上にアドレス「AD_M1(1)&M2(1)」を指定することにより、最初に、論理積素子AND1から「ロー」のチップセレクト信号CSが出力され、これにより、第1のメモリM1がディスイネーブル状態からイネーブル状態に遷移し、その後で、論理積素子AND2から「ロー」のチップセレクト信号CSが出力され、これにより、第2のメモリM2がディスイネーブル状態からイネーブル状態に遷移する。この結果、ステップS34で、転送部D2が、データバスDB上のデータDT1を、イネーブル状態への遷移が先に完了している第1のメモリM1に書き込み、当該書き込みに引き続き、イネーブル状態への遷移が後に完了した第2のメモリM2に書き込む。
上述したように、変形例2のデータ転送システムでは、実施例のデータ転送システムSと異なり、第1のメモリM1へのデータDT1の転送を先に行い、その後で、第2のメモリM2へのデータDT1の転送を行うことによっても、実施例のデータ転送システムSと同様に、第1のメモリM1及び第2のメモリM2へのデータDT1の転送を、実質的に同時に、換言すれば、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
《変形例3》
変形例3のデータ転送システムについて説明する。変形例3のデータ転送システムでは、基本的に、実施例のデータ転送システムSと同様な構成及び動作を有する。他方で、実施例のデータ転送システムSと異なり、変形例3のデータ転送システムでは、変換部D4は、データDT1に暗号化処理を施し、即ち、秘密鍵暗号化方式(例えば、DES、IDEA、FEAL、MISTY)又は公開鍵暗号化方式(例えば、RSA、ElGamal暗号、楕円曲線暗号)に従った暗号化処理を施す。
変形例3のデータ転送システムでは、実施例のデータ転送システムSでのステップS31、S32を経てデータバスDB上にデータDT1が出力されると、ステップS33で、DMAC2の変換部D4は、データDT1について、例えば、CPU1から予め付与されている公開鍵(図示せず。)を用いて楕円曲線暗号化方式に従って暗号化を施し、ステップS34で、DMAC2中の転送部D2は、当該暗号化されたデータDT1を、第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」の両方に書き込む。
前記書き込みの後に、CPU1が関わらないデータDT1の転送が終了した後に、CPU1は、例えば、第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」のうち、第1のメモリM1のアドレス「AD_M1(1)」から前記暗号化されたデータDT1を読み出して用いようとする場合には、第1のメモリM1のアドレス「AD_M1(1)」から前記暗号化されているデータDT1を読み出し、当該暗号化されているデータDT1を、CPU1が予め秘密管理している、前記公開鍵に対応する秘密鍵を使って復号化することにより、前記データDT1、即ち、暗号化される前のデータDT1を再生する。
上記したように、変形例3のデータ転送システムでは、変換部D4がデータDT1に暗号化を施すことによっても、実施例のデータ転送システムSと同様に、第1のメモリM1及び第2のメモリM2へのデータDT1の転送を、実質的に同時に、換言すれば、CPU1からDMAC2への1回の命令のみで行うことが可能となり、加えて、暗号化を行うことによって、データDT1の秘匿性を維持することが可能となる。
《変形例4》
変形例4のデータ転送システムについて説明する。変形例4のデータ転送システムは、基本的に、実施例のデータ転送システムSと同様な構成及び動作を有する。他方で、実施例のデータ転送システムSと異なり、変換部D4は、データDT1のエンディアン(データDT1のデータ形式であり、例えば、データDT1を第1のメモリM1に記憶するときの当該データDT1のデータ形式、及び、データDT1を第2のメモリM2に記憶するときの当該データDT1のデータ形式)を変更する。
変換部D4は、図8に示されるように、例えば、「1A」、「2B」、「3C」、「4D」(16進法)からの4バイトからなるデータDT1を、ビッグ・エンディアンの形式に従って、「1A」、「2B」、「3C」、「4D」という順序に変換し(この例では、実質的には変換せず)、他方で、前記データDT1を、リトル・エンディアンの形式に従って、「4D」、「3C」、「2B」、「1A」という順序に変換する。
変形例4のデータ転送システムでは、実施例のデータ転送システムSの動作3でのステップS31、S32、S33を経てデータバスDB上にデータDT1が出力されると、ステップS34で、変換部D4は、当該データDT1をビッグ・エンディアン及びリトル・エンディアンに変更し、当該変更の後、転送部D2は、ビッグ・エンディアンに変更されたデータDT1を第1のメモリM1のアドレス「AD_M1(1)」に書き込み、当該書き込みに引き続き、リトル・エンディアンに変更されたデータDT1を第2のメモリM2のアドレス「AD_M2(1)」に書き込む。
上記したように、変形例4のデータ転送システムでは、変換部D4がデータDT1のエンディアンを変更することによっても、実施例のデータ転送システムSと同様に、第1のメモリM1へのビッグ・エンディアン形式のデータDT1の転送及び第2のメモリM2へのリトル・エンディアン形式のデータDT1の転送を実質的に同時に、即ち、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
変形例4のデータ転送システムでは、更に、データDT1のエンディアンの変更により、例えば、CPU1が、ビッグ・エンディアンの形式に従うアーキテクチャを有し(例えば、SPARC(登録商標))、変形例4のデータ転送システムに実装されている他のCPU(図示せず。)が、リトル・エンディアンの形式に従うアーキテクチャを有するときであっても(例えば、Pentium(登録商標))、CPU1及び他のCPUの両方が、データDT1を、それぞれに適した形式で用いることが可能となり、即ち、ビッグ・エンディアン形式のアーキテクチャを備えるCPU1は、第1のメモリM1からビッグ・エンディアン形式のデータDT1を読み出すことにより、当該データDT1をビッグ・エンディアンの形式で用いることが可能となり、他方で、リトル・エンディアン形式のアーキテクチャを備える他のCPUは、第2のメモリM2からリトル・エンディアン形式のデータDT1を読み出すことにより、当該データDT2をリトル・エンディアンの形式で用いることが可能となり、これにより、CPU1及び前記他のCPUは、それぞれ、データDT1を用いた処理を迅速に行うことが可能となる。
《変形例5》
変形例5のデータ転送システムについて説明する。変形例5のデータ転送システムは、基本的に、実施例のデータ転送システムSと同様な構成及び動作を有する。他方で、変形例5のデータ転送システムでは、変換部D4は、実施例のデータ転送システムSと異なり、データDT1にビット・シフトを施す。変換部D4は、より具体的には、図9に示されるように、10ビットからなるデータDT1に1ビットの左シフトを6回繰り返すことにより、データDT1を16ビットに変換する。
変形例5のデータ転送システムでは、実施例のデータ転送システムSの動作3でのステップS31、S32を経てデータバスDB上にデータDT1が出力されると、ステップS33で、変換部D4は、10ビットであるデータDT1、即ち、図9に図示された「1011010011」(2進数)であるデータDT1について、図9に図示された、左1ビットシフトを6回行うことにより、16ビットであるデータDT1、即ち、「1011010011000000」(2進数)であるデータDT1を得る。更に、ステップS34で、転送部D2は、当該16ビットに変換されたデータDT1を、第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」の両方に書き込む。
上記したように、変形例5のデータ転送システムでは、変換部D4がデータDT1にビット・シフトを施すことによっても、実施例のデータ転送システムSと同様に、第1のメモリM1及び第2のメモリM2へのデータDT1の転送を、実質的に同時に、即ち、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
変形例5のデータ転送システムでは、また、当初のデータDT1がCPU1にとって扱い難い桁数であっても、前記ビット・シフトを施すことにより、当該データDT1をCPU1が扱い易いような形式にすることができる。特に、左ビット・シフトを行うことにより、例えば、データDT1が、装置DVに入力されたときの当該データDT1の値が小さ過ぎてそのままでは用いることができないようなものであっても、当該当初のデータDT1を、CPU1が処理可能な形式、又はCPU1が処理し易い形式に変更することができ、特に、当初のデータDT1が10ビットであり、CPU1が16ビットで処理を行いたいときには、前記左1ビット・シフトを6回行うことにより、CPU1がデータDT1を用いるときの利便性を高めることができる。
《変形例6》
変形例6のデータ転送システムについて説明する。変形例6のデータ転送システムでは、基本的に、実施例のデータ転送システムSと同様な構成及び動作を有する。変形例6のデータ転送システムでは、他方で、実施例のデータ転送システムSと異なり、変換部D4は、データDT1にサチュレーション付きの演算を行う。変換部D4は、より具体的には、サチュレーション付きの加算又はサチュレーション付きの減算を行う。
例えば、図10(A)に示されるように、「E5」(16進法。以下同様。)であるデータDT1にデータ「1F」を単に加算すると、加算の結果は、「04」になるところ、サチュレーション付き加算を行うことにより、加算の結果は、「FF」(16進法では最大値)になる。
他方で、図10(B)に示されるように、「3C」であるデータDT1からデータ「4A」を単に減算すると、減算の結果は、「F2」になるところ、即ち、形式的には、比較的小さい負の値になるところ、実質的には、比較的大きい正の値になるところ、サチュレーション付き減算を行うことにより、減算の結果は、「00」(16進法での最小値)になる。
変形例6のデータ転送システムでは、実施例のデータ転送システムSの動作3でのステップS31、S32、S33を経てデータバスDB上にデータDT1が出力されると、ステップS34で、変換部D4は、当該データDT1にサチュレーション付きの加算又はサチュレーション付きの減算を行い、当該加算又は減算の後、転送部D2は、加算又は減算が行われた後のデータDT1を第1のメモリM1のアドレス「AD_M1(1)」及び第2のメモリM2のアドレス「AD_M2(1)」に書き込む。
上記したように、変形例6のデータ転送システムでは、変換部D4がデータDT1にサチュレーション付きの加算又は減算を行うことによっても、実施例のデータ転送システムSと同様に、第1のメモリM1及び第2のメモリM2への演算後のデータDT1の転送を、実質的に同時に、即ち、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
加えて、前記データDT1が、例えば、画像データ及び音データであるとき、変換部D4は、当該データDT1について、単なる加算又は単なる減算に代えて、サチュレーション付きの加算又はサチュレーション付きの減算を行うことにより、画像の明度が反対になるという事態(例えば、明るく表示されるべき画像が、暗く表示され、反対に、暗く表示されるべき画像が、明るく表示されるという事態)を回避することができ、同様に、音の音量が反対になるという事態(例えば、大きい音量で再生されるべき音が、小さい音量で再生され、反対に、小さい音量で再生されるべき音が、大きい音量で再生されるという事態)を回避することが可能となる。
《変形例7》
図11は、変形例7のデータ転送システムの構成を示す。変形例7のデータ転送システムは、基本的に、実施例のデータ転送システムSと同様に、CPU1、DMAC2等を有する。他方で、変形例7のデータ転送システムは、実施例のデータ転送システムSとの比較で、転送元装置及び転送先装置のうち少なくとも1つの装置が異なる。
具体的には、図1に図示された、転送元装置が装置DVでありかつ転送先装置が第1のメモリM1及び第2のメモリM2である実施例のデータ転送システムSと異なり、変形例7のデータ転送システムでは、以下の4つの構成のいずれかである。即ち、第1の構成では、図11(A)に示されるように、転送元装置が装置DVでありかつ転送先装置が第1の装置DV1及び第2の装置DV2であり、第2の構成では、図11(B)に示されるように、転送元装置がメモリMでありかつ転送先装置が第1のメモリM1及び第2のメモリM2であり、第3の構成では、図11(C)に示されるように、転送元装置が装置DVでありかつ転送先装置が第1のメモリM1及び第1の装置DV1であり、第4の構成では、図11(D)に示されるように、転送元装置がメモリMでありかつ転送先装置が第1のメモリM1及び第1の装置DV1である。
上記したような構成を有する変形例7のデータ転送システムでも、実施例のデータ転送システムSの動作3と同様な動作を行うことにより、転送元装置から2台の転送先装置へのデータ転送を、実質的に同時に、即ち、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
《データ出力装置》
図12は、実施例のデータ出力システムの構成を示す。実施例のデータ出力システムS1は、基本的に、実施例のデータ転送システムSと同様な構成を有する。実施例のデータ出力システムS1は、他方で、実施例のデータ転送システムSと異なり、転送元装置として、装置DVに代えて入力装置INを備え、また、転送先装置として、第1のメモリM1及び第2のメモリM2に代えて第1の出力装置OUT1及び第2の出力装置OUT2を備える。
入力装置INは、例えば、デジタルカメラ、ビデオカメラ、マイク等であり、また、第1の出力装置OUT1及び第2の出力装置OUT2は、例えば、液晶表示パネル、有機EL表示パネル、スピーカ等である。
実施例のデータ出力システムS1では、実施例のデータ転送システムSの動作3と同様な動作を行うことにより、入力装置INから2台の出力装置OUT1、OUT2の両方へのデータ出力を、実質的に同時に、即ち、CPU1からDMAC2への1回の命令のみで行うことが可能となる。
図13は、実施例のデータ処理システムの構成を示す。実施例のデータ処理システムS2は、CPU1と、第1のメモリM1、第2のメモリM2と、デコーダDECと、論理積素子AND1、AND2と、を含む。
実施例のデータ処理システムS2では、CPU1が、実施例のデータ転送システムSにおける装置DV(図1に図示。)の代わりに、転送元装置として機能し、かつ、DMAC2(図1に図示。)の代わりに、データの転送(ここでは、データの処理)を行う。
より具体的には、CPU1は、CPU1内のレジスタRGに一時的に格納されているデータDT1を、実施例のデータ転送システムSの動作3におけるステップS31〜S34のときのDMAC2の動作と同様な動作を行うことにより、CPU1から第1のメモリM1及び第2のメモリM2へのデータ処理(データ書き込み)を、実質的に同時に、即ち、CPU1自身の一の命令のみで行うことが可能となる。
《ドライブレコーダ》
図14は、実施例のドライブレコーダの構成を示す。電子機器(例えば、携帯電話、パーソナル・コンピュータ、プロジェクタ、ドライブレコーダ)の一つである、実施例のドライブレコーダDRは、自動車、バス、トラックのような車両に取り付けられ、当該車両の運転手が車両事故を起こしたときの直前及び直後の車内外の画像及び音の録画及び録音を行うべく、図14に示されるように、CPU1と、DMAC2と、デコーダDECと、論理積素子AND1、AND2と、カメラ部CMと、マイク部MCと、第1の記憶部ST1と、第2の記憶部ST2と、加速度検出部ADと、表示部DPと、スピーカ部SPと、を含み、これらは、基本的に、実施例のデータ転送システムS(図1に図示。)と同様に、アドレスバスAB、データバスDB、読み出し信号(図示せず。)及び書き込み信号(図示せず。)により接続されている。
CPU1、DMAC2、デコーダDEC、論理積素子AND1、AND2は、実施例のデータ転送システムSにおけるそれらと同様な機能を有し、また、第1の記憶部ST1及び第2の記憶部ST2は、磁気型記憶装置又はシリコン型記憶装置であり、実施例のデータ転送システムSにおける第1のメモリM1及び第2のメモリM2と同様な機能を有する。
カメラ部CMは、例えば、デジタルカメラ、ビデオカメラであり、また、マイク部MCは、単一志向性マイク、無志向性マイクであり、カメラ部CM及びマイク部MCは、実施例のデータ転送システムSにおける装置DVに代わって、転送元装置として機能する。
加速度検出部ADは、例えば、ピエゾ抵抗型、静電容量型、熱検知型のMEMS(micro electro mechanical systems)加速度センサであり、車両事故の発生時に生じる衝撃を検出する。
表示部DPは、例えば、液晶表示パネル、有機EL表示パネルからなり、後述される、第1の記憶部ST1及び第2の記憶部ST2に記憶される画像データにより規定される画像、例えば、車両事故が発生した前後に亘る画像を表示する。
実施例のドライブレコーダDRでは、車両の運転中に事故が発生したか否かに拘わらず、常時、カメラ部CMは、車両内外の画像(画像データ)を収集し、かつ、マイク部MCも同様に、車両内外の音(音データ)を収集し、DMAC2は、実施例のデータ転送システムSにおけるDMAC2と同様にして、カメラ部CMから前記画像データを第1の記憶部ST1及び第2の記憶部ST2に転送し、また、マイク部MCから前記音データを第1の記憶部ST1及び第2の記憶部ST2に転送する。
仮に、車両の運転中に事故が発生すると、加速度検出部ADは、当該事故の発生時に生じる加速度を検出し、当該加速度が検出された旨をCPU1に通知し、当該通知に応答して、CPU1は、例えば、通知を受けた後10秒後に、前記カメラ部CM及びマイク部MCから前記第1の記憶部ST1及び第2の記憶部ST2への前記画像データ及び音データの転送を中止させる。これにより、第1の記憶部ST1及び第2の記憶部ST2には、事故が発生した時点を中心にその前後一定の期間、例えば、事故発生前20秒の時点から事故発生後10秒の時点までの30秒間に亘る、画像データ及び音データが確実に保存されているようにする。
表示部DP及びスピーカ部SPは、必要に応じて、上記したような、第1の記憶部ST1及び第2の記憶部ST2に記憶された画像データ及び音データを再生することにより、画像を表示し、また、音を出力するために用いられる。
実施例のドライブレコーダDRでは、カメラ部CM及びマイク部MCから第1の記憶部ST1及び第2の記憶部ST2へのデータ転送を、実施例のデータ転送システムSと同様に、実質的に同時に、即ち、CPU1からDMAC2の一の命令のみで行うことが可能となる。
上記したような、1つのカメラ部CM及び1つのマイク部MCを備えることに代えて、2つのカメラ部CM、3つのカメラ部CMを備えること、及び、2つのマイク部MCを備えることによっても、上記したと同様な効果を得ることが可能となる。
実施例のデータ転送システムの構成を示す図。 実施例のDMACの構成を示す図。 実施例のデータ転送システムの動作を示すフローチャート(その1)。 実施例のデータ転送システムの動作を示すフローチャート(その2)。 実施例のデータ転送システムの動作を示すフローチャート(その3)。 変形例1のデータ転送システムの構成の一部を示す図。 変形例2のデータ転送システムの構成の一部を示す図。 変形例4のデータ転送システムの動作を示す図。 変形例5のデータ転送システムの動作を示す図。 変形例6のデータ転送システムの動作を示す図。 変形例7のデータ転送システムの構成を示す図。 実施例のデータ出力システムの構成を示す図。 実施例のデータ処理システムの構成を示す図。 実施例のドライブレコーダの構成を示す図。 従来のDMAコントロールシステムの構成を示す図。
符号の説明
S…データ転送システム、1…CPU、2…DMAC、DV…装置(転送元)、M1…第1のメモリ(転送先)、M2…第2のメモリ(転送先)、DEC…デコーダ、AND1,AND2…論理積素子、AB…アドレスバス、DB…データバス、RD…読み出し信号、WR…書き込み信号。

Claims (31)

  1. 転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を含むことを特徴とするデータ転送装置。
  2. 転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を含むことを特徴とするデータ転送装置。
  3. 前記第1の転送先装置への転送を先に行いかつ前記第2の転送先装置への転送を後に行うとの転送順序を指定する指定部を更に含み、
    前記転送部は、前記データを、前記第1の転送先装置へ転送した後に前記第2の転送先装置へ転送することを特徴とする請求項1又は2記載のデータ転送装置。
  4. 前記指定部は、前記転送順序の指定を、チップセレクト信号により行うことを特徴とする請求項3記載のデータ転送装置。
  5. 前記指定部は、前記転送順序の指定を、書込信号により行うことを特徴とする請求項3記載のデータ転送装置。
  6. 前記データを変換する変換部を更に含み、
    前記転送部は、前記変換部により変換されたデータを転送することを特徴とする請求項1又は2記載のデータ転送装置。
  7. 前記変換部は、前記データに暗号を施すことを特徴とする請求項6記載のデータ転送装置。
  8. 前記変換部は、前記データのエンディアンを変更することを特徴とする請求項6記載のデータ転送装置。
  9. 前記変換部は、前記データのエンディアンをビッグ・エンディアンへ変更することを特徴とする請求項8記載のデータ転送装置。
  10. 前記変換部は、前記データのエンディアンをリトル・エンディアンへ変更することを特徴とする請求項8記載のデータ転送装置。
  11. 前記変換部は、前記データにビット・シフトを施すことを特徴とする請求項6記載のデータ転送装置。
  12. 前記変換部は、前記データに左シフトを施すことを特徴とする請求項11記載のデータ転送装置。
  13. 前記変換部は、前記左シフトにより前記データを10ビットから16ビットへ変換することを特徴とする請求項12記載のデータ転送装置。
  14. 前記変換部は、前記データにサチュレーション付きの演算を施すことを特徴とする請求項6記載のデータ転送装置。
  15. 前記変換部は、前記データにサチュレーション付きの加算を施すことを特徴とする請求項14記載のデータ転送装置。
  16. 前記変換部は、前記データにサチュレーション付きの減算を施すことを特徴とする請求項14記載のデータ転送装置。
  17. 前記第1の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であり、前記第2の転送先装置は、シリコン型記憶装置又は磁気型記憶装置であることを特徴とする請求項1又は2記載のデータ転送装置。
  18. データの出力を受けるべき第1の出力先装置及び第2の出力先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の出力先装置及び前記第2の出力先装置の両装置を選択する選択部と、
    前記データを前記選択された前記第1の出力先装置及び前記第2の出力先装置の両装置へ実質的に同時に出力する出力部と、を含むことを特徴とするデータ出力装置。
  19. データの出力を受けるべき第1の出力先装置及び第2の出力先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の出力先装置及び前記第2の出力先装置の両装置を選択する選択部と、
    前記データを前記選択された前記第1の出力先装置及び前記第2の出力先装置の両装置へ実質的に1回の出力命令で出力する出力部と、を含むことを特徴とするデータ出力装置。
  20. データの書き込みを受けるべき第1の書込先装置及び第2の書込先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の書込先装置及び前記第2の書込先装置の両装置を選択する選択部と、
    前記データを前記選択された前記第1の書込先装置及び前記第2の書込先装置の両装置へ実質的に同時に書き込む書込部と、を含むことを特徴とするデータ処理装置。
  21. データの書き込みを受けるべき第1の書込先装置及び第2の書込先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の書込先装置及び前記第2の書込先装置の両装置を選択する選択部と、
    前記データを前記選択された前記第1の書込先装置及び前記第2の書込先装置の両装置へ実質的に1回の書込命令で書き込む書込部と、を含むことを特徴とするデータ処理装置。
  22. (1)転送元装置と、
    (2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするデータ転送システム。
  23. (1)転送元装置と、
    (2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするデータ転送システム。
  24. 選択部と転送部とを有する転送装置のデータの転送を制御するデータ転送プログラムであって、
    前記選択部に、転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択させる選択工程と、
    前記転送部に、前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送させる転送工程と、を含むことを特徴とするデータ転送プログラム。
  25. 選択部と転送部とを有する転送装置のデータの転送を制御するデータ転送プログラムであって、
    前記選択部に、転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択させる選択工程と、
    前記転送部に、前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送させる転送工程と、を含むことを特徴とするデータ転送プログラム。
  26. (1)車両の運転に関連する画像データを収集する収集装置と、
    (2)前記収集装置から前記画像データの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記収集装置から前記画像データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするドライブレコーダ。
  27. (1)車両の運転に関連する画像データを収集する収集装置と、
    (2)前記収集装置から前記画像データの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記収集装置から前記画像データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とするドライブレコーダ。
  28. (1)転送元装置と、
    (2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送部と、を有するデータ転送装置と、を含むことを特徴とする電子機器。
  29. (1)転送元装置と、
    (2)前記転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置と、
    (3)(3a)前記第1の転送先装置及び前記第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択部と、
    (3b)前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送部と、を有するデータ転送装置と、を含むことを特徴とする電子機器。
  30. 転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択工程と、
    前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に同時に転送する転送工程と、を含むことを特徴とするデータ転送方法。
  31. 転送元装置からデータの転送を受けるべき第1の転送先装置及び第2の転送先装置の両アドレスが割り当てられているアドレスを指定することにより前記第1の転送先装置及び前記第2の転送先装置の両装置を選択する選択工程と、
    前記転送元装置から前記データを前記選択された前記第1の転送先装置及び前記第2の転送先装置の両装置へ実質的に1回の転送命令で転送する転送工程と、を含むことを特徴とするデータ転送方法。
JP2008175349A 2008-07-04 2008-07-04 データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法 Withdrawn JP2010015413A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008175349A JP2010015413A (ja) 2008-07-04 2008-07-04 データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008175349A JP2010015413A (ja) 2008-07-04 2008-07-04 データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法

Publications (1)

Publication Number Publication Date
JP2010015413A true JP2010015413A (ja) 2010-01-21

Family

ID=41701472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008175349A Withdrawn JP2010015413A (ja) 2008-07-04 2008-07-04 データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法

Country Status (1)

Country Link
JP (1) JP2010015413A (ja)

Similar Documents

Publication Publication Date Title
US8843686B1 (en) Processor management using a buffer
JP4437464B2 (ja) 半導体装置及びデータ処理システム
JP2009237888A (ja) データ処理装置、画像符号化復号装置及びデータ処理システム
JP2007286813A (ja) メモリ制御装置、メモリ制御方法
US8688947B1 (en) Aligned data access
EP2183663B1 (en) Mass storage system with improved usage of buffer capacity
JP2010015413A (ja) データ転送装置、データ出力装置、データ処理装置、データ転送システム、ドライブレコーダ、電子機器、データ転送プログラム、及び、データ転送方法
KR101068829B1 (ko) 촬상 장치 및 이미지 회전 처리 방법
JP4502686B2 (ja) 通信方法及びプロセッサ
JP2001069481A (ja) データ処理装置
JP2009063699A (ja) 画像表示駆動装置及び画像表示システム
JP3402581B2 (ja) データ復元装置
JP2008129851A (ja) 演算処理装置
JP2010015350A (ja) データ転送制御装置、データ転送制御システム、データ転送制御プログラム、ドライブレコーダ、及びデータ転送制御方法
WO2022181066A1 (ja) メモリコントローラおよびメモリアクセス方法
KR20110123127A (ko) 영상 녹화 장치 및 이미지 센서간의 실시간 핸드셰이크 방법
JP2010134858A (ja) データ処理回路
JP2004325761A (ja) 情報処理装置、情報処理方法
KR20180080463A (ko) 반도체 장치 및 반도체 장치의 동작 방법
JP2006215991A (ja) Dmaコントローラ
JP2005062997A (ja) データ転送制御装置、ディスクレコーダ、およびデータ転送制御方法
JP2006148821A (ja) ヒストグラム表示装置
JP6173172B2 (ja) 情報処理装置及びコンピュータプログラム
JP2003174627A (ja) ディスク再生装置及びosd画像の生成方法
JP4250170B2 (ja) エンコード中に抽出画像を外部に送信するビデオエンコーダ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110906