(57)【特許請求の範囲】
【請求項１】
データ転送の制御情報を含むディスクリプタ情報を記憶するディスクリプタ情報記憶部と、
転送起動信号がアサートされると、前記ディスクリプタ情報記憶部によって記憶されたディスクリプタ情報を順次読み出すディスクリプタ情報読出部と、
前記ディスクリプタ情報読出部によって読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と一致した場合には後方スキップ指示を出力する転送判定部と、
前記転送判定部によって出力された制御情報に従い、データ転送するデータ転送部と
を備え、
前記ディスクリプタ情報読出部は、前記転送判定部によって後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
ことを特徴とするデータ転送装置。
【請求項２】
前記ディスクリプタ情報記憶部は、前記ディスクリプタ情報毎に、転送済か否かを示す転送済フラグを記憶し、
前記転送判定部は、カウントした数が前記転送可能フレーム数以下の間は、前記制御情報を出力するとともに、その制御情報が含まれていたディスクリプタ情報の転送済フラグを転送済に変更し、
前記ディスクリプタ情報読出部は、前記転送済フラグが転送済でないディスクリプタ情報を読み出す
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記ディスクリプタ情報は、次に読み出すディスクリプタ情報の識別子を含んでおり、
前記転送判定部は、カウントした数が前記転送可能フレーム数と一致した場合には、前記後方スキップ指示を出力するとともに、前記転送可能フレーム数個目に読み出されたディスクリプタ情報に含まれる識別子を前記ディスクリプタ情報読出部に出力し、
前記ディスクリプタ情報読出部は、新たに転送起動信号がアサートされると、前記転送判定部によって出力された識別子が示すディスクリプタ情報から順次ディスクリプタ情報を読み出す
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項４】
前記ディスクリプタ情報は、転送の必要性の高さを表す種別を示す種別情報を含んでおり、
前記転送判定部は、前記ディスクリプタ情報読出部が読み出したディスクリプタ情報の前記数として、前記ディスクリプタ情報読出部が読み出したディスクリプタ情報のうち、一部の種別のディスクリプタ情報の数をカウントする
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項５】
処理装置が、転送起動信号がアサートされると、データ転送の制御情報を含むディスクリプタ情報を記憶した記憶装置からディスクリプタ情報を順次読み出すディスクリプタ情報読出工程と、
処理装置が、前記ディスクリプタ情報読出工程で読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と一致した場合には後方スキップ指示を出力する転送判定工程と、
処理装置が、前記転送判定工程で出力された制御情報に従い、データ転送するデータ転送工程と
を備え、
前記ディスクリプタ情報読出工程では、前記転送判定工程で後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディスクリプタチェーンを組む事により、１回の転送起動で複数フレームのデータを転送する事が可能なＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）制御装置に関するものである。
【背景技術】
【０００２】
ディスクリプタチェーンを組んでＤＭＡ転送を行う場合、レジスタまたはメモリにディスクリプタ情報を設定しておき、制御回路がディスクリプタ情報を読み出し、読み出したディスクリプタ情報に従ってＤＭＡ転送を実行するのが一般的である。ディスクリプタ情報は、転送元の先頭アドレス、転送フレームサイズ、次ディスクリプタ番号（アドレス）、最終ディスクリプタフラグといった情報を含んでいる。【０００３】
ＤＭＡ転送を行うにあたり、１回の起動で転送できるフレームの数に限りがある場合等、ディスクリプタチェーンの全てを１回の起動で転送しきれない場合がある。【０００４】
特許文献１には、ディスクリプタ情報の中にＤＭＡ転送を行うか否かを示す１ｂｉｔの値を追加し、制御回路は読み出した値が転送しないことを示す場合は、該当フレームの転送を行わずに次のディスクリプタ情報を読み出す動作に移行することについて記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３６８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された方法を利用して、転送しきれないフレームの転送をしないように設定する場合、転送しないフレームについてもディスクリプタ情報を読まなければならない。そのため、特に転送しないフレームが複数ある場合に余分な時間を要してしまう。
この発明は、ディスクリプタチェーンの全てを１回の起動で転送しきれない場合において、データ転送を高速に行うことを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るデータ転送装置は、
データ転送の制御情報を含むディスクリプタ情報を記憶するディスクリプタ情報記憶部と、
転送起動信号がアサートされると、前記ディスクリプタ情報記憶部によって記憶されたディスクリプタ情報を順次読み出すディスクリプタ情報読出部と、
前記ディスクリプタ情報読出部によって読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と等しくなった場合には後方スキップ指示を出力する転送判定部と、
前記転送判定部によって出力された制御情報に従い、データ転送するデータ転送部と
を備え、
前記ディスクリプタ情報読出部は、前記転送判定部によって後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
ことを特徴とする。
【発明の効果】
【０００８】
この発明に係るデータ転送装置は、転送可能フレーム数までフレームを転送すると、それ以降のフレームのディスクリプタ情報を読み出さずスキップする。そのため、不要なディスクリプタ情報の読み出しをしない分、転送時間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るＤＭＡ制御装置１００の機能を示すブロック図。
【図２】実施の形態１に係るＤＭＡ制御装置１００の動作の説明図。
【図３】実施の形態２に係るＤＭＡ制御装置１００の機能を示すブロック図。
【図４】実施の形態２に係るＤＭＡ制御装置１００の動作の説明図。
【図５】実施の形態３に係るＤＭＡ制御装置１００の機能を示すブロック図。
【図６】実施の形態３に係るＤＭＡ制御装置１００の動作の説明図。
【図７】実施の形態４に係るＤＭＡ制御装置１００の動作の説明図。
【図８】実施の形態４に係るＤＭＡ制御装置１００の動作の説明図。
【図９】実施の形態４に係るＤＭＡ制御装置１００の動作の説明図。
【発明を実施するための形態】
【００１０】
実施の形態１．
実施の形態１では、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、以降のフレームのディスクリプタ情報を読み出さずスキップするＤＭＡ制御装置１００について説明する。
【００１１】
図１は、実施の形態１に係るＤＭＡ制御装置１００（データ転送装置）の機能を示すブロック図である。
ＤＭＡ制御装置１００は、ディスクリプタ情報記憶部１１０、ディスクリプタ情報制御部１２０（ディスクリプタ情報読出部）、転送判定部１３０、データ転送部１４０を備える。また、転送判定部１３０は、後方スキップ制御部１３１を備える。
【００１２】
ディスクリプタ情報記憶部１１０は、転送元の先頭アドレス、転送フレームサイズ、次ディスクリプタ番号（アドレス）、転送済みか否かを表す転送済フラグ、最終ディスクリプタフラグ等を含むディスクリプタ情報を記憶するメモリである。
【００１３】
ディスクリプタ情報制御部１２０は、ディスクリプタ情報記憶部１１０に対して、ライトイネーブル信号１１と書き込み先のアドレス１３とライトデータ１４とを、起動時または任意のタイミングで出力し、ディスクリプタ情報記憶部１１０にディスクリプタ情報を書き込む。
また、ディスクリプタ情報制御部１２０は、転送起動信号１６がアサートされると、ディスクリプタ情報記憶部１１０に対して、リードイネーブル信号１２と読み出し先のアドレス１３とを出力し、ディスクリプタ情報記憶部１１０からリードデータ１５としてディスクリプタ情報を読み出す。
【００１４】
転送判定部１３０は、ディスクリプタ情報制御部１２０よって読み出されたリードデータ１５の中の転送済フラグに基づき、フレーム転送を行うか否かを判定する。転送判定部１３０は、転送済フラグが０の場合にはフレーム転送を行うと判定し、データ転送部１４０に対して転送指示信号１９と制御情報２０（先頭アドレス、フレームサイズ）とを出力する。一方、転送判定部１３０は、転送済フラグが１の場合にはフレーム転送を行わないと判定し、転送指示信号１９と制御情報２０とを出力しない。
なお、転送指示信号１９はディスクリプタ情報記憶部１１０にも出力され、転送が行われたフレームに対応するディスクリプタ情報の転送済フラグを０から１に変化させる。
【００１５】
後方スキップ制御部１３１は、転送起動信号１６がアサートされた直後から、ディスクリプタ情報制御部１２０によって読み出されたディスクリプタ情報のうち、転送済フラグが０のディスクリプタ情報の数（すなわち、転送されるフレームの数）をカウントする。後方スキップ制御部１３１は、読み出されたディスクリプタ情報の数がＣＰＵからアサートされた転送可能フレーム数１７と一致すると、ディスクリプタ情報制御部１２０に対して後方スキップ指示１８をアサートする。
ディスクリプタ情報制御部１２０は、後方スキップ指示１８がアサートされると、次回以降のディスクリプタ情報記憶部１１０からの読み出しをスキップし、最終ディスクリプタ情報を読み出す。
【００１６】
図２は、実施の形態１に係るＤＭＡ制御装置１００の動作の説明図である。
表２００は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。
各ディスクリプタ情報には、ディスクリプタ番号が割り当てられており、各ディスクリプタ情報には、次に読み出すディスクリプタの番号を示す次ディスクリプタ番号と、転送元の先頭アドレスと、転送サイズと、転送済みフラグとが含まれている。
なお、次ディスクリプタ番号がＬａｓｔとなっているディスクリプタ情報は、最後に読み出される最終ディスクリプタ情報である。ここでは、次ディスクリプタ番号が、最終ディスクリプタ情報を示す最終ディスクリプタフラグを兼ねている。
【００１７】
図２では、ディスクリプタ情報記憶部１１０に格納可能なディスクリプタの数は３２個である。
図２では、ディスクリプタ番号２から転送が開始されると、ディスクリプタ番号８まで順に転送される。ディスクリプタ番号８の次ディスクリプタ番号は２３なので、ディスクリプタ番号８の次にディスクリプタ番号２３が転送される。ディスクリプタ番号２７まで転送された後、ディスクリプタ番号１４が転送される。ディスクリプタ番号１９まで転送された後、最終ディスクリプタ情報であるディスクリプタ番号３１にジャンプして終了する。ここまでがディスクリプタ番号２から始まるディスクリプタチェーンの一連の動作である。
【００１８】
配列２０１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を８に制限したとする。この場合、ディスクリプタ情報制御部１２０は、矢印２０２のようにディスクリプタ番号２３まで順にディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号２３のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、後方スキップ制御部１３１は後方スキップ指示１８をアサートする。すると、ディスクリプタ情報制御部１２０は、点線２０３のように以降の読み出しを最後のディスクリプタ番号３１までスキップする。
なお、転送が行われたフレームに対応するディスクリプタ情報の転送済フラグは０から１に変化し、次回以降の起動では転送が行われない。
ここでは、ディスクリプタ番号３１の最終ディスクリプタ情報は、転送フレーム数制限の対象外とし、必ず最後に読み出される。しかし、必ずしもこのようになっている必要は無い。
【００１９】
以上のように、実施の形態１に係るＤＭＡ制御装置１００は、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、後方スキップ指示１８をアサートし、以降のフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
【００２０】
実施の形態２．
実施の形態２では、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップするＤＭＡ制御装置１００について説明する。
【００２１】
図３は、実施の形態２に係るＤＭＡ制御装置１００の機能を示すブロック図である。
図３に示すＤＭＡ制御装置１００は、転送判定部１３０が後方スキップ制御部１３１ではなく、前方スキップ制御部１３２を備える点が、図１に示すＤＭＡ制御装置１００と異なる。
【００２２】
前方スキップ制御部１３２は、転送起動信号１６がアサートされた直後から、ディスクリプタ情報制御部１２０によって読み出されたディスクリプタ情報の数（すなわち、転送されるフレームの数）をカウントする。前方スキップ制御部１３２は、読み出されたディスクリプタ情報の数がＣＰＵからアサートされた転送可能フレーム数１７と一致すると、ディスクリプタ情報に含まれる次ディスクリプタ番号を、次回起動時先頭アドレス２１としてディスクリプタ情報制御部１２０に対して出力する。
ディスクリプタ情報制御部１２０は、新たに転送起動信号１６がアサートされた場合、次回起動時先頭アドレス２１をディスクリプタ情報記憶部１１０の読み出し開始アドレスにする。
【００２３】
図４は、実施の形態２に係るＤＭＡ制御装置１００の動作の説明図である。
表２１０は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。図４に示す表２１０は、転送済フラグがない点が、図２に示す表２００と異なる。
【００２４】
配列２１１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を８に制限したとする。この場合、ディスクリプタ情報制御部１２０は、最終ディスクリプタ番号３１まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号２３のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、転送判定部１３０は、ディスクリプタ番号２３のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。また、前方スキップ制御部１３２は、ディスクリプタ番号２３のディスクリプタ情報に含まれる次ディスクリプタ番号２４を次回起動時先頭アドレス２１として出力する。
【００２５】
２回目の転送起動では、ディスクリプタ情報制御部１２０は、次回起動時先頭アドレス２１に従い、点線２１２のようにディスクリプタ番号２３までディスクリプタ情報の読み出しをスキップし、矢印２１３のようにディスクリプタ番号２４から読み出しを開始する。ディスクリプタ情報制御部１２０は、矢印２１３のようにディスクリプタ番号２４から最終ディスクリプタ情報であるディスクリプタ番号３１まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号１７のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、転送判定部１３０は、ディスクリプタ番号１７のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。また、前方スキップ制御部１３２は、ディスクリプタ番号１７のディスクリプタ情報に含まれる次ディスクリプタ番号１８を次回起動時先頭アドレス２１として出力する。
【００２６】
以上のように、実施の形態２に係るＤＭＡ制御装置１００は、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
【００２７】
実施の形態３．
実施の形態３では、実施の形態１，２の両方の機能を有するＤＭＡ制御装置１００について説明する。
【００２８】
図５は、実施の形態３に係るＤＭＡ制御装置１００の機能を示すブロック図である。
図５に示すＤＭＡ制御装置１００は、転送判定部１３０が後方スキップ制御部１３１ではなく、前後方スキップ制御部１３３を備える点が、図１に示すＤＭＡ制御装置１００と異なる。
【００２９】
前後方スキップ制御部１３３は、転送起動信号１６がアサートされた直後から、ディスクリプタ情報制御部１２０によって読み出されたディスクリプタ情報の数（すなわち、転送されるフレームの数）をカウントする。前後方スキップ制御部１３３は、読み出されたディスクリプタ情報の数がＣＰＵからアサートされた転送可能フレーム数１７と一致すると、ディスクリプタ情報制御部１２０に対して後方スキップ指示１８をアサートする。また、前後方スキップ制御部１３３は、読み出したディスクリプタ情報の数がＣＰＵからアサートされた転送可能フレーム数１７と一致すると、ディスクリプタ情報に含まれる次ディスクリプタ番号を、次回起動時先頭アドレス２１としてディスクリプタ情報制御部１２０に対して出力する。
ディスクリプタ情報制御部１２０は、後方スキップ指示１８がアサートされると、次回以降のディスクリプタ情報記憶部１１０からの読み出しをスキップし、最終ディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部１２０は、新たに転送起動信号１６がアサートされた場合、次回起動時先頭アドレス２１をディスクリプタ情報記憶部１１０の読み出し開始アドレスにする。
【００３０】
図６は、実施の形態３に係るＤＭＡ制御装置１００の動作の説明図である。
表２２０は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。図６に示す表２２０は、図４に示す表２１０と同じである。
【００３１】
配列２２１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を８に制限したとする。この場合、ディスクリプタ情報制御部１２０は、ディスクリプタ番号２３まで順にディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号２３のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、前後方スキップ制御部１３３は、後方スキップ指示１８をアサートするとともに、ディスクリプタ番号２３のディスクリプタ情報に含まれる次ディスクリプタ番号２４を次回起動時先頭アドレス２１として出力する。すると、ディスクリプタ情報制御部１２０は、以降の読み出しを最後のディスクリプタ番号３１までスキップする。
【００３２】
２回目の転送起動では、ディスクリプタ情報制御部１２０は、次回起動時先頭アドレス２１に従い、点線２２２のようにディスクリプタ番号２３までディスクリプタ情報の読み出しをスキップし、矢印２２３のようにディスクリプタ番号２４から読み出しを開始する。ディスクリプタ情報制御部１２０は、矢印２２３のようにディスクリプタ番号２４からディスクリプタ番号１７まで順にディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号１７のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、前後方スキップ制御部１３３は、後方スキップ指示１８をアサートするとともに、ディスクリプタ番号１７のディスクリプタ情報に含まれる次ディスクリプタ番号１８を次回起動時先頭アドレス２１として出力する。すると、ディスクリプタ情報制御部１２０は、点線２２４のように以降の読み出しを最後のディスクリプタ番号３１までスキップする。
【００３３】
以上のように、実施の形態３に係るＤＭＡ制御装置１００は、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、後方スキップ指示１８をアサートし、以降のフレームのディスクリプタ情報を読み出さずスキップする。また、実施の形態３に係るＤＭＡ制御装置１００は、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
【００３４】
実施の形態４．
実施の形態４では、必ず転送する必要のある種別のフレームは必ず転送し、１回の転送起動で必ずしも全てのフレームを転送しなくても良い種別のフレームの転送を一部スキップするＤＭＡ制御装置１００について説明する。
【００３５】
図７は、実施の形態４に係るＤＭＡ制御装置１００の動作の説明図である。図７では、図１に示す実施の形態１に係るＤＭＡ制御装置１００の場合の動作を示す。
表２３０は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。図７に示す表２３０は、フレーム種別が追加されている点が、図２に示す表２００と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数１７によって１回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
【００３６】
配列２３１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を４に制限したとする。この場合、矢印２３２のように、ディスクリプタ情報制御部１２０は、ディスクリプタ番号２からディスクリプタ番号８まで順にフレーム種別αのディスクリプタ情報を読み出す。また、矢印２３３のように、ディスクリプタ情報制御部１２０は、ディスクリプタ番号２３からディスクリプタ番号２６まで順にフレーム種別βのディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号２６のディスクリプタ情報が読み出されると、読み出したフレーム種別βかつ転送済フラグ０のディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、後方スキップ制御部１３１は、後方スキップ指示１８をアサートする。すると、ディスクリプタ情報制御部１２０は、点線２３４のように以降の読み出しを最後のディスクリプタ番号３１までスキップする。
なお、転送が行われたフレームに相当するディスクリプタ情報の転送済フラグは０から１に変化し、次回以降の起動ではフレーム転送が行われない。
【００３７】
図８は、実施の形態４に係るＤＭＡ制御装置１００の動作の説明図である。図８では、図３に示す実施の形態２に係るＤＭＡ制御装置１００の場合の動作を示す。
表２４０は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。図８に示す表２４０は、フレーム種別が追加されている点が、図４に示す表２１０と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数１７によって１回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
【００３８】
配列２４１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を４に制限したとする。この場合、ディスクリプタ情報制御部１２０は、最終ディスクリプタ番号３１まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号２６のディスクリプタ情報が読み出されると、読み出したフレーム種別βのディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、転送判定部１３０は、ディスクリプタ番号２６のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。また、前方スキップ制御部１３２は、ディスクリプタ番号２６のディスクリプタ情報に含まれる次ディスクリプタ番号２７を次回起動時先頭アドレス２１として出力する。
【００３９】
２回目の転送起動では、ディスクリプタ情報制御部１２０は、矢印２４２のように、ディスクリプタ番号２から８までフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部１２０は、次回起動時先頭アドレス２１に従い、点線２４３のようにディスクリプタ番号２６までディスクリプタ情報の読み出しをスキップし、矢印２４４のようにディスクリプタ番号２７から読み出しを開始する。ディスクリプタ情報制御部１２０は、矢印２４４のようにディスクリプタ番号２７から最終ディスクリプタ情報であるディスクリプタ番号３１まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号１６のディスクリプタ情報が読み出されると読み出したフレーム種別βのディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、転送判定部１３０は、ディスクリプタ番号１６のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。また、前方スキップ制御部１３２は、ディスクリプタ番号１６のディスクリプタ情報に含まれる次ディスクリプタ番号１７を次回起動時先頭アドレス２１として出力する。
【００４０】
図９は、実施の形態４に係るＤＭＡ制御装置１００の動作の説明図である。図９では、図５に示す実施の形態３に係るＤＭＡ制御装置１００の場合の動作を示す。
表２５０は、ディスクリプタ情報記憶部１１０が記憶した情報を表す。図９に示す表２５０は、フレーム種別が追加されている点が、図６に示す表２２０と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数１７によって１回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
【００４１】
配列２５１は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
１回の転送起動で転送可能なフレーム数を４に制限したとする。この場合、ディスクリプタ情報制御部１２０は、ディスクリプタ番号２からディスクリプタ番号８まで順にフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部１２０は、ディスクリプタ番号２３からディスクリプタ番号２６まで順にフレーム種別βのディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号２６のディスクリプタ情報が読み出されると、読み出されたフレーム種別βのディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、前後方スキップ制御部１３３は、後方スキップ指示１８をアサートするとともに、ディスクリプタ番号２６のディスクリプタ情報に含まれる次ディスクリプタ番号２７を次回起動時先頭アドレス２１として出力する。すると、ディスクリプタ情報制御部１２０は、以降の読み出しを最後のディスクリプタ番号３１までスキップする。
【００４２】
２回目の転送起動では、ディスクリプタ情報制御部１２０は、矢印２５２のように、ディスクリプタ番号２から８までフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部１２０は、次回起動時先頭アドレス２１に従い、点線２５３のようにディスクリプタ番号２６までディスクリプタ情報の読み出しをスキップし、矢印２５４のようにディスクリプタ番号２７から読み出しを開始する。ディスクリプタ情報制御部１２０は、矢印２５４のようにディスクリプタ番号２７からディスクリプタ番号１６まで順にディスクリプタ情報を読み出す。そして、転送判定部１３０は、読み出されたディスクリプタ情報に含まれる制御情報１４２をデータ転送部１４０へ出力し、データ転送部１４０は、制御情報１４２に従いデータ転送を行う。
ディスクリプタ番号１６のディスクリプタ情報が読み出されると、読み出されたフレーム種別βのディスクリプタ情報の数と転送可能フレーム数１７とが一致する。そのため、前後方スキップ制御部１３３は、後方スキップ指示１８をアサートするとともに、ディスクリプタ番号１６のディスクリプタ情報に含まれる次ディスクリプタ番号１７を次回起動時先頭アドレス２１として出力する。すると、ディスクリプタ情報制御部１２０は、点線２５５のように以降の読み出しを最後のディスクリプタ番号３１までスキップする。
【００４３】
以上のように、実施の形態４に係るＤＭＡ制御装置１００は、必ず転送する必要のある種別のフレームは転送し、１回の転送起動で必ずしも全てのフレームを転送しなくてもよい種別のフレームの転送を一部スキップすることができる。
【００４４】
以上に説明した上記実施の形態における「ディスクリプタ情報制御部１２０」、「転送判定部１３０」、「後方スキップ制御部１３１」、「前方スキップ制御部１３２」、「前後方スキップ制御部１３３」、「データ転送部１４０」の各「〜部」は、回路やソフトウェアやハードウェエアで構成される。
そのため、各「〜部」を、「〜回路」と読み替えてもよい。また、各「〜部」を、「〜処理」、「〜プログラム」、「〜手段」、「〜手順」、「〜機能」、「〜装置」、「〜機器」と読み替えてもよい。
各「〜部」がソフトウェエアで構成される場合、各「〜部」はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置に記憶され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や演算回路等の処理装置によって読み出され実行される。
【符号の説明】
【００４５】
１００  ＤＭＡ制御装置、１１０  ディスクリプタ情報記憶部、１２０  ディスクリプタ情報制御部、１３０  転送判定部、１３１  後方スキップ制御部、１３２  前方スキップ制御部、１３３  前後方スキップ制御部、１４０  データ転送部。
【図１】
0006038292.tif 000002
【図２】
0006038292.tif 000003
【図３】
0006038292.tif 000004
【図４】
0006038292.tif 000005
【図５】
0006038292.tif 000006
【図６】
0006038292.tif 000007
【図７】
0006038292.tif 000008
【図８】
0006038292.tif 000009
【図９】
0006038292.tif 000010