JP2016057828A - Image processing device, control method of the same, and program - Google Patents

Image processing device, control method of the same, and program Download PDF

Info

Publication number
JP2016057828A
JP2016057828A JP2014183497A JP2014183497A JP2016057828A JP 2016057828 A JP2016057828 A JP 2016057828A JP 2014183497 A JP2014183497 A JP 2014183497A JP 2014183497 A JP2014183497 A JP 2014183497A JP 2016057828 A JP2016057828 A JP 2016057828A
Authority
JP
Japan
Prior art keywords
circuit configuration
configuration information
regions
reconfiguration
image processing
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
JP2014183497A
Other languages
Japanese (ja)
Inventor
学 小澤
Manabu Ozawa
学 小澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014183497A priority Critical patent/JP2016057828A/en
Publication of JP2016057828A publication Critical patent/JP2016057828A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem that, when a dynamic part reconfiguration request is generated, it is necessary to wait until the processing in any partial reconfiguration part is completed in order to decide the partial reconfiguration part to be reconfigured in the case that any processing is under execution in all the partial reconfiguration parts, and the time is required for the reconfiguration.SOLUTION: An image processing device having a circuit including a plurality of regions capable of reconfiguring a circuit configuration determines whether or not all of the plurality of regions are under operation when a reconfiguration request is generated, and when determined that all of the plurality of regions are under operation, acquires all pieces of circuit configuration information corresponding to each of the plurality of regions so as to be stored in the storage part, the circuit configuration information being for mounting the designated function by the reconfiguration request, and when the processing is completed in any region among the plurality of regions, the circuit configuration information corresponding to the region completed with the processing is read from the storage part, and the reconfiguration is performed in the region completed with the processing.SELECTED DRAWING: Figure 4

Description

本発明は、画像処理装置およびその制御方法、並びにプログラムに関する。   The present invention relates to an image processing apparatus, a control method thereof, and a program.

内部の論理回路構成を変更可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などの再構成可能回路が知られている。一般的に、PLDやFPGAは起動時にROM等の不揮発性メモリへ格納された論理回路構成情報を内部の揮発性メモリであるコンフィギュレーションメモリへ書き込むことにより内部論理ブロックの切り替えを行う。また、コンフィギュレーションメモリ内の情報は電源切断時にクリアされ、電源投入時には再度、論理回路構成情報をコンフィギュレーションメモリに書き込むことで再構成を行う。このように、起動時に一度だけハードウェアリソースの構成を行う方法を静的再構成という。一方、回路が動作中に論理回路構成を変更可能なものも開発されてきており、このような方法を動的再構成という。   Reconfigurable circuits such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) capable of changing the internal logic circuit configuration are known. Generally, PLDs and FPGAs switch internal logic blocks by writing logic circuit configuration information stored in a nonvolatile memory such as a ROM to a configuration memory, which is an internal volatile memory, at startup. Information in the configuration memory is cleared when the power is turned off, and reconfiguration is performed by writing logic circuit configuration information to the configuration memory again when the power is turned on. This method of configuring hardware resources only once at startup is called static reconfiguration. On the other hand, a circuit that can change the logic circuit configuration while the circuit is operating has been developed, and such a method is called dynamic reconfiguration.

また、FPGAには、全体ではなく特定の領域だけを書き換え可能なものがあり、このような書き換えを部分再構成と言い、特に、動作中の他の回路を停止しない状態で部分再構成を行うことを動的部分再構成と言う。動的部分再構成では、動的再構成時にコンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリ領域の一部のみを書き換えることで、FPGA内部の論理ブロックの部分的な再構成を実現する。   Some FPGAs can rewrite only a specific area, not the whole, and such rewriting is called partial reconfiguration. In particular, partial reconfiguration is performed without stopping other circuits in operation. This is called dynamic partial reconfiguration. In the dynamic partial reconfiguration, the entire configuration memory is not rewritten at the time of dynamic reconfiguration, but only a part of the configuration memory area is rewritten to realize partial reconfiguration of the logic block inside the FPGA.

部分再構成を行う為には、部分再構成を行える領域を設計時に予め指定する必要がある。部分再構成を行える領域は、PR(Partial Reconfigurable)領域等と呼ばれる。部分再構成を行う為には、更に各領域専用の論理回路構成情報を用意する必要がある。そのため、同じ機能であっても複数の領域のいずれかに回路を構成する場合、その複数の領域それぞれに適合する複数の論理回路構成情報を用意する必要がある。   In order to perform partial reconstruction, it is necessary to specify in advance an area where partial reconstruction can be performed at the time of design. An area where partial reconstruction can be performed is called a PR (Partial Reconfigurable) area or the like. In order to perform partial reconfiguration, it is necessary to prepare logic circuit configuration information dedicated to each area. For this reason, when a circuit is configured in any of a plurality of areas even with the same function, it is necessary to prepare a plurality of pieces of logic circuit configuration information suitable for each of the plurality of areas.

近年のMFP(Multi Function Printer)等の画像処理装置は、ユーザからの要求に応じた複数の処理を選択可能であり、各処理に応じた画像処理はハードウェアまたはソフトウェアにより実現される。画像処理装置の画像処理ハードウェアとしてFPGA等の再構成可能回路を適用した場合、機能毎に回路構成を動的かつ部分的に切り替えることが可能となる。その結果、少ないハードウェアリソースで様々な画像処理機能が実現可能となる。   A recent image processing apparatus such as an MFP (Multi Function Printer) can select a plurality of processes according to a request from a user, and the image processes corresponding to each process are realized by hardware or software. When a reconfigurable circuit such as an FPGA is applied as image processing hardware of the image processing apparatus, the circuit configuration can be dynamically and partially switched for each function. As a result, various image processing functions can be realized with few hardware resources.

一方、動作中の回路構成の変更(書き換え)に要する時間は長く、その時間はコンフィギュレーションメモリに書き込む論理回路構成情報のサイズに比例する。そのため、従来から、回路構成の書き換え時間を低減するための技術が提案されている。従来の書き換え時間を低減するための技術として、画像処理中に次に処理する可能性の高い処理を予測し、予測した処理を実現するための論理回路構成情報を高速なコンフィギュレーションメモリに先行してロードするという技術が開示されている。先行してロードする事により、処理開始までの時間を短縮でき、画像処理全体の高速化を図る事ができる(例えば、特許文献1参照)。   On the other hand, the time required to change (rewrite) the circuit configuration during operation is long, and the time is proportional to the size of the logic circuit configuration information written in the configuration memory. Therefore, conventionally, techniques for reducing the rewriting time of the circuit configuration have been proposed. As a conventional technique for reducing the rewriting time, a process that is likely to be processed next is predicted during image processing, and logic circuit configuration information for realizing the predicted process is preceded by a high-speed configuration memory. The technique of loading is disclosed. By loading in advance, the time until the start of processing can be shortened, and the overall speed of image processing can be increased (see, for example, Patent Document 1).

特開2012−234337号公報JP 2012-234337 A

部分再構成において用いる論理回路構成情報を特定するために、所望の処理内容を決定し、さらに再構成する領域を指定する必要がある。しかしながら、特許文献1に記載されている方法では、再構成する領域を考慮していない為、書き換え可能な複数の領域を備える部分再構成可能な機器に適応する事ができない。特に、再構成要求が発生した際に、全ての領域で何らかの処理が実行中である場合、再構成する領域を決定する為には、いずれかの領域での処理が終了するまで待たねばならず、再構成時間を短縮できない。   In order to specify the logic circuit configuration information used in the partial reconfiguration, it is necessary to determine a desired processing content and to specify an area to be reconfigured. However, since the method described in Patent Document 1 does not consider the area to be reconfigured, it cannot be applied to a partially reconfigurable device having a plurality of rewritable areas. In particular, when a reconfiguration request occurs, if some process is being executed in all areas, it is necessary to wait until the process in any area is completed in order to determine the area to be reconfigured. The reconstruction time cannot be shortened.

上記課題を解決するために本願発明は以下の構成を有する。すなわち、回路構成を再構成可能な複数の領域を含む回路を備える画像処理装置であって、前記複数の領域それぞれにおける回路構成の再構成を制御する制御手段と、前記複数の領域それぞれに対応し、かつ、機能ごとに定義された複数の回路構成情報の中から、前記複数の領域を再構成する際に用いられる少なくとも1つの回路構成情報を記憶部に一時的に記憶させる記憶手段と、前記複数の領域それぞれが構成された回路構成の機能により動作しているか否かを判定する判定手段とを有し、前記判定手段は、再構成要求が発生した際に、前記複数の領域のすべてが動作中か否かを判定し、前記判定手段にて前記複数の領域のすべてが動作中であると判定された場合、前記記憶手段は、前記再構成要求にて指定された機能を実装するための回路構成情報であって、前記複数の領域それぞれに対応したすべての回路構成情報を取得して前記記憶部に記憶させておき、前記制御手段は、前記複数の領域のうちいずれかの領域において処理が完了した際に、当該処理が完了した領域に対応する回路構成情報を前記記憶部から読み出して、当該処理が完了した領域にて再構成を行わせる。   In order to solve the above problems, the present invention has the following configuration. That is, an image processing apparatus including a circuit including a plurality of regions in which a circuit configuration can be reconfigured, the control unit controlling the reconfiguration of the circuit configuration in each of the plurality of regions, and corresponding to each of the plurality of regions. And storage means for temporarily storing at least one circuit configuration information used when reconfiguring the plurality of areas from among a plurality of circuit configuration information defined for each function; and Determination means for determining whether or not each of the plurality of areas is operated by a function of a configured circuit configuration, and when the reconfiguration request is generated, all of the plurality of areas are included in the determination means. If it is determined whether or not all of the plurality of areas are in operation by the determination unit, the storage unit implements the function specified in the reconfiguration request of All of the circuit configuration information corresponding to each of the plurality of areas is acquired and stored in the storage unit, and the control means performs processing in any one of the plurality of areas. Is completed, the circuit configuration information corresponding to the area where the process is completed is read from the storage unit, and reconfiguration is performed in the area where the process is completed.

本願発明により、部分再構成が可能な複数の領域を有する回路のうちの全ての領域が動作中に再構成要求が発生したことにより再構成を行える領域がどの領域になるか未確定の場合でも、再構成時間を短縮でき、処理速度の高速化を図る事が可能となる。   According to the present invention, even if it is uncertain which region can be reconfigured because a reconfiguration request is generated during operation of all the regions having a plurality of regions that can be partially reconfigured. Therefore, the reconstruction time can be shortened and the processing speed can be increased.

本願発明に係る画像処理装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the image processing apparatus which concerns on this invention. 本願発明に係る動的部分再構成に関わる構成の例を示す図。The figure which shows the example of the structure in connection with the dynamic partial reconstruction which concerns on this invention. 本願発明に係るコンフィグデータの構成例を示す図。The figure which shows the structural example of the configuration data which concerns on this invention. 第一の実施形態に係る動的部分再構成の制御処理のフローチャート。The flowchart of the control process of the dynamic partial reconstruction which concerns on 1st embodiment. 第一の実施形態に係るPR領域管理テーブルの構成例を示す図。The figure which shows the structural example of the PR area | region management table which concerns on 1st embodiment. 本願発明に係る動作状態および効果を説明するための図。The figure for demonstrating the operation state and effect which concern on this invention. 第二の実施形態に係る管理情報の構成例を示す図。The figure which shows the structural example of the management information which concerns on 2nd embodiment. 第二の実施形態に係る動的部分再構成の制御処理のフローチャート。The flowchart of the control process of the dynamic partial reconstruction which concerns on 2nd embodiment. 第三の実施形態に係る管理情報の構成例を示す図。The figure which shows the structural example of the management information which concerns on 3rd embodiment. 第三の実施形態に係る動的部分再構成の制御処理のフローチャート。The flowchart of the control process of the dynamic partial reconstruction which concerns on 3rd embodiment.

以下、本発明を実施するための形態について図面を用いて説明する。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.

<第一の実施形態>
[画像処理装置の構成]
図1は、本実施形態に係る画像処理装置の装置構成例を示す図である。本実施形態の画像処理装置100は、操作部103、スキャナ部109、およびプリンタ部107を有する。操作部103は、画像処理装置100を使用するユーザが各種の操作を行う際に用いられる。スキャナ部109は、スキャナ部109を制御するCPU(不図示)、原稿読取を行うための照明ランプ、走査ミラー(不図示)などを有し、操作部103からの指示に従い画像情報を読み取る。プリンタ部107は、プリンタ部107の制御を行うCPU(不図示)、画像形成や定着を行うための感光体ドラム、定着器(不図示)などを有し、画像データを用紙に印刷する。
<First embodiment>
[Configuration of image processing apparatus]
FIG. 1 is a diagram illustrating an apparatus configuration example of an image processing apparatus according to the present embodiment. The image processing apparatus 100 according to the present embodiment includes an operation unit 103, a scanner unit 109, and a printer unit 107. The operation unit 103 is used when a user using the image processing apparatus 100 performs various operations. The scanner unit 109 includes a CPU (not shown) that controls the scanner unit 109, an illumination lamp for reading a document, a scanning mirror (not shown), and the like, and reads image information in accordance with an instruction from the operation unit 103. The printer unit 107 includes a CPU (not shown) that controls the printer unit 107, a photosensitive drum for performing image formation and fixing, a fixing device (not shown), and the like, and prints image data on paper.

また、画像処理装置100は、CPU101、ROM104、およびRAM111を備える。CPU101は、画像処理装置100の動作を統括的に制御し、画像処理装置100の各ユニットを制御するための制御ソフトウェアを実行する。ROM104には、CPU101が実行するプログラムが格納される。RAM111は、揮発性の記憶部であり、様々な用途にて用いられる。例えば、RAM111は、CPU101が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもあり、更には後述する論理回路構成情報を一時的に記憶するためのメモリでもある。RAM111には、RAM111への書き込み、読み出し動作を制御するメモリコントローラ110が接続される。メモリコントローラ110は、システムバス120および画像バス121に接続され、RAM111へのアクセスを制御する。RAM111はHDD150などに比べ高速に読み書きできるものが利用される。   The image processing apparatus 100 includes a CPU 101, a ROM 104, and a RAM 111. The CPU 101 comprehensively controls the operation of the image processing apparatus 100 and executes control software for controlling each unit of the image processing apparatus 100. The ROM 104 stores a program executed by the CPU 101. The RAM 111 is a volatile storage unit and is used for various purposes. For example, the RAM 111 is a system work memory for the operation of the CPU 101, an image memory for temporarily storing image data, and a memory for temporarily storing logic circuit configuration information described later. The RAM 111 is connected to a memory controller 110 that controls writing and reading operations to the RAM 111. The memory controller 110 is connected to the system bus 120 and the image bus 121 and controls access to the RAM 111. A RAM 111 that can read and write at a higher speed than the HDD 150 is used.

画像処理装置100は、再構成可能デバイスとして画像処理回路等を構成するFPGA140を有する。なお、本実施形態では再構成可能デバイスとしてFPGAを例に説明しているが、FPGA以外の再構成可能デバイスが接続される構成であってもよい。画像処理装置100は、CPU101の制御の下、FPGAの回路構成(コンフィギュレーション)を制御するコンフィグコントローラ130を有する。本実施形態では、コンフィグコントローラ130をハードモジュールの形で示しているが、この形態とは違う実装方法でもよい。例えば、CPU101上で動作するソフトウェアとして実現されていても良い。   The image processing apparatus 100 includes an FPGA 140 that constitutes an image processing circuit or the like as a reconfigurable device. In the present embodiment, an FPGA is described as an example of a reconfigurable device. However, a configuration in which a reconfigurable device other than an FPGA is connected may be used. The image processing apparatus 100 includes a configuration controller 130 that controls the circuit configuration (configuration) of the FPGA under the control of the CPU 101. In the present embodiment, the configuration controller 130 is shown in the form of a hardware module, but a different mounting method may be used. For example, it may be realized as software that operates on the CPU 101.

また、画像処理装置100は、FPGA140に回路を構成する為の論理回路構成情報(以下、コンフィグデータ)が格納されているHDD150を有する。HDD150はコンフィグデータのみならず、画像データを記憶する為の記憶領域であり、更にはCPU101で動作するプログラムが格納される記憶領域でもある。HDD150は、HDD I/F116を介してシステムバス120および画像バス121に接続される。HDD I/F116は、既に説明したRAM111より、読み出し性能(アクセス速度)が劣る事が多い。FPGA140は、動的書き換え可能かつ部分書き換え可能である。すなわち、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。   The image processing apparatus 100 also includes an HDD 150 in which logic circuit configuration information (hereinafter referred to as configuration data) for configuring a circuit in the FPGA 140 is stored. The HDD 150 is a storage area for storing not only configuration data but also image data, and also a storage area for storing a program operating on the CPU 101. The HDD 150 is connected to the system bus 120 and the image bus 121 via the HDD I / F 116. The HDD I / F 116 is often inferior in reading performance (access speed) to the RAM 111 already described. The FPGA 140 is dynamically rewritable and partially rewritable. That is, while a circuit configured as a part of the reconfiguration unit of the FPGA 140 is operating, another circuit can be reconfigured in another part that does not overlap with the part occupied by the circuit.

また、画像処理装置100は、スキャナ部109から画像データが入力されるスキャナI/F108と、プリンタ部107へ画像データを出力するプリンタI/F106とを有する。FPGA140、スキャナI/F108、およびプリンタI/F106は、処理される画像データを転送するための画像バス121に接続される。   The image processing apparatus 100 also includes a scanner I / F 108 to which image data is input from the scanner unit 109 and a printer I / F 106 that outputs image data to the printer unit 107. The FPGA 140, the scanner I / F 108, and the printer I / F 106 are connected to an image bus 121 for transferring image data to be processed.

また、画像処理装置100は、ネットワークI/F102を介し、ネットワーク上の汎用コンピュータ(不図示)と通信(送受信)を行う。また、画像処理装置100は、USB I/F114を介し、画像処理装置100と接続されたUSBデバイス(不図示)と通信(送受信)を行う。また、画像処理装置100は、FAX I/F115を介し、公衆回線網と接続し、他の画像処理装置やファクシミリ装置(不図示)と通信(送受信)を行う。画像処理装置100は、ROM104への書き込み、読み出し動作を制御するROM I/F112を有する。また、画像処理装置100において、CPU101、ネットワークI/F102、操作部I/F113、ROM I/F112、HDD I/F116、メモリコントローラ110、コンフィグコントローラ130、およびFPGA140は、システムバス120を介して相互に接続される。CPU101は、FPGA140とシステムバス120を介して各種情報の送受信を行う。なお、本実施形態では、画像処理装置を例に挙げて説明しているが、これに限定するものではなく、部分再構成が可能な回路を備えた他の情報処理装置であって良い。   The image processing apparatus 100 communicates (transmits / receives) with a general-purpose computer (not shown) on the network via the network I / F 102. The image processing apparatus 100 communicates (transmits / receives) with a USB device (not shown) connected to the image processing apparatus 100 via the USB I / F 114. Further, the image processing apparatus 100 is connected to a public network via a FAX I / F 115, and communicates (transmits / receives) with other image processing apparatuses and facsimile apparatuses (not shown). The image processing apparatus 100 includes a ROM I / F 112 that controls writing and reading operations to the ROM 104. In the image processing apparatus 100, the CPU 101, the network I / F 102, the operation unit I / F 113, the ROM I / F 112, the HDD I / F 116, the memory controller 110, the configuration controller 130, and the FPGA 140 are mutually connected via the system bus 120. Connected to. The CPU 101 transmits and receives various types of information via the FPGA 140 and the system bus 120. In the present embodiment, the image processing apparatus is described as an example. However, the present invention is not limited to this, and may be another information processing apparatus including a circuit that can be partially reconfigured.

[部分再構成に関する構成]
図2を用いて、図1に示した本実施形態に係る画像処理装置100の構成のうち、部分再構成に関する構成について説明する。CPU101、メモリコントローラ110、RAM111、コンフィグコントローラ130、HDD I/F116、HDD150、FPGA140については図1を用いて前述した通りである。
[Configuration related to partial reconfiguration]
With reference to FIG. 2, a configuration related to partial reconstruction of the configuration of the image processing apparatus 100 according to the present embodiment illustrated in FIG. 1 will be described. The CPU 101, memory controller 110, RAM 111, configuration controller 130, HDD I / F 116, HDD 150, and FPGA 140 are as described above with reference to FIG.

FPGA140は、内部に、部分再構成の単位として、複数の部分再構成部を備える。本実施形態では、FPGA140は、PR領域201(PR1)、PR領域202(PR2)、PR領域203(PR3)、およびPR領域204(PR4)を備えるものとする。各PR領域において、動的に画像処理回路等が書き換えられることが可能である。本実施形態においては、画像処理機能を持つ回路をPR領域に構成する例について説明をしているが、画像処理機能以外の回路をPR領域に構成可能であってもよい。   The FPGA 140 includes a plurality of partial reconstruction units inside as a unit for partial reconstruction. In the present embodiment, the FPGA 140 includes a PR region 201 (PR1), a PR region 202 (PR2), a PR region 203 (PR3), and a PR region 204 (PR4). In each PR region, the image processing circuit or the like can be dynamically rewritten. In this embodiment, an example in which a circuit having an image processing function is configured in the PR region has been described. However, a circuit other than the image processing function may be configured in the PR region.

コンフィグコントローラ130は、再構成管理部205を備える。再構成管理部205は、各PR領域の部分再構成を管理する機能を持つ。例えば、各PR領域が現在の処理に使用されているか否か、機能が書き込まれているか否か等、各PR領域の空き状況を管理する。その上で、再構成管理部205は、各PR領域が書き換え可能か否かの判定を行う。再構成管理部205は、CPU101の指示と、各PR領域が書き換え可能か否かの判定とを踏まえて、各PR領域に使用可能なコンフィグデータのRAM111へのロードと、各PR領域へのコンフィグデータの書き換えを行う。再構成管理部205が全てのPR領域で何らかの処理が実行中であると判定した場合の処理については、図4を用いて後述する。   The configuration controller 130 includes a reconfiguration management unit 205. The reconfiguration management unit 205 has a function of managing partial reconfiguration of each PR area. For example, the availability of each PR area is managed, such as whether each PR area is used for the current process or whether a function is written. After that, the reconfiguration management unit 205 determines whether or not each PR area can be rewritten. The reconfiguration management unit 205 loads the configuration data usable in each PR area into the RAM 111 and configures the configuration in each PR area based on the instruction from the CPU 101 and the determination as to whether or not each PR area can be rewritten. Rewrite data. Processing when the reconfiguration management unit 205 determines that some processing is being executed in all PR regions will be described later with reference to FIG.

次に、図3を用いて本実施形態に係るFPGA140のPR領域201〜204に構成されるコンフィグデータの格納方法について説明する。図3はHDD150に格納されるFPGA140のPR領域201〜204それぞれに対応したコンフィグデータの例である。   Next, a method for storing configuration data configured in the PR areas 201 to 204 of the FPGA 140 according to this embodiment will be described with reference to FIG. FIG. 3 is an example of configuration data corresponding to the PR areas 201 to 204 of the FPGA 140 stored in the HDD 150.

HDD150には部分再構成に必要な複数個のコンフィグデータが定義され格納される。図3において、PR1用のコンフィグデータ300は、PR領域201(PR1)に構成することが可能なコンフィグデータを表している。図3においては、PR領域201(PR1)に構成可能な機能がA、B、C、D、E、Fの6つである場合を例として示している。コンフィグデータ301は、PR1に機能Aの回路を構成するためのコンフィグデータである。同様に、コンフィグデータ302〜306はそれぞれ、PR1に機能B〜Fの回路構成をそれぞれ構成するためのコンフィグデータを表している。   The HDD 150 defines and stores a plurality of configuration data necessary for partial reconfiguration. In FIG. 3, configuration data 300 for PR1 represents configuration data that can be configured in the PR region 201 (PR1). FIG. 3 shows an example in which there are six functions A, B, C, D, E, and F that can be configured in the PR region 201 (PR1). The configuration data 301 is configuration data for configuring a function A circuit in PR1. Similarly, the configuration data 302 to 306 represent configuration data for configuring the circuit configurations of the functions B to F in PR1, respectively.

また、PR2用のコンフィグデータ310は、PR領域202(PR2)に構成することが可能なコンフィグデータを表している。PR2用のコンフィグデータ310についても、機能A、B、C、D、E、Fの6つの機能のコンフィグデータを格納しており、PR領域202(PR2)には6つの機能を切り替えて構成することが可能である。また、PR3用のコンフィグデータ320は、PR領域203(PR3)に構成することが可能なコンフィグデータを表している。PR3用のコンフィグデータ320についても、機能A、B、C、D、E、Fの6つの機能のコンフィグデータを格納しており、PR領域203(PR3)には6つの機能を切り替えて構成することが可能である。また、PR4用のコンフィグデータ330は、PR領域204(PR4)に構成することが可能なコンフィグデータを表している。PR4用のコンフィグデータ330についても、機能A、B、C、D、E、Fの6つの機能のコンフィグデータを格納しており、PR領域204(PR4)には6つの機能を切り替えて構成することが可能である。   The configuration data 310 for PR2 represents configuration data that can be configured in the PR region 202 (PR2). The configuration data 310 for PR2 also stores configuration data for six functions A, B, C, D, E, and F, and is configured by switching the six functions in the PR area 202 (PR2). It is possible. The configuration data 320 for PR3 represents configuration data that can be configured in the PR region 203 (PR3). The configuration data 320 for PR3 also stores configuration data for six functions A, B, C, D, E, and F, and is configured by switching the six functions in the PR area 203 (PR3). It is possible. The configuration data 330 for PR4 represents configuration data that can be configured in the PR region 204 (PR4). The configuration data 330 for PR4 also stores configuration data for six functions A, B, C, D, E, and F, and is configured by switching the six functions in the PR area 204 (PR4). It is possible.

上述したように、本願発明の前提として、各PR領域用にコンフィグデータを用意する必要がある。例えば、機能Aの回路構成をPR領域201とPR領域202に構成するためには、構成場所に対応して異なるコンフィグデータ(ここでは、PR1用の機能Aのコンフィグデータ301と、PR2用の機能Aのコンフィグデータ311)を用意する必要がある。そのため、多機能な処理をFPGA140上で行わせる場合、HDD150等の大容量ストレージを用意し、ここに各部分再構成領域用のコンフィグデータを保持しておくことにより、各部分再構成領域をフレキシブルに使用可能となる。なお、大容量ストレージは画像処理装置100に組み込まれる必要はなく、画像処理装置100の外部に設けられネットワークI/F102等を通じて画像処理装置100と通信を行えるように実現されていても良い。   As described above, it is necessary to prepare configuration data for each PR region as a premise of the present invention. For example, in order to configure the circuit configuration of the function A in the PR region 201 and the PR region 202, different configuration data corresponding to the configuration location (here, the configuration data 301 of the function A for PR1 and the function for PR2) It is necessary to prepare configuration data 311) for A. Therefore, when multi-functional processing is performed on the FPGA 140, a large-capacity storage such as the HDD 150 is prepared, and by holding configuration data for each partial reconfiguration area, each partial reconfiguration area is flexible. Can be used. Note that the large-capacity storage does not need to be incorporated in the image processing apparatus 100, and may be realized so as to be provided outside the image processing apparatus 100 and to communicate with the image processing apparatus 100 through the network I / F 102 or the like.

本実施形態では、図2に示すように、FPGA140は4つの部分再構成領域を備え、また、部分再構成領域に構成する機能を機能A、B、C、D、E、Fの6つの場合を例に挙げて説明する。もちろん、部分再構成領域の数や、構成可能な機能の数は上記に限定されるものではなく、他の数であっても本願発明を適用可能である。   In the present embodiment, as shown in FIG. 2, the FPGA 140 includes four partial reconstruction areas, and the functions configured in the partial reconstruction areas are six cases of functions A, B, C, D, E, and F. Will be described as an example. Of course, the number of partial reconfiguration regions and the number of functions that can be configured are not limited to the above, and the present invention can be applied to other numbers.

[再構成実行時の制御フロー]
図4は、本実施形態に係る画像処理装置100の再構成実行時の制御を表すフローチャートである。なお、図4のフローチャートの各手順は画像処理装置100が備えるCPU101により実行されるものとして説明するが、一部の処理を再構成管理部205が行っても良い。
[Control flow during reconfiguration]
FIG. 4 is a flowchart showing control at the time of reconfiguration of the image processing apparatus 100 according to the present embodiment. Note that each procedure in the flowchart of FIG. 4 is described as being executed by the CPU 101 included in the image processing apparatus 100, but a part of the processing may be performed by the reconfiguration management unit 205.

S401にて、CPU101は、ユーザ等が設定したジョブを受けつける。つまり、画像処理装置100での処理開始要求を受け付ける。ここで、ジョブを設定するのは、ユーザ以外でも良い。   In step S401, the CPU 101 receives a job set by a user or the like. That is, a processing start request in the image processing apparatus 100 is accepted. Here, a job other than the user may be set.

S402にて、CPU101は、S401で受け付けたジョブを実行する上で必要な機能を特定する。更に、CPU101は、FPGA140にて構成する必要がある機能を特定する。例えば、受信したジョブ処理のために、機能Eを実現するための回路をPR領域に構成する必要があるとして特定される。もちろん、他の機能を再構成しても良いし、図3に図示していない機能を再構成しても良い。また、複数の機能が必要であるとして特定されても良い。   In step S402, the CPU 101 specifies functions necessary for executing the job received in step S401. Furthermore, the CPU 101 specifies functions that need to be configured in the FPGA 140. For example, it is specified that a circuit for realizing the function E needs to be configured in the PR area for the received job processing. Of course, other functions may be reconfigured, and functions not shown in FIG. 3 may be reconfigured. Further, it may be specified that a plurality of functions are necessary.

S403にて、CPU101は、再構成管理部205から各PR領域の動作状態を示すステータス取得を行う。再構成管理部205によって管理される、各PR領域の動作状態を示すステータスについては、図5を用いて後述する。なお、ここでジョブを実行するうえで必要な機能がすでに構成されている場合には、再構成を行わないようにしてもよい。本実施形態では、この時点では必要な機能が構成されていないものとし、再構成要求により再構成する機能が指定される。   In step S <b> 403, the CPU 101 acquires a status indicating the operation state of each PR area from the reconfiguration management unit 205. The status indicating the operation state of each PR area managed by the reconfiguration management unit 205 will be described later with reference to FIG. Here, when the functions necessary for executing the job are already configured, the reconfiguration may not be performed. In the present embodiment, it is assumed that a necessary function is not configured at this time, and a function to be reconfigured is designated by a reconfiguration request.

S404にて、CPU101は、S403にて取得した情報に基づいて、回路が未書き込みである空きPR領域があるか否かを判定する。空きPR領域が存在する場合は(S404にてYES)S413へ進み、空きPR領域が存在しない場合は(S404にてNO)、S405へ進む。   In S404, the CPU 101 determines whether there is an empty PR area in which the circuit has not been written, based on the information acquired in S403. If there is an empty PR area (YES in S404), the process proceeds to S413. If there is no empty PR area (NO in S404), the process proceeds to S405.

S405にて、CPU101は、S403にて取得した情報に基づいて、処理が終了しているPR領域が1以上あるか否かを判定する。処理が終了しているPR領域が一つでもある場合(S405にてYES)S413へ進み、全てのPR領域で何らかの処理を実行中の場合は(S405にてNO)S406へ進む。   In step S405, the CPU 101 determines whether there is one or more PR regions for which processing has been completed based on the information acquired in step S403. If at least one PR region has been processed (YES in S405), the process proceeds to S413. If any process is being executed in all PR regions (NO in S405), the process proceeds to S406.

S406にて、CPU101は、コンフィグコントローラ130により、S402で特定した機能を実現するコンフィグデータを、全てのPR領域分読み出すように指示する。指示を受けたコンフィグコントローラ130は、コンフィグデータをHDD150からRAM111へロードする。図3を用いて述べたように、コンフィグデータは、PR領域毎に用意され、同じ機能を実現するためのコンフィグデータが複数存在する。なお、これらの複数のコンフィグデータをロードする際の順番は、予め定めていても良いし、ランダムに決定しても良い。   In S406, the CPU 101 instructs the configuration controller 130 to read the configuration data for realizing the function specified in S402 for all the PR areas. Upon receiving the instruction, the configuration controller 130 loads configuration data from the HDD 150 to the RAM 111. As described with reference to FIG. 3, the configuration data is prepared for each PR region, and there are a plurality of configuration data for realizing the same function. Note that the order of loading the plurality of configuration data may be determined in advance or may be determined randomly.

S407にて、CPU101は、再構成管理部205から各PR領域の動作状態のステータス取得を行う。   In S407, the CPU 101 acquires the status of the operation state of each PR area from the reconfiguration management unit 205.

S408にて、CPU101は、S407にて取得した情報に基づいて、いずれかのPR領域での処理が終了したか否かを判定する。いずれかのPR領域での処理が終了していた場合は(S408にてYES)S409へ進み、全てのPR領域で処理が続行中の場合は(S408にてNO)、S407へ戻る。   In S408, the CPU 101 determines whether or not the processing in any one of the PR regions has been completed based on the information acquired in S407. If processing in any PR region has been completed (YES in S408), the process proceeds to S409. If processing is continuing in all PR regions (NO in S408), the process returns to S407.

S409にて、CPU101は、S407にて取得した情報に基づいて、処理が終了したPR領域を特定する。   In step S409, the CPU 101 identifies the PR region for which processing has ended based on the information acquired in step S407.

S410にて、CPU101は、コンフィグコントローラ130に対し、RAM111にロードされたコンフィグデータの中から、S409もしくはS413で特定されたPR領域に適合するコンフィグデータの選択を指示する。ここで選択されるコンフィグデータは、S402で特定した機能を実現するためのコンフィグデータである。   In S410, the CPU 101 instructs the configuration controller 130 to select configuration data that conforms to the PR area specified in S409 or S413 from the configuration data loaded in the RAM 111. The configuration data selected here is configuration data for realizing the function specified in S402.

S411にて、CPU101は、コンフィグコントローラ130によりS410で選択されたコンフィグデータをRAM111より読み出し、FPGA140の特定されたPR領域に書き込むことで部分再構成を行う。   In S411, the CPU 101 performs partial reconfiguration by reading the configuration data selected in S410 by the configuration controller 130 from the RAM 111 and writing it in the specified PR area of the FPGA 140.

S412にて、CPU101は、S411で部分再構成された機能により、S402で特定された処理の実行を開始させる。   In S412, the CPU 101 starts execution of the process specified in S402 by the function partially reconfigured in S411.

S413にて、CPU101は、S403にて取得した情報に基づいて、未使用PR領域を特定する。本実施形態では、再構成要求があった場合に、ただちに書き込める領域を「未使用PR領域」と呼び、S409において処理が終了したために書き込めるようになったとして特定されたPR領域と区別する。   In step S413, the CPU 101 identifies an unused PR region based on the information acquired in step S403. In the present embodiment, when a reconfiguration request is made, an area that can be written immediately is referred to as an “unused PR area”, and is distinguished from the PR area that is specified as being writable because the processing is completed in S409.

S414にて、CPU101は、S413で特定した未使用PR領域に書き込めるコンフィグデータを特定する。具体的には、S413で特定された未使用PR領域に対応したコンフィグデータであって、S402にて特定された機能に対応するコンフィグデータを、RAM111やHDD150等の、コンフィグデータが存在する記憶領域の中から検索される。   In S414, the CPU 101 specifies configuration data that can be written to the unused PR area specified in S413. Specifically, the configuration data corresponding to the unused PR area specified in S413, the configuration data corresponding to the function specified in S402 is stored in the storage area where the configuration data exists, such as the RAM 111 and the HDD 150. It is searched from.

S415にて、CPU101は、S414での検索の結果、対象となるコンフィグデータがRAM111にあるか否かを判定する。対象のコンフィグデータがRAM111にある場合は(S415にてYES)S410へ進み、対象のコンフィグデータがRAM111に無い場合は(S415にてNO)、S416へ進む。   In S415, the CPU 101 determines whether or not the target configuration data is in the RAM 111 as a result of the search in S414. If the target configuration data is in RAM 111 (YES in S415), the process proceeds to S410. If the target configuration data is not in RAM 111 (NO in S415), the process proceeds to S416.

S416にて、CPU101は、コンフィグコントローラ130により、S414で特定したコンフィグデータをHDD150からRAM111へロードするように指示する。その後、S410へ進む。   In S416, the CPU 101 instructs the configuration controller 130 to load the configuration data specified in S414 from the HDD 150 to the RAM 111. Thereafter, the process proceeds to S410.

図5を用いて、図4にて述べた各PR領域の動作状態の判定方法の一例を説明する。本実施形態では、再構成管理部205が、PR領域の動作状態を示すPR領域管理テーブル500を有しているとして説明を行う。PR領域管理テーブル500は、各PR領域に書き込まれているコンフィグデータに対応する機能、および機能の動作のステータスを含んで構成される。これらの情報は、再構成管理部205もしくはCPU101の制御の下で更新される。例えば、CPU101がコンフィグコントローラ130を制御して部分再構成を行い、処理開始を命令する際にPR領域管理テーブル500の該当PR領域分の動作状態を「動作中」に設定する。更に、PR領域での処理が終了した場合に、動作状態を「動作終了」などと設定する。なお、動作状態を示すステータスの種類は機能に応じて設定できるようにしてよい。また、PR領域に書き込まれているコンフィグデータが変更された場合には、変更後のコンフィグデータに対応する機能が示される。これにより、どのPR領域にどの機能が構成され、その機能の動作状態がどのようなものか判別できる。なお、動作状態の判定方法は上記に限られるものではなく、他の方式にて管理されてもよい。   An example of a method for determining the operation state of each PR region described in FIG. 4 will be described with reference to FIG. In the present embodiment, description will be made assuming that the reconfiguration management unit 205 has a PR area management table 500 indicating the operation state of the PR area. The PR area management table 500 includes a function corresponding to the configuration data written in each PR area, and the operation status of the function. These pieces of information are updated under the control of the reconfiguration management unit 205 or the CPU 101. For example, when the CPU 101 controls the configuration controller 130 to perform partial reconfiguration and instructs the start of processing, the operation state for the relevant PR region in the PR region management table 500 is set to “in operation”. Further, when the processing in the PR region is completed, the operation state is set to “operation completed” or the like. Note that the status type indicating the operation state may be set according to the function. When the configuration data written in the PR area is changed, a function corresponding to the changed configuration data is indicated. Thus, it is possible to determine which function is configured in which PR region and what the operation state of the function is. The operation state determination method is not limited to the above, and may be managed by other methods.

[効果]
次に図6を用いて、本実施形態の具体的な動作を示すとともに、本願発明に係る効果について説明する。図6は、図4に示したフローチャートを実施した場合の各PR領域の動作内容と、コンフィグコントローラ130の動作内容を時系列に並べたタイムチャートを示す。図6において、横軸が時間の経過を示し、本実施形態に係るPR領域であるPR1、PR2、PR3、PR4と、コンフィグコントローラ130での動作内容が時系列に並べられている。PR1にて機能Aが、PR2にて機能Bが、PR3、4にて機能Cが構成され、各PR領域において処理中であることが示されている。ここでは、新たに部分再構成を要求された機能を機能Eとして説明する。
[effect]
Next, referring to FIG. 6, the specific operation of the present embodiment will be described, and the effects according to the present invention will be described. FIG. 6 is a time chart in which the operation contents of each PR region and the operation contents of the configuration controller 130 are arranged in time series when the flowchart shown in FIG. 4 is executed. In FIG. 6, the horizontal axis indicates the passage of time, and PR1, PR2, PR3, and PR4 that are PR regions according to the present embodiment, and the operation contents in the configuration controller 130 are arranged in time series. Function PR is configured in PR1, function B is configured in PR2, and function C is configured in PR3 and 4, indicating that processing is being performed in each PR region. Here, a function newly requested for partial reconfiguration will be described as function E.

再構成開始要求のタイミング601にて、動作ステータスの判定を行い(図4のS404、S405)、全PR領域で処理が実行中であると判定される(S405にてNO)。そして、コンフィグコントローラ130が、CPU101の制御の下、機能Eの各PR領域に対応するコンフィグデータをHDD150からRAM111へロードする(S406)。コンフィグデータのロード終了のタイミング602の後、各PR領域の動作ステータスを確認しながら、いずれかのPR領域での処理終了のタイミングを待つ(S407、S408)。そして、いずれかのPR領域において処理が終了したタイミング(ここでは、PR4の機能Cによる処理が完了したタイミング603)になると(S408にてYES)、終了したPR領域の特定を行う(S409)。その後、RAM111にロードされた該当PR領域(ここではPR4)に対応するコンフィグデータを用いて、該当PR領域に再構成が実施される。   At the reconfiguration start request timing 601, the operation status is determined (S 404 and S 405 in FIG. 4), and it is determined that the process is being executed in all the PR regions (NO in S 405). Then, under the control of the CPU 101, the configuration controller 130 loads configuration data corresponding to each PR area of the function E from the HDD 150 to the RAM 111 (S406). After the configuration data load end timing 602, the process waits for the processing end timing in one of the PR areas while confirming the operation status of each PR area (S407, S408). Then, at the timing when the processing is completed in any PR region (here, the timing 603 when the processing by the function C of PR4 is completed) (YES in S408), the terminated PR region is specified (S409). Thereafter, reconfiguration is performed on the PR region using configuration data corresponding to the PR region (PR4 in this case) loaded in the RAM 111.

このように、本実施形態により、処理が終わる前に、全てのPR領域分のコンフィグデータをRAMに読み出しておく事で、いずれかのPR領域での処理が終了後にすぐに部分再構成が可能となる。これに対し、本願発明の構成を適応しない場合は、処理終了のタイミングを迎えてから、処理が終了したPR領域に対応したコンフィグデータのロードと再構成を行うこととなる。つまり、本願発明を実施した場合、再構成要求が発生した場合に全てのPR領域で何らかの処理が実行中であって、いずれのPR領域にて次の機能を再構成すべきか未確定である場合でも、再構成時間を短縮することが可能となる。   As described above, according to the present embodiment, by reading the configuration data for all the PR areas into the RAM before the process is completed, partial reconfiguration can be performed immediately after the process in one of the PR areas is completed. It becomes. On the other hand, when the configuration of the present invention is not applied, the configuration data is loaded and reconfigured corresponding to the PR region for which the processing is completed after the processing end timing is reached. In other words, when the present invention is implemented, when a reconfiguration request occurs, some processing is being executed in all PR regions, and it is undecided in which PR region the next function should be reconfigured However, it is possible to shorten the reconstruction time.

<第二の実施形態>
第一の実施形態では、再構成要求が発生した場合に全てのPR領域で処理が実行中の場合でも、全PR領域分のコンフィグデータを事前にRAMに読みだしておく事により、再構成時間を短縮できることを説明した。
<Second Embodiment>
In the first embodiment, even when processing is being executed in all PR areas when a reconfiguration request is generated, the reconfiguration time is obtained by reading the configuration data for all PR areas into the RAM in advance. Explained that can be shortened.

第二の実施形態では、PR領域での処理が終了するタイミングを考慮して、最も終了するタイミングが早いと予測されるPR領域用のコンフィグデータから順にロードする。これにより、全コンフィグのロードが完了する前にいずれかのPR領域での処理が終了した場合でも、効率良く再構成を実施する事が可能となり、再構成時間を短縮できる。   In the second embodiment, considering the timing at which the processing in the PR region ends, the configuration data for the PR region that is predicted to be the earliest timing to end is loaded in order. As a result, even when processing in any one of the PR regions is completed before the loading of all the configurations is completed, it is possible to efficiently perform the reconfiguration and shorten the reconfiguration time.

[第二の実施形態に係る構成]
本実施形態では、PR領域での処理終了のタイミングを事前に予測して算出する。図7(A)に、算出した処理終了タイミングの情報を更に含んで構成されたPR領域管理テーブル700の例を示す。PR領域管理テーブル700に保持されている各PR領域での処理終了タイミングを考慮し、読み出すコンフィグデータの順番を制御する。本実施形態に係る画像処理装置の機器構成は、第一の実施形態と同様であるとし、ここでの説明を省略する。
[Configuration according to the second embodiment]
In the present embodiment, the processing end timing in the PR region is predicted and calculated in advance. FIG. 7A shows an example of a PR region management table 700 configured to further include information on the calculated processing end timing. In consideration of the processing end timing in each PR area held in the PR area management table 700, the order of the configuration data to be read is controlled. The apparatus configuration of the image processing apparatus according to the present embodiment is assumed to be the same as that of the first embodiment, and description thereof is omitted here.

図7(A)に示すPR領域管理テーブル700は、各PR領域に書き込まれているコンフィグデータに対応する機能、機能の動作のステータス、および、各PR領域で実行中の処理の終了時刻を含んで構成される。例えば、図7(A)では、PR1に書き込まれている機能A(読み取り用画像処理)が「動作中」であり、処理の終了時刻が「15:00」として管理されている。このような情報が、PR領域毎に保持される。CPU101の制御により、コンフィグコントローラ130がFPGA140の部分再構成後、PR領域で処理を開始するタイミングでPR領域管理テーブル700が更新され、処理終了時刻が取得される。なお、PR領域管理テーブル700の更新タイミングは上記のタイミングに限定するものではない。また、PR領域管理テーブル700の操作は、CPU101で動作するソフトウェアとして実現されても良いし、再構成管理部205が行うとして実現されても良い。   The PR area management table 700 shown in FIG. 7A includes the function corresponding to the configuration data written in each PR area, the operation status of the function, and the end time of the process being executed in each PR area. Consists of. For example, in FIG. 7A, the function A (reading image processing) written in PR1 is “operating”, and the processing end time is managed as “15:00”. Such information is held for each PR region. Under the control of the CPU 101, after the configuration controller 130 partially reconfigures the FPGA 140, the PR region management table 700 is updated at the timing when processing is started in the PR region, and the processing end time is acquired. Note that the update timing of the PR region management table 700 is not limited to the above timing. The operation of the PR area management table 700 may be realized as software operating on the CPU 101 or may be realized as being performed by the reconfiguration management unit 205.

次に、終了時刻の取得方法の一例を説明する。ハードウェアを占有した一連の処理が終了するまでの時間は予測可能なことがある。例えば、1つの画像データを画像処理する場合、画像データに含まれるデータ量と画像処理装置のスループット性能とから画像処理するのに必要な時間が算出できる。この結果と、処理開始時間を考慮して、処理の終了時間を算出することができる。この結果をPR領域管理テーブル700に保持しておくことにより、再構成要求発生時に各PR領域での処理の終了順番を取得する事が可能となる。なお、処理終了時刻の取得方法は上記の方法に限るものではなく、予め定めた値をテーブルとして持っておいても良いし、そのほかの様々な処理時間の算出方法を用いてもよい。   Next, an example of an end time acquisition method will be described. The time until a series of processes occupying the hardware may be predictable. For example, when image processing is performed on one piece of image data, the time required for image processing can be calculated from the amount of data included in the image data and the throughput performance of the image processing apparatus. Considering this result and the process start time, the process end time can be calculated. By holding this result in the PR area management table 700, it is possible to obtain the processing end order in each PR area when a reconfiguration request occurs. The method for obtaining the processing end time is not limited to the above method, and predetermined values may be stored as a table, or various other processing time calculation methods may be used.

一方、終了時刻を正確に予測することが困難な場合もある。例えば、画像処理装置100では、原稿のコピーを行う事が可能である。原稿のコピーは、一枚ずつ手動でスキャンして行う方法と、オートドキュメントフィーダー(ADF)を用い、複数枚の原稿を自動でコピーして行う方法が広く知られている。一枚ずつ手動でスキャンしてコピーを行う場合も、ADFを用いて複数枚の原稿を自動でスキャンしてコピーを行う場合も、ユーザが何枚の原稿をスキャンするかを処理開始前に正確に取得するのが難しい。しかし、手動でスキャンしてコピーを行う場合は、一般的に、原稿をスキャンする間隔が空くため、終了時間は1枚の原稿をスキャンしてコピーに要する時間を、終了時刻と推定できる。例えば複数枚のコピーを行った場合での平均所要時間を、このコピーに要する時間として事前に求めておくのが良い。一方、ADFを用いたコピーの場合では、一般的に、ユーザが何枚の原稿をスキャンするのかを処理開始前に正確に取得するのが難しい上に、時間間隔が短く連続的に複数原稿がスキャンされる。その為、処理時間を推定、および、終了時刻の推定が容易ではない。処理の終了タイミングが装置で推定する事が困難である場合、終了時刻を、図7(C)に示すような同時実行されている機能の中で最も遅く終了するように設定したり、理論上必要となる最大の処理時間を終了時刻として設定したりすることが考えられる。また、特定の種類もしくは特定の設定の処理については、他のPR領域にて動作中の処理との関係により終了時刻を決定してもよいし、予め決められた処理時間を用いて終了時刻を決定してもよい。   On the other hand, it may be difficult to accurately predict the end time. For example, the image processing apparatus 100 can copy a document. There are widely known methods for copying originals by manually scanning one by one and methods for automatically copying a plurality of originals using an auto document feeder (ADF). Whether you want to manually scan one by one or make a copy, or use ADF to automatically scan and copy multiple originals, you can accurately determine how many originals you want to scan before starting the process. Difficult to get into. However, when copying by manually scanning, generally, there is an interval between scans of the original, and therefore the end time can be estimated as the end time by scanning one original and copying. For example, the average required time when a plurality of copies are made may be obtained in advance as the time required for this copy. On the other hand, in the case of copying using ADF, it is generally difficult for the user to accurately obtain how many originals to scan before starting the process, and a plurality of originals are continuously collected with a short time interval. Scanned. Therefore, it is not easy to estimate the processing time and the end time. When it is difficult to estimate the end timing of processing by the apparatus, the end time is set so as to end the latest among the simultaneously executed functions as shown in FIG. It is conceivable to set the required maximum processing time as the end time. In addition, for a process of a specific type or a specific setting, an end time may be determined according to a relationship with a process that is operating in another PR region, or the end time may be determined using a predetermined processing time. You may decide.

図7(B)は、PR領域管理テーブル700に保持された各PR領域での処理終了時刻を考慮して決定されたコンフィグデータのロード順リスト710である。ここではコンフィグデータのロード順を決定する手法として、処理終了時刻が早いPR領域の順に、それぞれに構成可能なコンフィグデータがロードするよう決定される。前述したように、処理終了時刻の推定が難しい処理については、図7(D)に示すようにロード順の最後にする等の操作を行っても良い。ロード順リスト710は、再構成管理部205が管理しても良いし、CPU101上で動作するソフトウェアで管理しても良い。再構成管理部205はCPU101の指示の下、各PR領域に対応するコンフィグデータのRAM111へのロードを行う場合に、ロード順リスト710に保持されている順番に従ってロードを実行する。   FIG. 7B shows a load order list 710 of configuration data determined in consideration of the processing end time in each PR area held in the PR area management table 700. Here, as a method for determining the load order of the configuration data, it is determined that the configurable config data is loaded in the order of the PR region with the earlier processing end time. As described above, for a process for which it is difficult to estimate the process end time, an operation such as making the load order last may be performed as shown in FIG. The load order list 710 may be managed by the reconfiguration management unit 205 or may be managed by software operating on the CPU 101. The reconfiguration management unit 205 executes loading according to the order stored in the load order list 710 when loading the configuration data corresponding to each PR area into the RAM 111 under the instruction of the CPU 101.

[終了時間を考慮した部分再構成の制御フロー]
図8は、PR領域での処理が終了するタイミングを考慮して、最も終了するタイミングが早いPR領域用のコンフィグデータからロードする方法を利用した、本実施形態に係る画像処理装置のジョブ実行処理制御を表すフローチャートである。なお、S801〜S807以外の処理は、第一の実施形態にて既に説明した図4のフローチャートの処理と同一であるため、重複する箇所は説明を省略する。
[Partial reconstruction control flow considering end time]
FIG. 8 shows a job execution process of the image processing apparatus according to the present embodiment using a method of loading from the configuration data for the PR area with the earliest end timing in consideration of the timing when the process in the PR area ends. It is a flowchart showing control. Note that the processing other than S801 to S807 is the same as the processing of the flowchart of FIG. 4 that has already been described in the first embodiment, and thus description of the overlapping portions is omitted.

処理が終了したPR領域がない場合(S405にてNO)、S801にてCPU101は、PR領域管理テーブル700から各PR領域での処理終了時刻を取得する。処理終了時刻の算出方法は、例えば既に図7(A)の説明で述べた通りである。   If there is no PR area for which processing has been completed (NO in S405), in S801, the CPU 101 acquires the processing end time in each PR area from the PR area management table 700. The method for calculating the processing end time is, for example, as already described in the description of FIG.

S802にて、CPU101は、S801で取得した処理終了時刻に基づいて、RAM111にロードするコンフィグデータの順番を決定し、ロード順リスト710を生成する。既に述べた通り、部分再構成では同じ機能を実現する場合においても、構成場所によって異なるコンフィグデータを用意しておく必要がある。本実施形態では、最も早く処理が終了すると予測されているPR領域に対応するコンフィグデータから優先的にRAM111にロードしておく。これにより、いずれかのPR領域での処理が終了した時点で、回路構成情報をダウンロードしている途中であっても、再構成可能なコンフィグデータがRAM111に存在している確率がより高めることができる。   In step S802, the CPU 101 determines the order of configuration data to be loaded into the RAM 111 based on the processing end time acquired in step S801, and generates a load order list 710. As already described, even when the same function is realized by partial reconfiguration, it is necessary to prepare different configuration data depending on the configuration location. In this embodiment, the RAM 111 is preferentially loaded from the configuration data corresponding to the PR region where the processing is predicted to be completed earliest. As a result, the probability that reconfigurable configuration data exists in the RAM 111 is further increased even when the circuit configuration information is being downloaded when the processing in any PR region is completed. it can.

S803にて、CPU101は、コンフィグコントローラ130により、S805で決定した順番に基づき、RAM111にX番目のコンフィグデータをロードするように指示する。なお、変数Xの初期値は「1」とし、ロード順リスト710のうち、最もロードする優先順位の高いものから順に1番目、2番目...とする。   In S803, the CPU 101 instructs the configuration controller 130 to load the Xth configuration data into the RAM 111 based on the order determined in S805. Note that the initial value of the variable X is “1”, and the load order list 710 is the first, second,. . . And

S407にて、CPU101は、再構成管理部205から全PR領域の動作状態のステータス取得を行う。   In step S <b> 407, the CPU 101 acquires the status of the operation state of all PR areas from the reconfiguration management unit 205.

S408にて、CPU101は、S407にて取得した情報に基づいて、いずれかのPR領域での処理が終了したか否かを判定する。いずれかのPR領域での処理が終了していた場合は(S408にてYES)S409へ進み、全てのPR領域で処理が続行中の場合は(S408にてNO)、S804へ進む。   In S408, the CPU 101 determines whether or not the processing in any one of the PR regions has been completed based on the information acquired in S407. If processing in any PR region has been completed (YES in S408), the process proceeds to S409. If processing is continuing in all PR regions (NO in S408), the process proceeds to S804.

S804にて、CPU101は、全てのコンフィグデータがRAM111にロード済み否かを判定する。ロード済みである場合は(S804にてYES)、S407へ戻り、いずれかのPR領域での処理が終了するまで待機する。全てのコンフィグデータがロード済みではない場合は(S804にてNO)、S805へ進む。   In step S <b> 804, the CPU 101 determines whether all configuration data has been loaded into the RAM 111. If it has been loaded (YES in S804), the process returns to S407 and waits until the processing in any PR region is completed. If all the configuration data has not been loaded (NO in S804), the process proceeds to S805.

S805にて、CPU101は、ロード対象のコンフィグデータを、コンフィグデータのロード順リスト710に管理されている順番に従って、現在のロード対象コンフィグデータの次の順番(X+1番目)に設定されているコンフィグデータをロード対象とする。   In S805, the CPU 101 sets the configuration data to be loaded in the next order (X + 1) of the current configuration data to be loaded in accordance with the order managed in the load order list 710 of the configuration data. To be loaded.

S409にて、CPU101は、S408で処理が終了したと判定されたPR領域を特定する。   In step S409, the CPU 101 identifies the PR region that is determined to have been processed in step S408.

S806にて、CPU101は、RAM111へのロードが終了したコンフィグデータの一覧(不図示)を取得する。ロード済みコンフィグデータの一覧は、RAM111のコンフィグデータを検索して取得しても良いし、その他の方法で予め保持する等しても良い。   In step S806, the CPU 101 acquires a list of configuration data (not shown) that has been loaded into the RAM 111. The list of loaded configuration data may be acquired by searching the configuration data in the RAM 111, or may be stored in advance by other methods.

S807にて、CPU101は、S806で取得したロード済みコンフィグデータ一覧と、S409で特定されたPR領域とを比較し、再構成可能なコンフィグデータがRAM111にロード済みか否かを判定する。ロード済みの場合は(S807にてYES)S410へ進む。ロード済みでない場合は(S807にてNO)S416へ進む。ロード済みでないケースとしては、再構成要求が発生した時に、コンフィグデータをロードするのに要する時間よりも、いずれかのPR領域での処理終了までの時間が短い場合等が一例として挙げられる。   In step S807, the CPU 101 compares the loaded configuration data list acquired in step S806 with the PR area specified in step S409, and determines whether or not reconfigurable configuration data has been loaded in the RAM 111. If already loaded (YES in S807), the process proceeds to S410. If not loaded (NO in S807), the process proceeds to S416. An example of the case where the load has not been completed is a case where the time until the end of processing in one of the PR areas is shorter than the time required to load the configuration data when a reconfiguration request occurs.

本実施形態においてS416の処理が実施される条件として、S807の判定処理が加わっている。すなわち、ロードが完了する前にいずれかのPR領域での処理が終了してしまったケースの場合も、このステップが実施され、必要なコンフィグデータがRAM111にロードされる事になる。   In the present embodiment, the determination process of S807 is added as a condition for performing the process of S416. That is, even in the case where the processing in one of the PR regions is completed before the loading is completed, this step is performed and necessary configuration data is loaded into the RAM 111.

本実施形態により、全てのコンフィグデータのロードが完了する前に、PR領域での処理が終了した場合でも、効率良く再構成を実施し、構成時間を短縮することが可能となる。すなわち、全ての部分再構成領域での処理終了時間を考慮してコンフィグデータのロード順を定める事で、部分再構成に用いられる可能性の高いコンフィグデータを優先的にロードする。その結果、第一の実施形態の効果に加え、全てのコンフィグデータをロードしていない状態でいずれかのPR領域での処理が終了したとしても、終了後から再構成完了までの時間を短縮できることとなる。   According to the present embodiment, even when the processing in the PR area is completed before the loading of all the configuration data is completed, it is possible to efficiently perform the reconfiguration and shorten the configuration time. That is, configuration data that is likely to be used for partial reconstruction is preferentially loaded by determining the load order of configuration data in consideration of the processing end time in all partial reconstruction areas. As a result, in addition to the effects of the first embodiment, the time from completion to completion of reconfiguration can be shortened even if processing in any PR region is completed without loading all configuration data. It becomes.

<第三の実施形態>
第一、第二の実施形態では、再構成要求が発生した場合に、所望の機能に対応するコンフィグデータを、全てのPR領域分用意する事で、いずれかのPR領域での処理終了後から再構成完了までの時間を短縮できる事を説明した。第三の実施形態では、コンフィグデータの保持に使用できるRAMのスペースが限られたシステムにおいて、1つの機能に対応するコンフィグデータがRAM上に同時に存在出来る数を制限することで、効率的に再構成が可能となる構成について説明する。
<Third embodiment>
In the first and second embodiments, when a reconfiguration request is generated, configuration data corresponding to a desired function is prepared for all the PR areas, so that after processing in one of the PR areas is completed. Explained that the time to complete reconfiguration can be shortened. In the third embodiment, in a system in which the RAM space that can be used to store configuration data is limited, the number of configuration data corresponding to one function that can exist simultaneously on the RAM is limited, thereby efficiently re-storing. A configuration that can be configured will be described.

[RAMの容量を考慮した部分再構成]
一般的に、画像処理装置等の機器では、主にコストの面からRAMのリソースが限られる事が多い。RAMは第一の実施形態で既に述べたように、様々な処理がその記憶領域に割り振って用いられる一時記憶デバイスであり、一つ当たりの機能に割り当てられるリソースはRAMが備える全リソースよりも小さくなる。一方、部分再構成は構成場所(PR領域)によって異なるコンフィグデータを用意しておく必要があるという性質を持つ為に、記憶領域を占有しやすい。このようなシステムでは、RAMに存在できるコンフィグデータの数を制限することで、リソースを占有することなく部分再構成が行える。また、このような制御を行うことで、リソースが限られていても複数の機能に対応するコンフィグデータを用意しておく事も可能になる。その為、複数の再構成要求が発生した場合でも、PR領域での処理終了までに所望のコンフィグデータをRAMに用意しておけるようになる。本実施形態に係る機器構成は第一、第二の実施形態と同様であるとし、ここでの説明は省略する。
[Partial reconstruction considering RAM capacity]
In general, in a device such as an image processing apparatus, RAM resources are often limited mainly from the viewpoint of cost. As already described in the first embodiment, the RAM is a temporary storage device in which various processes are allocated to the storage area, and the resources allocated to each function are smaller than all the resources included in the RAM. Become. On the other hand, partial reconfiguration has the property that it is necessary to prepare different configuration data depending on the configuration location (PR region), and therefore it tends to occupy the storage region. In such a system, by limiting the number of configuration data that can exist in the RAM, partial reconfiguration can be performed without occupying resources. In addition, by performing such control, it is possible to prepare configuration data corresponding to a plurality of functions even if resources are limited. Therefore, even when a plurality of reconfiguration requests are generated, desired configuration data can be prepared in the RAM before the processing in the PR area is completed. The device configuration according to this embodiment is the same as that of the first and second embodiments, and a description thereof is omitted here.

図9を用いて、コンフィグデータの保持に使用できるRAM111の容量が20MBである場合に、ロード可能なコンフィグデータの個数を算出する方法について説明する。なお、コンフィグデータの保持に使用できるRAMの容量を20MBに限るものではない。   A method of calculating the number of config data that can be loaded when the capacity of the RAM 111 that can be used to hold the config data is 20 MB will be described with reference to FIG. Note that the capacity of RAM that can be used to hold configuration data is not limited to 20 MB.

図9(A)は、各コンフィグデータの容量を保持しておくコンフィグ容量テーブル800の構成例を示す。コンフィグ容量テーブル800において、例えば、機能Aのコンフィグデータの容量は3MBと示されている。同様に、機能毎のコンフィグデータと、そのサイズとが対応付けられて保持されている。   FIG. 9A shows a configuration example of a configuration capacity table 800 that holds the capacity of each configuration data. In the configuration capacity table 800, for example, the capacity of the configuration data for function A is 3 MB. Similarly, configuration data for each function and its size are stored in association with each other.

図9(B)は、現在、再構成要求が発生している機能がロード可能か否かの判定結果を保持するロード可否情報テーブル810の構成例を示す。図9(B)において、再構成要求が発生している機能が、要求発生順に並べられている。ロード可否情報テーブル810において、各機能に対応するコンフィグデータのサイズ、コンフィグデータ毎の最大ロード個数情報、ロード済みの個数、ロード後のRAM111の残容量情報、および現在ロード可能か否かを示す情報が対応付けて保持される。ロード可否情報テーブル810は、再構成要求が発生した際や、ロードしたコンフィグデータの数が変化した際など、テーブルの要素が変化する何らかのアクションをトリガーとして更新する事が考えられるが、これ以外を契機として更新されてもよい。   FIG. 9B shows a configuration example of a load availability information table 810 that holds a determination result as to whether or not a function for which a reconfiguration request is currently generated can be loaded. In FIG. 9B, the functions for which reconfiguration requests are generated are arranged in the order in which the requests are generated. In the load availability information table 810, the size of the configuration data corresponding to each function, the maximum load number information for each configuration data, the number of loaded data, the remaining capacity information of the RAM 111 after loading, and information indicating whether or not the current load is possible Are stored in association with each other. The load availability information table 810 may be updated with some action that changes the table element as a trigger when a reconfiguration request occurs or when the number of loaded configuration data changes. It may be updated as an opportunity.

次に、ロードの可否を決定する方法の一例について説明する。ここでは、説明の簡単化の為、各コンフィグデータの最大個数が予め設定されている画像処理装置を例に説明する。ロード可否を決定する為には、現在使用可能なRAM111の現在の残容量情報と、ロードしたいコンフィグデータのサイズとから、コンフィグデータをロードした後のRAM111の残容量を算出する。コンフィグデータをロードした後のRAM111の残容量が0以上であれば、ロード可能と判定し、そうでなければロード不可能と判定する。これを再構成要求が発生した機能順に行う。図9(B)では、2番目に発生した再構成要求に対応するコンフィグデータまでをロードした場合のRAM111の残容量は8MBであり、ここまでのコンフィグデータはロード可能となる。一方、3番目に発生した再構成要求に対応するコンフィグデータをロードする場合、それらのデータサイズは残容量を上回ってしまう為、ロード不可能と判定される。   Next, an example of a method for determining whether or not loading is possible will be described. Here, for simplification of description, an image processing apparatus in which the maximum number of each configuration data is set in advance will be described as an example. In order to determine whether or not to load, the remaining capacity of the RAM 111 after loading the configuration data is calculated from the current remaining capacity information of the currently available RAM 111 and the size of the configuration data to be loaded. If the remaining capacity of the RAM 111 after loading the configuration data is 0 or more, it is determined that loading is possible, and otherwise, it is determined that loading is impossible. This is performed in the order of functions in which a reconfiguration request has occurred. In FIG. 9B, the remaining capacity of the RAM 111 when the configuration data corresponding to the second reconfiguration request is loaded is 8 MB, and the configuration data up to this point can be loaded. On the other hand, when loading configuration data corresponding to the third reconfiguration request, the data size exceeds the remaining capacity, so it is determined that the load is impossible.

なお、上記の例ではコンフィグデータの最大個数を固定値とした画像処理装置を例に説明してきたが、最大個数を動的に変化させても良い。例えば、再構成要求が1つしかない場合は、コンフィグデータ保持用に設定されているRAMの最大容量を上限として保持可能とする。そして、新たな再構成要求が発生した場合は、2種類のコンフィグデータをロード出来るように、最大個数を更新する。更新を繰り返した場合、最大個数が既にロードしたコンフィグデータの数を下回る可能性がある。その際には、最後にロードされたコンフィグデータ(優先順位が最も低いコンフィグデータ)を削除するなどしてもよい。上記では2つの例を挙げて、RAMにロード可能なコンフィグデータの最大個数を制限する方法を述べたが、他の方法を使用しても良い。   In the above example, the image processing apparatus has been described with the maximum number of configuration data as a fixed value. However, the maximum number may be dynamically changed. For example, when there is only one reconfiguration request, the maximum capacity of the RAM set for holding configuration data can be held as an upper limit. When a new reconfiguration request is generated, the maximum number is updated so that two types of configuration data can be loaded. If the update is repeated, the maximum number may be less than the number of configuration data already loaded. In that case, the configuration data loaded last (configuration data with the lowest priority) may be deleted. In the above description, the method for limiting the maximum number of configuration data that can be loaded into the RAM has been described with two examples. However, other methods may be used.

[ロード可能なコンフィグ数を制限した部分再構成の制御フロー]
図10は、予め設定されたRAM111に存在できるコンフィグデータの数の制限を課した、本実施形態に係る画像処理装置の制御処理を表すフローチャートである。S1001〜S1005以外のステップは上述した実施形態にて既に説明しているため、重複する箇所については説明を省略する。
[Partial reconfiguration control flow with a limited number of loadable configurations]
FIG. 10 is a flowchart showing the control processing of the image processing apparatus according to the present embodiment, which imposes a limit on the number of configuration data that can exist in the preset RAM 111. Since steps other than S1001 to S1005 have already been described in the above-described embodiment, description of overlapping portions will be omitted.

処理が終了したPR領域がない場合(S405にてNO)、S1001にて、CPU101は、いずれのPR領域に対応するコンフィグデータをロードするかを決定する。決定方法はどのようなものを適用しても良く、例えば第二の実施形態で説明した手法を用い、処理終了が早いPR領域を再構成可能なコンフィグデータからロードすることが考えられる。   If there is no PR area for which processing has been completed (NO in S405), in S1001, CPU 101 determines which PR area is to be loaded with configuration data. Any determination method may be applied. For example, using the method described in the second embodiment, it is conceivable to load a PR region whose processing end is early from reconfigurable configuration data.

S1002にて、CPU101は、図9(B)に示したロード可否情報テーブル810に保持されている情報を取得する。ここで取得する情報としては、再構成要求が発生しているコンフィグデータのロードの可否、最大ロード可能数、およびロード済みのコンフィグデータの数である。ロード可否情報テーブル810は、所定のタイミングで更新され続ける。   In step S1002, the CPU 101 acquires information held in the load availability information table 810 illustrated in FIG. Information acquired here includes whether or not configuration data for which a reconfiguration request has been issued can be loaded, the maximum number of loadable configurations, and the number of configuration data that have been loaded. The load availability information table 810 is continuously updated at a predetermined timing.

S1003にて、CPU101は、S1002で取得した情報に基づき、コンフィグデータのロード開始が可能か否かを判定する。ロード可能と判定した場合には(S1003にてYES)S803へ進む。ロード不可と判定した場合には(S1003にてNO)、S407へ進む。   In step S1003, the CPU 101 determines whether or not configuration data loading can be started based on the information acquired in step S1002. If it is determined that loading is possible (YES in S1003), the process proceeds to S803. If it is determined that loading is not possible (NO in S1003), the process proceeds to S407.

S803にて、CPU101は、S1001で決定したロード順にしたがい、現在ロード対象となっているX番目のコンフィグデータのロードを、コンフィグコントローラ130により実施するように指示する。   In step S <b> 803, the CPU 101 instructs the configuration controller 130 to load the Xth configuration data that is currently loaded in accordance with the loading order determined in step S <b> 1001.

S805にて、CPU101は、ロード対象を次のコンフィグデータ(X+1番目)に変更し、S407へ進む。   In S805, the CPU 101 changes the load target to the next configuration data (X + 1), and proceeds to S407.

全てのPR領域で処理が終了していないと判定した場合(S408にてNO)、S1004にて、CPU101は、S1002で取得した情報を参照して、ロード済みのコンフィグデータの数と最大ロード可能数を比較し、最大ロード可能数分のコンフィグデータをロードしたか否かを判定する。ロード済みのコンフィグデータの数が最大ロード可能数以上である場合は(S1004にてYES)、S407へ進む。最大ロード可能数より小さい場合(S1004にてNO)、S1002へ進む。   If it is determined that the processing has not been completed in all the PR regions (NO in S408), in S1004, the CPU 101 refers to the information acquired in S1002 and the number of configuration data already loaded and the maximum load is possible. Compare the numbers and determine whether or not the maximum loadable number of configuration data has been loaded. If the number of loaded configuration data is equal to or greater than the maximum loadable number (YES in S1004), the process proceeds to S407. If smaller than the maximum loadable number (NO in S1004), the process proceeds to S1002.

本実施形態により、コンフィグデータの保持に使用できるRAMのスペースが限られた画像処理装置においても、効率的に動的部分再構成が可能となる。すなわち、記憶領域を占有しやすい部分再構成において、RAMに存在できるコンフィグデータの数を制限することで、記憶リソースを占有することなく、部分再構成が行える。そして、このような制御を行うことで、リソースが限られていても、複数の機能のコンフィグデータを用意しておく事も可能になる。その為、複数の再構成要求が発生した場合でも、PR領域での処理終了までに所望のコンフィグデータをRAMに用意しておけるようになる。   According to the present embodiment, dynamic partial reconfiguration can be efficiently performed even in an image processing apparatus in which the RAM space that can be used for holding configuration data is limited. That is, in the partial reconfiguration that easily occupies the storage area, the partial reconfiguration can be performed without occupying the storage resource by limiting the number of configuration data that can exist in the RAM. By performing such control, it becomes possible to prepare configuration data for a plurality of functions even if resources are limited. Therefore, even when a plurality of reconfiguration requests are generated, desired configuration data can be prepared in the RAM before the processing in the PR area is completed.

<その他の実施形態>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention is also realized by executing the following processing. That is, software (program) for realizing the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

100・・・画像処理装置、101・・・CPU、104・・・ROM、111・・・RAM、120・・・システムバス、121・・・画像バス、130・・・コンフィグコントローラ、140・・・FPGA、150・・・HDD DESCRIPTION OF SYMBOLS 100 ... Image processing apparatus, 101 ... CPU, 104 ... ROM, 111 ... RAM, 120 ... System bus, 121 ... Image bus, 130 ... Configuration controller, 140 ...・ FPGA, 150 ... HDD

Claims (11)

回路構成を再構成可能な複数の領域を含む回路を備える画像処理装置であって、
前記複数の領域それぞれにおける回路構成の再構成を制御する制御手段と、
前記複数の領域それぞれに対応し、かつ、機能ごとに定義された複数の回路構成情報の中から、前記複数の領域を再構成する際に用いられる少なくとも1つの回路構成情報を記憶部に一時的に記憶させる記憶手段と、
前記複数の領域それぞれが構成された回路構成の機能により動作しているか否かを判定する判定手段と
を有し、
前記判定手段は、再構成要求が発生した際に、前記複数の領域のすべてが動作中か否かを判定し、
前記判定手段にて前記複数の領域のすべてが動作中であると判定された場合、前記記憶手段は、前記再構成要求にて指定された機能を実装するための回路構成情報であって、前記複数の領域それぞれに対応したすべての回路構成情報を取得して前記記憶部に記憶させておき、
前記制御手段は、前記複数の領域のうちいずれかの領域において処理が完了した際に、当該処理が完了した領域に対応する回路構成情報を前記記憶部から読み出して、当該処理が完了した領域にて再構成を行わせることを特徴とする画像処理装置。
An image processing apparatus including a circuit including a plurality of regions in which a circuit configuration can be reconfigured,
Control means for controlling reconfiguration of the circuit configuration in each of the plurality of regions;
Temporarily store at least one circuit configuration information used when reconfiguring the plurality of regions from a plurality of circuit configuration information corresponding to each of the plurality of regions and defined for each function. Storage means for storing
Determination means for determining whether or not each of the plurality of regions is operated by a function of a configured circuit configuration;
The determination unit determines whether or not all of the plurality of areas are operating when a reconfiguration request occurs.
When it is determined by the determination means that all of the plurality of areas are operating, the storage means is circuit configuration information for implementing the function specified in the reconfiguration request, and Acquire all circuit configuration information corresponding to each of a plurality of areas and store in the storage unit,
When the process is completed in any one of the plurality of areas, the control unit reads out circuit configuration information corresponding to the area where the process is completed from the storage unit, and sets the area where the process is completed. An image processing apparatus characterized in that reconstruction is performed.
前記再構成要求が発生した際に前記記憶部にて記憶する回路構成情報の取得する順番を決定する決定手段を更に有し、
前記記憶手段は、前記決定手段にて決定された順番に従って、回路構成情報を取得して前記記憶部に記憶させることを特徴とする請求項1に記載の画像処理装置。
A determination means for determining an order of acquiring circuit configuration information stored in the storage unit when the reconfiguration request occurs;
The image processing apparatus according to claim 1, wherein the storage unit acquires circuit configuration information according to the order determined by the determination unit and stores the circuit configuration information in the storage unit.
前記複数の領域それぞれにて動作中の処理が終了する終了時間を推定する推定手段を更に有し、
前記決定手段は、前記推定手段にて推定された終了時間が早い領域に対応する回路構成情報から順に取得するように順番を決定することを特徴とする請求項2に記載の画像処理装置。
And further comprising an estimation means for estimating an end time at which a process in operation in each of the plurality of regions ends.
The image processing apparatus according to claim 2, wherein the determining unit determines the order so as to sequentially acquire the circuit configuration information corresponding to the region having the early end time estimated by the estimating unit.
前記推定手段は、終了時間が推定できない所定の処理が前記領域にて動作中である場合、予め定義された値に従って終了時刻を推定することを特徴とする請求項3に記載の画像処理装置。   The image processing apparatus according to claim 3, wherein the estimation unit estimates an end time according to a predefined value when a predetermined process whose end time cannot be estimated is operating in the area. 前記記憶手段は、前記推定手段にて終了時間が推定できない所定の処理が前記領域にて動作中である場合、当該領域に対応する回路構成情報を取得する順番を予め定義された順番とすることを特徴とする請求項3に記載の画像処理装置。   In the case where a predetermined process whose end time cannot be estimated by the estimation unit is operating in the area, the storage means sets the order in which the circuit configuration information corresponding to the area is acquired as a predefined order. The image processing apparatus according to claim 3. 前記再構成要求が発生した際に前記記憶部に記憶しておくことのできる機能ごとの回路構成情報の数を制限する制限手段を更に有し、
前記記憶手段は、前記制限手段にて制限された数に基づいて、機能ごとに回路構成情報を取得して前記記憶部に記憶させることを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
A limiting unit that limits the number of circuit configuration information for each function that can be stored in the storage unit when the reconfiguration request occurs;
6. The storage device according to claim 1, wherein the storage unit acquires circuit configuration information for each function based on the number limited by the limiting unit and stores the circuit configuration information in the storage unit. The image processing apparatus described.
前記制限手段は、回路構成情報のサイズ、および、前記記憶部のリソースのサイズに応じて、記憶しておくことのできる機能ごとの回路構成情報の数を動的に決定することを特徴とする請求項6に記載の画像処理装置。   The restricting unit dynamically determines the number of circuit configuration information for each function that can be stored according to the size of the circuit configuration information and the size of the resource of the storage unit. The image processing apparatus according to claim 6. 前記記憶手段が回路構成情報を取得して前記記憶部に記憶させている途中で、前記判定手段が前記複数の領域のうちのいずれかの領域において処理が完了したと判定した場合において、当該処理が完了した領域に対応する回路構成情報がすでに前記記憶部に記憶されている場合、前記制御手段は、当該すでに記憶されている回路構成情報を用いて再構成を行わせることを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。   When the determination unit determines that the process is completed in any one of the plurality of regions while the storage unit acquires the circuit configuration information and stores the circuit configuration information in the storage unit, the process is performed. When the circuit configuration information corresponding to the area where the process is completed is already stored in the storage unit, the control unit causes the reconfiguration to be performed using the circuit configuration information already stored. Item 8. The image processing apparatus according to any one of Items 1 to 7. 前記記憶部は、揮発性のメモリであり、
前記記憶手段は、前記再構成要求が発生した際に、データに対するアクセス速度が前記記憶部よりも遅い記憶装置から回路構成情報を取得して一時的に記憶させておくことを特徴とする請求項1乃至8のいずれか一項に記載の画像処理装置。
The storage unit is a volatile memory,
The storage means acquires circuit configuration information from a storage device whose access speed to data is slower than the storage unit when the reconfiguration request occurs, and temporarily stores the circuit configuration information. The image processing apparatus according to any one of 1 to 8.
回路構成を再構成可能な複数の領域を含む回路を備える画像処理装置の制御方法であって、
前記複数の領域それぞれにおける回路構成の再構成を制御する制御工程と、
前記複数の領域それぞれに対応し、かつ、機能ごとに定義された複数の回路構成情報の中から、前記複数の領域を再構成する際に用いられる少なくとも1つの回路構成情報を記憶部に一時的に記憶させる記憶工程と、
前記複数の領域それぞれが構成された回路構成の機能により動作しているか否かを判定する判定工程と
を有し、
前記判定工程では、再構成要求が発生した際に、前記複数の領域のすべてが動作中か否かを判定し、
前記判定工程にて前記複数の領域のすべてが動作中であると判定された場合、前記記憶工程にて、前記再構成要求にて指定された機能を実装するための回路構成情報であって、前記複数の領域それぞれに対応したすべての回路構成情報を取得して前記記憶部に記憶させておき、
前記制御工程において、前記複数の領域のうちいずれかの領域において処理が完了した際に、当該処理が完了した領域に対応する回路構成情報を前記記憶部から読み出して、当該処理が完了した領域にて再構成を行わせることを特徴とする画像処理装置の制御方法。
A method for controlling an image processing apparatus including a circuit including a plurality of regions in which a circuit configuration can be reconfigured,
A control step of controlling reconfiguration of the circuit configuration in each of the plurality of regions;
Temporarily store at least one circuit configuration information used when reconfiguring the plurality of regions from a plurality of circuit configuration information corresponding to each of the plurality of regions and defined for each function. A storage process to be stored in
A determination step of determining whether or not each of the plurality of regions is operated by a function of a configured circuit configuration,
In the determination step, when a reconfiguration request is generated, it is determined whether or not all of the plurality of areas are operating,
When it is determined in the determination step that all of the plurality of areas are operating, circuit configuration information for implementing the function specified in the reconfiguration request in the storage step, Acquire all circuit configuration information corresponding to each of the plurality of regions and store in the storage unit,
In the control step, when the process is completed in any one of the plurality of areas, the circuit configuration information corresponding to the area where the process is completed is read from the storage unit, and the process is completed in the area where the process is completed. And a method for controlling the image processing apparatus.
回路構成を再構成可能な複数の領域を含む回路を備えるコンピュータを、
前記複数の領域それぞれにおける回路構成の再構成を制御する制御手段、
前記複数の領域それぞれに対応し、かつ、機能ごとに定義された複数の回路構成情報の中から、前記複数の領域を再構成する際に用いられる少なくとも1つの回路構成情報を記憶部に一時的に記憶させる記憶手段、
前記複数の領域それぞれが構成された回路構成の機能により動作しているか否かを判定する判定手段
として機能させ、
前記判定手段は、再構成要求が発生した際に、前記複数の領域のすべてが動作中か否かを判定し、
前記判定手段にて前記複数の領域のすべてが動作中であると判定された場合、前記記憶手段は、前記再構成要求にて指定された機能を実装するための回路構成情報であって、前記複数の領域それぞれに対応したすべての回路構成情報を取得して前記記憶部に記憶させておき、
前記制御手段は、前記複数の領域のうちいずれかの領域において処理が完了した際に、当該処理が完了した領域に対応する回路構成情報を前記記憶部から読み出して、当該処理が完了した領域にて再構成を行わせることを特徴とするコンピュータ。
A computer including a circuit including a plurality of areas in which a circuit configuration can be reconfigured.
Control means for controlling reconfiguration of the circuit configuration in each of the plurality of regions;
Temporarily store at least one circuit configuration information used when reconfiguring the plurality of regions from a plurality of circuit configuration information corresponding to each of the plurality of regions and defined for each function. Storage means for storing in
Each of the plurality of regions is made to function as a determination unit that determines whether or not it is operating by a function of a configured circuit configuration,
The determination unit determines whether or not all of the plurality of areas are operating when a reconfiguration request occurs.
When it is determined by the determination means that all of the plurality of areas are operating, the storage means is circuit configuration information for implementing the function specified in the reconfiguration request, and Acquire all circuit configuration information corresponding to each of a plurality of areas and store in the storage unit,
When the process is completed in any one of the plurality of areas, the control unit reads out circuit configuration information corresponding to the area where the process is completed from the storage unit, and sets the area where the process is completed. A computer that is configured to perform reconfiguration.
JP2014183497A 2014-09-09 2014-09-09 Image processing device, control method of the same, and program Pending JP2016057828A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014183497A JP2016057828A (en) 2014-09-09 2014-09-09 Image processing device, control method of the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014183497A JP2016057828A (en) 2014-09-09 2014-09-09 Image processing device, control method of the same, and program

Publications (1)

Publication Number Publication Date
JP2016057828A true JP2016057828A (en) 2016-04-21

Family

ID=55758608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014183497A Pending JP2016057828A (en) 2014-09-09 2014-09-09 Image processing device, control method of the same, and program

Country Status (1)

Country Link
JP (1) JP2016057828A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250194B2 (en) 2017-12-12 2022-02-15 Nec Corporation FPGA system, partial reconfiguration execution method, and storage medium
US11901897B2 (en) 2020-09-03 2024-02-13 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250194B2 (en) 2017-12-12 2022-02-15 Nec Corporation FPGA system, partial reconfiguration execution method, and storage medium
US11901897B2 (en) 2020-09-03 2024-02-13 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
US9407784B2 (en) Image processing apparatus, control method thereof, and storage medium
CN105323404B (en) Image processing apparatus and its control method
US20160036998A1 (en) Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method
US10084452B2 (en) Information processing apparatus, image processing apparatus with information processing apparatus, and control method for information processing apparatus
US10122883B2 (en) Image processing apparatus including circuit configuration and method of controlling the same
US20150244898A1 (en) Image processing apparatus, method for controlling the same, and storage medium
US9560164B2 (en) Image processing apparatus, method of controlling the same, non-transitory computer readable storage medium, and data processing apparatus
JP2016057828A (en) Image processing device, control method of the same, and program
US20150256687A1 (en) Image processing apparatus and method for controlling the same, and storage medium
KR101181957B1 (en) Method and Apparatus for reconfigurating of software in SDR access terminal
JP2010092458A (en) Image processing apparatus and program starting up method
US9760285B2 (en) Image processing system and image processing apparatus for configuring logical circuit on circuit according to configuration data
US10037591B2 (en) Information processing apparatus and method of controlling the same
JP2016076867A (en) Information processor, control method for information processor, and program
US20160050332A1 (en) Image processing apparatus for controlling dynamic reconfigurable apparatus, information processing method for image processing apparatus, and storage medium for storing program to achieve information processing method
JP2015198405A (en) Image processing apparatus and control method thereof, and program
JP6263960B2 (en) Application program
JP2017161988A (en) Server system, server device, method for enabling program execution, and program
JP2017060089A (en) Image processor
JP2016206729A (en) Information processing apparatus and control method therefor, and program
EP3885891A1 (en) Image processing apparatus, method, and storage medium
JP6954094B2 (en) Image forming device and information processing program
JP2022142530A (en) Information processing apparatus and information processing program
JP6528951B2 (en) Electronic device and processing execution program
JP2023137383A (en) Information processing apparatus, information processing method, and program