(57)【要約】【課題】ＤＭＡ転送速度を実際に測定し、測定されたＤＭＡ転送速度に基づき動的なＤＭＡ転送制御を行なうことにより、ＤＭＡのデータ転送効率を向上する。【解決手段】各種入出力デバイスとメモリ１００の間のＤＭＡ転送を制御するＤＭＡＣ１０８〜１１０に、そのＤＭＡＣによって転送されたデータ量をカウントするデータ転送量カウンタ２０３、ＤＭＡの起動後の経過時間をカウントする時間カウンタ２０４、カウンタ２０４の値でカウンタ２０３の値を除算する除算器２０５、除算結果とレジスタ２０７に設定された転送速度の下限値を比較する比較器２０６を設ける。ＤＭＡＣアービター１０４は各ＤＭＡＣ１０８〜１１０の比較器２０６の出力値２０８を監視し、あるＤＭＡＣのデータ転送速度が所定の転送速度未満だった場合に当該ＤＭＡＣのＤＭＡ動作を優先させ、他のＤＭＡＣのＤＭＡ動作を抑制する。【選択図】        図２
2005004563.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのメモリ、および複数の入出力デバイス間でＤＭＡ転送を行なうＤＭＡ転送制御装置において、
前記複数の入出力デバイス、および前記メモリの間のＤＭＡ転送を制御する複数のＤＭＡコントローラと、
前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ測定するＤＭＡ転送速度測定手段と、
前記ＤＭＡ転送速度測定手段の測定した前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ所定の設定値と比較する比較手段と、
前記比較手段の比較結果に応じて、ＤＭＡ転送速度が所定の設定値未満のＤＭＡコントローラのＤＭＡ転送を優先させ、当該ＤＭＡコントローラ以外のＤＭＡコントローラのＤＭＡ転送を抑制する転送制御手段を有することを特徴とするＤＭＡ転送制御装置。
【請求項２】
前記ＤＭＡ転送速度測定手段は、前記ＤＭＡコントローラのそれぞれについてＤＭＡの実行時間を計測する時間カウンタと、ＤＭＡにより転送したデータ量をカウントするデータ転送量カウンタと、前記データ転送量カウンタの値を前記時間カウンタの値でリアルタイムに除算する除算手段とを有することを特徴とする請求項１に記載のＤＭＡ転送制御装置。
【請求項３】
前記設定値は前記ＤＭＡコントローラのそれぞれに対して独立の値であることを特徴とする請求項１に記載のＤＭＡ転送制御装置。
【請求項４】
前記ＤＭＡ転送速度測定手段及び前記比較手段を、前記ＤＭＡコントローラのそれぞれに設けたことを特徴とする請求項１に記載のＤＭＡ転送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は少なくとも一つのメモリ、および複数の入出力デバイス間でＤＭＡ転送を行なうＤＭＡ転送制御装置に関するものである。
【０００２】
【従来の技術】
従来より、ファクシミリ装置やプリンタ、複写機などの種々の画像形成装置において、ＤＭＡコントローラを用いてメモリに対するデータの入出力を行なう技術が知られている。ＤＭＡ転送では、ＣＰＵの制御を経ずにＤＭＡコントローラがバスの調停（アービトレーション）を行なうため、一般にＣＰＵの能力や負荷に関係なく高速なデータ転送を行なうことができる。
【０００３】
従来、一つの画像メモリに対して、同時に複数のＤＭＡ要求が発生した場合は、それぞれのＤＭＡ要求についてメモリへのアクセスに対する平等、もしくは固定の優先順位を適用してＤＭＡ転送を行っていた（例えば、特許文献１を参照）。
【０００４】
【特許文献１】
特開平５−１０８５４５号公報
【０００５】
【発明が解決しようとする課題】
近年では、画像形成装置が取り扱うデータ量が増加し、かつ、画像形成装置の処理速度が向上していることから、画像形成装置内での画像データの転送にさらなる効率化が要求されるようになってきている。
【０００６】
従来では、上記のように一つの画像メモリに対して、同時に複数のＤＭＡ要求が発生した場合は、動的な転送制御を行なうことなく、固定の優先順位を適用してＤＭＡ転送を行っているため、このような転送制御方式では転送効率の向上にはおのずと限界がある。
【０００７】
そこで本発明の課題は、ＤＭＡ転送速度を実際に測定し、測定されたＤＭＡ転送速度に基づき動的なＤＭＡ転送制御を行なうことにより、ＤＭＡのデータ転送効率を大きく向上することにある。
【０００８】
【課題を解決するための手段】
以上の課題を解決するために、本発明では、少なくとも一つのメモリ、および複数の入出力デバイス間でＤＭＡ転送を行なうＤＭＡ転送制御装置において、前記複数の入出力デバイス、および前記メモリの間のＤＭＡ転送を制御する複数のＤＭＡコントローラと、前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ測定するＤＭＡ転送速度測定手段と、前記ＤＭＡ転送速度測定手段の測定した前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ所定の設定値と比較する比較手段と、前記比較手段の比較結果に応じて、ＤＭＡ転送速度が所定の設定値未満のＤＭＡコントローラのＤＭＡ転送を優先させ、当該ＤＭＡコントローラ以外のＤＭＡコントローラのＤＭＡ転送を抑制する転送制御手段を有する構成を採用した。
【０００９】
【発明の実施の形態】
図１は本実施形態を具体的に示す画像形成装置内のシステム構成図である。本実施形態の装置は、ファクシミリ装置やプリンタ、複写機などの画像形成装置であるが、ここでは画像記録ハードウェアなどの本発明に依存しない部分の具体的な図示は省略する。
【００１０】
図１において符号１００は少なくとも１つ以上のメモリデバイスから構成されるメモリで、画像形成装置内におけるＣＰＵ１０１のワークメモリや画像メモリなどを構成する。メモリ１００を構成するメモリデバイスは、半導体メモリ、あるいはハードディスク装置などの各種外部記憶装置など任意のデバイスでよい。
【００１１】
符号１０１は画像形成装置内の各種制御を行うためのＣＰＵ（中央演算処理ユニット）である。また、符号１０２は前記メモリ１００に対して各種制御信号を生成するためのメモリコントローラ、１０３は複数のソースからメモリにアクセスする際に、前記メモリコントローラ１０２の調停を行うためのメモリコントローラアービター、１０４は複数のＤＭＡコントローラの調停を行うためのＤＭＡＣアービターである。
【００１２】
符号１０５〜１０７はコンピュータや、スキャナ、プリンタなどの画像データを入出力するためのＩ／Ｏデバイス（入出力デバイス、以下Ｉ／Ｏと略す）である。ここでは、画像入力ハードウェア、画像記録ハードウェアなどの具体的な構成については省略するものとする。
【００１３】
符号１０８〜１１０は、前記複数のＩ／Ｏ１０５〜１０７と前記メモリ１００間のＤＭＡ転送を行うために、複数のＩ／Ｏ１０５〜１０７と一対一に対応した複数のＤＭＡコントローラ（以下ＤＭＡＣと略す）である。
【００１４】
上記の各ブロック１００〜１１０は、アドレスバスおよびデータバス、その他の制御線などから構成されるシステムのバスを介して互いに接続される。
【００１５】
ここで、たとえば、Ｉ／Ｏ１０５からメモリ１００内の所定空間へデータをＤＭＡＣ１０８を使用してＤＭＡ転送を行う場合には、ＣＰＵ１０１は、データを入力するＩ／Ｏ１０５に該当するアドレス、データを書き込み始める際のメモリ１００上のアドレス、ＤＭＡする際のデータ転送長をＤＭＡＣ１０８にセットし、ＤＭＡの起動をかける。
【００１６】
このＤＭＡの起動を受けると、ＤＭＡＣ１０８は、ＤＭＡＣアービター１０４によるＤＭＡの調停を受けながら、設定されたデータ転送長分だけＤＭＡ転送を行う。
【００１７】
ここで、複数のＤＭＡＣが同時に動作するような事象が起きた場合には、ＤＭＡＣアービターは、ＤＭＡＣ１０８〜１１０間とメモリコントローラアービター１０３とを調停しながら、ＤＭＡ転送を制御する。
【００１８】
本実施形態においては、各ＤＭＡＣ１０８〜１１０内に図２に示すような回路を設ける。
【００１９】
図２において符号２０３は、このＤＭＡＣによって転送されたデータ量をカウントするデータ転送量カウンタ、２０４はこのＤＭＡＣが起動されてからの経過時間をカウントする時間カウンタである。
【００２０】
また、符号２０５は前記データ転送量カウンタ及び時間カウンタによりカウントされた値を、リアルタイムに割り算して、ＤＭＡ転送における転送スピードを計算する除算機能部を示し、実際には除算器ハードウェアなどから構成される（以下単に除算器という）。
【００２１】
符号２０７はＣＰＵ１０１により設定される、ＤＭＡ転送における転送スピードの下限値を設定するレジスタである。この下限値は、そのＤＭＡＣで保証しなければならない（必要とされる）最低限のＤＭＡ転送速度に対応する値を装置の設計条件などに応じて各装置独立にあらかじめ設定しておく。
【００２２】
また、符号２０６は除算器２０５から得られた値とレジスタ２０７からの値をリアルタイムに比較し、レジスタからの値の方が大きくなった場合（計測された転送スピードが設定された下限値を下回った場合）にＤＭＡＣアービター１０４に接続された信号線２０８に対して所定の信号を発生する比較器である。
【００２３】
すなわち、上記構成のうち、データ転送量カウンタ２０３、時間カウンタ２０４、および除算器２０５によりそのＤＭＡＣのＤＭＡ転送速度に関する情報を得ることができ、比較器２０６でレジスタ２０７の設定値と比較することにより、所期のＤＭＡ転送速度が得られているかを調べることができる。
【００２４】
このＤＭＡ転送速度判定機構を用いて次のようなＤＭＡ転送制御を行なうことができる。
【００２５】
たとえば、前述のＤＭＡの転送の手順段階において、各ＤＭＡＣに諸設定を行う際に、各ＤＭＡＣ内のレジスタ２０７にＤＭＡ転送において、最低保証したい転送スピードのしきい値を設定する。
【００２６】
そしてＣＰＵ１０１のＤＭＡ起動と共に、データ転送量カウンタ２０３及び時間カウンタ２０４のカウント値をリセットし、それぞれのカウント動作を開始させる。
【００２７】
そして、図３に示すように、レジスタ２０７で設定されたしきい値に対して、除算器２０５の出力が図３上段のように変化した場合、時間ｔ１において図３下段に示すように比較器２０６の出力値２０８はＨからＬに変化する。
【００２８】
このようにＨからＬに変化した比較器２０６の出力値（信号２０８）をあるＤＭＡＣから受け取ったＤＭＡＣアービター１０４は、該ＤＭＡＣの転送速度が所望の転送速度を下まわっているものと判断し、他のＤＭＡＣからの転送要求よりも優先的に、この転送速度が低下しているＤＭＡＣの転送処理を行うよう調停する。そして、転送速度がレジスタ２０７の値を上まわった時点ｔ２で、速度低下が検出されていた当該のＤＭＡＣの優先的な調停処理を終了する。
【００２９】
すなわち、ＤＭＡＣアービター１０４は、各ＤＭＡＣ１０８〜１１０の比較器２０６の出力値（信号線２０８）を監視し、あるＤＭＡＣのデータ転送量が所定の転送量以下だった場合に当該ＤＭＡＣのＤＭＡ動作を優先させ、他のＤＭＡＣのＤＭＡ動作を抑制する。
【００３０】
つまり、実際にあるＤＭＡＣでＤＭＡ転送要求が生じているにもかかわらずそのレジスタ２０７に設定した所期の転送性能が得られていない、という事は、他のＤＭＡ転送が原因でそのＤＭＡＣに関するＤＭＡ転送効率が低下していると考えてよい。
【００３１】
したがって、以上のようにして、各ＤＭＡＣの転送速度を実測して、転送効率が低下しているＤＭＡＣに関するＤＭＡ転送を優先し、他のＤＭＡ転送を抑制する動的なＤＭＡ転送制御を行なうことにより、転送効率が低下しているＤＭＡＣに関するＤＭＡ転送の速度を上げ、全体のＤＭＡ転送速度（転送効率）を大きく向上させることができる。
【００３２】
なお、レジスタ２０７に設定する転送速度の下限値に関しては、該下限値を装置の入出力などに関する設計条件に応じてあらかじめ定めた装置ごとの固定値とする構成が考えられるが、この他にさらにレジスタ２０７に設定する転送速度の下限値を動的に設定することも考えられる。たとえばファクシミリ装置などにおいて、送信、受信のいずれの動作を行なうかに応じて優先すべきデータ入出力処理をとり扱うＤＭＡＣのレジスタ２０７に設定する転送速度の下限値を増加させ、逆に優先しなくてもよいデータ入出力処理をとり扱うＤＭＡＣのレジスタ２０７に設定する転送速度の下限値は減少させるというように、ＤＭＡ転送速度下限値を動的に制御する。
【００３３】
このような制御を行なうことによって、装置の動作状況に応じて最適なＤＭＡ転送効率を得ることができる。
【００３４】
【発明の効果】
以上から明らかなように、本発明によれば、少なくとも一つのメモリ、および複数の入出力デバイス間でＤＭＡ転送を行なうＤＭＡ転送制御装置において、前記複数の入出力デバイス、および前記メモリの間のＤＭＡ転送を制御する複数のＤＭＡコントローラと、前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ測定するＤＭＡ転送速度測定手段と、前記ＤＭＡ転送速度測定手段の測定した前記各ＤＭＡコントローラのＤＭＡ転送速度をそれぞれ所定の設定値と比較する比較手段と、前記比較手段の比較結果に応じて、ＤＭＡ転送速度が所定の設定値未満のＤＭＡコントローラのＤＭＡ転送を優先させ、当該ＤＭＡコントローラ以外のＤＭＡコントローラのＤＭＡ転送を抑制する転送制御手段を有する構成を採用しているので、ＤＭＡ転送速度を実際に測定し、測定されたＤＭＡ転送速度に基づき動的なＤＭＡ転送制御を行なうことにより、ＤＭＡのデータ転送効率を大きく向上することができる、という優れた効果がある。
【図面の簡単な説明】
【図１】本発明を採用した画像形成システムの概略を示したブロック図である。
【図２】図１の各ＤＭＡＣ内のデータ転送速度を測定するカウンタ及び比較器を示したブロック図である。
【図３】図１および図２の構成におけるＤＭＡデータ転送スピードの変化と比較器の出力値の変化を示したタイミング図である。
【符号の説明】
１００  メモリ
１０１  ＣＰＵ
１０３  メモリコントローラアービター
１０４  ＤＭＡＣアービター
１０８〜１１０  ＤＭＡＣ
２０３  データ転送量カウンタ
２０４  時間カウンタ
２０５  除算器
２０６  比較器
２０７  レジスタ
２０８  信号線
【図１】
2005004563.tif 000003
【図２】
2005004563.tif 000004
【図３】
2005004563.tif 000005