JP2006251916A - Dma転送システム及びdma転送方法 - Google Patents

Dma転送システム及びdma転送方法 Download PDF

Info

Publication number
JP2006251916A
JP2006251916A JP2005064358A JP2005064358A JP2006251916A JP 2006251916 A JP2006251916 A JP 2006251916A JP 2005064358 A JP2005064358 A JP 2005064358A JP 2005064358 A JP2005064358 A JP 2005064358A JP 2006251916 A JP2006251916 A JP 2006251916A
Authority
JP
Japan
Prior art keywords
bus
registers
data
dma transfer
addresses
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
Application number
JP2005064358A
Other languages
English (en)
Inventor
Seiji Suetake
清次 末武
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005064358A priority Critical patent/JP2006251916A/ja
Priority to US11/165,244 priority patent/US7634593B2/en
Publication of JP2006251916A publication Critical patent/JP2006251916A/ja
Pending legal-status Critical Current

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】 本発明は、連続又は一定間隔でないアドレスに割り当てられたレジスタのデータを効率的にDMA転送可能なDMA転送システムを提供することを目的とする。
【解決手段】 DMA転送システムは、DMAコントローラと、DMAコントローラに接続されるバスと、バスに接続されるバスインターフェースと、バスインターフェースを介してバスに結合される複数のレジスタを含み、バスインターフェースは複数のレジスタを不連続なアドレスと連続なアドレスとに2重に割当て、DMAコントローラから複数のレジスタを連続なアドレスを介してアクセス可能とするよう構成されることを特徴とする。
【選択図】 図5

Description

本発明は、一般にデータ転送システム及びデータ転送方法に関し、詳しくはDMA転送システム及びDMA転送方法に関する。
DMA(Direct Memory Access)転送システムにより、CPUを介すことなく転送元から転送先へ直接にデータ転送することで、高速なデータ転送が可能となる。図1は、従来のDMA転送システムの構成の一例を示す図である。
図1のDMA転送システム10は、CPU11、割り込みコントローラ12、DMAコントローラ13、メモリ14、イベントカウンタ15−1乃至15−4、及びバスインターフェース16−1乃至16−4を含む。CPU11、割り込みコントローラ12、DMAコントローラ13、及びメモリ14は、バス17により互いに接続され、更にイベントカウンタ15−1乃至15−4が対応するバスインターフェース16−1乃至16−4を介してバス17に接続される。
CPU11は、DMAの転送元アドレス、転送先アドレス、転送データサイズ、転送元アドレスの増減設定、転送先アドレスの増減設定等を指定して、DMAコントローラ13に対してDMA転送の設定をする。DMAコントローラ13は、これに応じて、指定されたDMA転送を実行する。
例えば、イベントカウンタ15−1乃至15−4からメモリ14に、レジスタデータをDMA転送する場合について説明する。ここではイベントカウンタを例として用いるが、他の機能を有するマクロであってもDMA転送の動作は同様である。
イベントカウンタ15−1乃至15−4は、トリガ信号TRG0乃至TRG4が指示する期間、データ信号D0乃至D4のパルス数をカウントするものである。即ち、例えばイベントカウンタ15−1は、トリガ信号TRG0がHIGHになるとデータ信号D0のパルスのカウントを開始し、トリガ信号TRG0がLOWになるまでカウントを続ける。トリガ信号TRG0がLOWになりカウントが終了すると、そのカウント値がイベントカウンタ15−1の内部のレジスタに格納される。
カウント終了すると、イベントカウンタ15−1乃至15−4が割り込み信号INT0乃至INT3を発生する。この割り込み信号INT0乃至INT3は、割り込みコントローラ12に供給される。割り込みコントローラ12は、割り込み信号INT0乃至INT3に応答して、DMAコントローラ13にDMA転送の開始を指示する。これに応じて、DMAコントローラ13はDMA転送を実行する。
図2は、DMA転送動作について説明するためにイベントカウンタ15−1乃至15−4及びバスインターフェース16−1乃至16−4を更に詳細に示す図である。図2に示すように、イベントカウンタ15−1乃至15−4にはそれぞれレジスタセット20−1乃至20−4が設けられる。またバスインターフェース16−1乃至16−4にはそれぞれデコーダ・セレクタ21−1乃至21−4が含まれる。
イベントカウンタ15−1のレジスタセット20−1は、レジスタRA0、RB0、RC0を含む。イベントカウンタ15−2のレジスタセット20−2は、レジスタRA1、RB1、RC1を含む。イベントカウンタ15−3のレジスタセット20−3は、レジスタRA2、RB2、RC2を含む。イベントカウンタ15−4のレジスタセット20−4は、レジスタRA3、RB3、RC3を含む。各レジスタは8ビットデータを格納するレジスタである。
バス17は、32ビットのアドレスバスA[31:0]、書き込み及び読み出しを指示する2ビットの制御バスRW[1:0]、及び32ビットのデータバスD[31:0]を含む。イベントカウンタ15−1に示されるように、レジスタRA0のデータはデータバスのビット31からビット24であるD[31:24]に対応し、レジスタRB0のデータはデータバスのビット23からビット16であるD[23:16]に対応し、レジスタRC0のデータはデータバスのビット15からビット8であるD[15:8]に対応する。イベントカウンタ15−2乃至15−4についてはスペースの関係上図示を省略するが、レジスタセット20−2乃至20−4の各々とデータバスD[31:0]との関係は、レジスタセット20−1の場合と同様である。
このようにレジスタRA0、RB0、RC0をデータバスD[31:0]の各部分に割当てる構成とすることで、例えば、D[31:0]の32ビットデータを転送することにより、レジスタセット20−1の全てのデータを一度に転送することができる。これにより、8ビットデータを3回繰り返し転送するDMA転送だけでなく、32ビットデータを一回転送するDMA転送を、レジスタセット20−1のデータ転送のために用いることができる。
また例えばイベントカウンタ15−1及びバスインターフェース16−1に示されるように、レジスタRA0、RB0、RC0は、それぞれアドレス0x1000、0x1001、0x1002に割当てられている。これらのアドレスにより所望のレジスタを指定することで、指定したレジスタに対する読み出し又は書き込みアクセスを実行することができる。同様に、レジスタセット20−2にはアドレス0x1004乃至0x1006が割当てられ、レジスタセット20−3にはアドレス0x1008乃至0x100Aが割当てられ、レジスタセット20−4にはアドレス0x100C乃至0x100Eが割当てられている。
図3は、図2に示すレジスタのアドレス空間への割り当てを示す図である。図3の左側に示されるように、レジスタRA0、RB0、RC0がそれぞれアドレス0x1000、0x1001、0x1002に割当てられ、RA1、RB1、RC1がそれぞれアドレス0x1004、0x1005、0x1006に割当てられ、RA2、RB2、RC2がそれぞれアドレス0x1008、0x1009、0x100Aに割当てられ、RA3、RB3、RC3がそれぞれアドレス0x100C、0x100D、0x100Eに割当てられている。これは上記説明の通りである。
ここでイベントカウンタ15−1乃至15−4において、レジスタRA0、RA1、RA2、及びRA3に、カウント結果を示すデータとして前述のカウント値が格納されるとする。これらのカウント値を読み出して、メモリ14(図1)内のアドレス0x2000乃至0x2003に転送する場合を想定する。この場合、転送元の開始アドレスを0x1000、データ転送幅を8ビット、更に転送元のアドレス増加値を+4とすることで、レジスタの内容であるカウント値をDMA転送することができる。このDMA転送は、8ビットデータを4回転送することにより実行される。
この場合、転送データ量は計32ビットであり、データバスD[31:0]が32ビットのデータ幅を提供するにも関わらず、32ビット幅のDMA転送一回で済ませることはできない。これは、レジスタRA0、RA1、RA2、及びRA3のアドレスが、連続したアドレスではないからである。また仮にアドレスが連続していたとしても、これらのレジスタは全てデータバスのD[31:24]の部分に重複して割当てられており、32ビット幅のDMA転送とすることは不可能である。
また別の例として、イベントカウンタ15−1乃至15−4において、レジスタRB0、RA1、RC2、及びRA3に、カウント結果を示すデータとして前述のカウント値が格納されるとする。このときのレジスタ間のアドレス増加は、+3、+6、+2となる。アドレス増加値が一定でないので、この場合には8ビットデータの4回の転送としてDMA転送することができない。また上記の場合と同様に、32ビット幅の一回のDMA転送としても転送することはできない。即ち、このような場合には全くDMA転送ができないことになる。
従来、このように連続又は一定間隔でないアドレスに割り当てられたレジスタのデータを転送する場合は、CPUによりソフトウェアを実行することでデータ転送を実現していた。ソフトウェアでデータ転送する場合、読み出しアドレスの設定動作、データの読み出し動作、書き込みアドレスの設定動作、データの書き込み動作という4つの動作ステップを、1転送毎に実行する必要がある。従って、DMA転送に比べて効率が極めて悪く、高速なデータ転送をすることができない。
なお特許文献1には、不連続なアドレスに対するアクセスを効果的に行うための構成が開示されている。
特開2001−256104号公報
以上を鑑みて、本発明は、連続又は一定間隔でないアドレスに割り当てられたレジスタのデータを効率的にDMA転送可能なDMA転送システムを提供することを目的とする。
本発明によるDMA転送システムは、DMAコントローラと、該DMAコントローラに接続されるバスと、該バスに接続されるバスインターフェースと、該バスインターフェースを介して該バスに結合される複数のレジスタを含み、該バスインターフェースは該複数のレジスタを不連続なアドレスと連続なアドレスとに2重に割当て、該DMAコントローラから該複数のレジスタを該連続なアドレスを介してアクセス可能とするよう構成されることを特徴とする。
また本発明によるDMA転送方法は、不連続なアドレスに割当てられた複数のレジスタを連続なアドレスに割り当て、該連続なアドレスを転送元として該複数のレジスタのデータを転送先にDMA転送する各段階を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、DMA転送元のレジスタが連続アドレスに割当てられていない場合であっても、ミラーレジスタとして連続したアドレスに割当てることにより、アドレス空間上の一纏まりのデータとしてアクセス可能とする。これにより、DMA転送元のレジスタが連続アドレスに割当てられていない場合であっても、一纏まりのデータとして一括してDMA転送することが可能となる。
また、レジスタ間のアドレス増加が一定でなくDMA転送の対象とならないようなレジスタであっても、ミラーレジスタとして連続したアドレスに割当てることにより、一定のアドレス増加値を設定してDMA転送することが可能となる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図4は、本発明によるDMA転送システムの構成の一例を示す図である。図4において、図1と同一の構成要素は同一の番号で参照される。
図4のDMA転送システム30は、CPU11、割り込みコントローラ12、DMAコントローラ13、メモリ14、イベントカウンタ15−1乃至15−4、及びバスインターフェース31を含む。CPU11、割り込みコントローラ12、DMAコントローラ13、及びメモリ14は、バス17により互いに接続され、更にイベントカウンタ15−1乃至15−4がバスインターフェース31を介してバス17に接続される。
例えば、イベントカウンタ15−1乃至15−4からメモリ14に、レジスタデータをDMA転送する場合について説明する。ここではイベントカウンタを例として用いるが、他の機能を有するマクロであってもDMA転送の動作は同様である。
イベントカウンタ15−1乃至15−4は、トリガ信号TRG0乃至TRG4が指示する期間、データ信号D0乃至D4のパルス数をカウントする。カウントが終了すると、そのカウント値がイベントカウンタ15−1乃至15−4の内部のレジスタに格納されるとともに、割り込み信号INT0乃至INT3が発生する。この割り込み信号INT0乃至INT3は、割り込みコントローラ12に供給される。割り込みコントローラ12は、割り込み信号INT0乃至INT3に応答して、DMAコントローラ13にDMA転送の開始を指示する。これに応じて、DMAコントローラ13はDMA転送を実行する。
図5は、DMA転送動作について説明するためにイベントカウンタ15−1乃至15−4及びバスインターフェース31を更に詳細に示す図である。図5において、図2と同一の構成要素は同一の番号で参照される。
図2に示すように、イベントカウンタ15−1乃至15−4にはそれぞれレジスタセット20−1乃至20−4が設けられる。またバスインターフェース31は、デコーダ&セレクタ32及びOR回路33−1乃至33−4を含む。
イベントカウンタ15−1のレジスタセット20−1は、レジスタRA0、RB0、RC0を含む。イベントカウンタ15−2のレジスタセット20−2は、レジスタRA1、RB1、RC1を含む。イベントカウンタ15−3のレジスタセット20−3は、レジスタRA2、RB2、RC2を含む。イベントカウンタ15−4のレジスタセット20−4は、レジスタRA3、RB3、RC3を含む。各レジスタは8ビットデータを格納するレジスタである。
バス17は、32ビットのアドレスバスA[31:0]、書き込み及び読み出しを指示する2ビットの制御バスRW[1:0]、及び32ビットのデータバスD[31:0]を含む。イベントカウンタ15−1に示されるように、レジスタRA0のデータはデータバスのビット31からビット24であるD[31:24]に対応し、レジスタRB0のデータはデータバスのビット23からビット16であるD[23:16]に対応し、レジスタRC0のデータはデータバスのビット15からビット8であるD[15:8]に対応する。イベントカウンタ15−2乃至15−4についてはスペースの関係上図示を省略するが、レジスタセット20−2乃至20−4の各々とデータバスD[31:0]との関係は、レジスタセット20−1の場合と同様である。
また例えばイベントカウンタ15−1及びバスインターフェース31に示されるように、レジスタRA0、RB0、RC0は、それぞれアドレス0x1000、0x1001、0x1002に割当てられている。即ち、デコーダ&セレクタ32がアドレスバスA[31:0]のアドレスをデコードし、アドレス0x1000に対応するデコード信号をアサートすると、このデコード信号のアサート状態に応答して、レジスタRA0のアクセスが可能となる。
即ちこの例のDMA転送のように読み出し動作の場合、デコード信号のアサート状態に応答して、レジスタRA0の内容がデータバスD[31:24]に読み出される。またアドレス0x1001に対応するデコード信号がアサートされると、これに応答して、レジスタRB0の内容がデータバスD[23:16]に読み出される。またアドレス0x1002に対応するデコード信号がアサートされると、これに応答して、レジスタRC0の内容がデータバスD[15:8]に読み出される。
またバスインターフェース31に設けられたOR回路33−1により、デコーダ&セレクタ32から出力されるアドレス0x1000に対応するデコード信号とアドレス0x1010に対応するデコード信号とのOR論理をとる構成となっている。このOR論理をとった結果の信号が、レジスタRA0に供給される。従ってレジスタRA0は、アドレス0x1000に割当てられるとともに、アドレス0x1010にも割当てられていることになる。従って、デコーダ&セレクタ32がアドレスバスA[31:0]のアドレスをデコードし、アドレス0x1010に対応するデコード信号をアサートすると、レジスタRA0の内容がイベントカウンタ15−1とバスインターフェース31との間のデータバスD0[31:0]の一部D0[31:24]に読み出される。
イベントカウンタ15−2についても同様であり、レジスタRA1、RB1、RC1がそれぞれアドレス0x1004、0x1005、0x1006に割当てられるとともに、OR回路33−2により、アドレス0x1004に対応するデコード信号とアドレス0x1011に対応するデコード信号とのOR論理をとる構成となっている。このOR論理をとった結果の信号が、レジスタRA1に供給される。従ってレジスタRA1は、アドレス0x1004に割当てられるとともに、アドレス0x1011にも割当てられていることになる。従って、デコーダ&セレクタ32がアドレスバスA[31:0]のアドレスをデコードし、アドレス0x1011に対応するデコード信号をアサートすると、レジスタRA1の内容がイベントカウンタ15−2とバスインターフェース31との間のデータバスD1[31:0]の一部D1[31:24]に読み出される。
イベントカウンタ15−3についても同様であり、レジスタRA2、RB2、RC2がそれぞれアドレス0x1008、0x1009、0x100Aに割当てられるとともに、OR回路33−3により、アドレス0x1008に対応するデコード信号とアドレス0x1012に対応するデコード信号とのOR論理をとる構成となっている。このOR論理をとった結果の信号が、レジスタRA2に供給される。従ってレジスタRA2は、アドレス0x1008に割当てられるとともに、アドレス0x1012にも割当てられていることになる。従って、デコーダ&セレクタ32がアドレスバスA[31:0]のアドレスをデコードし、アドレス0x1012に対応するデコード信号をアサートすると、レジスタRA2の内容がイベントカウンタ15−3とバスインターフェース31との間のデータバスD2[31:0]の一部D2[31:24]に読み出される。
イベントカウンタ15−4についても同様であり、レジスタRA3、RB3、RC3がそれぞれアドレス0x100C、0x100D、0x100Eに割当てられるとともに、OR回路33−4により、アドレス0x100Cに対応するデコード信号とアドレス0x1013に対応するデコード信号とのOR論理をとる構成となっている。このOR論理をとった結果の信号が、レジスタRA3に供給される。従ってレジスタRA3は、アドレス0x100Cに割当てられるとともに、アドレス0x1013にも割当てられていることになる。従って、デコーダ&セレクタ32がアドレスバスA[31:0]のアドレスをデコードし、アドレス0x1013に対応するデコード信号をアサートすると、レジスタRA3の内容がイベントカウンタ15−4とバスインターフェース31との間のデータバスD3[31:0]の一部D3[31:24]に読み出される。
図6は、図5に示すレジスタのアドレス空間への割り当てを示す図である。図6に示されるように、レジスタRA0、RB0、RC0がそれぞれアドレス0x1000、0x1001、0x1002に割当てられ、RA1、RB1、RC1がそれぞれアドレス0x1004、0x1005、0x1006に割当てられ、RA2、RB2、RC2がそれぞれアドレス0x1008、0x1009、0x100Aに割当てられ、RA3、RB3、RC3がそれぞれアドレス0x100C、0x100D、0x100Eに割当てられている。
またバスインターフェース31のOR回路33−1乃至33−4の働きにより、レジスタRA0、RA1、RA2、及びRA3が、ミラーレジスタとしてアドレス0x1010、0x1011、0x1012、及び0x1013に割当てられる。
この場合、ミラーレジスタは0x1010乃至0x1013の連続したアドレスに割当てられているので、アドレス空間上では、アドレス0x1010からの32ビットデータとして取り扱うことができる。しかし前述のように、レジスタRA0、RA1、RA2、及びRA3は全てデータバスのD[31:24]の部分に重複して割当てられており、データバスD[31:0]上の32ビット幅のデータとして配置されていない。従ってこのままでは、32ビット幅のDMA転送とすることは不可能である。
そこで本発明においては、レジスタRA0、RA1、RA2、及びRA3をアドレス0x1010乃至0x1013に位置するミラーレジスタとしてアクセスする場合、図5のデコーダ&セレクタ32が、レジスタRA0、RA1、RA2、及びRA3から読み出したデータを、バス17のデータバス[31:0]の32ビットデータとなるように並び替える。即ち、デコーダ&セレクタ32は、D0[31:24]、D1[31:24]、D2[31:24]、及びD3[31:24]のデータを、それぞれD[31:24]、D[23:16]、D[15:8]、及びD[7:0]に対応するように並べ替えて32ビットデータとし、この32ビットデータをバス17のデータバスに出力する。
図7は、図6の8ビットデータのレジスタマップを32ビットのレジスタマップに置き換えて示す図である。図7に示すように、例えばレジスタRA0、RB0、RC0はアドレス0x1000から始まる32ビットデータの上位24ビットに対応する。
上記説明のように、デコーダ&セレクタ32によりミラーレジスタからの読み出しデータのデータバス上の位置を配置換えすることで、図7に示すように、レジスタRA0、RA1、RA2、及びRA3のミラーレジスタ(それぞれ括弧で括って示してある)は、それぞれ最上位ビットから順番に8ビットずつ割当てられ、32ビットデータを構成する。これにより、アドレス0x1010から始まる32ビットデータとして、レジスタRA0、RA1、RA2、及びRA3の内容を、32ビット幅の一回のDMA転送により、例えばメモリ14のアドレス0x2000に転送することができる。
このように本発明においては、DMA転送元のレジスタが連続アドレスに割当てられていない場合であっても、ミラーレジスタとして連続したアドレスに割当てることにより、アドレス空間上の一纏まりのデータとしてアクセス可能とする。更にミラーレジスタにアクセスして読み出したデータを並べ替えることにより、データバス上で一纏まりのデータとして転送可能とする。これにより、DMA転送元のレジスタが連続アドレスに割当てられていない場合であっても、一纏まりのデータとして一括してDMA転送することが可能となる。
また別の例として、イベントカウンタ15−1乃至15−4において、レジスタRB0、RA1、RC2、及びRA3に、カウント結果を示すデータとして前述のカウント値が格納されるとする。このときのレジスタ間のアドレス増加は、+3、+6、+2となる。アドレス増加値が一定でないので、この場合には8ビットデータの4回の転送としてDMA転送することができない。
この場合も、図5のバスインターフェース31のOR回路33−1乃至33−4をそれぞれレジスタRB0、RA1、RC2、及びRA3に対して設ければ、レジスタRB0、RA1、RC2、及びRA3を、それぞれアドレス0x1010、0x1011、0x1012、及び0x1013にミラーレジスタとして割当てることができる。これにより、アドレス0x1010から始まる32ビットデータとして、レジスタRB0、RA1、RC2、及びRA3の内容を、32ビット幅の一回のDMA転送により、例えばメモリ14の所望のアドレスに転送することができる。即ち、レジスタ間のアドレス増加が一定でなく、DMA転送の対象とならないようなレジスタであっても、ミラーレジスタとして連続したアドレスに割当てることにより、アドレス空間上の一纏まりのデータとしてアクセス可能とし、更にミラーレジスタにアクセスして読み出したデータを並べ替えることにより、データバス上で一纏まりのデータとして一括してDMA転送することが可能となる。
図8は、図4のDMA転送システム30におけるDMA転送処理の手順を示すフローチャートである。図8のステップS1において、割り込みが発生する。これはイベントカウンタ15−1乃至15−4からの割り込み信号が発生することに対応する。ステップS2において、DMA動作が起動される。即ち、イベントカウンタ15−1乃至15−4からの割り込み信号に応答して、割り込みコントローラ12がDMAコントローラ13にDMA起動を要求し、DMAコントローラ13がDMA動作を起動する。
ステップS3において、バスインターフェース31がイベントカウンタ15−1乃至15−4にレジスタ読み出し要求を出力する。即ち、DMAコントローラ13からの所定のアドレス(図5の例で0x1010)に対する32ビットデータの読み出し要求に対して、バスインターフェース31のデコーダ&セレクタ32がアドレス0x1010、0x1011、0x1012、及び0x1013に対応するアドレスデコード信号をアサートする。このレジスタ読み出し要求に応答して、ステップS4乃至S7が並行して実行され、イベントカウンタ15−1乃至15−4(DMAチャネルch0乃至ch3)が並行して、レジスタRA0、レジスタRA1、レジスタRA2、及びレジスタRA3のデータを出力する。
ステップS8において、バスインターフェース31のデコーダ&セレクタ32が、レジスタRA0、レジスタRA1、レジスタRA2、及びレジスタRA3から出力されたデータを32ビットデータに並べ替える。ステップS9において、デコーダ&セレクタ32が32ビットデータをバス17のデータバスD[31:0]に出力する。その後DMAコントローラ13は、データバスD[31:0]に出力されたデータをメモリ14の指定されたアドレスに書き込む処理を実行する。ステップS9において、割り込みをクリアする。即ち、割り込みコントローラ12による割り込み処理状態を終了する。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
従来のDMA転送システムの構成の一例を示す図である。 図1のDMA転送動作について説明するためにイベントカウンタ及びバスインターフェースを更に詳細に示す図である。 図2に示すレジスタのアドレス空間への割り当てとDMA転送を示す図である。 本発明によるDMA転送システムの構成の一例を示す図である。 図4のDMA転送動作について説明するためにイベントカウンタ及びバスインターフェースを更に詳細に示す図である。 図5に示すレジスタのアドレス空間への割り当てとDMA転送を示す図である。 図6の8ビットデータのレジスタマップを32ビットのレジスタマップに置き換えて示す図である。 図4のDMA転送システムにおけるDMA転送処理の手順を示すフローチャートである。
符号の説明
11 CPU
12 割り込みコントローラ
13 DMAコントローラ
14 メモリ
15−1〜15−4 イベントカウンタ
16−1〜16−4 バスインターフェース
30 DMA転送システム
31 バスインターフェース
32 デコーダ&セレクタ
33−1〜33−4 OR回路

Claims (9)

  1. DMAコントローラと、
    該DMAコントローラに接続されるバスと、
    該バスに接続されるバスインターフェースと、
    該バスインターフェースを介して該バスに結合される複数のレジスタ
    を含み、該バスインターフェースは該複数のレジスタを不連続なアドレスと連続なアドレスとに2重に割当て、該DMAコントローラから該複数のレジスタを該連続なアドレスを介してアクセス可能とするよう構成されることを特徴とするDMA転送システム。
  2. 該バスインターフェースは、該連続なアドレスから読み出した該複数のレジスタのデータについて該バス上の位置を並べ替えるよう構成されることを特徴とする請求項1記載のDMA転送システム。
  3. 該バスインターフェースは、該連続なアドレスから読み出した該複数のレジスタのデータを該バスのデータ幅に等しい1つのデータとして該バスに出力することを特徴とする請求項2記載のDMA転送システム。
  4. 該不連続なアドレス間の間隔は一定でないことを特徴とする請求項1記載のDMA転送システム。
  5. 該複数のレジスタは複数のマクロに分散して配置されている内部レジスタであることを特徴とする請求項1記載のDMA転送システム。
  6. 該不連続なアドレス間のアドレスには該複数のマクロ内の別の内部レジスタが割当てられていることを特徴とする請求項5記載のDMA転送システム。
  7. 該バスインターフェースは、
    該バスに結合され該バスからのアドレス信号をデコードして出力するデコーダと、
    該デコーダの出力と該複数のレジスタの1つとの間に結合され、該不連続なアドレスの1つに応答して該デコーダがアサートする信号と該連続なアドレスの1つに応答して該デコーダがアサートする信号との何れがアサートされても該複数のレジスタの該1つを選択するよう構成される回路
    を含むことを特徴とする請求項1記載のDMA転送システム。
  8. 不連続なアドレスに割当てられた複数のレジスタを連続なアドレスに割り当て、
    該連続なアドレスを転送元として該複数のレジスタのデータを転送先にDMA転送する
    各段階を含むことを特徴とするDMA転送方法。
  9. 該連続なアドレスを転送元として読み出した該複数のレジスタのデータについてデータバス上の位置を並べ替える段階を更に含むことを特徴とする請求項8記載のDMA転送方法。
JP2005064358A 2005-03-08 2005-03-08 Dma転送システム及びdma転送方法 Pending JP2006251916A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005064358A JP2006251916A (ja) 2005-03-08 2005-03-08 Dma転送システム及びdma転送方法
US11/165,244 US7634593B2 (en) 2005-03-08 2005-06-24 System and method for DMA transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005064358A JP2006251916A (ja) 2005-03-08 2005-03-08 Dma転送システム及びdma転送方法

Publications (1)

Publication Number Publication Date
JP2006251916A true JP2006251916A (ja) 2006-09-21

Family

ID=36972347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005064358A Pending JP2006251916A (ja) 2005-03-08 2005-03-08 Dma転送システム及びdma転送方法

Country Status (2)

Country Link
US (1) US7634593B2 (ja)
JP (1) JP2006251916A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101448A (ja) * 2018-03-28 2018-06-28 ルネサスエレクトロニクス株式会社 半導体装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151487A (ja) 2007-12-19 2009-07-09 Panasonic Corp Dma転送制御装置及びデータ転送装置
JP2009205521A (ja) * 2008-02-28 2009-09-10 Fujitsu Ltd データ転送装置
JP2022185463A (ja) * 2021-06-02 2022-12-14 ルネサスエレクトロニクス株式会社 半導体装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02110758A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd Dma転送方式
JPH03214336A (ja) * 1990-01-19 1991-09-19 Fuji Electric Co Ltd 長ビット幅cpuによる短ビット幅romの使用方法
JPH10134182A (ja) * 1996-04-27 1998-05-22 Lg Ind Syst Co Ltd 映像認識装置
JP2001256104A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd 情報処理装置
JP2001346151A (ja) * 2000-06-05 2001-12-14 Suzuka Fuji Xerox Co Ltd ビデオ信号処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
US5659797A (en) * 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
US5553307A (en) * 1992-04-17 1996-09-03 Hitachi, Ltd. Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
US6349355B1 (en) * 1997-02-06 2002-02-19 Microsoft Corporation Sharing executable modules between user and kernel threads
JP3446653B2 (ja) * 1999-03-26 2003-09-16 日本電気株式会社 データ転送装置
EP1182568A3 (en) * 2000-08-21 2004-07-21 Texas Instruments Incorporated TLB operation based on task-id
WO2004057481A1 (ja) * 2002-12-20 2004-07-08 Fujitsu Limited Dma制御装置、dma制御方法、dma制御プログラム
US7287101B2 (en) * 2003-08-05 2007-10-23 Intel Corporation Direct memory access using memory descriptor list
US7334107B2 (en) * 2004-09-30 2008-02-19 Intel Corporation Caching support for direct memory access address translation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02110758A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd Dma転送方式
JPH03214336A (ja) * 1990-01-19 1991-09-19 Fuji Electric Co Ltd 長ビット幅cpuによる短ビット幅romの使用方法
JPH10134182A (ja) * 1996-04-27 1998-05-22 Lg Ind Syst Co Ltd 映像認識装置
JP2001256104A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd 情報処理装置
JP2001346151A (ja) * 2000-06-05 2001-12-14 Suzuka Fuji Xerox Co Ltd ビデオ信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101448A (ja) * 2018-03-28 2018-06-28 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
US7634593B2 (en) 2009-12-15
US20060206633A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
JP2009508247A (ja) バス調停に関する方法及びシステム
KR101624153B1 (ko) 데이터 공간 아비터
JP4499008B2 (ja) Dma転送システム
CN114253884B (zh) 基于fpga的多主对多从访问仲裁方法、系统及存储介质
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
US9984014B2 (en) Semiconductor device
JP5057360B2 (ja) 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
JP2006251916A (ja) Dma転送システム及びdma転送方法
JP5304815B2 (ja) マイクロコンピュータ
US20040068590A1 (en) Data processor
JP3693013B2 (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP2008046771A (ja) ダイレクトメモリアクセスコントローラ
US5535349A (en) Data processing system and method for providing chip selects to peripheral devices
JP6294732B2 (ja) データ転送制御装置及びメモリ内蔵装置
JP4322116B2 (ja) バーストモードをサポートする外部メモリとプロセッサとのインタフェース方法
JP2004029898A (ja) データプロセッサ
US7076641B2 (en) Programmable controller
JP3861898B2 (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP2008198148A (ja) プログラマブルコントローラ
JPH03238539A (ja) メモリアクセス制御装置
JP4765003B2 (ja) マルチプロセッサシステム
JP2007506174A (ja) 複数の通信用デジタル信号プロセッサを有する集積回路
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP2001297056A (ja) 調停回路及びdmaコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080121

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110301