(57)【特許請求の範囲】
【請求項１】
データを記憶する主記憶部と、
前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、
ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、
前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するＤＭＡ制御部と、を含み、
前記要求発行部は、前記ＤＭＡ制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、
前記ＤＭＡ制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせ、
前記要求発行部は、前記ＤＭＡ制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、
いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、
前記ＤＭＡ制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることを特徴とするＤＭＡ制御装置。
【請求項２】
前記要求発行部は、各処理要求に前記優先度情報を付して処理要求を発行することを特徴とする請求項１に記載のＤＭＡ制御装置
【請求項３】
前記要求発行部は前記モジュールの前記優先度を定めた前記優先度情報を前記ＤＭＡ制御部に送信することを特徴とする請求項１又は２に記載のＤＭＡ制御装置。
【請求項４】
請求項１乃至３の何れか１項に記載のＤＭＡ制御装置を含むことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Direct Memory Address（以下、「ＤＭＡ」という）により画像データ等のデータの読み出しや書き込みをメモリーに対して行うＤＭＡ制御装置に関する。また、このＤＭＡ制御装置を搭載した複合機、複写機、ファクシミリ、プリンタ等の画像形成装置に関する。
【背景技術】
【０００２】
従来、メモリーへのデータの書き込み、読み出しをＣＰＵに制御させると、データの転送の間に待ち時間が生じ他の処理を行えない等の不都合を解消するため、ＤＭＡによりＣＰＵを介さず、各デバイスとメインメモリーの間で直接データ転送を行うことがなされている。そして、必要なデータが必要な時間内にメインメモリーに用意されるようにするため、ＤＭＡ制御装置は、各種ＤＭＡの要求に対し、実行順序の決定、割り込み、時分割といった複雑な調停処理を行っている。そこで、特許文献１記載のようなＤＭＡ制御装置が発明されている。
【０００３】
具体的に、特許文献１には、複数のＤＭＡ要求コアと、ＤＭＡ実行順序を調停するためのアービタ装置と、複数のＤＭＡ要求コアとアービタ装置とに共通に時刻情報を発行するタイマとを備え、複数のＤＭＡ要求コアは、各々ＤＭＡ要求を発行する際にタイマから発行された時刻情報を参照しながら、ＤＭＡ実行終了要求時刻までにＤＭＡ転送が終わるべくＤＭＡ実行開始要求時刻を算出し、ＤＭＡ転送の内容を表すＤＭＡ転送情報とともにＤＭＡ実行開始要求時刻を表す情報をアービタ装置へ送り、アービタ装置は、各ＤＭＡ要求コアのＤＭＡ実行開始要求時刻をもとにＤＭＡ実行順序を調停するＤＭＡ制御装置が記載されている。この構成により、調停回路の回路規模を減らし、制限時間内にＤＭＡ転送を行おうとする（特許文献１：請求項１、要約等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２１５６２１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
確かに、特許文献１記載の発明では、調停回路の回路規模を減らし、制限時間内にＤＭＡ転送を行えるようにできる可能性がある。しかし、特許文献１記載の調停回路は、ＤＭＡ実行開始要求時間をソフトウェア処理により管理するが、ＤＭＡ要求コアや調停回路などに共通に時刻情報を発行するタイマが必要となる。そして、主電源ＯＦＦでもタイマに時刻情報を保持させるため、バックアップ電源を用意し、主電源投入とともにＤＭＡ要求コアや調停回路などに時刻情報を復帰させる処理が必要となり、時間管理が複雑となるという問題がある。又、複数のＤＭＡ実行開始要求時間が近接しているとき、制限時間内にＤＭＡ転送を行うことが難しくなる。又、効率良くＤＭＡを実行するには、結局、複雑な時間管理とスケジューリングが必要となり得る。そのため、結局、時間管理により調停処理が複雑になりかねないという問題がある。
【０００６】
本発明は、上記問題点を鑑み、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するか判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることを課題とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために請求項１に係るＤＭＡ制御装置は、データを記憶する主記憶部と、前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するＤＭＡ制御部と、を含み、前記要求発行部は、前記ＤＭＡ制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、前記ＤＭＡ制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせ、また、前記要求発行部は、前記ＤＭＡ制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、前記ＤＭＡ制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることとした。
【０００８】
この構成によれば、ＤＭＡ制御部は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。これにより、ＤＭＡ制御部は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、ＤＭＡ制御部が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、ＤＭＡ制御部は、優先度に着目して調停すればよく、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をＤＭＡ制御部は行わずに済む。又、ＤＭＡ制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。また、この構成によれば、ＤＭＡ制御部は、完了した処理要求が入力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、ＤＭＡ制御部は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
【０００９】
ここで、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理（アンダーランの発生を避けるべき処理）と、そうでない処理との区別を付けるためのものである。優先度はＤＭＡ制御部に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、４段階等、複数段階に分けて設定することができる。
【００１４】
又、請求項２に係る発明は、請求項１の発明において、前記要求発行部は、各処理要求に前記優先度情報を付して処理要求を発行することとした。
【００１５】
この構成によれば、要求発行部は、各処理要求に優先度情報を付して処理要求を発行する。これにより、ＤＭＡ制御部は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。
【００１６】
又、請求項３に係る発明は、請求項１又は２の発明において、前記要求発行部は、前記モジュールの前記優先度を定めた前記優先度情報を前記ＤＭＡ制御部に送信することとした。
【００１７】
この構成によれば、要求発行部は、各モジュールの優先度を定めた優先度情報をＤＭＡ制御部に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。
【００１８】
又、請求項４に係る画像形成装置は、請求項１乃至３の何れか１行に記載のＤＭＡ制御装置を含むこととした。
【００１９】
この構成によれば、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をＤＭＡ制御部は行わずに済む画像形成装置を提供することができる。又、ＤＭＡ制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。
【発明の効果】
【００２０】
本発明によれば、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するかを判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることができる。
【図面の簡単な説明】
【００２１】
【図１】複合機の模型的正面断面図である。
【図２】複合機のハードウェア構成の一例を示すブロック図である。
【図３】ＤＭＡ制御装置に関するハードウェアの一例を示すブロック図である。
【図４】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図５】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図６】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図７】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図８】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図９】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図１０】同一優先度で起動させるＤＭＡモジュールの選択手法を説明するための説明図である。
【図１１】ＤＭＡ制御部による各ＤＭＡモジュールの起動制御の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図１〜図１０に基づき説明する。以下の説明では、本発明に係るＤＭＡ制御装置１を搭載した複合機１００（画像形成装置に相当）を例に挙げ説明する。但し、本実施形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。
【００２３】
（複合機１００の構成の概要）
まず、図１を用い、実施形態に係る複合機１００（画像形成装置に相当）の概略を説明する。図１は、複合機１００の模型的正面断面図である。
【００２４】
図１に示すように、本実施形態の複合機１００は、上部に原稿搬送装置２ａと画像読取部２ｂを有する。又、画像読取部２ｂの前面に操作パネル２ｃが設けられ、複合機１００本体内に、給紙部３ａ、搬送路３ｂ、画像形成部４ａ、定着部４ｂ等が設けられる。
【００２５】
原稿搬送装置２ａは、図１の紙面奥行き側に支点を有し、紙面上下方向に開閉可能である。原稿搬送装置２ａは、載置読取用コンタクトガラス２１に載置された原稿を押さえる。又、原稿搬送装置２ａ上部に載置された原稿束から、原稿を１枚ずつ送り読取用コンタクトガラス２２（読み取り位置）に向けて連続的、自動的に搬送する。
【００２６】
画像読取部２ｂは、原稿を読み取り、原稿の画像データを形成する。又、画像読取部２ｂ内には露光ランプ、ミラー、レンズ、イメージセンサー（例えば、ＣＣＤ）等の光学系部材（不図示）が設けられる。これらの光学系部材を用い、画像読取部２ｂは、載置読取用コンタクトガラス２１に載置される原稿や、送り読取用コンタクトガラス２２を通過する原稿に光を照射し、その原稿の反射光を受けたイメージセンサーの各画素の出力値をＡ／Ｄ変換し、画像データを生成する。この生成された画像データに基づき、複合機１００では電子文書データを生成することもできる。
【００２７】
又、図１に破線で示すように、操作パネル２ｃは、複合機１００の正面上方に設けられる。そして、操作パネル２ｃは、複合機１００の状態や各種メッセージを表示する液晶表示部２３を備える。液晶表示部２３は、機能の選択、設定や文字入力等を行うためのキーを１又は複数表示できる。又、液晶表示部２３の上面にタッチパネル部２４（例えば、抵抗膜方式）が設けられる。タッチパネル部２４は、液晶表示部２３で押された部分の位置、座標を抽出するためのものである。又、操作パネル２ｃには、コピー等の各種機能の実行開始を指示するためのスタートキー２５等、各種のハードキーも設けられる。
【００２８】
給紙部３ａは、複数の用紙（例えば、コピー用紙、普通紙、再生紙、厚紙、ＯＨＰシート等の各種シート）を収容し、１枚ずつ搬送路３ｂに送り込む。搬送路３ｂは、給紙部３ａから排出トレイ３１まで用紙を搬送する通路である。そして、搬送路３ｂには、用紙搬送の際に回転駆動する搬送ローラー対３２、３３や、搬送されてくる用紙を画像形成部４ａの手前で待機させ、トナー像形成とタイミングを合わせて用紙を送り出すレジストローラー対３４等が設けられる。
【００２９】
画像形成部４ａは、画像データに基づきトナー像を形成し、搬送される用紙にトナー像を転写する。そのため、画像形成部４ａは、図１中に示す矢印方向に回転駆動可能に支持された感光体ドラム４１、及び、感光体ドラム４１の周囲に配設された帯電装置４２、露光装置４３、現像装置４４、転写ローラー４５、清掃装置４６等を備える。
【００３０】
トナー像形成及び転写プロセスを説明する。感光体ドラム４１は、画像形成部４ａの略中心に設けられ、図示の矢印方向に回転駆動する。帯電装置４２は、所定電位に感光体ドラム４１を帯電させる。図１において、露光装置４３は、画像データに基づき、レーザ光を出力し、感光体ドラム４１表面を走査露光して画像データに応じた静電潜像を感光体ドラム４１表面に形成する。尚、画像データは、画像読取部２ｂで得られた画像データや、ネットワーク等により接続される外部のコンピューター２００や相手方ＦＡＸ装置３００（図４参照）から送信された画像データ等が用いられる。
【００３１】
そして、現像装置４４は、感光体ドラム４１に形成された静電潜像にトナーを供給して現像し感光体ドラム４１表面にトナー像を形成する。転写ローラー４５は感光体ドラム４１に圧接し感光体ドラム４１との間にニップが形成される。そして、画像形成部４ａにおけるトナー像の形成にあわせタイミングを図られつつ、用紙はニップに進入する。用紙進入時、転写ローラー４５には所定の電圧が印加され、用紙に感光体ドラム４１上のトナー像が転写される。清掃装置４６は、転写後に感光体ドラム４１に残留するトナーを除去する。
【００３２】
定着部４ｂは、用紙に転写されたトナー像を用紙に定着させる。本実施形態における定着部４ｂは主として発熱体を内蔵する加熱ローラー４７と加圧ローラー４８で構成される。加熱ローラー４７と加圧ローラー４８は圧接しニップを形成する。そして、用紙が、このニップを通過することで、用紙表面のトナーが溶融・加熱され、トナー像が用紙に定着される。トナー定着後の用紙は、排出トレイ３１が受け止める。このようにして、コピー機能、プリンタ機能の使用時、画像形成（印刷）が行われる。
【００３３】
（複合機１００のハードウェア構成）
次に、図２に基づき、本発明の実施形態に係る複合機１００のハードウェア構成を説明する。図２は、複合機１００のハードウェア構成の一例を示すブロック図である。
【００３４】
図２に示すように、本実施形態に係る複合機１００は、内部に主制御部５（要求発行部に相当）を有する。主制御部５は、複合機１００の各部を制御する。例えば、主制御部５は、ＣＰＵ６（要求発行部に相当）を含み、例えば、ＲＯＭ５１や主記憶部７を実装する。ＣＰＵ６は、中央演算処理装置であり、演算回路、レジスタ、カウンタ等、演算、制御処理のための部分を含む。ＣＰＵ６は、主記憶部７に展開される制御ソフトウェア（プログラム）や制御用データに基づき複合機１００の各部の制御や演算を行う。
【００３５】
主制御部５は、不揮発性のＲＯＭ５１（例えば、ＥＥＰＲＯＭやフラッシュＲＯＭなど）といった記憶装置や揮発性の主記憶部７を含む。例えば、ＲＯＭ５１や主記憶部７は、複合機１００の制御プログラム、制御データ等を記憶する。
【００３６】
又、ＲＯＭ５１は、電源がオフされても記憶内容が保持される不揮発性メモリである。ＲＯＭ５１は、ＣＰＵ６が実行するソフトウェア（プログラム）や、起動用プログラムや、装置固有の各種パラメータなどの各種制御用の固定データを記憶し、また、主制御部５などに処理、制御を実行させるソフトウェアを複数種記憶する。ＲＯＭ５１は、例えば、コピージョブのとき実行されるコピー用ソフトウェアや、受信したデータを印刷するとき実行されるプリンター用ソフトウェアや、データを送信するとき実行される送信用ソフトウェアや、画像データをＨＤＤ５２に蓄積するとき実行されるボックス用ソフトウェアなどが記憶される。ＣＰＵ６は、各種ジョブを実行するとき、ソフトウェアを主記憶部７から読み出して順次処理を行う。
【００３７】
主記憶部７は、例えば、ＤＲＡＭ（例えば、ＤＤＲ、ＤＤＲ２、ＤＤＲ３等のＤＩＭＭ）で構成される。又、主制御部５に対し、大容量の補助記憶装置として、画像読取部２ｂの原稿読み取りで得られた画像データや、外部から受信した画像データを蓄積するＨＤＤ５２（Hard Disk Drive）が通信可能に接続される。例えば、ＨＤＤ５２は、各種の設定データや画像データを記憶する。主制御部５（ＣＰＵ６）は、ＨＤＤ５２からジョブに応じて適宜必要なデータやプログラムを主記憶部７に読み出して利用に供する。尚、ＨＤＤ５２の変わりに、フラッシュＲＯＭ等で構成される半導体記憶装置によるストレージを用いてもよい。
【００３８】
又、主制御部５は、印刷に関する部分（印刷エンジン部）を制御するエンジン制御部４０と通信可能に接続される。エンジン制御部４０は、主制御部５の指示に基づき、画像形成や各種回転体を回転させるモータ等のＯＮ／ＯＦＦ等を行う。又、エンジン制御部４０は給紙部３ａ、搬送路３ｂ、画像形成部４ａ、定着部４ｂなどの動作を実際に制御する。
【００３９】
又、主制御部５は、通信部５３と通信可能に接続される。通信部５３は、コンピューター２００（例えば、パーソナルコンピューターやサーバなど）やＦＡＸ装置３００とネットワークや公衆回線やケーブルを介して接続され、画像データなどの送受信を行う。
【００４０】
画像処理部９０は、コンピューター２００や画像読取部２ｂからの画像データに対して設定に合わせ、拡大、縮小、濃度変換、データ形式変換等、各種画像処理を施す。尚、画像処理部９０が行える画像処理は多岐にわたるので、公知の複合機１００に関する画像処理をおこなえるものとして、実行可能な画像処理の詳細の説明は、特に説明する場合を除き、省略する。そして、画像処理部９０は、例えば、画像処理専用の回路としてのＡＳＩＣや画像処理用メモリ等を含み画像データを処理するＤＭＡモジュール９（モジュールに相当、図３参照）を複数含む。そして、印刷を行うとき、画像処理部９０は、露光装置４３に画像処理後の画像データを送る。露光装置４３は、この画像データを受けて感光体ドラム４１の表面に対して走査、露光を行う。
【００４１】
又、主制御部５は、バス１０等により操作パネル２ｃとも通信可能に接続される。そして、操作パネル２ｃになされた設定内容を示すデータは、主制御部５に送られ、主制御部５は、複合機１００を使用者の設定どおりに動作するように制御する。又、主制御部５は、原稿搬送装置２ａや画像読取部２ｂと通信可能に接続される。主制御部５は、コピーやスキャンのジョブを実行するとき、原稿搬送装置２ａや画像読取部２ｂに原稿の読み取りを行わせ、原稿読み取りで得られた画像データを主記憶部７に格納させる。
【００４２】
（ＤＭＡ制御装置１）
次に、図３を用いて、本実施形態の複合機１００に搭載されるＤＭＡ制御装置１の一例を説明する。図３は、ＤＭＡ制御装置１に関するハードウェアの一例を示すブロック図である。
【００４３】
本実施形態の複合機１００では、例えば、ＤＭＡ制御装置１は、バス１０（メモリーバス）で通信可能に接続された主制御部５のＣＰＵ６、主記憶部７、ＤＭＡ制御部８、画像処理部９０の各種のＤＭＡモジュール９により構成される。言い換えると、主制御部５のＣＰＵ６、主記憶部７、ＤＭＡ制御部８、画像処理部９０の各種のＤＭＡモジュール９がＤＭＡ制御装置１の一部として機能する。そして、ＣＰＵ６、主記憶部７、ＤＭＡ制御部８、各種のＤＭＡモジュール９は、バス１０に接続される。ＣＰＵ６、主記憶部７、ＤＭＡ制御部８、各種のＤＭＡモジュール９はバス１０を介して、それぞれ通信可能である。
【００４４】
主制御部５（ＣＰＵ６）は、ジョブにあわせて動作しているソフトウェアに基づき、ＤＭＡによる処理要求（ＤＭＡモジュール９の起動要求）をＤＭＡ制御部８に対して発する。主記憶部７はＤＭＡの対象となるデータをＤＭＡモジュール９に引き渡し、ＤＭＡモジュール９が処理したデータを受け取る。本実施形態では、ＤＭＡの対象となるデータは、例えば、画像データである。
【００４５】
ＤＭＡ制御部８は、主制御部５（ＣＰＵ６）からの処理要求に応じ、各ＤＭＡモジュール９の動作を制御し、主記憶部７と各ＤＭＡモジュール９間での画像データのやり取りを制御する。例えば、ＤＭＡ制御部８は、処理要求の優先度に応じて実行する処理要求を選択する調停回路８１や、ＣＰＵ６からの処理要求を蓄えるキューバッファ８２（要求記憶部に相当）などを含む（優先度の詳細は後述）。
【００４６】
本実施形態では、ＤＭＡモジュール９は複数設けられる。本実施形態の複合機１００、ＤＭＡ制御装置１には４つ搭載される。搭載されるＤＭＡモジュール９の個数は、４つに限られず、２〜３個でもよいし、５つ以上でもよい。
【００４７】
各ＤＭＡモジュール９は、例えば、画像処理部９０の一部として設けられ、主記憶部７から読み込んだ画像データに対して画像処理を実行し、画像処理後の画像データを主記憶部７に書き込む。
【００４８】
各ＤＭＡモジュール９は、例えば、それぞれ用途（実行する画像処理の内容）が異なる。例えば、図３でのＤＭＡモジュール９１は、ズーム処理のような印刷に関する各種画像処理など、各種の画像処理を行う。又、例えば、ＤＭＡモジュール９２は、印刷を伴わないズームのような画像処理など、各種の画像処理を行う。又、例えば、ＤＭＡモジュール９３は、エッジを強調させる微分フィルタや濃度階調の平滑化を行うフィルタの画像処理など、各種の画像処理を行う。又、例えば、ＤＭＡモジュール９４は、露光装置４３向けや送信用など、ジョブに合わせた画像データの形式変換や圧縮や伸張等、各種の画像処理を行う。尚、以下の説明は、いずれのＤＭＡモジュール９１〜９４にも該当するので、特に説明する場合を除き、１、２、３、４の符号を省略し、ＤＭＡモジュール９と称する。又、どのＤＭＡモジュール９がどのような画像処理を行えるようにするかは、任意に定めることができる。
【００４９】
そして、ジョブに応じた各ソフトウェアでは、どのＤＭＡモジュール９にどのような画像処理を行わせるかが予め定められている。ジョブに応じた各ソフトウェアで予め定められた画像データの処理のフローに沿って、主制御部５（ＣＰＵ６）は、各ＤＭＡモジュール９に対する処理要求をＤＭＡ制御部８に発し、ＤＭＡ制御部８は、キューバッファ８２に蓄えられた処理要求を選択し、各ＤＭＡモジュール９に画像処理を行わせる。
【００５０】
主記憶部７に格納されたデータは、何れかのＤＭＡモジュール９に読み出され、必要な画像処理がなされる。そして、各ＤＭＡモジュール９は、バス１０を介して主記憶部７とデータをやり取りするので、複数のＤＭＡモジュール９は、同時に主記憶部７にアクセスできない。そこで、ＤＭＡ制御部８が、主記憶部７と通信するＤＭＡモジュール９を制御し、主記憶部７と通信するＤＭＡモジュール９を選択する。
【００５１】
次に、複合機１００へのジョブに応じた画像データの扱いを説明する。
【００５２】
まず、コピーのジョブについて説明する。コピーを行うとき（複合機１００のコピー機能を利用するとき）、主記憶部７にはコピー用のソフトウェアが読み出され、起動する。主制御部５は、コピー用のソフトウェアに基づき、画像読取部２ｂを動作させ、原稿の読み取りを行わせる。そして、主制御部５は、コピー用のソフトウェアに基づき、原稿の読み取りで得られた画像データを主記憶部７に格納させる。
【００５３】
更に、主制御部５（ＣＰＵ６）は、ズームや濃度変換など、操作パネル２ｃでなされたコピーの設定やデフォルトの設定に合わせ、画像データをバンド（１ページの画像データを一定のライン数で複数に分割した帯状の画像データ）単位での、処理要求をＤＭＡ制御部８に対して行う。そして、コピー用のソフトウェアは、主制御部５に露光装置４３に対して画像データを引き渡せる状態になるまで（露光装置４３が用いることができる画像データの形式となるまで）、ＤＭＡ制御部８に対する処理要求を主制御部５に行わせる。これにより、主制御部５は、ＤＭＡ制御部８に対し、順次、処理要求を行い、主記憶部７からいずれかのＤＭＡモジュール９への画像データの読み出しを行わせ、各ＤＭＡモジュール９での画像処理を行わせ、画像処理後の画像データの主記憶部７への書込を行わせる（必要ならば複数回）。そして、主制御部５は、画像処理完了後の画像データを主記憶部７から露光装置４３に向けて送信させる。このようにして、画像読取部２ｂで得られた画像データに基づき、印刷がなされる。
【００５４】
次に、プリンターとしてのジョブについて説明する。外部のコンピューター２００からの画像データや印刷の設定データに合わせて印刷を行うとき（複合機１００のプリンター機能を利用するとき）、主記憶部７にはプリンター用のソフトウェアが読み出され、起動する。主制御部５は、プリンター用のソフトウェアに基づき処理を行う。例えば、主制御部５は、プリンター用のソフトウェアに基づき、通信部５３に画像データ等を受信させ、受信した画像データを主記憶部７に格納させる。
【００５５】
更に、主制御部５（ＣＰＵ６）は、画像データに合わせて送信された印刷の設定に合わせ、画像データをバンド（１ページの画像データを一定のライン数で複数に分割した帯状の画像データ）単位で、ＤＭＡ制御部８に対する処理要求を行う。そして、プリンター用のソフトウェアは、露光装置４３に対して画像データを引き渡せる状態になるまで（露光装置４３が用いることができる画像データの形式となるまで）、ＤＭＡ制御部８に対する処理要求を主制御部５に行わせる。これにより、主制御部５は、ＤＭＡ制御部８に対し順次処理要求を行い、主記憶部７からいずれかのＤＭＡモジュール９への読み出しを行わせ、各ＤＭＡモジュール９で画像処理を行わせ、画像処理後の画像データの主記憶部７への書込を行わせる（必要ならば複数回）。そして、主制御部５は、画像処理完了後の画像データを主記憶部７から露光装置４３に向けて送信させる。このようにして、通信部５３で得られた画像データに基づき、印刷がなされる。
【００５６】
次に、送信のジョブについて説明する。画像データの送信ジョブを行うとき（複合機１００の送信機能を利用するとき）、主記憶部７には送信用のソフトウェアが読み出され、起動する。主制御部５等は、送信用のソフトウェアに基づき処理を行う。まず、主制御部５は、送信用のソフトウェアに基づき、送信する画像データを用意する。例えば、主制御部５は、画像読取部２ｂを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部７に格納させる。あるいは、主制御部５は、ＨＤＤ５２に蓄積された画像データやコンピューター２００などから送信された画像データを主記憶部７に格納させる。
【００５７】
更に、主制御部５（ＣＰＵ６）は、ズームや濃度変換や送信に合わせたデータ形式変換など、操作パネル２ｃなどでの送信設定に合わせ、画像データをバンド単位で、ＤＭＡ制御部８に対する処理要求を行う。そして、送信用のソフトウェアは、送信用の画像データができるまで、ＤＭＡ制御部８に対する処理要求を主制御部５に行わせる。例えば、いずれかのＤＭＡモジュール９は、ＦＡＸ送信なら画像データをＦＡＸ送信用の画像データとする。又、いずれかのＤＭＡモジュール９は、コンピューター２００への送信ならば、圧縮や送信用のファイル形式（例えば、ＪＰＥＧ等やＰＤＦ等）への変換処理を行う。このように、主制御部５は、送信用のソフトウェアに基づき、ＤＭＡ制御部８に対し順次処理要求を行い、主記憶部７からいずれかのＤＭＡモジュール９間への読み出しを行わせ、各ＤＭＡモジュール９での画像処理を行わせ、画像処理後の画像データの主記憶部７への書込を行わせる（必要ならば複数回）。
【００５８】
送信用の画像データができあがると、主制御部５は、送信用のソフトウェアに基づき、画像データを主記憶部７から通信部５３に与え、操作パネル２ｃで設定された宛先に向けて送信させる。このように、複合機１００は、画像データを送信できる。
【００５９】
次に、ＨＤＤ５２への画像データの蓄積ジョブ（ボックス機能）について説明する。画像データをＨＤＤ５２に蓄積するとき（複合機１００のボックス機能を利用するとき）、主記憶部７にはボックス機能用のソフトウェアが読み出され、起動する。主制御部５等は、ボックス機能用のソフトウェアに基づき処理を行う。まず、主制御部５は、ボックス機能用のソフトウェアに基づき、蓄積する画像データを用意する。例えば、主制御部５は、画像読取部２ｂを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部７に格納させる。あるいは、主制御部５は、通信部５３で受信した画像データを主記憶部７に格納させる。
【００６０】
更に、主制御部５（ＣＰＵ６）は、圧縮や蓄積サイズなどに関する操作パネル２ｃなどでの設定に合わせ、画像データをバンド単位で、ＤＭＡ制御部８に対する処理要求を行う。そして、ボックス機能用のソフトウェアは、ＨＤＤ５２に記憶させる画像データ（例えば、ＪＰＥＧやＰＤＦ形式の画像データ）ができるまで、ＤＭＡ制御部８に対する処理要求を主制御部５に行わせる。このように、主制御部５は、ボックス機能用のソフトウェアに基づき、ＤＭＡ制御部８に対し順次処理要求を行い、主記憶部７からいずれかのＤＭＡモジュール９間への読み出しを行わせ、各ＤＭＡモジュール９での画像処理を行わせ、画像処理後の画像データの主記憶部７への書込を行わせる（必要ならば複数回）。
【００６１】
ＨＤＤ５２に記憶させる画像データができあがると、主制御部５は、ボックス機能用のソフトウェアに基づき、画像データを主記憶部７からＨＤＤ５２に与え、ＨＤＤ５２に記憶させる。このように、複合機１００は、画像データをＨＤＤ５２に蓄積できる。
【００６２】
（優先度に基づくＤＭＡモジュール９の制御）
次に、図４〜図１０を用いて、実施形態に係るＤＭＡ制御装置１のＤＭＡモジュール９に対する制御の一例を説明する。図４〜図１０は、同一優先度で起動させるＤＭＡモジュール９の選択手法を説明するための説明図である。
【００６３】
まず、本実施形態のＤＭＡ制御装置１では主制御部５（ＣＰＵ６）から処理要求（ＤＭＡモジュール９の起動要求）が出される。この処理要求では、いずれのＤＭＡモジュール９に処理を行わせるか、及び、処理内容が予め定められる。ソフトウェアは、どのＤＭＡモジュール９に処理を行わせるか予め定められた処理要求を主制御部５に発行させる。
【００６４】
そして、本実施形態のＤＭＡ制御装置１では、処理要求に関し、優先度が設けられる。例えば、優先度は、４つのＤＭＡモジュール９に対応して４段階設けることができる。尚、優先度は、２段階、３段階でもよいし、５段階以上でもよい。
【００６５】
尚、優先度の上位、下位を示す符号は適宜設定可能であるが、本説明では、Ａ、Ｂ、Ｃ、Ｄという符号を用いる。そして、優先度は、Ａ＞Ｂ＞Ｃ＞Ｄの関係であるとして説明する。
【００６６】
そして、優先度も、ジョブに伴い起動されるソフトウェアに応じて（ソフトウェア内で）予め定められている。そして、主制御部５は、優先度を示す情報を付して処理要求をＤＭＡ制御部８に発する。尚、主制御部５は、処理要求ごとに優先度を示す情報をＤＭＡ制御部８に与えてもよい。又、複数の画像処理を各ＤＭＡモジュール９に行わせる間、主制御部５は、どのＤＭＡモジュール９の優先度が高いかを示す情報（ＤＭＡモジュール９の優先度を示す情報）をＤＭＡ制御部８に与え特定のＤＭＡモジュール９に優先して処理を行わせるようにしてもよい。
【００６７】
そして、例えば、アンダーランが生じてはいけない処理（画像処理）に対しては、高い優先度が付され、処理を待つことができる処理（画像処理）に対しては、アンダーランが生じてはいけない処理よりも低い優先度が付される。
【００６８】
複合機１００では、複数の機能を実現するので、同時に複数のジョブを並列して処理することがある。例えば、コピーのジョブを実行中に、通信部５３が外部のコンピューター２００から送信用画像データを受信したとき、コピー用のソフトウェアの起動中に送信用のソフトウェアが起動する。
【００６９】
例えば、コピージョブでは、画像読取部２ｂから出力される原稿の画像データを用いて印刷が実行される。そして、例えば、画像読取部２ｂでの原稿の読み取りが複数ページにわたり連続的に行われる場合など、画像読取部２ｂからは原稿の画像データが連続的に出力される。この場合、コピーのジョブに供する画像データを全て主記憶部７に格納できるとは限らず、更に、露光装置４３での露光開始のタイミングまでに、主記憶部７内に露光装置４３に提供すべき画像データが用意されていなくてはならない。例えば、送信用の画像データ生成を並行して行ったため、露光装置４３への画像データ供給が間に合わないアンダーランが発生すると、データが欠落した印刷物となり得る。
【００７０】
そこで、コピージョブのようなアンダーランが生じてはいけないジョブの処理要求は、優先度が高く設定される（例えば、優先度Ａ）。一方、送信のようなジョブでは、画像データが完成してから送信すればよいので、優先度が低く設定される（例えば、優先度Ｄ）。このように、優先度はジョブの種類に応じて定めてもよい（例えば、プリンターのジョブは、優先度Ｂ、ボックス機能は優先度Ｃなど）。
【００７１】
このように、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理（アンダーランの発生を避けるべき処理）と、そうでない処理との区別を付けるためのものである。優先度はＤＭＡ制御部８に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、４段階等、複数段階に分けて設定することができる。
【００７２】
そして、例えば、ＤＭＡ制御部８は、キューバッファ８２に蓄積された処理要求のうち、最も優先度が高い処理要求を実行するＤＭＡモジュール９を選択し、選択したＤＭＡモジュール９を起動させる。これにより、ソフトウェア上、期待する順序で（優先度にあわせて）処理要求が実行されるようにＤＭＡモジュール９を起動することができる。
【００７３】
ここで、同一の優先度の処理要求がなされたＤＭＡモジュール９が複数有る場合、いずれのＤＭＡモジュール９を起動させるかを定めておく必要がある。そこで、同一優先度の処理要求がなされたＤＭＡモジュール９が複数有る場合に、起動させるＤＭＡモジュール９の選択の一例を図４乃至図１１を用いて説明する。
【００７４】
まず、本実施形態のＤＭＡ制御装置１では、主制御部５は、主記憶部７から何れかのＤＭＡモジュール９に画像データを入力する処理要求（入力処理要求）をＤＭＡ制御部８に発行する。入力処理要求では優先度を示す情報とともに、いずれのＤＭＡモジュール９に、主記憶部７中のどの領域の画像データを読み出させるかが定められている。ＤＭＡ制御部８は、入力処理要求に基づき、ＤＭＡモジュール９に主記憶部７から画像データの読み出しを行わせる。
【００７５】
又、本実施形態のＤＭＡ制御装置１では、主制御部５は、ＤＭＡモジュール９で処理後の画像データを格納する領域が主記憶部７で確保できれば、先に出した入力処理要求に対応する出力処理要求をＤＭＡ制御部８に発行する。出力処理要求では、優先度を示す情報とともに、いずれのＤＭＡモジュール９から主記憶部７中のどの領域に画像データを書き込みさせるかが定められている。ＤＭＡ制御部８は、出力処理要求に基づき、主記憶部７に対する画像処理後の画像データの書き込みを行わせる。
【００７６】
言い換えると、主記憶部７の画像データを１つのＤＭＡモジュール９に与え、画像処理後の画像データを主記憶部７に格納するには、最低でも１回の入力処理要求と１回の出力処理要求が必要となる。
【００７７】
尚、主記憶部７の画像データを１つのＤＭＡモジュール９に与え、画像処理後の画像データを主記憶部７に格納する上で、入力処理要求１回に対し、出力処理要求が１回と決まっているわけではない。例えば、画像データのサイズを縮小するズーム処理（例えば、Ａ４サイズをＡ５サイズに縮小など）では、画像処理後の画像データのサイズは小さくなる。例えば、縮小処理を行うとき、主制御部５は、入力処理要求を同じＤＭＡモジュール９に対して複数回発行した後、縮小処理後の画像データ（縮小処理を行ったＤＭＡモジュール９）に対して１回の出力処理要求を同じＤＭＡモジュール９に対して発行することがある。又、例えば、拡大処理を行うとき、主制御部５は、入力処理要求を同じＤＭＡモジュール９に対して１回発行した後、拡大処理後の画像データ（拡大処理を行ったＤＭＡモジュール９）に対する複数回の出力処理要求を同じＤＭＡモジュール９に対して発行することがある。このように、ＤＭＡモジュール９での１つの読み出しと書き込みの組み合わせの処理において、入力処理要求と出力処理要求の回数は異なる場合がある。
【００７８】
そして、同一の優先度の処理要求がなされたＤＭＡモジュール９が複数有る場合、いずれのＤＭＡモジュール９を起動させるかのＤＭＡ制御部８の定め方（手順）を図４〜図１０を用いて説明する。
【００７９】
まず、図４〜図１０の各説明図について説明する。まず、図４〜図１０の各図での横軸は、時間の流れを示す。
【００８０】
図４〜図１０でのＡ系統、Ｂ系統は、４つのＤＭＡモジュール９のうち、２つのＤＭＡモジュール９を示す。本説明では、Ａ系統とＢ系統の複数の入力処理要求と出力処理要求の優先度は全て同一として説明する（例えば、優先度Ａなど）。
【００８１】
そして、Ａ系統と示す２段の帯のうち「入」と付された上段の帯を区切った各矩形内の数字は、各時点でのＡ系統に相当するＤＭＡモジュール９に対する入力処理要求の数を示す。例えば、「２」と記入されていれば、Ａ系統に相当するＤＭＡモジュール９に対する入力処理要求がその時点でキューバッファ８２に２つ存在していることを示す。そして、上段の矩形の境界に付された下向き矢印は、主制御部５が発行した入力処理要求がキューバッファ８２に蓄積された時点（主制御部５がＡ系統に相当するＤＭＡモジュール９に対する入力処理要求を発行した時点）を示す。尚、図４〜図１０の各図では、Ａ系統のＤＭＡモジュール９に対する入力処理要求が計４つ（Ａ１〜Ａ４として図示）発行されたことを示す。これらの下向き矢印の時点で、各矩形内の数字は、「１」加算される。又、入力処理要求の実行完了に伴い、ＤＭＡ制御部８は、実行を完了した入力処理要求をキューバッファ８２内から消去し、この消去に伴い数字は減る（例えば、図４〜図１０でのＴ１やＴ３の時点。入力処理要求の実行完了時点を網掛けで図示）。
【００８２】
そして、Ａ系統と示す２段の帯のうち「出」と付された下段の帯を区切った各矩形内の数字は、各時点でのＡ系統に相当するＤＭＡモジュール９に対する出力処理要求の数を示す。例えば、「２」と記入されていれば、Ａ系統に相当するＤＭＡモジュール９に対する出力処理要求がその時点でキューバッファ８２に２つ存在していることを示す。そして、下段の矩形の境界に付された上向き矢印は、主制御部５が発行した出力処理要求がキューバッファ８２に蓄積された時点（主制御部５がＡ系統に相当するＤＭＡモジュール９に対する出力処理要求を発行した時点）を示す。尚、図４〜図１０の各図では、Ａ系統のＤＭＡモジュール９に対する出力処理要求が計２つ（ａ１、ａ２として図示）発行されたことを示す。これらの上向き矢印の時点で、各矩形内の数字は、「１」加算される。又、出力処理要求の実行完了に伴い、ＤＭＡ制御部８は、実行を完了した出力処理要求をキューバッファ８２内から消去し、この消去に伴い数字は減る（例えば、図４〜図１０でのＴ２やＴ５の時点。出力処理要求の実行完了時点を網掛けで図示）。
【００８３】
そして、Ｂ系統と示す２段の帯のうち「入」と付された上段の帯を区切った各矩形内の数字は、各時点でのＢ系統に相当するＤＭＡモジュール９に対する入力処理要求の数を示す。例えば、「２」と記入されていれば、Ｂ系統に相当するＤＭＡモジュール９に対する入力処理要求がその時点でキューバッファ８２に２つ存在していることを示す。そして、上段の矩形の境界に付された下向き矢印は、主制御部５が発行した入力処理要求がキューバッファ８２に蓄積された時点（主制御部５がＢ系統に相当するＤＭＡモジュール９に対する入力処理要求を発行した時点）を示す。尚、図４〜図１０の各図では、Ｂ系統のＤＭＡモジュール９に対する入力処理要求が計３つ（Ｂ１〜Ｂ３として図示）発行されたことを示す。これらの下向き矢印の時点で、各矩形内の数字は、「１」加算される。又、入力処理要求の実行完了に伴い、ＤＭＡ制御部８は、実行を完了した入力処理要求をキューバッファ８２内から消去し、この消去に伴い数字は減る（例えば、図４〜図１０でのＴ４やＴ７の時点。入力処理要求の実行完了時点を網掛けで図示）。
【００８４】
そして、Ｂ系統と示す２段の帯のうち「出」と付された下段の帯を区切った各矩形内の数字は、各時点でのＢ系統に相当するＤＭＡモジュール９に対する出力処理要求の数を示す。例えば、「２」と記入されていれば、Ｂ系統に相当するＤＭＡモジュール９に対する出力処理要求がその時点でキューバッファ８２に２つ存在していることを示す。そして、下段の矩形の境界に付された上向き矢印は、主制御部５が発行した出力処理要求がキューバッファ８２に蓄積された時点（主制御部５がＢ系統に相当するＤＭＡモジュール９に対する出力処理要求を発行した時点）を示す。尚、図４〜図１０の各図では、Ｂ系統のＤＭＡモジュール９に対する出力処理要求が計３つ（ｂ１〜ｂ３として図示）発行されたことを示す。これらの上向き矢印の時点で、各矩形内の数字は、「１」加算される。又、出力処理要求の実行完了に伴い、ＤＭＡ制御部８は、実行を完了した出力処理要求をキューバッファ８２内から消去し、この消去に伴い数字は減る（例えば、図４〜図１０でのＴ６の時点。出力処理要求の実行完了時点を網掛けで図示）。
【００８５】
そして、図４〜図１０での処理結果と示す各欄は、各ＤＭＡモジュール９と主記憶部７間でなされた処理の内容を示す。「Ａ系統入力」は、主記憶部７からＡ系統に対応するＤＭＡモジュール９への画像データの入力処理がなされたことを示す。「Ａ系統出力」は、Ａ系統に対応するＤＭＡモジュール９から主記憶部７に画像処理後の画像データの出力処理がなされたことを示す。「Ｂ系統入力」は、主記憶部７からＢ系統に対応するＤＭＡモジュール９への画像データの入力処理がなされたことを示す。「Ｂ系統出力」は、Ｂ系統に対応するＤＭＡモジュール９から主記憶部７に画像処理後の画像データの出力処理がなされたことを示す。
【００８６】
次に、図４〜図１０を用いて、時系列的にＤＭＡ制御部８により処理を実行させるＤＭＡモジュール９の選択例を説明する。
【００８７】
まず、図４に示すように、ＤＭＡ制御部８のキューバッファ８２に最初に蓄積された入力処理要求Ａ１と出力処理要求ａ１に対応して、Ａ系統に対応するＤＭＡモジュール９の起動が開始される。尚、入力処理要求によりＤＭＡモジュール９が処理しなければ、画像データを出力できないので、図４において白黒反転文字で示すように、ＤＭＡ制御部８は、入力処理要求Ａ１を実行するためＡ系統のＤＭＡモジュール９を起動させる。これにより、Ａ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７から画像データを読み込む。
【００８８】
次に、図５に示すように、入力処理要求Ａ１の実行完了（時点Ｔ１）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、ＤＭＡ制御部８は、処理完了した要求が入力処理要求であるので、同じ優先度の２系統の入力処理要求を比較し、先にキューバッファ８２に蓄積された入力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【００８９】
図５の場合では、時点Ｔ１で入力処理要求Ａ１の実行が完了しているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の未実行の入力処理要求のうち最も早くキューバッファ８２に登録された入力処理要求Ａ２と、Ｂ系統のＤＭＡモジュール９の未実行の入力処理要求のうち最も早くキューバッファ８２に登録された入力処理要求Ｂ１を比較する（比較対象を網掛けで図示）。そして、Ａ系統の入力処理要求Ａ２の方が早くキューバッファ８２に登録されているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９を用いると選択する。
【００９０】
ここで、本説明の場合では、入力処理要求Ａ２を実行するには、入力処理要求Ａ１の画像処理結果の主記憶部７への出力が必要となっている。そこで、図５に示すように、ＤＭＡ制御部８は、用いると選択したＡ系統のＤＭＡモジュール９の処理要求のうち、実行可能な入力処理要求Ａ１に対応する出力処理要求ａ１を実行する。具体的に、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の出力を起動させる。これにより、Ａ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７に画像処理後の画像データを書き込む。
【００９１】
次に、図６に示すように、出力処理要求ａ１の実行完了（時点Ｔ２）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、処理完了した要求が出力処理要求なので、ＤＭＡ制御部８は、同じ優先度の２系統の出力処理要求を比較し、先にキューバッファ８２に蓄積された出力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【００９２】
図６の場合、時点Ｔ２で出力処理要求ａ１の実行が完了しているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の未実行の出力処理要求のうち最も早くキューバッファ８２に登録された出力処理要求ａ２と、Ｂ系統のＤＭＡモジュール９の未実行の出力処理要求のうち最も早くキューバッファ８２に登録された出力処理要求ｂ１を比較する（比較対象を網掛けで図示）。そして、Ａ系統の出力処理要求ａ２の方が早くキューバッファ８２に登録されているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９を用いると選択する。
【００９３】
ここで、本説明の場合では、出力処理要求ａ２を実行するには、入力処理要求Ａ２の画像データの主記憶部７からＡ系統のＤＭＡモジュール９への入力が必要となっている。そこで、図５に示すように、ＤＭＡ制御部８は、用いると選択したＡ系統のＤＭＡモジュール９の処理要求のうち、実行可能な入力処理要求Ａ２を実行する。具体的に、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の入力（入力処理要求Ａ２）を起動させる。これにより、Ａ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７から画像データを読み込む。
【００９４】
次に、図７に示すように、入力処理要求Ａ２の実行完了（時点Ｔ３）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、処理完了した要求が入力処理要求なので、ＤＭＡ制御部８は、同じ優先度の２系統の入力処理要求を比較し、先にキューバッファ８２に蓄積された入力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【００９５】
図７の場合、時点Ｔ３で入力処理要求Ａ２の実行が完了しているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の未実行の入力処理要求のうち最も早くキューバッファ８２に登録された入力処理要求Ａ３と、Ｂ系統のＤＭＡモジュール９の未実行の入力処理要求のうち最も早くキューバッファ８２に登録された入力処理要求Ｂ１を比較する（比較対象の一方を網掛けで図示）。そして、Ｂ系統の入力処理要求Ｂ１の方が早くキューバッファ８２に登録されているので、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９を用いると選択する。
【００９６】
そこで、図７に白抜文字で示すように、ＤＭＡ制御部８は、用いると選択したＢ系統のＤＭＡモジュール９の処理要求のうち、実行可能な入力処理要求Ｂ１を実行する。具体的に、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９の入力（入力処理要求Ｂ１）を起動させる。これにより、Ｂ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７から画像データを読み込む。
【００９７】
次に、図８に示すように、入力処理要求Ｂ１の実行完了（時点Ｔ４）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、処理完了した要求が入力処理要求なので、ＤＭＡ制御部８は、同じ優先度の２系統の入力処理要求を比較し、先にキューバッファ８２に蓄積された入力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【００９８】
図８の場合、時点Ｔ４で入力処理要求Ｂ１の実行が完了しているので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９の未実行の入力処理要求のうち最も早くキューバッファ８２に登録された入力処理要求Ａ３を比較の対象とするが、Ｂ系統には、時点Ｔ４での入力処理要求がない（入力処理要求Ｂ２の入力は時点Ｔ４と時点Ｔ５の間、比較対象の一方を網掛けで図示）。そこで、Ａ系統の入力処理要求Ａ３の方が早くキューバッファ８２に登録されているといえるので、ＤＭＡ制御部８は、Ａ系統のＤＭＡモジュール９を用いると選択する。
【００９９】
本説明の場合では、入力処理要求Ａ３を実行するには、出力処理要求ａ２が必要となっている（入力処理要求Ａ２の画像処理結果の主記憶部７への入力が必要）。そこで、図８に白抜文字で示すように、ＤＭＡ制御部８は、用いると選択したＡ系統のＤＭＡモジュール９の処理要求のうち、実行可能な出力処理要求ａ２を実行する。具体的に、ＤＭＡ制御部８は、ａ系統のＤＭＡモジュール９の出力（出力処理要求ａ２）を起動させる。これにより、Ａ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７に画像処理後の画像データを書き込む。
【０１００】
次に、図９に示すように、出力処理要求ａ２の実行完了（時点Ｔ５）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、処理完了した要求が出力処理要求なので、ＤＭＡ制御部８は、同じ優先度の２系統の出力処理要求を比較し、先にキューバッファ８２に蓄積された出力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【０１０１】
図９の場合、時点Ｔ５では出力処理要求ａ２の実行が完了しているので、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９の未実行の出力処理要求のうち最も早くキューバッファ８２に登録された出力処理要求ｂ１を比較の対象とするが、Ａ系統には、時点Ｔ５での出力処理要求がない。そこで、Ｂ系統の出力処理要求ｂ１の方が早くキューバッファ８２に登録されているといえるので、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９を用いると選択する。
【０１０２】
本説明の場合では、出力処理要求ｂ１を実行するために必要な、入力処理要求Ｂ１はすでに実行されている。そこで、図９に白抜文字で示すように、ＤＭＡ制御部８は、用いると選択したＢ系統のＤＭＡモジュール９の処理要求のうち、実行可能な出力処理要求ｂ１を実行する。具体的に、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９の出力（出力処理要求ｂ１）を起動させる。これにより、Ｂ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７に画像処理後の画像データを書き込む。
【０１０３】
次に、図１０に示すように、出力処理要求ｂ１の実行完了（時点Ｔ６）に伴い、ＤＭＡ制御部８は、Ａ系統とＢ系統のいずれのＤＭＡモジュール９を起動させるか（処理させるか）を判断する。このとき、処理完了した要求が出力処理要求なので、ＤＭＡ制御部８は、同じ優先度の２系統の出力処理要求を比較し、先にキューバッファ８２に蓄積された出力処理要求を実行するＤＭＡモジュール９を次の処理を行わせるＤＭＡモジュール９として選択する。
【０１０４】
図１０の場合、時点Ｔ６で出力処理要求ｂ１の実行が完了しているので、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９の未実行の出力処理要求のうち最も早くキューバッファ８２に登録された出力処理要求ｂ２を比較の対象とするが、Ａ系統には、時点Ｔ６での出力処理要求がない。そこで、Ｂ系統の出力処理要求ｂ２の方が早くキューバッファ８２に登録されているといえるので、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９を用いると選択する。
【０１０５】
本説明の場合では、出力処理要求ｂ１を実行するために必要な、入力処理要求Ｂ１はすでに実行されている（例えば、拡大のズーム処理などで１入力に対し複数回の出力が必要）。そこで、図１０に白抜文字で示すように、ＤＭＡ制御部８は、用いると選択したＢ系統のＤＭＡモジュール９の処理要求のうち、実行可能な出力処理要求ｂ２を実行する。具体的に、ＤＭＡ制御部８は、Ｂ系統のＤＭＡモジュール９の出力（出力処理要求ｂ２）を起動させる。これにより、Ｂ系統のＤＭＡモジュール９は、バス１０を介して主記憶部７に画像処理後の画像データを書き込む。
【０１０６】
以後、上述の場合と同様に、異なるＤＭＡモジュール９に対し同じ優先度の処理要求が存在するとき、処理が完了した処理要求の種類に応じ、ＤＭＡ制御部８は、先にキューバッファ８２に登録された入力処理要求又は出力処理要求に対応するＤＭＡモジュール９を用いると選択し、選択したＤＭＡモジュール９で実行可能な処理要求を起動させる。
【０１０７】
（優先度に基づくＤＭＡモジュール９の制御の流れ）
次に、図１１を用いて、実施形態に係るＤＭＡ制御部８による各ＤＭＡモジュール９の起動制御の流れを説明する。図１１は、ＤＭＡ制御部８による各ＤＭＡモジュール９の起動制御の流れの一例を示すフローチャートである。
【０１０８】
まず、図１１のスタートは、主電源投入後、ＤＭＡ制御部８が起動を開始した後の時点である。具体的には、キューバッファ８２からの処理要求待ち、あるいは、主制御部５が発した１又は複数の処理要求が蓄積され、処理を行うため起動させるＤＭＡモジュール９を選択し、処理をＤＭＡモジュール９に実行させようとする時点である。
【０１０９】
まず、ＤＭＡ制御部８（の調停回路８１）は、キューバッファ８２内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Ａの処理要求の有無を確認する（ステップ♯１）。もし、優先度Ａの処理要求があれば（ステップ♯１のＹｅｓ）、ＤＭＡ制御部８（の調停回路８１）は、優先度Ａである複数の処理要求の有無（同一優先度の複数の処理要求の有無）を確認する（ステップ♯２）。
【０１１０】
もし、同一優先度の処理要求が複数なければ（ステップ♯２のＮｏ）、ＤＭＡ制御部８は、現在で最も高い優先度の処理要求に対応するＤＭＡモジュール９を選択する（ステップ♯３）。そして、ＤＭＡ制御部８は、選択したＤＭＡモジュール９を起動させて実行可能な処理要求を実行させる（ステップ♯４）。そして、ＤＭＡ制御部８は、実行した処理要求をキューバッファ８２から消去する（ステップ♯５）。上述したように、起動されたＤＭＡモジュール９は、主記憶部７からの画像データの読込処理と読み込んだ画像データの画像処理や、画像処理後の画像データの主記憶部７への書き込み処理を行う。そして、現時点で処理を実行させるＤＭＡモジュール９の選択と処理要求の実行が完了し、本フローはステップ♯１に戻る。キューバッファ８２に処理要求が残っていれば、ＤＭＡモジュール９の選択と処理の実行が再度なされることになる。
【０１１１】
一方、同一優先度の処理要求が複数あれば（ステップ♯２のＹｅｓ）、図４〜図１０を用いて説明したように、完了した直前の処理要求に応じて、ＤＭＡ制御部８は、最も早い処理要求（最も早くキューバッファ８２に蓄積された起動要求）に対応するＤＭＡモジュール９を選択する（ステップ♯６）。そして、フローは、ステップ♯４に移行する。これにより、ＤＭＡ制御部８は、選択したＤＭＡモジュール９を起動させ、例えば、最も早い処理要求に対応する処理が実行される（ステップ♯４→ステップ♯１）。
【０１１２】
一方、優先度Ａの処理要求がなければ（ステップ♯１のＮｏ）、ＤＭＡ制御部８（の調停回路８１）は、キューバッファ８２内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Ｂの処理要求の有無を確認する（ステップ♯７）。もし、優先度Ｂの処理要求があれば（ステップ♯７のＹｅｓ）、フローはステップ♯２に移行する。
【０１１３】
一方、優先度Ｂの処理要求がなければ（ステップ♯７のＮｏ）、ＤＭＡ制御部８（の調停回路８１）は、キューバッファ８２内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Ｃの処理要求の有無を確認する（ステップ♯８）。もし、優先度Ｃの処理要求があれば（ステップ♯８のＹｅｓ）、フローはステップ♯２に移行する。
【０１１４】
一方、優先度Ｃの処理要求がなければ（ステップ♯８のＮｏ）、ＤＭＡ制御部８（の調停回路８１）は、キューバッファ８２内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Ｄの処理要求の有無を確認する（ステップ♯９）。もし、優先度Ｄの処理要求があれば（ステップ♯９のＹｅｓ）、フローはステップ♯２に移行する。一方、優先度Ｄの処理要求がなければ（ステップ♯９のＮｏ）、フローはステップ♯１に移行する。
【０１１５】
このようにして、本実施形態のＤＭＡ制御装置１は、データを記憶する主記憶部７と、主記憶部７に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを主記憶部７に書き込む複数のモジュール（ＤＭＡモジュール９）と、ソフトウェアに基づき、モジュールに対する処理要求を発する要求発行部（主制御部５、ＣＰＵ６）と、要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部（キューバッファ８２）を有し、処理要求を調停し、各モジュールの主記憶部７へのアクセスを制御するＤＭＡ制御部８と、を含み、要求発行部は、ＤＭＡ制御部８に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、ＤＭＡ制御部８は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。
【０１１６】
これにより、ＤＭＡ制御部８は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、ＤＭＡ制御部８が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をＤＭＡ制御部８は行わずに済む。又、ＤＭＡ制御部８が実行する処理要求を決定するまでのタイムラグを減らすこともできる。
【０１１７】
又、ＤＭＡ制御部８は、要求記憶部（キューバッファ８２）に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応するモジュール（ＤＭＡモジュール９）に処理を実行させる。例えば、異なるモジュールに対する処理要求であって、同じ優先度の処理要求が要求記憶部に蓄積されることがあるが、これにより、先着順という簡単な論理によりＤＭＡ制御部８は、複雑な調停処理を行うことなく処理要求の実行順序を定めることができる。
【０１１８】
又、要求発行部（主制御部５、ＣＰＵ６）は、ＤＭＡ制御部８に対し、モジュール（ＤＭＡモジュール９）に主記憶部７からデータを読み込ませる入力処理要求と、モジュールに処理後のデータを主記憶部７に書き込ませる出力処理要求を発し、いずれかのモジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行するモジュールが複数あるとき、ＤＭＡ制御部８は、完了した処理要求が入力処理要求であれば、要求記憶部（キューバッファ８２）に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。
【０１１９】
これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、ＤＭＡ制御部８は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
【０１２０】
又、要求発行部（主制御部５、ＣＰＵ６）は、各処理要求に優先度情報を付して処理要求を発行する。これにより、ＤＭＡ制御部８は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。
【０１２１】
又、要求発行部（主制御部５、ＣＰＵ６）はモジュール（ＤＭＡモジュール９）の優先度を定めた優先度情報をＤＭＡ制御部８に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。
【０１２２】
又、画像形成装置（複合機１００）は、上述のＤＭＡ制御装置１を含む。これにより、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をＤＭＡ制御部８は行わずに済む画像形成装置（複合機１００）を提供することができる。又、ＤＭＡ制御部８が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機１００を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。
【０１２３】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【０１２４】
本発明は、データ処理を行うＤＭＡ制御装置やＤＭＡ制御装置を搭載した複合機、複写機、ファクシミリ、プリンター等の画像形成装置に利用可能である。
【符号の説明】
【０１２５】
１００  複合機（画像形成装置）        １      ＤＭＡ制御装置
５      主制御部（要求発行部）        ６      ＣＰＵ（要求発行部）
７      主記憶部                      ８      ＤＭＡ制御部
８２    キューバッファ（要求記憶部）
９（９１、９２、９３、９４）  ＤＭＡモジュール（モジュール）
【図１】
0005509151.tif 000002
【図２】
0005509151.tif 000003
【図３】
0005509151.tif 000004
【図４】
0005509151.tif 000005
【図５】
0005509151.tif 000006
【図６】
0005509151.tif 000007
【図７】
0005509151.tif 000008
【図８】
0005509151.tif 000009
【図９】
0005509151.tif 000010
【図１０】
0005509151.tif 000011
【図１１】
0005509151.tif 000012