JP2016051417A - データ転送装置データ転送システム - Google Patents
データ転送装置データ転送システム Download PDFInfo
- Publication number
- JP2016051417A JP2016051417A JP2014177671A JP2014177671A JP2016051417A JP 2016051417 A JP2016051417 A JP 2016051417A JP 2014177671 A JP2014177671 A JP 2014177671A JP 2014177671 A JP2014177671 A JP 2014177671A JP 2016051417 A JP2016051417 A JP 2016051417A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- dma transfer
- setting
- transfer
- interrupt signal
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】DMA転送の終了割り込みを待たずに次々とDMA転送を設定可能なデータ転送システムを提供する。
【解決手段】第1制御部11、その制御下の第1メモリ12、第2制御部21、その制御下の第2メモリ22、第1メモリ12〜第2メモリ22へデータをDMA転送するDMA転送実行部23、第1制御部11と第2制御部21が共にアクセスできてDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファ24、外部から次々とデータの入力を受けるデータ入力部13を備え、第1制御部11は、入力されるデータを次々と第1メモリ12に格納すると共に、該格納動作と並行してこのデータを第2メモリ22に転送するためのDMA転送設定を次々に生成してDMA設定バッファ24に書き込み、第2制御部21はDMA設定バッファ24を監視し、未処理のDMA転送設定があればこれに対するDMA転送の実行をDMA転送実行部23に指示する。
【選択図】図1
【解決手段】第1制御部11、その制御下の第1メモリ12、第2制御部21、その制御下の第2メモリ22、第1メモリ12〜第2メモリ22へデータをDMA転送するDMA転送実行部23、第1制御部11と第2制御部21が共にアクセスできてDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファ24、外部から次々とデータの入力を受けるデータ入力部13を備え、第1制御部11は、入力されるデータを次々と第1メモリ12に格納すると共に、該格納動作と並行してこのデータを第2メモリ22に転送するためのDMA転送設定を次々に生成してDMA設定バッファ24に書き込み、第2制御部21はDMA設定バッファ24を監視し、未処理のDMA転送設定があればこれに対するDMA転送の実行をDMA転送実行部23に指示する。
【選択図】図1
Description
本発明は、DMA転送を連続して実行するデータ転送装置、データ転送システムに関する。
通常、DMA(Direct Memory Access)コントローラにDMA転送を実行させる場合、DMA転送の依頼元の上位装置は、DMAコントローラに対して、転送元アドレス、転送先アドレス、転送データ量などを指定するコマンドであるDMA転送設定を設定してから、DMA転送の実行開始(起動)を指示する。DMAコントローラは、DMA転送の実行が完了すると、上位装置に対して、DMA転送の終了を通知する割り込み信号を出力する。
複数回のDMA転送を行う場合に、1回のDMA転送が終了する毎に割り込み信号が発生すると上位装置の処理負担が大きくなる。特許文献1には、DMA転送設定を書き込むためのDMA設定テーブルを複数設けておき、複数のDMA設定テーブルに設定されている複数のDMA転送設定に対応する複数回のDMA転送を、1回の起動で実行するDMA転送システムが開示されている。
特許文献1に開示されたDMA転送システムでは、設定した複数回分のDMA転送のうちのN番目のDMA転送が完了したときには、N+1番目のDMA転送に係る転送元データの準備が完了していなければならない。そのため、実際には、複数回分のDMA転送に対応する転送元データがすべて揃ってからDMA転送を起動することになる。たとえば、転送元データが順次入力されるようなシステムにおいては、複数回分のDMA転送に対応する転送元データがすべて揃うのを待ってから、複数回分のDMA転送を設定してDMAを起動しなければならず、DMA転送を起動するタイミングが遅れたり、DMA設定テーブルのセットや起動のタイミングを調整するための上位装置の処理負担が増えて転送効率が低下したりする。
また、上位装置が次の複数回分のDMA転送を設定するためには、その前に設定した複数回分のDMA転送が終了したことを知る必要がある。そのため、DMAコントローラは今回設定された複数回分のDMA転送が終了すると割り込み信号を出力し、上位装置はこの割り込み信号を受けてから次回の複数回分のDMA転送を設定してDMA転送を起動しなければならない。たとえば、転送元データが順次入力されるようなシステムにおいて、次のDMA転送に対応する転送元データが既に揃っていても、上位装置は、前回設定したDMA転送の終了割り込みをDMAコントローラから受けてからでなければ、次のDMA転送の設定を行うことができず、DMA転送を設定するための処理負担が大きかった。
本発明は、上記の問題を解決しようとするものであり、DMA転送の終了割り込みを待たずに次々とDMA転送を設定することのできるデータ転送装置およびデータ転送システムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1]上位装置から書き込まれる、DMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファと、
DMA転送を実行するDMA転送実行部と、
前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する制御部と、
を有する
ことを特徴とするデータ転送装置。
DMA転送を実行するDMA転送実行部と、
前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する制御部と、
を有する
ことを特徴とするデータ転送装置。
上記発明では、DMA設定バッファにおけるDMA転送設定の保持状況を監視し、DMA設定バッファに未処理のDMA転送設定があれば、該未処理のDMA転送設定に対応するDMA転送が次々と実行される。したがって、上位装置は、DMA転送の終了割り込みを待たずに次々とDMA転送設定をDMA設定バッファに書き込むだけで、連続的にDMA転送をデータ転送装置に実行させることができる。
[2]前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は第1割り込み信号を出力せず、前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されていない場合は前記第1割り込み信号を出力する第1割り込み信号生成部、をさらに有する
ことを特徴とする[1]に記載のデータ転送装置。
ことを特徴とする[1]に記載のデータ転送装置。
上記発明では、1つのDMA転送設定に係るDMA転送が終了したときに、DMA設定バッファに次のDMA転送設定があれば、続けてDMA転送が行われ、DMA設定バッファに次のDMA転送設定がなければ、第1割り込み信号が出力される。上位装置は、DMA設定バッファに書き込んだすべてのDMA転送設定に対応するDMA転送が完了したことを第1割り込み信号によって認識することができる。
[3]前記制御部は、前記DMA設定バッファに保持されている前記DMA転送設定を前記DMA転送実行部に実行させる際に前記DMA設定バッファに保持されている前記DMA転送設定の中で最も古いものを前記DMA転送実行部に実行させ、そのDMA転送設定を前記DMA設定バッファから削除する
ことを特徴とする[1]または[2]に記載のデータ転送装置。
ことを特徴とする[1]または[2]に記載のデータ転送装置。
上記発明および下記[9]に記載の発明では、DMA設定バッファにあるDMA転送設定は、古い順に実行されて削除される。すなわち、DMA設定バッファは、FIFO(First-In First-Out)メモリのように機能する。
[4]第2割り込み信号の出力要求が設定されているDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部が完了したときに前記第2割り込み信号を出力する第2割り込み信号生成部を、さらに有する
ことを特徴とする[1]乃至[3]のいずれか1つに記載のデータ転送装置。
ことを特徴とする[1]乃至[3]のいずれか1つに記載のデータ転送装置。
上記発明および下記[10]に記載の発明では、上位装置は、任意のDMA転送設定に第2割り込み信号の出力要求をセットすることで、該DMA転送設定に係るDMA転送の終了時に第2割り込み信号をデータ転送装置に出力させて、該DMA転送の終了を認識することができる。
[5]前記DMA設定バッファに所定量の空き領域が生じたときに第3割り込み信号を出力する第3割り込み信号生成部を、さらに有する
ことを特徴とする[1]乃至[4]のいずれか1つに記載のデータ転送装置。
ことを特徴とする[1]乃至[4]のいずれか1つに記載のデータ転送装置。
上記発明では、DMA転送バッファに空き領域が生じたことが、第3割り込み信号によって上位装置に通知される。
[6]前記第3割り込み信号生成部は、前記上位装置から前記第3割り込み信号の出力要求を受けていない場合は、前記第3割り込み信号を出力しない
ことを特徴とする[5]に記載のデータ転送装置。
ことを特徴とする[5]に記載のデータ転送装置。
上記発明では、上位装置から第3割り込み信号の出力要求があることを条件に、第3割り込み信号は出力される。
[7]第1制御部と、
前記第1制御部の制御下にある第1メモリと、
第2制御部と、
前記第2制御部の制御下にある第2メモリと、
前記第1メモリから前記第2メモリへデータをDMA転送するDMA転送実行部と、
前記第1制御部と前記第2制御部が共にアクセス可能であって、前記DMA転送実行部に実行させるDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファと、
外部から次々とデータの入力を受けるデータ入力部と、
を備え、
前記第1制御部は、前記データ入力部によって入力されたデータを次々と前記第1メモリに格納すると共に、該格納する動作と並行して、前記第1メモリに格納されたデータを前記第2メモリに転送するための前記DMA転送設定を次々に生成して前記DMA設定バッファに書き込み、
前記第2制御部は、前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する
ことを特徴とするデータ転送システム。
前記第1制御部の制御下にある第1メモリと、
第2制御部と、
前記第2制御部の制御下にある第2メモリと、
前記第1メモリから前記第2メモリへデータをDMA転送するDMA転送実行部と、
前記第1制御部と前記第2制御部が共にアクセス可能であって、前記DMA転送実行部に実行させるDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファと、
外部から次々とデータの入力を受けるデータ入力部と、
を備え、
前記第1制御部は、前記データ入力部によって入力されたデータを次々と前記第1メモリに格納すると共に、該格納する動作と並行して、前記第1メモリに格納されたデータを前記第2メモリに転送するための前記DMA転送設定を次々に生成して前記DMA設定バッファに書き込み、
前記第2制御部は、前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する
ことを特徴とするデータ転送システム。
上記発明では、第1制御部は、外部からのデータを順次、第1メモリに格納する動作と並行して、第1メモリに格納したデータを第2メモリにDMA転送するためのDMA転送設定を次々とDMA設定バッファに書き込む。第2制御部は、DMA設定バッファにおけるDMA転送設定の保持状況を監視し、DMA設定バッファに未処理のDMA転送設定があれば、該未処理のDMA転送設定に対応するDMA転送を次々と実行する。したがって、第1制御部は、DMA転送の終了割り込みを待たずに次々とDMA転送設定をDMA設定バッファに書き込むだけで、連続的にDMA転送を実行させることができる。
[8]前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は第1割り込み信号を前記第1制御部に対して出力せず、前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されていない場合は前記第1割り込み信号を前記第1制御部に対して出力する第1割り込み信号生成部、をさらに有する
ことを特徴とする[7]に記載のデータ転送システム。
ことを特徴とする[7]に記載のデータ転送システム。
上記発明では、1つのDMA転送設定に係るDMA転送が終了したときに、DMA設定バッファに次のDMA転送設定があれば、続けてDMA転送が行われ、DMA設定バッファに次のDMA転送設定がなければ、第1割り込み信号が出力される。第1制御部は、DMA設定バッファに書き込んだすべてのDMA転送設定に対応するDMA転送が完了したことを第1割り込み信号によって認識することができる。
[9]前記第2制御部は、前記DMA設定バッファに保持されている前記DMA転送設定を前記DMA転送実行部に実行させる際に前記DMA設定バッファに保持されている前記DMA転送設定の中で最も古いものを前記DMA転送実行部に実行させ、そのDMA転送設定を前記DMA設定バッファから削除する
ことを特徴とする[7]または[8]に記載のデータ転送システム。
ことを特徴とする[7]または[8]に記載のデータ転送システム。
[10]前記第1制御部は、一のDMA転送設定に対応するDMA転送の実行完了時に第2割り込み信号の出力を要求する場合は、前記一のDMA転送設定に前記第2割り込み信号の出力要求を設定し、
前記出力要求が設定されたDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部が完了したときに、前記第1制御部に対して前記第2割り込み信号を出力する第2割り込み信号生成部をさらに有する
ことを特徴とする[7]乃至[9]のいずれか1つに記載のデータ転送システム。
前記出力要求が設定されたDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部が完了したときに、前記第1制御部に対して前記第2割り込み信号を出力する第2割り込み信号生成部をさらに有する
ことを特徴とする[7]乃至[9]のいずれか1つに記載のデータ転送システム。
[11]前記DMA設定バッファに所定量の空き領域が生じたときに、前記第1制御部に対して第3割り込み信号を出力する第3割り込み信号生成部を、さらに有する
ことを特徴とする[7]乃至[10]のいずれか1つに記載のデータ転送システム。
ことを特徴とする[7]乃至[10]のいずれか1つに記載のデータ転送システム。
上記発明では、DMA転送バッファに空き領域が生じたことが、第3割り込み信号によって第1制御部に通知される。
[12]前記第1制御部は、前記第3割り込み信号の出力要求を設定し、
前記第3割り込み信号生成部は、前記第1制御部によって前記第3割り込み信号の出力要求が設定されていない場合は、前記第3割り込み信号を出力しない
ことを特徴とする[11]に記載のデータ転送システム。
前記第3割り込み信号生成部は、前記第1制御部によって前記第3割り込み信号の出力要求が設定されていない場合は、前記第3割り込み信号を出力しない
ことを特徴とする[11]に記載のデータ転送システム。
上記発明では、第1制御部から第3割り込み信号の出力要求があることを条件に、第3割り込み信号は出力される。
本発明に係るデータ転送装置およびデータ転送システムによれば、DMA転送の終了割り込みを待たずに次々とDMA転送を設定することができる。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るデータ転送システム5の構成を示している。データ転送システム5は、第1制御部11と、第1制御部11の制御下にある第1メモリ12と、第2制御部21と、第2制御部21の制御下にある第2メモリ22と、第1メモリ12から第2メモリ22へデータをDMA転送するDMA転送実行部23と、第1制御部11と第2制御部21が共にアクセス可能であって、DMA転送実行部23に実行させるDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファ24と、外部から次々とデータの入力を受けるデータ入力部13を備えている。
ここでは、第1制御部11はCPU(Central Processing Unit)で構成され、第2制御部21は、DMAコントローラを含むCPUで構成される。DMAコントローラは、DMA転送実行部23とDMA設定バッファ24を含んでいる。
第2制御部21は、第1制御部11に対して割り込み信号を出力する機能を有する。第2制御部21は、DMA設定バッファ24に格納されているすべてのDMA転送設定に対応するDMA転送の実行が終了したことを示す第1割り込み信号を出力する第1割り込み信号生成部31と、1つのDMA転送設定に対応するDMA転送の実行が終了したことを示す第2割り込み信号を出力する第2割り込み信号生成部32と、DMA設定バッファ24に所定量以上の空き領域が生じたことを通知する第3割り込み信号を出力する第3割り込み信号生成部33の機能を備えている。
第1制御部11は、第1メモリ12に存在する空き領域や書き込まれたデータの状況を管理する。第1制御部11は、データ入力部13から次々と入力されるデータを、順次、第1メモリ12に書き込むと共に、第1メモリ12に書き込まれたデータが一定量揃ったら、該データを第1メモリ12から第2メモリ22へDMA転送するためのDMA転送設定をDMA設定バッファ24に書き込む。
第2制御部21は、DMA設定バッファ24におけるDMA転送設定の保持状況を監視し、DMA設定バッファ24に未処理のDMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行をDMA転送実行部23に指示する。第2制御部21は、DMA設定バッファ24に保持されている中で最も古いDMA転送設定に対応するDMA転送をDMA転送実行部23に実行させ、DMA転送の実行を指示したとき、そのDMA転送設定をDMA設定バッファ24から削除する。
第2制御部21は、DMA転送実行部23によって1つのDMA転送設定に対するDMA転送の実行が終了したとき、DMA設定バッファ24に次のDMA転送設定があるか否かを調べ、次のDMA転送設定があれば、そのDMA転送設定に対応するDMA転送の実行をDMA転送実行部23に指示する。
第1割り込み信号生成部31は、DMA転送実行部23によって1つのDMA転送設定に対するDMA転送の実行が終了したとき、DMA設定バッファ24に次のDMA転送設定があれば、第1割り込み信号を出力しない。一方、DMA転送実行部23によって1つのDMA転送設定に対するDMA転送の実行が終了したとき、DMA設定バッファ24に次のDMA転送設定がなければ第1割り込み信号を第1制御部11に対して出力する。
第2割り込み信号生成部32は、DMA転送設定に終了通知フラグ(第2割り込み信号の出力要求)がセットされている場合は、該DMA転送設定に対応するDMA転送の実行が終了したときに第2割り込み信号を出力し、終了通知フラグがセットされていない場合は第2割り込み信号を出力しない。
第3割り込み信号生成部33は、第1制御部11によってセットされる、バッファ空き割り込み要求フラグ34を備えている。第3割り込み信号生成部33は、1つのDMA転送設定に対応するDMA転送の実行が終了したときに、バッファ空き割り込み要求フラグ34(第3割り込み信号の出力要求)がセットされていれば、第3割り込み信号を出力してバッファ空き割り込み要求フラグ34をリセットし、バッファ空き割り込み要求フラグ34がセットされていなければ第3割り込み信号を出力しない。
図2は、DMA設定バッファ24の詳細を示している。DMA設定バッファ24は、DMA転送設定を複数保持可能な記憶領域を備えたリングバッファになっている。DMA設定バッファ24は、当該DMA設定バッファ24に保持されているデータがないとき、バッファエンプティ信号を出力する。また、DMA設定バッファ24に空き領域がないとき(1つのDMA転送設定を書き込み可能なだけの空き領域がないとき)、バッファフル信号を出力する。ここでは、バッファエンプティ信号は第2制御部21に対して出力し、バッファフル信号は第1制御部11に対して出力する。
なお、DMA設定バッファ24は、書き込み順にデータが読み出されるFIFO((First-In First-Out))メモリで構成されてもよい。
図3は、DMA設定バッファ24に書き込まれるDMA転送設定のデータ構造およびリングバッファ形式のDMA設定バッファ24におけるDMA転送設定の保持状態の一例を示している。DMA転送設定は、転送元アドレス、転送先アドレス、転送データ量、終了通知フラグで構成される。DMA設定バッファ24には、N(Nは2以上の整数で、たとえば、10)個のDMA転送設定を保持することができる。
図4は、データ転送システム5の第1制御部11が行う動作を示す流れ図である。第1制御部11は、データ入力部13から入力されるデータを順次、第1メモリ12に格納する(ステップS101)。第1メモリ12にデータが格納されると、第1制御部11は、DMA設定バッファ24が空いているか否かを確認する(ステップS102)。具体的には、バッファフル信号がオフであれば、DMA設定バッファ24に空きがあると認識する。
DMA設定バッファ24に空きがあれば(ステップS103;No)、第1制御部11は、第1メモリ12に格納されているデータを第2メモリ22に転送するためのDMA転送設定を作成してDMA設定バッファ24に書き込む(ステップS106)。
DMA設定バッファ24に空きがなければ(ステップS103;Yes)、バッファ空き割り込み要求フラグ34をセットする(ステップS104)。その後、第2制御部21の第3割り込み信号生成部33から空き領域ができたことを知らせる第3割り込み信号が入力されたら(ステップS105;Yes)、第1メモリ12に格納されているデータを第2メモリ22に転送するためのDMA転送設定を作成してDMA設定バッファ24に書き込む(ステップS106)。第3割り込み信号によって空きが生じたことが通知されるので、第1制御部11は、バッファ空き割り込み要求フラグ34をセットしてから第3割り込み信号が入力されるまで、DMA設定バッファ24に空きが生じたか否かを繰り返しポーリングして監視することなく、任意の処理を実行することができる。
DMA転送設定の書き込み(ステップS106)を行った後、第1制御部11は、第1メモリ12から第2メモリ22へ次にDMA転送すべきデータが第1メモリ12に格納されているか否かを調べる(ステップS107)。次のデータがあれば(ステップS107;Yes)、ステップS103に戻って処理を継続する。
次のデータがなければ(ステップS107;No)、第2制御部21の第1割り込み信号生成部31から第1割り込み信号が入ったか否かを調べる(ステップS108)。第1割り込み信号が入っていなければ(ステップS108;No)、ステップS107に戻って処理を継続する。すなわち、第1割り込み信号が入る前に次のデータが揃った場合は、該次のデータを第1メモリ12から第2メモリ22へ転送するためのDMA転送設定をDMA設定バッファ24に書き込む処理を行う。
第1割り込み信号を受けた場合は(ステップS108;Yes)、依頼したすべてのDMA転送の実行が完了したので、本処理を終了する。
図5は、データ転送システム5の第2制御部21が行う動作を示す流れ図である。第2制御部21は、DMA設定バッファ24を監視し(ステップS201)、DMA設定バッファ24にDMA転送設定が書き込まれるのを待つ(ステップS201;Yes)。具体的には、DMA設定バッファ24のバッファエンプティ信号を監視し、バッファエンプティ信号がオンのとき、DMA設定バッファ24にDMA転送設定がないと認識し、バッファエンプティ信号がオフのとき、DMA設定バッファ24に少なくとも1つのDMA転送設定が保持されていると認識する。
バッファエンプティ信号がオフならば(ステップS201;No)、DMA設定バッファ24に未処理のDMA転送設定が少なくとも1つ存在することになるので、DMA設定バッファ24から最も古いDMA転送設定を読み出して削除すると共に該DMA転送設定の内容をDMA転送実行部23にセットする(ステップS202)。
なお、DMA設定バッファ24にDMA転送設定が保持されていても、第2制御部21が直ちにこれを処理するとは限らない。たとえば、転送先の第2メモリ22の空き状態やその他の事情でDMA転送をすぐに実行できない場合は、実行可能になるのを待ってからDMA転送が行われる。
次に、バッファ空き割り込み要求フラグ34がセットされているか否かを調べ(ステップS203)、セットされていなければ(ステップS203;No)、ステップS206へ移行する。バッファ空き割り込み要求フラグ34がセットされている場合は、第2制御部21は第3割り込み信号生成部33から第3割り込み信号を出力し(ステップS204)、バッファ空き割り込み要求フラグ34をリセットして(ステップS205)、ステップS206へ移行する。
すなわち、1つのDMA転送設定を読み出して削除すれば、必ずDMA設定バッファ24に空き領域が生じるので、第2制御部21は、1つのDMA転送設定を読み出して削除したときにバッファ空き割り込み要求フラグ34がセットされていれば、DMA設定バッファ24に空き領域が生じたことを通知する第3割り込み信号を第1制御部11に対して出力する。
ステップS206では、DMA転送実行部23にステップS202で設定したDMA転送を実行させる。該DMA転送が終了したら、DMA設定バッファ24に次のDMA転送設定が保持されているか否かを調べる(ステップS207)。具体的には、バッファエンプティ信号のオンオフを調べる。
DMA設定バッファ24に次のDMA転送設定が保持されていれば、すなわち、バッファエンプティ信号がオフならば(ステップS207;No)、ステップS202に戻って、次のDMA転送設定に対する処理を継続して実行する。
DMA設定バッファ24に次のDMA転送設定が保持されていなければ、すなわち、バッファエンプティ信号がオンならば(ステップS207;Yes)、第2制御部21の第1割り込み信号生成部31から第1制御部11に対して第1割り込み信号を出力して(ステップS208)、本処理を終了する。
このように、1つのDMA転送設定に係るDMA転送が終了したときに、DMA設定バッファ24に未処理のDMA転送設定があれば、該未処理のDMA転送設定に係るDMA転送が続けて実行されるので、第1制御部11は、DMA設定バッファ24にDMA転送設定を次々と書き込むだけで、DMA転送実行部23に連続してDMA転送を実行させることができる。すなわち、1つのDMA転送設定に係るDMA転送が終了する毎に、第1制御部11側から次のDMA転送を起動しなくて済むので、1つのDMA転送設定に係るDMA転送が終了する度に、該DMA転送の終了を通知する割り込み信号を第2制御部21から第1制御部11へ出力しなくて良くなり、第1制御部11においては該割り込み信号に対する処理が不要になって処理負担が軽減される。
また、1つのDMA転送設定に対応するDMA転送が終了したときにDMA設定バッファ24に次のDMA転送設定が保持されていなければ、第2制御部21から第1制御部11へ第1割り込み信号が出力されるので、第1制御部11は、依頼したすべてのDMA転送設定に係るDMA転送が終了したことを認識することができる。
なお、1つのDMA転送設定に対応するDMA転送が終了したとき、当該DMA転送設定の終了通知フラグがセットされていれば、第2制御部21の第2割り込み信号生成部32から第2割り込み信号を第1制御部11に対して出力する。1つのDMA転送設定に対応するDMA転送が終了したとき、当該DMA転送設定の終了通知フラグがセットされていなければ、第2割り込み信号生成部32は、第2割り込み信号を出力しない。
第1制御部11は、任意のDMA転送設定において終了通知フラグをセットすれば、そのDMA転送設定に係るDMA転送が終了したときに、第2制御部21から第2割り込み信号を受けることができる。たとえば、ラスタライズ部によって順次展開される画像データを第1メモリ12から第2メモリ22へDMA転送するような場合に、1ページの最後の部分をDMA転送するためのDMA転送設定において終了通知フラグを設定しておけば、第1制御部11は、1ページの最後まで画像データの転送が完了したことを第2割り込み信号によって認識することができる。
このように、データ転送システム5によれば、第1制御部11は、第2制御部21からのDMA転送の終了割り込みを待たずに、DMA設定バッファ24に空きがあれば、次々とDMA転送設定を作成してDMA転送を指示することができる。すなわち、第2制御部21からDMA転送毎に、転送終了の割り込みを受けて次のDMA転送設定を行うようなインターフェイスでは、第1制御部11は、割り込みを受ける毎に、データ入力部13からのデータを第1メモリ12に格納する処理を中断して、DMA転送設定を作成する処理を行わなければならない。
これに対して本実施の形態に係るデータ転送システム5では、第1制御部11は、DMA設定バッファ24に空きがあれば、任意のタイミングでDMA転送設定を作成して書き込むことができる。たとえば、データ入力部13からのデータを第1メモリ12に所定量書き込み終えたときに、続けて、その所定量のデータの転送に関するDMA転送設定を作成してDMA設定バッファ24に書き込むことができるので、割り込みを受けて処理を中断する場合に比べて、処理の切り替えに係るオーバーヘッドがなくなり、処理の効率が向上する。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
実施の形態では、第3割り込み信号の発生には、第1制御部11がバッファ空き割り込み要求フラグ34をセットすることを要したが、このようなフラグのセットがなくても、自立的に第2制御部21が、DMA設定バッファ24の空きを通知する第3割り込み信号を発生させてもよい。すなわち、DMA設定バッファ24がフルの状態から空きのある状態に変化した場合に第3割り込み信号生成部33が第3割り込み信号を自律的に出力するように構成してもよい。具体的には、第2制御部21にDMA設定バッファ24が出力するバッファフル信号を入力しておき、バッファフル信号がオンの状態で第2制御部21が1つのDMA転送設定をDMA設定バッファ24から読み出した場合に、第3割り込み信号生成部33が第3割り込み信号を出力するように構成すればよい。
実施の形態では、第1〜第3の割り込み信号を発生させるようにしたが、これらの割り込み信号は本発明において必須のものではなく、割り込み信号を発生させない構成であってもよいし、第1から第3の割り込み信号のうちの任意の1または2個の割り込み信号を発生させる構成でもよい。
第2制御部21によるDMA設定バッファ24の監視は、常に行われなくてもよい。たとえば、(1)第1制御部11から起動の指示を受けてからDMA設定バッファ24を監視する、(2)第2メモリ22の事情でDMA転送できないようなときは監視を中断する、(3)1つのDMA転送設定に対応するDMA転送が終了したときに次のDMA転送設定がDMA設定バッファ24になければ、以後の監視を中止する、といった構成でもかまわない。(3)の場合、第1制御部11は、第2制御部21が監視を中止したことを第1割り込み信号によって認識することができる。そして、第1割り込み信号を受けた後に、DMA転送設定をDMA設定バッファ24に書き込んだ際に、監視の再開を第1制御部11から第2制御部21に指示すればよい。
本発明はデータ転送システム5のうちの第2制御部21、DMA転送実行部23、DMA設定バッファ24の部分を取り出してデータ転送装置として構成されてもよい。たとえば、このデータ転送装置をASIC(Application Specific Integrated Circuit)などで構成する。
また、実施の形態ではメモリからメモリへデータを転送する例を示したが、これに限定されず、I/O(Input/Output)とメモリ間の転送やI/OとI/O間の転送であってもよい。
5…データ転送システム
11…第1制御部
12…第1メモリ
13…データ入力部
21…第2制御部
22…第2メモリ
23…DMA転送実行部
24…DMA設定バッファ
30…データ転送装置
31…第1割り込み信号生成部
32…第2割り込み信号生成部
33…第3割り込み信号生成部
34…バッファ空き割り込み要求フラグ
11…第1制御部
12…第1メモリ
13…データ入力部
21…第2制御部
22…第2メモリ
23…DMA転送実行部
24…DMA設定バッファ
30…データ転送装置
31…第1割り込み信号生成部
32…第2割り込み信号生成部
33…第3割り込み信号生成部
34…バッファ空き割り込み要求フラグ
Claims (12)
- 上位装置から書き込まれる、DMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファと、
DMA転送を実行するDMA転送実行部と、
前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する制御部と、
を有する
ことを特徴とするデータ転送装置。 - 前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は第1割り込み信号を出力せず、前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されていない場合は前記第1割り込み信号を出力する第1割り込み信号生成部、をさらに有する
ことを特徴とする請求項1に記載のデータ転送装置。 - 前記制御部は、前記DMA設定バッファに保持されている前記DMA転送設定を前記DMA転送実行部に実行させる際に前記DMA設定バッファに保持されている前記DMA転送設定の中で最も古いものを前記DMA転送実行部に実行させ、そのDMA転送設定を前記DMA設定バッファから削除する
ことを特徴とする請求項1または2に記載のデータ転送装置。 - 第2割り込み信号の出力要求が設定されているDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部が完了したときに前記第2割り込み信号を出力する第2割り込み信号生成部を、さらに有する
ことを特徴とする請求項1乃至3のいずれか1つに記載のデータ転送装置。 - 前記DMA設定バッファに所定量の空き領域が生じたときに第3割り込み信号を出力する第3割り込み信号生成部を、さらに有する
ことを特徴とする請求項1乃至4のいずれか1つに記載のデータ転送装置。 - 前記第3割り込み信号生成部は、前記上位装置から前記第3割り込み信号の出力要求を受けていない場合は、前記第3割り込み信号を出力しない
ことを特徴とする請求項5に記載のデータ転送装置。 - 第1制御部と、
前記第1制御部の制御下にある第1メモリと、
第2制御部と、
前記第2制御部の制御下にある第2メモリと、
前記第1メモリから前記第2メモリへデータをDMA転送するDMA転送実行部と、
前記第1制御部と前記第2制御部が共にアクセス可能であって、前記DMA転送実行部に実行させるDMA転送の内容を示すDMA転送設定を複数保持可能なDMA設定バッファと、
外部から次々とデータの入力を受けるデータ入力部と、
を備え、
前記第1制御部は、前記データ入力部によって入力されたデータを次々と前記第1メモリに格納すると共に、該格納する動作と並行して、前記第1メモリに格納されたデータを前記第2メモリに転送するための前記DMA転送設定を次々に生成して前記DMA設定バッファに書き込み、
前記第2制御部は、前記DMA設定バッファにおける前記DMA転送設定の保持状況を監視し、前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は、該未処理のDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部に指示する
ことを特徴とするデータ転送システム。 - 前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されている場合は第1割り込み信号を前記第1制御部に対して出力せず、前記DMA転送実行部が1つの前記DMA転送設定に対応するDMA転送の実行を完了したときに前記DMA設定バッファに未処理の前記DMA転送設定が保持されていない場合は前記第1割り込み信号を前記第1制御部に対して出力する第1割り込み信号生成部、をさらに有する
ことを特徴とする請求項7に記載のデータ転送システム。 - 前記第2制御部は、前記DMA設定バッファに保持されている前記DMA転送設定を前記DMA転送実行部に実行させる際に前記DMA設定バッファに保持されている前記DMA転送設定の中で最も古いものを前記DMA転送実行部に実行させ、そのDMA転送設定を前記DMA設定バッファから削除する
ことを特徴とする請求項7または8に記載のデータ転送システム。 - 前記第1制御部は、一のDMA転送設定に対応するDMA転送の実行完了時に第2割り込み信号の出力を要求する場合は、前記一のDMA転送設定に前記第2割り込み信号の出力要求を設定し、
前記出力要求が設定されたDMA転送設定に対応するDMA転送の実行を前記DMA転送実行部が完了したときに、前記第1制御部に対して前記第2割り込み信号を出力する第2割り込み信号生成部をさらに有する
ことを特徴とする請求項7乃至9のいずれか1つに記載のデータ転送システム。 - 前記DMA設定バッファに所定量の空き領域が生じたときに、前記第1制御部に対して第3割り込み信号を出力する第3割り込み信号生成部を、さらに有する
ことを特徴とする請求項7乃至10のいずれか1つに記載のデータ転送システム。 - 前記第1制御部は、前記第3割り込み信号の出力要求を設定し、
前記第3割り込み信号生成部は、前記第1制御部によって前記第3割り込み信号の出力要求が設定されていない場合は、前記第3割り込み信号を出力しない
ことを特徴とする請求項11に記載のデータ転送システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014177671A JP2016051417A (ja) | 2014-09-02 | 2014-09-02 | データ転送装置データ転送システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014177671A JP2016051417A (ja) | 2014-09-02 | 2014-09-02 | データ転送装置データ転送システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016051417A true JP2016051417A (ja) | 2016-04-11 |
Family
ID=55658848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014177671A Pending JP2016051417A (ja) | 2014-09-02 | 2014-09-02 | データ転送装置データ転送システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016051417A (ja) |
-
2014
- 2014-09-02 JP JP2014177671A patent/JP2016051417A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489324B2 (en) | Data processing device, semiconductor external view inspection device, and data volume increase alleviation method | |
JP2009265963A (ja) | 情報処理システム及びタスクの実行制御方法 | |
JP2007079789A (ja) | 計算機システム及びイベント処理方法 | |
US9043806B2 (en) | Information processing device and task switching method | |
JP2007207026A (ja) | Dma転送装置 | |
US20180329841A1 (en) | Memory access control device and control method of memory access | |
JP2015136259A (ja) | イベント管理装置、イベント管理方法およびモータシステム | |
JP2009163658A (ja) | 入出力制御装置およびそのファームウェア更新方法 | |
JP2010244164A (ja) | Dmaコントローラ、情報処理装置、及びdma管理方法 | |
JP2016051417A (ja) | データ転送装置データ転送システム | |
JP2017062540A (ja) | 片方向オペレーティングシステム間通信システム及びプログラム | |
US9442761B2 (en) | Sequence controller | |
JP4170330B2 (ja) | 情報処理装置 | |
JP2007249635A (ja) | データ転送装置及びデータ転送方法 | |
US10540305B2 (en) | Semiconductor device | |
JP2015014962A (ja) | 演算装置、演算方法、及びプログラム | |
JP6323155B2 (ja) | データ処理装置及びデータ処理装置の制御方法 | |
JP6430710B2 (ja) | データ転送制御装置及びデータ転送の制御方法 | |
JP7080698B2 (ja) | 情報処理装置 | |
JP5844134B2 (ja) | マルチプロセッサ装置及びマルチプロセッサ装置の制御方法 | |
JP6251112B2 (ja) | 伝送装置およびコントローラ | |
JP2011193297A (ja) | データ処理装置およびデータ処理プログラム | |
JP5231496B2 (ja) | 情報処理装置及びそのサスペンド/リジューム方法 | |
JP2016181052A (ja) | データ転送装置、並びに、dmaコントローラを外部から制御する制御装置及びその制御方法 | |
JP2009205573A (ja) | バッファ制御装置およびバッファ制御方法 |