JP5509151B2 - DMA controller and image forming apparatus including the same - Google Patents
DMA controller and image forming apparatus including the same Download PDFInfo
- Publication number
- JP5509151B2 JP5509151B2 JP2011118292A JP2011118292A JP5509151B2 JP 5509151 B2 JP5509151 B2 JP 5509151B2 JP 2011118292 A JP2011118292 A JP 2011118292A JP 2011118292 A JP2011118292 A JP 2011118292A JP 5509151 B2 JP5509151 B2 JP 5509151B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- processing
- dma
- processing request
- control unit
- 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.)
- Active
Links
Images
Landscapes
- Bus Control (AREA)
- Facsimiles In General (AREA)
Description
本発明は、Direct Memory Address(以下、「DMA」という)により画像データ等のデータの読み出しや書き込みをメモリーに対して行うDMA制御装置に関する。また、このDMA制御装置を搭載した複合機、複写機、ファクシミリ、プリンタ等の画像形成装置に関する。 The present invention relates to a DMA control device that reads and writes data such as image data to and from a memory using a direct memory address (hereinafter referred to as “DMA”). The present invention also relates to an image forming apparatus such as a multifunction machine, a copier, a facsimile, or a printer equipped with the DMA control device.
従来、メモリーへのデータの書き込み、読み出しをCPUに制御させると、データの転送の間に待ち時間が生じ他の処理を行えない等の不都合を解消するため、DMAによりCPUを介さず、各デバイスとメインメモリーの間で直接データ転送を行うことがなされている。そして、必要なデータが必要な時間内にメインメモリーに用意されるようにするため、DMA制御装置は、各種DMAの要求に対し、実行順序の決定、割り込み、時分割といった複雑な調停処理を行っている。そこで、特許文献1記載のようなDMA制御装置が発明されている。
Conventionally, when the CPU controls the writing and reading of data to / from the memory, in order to eliminate the inconvenience that a waiting time occurs during data transfer and other processing cannot be performed, each device does not go through the CPU by DMA. Data transfer directly between the main memory and the main memory. In order to prepare the necessary data in the main memory within the required time, the DMA controller performs complex arbitration processing such as execution order determination, interruption, and time division in response to various DMA requests. ing. Therefore, a DMA control device as described in
具体的に、特許文献1には、複数のDMA要求コアと、DMA実行順序を調停するためのアービタ装置と、複数のDMA要求コアとアービタ装置とに共通に時刻情報を発行するタイマとを備え、複数のDMA要求コアは、各々DMA要求を発行する際にタイマから発行された時刻情報を参照しながら、DMA実行終了要求時刻までにDMA転送が終わるべくDMA実行開始要求時刻を算出し、DMA転送の内容を表すDMA転送情報とともにDMA実行開始要求時刻を表す情報をアービタ装置へ送り、アービタ装置は、各DMA要求コアのDMA実行開始要求時刻をもとにDMA実行順序を調停するDMA制御装置が記載されている。この構成により、調停回路の回路規模を減らし、制限時間内にDMA転送を行おうとする(特許文献1:請求項1、要約等参照)。
Specifically,
確かに、特許文献1記載の発明では、調停回路の回路規模を減らし、制限時間内にDMA転送を行えるようにできる可能性がある。しかし、特許文献1記載の調停回路は、DMA実行開始要求時間をソフトウェア処理により管理するが、DMA要求コアや調停回路などに共通に時刻情報を発行するタイマが必要となる。そして、主電源OFFでもタイマに時刻情報を保持させるため、バックアップ電源を用意し、主電源投入とともにDMA要求コアや調停回路などに時刻情報を復帰させる処理が必要となり、時間管理が複雑となるという問題がある。又、複数のDMA実行開始要求時間が近接しているとき、制限時間内にDMA転送を行うことが難しくなる。又、効率良くDMAを実行するには、結局、複雑な時間管理とスケジューリングが必要となり得る。そのため、結局、時間管理により調停処理が複雑になりかねないという問題がある。
Certainly, in the invention described in
本発明は、上記問題点を鑑み、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するか判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることを課題とする。 In view of the above problems, the present invention does not require time management or the like, and operates modules in a desired order while simplifying an arbitration process for determining which request to execute from a plurality of stored requests. Let's make it an issue.
上記目的を達成するために請求項1に係るDMA制御装置は、データを記憶する主記憶部と、前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するDMA制御部と、を含み、前記要求発行部は、前記DMA制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、前記DMA制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせ、また、前記要求発行部は、前記DMA制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、前記DMA制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることとした。
In order to achieve the above object, a DMA control device according to
この構成によれば、DMA制御部は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。これにより、DMA制御部は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、DMA制御部が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、DMA制御部は、優先度に着目して調停すればよく、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をDMA制御部は行わずに済む。又、DMA制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。また、この構成によれば、DMA制御部は、完了した処理要求が入力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、DMA制御部は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
According to this configuration, the DMA control unit selects a processing request having a higher priority than a processing request having a lower priority based on the priority information among the processing requests stored in the request storage unit, and selects the selected process. Causes the module corresponding to the request to perform processing. As a result, the DMA control unit confirms the priority of each processing request and causes the module corresponding to the processing request having a high priority to execute the processing preferentially. Therefore, the priority of various processing requests should be set appropriately. As a result, even for processing requests that occur later in time series, it is possible to cause a module that has issued a processing request having a high priority to execute processing preferentially. Therefore, the DMA control unit manages the priority centrally, so that processing requests can be executed in a desired order. Further, the DMA control unit only needs to make arbitration by paying attention to the priority, and as in the prior art, a process for determining which processing request is executed with priority, an interrupt process associated with the determination, Confirm which module can be used from among multiple modules, and as a result of confirmation, prioritize which processing request, manage the startup request time, and send other processing requests in time for the startup request time In addition, the DMA control unit does not have to perform complicated arbitration processing such as determining the execution order. It is also possible to reduce the time lag until the processing request to be executed by the DMA control unit is determined. Further, according to this configuration, if the completed processing request is an input processing request, the DMA control unit earliest among a plurality of input processing requests having the same priority stored in the request storage unit. If the module that executes the stored input processing request executes an executable processing request, and the completed processing request is an output processing request, among the plurality of output processing requests of the same priority stored in the request storage unit The module that executes the output processing request stored in the request storage unit earliest is caused to execute an executable processing request. As a result, it is possible to clearly determine the first-come-first-served basis for the input processing request completion and the output processing request completion, and to determine which module is to execute the processing request. Therefore, the DMA control unit can easily select from among the processing requests having the same priority and different modules based on the input processing request when the input processing request is completed and the output processing request when the output processing request is completed. The module that should execute the processing request can be selected.
ここで、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理(アンダーランの発生を避けるべき処理)と、そうでない処理との区別を付けるためのものである。優先度はDMA制御部に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、4段階等、複数段階に分けて設定することができる。 Here, “priority” means processing that causes an error when data is insufficient from the required amount, such as a delay in delivery of image data to a portion to be printed in the image forming apparatus (avoid underrun occurrence) This is for distinguishing between processing that should be) and processing that is not. The priority is determined in advance according to software that makes a processing request to the DMA control unit. For example, the priority can be set in a plurality of stages such as four stages.
又、請求項2に係る発明は、請求項1の発明において、前記要求発行部は、各処理要求に前記優先度情報を付して処理要求を発行することとした。
According to a second aspect of the present invention, in the first aspect of the invention, the request issuing unit issues a processing request with the priority information attached to each processing request.
この構成によれば、要求発行部は、各処理要求に優先度情報を付して処理要求を発行する。これにより、DMA制御部は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。 According to this configuration, the request issuing unit issues a processing request with priority information attached to each processing request. Thus, the DMA control unit only needs to select the processing request to be executed after confirming the priority information for each processing request.
又、請求項3に係る発明は、請求項1又は2の発明において、前記要求発行部は、前記モジュールの前記優先度を定めた前記優先度情報を前記DMA制御部に送信することとした。
According to a third aspect of the present invention, in the first or second aspect of the invention, the request issuing unit transmits the priority information that defines the priority of the module to the DMA control unit.
この構成によれば、要求発行部は、各モジュールの優先度を定めた優先度情報をDMA制御部に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。 According to this configuration, the request issuing unit transmits priority information that determines the priority of each module to the DMA control unit. As a result, it is possible to specify a module for which processing execution is prioritized and process a processing request. Therefore, it is possible to cause a specific module to perform processing intensively.
又、請求項4に係る画像形成装置は、請求項1乃至3の何れか1行に記載のDMA制御装置を含むこととした。
An image forming apparatus according to a fourth aspect includes the DMA control apparatus according to any one of the first to third aspects.
この構成によれば、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をDMA制御部は行わずに済む画像形成装置を提供することができる。又、DMA制御部が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。 According to this configuration, it is possible to provide an image forming apparatus that executes processing requests in a desired order and that does not require complicated arbitration processing by the DMA control unit. It is also possible to reduce the time lag until the processing request to be executed by the DMA control unit is determined. Accordingly, since the processing speed for data transfer and the like is high and the load on the part for controlling the multifunction machine is small, it is possible to provide an image forming apparatus that is stable and operates at high speed.
本発明によれば、時間管理などを必要とせず、蓄えられた複数の要求のなかからいずれの要求を実行するかを判断する調停処理を簡易化しつつ、所望の順序でモジュールを動作させることができる。 According to the present invention, it is possible to operate modules in a desired order while simplifying the arbitration process for determining which request is executed from a plurality of stored requests without requiring time management or the like. it can.
以下、本発明の実施形態を図1〜図10に基づき説明する。以下の説明では、本発明に係るDMA制御装置1を搭載した複合機100(画像形成装置に相当)を例に挙げ説明する。但し、本実施形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。
Hereinafter, embodiments of the present invention will be described with reference to FIGS. In the following description, a multi-function device 100 (corresponding to an image forming apparatus) equipped with the
(複合機100の構成の概要)
まず、図1を用い、実施形態に係る複合機100(画像形成装置に相当)の概略を説明する。図1は、複合機100の模型的正面断面図である。
(Outline of configuration of MFP 100)
First, an outline of a multifunction peripheral 100 (corresponding to an image forming apparatus) according to the embodiment will be described with reference to FIG. FIG. 1 is a schematic front sectional view of the
図1に示すように、本実施形態の複合機100は、上部に原稿搬送装置2aと画像読取部2bを有する。又、画像読取部2bの前面に操作パネル2cが設けられ、複合機100本体内に、給紙部3a、搬送路3b、画像形成部4a、定着部4b等が設けられる。
As shown in FIG. 1, the multifunction peripheral 100 according to the present embodiment includes a
原稿搬送装置2aは、図1の紙面奥行き側に支点を有し、紙面上下方向に開閉可能である。原稿搬送装置2aは、載置読取用コンタクトガラス21に載置された原稿を押さえる。又、原稿搬送装置2a上部に載置された原稿束から、原稿を1枚ずつ送り読取用コンタクトガラス22(読み取り位置)に向けて連続的、自動的に搬送する。
The
画像読取部2bは、原稿を読み取り、原稿の画像データを形成する。又、画像読取部2b内には露光ランプ、ミラー、レンズ、イメージセンサー(例えば、CCD)等の光学系部材(不図示)が設けられる。これらの光学系部材を用い、画像読取部2bは、載置読取用コンタクトガラス21に載置される原稿や、送り読取用コンタクトガラス22を通過する原稿に光を照射し、その原稿の反射光を受けたイメージセンサーの各画素の出力値をA/D変換し、画像データを生成する。この生成された画像データに基づき、複合機100では電子文書データを生成することもできる。
The
又、図1に破線で示すように、操作パネル2cは、複合機100の正面上方に設けられる。そして、操作パネル2cは、複合機100の状態や各種メッセージを表示する液晶表示部23を備える。液晶表示部23は、機能の選択、設定や文字入力等を行うためのキーを1又は複数表示できる。又、液晶表示部23の上面にタッチパネル部24(例えば、抵抗膜方式)が設けられる。タッチパネル部24は、液晶表示部23で押された部分の位置、座標を抽出するためのものである。又、操作パネル2cには、コピー等の各種機能の実行開始を指示するためのスタートキー25等、各種のハードキーも設けられる。
Further, as indicated by a broken line in FIG. 1, the
給紙部3aは、複数の用紙(例えば、コピー用紙、普通紙、再生紙、厚紙、OHPシート等の各種シート)を収容し、1枚ずつ搬送路3bに送り込む。搬送路3bは、給紙部3aから排出トレイ31まで用紙を搬送する通路である。そして、搬送路3bには、用紙搬送の際に回転駆動する搬送ローラー対32、33や、搬送されてくる用紙を画像形成部4aの手前で待機させ、トナー像形成とタイミングを合わせて用紙を送り出すレジストローラー対34等が設けられる。
The
画像形成部4aは、画像データに基づきトナー像を形成し、搬送される用紙にトナー像を転写する。そのため、画像形成部4aは、図1中に示す矢印方向に回転駆動可能に支持された感光体ドラム41、及び、感光体ドラム41の周囲に配設された帯電装置42、露光装置43、現像装置44、転写ローラー45、清掃装置46等を備える。
The
トナー像形成及び転写プロセスを説明する。感光体ドラム41は、画像形成部4aの略中心に設けられ、図示の矢印方向に回転駆動する。帯電装置42は、所定電位に感光体ドラム41を帯電させる。図1において、露光装置43は、画像データに基づき、レーザ光を出力し、感光体ドラム41表面を走査露光して画像データに応じた静電潜像を感光体ドラム41表面に形成する。尚、画像データは、画像読取部2bで得られた画像データや、ネットワーク等により接続される外部のコンピューター200や相手方FAX装置300(図4参照)から送信された画像データ等が用いられる。
The toner image formation and transfer process will be described. The
そして、現像装置44は、感光体ドラム41に形成された静電潜像にトナーを供給して現像し感光体ドラム41表面にトナー像を形成する。転写ローラー45は感光体ドラム41に圧接し感光体ドラム41との間にニップが形成される。そして、画像形成部4aにおけるトナー像の形成にあわせタイミングを図られつつ、用紙はニップに進入する。用紙進入時、転写ローラー45には所定の電圧が印加され、用紙に感光体ドラム41上のトナー像が転写される。清掃装置46は、転写後に感光体ドラム41に残留するトナーを除去する。
The developing
定着部4bは、用紙に転写されたトナー像を用紙に定着させる。本実施形態における定着部4bは主として発熱体を内蔵する加熱ローラー47と加圧ローラー48で構成される。加熱ローラー47と加圧ローラー48は圧接しニップを形成する。そして、用紙が、このニップを通過することで、用紙表面のトナーが溶融・加熱され、トナー像が用紙に定着される。トナー定着後の用紙は、排出トレイ31が受け止める。このようにして、コピー機能、プリンタ機能の使用時、画像形成(印刷)が行われる。
The fixing
(複合機100のハードウェア構成)
次に、図2に基づき、本発明の実施形態に係る複合機100のハードウェア構成を説明する。図2は、複合機100のハードウェア構成の一例を示すブロック図である。
(Hardware configuration of MFP 100)
Next, a hardware configuration of the multifunction peripheral 100 according to the embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram illustrating an example of a hardware configuration of the multifunction peripheral 100.
図2に示すように、本実施形態に係る複合機100は、内部に主制御部5(要求発行部に相当)を有する。主制御部5は、複合機100の各部を制御する。例えば、主制御部5は、CPU6(要求発行部に相当)を含み、例えば、ROM51や主記憶部7を実装する。CPU6は、中央演算処理装置であり、演算回路、レジスタ、カウンタ等、演算、制御処理のための部分を含む。CPU6は、主記憶部7に展開される制御ソフトウェア(プログラム)や制御用データに基づき複合機100の各部の制御や演算を行う。
As shown in FIG. 2, the multifunction peripheral 100 according to the present embodiment includes a main control unit 5 (corresponding to a request issuing unit). The
主制御部5は、不揮発性のROM51(例えば、EEPROMやフラッシュROMなど)といった記憶装置や揮発性の主記憶部7を含む。例えば、ROM51や主記憶部7は、複合機100の制御プログラム、制御データ等を記憶する。
The
又、ROM51は、電源がオフされても記憶内容が保持される不揮発性メモリである。ROM51は、CPU6が実行するソフトウェア(プログラム)や、起動用プログラムや、装置固有の各種パラメータなどの各種制御用の固定データを記憶し、また、主制御部5などに処理、制御を実行させるソフトウェアを複数種記憶する。ROM51は、例えば、コピージョブのとき実行されるコピー用ソフトウェアや、受信したデータを印刷するとき実行されるプリンター用ソフトウェアや、データを送信するとき実行される送信用ソフトウェアや、画像データをHDD52に蓄積するとき実行されるボックス用ソフトウェアなどが記憶される。CPU6は、各種ジョブを実行するとき、ソフトウェアを主記憶部7から読み出して順次処理を行う。
The
主記憶部7は、例えば、DRAM(例えば、DDR、DDR2、DDR3等のDIMM)で構成される。又、主制御部5に対し、大容量の補助記憶装置として、画像読取部2bの原稿読み取りで得られた画像データや、外部から受信した画像データを蓄積するHDD52(Hard Disk Drive)が通信可能に接続される。例えば、HDD52は、各種の設定データや画像データを記憶する。主制御部5(CPU6)は、HDD52からジョブに応じて適宜必要なデータやプログラムを主記憶部7に読み出して利用に供する。尚、HDD52の変わりに、フラッシュROM等で構成される半導体記憶装置によるストレージを用いてもよい。
The
又、主制御部5は、印刷に関する部分(印刷エンジン部)を制御するエンジン制御部40と通信可能に接続される。エンジン制御部40は、主制御部5の指示に基づき、画像形成や各種回転体を回転させるモータ等のON/OFF等を行う。又、エンジン制御部40は給紙部3a、搬送路3b、画像形成部4a、定着部4bなどの動作を実際に制御する。
The
又、主制御部5は、通信部53と通信可能に接続される。通信部53は、コンピューター200(例えば、パーソナルコンピューターやサーバなど)やFAX装置300とネットワークや公衆回線やケーブルを介して接続され、画像データなどの送受信を行う。
The
画像処理部90は、コンピューター200や画像読取部2bからの画像データに対して設定に合わせ、拡大、縮小、濃度変換、データ形式変換等、各種画像処理を施す。尚、画像処理部90が行える画像処理は多岐にわたるので、公知の複合機100に関する画像処理をおこなえるものとして、実行可能な画像処理の詳細の説明は、特に説明する場合を除き、省略する。そして、画像処理部90は、例えば、画像処理専用の回路としてのASICや画像処理用メモリ等を含み画像データを処理するDMAモジュール9(モジュールに相当、図3参照)を複数含む。そして、印刷を行うとき、画像処理部90は、露光装置43に画像処理後の画像データを送る。露光装置43は、この画像データを受けて感光体ドラム41の表面に対して走査、露光を行う。
The
又、主制御部5は、バス10等により操作パネル2cとも通信可能に接続される。そして、操作パネル2cになされた設定内容を示すデータは、主制御部5に送られ、主制御部5は、複合機100を使用者の設定どおりに動作するように制御する。又、主制御部5は、原稿搬送装置2aや画像読取部2bと通信可能に接続される。主制御部5は、コピーやスキャンのジョブを実行するとき、原稿搬送装置2aや画像読取部2bに原稿の読み取りを行わせ、原稿読み取りで得られた画像データを主記憶部7に格納させる。
The
(DMA制御装置1)
次に、図3を用いて、本実施形態の複合機100に搭載されるDMA制御装置1の一例を説明する。図3は、DMA制御装置1に関するハードウェアの一例を示すブロック図である。
(DMA controller 1)
Next, an example of the
本実施形態の複合機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を介して、それぞれ通信可能である。
In the multifunction peripheral 100 of the present embodiment, for example, the
主制御部5(CPU6)は、ジョブにあわせて動作しているソフトウェアに基づき、DMAによる処理要求(DMAモジュール9の起動要求)をDMA制御部8に対して発する。主記憶部7はDMAの対象となるデータをDMAモジュール9に引き渡し、DMAモジュール9が処理したデータを受け取る。本実施形態では、DMAの対象となるデータは、例えば、画像データである。
The main control unit 5 (CPU 6) issues a processing request by DMA (a request for starting the DMA module 9) to the
DMA制御部8は、主制御部5(CPU6)からの処理要求に応じ、各DMAモジュール9の動作を制御し、主記憶部7と各DMAモジュール9間での画像データのやり取りを制御する。例えば、DMA制御部8は、処理要求の優先度に応じて実行する処理要求を選択する調停回路81や、CPU6からの処理要求を蓄えるキューバッファ82(要求記憶部に相当)などを含む(優先度の詳細は後述)。
The
本実施形態では、DMAモジュール9は複数設けられる。本実施形態の複合機100、DMA制御装置1には4つ搭載される。搭載されるDMAモジュール9の個数は、4つに限られず、2〜3個でもよいし、5つ以上でもよい。
In the present embodiment, a plurality of
各DMAモジュール9は、例えば、画像処理部90の一部として設けられ、主記憶部7から読み込んだ画像データに対して画像処理を実行し、画像処理後の画像データを主記憶部7に書き込む。
Each
各DMAモジュール9は、例えば、それぞれ用途(実行する画像処理の内容)が異なる。例えば、図3でのDMAモジュール91は、ズーム処理のような印刷に関する各種画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール92は、印刷を伴わないズームのような画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール93は、エッジを強調させる微分フィルタや濃度階調の平滑化を行うフィルタの画像処理など、各種の画像処理を行う。又、例えば、DMAモジュール94は、露光装置43向けや送信用など、ジョブに合わせた画像データの形式変換や圧縮や伸張等、各種の画像処理を行う。尚、以下の説明は、いずれのDMAモジュール91〜94にも該当するので、特に説明する場合を除き、1、2、3、4の符号を省略し、DMAモジュール9と称する。又、どのDMAモジュール9がどのような画像処理を行えるようにするかは、任意に定めることができる。
Each
そして、ジョブに応じた各ソフトウェアでは、どのDMAモジュール9にどのような画像処理を行わせるかが予め定められている。ジョブに応じた各ソフトウェアで予め定められた画像データの処理のフローに沿って、主制御部5(CPU6)は、各DMAモジュール9に対する処理要求をDMA制御部8に発し、DMA制御部8は、キューバッファ82に蓄えられた処理要求を選択し、各DMAモジュール9に画像処理を行わせる。
In each software corresponding to the job, what image processing is to be performed by which
主記憶部7に格納されたデータは、何れかのDMAモジュール9に読み出され、必要な画像処理がなされる。そして、各DMAモジュール9は、バス10を介して主記憶部7とデータをやり取りするので、複数のDMAモジュール9は、同時に主記憶部7にアクセスできない。そこで、DMA制御部8が、主記憶部7と通信するDMAモジュール9を制御し、主記憶部7と通信するDMAモジュール9を選択する。
The data stored in the
次に、複合機100へのジョブに応じた画像データの扱いを説明する。
Next, how to handle image data corresponding to a job to the
まず、コピーのジョブについて説明する。コピーを行うとき(複合機100のコピー機能を利用するとき)、主記憶部7にはコピー用のソフトウェアが読み出され、起動する。主制御部5は、コピー用のソフトウェアに基づき、画像読取部2bを動作させ、原稿の読み取りを行わせる。そして、主制御部5は、コピー用のソフトウェアに基づき、原稿の読み取りで得られた画像データを主記憶部7に格納させる。
First, a copy job will be described. When copying is performed (when the copy function of the
更に、主制御部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で得られた画像データに基づき、印刷がなされる。
Further, the main control unit 5 (CPU 6) sets a plurality of image data bands (one page of image data with a certain number of lines) in accordance with the copy settings and default settings made on the
次に、プリンターとしてのジョブについて説明する。外部のコンピューター200からの画像データや印刷の設定データに合わせて印刷を行うとき(複合機100のプリンター機能を利用するとき)、主記憶部7にはプリンター用のソフトウェアが読み出され、起動する。主制御部5は、プリンター用のソフトウェアに基づき処理を行う。例えば、主制御部5は、プリンター用のソフトウェアに基づき、通信部53に画像データ等を受信させ、受信した画像データを主記憶部7に格納させる。
Next, a job as a printer will be described. When printing is performed in accordance with image data or print setting data from the external computer 200 (when using the printer function of the multifunction machine 100), printer software is read into the
更に、主制御部5(CPU6)は、画像データに合わせて送信された印刷の設定に合わせ、画像データをバンド(1ページの画像データを一定のライン数で複数に分割した帯状の画像データ)単位で、DMA制御部8に対する処理要求を行う。そして、プリンター用のソフトウェアは、露光装置43に対して画像データを引き渡せる状態になるまで(露光装置43が用いることができる画像データの形式となるまで)、DMA制御部8に対する処理要求を主制御部5に行わせる。これにより、主制御部5は、DMA制御部8に対し順次処理要求を行い、主記憶部7からいずれかのDMAモジュール9への読み出しを行わせ、各DMAモジュール9で画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。そして、主制御部5は、画像処理完了後の画像データを主記憶部7から露光装置43に向けて送信させる。このようにして、通信部53で得られた画像データに基づき、印刷がなされる。
Further, the main control unit 5 (CPU 6) divides the image data into bands (band-like image data obtained by dividing one page of image data into a plurality of lines with a certain number of lines) in accordance with the print settings transmitted in accordance with the image data. A processing request to the
次に、送信のジョブについて説明する。画像データの送信ジョブを行うとき(複合機100の送信機能を利用するとき)、主記憶部7には送信用のソフトウェアが読み出され、起動する。主制御部5等は、送信用のソフトウェアに基づき処理を行う。まず、主制御部5は、送信用のソフトウェアに基づき、送信する画像データを用意する。例えば、主制御部5は、画像読取部2bを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部7に格納させる。あるいは、主制御部5は、HDD52に蓄積された画像データやコンピューター200などから送信された画像データを主記憶部7に格納させる。
Next, a transmission job will be described. When an image data transmission job is performed (when the transmission function of the multifunction peripheral 100 is used), transmission software is read into the
更に、主制御部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への書込を行わせる(必要ならば複数回)。
Further, the main control unit 5 (CPU 6) requests the
送信用の画像データができあがると、主制御部5は、送信用のソフトウェアに基づき、画像データを主記憶部7から通信部53に与え、操作パネル2cで設定された宛先に向けて送信させる。このように、複合機100は、画像データを送信できる。
When image data for transmission is completed, the
次に、HDD52への画像データの蓄積ジョブ(ボックス機能)について説明する。画像データをHDD52に蓄積するとき(複合機100のボックス機能を利用するとき)、主記憶部7にはボックス機能用のソフトウェアが読み出され、起動する。主制御部5等は、ボックス機能用のソフトウェアに基づき処理を行う。まず、主制御部5は、ボックス機能用のソフトウェアに基づき、蓄積する画像データを用意する。例えば、主制御部5は、画像読取部2bを動作させ、原稿の読み取りを行わせ、原稿の読み取りで得られた画像データを主記憶部7に格納させる。あるいは、主制御部5は、通信部53で受信した画像データを主記憶部7に格納させる。
Next, a job for storing image data in the HDD 52 (box function) will be described. When the image data is stored in the HDD 52 (when the box function of the
更に、主制御部5(CPU6)は、圧縮や蓄積サイズなどに関する操作パネル2cなどでの設定に合わせ、画像データをバンド単位で、DMA制御部8に対する処理要求を行う。そして、ボックス機能用のソフトウェアは、HDD52に記憶させる画像データ(例えば、JPEGやPDF形式の画像データ)ができるまで、DMA制御部8に対する処理要求を主制御部5に行わせる。このように、主制御部5は、ボックス機能用のソフトウェアに基づき、DMA制御部8に対し順次処理要求を行い、主記憶部7からいずれかのDMAモジュール9間への読み出しを行わせ、各DMAモジュール9での画像処理を行わせ、画像処理後の画像データの主記憶部7への書込を行わせる(必要ならば複数回)。
Further, the main control unit 5 (CPU 6) requests the
HDD52に記憶させる画像データができあがると、主制御部5は、ボックス機能用のソフトウェアに基づき、画像データを主記憶部7からHDD52に与え、HDD52に記憶させる。このように、複合機100は、画像データをHDD52に蓄積できる。
When the image data to be stored in the
(優先度に基づくDMAモジュール9の制御)
次に、図4〜図10を用いて、実施形態に係るDMA制御装置1のDMAモジュール9に対する制御の一例を説明する。図4〜図10は、同一優先度で起動させるDMAモジュール9の選択手法を説明するための説明図である。
(Control of
Next, an example of control for the
まず、本実施形態のDMA制御装置1では主制御部5(CPU6)から処理要求(DMAモジュール9の起動要求)が出される。この処理要求では、いずれのDMAモジュール9に処理を行わせるか、及び、処理内容が予め定められる。ソフトウェアは、どのDMAモジュール9に処理を行わせるか予め定められた処理要求を主制御部5に発行させる。
First, in the
そして、本実施形態のDMA制御装置1では、処理要求に関し、優先度が設けられる。例えば、優先度は、4つのDMAモジュール9に対応して4段階設けることができる。尚、優先度は、2段階、3段階でもよいし、5段階以上でもよい。
And in the
尚、優先度の上位、下位を示す符号は適宜設定可能であるが、本説明では、A、B、C、Dという符号を用いる。そして、優先度は、A>B>C>Dの関係であるとして説明する。 In addition, although the code | symbol which shows the high order and low order of a priority can be set suitably, the code | symbol of A, B, C, D is used in this description. The priority is described as being in the relationship of A> B> C> D.
そして、優先度も、ジョブに伴い起動されるソフトウェアに応じて(ソフトウェア内で)予め定められている。そして、主制御部5は、優先度を示す情報を付して処理要求をDMA制御部8に発する。尚、主制御部5は、処理要求ごとに優先度を示す情報をDMA制御部8に与えてもよい。又、複数の画像処理を各DMAモジュール9に行わせる間、主制御部5は、どのDMAモジュール9の優先度が高いかを示す情報(DMAモジュール9の優先度を示す情報)をDMA制御部8に与え特定のDMAモジュール9に優先して処理を行わせるようにしてもよい。
The priority is also determined in advance (within the software) according to the software that is activated with the job. Then, the
そして、例えば、アンダーランが生じてはいけない処理(画像処理)に対しては、高い優先度が付され、処理を待つことができる処理(画像処理)に対しては、アンダーランが生じてはいけない処理よりも低い優先度が付される。 For example, for a process (image processing) in which underrun should not occur, a high priority is assigned, and for a process that can wait for processing (image processing), underrun should not occur. A lower priority is assigned to the processing that should not be performed.
複合機100では、複数の機能を実現するので、同時に複数のジョブを並列して処理することがある。例えば、コピーのジョブを実行中に、通信部53が外部のコンピューター200から送信用画像データを受信したとき、コピー用のソフトウェアの起動中に送信用のソフトウェアが起動する。
Since the multifunction peripheral 100 realizes a plurality of functions, a plurality of jobs may be processed in parallel at the same time. For example, when the
例えば、コピージョブでは、画像読取部2bから出力される原稿の画像データを用いて印刷が実行される。そして、例えば、画像読取部2bでの原稿の読み取りが複数ページにわたり連続的に行われる場合など、画像読取部2bからは原稿の画像データが連続的に出力される。この場合、コピーのジョブに供する画像データを全て主記憶部7に格納できるとは限らず、更に、露光装置43での露光開始のタイミングまでに、主記憶部7内に露光装置43に提供すべき画像データが用意されていなくてはならない。例えば、送信用の画像データ生成を並行して行ったため、露光装置43への画像データ供給が間に合わないアンダーランが発生すると、データが欠落した印刷物となり得る。
For example, in a copy job, printing is executed using image data of a document output from the
そこで、コピージョブのようなアンダーランが生じてはいけないジョブの処理要求は、優先度が高く設定される(例えば、優先度A)。一方、送信のようなジョブでは、画像データが完成してから送信すればよいので、優先度が低く設定される(例えば、優先度D)。このように、優先度はジョブの種類に応じて定めてもよい(例えば、プリンターのジョブは、優先度B、ボックス機能は優先度Cなど)。 Therefore, a job processing request such as a copy job that should not cause an underrun has a high priority (for example, priority A). On the other hand, in a job such as transmission, since the image data may be transmitted after completion, the priority is set low (for example, priority D). Thus, the priority may be determined according to the type of job (for example, priority B for a printer job and priority C for a box function).
このように、「優先度」とは、画像形成装置での印刷を行う部分への画像データの引き渡しの遅れなど、必要とされる分よりデータが不足するとエラーが生ずる処理(アンダーランの発生を避けるべき処理)と、そうでない処理との区別を付けるためのものである。優先度はDMA制御部8に対する処理要求を行うソフトウェアに応じて予め定められる。そして、例えば、優先度は、4段階等、複数段階に分けて設定することができる。
As described above, “priority” means processing that causes an error when data is insufficient (such as underrun occurrence), such as delay in delivery of image data to a portion to be printed in the image forming apparatus. This is for distinguishing between processing that should be avoided and processing that is not. The priority is determined in advance according to software that makes a processing request to the
そして、例えば、DMA制御部8は、キューバッファ82に蓄積された処理要求のうち、最も優先度が高い処理要求を実行するDMAモジュール9を選択し、選択したDMAモジュール9を起動させる。これにより、ソフトウェア上、期待する順序で(優先度にあわせて)処理要求が実行されるようにDMAモジュール9を起動することができる。
For example, the
ここで、同一の優先度の処理要求がなされたDMAモジュール9が複数有る場合、いずれのDMAモジュール9を起動させるかを定めておく必要がある。そこで、同一優先度の処理要求がなされたDMAモジュール9が複数有る場合に、起動させるDMAモジュール9の選択の一例を図4乃至図11を用いて説明する。
Here, when there are a plurality of
まず、本実施形態のDMA制御装置1では、主制御部5は、主記憶部7から何れかのDMAモジュール9に画像データを入力する処理要求(入力処理要求)をDMA制御部8に発行する。入力処理要求では優先度を示す情報とともに、いずれのDMAモジュール9に、主記憶部7中のどの領域の画像データを読み出させるかが定められている。DMA制御部8は、入力処理要求に基づき、DMAモジュール9に主記憶部7から画像データの読み出しを行わせる。
First, in the
又、本実施形態のDMA制御装置1では、主制御部5は、DMAモジュール9で処理後の画像データを格納する領域が主記憶部7で確保できれば、先に出した入力処理要求に対応する出力処理要求をDMA制御部8に発行する。出力処理要求では、優先度を示す情報とともに、いずれのDMAモジュール9から主記憶部7中のどの領域に画像データを書き込みさせるかが定められている。DMA制御部8は、出力処理要求に基づき、主記憶部7に対する画像処理後の画像データの書き込みを行わせる。
Further, in the
言い換えると、主記憶部7の画像データを1つのDMAモジュール9に与え、画像処理後の画像データを主記憶部7に格納するには、最低でも1回の入力処理要求と1回の出力処理要求が必要となる。
In other words, at least one input processing request and one output processing are required to provide image data in the
尚、主記憶部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つの読み出しと書き込みの組み合わせの処理において、入力処理要求と出力処理要求の回数は異なる場合がある。
Note that when the image data of the
そして、同一の優先度の処理要求がなされたDMAモジュール9が複数有る場合、いずれのDMAモジュール9を起動させるかのDMA制御部8の定め方(手順)を図4〜図10を用いて説明する。
Then, when there are a plurality of
まず、図4〜図10の各説明図について説明する。まず、図4〜図10の各図での横軸は、時間の流れを示す。 First, each explanatory drawing of FIGS. 4-10 is demonstrated. First, the horizontal axis in each of FIGS. 4 to 10 shows the flow of time.
図4〜図10でのA系統、B系統は、4つのDMAモジュール9のうち、2つのDMAモジュール9を示す。本説明では、A系統とB系統の複数の入力処理要求と出力処理要求の優先度は全て同一として説明する(例えば、優先度Aなど)。
A system A and a system B in FIGS. 4 to 10 show two
そして、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の時点。入力処理要求の実行完了時点を網掛けで図示)。
The number in each rectangle that delimits the upper band labeled “ON” in the two-stage band indicated as “A system” indicates the number of input processing requests to the
そして、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の時点。出力処理要求の実行完了時点を網掛けで図示)。
The number in each rectangle that delimits the lower band labeled “Out” of the two bands indicated as “A system” is the number of output processing requests to the
そして、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の時点。入力処理要求の実行完了時点を網掛けで図示)。
The number in each rectangle that delimits the upper band labeled “ON” in the two bands indicated as B system is the number of input processing requests to the
そして、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の時点。出力処理要求の実行完了時点を網掛けで図示)。
The number in each rectangle that delimits the lower band labeled “Out” of the two bands shown as B system is the number of output processing requests to the
そして、図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に画像処理後の画像データの出力処理がなされたことを示す。
4 to 10 indicate the contents of the processing performed between each
次に、図4〜図10を用いて、時系列的にDMA制御部8により処理を実行させるDMAモジュール9の選択例を説明する。
Next, a selection example of the
まず、図4に示すように、DMA制御部8のキューバッファ82に最初に蓄積された入力処理要求A1と出力処理要求a1に対応して、A系統に対応するDMAモジュール9の起動が開始される。尚、入力処理要求によりDMAモジュール9が処理しなければ、画像データを出力できないので、図4において白黒反転文字で示すように、DMA制御部8は、入力処理要求A1を実行するためA系統のDMAモジュール9を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
First, as shown in FIG. 4, in response to the input processing request A1 and the output processing request a1 that are initially stored in the
次に、図5に示すように、入力処理要求A1の実行完了(時点T1)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、DMA制御部8は、処理完了した要求が入力処理要求であるので、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 5, when the execution of the input processing request A1 is completed (time point T1), the
図5の場合では、時点T1で入力処理要求A1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A2と、B系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求B1を比較する(比較対象を網掛けで図示)。そして、A系統の入力処理要求A2の方が早くキューバッファ82に登録されているので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
In the case of FIG. 5, since the execution of the input processing request A1 has been completed at time T1, the
ここで、本説明の場合では、入力処理要求A2を実行するには、入力処理要求A1の画像処理結果の主記憶部7への出力が必要となっている。そこで、図5に示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求A1に対応する出力処理要求a1を実行する。具体的に、DMA制御部8は、A系統のDMAモジュール9の出力を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
In this case, in order to execute the input processing request A2, it is necessary to output the image processing result of the input processing request A1 to the
次に、図6に示すように、出力処理要求a1の実行完了(時点T2)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 6, when the output processing request a1 is completed (time point T2), the
図6の場合、時点T2で出力処理要求a1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求a2と、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b1を比較する(比較対象を網掛けで図示)。そして、A系統の出力処理要求a2の方が早くキューバッファ82に登録されているので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
In the case of FIG. 6, since the execution of the output processing request a1 is completed at time T2, the
ここで、本説明の場合では、出力処理要求a2を実行するには、入力処理要求A2の画像データの主記憶部7からA系統のDMAモジュール9への入力が必要となっている。そこで、図5に示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求A2を実行する。具体的に、DMA制御部8は、A系統のDMAモジュール9の入力(入力処理要求A2)を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
In this case, in order to execute the output process request a2, it is necessary to input the image data of the input process request A2 from the
次に、図7に示すように、入力処理要求A2の実行完了(時点T3)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が入力処理要求なので、DMA制御部8は、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 7, when the execution of the input processing request A2 is completed (at time T3), the
図7の場合、時点T3で入力処理要求A2の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A3と、B系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求B1を比較する(比較対象の一方を網掛けで図示)。そして、B系統の入力処理要求B1の方が早くキューバッファ82に登録されているので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
In the case of FIG. 7, since the execution of the input processing request A2 is completed at time T3, the
そこで、図7に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な入力処理要求B1を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の入力(入力処理要求B1)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7から画像データを読み込む。
Therefore, as indicated by white letters in FIG. 7, the
次に、図8に示すように、入力処理要求B1の実行完了(時点T4)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が入力処理要求なので、DMA制御部8は、同じ優先度の2系統の入力処理要求を比較し、先にキューバッファ82に蓄積された入力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 8, with the completion of execution of the input processing request B1 (time point T4), the
図8の場合、時点T4で入力処理要求B1の実行が完了しているので、DMA制御部8は、A系統のDMAモジュール9の未実行の入力処理要求のうち最も早くキューバッファ82に登録された入力処理要求A3を比較の対象とするが、B系統には、時点T4での入力処理要求がない(入力処理要求B2の入力は時点T4と時点T5の間、比較対象の一方を網掛けで図示)。そこで、A系統の入力処理要求A3の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、A系統のDMAモジュール9を用いると選択する。
In the case of FIG. 8, since the execution of the input processing request B1 is completed at time T4, the
本説明の場合では、入力処理要求A3を実行するには、出力処理要求a2が必要となっている(入力処理要求A2の画像処理結果の主記憶部7への入力が必要)。そこで、図8に白抜文字で示すように、DMA制御部8は、用いると選択したA系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求a2を実行する。具体的に、DMA制御部8は、a系統のDMAモジュール9の出力(出力処理要求a2)を起動させる。これにより、A系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
In the case of this description, in order to execute the input processing request A3, the output processing request a2 is necessary (input of the image processing result of the input processing request A2 to the
次に、図9に示すように、出力処理要求a2の実行完了(時点T5)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 9, when the output processing request a2 is completed (time T5), the
図9の場合、時点T5では出力処理要求a2の実行が完了しているので、DMA制御部8は、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b1を比較の対象とするが、A系統には、時点T5での出力処理要求がない。そこで、B系統の出力処理要求b1の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
In the case of FIG. 9, since the execution of the output processing request a2 is completed at time T5, the
本説明の場合では、出力処理要求b1を実行するために必要な、入力処理要求B1はすでに実行されている。そこで、図9に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求b1を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の出力(出力処理要求b1)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
In the case of this description, the input processing request B1 necessary for executing the output processing request b1 has already been executed. Therefore, as indicated by white letters in FIG. 9, the
次に、図10に示すように、出力処理要求b1の実行完了(時点T6)に伴い、DMA制御部8は、A系統とB系統のいずれのDMAモジュール9を起動させるか(処理させるか)を判断する。このとき、処理完了した要求が出力処理要求なので、DMA制御部8は、同じ優先度の2系統の出力処理要求を比較し、先にキューバッファ82に蓄積された出力処理要求を実行するDMAモジュール9を次の処理を行わせるDMAモジュール9として選択する。
Next, as shown in FIG. 10, when the output processing request b1 is completed (time point T6), the
図10の場合、時点T6で出力処理要求b1の実行が完了しているので、DMA制御部8は、B系統のDMAモジュール9の未実行の出力処理要求のうち最も早くキューバッファ82に登録された出力処理要求b2を比較の対象とするが、A系統には、時点T6での出力処理要求がない。そこで、B系統の出力処理要求b2の方が早くキューバッファ82に登録されているといえるので、DMA制御部8は、B系統のDMAモジュール9を用いると選択する。
In the case of FIG. 10, since the execution of the output processing request b1 is completed at time T6, the
本説明の場合では、出力処理要求b1を実行するために必要な、入力処理要求B1はすでに実行されている(例えば、拡大のズーム処理などで1入力に対し複数回の出力が必要)。そこで、図10に白抜文字で示すように、DMA制御部8は、用いると選択したB系統のDMAモジュール9の処理要求のうち、実行可能な出力処理要求b2を実行する。具体的に、DMA制御部8は、B系統のDMAモジュール9の出力(出力処理要求b2)を起動させる。これにより、B系統のDMAモジュール9は、バス10を介して主記憶部7に画像処理後の画像データを書き込む。
In the case of the present description, the input processing request B1 necessary for executing the output processing request b1 has already been executed (for example, a plurality of outputs are required for one input in an enlargement zoom process or the like). Therefore, as indicated by white letters in FIG. 10, the
以後、上述の場合と同様に、異なるDMAモジュール9に対し同じ優先度の処理要求が存在するとき、処理が完了した処理要求の種類に応じ、DMA制御部8は、先にキューバッファ82に登録された入力処理要求又は出力処理要求に対応するDMAモジュール9を用いると選択し、選択したDMAモジュール9で実行可能な処理要求を起動させる。
Thereafter, as in the case described above, when there are processing requests with the same priority for
(優先度に基づくDMAモジュール9の制御の流れ)
次に、図11を用いて、実施形態に係るDMA制御部8による各DMAモジュール9の起動制御の流れを説明する。図11は、DMA制御部8による各DMAモジュール9の起動制御の流れの一例を示すフローチャートである。
(Flow of control of
Next, the flow of activation control of each
まず、図11のスタートは、主電源投入後、DMA制御部8が起動を開始した後の時点である。具体的には、キューバッファ82からの処理要求待ち、あるいは、主制御部5が発した1又は複数の処理要求が蓄積され、処理を行うため起動させるDMAモジュール9を選択し、処理をDMAモジュール9に実行させようとする時点である。
First, the start in FIG. 11 is a time point after the main power is turned on and the
まず、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Aの処理要求の有無を確認する(ステップ♯1)。もし、優先度Aの処理要求があれば(ステップ♯1のYes)、DMA制御部8(の調停回路81)は、優先度Aである複数の処理要求の有無(同一優先度の複数の処理要求の有無)を確認する(ステップ♯2)。
First, the DMA control unit 8 (its arbitration circuit 81) checks whether or not there is a processing request of priority A based on the priority information corresponding to each processing request among the processing requests in the queue buffer 82 (step # 1). ). If there is a processing request of priority A (Yes in step # 1), the DMA control unit 8 (
もし、同一優先度の処理要求が複数なければ(ステップ♯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の選択と処理の実行が再度なされることになる。
If there are not a plurality of processing requests with the same priority (No in step # 2), the
一方、同一優先度の処理要求が複数あれば(ステップ♯2のYes)、図4〜図10を用いて説明したように、完了した直前の処理要求に応じて、DMA制御部8は、最も早い処理要求(最も早くキューバッファ82に蓄積された起動要求)に対応するDMAモジュール9を選択する(ステップ♯6)。そして、フローは、ステップ♯4に移行する。これにより、DMA制御部8は、選択したDMAモジュール9を起動させ、例えば、最も早い処理要求に対応する処理が実行される(ステップ♯4→ステップ♯1)。
On the other hand, if there are a plurality of processing requests with the same priority (Yes in step # 2), as explained using FIG. 4 to FIG. The
一方、優先度Aの処理要求がなければ(ステップ♯1のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Bの処理要求の有無を確認する(ステップ♯7)。もし、優先度Bの処理要求があれば(ステップ♯7のYes)、フローはステップ♯2に移行する。
On the other hand, if there is no processing request of priority A (No in step # 1), the DMA control unit 8 (the arbitration circuit 81), among the processing requests in the
一方、優先度Bの処理要求がなければ(ステップ♯7のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Cの処理要求の有無を確認する(ステップ♯8)。もし、優先度Cの処理要求があれば(ステップ♯8のYes)、フローはステップ♯2に移行する。
On the other hand, if there is no processing request for priority B (No in step # 7), the DMA control unit 8 (the arbitration circuit 81), among the processing requests in the
一方、優先度Cの処理要求がなければ(ステップ♯8のNo)、DMA制御部8(の調停回路81)は、キューバッファ82内の処理要求のうち、各処理要求に対応する優先度情報に基づき優先度Dの処理要求の有無を確認する(ステップ♯9)。もし、優先度Dの処理要求があれば(ステップ♯9のYes)、フローはステップ♯2に移行する。一方、優先度Dの処理要求がなければ(ステップ♯9のNo)、フローはステップ♯1に移行する。
On the other hand, if there is no processing request of priority C (No in step # 8), the DMA control unit 8 (the arbitration circuit 81), among the processing requests in the
このようにして、本実施形態のDMA制御装置1は、データを記憶する主記憶部7と、主記憶部7に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを主記憶部7に書き込む複数のモジュール(DMAモジュール9)と、ソフトウェアに基づき、モジュールに対する処理要求を発する要求発行部(主制御部5、CPU6)と、要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部(キューバッファ82)を有し、処理要求を調停し、各モジュールの主記憶部7へのアクセスを制御するDMA制御部8と、を含み、要求発行部は、DMA制御部8に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、DMA制御部8は、要求記憶部に蓄えられた処理要求のうち、優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応するモジュールに処理を行わせる。
In this way, the
これにより、DMA制御部8は各処理要求の優先度を確認し、優先度の高い処理要求に対応するモジュールに処理を優先的に実行させるので、各種処理要求の優先度を適宜設定しておくことにより、時系列的に後に生じた処理要求であっても、優先度の高い処理要求が出されたモジュールに、優先的に処理を実行させることができる。従って、DMA制御部8が優先度を一元的に管理することで、所望の順序で処理要求を実行させることができる。又、従来のように、間に合うようにどの処理要求を優先して実行するかといった判断を行う処理や、判断に伴う割込処理や、複数あるモジュールのうち、どのモジュールが用いることができるかを確認し、確認の結果、どの処理要求を優先させたり、起動要求時間を管理し、起動要求時間に間に合わせつつ他の処理要求を含めて実行順序を定めるといった複雑な調停処理をDMA制御部8は行わずに済む。又、DMA制御部8が実行する処理要求を決定するまでのタイムラグを減らすこともできる。
As a result, the
又、DMA制御部8は、要求記憶部(キューバッファ82)に同じ優先度の処理要求が複数あるとき、実行可能な処理要求のうち早く要求記憶部に蓄えられた処理要求を選択し、選択した処理要求に対応するモジュール(DMAモジュール9)に処理を実行させる。例えば、異なるモジュールに対する処理要求であって、同じ優先度の処理要求が要求記憶部に蓄積されることがあるが、これにより、先着順という簡単な論理によりDMA制御部8は、複雑な調停処理を行うことなく処理要求の実行順序を定めることができる。
In addition, when there are a plurality of processing requests having the same priority in the request storage unit (queue buffer 82), the
又、要求発行部(主制御部5、CPU6)は、DMA制御部8に対し、モジュール(DMAモジュール9)に主記憶部7からデータを読み込ませる入力処理要求と、モジュールに処理後のデータを主記憶部7に書き込ませる出力処理要求を発し、いずれかのモジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行するモジュールが複数あるとき、DMA制御部8は、完了した処理要求が入力処理要求であれば、要求記憶部(キューバッファ82)に蓄えられた複数の同じ優先度の入力処理要求のうち、最も早く要求記憶部に蓄えられた入力処理要求を実行するモジュールに実行可能な処理要求を実行させ、完了した処理要求が出力処理要求であれば、要求記憶部に蓄えられた複数の同じ優先度の出力処理要求のうち、最も早く要求記憶部に蓄えられた出力処理要求を実行するモジュールに実行可能な処理要求を実行させる。
The request issuing unit (
これにより、入力処理要求完了と、出力処理要求完了の場合に分けて、明確に先着順の基準を定め、どのモジュールに処理要求を実行させるか定めることができる。従って、DMA制御部8は、入力処理要求が完了したときは入力処理要求、出力処理要求が完了したときは出力処理要求に基づき、簡単に優先度が同じで用いるモジュールが異なる処理要求の中から、処理要求を実行すべきモジュールを選択することができる。
As a result, it is possible to clearly determine the first-come-first-served basis for the input processing request completion and the output processing request completion, and to determine which module is to execute the processing request. Accordingly, the
又、要求発行部(主制御部5、CPU6)は、各処理要求に優先度情報を付して処理要求を発行する。これにより、DMA制御部8は、各処理要求について優先度情報を確認して実行させる処理要求を選択すれば済む。
The request issuing unit (
又、要求発行部(主制御部5、CPU6)はモジュール(DMAモジュール9)の優先度を定めた優先度情報をDMA制御部8に送信する。これにより、処理実行を優先させるモジュールを特定して処理要求を処理させることができる。従って、特定のモジュールに集中的に処理を行わせることができる。
The request issuing unit (
又、画像形成装置(複合機100)は、上述のDMA制御装置1を含む。これにより、所望の順序で処理要求を実行させ、かつ、複雑な調停処理をDMA制御部8は行わずに済む画像形成装置(複合機100)を提供することができる。又、DMA制御部8が実行する処理要求を決定するまでのタイムラグを減らすこともできる。従って、データの転送等の処理速度が速く、複合機100を制御する部分の負荷の少ないので、動作が安定、高速の画像形成装置を提供することができる。
The image forming apparatus (multifunction device 100) includes the above-described
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。 The embodiment of the present invention has been described above, but the scope of the present invention is not limited to this, and various modifications can be made without departing from the spirit of the invention.
本発明は、データ処理を行うDMA制御装置やDMA制御装置を搭載した複合機、複写機、ファクシミリ、プリンター等の画像形成装置に利用可能である。 The present invention can be applied to an image forming apparatus such as a DMA controller that performs data processing or a multifunction machine, a copier, a facsimile machine, or a printer equipped with the DMA controller.
100 複合機(画像形成装置) 1 DMA制御装置
5 主制御部(要求発行部) 6 CPU(要求発行部)
7 主記憶部 8 DMA制御部
82 キューバッファ(要求記憶部)
9(91、92、93、94) DMAモジュール(モジュール)
100 MFP (Image Forming Apparatus) 1
7
9 (91, 92, 93, 94) DMA module (module)
Claims (4)
前記主記憶部に記憶されるデータを読み込み、処理を実行し、処理実行後のデータを前記主記憶部に書き込む複数のモジュールと、
ソフトウェアに基づき、前記モジュールに対する処理要求を発する要求発行部と、
前記要求発行部が発した処理要求を複数蓄え、処理済みの処理要求を消去する要求記憶部を有し、処理要求を調停し、各前記モジュールの前記主記憶部へのアクセスを制御するDMA制御部と、を含み、
前記要求発行部は、前記DMA制御部に対し、ソフトウェアで予め定められた処理要求を優先させる度合いを複数段階で示す優先度情報を送信し、
前記DMA制御部は、前記要求記憶部に蓄えられた処理要求のうち、前記優先度情報に基づき、優先度が低い処理要求よりも優先度が高い処理要求を選択し、選択した処理要求に対応する前記モジュールに処理を行わせ、
前記要求発行部は、前記DMA制御部に対し、前記モジュールに前記主記憶部からデータを読み込ませる入力処理要求と、前記モジュールに処理後のデータを前記主記憶部に書き込ませる出力処理要求を発し、
いずれかの前記モジュールでの処理完了に伴い次の処理要求を選択するときであって、同じ優先度の処理要求を実行する前記モジュールが複数あるとき、
前記DMA制御部は、完了した処理要求が前記入力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記入力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記入力処理要求を実行する前記モジュールに実行可能な処理要求を実行させ、完了した処理要求が前記出力処理要求であれば、前記要求記憶部に蓄えられた複数の同じ優先度の前記出力処理要求のうち、最も早く前記要求記憶部に蓄えられた前記出力処理要求を実行する前記モジュールに実行可能な処理要求を実行させることを特徴とするDMA制御装置。 A main memory for storing data;
A plurality of modules that read data stored in the main storage unit, execute processing, and write the processed data to the main storage unit;
A request issuing unit for issuing a processing request for the module based on software;
DMA control for storing a plurality of processing requests issued by the request issuing unit and having a request storage unit for erasing processed processing requests, arbitrating the processing requests, and controlling access to the main storage unit of each module And
The request issuing unit transmits priority information indicating the degree of priority of processing requests predetermined by software in a plurality of stages to the DMA control unit,
The DMA control unit selects a processing request having a higher priority than a processing request having a lower priority based on the priority information among the processing requests stored in the request storage unit, and corresponds to the selected processing request. The module to perform processing ,
The request issuing unit issues an input processing request for causing the module to read data from the main storage unit and an output processing request for causing the module to write processed data to the main storage unit. ,
When the next processing request is selected upon completion of processing in any of the modules, and when there are a plurality of modules that execute processing requests of the same priority,
If the completed processing request is the input processing request, the DMA control unit is earliest stored in the request storage unit among the plurality of input processing requests having the same priority stored in the request storage unit. If the module that executes the input processing request executes an executable processing request and the completed processing request is the output processing request, the output processing requests having the same priority stored in the request storage unit of, DMA controller, wherein Rukoto to execute the earliest the executable to the module that executes the output processing request stored in the request storage unit processing request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011118292A JP5509151B2 (en) | 2011-05-26 | 2011-05-26 | DMA controller and image forming apparatus including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011118292A JP5509151B2 (en) | 2011-05-26 | 2011-05-26 | DMA controller and image forming apparatus including the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012247935A JP2012247935A (en) | 2012-12-13 |
JP5509151B2 true JP5509151B2 (en) | 2014-06-04 |
Family
ID=47468335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011118292A Active JP5509151B2 (en) | 2011-05-26 | 2011-05-26 | DMA controller and image forming apparatus including the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5509151B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2806678B2 (en) * | 1992-03-09 | 1998-09-30 | 日本電気株式会社 | Bus control device |
JPH0713923A (en) * | 1993-06-24 | 1995-01-17 | Ricoh Co Ltd | Bus control method |
JP3724536B2 (en) * | 1998-02-20 | 2005-12-07 | 富士ゼロックス株式会社 | Image output control device and process execution control method thereof |
JP4284458B2 (en) * | 2001-05-23 | 2009-06-24 | 富士フイルム株式会社 | Digital camera |
JP5040050B2 (en) * | 2001-06-12 | 2012-10-03 | 富士通株式会社 | Multi-channel DMA controller and processor system |
JP4847036B2 (en) * | 2005-03-30 | 2011-12-28 | キヤノン株式会社 | Control device for arbitrating bus access and control method for data processing device |
-
2011
- 2011-05-26 JP JP2011118292A patent/JP5509151B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012247935A (en) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4399490B2 (en) | Image output device | |
JP4272631B2 (en) | Image forming apparatus | |
JP2001169032A (en) | Digital copying machine, image forming device and slave machine of digital copying machine | |
JP6264310B2 (en) | Image forming sheet supply unit selection method, image forming apparatus, and information processing apparatus | |
JP5911271B2 (en) | Information processing apparatus, control method thereof, and control program | |
US8659782B2 (en) | Image forming apparatus using option controller for printing | |
JP2014166716A (en) | Image formation device | |
JP5509151B2 (en) | DMA controller and image forming apparatus including the same | |
US9008533B2 (en) | Processing apparatus, image forming apparatus, processing method and computer readable information recording medium | |
JP2000047536A (en) | Method for connected copying of copying machine network system | |
JP2009145579A (en) | Image output device | |
US8320004B2 (en) | Image forming apparatus and computer-readable medium storing operation control program | |
JP6460032B2 (en) | Image forming apparatus, image forming system, and image forming program | |
US8411302B2 (en) | Printing system, printing apparatus and print control method therefor | |
JP2004194254A (en) | Information processing apparatus | |
JP6485699B2 (en) | Image forming apparatus and image forming system | |
JP5970031B2 (en) | Information processing apparatus and information processing program | |
JP5984350B2 (en) | Printing apparatus, control method therefor, and program | |
JP2006186415A (en) | Image forming apparatus | |
JP2006195888A (en) | Print system | |
JP2008148159A (en) | Data output control apparatus, data output control method and program | |
JP2008293352A (en) | Image forming system | |
JP2007078832A (en) | Image forming apparatus, image forming method, image forming program, and recording medium | |
JPH11289436A (en) | Image forming device | |
JP2018125716A (en) | Image forming apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140205 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5509151 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |