JP2006338194A - Data processing system, data processing program, and data processing method - Google Patents

Data processing system, data processing program, and data processing method Download PDF

Info

Publication number
JP2006338194A
JP2006338194A JP2005160497A JP2005160497A JP2006338194A JP 2006338194 A JP2006338194 A JP 2006338194A JP 2005160497 A JP2005160497 A JP 2005160497A JP 2005160497 A JP2005160497 A JP 2005160497A JP 2006338194 A JP2006338194 A JP 2006338194A
Authority
JP
Japan
Prior art keywords
data
cache flush
processing
memory
written
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
Application number
JP2005160497A
Other languages
Japanese (ja)
Inventor
Mamoru Kani
守 可児
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2005160497A priority Critical patent/JP2006338194A/en
Publication of JP2006338194A publication Critical patent/JP2006338194A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To attain speed-up of data processing by reducing the time necessary for cache flush processing. <P>SOLUTION: A check part determines whether garbage collection by a memory management part is performed or not (S9), the check part makes a cache flush part perform cache flush processing when the garbage collection is performed (YES in S10, S4), and the check part controls the cache flush part not to perform the cache flush processing when the garbage collection is not performed (NO in S10, S5). According to this, the frequency of cache flush processing is reduced. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理技術に関する。適用分野の例としては、プリンタや複合機において描画コマンドを解釈し、イメージ画像等に対して画像処理を施して、画像を形成する回路の制御等がある。   The present invention relates to a data processing technique that causes an ASIC to execute processing of data written in a storage area in a memory. As an example of the application field, there is control of a circuit for forming an image by interpreting a drawing command in a printer or a multi-function peripheral, performing image processing on an image, and the like.

プリンタや、複合機(プリンタ機能、コピー機能、スキャナ機能などの複合機能を備えた画像形成装置)等では、印字データをホストコンピュータから受け取り、画像を形成して印字するという処理が行われる。この処理過程においては、ホストコンピュータから受け取る印字データのサイズは可変であり、生成する画像データも印字モードに応じて様々に変化するため、画像データ生成に際してのメモリ使用時には、処理対象となるデータに対するメモリ領域の割当て、不要になった領域の開放、メモリ領域の再配置(後述のガーベージコレクション)を行うメモリ管理制御が必要である。   In a printer, a multifunction peripheral (an image forming apparatus having a complex function such as a printer function, a copy function, and a scanner function), print data is received from a host computer, and an image is formed and printed. In this process, the size of the print data received from the host computer is variable, and the image data to be generated varies depending on the print mode. Therefore, when the memory is used for generating the image data, Memory management control is required to allocate memory areas, release areas that are no longer needed, and rearrange memory areas (garbage collection described later).

上記メモリの再配置に際しては、セグメント方式やページング方式のメモリ管理機能(MMU)を有しない低機能のCPUを使用する場合、要求されたメモリ領域を連続した状態で確保する必要があるため、小サイズの空きメモリ領域が散在しているときには、割当て済みのメモリ領域を移動して連続したメモリ領域を確保するガーベージコレクションと呼ばれる処理が行われる。なお、ガーベージコレクションについての先行技術文献として下記特許文献1があり、プリンタにおけるメモリ管理手法についてはの先行技術文献として下記特許文献2がある。   When relocating the above memory, when using a low-function CPU that does not have a segmented or paging memory management function (MMU), it is necessary to secure the requested memory area in a continuous state. When free memory areas of sizes are scattered, a process called garbage collection is performed in which allocated memory areas are moved to secure continuous memory areas. The following patent document 1 is a prior art document regarding garbage collection, and the following patent document 2 is a prior art document regarding a memory management method in a printer.

また、ライトバックモードでキャッシュを使用する場合には、CPUにより常にキャッシュを通してDRAM等のメモリにデータが生成される。そして、当該メモリに生成されたデータの処理をASIC(Application Specific Integrated Circuit :特定用途向け集積回路)が実行する場合、予め取得しておいたアドレス情報が示すメモリ領域からデータが読み出され、ASICによる処理が行われる。しかし、ASICがメモリからデータを読み出す時に、既に上記ガーベージコレクションが実行されていると、処理対象となるデータをメモリから読み出すことができない。そこで、キャッシュフラッシュを実行することで、処理対象データが正確に読み出されるようにしている。   In addition, when the cache is used in the write back mode, the CPU always generates data in a memory such as a DRAM through the cache. When an ASIC (Application Specific Integrated Circuit) executes processing of data generated in the memory, the data is read from the memory area indicated by the previously acquired address information, and the ASIC Is processed. However, if the garbage collection has already been executed when the ASIC reads data from the memory, the data to be processed cannot be read from the memory. Therefore, by executing a cache flush, the processing target data is accurately read out.

例えば、プリンタの画像処理においては、ホストコンピュータから受信した種々のプリンタ記述言語(PDL)を、抽象度の低い描画コマンドに詳細化してからASICに処理させるが、この描画コマンドの生成は1ページ毎にまとめて生成する必要があり、バンド方式を採用しているシステムであっても、ページの途中で描画処理を開始することはできない。1ページ分の描画コマンドが生成された後は、バンド単位に描画し、圧縮後、印字処理時に伸張するというサイクルが繰り返されるが、この過程において、描画後には圧縮データを保持する領域が確保され、圧縮後は元の描画領域は不要となるので開放されて再利用される。つまり、バンド単位でメモリの確保と開放が頻繁に行われ、圧縮データを保持するためのメモリ領域が不足した場合には、ガーベージコレクションによる再配置が行われて、必要領域が確保される。ガーベージコレクションが実行されると、それまでにメモリに生成されていた描画コマンドやイメージ等の元データの位置が移動してしまう場合があるため、バンド単位で常にキャッシュフラッシュ処理を行うようにしている。
特開2001−184254号公報 特開2002−351739号公報
For example, in printer image processing, various printer description languages (PDL) received from a host computer are refined into drawing commands with a low level of abstraction and then processed by the ASIC. This drawing command is generated for each page. The drawing process cannot be started in the middle of the page even if the system adopts the band method. After the drawing command for one page is generated, the cycle of drawing in band units, compressing, and decompressing during printing processing is repeated. In this process, an area to hold compressed data is secured after drawing. After compression, the original drawing area is no longer needed and is released and reused. In other words, memory is frequently secured and released in band units, and when the memory area for holding the compressed data is insufficient, rearrangement by garbage collection is performed to secure the necessary area. When garbage collection is executed, the position of the original data such as drawing commands and images that have been generated in the memory may move, so the cache flush process is always performed in band units. .
JP 2001-184254 A JP 2002-351739 A

しかしながら、上記のように常にキャッシュフラッシュ処理を実行していると、データ処理に長時間を要することになり、高速にデータ処理を行うことができない。近年は、CPUに大規模な2次キャッシュが実装され、キャッシュフラッシュ処理に要する時間も増大しているため、高速にデータ処理を行うための改善が望まれている。   However, if the cache flush process is always executed as described above, the data process takes a long time, and the data process cannot be performed at a high speed. In recent years, since a large-scale secondary cache is mounted on a CPU and the time required for cache flush processing has increased, an improvement for high-speed data processing is desired.

本発明は、上記の問題を解決するためになされたもので、キャッシュフラッシュ処理に要する時間を削減して、データ処理の高速化を実現することを目的とするものである。   The present invention has been made to solve the above-described problems, and has an object to reduce the time required for cache flush processing and realize high-speed data processing.

本発明の請求項1に記載の発明は、メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理システムであって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行うキャッシュフラッシュ手段と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知するアドレス情報通知手段と、
前記アドレス情報通知手段から得たアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する再配置処理手段と、
前記再配置処理手段による再配置処理が行われたか否かを判断する再配置有無判断手段と、
前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと前記再配置有無判断手段によって判断された場合には、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止する禁止手段と
を備えたものである。
The invention according to claim 1 of the present invention is a data processing system for causing an ASIC to execute processing of data written in a storage area in a memory,
Cache flush means for performing cache flush processing for writing data stored in a cache to a storage area in the memory;
Address information notifying means for notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the address information obtained from the address information notification means is processed by the ASIC, and the processed data is written to the memory, the memory is stored as necessary. Relocation processing means for performing relocation processing of the area and securing a writable area of the data to be written;
Relocation presence / absence determining means for determining whether or not relocation processing has been performed by the relocation processing means;
When the rearrangement determination unit determines that the rearrangement process has been performed, the cache flush unit performs the cache flush process, and when the rearrangement process has not been performed, the rearrangement presence determination is performed. And a prohibiting unit that prohibits the cache flush process by the cache flush unit.

この発明では、再配置処理手段による再配置処理が行われたか否かを再配置有無判断手段が判断し、この判断結果に応じて、禁止手段が、キャッシュフラッシュ手段にキャッシュフラッシュ処理を実行させるか否かを制御することで、キャッシュフラッシュ処理の回数を低減するようにしている。   In the present invention, the relocation presence / absence determination unit determines whether or not the relocation processing by the relocation processing unit has been performed, and according to the determination result, whether the prohibition unit causes the cache flush unit to execute the cache flush process. By controlling whether or not, the number of cache flush processes is reduced.

キャッシュフラッシュ処理は、データ記憶領域の再配置処理が行われた場合であっても、ASICが処理対象となるデータを正確に読み出せるようにするために行われるが、メモリへのデータ書込時にデータ記憶領域の再配置が行われるか否かは、データ保持のために要求されるメモリ領域と、その時点でのメモリにおける連続最大空き容量によって決定される。つまり、データ書込のためにメモリ領域を確保しようとしたときに連続空きメモリ容量が足りない場合にのみ再配置処理が行われるだけであり、メモリへのデータ書込時に常にメモリの再配置が行われるわけではない。キャッシュフラッシュ処理は再配置処理が行われた場合にのみ行えば足りるので、再配置処理が行われない場合におけるキャッシュフラッシュ処理を禁止し、キャッシュフラッシュ処理の回数を削減することによって、データ処理のパフォーマンスを向上させるようにしている。   The cache flush process is performed so that the ASIC can accurately read the data to be processed even when the data storage area rearrangement process is performed. Whether or not the data storage area is rearranged is determined by the memory area required for data retention and the continuous maximum free capacity in the memory at that time. In other words, relocation processing is only performed when there is insufficient continuous free memory capacity when attempting to secure a memory area for data writing, and memory relocation is always performed when data is written to memory. It is not done. Since cache flush processing only needs to be performed when relocation processing is performed, the performance of data processing is reduced by prohibiting cache flush processing when relocation processing is not performed and reducing the number of cache flush processing. To improve.

また、請求項2に記載の発明は、請求項1に記載のデータ処理システムであって、前記ASICの処理対象となるデータが書き込まれている前記メモリ内の記憶領域が、前記再配置処理手段による再配置処理の対象となったか否かを判断する判断手段とを備え、
前記禁止手段は、前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合であっても、前記ASICの処理対象となるデータが書き込まれている前記記憶領域が、前記再配置処理の対象になっていないと前記判断手段によって判断された場合は、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止するものである。
The invention according to claim 2 is the data processing system according to claim 1, wherein the storage area in the memory in which data to be processed by the ASIC is written is the relocation processing means. Determining means for determining whether or not the target of the relocation processing by
Even if the prohibition unit determines that the rearrangement process has been performed by the rearrangement presence determination unit, the storage area in which the data to be processed by the ASIC is written When it is determined by the determination means that it is not a target for the rearrangement process, the cache flush process by the cache flush means is prohibited.

この構成では、判断手段が、ASICの処理対象となるデータが書き込まれているデータ記憶領域が、前記再配置処理手段による再配置処理の対象となったか否かを判断し、この判断結果に応じて、禁止手段が、キャッシュフラッシュ手段にキャッシュフラッシュ処理を実行させるか否かを制御するようにして、キャッシュフラッシュ処理の回数を更に低減する。   In this configuration, the determination unit determines whether or not the data storage area in which the data to be processed by the ASIC is written is the target of the rearrangement process by the rearrangement processing unit. Thus, the prohibiting means controls whether or not the cache flushing means executes the cache flush process, thereby further reducing the number of cache flush processes.

メモリへのデータ書込時に連続空き容量が足りずメモリの再配置が発生したとしても、再配置処理の対象となり移動されたメモリ領域が、ASICの参照する領域ではない場合は、キャッシュフラッシュを行う必要がないため、不要なキャッシュフラッシュ処理を更に削減して、データ処理のパフォーマンスを一層向上させるようにしている。   Even if the memory is rearranged due to insufficient continuous free space when writing data to the memory, if the memory area that is the target of the rearrangement process is not the area that the ASIC refers to, cache flush is performed. Since there is no need, unnecessary cache flush processing is further reduced to further improve data processing performance.

また、請求項3に記載の発明は、請求項1又は請求項2に記載のデータ処理システムであって、複数のタスクのそれぞれを示す各識別子に基づいて、各タスク毎に、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止するか否かの制御を行うものである。   Further, the invention according to claim 3 is the data processing system according to claim 1 or 2, wherein the cache flush unit is provided for each task based on each identifier indicating each of a plurality of tasks. This is to control whether or not the cache flush process is prohibited.

この構成では、複数のタスクに対してそれぞれの識別子を用いることで、各タスク毎のデータ処理別にキャッシュフラッシュ処理を禁止するか否かを制御する。これにより、複数のタスクに対して、上記キャッシュフラッシュ処理を禁止するか否かの制御が可能になる。   In this configuration, by using respective identifiers for a plurality of tasks, it is controlled whether or not the cache flush processing is prohibited for each data processing for each task. As a result, it is possible to control whether or not the cache flush processing is prohibited for a plurality of tasks.

また、請求項4に記載の発明は、メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理プログラムであって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行うキャッシュフラッシュ手段と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知するアドレス情報通知手段と、
前記アドレス情報通知手段から得たアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する再配置処理手段と、
前記再配置処理手段による再配置処理が行われたか否かを判断する再配置有無判断手段と、
前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと前記再配置有無判断手段によって判断された場合には、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止する禁止手段と
を備えるように、コンピュータを動作させるものである。
The invention according to claim 4 is a data processing program for causing an ASIC to execute processing of data written in a storage area in a memory.
Cache flush means for performing cache flush processing for writing data stored in a cache to a storage area in the memory;
Address information notifying means for notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the address information obtained from the address information notification means is processed by the ASIC, and the processed data is written to the memory, the memory is stored as necessary. Relocation processing means for performing relocation processing of the area and securing a writable area of the data to be written;
Relocation presence / absence determining means for determining whether or not relocation processing has been performed by the relocation processing means;
When the rearrangement determination unit determines that the rearrangement process has been performed, the cache flush unit performs the cache flush process, and when the rearrangement process has not been performed, the rearrangement presence determination is performed. If determined by the means, the computer is operated so as to include prohibiting means for prohibiting the cache flush processing by the cache flush means.

また、請求項5に記載の発明は、メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理方法であって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行わせる行程と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知する行程と、
前記通知されたアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する行程と、
前記再配置処理が行われたか否かを判断する行程と、
前記再配置処理が行われたと判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと判断された場合には、前記キャッシュフラッシュ処理を禁止する行程と
からなるものである。
The invention according to claim 5 is a data processing method for causing an ASIC to execute processing of data written in a storage area in a memory,
A step of performing a cache flush process for writing data stored in a cache to a storage area in the memory;
A process of notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the notified address information is processed by the ASIC and the processed data is written into the memory, the storage area of the memory is rearranged as necessary. Performing a process and securing a writable area for the data to be written;
A step of determining whether or not the rearrangement process has been performed;
When it is determined that the relocation processing has been performed, the cache flush unit is caused to perform the cache flush processing, and when it is determined that the relocation processing has not been performed, the cache flush processing is prohibited. It consists of a process.

請求項1、請求項4及び請求項5に記載の発明によれば、再配置処理が行われていない場合におけるキャッシュフラッシュ処理を禁止してキャッシュフラッシュ処理の回数を低減するので、キャッシュフラッシュ処理に要する時間が削減され、データ処理の高速化を実現することができる。   According to the first, fourth, and fifth aspects of the present invention, the cache flush process is prohibited when the relocation process is not performed and the number of cache flush processes is reduced. Time required can be reduced, and high-speed data processing can be realized.

請求項2に記載の発明によれば、メモリへのデータ書込時に連続空き容量が足りずメモリの再配置が発生しても、再配置処理の対象となった移動されたメモリ領域が、ASICの参照する領域ではない場合はキャッシュフラッシュ処理を禁止するので、不要なキャッシュフラッシュ処理が更に削減され、データ処理のパフォーマンスを一層向上させることができる。   According to the second aspect of the present invention, even if the memory is rearranged due to insufficient continuous free space when data is written to the memory, the moved memory area subject to the rearrangement process becomes the ASIC. Since the cache flush process is prohibited when the area is not referred to, unnecessary cache flush process is further reduced, and the data processing performance can be further improved.

請求項3に記載の発明によれば、複数のタスクに対して、上記キャッシュフラッシュ処理を禁止するか否かの制御が可能になる。   According to the third aspect of the present invention, it is possible to control whether or not the cache flush processing is prohibited for a plurality of tasks.

本発明の一実施形態について図面を参照して説明する。図1は本発明に係るデータ処理システムの主要部の概略構成を示す図である。以下には、本発明に係るデータ処理システムが画像形成装置に適用される場合を説明する(本発明を画像形成装置のみへの適用に限定する趣旨ではない)。画像形成装置1は、プリンタ、又は少なくともプリンタ機能を備える複合機等である。画像形成装置1は、プリンタ機能において必要となる画像データ処理(印字処理、その他の処理)を行うために、制御部10、I/F(インタフェイス)部11、ASIC12、画像形成部13及びメモリ15を備える。   An embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a schematic configuration of a main part of a data processing system according to the present invention. Hereinafter, a case where the data processing system according to the present invention is applied to an image forming apparatus will be described (the present invention is not limited to application only to an image forming apparatus). The image forming apparatus 1 is a printer or a multi-function device having at least a printer function. The image forming apparatus 1 includes a control unit 10, an I / F (interface) unit 11, an ASIC 12, an image forming unit 13, and a memory in order to perform image data processing (printing processing and other processing) necessary for the printer function. 15.

制御部10は、CPU等からなり、画像データ処理のために各部の動作制御を司るものである。制御部10は、図略の記憶装置に記憶されているデータ処理プログラムに基づいて、PDL解析部100、キャッシュフラッシュ部101、メモリ管理部102及びチェック部103としても機能する。また、制御部10には、キャッシュ104が備えられている。ホストコンピュータ2から送られてくるPDL(Page Description Language)データ(描画コマンド)は、I/F部11を介して、メモリ15に書き込まれる。PDL解析部100は、メモリ15に書き込まれたPDLデータを読み出して、バンド単位の中間言語であるディプレイリスト(DL)に変換する。このディプレイリストはキャッシュ104に保持される。キャッシュフラッシュ部(キャッシュフラッシュ手段)101は、キャッシュ104に書き込まれたディプレイリストを、必要に応じてメモリ15内の所定領域に書き戻す(キャッシュフラッシュ処理)。   The control unit 10 includes a CPU and the like, and controls operation of each unit for image data processing. The control unit 10 also functions as a PDL analysis unit 100, a cache flash unit 101, a memory management unit 102, and a check unit 103 based on a data processing program stored in a storage device (not shown). Further, the control unit 10 includes a cache 104. PDL (Page Description Language) data (drawing command) sent from the host computer 2 is written into the memory 15 via the I / F unit 11. The PDL analysis unit 100 reads the PDL data written in the memory 15 and converts it into a display list (DL), which is an intermediate language for each band. This display list is held in the cache 104. The cache flush unit (cache flush unit) 101 writes the display list written in the cache 104 back to a predetermined area in the memory 15 as necessary (cache flush process).

メモリ管理部(アドレス情報通知手段、再配置処理手段)102は、メモリ15内の記憶領域について、各種データに対して割り当てられたそれぞれの領域(DLバッファ領域、圧縮データバッファ領域、バンドバッファ領域等)を管理する。後述するASIC12の圧縮/伸張部122は、メモリ管理部102から与えられるメモリマップ情報(アドレス情報)に従って、DRAM(Dynamic Random Access Memory)等からなるメモリ15上のメモリ空間を、上記DLバッファ領域、圧縮データバッファ領域、バンドバッファ領域として利用する。また、メモリ管理部102は、圧縮/伸張部122によって圧縮された圧縮データが、予め設定されているメモリ15内の所定領域に書き込めない場合、すなわち、圧縮データを書き込むための連続空き容量が足りない場合は、ガーベージコレクション(再配置処理)を行って、当該圧縮データを保持できる領域をメモリ15内の記憶領域に確保する。メモリ管理部102は、ガーベージコレクションが行われた場合には、ガーベージコレクションを行った旨を示すフラグを立てる。   The memory management unit (address information notification means, relocation processing means) 102 is a storage area in the memory 15 that is assigned to various data (DL buffer area, compressed data buffer area, band buffer area, etc.) ). The compression / decompression unit 122 of the ASIC 12 to be described later, in accordance with memory map information (address information) given from the memory management unit 102, the memory space on the memory 15 made of DRAM (Dynamic Random Access Memory) or the like is divided into the DL buffer area, Used as a compressed data buffer area and a band buffer area. Further, the memory management unit 102 does not have enough free space for writing the compressed data when the compressed data compressed by the compression / decompression unit 122 cannot be written to a predetermined area in the memory 15 that is set in advance. If not, garbage collection (relocation processing) is performed to secure an area capable of holding the compressed data in the storage area in the memory 15. When garbage collection is performed, the memory management unit 102 sets a flag indicating that garbage collection has been performed.

チェック部(再配置有無判断手段、禁止手段)103は、メモリ管理部102が上記フラグ(ガーベージコレクションを行った旨を示すフラグ)を立てているか否かを判別し、当該フラグが立っている場合にはキャッシュフラッシュ処理が必要と判断し、当該フラグが立っていない場合にはキャッシュフラッシュ処理が不要と判断する。   The check unit (relocation presence / absence determination unit, prohibition unit) 103 determines whether or not the memory management unit 102 has set the flag (a flag indicating that garbage collection has been performed), and the flag is set Is determined to require cache flush processing, and if the flag is not set, it is determined that cache flush processing is unnecessary.

キャッシュフラッシュ部101は、キャッシュ104に記憶されているデータをメモリ15に書き込むキャッシュフラッシュ処理を実行するものである。キャッシュフラッシュ部101は、チェック部103から受け取るキャッシュフラッシュ処理の要不要を示す情報に基づいて、キャッシュフラッシュ処理を行うか否かを制御する。   The cache flush unit 101 executes a cache flush process for writing data stored in the cache 104 to the memory 15. The cache flush unit 101 controls whether to perform the cache flush process based on the information received from the check unit 103 indicating that the cache flush process is necessary.

ASIC(Application Specific Integrated Circuit :特定用途向け集積回路)12は、ビットマップ展開部121、圧縮/伸張部122を備える。ビットマップ展開部121は、ディプレイリストをビットマップ展開する。圧縮/伸張部122は、(1)バンド毎に展開されたビットマップデータを、例えば、JBIG(Joint Bi-level Image experts Group)等により圧縮すると共に、(2)当該圧縮した画像データを伸張する処理を行う。圧縮/伸張部122によって圧縮された画像データは、メモリ15内の圧縮データバッファ領域に書き込まれ、圧縮/伸張部122によって伸張された画像データは、メモリ15内のバンドバッファ領域に書き込まれる。   An ASIC (Application Specific Integrated Circuit) 12 includes a bitmap expansion unit 121 and a compression / decompression unit 122. The bitmap development unit 121 develops a display list as a bitmap. The compression / decompression unit 122 (1) compresses the bitmap data expanded for each band by, for example, JBIG (Joint Bi-level Image experts Group), and (2) decompresses the compressed image data. Process. The image data compressed by the compression / decompression unit 122 is written in a compressed data buffer area in the memory 15, and the image data expanded by the compression / decompression unit 122 is written in a band buffer area in the memory 15.

画像形成部13は、圧縮/伸張部122によって伸張された画像データをバンド毎に順次受け取って画像形成を行うものである。   The image forming unit 13 performs image formation by sequentially receiving the image data expanded by the compression / decompression unit 122 for each band.

画像形成装置1による画像データ処理の流れを簡単に説明する。ホストコンピュータ2からI/F部11を介して受け取ったPDLデータがメモリ15に書き込まれると、PDL解析部100が、当該PDLデータをメモリ15から読み出してディプレイリスト(DL)に変換してキャッシュ104に保持する。キャッシュフラッシュ部101は、当該キャッシュ104に保持されているディプレイリストを適宜メモリ15の所定領域(ASIC12の参照領域)に書き込む(キャッシュフラッシュ処理)。ASIC12のビットマップ展開部121は、このディプレイリストをバンド単位でビットマップ展開し、圧縮/伸張部122が、当該バンド毎のビットマップデータを、JBIGで圧縮して、圧縮データを圧縮データバッファに格納する。圧縮データバッファに格納された圧縮データは、適切なタイミングで圧縮/伸張部122によって伸張されてバンドバッファに書き込まれ、当該伸張後のデータが画像形成部13に対して出力される。   The flow of image data processing by the image forming apparatus 1 will be briefly described. When the PDL data received from the host computer 2 via the I / F unit 11 is written in the memory 15, the PDL analysis unit 100 reads the PDL data from the memory 15, converts it into a display list (DL), and caches it. 104. The cache flash unit 101 appropriately writes the display list held in the cache 104 into a predetermined area (reference area of the ASIC 12) of the memory 15 (cache flush process). The bitmap expansion unit 121 of the ASIC 12 expands the display list into a bitmap in units of bands, and the compression / decompression unit 122 compresses the bitmap data for each band with JBIG, and compresses the compressed data into a compressed data buffer. To store. The compressed data stored in the compressed data buffer is decompressed by the compression / expansion unit 122 at an appropriate timing and written to the band buffer, and the decompressed data is output to the image forming unit 13.

上記印字データ処理時におけるキャッシュフラッシュ制御について説明する。図2は、当該キャッシュフラッシュ制御を示すフローチャートである。ホストコンピュータ2からI/F部11を介してPDLデータを受け取ると、メモリ15にPDLデータを保持する(S1)。メモリ管理部102は、本該印字データ処理を行わせるタスクのIDを引数にして、本タスクに基づく印字データ処理に使用する特定領域(後述するガーベージコレクションが行われたか否かを判断すべきメモリ15内の領域)を示すメモリマップ情報等のメモリ制御情報を取得する(S2)。このようにタスクのIDを引数にして、各タスクに応じたメモリ15内の領域について、以下に示す制御を行うことで、複数のタスクに基づく各印字データ処理について、個別に本キャッシュフラッシュ制御を行うことを可能にしている。   The cache flush control during the print data processing will be described. FIG. 2 is a flowchart showing the cache flush control. When PDL data is received from the host computer 2 via the I / F unit 11, the PDL data is held in the memory 15 (S1). The memory management unit 102 uses, as an argument, the ID of the task that performs the print data processing as an argument (a memory to be used to determine whether or not garbage collection to be described later has been performed). 15), memory control information such as memory map information indicating the area) is acquired (S2). In this way, by using the task ID as an argument and performing the following control on the area in the memory 15 corresponding to each task, the cache flush control is individually performed for each print data processing based on a plurality of tasks. Making it possible to do.

続いて、PDL解析部10がメモリ15からPDLデータを読み出して解析し、キャッシュ104にディプレイリストを生成する(S3)。キャッシュフラッシュ部101は、キャッシュフラッシュ処理(キャッシュ104に生成されているディプレイリストのメモリ15の所定領域への書き込み)を実行する(S4)。制御部10はASIC12の起動をかけ(S5)、メモリ管理部102は、ASIC12に、メモリ15におけるASIC12の参照領域を示すメモリマップ情報を送出する。これにより、上記キャッシュフラッシュ処理後、ASIC12のビットマップ展開部121がメモリ15の所定領域に書き込まれたディプレイリストを読み出してビットマップ展開する。圧縮/伸張部122は、展開されたビットマップデータを、例えば、JBIG等により圧縮する(S6)。   Subsequently, the PDL analysis unit 10 reads and analyzes the PDL data from the memory 15, and generates a display list in the cache 104 (S3). The cache flush unit 101 executes a cache flush process (writing the display list generated in the cache 104 to a predetermined area of the memory 15) (S4). The control unit 10 activates the ASIC 12 (S5), and the memory management unit 102 sends memory map information indicating the reference area of the ASIC 12 in the memory 15 to the ASIC 12. Thereby, after the cache flush process, the bitmap developing unit 121 of the ASIC 12 reads the display list written in the predetermined area of the memory 15 and develops the bitmap. The compression / decompression unit 122 compresses the decompressed bitmap data using, for example, JBIG (S6).

ここで、メモリ15内における圧縮データバッファの連続空き容量が、上記圧縮/伸張部122によって生成された圧縮データ量に対して足りなければ、メモリ管理部102はガーベージコレクションを行う。ガーベージコレクションを行った場合、メモリ管理部102は、ガーベージコレクションを行った旨を示すフラグを立てる。すなわち、メモリ15内の、本タスクに基づく印字データ処理に使用する特定領域において、ガーベージコレクションが発生したか否かを判断し、当該特定領域でガーベージコレクションが発生している場合には、ガーベージコレクションを行った旨を示すフラグを立てる。また、上記ガーベージコレクション、フラグを立てるか否かの判断及び処理は、圧縮/伸張部122によって圧縮データが生成される毎に行う。これで、1バンド分の画像データ処理が完了する。   Here, if the continuous free capacity of the compressed data buffer in the memory 15 is not sufficient for the amount of compressed data generated by the compression / decompression unit 122, the memory management unit 102 performs garbage collection. When garbage collection is performed, the memory management unit 102 sets a flag indicating that garbage collection has been performed. That is, it is determined whether or not garbage collection has occurred in a specific area used for print data processing based on this task in the memory 15. If garbage collection has occurred in the specific area, garbage collection has occurred. A flag indicating that the operation has been performed is set. In addition, the garbage collection, determination as to whether or not to set a flag, and processing are performed each time compressed data is generated by the compression / decompression unit 122. This completes image data processing for one band.

ここで、キャッシュフラッシュ部101によりメモリ15に書き込まれたディプレイリストをなす全てのバンドについての処理が終了した場合は(S7でYES)、メモリ管理部102は、ガーベージコレクションが発生したか否かの判断対象とするタスクID別の上記特定領域等を示すメモリ制御情報をリセットして(S8)、処理を終了する。   Here, when the processing for all the bands constituting the display list written in the memory 15 by the cache flash unit 101 is completed (YES in S7), the memory management unit 102 determines whether garbage collection has occurred. The memory control information indicating the specific area or the like for each task ID to be determined is reset (S8), and the process ends.

また、メモリ15に書き込まれたディプレイリストのうち、処理すべきバンドが残っている場合には(S7でNO)、チェック部103は、メモリ管理部102にガーベージコレクションが行われたことを示すフラグが立っているかを検出し(S9)、キャッシュフラッシュ部101に再度キャッシュフラッシュを実行させる否かを判断する。チェック部103は、当該フラグが立っている場合(ガーベージコレクションが行われていた場合)、キャッシュフラッシュ部101にキャッシュフラッシュを行わせる(S10でYES,S4)。すなわち、ASIC12の圧縮/伸張部122が読み出すべきデータを、再度メモリ15の所定領域に書き出すようにする。これにより、上記ガーベージコレクションにより、メモリ15内の上記特定領域においてデータ配置が変更されていても、圧縮/伸張部122がメモリ15から読み出すデータは、正確な処理対象データとなる。   In addition, in the display list written in the memory 15, when a band to be processed remains (NO in S7), the check unit 103 indicates that the memory management unit 102 has been garbage collected. It is detected whether the flag is set (S9), and it is determined whether or not the cache flush unit 101 is to execute the cache flush again. When the flag is set (when garbage collection is performed), the check unit 103 causes the cache flush unit 101 to perform a cache flush (YES in S10, S4). That is, the data to be read by the compression / decompression unit 122 of the ASIC 12 is written again in a predetermined area of the memory 15. Thereby, even if the data arrangement is changed in the specific area in the memory 15 due to the garbage collection, the data read out from the memory 15 by the compression / decompression unit 122 becomes accurate processing target data.

また、上記フラグが立っていない場合は(S10でNO)、チェック部103は、キャッシュフラッシュ部101によるキャッシュフラッシュ処理を禁止してキャッシュフラッシュ処理を行わせず(S10でNO,S5)、圧縮/伸張部122による処理を行わせる(S5)。この場合、ガーベージコレクションは行われていないため、圧縮/伸張部122の処理対象となるデータが書き込まれているメモリ15の記憶領域は変わっていないので、キャッシュフラッシュ処理を行わなくても、処理対象とするデータを圧縮/伸張部122が正確に読み出すことができる。   If the flag is not raised (NO in S10), the check unit 103 prohibits the cache flush process by the cache flush unit 101 and does not perform the cache flush process (NO in S10, S5). Processing by the decompression unit 122 is performed (S5). In this case, since garbage collection is not performed, the storage area of the memory 15 in which the data to be processed by the compression / decompression unit 122 has not been changed, so that the processing target can be processed without performing cache flush processing. The compression / decompression unit 122 can accurately read the data.

なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、ガーベージコレクションが行われていればキャッシュフラッシュ処理を行わせ、ガーベージコレクションが行われていなければキャッシュフラッシュ処理を行わせないように制御しているが、ガーベージコレクションが行われていた場合であっても、圧縮/伸張部122の処理対象となるディプレイリストの書き込まれている領域が、ガーベージコレクションにより移動されていない場合は、キャッシュフラッシュ処理を行わせないようにしてもよい。すなわち、実行中のタスクに基づく印字データ処理で使用しているメモリ15内の特定領域ではガーベージコレクションが行われたものの、ガーベージコレクションの影響を受けた領域に書き込まれているデータを圧縮/伸張部122が参照していない場合は、キャッシュフラッシュ処理を行わせないようにする。   The present invention is not limited to the configuration of the above embodiment, and various modifications can be made. For example, in the above embodiment, control is performed so that cache flush processing is performed if garbage collection is performed, and cache flush processing is not performed if garbage collection is not performed. However, garbage collection is performed. Even in the case where the area where the display list to be processed by the compression / decompression unit 122 is not moved by garbage collection, the cache flush process may not be performed. Good. That is, although the garbage collection is performed in the specific area in the memory 15 used for the print data processing based on the task being executed, the data written in the area affected by the garbage collection is compressed / decompressed. If 122 does not refer to it, the cache flush process is not performed.

この場合のデータ処理システムの主要部の概略構成を図3に示す。制御部10には、メモリ15内における、実行中のタスクに基づく印字データ処理で使用している特定領域の中で、実際に圧縮/伸張部122が参照している領域が、ガーベージコレクションにより変更されたか否かを判断する判断部(判断手段)106を設ける。この判断部106は、プログラムに従って制御部10が機能する。この判断部106は、メモリ管理部102から、ガーベージコレクションによるメモリ15内の記憶領域の再配置時に、再配置による変更後の領域を示すメモリマップ情報と、ガーベージコレクション実行前から圧縮/伸張部122が参照している記憶領域を示すアドレス情報とをメモリ管理部102から取得し、圧縮/伸張部122が参照している記憶領域が、ガーベージコレクションにより移動したかを判別する。   A schematic configuration of the main part of the data processing system in this case is shown in FIG. The control unit 10 changes the area actually referred to by the compression / decompression unit 122 in the memory 15 in the print data processing based on the task being executed by the garbage collection. A determination unit (determination means) 106 is provided for determining whether or not it has been performed. In the determination unit 106, the control unit 10 functions according to a program. The determination unit 106 receives, from the memory management unit 102, memory map information indicating the area after the change by the rearrangement when the storage area in the memory 15 is rearranged by the garbage collection, and the compression / decompression unit 122 from before the garbage collection is executed. Is acquired from the memory management unit 102, and it is determined whether the storage area referenced by the compression / decompression unit 122 has been moved by garbage collection.

この場合の制御フローを図4に示す。図4では、図2に示した制御と同様の処理については同符号を付して説明を省略する。すなわち、チェック部103がメモリ管理部102にガーベージコレクションが行われたことを示すフラグが立っているか否かをチェックしたとき(S9)、当該フラグが立っている場合には(S10でYES)、判断部106が、圧縮/伸張部122の参照領域がガーベージコレクションにより移動したかを判別し(S11)、圧縮/伸張部122の参照領域がガーベージコレクションにより移動していない場合には(S11でNO)、チェック部103は、キャッシュフラッシュ部101によるキャッシュフラッシュ処理を禁止し(S11でNO,S5)、圧縮/伸張部122がそれまで通りの参照領域からディプレイリストを読み出して処理を行うようにする(S5)。圧縮/伸張部122の参照領域がガーベージコレクションにより移動した場合には(S11でYES)、チェック部103は、キャッシュフラッシュ部101にキャッシュフラッシュ処理を実行させる(S11でYES,S4)。ガーベージコレクションが実行されても、圧縮/伸張部122の参照領域が移動していない以上、キャッシュフラッシュ処理を行わなくても、正確な処理対象データを読み出すことができる。このような制御を行うことによって、更にキャッシュフラッシュ処理の回数を減らすことができる。   A control flow in this case is shown in FIG. In FIG. 4, the same processes as those in the control shown in FIG. That is, when the check unit 103 checks whether or not the flag indicating that garbage collection has been performed is set in the memory management unit 102 (S9), if the flag is set (YES in S10), The determination unit 106 determines whether the reference area of the compression / decompression unit 122 has been moved by garbage collection (S11). If the reference area of the compression / decompression unit 122 has not been moved by garbage collection (NO in S11) The check unit 103 prohibits the cache flush process by the cache flush unit 101 (NO in S11, S5), and the compression / decompression unit 122 reads the display list from the reference area as before and performs the process. (S5). When the reference area of the compression / decompression unit 122 is moved by garbage collection (YES in S11), the check unit 103 causes the cache flush unit 101 to execute cache flush processing (YES in S11, S4). Even if garbage collection is executed, as long as the reference area of the compression / decompression unit 122 is not moved, accurate processing target data can be read without performing cache flush processing. By performing such control, the number of cache flush processes can be further reduced.

なお、上記各実施形態として説明した図1乃至図4に示す構成及び処理は、あくまでも一例に過ぎず、適宜変更が可能である。   Note that the configurations and processes shown in FIGS. 1 to 4 described as the above embodiments are merely examples, and can be appropriately changed.

例えば、上記各実施形態では、制御部10が、図略の記憶装置に記憶されたプログラムに従って、PDL解析部100、キャッシュフラッシュ部101、メモリ管理部102、チェック部103(上記他の実施形態では判断部106も含まれる)として機能するとしているが、これら各部は制御部10内又は外に回路(ハードウェア)として設けられるようにしてもよい。   For example, in each of the above embodiments, the control unit 10 performs the PDL analysis unit 100, the cache flash unit 101, the memory management unit 102, the check unit 103 (in the above other embodiments) according to a program stored in a storage device (not shown). The determination unit 106 is also included), but each of these units may be provided as a circuit (hardware) inside or outside the control unit 10.

また、上記各実施形態では、PDLデータからディプレイリストへの変換処理を制御部10(CPU)で行うとして説明しているが、上記PDL解析部100をASIC内に設け、ASICでPDLデータからディプレイリストへの変換処理を行うように構成してもよい。   Further, in each of the above embodiments, the conversion process from PDL data to the display list is described as being performed by the control unit 10 (CPU). However, the PDL analysis unit 100 is provided in the ASIC, and the PASIC data is converted by the ASIC. You may comprise so that the conversion process to a display list may be performed.

また、上記各実施形態では、ホストコンピュータ2から受け取ったPDLデータを一旦メモリ15に書き込み、これを制御部10内のPDL解析部100が読み出してディプレイリストに変換するとして説明しているが、ホストコンピュータ2からのPDLデータの受け取りを制御部10(CPU)が直接行うように構成してもよい。   In each of the above embodiments, the PDL data received from the host computer 2 is once written in the memory 15, and this is described as being read by the PDL analysis unit 100 in the control unit 10 and converted into a display list. The control unit 10 (CPU) may directly receive PDL data from the host computer 2.

なお、上記各実施形態では、本発明をデータ処理システムとして説明したが、本発明は、上述したキャッシュフラッシュ制御をコンピュータに行わせるデータ処理プログラム、又は上述したキャッシュフラッシュ制御をコンピュータによって行うデータ処理方法としても成立する。   In each of the above embodiments, the present invention has been described as a data processing system. However, the present invention is a data processing program for causing a computer to perform the above-described cache flush control, or a data processing method for performing the above-described cache flush control by a computer. Also holds.

本発明に係るデータ処理システムの主要部の概略構成を示す図である。It is a figure which shows schematic structure of the principal part of the data processing system which concerns on this invention. 印字データ処理時におけるキャッシュフラッシュ制御を示すフローチャートである。6 is a flowchart illustrating cache flush control during print data processing. 本発明の他の実施形態に係るデータ処理システムの主要部の概略構成を示す図である。It is a figure which shows schematic structure of the principal part of the data processing system which concerns on other embodiment of this invention. 本発明の他の実施形態に係るデータ処理システムによる印字データ処理時のキャッシュフラッシュ制御を示すフローチャートである。It is a flowchart which shows the cache flush control at the time of the print data processing by the data processing system which concerns on other embodiment of this invention.

符号の説明Explanation of symbols

1 画像形成装置
2 ホストコンピュータ
10 制御部
100 PDL解析部
101 キャッシュフラッシュ部
102 メモリ管理部
103 チェック部
104 キャッシュ
106 判断部
13 画像形成部
15 メモリ
12 ASIC
121 ビットマップ展開部
122 圧縮/伸張部
DESCRIPTION OF SYMBOLS 1 Image forming apparatus 2 Host computer 10 Control part 100 PDL analysis part 101 Cache flash part 102 Memory management part 103 Check part 104 Cache 106 Judgment part 13 Image formation part 15 Memory 12 ASIC
121 Bitmap development unit 122 Compression / decompression unit

Claims (5)

メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理システムであって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行うキャッシュフラッシュ手段と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知するアドレス情報通知手段と、
前記アドレス情報通知手段から得たアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する再配置処理手段と、
前記再配置処理手段による再配置処理が行われたか否かを判断する再配置有無判断手段と、
前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと前記再配置有無判断手段によって判断された場合には、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止する禁止手段と
を備えたデータ処理システム。
A data processing system for causing an ASIC to execute processing of data written in a storage area in a memory,
Cache flush means for performing cache flush processing for writing data stored in a cache to a storage area in the memory;
Address information notifying means for notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the address information obtained from the address information notification means is processed by the ASIC, and the processed data is written to the memory, the memory is stored as necessary. Relocation processing means for performing relocation processing of the area and securing a writable area of the data to be written;
Relocation presence / absence determining means for determining whether or not relocation processing has been performed by the relocation processing means;
When the rearrangement determination unit determines that the rearrangement process has been performed, the cache flush unit performs the cache flush process, and when the rearrangement process has not been performed, the rearrangement presence determination is performed. A data processing system comprising: prohibiting means for prohibiting cache flush processing by the cache flush means when judged by the means.
前記ASICの処理対象となるデータが書き込まれている前記メモリ内の記憶領域が、前記再配置処理手段による再配置処理の対象となったか否かを判断する判断手段を備え、
前記禁止手段は、前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合であっても、前記ASICの処理対象となるデータが書き込まれている前記記憶領域が、前記再配置処理の対象になっていないと前記判断手段によって判断された場合は、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止する請求項1に記載のデータ処理システム。
A determination means for determining whether a storage area in the memory in which data to be processed by the ASIC is written is a target of a rearrangement process by the rearrangement processing means;
Even if the prohibition unit determines that the rearrangement process has been performed by the rearrangement presence determination unit, the storage area in which the data to be processed by the ASIC is written The data processing system according to claim 1, wherein when the determination unit determines that it is not a target for relocation processing, cache flush processing by the cache flush unit is prohibited.
複数のタスクのそれぞれを示す各識別子に基づいて、各タスク毎に、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止するか否かの制御を行う請求項1又は請求項2に記載のデータ処理システム。   The data processing system according to claim 1 or 2, wherein, based on each identifier indicating each of a plurality of tasks, control whether to prohibit the cache flush process by the cache flush unit is performed for each task. メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理プログラムであって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行うキャッシュフラッシュ手段と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知するアドレス情報通知手段と、
前記アドレス情報通知手段から得たアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する再配置処理手段と、
前記再配置処理手段による再配置処理が行われたか否かを判断する再配置有無判断手段と、
前記再配置処理が行われたことが前記再配置有無判断手段によって判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと前記再配置有無判断手段によって判断された場合には、前記キャッシュフラッシュ手段によるキャッシュフラッシュ処理を禁止する禁止手段と
を備えるように、コンピュータを動作させるデータ処理プログラム。
A data processing program for causing an ASIC to execute processing of data written in a storage area in a memory,
Cache flush means for performing cache flush processing for writing data stored in a cache to a storage area in the memory;
Address information notifying means for notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the address information obtained from the address information notification means is processed by the ASIC, and the processed data is written to the memory, the memory is stored as necessary. Relocation processing means for performing relocation processing of the area and securing a writable area of the data to be written;
Relocation presence / absence determining means for determining whether or not relocation processing has been performed by the relocation processing means;
When the rearrangement determination unit determines that the rearrangement process has been performed, the cache flush unit performs the cache flush process, and when the rearrangement process has not been performed, the rearrangement presence determination is performed. A data processing program that causes a computer to operate so as to include a prohibiting unit that prohibits a cache flush process by the cache flush unit when determined by the unit.
メモリ内の記憶領域に書き込まれたデータの処理をASICに実行させるデータ処理方法であって、
キャッシュに記憶されているデータを前記メモリ内の記憶領域に書き込むキャッシュフラッシュ処理を行わせる行程と、
前記キャッシュフラッシュ処理によりデータが書き込まれた前記記憶領域のアドレス情報を前記ASICに通知する行程と、
前記通知されたアドレス情報が示す前記記憶領域に書き込まれているデータが前記ASICにより処理され、当該処理後のデータが前記メモリに書き込まれる場合に、必要に応じて当該メモリの記憶領域の再配置処理を行い、当該書込対象となるデータの書込可能領域を確保する行程と、
前記再配置処理が行われたか否かを判断する行程と、
前記再配置処理が行われたと判断された場合に前記キャッシュフラッシュ手段に前記キャッシュフラッシュ処理を行わせ、前記再配置処理が行われていないと判断された場合には、前記キャッシュフラッシュ処理を禁止する行程と
からなるデータ処理方法。
A data processing method for causing an ASIC to execute processing of data written in a storage area in a memory,
A step of performing a cache flush process for writing data stored in a cache to a storage area in the memory;
A process of notifying the ASIC of address information of the storage area in which data is written by the cache flush process;
When the data written in the storage area indicated by the notified address information is processed by the ASIC and the processed data is written into the memory, the storage area of the memory is rearranged as necessary. Performing a process and securing a writable area for the data to be written;
A step of determining whether or not the rearrangement process has been performed;
When it is determined that the relocation processing has been performed, the cache flush unit is caused to perform the cache flush processing, and when it is determined that the relocation processing has not been performed, the cache flush processing is prohibited. A data processing method consisting of a process.
JP2005160497A 2005-05-31 2005-05-31 Data processing system, data processing program, and data processing method Pending JP2006338194A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005160497A JP2006338194A (en) 2005-05-31 2005-05-31 Data processing system, data processing program, and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005160497A JP2006338194A (en) 2005-05-31 2005-05-31 Data processing system, data processing program, and data processing method

Publications (1)

Publication Number Publication Date
JP2006338194A true JP2006338194A (en) 2006-12-14

Family

ID=37558717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005160497A Pending JP2006338194A (en) 2005-05-31 2005-05-31 Data processing system, data processing program, and data processing method

Country Status (1)

Country Link
JP (1) JP2006338194A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010006066A (en) * 2008-06-27 2010-01-14 Toshiba Corp Image processing device and image processing method
JP2013049248A (en) * 2011-08-31 2013-03-14 Kyocera Document Solutions Inc Image forming apparatus
CN113590520A (en) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Control method for automatically writing data into SPI system and SPI system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010006066A (en) * 2008-06-27 2010-01-14 Toshiba Corp Image processing device and image processing method
JP2013049248A (en) * 2011-08-31 2013-03-14 Kyocera Document Solutions Inc Image forming apparatus
CN113590520A (en) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Control method for automatically writing data into SPI system and SPI system

Similar Documents

Publication Publication Date Title
US8553272B2 (en) Image processing apparatus, image processing method, program therefor, and medium storing program
US8861014B2 (en) Systems and methods for optimized printer throughput in a multi-core environment
JP2006338194A (en) Data processing system, data processing program, and data processing method
US8767265B2 (en) Image processing apparatus and processing method of the image processing apparatus
JP5393813B2 (en) Memory management device and image processing device
JP6655963B2 (en) An image processing apparatus and a control method for the image processing apparatus.
US10325189B2 (en) Image processing apparatus and image processing method that perform, in units of band areas, rasterization based on second intermediate data stored in a first memory area and compressed raster data stored in a second memory area
US8526052B2 (en) Print data processing apparatus, control method for print data processing apparatus, and storage medium
JP2010006066A (en) Image processing device and image processing method
JP2007237510A (en) Image forming device, image forming method which is executed in the device, and image forming program
JP6226604B2 (en) Apparatus, method, and program for generating display list
JP6078954B2 (en) Image processing device
JP3711609B2 (en) Printing method, printing system, and printer
JP2009038776A (en) Image processing apparatus, and image processing method
JP2020203461A (en) Image forming device, control method for the same, and program
JP5701234B2 (en) Image forming apparatus and character drawing program
JPH07172003A (en) Printer control circuit
JP2004086751A (en) Memory management device and memory management method
JP2004338213A (en) Printing method and its device
JP2007185911A (en) Printer controller and printer
JP2007110480A (en) Image processing circuit and color page printer
JP2012081711A (en) Image forming apparatus and image processing method
JP2010221476A (en) Job processor
JP2002120418A (en) Printer device and image processing device comprising the printer device
JP2001053957A (en) Printer host, printer, printer system and storage medium storing program for converting plotting instruction to binarized image data