JP2004094452A - Dmaコントローラおよびdma転送方法 - Google Patents

Dmaコントローラおよびdma転送方法 Download PDF

Info

Publication number
JP2004094452A
JP2004094452A JP2002252704A JP2002252704A JP2004094452A JP 2004094452 A JP2004094452 A JP 2004094452A JP 2002252704 A JP2002252704 A JP 2002252704A JP 2002252704 A JP2002252704 A JP 2002252704A JP 2004094452 A JP2004094452 A JP 2004094452A
Authority
JP
Japan
Prior art keywords
dma
channel
data
transfer
channels
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
JP2002252704A
Other languages
English (en)
Inventor
Kazuhito Takashima
高島 一仁
Hiromitsu Horie
堀江 拓光
Yuji Tarui
樽井 祐二
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 JP2002252704A priority Critical patent/JP2004094452A/ja
Priority to US10/642,145 priority patent/US7380027B2/en
Publication of JP2004094452A publication Critical patent/JP2004094452A/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チャネルデータ量設定部12には、予め複数のDMAチャネル別のデータ転送量がデータ量あるいは割合で設定される。Ch選択制御回路11は、アクティブなDMAチャネルを判断する。データ転送制御回路15は、Ch選択制御回路11によりアクティブと判断されたDMAチャネルのデータを、各DMAチャネルデータ量設定部12により設定された各DMAチャネル別のデータ転送量に従いデータ転送する。これにより、一度のバスホールド要求で複数のDMA要求を受け付けてバス支配権の調停手続き回数とチャネル間のレーテンシを低減させる。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
この発明は、複数のデータ転送チャネルに対するDMA転送をおこなうDMAコントローラに関し、特に、データの高速転送とチャネル毎の最低転送レート幅の保証が可能なチャネル帯域保証型のDMAコントローラおよびDMA転送方法に関する。
【0002】
【従来の技術】
従来から、中央演算処理装置(以下、CPUと記す)を用いたシステムにおいては、複数の周辺装置とメモリとの間の高速データ転送のために、CPUを介さずにデータ転送をおこなうDMA転送機能を備えている。このDMA転送は、DMAコントローラによって制御され、以下にDMAコントローラの基本的な動作の手順を説明する。
【0003】
各チャネルに割り当てられた周辺装置からDMAコントローラに対してDMA要求が発生すると、DMAコントローラは、CPUに対してバスホールド要求をおこなう。周辺装置からの複数のDMA要求に対しては、DMAコントローラは予め設定されている優先順位に従って、優先順位の高いチャネルについてのデータ転送を準備する。
【0004】
CPUがDMAコントローラからのバスホールド要求を受理すると、CPUはDMAコントローラにバス支配権を受け渡したことになる。そして、DMAコントローラは、バスをDMA転送のデータ経路として使用して、メモリと周辺装置との間でデータ転送を開始する。データ転送は、DMA要求が継続している間おこなわれる。バーストモードであれば予め定められたサイズでの転送も可能である。
【0005】
【発明が解決しようとする課題】
しかしながら、従来の技術では、DMA転送を開始する前準備として、必ずDMAコントローラとCPUとの間でバス支配権の調停手続きが必要となる。したがって、DMA転送が頻繁におこなわれる場合、この調停手続きがデータ転送効率を低下させる原因となった。
【0006】
バーストモードを用いることによりDMA転送の頻度を軽減することは可能であるが、反面、データ長が増加するために単一チャネルあたりのバス占有時間が増加傾向となる。したがって、DMA要求が処理されるまでの待ち時間も長くなるため、各チャネル間のデータにレーテンシが生じる原因となる。加えて、データ保持に必要なバッファも大きなサイズが必要となる。
【0007】
本発明は、上述した従来技術による問題点を解消するため、一度のバスホールド要求で複数のDMA要求を受け付け、バス支配権の調停手続き回数とチャネル間のレーテンシを低減できるチャネル帯域保証型のDMAコントローラおよびDMA転送方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明は、複数のDMAチャネル別のデータ転送量を設定するデータ量設定手段と、アクティブなDMAチャネルを判断するチャネル選択制御手段と、前記チャネル選択制御手段によりアクティブと判断された前記複数のDMAチャネルの各データを、前記データ量設定手段により設定されたDMAチャネル別のデータ転送量に従いデータ転送するデータ転送制御手段とを備える。
【0009】
この発明によれば、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に一度に受け付け、アクティブなDMAチャネルを判断し予め設定された複数のDMAチャネル別のデータ転送量に基づき、DMA転送する。この際、一回のバス使用権獲得で転送される全体のデータ量に対して、各DMAチャネルのデータ転送量を固定のデータ量、あるいは各チャネル別の割合に従い転送する。
【0010】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しつつ詳細に説明する。この発明のチャネル帯域保証型のDMAコントローラは、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に処理するものである。
【0011】
(DMAコントローラの基本構成)
図1は、この発明のDMAコントローラの基本構成を示すブロック図である。DMAコントローラ(DMAC)1には、複数のDMAチャネル(以下チャネルと呼ぶ、Ch1〜Chn)の周辺機器(ペリフェラル−1〜ペリフェラル−n)2a〜2nと、CPU3と、メモリ4が接続されている。周辺機器2a〜2nは、DMAコントローラ1のDMA転送の制御によりバス(データ/アドレスバス)5を介してメモリ4との間でDMA転送をおこなう。
【0012】
DMAコントローラ1は、複数の各チャネルの周辺機器2a〜2nのデータ転送を制御するI/F回路10と、周辺機器2a〜2nの転送要求DREQに基づきアクティブなDMAチャネルを判断し、このアクティブなDMAチャネルの転送の実行を選択するCh選択制御回路11と、各チャネル毎のデータ転送量を予め設定しておく各DMAチャネルデータ量設定部12と、1チャネルあたりのバースト長をカウントするバースト長カウンタ(1ChBurstカウンタ)13と、各チャネル毎のデータおよびアドレスをカウントするチャネル制御回路(Ch制御回路)14と、CPU3との間バス使用権の調停、およびDMAのリード/ライト等のデータ転送を制御するデータ転送制御回路15とを備えている。
【0013】
(実施の形態1)
図2は、本発明にかかるDMAコントローラの実施の形態1の構成を示すブロック図である。実施の形態1は、1回のバス権獲得につき、DMAコントローラが転送する全体のデータ量に対する割合で各DMAチャネルのデータ量を設定する構成である。
【0014】
DMAコントローラ1に設けられた各DMAチャネルデータ量設定部12は、全体のデータ量に対する割合を設定するチャネルレシオレジスタ(ChRatioレジスタ)20と、全体のデータ量に対する割合からデータ量を演算するバースト長演算回路(1ChBurst長演算回路)21と、演算された各チャネルのデータ量を保持するバースト長保持回路(ChBurst長保持回路)22と、転送量全体のバースト長が設定されるバースト長レジスタ(TotalBurst長レジスタ)23とを備えている。
【0015】
図3は、ChRatioレジスタ20の構成例を示す図表である。ChRatioレジスタ20は、各DMAチャネルの全体のデータ量に対する割合を設定する。各チャネルChは、図3(a)に示すようにRT1,RT0の2ビットを用いて、それぞれ図3(b)に示すように4通りの割合を設定することができる。例えば、あるチャネルは、RT1が「0」,RT0が「1」の設定であれば、全体の転送レート(TotalBurst長レジスタ23)の25%の割合を設定することができる。なお、図3(b)に示すビット数を増大させれば、より細かな割合を設定できるようになる。
【0016】
また、1ChBurst長演算回路21は、以下のように空領域の使用の有無に対応して構成を変更できる。即ち、アクティブとなっていない(非アクティブ)DMAチャネルの転送時間(空き時間)に、その他のアクティブになっているDMAチャネルの転送をおこなうかどうかを設定できるようになっている。
【0017】
図4は、1ChBurst長演算回路の設定例を示す構成図である。この構成は、空領域を使用しない例である。各チャネル毎にマスク回路Ch1(31a)〜Chn(31n)が設けられ、各チャネル別にそれぞれCh選択制御回路11からのアクティブ信号(ACT_CH−1〜ACT_CH−n)と、ChRatioレジスタ20からのChレシオ信号(CH1_Ratio〜CHn_Ratio)が入力される。
【0018】
マスク回路Ch1(31a)〜Chn(31n)は、対応するアクティブ信号がアクティブであるときにそれぞれChレシオ信号の割合に基づきチャネル毎のデータ量の割合(%)を演算し、この演算結果を後段の乗算器32a〜32nに出力する。乗算器32a〜32nには、TotalBurst長レジスタ23から全体のデータ量(Totalburst長)が入力され、各チャネルのデータ量(CH1Burst長〜CHnBurst長)がそれぞれ演算出力される。対応するアクティブ信号が非アクティブであるときは、マスク回路Ch1(31a)〜Chn(31n)は、それぞれチャネル毎のデータ量の割合として0(%)を出力する。
【0019】
図4の構成によれば、各チャネルの状態(アクティブ/非アクティブ)にかかわらず、各チャネル毎に固定のデータ量を割り当てる構成であるため、空き時間に他のアクティブなDMAチャネルのデータ転送はおこなわずにバス使用権を放棄する。
【0020】
図5は、実施の形態1におけるDMA転送処理を説明するためのタイミングチャートである。設定条件は、TotalBurst長レジスタ23のTotalBurst長:16Byte,ChRatioレジスタ20におけるCh1Ratio:50%,Ch2Ratio:25%,ChnRatio:25%であるとする。
【0021】
周辺機器2a〜2nのうち、始めに周辺機器2a,2bから転送要求DREQ_1,DREQ_2が出力され(時期T1)、DREQ_nが遅れた場合(時期T2)には、これら始めの転送要求DREQ_1,DREQ_2の立ち上がりに基づき、Ch選択制御回路11は、Ch1,2のみアクティブ(ACT_CH1,ACT_CH2)と判断する。そして、データ転送制御回路15は、CPU3に1回のバスホールド要求(HOLD)を出力する。
【0022】
この後、1ChBurst長演算回路21で各チャネル毎のデータ量の割合が演算され、アクティブなチャネルがこの割合に基づきDMA転送が実行される。図示の例では、チャネル1,2のみアクティブと判断しており、Ch1についての割合はTotalBurst長である16Byteの50%、即ち8ByteをDMA転送する。続いて、Ch2についてはTotalBurst長である16Byteの25%、即ち4ByteをDMA転送する。
【0023】
以上により、1回のバス使用権で同時にDMA転送要求しアクティブと判断されたCh1,2のみDMA転送を実行する。この際、空容量を使用しないため、使用全体のデータ量16ByteのうちCh1,Ch2合計で12Byteのみのデータ転送をおこなうことになる。この際、Chnに割り当てられた転送予定期間(時期T3)は、バス使用権を放棄する。
【0024】
(実施の形態2)
次に、この発明の実施の形態2の構成を説明する。図6は、1ChBurst長演算回路の他の構成例を示す構成図である。図示の例は、空領域を各DMAチャネルのデータ量割合で再設定する構成である。各チャネル毎にマスク回路Ch1(31a)〜Chn(31n)が設けられ、各チャネル別にそれぞれCh選択制御回路11からのアクティブ信号(ACT_CH−1〜ACT_CH−n)と、ChRatioレジスタ20からのChレシオ信号(CH1_Ratio〜CHn_Ratio)が入力される。
【0025】
マスク回路Ch1(31a)〜Chn(31n)は、それぞれChレシオ信号の割合に基づきチャネル毎のデータ量の割合(%)を演算し、後段の除算器34a〜34nに出力され、また加算器33に出力される。加算器33では、全てのアクティブなチャネルのデータ量の割合を加算して除算器34a〜34nに出力する。したがって、除算器34a〜34nはアクティブな全チャネルの合計のデータ量の割合(%)に基づき、Chレシオ信号の割合で再度チャネル毎のデータ量の割合(%)を演算できる。
【0026】
この後、各チャネルのデータ量の割合(%)は、乗算器32a〜32nに出力される。乗算器32a〜32nには、TotalBurst長レジスタ23から全体のデータ量(Totalburst長)が入力され、各チャネルのデータ量(CH1Burst長〜CHnBurst長)がそれぞれ演算出力される。
【0027】
図6の構成によれば、空領域が発生した場合、アクティブなチャネル全てに対しChレシオの割合に基づいたデータ量を割り当てることができる。
【0028】
図7は、実施の形態2におけるDMA転送処理を説明するためのタイミングチャートである。設定条件は、TotalBurst長レジスタ23のTotalBurst長:16Byte,ChRatioレジスタ20におけるCh1Ratio:50%,Ch2Ratio:25%,ChnRatio:25%であるとする。
【0029】
周辺機器2a〜2nのうち、始めに周辺機器2a,2bから転送要求DREQ_1,DREQ_2が出力され(時期T1)、DREQ_nが遅れた場合(時期T2)には、これら始めの転送要求DREQ_1,DREQ_2の立ち上がりに基づき、Ch選択制御回路11は、Ch1,2のみアクティブ(ACT_CH1,ACT_CH2)と判断する。そして、CPU3に1回のバスホールド要求(HOLD)を出力する。
【0030】
この後、1ChBurst長演算回路21で各チャネル毎のデータ量の割合が演算され、アクティブなチャネルの合計のデータ量を各チャネルの割合で分割し、この割合に基づきDMA転送が実行される。図示の例では、チャネル1,2のみアクティブと判断している。ここで、Ch1,Ch2のみで100%の割合となるよう割合を調整する。Ch1:Ch2=50%:25%=2:1であるため、全体の割合(100%)で再計算すると、Ch1=2/3=66.6%,Ch2=1/3=33.3%となる。これにより、Ch1についての割合はTotalBurst長である16Byteの66.6%、即ち10ByteをDMA転送する。続いて、Ch2についてはTotalBurst長である16Byteの33.3%、即ち6ByteをDMA転送する(時期T3)。
【0031】
以上により、1回のバス使用権で同時にDMA転送要求しアクティブと判断されたCh1,2のみDMA転送を実行する。この際、空容量をアクティブな各チャネルに対してこのアクティブなチャネル同士の割合に応じて再度割り当てる。そして、Chnの転送予定期間を含め、使用全体のデータ量16Byte全てをアクティブなCh1,Ch2のみでデータ転送をおこなうことができる。
【0032】
(実施の形態3)
この発明の実施の形態3は、1回のバスホールド要求(HOLD)の期間内であれば、同時にDMA転送要求されたときに限らずアクティブとなったチャネルCh1〜ChnのDMA転送を実行させる構成である。図8は、実施の形態3の構成によるDMA転送処理を説明するためのタイミングチャートである。設定条件は、前述した実施の形態同様に、TotalBurst長レジスタ23のTotalBurst長:16Byte,ChRatioレジスタ20におけるCh1Ratio:50%,Ch2Ratio:25%,ChnRatio:25%であるとする。
【0033】
例えば、周辺機器2a〜2nのうち、始めに周辺機器2a,2bから転送要求DREQ_1,DREQ_2が出力され(時期T1)、DREQ_nが遅れた場合(時期T2)を考える。この場合、転送要求DREQ_1,DREQ_2の立ち上がりに基づき、Ch選択制御回路11は、まず、Ch1,2がアクティブ(ACT_CH1,ACT_CH2)と判断する。
【0034】
各チャネルにおけるデータ量は、空領域を使用しない構成であり、1ChBurst長演算回路21で各チャネル毎のデータ量の割合が演算され、アクティブなチャネルがこの割合に基づきDMA転送が実行される。図示の例では、チャネル1,2のみアクティブと判断しており、Ch1についての割合はTotalBurst長である16Byteの50%、即ち8ByteをDMA転送する。続いて、Ch2についてはTotalBurst長である16Byteの25%、即ち4ByteをDMA転送する。
【0035】
そして、CPU3に1回のバスホールド要求(HOLD)を出力し、順次Ch1,Ch2のDMA転送を実行する。そして、DMA転送を実行している最終チャネル(図示の場合Ch2)のデータ転送終了(時期t2)以前に以降のチャネル(Chn)がアクティブになった場合には、Ch選択制御回路11は、この1回のバス使用権を獲得した期間内で、アクティブになったチャネルChnに対するDMA転送(4Byte)を実行させる(時期T3)。
【0036】
この実施の形態3によれば、同時にDMA転送要求するに限らず、後からDMA転送要求したチャネルについても、この追加要求がアクティブなチャネルのDMA転送の終了前であれば、連続して実行できるようになる。
【0037】
(実施の形態4)
図9は、本発明にかかるチャネル帯域保証型のDMAコントローラの実施の形態4の構成を示すブロック図である。実施の形態4は、1回のバス権獲得につき、DMAコントローラが転送する各チャネルのデータ量をバイト単位で予め設定する構成である。各DMAチャネルデータ量設定部12は、各チャネルのデータ量をバイト単位で設定するChBurst長レジスタ40と、ChBurst長レジスタ40から現在アクティブなチャネルのデータ量を読み出し1ChBurstカウンタ13に出力するセレクタ41によって構成されている。
【0038】
図10は、ChBurst長レジスタ40の構成例を示す図表である。ChBurst長レジスタ40は、各チャネル別のビット(Bit0〜7)にそれぞれ転送する固定のデータ量(バイト)を設定しておく。これにより、1回のバス使用権獲得時に複数の各チャネル別に転送するデータ量を規定しておくことができる。
【0039】
以上説明したように、本実施の形態にかかるチャネル帯域保証型のDMAコントローラは、1回のバス使用権の獲得毎に、複数チャネルのデータ転送を所定の割合で転送させることができるようになる。
【0040】
(付記1)複数のDMAチャネルを有し、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に一度に処理するDMAコントローラにおいて、
前記複数のDMAチャネル別のデータ転送量を設定するデータ量設定手段と、
アクティブなDMAチャネルを判断するチャネル選択制御手段と、
前記チャネル選択制御手段によりアクティブと判断された前記複数のDMAチャネルの各データを、前記データ量設定手段により設定されたDMAチャネル別のデータ転送量に従いデータ転送するデータ転送制御手段と、
を備えたことを特徴とするDMAコントローラ。
【0041】
(付記2)前記データ量設定手段は、
前記一回のバス使用権獲得で転送される全体のデータ量に対する前記複数のDMAチャネル別の割合を設定することを特徴とする付記1に記載のDMAコントローラ。
【0042】
(付記3)前記データ量設定手段は、
前記一回のバス使用権獲得で転送される全体のデータ量に対する前記複数のDMAチャネル別の割合を設定するチャネルレシオレジスタと、
前記チャネルレシオレジスタにより設定された割合に基づき、全体のデータ量に対する前記複数のDMAチャネルそれぞれのデータ量を演算するバースト長演算手段と、
を備えたことを特徴とする付記2に記載のDMAコントローラ。
【0043】
(付記4)前記データ量設定手段は、
前記一回のバス使用権獲得で転送される前記複数のDMAチャネルのデータ量を設定することを特徴とする付記1に記載のDMAコントローラ。
【0044】
(付記5)前記データ量設定手段は、
前記一回のバス使用権設定で転送される前記複数のDMAチャネル別のデータ量を設定するバースト長レジスタと、
前記バースト長レジスタで設定された前記複数のDMAチャネル別のデータ量を読み出すセレクタと、
を備えたことを特徴とする付記4に記載のDMAコントローラ。
【0045】
(付記6)前記チャネル選択制御手段は、
一回のバス使用権を獲得する直前にDMA転送要求があった前記複数のDMAチャネルを選択することを特徴とする付記1〜5のいずれか一つに記載のDMAコントローラ。
【0046】
(付記7)前記チャネル選択制御手段は、
一回のバス使用権を獲得している期間中、DMA転送要求に基づいて前記複数のDMAチャネルを選択し、該選択したチャネルのうち最終チャネルDMA転送が終了するまでに新たなチャネルのDMA転送要求が発生した場合には、該DMA転送要求された新たなチャネルを選択することを特徴とする付記1〜5のいずれか一つに記載のDMAコントローラ。
【0047】
(付記8)前記データ量設定手段は、
DMA転送要求が未発生のDMAチャネルが存在する場合、該未発生のDMAチャネルに割り当てられた空き帯域を未使用にし前記バス使用権を開放することを特徴とする付記1〜6のいずれか一つに記載のDMAコントローラ。
【0048】
(付記9)前記データ量設定手段は、
DMA転送要求が未発生のDMAチャネルが存在する場合、該未発生のDMAチャネルに割り当てられた空き帯域を、DMA転送要求した前記複数のDMAチャネルに対し所定の割合で再度割り当てることを特徴とする付記1〜6のいずれか一つに記載のDMAコントローラ。
【0049】
(付記10)前記データ量設定手段が割り当てる前記所定の割合は、
前記データ量設定手段によって設定された前記複数のDMAチャネル別の割合に従うことを特徴とする付記9に記載のDMAコントローラ。
【0050】
(付記11)複数のDMAチャネルを有し、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に一度に処理するDMA転送方法において、
前記複数のDMAチャネル別のデータ転送量を設定するデータ量設定工程と、
アクティブなDMAチャネルを判断するチャネル選択制御工程と、
前記チャネル選択制御工程によりアクティブと判断された前記複数のDMAチャネルの各データを、前記データ量設定工程により設定されたDMAチャネル別のデータ転送量に従いデータ転送するデータ転送制御工程と、
を含むことを特徴とするDMA転送方法。
【0051】
(付記12)前記データ量設定工程は、
前記一回のバス使用権獲得で転送される全体のデータ量に対する前記複数のDMAチャネル別の割合を設定することを特徴とする付記11に記載のDMA転送方法。
【0052】
(付記13)前記データ量設定工程は、
前記一回のバス使用権獲得で転送される前記複数のDMAチャネルのデータ量を設定することを特徴とする付記11に記載のDMA転送方法。
【0053】
【発明の効果】
本発明によれば、一度のバスホールド要求において、同一バス上に存在する複数の周辺装置から起動された複数のDMA要求に対して、チャネル毎に予め帯域を確保し各チャネルを連続してDMA転送するため、バス支配権の調停手続き回数とチャネル間のレーテンシを低減し、転送効率を向上でき各チャネルの最低転送レートを保証できる。これにより、システム設計時のバスのマネージメントを容易化できるようになる。
【図面の簡単な説明】
【図1】この発明のDMAコントローラの基本構成を示すブロック図である。
【図2】本発明にかかるDMAコントローラの実施の形態1の構成を示すブロック図である。
【図3】ChRatioレジスタの構成例を示す図表である。
【図4】1ChBurst長演算回路の設定例を示す構成図である。
【図5】実施の形態1におけるDMA転送処理を説明するためのタイミングチャートである。
【図6】1ChBurst長演算回路の他の構成例を示す構成図である。
【図7】実施の形態2におけるDMA転送処理を説明するためのタイミングチャートである。
【図8】実施の形態3の構成によるDMA転送処理を説明するためのタイミングチャートである。
【図9】本発明にかかるDMAコントローラの実施の形態4の構成を示すブロック図である。
【図10】ChBurst長レジスタの構成例を示す図表である。
【符号の説明】
1 DMAコントローラ(DMAC)
2a〜2n 周辺機器(ペリフェラル−1〜ペリフェラル−n)
3 CPU
4 メモリ
5 バス(データ/アドレスバス)
10 I/F回路
11 Ch選択制御回路
12 各DMAチャネルデータ量設定部
13 1ChBurstカウンタ
14 Ch制御回路
15 データ転送制御回路
20 ChRatioレジスタ
21 1ChBurst長演算回路
22 ChBurst長保持回路
23 TotalBurst長レジスタ
31a〜31n マスク回路
32a〜32n 乗算器
33 加算器
34a〜34n 除算器
40 ChBurst長レジスタ
41 セレクタ

Claims (10)

  1. 複数のDMAチャネルを有し、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に一度に処理するDMAコントローラにおいて、
    前記複数のDMAチャネル別のデータ転送量を設定するデータ量設定手段と、
    アクティブなDMAチャネルを判断するチャネル選択制御手段と、
    前記チャネル選択制御手段によりアクティブと判断された前記複数のDMAチャネルの各データを、前記データ量設定手段により設定されたDMAチャネル別のデータ転送量に従いデータ転送するデータ転送制御手段と、
    を備えたことを特徴とするDMAコントローラ。
  2. 前記データ量設定手段は、
    前記一回のバス使用権獲得で転送される全体のデータ量に対する前記複数のDMAチャネル別の割合を設定することを特徴とする請求項1に記載のDMAコントローラ。
  3. 前記データ量設定手段は、
    前記一回のバス使用権獲得で転送される全体のデータ量に対する前記複数のDMAチャネル別の割合を設定するチャネルレシオレジスタと、
    前記チャネルレシオレジスタにより設定された割合に基づき、全体のデータ量に対する前記複数のDMAチャネルそれぞれのデータ量を演算するバースト長演算手段と、
    を備えたことを特徴とする請求項2に記載のDMAコントローラ。
  4. 前記データ量設定手段は、
    前記一回のバス使用権獲得で転送される前記複数のDMAチャネルのデータ量を設定することを特徴とする請求項1に記載のDMAコントローラ。
  5. 前記データ量設定手段は、
    前記一回のバス使用権設定で転送される前記複数のDMAチャネル別のデータ量を設定するバースト長レジスタと、
    前記バースト長レジスタで設定された前記複数のDMAチャネル別のデータ量を読み出すセレクタと、
    を備えたことを特徴とする請求項4に記載のDMAコントローラ。
  6. 前記チャネル選択制御手段は、
    一回のバス使用権を獲得する直前にDMA転送要求があった前記複数のDMAチャネルを選択することを特徴とする請求項1〜5のいずれか一つに記載のDMAコントローラ。
  7. 前記チャネル選択制御手段は、
    一回のバス使用権を獲得している期間中、DMA転送要求に基づいて前記複数のDMAチャネルを選択し、該選択したチャネルのうち最終チャネルDMA転送が終了するまでに新たなチャネルのDMA転送要求が発生した場合には、該DMA転送要求された新たなチャネルを選択することを特徴とする請求項1〜5のいずれか一つに記載のDMAコントローラ。
  8. 前記データ量設定手段は、
    DMA転送要求が未発生のDMAチャネルが存在する場合、該未発生のDMAチャネルに割り当てられた空き帯域を未使用にし前記バス使用権を開放することを特徴とする請求項1〜6のいずれか一つに記載のDMAコントローラ。
  9. 前記データ量設定手段は、
    DMA転送要求が未発生のDMAチャネルが存在する場合、該未発生のDMAチャネルに割り当てられた空き帯域を、DMA転送要求した前記複数のDMAチャネルに対し所定の割合で再度割り当てることを特徴とする請求項1〜6のいずれか一つに記載のDMAコントローラ。
  10. 複数のDMAチャネルを有し、同一バス上に存在する複数の周辺装置からのDMA要求を一回のバス使用権獲得時に一度に処理するDMA転送方法において、
    前記複数のDMAチャネル別のデータ転送量を設定するデータ量設定工程と、
    アクティブなDMAチャネルを判断するチャネル選択制御工程と、
    前記チャネル選択制御工程によりアクティブと判断された前記複数のDMAチャネルの各データを、前記データ量設定工程により設定されたDMAチャネル別のデータ転送量に従いデータ転送するデータ転送制御工程と、
    を含むことを特徴とするDMA転送方法。
JP2002252704A 2002-08-30 2002-08-30 Dmaコントローラおよびdma転送方法 Pending JP2004094452A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002252704A JP2004094452A (ja) 2002-08-30 2002-08-30 Dmaコントローラおよびdma転送方法
US10/642,145 US7380027B2 (en) 2002-08-30 2003-08-18 DMA controller and DMA transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002252704A JP2004094452A (ja) 2002-08-30 2002-08-30 Dmaコントローラおよびdma転送方法

Publications (1)

Publication Number Publication Date
JP2004094452A true JP2004094452A (ja) 2004-03-25

Family

ID=31972756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002252704A Pending JP2004094452A (ja) 2002-08-30 2002-08-30 Dmaコントローラおよびdma転送方法

Country Status (2)

Country Link
US (1) US7380027B2 (ja)
JP (1) JP2004094452A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043421A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd 動き検出装置
JP2008165724A (ja) * 2006-12-06 2008-07-17 Hitachi Ltd Ioアダプタとそのデータ転送方法
JP2008269467A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd 転送システム、イニシエータデバイス及びデータ転送方法
JP4959806B2 (ja) * 2007-10-18 2012-06-27 株式会社東芝 記憶装置、データ伝送方法及び伝送制御回路
JP5955489B1 (ja) * 2015-11-26 2016-07-20 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223131A1 (en) * 2004-04-02 2005-10-06 Goekjian Kenneth S Context-based direct memory access engine for use with a memory system shared by devices associated with multiple input and output ports
JP2006031227A (ja) * 2004-07-14 2006-02-02 Oki Electric Ind Co Ltd Dma転送を用いたコンピュータシステム
US7698473B2 (en) * 2005-01-05 2010-04-13 Sony Computer Entertainment Inc. Methods and apparatus for list transfers using DMA transfers in a multi-processor system
GB2433333B (en) * 2005-12-13 2011-07-13 Advanced Risc Mach Ltd Distributed direct memory access provision within a data processing system
CN114385529A (zh) * 2020-10-16 2022-04-22 瑞昱半导体股份有限公司 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
TWI771852B (zh) * 2020-12-29 2022-07-21 新唐科技股份有限公司 直接記憶體存取裝置、資料傳輸方法與電子設備

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179663A (en) * 1988-02-19 1993-01-12 Hitachi, Ltd. Data transfer controller
JP3127523B2 (ja) * 1991-10-31 2001-01-29 株式会社日立製作所 通信制御装置およびデータ送信方法
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
JP3602293B2 (ja) * 1997-04-22 2004-12-15 株式会社ソニー・コンピュータエンタテインメント データ転送方法及び装置
US6493803B1 (en) * 1999-08-23 2002-12-10 Advanced Micro Devices, Inc. Direct memory access controller with channel width configurability support
JP2002024156A (ja) * 2000-07-04 2002-01-25 Mitsubishi Electric Corp Dmaコントローラおよびその転送方法
US6775717B1 (en) * 2001-08-31 2004-08-10 Integrated Device Technology, Inc. Method and apparatus for reducing latency due to set up time between DMA transfers

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043421A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd 動き検出装置
JP4570532B2 (ja) * 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
JP2008165724A (ja) * 2006-12-06 2008-07-17 Hitachi Ltd Ioアダプタとそのデータ転送方法
JP2008269467A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd 転送システム、イニシエータデバイス及びデータ転送方法
JP4959806B2 (ja) * 2007-10-18 2012-06-27 株式会社東芝 記憶装置、データ伝送方法及び伝送制御回路
JP5955489B1 (ja) * 2015-11-26 2016-07-20 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
WO2017090138A1 (ja) * 2015-11-26 2017-06-01 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム

Also Published As

Publication number Publication date
US20040044809A1 (en) 2004-03-04
US7380027B2 (en) 2008-05-27

Similar Documents

Publication Publication Date Title
JP4456490B2 (ja) Dma装置
US7350004B2 (en) Resource management device
JP2008046997A (ja) 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
US20120079154A1 (en) Transaction reordering arrangement
US20060155903A1 (en) Resource management device
JP2004094452A (ja) Dmaコントローラおよびdma転送方法
JP2006338538A (ja) ストリームプロセッサ
JP2007080037A (ja) Dma転送システム
JP2022543151A (ja) 複数の異なるマスタによって不揮発性メモリに非干渉アクセスするためのメモリコントローラおよび関連するシステムならびに方法
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
JP2018516406A (ja) 分割バースト帯域幅調停のための方法および装置
JP2003263363A (ja) メモリ制御回路
US9128924B2 (en) Method and apparatus for wireless broadband systems direct data transfer
US9367496B2 (en) DMA transfer device and method
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2012079165A (ja) バス調停装置、バス調停方法
JP2000132505A (ja) バスアクセス方法および装置とその利用装置およびシステム
US11841812B2 (en) Data bus bridge
US20060268649A1 (en) Memory interface
JP2005284578A (ja) バス装置
JP2000293480A (ja) Dma転送装置
JP2004110742A (ja) Dmaコントローラ
JPH10124438A (ja) 入出力処理装置
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080710

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080805