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

Dma転送制御装置 Download PDF

Info

Publication number
JP2005004563A
JP2005004563A JP2003168580A JP2003168580A JP2005004563A JP 2005004563 A JP2005004563 A JP 2005004563A JP 2003168580 A JP2003168580 A JP 2003168580A JP 2003168580 A JP2003168580 A JP 2003168580A JP 2005004563 A JP2005004563 A JP 2005004563A
Authority
JP
Japan
Prior art keywords
dma
dma transfer
transfer
transfer rate
dmac
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
JP2003168580A
Other languages
English (en)
Inventor
Taketo Utsunomiya
健人 宇都宮
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003168580A priority Critical patent/JP2005004563A/ja
Publication of JP2005004563A publication Critical patent/JP2005004563A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】DMA転送速度を実際に測定し、測定されたDMA転送速度に基づき動的なDMA転送制御を行なうことにより、DMAのデータ転送効率を向上する。
【解決手段】各種入出力デバイスとメモリ100の間のDMA転送を制御するDMAC108〜110に、そのDMACによって転送されたデータ量をカウントするデータ転送量カウンタ203、DMAの起動後の経過時間をカウントする時間カウンタ204、カウンタ204の値でカウンタ203の値を除算する除算器205、除算結果とレジスタ207に設定された転送速度の下限値を比較する比較器206を設ける。DMACアービター104は各DMAC108〜110の比較器206の出力値208を監視し、あるDMACのデータ転送速度が所定の転送速度未満だった場合に当該DMACのDMA動作を優先させ、他のDMACのDMA動作を抑制する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は少なくとも一つのメモリ、および複数の入出力デバイス間でDMA転送を行なうDMA転送制御装置に関するものである。
【0002】
【従来の技術】
従来より、ファクシミリ装置やプリンタ、複写機などの種々の画像形成装置において、DMAコントローラを用いてメモリに対するデータの入出力を行なう技術が知られている。DMA転送では、CPUの制御を経ずにDMAコントローラがバスの調停(アービトレーション)を行なうため、一般にCPUの能力や負荷に関係なく高速なデータ転送を行なうことができる。
【0003】
従来、一つの画像メモリに対して、同時に複数のDMA要求が発生した場合は、それぞれのDMA要求についてメモリへのアクセスに対する平等、もしくは固定の優先順位を適用してDMA転送を行っていた(例えば、特許文献1を参照)。
【0004】
【特許文献1】
特開平5−108545号公報
【0005】
【発明が解決しようとする課題】
近年では、画像形成装置が取り扱うデータ量が増加し、かつ、画像形成装置の処理速度が向上していることから、画像形成装置内での画像データの転送にさらなる効率化が要求されるようになってきている。
【0006】
従来では、上記のように一つの画像メモリに対して、同時に複数のDMA要求が発生した場合は、動的な転送制御を行なうことなく、固定の優先順位を適用してDMA転送を行っているため、このような転送制御方式では転送効率の向上にはおのずと限界がある。
【0007】
そこで本発明の課題は、DMA転送速度を実際に測定し、測定されたDMA転送速度に基づき動的なDMA転送制御を行なうことにより、DMAのデータ転送効率を大きく向上することにある。
【0008】
【課題を解決するための手段】
以上の課題を解決するために、本発明では、少なくとも一つのメモリ、および複数の入出力デバイス間でDMA転送を行なうDMA転送制御装置において、前記複数の入出力デバイス、および前記メモリの間のDMA転送を制御する複数のDMAコントローラと、前記各DMAコントローラのDMA転送速度をそれぞれ測定するDMA転送速度測定手段と、前記DMA転送速度測定手段の測定した前記各DMAコントローラのDMA転送速度をそれぞれ所定の設定値と比較する比較手段と、前記比較手段の比較結果に応じて、DMA転送速度が所定の設定値未満のDMAコントローラのDMA転送を優先させ、当該DMAコントローラ以外のDMAコントローラのDMA転送を抑制する転送制御手段を有する構成を採用した。
【0009】
【発明の実施の形態】
図1は本実施形態を具体的に示す画像形成装置内のシステム構成図である。本実施形態の装置は、ファクシミリ装置やプリンタ、複写機などの画像形成装置であるが、ここでは画像記録ハードウェアなどの本発明に依存しない部分の具体的な図示は省略する。
【0010】
図1において符号100は少なくとも1つ以上のメモリデバイスから構成されるメモリで、画像形成装置内におけるCPU101のワークメモリや画像メモリなどを構成する。メモリ100を構成するメモリデバイスは、半導体メモリ、あるいはハードディスク装置などの各種外部記憶装置など任意のデバイスでよい。
【0011】
符号101は画像形成装置内の各種制御を行うためのCPU(中央演算処理ユニット)である。また、符号102は前記メモリ100に対して各種制御信号を生成するためのメモリコントローラ、103は複数のソースからメモリにアクセスする際に、前記メモリコントローラ102の調停を行うためのメモリコントローラアービター、104は複数のDMAコントローラの調停を行うためのDMACアービターである。
【0012】
符号105〜107はコンピュータや、スキャナ、プリンタなどの画像データを入出力するためのI/Oデバイス(入出力デバイス、以下I/Oと略す)である。ここでは、画像入力ハードウェア、画像記録ハードウェアなどの具体的な構成については省略するものとする。
【0013】
符号108〜110は、前記複数のI/O105〜107と前記メモリ100間のDMA転送を行うために、複数のI/O105〜107と一対一に対応した複数のDMAコントローラ(以下DMACと略す)である。
【0014】
上記の各ブロック100〜110は、アドレスバスおよびデータバス、その他の制御線などから構成されるシステムのバスを介して互いに接続される。
【0015】
ここで、たとえば、I/O105からメモリ100内の所定空間へデータをDMAC108を使用してDMA転送を行う場合には、CPU101は、データを入力するI/O105に該当するアドレス、データを書き込み始める際のメモリ100上のアドレス、DMAする際のデータ転送長をDMAC108にセットし、DMAの起動をかける。
【0016】
このDMAの起動を受けると、DMAC108は、DMACアービター104によるDMAの調停を受けながら、設定されたデータ転送長分だけDMA転送を行う。
【0017】
ここで、複数のDMACが同時に動作するような事象が起きた場合には、DMACアービターは、DMAC108〜110間とメモリコントローラアービター103とを調停しながら、DMA転送を制御する。
【0018】
本実施形態においては、各DMAC108〜110内に図2に示すような回路を設ける。
【0019】
図2において符号203は、このDMACによって転送されたデータ量をカウントするデータ転送量カウンタ、204はこのDMACが起動されてからの経過時間をカウントする時間カウンタである。
【0020】
また、符号205は前記データ転送量カウンタ及び時間カウンタによりカウントされた値を、リアルタイムに割り算して、DMA転送における転送スピードを計算する除算機能部を示し、実際には除算器ハードウェアなどから構成される(以下単に除算器という)。
【0021】
符号207はCPU101により設定される、DMA転送における転送スピードの下限値を設定するレジスタである。この下限値は、そのDMACで保証しなければならない(必要とされる)最低限のDMA転送速度に対応する値を装置の設計条件などに応じて各装置独立にあらかじめ設定しておく。
【0022】
また、符号206は除算器205から得られた値とレジスタ207からの値をリアルタイムに比較し、レジスタからの値の方が大きくなった場合(計測された転送スピードが設定された下限値を下回った場合)にDMACアービター104に接続された信号線208に対して所定の信号を発生する比較器である。
【0023】
すなわち、上記構成のうち、データ転送量カウンタ203、時間カウンタ204、および除算器205によりそのDMACのDMA転送速度に関する情報を得ることができ、比較器206でレジスタ207の設定値と比較することにより、所期のDMA転送速度が得られているかを調べることができる。
【0024】
このDMA転送速度判定機構を用いて次のようなDMA転送制御を行なうことができる。
【0025】
たとえば、前述のDMAの転送の手順段階において、各DMACに諸設定を行う際に、各DMAC内のレジスタ207にDMA転送において、最低保証したい転送スピードのしきい値を設定する。
【0026】
そしてCPU101のDMA起動と共に、データ転送量カウンタ203及び時間カウンタ204のカウント値をリセットし、それぞれのカウント動作を開始させる。
【0027】
そして、図3に示すように、レジスタ207で設定されたしきい値に対して、除算器205の出力が図3上段のように変化した場合、時間t1において図3下段に示すように比較器206の出力値208はHからLに変化する。
【0028】
このようにHからLに変化した比較器206の出力値(信号208)をあるDMACから受け取ったDMACアービター104は、該DMACの転送速度が所望の転送速度を下まわっているものと判断し、他のDMACからの転送要求よりも優先的に、この転送速度が低下しているDMACの転送処理を行うよう調停する。そして、転送速度がレジスタ207の値を上まわった時点t2で、速度低下が検出されていた当該のDMACの優先的な調停処理を終了する。
【0029】
すなわち、DMACアービター104は、各DMAC108〜110の比較器206の出力値(信号線208)を監視し、あるDMACのデータ転送量が所定の転送量以下だった場合に当該DMACのDMA動作を優先させ、他のDMACのDMA動作を抑制する。
【0030】
つまり、実際にあるDMACでDMA転送要求が生じているにもかかわらずそのレジスタ207に設定した所期の転送性能が得られていない、という事は、他のDMA転送が原因でそのDMACに関するDMA転送効率が低下していると考えてよい。
【0031】
したがって、以上のようにして、各DMACの転送速度を実測して、転送効率が低下しているDMACに関するDMA転送を優先し、他のDMA転送を抑制する動的なDMA転送制御を行なうことにより、転送効率が低下しているDMACに関するDMA転送の速度を上げ、全体のDMA転送速度(転送効率)を大きく向上させることができる。
【0032】
なお、レジスタ207に設定する転送速度の下限値に関しては、該下限値を装置の入出力などに関する設計条件に応じてあらかじめ定めた装置ごとの固定値とする構成が考えられるが、この他にさらにレジスタ207に設定する転送速度の下限値を動的に設定することも考えられる。たとえばファクシミリ装置などにおいて、送信、受信のいずれの動作を行なうかに応じて優先すべきデータ入出力処理をとり扱うDMACのレジスタ207に設定する転送速度の下限値を増加させ、逆に優先しなくてもよいデータ入出力処理をとり扱うDMACのレジスタ207に設定する転送速度の下限値は減少させるというように、DMA転送速度下限値を動的に制御する。
【0033】
このような制御を行なうことによって、装置の動作状況に応じて最適なDMA転送効率を得ることができる。
【0034】
【発明の効果】
以上から明らかなように、本発明によれば、少なくとも一つのメモリ、および複数の入出力デバイス間でDMA転送を行なうDMA転送制御装置において、前記複数の入出力デバイス、および前記メモリの間のDMA転送を制御する複数のDMAコントローラと、前記各DMAコントローラのDMA転送速度をそれぞれ測定するDMA転送速度測定手段と、前記DMA転送速度測定手段の測定した前記各DMAコントローラのDMA転送速度をそれぞれ所定の設定値と比較する比較手段と、前記比較手段の比較結果に応じて、DMA転送速度が所定の設定値未満のDMAコントローラのDMA転送を優先させ、当該DMAコントローラ以外のDMAコントローラのDMA転送を抑制する転送制御手段を有する構成を採用しているので、DMA転送速度を実際に測定し、測定されたDMA転送速度に基づき動的なDMA転送制御を行なうことにより、DMAのデータ転送効率を大きく向上することができる、という優れた効果がある。
【図面の簡単な説明】
【図1】本発明を採用した画像形成システムの概略を示したブロック図である。
【図2】図1の各DMAC内のデータ転送速度を測定するカウンタ及び比較器を示したブロック図である。
【図3】図1および図2の構成におけるDMAデータ転送スピードの変化と比較器の出力値の変化を示したタイミング図である。
【符号の説明】
100 メモリ
101 CPU
103 メモリコントローラアービター
104 DMACアービター
108〜110 DMAC
203 データ転送量カウンタ
204 時間カウンタ
205 除算器
206 比較器
207 レジスタ
208 信号線

Claims (4)

  1. 少なくとも一つのメモリ、および複数の入出力デバイス間でDMA転送を行なうDMA転送制御装置において、
    前記複数の入出力デバイス、および前記メモリの間のDMA転送を制御する複数のDMAコントローラと、
    前記各DMAコントローラのDMA転送速度をそれぞれ測定するDMA転送速度測定手段と、
    前記DMA転送速度測定手段の測定した前記各DMAコントローラのDMA転送速度をそれぞれ所定の設定値と比較する比較手段と、
    前記比較手段の比較結果に応じて、DMA転送速度が所定の設定値未満のDMAコントローラのDMA転送を優先させ、当該DMAコントローラ以外のDMAコントローラのDMA転送を抑制する転送制御手段を有することを特徴とするDMA転送制御装置。
  2. 前記DMA転送速度測定手段は、前記DMAコントローラのそれぞれについてDMAの実行時間を計測する時間カウンタと、DMAにより転送したデータ量をカウントするデータ転送量カウンタと、前記データ転送量カウンタの値を前記時間カウンタの値でリアルタイムに除算する除算手段とを有することを特徴とする請求項1に記載のDMA転送制御装置。
  3. 前記設定値は前記DMAコントローラのそれぞれに対して独立の値であることを特徴とする請求項1に記載のDMA転送制御装置。
  4. 前記DMA転送速度測定手段及び前記比較手段を、前記DMAコントローラのそれぞれに設けたことを特徴とする請求項1に記載のDMA転送制御装置。
JP2003168580A 2003-06-13 2003-06-13 Dma転送制御装置 Pending JP2005004563A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003168580A JP2005004563A (ja) 2003-06-13 2003-06-13 Dma転送制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003168580A JP2005004563A (ja) 2003-06-13 2003-06-13 Dma転送制御装置

Publications (1)

Publication Number Publication Date
JP2005004563A true JP2005004563A (ja) 2005-01-06

Family

ID=34093981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003168580A Pending JP2005004563A (ja) 2003-06-13 2003-06-13 Dma転送制御装置

Country Status (1)

Country Link
JP (1) JP2005004563A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176482A (ja) * 2007-01-17 2008-07-31 Hitachi Ltd 仮想計算機システム
KR100868766B1 (ko) 2007-01-31 2008-11-17 삼성전자주식회사 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치
JP2009098729A (ja) * 2007-10-12 2009-05-07 Ricoh Co Ltd 調停装置、調停方法及びプログラム
JP2012104160A (ja) * 2012-02-17 2012-05-31 Ricoh Co Ltd 調停装置、画像形成装置、調停方法及びプログラム
US8285889B2 (en) 2009-06-03 2012-10-09 Renesas Electronics Corporation DMA transfer control device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176482A (ja) * 2007-01-17 2008-07-31 Hitachi Ltd 仮想計算機システム
US8214559B2 (en) 2007-01-17 2012-07-03 Hitachi, Ltd. Virtual machine system
KR100868766B1 (ko) 2007-01-31 2008-11-17 삼성전자주식회사 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치
JP2009098729A (ja) * 2007-10-12 2009-05-07 Ricoh Co Ltd 調停装置、調停方法及びプログラム
US8285889B2 (en) 2009-06-03 2012-10-09 Renesas Electronics Corporation DMA transfer control device
JP2012104160A (ja) * 2012-02-17 2012-05-31 Ricoh Co Ltd 調停装置、画像形成装置、調停方法及びプログラム

Similar Documents

Publication Publication Date Title
JP4480427B2 (ja) リソース管理装置
US5572686A (en) Bus arbitration scheme with priority switching and timer
US8706939B2 (en) Device for arbitrating bus accesses and method for controlling same
JP5722264B2 (ja) データ処理装置、データ容量増加抑制方法
US20060190640A1 (en) Data transfer system and data transfer method
US11163711B2 (en) Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US9600426B2 (en) Bus control device, image processing apparatus, and bus control method
US20130254444A1 (en) Image processing apparatus
JP2007058716A (ja) データ転送バスシステム
JP6175794B2 (ja) データ処理装置およびデータ処理方法
JP2005004563A (ja) Dma転送制御装置
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
US20060047866A1 (en) Computer system having direct memory access controller
JP2009043089A (ja) バス制御装置及びバス制御方法
JP3985085B2 (ja) Dma制御装置
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP2004355435A (ja) アクセス調停装置
JP2003006139A (ja) Dma転送装置
JP2000276437A (ja) Dma制御装置
JP7292044B2 (ja) 制御装置および制御方法
JP4549458B2 (ja) Dma転送装置
WO2020230413A1 (ja) 情報処理装置
JP2002049580A (ja) バス管理装置、バス使用要求送信装置、バス管理方法、及びバス使用要求送信方法
JP2002091903A (ja) バスシステム