(57)【要約】【課題】ＤＭＡ転送の終了割り込みを待たずに次々とＤＭＡ転送を設定可能なデータ転送システムを提供する。【解決手段】第１制御部１１、その制御下の第１メモリ１２、第２制御部２１、その制御下の第２メモリ２２、第１メモリ１２〜第２メモリ２２へデータをＤＭＡ転送するＤＭＡ転送実行部２３、第１制御部１１と第２制御部２１が共にアクセスできてＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファ２４、外部から次々とデータの入力を受けるデータ入力部１３を備え、第１制御部１１は、入力されるデータを次々と第１メモリ１２に格納すると共に、該格納動作と並行してこのデータを第２メモリ２２に転送するためのＤＭＡ転送設定を次々に生成してＤＭＡ設定バッファ２４に書き込み、第２制御部２１はＤＭＡ設定バッファ２４を監視し、未処理のＤＭＡ転送設定があればこれに対するＤＭＡ転送の実行をＤＭＡ転送実行部２３に指示する。【選択図】図１
2016051417.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から書き込まれる、ＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファと、
ＤＭＡ転送を実行するＤＭＡ転送実行部と、
前記ＤＭＡ設定バッファにおける前記ＤＭＡ転送設定の保持状況を監視し、前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部に指示する制御部と、
を有する
ことを特徴とするデータ転送装置。
【請求項２】
前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は第１割り込み信号を出力せず、前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されていない場合は前記第１割り込み信号を出力する第１割り込み信号生成部、をさらに有する
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記制御部は、前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定を前記ＤＭＡ転送実行部に実行させる際に前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定の中で最も古いものを前記ＤＭＡ転送実行部に実行させ、そのＤＭＡ転送設定を前記ＤＭＡ設定バッファから削除する
ことを特徴とする請求項１または２に記載のデータ転送装置。
【請求項４】
第２割り込み信号の出力要求が設定されているＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部が完了したときに前記第２割り込み信号を出力する第２割り込み信号生成部を、さらに有する
ことを特徴とする請求項１乃至３のいずれか１つに記載のデータ転送装置。
【請求項５】
前記ＤＭＡ設定バッファに所定量の空き領域が生じたときに第３割り込み信号を出力する第３割り込み信号生成部を、さらに有する
ことを特徴とする請求項１乃至４のいずれか１つに記載のデータ転送装置。
【請求項６】
前記第３割り込み信号生成部は、前記上位装置から前記第３割り込み信号の出力要求を受けていない場合は、前記第３割り込み信号を出力しない
ことを特徴とする請求項５に記載のデータ転送装置。
【請求項７】
第１制御部と、
前記第１制御部の制御下にある第１メモリと、
第２制御部と、
前記第２制御部の制御下にある第２メモリと、
前記第１メモリから前記第２メモリへデータをＤＭＡ転送するＤＭＡ転送実行部と、
前記第１制御部と前記第２制御部が共にアクセス可能であって、前記ＤＭＡ転送実行部に実行させるＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファと、
外部から次々とデータの入力を受けるデータ入力部と、
を備え、
前記第１制御部は、前記データ入力部によって入力されたデータを次々と前記第１メモリに格納すると共に、該格納する動作と並行して、前記第１メモリに格納されたデータを前記第２メモリに転送するための前記ＤＭＡ転送設定を次々に生成して前記ＤＭＡ設定バッファに書き込み、
前記第２制御部は、前記ＤＭＡ設定バッファにおける前記ＤＭＡ転送設定の保持状況を監視し、前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部に指示する
ことを特徴とするデータ転送システム。
【請求項８】
前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は第１割り込み信号を前記第１制御部に対して出力せず、前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されていない場合は前記第１割り込み信号を前記第１制御部に対して出力する第１割り込み信号生成部、をさらに有する
ことを特徴とする請求項７に記載のデータ転送システム。
【請求項９】
前記第２制御部は、前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定を前記ＤＭＡ転送実行部に実行させる際に前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定の中で最も古いものを前記ＤＭＡ転送実行部に実行させ、そのＤＭＡ転送設定を前記ＤＭＡ設定バッファから削除する
ことを特徴とする請求項７または８に記載のデータ転送システム。
【請求項１０】
前記第１制御部は、一のＤＭＡ転送設定に対応するＤＭＡ転送の実行完了時に第２割り込み信号の出力を要求する場合は、前記一のＤＭＡ転送設定に前記第２割り込み信号の出力要求を設定し、
前記出力要求が設定されたＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部が完了したときに、前記第１制御部に対して前記第２割り込み信号を出力する第２割り込み信号生成部をさらに有する
ことを特徴とする請求項７乃至９のいずれか１つに記載のデータ転送システム。
【請求項１１】
前記ＤＭＡ設定バッファに所定量の空き領域が生じたときに、前記第１制御部に対して第３割り込み信号を出力する第３割り込み信号生成部を、さらに有する
ことを特徴とする請求項７乃至１０のいずれか１つに記載のデータ転送システム。
【請求項１２】
前記第１制御部は、前記第３割り込み信号の出力要求を設定し、
前記第３割り込み信号生成部は、前記第１制御部によって前記第３割り込み信号の出力要求が設定されていない場合は、前記第３割り込み信号を出力しない
ことを特徴とする請求項１１に記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ転送を連続して実行するデータ転送装置、データ転送システムに関する。
【背景技術】
【０００２】
通常、ＤＭＡ（Direct Memory Access）コントローラにＤＭＡ転送を実行させる場合、ＤＭＡ転送の依頼元の上位装置は、ＤＭＡコントローラに対して、転送元アドレス、転送先アドレス、転送データ量などを指定するコマンドであるＤＭＡ転送設定を設定してから、ＤＭＡ転送の実行開始（起動）を指示する。ＤＭＡコントローラは、ＤＭＡ転送の実行が完了すると、上位装置に対して、ＤＭＡ転送の終了を通知する割り込み信号を出力する。
【０００３】
複数回のＤＭＡ転送を行う場合に、１回のＤＭＡ転送が終了する毎に割り込み信号が発生すると上位装置の処理負担が大きくなる。特許文献１には、ＤＭＡ転送設定を書き込むためのＤＭＡ設定テーブルを複数設けておき、複数のＤＭＡ設定テーブルに設定されている複数のＤＭＡ転送設定に対応する複数回のＤＭＡ転送を、１回の起動で実行するＤＭＡ転送システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２１８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されたＤＭＡ転送システムでは、設定した複数回分のＤＭＡ転送のうちのＮ番目のＤＭＡ転送が完了したときには、Ｎ＋１番目のＤＭＡ転送に係る転送元データの準備が完了していなければならない。そのため、実際には、複数回分のＤＭＡ転送に対応する転送元データがすべて揃ってからＤＭＡ転送を起動することになる。たとえば、転送元データが順次入力されるようなシステムにおいては、複数回分のＤＭＡ転送に対応する転送元データがすべて揃うのを待ってから、複数回分のＤＭＡ転送を設定してＤＭＡを起動しなければならず、ＤＭＡ転送を起動するタイミングが遅れたり、ＤＭＡ設定テーブルのセットや起動のタイミングを調整するための上位装置の処理負担が増えて転送効率が低下したりする。
【０００６】
また、上位装置が次の複数回分のＤＭＡ転送を設定するためには、その前に設定した複数回分のＤＭＡ転送が終了したことを知る必要がある。そのため、ＤＭＡコントローラは今回設定された複数回分のＤＭＡ転送が終了すると割り込み信号を出力し、上位装置はこの割り込み信号を受けてから次回の複数回分のＤＭＡ転送を設定してＤＭＡ転送を起動しなければならない。たとえば、転送元データが順次入力されるようなシステムにおいて、次のＤＭＡ転送に対応する転送元データが既に揃っていても、上位装置は、前回設定したＤＭＡ転送の終了割り込みをＤＭＡコントローラから受けてからでなければ、次のＤＭＡ転送の設定を行うことができず、ＤＭＡ転送を設定するための処理負担が大きかった。
【０００７】
本発明は、上記の問題を解決しようとするものであり、ＤＭＡ転送の終了割り込みを待たずに次々とＤＭＡ転送を設定することのできるデータ転送装置およびデータ転送システムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【０００９】
［１］上位装置から書き込まれる、ＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファと、
ＤＭＡ転送を実行するＤＭＡ転送実行部と、
前記ＤＭＡ設定バッファにおける前記ＤＭＡ転送設定の保持状況を監視し、前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部に指示する制御部と、
を有する
ことを特徴とするデータ転送装置。
【００１０】
上記発明では、ＤＭＡ設定バッファにおけるＤＭＡ転送設定の保持状況を監視し、ＤＭＡ設定バッファに未処理のＤＭＡ転送設定があれば、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送が次々と実行される。したがって、上位装置は、ＤＭＡ転送の終了割り込みを待たずに次々とＤＭＡ転送設定をＤＭＡ設定バッファに書き込むだけで、連続的にＤＭＡ転送をデータ転送装置に実行させることができる。
【００１１】
［２］前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は第１割り込み信号を出力せず、前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されていない場合は前記第１割り込み信号を出力する第１割り込み信号生成部、をさらに有する
ことを特徴とする［１］に記載のデータ転送装置。
【００１２】
上記発明では、１つのＤＭＡ転送設定に係るＤＭＡ転送が終了したときに、ＤＭＡ設定バッファに次のＤＭＡ転送設定があれば、続けてＤＭＡ転送が行われ、ＤＭＡ設定バッファに次のＤＭＡ転送設定がなければ、第１割り込み信号が出力される。上位装置は、ＤＭＡ設定バッファに書き込んだすべてのＤＭＡ転送設定に対応するＤＭＡ転送が完了したことを第１割り込み信号によって認識することができる。
【００１３】
［３］前記制御部は、前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定を前記ＤＭＡ転送実行部に実行させる際に前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定の中で最も古いものを前記ＤＭＡ転送実行部に実行させ、そのＤＭＡ転送設定を前記ＤＭＡ設定バッファから削除する
ことを特徴とする［１］または［２］に記載のデータ転送装置。
【００１４】
上記発明および下記［９］に記載の発明では、ＤＭＡ設定バッファにあるＤＭＡ転送設定は、古い順に実行されて削除される。すなわち、ＤＭＡ設定バッファは、ＦＩＦＯ（First-In First-Out）メモリのように機能する。
【００１５】
［４］第２割り込み信号の出力要求が設定されているＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部が完了したときに前記第２割り込み信号を出力する第２割り込み信号生成部を、さらに有する
ことを特徴とする［１］乃至［３］のいずれか１つに記載のデータ転送装置。
【００１６】
上記発明および下記［１０］に記載の発明では、上位装置は、任意のＤＭＡ転送設定に第２割り込み信号の出力要求をセットすることで、該ＤＭＡ転送設定に係るＤＭＡ転送の終了時に第２割り込み信号をデータ転送装置に出力させて、該ＤＭＡ転送の終了を認識することができる。
【００１７】
［５］前記ＤＭＡ設定バッファに所定量の空き領域が生じたときに第３割り込み信号を出力する第３割り込み信号生成部を、さらに有する
ことを特徴とする［１］乃至［４］のいずれか１つに記載のデータ転送装置。
【００１８】
上記発明では、ＤＭＡ転送バッファに空き領域が生じたことが、第３割り込み信号によって上位装置に通知される。
【００１９】
［６］前記第３割り込み信号生成部は、前記上位装置から前記第３割り込み信号の出力要求を受けていない場合は、前記第３割り込み信号を出力しない
ことを特徴とする［５］に記載のデータ転送装置。
【００２０】
上記発明では、上位装置から第３割り込み信号の出力要求があることを条件に、第３割り込み信号は出力される。
【００２１】
［７］第１制御部と、
前記第１制御部の制御下にある第１メモリと、
第２制御部と、
前記第２制御部の制御下にある第２メモリと、
前記第１メモリから前記第２メモリへデータをＤＭＡ転送するＤＭＡ転送実行部と、
前記第１制御部と前記第２制御部が共にアクセス可能であって、前記ＤＭＡ転送実行部に実行させるＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファと、
外部から次々とデータの入力を受けるデータ入力部と、
を備え、
前記第１制御部は、前記データ入力部によって入力されたデータを次々と前記第１メモリに格納すると共に、該格納する動作と並行して、前記第１メモリに格納されたデータを前記第２メモリに転送するための前記ＤＭＡ転送設定を次々に生成して前記ＤＭＡ設定バッファに書き込み、
前記第２制御部は、前記ＤＭＡ設定バッファにおける前記ＤＭＡ転送設定の保持状況を監視し、前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部に指示する
ことを特徴とするデータ転送システム。
【００２２】
上記発明では、第１制御部は、外部からのデータを順次、第１メモリに格納する動作と並行して、第１メモリに格納したデータを第２メモリにＤＭＡ転送するためのＤＭＡ転送設定を次々とＤＭＡ設定バッファに書き込む。第２制御部は、ＤＭＡ設定バッファにおけるＤＭＡ転送設定の保持状況を監視し、ＤＭＡ設定バッファに未処理のＤＭＡ転送設定があれば、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送を次々と実行する。したがって、第１制御部は、ＤＭＡ転送の終了割り込みを待たずに次々とＤＭＡ転送設定をＤＭＡ設定バッファに書き込むだけで、連続的にＤＭＡ転送を実行させることができる。
【００２３】
［８］前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されている場合は第１割り込み信号を前記第１制御部に対して出力せず、前記ＤＭＡ転送実行部が１つの前記ＤＭＡ転送設定に対応するＤＭＡ転送の実行を完了したときに前記ＤＭＡ設定バッファに未処理の前記ＤＭＡ転送設定が保持されていない場合は前記第１割り込み信号を前記第１制御部に対して出力する第１割り込み信号生成部、をさらに有する
ことを特徴とする［７］に記載のデータ転送システム。
【００２４】
上記発明では、１つのＤＭＡ転送設定に係るＤＭＡ転送が終了したときに、ＤＭＡ設定バッファに次のＤＭＡ転送設定があれば、続けてＤＭＡ転送が行われ、ＤＭＡ設定バッファに次のＤＭＡ転送設定がなければ、第１割り込み信号が出力される。第１制御部は、ＤＭＡ設定バッファに書き込んだすべてのＤＭＡ転送設定に対応するＤＭＡ転送が完了したことを第１割り込み信号によって認識することができる。
【００２５】
［９］前記第２制御部は、前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定を前記ＤＭＡ転送実行部に実行させる際に前記ＤＭＡ設定バッファに保持されている前記ＤＭＡ転送設定の中で最も古いものを前記ＤＭＡ転送実行部に実行させ、そのＤＭＡ転送設定を前記ＤＭＡ設定バッファから削除する
ことを特徴とする［７］または［８］に記載のデータ転送システム。
【００２６】
［１０］前記第１制御部は、一のＤＭＡ転送設定に対応するＤＭＡ転送の実行完了時に第２割り込み信号の出力を要求する場合は、前記一のＤＭＡ転送設定に前記第２割り込み信号の出力要求を設定し、
前記出力要求が設定されたＤＭＡ転送設定に対応するＤＭＡ転送の実行を前記ＤＭＡ転送実行部が完了したときに、前記第１制御部に対して前記第２割り込み信号を出力する第２割り込み信号生成部をさらに有する
ことを特徴とする［７］乃至［９］のいずれか１つに記載のデータ転送システム。
【００２７】
［１１］前記ＤＭＡ設定バッファに所定量の空き領域が生じたときに、前記第１制御部に対して第３割り込み信号を出力する第３割り込み信号生成部を、さらに有する
ことを特徴とする［７］乃至［１０］のいずれか１つに記載のデータ転送システム。
【００２８】
上記発明では、ＤＭＡ転送バッファに空き領域が生じたことが、第３割り込み信号によって第１制御部に通知される。
【００２９】
［１２］前記第１制御部は、前記第３割り込み信号の出力要求を設定し、
前記第３割り込み信号生成部は、前記第１制御部によって前記第３割り込み信号の出力要求が設定されていない場合は、前記第３割り込み信号を出力しない
ことを特徴とする［１１］に記載のデータ転送システム。
【００３０】
上記発明では、第１制御部から第３割り込み信号の出力要求があることを条件に、第３割り込み信号は出力される。
【発明の効果】
【００３１】
本発明に係るデータ転送装置およびデータ転送システムによれば、ＤＭＡ転送の終了割り込みを待たずに次々とＤＭＡ転送を設定することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態に係るデータ転送システムの構成を示す図である。
【図２】ＤＭＡ設定バッファの構成例と入出力信号を示す図である。
【図３】ＤＭＡ転送設定のデータ構造等を示す図である。
【図４】本発明の実施の形態に係るデータ転送システムの第１制御部の動作を示す流れ図である。
【図５】本発明の実施の形態に係るデータ転送システムの第２制御部の動作を示す流れ図である。
【発明を実施するための形態】
【００３３】
以下、図面に基づき本発明の実施の形態を説明する。
【００３４】
図１は、本発明の実施の形態に係るデータ転送システム５の構成を示している。データ転送システム５は、第１制御部１１と、第１制御部１１の制御下にある第１メモリ１２と、第２制御部２１と、第２制御部２１の制御下にある第２メモリ２２と、第１メモリ１２から第２メモリ２２へデータをＤＭＡ転送するＤＭＡ転送実行部２３と、第１制御部１１と第２制御部２１が共にアクセス可能であって、ＤＭＡ転送実行部２３に実行させるＤＭＡ転送の内容を示すＤＭＡ転送設定を複数保持可能なＤＭＡ設定バッファ２４と、外部から次々とデータの入力を受けるデータ入力部１３を備えている。
【００３５】
ここでは、第１制御部１１はＣＰＵ（Central Processing Unit）で構成され、第２制御部２１は、ＤＭＡコントローラを含むＣＰＵで構成される。ＤＭＡコントローラは、ＤＭＡ転送実行部２３とＤＭＡ設定バッファ２４を含んでいる。
【００３６】
第２制御部２１は、第１制御部１１に対して割り込み信号を出力する機能を有する。第２制御部２１は、ＤＭＡ設定バッファ２４に格納されているすべてのＤＭＡ転送設定に対応するＤＭＡ転送の実行が終了したことを示す第１割り込み信号を出力する第１割り込み信号生成部３１と、１つのＤＭＡ転送設定に対応するＤＭＡ転送の実行が終了したことを示す第２割り込み信号を出力する第２割り込み信号生成部３２と、ＤＭＡ設定バッファ２４に所定量以上の空き領域が生じたことを通知する第３割り込み信号を出力する第３割り込み信号生成部３３の機能を備えている。
【００３７】
第１制御部１１は、第１メモリ１２に存在する空き領域や書き込まれたデータの状況を管理する。第１制御部１１は、データ入力部１３から次々と入力されるデータを、順次、第１メモリ１２に書き込むと共に、第１メモリ１２に書き込まれたデータが一定量揃ったら、該データを第１メモリ１２から第２メモリ２２へＤＭＡ転送するためのＤＭＡ転送設定をＤＭＡ設定バッファ２４に書き込む。
【００３８】
第２制御部２１は、ＤＭＡ設定バッファ２４におけるＤＭＡ転送設定の保持状況を監視し、ＤＭＡ設定バッファ２４に未処理のＤＭＡ転送設定が保持されている場合は、該未処理のＤＭＡ転送設定に対応するＤＭＡ転送の実行をＤＭＡ転送実行部２３に指示する。第２制御部２１は、ＤＭＡ設定バッファ２４に保持されている中で最も古いＤＭＡ転送設定に対応するＤＭＡ転送をＤＭＡ転送実行部２３に実行させ、ＤＭＡ転送の実行を指示したとき、そのＤＭＡ転送設定をＤＭＡ設定バッファ２４から削除する。
【００３９】
第２制御部２１は、ＤＭＡ転送実行部２３によって１つのＤＭＡ転送設定に対するＤＭＡ転送の実行が終了したとき、ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定があるか否かを調べ、次のＤＭＡ転送設定があれば、そのＤＭＡ転送設定に対応するＤＭＡ転送の実行をＤＭＡ転送実行部２３に指示する。
【００４０】
第１割り込み信号生成部３１は、ＤＭＡ転送実行部２３によって１つのＤＭＡ転送設定に対するＤＭＡ転送の実行が終了したとき、ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定があれば、第１割り込み信号を出力しない。一方、ＤＭＡ転送実行部２３によって１つのＤＭＡ転送設定に対するＤＭＡ転送の実行が終了したとき、ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定がなければ第１割り込み信号を第１制御部１１に対して出力する。
【００４１】
第２割り込み信号生成部３２は、ＤＭＡ転送設定に終了通知フラグ（第２割り込み信号の出力要求）がセットされている場合は、該ＤＭＡ転送設定に対応するＤＭＡ転送の実行が終了したときに第２割り込み信号を出力し、終了通知フラグがセットされていない場合は第２割り込み信号を出力しない。
【００４２】
第３割り込み信号生成部３３は、第１制御部１１によってセットされる、バッファ空き割り込み要求フラグ３４を備えている。第３割り込み信号生成部３３は、１つのＤＭＡ転送設定に対応するＤＭＡ転送の実行が終了したときに、バッファ空き割り込み要求フラグ３４（第３割り込み信号の出力要求）がセットされていれば、第３割り込み信号を出力してバッファ空き割り込み要求フラグ３４をリセットし、バッファ空き割り込み要求フラグ３４がセットされていなければ第３割り込み信号を出力しない。
【００４３】
図２は、ＤＭＡ設定バッファ２４の詳細を示している。ＤＭＡ設定バッファ２４は、ＤＭＡ転送設定を複数保持可能な記憶領域を備えたリングバッファになっている。ＤＭＡ設定バッファ２４は、当該ＤＭＡ設定バッファ２４に保持されているデータがないとき、バッファエンプティ信号を出力する。また、ＤＭＡ設定バッファ２４に空き領域がないとき（１つのＤＭＡ転送設定を書き込み可能なだけの空き領域がないとき）、バッファフル信号を出力する。ここでは、バッファエンプティ信号は第２制御部２１に対して出力し、バッファフル信号は第１制御部１１に対して出力する。
【００４４】
なお、ＤＭＡ設定バッファ２４は、書き込み順にデータが読み出されるＦＩＦＯ（（First-In First-Out））メモリで構成されてもよい。
【００４５】
図３は、ＤＭＡ設定バッファ２４に書き込まれるＤＭＡ転送設定のデータ構造およびリングバッファ形式のＤＭＡ設定バッファ２４におけるＤＭＡ転送設定の保持状態の一例を示している。ＤＭＡ転送設定は、転送元アドレス、転送先アドレス、転送データ量、終了通知フラグで構成される。ＤＭＡ設定バッファ２４には、Ｎ（Ｎは２以上の整数で、たとえば、１０）個のＤＭＡ転送設定を保持することができる。
【００４６】
図４は、データ転送システム５の第１制御部１１が行う動作を示す流れ図である。第１制御部１１は、データ入力部１３から入力されるデータを順次、第１メモリ１２に格納する（ステップＳ１０１）。第１メモリ１２にデータが格納されると、第１制御部１１は、ＤＭＡ設定バッファ２４が空いているか否かを確認する（ステップＳ１０２）。具体的には、バッファフル信号がオフであれば、ＤＭＡ設定バッファ２４に空きがあると認識する。
【００４７】
ＤＭＡ設定バッファ２４に空きがあれば（ステップＳ１０３;Ｎｏ）、第１制御部１１は、第１メモリ１２に格納されているデータを第２メモリ２２に転送するためのＤＭＡ転送設定を作成してＤＭＡ設定バッファ２４に書き込む（ステップＳ１０６）。
【００４８】
ＤＭＡ設定バッファ２４に空きがなければ（ステップＳ１０３;Ｙｅｓ）、バッファ空き割り込み要求フラグ３４をセットする（ステップＳ１０４）。その後、第２制御部２１の第３割り込み信号生成部３３から空き領域ができたことを知らせる第３割り込み信号が入力されたら（ステップＳ１０５;Ｙｅｓ）、第１メモリ１２に格納されているデータを第２メモリ２２に転送するためのＤＭＡ転送設定を作成してＤＭＡ設定バッファ２４に書き込む（ステップＳ１０６）。第３割り込み信号によって空きが生じたことが通知されるので、第１制御部１１は、バッファ空き割り込み要求フラグ３４をセットしてから第３割り込み信号が入力されるまで、ＤＭＡ設定バッファ２４に空きが生じたか否かを繰り返しポーリングして監視することなく、任意の処理を実行することができる。
【００４９】
ＤＭＡ転送設定の書き込み（ステップＳ１０６）を行った後、第１制御部１１は、第１メモリ１２から第２メモリ２２へ次にＤＭＡ転送すべきデータが第１メモリ１２に格納されているか否かを調べる（ステップＳ１０７）。次のデータがあれば（ステップＳ１０７;Ｙｅｓ）、ステップＳ１０３に戻って処理を継続する。
【００５０】
次のデータがなければ（ステップＳ１０７;Ｎｏ）、第２制御部２１の第１割り込み信号生成部３１から第１割り込み信号が入ったか否かを調べる（ステップＳ１０８）。第１割り込み信号が入っていなければ（ステップＳ１０８;Ｎｏ）、ステップＳ１０７に戻って処理を継続する。すなわち、第１割り込み信号が入る前に次のデータが揃った場合は、該次のデータを第１メモリ１２から第２メモリ２２へ転送するためのＤＭＡ転送設定をＤＭＡ設定バッファ２４に書き込む処理を行う。
【００５１】
第１割り込み信号を受けた場合は（ステップＳ１０８;Ｙｅｓ）、依頼したすべてのＤＭＡ転送の実行が完了したので、本処理を終了する。
【００５２】
図５は、データ転送システム５の第２制御部２１が行う動作を示す流れ図である。第２制御部２１は、ＤＭＡ設定バッファ２４を監視し（ステップＳ２０１）、ＤＭＡ設定バッファ２４にＤＭＡ転送設定が書き込まれるのを待つ（ステップＳ２０１;Ｙｅｓ）。具体的には、ＤＭＡ設定バッファ２４のバッファエンプティ信号を監視し、バッファエンプティ信号がオンのとき、ＤＭＡ設定バッファ２４にＤＭＡ転送設定がないと認識し、バッファエンプティ信号がオフのとき、ＤＭＡ設定バッファ２４に少なくとも１つのＤＭＡ転送設定が保持されていると認識する。
【００５３】
バッファエンプティ信号がオフならば（ステップＳ２０１;Ｎｏ）、ＤＭＡ設定バッファ２４に未処理のＤＭＡ転送設定が少なくとも１つ存在することになるので、ＤＭＡ設定バッファ２４から最も古いＤＭＡ転送設定を読み出して削除すると共に該ＤＭＡ転送設定の内容をＤＭＡ転送実行部２３にセットする（ステップＳ２０２）。
【００５４】
なお、ＤＭＡ設定バッファ２４にＤＭＡ転送設定が保持されていても、第２制御部２１が直ちにこれを処理するとは限らない。たとえば、転送先の第２メモリ２２の空き状態やその他の事情でＤＭＡ転送をすぐに実行できない場合は、実行可能になるのを待ってからＤＭＡ転送が行われる。
【００５５】
次に、バッファ空き割り込み要求フラグ３４がセットされているか否かを調べ（ステップＳ２０３）、セットされていなければ（ステップＳ２０３;Ｎｏ）、ステップＳ２０６へ移行する。バッファ空き割り込み要求フラグ３４がセットされている場合は、第２制御部２１は第３割り込み信号生成部３３から第３割り込み信号を出力し（ステップＳ２０４）、バッファ空き割り込み要求フラグ３４をリセットして（ステップＳ２０５）、ステップＳ２０６へ移行する。
【００５６】
すなわち、１つのＤＭＡ転送設定を読み出して削除すれば、必ずＤＭＡ設定バッファ２４に空き領域が生じるので、第２制御部２１は、１つのＤＭＡ転送設定を読み出して削除したときにバッファ空き割り込み要求フラグ３４がセットされていれば、ＤＭＡ設定バッファ２４に空き領域が生じたことを通知する第３割り込み信号を第１制御部１１に対して出力する。
【００５７】
ステップＳ２０６では、ＤＭＡ転送実行部２３にステップＳ２０２で設定したＤＭＡ転送を実行させる。該ＤＭＡ転送が終了したら、ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定が保持されているか否かを調べる（ステップＳ２０７）。具体的には、バッファエンプティ信号のオンオフを調べる。
【００５８】
ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定が保持されていれば、すなわち、バッファエンプティ信号がオフならば（ステップＳ２０７;Ｎｏ）、ステップＳ２０２に戻って、次のＤＭＡ転送設定に対する処理を継続して実行する。
【００５９】
ＤＭＡ設定バッファ２４に次のＤＭＡ転送設定が保持されていなければ、すなわち、バッファエンプティ信号がオンならば（ステップＳ２０７;Ｙｅｓ）、第２制御部２１の第１割り込み信号生成部３１から第１制御部１１に対して第１割り込み信号を出力して（ステップＳ２０８）、本処理を終了する。
【００６０】
このように、１つのＤＭＡ転送設定に係るＤＭＡ転送が終了したときに、ＤＭＡ設定バッファ２４に未処理のＤＭＡ転送設定があれば、該未処理のＤＭＡ転送設定に係るＤＭＡ転送が続けて実行されるので、第１制御部１１は、ＤＭＡ設定バッファ２４にＤＭＡ転送設定を次々と書き込むだけで、ＤＭＡ転送実行部２３に連続してＤＭＡ転送を実行させることができる。すなわち、１つのＤＭＡ転送設定に係るＤＭＡ転送が終了する毎に、第１制御部１１側から次のＤＭＡ転送を起動しなくて済むので、１つのＤＭＡ転送設定に係るＤＭＡ転送が終了する度に、該ＤＭＡ転送の終了を通知する割り込み信号を第２制御部２１から第１制御部１１へ出力しなくて良くなり、第１制御部１１においては該割り込み信号に対する処理が不要になって処理負担が軽減される。
【００６１】
また、１つのＤＭＡ転送設定に対応するＤＭＡ転送が終了したときにＤＭＡ設定バッファ２４に次のＤＭＡ転送設定が保持されていなければ、第２制御部２１から第１制御部１１へ第１割り込み信号が出力されるので、第１制御部１１は、依頼したすべてのＤＭＡ転送設定に係るＤＭＡ転送が終了したことを認識することができる。
【００６２】
なお、１つのＤＭＡ転送設定に対応するＤＭＡ転送が終了したとき、当該ＤＭＡ転送設定の終了通知フラグがセットされていれば、第２制御部２１の第２割り込み信号生成部３２から第２割り込み信号を第１制御部１１に対して出力する。１つのＤＭＡ転送設定に対応するＤＭＡ転送が終了したとき、当該ＤＭＡ転送設定の終了通知フラグがセットされていなければ、第２割り込み信号生成部３２は、第２割り込み信号を出力しない。
【００６３】
第１制御部１１は、任意のＤＭＡ転送設定において終了通知フラグをセットすれば、そのＤＭＡ転送設定に係るＤＭＡ転送が終了したときに、第２制御部２１から第２割り込み信号を受けることができる。たとえば、ラスタライズ部によって順次展開される画像データを第１メモリ１２から第２メモリ２２へＤＭＡ転送するような場合に、１ページの最後の部分をＤＭＡ転送するためのＤＭＡ転送設定において終了通知フラグを設定しておけば、第１制御部１１は、１ページの最後まで画像データの転送が完了したことを第２割り込み信号によって認識することができる。
【００６４】
このように、データ転送システム５によれば、第１制御部１１は、第２制御部２１からのＤＭＡ転送の終了割り込みを待たずに、ＤＭＡ設定バッファ２４に空きがあれば、次々とＤＭＡ転送設定を作成してＤＭＡ転送を指示することができる。すなわち、第２制御部２１からＤＭＡ転送毎に、転送終了の割り込みを受けて次のＤＭＡ転送設定を行うようなインターフェイスでは、第１制御部１１は、割り込みを受ける毎に、データ入力部１３からのデータを第１メモリ１２に格納する処理を中断して、ＤＭＡ転送設定を作成する処理を行わなければならない。
【００６５】
これに対して本実施の形態に係るデータ転送システム５では、第１制御部１１は、ＤＭＡ設定バッファ２４に空きがあれば、任意のタイミングでＤＭＡ転送設定を作成して書き込むことができる。たとえば、データ入力部１３からのデータを第１メモリ１２に所定量書き込み終えたときに、続けて、その所定量のデータの転送に関するＤＭＡ転送設定を作成してＤＭＡ設定バッファ２４に書き込むことができるので、割り込みを受けて処理を中断する場合に比べて、処理の切り替えに係るオーバーヘッドがなくなり、処理の効率が向上する。
【００６６】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００６７】
実施の形態では、第３割り込み信号の発生には、第１制御部１１がバッファ空き割り込み要求フラグ３４をセットすることを要したが、このようなフラグのセットがなくても、自立的に第２制御部２１が、ＤＭＡ設定バッファ２４の空きを通知する第３割り込み信号を発生させてもよい。すなわち、ＤＭＡ設定バッファ２４がフルの状態から空きのある状態に変化した場合に第３割り込み信号生成部３３が第３割り込み信号を自律的に出力するように構成してもよい。具体的には、第２制御部２１にＤＭＡ設定バッファ２４が出力するバッファフル信号を入力しておき、バッファフル信号がオンの状態で第２制御部２１が１つのＤＭＡ転送設定をＤＭＡ設定バッファ２４から読み出した場合に、第３割り込み信号生成部３３が第３割り込み信号を出力するように構成すればよい。
【００６８】
実施の形態では、第１〜第３の割り込み信号を発生させるようにしたが、これらの割り込み信号は本発明において必須のものではなく、割り込み信号を発生させない構成であってもよいし、第１から第３の割り込み信号のうちの任意の１または２個の割り込み信号を発生させる構成でもよい。
【００６９】
第２制御部２１によるＤＭＡ設定バッファ２４の監視は、常に行われなくてもよい。たとえば、（１）第１制御部１１から起動の指示を受けてからＤＭＡ設定バッファ２４を監視する、（２）第２メモリ２２の事情でＤＭＡ転送できないようなときは監視を中断する、（３）１つのＤＭＡ転送設定に対応するＤＭＡ転送が終了したときに次のＤＭＡ転送設定がＤＭＡ設定バッファ２４になければ、以後の監視を中止する、といった構成でもかまわない。（３）の場合、第１制御部１１は、第２制御部２１が監視を中止したことを第１割り込み信号によって認識することができる。そして、第１割り込み信号を受けた後に、ＤＭＡ転送設定をＤＭＡ設定バッファ２４に書き込んだ際に、監視の再開を第１制御部１１から第２制御部２１に指示すればよい。
【００７０】
本発明はデータ転送システム５のうちの第２制御部２１、ＤＭＡ転送実行部２３、ＤＭＡ設定バッファ２４の部分を取り出してデータ転送装置として構成されてもよい。たとえば、このデータ転送装置をＡＳＩＣ(Application Specific Integrated Circuit)などで構成する。
【００７１】
また、実施の形態ではメモリからメモリへデータを転送する例を示したが、これに限定されず、Ｉ／Ｏ（Input／Output）とメモリ間の転送やＩ／ＯとＩ／Ｏ間の転送であってもよい。
【符号の説明】
【００７２】
５…データ転送システム
１１…第１制御部
１２…第１メモリ
１３…データ入力部
２１…第２制御部
２２…第２メモリ
２３…ＤＭＡ転送実行部
２４…ＤＭＡ設定バッファ
３０…データ転送装置
３１…第１割り込み信号生成部
３２…第２割り込み信号生成部
３３…第３割り込み信号生成部
３４…バッファ空き割り込み要求フラグ
【図１】
2016051417.tif 000003
【図２】
2016051417.tif 000004
【図３】
2016051417.tif 000005
【図４】
2016051417.tif 000006
【図５】
2016051417.tif 000007