JP2012027751A - Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium - Google Patents

Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium Download PDF

Info

Publication number
JP2012027751A
JP2012027751A JP2010166659A JP2010166659A JP2012027751A JP 2012027751 A JP2012027751 A JP 2012027751A JP 2010166659 A JP2010166659 A JP 2010166659A JP 2010166659 A JP2010166659 A JP 2010166659A JP 2012027751 A JP2012027751 A JP 2012027751A
Authority
JP
Japan
Prior art keywords
access request
data transfer
data
access
priority
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
JP2010166659A
Other languages
Japanese (ja)
Inventor
Shinko Yamada
眞弘 山田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010166659A priority Critical patent/JP2012027751A/en
Publication of JP2012027751A publication Critical patent/JP2012027751A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently and properly control accesses on the basis of priority with respect to a high-speed serial bus.SOLUTION: In an image processing device 1, high-priority video output control units 22a, 22b, 22c and 22d issue memory access request signals VOUT_REQa, VOUT_REQb, VOUT_REQc, VOUT_REQd intensively, for each image data line, to a PCIe end controller 28 as an interface and an arbiter 25 that arbitrates access requests to a PCIe route controller 21, on a high-speed serial bus, such as PCIes 8 and 9, where the request commands and responses thereto are separated from each other.

Description

本発明は、データ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関し、詳細には、高速シリアルバスへの優先順位に基づくアクセス制御を効率的かつ適切に行うデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関する。   The present invention relates to a data transfer apparatus, an image forming apparatus, a data transfer control method, a data transfer control program, and a recording medium, and more particularly, data transfer that efficiently and appropriately performs access control based on priority to a high-speed serial bus. The present invention relates to an apparatus, an image forming apparatus, a data transfer control method, a data transfer control program, and a recording medium.

複写装置、複合装置、スキャナ装置、ファクシミリ装置等の画像処理装置においては、データ(画像データ等)を高速かつ適切に転送することが重要であり、例えば、スキャナ部で読み取られた画像データ、外部記憶部(例えば、ハードディスク、CD−ROM(Compact Disc Read Only Memory )、DVD(Digital Video Disk)、SD(Secure Digital)カード等)から読み取られた画像データ等の入力画像データに対して各種画像処理を施して、一旦RAM(Random Access Memory)やハードディスク等の一時保管メモリに保管し、該一時保管メモリに保管した画像データを再度必要な画像処理(スキャナγ補正、フィルタ処理、地肌除去、色補正、プリンタγ補正、中間調処理等)を施して、プリンタ部に送って記録出力に供したり、ネットワークを介してコンピュータ等に転送したり、ファクシミリ送信に供する等の各種出力処理を行う。   In image processing apparatuses such as copying apparatuses, composite apparatuses, scanner apparatuses, and facsimile apparatuses, it is important to transfer data (image data, etc.) at high speed and appropriately. For example, image data read by a scanner unit, external data Various image processing for input image data such as image data read from a storage unit (for example, hard disk, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Video Disk), SD (Secure Digital) card, etc.) And temporarily store it in a temporary storage memory such as RAM (Random Access Memory) or hard disk, and the image data stored in the temporary storage memory is necessary again image processing (scanner γ correction, filter processing, background removal, color correction) Printer gamma correction, halftone processing, etc.) and sent to the printer unit for recording output or via a network Or transferred to chromatography data or the like, performs various output processing such as subjecting the facsimile transmission.

そして、近年、複合装置、プリンタ等の画像処理装置においては、ASIC(Application Specific Integrated Circuit)等の画像処理用チップとメモリとの間のデータ転送等において、高速データ転送を実現するために、要求と応答が分離され、応答を待たずに次の要求を発行できる高速な転送を行うスプリットトランザクションのバスであるPCI(Peripheral Component Interconnect) Express(以下、PCIeという。)が用いられるようになってきている。また、PCIeにおいいては、上述のように、要求コマンドと、該要求コマンドに対する応答とが分離されていいて、要求コマンドに対する応答を待つことなく、次々と要求コマンドを発行できるため、バスの利用効率を向上させることができるが、転送レートの最悪値を保証する必要のある要求源(例えば、ビデオ出力データの入出力のDMAC(Direct Memory Access Controller :DMAコントローラ)等のように、単位時間当たりの転送量を所定量以上に維持することができないと、異常画像が発生してしまう要求源)に対して、その保証値を高くすることができない。   In recent years, image processing apparatuses such as composite devices and printers have been requested to realize high-speed data transfer in data transfer between an image processing chip such as an ASIC (Application Specific Integrated Circuit) and a memory. And PCI (Peripheral Component Interconnect) Express (hereinafter referred to as PCIe), which is a split transaction bus that performs high-speed transfer that can issue the next request without waiting for the response. Yes. In PCIe, the request command and the response to the request command are separated as described above, and the request command can be issued one after another without waiting for the response to the request command. However, a request source (for example, a DMAC (Direct Memory Access Controller: DMA controller) for input / output of video output data) that needs to guarantee the worst value of the transfer rate can be improved. If the transfer amount cannot be maintained at a predetermined amount or more, the guaranteed value cannot be increased with respect to a request source that generates an abnormal image.

すなわち、PCIeにおいては、上述のように、要求コマンドに対する応答を待つことなく、次々と要求コマンドを発行(以下、先投げという。)することができるが、この特性を有効に利用するために、要求コマンドを保持するためのバッファ(キュー)を持って、発行された要求コマンドを、このキューに一時的に蓄える構成を有しており、高い要求コマンド発行レートを達成できるようになっている。   That is, in PCIe, as described above, request commands can be issued one after another without waiting for a response to the request command (hereinafter referred to as first throw), but in order to effectively use this characteristic, Having a buffer (queue) for holding request commands, the issued request commands are temporarily stored in this queue, so that a high request command issue rate can be achieved.

そして、PCIeの規格によれば、シリアルバス(高速シリアルバス)を仮想チャネル(Virtual Channel)単位で時分割に使い分けることで複数トラフィックのパケットデータを伝送する仮想チャネル機能と、仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション機能とを有しており、シリアルバスを用いてデータ転送の優先度が異なる複数トラフィックのパケットデータを同時転送させたい場合に、転送レートの調整が可能となっている。より詳細には、PCIe規格の仮想チャネルのアービトレーションにおけるアルゴリズムでは、仮想チャネルVC毎に均等な頻度でパケットデータを発行させるラウンドロビン(Round Robin)方式、仮想チャネル毎に任意に指定可能なテーブルに従った重み付けされた頻度でパケットデータを発行させるウエイテッドラウンドロビン(Weighted Round Robin)方式、仮想チャネルVC毎に固定の優先順でパケットデータを発行させるストリクト(Strict)方式があり、シリアルバス上に転送するパケットを、トランザクション単位で優先度の調整が可能である。   According to the PCIe standard, a virtual channel function for transmitting packet data of a plurality of traffics by using a serial bus (high-speed serial bus) in a time division manner in units of virtual channels, and packet data for each virtual channel It has an arbitration function that arbitrates the priority to issue the packet, and it is possible to adjust the transfer rate when you want to simultaneously transfer multiple traffic packet data with different data transfer priorities using the serial bus. ing. More specifically, the algorithm in the arbitration of the virtual channel of the PCIe standard follows a round robin method in which packet data is issued at an equal frequency for each virtual channel VC, and a table that can be arbitrarily specified for each virtual channel. There are weighted round robin (Weighted Round Robin) method that issues packet data at a weighted frequency and strict method that issues packet data in a fixed priority order for each virtual channel VC. It is possible to adjust the priority of packets to be processed on a transaction basis.

ところが、要求コマンド発行レートが高いことが、転送レートの最悪値を保証する必要のある要求源に対して高い保証値を確保できることを意味するものではない。すなわち、一般的に、PCIeにおいては、先投げした要求コマンドに対して、その応答結果を受け取るための小容量のバッファ・メモリのみを持ち、そのバッファ・メモリの容量範囲内で、先投げを行っている。したがって、先投げの最大値に達すると、継続して要求を発行したくても、発行することができないという状態が発生し、この状態においては、転送レートの最悪値を保証する必要のある要求源がない状態で、アービトレーションを行うこととなる。その結果、転送レートの最悪値を保証する必要のある要求源を、アービタの高い優先順位に設定しても、下位優先順位の要求源からの要求が次々と許可されて、要求が発行され、転送レートの最悪値を保証する必要のある要求源が、先に発行した要求の応答を受けて、継続して要求を発行する時点では、先行して許可された下位優先順位要求源の要求が複数許可されて、キューに蓄えられた状態となっている。したがって、転送レートの最悪値を保証する必要のある要求源からの要求は、これらの下位優先順位の要求が実行されるのを待って、実行されることとなり、転送レートの保証値を低く設定する必要があった。また、仮に、先投げの個数を増大させることができたとしても、高優先順位の要求源にパスが独占されてしまい、低優先順位の要求源からの要求の実行が、長時間待たされてしまうという結果となるため、先投げの個数を増大させることができなかった。   However, a high request command issue rate does not mean that a high guaranteed value can be secured for a request source that needs to guarantee the worst transfer rate. That is, in general, PCIe has only a small-capacity buffer memory for receiving a response result to a request command that has been thrown first, and performs a first throw within the capacity range of the buffer memory. ing. Therefore, when the maximum value of the first throw is reached, a situation occurs in which it is impossible to issue a request even if it is desired to continue issuing requests. In this state, a request that needs to guarantee the worst transfer rate is required. Arbitration will be performed in the absence of a source. As a result, even if the request source that needs to guarantee the worst value of the transfer rate is set to the high priority of the arbiter, requests from the request sources of lower priority are successively granted, the requests are issued, When a request source that needs to guarantee the worst transfer rate receives a response to a previously issued request and issues a request continuously, the request of the lower priority request source that has been granted in advance is not received. Multiple allowed and stored in the queue. Therefore, a request from a request source that needs to guarantee the worst transfer rate is executed after these lower priority requests are executed, and the guaranteed transfer rate is set low. There was a need to do. Even if the number of first throws can be increased, the path is monopolized by the high priority request source, and the execution of the request from the low priority request source is waited for a long time. As a result, the number of first throws could not be increased.

そして、従来、トランザクション層の送信バッファが介在している場合であっても、アービタの設定と実際のトラフィックにおけるプライオリティの整合性を維持しつつ、優先度の調停を行う技術が提案されている(特許文献1参照)。この従来技術は、具体的には、複数のデータをアービタでアービトレーションテーブルに従って調停してシリアルバスに出力するデータ転送回路において、シリアル通信路を伝送されるパケットデータ量に基づいてトラフィックの統計情報を生成し、この生成されたトラフィックの統計情報に基づいてアービトレーションテーブルの重み情報を更新することで、優先度の調停を行っている。   Conventionally, even when a transaction layer transmission buffer is present, a technique has been proposed for arbitrating priorities while maintaining consistency in priority between arbiter settings and actual traffic ( Patent Document 1). Specifically, in this prior art, in a data transfer circuit that arbitrates a plurality of data according to an arbitration table by an arbiter and outputs the data to a serial bus, statistical information of traffic is obtained based on the amount of packet data transmitted through the serial communication path. The priority arbitration is performed by updating the weight information of the arbitration table based on the generated traffic statistical information.

しかしながら、上記公報記載の従来技術にあっては、実際のパケットデータの統計情報を用いてアービタの優先度調停を行っているため、その精度が未知であり、転送レートの最悪値を保証する必要のある要求源に対して、保証値の設定を高く設定できるようにする上で、改良の必要があった。   However, in the prior art described in the above publication, since the arbitration priority arbitration is performed using the statistical information of the actual packet data, the accuracy is unknown and it is necessary to guarantee the worst transfer rate. In order to make it possible to set a high guaranteed value for a certain request source, there is a need for improvement.

そこで、本発明は、高速シリアルバスの転送レートの最悪値を保証する必要のあるアクセス要求手段に対して、その保証値を高く設定することのできるデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体を提供することを目的としている。   Accordingly, the present invention provides a data transfer apparatus, an image forming apparatus, and a data transfer control method capable of setting a high guaranteed value for an access request means that needs to guarantee the worst value of the transfer rate of a high-speed serial bus. An object of the present invention is to provide a data transfer control program and a recording medium.

本発明は、上記目的を達成するために、高速シリアルバスへの画像データの転送アクセス要求を行うとともに優先順位の付与されている複数のアクセス要求手段からのアクセス要求を調停するアービタで調整する場合に、前記アクセス要求手段のうち転送レートの最悪値を保証する必要のある要保証アクセス要求手段に対して高い優先順位を付与するとともに、該要保証アクセス要求手段からデータのライン単位で集中的にアクセス要求を発行させることを特徴としている。   In order to achieve the above object, the present invention makes a transfer access request for image data to a high-speed serial bus and adjusts an access request from a plurality of access request means assigned priority levels by an arbiter. In addition, a high priority is given to the required access requesting means that needs to guarantee the worst value of the transfer rate among the access requesting means, and from the required access requesting means intensively in units of data lines. It is characterized by issuing an access request.

また、本発明は、前記要保証アクセス要求手段よりも優先順位の低い特定のアクセス要求手段からのアクセス要求が連続して不許可となっている時間を計時して、該計時時間が所定の待ち時間になると、該特定アクセス要求手段に対して、優先的にアクセスを許可することを特徴としてもよい。   Further, the present invention counts the time during which access requests from specific access request means having a lower priority than the required access request means are continuously disallowed, and waits for a predetermined waiting time. The access may be preferentially permitted to the specific access request means when time comes.

さらに、本発明は、前記要保証アクセス要求手段よりも優先順位の低い特定のアクセス要求手段に対して前記アービタが優先的にアクセス許可を与える周期を設定して、該周期が経過する毎に、特定の前記アクセス要求手段に対して優先的にアクセス許可を与えることを特徴としてもよい。   Furthermore, the present invention sets a cycle in which the arbiter preferentially grants access permission to a specific access request unit having a lower priority than the guaranteed access request unit, and each time the cycle elapses, An access permission may be preferentially given to the specific access request means.

また、本発明は、前記アービタが、1つの前記アクセス要求手段を、複数のアクセス要求手段として取り扱いが可能であり、前記要保証アクセス要求手段からのアクセス要求に対して、該複数倍の頻度でアクセス許可を与えることを特徴としてもよい。   Further, according to the present invention, the arbiter can handle one access request means as a plurality of access request means, and the access request from the required access request means requires a frequency that is multiple of the multiple. It is good also as giving an access permission.

さらに、本発明は、前記アービタは、前記要保証アクセス要求手段の要求転送レートの比率が2以上であるときに、該要保証アクセス要求手段を複数のアクセス要求手段として取り扱って、該要保証アクセス要求手段からのアクセス要求に対して、該複数倍の頻度でアクセス許可を与えることを特徴としてもよい。   Further, according to the present invention, the arbiter treats the required access request means as a plurality of access request means when the ratio of the required transfer rate of the required access request means is 2 or more, and An access permission may be given to the access request from the requesting means at a frequency that is multiple of the frequency.

本発明によれば、高速シリアルバスの転送レートの最悪値を保証する必要のあるアクセス要求手段に対して、その保証値を高く設定することができる。   According to the present invention, the guaranteed value can be set higher for the access request means that needs to guarantee the worst value of the transfer rate of the high-speed serial bus.

本発明の一実施例を適用した画像処理装置の要部ブロック構成図。1 is a block diagram of a main part of an image processing apparatus to which an embodiment of the present invention is applied. コントローラASICのブロック構成図。The block block diagram of controller ASIC. アービタにおける各信号のタイミング図。The timing diagram of each signal in an arbiter.

以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, since the Example described below is a suitable Example of this invention, various technically preferable restrictions are attached | subjected, However, The range of this invention is unduly limited by the following description. However, not all the configurations described in the present embodiment are essential constituent elements of the present invention.

図1〜図3は、本発明のデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明のデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を適用した画像処理装置1のブロック構成図である。   1 to 3 are diagrams showing an embodiment of a data transfer apparatus, an image forming apparatus, a data transfer control method, a data transfer control program, and a recording medium according to the present invention, and FIG. 1 shows a data transfer apparatus according to the present invention. 1 is a block configuration diagram of an image processing apparatus 1 to which an embodiment of an image forming apparatus, a data transfer control method, a data transfer control program, and a recording medium are applied.

図1において、画像処理装置1は、スキャナ2、プロッタ3、エンジンASIC4、コントローラASIC(CTL ASIC)5、CPU(Central Processing Unit )6及びメモリ7等を備えているとともに、図示しないが、画像処理装置1の各種動作を行わせるのに必要な命令を入力すると共に画像処理装置1からの各種情報を表示する操作表示部、ネットワーク等で接続されている相手端末との間でデータの授受を行うネットワーク部等を備えており、複写装置、複合装置等である。なお、操作表示部は、画像処理装置1を操作するのに必要な各種キーを備えるとともに、ディスプレイ(例えば、液晶ディスプレイ)やLED(Light Emitting Diode)等のランプを備え、操作キーからは、画像処理装置1を利用した複写処理に必要な各種操作が行われ、ディスプレイには、操作キーから入力された命令内容や画像処理装置1からオペレータに通知する各種情報が表示される。   In FIG. 1, an image processing apparatus 1 includes a scanner 2, a plotter 3, an engine ASIC 4, a controller ASIC (CTL ASIC) 5, a CPU (Central Processing Unit) 6, a memory 7, and the like. Inputs commands necessary to perform various operations of the apparatus 1 and exchanges data with an operation display unit that displays various types of information from the image processing apparatus 1 and a partner terminal connected via a network or the like. A network unit and the like are provided, such as a copying apparatus and a composite apparatus. The operation display unit includes various keys necessary for operating the image processing apparatus 1, and includes lamps such as a display (for example, a liquid crystal display) and an LED (Light Emitting Diode). Various operations necessary for the copying process using the processing apparatus 1 are performed, and the command content input from the operation keys and various information notified from the image processing apparatus 1 to the operator are displayed on the display.

エンジンASIC4とコントローラASIC及びコントローラASICとCPU6とは、それぞれ要求コマンドと応答が分離されていて、応答を待たずに次の要求を発行できる高速な転送を行うスプリットトランザクションのバス(高速シリアルバス)であるPCIe8、9が用いられ、CPU6とメモリ7とは、SSTL(Stab Series Terminated Logic)10によって接続されている。   The engine ASIC 4, the controller ASIC, the controller ASIC, and the CPU 6 are split transaction buses (high-speed serial buses) that perform a high-speed transfer that can issue the next request without waiting for a response. Some PCIe 8 and 9 are used, and the CPU 6 and the memory 7 are connected by an SSTL (Stab Series Terminated Logic) 10.

スキャナ2は、例えば、CCD(Charge Coupled Device )、CMOS(Complementary Metal Oxide Semiconductor )、CIS(Contact Image Sensor:密着イメージセンサ)を利用したイメージスキャナ等が利用されており、原稿を走査して、原稿の画像を所定の解像度で読み取る。スキャナ2は、通常、原稿センサ(図示略)が配設されており、原稿の読取時、原稿センサにより、セットされた原稿のサイズや原稿のセット方向(縦方向や横方向)を検出して、コントローラASIC5に出力する。なお、この原稿サイズとセット方向の検出は、原稿センサを用いるものに限るものではなく、例えば、スキャナ2で原稿の前走査等を行うことにより検出するようにしてもよい。   As the scanner 2, for example, an image scanner using a CCD (Charge Coupled Device), a CMOS (Complementary Metal Oxide Semiconductor), or a CIS (Contact Image Sensor) is used. Are read at a predetermined resolution. The scanner 2 is usually provided with a document sensor (not shown). When the document is read, the document sensor detects the size of the set document and the set direction (vertical direction or horizontal direction) of the document. To the controller ASIC5. The detection of the document size and the set direction is not limited to using the document sensor, and may be detected by, for example, pre-scanning the document with the scanner 2.

プロッタ3は、例えば、サーマル素子を利用したサーマル記録装置あるいは電子写真式記録装置等が使用されており、スキャナ2で読み取られた原稿の画像を記録紙に記録出力する。   The plotter 3 uses, for example, a thermal recording device or an electrophotographic recording device using a thermal element, and records and outputs an image of a document read by the scanner 2 on a recording sheet.

エンジンASIC4は、コントローラASIC5と連携して、エンジンASIC4からコントローラASIC5へのデータ転送及びコントローラASIC5からエンジンASIC4へのデータ転送を行うとともに、スキャナ2の原稿読み取り動作及びプロッタ3による画像形成動作を制御する。   The engine ASIC 4 cooperates with the controller ASIC 5 to perform data transfer from the engine ASIC 4 to the controller ASIC 5 and data from the controller ASIC 5 to the engine ASIC 4, and to control the document reading operation of the scanner 2 and the image forming operation by the plotter 3. .

コントローラASIC5は、CPU6とともに画像処理装置1の全体の制御を行うとともに、特に、後述するデータ転送制御を行う。   The controller ASIC 5 performs overall control of the image processing apparatus 1 together with the CPU 6, and particularly performs data transfer control described later.

メモリ7は、画像処理装置7の基本プログラムや本発明のデータ転送制御プログラム、システムデータ及び画像データ等を格納しており、CPU6によって読み出され、また、書き込まれる。   The memory 7 stores the basic program of the image processing device 7, the data transfer control program of the present invention, system data, image data, and the like, and is read and written by the CPU 6.

CPU6は、メモリ7内のプログラムに基づいて画像処理装置1の各部を制御して、画像処理装置1としての基本処理を実行するとともに、本発明のデータ転送制御プログラムに基づいて転送レートの最悪値を保証する必要のある要求源からのデータ転送要求を適切に処理する。   The CPU 6 controls each part of the image processing apparatus 1 based on the program in the memory 7 to execute basic processing as the image processing apparatus 1 and at the worst value of the transfer rate based on the data transfer control program of the present invention. Properly handle data transfer requests from request sources that need to guarantee

すなわち、画像処理装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送制御方法を実行するデータ転送制御プログラムを読み込んでメモリ7に導入することで、後述するデータ転送を効率的にかつ高速に処理するデータ転送方法を実行する画像処理装置1として構築されている。このデータ転送制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。   That is, the image processing apparatus 1 includes a ROM, an EEPROM (Electrically Erasable and Programmable Read Only Memory), an EPROM, a flash memory, a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a CD-RW (Compact Disc Rewritable), a DVD. A data transfer control program for executing the data transfer control method of the present invention recorded on a computer-readable recording medium such as a (Digital Versatile Disk), an SD (Secure Digital) card, or an MO (Magneto-Optical Disc) is read. Thus, it is constructed as an image processing apparatus 1 that executes a data transfer method for processing data transfer described later efficiently and at high speed. This data transfer control program is a computer-executable program written in a legacy programming language such as assembler, C, C ++, C #, Java (registered trademark) or an object-oriented programming language, and is stored in the recording medium. And can be distributed.

そして、上記コントローラASIC5は、図2に示すようにブロック構成されている。コントローラASIC5は、PCIeルートコントローラ(root)21、カラ画像データに応じた4色分のビデオ出力制御ユニット22a、22b、22c、22d、ラインバッファ(Line Buff)23、ビデオ入力コントローラ(VIcnt)24、アービタ25、各色用の圧縮ユニット26a、26b、26c、26d、各色用のイメージ処理ユニット27a、27b、27c,27d、PCIeエンドポイントコントローラ(End)28及びASICコントローラ29等を備えており、ASICコントローラ29は、制御レジスタ31とタイマ32を搭載している。   The controller ASIC 5 has a block configuration as shown in FIG. The controller ASIC 5 includes a PCIe route controller (root) 21, video output control units 22 a, 22 b, 22 c, and 22 d corresponding to color image data, a line buffer (Line Buff) 23, a video input controller (VIcnt) 24, The ASIC controller includes an arbiter 25, compression units 26a, 26b, 26c, and 26d for each color, image processing units 27a, 27b, 27c, and 27d for each color, a PCIe end point controller (End) 28, an ASIC controller 29, and the like. 29 includes a control register 31 and a timer 32.

PCIeルートコントローラ21は、エンジンASIC4との間のPCIe8に接続されているとともに、ビデオ出力制御ユニット22a、22b、22c、22d及びラインバッファ23に接続されており、エンジンASIC4との間のPCIe8を制御して、ビデオ出力制御ユニット22a、22b、22c、22dからのプロッタデータをPCIe8を介してエンジンASIC4へ出力するとともに、エンジンASIC4からのスキャナデータをラインバッファ23に出力する。   The PCIe route controller 21 is connected to the PCIe 8 between the engine ASIC 4 and the video output control units 22 a, 22 b, 22 c, 22 d and the line buffer 23, and controls the PCIe 8 between the engine ASIC 4. Then, the plotter data from the video output control units 22a, 22b, 22c, and 22d is output to the engine ASIC 4 via the PCIe 8 and the scanner data from the engine ASIC 4 is output to the line buffer 23.

PCIeエンドコントローラ28は、CPU6側のPCIe9及びアービタ25と接続されており、PCIe9を制御して、アービタ25とCPU6との間のデータ転送を行う。   The PCIe end controller 28 is connected to the PCIe 9 and the arbiter 25 on the CPU 6 side, and controls the PCIe 9 to perform data transfer between the arbiter 25 and the CPU 6.

ビデオ出力制御ユニット(要保証アクセス要求手段)22a、22b、22c、22dは、それぞれ、ビデオ出力コントローラ221a、221b、221c、221d、スタンプDMAC(STMP DMAC)222a、222b、222c、222d、ビデオ出力DMAC223a、223b、223c、223d、伸長器224a、224b、224c、224d、符号DMAC225a、225b、225c、225d、画像DMAC226a、226b、226c、226d及びラインバッファ(Line Buff)227a、227b、227c、227dを備えている。   The video output control units (guaranteed access request means) 22a, 22b, 22c, 22d are respectively video output controllers 221a, 221b, 221c, 221d, stamp DMACs (STMP DMAC) 222a, 222b, 222c, 222d, video output DMAC 223a. 223b, 223c, 223d, decompressors 224a, 224b, 224c, 224d, code DMACs 225a, 225b, 225c, 225d, image DMACs 226a, 226b, 226c, 226d and line buffers (Line Buff) 227a, 227b, 227c, 227d ing.

ビデオ出力コントローラ221a、221b、221c、221dは、それぞれのビデオ出力制御ユニット22a、22b、22c、22d全体の制御を行うとともに、エンジンASIC4側にプロッタデータを転送する処理を実行する。   The video output controllers 221a, 221b, 221c, and 221d control the entire video output control units 22a, 22b, 22c, and 22d, and execute processing for transferring plotter data to the engine ASIC 4 side.

スタンプDMAC222a、222b、222c、222dは、プロッタ3で印字出力するプロッタデータに対して、スタンプ印字として上乗せするデータ(スタンプデータ)を用意する。   The stamp DMACs 222a, 222b, 222c, and 222d prepare data (stamp data) to be added as stamp printing to the plotter data printed out by the plotter 3.

ビデオ出力DMAC223a、223b、223c、223dは、印字出力するプロッタデータを用意し、伸長器224a、224b、224c、224dは、圧縮データとしてメモリ7上に置かれているデータを符号DMAC225a、225b、225c、225dを使用して読み出して、伸張処理を行う。この伸張データは、ビデオ出力DMAC223a、223b、223c、223dで用意するデータの変わりに使用することもでき、また、画像DMAC226a、226b、226c、226dを使用して、メモリ7上に書き出すこともできる。   The video output DMACs 223a, 223b, 223c, and 223d prepare plotter data to be printed out, and the decompressors 224a, 224b, 224c, and 224d code the data placed on the memory 7 as compressed data, code DMACs 225a, 225b, and 225c. 225d is used to perform decompression processing. The decompressed data can be used in place of data prepared in the video output DMACs 223a, 223b, 223c, and 223d, and can be written on the memory 7 using the image DMACs 226a, 226b, 226c, and 226d. .

ラインバッファ227a、227b、227c、227dは、ビデオ出力コントローラ221a、221b、221c、221dが必要とするデータをライン単位で、先行してメモリ7から読み出してきて、蓄えておくためラインバッファである。   The line buffers 227a, 227b, 227c, and 227d are line buffers for reading and storing data required by the video output controllers 221a, 221b, 221c, and 221d from the memory 7 in advance in units of lines.

上記圧縮ユニット(アクセス要求手段)26a、26b、26c、26dは、圧縮器(ENC)261a、261b、261c、261d、汎用DMAC(GDMAC)262a、262b、262c、262d及び汎用DMAC(GDMAC)263a、263b、263c、263dを備えており、各色分搭載されている。汎用DMAC262a、262b、262c、262dは、アービタ25を介して生データを読み出して、圧縮器261a、261b、261c、261dに渡し、圧縮器261a、261b、261c、261dが所定の圧縮方式でデータを圧縮して汎用DMAC263a、263b、263c、263dにわたす。汎用DMAC263a、263b、263c、263dは、圧縮後のデータをアービタ25、PCIeエンドコントローラ28及びPCIe9を介してCPU9側に渡す。   The compression units (access request means) 26a, 26b, 26c, 26d include compressors (ENC) 261a, 261b, 261c, 261d, general purpose DMAC (GDMAC) 262a, 262b, 262c, 262d, and general purpose DMAC (GDMAC) 263a, 263b, 263c, and 263d are installed for each color. The general-purpose DMACs 262a, 262b, 262c, and 262d read the raw data via the arbiter 25 and pass them to the compressors 261a, 261b, 261c, and 261d, and the compressors 261a, 261b, 261c, and 261d store the data using a predetermined compression method. It compresses and passes to general purpose DMAC263a, 263b, 263c, 263d. The general-purpose DMACs 263a, 263b, 263c, and 263d pass the compressed data to the CPU 9 side via the arbiter 25, the PCIe end controller 28, and the PCIe 9.

イメージ処理ユニット(アクセス要求手段)27a、27b、27c、27dは、イメージ処理回路271a、271b、271c、271d、汎用DMAC(GDMAC)272a、272b、272c、272d及び汎用DMAC(GDMAC)273a、273b、273c、273dを備えており、4色分搭載されている。汎用DMAC272a、272b、272c、272dは、アービタ25を介してメモリからデータを読み出してイメージ処理回路271a、271b、271c、271dに渡し、イメージ処理回路271a、271b、271c、271dは、メモリ7から読み出されたデータにイメージ処理を施して汎用DMAC273a、273b、273c、273dに渡す。汎用DMAC273a、273b、273c、273dは、イメージ処理結果をアービタ25、PCIeエンドコントローラ28、PCIe9、CPU6を介してメモリ7に書き込む。そして、イメージ処理ユニット27a、27b、27c、27dは、4色分搭載されていて、4色同時にイメージ処理が可能となっている。   The image processing units (access request means) 27a, 27b, 27c, 27d are image processing circuits 271a, 271b, 271c, 271d, general purpose DMACs (GDMAC) 272a, 272b, 272c, 272d and general purpose DMACs (GDMAC) 273a, 273b, 273c, 273d, and four colors are installed. The general-purpose DMACs 272a, 272b, 272c, and 272d read data from the memory via the arbiter 25 and pass the data to the image processing circuits 271a, 271b, 271c, and 271d. The image processing circuits 271a, 271b, 271c, and 271d read from the memory 7. The extracted data is subjected to image processing and passed to general-purpose DMACs 273a, 273b, 273c, and 273d. The general-purpose DMACs 273a, 273b, 273c, and 273d write the image processing results to the memory 7 via the arbiter 25, the PCIe end controller 28, the PCIe 9, and the CPU 6. The image processing units 27a, 27b, 27c, and 27d are mounted for four colors, and image processing can be performed simultaneously for the four colors.

ラインバッファ23は、スキャナデータ用のラインバッファであり、スキャナデータを複数ライン分蓄積する。ビデオ入力コントローラ24は、スキャナデータ用のラインバッファ23を制御する。   The line buffer 23 is a line buffer for scanner data, and accumulates scanner data for a plurality of lines. The video input controller 24 controls the line buffer 23 for scanner data.

アービタ25は、各ユニットからのPCIe9を介してのメモリアクセス要求の調停を行い、基本的に、ラウンドロビン方式で各メモリアクセス要求を調停する。   The arbiter 25 arbitrates memory access requests from each unit via the PCIe 9 and basically arbitrates each memory access request in a round robin manner.

ASICコントローラ(アクセス制御手段、周期設定手段)29は、コントローラASIC5全体を制御し、制御レジスタ31及びタイマ32等を搭載している。制御レジスタ(待ち時間設定手段)31は、CPU6からアクセスされ、その設定値によりASICコントローラ29によるコントローラASIC5の制御内容が変化し、特に、アクセス要求に対して許可を与えるまでの待ち時間が設定される。タイマ(計時手段)32は、特定の要求源からの要求が、一定時間許可されない場合、その要求源に対して、優先的に許可されるようにASICコントローラ29がアービタ25の調停を制御するための、該一定時間(待ち時間)の計時を行う。   An ASIC controller (access control means, cycle setting means) 29 controls the entire controller ASIC 5, and includes a control register 31, a timer 32, and the like. The control register (waiting time setting means) 31 is accessed from the CPU 6, and the control content of the controller ASIC 5 by the ASIC controller 29 changes according to the set value, and in particular, the waiting time until permission is granted for the access request is set. The The timer (time measuring means) 32 controls the arbitration of the arbiter 25 so that the request from a specific request source is preferentially granted to the request source when the request is not granted for a certain period of time. The time is measured for the predetermined time (waiting time).

次に、本実施例の作用について説明する。本実施例の画像処理装置1は、PCIe8及びPCIe9を介したデータ転送において、特にPCIe9を介してのメモリ7へのデータ転送において、単位時間当たり転送量を所定値以上に維持できないと異常画像となるような転送レートの最悪値を保証する必要のある要求源(ビデオ出力データの入出力のDMAC等)に対し、その保証値を高く設定できるようにする。すなわち、ビデオ出力制御ユニット22a、22b、22c、22dを要保証アクセス手段として、保証値を高く設定できるようにする。   Next, the operation of this embodiment will be described. The image processing apparatus 1 according to the present embodiment detects an abnormal image if the transfer amount per unit time cannot be maintained at a predetermined value or more in data transfer via the PCIe 8 and the PCIe 9, particularly in data transfer to the memory 7 via the PCIe 9. For a request source (such as a DMAC for input / output of video output data) that needs to guarantee the worst value of the transfer rate, the guaranteed value can be set high. That is, the video output control units 22a, 22b, 22c, and 22d are used as the required guarantee access means so that the guaranteed value can be set high.

本実施例の画像処理装置1は、そのデータの流れが、図1に示されており、スキャナデータパスが、Sdで、プロッタデータパスが、Odで、プリンタデータパスが、Pdでそれぞれ示されている。   The data flow of the image processing apparatus 1 according to the present embodiment is shown in FIG. 1. The scanner data path is indicated by Sd, the plotter data path is indicated by Od, and the printer data path is indicated by Pd. ing.

スキャンデータパスSdは、スキャナ2で読み取られた原稿の画像データが、エンジンASIC4で画像処理されて、コントローラASIC5に渡され、コントローラASIC5によって、CPU6の管理下のメモリ7に記憶するように、CPU6に要求を発行して、メモリ7に記憶させるデータパスである。   The scan data path Sd is such that the image data of the document read by the scanner 2 is subjected to image processing by the engine ASIC 4, passed to the controller ASIC 5, and stored in the memory 7 under the control of the CPU 6 by the controller ASIC 5. The data path is issued to the memory 7 and stored in the memory 7.

プロッタデータパスOdは、メモリ7に記憶された画像データが、プロッタ3に送られて印刷に供されるデータパスである。すなわち、コントローラASIC5からの要求で、CPU6管理下のメモリ7から、画像データを読み出し、エンジンASIC4を経由して、プロッタ3に画像データを渡して、印字出力するデータパスである。   The plotter data path Od is a data path in which image data stored in the memory 7 is sent to the plotter 3 for printing. That is, this is a data path for reading out image data from the memory 7 under the control of the CPU 6 and passing the image data to the plotter 3 via the engine ASIC 4 in response to a request from the controller ASIC 5.

プリンタデータパスPdは、プリンタデータの作成は、上記コピー動作と並行して行われる。プリンタデータパスPdは、ネットワーク経由等で、図示しないパーソナル・コンピュータ等から、プリンタ出力要求内容が各種プリンタ言語データとして、コントローラASIC5に入力される。このプリンタ言語データは、CPU6管理下のメモリ7に記憶するように、CPU6に要求を発行し、メモリ7に記憶される。その後、CPU6は、プリンタ言語データの内容を解釈し、その内容に応じた画像データをメモリ7上に作成する。なお、画像データの作成にあたっては、コントローラASIC5の圧縮/伸張器22a〜22d、26a〜26dを用いて、必要メモリ容量が少なくなる方法で画像データを作成する。最終的にメモリ7に作成されるデータは、圧縮処理されたデータとなる。この後、プロッタ3が、コピー動作から開放され、空いたところで、プリンタデータのメモリ7からプロッタ3への出力が行われる。このプリンタデータにおける出力のデータ流れは、プロッタデータパスOdと同じである。プリンタデータは、圧縮されてメモリ7に保管されているため、プリンタデータパスOdにおいて、コントローラASIC5の伸長器224a、224b、224c、224dで、伸張処理が加わる。   In the printer data path Pd, creation of printer data is performed in parallel with the copying operation. In the printer data path Pd, a printer output request content is input to the controller ASIC 5 as various printer language data from a personal computer (not shown) via a network or the like. The printer language data is stored in the memory 7 by issuing a request to the CPU 6 so as to be stored in the memory 7 under the management of the CPU 6. Thereafter, the CPU 6 interprets the contents of the printer language data and creates image data corresponding to the contents on the memory 7. In creating the image data, the image data is created by using the compressor / decompressors 22a to 22d and 26a to 26d of the controller ASIC 5 by a method that reduces the required memory capacity. The data finally created in the memory 7 is the compressed data. Thereafter, the plotter 3 is released from the copying operation, and when the plotter is free, the printer data is output from the memory 7 to the plotter 3. The output data flow in this printer data is the same as the plotter data path Od. Since the printer data is compressed and stored in the memory 7, decompression processing is added by the decompressors 224a, 224b, 224c, and 224d of the controller ASIC 5 in the printer data path Od.

そして、上記データの流れにおいて、アービタ25は、図3に示すように、各部からの信号状態に対して動作する。なお、アービタ25は、ビデオ出力制御部22a、22b、22c、22dがイメージ処理ユニット27a、27b、27c、27dや圧縮ユニット26a、26b、26c、26dよりも高い優先順位(ビデオ出力制御部22a、22b、22c、22d>イメージ処理ユニット27a、27b、27c、27d、圧縮ユニット26a、26b、26c、26d)が設定されており、ラウンドロビン方式によって、これらからのメモリアクセス要求を調停する。   In the data flow, the arbiter 25 operates in response to signal states from the respective units as shown in FIG. Note that the arbiter 25 is configured so that the video output control units 22a, 22b, 22c, and 22d have a higher priority than the image processing units 27a, 27b, 27c, and 27d and the compression units 26a, 26b, 26c, and 26d (video output control units 22a, 22d, 22b, 22c, 22d> image processing units 27a, 27b, 27c, 27d, compression units 26a, 26b, 26c, 26d) are set, and the memory access requests from these are arbitrated by the round robin method.

図3において、VOUT_DMACa_ENは、ビデオ出力制御ユニット22aに対するイネーブル信号であり、High(ハイ)の状態でイネーブル状態である。IMPa_ENは、イメージ処理ユニット27aに対するイネーブル信号であり、Highの状態でイネーブル状態である。   In FIG. 3, VOUT_DMACa_EN is an enable signal for the video output control unit 22a, and is enabled in a high state. IMPa_EN is an enable signal for the image processing unit 27a, and is in an enable state in a high state.

VOUT_DMACb_EN、IMPb_ENは、それぞれ、ビデオ出力制御ユニット22b、イメージ処理ユニット27bに対するイネーブル信号である。   VOUT_DMACb_EN and IMPb_EN are enable signals for the video output control unit 22b and the image processing unit 27b, respectively.

VOUT_REQaは、ビデオ出力制御ユニット22aからのアービタ25に対するメモリアクセス要求信号で、Highで要求状態である。VOUT_ACKaは、メモリアクセス要求信号VOUT_REQaに対するアービタ25からの許可信号であり、Highで許可を表す。   VOUT_REQa is a memory access request signal from the video output control unit 22a to the arbiter 25, and is in a request state at High. VOUT_ACKa is a permission signal from the arbiter 25 with respect to the memory access request signal VOUT_REQa, and “High” indicates permission.

IMP_REQaは、イメージ処理ユニット27aからのアービタ25に対するメモリアクセス要求信号であり、Highで要求状態である。IMP_ACKaは、メモリアクセス要求信号IMP_REQaに対するアービタ25からの許可信号であり、Highで許可を表す。   IMP_REQa is a memory access request signal from the image processing unit 27a to the arbiter 25 and is in a request state at High. IMP_ACKa is a permission signal from the arbiter 25 with respect to the memory access request signal IMP_REQa, and “High” indicates permission.

そして、図3において、タイミングt1で、メモリアクセス要求信号VOUT_REQaがHighとなり、ビデオ出力制御ユニット22aからアービタ25にメモリアクセス要求を発行する。   In FIG. 3, the memory access request signal VOUT_REQa becomes High at timing t1, and the memory access request is issued from the video output control unit 22a to the arbiter 25.

このメモリアクセス要求信号VOUT_REQaに対して、タイミングt2に示すように、アービタ25は、許可信号VOUT_ACKaをHighとすることで許可を与える。   As shown at timing t2, the arbiter 25 gives permission to the memory access request signal VOUT_REQa by setting the permission signal VOUT_ACKa to High.

一方、タイミングt3において、イメージ処理ユニット27aがメモリアクセス要求信号IMP_REQaをHighとしてメモリアクセスを要求しているが、タイミングt4に示すように、許可信号IMP_ACKaは、Lowのままであり、アービタ25は、許可を与えない。これは、ビデオ関連の要求は、一定の転送レートを確保できないと異常画像となってしまうために、高い優先順位が与えられており、ビデオ出力制御ユニット22aからのメモリアクセス要求信号VOUT_REQaが連続して発生しているため、ビデオ出力制御ユニット22aよりも優先順位の低いイメージ処理ユニット27aからのメモリアクセス要求が許可されないからである。   On the other hand, at timing t3, the image processing unit 27a requests memory access by setting the memory access request signal IMP_REQa to High, but as shown at timing t4, the permission signal IMP_ACKa remains low, and the arbiter 25 Do not give permission. This is because a video-related request becomes an abnormal image if a certain transfer rate cannot be secured, and therefore a high priority is given, and the memory access request signal VOUT_REQa from the video output control unit 22a is continuous. This is because a memory access request from the image processing unit 27a having a lower priority than the video output control unit 22a is not permitted.

図3のタイミングt5において、ビデオ出力制御ユニット22bに対するイネーブル信号VOUT_DMACb_ENがHighとなったことに連動して、ビデオ出力制御ユニット22bは、ビデオ出力制御ユニット22bに対するイネーブル信号VOUT_REQbをHighにし、メモリアクセス要求を発行する。これ対して、アービタ25は、タイミングt6のように、許可信号VOUT_ACKbをHighとすることで、ビデオ出力制御ユニット22bからのメモリアクセス要求に対しても、ラウンドロビンで調停を行い、許可を与える。   At timing t5 in FIG. 3, in conjunction with the enable signal VOUT_DMACb_EN for the video output control unit 22b becoming High, the video output control unit 22b sets the enable signal VOUT_REQb for the video output control unit 22b to High, and a memory access request Issue. On the other hand, the arbiter 25 sets the permission signal VOUT_ACKb to High as at the timing t6, so that the memory access request from the video output control unit 22b is also arbitrated in round robin and given permission.

また、図3のタイミングt7で、ビデオ出力制御ユニット22aからのメモリアクセス要求信号VOUT_REQaがLowとなっているのは、所定のライン分のデータをメモリ7から読み出し、ラインバッファ227aにため込んだので、メモリアクセス要求信号VOUT_REQaの発行を止めたためである。   Further, the reason why the memory access request signal VOUT_REQa from the video output control unit 22a is Low at timing t7 in FIG. 3 is that data for a predetermined line is read from the memory 7 and accumulated in the line buffer 227a. This is because the issue of the memory access request signal VOUT_REQa is stopped.

上記説明では、他のビデオ出力制御ユニット22b、22c、22dについても、所定のライン分のデータをメモリ7から読み出して、ラインバッファ227b、227c、227dにため込むと、メモリアクセス要求の発行を止めて、メモリアクセス要求信号VOUT_REQb、VOUT_REQc、VOUT_REQdをLowにする。   In the above description, when the other video output control units 22b, 22c, and 22d read out data for a predetermined line from the memory 7 and accumulate in the line buffers 227b, 227c, and 227d, the issuance of the memory access request is stopped. Then, the memory access request signals VOUT_REQb, VOUT_REQc, and VOUT_REQd are set to low.

アービタ25は、上記データ転送処理と並行して、エンジン側のPCIe8にプロッタデータの転送を行っているため、次のラインに対するメモリアクセスを開始する。すなわち、図3のタイミングt8で、ビデオ出力制御ユニット22aからのメモリアクセス要求信号VOUT_REQaが再びHighとなっている。   Since the arbiter 25 transfers the plotter data to the PCIe 8 on the engine side in parallel with the data transfer process, the arbiter 25 starts memory access to the next line. That is, the memory access request signal VOUT_REQa from the video output control unit 22a becomes High again at the timing t8 in FIG.

また、図3のタイミングt9においては、全てのビデオ出力制御ユニット22a、22b、22c、22dからのメモリアクセス要求信号VOUT_REQa、VOUT_REQb、VOUT_REQc、VOUT_REQdがないため、ビデオ出力制御ユニット22a、22b、22c、22dよりも優先順位の低い、イメージ処理ユニット27aからのメモリアクセス要求信号IMP_REQaに対して、メモリアクセス要求が許可されている。   At timing t9 in FIG. 3, since there are no memory access request signals VOUT_REQa, VOUT_REQb, VOUT_REQc, VOUT_REQd from all the video output control units 22a, 22b, 22c, 22d, the video output control units 22a, 22b, 22c, A memory access request is permitted for a memory access request signal IMP_REQa from the image processing unit 27a having a lower priority than 22d.

このように、本実施例の画像処理装置1は、PCIe8、9等の要求コマンドとそれに対する応答とが分離されている高速シリアルバスにおいて、インタフェースであるPCIeエンドコントローラ28やPCIeルートコントローラ21へのアクセス要求の調停を行うアービタ25に対して、優先順位の高いビデオ出力制御ユニット22a、22b、22c、22dが、画像データの所定ライン単位で集中してメモリアクセス要求信号VOUT_REQa、VOUT_REQb、VOUT_REQc、VOUT_REQdを発行している。   As described above, the image processing apparatus 1 according to the present embodiment is connected to the PCIe end controller 28 and the PCIe route controller 21 that are interfaces in a high-speed serial bus in which request commands such as PCIe 8 and 9 and responses to the request commands are separated. For the arbiter 25 that arbitrates the access request, the video output control units 22a, 22b, 22c, and 22d having a high priority are concentrated on a predetermined line unit of the image data and the memory access request signals VOUT_REQa, VOUT_REQb, VOUT_REQc, and VOUT_REQd. Has been issued.

したがって、高優先順位の要求源(アクセス要求手段)からの要求の隙間をついて、低優先順位の要求源からの要求が許可され、そのアクセス要求実行を待つことによる転送レートの低下を防ぐことができる。その結果、単位時間当たり転送量を所定値以上に維持できないと異常画像となるような転送レートの最悪値を保証する必要のある要求源(ビデオ出力データの入出力のDMAC等、すなわち、ビデオ出力制御ユニット22a、22b、22c、22d)に対し、その保証値を高く設定することができる。   Therefore, a request gap from a request source having a low priority is permitted with a gap between requests from a request source having high priority (access request means), and a decrease in transfer rate due to waiting for execution of the access request is prevented. it can. As a result, a request source that needs to guarantee the worst value of the transfer rate that results in an abnormal image if the transfer amount per unit time cannot be maintained at a predetermined value or more (eg, DMAC for input / output of video output data, ie, video output) The guaranteed value can be set high for the control units 22a, 22b, 22c, 22d).

なお、このような処理を、転送レートの最悪値を保証する必要のある要求源の転送が行われている期間のみを対象として行ってもよい。   Note that such processing may be performed only for a period during which a request source that needs to guarantee the worst transfer rate is being transferred.

このようにすると、対象の要求源に対する一定レートでの許可の維持が難しくなる転送レートの最悪値を保証する必要のある要求源の転送を適切に行うことができるとともに、要保証要求源の転送が終了すると、優先順位の低い要求源に対しても、適切にデータ転送を行うことができる。   In this way, it is possible to appropriately transfer the request source that needs to guarantee the worst value of the transfer rate, which makes it difficult to maintain the permission for the target request source at a constant rate, and to transfer the required request source. When is completed, data transfer can be appropriately performed even for a request source having a low priority.

また、転送レートの最悪値を保証する必要のある要求源以外の要求が長時間メモリアクセスを許可されないという状況が発生し問題となる可能性がある。   In addition, there is a possibility that a situation occurs in which a request other than the request source that needs to guarantee the worst value of the transfer rate is not permitted to access the memory for a long time.

そこで、コントローラASIC5は、内部のASICコントローラ29内に制御レジスタ31及びタイマ32を備えており、制御レジスタ31で設定した不許可時間をタイマ32が計時すると、優先順位の低い要求源、例えば、イメージ処理ユニット27a、27b、27c、27dからのメモリアクセス要求をアービタ25に優先的に許可させる。   Therefore, the controller ASIC 5 includes a control register 31 and a timer 32 in the internal ASIC controller 29. When the timer 32 measures the non-permission time set in the control register 31, a request source having a low priority, for example, an image The arbiter 25 is preferentially granted memory access requests from the processing units 27a, 27b, 27c, and 27d.

したがって、低優先順位の要求源からのメモリアクセス要求に対しても、一定のレートで許可することができる。   Therefore, a memory access request from a request source having a low priority can be permitted at a constant rate.

さらに、この場合、ASICコントローラ29が、優先順位の低い要求源に対して、アービタ25が優先的に許可を与える周期を設定し、その周期の経過後は、該優先順位の低い特定の要求源に対して、アービタ25が、優先的に要求に対して許可を与えるように制御して、優先順位の低い要求源に対して、一定のレートで、許可を与えるようにしてもよい。   Further, in this case, the ASIC controller 29 sets a period in which the arbiter 25 gives priority to a request source having a low priority, and after that period, a specific request source having a low priority is set. On the other hand, the arbiter 25 may perform control so as to give permission to a request with priority, and give permission to a request source having a low priority at a constant rate.

このようにすると、優先権の低い要求源が何時まで経っても要求が許可されない不具合を解消することができ、適切なデータ転送を行うことができる。   In this way, it is possible to solve the problem that the request is not permitted no matter what time the request source with a low priority passes, and appropriate data transfer can be performed.

さらに、本実施例の画像処理装置1は、同一の要求源に対し、アービタ25が複数の対象要求源として取り扱うことが可能な構成とし、要保証要求源(ビデオ出力制御ユニット22a、22b、22c、22d)に対し、複数倍の頻度で、アービタ25が許可するようにしてもよい。この場合、転送レートの最悪値を保証する必要のある要求源のそれぞれの要求転送レートの比率が2以上あることを条件に複数の対象要求源として取り扱うように、制御レジスタ31にレジスタ設定する。   Further, the image processing apparatus 1 of the present embodiment is configured such that the arbiter 25 can handle the same request source as a plurality of target request sources, and the required request sources (video output control units 22a, 22b, 22c). , 22d) may be permitted by the arbiter 25 at a multiple of the frequency. In this case, the register is set in the control register 31 so that it is handled as a plurality of target request sources on condition that the ratio of the request transfer rates of the request sources that need to guarantee the worst value of the transfer rate is 2 or more.

このようにすると、アービタ25が許可する頻度を調整することができ、対象機器の特性にあわせて、要求源に対する転送レートの設定を行うことができる。また、要求転送レートの比率が2以上あることを条件としているので、スキャナデータとプロッタデータの様に、1ラインに対するデータ量や要求転送レートが異なる対象に対しても、バランス良く転送を行うことができ、保証レートを高く維持することができる。   In this way, the frequency permitted by the arbiter 25 can be adjusted, and the transfer rate for the request source can be set in accordance with the characteristics of the target device. Also, since the ratio of the required transfer rate is 2 or more, transfer is performed in a balanced manner even for objects with different data amounts or required transfer rates for one line, such as scanner data and plotter data. And the guaranteed rate can be kept high.

以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   The invention made by the present inventor has been specifically described based on the preferred embodiments. However, the present invention is not limited to that described in the above embodiments, and various modifications can be made without departing from the scope of the invention. It goes without saying that it is possible.

本発明は、優先権に応じてアクセス制御するアービタを搭載するデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に利用することができる。   The present invention can be used for a data transfer apparatus, an image forming apparatus, a data transfer control method, a data transfer control program, and a recording medium that include an arbiter that controls access according to priority.

1 画像処理装置
2 スキャナ
3 プロッタ
4 エンジンASIC
5 コントローラASIC(CTL ASIC)
6 CPU
7 メモリ
8、9 PCIe
10 SSTL
21 PCIeルートコントローラ(root)
22a、22b、22c、22d ビデオ出力制御ユニット
221a、221b、221c、221d ビデオ出力コントローラ
222a、222b、222c、222d スタンプDMAC(STMP DMAC)
223a、223b、223c、223d ビデオ出力DMAC
224a、224b、224c、224d 伸長器
225a、225b、225c、225d 符号DMAC
226a、226b、226c、226d 画像DMAC
227a、227b、227c、227d ラインバッファ(Line Buff)
23 ラインバッファ(Line Buff)
24 ビデオ入力コントローラ(VIcnt)
25 アービタ
26a、26b、26c、26d 圧縮ユニット
261a、261b、261c、261d 圧縮器(ENC)
262a、262b、262c、262d 汎用DMAC(GDMAC)
263a、263b、263c、263d 汎用DMAC(GDMAC)
27a、27b、27c,27d イメージ処理ユニット
271a、271b、271c、271d イメージ処理回路
272a、272b、272c、272d 汎用DMAC(GDMAC)
273a、273b、273c、273d 汎用DMAC(GDMAC)
28 PCIeエンドポイントコントローラ(End)
29 ASICコントローラ
31 制御レジスタ
32 タイマ
DESCRIPTION OF SYMBOLS 1 Image processing apparatus 2 Scanner 3 Plotter 4 Engine ASIC
5 Controller ASIC (CTL ASIC)
6 CPU
7 Memory 8, 9 PCIe
10 SSTL
21 PCIe root controller (root)
22a, 22b, 22c, 22d Video output control unit 221a, 221b, 221c, 221d Video output controller 222a, 222b, 222c, 222d Stamp DMAC (STMP DMAC)
223a, 223b, 223c, 223d Video output DMAC
224a, 224b, 224c, 224d decompressor 225a, 225b, 225c, 225d Code DMAC
226a, 226b, 226c, 226d Image DMAC
227a, 227b, 227c, 227d Line buffer (Line Buff)
23 Line Buff
24 Video input controller (VIcnt)
25 Arbiter 26a, 26b, 26c, 26d Compression unit 261a, 261b, 261c, 261d Compressor (ENC)
262a, 262b, 262c, 262d General purpose DMAC (GDMAC)
263a, 263b, 263c, 263d General-purpose DMAC (GDMAC)
27a, 27b, 27c, 27d Image processing unit 271a, 271b, 271c, 271d Image processing circuit 272a, 272b, 272c, 272d General-purpose DMAC (GDMAC)
273a, 273b, 273c, 273d General-purpose DMAC (GDMAC)
28 PCIe Endpoint Controller (End)
29 ASIC controller 31 Control register 32 Timer

特開2007−249816号公報JP 2007-249816 A

Claims (9)

高速シリアルバスへの画像データの転送アクセス要求を行うとともに優先順位の付与されている複数のアクセス要求手段と、
前記アクセス要求手段からのアクセス要求を調停するアービタと、
前記アクセス要求手段のうち転送レートの最悪値を保証する必要のある要保証アクセス要求手段に対して高い優先順位を付与するとともに、該要保証アクセス要求手段からデータのライン単位で集中的にアクセス要求を発行させるアクセス制御手段と、
を備えていることを特徴とするデータ転送装置。
A plurality of access request means for performing transfer access requests for image data to the high-speed serial bus and given priority.
An arbiter for arbitrating an access request from the access request means;
Of the access request means, a high priority is given to the required access request means that needs to guarantee the worst value of the transfer rate, and the access request is concentrated in units of data from the required access request means. Access control means for issuing
A data transfer device comprising:
前記データ転送装置は、
アクセス要求に対して許可を与えるまでの待ち時間を設定する待ち時間設定手段と、
前記待ち時間を計時する計時手段と、
を備え、
前記アクセス制御手段は、
前記要保証アクセス要求手段よりも優先順位の低い特定のアクセス要求手段からのアクセス要求が連続して不許可となっている時間を前記計時手段が計時して、該計時時間が前記待ち時間になると、該特定アクセス要求手段に対して、優先的にアクセスを許可することを特徴とするデータ転送装置。
The data transfer device
A waiting time setting means for setting a waiting time until permission is granted for an access request;
Timing means for timing the waiting time;
With
The access control means includes
When the time measuring means measures the time during which access requests from specific access request means having a lower priority than the required access request means are not allowed, and the time reaches the waiting time. A data transfer apparatus that preferentially grants access to the specific access request means.
前記データ転送装置は、
前記要保証アクセス要求手段よりも優先順位の低い特定のアクセス要求手段に対して前記アービタが優先的にアクセス許可を与える周期を設定する周期設定手段を備え、
前記アクセス制御手段は、
前記周期設定手段で設定された周期が経過する毎に、特定の前記アクセス要求手段に対して優先的にアクセス許可を与えることを特徴とする請求項1または請求項2記載のデータ転送装置。
The data transfer device
A period setting means for setting a period in which the arbiter preferentially grants access permission to a specific access request means having a lower priority than the guaranteed access request means;
The access control means includes
3. The data transfer apparatus according to claim 1, wherein an access permission is given to the specific access requesting unit preferentially every time the cycle set by the cycle setting unit elapses.
前記アービタは、1つの前記アクセス要求手段を、複数のアクセス要求手段として取り扱いが可能であり、前記要保証アクセス要求手段からのアクセス要求に対して、該複数倍の頻度でアクセス許可を与えることを特徴とする請求項1から請求項3のいずれかに記載のデータ転送装置。   The arbiter can handle one access request means as a plurality of access request means, and grants an access permission to the access request from the guaranty access request means at a frequency multiple of the multiple. The data transfer device according to claim 1, wherein the data transfer device is a data transfer device. 前記アービタは、前記要保証アクセス要求手段の要求転送レートの比率が2以上であるときに、該要保証アクセス要求手段を複数のアクセス要求手段として取り扱って、該要保証アクセス要求手段からのアクセス要求に対して、該複数倍の頻度でアクセス許可を与えることを特徴とする請求項4記載のデータ転送装置。   The arbiter treats the required access request means as a plurality of access request means when the ratio of the requested transfer rate of the required access request means is 2 or more, and requests access from the required access request means. 5. The data transfer apparatus according to claim 4, wherein an access permission is given at a frequency that is a multiple of the frequency. 画像データをデータ転送部で転送して、該画像データに基づいて画像形成する画像形成装置において、
前記データ転送部として、請求項1から請求項5のいずれかに記載のデータ転送装置が搭載されていることを特徴とする画像形成装置。
In an image forming apparatus that transfers image data by a data transfer unit and forms an image based on the image data.
An image forming apparatus, wherein the data transfer device according to claim 1 is mounted as the data transfer unit.
高速シリアルバスへの画像データの転送アクセス要求を行うとともに優先順位の付与されている複数のアクセス要求処理ステップと、
前記アクセス要求処理ステップからのアクセス要求を調停する調停処理ステップと、
前記アクセス要求処理ステップのうち転送レートの最悪値を保証する必要のある要保証アクセス要求処理ステップに対して高い優先順位を付与するとともに、該要保証アクセス要求処理ステップからデータのライン単位で集中的にアクセス要求を発行させるアクセス制御処理ステップと、
を有していることを特徴とするデータ転送方法。
A plurality of access request processing steps for making a transfer access request for image data to the high-speed serial bus and giving priority.
An arbitration processing step for arbitrating an access request from the access request processing step;
Among the access request processing steps, a high priority is given to the required access request processing step requiring the worst value of the transfer rate, and concentrated from the required access request processing step in units of data lines. An access control processing step for causing the server to issue an access request;
A data transfer method characterized by comprising:
コンピュータに、
高速シリアルバスへの画像データの転送アクセス要求を行うとともに優先順位の付与されている複数のアクセス要求処理と、
前記アクセス要求処理からのアクセス要求を調停する調停処理と、
前記アクセス要求処理のうち転送レートの最悪値を保証する必要のある要保証アクセス要求処理に対して高い優先順位を付与するとともに、該要保証アクセス要求処理からデータのライン単位で集中的にアクセス要求を発行させるアクセス制御処理と、
を実行させることを特徴とするデータ転送プログラム。
On the computer,
A plurality of access request processings for performing transfer access requests for image data to the high-speed serial bus and having priority given thereto;
An arbitration process for arbitrating an access request from the access request process;
Of the access request processing, a high priority is given to the required access request processing that needs to guarantee the worst value of the transfer rate, and the access request is concentrated on the data line basis from the required access request processing. Access control processing to issue
A data transfer program characterized in that
請求項8記載のデータ転送プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。   A computer-readable recording medium on which the data transfer program according to claim 8 is recorded.
JP2010166659A 2010-07-26 2010-07-26 Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium Pending JP2012027751A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010166659A JP2012027751A (en) 2010-07-26 2010-07-26 Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010166659A JP2012027751A (en) 2010-07-26 2010-07-26 Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium

Publications (1)

Publication Number Publication Date
JP2012027751A true JP2012027751A (en) 2012-02-09

Family

ID=45780592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010166659A Pending JP2012027751A (en) 2010-07-26 2010-07-26 Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium

Country Status (1)

Country Link
JP (1) JP2012027751A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760507B2 (en) 2013-02-19 2017-09-12 Ricoh Company, Limited Data processing device and data processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760507B2 (en) 2013-02-19 2017-09-12 Ricoh Company, Limited Data processing device and data processing method

Similar Documents

Publication Publication Date Title
CN108363669B (en) Memory access system, control method thereof, storage medium, and image forming apparatus
US8065448B2 (en) DMA control system, printing apparatus, transfer instruction method and computer readable medium
JP2019016063A (en) Data transfer apparatus and data transfer method
US20130254444A1 (en) Image processing apparatus
US8838862B2 (en) Data transfer device, method of transferring data, and image forming apparatus
US9600426B2 (en) Bus control device, image processing apparatus, and bus control method
JP6175794B2 (en) Data processing apparatus and data processing method
US8982398B2 (en) Image forming apparatus that allows for a multi-operation
JP2012027751A (en) Data transfer device, image forming device, data transfer control method, data transfer control program and recording medium
US8786891B2 (en) Apparatus, method, and storage medium for transferring data to a buffer
US20150205739A1 (en) Data transfer control apparatus
US11924684B2 (en) Electronic apparatus, method for controlling an electronic apparatus, and non-transitory recording medium
JP2019200732A (en) Data processing device, bandwidth guarantee method in data processing device, and program
JP2010198138A (en) Data transfer device, data transfer control method, data transfer control program, and recording medium
JP2011123839A (en) Arbitration device, image processor, and image forming system
JP4175974B2 (en) Image data transfer control device
US10306099B2 (en) Information processing apparatus and semiconductor integrated circuit
JP2005004563A (en) Dma transfer controller
JP5337890B2 (en) Image forming apparatus
JP4862593B2 (en) Data transfer apparatus and image forming apparatus
JP2009048427A (en) Image processor and image processing method
JP2016091307A (en) Information processing device, control method of the same, and program
JP2023135315A (en) Controller, image forming apparatus, and access arbitration method
JP2013239048A (en) Image process device
CN203492083U (en) Image processing equipment and image forming system