JP6038292B2 - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JP6038292B2
JP6038292B2 JP2015511014A JP2015511014A JP6038292B2 JP 6038292 B2 JP6038292 B2 JP 6038292B2 JP 2015511014 A JP2015511014 A JP 2015511014A JP 2015511014 A JP2015511014 A JP 2015511014A JP 6038292 B2 JP6038292 B2 JP 6038292B2
Authority
JP
Japan
Prior art keywords
descriptor information
descriptor
transfer
information
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.)
Active
Application number
JP2015511014A
Other languages
English (en)
Other versions
JPWO2014167670A1 (ja
Inventor
英徳 佐藤
英徳 佐藤
敏雄 中嶋
敏雄 中嶋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6038292B2 publication Critical patent/JP6038292B2/ja
Publication of JPWO2014167670A1 publication Critical patent/JPWO2014167670A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

この発明は、ディスクリプタチェーンを組む事により、1回の転送起動で複数フレームのデータを転送する事が可能なDMA(Direct Memory Access)制御装置に関するものである。
ディスクリプタチェーンを組んでDMA転送を行う場合、レジスタまたはメモリにディスクリプタ情報を設定しておき、制御回路がディスクリプタ情報を読み出し、読み出したディスクリプタ情報に従ってDMA転送を実行するのが一般的である。ディスクリプタ情報は、転送元の先頭アドレス、転送フレームサイズ、次ディスクリプタ番号(アドレス)、最終ディスクリプタフラグといった情報を含んでいる。
DMA転送を行うにあたり、1回の起動で転送できるフレームの数に限りがある場合等、ディスクリプタチェーンの全てを1回の起動で転送しきれない場合がある。
特許文献1には、ディスクリプタ情報の中にDMA転送を行うか否かを示す1bitの値を追加し、制御回路は読み出した値が転送しないことを示す場合は、該当フレームの転送を行わずに次のディスクリプタ情報を読み出す動作に移行することについて記載されている。
特開平7−36806号公報
特許文献1に記載された方法を利用して、転送しきれないフレームの転送をしないように設定する場合、転送しないフレームについてもディスクリプタ情報を読まなければならない。そのため、特に転送しないフレームが複数ある場合に余分な時間を要してしまう。
この発明は、ディスクリプタチェーンの全てを1回の起動で転送しきれない場合において、データ転送を高速に行うことを目的とする。
この発明に係るデータ転送装置は、
データ転送の制御情報を含むディスクリプタ情報を記憶するディスクリプタ情報記憶部と、
転送起動信号がアサートされると、前記ディスクリプタ情報記憶部によって記憶されたディスクリプタ情報を順次読み出すディスクリプタ情報読出部と、
前記ディスクリプタ情報読出部によって読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と等しくなった場合には後方スキップ指示を出力する転送判定部と、
前記転送判定部によって出力された制御情報に従い、データ転送するデータ転送部と
を備え、
前記ディスクリプタ情報読出部は、前記転送判定部によって後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
ことを特徴とする。
この発明に係るデータ転送装置は、転送可能フレーム数までフレームを転送すると、それ以降のフレームのディスクリプタ情報を読み出さずスキップする。そのため、不要なディスクリプタ情報の読み出しをしない分、転送時間を短縮できる。
実施の形態1に係るDMA制御装置100の機能を示すブロック図。 実施の形態1に係るDMA制御装置100の動作の説明図。 実施の形態2に係るDMA制御装置100の機能を示すブロック図。 実施の形態2に係るDMA制御装置100の動作の説明図。 実施の形態3に係るDMA制御装置100の機能を示すブロック図。 実施の形態3に係るDMA制御装置100の動作の説明図。 実施の形態4に係るDMA制御装置100の動作の説明図。 実施の形態4に係るDMA制御装置100の動作の説明図。 実施の形態4に係るDMA制御装置100の動作の説明図。
実施の形態1.
実施の形態1では、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、以降のフレームのディスクリプタ情報を読み出さずスキップするDMA制御装置100について説明する。
図1は、実施の形態1に係るDMA制御装置100(データ転送装置)の機能を示すブロック図である。
DMA制御装置100は、ディスクリプタ情報記憶部110、ディスクリプタ情報制御部120(ディスクリプタ情報読出部)、転送判定部130、データ転送部140を備える。また、転送判定部130は、後方スキップ制御部131を備える。
ディスクリプタ情報記憶部110は、転送元の先頭アドレス、転送フレームサイズ、次ディスクリプタ番号(アドレス)、転送済みか否かを表す転送済フラグ、最終ディスクリプタフラグ等を含むディスクリプタ情報を記憶するメモリである。
ディスクリプタ情報制御部120は、ディスクリプタ情報記憶部110に対して、ライトイネーブル信号11と書き込み先のアドレス13とライトデータ14とを、起動時または任意のタイミングで出力し、ディスクリプタ情報記憶部110にディスクリプタ情報を書き込む。
また、ディスクリプタ情報制御部120は、転送起動信号16がアサートされると、ディスクリプタ情報記憶部110に対して、リードイネーブル信号12と読み出し先のアドレス13とを出力し、ディスクリプタ情報記憶部110からリードデータ15としてディスクリプタ情報を読み出す。
転送判定部130は、ディスクリプタ情報制御部120よって読み出されたリードデータ15の中の転送済フラグに基づき、フレーム転送を行うか否かを判定する。転送判定部130は、転送済フラグが0の場合にはフレーム転送を行うと判定し、データ転送部140に対して転送指示信号19と制御情報20(先頭アドレス、フレームサイズ)とを出力する。一方、転送判定部130は、転送済フラグが1の場合にはフレーム転送を行わないと判定し、転送指示信号19と制御情報20とを出力しない。
なお、転送指示信号19はディスクリプタ情報記憶部110にも出力され、転送が行われたフレームに対応するディスクリプタ情報の転送済フラグを0から1に変化させる。
後方スキップ制御部131は、転送起動信号16がアサートされた直後から、ディスクリプタ情報制御部120によって読み出されたディスクリプタ情報のうち、転送済フラグが0のディスクリプタ情報の数(すなわち、転送されるフレームの数)をカウントする。後方スキップ制御部131は、読み出されたディスクリプタ情報の数がCPUからアサートされた転送可能フレーム数17と一致すると、ディスクリプタ情報制御部120に対して後方スキップ指示18をアサートする。
ディスクリプタ情報制御部120は、後方スキップ指示18がアサートされると、次回以降のディスクリプタ情報記憶部110からの読み出しをスキップし、最終ディスクリプタ情報を読み出す。
図2は、実施の形態1に係るDMA制御装置100の動作の説明図である。
表200は、ディスクリプタ情報記憶部110が記憶した情報を表す。
各ディスクリプタ情報には、ディスクリプタ番号が割り当てられており、各ディスクリプタ情報には、次に読み出すディスクリプタの番号を示す次ディスクリプタ番号と、転送元の先頭アドレスと、転送サイズと、転送済みフラグとが含まれている。
なお、次ディスクリプタ番号がLastとなっているディスクリプタ情報は、最後に読み出される最終ディスクリプタ情報である。ここでは、次ディスクリプタ番号が、最終ディスクリプタ情報を示す最終ディスクリプタフラグを兼ねている。
図2では、ディスクリプタ情報記憶部110に格納可能なディスクリプタの数は32個である。
図2では、ディスクリプタ番号2から転送が開始されると、ディスクリプタ番号8まで順に転送される。ディスクリプタ番号8の次ディスクリプタ番号は23なので、ディスクリプタ番号8の次にディスクリプタ番号23が転送される。ディスクリプタ番号27まで転送された後、ディスクリプタ番号14が転送される。ディスクリプタ番号19まで転送された後、最終ディスクリプタ情報であるディスクリプタ番号31にジャンプして終了する。ここまでがディスクリプタ番号2から始まるディスクリプタチェーンの一連の動作である。
配列201は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を8に制限したとする。この場合、ディスクリプタ情報制御部120は、矢印202のようにディスクリプタ番号23まで順にディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号23のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、後方スキップ制御部131は後方スキップ指示18をアサートする。すると、ディスクリプタ情報制御部120は、点線203のように以降の読み出しを最後のディスクリプタ番号31までスキップする。
なお、転送が行われたフレームに対応するディスクリプタ情報の転送済フラグは0から1に変化し、次回以降の起動では転送が行われない。
ここでは、ディスクリプタ番号31の最終ディスクリプタ情報は、転送フレーム数制限の対象外とし、必ず最後に読み出される。しかし、必ずしもこのようになっている必要は無い。
以上のように、実施の形態1に係るDMA制御装置100は、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、後方スキップ指示18をアサートし、以降のフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
実施の形態2.
実施の形態2では、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップするDMA制御装置100について説明する。
図3は、実施の形態2に係るDMA制御装置100の機能を示すブロック図である。
図3に示すDMA制御装置100は、転送判定部130が後方スキップ制御部131ではなく、前方スキップ制御部132を備える点が、図1に示すDMA制御装置100と異なる。
前方スキップ制御部132は、転送起動信号16がアサートされた直後から、ディスクリプタ情報制御部120によって読み出されたディスクリプタ情報の数(すなわち、転送されるフレームの数)をカウントする。前方スキップ制御部132は、読み出されたディスクリプタ情報の数がCPUからアサートされた転送可能フレーム数17と一致すると、ディスクリプタ情報に含まれる次ディスクリプタ番号を、次回起動時先頭アドレス21としてディスクリプタ情報制御部120に対して出力する。
ディスクリプタ情報制御部120は、新たに転送起動信号16がアサートされた場合、次回起動時先頭アドレス21をディスクリプタ情報記憶部110の読み出し開始アドレスにする。
図4は、実施の形態2に係るDMA制御装置100の動作の説明図である。
表210は、ディスクリプタ情報記憶部110が記憶した情報を表す。図4に示す表210は、転送済フラグがない点が、図2に示す表200と異なる。
配列211は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を8に制限したとする。この場合、ディスクリプタ情報制御部120は、最終ディスクリプタ番号31まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号23のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、転送判定部130は、ディスクリプタ番号23のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。また、前方スキップ制御部132は、ディスクリプタ番号23のディスクリプタ情報に含まれる次ディスクリプタ番号24を次回起動時先頭アドレス21として出力する。
2回目の転送起動では、ディスクリプタ情報制御部120は、次回起動時先頭アドレス21に従い、点線212のようにディスクリプタ番号23までディスクリプタ情報の読み出しをスキップし、矢印213のようにディスクリプタ番号24から読み出しを開始する。ディスクリプタ情報制御部120は、矢印213のようにディスクリプタ番号24から最終ディスクリプタ情報であるディスクリプタ番号31まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号17のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、転送判定部130は、ディスクリプタ番号17のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。また、前方スキップ制御部132は、ディスクリプタ番号17のディスクリプタ情報に含まれる次ディスクリプタ番号18を次回起動時先頭アドレス21として出力する。
以上のように、実施の形態2に係るDMA制御装置100は、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
実施の形態3.
実施の形態3では、実施の形態1,2の両方の機能を有するDMA制御装置100について説明する。
図5は、実施の形態3に係るDMA制御装置100の機能を示すブロック図である。
図5に示すDMA制御装置100は、転送判定部130が後方スキップ制御部131ではなく、前後方スキップ制御部133を備える点が、図1に示すDMA制御装置100と異なる。
前後方スキップ制御部133は、転送起動信号16がアサートされた直後から、ディスクリプタ情報制御部120によって読み出されたディスクリプタ情報の数(すなわち、転送されるフレームの数)をカウントする。前後方スキップ制御部133は、読み出されたディスクリプタ情報の数がCPUからアサートされた転送可能フレーム数17と一致すると、ディスクリプタ情報制御部120に対して後方スキップ指示18をアサートする。また、前後方スキップ制御部133は、読み出したディスクリプタ情報の数がCPUからアサートされた転送可能フレーム数17と一致すると、ディスクリプタ情報に含まれる次ディスクリプタ番号を、次回起動時先頭アドレス21としてディスクリプタ情報制御部120に対して出力する。
ディスクリプタ情報制御部120は、後方スキップ指示18がアサートされると、次回以降のディスクリプタ情報記憶部110からの読み出しをスキップし、最終ディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部120は、新たに転送起動信号16がアサートされた場合、次回起動時先頭アドレス21をディスクリプタ情報記憶部110の読み出し開始アドレスにする。
図6は、実施の形態3に係るDMA制御装置100の動作の説明図である。
表220は、ディスクリプタ情報記憶部110が記憶した情報を表す。図6に示す表220は、図4に示す表210と同じである。
配列221は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を8に制限したとする。この場合、ディスクリプタ情報制御部120は、ディスクリプタ番号23まで順にディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号23のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、前後方スキップ制御部133は、後方スキップ指示18をアサートするとともに、ディスクリプタ番号23のディスクリプタ情報に含まれる次ディスクリプタ番号24を次回起動時先頭アドレス21として出力する。すると、ディスクリプタ情報制御部120は、以降の読み出しを最後のディスクリプタ番号31までスキップする。
2回目の転送起動では、ディスクリプタ情報制御部120は、次回起動時先頭アドレス21に従い、点線222のようにディスクリプタ番号23までディスクリプタ情報の読み出しをスキップし、矢印223のようにディスクリプタ番号24から読み出しを開始する。ディスクリプタ情報制御部120は、矢印223のようにディスクリプタ番号24からディスクリプタ番号17まで順にディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号17のディスクリプタ情報が読み出されると、読み出されたディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、前後方スキップ制御部133は、後方スキップ指示18をアサートするとともに、ディスクリプタ番号17のディスクリプタ情報に含まれる次ディスクリプタ番号18を次回起動時先頭アドレス21として出力する。すると、ディスクリプタ情報制御部120は、点線224のように以降の読み出しを最後のディスクリプタ番号31までスキップする。
以上のように、実施の形態3に係るDMA制御装置100は、転送可能なフレーム数分のディスクリプタ情報が読み出された場合には、後方スキップ指示18をアサートし、以降のフレームのディスクリプタ情報を読み出さずスキップする。また、実施の形態3に係るDMA制御装置100は、前回起動時までに転送したフレームのディスクリプタ情報を読み出さずスキップする。これにより、不要な読み出し時間を削減することができる。
実施の形態4.
実施の形態4では、必ず転送する必要のある種別のフレームは必ず転送し、1回の転送起動で必ずしも全てのフレームを転送しなくても良い種別のフレームの転送を一部スキップするDMA制御装置100について説明する。
図7は、実施の形態4に係るDMA制御装置100の動作の説明図である。図7では、図1に示す実施の形態1に係るDMA制御装置100の場合の動作を示す。
表230は、ディスクリプタ情報記憶部110が記憶した情報を表す。図7に示す表230は、フレーム種別が追加されている点が、図2に示す表200と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数17によって1回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
配列231は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を4に制限したとする。この場合、矢印232のように、ディスクリプタ情報制御部120は、ディスクリプタ番号2からディスクリプタ番号8まで順にフレーム種別αのディスクリプタ情報を読み出す。また、矢印233のように、ディスクリプタ情報制御部120は、ディスクリプタ番号23からディスクリプタ番号26まで順にフレーム種別βのディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号26のディスクリプタ情報が読み出されると、読み出したフレーム種別βかつ転送済フラグ0のディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、後方スキップ制御部131は、後方スキップ指示18をアサートする。すると、ディスクリプタ情報制御部120は、点線234のように以降の読み出しを最後のディスクリプタ番号31までスキップする。
なお、転送が行われたフレームに相当するディスクリプタ情報の転送済フラグは0から1に変化し、次回以降の起動ではフレーム転送が行われない。
図8は、実施の形態4に係るDMA制御装置100の動作の説明図である。図8では、図3に示す実施の形態2に係るDMA制御装置100の場合の動作を示す。
表240は、ディスクリプタ情報記憶部110が記憶した情報を表す。図8に示す表240は、フレーム種別が追加されている点が、図4に示す表210と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数17によって1回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
配列241は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を4に制限したとする。この場合、ディスクリプタ情報制御部120は、最終ディスクリプタ番号31まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号26のディスクリプタ情報が読み出されると、読み出したフレーム種別βのディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、転送判定部130は、ディスクリプタ番号26のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。また、前方スキップ制御部132は、ディスクリプタ番号26のディスクリプタ情報に含まれる次ディスクリプタ番号27を次回起動時先頭アドレス21として出力する。
2回目の転送起動では、ディスクリプタ情報制御部120は、矢印242のように、ディスクリプタ番号2から8までフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部120は、次回起動時先頭アドレス21に従い、点線243のようにディスクリプタ番号26までディスクリプタ情報の読み出しをスキップし、矢印244のようにディスクリプタ番号27から読み出しを開始する。ディスクリプタ情報制御部120は、矢印244のようにディスクリプタ番号27から最終ディスクリプタ情報であるディスクリプタ番号31まで順にディスクリプタ情報を読み出す。
ディスクリプタ番号16のディスクリプタ情報が読み出されると読み出したフレーム種別βのディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、転送判定部130は、ディスクリプタ番号16のディスクリプタ情報まで、ディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。また、前方スキップ制御部132は、ディスクリプタ番号16のディスクリプタ情報に含まれる次ディスクリプタ番号17を次回起動時先頭アドレス21として出力する。
図9は、実施の形態4に係るDMA制御装置100の動作の説明図である。図9では、図5に示す実施の形態3に係るDMA制御装置100の場合の動作を示す。
表250は、ディスクリプタ情報記憶部110が記憶した情報を表す。図9に示す表250は、フレーム種別が追加されている点が、図6に示す表220と異なる。
ここでは、フレーム種別βのみが、転送可能フレーム数17によって1回の転送起動で転送するフレーム数に制限がかかり、それ以外の種別のフレームは毎回転送するものとする。
配列251は、ディスクリプタチェーン順にディスクリプタ番号を並べたものである。
1回の転送起動で転送可能なフレーム数を4に制限したとする。この場合、ディスクリプタ情報制御部120は、ディスクリプタ番号2からディスクリプタ番号8まで順にフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部120は、ディスクリプタ番号23からディスクリプタ番号26まで順にフレーム種別βのディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号26のディスクリプタ情報が読み出されると、読み出されたフレーム種別βのディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、前後方スキップ制御部133は、後方スキップ指示18をアサートするとともに、ディスクリプタ番号26のディスクリプタ情報に含まれる次ディスクリプタ番号27を次回起動時先頭アドレス21として出力する。すると、ディスクリプタ情報制御部120は、以降の読み出しを最後のディスクリプタ番号31までスキップする。
2回目の転送起動では、ディスクリプタ情報制御部120は、矢印252のように、ディスクリプタ番号2から8までフレーム種別αのディスクリプタ情報を読み出す。また、ディスクリプタ情報制御部120は、次回起動時先頭アドレス21に従い、点線253のようにディスクリプタ番号26までディスクリプタ情報の読み出しをスキップし、矢印254のようにディスクリプタ番号27から読み出しを開始する。ディスクリプタ情報制御部120は、矢印254のようにディスクリプタ番号27からディスクリプタ番号16まで順にディスクリプタ情報を読み出す。そして、転送判定部130は、読み出されたディスクリプタ情報に含まれる制御情報142をデータ転送部140へ出力し、データ転送部140は、制御情報142に従いデータ転送を行う。
ディスクリプタ番号16のディスクリプタ情報が読み出されると、読み出されたフレーム種別βのディスクリプタ情報の数と転送可能フレーム数17とが一致する。そのため、前後方スキップ制御部133は、後方スキップ指示18をアサートするとともに、ディスクリプタ番号16のディスクリプタ情報に含まれる次ディスクリプタ番号17を次回起動時先頭アドレス21として出力する。すると、ディスクリプタ情報制御部120は、点線255のように以降の読み出しを最後のディスクリプタ番号31までスキップする。
以上のように、実施の形態4に係るDMA制御装置100は、必ず転送する必要のある種別のフレームは転送し、1回の転送起動で必ずしも全てのフレームを転送しなくてもよい種別のフレームの転送を一部スキップすることができる。
以上に説明した上記実施の形態における「ディスクリプタ情報制御部120」、「転送判定部130」、「後方スキップ制御部131」、「前方スキップ制御部132」、「前後方スキップ制御部133」、「データ転送部140」の各「〜部」は、回路やソフトウェアやハードウェエアで構成される。
そのため、各「〜部」を、「〜回路」と読み替えてもよい。また、各「〜部」を、「〜処理」、「〜プログラム」、「〜手段」、「〜手順」、「〜機能」、「〜装置」、「〜機器」と読み替えてもよい。
各「〜部」がソフトウェエアで構成される場合、各「〜部」はRAM(Random Access Memory)等の記憶装置に記憶され、CPU(Central Processing Unit)や演算回路等の処理装置によって読み出され実行される。
100 DMA制御装置、110 ディスクリプタ情報記憶部、120 ディスクリプタ情報制御部、130 転送判定部、131 後方スキップ制御部、132 前方スキップ制御部、133 前後方スキップ制御部、140 データ転送部。

Claims (5)

  1. データ転送の制御情報を含むディスクリプタ情報を記憶するディスクリプタ情報記憶部と、
    転送起動信号がアサートされると、前記ディスクリプタ情報記憶部によって記憶されたディスクリプタ情報を順次読み出すディスクリプタ情報読出部と、
    前記ディスクリプタ情報読出部によって読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と一致した場合には後方スキップ指示を出力する転送判定部と、
    前記転送判定部によって出力された制御情報に従い、データ転送するデータ転送部と
    を備え、
    前記ディスクリプタ情報読出部は、前記転送判定部によって後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
    ことを特徴とするデータ転送装置。
  2. 前記ディスクリプタ情報記憶部は、前記ディスクリプタ情報毎に、転送済か否かを示す転送済フラグを記憶し、
    前記転送判定部は、カウントした数が前記転送可能フレーム数以下の間は、前記制御情報を出力するとともに、その制御情報が含まれていたディスクリプタ情報の転送済フラグを転送済に変更し、
    前記ディスクリプタ情報読出部は、前記転送済フラグが転送済でないディスクリプタ情報を読み出す
    ことを特徴とする請求項1に記載のデータ転送装置。
  3. 前記ディスクリプタ情報は、次に読み出すディスクリプタ情報の識別子を含んでおり、
    前記転送判定部は、カウントした数が前記転送可能フレーム数と一致した場合には、前記後方スキップ指示を出力するとともに、前記転送可能フレーム数個目に読み出されたディスクリプタ情報に含まれる識別子を前記ディスクリプタ情報読出部に出力し、
    前記ディスクリプタ情報読出部は、新たに転送起動信号がアサートされると、前記転送判定部によって出力された識別子が示すディスクリプタ情報から順次ディスクリプタ情報を読み出す
    ことを特徴とする請求項1に記載のデータ転送装置。
  4. 前記ディスクリプタ情報は、転送の必要性の高さを表す種別を示す種別情報を含んでおり、
    前記転送判定部は、前記ディスクリプタ情報読出部が読み出したディスクリプタ情報の前記数として、前記ディスクリプタ情報読出部が読み出したディスクリプタ情報のうち、一部の種別のディスクリプタ情報の数をカウントする
    ことを特徴とする請求項1に記載のデータ転送装置。
  5. 処理装置が、転送起動信号がアサートされると、データ転送の制御情報を含むディスクリプタ情報を記憶した記憶装置からディスクリプタ情報を順次読み出すディスクリプタ情報読出工程と、
    処理装置が、前記ディスクリプタ情報読出工程で読み出されたディスクリプタ情報の数をカウントして、カウントした数が予め定められた転送可能フレーム数以下の間は前記ディスクリプタ情報に含まれる制御情報を出力するとともに、カウントした数が前記転送可能フレーム数と一致した場合には後方スキップ指示を出力する転送判定工程と、
    処理装置が、前記転送判定工程で出力された制御情報に従い、データ転送するデータ転送工程と
    を備え、
    前記ディスクリプタ情報読出工程では、前記転送判定工程で後方スキップ指示が出力された場合には、残りの前記ディスクリプタ情報の読み出しをスキップする
    ことを特徴とするデータ転送方法。
JP2015511014A 2013-04-10 2013-04-10 データ転送装置及びデータ転送方法 Active JP6038292B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/060833 WO2014167670A1 (ja) 2013-04-10 2013-04-10 データ転送装置及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP6038292B2 true JP6038292B2 (ja) 2016-12-07
JPWO2014167670A1 JPWO2014167670A1 (ja) 2017-02-16

Family

ID=51689104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015511014A Active JP6038292B2 (ja) 2013-04-10 2013-04-10 データ転送装置及びデータ転送方法

Country Status (7)

Country Link
US (1) US9886411B2 (ja)
JP (1) JP6038292B2 (ja)
KR (1) KR101749850B1 (ja)
CN (1) CN105103145B (ja)
DE (1) DE112013006940B4 (ja)
TW (1) TWI537739B (ja)
WO (1) WO2014167670A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150122825A (ko) * 2014-04-23 2015-11-03 에스케이하이닉스 주식회사 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
JP6239078B1 (ja) * 2016-11-04 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
TWI608359B (zh) * 2017-01-17 2017-12-11 關貿網路股份有限公司 資料傳輸系統及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04296960A (ja) * 1991-01-10 1992-10-21 Nec Corp Dma制御方式
JP2001325209A (ja) * 2000-05-15 2001-11-22 Sharp Corp データ転送制御装置
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367639A (en) 1991-12-30 1994-11-22 Sun Microsystems, Inc. Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
JPH0736806A (ja) 1993-07-15 1995-02-07 Nec Corp Dma方式
US6081848A (en) * 1998-08-14 2000-06-27 Intel Corporation Striping packets of data across multiple virtual channels
JP2002278918A (ja) 2001-03-19 2002-09-27 Ricoh Co Ltd Dma装置
US7007101B1 (en) 2001-11-09 2006-02-28 Radisys Microware Communications Software Division, Inc. Routing and forwarding table management for network processor architectures
US7472205B2 (en) 2002-04-24 2008-12-30 Nec Corporation Communication control apparatus which has descriptor cache controller that builds list of descriptors
KR100528861B1 (ko) * 2003-03-04 2005-11-16 삼성전자주식회사 제어 패킷의 적응적 대역 할당을 위한 패킷 포워딩시스템의 제어 패킷 관리 장치 및 그의 제어 패킷 관리 방법
JP4373255B2 (ja) * 2004-03-23 2009-11-25 富士通株式会社 ダイレクトメモリアクセス制御装置および方法
US7424553B1 (en) * 2004-04-15 2008-09-09 Xilinx, Inc. Method and apparatus for communicating data between a network transceiver and memory circuitry
EP1801804A4 (en) * 2004-08-23 2011-08-10 Panasonic Corp REPRODUCING APPARATUS, REPRODUCTION METHOD AND REPRODUCING PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM WITH REPRODUCTIVE PROGRAM
US20060155895A1 (en) * 2004-12-10 2006-07-13 Fujitsu Limited Data transferring apparatus and data transferring method
CN101556564B (zh) * 2008-04-11 2011-08-24 联芯科技有限公司 数据接收/发送方法和装置
CN100593161C (zh) * 2008-06-11 2010-03-03 南京磐能电力科技股份有限公司 一种点到多点数据分配dma控制器实现方法
CN101616099B (zh) * 2009-08-03 2011-11-09 杭州华三通信技术有限公司 硬件转发表刷新方法和装置以及路由设备
WO2011155096A1 (ja) * 2010-06-11 2011-12-15 パナソニック株式会社 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
JP2012014436A (ja) 2010-06-30 2012-01-19 Toshiba Corp ダイレクトメモリアクセス制御装置及び方法
JP2012073745A (ja) 2010-09-28 2012-04-12 Fujitsu Semiconductor Ltd Dmaシステム
JP5374543B2 (ja) * 2011-05-16 2013-12-25 シャープ株式会社 Dma制御装置、画像形成装置、および、dma制御方法
US8806112B2 (en) 2011-07-14 2014-08-12 Lsi Corporation Meta data handling within a flash media controller
KR20150122825A (ko) * 2014-04-23 2015-11-03 에스케이하이닉스 주식회사 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
EP3248592A1 (en) 2016-05-25 2017-11-29 EB IP Hybritabs B.V. Process for the preparation of drug delivery systems having a testosterone compound present in an outer layer or part, as well as such drug delivery systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04296960A (ja) * 1991-01-10 1992-10-21 Nec Corp Dma制御方式
JP2001325209A (ja) * 2000-05-15 2001-11-22 Sharp Corp データ転送制御装置
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム

Also Published As

Publication number Publication date
KR101749850B1 (ko) 2017-06-21
WO2014167670A1 (ja) 2014-10-16
JPWO2014167670A1 (ja) 2017-02-16
TW201439774A (zh) 2014-10-16
DE112013006940T5 (de) 2016-01-07
DE112013006940B4 (de) 2022-11-17
KR20150130385A (ko) 2015-11-23
CN105103145B (zh) 2018-02-16
TWI537739B (zh) 2016-06-11
US20150363351A1 (en) 2015-12-17
CN105103145A (zh) 2015-11-25
US9886411B2 (en) 2018-02-06

Similar Documents

Publication Publication Date Title
JP2004287757A (ja) Dma制御装置
KR101812912B1 (ko) 자율 메모리를 위한 방법 및 시스템
JP2010176606A (ja) データ処理装置および画像処理装置
JP6038292B2 (ja) データ転送装置及びデータ転送方法
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
JP5651622B2 (ja) データ伝送装置、データ伝送方法、及びプログラム
JP2001157049A5 (ja)
TWI533316B (zh) 錯誤修正方法以及記憶體裝置
JP2012098884A (ja) データ処理装置および画像処理装置
JP2007188434A (ja) 画像処理装置
JP2012059131A (ja) Simd型マイクロプロセッサ及びその処理方法
JP2015014934A (ja) メモリ制御装置及びメモリ制御方法
JP5907558B2 (ja) マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム
JP2012014436A (ja) ダイレクトメモリアクセス制御装置及び方法
JP2009277040A (ja) データ転送処理装置およびデータ転送処理方法
US8473705B2 (en) Memory access apparatus
JP2007004667A (ja) Dma転送制御方法
JP2007334600A (ja) 半導体集積回路装置
TWI559147B (zh) 資料傳輸系統及操作資料傳輸系統的方法
JP2010211654A (ja) データ転送方法および装置
JP2011180653A (ja) データ転送装置およびデータ転送方法
JP2010020815A (ja) Fifoアクセス回路
JP2012194828A (ja) Dma装置、情報処理装置、及びデータ転送方法
JP2008242870A (ja) データ読み出し装置
JP2017151711A (ja) 画像処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161101

R150 Certificate of patent or registration of utility model

Ref document number: 6038292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250