JP2019212027A - Image processing system, control method therefor, and program - Google Patents
Image processing system, control method therefor, and program Download PDFInfo
- Publication number
- JP2019212027A JP2019212027A JP2018107833A JP2018107833A JP2019212027A JP 2019212027 A JP2019212027 A JP 2019212027A JP 2018107833 A JP2018107833 A JP 2018107833A JP 2018107833 A JP2018107833 A JP 2018107833A JP 2019212027 A JP2019212027 A JP 2019212027A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- image processing
- bandwidth
- bus master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 308
- 238000000034 method Methods 0.000 title claims description 98
- 230000008569 process Effects 0.000 claims description 90
- 238000012546 transfer Methods 0.000 claims description 76
- 238000012544 monitoring process Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 abstract description 16
- 230000007423 decrease Effects 0.000 abstract description 8
- 230000003139 buffering effect Effects 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 18
- 230000015556 catabolic process Effects 0.000 description 7
- 238000006731 degradation reaction Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
Description
本発明は、画像処理装置とその制御方法、及びプログラムに関する。 The present invention relates to an image processing apparatus, a control method thereof, and a program.
スキャナ機能、プリンタ機能、コピー機能などを兼備えるデジタル複合機のような画像処理装置が知られている。デジタル複合機の動作は、通常、画像処理や画像入出力制御を行うためのASIC(Application Specific Integrated Circuit)が実装されたコントローラにより制御されている。 An image processing apparatus such as a digital multi-function peripheral having a scanner function, a printer function, a copy function, and the like is known. The operation of the digital multifunction peripheral is normally controlled by a controller in which an ASIC (Application Specific Integrated Circuit) for performing image processing and image input / output control is mounted.
近年、小型化や低コスト化のために、CPU及び各種機能を実現する複数の機能処理部を1つのASICに集約している。更に、CPUがワーク領域として使用するメモリと、各種機能を実現する際に画像データの転送に使用するメモリもメインメモリに集約されてきており、メインメモリへのデータアクセス量が非常に増大してきている。 In recent years, in order to reduce the size and cost, a CPU and a plurality of function processing units that realize various functions are integrated into one ASIC. In addition, the memory used by the CPU as a work area and the memory used for transferring image data when realizing various functions have been integrated into the main memory, and the amount of data access to the main memory has increased greatly. Yes.
更に、メインメモリへのデータアクセス量を増大させる要因として、スキャン性能及びプリント性能の高速化も挙げられる。スキャン、プリントといった処理は、一度動作を開始すると、少なくとも処理中のページの画像データの入出力が完了するまで、その動作を停止させることができないリアルタイム処理が必須な処理である。通常、このようなリアルタイム処理では、万が一、コントローラの一時的な処理速度の低下が発生しても、スキャナやプリンタとの間の画像データの転送を正常に継続可能にするために、データを一時保存するショートバッファを設けている。このショートバッファは、ASIC内のスキャン処理部やプリント処理部に実装される緩衝用バッファで、スキャナやプリンタとのデータ転送はこのショートバッファを介して行われる。 Furthermore, as a factor that increases the amount of data access to the main memory, it is also possible to increase the scanning performance and printing performance. The processes such as scan and print are essential processes that cannot be stopped once the operation is started until the input / output of the image data of the page being processed is completed. Normally, in such real-time processing, even if a temporary reduction in the processing speed of the controller occurs, the data is temporarily stored so that the image data transfer to the scanner or printer can be continued normally. A short buffer to save is provided. This short buffer is a buffer buffer mounted in the scan processing unit and print processing unit in the ASIC, and data transfer with the scanner and printer is performed via this short buffer.
特許文献1には、各バスマスタの動作状態を監視し、得られるメモリ帯域の利用率がメモリ帯域制限値に達するとバスマスタのデータ転送を制限するバス調停部を有する画像処理装置が記載されている。更に引用文献1では、動的に複数バスマスタのメモリ帯域制限値を設定可能にする構成が記載されている。
しかしながら、スキャンやプリントのリアルタイム処理でのデータ転送は、メインメモリに対するバスのみならず、ショートバッファも経由する。例えば、特許文献1に記載の技術では、各バスマスタの動作状態のみを監視し、メモリ帯域の利用率が大きくなると、あるバスマスタのアクセスに制限が課せられる。このため、例えメモリ帯域の利用率が大きくても、ショートバッファの緩衝機能によりリアルタイム処理を維持できる期間であるにも拘わらず、バスマスタのアクセス制限が発生することになる。その結果、非リアルタイムの処理速度が低下してしまうという問題を生じていた。尚、このショートバッファの緩衝機能により、リアルタイム処理を維持できる期間とは、スキャン処理ではショートバッファに格納されるデータ量が少ない期間、プリント処理ではショートバッファに格納されるデータ量が多い期間のことである。
However, the data transfer in the real-time processing of scanning and printing not only via the bus for the main memory but also via the short buffer. For example, in the technique described in
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。 An object of the present invention is to solve at least one of the problems of the prior art.
本発明の目的は、緩衝バッファによりリアルタイム処理を維持できるときはバスマスタのアクセス制限を行わないようにして、リアルタイム処理を維持しつつ、非リアルタイム処理の速度低下を最低限に抑えることにある。 It is an object of the present invention to minimize the speed reduction of non-real-time processing while maintaining real-time processing so as not to restrict bus master access when real-time processing can be maintained by a buffer buffer.
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
メインメモリにアクセスする複数のバスマスタを有する画像処理装置であって、
前記複数のバスマスタによる前記メインメモリへのアクセスを検知してバス帯域を取得する帯域監視手段と、
リアルタイム処理が要求されるバスマスタと前記メインメモリとの間に設けられた緩衝バッファのデータ量を取得する取得手段と、
前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記緩衝バッファのデータ量と第2閾値との比較に応じて、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限するよう制御する制御手段と、を有することを特徴とする。
In order to achieve the above object, an image processing apparatus according to an aspect of the present invention has the following arrangement. That is,
An image processing apparatus having a plurality of bus masters accessing a main memory,
Band monitoring means for detecting access to the main memory by the plurality of bus masters and acquiring a bus band;
An acquisition means for acquiring a data amount of a buffer provided between the bus master and the main memory for which real-time processing is required;
The bus bandwidth acquired by the bandwidth monitoring unit exceeds the first threshold value, and the highest priority is selected from the plurality of bus masters according to the comparison between the buffer buffer data amount acquired by the acquisition unit and the second threshold value. And control means for controlling to restrict access to the main memory by a bus master having a lower rank.
本発明によれば、バス帯域が所定値以上であっても、緩衝バッファの効果が発揮できているときは、優先順位の低いバスマスタのアクセス制限を回避できるため、装置の性能の低下を防止できる。 According to the present invention, even when the bus bandwidth is equal to or greater than a predetermined value, when the buffer buffer effect can be exerted, the access restriction of the bus master having a low priority can be avoided, so that the performance degradation of the device can be prevented. .
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。 Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are denoted by the same reference numerals.
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the present invention. .
まず実施形態の前提を簡単に説明する。スキャナからの画像データは一度ショートバッファに書き込まれ、スキャン処理部は、そのショートバッファから画像データを読み出して画像処理を施す。通常状態では、スキャン処理部がスキャナの転送速度と同程度の速度で画像データを処理できるので、ショートバッファに画像データが蓄積されることなく、ショートバッファの残留データ量は少ない状態となる。これに対して、例えば、メインメモリの一時的なバス帯域不足により、スキャン処理部がスキャナの転送速度を下回る速度でしか画像データを処理できない場合には、ショートバッファの残留データ量は徐々に増加する。しかしながら、このように一時的にバス帯域不足に陥っても、ショートバッファの緩衝機能により、スキャナからスキャン処理部へのデータ転送が途切れることはない。そして、一時的なバス帯域不足が解消されると、スキャン処理部は、ショートバッファに格納される画像データを、スキャナからの画像データの転送速度を上回る速度で処理できる。その結果、ショートバッファの残留データ量は徐々に減少し、ショートバッファに格納される残留データ量が少量の状態に落ち着く。 First, the premise of the embodiment will be briefly described. The image data from the scanner is once written in the short buffer, and the scan processing unit reads the image data from the short buffer and performs image processing. In the normal state, the scan processing unit can process the image data at the same speed as the transfer speed of the scanner, so that the amount of residual data in the short buffer is small without storing the image data in the short buffer. On the other hand, for example, if the scan processing unit can process image data only at a speed lower than the transfer speed of the scanner due to a temporary lack of bus bandwidth in the main memory, the residual data amount in the short buffer gradually increases. To do. However, even if the bus bandwidth is temporarily short in this way, the data transfer from the scanner to the scan processing unit is not interrupted by the buffer function of the short buffer. When the temporary shortage of the bus bandwidth is resolved, the scan processing unit can process the image data stored in the short buffer at a speed exceeding the transfer speed of the image data from the scanner. As a result, the residual data amount in the short buffer gradually decreases, and the residual data amount stored in the short buffer settles to a small state.
また、プリント処理部で処理が施された画像データは、一度ショートバッファに書き込まれ、ショートバッファから読み出された画像データがプリンタへ送出される。このときプリンタへデータ転送を開始する前に、プリント処理部は、ショートバッファを画像データで満たす。これはプリンタへのデータ転送開始直後に、データが途切れることを防ぐためである。通常状態では、プリント処理部がプリンタの転送速度と同程度の速度で画像データを処理できるので、ショートバッファから画像データが減少することなく、ショートバッファの残留データ量は多い状態のままとなる。しかし、メインメモリの一時的なバス帯域不足により、プリント処理部がプリンタの転送速度を下回る速度でしか画像データを処理できない場合には、ショートバッファの残留データ量は徐々に減少する。しかしながら、このように一時的にバス帯域不足に陥っても、ショートバッファの緩衝機能により、プリンタへの画像データの転送が途切れることはない。そして、一時的なバス帯域不足が解消されると、プリント処理部がプリンタへのデータ転送速度を上回る速度で画像データを処理してショートバッファに格納できる。その結果、ショートバッファの残留データ量は徐々に増加し、ショートバッファに格納される残留データ量が多い状態で落ち着く。 The image data processed by the print processing unit is once written in the short buffer, and the image data read from the short buffer is sent to the printer. At this time, before starting data transfer to the printer, the print processing unit fills the short buffer with image data. This is to prevent data from being interrupted immediately after the start of data transfer to the printer. In the normal state, the print processing unit can process the image data at a speed similar to the transfer speed of the printer, so that the amount of residual data in the short buffer remains large without reducing the image data from the short buffer. However, when the print processing unit can process image data only at a speed lower than the transfer speed of the printer due to a temporary bus bandwidth shortage in the main memory, the residual data amount in the short buffer gradually decreases. However, even when the bus bandwidth temporarily falls short as described above, the transfer of the image data to the printer is not interrupted by the buffer function of the short buffer. When the temporary shortage of the bus bandwidth is resolved, the print processing unit can process the image data at a speed exceeding the data transfer speed to the printer and store it in the short buffer. As a result, the amount of residual data in the short buffer gradually increases, and settles with a large amount of residual data stored in the short buffer.
更に、プリント処理部は、大量のデータをバッファリングするために、メインメモリ上の領域をリングバッファとして利用する。プリント処理部は、処理を施した画像データを順次リングバッファ領域の先頭から書き込んでいき、リングバッファ領域の最後に画像データを書き込むと、リングバッファ領域の先頭から後続のデータで上書きしていくことを繰り返す。またプリント処理部は、リングバッファ領域の先頭から順次データを読み出し、そのデータをプリンタへ転送する。そしてプリント処理部はリングバッファ領域の最後からデータを読み出すと、次にリングバッファ領域の先頭からデータを読み出していくことを繰り返す。プリント処理部は、データを書き込むリングバッファ領域の位置を示すライトポインタと、データを読み出すリングバッファ領域の位置を示すリードポインタを有する。そしてプリント処理部は、リードポインタがライトポインタを追いかけるように制御し、かつ、ライトポインタがリードポインタを追い越さないように制御する。 Further, the print processing unit uses an area on the main memory as a ring buffer in order to buffer a large amount of data. The print processing unit writes the processed image data sequentially from the beginning of the ring buffer area, and when the image data is written at the end of the ring buffer area, it is overwritten with subsequent data from the beginning of the ring buffer area. repeat. The print processing unit sequentially reads data from the beginning of the ring buffer area and transfers the data to the printer. When the print processing unit reads data from the end of the ring buffer area, it repeatedly reads data from the beginning of the ring buffer area. The print processing unit has a write pointer indicating the position of the ring buffer area to which data is written and a read pointer indicating the position of the ring buffer area from which data is read. The print processing unit controls the read pointer to follow the write pointer and controls the write pointer not to pass the read pointer.
これらを制御するコントローラでは、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスは常に一定の転送帯域を保証しつつ、非リアルタイム処理機能もできる限り並行して動作させる事が望ましい。即ち、コントローラは、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスの転送帯域が保証できなくなる状況が発生しないよう設計されている。 In a controller that controls these, it is desirable that access to the main memory for image processing that requires real-time processing always guarantees a certain transfer bandwidth and that non-real-time processing functions are operated in parallel as much as possible. That is, the controller is designed so as not to cause a situation in which the transfer bandwidth of access to the main memory for image processing that requires real-time processing cannot be guaranteed.
全ての機能を同時に動作させてもメモリへのアクセスの転送帯域が十分保証できるようにするには、高周波数で、多ビット幅のメモリ素子を使用し、かつ十分なメモリ転送性能を確保しなければならない。しかしながら、高周波数のメモリ素子を使用することは、メモリのコストアップ及び消費電力の増加を招き、また、多ビット幅のメモリを使用することは、チップのピン数増加によるチップ単価のコストアップにつながる。そこで、メモリの高周波数化及び多ビット化を抑制しつつ、リアルタイム処理機能のメインメモリへの転送帯域を確保する手法を提案する。このために、メインメモリに対する各バスマスタの動作状態を監視し、各バスマスタのアクセスを制御することも考えられる。以下、図を参照して実施形態を詳しく説明する。 To ensure a sufficient transfer bandwidth for memory access even when all functions are operated simultaneously, a high-frequency, multi-bit memory device must be used and sufficient memory transfer performance must be ensured. I must. However, using a high-frequency memory device increases the cost of the memory and increases the power consumption, and using a multi-bit width memory increases the cost of the chip due to an increase in the number of pins of the chip. Connected. Therefore, a method for securing a transfer band to the main memory of the real-time processing function while suppressing increase in frequency and multi-bit of the memory is proposed. For this purpose, it is conceivable to monitor the operation state of each bus master with respect to the main memory and control the access of each bus master. Hereinafter, embodiments will be described in detail with reference to the drawings.
[実施形態1]
図1は、本発明の実施形態1に係る画像処理装置の構成を説明するブロック図である。実施形態に係る画像処理装置は、画像処理や画像入出力制御を行うためのコントローラ(制御部)10と、ユーザが各種の操作及び設定変更を行うための操作部105と、操作部105からの指示に従い原稿を読み取るスキャナ部161とを有する。スキャナ部161は、スキャナ部161を制御する図示しないCPUや原稿読取を行うための図示しない照明ランプや走査ミラーなどを有する。
[Embodiment 1]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to the first embodiment of the present invention. The image processing apparatus according to the embodiment includes a controller (control unit) 10 for performing image processing and image input / output control, an
コントローラ10は、CPU101が実行するブートプログラムが格納されているROM103を有し、CPU101はROMI/F102を介してROM103に格納されている内容を読み出す。またCPU101は、操作部I/F104を介して操作部105を制御し、ユーザの操作を検知する。更にコントローラ10は、CPU101が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもあるメインメモリ152を有している。メモリコントローラ151は、CPU101、スキャナ部161及び画像処理部111〜115からのメインメモリ152に対するアクセスを調停し、メインメモリ152に対してリード・ライトの制御を行う。コントローラ10は、スキャナ部161から画像データを入力して処理し、処理した画像データをメインメモリ152に転送するスキャン処理部160を有する。
The
またコントローラ10は、メインメモリ152から画像データを入力して画像処理を施し、処理した画像データをメインメモリ152に転送する画像処理部A〜E(111〜115)を有する。これら画像処理部111〜115はバスマスタとなり、メインメモリ152に対して、読み出しや書き込みを行う。また、これら画像処理部111〜115のメインメモリ152に対するアクセスはバス調停部130により調停され、バス142を介して、メモリコントローラ151に伝えられる。尚、画像処理部が5個であることはあくまで一例にすぎない。更に、コントローラ10は、メモリコントローラ151に接続されるバス141、バス142及びバス143の転送データ量を監視し、転送データの合計帯域を算出する帯域モニタ(帯域監視部)150を有する。
The
次に帯域モニタ150について説明する。メモリコントローラ151とメインメモリ152との間、即ちメモリコントローラ151のメモリ側の転送速度(メモリ帯域)は、メインメモリ152の動作周波数やデータビット幅、データ転送効率でほぼ決まる。データ転送効率とは、理論上の最大データ転送量に対する、実際に利用できるデータ転送量の割合である。一般的に、分散されたアドレスのアクセスが多い場合、データの転送効率は低く、連続するアドレスを順にアクセスすることが多い場合はデータ転送効率は高い。メモリ帯域の算出方法は、以下の式で表される。
Next, the band monitor 150 will be described. The transfer speed (memory bandwidth) between the
メモリ帯域[MB/s]=(メモリ動作周波数[MHz])×(メモリバス幅[ビット])×(メモリデータ転送効率[%])/8
図2は、メモリ帯域の算出例を示す図である。
Memory bandwidth [MB / s] = (memory operating frequency [MHz]) × (memory bus width [bit]) × (memory data transfer efficiency [%]) / 8
FIG. 2 is a diagram illustrating an example of calculating the memory bandwidth.
帯域モニタ150がバス141、バス142及びバス143の転送データ量を監視し、算出される転送データの合計帯域(バス帯域)がメモリ帯域を下回る場合には、各バスからのアクセスは遅延なくメインメモリ152にデータが送られる。一方、バス帯域の値がメモリ帯域の値に一致するか、或いは近い値の場合は、メモリコントローラ151のメモリ側のデータ転送量が限界に近い状態であり、各バスからのアクセスに対して、待ち時間が生じている可能性が大きい。よって、リアルタイム処理が要求されるバス143に接続されるスキャン処理部160のメインメモリ152に対するアクセス速度が低下し、スキャン処理で必要されるリアルタイム処理が破たんしかねない。
The bandwidth monitor 150 monitors the transfer data amount of the
よって、メモリ帯域の値、又は、その値より少し小さい値を閾値として、帯域モニタ150が算出するバス帯域の値が、その閾値を超えた場合には、リアルタイム処理が破たんしないためのバス帯域制御が必要になるとして以下の説明する制御を行う。
Therefore, when the bus bandwidth value calculated by the
図3は、実施形態1に係る画像処理装置におけるスキャン処理部160の構成を説明するブロック図である。
FIG. 3 is a block diagram illustrating the configuration of the
スキャン処理部160は、スキャナ部161からのデータを処理するスキャン画像処理部301と緩衝バッファとして使用するショートバッファ302を有する。スキャン処理部160は、スキャナ部161からの画像データを一度、ショートバッファ302に書き込む。またスキャン処理部160は、ショートバッファ302に画像データが格納されている限り、その画像データを読み出してスキャン画像処理部301へ送って画像処理を施す。更に、スキャン処理部160は、スキャン画像処理部301で処理された画像データを、バス143を介してメモリコントローラ151へ送る。
The
スキャン処理部160は、ショートバッファ302に格納されるデータ量を監視するショートバッファモニタ303を有する。ショートバッファモニタ303によるショートバッファ302に格納されるデータ量の監視は、例えば、ショートバッファモニタ303にショートバッファ302に格納されるデータ量を示すカウンタ(不図示)を設ける。そして、そのカウンタにより、ショートバッファ302に書き込むデータ量と、ショートバッファ302から読み出すデータ量を計測することで実現できる。このときショートバッファモニタ303は、データの書き込みを検知するとデータ量を示すカウンタをインクリメントし、データの読出しを検知するとカウンタをデクリメントする。そして、このカウンタの値をレジスタに割り付けて、CPU101がそのレジスタをリードすることで、ショートバッファ302のデータ量を取得することができる。また、ショートバッファ302が、例えばSRAMで構成されていれば、次にデータを書き込むライトアドレスと、次にデータを読み出するアドレスとの差分から、ショートバッファ302に格納されているデータ量を取得してもよい。
The
図4は、実施形態1に係るバス調停部130がバス調停に使用するバスマスタ管理テーブルの一例を示す図である。尚、インデックスは、このバスマスタ管理テーブルの一部ではなく、後述するCPU101がバスマスタ管理テーブルを上から順に参照する処理を説明するためのものである。
FIG. 4 is a diagram illustrating an example of a bus master management table used by the
ここではバスマスタEが最も優先順位が高く、バスマスタDが最も優先順位が低くなっている。また初期状態では、いずれのバスマスタも稼働中でなく、またアクセス制限も発生していない。 Here, the bus master E has the highest priority, and the bus master D has the lowest priority. In the initial state, none of the bus masters is in operation and no access restriction occurs.
図5は、実施形態1に係る画像処理装置におけるバスマスタ管理テーブルの初期化処理を説明するフローチャートである。この処理は、画像処理装置の電源投入後のバスマスタ管理テーブルの初期化処理を示すフローチャートである。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 5 is a flowchart for explaining initialization processing of the bus master management table in the image processing apparatus according to the first embodiment. This process is a flowchart showing the initialization process of the bus master management table after the image processing apparatus is powered on. Note that the processing shown in this flowchart is executed by the
まずS501でCPU101は、例えば図4に示すようなバスマスタ管理テーブルをメインメモリ152に作成する。このバスマスタ管理テーブルは、CPU101が各バスマスタの使用状況を管理するためのものである。ここでCPU101は、優先順位が低い順、言い換えれば、リアルタイム処理に対する悪影響が少ない順にバスマスタ管理テーブルの行を作成する。
First, in step S501, the
次にS502に進みCPU101は、そのバスマスタ管理テーブルの全てのバスマスタの「稼働中」の欄を「No」に初期化する。次にS503に進みCPU101は、そのバスマスタ管理テーブルの全てのバスマスタの「アクセス制限」の欄を「No」に初期化して、この処理を終了する。こうしてバスマスタ管理テーブルを作成し、初期化した状態を図4に示している。
In step S <b> 502, the
図6は、実施形態1に係る画像処理装置において、ジョブを開始するときのバス帯域制御処理を説明するフローチャートで、操作部105からの指示により、ジョブが開始されるときに実行される処理のフローチャートである。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 6 is a flowchart for explaining bus bandwidth control processing when starting a job in the image processing apparatus according to the first embodiment. Processing executed when a job is started according to an instruction from the
まずS601でCPU101は、操作部105から指示されたジョブから、そのジョブで使用するバスマスタを取得する。次にS602に進みCPU101は、バスマスタ管理テーブルの、S601で取得したバスマスタの「稼働中」の欄を「Yes」に更新する。次にS603に進みCPU101は、バスマスタ管理テーブルの、S601で取得したバスマスタの「アクセス制限」の欄を「No」に更新する。そしてS604に進みCPU101は、その指示されたジョブで使用されるバスマスタのアクセス制限を解除して、そのジョブに対応する画像処理部による画像処理を開始させる。対応するバスマスタのアクセス制限に関しては後述する。
First, in step S <b> 601, the
こうして指示されたジョブに対応する画像処理と、対応するバスマスタによるメインメモリ152へのアクセスが実行される。
Thus, image processing corresponding to the instructed job and access to the
図7は、実施形態1に係る画像処理装置において、画像処理部による画像処理が終了するときの処理を説明するフローチャートで、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御処理を説明する。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 7 is a flowchart for explaining processing when image processing by the image processing unit ends in the image processing apparatus according to the first embodiment. Processing for interrupting processing from each of the
まずS701でCPU101は、割り込み要因などから、処理が終了した画像処理部を特定し、その画像処理部に対応するバスマスタを取得する。次にS702に進みCPU101は、バスマスタ管理テーブルにおける、S701で取得したバスマスタの「稼働中」の欄を「No」に更新して、この処理を終了する。
In step S <b> 701, the
これにより、バスマスタ管理テーブルにおける、処理が終了したバスマスタの情報が更新される。 As a result, information on the bus master whose processing has been completed in the bus master management table is updated.
図8(A)は、実施形態1に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 8A is a flowchart for explaining processing for determining whether or not the bandwidth control processing is necessary in the image processing apparatus according to the first embodiment. In order to monitor the bus bandwidth acquired by the
まずS801でCPU101は、帯域モニタ150が検出しているバス帯域値を取得する。次にS802に進みCPU101は、S801で取得したバス帯域値と第1の所定値(第1閾値)とを比較する。ここでバス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS803に進み、そうでないときはこの処理フローを終了する。ここで、第1閾値とは前述した通り、メモリ帯域の値、或いは、その値より少し小さい値である。
First, in step S <b> 801, the
S803でCPU101は、ショートバッファモニタ303からショートバッファ302に格納されている残留データ量を取得する。そしてS804に進みCPU101は、S803で取得した残留データ量と第2所定値(第2閾値)とを比較する。ここで残留データ量が第2閾値を超えていれば、つまり、バスマスタのアクセス制限が必要な場合はS805に進み、そうでないときはこの処理を終了する。このバス帯域を監視する処理は一定時間間隔で繰り返し実行されるが、この監視処理間でショートバッファ302がスキャナ部161からのデータにより溢れてはならない。この時間間隔とスキャナ部161のデータ転送速度から、監視処理間でショートバッファ302に転送されるデータ量がわかる。ここでの第2閾値は、ショートバッファ302の空き量が、この転送されるデータ量、或いは、それより大きい量となるような値とすればよい。
In step S <b> 803, the
S805でCPU101は、優先順位の低いバスマスタのアクセスを制限する処理を行うが、この処理は図8(B)のフローチャートを参照して説明する。
In step S <b> 805, the
図8(B)は、図8(A)のS805のバスマスタのアクセス制御処理を説明するフローチャートである。 FIG. 8B is a flowchart for explaining the access control processing of the bus master in S805 of FIG.
まずS810でCPU101は、バスマスタ管理テーブルを順に参照するための変数INDEX(メインメモリ152に設けられている)を「0」に初期化する。次にS811に進みCPU101は、バスマスタ管理テーブルを参照し、変数INDEXの値に対応するバスマスタの「稼働中」と「アクセス制限」欄の内容を取得する。次にS812に進みCPU101は、「稼働中」が「Yes」で、かつ「アクセス制限」が「No」であるかを判定する。ここで「稼働中」が「Yes」で、かつ「アクセス制限」が「No」であれば、そのバスマスタは実際に稼働しているためS813へ進み、そうでないときはS815に進む。
First, in step S810, the
S813でCPU101は、バスマスタ管理テーブルにおける、変数INDEXの値に対応するバスマスタの「アクセス制限」欄を「Yes」に更新する。そしてS814に進みCPU101は、バスマスタ管理テーブルにおける、変数INDEXの値に対応するバスマスタのアクセスを制限して、この処理を終了する。この場合のアクセス制限は、画像処理部111〜115にアクセス制限を指示するレジスタを設け、アクセス制限を指示された画像処理部111〜115は、対応するバス121〜125に対するアクセス間隔を広げることで実現できる。またバス調停部130のバス121〜125に対する調停優先度を制御する、即ち、アクセスを制限したいバスマスタのバスに対する調停の優先度を下げることで、アクセス制限を行ってもよい。
In step S813, the
一方、S812でCPU101が「稼働中」が「No」、又は「アクセス制限」が「Yes」であると判定した場合はS815へ処理を進める。S815でCPU101は、次にバスマスタの情報を参照するために変数INDEXをインクリメントする。そしてS816に進みCPU101は、変数INDEXの値とバスマスタ管理テーブルに登録されたバスマスタの数とを比較する。ここで変数INDEXの値がバスマスタの数より小さい場合、つまりバスマスタ管理テーブルに参照していないバスマスタがある場合はS811へ戻り、バスマスタ管理テーブルの参照を続ける。一方、そうでないときは、この処理を終了する。
On the other hand, if the
このようにバスマスタのアクセス制御処理において、優先順位の最も低いバスマスタから、そのバスマスタの稼働状態とアクセス制限の有無を調べ、稼働中でアクセス制限がなされていないバスマスタをアクセス制御処理の対象として決定する。そしてその決定されたバスマスタに対してアクセス制御処理を実行する。 In this way, in the bus master access control process, the bus master with the lowest priority is checked for the operating state of the bus master and whether there is an access restriction, and the bus master that is in operation and has no access restrictions is determined as the target of the access control process. . Then, an access control process is executed for the determined bus master.
以上に説明したように実施形態1によれば、帯域モニタが検知しているバス帯域の値が、例え、閾値を超えていたとしても、リアルタイム処理が要求されるショートバッファの残留データ量が閾値を超えなければバスマスタのアクセス制限は行われない。その結果、無駄なバスマスタのアクセス制限が抑えられ、画像処理装置の性能低下が抑えられる。 As described above, according to the first embodiment, even if the value of the bus bandwidth detected by the bandwidth monitor exceeds the threshold value, the residual data amount of the short buffer that requires real-time processing is the threshold value. If it does not exceed, access restriction of the bus master is not performed. As a result, useless bus master access restrictions are suppressed, and performance degradation of the image processing apparatus is suppressed.
また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照して、アクセス制限を行う対象のバスマスタを決定する。これにより、稼働中でアクセス制限が課せられていないバスマスタのうち、最も優先順位の低いバスマスタを、アクセス制限を行う対象のバスマスタとして決定できる。 Also, when performing bus master access restriction, the bus master management table is referenced to determine the bus master to be subject to access restriction. Thus, the bus master having the lowest priority among the bus masters that are in operation and are not subject to access restrictions can be determined as the bus master that is subject to access restriction.
[実施形態2]
図9は、本発明の実施形態2に係る画像処理装置の構成を説明するブロック図である。実施形態1に係る画像処理装置の装置構成との相違点はスキャナ部がなく、プリンタ部171が存在する点である。
[Embodiment 2]
FIG. 9 is a block diagram illustrating the configuration of the image processing apparatus according to the second embodiment of the present invention. The difference from the apparatus configuration of the image processing apparatus according to the first embodiment is that there is no scanner unit and a
実施形態2に係る画像処理装置は、画像処理や画像入出力制御を行うためのコントローラ10と、ユーザが各種の操作及び設定変更を行うための操作部105と、操作部105からの指示に従い画像データを用紙に印刷するプリンタ部171とを有する。プリンタ部171は、プリンタ部171の制御を行う図示しないCPUや画像形成や定着を行うための図示しない感光体ドラムや定着器を有する。コントローラ10は、メインメモリ152に格納される画像データを処理し、プリンタ部171へ画像データを転送するプリント処理部170を有する。その他の構成は、前述の実施形態1に係る画像処理装置の装置構成と同じであるため、それらの説明を省略する。
The image processing apparatus according to the second embodiment includes a
図10は、実施形態2に係る画像処理装置に係るプリント処理部170の構成の例を説明するブロック図である。
FIG. 10 is a block diagram illustrating an example of the configuration of the
プリント処理部170は、バス144を介してメモリコントローラ151から受け取った画像データを処理するプリント画像処理部1001を有する。また、プリント処理部170は、プリント画像処理部1001からの画像データをメインメモリ152上のリングバッファ領域に書き込むリングバッファライト制御部1002を有する。更に、リングバッファ領域に格納された画像データを読み出すリングバッファリード制御部1003を有する。またプリント処理部170は、緩衝バッファとして使用するショートバッファ1004を有し、リングバッファリード制御部1003でリングバッファから読み出された画像データは、ショートバッファ1004を介してプリンタ部171へ送られる。
The
リングバッファライト制御部1002はライトポインタを、リングバッファリード制御部1003はリードポインタを有し、リングバッファライト制御部1002はリードポインタを、リングバッファリード制御部1003はライトポインタをそれぞれ参照する。リングバッファライト制御部1002は、ライトポインタとリードポインタの値から、リングバッファ領域に空きが存在すると判断するとリングバッファ領域にデータを書き込む。一方、リングバッファリード制御部1003は、ライトポインタとリードポインタの値から、リングバッファ領域にデータが存在すると判断したときにデータを読み出す。このとき、リードポインタがライトポインタを追いかけるように制御され、かつライトポインタがリードポインタを追い越さないように制御される。
The ring buffer
更に、プリント処理部170は、ショートバッファ1004に格納されるデータ量を監視するショートバッファモニタ1005を有する。ショートバッファ1004に格納されるデータ量の監視は、例えば、ショートバッファモニタ1005内にデータ量を示すカウンタ(不図示)を設け、ショートバッファ1004に対するデータの書き込みと読み出しを監視することで実現する。このときショートバッファモニタ1005は、ライトの検知でデータ量を示すカウンタをインクリメントし、リードの検知でカウンタをデクリメントする。そして、このカウンタの値をレジスタに割り付けて、CPU101がそのレジスタをリードすることで知ることができる。
The
また、ショートバッファ1004がSRAMで構成されていれば、次にライトすべきライトアドレスと次にリードすべきリードアドレスの差から、ショートバッファ1004に格納されるデータ量を算出してもよい。
Further, if the
図11は、実施形態2に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。尚、実施形態2における、電源投入後のバス帯域制御処理に関する初期化の制御フローは図5に示す実施形態1に係る画像処理装置と同じである。また実施形態2における、操作部105からの指示により、ジョブが開始されるときに実行される制御フローは図6の実施形態1に係る画像処理装置と同じである。更に実施形態2における、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御フローは図7の実施形態1に係る画像処理装置と同じである。
FIG. 11 is a flowchart for explaining processing for determining whether or not bandwidth control processing is necessary in the image processing apparatus according to the second embodiment. In order to monitor the bus bandwidth acquired by the
次に図11のフローチャートを用いて、帯域モニタ150で算出されるバス帯域を監視するために、一定時間間隔で繰り返し実行される制御フローを説明する。同図で、S1103とS1104が、前述の実施形態1とは異なる処理である。
Next, a control flow repeatedly executed at regular time intervals in order to monitor the bus bandwidth calculated by the
まずS1101でCPU101は、帯域モニタ150からバス帯域値を取得する。次にS1102に進みCPU101は、S1101で取得したバス帯域値と第1閾値とを比較する。ここでバス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS1103へ処理を進め、そうでないときはこの処理を終了する。ここで、第1閾値は、前述した通り、メモリ帯域の値、或いは、その値より少し小さい値である。
In step S <b> 1101, the
S1103でCPU101は、ショートバッファモニタ1005からショートバッファ1004に格納された残留データ量を取得する。次にS1104に進みCPU101は、残留データ量と第2閾値とを比較する。ここで残留データ量が第2閾値を下回っていれば、つまり、バスマスタのアクセス制限が必要な場合はS1105へ処理を進め、そうでないときは、この処理を終了する。このバス帯域を監視する処理は一定時間間隔で繰り返し実行されるが、この監視処理間でプリンタ部171に出力するデータをショートバッファ1004から絶やしてはならない。この時間間隔とプリンタ部171のデータ転送速度から、監視処理間でショートバッファ1004から読み出されるデータ量がわかる。ここでの第2閾値は、ショートバッファ1004のデータ量がこの読み出されるデータ量か、それより大きい量となるような値とすればよい。
In step S <b> 1103, the
S1105でCPU101は、優先順位の低いバスマスタのアクセスを制限する処理を行うが、この処理は図8(B)を参照して説明した処理と同じである。尚、実施形態2における第1閾値及び第2閾値は、前述の実施形態1の第1閾値及び第2閾値と同じであってもよく、或いは互いに異なる値であってもよい。
In step S1105, the
以上に説明したように実施形態2によれば、帯域モニタからのバス帯域の値が、例え閾値を超えていたとしても、プリンタに出力するデータを一時保存する緩衝バッファのデータ量が閾値を下回らなければ、バスマスタのアクセス制限は行われない。その結果、無駄なバスマスタのアクセス制限が抑えられ、画像処理装置の性能低下が抑えられる。 As described above, according to the second embodiment, even if the bus bandwidth value from the bandwidth monitor exceeds the threshold value, the data amount of the buffer buffer that temporarily stores the data to be output to the printer falls below the threshold value. Otherwise, the bus master access is not restricted. As a result, useless bus master access restrictions are suppressed, and performance degradation of the image processing apparatus is suppressed.
また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照してアクセス制限を行うバスマスタを決定する。これにより、稼働中でアクセス制限が課せられていないバスマスタのうち、帯域制限の対象となるバスマスタとして最も優先順位の低いバスマスタを決定できる。 Further, when performing bus master access restriction, the bus master for which access restriction is performed is determined with reference to the bus master management table. This makes it possible to determine the bus master having the lowest priority as the bus master subject to the bandwidth restriction among the bus masters that are in operation and are not subject to the access restriction.
[実施形態3]
本発明の実施形態3に係る画像処理装置の装置構成は、実施形態2に係る画像処理装置の装置構成と同じである。
[Embodiment 3]
The apparatus configuration of the image processing apparatus according to the third embodiment of the present invention is the same as the apparatus configuration of the image processing apparatus according to the second embodiment.
実施形態2に係る画像処理装置で、プリント動作が行われていない場合、プリント処理部170内のショートバッファ1004はエンプティ(格納されたデータ量がゼロ)である。プリント動作が行われていない、即ち、リアルタイム処理が行われていないならば、当然バスマスタの制限を行うべきではない。しかしながら、図11のフローチャートで明らかなように、帯域モニタ150のバス帯域値が閾値を超えていると、プリント動作が行われていない場合、S1104からS1005に分岐してしまい、バスマスタ・アクセス制限処理が実行されてしまう。実施形態3の画像処理装置は、このような問題を解決する。
In the image processing apparatus according to the second embodiment, when the printing operation is not performed, the
まず、ショートバッファ1004がプリント画像処理部1001により画像データで満たされた後に、プリンタ部171へのデータ転送を開始する。これはデータ転送開始直後に、データ転送が途切れることを防ぐためである。つまり、プリンタ部171へのデータ転送を開始するまでは、ショートバッファ1004の残留データ量を気にすることはない。
First, after the
また、プリンタ部171へのデータ転送中で、ページの最後の画像データ、つまり、プリンタ部171へのデータ転送の最終データがショートバッファ1004に書き込まれた後は、ショートバッファ1004の残留データ量はゼロに向かって減少していく。しかしながら、この場合、ショートバッファ1004の残留データ量の減少によって、プリンタ部171へのデータ転送が途切れることはない。
Further, during the data transfer to the
図12は、実施形態3に係る画像処理装置におけるプリント処理部170の構成を説明するブロック図である。尚、図12において、前述の図10の構成と共通する部分は同じ参照番号で示し、それらの説明を省略する。
FIG. 12 is a block diagram illustrating the configuration of the
プリント処理部170は、バス144を介してメモリコントローラ151から受け取った画像データを処理するプリント画像処理部1001を有する。プリント処理部170は、プリント画像処理部1001からの画像データをメインメモリ152のリングバッファ領域に書き込むリングバッファライト制御部1002とリングバッファ領域に格納された画像データを読み出すリングバッファリード制御部1003を有する。プリント処理部170は、緩衝バッファとして使用するショートバッファ1004を有し、リングバッファリード制御部1003でリングバッファから読み出された画像データはショートバッファ1004を介してプリンタ部171へ送られる。
The
リングバッファライト制御部1002はライトポインタを、リングバッファリード制御部1003はリードポインタをそれぞれ有する。そしてリングバッファライト制御部1002はリードポインタを、リングバッファリード制御部1003はライトポインタをそれぞれ参照する。リングバッファライト制御部1002はライトポインタとリードポインタの値から、リングバッファ領域に空きが存在すると判断したときにデータを書き込む。一方、リングバッファリード制御部1003はライトポインタとリードポインタの値から、リングバッファ領域にデータが存在すると判断したときにデータを読み出す。このとき、リードポインタがライトポインタを追いかけるように制御され、かつライトポインタがリードポインタを追い越さないように制御される。
The ring buffer
プリント処理部170は、ショートバッファ1004に格納されるデータ量を監視するショートバッファモニタ1005を有する。ショートバッファ1004に格納されるデータ量を監視は、例えば、ショートバッファモニタ1005内にデータ量を示すカウンタ(不図示)を設け、ショートバッファ1004に対するデータのライトとリードを監視することで実現する。もちろん、ショートバッファモニタ1005は、データの書き込みの検知でデータ量を示すカウンタをインクリメントし、データの読出しの検知でカウンタをデクリメントする。そして、このカウンタの値をレジスタに割り付けて、CPU101がそのレジスタを読み出すことで、格納されているデータ量を取得できる。また、ショートバッファ1004がSRAMで構成されていれば、次にライトすべきライトアドレスと次にリードすべきリードアドレスの差から、ショートバッファ1004に格納されているデータ量を取得してもよい。
The
更に、プリント処理部170は、実施形態3の特徴であるプリンタ部171のデータ転送状態を監視するデータ転送状態監視部1201を有する。データ転送状態監視部1201はリアルタイム処理が必要な期間か否かのリアルタイムフラグ(不図示)を内部に有し、CPU101は所定のレジスタをリードすることでそれを知ることができる。
Further, the
転送状態監視部1201は、最初、リアルタイムフラグを「0」に初期化する。転送状態監視部1201は、プリンタ部171のデータ転送の開始を示す信号を参照し、データ転送開始を検知すると、リアルタイムフラグを「1」にセットする。そして転送状態監視部1201は、リングバッファリード制御部1003から、ページの最終データをショートバッファ1004に書き込み通知信号を受け、ページの最終データの書き込みで、リアルタイムフラグを「0」に戻す。このようにして転送状態監視部1201がリアルタイムフラグを制御することで、リアルタイム処理が必要な期間のみリアルタイムフラグが「1」となる。
The transfer
図13は、実施形態3に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。尚、電源投入後のバス帯域制御処理に関する初期化の制御は、図5の実施形態1に係るフローチャートと同じである。また、操作部105からの指示により、ジョブが開始されるときに実行される制御は、図6の実施形態1に係るフローチャートと同じである。更に、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御は、図7の実施形態1に係るフローチャートと同じである。
FIG. 13 is a flowchart for explaining processing for determining whether or not bandwidth control processing is necessary in the image processing apparatus according to the third embodiment. In order to monitor the bus bandwidth acquired by the
次に図13のフローチャートを参照して、帯域モニタ150で算出されるバス帯域を監視するために、一定時間間隔で繰り返し実行される制御を説明する。同図で、実施形態2との差異はS1303とS1304の処理が追加されている点にある。
Next, in order to monitor the bus bandwidth calculated by the
S1301でCPU101は、帯域モニタ150からバス帯域値を取得する。次にS1302に進みCPU101は、バス帯域値と第1閾値と比較する。バス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS1303へ処理を進め、そうでないときは、この処理を終了する。ここで、第1閾値とは前述した通り、メモリ帯域の値、或いは、その値より少し小さい値である。
In step S <b> 1301, the
S1303でCPU101は、データ転送状態監視部1201からリアルタイムフラグの内容を取得する。次にS1304に進みCPU101は、リアルタイムフラグの内容が「1」であるか否かを判定する。リアルタイムフラグの内容が「1」、即ち、リアルタイム処理が必要な場合はS1305へ処理を進め、そうでないときはこの処理フローを終了する。
In step S <b> 1303, the
S1305でCPU101は、ショートバッファ1004に格納された残留データ量を取得する。次にS1306に進みCPU101は、残留データ量と第2閾値とを比較する。ここで残留データ量が第2閾値を下回っていれば、つまり、バスマスタのアクセス制限が必要な場合はS1307へ処理を進め、そうでないときは、この処理フローを終了する。バス帯域を監視する処理は一定時間間隔で繰り返し実行されるが、この監視処理間でプリンタ部171へのデータをショートバッファ1004から絶やしてはならない。この時間間隔とプリンタ部171のデータ転送速度から、監視処理間でショートバッファ1004から読み出されるデータ量がわかる。ここでの閾値は、ショートバッファ1004のデータ量がこの読み出されるデータ量か、それより大きい量となるような値とすればよい。S1307でCPU101は、優先順位の低いバスマスタのアクセスを制限する処理を行うが、この処理は図8(B)の処理と同じである。
In step S <b> 1305, the
以上に説明したように実施形態3によれば、帯域モニタからのバス帯域の値が、例え、閾値を超えていたとしても、プリント処理でリアルタイム性が要求されない期間であれば、バスマスタのアクセス制限は行われない。更に、プリント処理でリアルタイム性が要求される期間であっても、緩衝バッファの残留データ量が閾値を下回らなければ、バスマスタのアクセス制限は行われない。その結果、無駄なバスマスタのアクセス制限が抑えられることにより、画像処理装置の性能低下が抑えられる。また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照してアクセス制限を行うバスマスタを決定する。これにより、稼働中でアクセス制限が課せられていないバスマスタのうち、最も優先順位の低いバスマスタを選択できる。尚、実施形態3における第1閾値及び第2閾値は、前述の実施形態1の第1閾値及び第2閾値と同じであってもよく、或いは互いに異なる値であってもよい。 As described above, according to the third embodiment, even if the value of the bus bandwidth from the bandwidth monitor exceeds the threshold, if the real time property is not required in the print processing, the bus master access restriction is performed. Is not done. Further, even if the real time property is required in the print processing, the bus master access is not restricted unless the residual data amount in the buffer buffer falls below the threshold value. As a result, useless bus master access restrictions are suppressed, so that performance degradation of the image processing apparatus can be suppressed. Further, when performing bus master access restriction, the bus master for which access restriction is performed is determined with reference to the bus master management table. As a result, the bus master with the lowest priority can be selected from the bus masters that are in operation and are not subject to access restrictions. The first threshold value and the second threshold value in the third embodiment may be the same as the first threshold value and the second threshold value in the first embodiment described above, or may be different from each other.
[実施形態4]
図14は、本発明の実施形態4に係る画像処理装置の構成を説明するブロック図である。実施形態4に係る画像処理装置と、実施形態1や実施形態2に係る画像処理装置の構成との相違点は、スキャナ部161とプリンタ部171の両方が存在する点である。ここで前述の実施形態1〜3に係る画像処理装置の構成の構成と共通する部分は同じ参照番号で示し、それらの説明を省略する。
[Embodiment 4]
FIG. 14 is a block diagram illustrating a configuration of an image processing apparatus according to the fourth embodiment of the present invention. The difference between the image processing apparatus according to the fourth embodiment and the configuration of the image processing apparatus according to the first or second embodiment is that both the
図15は、実施形態4に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。尚、電源投入後のバス帯域制御処理に関する初期化の制御は図5のフローチャートと同じである。また、操作部105からの指示により、ジョブが開始されるときに実行される制御は、図6のフローチャートと同じである。更に、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御は、図7のフローチャートと同じである。
FIG. 15 is a flowchart for explaining processing for determining whether or not bandwidth control processing is necessary in the image processing apparatus according to the fourth embodiment. In order to monitor the bus bandwidth acquired by the
次に図15のフローチャートを参照して、帯域モニタ150で算出されるバス帯域を監視するために、一定時間間隔で繰り返し実行される制御フローを説明する。同図で、S1503からS1506が、前述の実施形態1や実施形態2とは異なる処理である。
Next, a control flow that is repeatedly executed at regular time intervals in order to monitor the bus bandwidth calculated by the
S1501でCPU101は、帯域モニタ150からバス帯域値を取得する。次にS1502に進みCPU101は、取得したバス帯域値と第1閾値とを比較する。ここでバス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS1503へ移行し、そうでないときは、この処理フローを終了する。ここで、第1閾値とは前述した通り、メモリ帯域の値、或いはその値より少し小さい値である。
In step S <b> 1501, the
S1503でCPU101は、スキャン処理部160のショートバッファ302に格納された残留データ量を取得する。次にS1504に進みCPU101は、残留データ量と第2閾値とを比較する。ここで残留データ量が第2閾値を超えていれば、つまり、バスマスタのアクセス制限が必要な場合はS1507へ移行し、バスマスタ・アクセス制限処理が行われる。そうでないときは次のステップへ進む。
In step S <b> 1503, the
S1504で残留データ量が第2閾値を超えていなければS1505に進みCPU101は、プリント処理部170のショートバッファ1004に格納された残留データ量を取得する。そしてS1506でCPU101は、残留データ量と第3閾値とを比較する。ここで残留データ量が第3閾値を下回っていれば、つまり、バスマスタのアクセス制限が必要な場合はS1507へ進み、そうでないときは、この処理を終了する。S1507でCPU101は、優先順位の低いバスマスタのアクセスを制限する処理を行うが、この処理は図8(B)を参照して説明した処理と同じである。
If the residual data amount does not exceed the second threshold value in S1504, the process advances to S1505, and the
尚、ここで、第1〜第2閾値は、前述の実施形態における第1及び第2閾値と同じであっても、或いは異なってもよい。また第3閾値も、前述の実施形態における第1及び第2閾値と同じであっても、或いは異なってもよい。 Here, the first and second threshold values may be the same as or different from the first and second threshold values in the above-described embodiment. Further, the third threshold value may be the same as or different from the first and second threshold values in the above-described embodiment.
以上に説明したように実施形態4によれば、帯域モニタからのバス帯域の値が閾値を超えていたとしても、スキャン処理部のショートバッファの残留データ量が閾値を超えなくて、かつ、プリント処理部のショートバッファの残留データ量が閾値を下回らなければ、バスマスタのアクセス制限は行われない。その結果、無駄なバスマスタのアクセス制限が抑えられ、画像処理装置の性能低下が抑えられる。 As described above, according to the fourth embodiment, even if the bus bandwidth value from the bandwidth monitor exceeds the threshold value, the residual data amount of the short buffer of the scan processing unit does not exceed the threshold value, and the print If the remaining data amount in the short buffer of the processing unit does not fall below the threshold value, the bus master access is not restricted. As a result, useless bus master access restrictions are suppressed, and performance degradation of the image processing apparatus is suppressed.
また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照してアクセス制限を対象のバスマスタを決定する。これにより、稼働中でアクセス制限が課せられていないバスマスタのうち、最も優先順位の低いバスマスタを、帯域制限の対象のバスマスタとして選択できる。 When performing bus master access restriction, the bus master subject to access restriction is determined with reference to the bus master management table. As a result, the bus master with the lowest priority among the bus masters that are in operation and are not subject to access restrictions can be selected as the band master subject to bandwidth restriction.
[実施形態5]
次に本発明の実施形態5を説明する。実施形態5に係る画像処理装置の構成は、前述の実施形態2に係る画像処理装置の構成と同じであるため、その説明を省略する。
[Embodiment 5]
Next, a fifth embodiment of the present invention will be described. Since the configuration of the image processing apparatus according to the fifth embodiment is the same as the configuration of the image processing apparatus according to the second embodiment, the description thereof is omitted.
図16は、実施形態5に係る画像処理装置におけるプリント処理部170の構成を説明するブロック図である。図16において、前述の実施形態2に係るプリント処理部170の構成と共通する部分は同じ参照番号で示し、それらの説明を省略する。
FIG. 16 is a block diagram illustrating the configuration of the
このプリント処理部170は、リングバッファ領域に格納されるデータ量を監視するリングバッファモニタ1601を有している。リングバッファ領域に格納されるデータ量は、リングバッファライト制御部1002とリングバッファリード制御部1003が持つライトポインタとリードポインタの値から計算できる。そして、この計算値をレジスタに割り付けて、CPU101がそのレジスタをリードすることでリングバッファ領域に格納されるデータ量を知ることができる。
The
実施形態5に係る画像処理装置における、電源投入後のバス帯域制御処理に関する初期化の制御は図5のフローチャートと同じである。また、操作部105からの指示により、ジョブが開始されるときに実行される制御は、図6のフローチャートと同じである。更に、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御は、図7のフローチャートと同じである。
In the image processing apparatus according to the fifth embodiment, the initialization control related to the bus bandwidth control process after power-on is the same as the flowchart of FIG. Control executed when a job is started by an instruction from the
図17は、実施形態5に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 17 is a flowchart for describing processing for determining whether or not bandwidth control processing is necessary in the image processing apparatus according to the fifth embodiment. The processing is repeated at regular time intervals to monitor the bus bandwidth acquired by the
まずS1701でCPU101は、帯域モニタ150からバス帯域値を取得する。次にS1702に進みCPU101は、S1701で取得したバス帯域値と第1閾値とを比較する。ここでバス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS1703に進み、そうでないときは、この処理を終了する。ここで、第1閾値とは前述した通り、メモリ帯域の値、或いは、その値より少し小さい値である。
In step S <b> 1701, the
S1703でCPU101は、リングバッファモニタ1601からリングバッファ領域に格納されている残留データ量を取得する。そしてS1704に進みCPU101は、その残留データ量と第2閾値とを比較するここで。残留データ量が第2閾値を超えていれば、即ち、リングバッファ領域に十分なデータ格納されている場合はS1705に進み、そうでないときはS1706に進んで、前述の図8(B)のフローチャートで示す処理を実行する。
In step S <b> 1703, the
S1705でCPU101は、リングバッファ領域へのライトアクセスを制限する。このライトアクセスの制限は、リングバッファライト制御部1002にアクセス制限を指示するレジスタを設け、アクセス制限を指示されたリングバッファライト制御部1002はライトアクセスの間隔を広げることで実現できる。またメモリコントローラ151のバス144のライトに対する調停優先度を制御することで、アクセス制限を行ってもよい。
ステップS806では、CPU101が優先順位の低いバスマスタのアクセスを制限する処理を行うが、この処理は図8のステップS8061からステップS8067ショートで行われる。
In step S1705, the
In step S806, the
以上に説明したように実施形態5によれば、帯域モニタ150で検出されたバス帯域の値が閾値を超えたとき、リングバッファ領域の残留データ量が閾値を超えていればバスマスタのアクセス制限は行われない。その代わりにリングバッファ領域へのライトアクセスを制限することにより、バス帯域の値を下げるが、非リアルタイム処理の速度を低下させることはない。その結果、バスマスタの無駄なアクセス制限が抑えられ、画像処理装置の性能低下が抑えられる。また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照して、アクセス制限を行うバスマスタを決定する。これにより、稼働中、でアクセス制限が課せられていないバスマスタの内、最も優先順位の低いバスマスタをアクセス制限の対象バスマスタとして決定することができる。尚、実施形態5における第1閾値及び第2閾値は、前述の実施形態の第1閾値及び第2閾値と同じであってもよく、或いは互いに異なる値であってもよい。
As described above, according to the fifth embodiment, when the value of the bus bandwidth detected by the
[実施形態6]
図18は、実施形態6に係る画像処理装置におけるプリント処理部170の構成を説明するブロック図である。図18において、前述の実施形態5に係る図16のプリント処理部170の構成と共通する部分は同じ参照番号で示し、それらの説明を省略する。
[Embodiment 6]
FIG. 18 is a block diagram illustrating the configuration of the
前述の実施形態に係る画像処理装置において、プリント動作の開始時点では、リングバッファ領域はエンプティ(格納されたデータ量がゼロ)である。プリント動作が行われていない、即ち、リアルタイム処理が行われていないならば、当然バスマスタの制限を行うべきではない。しかしながら、図17のフローチャートで明らかなように、帯域モニタ150のバス帯域値が閾値を超えていると、プリント動作が行われていない場合はS1704に分岐してしまい、バスマスタ・アクセス制限処理が実行されてしまう。実施形態6に係る画像処理装置は、このような問題を解決する。
In the image processing apparatus according to the above-described embodiment, the ring buffer area is empty (the amount of stored data is zero) at the start of the printing operation. If the printing operation is not performed, that is, if the real-time processing is not performed, naturally the bus master should not be restricted. However, as is apparent from the flowchart of FIG. 17, if the bus bandwidth value of the
リングバッファ領域がプリント画像処理部1001からの画像データで満たされた後に、プリンタ部171へのデータ転送を開始する。これはデータ転送開始直後に、データ転送が途切れることを防ぐためである。つまり、プリンタ部171へのデータ転送を開始するまでは、リングバッファ領域の残留データ量を気にすることはない。プリンタ部171へのデータ転送中で、ページの最後の画像データ、つまり、プリンタ部171へのデータ転送の最終データがリングバッファ領域に書き込まれた後は、リングバッファ領域の残留データ量はゼロに向かって減少していく。しかしながら、この場合、リングバッファ領域の残留データ量の減少によって、プリンタ部171へのデータ転送が途切れることはない。図18では、図16のプリント処理部170の構成にデータ転送状態監視部1801が追加されている。
After the ring buffer area is filled with the image data from the print
プリント処理部170は、リングバッファ領域に格納されるデータ量を監視するリングバッファモニタ1601を有する。リングバッファ領域に格納されるデータ量はリングバッファライト制御部1002とリングバッファリード制御部1003が持つライトポインタとリードポインタの値から計算できる。そして、この計算値をレジスタに割り付けて、CPU101がそのレジスタをリードすることでリングバッファに格納されるデータ量を知ることができる。更にプリント処理部170は、プリンタ部171のデータ転送状態を監視するデータ転送状態監視部1801を有する。データ転送状態監視部1801は、リアルタイム処理が必要な期間であるか否かのリアルタイムフラグ(不図示)を内部に持ち、CPU101は所定のレジスタをリードすることで、そのフラグの値を知ることができる。
The
転送状態監視部1801は、最初、リアルタイムフラグを「0」に初期化する。転送状態監視部1801は、プリンタ部171のデータ転送の開始を示す信号を参照し、データ転送開始を検知すると、リアルタイムフラグを「1」にする。そして転送状態監視部1801は、リングバッファライト制御部1002から、ページの最終データをリングバッファへ書き込んだ通知信号を受け、そのページの最終データの書き込みで、リアルタイムフラグを「0」に戻す。転送状態監視部1801がこのように、リアルタイムフラグを制御することで、リアルタイム処理が必要な期間のみ、リアルタイムフラグが「1」となる。
The transfer state monitoring unit 1801 first initializes the real-time flag to “0”. The transfer state monitoring unit 1801 refers to a signal indicating the start of data transfer of the
図19は、実施形態6に係る画像処理装置において、帯域制御処理が必要かどうかを判定する処理を説明するフローチャートで、帯域モニタ150が取得するバス帯域を監視するために、一定時間間隔で繰り返し実行される。尚、このフローチャートで示す処理は、CPU101がROM103からメインメモリ152に展開したプログラムを実行することにより実行される。
FIG. 19 is a flowchart for explaining processing for determining whether or not bandwidth control processing is necessary in the image processing apparatus according to the sixth embodiment. In order to monitor the bus bandwidth acquired by the
実施形態6に係る画像処理装置における、電源投入後のバス帯域制御処理に関する初期化の制御は図5のフローチャートと同じである。また、操作部105からの指示により、ジョブが開始されるときに実行される制御は、図6のフローチャートと同じである。更に、各画像処理部111〜115からの処理終了割り込み等で、ある画像処理が終了した時点で実行される制御は、図7のフローチャートと同じである。
In the image processing apparatus according to the sixth embodiment, the initialization control related to the bus bandwidth control process after power-on is the same as the flowchart of FIG. Control executed when a job is started by an instruction from the
まずS1901でCPU101は、帯域モニタ150からバス帯域値を取得する。次にS1902に進みCPU101は、その取得したバス帯域値と第1閾値とを比較する。ここでバス帯域値が第1閾値を超えていれば、つまり、バスマスタのアクセス制限が必要かもしれない場合はS1903に進み、そうでないときは、この処理を終了する。ここで、第1閾値とは前述した通り、メモリ帯域の値、又は、その値より少し小さい値である。
First, in step S1901, the
S1903でCPU101は、データ転送状態監視部1801からリアルタイムフラグの内容を取得する。そしてS1904に進みCPU101は、そのアルタイムフラグが「1」か否かを判定する。ここでリアルタイムフラグが「1」であれば、リアルタイム処理が必要な場合であるためS1905に進み、そうでないときは、この処理を終了する。
In step S <b> 1903, the
S1905でCPU101は、リングバッファモニタ1607からリングバッファ領域に格納された残留データ量を取得する。そしてS1906に進みCPU101は、その残留データ量と第2閾値と比較する。ここで残留データ量が第2閾値を下回っていれば、つまり、バスマスタのアクセス制限が必要な場合はS1907へ移行し、そうでないときはS1908へ移行する。S1907でCPU101は、リングバッファ領域へのライトアクセスを制限する。このライトアクセスの制限は、リングバッファライト制御部1002にアクセス制限を指示するレジスタを設け、アクセス制限を指示されたリングバッファライト制御部1002は、ライトアクセスの間隔を広げることで実現できる。また、メモリコントローラ151のバス144のライトに対する調停優先度を制御することで、アクセス制限を行ってもよい。一方、S1908でCPU101は、優先順位の低いバスマスタのアクセスを制限する処理を行う。この処理は、前述の図8(B)のフローチャートを参照して説明した通りである。
In step S1905, the
以上に説明したように実施形態6によれば、帯域モニタが検出したバス帯域の値が閾値を超えていたとしても、プリント処理でリアルタイム性が要求されない期間であれば、バスマスタのアクセス制限は行われない。更に、プリント処理でリアルタイム性が要求される期間であれば、リングバッファ領域の残留データ量が閾値を下回らなければ、バスマスタのアクセス制限は行われない。その結果、バスマスタの無駄なアクセス制限が抑えられ、画像処理装置の性能低下が抑えられる。 As described above, according to the sixth embodiment, even if the value of the bus bandwidth detected by the bandwidth monitor exceeds the threshold value, the bus master access is restricted if the real-time property is not required in the print processing. I will not. Further, if the real time property is required in the print processing, the bus master access is not restricted unless the remaining data amount in the ring buffer area falls below the threshold value. As a result, useless access restrictions of the bus master are suppressed, and performance degradation of the image processing apparatus is suppressed.
また、バスマスタのアクセス制限を行う際、バスマスタ管理テーブルを参照して、アクセス制限を行うバスマスタを決定する。これにより、稼働中でアクセス制限が課せられていないバスマスタのうち、最も優先順位の低いバスマスタを、制限する対象のバスマスタとして選択できる。 Further, when performing bus master access restriction, the bus master for which access restriction is performed is determined with reference to the bus master management table. As a result, the bus master having the lowest priority among the bus masters that are in operation and are not subject to access restrictions can be selected as the bus master to be restricted.
尚、以上説明した実施形態では、それぞれ独立して各実施形態を説明したが、各実施形態の構成を適宜組み合わせてもよい。例えば、実施形態3に係るリアルタイムフラグを、実施形態1のスキャン処理部160、或いは実施形態4に係るスキャン処理部160、プリント処理部170に適用してもよい。尚、実施形態6における第1閾値及び第2閾値は、前述の実施形態の第1閾値及び第2閾値と同じであってもよく、或いは互いに異なる値であってもよい。
In the above-described embodiment, each embodiment has been described independently. However, the configuration of each embodiment may be appropriately combined. For example, the real-time flag according to the third embodiment may be applied to the
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。 The present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, in order to make the scope of the present invention public, the following claims are attached.
101…CPU、105…操作部、130…バス調停部、150…帯域モニタ、152…メインメモリ、160…スキャン処理部、161…スキャナ部、170…プリント処理部、171…プリンタ部、302,1004…ショートバッファ、303,1005…ショートバッファモニタ
DESCRIPTION OF
Claims (14)
前記複数のバスマスタによる前記メインメモリへのアクセスを検知してバス帯域を取得する帯域監視手段と、
リアルタイム処理が要求されるバスマスタと前記メインメモリとの間に設けられた緩衝バッファのデータ量を取得する取得手段と、
前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記緩衝バッファのデータ量と第2閾値との比較に応じて、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限するよう制御する制御手段と、
を有することを特徴とする画像処理装置。 An image processing apparatus having a plurality of bus masters accessing a main memory,
Band monitoring means for detecting access to the main memory by the plurality of bus masters and acquiring a bus band;
An acquisition means for acquiring a data amount of a buffer provided between the bus master and the main memory for which real-time processing is required;
The bus bandwidth acquired by the bandwidth monitoring unit exceeds the first threshold value, and the highest priority is selected from the plurality of bus masters according to the comparison between the buffer buffer data amount acquired by the acquisition unit and the second threshold value. Control means for controlling to limit access to the main memory by a bus master having a lower rank;
An image processing apparatus comprising:
前記制御手段は、前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記緩衝バッファのデータ量が前記第2閾値よりも大きい場合に、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限することを特徴とする請求項1に記載の画像処理装置。 The bus master that requires real-time processing is a bus master that processes data from the scanner,
When the bus bandwidth acquired by the bandwidth monitoring unit exceeds a first threshold and the data amount of the buffer buffer acquired by the acquiring unit is larger than the second threshold, the control unit is configured to output the plurality of bus masters. The image processing apparatus according to claim 1, wherein access to the main memory by a bus master having the lowest priority is restricted.
前記制御手段は、前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記緩衝バッファのデータ量が前記第2閾値よりも小さい場合に、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限することを特徴とする請求項1に記載の画像処理装置。 The bus master that requires real-time processing is a bus master that processes data to be output to a printer,
When the bus bandwidth acquired by the bandwidth monitoring unit exceeds a first threshold value and the data amount of the buffer buffer acquired by the acquisition unit is smaller than the second threshold value, the control unit is configured to output the plurality of bus masters. The image processing apparatus according to claim 1, wherein access to the main memory by a bus master having the lowest priority is restricted.
前記制御手段は、前記情報が前記リアルタイム処理が必要な期間を示しているときに、前記制御を実行することを特徴とする請求項3に記載の画像処理装置。 It further has setting means for setting information indicating whether or not the real-time processing is necessary.
The image processing apparatus according to claim 3, wherein the control unit executes the control when the information indicates a period in which the real-time processing is necessary.
前記設定手段は、前記格納手段から前記プリンタへのデータ転送の開始から、前記格納手段へ最終のデータの書き込むまでの間、前記情報を前記リアルタイム処理が必要な期間を示す情報に設定することを特徴とする請求項4に記載の画像処理装置。 Storage means for storing data to be output to the printer;
The setting means sets the information to information indicating a period in which the real-time processing is necessary from the start of data transfer from the storage means to the printer until the last data is written to the storage means. The image processing apparatus according to claim 4.
前記リングバッファへのデータの書き込みを制御するライト制御手段と、前記リングバッファからのデータの読み出しを制御するリード制御手段とを、更に有し、
前記ライト制御手段は、前記リングバッファにデータを書き込むときの書き込み位置を示すライトポインタを有し、前記リード制御手段は、前記リングバッファからデータを読み出す位置を示すリードポインタを有し、前記ライト制御手段と前記リード制御手段は、前記リードポインタが前記ライトポインタを追いかけるように制御され、かつ、前記ライトポインタが前記リードポインタを追い越さないように制御されることを特徴とする請求項5に記載の画像処理装置。 The storage means comprises a ring buffer;
A write control unit that controls writing of data to the ring buffer; and a read control unit that controls reading of data from the ring buffer;
The write control means has a write pointer indicating a write position when writing data to the ring buffer, and the read control means has a read pointer indicating a position for reading data from the ring buffer, and the write control 6. The means according to claim 5, wherein said means and said read control means are controlled so that said read pointer follows said write pointer, and said write pointer is controlled so as not to overtake said read pointer. Image processing device.
前記複数のバスマスタによる前記メインメモリへのアクセスを検知してバス帯域を取得する帯域監視手段と、
リアルタイム処理が要求されるバスマスタが、前記リアルタイム処理のためのデータを格納する格納手段と、
前記格納手段に格納されているデータ量を取得する取得手段と、
前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記データ量と第2閾値との比較に応じて、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限するよう制御し、
前記取得手段が取得した前記データ量が前記第2閾値よりも大きい場合に、前記格納手段へのデータの書き込みを制限するように制御する制御手段と、
を有することを特徴とする画像処理装置。 An image processing apparatus having a plurality of bus masters accessing a main memory,
Band monitoring means for detecting access to the main memory by the plurality of bus masters and acquiring a bus band;
Storage means for storing data for the real-time processing by a bus master that requires real-time processing;
Obtaining means for obtaining the amount of data stored in the storage means;
The bus bandwidth acquired by the bandwidth monitoring unit exceeds a first threshold, and the lowest priority among the plurality of bus masters according to a comparison between the data amount acquired by the acquisition unit and a second threshold. Control to restrict access to the main memory by the bus master,
Control means for controlling to limit writing of data to the storage means when the amount of data acquired by the acquisition means is greater than the second threshold;
An image processing apparatus comprising:
前記制御手段は、前記帯域監視手段が取得した前記バス帯域が第1閾値を超え、且つ前記取得手段が取得した前記データ量が前記第2閾値に等しいか、それよりも小さい場合に、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限することを特徴とする請求項7に記載の画像処理装置。 The bus master that requires real-time processing is a bus master that processes data to be output to a printer,
When the bus bandwidth acquired by the bandwidth monitoring unit exceeds a first threshold and the amount of data acquired by the acquisition unit is equal to or smaller than the second threshold, the control unit The image processing apparatus according to claim 7, wherein access to the main memory by a bus master having the lowest priority among the bus masters is restricted.
前記制御手段は、前記情報が前記リアルタイム処理が必要な期間を示しているときに、前記制御を実行することを特徴とする請求項8に記載の画像処理装置。 It further has setting means for setting information indicating whether or not the real-time processing is necessary.
The image processing apparatus according to claim 8, wherein the control unit executes the control when the information indicates a period in which the real-time processing is necessary.
前記リングバッファへのデータの書き込みを制御するライト制御手段と、前記リングバッファからのデータの読み出しを制御するリード制御手段とを、更に有し、
前記ライト制御手段は、前記リングバッファにデータを書き込むときの書き込み位置を示すライトポインタを有し、前記リード制御手段は、前記リングバッファからデータを読み出す位置を示すリードポインタを有し、前記ライト制御手段と前記リード制御手段は、前記リードポインタが前記ライトポインタを追いかけるように制御され、かつ、前記ライトポインタが前記リードポインタを追い越さないように制御されることを特徴とする請求項7乃至10のいずれか1項に記載の画像処理装置。 The storage means comprises a ring buffer;
A write control unit that controls writing of data to the ring buffer; and a read control unit that controls reading of data from the ring buffer;
The write control means has a write pointer indicating a write position when writing data to the ring buffer, and the read control means has a read pointer indicating a position for reading data from the ring buffer, and the write control 11. The means and the read control means are controlled so that the read pointer follows the write pointer, and is controlled so that the write pointer does not overtake the read pointer. The image processing apparatus according to any one of the above.
前記複数のバスマスタによる前記メインメモリへのアクセスを検知してバス帯域を取得する帯域監視工程と、
リアルタイム処理が要求されるバスマスタと前記メインメモリとの間に設けられた緩衝バッファのデータ量を取得する取得工程と、
前記帯域監視工程で取得した前記バス帯域が第1閾値を超え、且つ前記取得工程で取得した前記緩衝バッファのデータ量と第2閾値との比較に応じて、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限するよう制御する制御工程と、
を有することを特徴とする制御方法。 A control method for controlling an image processing apparatus having a plurality of bus masters accessing a main memory,
A bandwidth monitoring step of detecting access to the main memory by the plurality of bus masters to acquire a bus bandwidth;
An acquisition step of acquiring a data amount of a buffer provided between the bus master and the main memory for which real-time processing is required;
The bus bandwidth acquired in the bandwidth monitoring step exceeds a first threshold value, and the highest priority is selected from the plurality of bus masters according to the comparison between the buffer buffer data amount acquired in the acquisition step and the second threshold value. A control step for controlling access to the main memory by a bus master having a lower rank;
A control method characterized by comprising:
前記複数のバスマスタによる前記メインメモリへのアクセスを検知してバス帯域を取得する帯域監視工程と、
リアルタイム処理が要求されるバスマスタが、前記リアルタイム処理のためのデータをメモリに格納する格納工程と、
前記メモリに格納されているデータ量を取得する取得工程と、
前記帯域監視工程で取得した前記バス帯域が第1閾値を超え、且つ前記取得工程で取得した前記データ量と第2閾値との比較に応じて、前記複数のバスマスタの内、最も優先順位の低いバスマスタによる前記メインメモリへのアクセスを制限するよう制御し、
前記取得工程で取得した前記データ量が前記第2閾値よりも大きい場合に、前記メモリへのデータの書き込みを制限するように制御する制御工程と、
を有することを特徴とする制御方法。 A control method for controlling an image processing apparatus having a plurality of bus masters accessing a main memory,
A bandwidth monitoring step of detecting access to the main memory by the plurality of bus masters to acquire a bus bandwidth;
A bus master for which real-time processing is required, a storage step of storing data for the real-time processing in a memory;
An acquisition step of acquiring the amount of data stored in the memory;
The bus bandwidth acquired in the bandwidth monitoring step exceeds a first threshold, and the lowest priority among the plurality of bus masters according to the comparison between the data amount acquired in the acquisition step and a second threshold. Control to restrict access to the main memory by the bus master,
A control step of controlling to limit writing of data to the memory when the amount of data acquired in the acquisition step is larger than the second threshold;
A control method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018107833A JP2019212027A (en) | 2018-06-05 | 2018-06-05 | Image processing system, control method therefor, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018107833A JP2019212027A (en) | 2018-06-05 | 2018-06-05 | Image processing system, control method therefor, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019212027A true JP2019212027A (en) | 2019-12-12 |
Family
ID=68845341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018107833A Pending JP2019212027A (en) | 2018-06-05 | 2018-06-05 | Image processing system, control method therefor, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019212027A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11662962B2 (en) | 2021-01-27 | 2023-05-30 | Canon Kabushiki Kaisha | Image forming apparatus capable of coping with speedup of printing operation without requiring design change of controller, and control method for image forming apparatus |
WO2023188998A1 (en) * | 2022-03-31 | 2023-10-05 | 株式会社ジーシー | Intraoral notification device and intraoral medical instrument |
US11838477B2 (en) | 2021-09-28 | 2023-12-05 | Canon Kabushiki Kaisha | Image forming apparatus and control method of image forming apparatus |
JP7625802B2 (en) | 2020-07-10 | 2025-02-04 | 富士フイルムビジネスイノベーション株式会社 | MEMORY ACCESS SYSTEM AND INFORMATION PROCESSING APPARATUS |
-
2018
- 2018-06-05 JP JP2018107833A patent/JP2019212027A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7625802B2 (en) | 2020-07-10 | 2025-02-04 | 富士フイルムビジネスイノベーション株式会社 | MEMORY ACCESS SYSTEM AND INFORMATION PROCESSING APPARATUS |
US11662962B2 (en) | 2021-01-27 | 2023-05-30 | Canon Kabushiki Kaisha | Image forming apparatus capable of coping with speedup of printing operation without requiring design change of controller, and control method for image forming apparatus |
US11838477B2 (en) | 2021-09-28 | 2023-12-05 | Canon Kabushiki Kaisha | Image forming apparatus and control method of image forming apparatus |
WO2023188998A1 (en) * | 2022-03-31 | 2023-10-05 | 株式会社ジーシー | Intraoral notification device and intraoral medical instrument |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949641B2 (en) | Information processing apparatus and method for controlling information processing apparatus restoration order of images that reduces the waiting time when restoration from a hibernation state | |
JP2019212027A (en) | Image processing system, control method therefor, and program | |
US9412055B2 (en) | Image forming apparatus that selectively stores print data in a cache memory to a secondary memory device | |
JP6886301B2 (en) | Memory access system, its control method, program, and image forming device | |
JP2008009697A (en) | Image processor and program | |
US20160224385A1 (en) | Information processing apparatus and method of controlling the same | |
US9489295B2 (en) | Information processing apparatus and method | |
WO2015194133A1 (en) | Arithmetic device, arithmetic device control method, and storage medium in which arithmetic device control program is recorded | |
JP2013175150A (en) | Information processing apparatus, power saving control method, and power saving control program | |
US11036668B2 (en) | Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof | |
JP5380373B2 (en) | Image forming system, image forming apparatus, and power saving printing method | |
JP5080318B2 (en) | Image processing apparatus and access control method | |
US10884481B2 (en) | Apparatus and method for improving power savings by accelerating device suspend and resume operations | |
US8862793B2 (en) | Storage system, control device, and storage system control method of controlling storage system | |
JP6000754B2 (en) | Image processing apparatus, image processing apparatus control method, and program | |
JP6996189B2 (en) | Print controller, image forming system and image forming device | |
JP6836065B2 (en) | Information processing device, PLD management program and PLD management method | |
JP2013008198A (en) | Image processor, image processing control method and image processing control program | |
US9413355B2 (en) | Information processing apparatus and control method therefor | |
US20040093439A1 (en) | Data processing control apparatus and DMA controller | |
US20160050332A1 (en) | Image processing apparatus for controlling dynamic reconfigurable apparatus, information processing method for image processing apparatus, and storage medium for storing program to achieve information processing method | |
JP4151362B2 (en) | Bus arbitration method, data transfer device, and bus arbitration method | |
JP7476640B2 (en) | Information processing device, interface control circuit, and method for controlling information processing device | |
JP2023021707A (en) | Information processing device, control method of information processing device, and program | |
JP5777670B2 (en) | Image forming system and power saving printing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |