JP2010282352A - Dma転送制御装置 - Google Patents

Dma転送制御装置 Download PDF

Info

Publication number
JP2010282352A
JP2010282352A JP2009134126A JP2009134126A JP2010282352A JP 2010282352 A JP2010282352 A JP 2010282352A JP 2009134126 A JP2009134126 A JP 2009134126A JP 2009134126 A JP2009134126 A JP 2009134126A JP 2010282352 A JP2010282352 A JP 2010282352A
Authority
JP
Japan
Prior art keywords
dma
dma transfer
transfer
time
arbiter
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
JP2009134126A
Other languages
English (en)
Other versions
JP2010282352A5 (ja
Inventor
Naoko Shinohara
直子 篠原
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009134126A priority Critical patent/JP2010282352A/ja
Priority to US12/789,741 priority patent/US8285889B2/en
Publication of JP2010282352A publication Critical patent/JP2010282352A/ja
Publication of JP2010282352A5 publication Critical patent/JP2010282352A5/ja
Priority to US13/476,484 priority patent/US20120290745A1/en
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アービタを制御するDMA制御回路からなるDMA転送制御装置において、判定部11と、DMA転送要求に伴うDMA転送サイズと判定時刻とに基づいて次回のDMA転送予定時刻を算出する転送時刻計算部12と、を備える。単位時間間隔で判定時刻を計時するタイマカウンタ13と、DMA転送要求が到来したときの判定時刻とDMA転送予定時刻とを比較する比較器10と、を備え、判定部11は、判定時刻がDMA転送予定時刻以降であることを比較器10の出力が示す場合にDMAアービタへDMA転送許可として送出する。
【選択図】図2

Description

本発明は、DMA転送制御装置に関し、特にDMA転送を動的に制御するDMA転送制御装置に関する。
コンピュータシステム等において、CPUに負荷をかけずにデータ転送を行うために、DMA(ダイレクトメモリアクセス)が一般に用いられる。DMAによるデータ転送は、DMA転送制御装置によって制御され、メモリと入出力デバイスとの間で行われる。入出力デバイスが複数存在し、それぞれの入出力デバイスからのデータ転送要求がある場合、DMA転送制御装置も複数設けられる。これらのデータ転送のパスをDMAチャネルと呼ぶ。
複数のDMAチャネルが存在する場合、メモリと複数の入出力デバイスが共通に接続されるシステムバスを利用するために、各データ転送要求間の調停がアービタによって行なわれる。調停方法としては、回転優先順位法(ラウンドロビン法)や固定優先順位法が知られている(例えば、特許文献1参照)。
しかしながら、このような調停方法は、データ転送レートを動的に制御したい場合には向いていない。そこで、DMA転送速度を測定し、DMA転送速度に基づいてDMA転送制御を動的に行い、データ転送の効率化を行う方法が知られている(特許文献2参照)。
特許第3202272号公報 特開2005―4563号公報
以下の分析は本発明において与えられる。
特許文献2で示される従来のDMA転送制御装置では、DMA転送データ量をDMA転送時間で割り算したDMA転送速度を用い、DMA転送速度が所定の設定値未満のDMAコントローラのDMA転送を優先させ、このDMAコントローラ以外のDMAコントローラのDMA転送を抑制するようにしている。したがって、DMA転送速度が平均化されて計算されてしまうことになる。すなわち、大量のDMA転送を行うような場合、転送速度にバラツキがあっても平均化されてしまう。このため、一時的に転送量が集中する場合、動的にDMA転送を制御することが困難となりデータ転送の効率の低下に繋がってしまう。
本発明の1つのアスペクト(側面)に係るDMA転送制御装置は、メモリと複数の入出力デバイスとの組み合わせからなるDMAチャネル毎にDMA転送を行うDMAアービタと、DMAアービタを制御するDMA制御回路からなるDMA転送制御装置であって、入出力デバイスからDMA転送要求が到来したときの判定時刻がDMA転送予定時刻以降である場合にDMAアービタへDMA転送許可として送出する判定部と、DMA転送要求に伴うDMA転送サイズと判定時刻とに基づいて次回のDMA転送予定時刻を算出する転送時刻計算部と、を備える。
本発明によれば、DMA転送要求が一時的に集中しても、予め決められたDMA転送速度を超えないようにDMA転送を動的に制御してデータ転送の効率を高めることができる。
本発明の第1の実施例に係るコンピュータシステムの構成を示すブロック図である。 本発明の第1の実施例に係るDMA制御回路の構成を示す図である。 本発明の第1の実施例に係るDMA転送制御装置の動作を表すフローチャートである。 本発明の第1の実施例に係るDMA転送制御装置の動作を表すタイミングチャートである。
本発明の実施形態に係るDMA転送制御装置は、メモリ(図1の20)と複数の入出力デバイス(図1の31〜33)との組み合わせからなるDMAチャネル毎にDMA転送を行うDMAアービタ(図1の23)と、DMAアービタを制御するDMA制御回路(図1の27〜29に相当)からなるDMA転送制御装置である。DMA転送制御装置は、入出力デバイスからDMA転送要求が到来したときの判定時刻がDMA転送予定時刻以降である場合にDMAアービタへDMA転送許可として送出する判定部(図2の11)と、DMA転送要求に伴うDMA転送サイズと判定時刻とに基づいて次回のDMA転送予定時刻を算出する転送時刻計算部(図2の12)と、を備える。
単位時間間隔で判定時刻を計時するタイマカウンタ(図2の13)と、DMA転送要求が到来したときの判定時刻とDMA転送予定時刻とを比較する比較器(図2の10)と、を備え、判定部は、判定時刻がDMA転送予定時刻以降であることを比較器の出力が示す場合にDMAアービタへDMA転送許可として送出し、判定時刻がDMA転送予定時刻より早いことを比較器の出力が示す場合にDMAアービタへDMA不転送許可として送出するようにしてもよい。
転送時刻計算部は、DMA転送要求に伴うDMA転送サイズの設定値とDMA転送サイズあたりのDMA転送間隔の設定値とを乗算し判定時刻を加算する計算部(図2の16、17に相当)と、計算部の計算結果を次回のDMA転送予定時刻として保持するレジスタと(図2の19)、を備えるようにしてもよい。
このようなDMA転送制御装置によれば、ピークのDMA転送速度に応じたDMA転送予定時刻を超えるまでは、DMA転送要求があってもDMA転送を待機させる。したがって、DMAチャネル毎にピークのDMA転送速度を超えないように、動的にDMA転送を制御することで、複数のDMAチャネル全体のデータ転送の効率を高めることができる。
以下、実施例に即し、図面を参照して詳しく説明する。
図1は、本発明の第1の実施例に係るコンピュータシステムの構成を示すブロック図である。図1において、コンピュータシステムは、メモリ20、メモリ制御回路21、CPU22、DMAアービタ23、入出力デバイス31〜33、DMA制御回路27〜29を備える。メモリ20、メモリ制御回路21、CPU22、DMAアービタ23は、アドレスバス、データバス、および制御線で構成されるシステムバス30でお互いに接続されている。ここでは、DMAチャネルが3チャネルである例を示している。
DMA制御回路27〜29は、入出力デバイス31〜33からそれぞれDMA転送要求信号Srを受け取り、入出力デバイス31〜33へそれぞれDMA転送応答としてDMA転送許可信号Spを返すと共に、DMAアービタ23へDMA転送判定結果としてDMA転送許可信号Spを出力する。
DMAアービタ23は、DMA制御回路27〜29から受けたDMA転送判定結果から、複数のDMA転送許可があれば、そこから1つを選び、選んだDMAチャネルに対応する入出力デバイスとメモリ間のDMA転送を行う。
図2は、本発明の第1の実施例に係るDMA制御回路の構成を示す図である。DMA転送制御回路27〜29は、比較器10、判定部11、DMA転送予定時刻TATを算出する転送時刻計算部12、判定時刻taを計時するタイマカウンタ13を備える。比較器10は、DMA転送要求信号Srが入力されたときの判定時刻taとDMA転送予定時刻TATを比較する。判定部11は、比較器10の比較結果に応じてDMAアービタ23と入出力デバイス31〜33のいずれか(DMA転送要求信号Srの発行元)とにDMA転送許可信号Spを送出する。転送時刻計算部12は、次のDMA転送予定時刻TATを算出し保存する。タイマカウンタ13は、単位時間間隔で判定時刻taを計時する。
転送時刻計算部12は、レジスタ14、15、19、乗算器16、加算器17、セレクタ18を備える。レジスタ14は、単位DMA転送サイズあたりのDMA転送間隔、すなわちピークとなるDMA転送速度の逆数の設定値Tを保存する。レジスタ15は、DMA転送サイズの設定値sizeを保存する。乗算器16は、レジスタ14、15から取り出した値を乗じてピークDMA転送間隔(T・size)を算出する。加算器17は、タイマカウンタ13からの判定時刻taを乗算器16の出力に加算して次のDMA転送予定時刻(TAT=ta+T・size)を算出する。セレクタ18は、判定部11がDMA転送許可を出力する場合には加算器17から出力された次のDMA転送予定時刻TATを選択し、判定部11がDMA転送許可を出力しない場合にはレジスタ19に保持されている元のDMA転送予定時刻TATを選択してレジスタ19に出力する。レジスタ19は、セレクタ18の結果を保存する。
転送時刻計算部12において、DMA転送サイズ(size)は、CPU22等によってDMA転送毎に設定を更新される。また、DMA転送間隔(T)は、DMAチャネル毎に固定値であってもよく、各DMAチャネルのDMA転送速度比を変更したい場合には、CPU22等によって動的に変更してもよい。
次に、DMA転送制御装置の動作について説明する。図3は、本発明の第1の実施例に係るDMA転送制御装置の動作を表すフローチャートである。図2で示すDMA制御回路27〜29内のピークDMA転送速度をもとにDMA転送許可を行う回路の動作を説明する。
DMA転送要求を受け取ると(ステップS11のYES)、レジスタ19、14、15からそれぞれ読み出した、DMA転送予定時刻TAT、単位あたりのDMA転送サイズT、DMA転送サイズsizeと、タイマカウンタ13から読み出した判定時刻taとを用い、下記の判定を行う。
もし、TAT≦taであれば(ステップS12のYES)、ピークDMA転送速度を超過していないと判断し、DMA転送を許可(OK)する(ステップS15)。そして、次のDMA転送予定時刻TATとして、TAT=ta+T・sizeを設定する(ステップS16)。
もし、TAT>taであれば(ステップS12のNO)、ピークDMA転送速度を超過していると判断し、DMA転送を許可しない(wait)(ステップS13)。このとき、DMA転送予定時刻TATは更新しない。
なお、DMA転送要求を受け取らない場合(ステップS11のNO)も、DMA転送を許可せず(ステップS14)、DMA転送予定時刻TATを更新しない。
いずれの場合にも、判定時刻taは、ta=ta+1となるように、タイマカウンタ13を更新する(ステップS17)。
DMA転送制御装置は、上記で決定される、DMA転送許可する(OK)/許可しない(waitまたはDMA転送要求なし)を、DMAアービタ23へ送出し、DMA転送を動的に制御する。
図4は、本発明の第1の実施例に係るDMA転送制御装置の動作を表すタイミングチャートである。
始めにDMA転送要求信号Sr(a)を受け取ったとき、TAT=0、ta=0、T=2、size=1とする。ここでは、TAT(0)≦ta(0)が成立するので、DMA転送許可(OK)であり、次のDMA転送予定時刻TAT=0+2×1=2となる。
DMA転送要求信号Sr(b)を受け取ったとき、TAT=2、ta=4、T=2、size=2である。TAT(2)≦ta(4)が成立するので、DMA転送許可(OK)であり、次のDMA転送予定時刻TAT=4+2×2=8となる。
DMA転送要求信号Sr(c)を受け取ったとき、TAT=8、ta=7、T=2、size=2である。TAT(8)>ta(7)であるので、DMA転送を待機(wait)する。ここではDMA転送予定時刻を更新しない。
次の時刻で、DMA転送要求信号Sr(c)に対し再度同様のチェックを行う。このときには、TAT=8、ta=8、T=2、size=2である。TAT(8)≦ta(8)が成立するので、DMA転送許可(OK)であり、次のDMA転送予定時刻TAT=8+2×2=12となる。
以上のように動作するDMA転送制御装置によれば、ピークDMA転送速度に応じたDMA転送予定時刻を越えるまでは、DMA転送要求があってもDMA転送を待機(wait)させる。この結果、DMA転送要求が一時的に集中したとしても、予め決められたDMA転送速度を超えないようにDMA転送を動的に制御することができる。
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 比較器
11 判定部
12 転送時刻計算部
13 タイマカウンタ
14、15、19 レジスタ
16 乗算器
17 加算器
18 セレクタ
20 メモリ
21 メモリ制御回路
22 CPU
23 DMAアービタ
27〜29 DMA制御回路
30 システムバス
31〜33 入出力デバイス

Claims (3)

  1. メモリと複数の入出力デバイスとの組み合わせからなるDMAチャネル毎にDMA転送を行うDMAアービタと、DMAアービタを制御するDMA制御回路からなるDMA転送制御装置であって、
    前記入出力デバイスからDMA転送要求が到来したときの判定時刻がDMA転送予定時刻以降である場合に前記DMAアービタへDMA転送許可として送出する判定部と、
    前記DMA転送要求に伴うDMA転送サイズと前記判定時刻とに基づいて次回の前記DMA転送予定時刻を算出する転送時刻計算部と、
    を備えることを特徴とするDMA転送制御装置。
  2. 単位時間間隔で前記判定時刻を計時するタイマカウンタと、
    前記DMA転送要求が到来したときの前記判定時刻と前記DMA転送予定時刻とを比較する比較器と、
    を備え、
    前記判定部は、前記判定時刻が前記DMA転送予定時刻以降であることを前記比較器の出力が示す場合に前記DMAアービタへDMA転送許可として送出し、前記判定時刻が前記DMA転送予定時刻より早いことを前記比較器の出力が示す場合に前記DMAアービタへDMA不転送許可として送出することを特徴とする請求項1記載のDMA転送制御装置。
  3. 前記転送時刻計算部は、
    前記DMA転送要求に伴うDMA転送サイズの設定値と前記DMA転送サイズあたりのDMA転送間隔の設定値とを乗算し前記判定時刻を加算する計算部と、
    前記計算部の計算結果を次回の前記DMA転送予定時刻として保持するレジスタと、
    を備えることを特徴とする請求項1記載のDMA転送制御装置。
JP2009134126A 2009-06-03 2009-06-03 Dma転送制御装置 Pending JP2010282352A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009134126A JP2010282352A (ja) 2009-06-03 2009-06-03 Dma転送制御装置
US12/789,741 US8285889B2 (en) 2009-06-03 2010-05-28 DMA transfer control device
US13/476,484 US20120290745A1 (en) 2009-06-03 2012-05-21 Dma transfer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009134126A JP2010282352A (ja) 2009-06-03 2009-06-03 Dma転送制御装置

Publications (2)

Publication Number Publication Date
JP2010282352A true JP2010282352A (ja) 2010-12-16
JP2010282352A5 JP2010282352A5 (ja) 2012-04-05

Family

ID=43301557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009134126A Pending JP2010282352A (ja) 2009-06-03 2009-06-03 Dma転送制御装置

Country Status (2)

Country Link
US (2) US8285889B2 (ja)
JP (1) JP2010282352A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082103A (ja) * 2019-11-21 2021-05-27 ルネサスエレクトロニクス株式会社 調停回路、データ転送システム、及び、調停回路による調停方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0814484D0 (en) * 2008-08-07 2008-09-10 Icera Inc Dma engine
WO2013012435A1 (en) 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Security parameter zeroization
JP5888050B2 (ja) * 2012-03-27 2016-03-16 株式会社ソシオネクスト 半導体集積回路およびそのdma制御方法
JP7192427B2 (ja) * 2018-11-19 2022-12-20 オムロン株式会社 制御システムおよび制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099455A (ja) * 1998-09-21 2000-04-07 Nec Corp 先着優先バス競合制御方式
JP2002197050A (ja) * 2000-12-27 2002-07-12 Fuji Xerox Co Ltd 調停制御システム、調停制御方法及び調停制御装置
JP2004133572A (ja) * 2002-10-09 2004-04-30 Fanuc Ltd バス調停機能を備える装置及び数値制御装置
JP2006171887A (ja) * 2004-12-13 2006-06-29 Mitsubishi Electric Corp バス制御装置および情報処理システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3202272B2 (ja) 1991-10-16 2001-08-27 日本電気株式会社 Dmaコントローラ
US5752081A (en) * 1995-06-08 1998-05-12 Vlsi Technology, Inc. Signalling system and method for allowing a direct memory access (DMA) input/output (I/O) device on the peripheral component interconnect (PCI) bus to perform DMA transfers
US7356346B2 (en) * 2002-06-28 2008-04-08 Lucent Technologies Inc. Method of uplink scheduling for data communication
US6993639B2 (en) * 2003-04-01 2006-01-31 Hewlett-Packard Development Company, L.P. Processing instruction addressed by received remote instruction and generating remote instruction to respective output port for another cell
JP2005004563A (ja) 2003-06-13 2005-01-06 Canon Inc Dma転送制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099455A (ja) * 1998-09-21 2000-04-07 Nec Corp 先着優先バス競合制御方式
JP2002197050A (ja) * 2000-12-27 2002-07-12 Fuji Xerox Co Ltd 調停制御システム、調停制御方法及び調停制御装置
JP2004133572A (ja) * 2002-10-09 2004-04-30 Fanuc Ltd バス調停機能を備える装置及び数値制御装置
JP2006171887A (ja) * 2004-12-13 2006-06-29 Mitsubishi Electric Corp バス制御装置および情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082103A (ja) * 2019-11-21 2021-05-27 ルネサスエレクトロニクス株式会社 調停回路、データ転送システム、及び、調停回路による調停方法

Also Published As

Publication number Publication date
US20120290745A1 (en) 2012-11-15
US20100312940A1 (en) 2010-12-09
US8285889B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
KR100784385B1 (ko) 공유 자원에 대한 접근 요청을 중재하는 시스템 및 방법
US20120042105A1 (en) Bus arbitration apparatus
JP2010282352A (ja) Dma転送制御装置
KR20140127233A (ko) 동적인 우선순위 제어를 위한 시스템들 및 방법들
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
WO2006001245A1 (ja) 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置
JP4915172B2 (ja) 調停回路
JP2006350573A (ja) データ転送制御装置,データ転送制御方法,データ転送装置,画像形成装置,データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5677007B2 (ja) バス調停装置、バス調停方法
JP2006252015A (ja) データ転送制御装置
KR100644597B1 (ko) 버스 시스템 및 그 커맨드 전달방법
JP2006259842A (ja) データ転送処理装置
JP2011059915A (ja) 半導体装置
JP5644531B2 (ja) データ転送装置及びデータ転送方法
JP5441185B2 (ja) 割り込みコントローラ及び時分割割り込み発生方法
JP2009151487A (ja) Dma転送制御装置及びデータ転送装置
JP7292044B2 (ja) 制御装置および制御方法
JP6582598B2 (ja) 調停回路
JP2005004563A (ja) Dma転送制御装置
JP7226084B2 (ja) 情報処理装置
CN107066064B (zh) 电源装置、用于电源装置的电源控制方法以及记录介质
JP2008009962A (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
CN106155953B (zh) 一种信息处理方法及电子设备
JP2010170473A (ja) バス調停装置
JP2011113124A (ja) 画像処理装置、画像処理装置の制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131210