JP2016057828A - Image processing device, control method of the same, and program - Google Patents
Image processing device, control method of the same, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
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).
部分再構成において用いる論理回路構成情報を特定するために、所望の処理内容を決定し、さらに再構成する領域を指定する必要がある。しかしながら、特許文献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
上記課題を解決するために本願発明は以下の構成を有する。すなわち、回路構成を再構成可能な複数の領域を含む回路を備える画像処理装置であって、前記複数の領域それぞれにおける回路構成の再構成を制御する制御手段と、前記複数の領域それぞれに対応し、かつ、機能ごとに定義された複数の回路構成情報の中から、前記複数の領域を再構成する際に用いられる少なくとも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.
以下、本発明を実施するための形態について図面を用いて説明する。 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
また、画像処理装置100は、CPU101、ROM104、およびRAM111を備える。CPU101は、画像処理装置100の動作を統括的に制御し、画像処理装置100の各ユニットを制御するための制御ソフトウェアを実行する。ROM104には、CPU101が実行するプログラムが格納される。RAM111は、揮発性の記憶部であり、様々な用途にて用いられる。例えば、RAM111は、CPU101が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもあり、更には後述する論理回路構成情報を一時的に記憶するためのメモリでもある。RAM111には、RAM111への書き込み、読み出し動作を制御するメモリコントローラ110が接続される。メモリコントローラ110は、システムバス120および画像バス121に接続され、RAM111へのアクセスを制御する。RAM111はHDD150などに比べ高速に読み書きできるものが利用される。
The
画像処理装置100は、再構成可能デバイスとして画像処理回路等を構成するFPGA140を有する。なお、本実施形態では再構成可能デバイスとしてFPGAを例に説明しているが、FPGA以外の再構成可能デバイスが接続される構成であってもよい。画像処理装置100は、CPU101の制御の下、FPGAの回路構成(コンフィギュレーション)を制御するコンフィグコントローラ130を有する。本実施形態では、コンフィグコントローラ130をハードモジュールの形で示しているが、この形態とは違う実装方法でもよい。例えば、CPU101上で動作するソフトウェアとして実現されていても良い。
The
また、画像処理装置100は、FPGA140に回路を構成する為の論理回路構成情報(以下、コンフィグデータ)が格納されているHDD150を有する。HDD150はコンフィグデータのみならず、画像データを記憶する為の記憶領域であり、更にはCPU101で動作するプログラムが格納される記憶領域でもある。HDD150は、HDD I/F116を介してシステムバス120および画像バス121に接続される。HDD I/F116は、既に説明したRAM111より、読み出し性能(アクセス速度)が劣る事が多い。FPGA140は、動的書き換え可能かつ部分書き換え可能である。すなわち、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。
The
また、画像処理装置100は、スキャナ部109から画像データが入力されるスキャナI/F108と、プリンタ部107へ画像データを出力するプリンタI/F106とを有する。FPGA140、スキャナI/F108、およびプリンタI/F106は、処理される画像データを転送するための画像バス121に接続される。
The
また、画像処理装置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
[部分再構成に関する構成]
図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
FPGA140は、内部に、部分再構成の単位として、複数の部分再構成部を備える。本実施形態では、FPGA140は、PR領域201(PR1)、PR領域202(PR2)、PR領域203(PR3)、およびPR領域204(PR4)を備えるものとする。各PR領域において、動的に画像処理回路等が書き換えられることが可能である。本実施形態においては、画像処理機能を持つ回路をPR領域に構成する例について説明をしているが、画像処理機能以外の回路をPR領域に構成可能であってもよい。
The
コンフィグコントローラ130は、再構成管理部205を備える。再構成管理部205は、各PR領域の部分再構成を管理する機能を持つ。例えば、各PR領域が現在の処理に使用されているか否か、機能が書き込まれているか否か等、各PR領域の空き状況を管理する。その上で、再構成管理部205は、各PR領域が書き換え可能か否かの判定を行う。再構成管理部205は、CPU101の指示と、各PR領域が書き換え可能か否かの判定とを踏まえて、各PR領域に使用可能なコンフィグデータのRAM111へのロードと、各PR領域へのコンフィグデータの書き換えを行う。再構成管理部205が全てのPR領域で何らかの処理が実行中であると判定した場合の処理については、図4を用いて後述する。
The
次に、図3を用いて本実施形態に係るFPGA140のPR領域201〜204に構成されるコンフィグデータの格納方法について説明する。図3はHDD150に格納されるFPGA140のPR領域201〜204それぞれに対応したコンフィグデータの例である。
Next, a method for storing configuration data configured in the
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
また、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
上述したように、本願発明の前提として、各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
本実施形態では、図2に示すように、FPGA140は4つの部分再構成領域を備え、また、部分再構成領域に構成する機能を機能A、B、C、D、E、Fの6つの場合を例に挙げて説明する。もちろん、部分再構成領域の数や、構成可能な機能の数は上記に限定されるものではなく、他の数であっても本願発明を適用可能である。
In the present embodiment, as shown in FIG. 2, the
[再構成実行時の制御フロー]
図4は、本実施形態に係る画像処理装置100の再構成実行時の制御を表すフローチャートである。なお、図4のフローチャートの各手順は画像処理装置100が備えるCPU101により実行されるものとして説明するが、一部の処理を再構成管理部205が行っても良い。
[Control flow during reconfiguration]
FIG. 4 is a flowchart showing control at the time of reconfiguration of the
S401にて、CPU101は、ユーザ等が設定したジョブを受けつける。つまり、画像処理装置100での処理開始要求を受け付ける。ここで、ジョブを設定するのは、ユーザ以外でも良い。
In step S401, the
S402にて、CPU101は、S401で受け付けたジョブを実行する上で必要な機能を特定する。更に、CPU101は、FPGA140にて構成する必要がある機能を特定する。例えば、受信したジョブ処理のために、機能Eを実現するための回路をPR領域に構成する必要があるとして特定される。もちろん、他の機能を再構成しても良いし、図3に図示していない機能を再構成しても良い。また、複数の機能が必要であるとして特定されても良い。
In step S402, the
S403にて、CPU101は、再構成管理部205から各PR領域の動作状態を示すステータス取得を行う。再構成管理部205によって管理される、各PR領域の動作状態を示すステータスについては、図5を用いて後述する。なお、ここでジョブを実行するうえで必要な機能がすでに構成されている場合には、再構成を行わないようにしてもよい。本実施形態では、この時点では必要な機能が構成されていないものとし、再構成要求により再構成する機能が指定される。
In step S <b> 403, the
S404にて、CPU101は、S403にて取得した情報に基づいて、回路が未書き込みである空きPR領域があるか否かを判定する。空きPR領域が存在する場合は(S404にてYES)S413へ進み、空きPR領域が存在しない場合は(S404にてNO)、S405へ進む。
In S404, the
S405にて、CPU101は、S403にて取得した情報に基づいて、処理が終了しているPR領域が1以上あるか否かを判定する。処理が終了しているPR領域が一つでもある場合(S405にてYES)S413へ進み、全てのPR領域で何らかの処理を実行中の場合は(S405にてNO)S406へ進む。
In step S405, the
S406にて、CPU101は、コンフィグコントローラ130により、S402で特定した機能を実現するコンフィグデータを、全てのPR領域分読み出すように指示する。指示を受けたコンフィグコントローラ130は、コンフィグデータをHDD150からRAM111へロードする。図3を用いて述べたように、コンフィグデータは、PR領域毎に用意され、同じ機能を実現するためのコンフィグデータが複数存在する。なお、これらの複数のコンフィグデータをロードする際の順番は、予め定めていても良いし、ランダムに決定しても良い。
In S406, the
S407にて、CPU101は、再構成管理部205から各PR領域の動作状態のステータス取得を行う。
In S407, the
S408にて、CPU101は、S407にて取得した情報に基づいて、いずれかのPR領域での処理が終了したか否かを判定する。いずれかのPR領域での処理が終了していた場合は(S408にてYES)S409へ進み、全てのPR領域で処理が続行中の場合は(S408にてNO)、S407へ戻る。
In S408, the
S409にて、CPU101は、S407にて取得した情報に基づいて、処理が終了したPR領域を特定する。
In step S409, the
S410にて、CPU101は、コンフィグコントローラ130に対し、RAM111にロードされたコンフィグデータの中から、S409もしくはS413で特定されたPR領域に適合するコンフィグデータの選択を指示する。ここで選択されるコンフィグデータは、S402で特定した機能を実現するためのコンフィグデータである。
In S410, the
S411にて、CPU101は、コンフィグコントローラ130によりS410で選択されたコンフィグデータをRAM111より読み出し、FPGA140の特定されたPR領域に書き込むことで部分再構成を行う。
In S411, the
S412にて、CPU101は、S411で部分再構成された機能により、S402で特定された処理の実行を開始させる。
In S412, the
S413にて、CPU101は、S403にて取得した情報に基づいて、未使用PR領域を特定する。本実施形態では、再構成要求があった場合に、ただちに書き込める領域を「未使用PR領域」と呼び、S409において処理が終了したために書き込めるようになったとして特定されたPR領域と区別する。
In step S413, the
S414にて、CPU101は、S413で特定した未使用PR領域に書き込めるコンフィグデータを特定する。具体的には、S413で特定された未使用PR領域に対応したコンフィグデータであって、S402にて特定された機能に対応するコンフィグデータを、RAM111やHDD150等の、コンフィグデータが存在する記憶領域の中から検索される。
In S414, the
S415にて、CPU101は、S414での検索の結果、対象となるコンフィグデータがRAM111にあるか否かを判定する。対象のコンフィグデータがRAM111にある場合は(S415にてYES)S410へ進み、対象のコンフィグデータがRAM111に無い場合は(S415にてNO)、S416へ進む。
In S415, the
S416にて、CPU101は、コンフィグコントローラ130により、S414で特定したコンフィグデータをHDD150からRAM111へロードするように指示する。その後、S410へ進む。
In S416, the
図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
[効果]
次に図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
再構成開始要求のタイミング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
このように、本実施形態により、処理が終わる前に、全ての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
次に、終了時刻の取得方法の一例を説明する。ハードウェアを占有した一連の処理が終了するまでの時間は予測可能なことがある。例えば、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
図7(B)は、PR領域管理テーブル700に保持された各PR領域での処理終了時刻を考慮して決定されたコンフィグデータのロード順リスト710である。ここではコンフィグデータのロード順を決定する手法として、処理終了時刻が早いPR領域の順に、それぞれに構成可能なコンフィグデータがロードするよう決定される。前述したように、処理終了時刻の推定が難しい処理については、図7(D)に示すようにロード順の最後にする等の操作を行っても良い。ロード順リスト710は、再構成管理部205が管理しても良いし、CPU101上で動作するソフトウェアで管理しても良い。再構成管理部205はCPU101の指示の下、各PR領域に対応するコンフィグデータのRAM111へのロードを行う場合に、ロード順リスト710に保持されている順番に従ってロードを実行する。
FIG. 7B shows a
[終了時間を考慮した部分再構成の制御フロー]
図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
S802にて、CPU101は、S801で取得した処理終了時刻に基づいて、RAM111にロードするコンフィグデータの順番を決定し、ロード順リスト710を生成する。既に述べた通り、部分再構成では同じ機能を実現する場合においても、構成場所によって異なるコンフィグデータを用意しておく必要がある。本実施形態では、最も早く処理が終了すると予測されているPR領域に対応するコンフィグデータから優先的にRAM111にロードしておく。これにより、いずれかのPR領域での処理が終了した時点で、回路構成情報をダウンロードしている途中であっても、再構成可能なコンフィグデータがRAM111に存在している確率がより高めることができる。
In step S802, the
S803にて、CPU101は、コンフィグコントローラ130により、S805で決定した順番に基づき、RAM111にX番目のコンフィグデータをロードするように指示する。なお、変数Xの初期値は「1」とし、ロード順リスト710のうち、最もロードする優先順位の高いものから順に1番目、2番目...とする。
In S803, the
S407にて、CPU101は、再構成管理部205から全PR領域の動作状態のステータス取得を行う。
In step S <b> 407, the
S408にて、CPU101は、S407にて取得した情報に基づいて、いずれかのPR領域での処理が終了したか否かを判定する。いずれかのPR領域での処理が終了していた場合は(S408にてYES)S409へ進み、全てのPR領域で処理が続行中の場合は(S408にてNO)、S804へ進む。
In S408, the
S804にて、CPU101は、全てのコンフィグデータがRAM111にロード済み否かを判定する。ロード済みである場合は(S804にてYES)、S407へ戻り、いずれかのPR領域での処理が終了するまで待機する。全てのコンフィグデータがロード済みではない場合は(S804にてNO)、S805へ進む。
In step S <b> 804, the
S805にて、CPU101は、ロード対象のコンフィグデータを、コンフィグデータのロード順リスト710に管理されている順番に従って、現在のロード対象コンフィグデータの次の順番(X+1番目)に設定されているコンフィグデータをロード対象とする。
In S805, the
S409にて、CPU101は、S408で処理が終了したと判定されたPR領域を特定する。
In step S409, the
S806にて、CPU101は、RAM111へのロードが終了したコンフィグデータの一覧(不図示)を取得する。ロード済みコンフィグデータの一覧は、RAM111のコンフィグデータを検索して取得しても良いし、その他の方法で予め保持する等しても良い。
In step S806, the
S807にて、CPU101は、S806で取得したロード済みコンフィグデータ一覧と、S409で特定されたPR領域とを比較し、再構成可能なコンフィグデータがRAM111にロード済みか否かを判定する。ロード済みの場合は(S807にてYES)S410へ進む。ロード済みでない場合は(S807にてNO)S416へ進む。ロード済みでないケースとしては、再構成要求が発生した時に、コンフィグデータをロードするのに要する時間よりも、いずれかのPR領域での処理終了までの時間が短い場合等が一例として挙げられる。
In step S807, the
本実施形態において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
本実施形態により、全てのコンフィグデータのロードが完了する前に、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
図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
次に、ロードの可否を決定する方法の一例について説明する。ここでは、説明の簡単化の為、各コンフィグデータの最大個数が予め設定されている画像処理装置を例に説明する。ロード可否を決定する為には、現在使用可能な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
なお、上記の例ではコンフィグデータの最大個数を固定値とした画像処理装置を例に説明してきたが、最大個数を動的に変化させても良い。例えば、再構成要求が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
処理が終了したPR領域がない場合(S405にてNO)、S1001にて、CPU101は、いずれのPR領域に対応するコンフィグデータをロードするかを決定する。決定方法はどのようなものを適用しても良く、例えば第二の実施形態で説明した手法を用い、処理終了が早いPR領域を再構成可能なコンフィグデータからロードすることが考えられる。
If there is no PR area for which processing has been completed (NO in S405), in S1001,
S1002にて、CPU101は、図9(B)に示したロード可否情報テーブル810に保持されている情報を取得する。ここで取得する情報としては、再構成要求が発生しているコンフィグデータのロードの可否、最大ロード可能数、およびロード済みのコンフィグデータの数である。ロード可否情報テーブル810は、所定のタイミングで更新され続ける。
In step S1002, the
S1003にて、CPU101は、S1002で取得した情報に基づき、コンフィグデータのロード開始が可能か否かを判定する。ロード可能と判定した場合には(S1003にてYES)S803へ進む。ロード不可と判定した場合には(S1003にてNO)、S407へ進む。
In step S1003, the
S803にて、CPU101は、S1001で決定したロード順にしたがい、現在ロード対象となっているX番目のコンフィグデータのロードを、コンフィグコントローラ130により実施するように指示する。
In step S <b> 803, the
S805にて、CPU101は、ロード対象を次のコンフィグデータ(X+1番目)に変更し、S407へ進む。
In S805, the
全ての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
本実施形態により、コンフィグデータの保持に使用できる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
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.
前記記憶手段は、前記制限手段にて制限された数に基づいて、機能ごとに回路構成情報を取得して前記記憶部に記憶させることを特徴とする請求項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.
前記記憶手段は、前記再構成要求が発生した際に、データに対するアクセス速度が前記記憶部よりも遅い記憶装置から回路構成情報を取得して一時的に記憶させておくことを特徴とする請求項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.
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)
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 |
-
2014
- 2014-09-09 JP JP2014183497A patent/JP2016057828A/en active Pending
Cited By (2)
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 |