説明

DMA制御装置及びこれを含む画像形成装置

【課題】時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するか判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させる。
【解決手段】DMA制御装置は、データを記憶する主記憶部と、主記憶部のデータを読み込み、処理を実行し、処理実行後のデータを主記憶部に書き込む複数のモジュールと、モジュールに対する処理要求を発する要求発行部と、要求発行部が発した処理要求を複数蓄える要求記憶部を有し、処理要求を調停し、各モジュールの主記憶部へのアクセスを制御するDMA制御部と、を含み、要求発行部は、DMA制御部に対し、ソフトウェアで予め定められた優先度情報を送信し、DMA制御部は、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Direct Memory Address(以下、「DMA」という)により画像データ等のデータの読み出しや書き込みをメモリーに対して行うDMA制御装置に関する。また、このDMA制御装置を搭載した複合機、複写機、ファクシミリ、プリンタ等の画像形成装置に関する。
【背景技術】
【0002】
従来、メモリーへのデータの書き込み、読み出しをCPUに制御させると、データの転送の間に待ち時間が生じ他の処理を行えない等の不都合を解消するため、DMAによりCPUを介さず、各デバイスとメインメモリーの間で直接データ転送を行うことがなされている。そして、必要なデータが必要な時間内にメインメモリーに用意されるようにするため、DMA制御装置は、各種DMAの要求に対し、実行順序の決定、割り込み、時分割といった複雑な調停処理を行っている。そこで、特許文献1記載のようなDMA制御装置が発明されている。
【0003】
具体的に、特許文献1には、複数のDMA要求コアと、DMA実行順序を調停するためのアービタ装置と、複数のDMA要求コアとアービタ装置とに共通に時刻情報を発行するタイマとを備え、複数のDMA要求コアは、各々DMA要求を発行する際にタイマから発行された時刻情報を参照しながら、DMA実行終了要求時刻までにDMA転送が終わるべくDMA実行開始要求時刻を算出し、DMA転送の内容を表すDMA転送情報とともにDMA実行開始要求時刻を表す情報をアービタ装置へ送り、アービタ装置は、各DMA要求コアのDMA実行開始要求時刻をもとにDMA実行順序を調停するDMA制御装置が記載されている。この構成により、調停回路の回路規模を減らし、制限時間内にDMA転送を行おうとする(特許文献1:請求項1、要約等参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−215621
【発明の概要】
【発明が解決しようとする課題】
【0005】
確かに、特許文献1記載の発明では、調停回路の回路規模を減らし、制限時間内にDMA転送を行えるようにできる可能性がある。しかし、特許文献1記載の調停回路は、DMA実行開始要求時間をソフトウェア処理により管理するが、DMA要求コアや調停回路などに共通に時刻情報を発行するタイマが必要となる。そして、主電源OFFでもタイマに時刻情報を保持させるため、バックアップ電源を用意し、主電源投入とともにDMA要求コアや調停回路などに時刻情報を復帰させる処理が必要となり、時間管理が複雑となるという問題がある。又、複数のDMA実行開始要求時間が近接しているとき、制限時間内にDMA転送を行うことが難しくなる。又、効率良くDMAを実行するには、結局、複雑な時間管理とスケジューリングが必要となり得る。そのため、結局、時間管理により調停処理が複雑になりかねないという問題がある。
【0006】
本発明は、上記問題点を鑑み、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するか判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることを課題とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために請求項1に係るDMA制御装置は、データを記憶する主記憶部と、前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するDMA制御部と、を含み、前記要求発行部は、前記DMA制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、前記DMA制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせることとした。
【0008】
この構成によれば、DMA制御部は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。これにより、DMA制御部は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、DMA制御部が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、DMA制御部は、優先度に着目して調停すればよく、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をDMA制御部は行わずに済む。又、DMA制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。
【0009】
ここで、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理(アンダーランの発生を避けるべき処理)と、そうでない処理との区別を付けるためのものである。優先度はDMA制御部に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、4段階等、複数段階に分けて設定することができる。
【0010】
又、請求項2に係る発明は、請求項1の発明において、前記DMA制御部は前記要求記憶部に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く前記要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を実行させることとした。
【0011】
この構成によれば、DMA制御部は、要求記憶部に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を実行させる。例えば、異なるモジュールに対する処理要求であって、同じ優先度の処理要求が要求記憶部に蓄積されることがあるが、これにより、先着順という簡単な論理によりDMA制御部は、複雑な調停処理を行うことなく処理要求の実行順序を定めることができる。
【0012】
又、請求項3に係る発明は、請求項1又は2の発明において、前記要求発行部は、前記DMA制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、前記DMA制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることとした。
【0013】
この構成によれば、DMA制御部は、完了した処理要求が入力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、DMA制御部は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
【0014】
又、請求項4に係る発明は、請求項1乃至3の発明において、前記要求発行部は、各処理要求に前記優先度情報を付して処理要求を発行することとした。
【0015】
この構成によれば、要求発行部は、各処理要求に優先度情報を付して処理要求を発行する。これにより、DMA制御部は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。
【0016】
又、請求項5に係る発明は、請求項1乃至4の発明において、前記要求発行部は、前記モジュールの前記優先度を定めた前記優先度情報を前記DMA制御部に送信することとした。
【0017】
この構成によれば、要求発行部は、各モジュールの優先度を定めた優先度情報をDMA制御部に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。
【0018】
又、請求項6に係る画像形成装置は、請求項1乃至5の何れか1行に記載のDMA制御装置を含むこととした。
【0019】
この構成によれば、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をDMA制御部は行わずに済む画像形成装置を提供することができる。又、DMA制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。
【発明の効果】
【0020】
本発明によれば、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するかを判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることができる。
【図面の簡単な説明】
【0021】
【図1】複合機の模型的正面断面図である。
【図2】複合機のハードウェア構成の一例を示すブロック図である。
【図3】DMA制御装置に関するハードウェアの一例を示すブロック図である。
【図4】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図5】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図6】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図7】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図8】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図9】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図10】同一優先度で起動させるDMAモジュールの選択手法を説明するための説明図である。
【図11】DMA制御部による各DMAモジュールの起動制御の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態を図1〜図10に基づき説明する。以下の説明では、本発明に係るDMA制御装置1を搭載した複合機100(画像形成装置に相当)を例に挙げ説明する。但し、本実施形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。
【0023】
(複合機100の構成の概要)
まず、図1を用い、実施形態に係る複合機100(画像形成装置に相当)の概略を説明する。図1は、複合機100の模型的正面断面図である。
【0024】
図1に示すように、本実施形態の複合機100は、上部に原稿搬送装置2aと画像読取部2bを有する。又、画像読取部2bの前面に操作パネル2cが設けられ、複合機100本体内に、給紙部3a、搬送路3b、画像形成部4a、定着部4b等が設けられる。
【0025】
原稿搬送装置2aは、図1の紙面奥行き側に支点を有し、紙面上下方向に開閉可能である。原稿搬送装置2aは、載置読取用コンタクトガラス21に載置された原稿を押さえる。又、原稿搬送装置2a上部に載置された原稿束から、原稿を1枚ずつ送り読取用コンタクトガラス22(読み取り位置)に向けて連続的、自動的に搬送する。
【0026】
画像読取部2bは、原稿を読み取り、原稿の画像データを形成する。又、画像読取部2b内には露光ランプ、ミラー、レンズ、イメージセンサー(例えば、CCD)等の光学系部材(不図示)が設けられる。これらの光学系部材を用い、画像読取部2bは、載置読取用コンタクトガラス21に載置される原稿や、送り読取用コンタクトガラス22を通過する原稿に光を照射し、その原稿の反射光を受けたイメージセンサーの各画素の出力値をA/D変換し、画像データを生成する。この生成された画像データに基づき、複合機100では電子文書データを生成することもできる。
【0027】
又、図1に破線で示すように、操作パネル2cは、複合機100の正面上方に設けられる。そして、操作パネル2cは、複合機100の状態や各種メッセージを表示する液晶表示部23を備える。液晶表示部23は、機能の選択、設定や文字入力等を行うためのキーを1又は複数表示できる。又、液晶表示部23の上面にタッチパネル部24(例えば、抵抗膜方式)が設けられる。タッチパネル部24は、液晶表示部23で押された部分の位置、座標を抽出するためのものである。又、操作パネル2cには、コピー等の各種機能の実行開始を指示するためのスタートキー25等、各種のハードキーも設けられる。
【0028】
給紙部3aは、複数の用紙(例えば、コピー用紙、普通紙、再生紙、厚紙、OHPシート等の各種シート)を収容し、1枚ずつ搬送路3bに送り込む。搬送路3bは、給紙部3aから排出トレイ31まで用紙を搬送する通路である。そして、搬送路3bには、用紙搬送の際に回転駆動する搬送ローラー対32、33や、搬送されてくる用紙を画像形成部4aの手前で待機させ、トナー像形成とタイミングを合わせて用紙を送り出すレジストローラー対34等が設けられる。
【0029】
画像形成部4aは、画像データに基づきトナー像を形成し、搬送される用紙にトナー像を転写する。そのため、画像形成部4aは、図1中に示す矢印方向に回転駆動可能に支持された感光体ドラム41、及び、感光体ドラム41の周囲に配設された帯電装置42、露光装置43、現像装置44、転写ローラー45、清掃装置46等を備える。
【0030】
トナー像形成及び転写プロセスを説明する。感光体ドラム41は、画像形成部4aの略中心に設けられ、図示の矢印方向に回転駆動する。帯電装置42は、所定電位に感光体ドラム41を帯電させる。図1において、露光装置43は、画像データに基づき、レーザ光を出力し、感光体ドラム41表面を走査露光して画像データに応じた静電潜像を感光体ドラム41表面に形成する。尚、画像データは、画像読取部2bで得られた画像データや、ネットワーク等により接続される外部のコンピューター200や相手方FAX装置300(図4参照)から送信された画像データ等が用いられる。
【0031】
そして、現像装置44は、感光体ドラム41に形成された静電潜像にトナーを供給して現像し感光体ドラム41表面にトナー像を形成する。転写ローラー45は感光体ドラム41に圧接し感光体ドラム41との間にニップが形成される。そして、画像形成部4aにおけるトナー像の形成にあわせタイミングを図られつつ、用紙はニップに進入する。用紙進入時、転写ローラー45には所定の電圧が印加され、用紙に感光体ドラム41上のトナー像が転写される。清掃装置46は、転写後に感光体ドラム41に残留するトナーを除去する。
【0032】
定着部4bは、用紙に転写されたトナー像を用紙に定着させる。本実施形態における定着部4bは主として発熱体を内蔵する加熱ローラー47と加圧ローラー48で構成される。加熱ローラー47と加圧ローラー48は圧接しニップを形成する。そして、用紙が、このニップを通過することで、用紙表面のトナーが溶融・加熱され、トナー像が用紙に定着される。トナー定着後の用紙は、排出トレイ31が受け止める。このようにして、コピー機能、プリンタ機能の使用時、画像形成(印刷)が行われる。
【0033】
(複合機100のハードウェア構成)
次に、図2に基づき、本発明の実施形態に係る複合機100のハードウェア構成を説明する。図2は、複合機100のハードウェア構成の一例を示すブロック図である。
【0034】
図2に示すように、本実施形態に係る複合機100は、内部に主制御部5(要求発行部に相当)を有する。主制御部5は、複合機100の各部を制御する。例えば、主制御部5は、CPU6(要求発行部に相当)を含み、例えば、ROM51や主記憶部7を実装する。CPU6は、中央演算処理装置であり、演算回路、レジスタ、カウンタ等、演算、制御処理のための部分を含む。CPU6は、主記憶部7に展開される制御ソフトウェア(プログラム)や制御用データに基づき複合機100の各部の制御や演算を行う。
【0035】
主制御部5は、不揮発性のROM51(例えば、EEPROMやフラッシュROMなど)といった記憶装置や揮発性の主記憶部7を含む。例えば、ROM51や主記憶部7は、複合機100の制御プログラム、制御データ等を記憶する。
【0036】
又、ROM51は、電源がオフされても記憶内容が保持される不揮発性メモリである。ROM51は、CPU6が実行するソフトウェア(プログラム)や、起動用プログラムや、装置固有の各種パラメータなどの各種制御用の固定データを記憶し、また、主制御部5などに処理、制御を実行させるソフトウェアを複数種記憶する。ROM51は、例えば、コピージョブのとき実行されるコピー用ソフトウェアや、受信したデータを印刷するとき実行されるプリンター用ソフトウェアや、データを送信するとき実行される送信用ソフトウェアや、画像データをHDD52に蓄積するとき実行されるボックス用ソフトウェアなどが記憶される。CPU6は、各種ジョブを実行するとき、ソフトウェアを主記憶部7から読み出して順次処理を行う。
【0037】
主記憶部7は、例えば、DRAM(例えば、DDR、DDR2、DDR3等のDIMM)で構成される。又、主制御部5に対し、大容量の補助記憶装置として、画像読取部2bの原稿読み取りで得られた画像データや、外部から受信した画像データを蓄積するHDD52(Hard Disk Drive)が通信可能に接続される。例えば、HDD52は、各種の設定データや画像データを記憶する。主制御部5(CPU6)は、HDD52からジョブに応じて適宜必要なデータやプログラムを主記憶部7に読み出して利用に供する。尚、HDD52の変わりに、フラッシュROM等で構成される半導体記憶装置によるストレージを用いてもよい。
【0038】
又、主制御部5は、印刷に関する部分(印刷エンジン部)を制御するエンジン制御部40と通信可能に接続される。エンジン制御部40は、主制御部5の指示に基づき、画像形成や各種回転体を回転させるモータ等のON/OFF等を行う。又、エンジン制御部40は給紙部3a、搬送路3b、画像形成部4a、定着部4bなどの動作を実際に制御する。
【0039】
又、主制御部5は、通信部53と通信可能に接続される。通信部53は、コンピューター200(例えば、パーソナルコンピューターやサーバなど)やFAX装置300とネットワークや公衆回線やケーブルを介して接続され、画像データなどの送受信を行う。
【0040】
画像処理部90は、コンピューター200や画像読取部2bからの画像データに対して設定に合わせ、拡大、縮小、濃度変換、データ形式変換等、各種画像処理を施す。尚、画像処理部90が行える画像処理は多岐にわたるので、公知の複合機100に関する画像処理をおこなえるものとして、実行可能な画像処理の詳細の説明は、特に説明する場合を除き、省略する。そして、画像処理部90は、例えば、画像処理専用の回路としてのASICや画像処理用メモリ等を含み画像データを処理するDMAモジュール9(モジュールに相当、図3参照)を複数含む。そして、印刷を行うとき、画像処理部90は、露光装置43に画像処理後の画像データを送る。露光装置43は、この画像データを受けて感光体ドラム41の表面に対して走査、露光を行う。
【0041】
又、主制御部5は、バス10等により操作パネル2cとも通信可能に接続される。そして、操作パネル2cになされた設定内容を示すデータは、主制御部5に送られ、主制御部5は、複合機100を使用者の設定どおりに動作するように制御する。又、主制御部5は、原稿搬送装置2aや画像読取部2bと通信可能に接続される。主制御部5は、コピーやスキャンのジョブを実行するとき、原稿搬送装置2aや画像読取部2bに原稿の読み取りを行わせ、原稿読み取りで得られた画像データを主記憶部7に格納させる。
【0042】
(DMA制御装置1)
次に、図3を用いて、本実施形態の複合機100に搭載されるDMA制御装置1の一例を説明する。図3は、DMA制御装置1に関するハードウェアの一例を示すブロック図である。
【0043】
本実施形態の複合機100では、例えば、DMA制御装置1は、バス10(メモリーバス)で通信可能に接続された主制御部5のCPU6、主記憶部7、DMA制御部8、画像処理部90の各種のDMAモジュール9により構成される。言い換えると、主制御部5のCPU6、主記憶部7、DMA制御部8、画像処理部90の各種のDMAモジュール9がDMA制御装置1の一部として機能する。そして、CPU6、主記憶部7、DMA制御部8、各種のDMAモジュール9は、バス10に接続される。CPU6、主記憶部7、DMA制御部8、各種のDMAモジュール9はバス10を介して、それぞれ通信可能である。
【0044】
主制御部5(CPU6)は、ジョブにあわせて動作しているソフトウェアに基づき、DMAによる処理要求(DMAモジュール9の起動要求)をDMA制御部8に対して発する。主記憶部7はDMAの対象となるデータをDMAモジュール9に引き渡し、DMAモジュール9が処理したデータを受け取る。本実施形態では、DMAの対象となるデータは、例えば、画像データである。
【0045】
DMA制御部8は、主制御部5(CPU6)からの処理要求に応じ、各DMAモジュール9の動作を制御し、主記憶部7と各DMAモジュール9間での画像データのやり取りを制御する。例えば、DMA制御部8は、処理要求の優先度に応じて実行する処理要求を選択する調停回路81や、CPU6からの処理要求を蓄えるキューバッファ82(要求記憶部に相当)などを含む(優先度の詳細は後述)。
【0046】
本実施形態では、DMAモジュール9は複数設けられる。本実施形態の複合機100、DMA制御装置1には4つ搭載される。搭載されるDMAモジュール9の個数は、4つに限られず、2〜3個でもよいし、5つ以上でもよい。
【0047】
各DMAモジュール9は、例えば、画像処理部90の一部として設けられ、主記憶部7から読み込んだ画像データに対して画像処理を実行し、画像処理後の画像データを主記憶部7に書き込む。
【0048】
各DMAモジュール9は、例えば、それぞれ用途(実行する画像処理の内容)が異なる。例えば、図3でのDMAモジュール91は、ズーム処理のような印刷に関する各種画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール92は、印刷を伴わないズームのような画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール93は、エッジを強調させる微分フィルタや濃度階調の平滑化を行うフィルタの画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール94は、露光装置43向けや送信用など、ジョブに合わせた画像データの形式変換や圧縮や伸張等、各種の画像処理を行う。尚、以下の説明は、いずれのDMAモジュール91〜94にも該当するので、特に説明する場合を除き、1、2、3、4の符号を省略し、DMAモジュール9と称する。又、どのDMAモジュール9がどのような画像処理を行えるようにするかは、任意に定めることができる。
【0049】
そして、ジョブに応じた各ソフトウェアでは、どのDMAモジュール9にどのような画像処理を行わせるかが予め定められている。ジョブに応じた各ソフトウェアで予め定められた画像データの処理のフローに沿って、主制御部5(CPU6)は、各DMAモジュール9に対する処理要求をDMA制御部8に発し、DMA制御部8は、キューバッファ82に蓄えられた処理要求を選択し、各DMAモジュール9に画像処理を行わせる。
【0050】
主記憶部7に格納されたデータは、何れかのDMAモジュール9に読み出され、必要な画像処理がなされる。そして、各DMAモジュール9は、バス10を介して主記憶部7とデータをやり取りするので、複数のDMAモジュール9は、同時に主記憶部7にアクセスできない。そこで、DMA制御部8が、主記憶部7と通信するDMAモジュール9を制御し、主記憶部7と通信するDMAモジュール9を選択する。
【0051】
次に、複合機100へのジョブに応じた画像データの扱いを説明する。
【0052】
まず、コピーのジョブについて説明する。コピーを行うとき(複合機100のコピー機能を利用するとき)、主記憶部7にはコピー用のソフトウェアが読み出され、起動する。主制御部5は、コピー用のソフトウェアに基づき、画像読取部2bを動作させ、原稿の読み取りを行わせる。そして、主制御部5は、コピー用のソフトウェアに基づき、原稿の読み取りで得られた画像データを主記憶部7に格納させる。
【0053】
更に、主制御部5(CPU6)は、ズームや濃度変換など、操作パネル2cでなされたコピーの設定やデフォルトの設定に合わせ、画像データをバンド(1ページの画像データを一定のライン数で複数に分割した帯状の画像データ)単位での、処理要求をDMA制御部8に対して行う。そして、コピー用のソフトウェアは、主制御部5に露光装置43に対して画像データを引き渡せる状態になるまで(露光装置43が用いることができる画像データの形式となるまで)、DMA制御部8に対する処理要求を主制御部5に行わせる。これにより、主制御部5は、DMA制御部8に対し、順次、処理要求を行い、主記憶部7からいずれかのDMAモジュール9への画像データの読み出しを行わせ、各DMAモジュール9での画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。そして、主制御部5は、画像処理完了後の画像データを主記憶部7から露光装置43に向けて送信させる。このようにして、画像読取部2bで得られた画像データに基づき、印刷がなされる。
【0054】
次に、プリンターとしてのジョブについて説明する。外部のコンピューター200からの画像データや印刷の設定データに合わせて印刷を行うとき(複合機100のプリンター機能を利用するとき)、主記憶部7にはプリンター用のソフトウェアが読み出され、起動する。主制御部5は、プリンター用のソフトウェアに基づき処理を行う。例えば、主制御部5は、プリンター用のソフトウェアに基づき、通信部53に画像データ等を受信させ、受信した画像データを主記憶部7に格納させる。
【0055】
更に、主制御部5(CPU6)は、画像データに合わせて送信された印刷の設定に合わせ、画像データをバンド(1ページの画像データを一定のライン数で複数に分割した帯状の画像データ)単位で、DMA制御部8に対する処理要求を行う。そして、プリンター用のソフトウェアは、露光装置43に対して画像データを引き渡せる状態になるまで(露光装置43が用いることができる画像データの形式となるまで)、DMA制御部8に対する処理要求を主制御部5に行わせる。これにより、主制御部5は、DMA制御部8に対し順次処理要求を行い、主記憶部7からいずれかのDMAモジュール9への読み出しを行わせ、各DMAモジュール9で画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。そして、主制御部5は、画像処理完了後の画像データを主記憶部7から露光装置43に向けて送信させる。このようにして、通信部53で得られた画像データに基づき、印刷がなされる。
【0056】
次に、送信のジョブについて説明する。画像データの送信ジョブを行うとき(複合機100の送信機能を利用するとき)、主記憶部7には送信用のソフトウェアが読み出され、起動する。主制御部5等は、送信用のソフトウェアに基づき処理を行う。まず、主制御部5は、送信用のソフトウェアに基づき、送信する画像データを用意する。例えば、主制御部5は、画像読取部2bを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部7に格納させる。あるいは、主制御部5は、HDD52に蓄積された画像データやコンピューター200などから送信された画像データを主記憶部7に格納させる。
【0057】
更に、主制御部5(CPU6)は、ズームや濃度変換や送信に合わせたデータ形式変換など、操作パネル2cなどでの送信設定に合わせ、画像データをバンド単位で、DMA制御部8に対する処理要求を行う。そして、送信用のソフトウェアは、送信用の画像データができるまで、DMA制御部8に対する処理要求を主制御部5に行わせる。例えば、いずれかのDMAモジュール9は、FAX送信なら画像データをFAX送信用の画像データとする。又、いずれかのDMAモジュール9は、コンピューター200への送信ならば、圧縮や送信用のファイル形式(例えば、JPEG等やPDF等)への変換処理を行う。このように、主制御部5は、送信用のソフトウェアに基づき、DMA制御部8に対し順次処理要求を行い、主記憶部7からいずれかのDMAモジュール9間への読み出しを行わせ、各DMAモジュール9での画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。
【0058】
送信用の画像データができあがると、主制御部5は、送信用のソフトウェアに基づき、画像データを主記憶部7から通信部53に与え、操作パネル2cで設定された宛先に向けて送信させる。このように、複合機100は、画像データを送信できる。
【0059】
次に、HDD52への画像データの蓄積ジョブ(ボックス機能)について説明する。画像データをHDD52に蓄積するとき(複合機100のボックス機能を利用するとき)、主記憶部7にはボックス機能用のソフトウェアが読み出され、起動する。主制御部5等は、ボックス機能用のソフトウェアに基づき処理を行う。まず、主制御部5は、ボックス機能用のソフトウェアに基づき、蓄積する画像データを用意する。例えば、主制御部5は、画像読取部2bを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部7に格納させる。あるいは、主制御部5は、通信部53で受信した画像データを主記憶部7に格納させる。
【0060】
更に、主制御部5(CPU6)は、圧縮や蓄積サイズなどに関する操作パネル2cなどでの設定に合わせ、画像データをバンド単位で、DMA制御部8に対する処理要求を行う。そして、ボックス機能用のソフトウェアは、HDD52に記憶させる画像データ(例えば、JPEGやPDF形式の画像データ)ができるまで、DMA制御部8に対する処理要求を主制御部5に行わせる。このように、主制御部5は、ボックス機能用のソフトウェアに基づき、DMA制御部8に対し順次処理要求を行い、主記憶部7からいずれかのDMAモジュール9間への読み出しを行わせ、各DMAモジュール9での画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。
【0061】
HDD52に記憶させる画像データができあがると、主制御部5は、ボックス機能用のソフトウェアに基づき、画像データを主記憶部7からHDD52に与え、HDD52に記憶させる。このように、複合機100は、画像データをHDD52に蓄積できる。
【0062】
(優先度に基づくDMAモジュール9の制御)
次に、図4〜図10を用いて、実施形態に係るDMA制御装置1のDMAモジュール9に対する制御の一例を説明する。図4〜図10は、同一優先度で起動させるDMAモジュール9の選択手法を説明するための説明図である。
【0063】
まず、本実施形態のDMA制御装置1では主制御部5(CPU6)から処理要求(DMAモジュール9の起動要求)が出される。この処理要求では、いずれのDMAモジュール9に処理を行わせるか、及び、処理内容が予め定められる。ソフトウェアは、どのDMAモジュール9に処理を行わせるか予め定められた処理要求を主制御部5に発行させる。
【0064】
そして、本実施形態のDMA制御装置1では、処理要求に関し、優先度が設けられる。例えば、優先度は、4つのDMAモジュール9に対応して4段階設けることができる。尚、優先度は、2段階、3段階でもよいし、5段階以上でもよい。
【0065】
尚、優先度の上位、下位を示す符号は適宜設定可能であるが、本説明では、A、B、C、Dという符号を用いる。そして、優先度は、A>B>C>Dの関係であるとして説明する。
【0066】
そして、優先度も、ジョブに伴い起動されるソフトウェアに応じて(ソフトウェア内で)予め定められている。そして、主制御部5は、優先度を示す情報を付して処理要求をDMA制御部8に発する。尚、主制御部5は、処理要求ごとに優先度を示す情報をDMA制御部8に与えてもよい。又、複数の画像処理を各DMAモジュール9に行わせる間、主制御部5は、どのDMAモジュール9の優先度が高いかを示す情報(DMAモジュール9の優先度を示す情報)をDMA制御部8に与え特定のDMAモジュール9に優先して処理を行わせるようにしてもよい。
【0067】
そして、例えば、アンダーランが生じてはいけない処理(画像処理)に対しては、高い優先度が付され、処理を待つことができる処理(画像処理)に対しては、アンダーランが生じてはいけない処理よりも低い優先度が付される。
【0068】
複合機100では、複数の機能を実現するので、同時に複数のジョブを並列して処理することがある。例えば、コピーのジョブを実行中に、通信部53が外部のコンピューター200から送信用画像データを受信したとき、コピー用のソフトウェアの起動中に送信用のソフトウェアが起動する。
【0069】
例えば、コピージョブでは、画像読取部2bから出力される原稿の画像データを用いて印刷が実行される。そして、例えば、画像読取部2bでの原稿の読み取りが複数ページにわたり連続的に行われる場合など、画像読取部2bからは原稿の画像データが連続的に出力される。この場合、コピーのジョブに供する画像データを全て主記憶部7に格納できるとは限らず、更に、露光装置43での露光開始のタイミングまでに、主記憶部7内に露光装置43に提供すべき画像データが用意されていなくてはならない。例えば、送信用の画像データ生成を並行して行ったため、露光装置43への画像データ供給が間に合わないアンダーランが発生すると、データが欠落した印刷物となり得る。
【0070】
そこで、コピージョブのようなアンダーランが生じてはいけないジョブの処理要求は、優先度が高く設定される(例えば、優先度A)。一方、送信のようなジョブでは、画像データが完成してから送信すればよいので、優先度が低く設定される(例えば、優先度D)。このように、優先度はジョブの種類に応じて定めてもよい(例えば、プリンターのジョブは、優先度B、ボックス機能は優先度Cなど)。
【0071】
このように、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理(アンダーランの発生を避けるべき処理)と、そうでない処理との区別を付けるためのものである。優先度はDMA制御部8に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、4段階等、複数段階に分けて設定することができる。
【0072】
そして、例えば、DMA制御部8は、キューバッファ82に蓄積された処理要求のうち、最も優先度が高い処理要求を実行するDMAモジュール9を選択し、選択したDMAモジュール9を起動させる。これにより、ソフトウェア上、期待する順序で(優先度にあわせて)処理要求が実行されるようにDMAモジュール9を起動することができる。
【0073】
ここで、同一の優先度の処理要求がなされたDMAモジュール9が複数有る場合、いずれのDMAモジュール9を起動させるかを定めておく必要がある。そこで、同一優先度の処理要求がなされたDMAモジュール9が複数有る場合に、起動させるDMAモジュール9の選択の一例を図4乃至図11を用いて説明する。
【0074】
まず、本実施形態のDMA制御装置1では、主制御部5は、主記憶部7から何れかのDMAモジュール9に画像データを入力する処理要求(入力処理要求)をDMA制御部8に発行する。入力処理要求では優先度を示す情報とともに、いずれのDMAモジュール9に、主記憶部7中のどの領域の画像データを読み出させるかが定められている。DMA制御部8は、入力処理要求に基づき、DMAモジュール9に主記憶部7から画像データの読み出しを行わせる。
【0075】
又、本実施形態のDMA制御装置1では、主制御部5は、DMAモジュール9で処理後の画像データを格納する領域が主記憶部7で確保できれば、先に出した入力処理要求に対応する出力処理要求をDMA制御部8に発行する。出力処理要求では、優先度を示す情報とともに、いずれのDMAモジュール9から主記憶部7中のどの領域に画像データを書き込みさせるかが定められている。DMA制御部8は、出力処理要求に基づき、主記憶部7に対する画像処理後の画像データの書き込みを行わせる。
【0076】
言い換えると、主記憶部7の画像データを1つのDMAモジュール9に与え、画像処理後の画像データを主記憶部7に格納するには、最低でも1回の入力処理要求と1回の出力処理要求が必要となる。
【0077】
尚、主記憶部7の画像データを1つのDMAモジュール9に与え、画像処理後の画像データを主記憶部7に格納する上で、入力処理要求1回に対し、出力処理要求が1回と決まっているわけではない。例えば、画像データのサイズを縮小するズーム処理(例えば、A4サイズをA5サイズに縮小など)では、画像処理後の画像データのサイズは小さくなる。例えば、縮小処理を行うとき、主制御部5は、入力処理要求を同じDMAモジュール9に対して複数回発行した後、縮小処理後の画像データ(縮小処理を行ったDMAモジュール9)に対して1回の出力処理要求を同じDMAモジュール9に対して発行することがある。又、例えば、拡大処理を行うとき、主制御部5は、入力処理要求を同じDMAモジュール9に対して1回発行した後、拡大処理後の画像データ(拡大処理を行ったDMAモジュール9)に対する複数回の出力処理要求を同じDMAモジュール9に対して発行することがある。このように、DMAモジュール9での1つの読み出しと書き込みの組み合わせの処理において、入力処理要求と出力処理要求の回数は異なる場合がある。
【0078】
そして、同一の優先度の処理要求がなされたDMAモジュール9が複数有る場合、いずれのDMAモジュール9を起動させるかのDMA制御部8の定め方(手順)を図4〜図10を用いて説明する。
【0079】
まず、図4〜図10の各説明図について説明する。まず、図4〜図10の各図での横軸は、時間の流れを示す。
【0080】
図4〜図10でのA系統、B系統は、4つのDMAモジュール9のうち、2つのDMAモジュール9を示す。本説明では、A系統とB系統の複数の入力処理要求と出力処理要求の優先度は全て同一として説明する(例えば、優先度Aなど)。
【0081】
そして、A系統と示す2段の帯のうち「入」と付された上段の帯を区切った各矩形内の数字は、各時点でのA系統に相当するDMAモジュール9に対する入力処理要求の数を示す。例えば、「2」と記入されていれば、A系統に相当するDMAモジュール9に対する入力処理要求がその時点でキューバッファ82に2つ存在していることを示す。そして、上段の矩形の境界に付された下向き矢印は、主制御部5が発行した入力処理要求がキューバッファ82に蓄積された時点(主制御部5がA系統に相当するDMAモジュール9に対する入力処理要求を発行した時点)を示す。尚、図4〜図10の各図では、A系統のDMAモジュール9に対する入力処理要求が計4つ(A1〜A4として図示)発行されたことを示す。これらの下向き矢印の時点で、各矩形内の数字は、「1」加算される。又、入力処理要求の実行完了に伴い、DMA制御部8は、実行を完了した入力処理要求をキューバッファ82内から消去し、この消去に伴い数字は減る(例えば、図4〜図10でのT1やT3の時点。入力処理要求の実行完了時点を網掛けで図示)。
【0082】
そして、A系統と示す2段の帯のうち「出」と付された下段の帯を区切った各矩形内の数字は、各時点でのA系統に相当するDMAモジュール9に対する出力処理要求の数を示す。例えば、「2」と記入されていれば、A系統に相当するDMAモジュール9に対する出力処理要求がその時点でキューバッファ82に2つ存在していることを示す。そして、下段の矩形の境界に付された上向き矢印は、主制御部5が発行した出力処理要求がキューバッファ82に蓄積された時点(主制御部5がA系統に相当するDMAモジュール9に対する出力処理要求を発行した時点)を示す。尚、図4〜図10の各図では、A系統のDMAモジュール9に対する出力処理要求が計2つ(a1、a2として図示)発行されたことを示す。これらの上向き矢印の時点で、各矩形内の数字は、「1」加算される。又、出力処理要求の実行完了に伴い、DMA制御部8は、実行を完了した出力処理要求をキューバッファ82内から消去し、この消去に伴い数字は減る(例えば、図4〜図10でのT2やT5の時点。出力処理要求の実行完了時点を網掛けで図示)。
【0083】
そして、B系統と示す2段の帯のうち「入」と付された上段の帯を区切った各矩形内の数字は、各時点でのB系統に相当するDMAモジュール9に対する入力処理要求の数を示す。例えば、「2」と記入されていれば、B系統に相当するDMAモジュール9に対する入力処理要求がその時点でキューバッファ82に2つ存在していることを示す。そして、上段の矩形の境界に付された下向き矢印は、主制御部5が発行した入力処理要求がキューバッファ82に蓄積された時点(主制御部5がB系統に相当するDMAモジュール9に対する入力処理要求を発行した時点)を示す。尚、図4〜図10の各図では、B系統のDMAモジュール9に対する入力処理要求が計3つ(B1〜B3として図示)発行されたことを示す。これらの下向き矢印の時点で、各矩形内の数字は、「1」加算される。又、入力処理要求の実行完了に伴い、DMA制御部8は、実行を完了した入力処理要求をキューバッファ82内から消去し、この消去に伴い数字は減る(例えば、図4〜図10でのT4やT7の時点。入力処理要求の実行完了時点を網掛けで図示)。
【0084】
そして、B系統と示す2段の帯のうち「出」と付された下段の帯を区切った各矩形内の数字は、各時点でのB系統に相当するDMAモジュール9に対する出力処理要求の数を示す。例えば、「2」と記入されていれば、B系統に相当するDMAモジュール9に対する出力処理要求がその時点でキューバッファ82に2つ存在していることを示す。そして、下段の矩形の境界に付された上向き矢印は、主制御部5が発行した出力処理要求がキューバッファ82に蓄積された時点(主制御部5がB系統に相当するDMAモジュール9に対する出力処理要求を発行した時点)を示す。尚、図4〜図10の各図では、B系統のDMAモジュール9に対する出力処理要求が計3つ(b1〜b3として図示)発行されたことを示す。これらの上向き矢印の時点で、各矩形内の数字は、「1」加算される。又、出力処理要求の実行完了に伴い、DMA制御部8は、実行を完了した出力処理要求をキューバッファ82内から消去し、この消去に伴い数字は減る(例えば、図4〜図10でのT6の時点。出力処理要求の実行完了時点を網掛けで図示)。
【0085】
そして、図4〜図10での処理結果と示す各欄は、各DMAモジュール9と主記憶部7間でなされた処理の内容を示す。「A系統入力」は、主記憶部7からA系統に対応するDMAモジュール9への画像データの入力処理がなされたことを示す。「A系統出力」は、A系統に対応するDMAモジュール9から主記憶部7に画像処理後の画像データの出力処理がなされたことを示す。「B系統入力」は、主記憶部7からB系統に対応するDMAモジュール9への画像データの入力処理がなされたことを示す。「B系統出力」は、B系統に対応するDMAモジュール9から主記憶部7に画像処理後の画像データの出力処理がなされたことを示す。
【0086】
次に、図4〜図10を用いて、時系列的にDMA制御部8により処理を実行させるDMAモジュール9の選択例を説明する。
【0087】
まず、図4に示すように、DMA制御部8のキューバッファ82に最初に蓄積された入力処理要求A1と出力処理要求a1に対応して、A系統に対応するDMAモジュール9の起動が開始される。尚、入力処理要求によりDMAモジュール9が処理しなければ、画像データを出力できないので、図4において白黒反転文字で示すように、DMA制御部8は、入力処理要求A1を実行するためA系統のDMAモジュール9を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
【0088】
次に、図5に示すように、入力処理要求A1の実行完了(時点T1)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、DMA制御部8は、処理完了した要求が入力処理要求であるので、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0089】
図5の場合では、時点T1で入力処理要求A1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A2と、B系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求B1を比較する(比較対象を網掛けで図示)。そして、A系統の入力処理要求A2の方が早くキューバッファ82に登録されているので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
【0090】
ここで、本説明の場合では、入力処理要求A2を実行するには、入力処理要求A1の画像処理結果の主記憶部7への出力が必要となっている。そこで、図5に示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求A1に対応する出力処理要求a1を実行する。具体的に、DMA制御部8は、A系統のDMAモジュール9の出力を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
【0091】
次に、図6に示すように、出力処理要求a1の実行完了(時点T2)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0092】
図6の場合、時点T2で出力処理要求a1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求a2と、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b1を比較する(比較対象を網掛けで図示)。そして、A系統の出力処理要求a2の方が早くキューバッファ82に登録されているので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
【0093】
ここで、本説明の場合では、出力処理要求a2を実行するには、入力処理要求A2の画像データの主記憶部7からA系統のDMAモジュール9への入力が必要となっている。そこで、図5に示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求A2を実行する。具体的に、DMA制御部8は、A系統のDMAモジュール9の入力(入力処理要求A2)を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
【0094】
次に、図7に示すように、入力処理要求A2の実行完了(時点T3)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が入力処理要求なので、DMA制御部8は、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0095】
図7の場合、時点T3で入力処理要求A2の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A3と、B系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求B1を比較する(比較対象の一方を網掛けで図示)。そして、B系統の入力処理要求B1の方が早くキューバッファ82に登録されているので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
【0096】
そこで、図7に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求B1を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の入力(入力処理要求B1)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
【0097】
次に、図8に示すように、入力処理要求B1の実行完了(時点T4)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が入力処理要求なので、DMA制御部8は、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0098】
図8の場合、時点T4で入力処理要求B1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A3を比較の対象とするが、B系統には、時点T4での入力処理要求がない(入力処理要求B2の入力は時点T4と時点T5の間、比較対象の一方を網掛けで図示)。そこで、A系統の入力処理要求A3の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
【0099】
本説明の場合では、入力処理要求A3を実行するには、出力処理要求a2が必要となっている(入力処理要求A2の画像処理結果の主記憶部7への入力が必要)。そこで、図8に白抜文字で示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求a2を実行する。具体的に、DMA制御部8は、a系統のDMAモジュール9の出力(出力処理要求a2)を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
【0100】
次に、図9に示すように、出力処理要求a2の実行完了(時点T5)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0101】
図9の場合、時点T5では出力処理要求a2の実行が完了しているので、DMA制御部8は、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b1を比較の対象とするが、A系統には、時点T5での出力処理要求がない。そこで、B系統の出力処理要求b1の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
【0102】
本説明の場合では、出力処理要求b1を実行するために必要な、入力処理要求B1はすでに実行されている。そこで、図9に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求b1を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の出力(出力処理要求b1)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
【0103】
次に、図10に示すように、出力処理要求b1の実行完了(時点T6)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
【0104】
図10の場合、時点T6で出力処理要求b1の実行が完了しているので、DMA制御部8は、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b2を比較の対象とするが、A系統には、時点T6での出力処理要求がない。そこで、B系統の出力処理要求b2の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
【0105】
本説明の場合では、出力処理要求b1を実行するために必要な、入力処理要求B1はすでに実行されている(例えば、拡大のズーム処理などで1入力に対し複数回の出力が必要)。そこで、図10に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求b2を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の出力(出力処理要求b2)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
【0106】
以後、上述の場合と同様に、異なるDMAモジュール9に対し同じ優先度の処理要求が存在するとき、処理が完了した処理要求の種類に応じ、DMA制御部8は、先にキューバッファ82に登録された入力処理要求又は出力処理要求に対応するDMAモジュール9を用いると選択し、選択したDMAモジュール9で実行可能な処理要求を起動させる。
【0107】
(優先度に基づくDMAモジュール9の制御の流れ)
次に、図11を用いて、実施形態に係るDMA制御部8による各DMAモジュール9の起動制御の流れを説明する。図11は、DMA制御部8による各DMAモジュール9の起動制御の流れの一例を示すフローチャートである。
【0108】
まず、図11のスタートは、主電源投入後、DMA制御部8が起動を開始した後の時点である。具体的には、キューバッファ82からの処理要求待ち、あるいは、主制御部5が発した1又は複数の処理要求が蓄積され、処理を行うため起動させるDMAモジュール9を選択し、処理をDMAモジュール9に実行させようとする時点である。
【0109】
まず、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Aの処理要求の有無を確認する(ステップ♯1)。もし、優先度Aの処理要求があれば(ステップ♯1のYes)、DMA制御部8(の調停回路81)は、優先度Aである複数の処理要求の有無(同一優先度の複数の処理要求の有無)を確認する(ステップ♯2)。
【0110】
もし、同一優先度の処理要求が複数なければ(ステップ♯2のNo)、DMA制御部8は、現在で最も高い優先度の処理要求に対応するDMAモジュール9を選択する(ステップ♯3)。そして、DMA制御部8は、選択したDMAモジュール9を起動させて実行可能な処理要求を実行させる(ステップ♯4)。そして、DMA制御部8は、実行した処理要求をキューバッファ82から消去する(ステップ♯5)。上述したように、起動されたDMAモジュール9は、主記憶部7からの画像データの読込処理と読み込んだ画像データの画像処理や、画像処理後の画像データの主記憶部7への書き込み処理を行う。そして、現時点で処理を実行させるDMAモジュール9の選択と処理要求の実行が完了し、本フローはステップ♯1に戻る。キューバッファ82に処理要求が残っていれば、DMAモジュール9の選択と処理の実行が再度なされることになる。
【0111】
一方、同一優先度の処理要求が複数あれば(ステップ♯2のYes)、図4〜図10を用いて説明したように、完了した直前の処理要求に応じて、DMA制御部8は、最も早い処理要求(最も早くキューバッファ82に蓄積された起動要求)に対応するDMAモジュール9を選択する(ステップ♯6)。そして、フローは、ステップ♯4に移行する。これにより、DMA制御部8は、選択したDMAモジュール9を起動させ、例えば、最も早い処理要求に対応する処理が実行される(ステップ♯4→ステップ♯1)。
【0112】
一方、優先度Aの処理要求がなければ(ステップ♯1のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Bの処理要求の有無を確認する(ステップ♯7)。もし、優先度Bの処理要求があれば(ステップ♯7のYes)、フローはステップ♯2に移行する。
【0113】
一方、優先度Bの処理要求がなければ(ステップ♯7のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Cの処理要求の有無を確認する(ステップ♯8)。もし、優先度Cの処理要求があれば(ステップ♯8のYes)、フローはステップ♯2に移行する。
【0114】
一方、優先度Cの処理要求がなければ(ステップ♯8のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Dの処理要求の有無を確認する(ステップ♯9)。もし、優先度Dの処理要求があれば(ステップ♯9のYes)、フローはステップ♯2に移行する。一方、優先度Dの処理要求がなければ(ステップ♯9のNo)、フローはステップ♯1に移行する。
【0115】
このようにして、本実施形態のDMA制御装置1は、データを記憶する主記憶部7と、主記憶部7に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを主記憶部7に書き込む複数のモジュール(DMAモジュール9)と、ソフトウェアに基づき、モジュールに対する処理要求を発する要求発行部(主制御部5、CPU6)と、要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部(キューバッファ82)を有し、処理要求を調停し、各モジュールの主記憶部7へのアクセスを制御するDMA制御部8と、を含み、要求発行部は、DMA制御部8に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、DMA制御部8は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。
【0116】
これにより、DMA制御部8は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、DMA制御部8が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をDMA制御部8は行わずに済む。又、DMA制御部8が実行する処理要求を決定するまでのタイムラグを減らすこともできる。
【0117】
又、DMA制御部8は、要求記憶部(キューバッファ82)に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応するモジュール(DMAモジュール9)に処理を実行させる。例えば、異なるモジュールに対する処理要求であって、同じ優先度の処理要求が要求記憶部に蓄積されることがあるが、これにより、先着順という簡単な論理によりDMA制御部8は、複雑な調停処理を行うことなく処理要求の実行順序を定めることができる。
【0118】
又、要求発行部(主制御部5、CPU6)は、DMA制御部8に対し、モジュール(DMAモジュール9)に主記憶部7からデータを読み込ませる入力処理要求と、モジュールに処理後のデータを主記憶部7に書き込ませる出力処理要求を発し、いずれかのモジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行するモジュールが複数あるとき、DMA制御部8は、完了した処理要求が入力処理要求であれば、要求記憶部(キューバッファ82)に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。
【0119】
これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、DMA制御部8は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
【0120】
又、要求発行部(主制御部5、CPU6)は、各処理要求に優先度情報を付して処理要求を発行する。これにより、DMA制御部8は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。
【0121】
又、要求発行部(主制御部5、CPU6)はモジュール(DMAモジュール9)の優先度を定めた優先度情報をDMA制御部8に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。
【0122】
又、画像形成装置(複合機100)は、上述のDMA制御装置1を含む。これにより、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をDMA制御部8は行わずに済む画像形成装置(複合機100)を提供することができる。又、DMA制御部8が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機100を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。
【0123】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【0124】
本発明は、データ処理を行うDMA制御装置やDMA制御装置を搭載した複合機、複写機、ファクシミリ、プリンター等の画像形成装置に利用可能である。
【符号の説明】
【0125】
100 複合機(画像形成装置) 1 DMA制御装置
5 主制御部(要求発行部) 6 CPU(要求発行部)
7 主記憶部 8 DMA制御部
82 キューバッファ(要求記憶部)
9(91、92、93、94) DMAモジュール(モジュール)

【特許請求の範囲】
【請求項1】
データを記憶する主記憶部と、
前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、
ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、
前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するDMA制御部と、を含み、
前記要求発行部は、前記DMA制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、
前記DMA制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせることを特徴とするDMA制御装置。
【請求項2】
前記DMA制御部は、前記要求記憶部に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く前記要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を実行させることを特徴とする請求項1記載のDMA制御装置。
【請求項3】
前記要求発行部は、前記DMA制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、
いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、
前記DMA制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることを特徴とする請求項1又は2に記載のDMA制御装置。
【請求項4】
前記要求発行部は、各処理要求に前記優先度情報を付して処理要求を発行することを特徴とする請求項1乃至3のいずれか1行に記載のDMA制御装置
【請求項5】
前記要求発行部は前記モジュールの前記優先度を定めた前記優先度情報を前記DMA制御部に送信することを特徴とする請求項1乃至4の何れか1行に記載のDMA制御装置。
【請求項6】
請求項1乃至5の何れか1行に記載のDMA制御装置を含むことを特徴とする画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−247935(P2012−247935A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−118292(P2011−118292)
【出願日】平成23年5月26日(2011.5.26)
【出願人】(000006150)京セラドキュメントソリューションズ株式会社 (13,173)
【Fターム(参考)】