JP2016035692A - 画像処理装置、システム、情報処理方法及びプログラム - Google Patents

画像処理装置、システム、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2016035692A
JP2016035692A JP2014158700A JP2014158700A JP2016035692A JP 2016035692 A JP2016035692 A JP 2016035692A JP 2014158700 A JP2014158700 A JP 2014158700A JP 2014158700 A JP2014158700 A JP 2014158700A JP 2016035692 A JP2016035692 A JP 2016035692A
Authority
JP
Japan
Prior art keywords
partial reconfiguration
configuration data
unit
area
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
JP2014158700A
Other languages
English (en)
Other versions
JP2016035692A5 (ja
Inventor
淳一 合田
Junichi Aida
淳一 合田
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 JP2014158700A priority Critical patent/JP2016035692A/ja
Priority to US14/813,731 priority patent/US20160036998A1/en
Publication of JP2016035692A publication Critical patent/JP2016035692A/ja
Publication of JP2016035692A5 publication Critical patent/JP2016035692A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00509Personalising for a particular user or group of users, e.g. a workgroup or company

Abstract

【課題】処理中の機能を止めることなく、部分再構成機能を使用可能とすることを目的とする。【解決手段】ジョブに応じた回路機能を特定する特定手段と、部分再構成部領域の使用状態情報を読み出す読み出し手段と、読み出し手段により読み出された使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定手段と、特定手段により特定された回路機能と決定手段により決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択手段と、選択手段により選択されたコンフィグデータを書き込み先の部分再構成部領域に書き込む処理を制御する制御手段と、を有することによって課題を解決する。【選択図】図5

Description

本発明は、処理中の機能を止めることなく、部分再構成機能を使用可能とする画像処理装置、システム、情報処理方法及びプログラムに関する。
内部の論理回路構成を変更可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等の再構成可能回路が良く知られている。一般的に、PLDやFPGAは、起動時にROM等の不揮発性メモリへ格納された論理回路構成情報を内部の揮発性メモリであるコンフィグレーションメモリへ書き込むことにより内部論理ブロックの切り替えを行う。また、コンフィグレーションメモリ内の情報は電源切断時にクリアされるため、電源投入時には再度、論理回路構成情報をコンフィグレーションメモリに書き込むことで再構成を行う必要がある。このように、一度だけハードウェアリソースの構成を行う方法を静的再構成という。一方で、回路が動作中に論理回路構成を変更することが可能なものも開発されてきており、動作中に論理回路を変更する方法を動的再構成という。
また、FPGAには、チップ全体ではなく特定の領域だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の他の回路を停止しない状態で部分再構成を行うことを動的部分再構成という。
動的部分再構成では、動的再構成時にコンフィグレーションメモリ全体を書き換えるのではなく、コンフィグレーションメモリ領域の一部のみを書き換えることで、FPGA内部の論理ブロックの部分的な再構成を実現することが可能となる。
このような動的部分再構成技術を用いることで、一つの領域に複数の回路を切り替えて実装することが可能となるため、ハードウェアリソースの時分割多重化を行い論理ブロックで実現する機能を変更することができる。その結果、少ないハードウェアリソースで用途に合わせた様々な機能をハードウェアによる高い演算性能を保ったままで柔軟に実現することが可能となる。
動的部分再構成では、所望の機能を部分再構成回路上で実行するためには、部分再構成可能な領域に適合するコンフィグデータを準備する必要がある。例えば、機能ごとに複数の部分再構成可能な領域に対する別々のコンフィグデータを記憶装置に格納しておき、再構成可能な空き領域のサイズを確認し、空き領域サイズに適合するコンフィグデータを選択し、再構成を実行する技術が開示されている(特許文献1)。
また、近年のMFP(MULTI FUNCTION PRINTER)等の画像処理装置は、ユーザからの要求に応じた複数の処理((コピージョブ、プリントジョブ、SENDジョブ等)を選択し、実行することができる。MFPの各処理に応じた画像処理はハードウェア又はソフトウェアにより実現される。この画像処理装置の画像処理ハードウェアとしてFPGA等の再構成可能回路を適用した場合、上述した様な機能毎に回路構成を動的かつ部分的に切り替えることが可能となる。その結果、少ないハードウェアリソースで様々な画像処理機能が実現可能となる。
特開2000−252814号公報
しかしながら、使用中の回路があるにもかかわらず、別の再構成回路を書き込んでしまうと、現在使用中の再構成回路が上書きされ、処理中の機能が使用できなくなる可能性がある。
本発明は、処理中の機能を止めることなく、部分再構成機能を使用可能とすることを目的とする。
そこで、本発明の画像処理装置は、ジョブに応じた回路機能を特定する特定手段と、部分再構成部領域の使用状態情報を読み出す読み出し手段と、前記読み出し手段により読み出された前記使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定手段と、前記特定手段により特定された前記回路機能と前記決定手段により決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択手段と、前記選択手段により選択された前記コンフィグデータを前記書き込み先の部分再構成部領域に書き込む処理を制御する制御手段と、を有する。
本発明によれば、処理中の機能を止めることなく、部分再構成機能を使用可能とすることができる。
画像処理装置のハードウェア構成の一例を示す図である。 画像処理装置の部分再構成に特に関わる構成を示した図である。 コンフィグデータの一例を示す図である。 PR管理テーブルの内容と、FPGAの使用状況と、の一例を示す図である。 画像処理装置の情報処理の一例を示すフローチャートである。 FPGAとPR管理テーブルとの状態を示す図である。 システム構成及びハードウェア構成等の一例を示す図である。 使用ステータスを管理するための領域の一例示す図である。 コンフィグデータの一例を示す図である。 画像処理装置の情報処理の一例を示すフローチャートである。 FPGAの状態を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
[画像処理装置の構成]
図1は、画像処理装置のハードウェア構成の一例を示す図である。本実施形態の画像処理装置100は、ハードウェア構成として、操作部103と、スキャナ部109と、プリンタ部107と、を有する。操作部103は、画像処理装置100を使用するユーザが各種の操作を行う。スキャナ部109は、操作部103からの指示に従い画像情報を読み取る。プリンタ部107は、画像データを用紙に印刷する。スキャナ部109は、スキャナ部109を制御するCPUや原稿読取を行うための照明ランプや走査ミラー等を有する。同様に、プリンタ部107は、プリンタ部107の制御を行うCPUや画像形成や定着を行うための感光体ドラムや定着器を有する。
また、画像処理装置100は、画像処理装置100の動作を統括的に制御するCPU101及びCPU101が実行するプログラムやFPGA140をコンフィグレーションする為のコンフィグデータ(論理回路構成情報)が格納されているROM104を有する。
FPGA140は、動的書き換え可能かつ部分書き換え可能なものである。即ち、例えば、CPU101は、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。
本実施形態では再構成可能デバイスとしてFPGAを例に説明しているが、FPGA以外の再構成可能デバイスが画像処理装置のハードウェア構成として画像処理装置のバス等に接続される構成であっても良い。
画像処理装置100は、CPU101の制御の基、FPGAの回路構成(コンフィグレーション)を制御するコンフィグコントローラ130を有する。
また、画像処理装置100は、CPU101が動作するためのシステムワークメモリであり、かつ、画像データを一時記憶するための画像メモリでもあるRAM111を有する。また、画像処理装置100は、RAM111へのデータ書き込み、読み出し動作を制御するメモリコントローラ110を有する。メモリコントローラ110は、システムバス120及び画像バス121に接続され、RAM111へのアクセスを制御する。
また、画像処理装置100は、スキャナ部109から画像データが入力されるスキャナI/F108とプリンタへ画像データを出力するプリンタI/F106とを有する。FPGA140及びスキャナI/F108、プリンタI/F106は、処理される画像データを転送するための画像バス121に接続される。
また、画像処理装置100は、ネットワークI/F102を介し、ネットワーク上の汎用コンピュータと通信(送受信)を行う。また、画像処理装置100は、USB I/F114を介し、画像処理装置100と接続された汎用コンピュータと通信(送受信)を行う。また、画像処理装置100は、FAX I/F115を介し、公衆回線網と接続し、他の画像処理装置やファクシミリ装置と通信(送受信)を行う。画像処理装置100は、CPU101が実行するプログラム、ROM104への書き込み、読み出し動作を制御するROM I/F112を有する。また、画像処理装置100は、CPU101、ネットワークI/F102、操作部103、ROM I/F112、コンフィグコントローラ130、FPGA140を相互に接続するシステムバス120を有する。CPU101は、FPGA140、スキャナI/F108、プリンタI/F106のパラメータ設定を、システムバス120を介して行う。
CPU101がROM104等に記憶されているプログラムに基づき処理を実行することによって、本実施形態に係る画像処理装置100の機能及び後述するフローチャートの処理が実現される。
[部分再構成に関する構成]
次に、図2を用いて、本実施形態にかかる画像処理装置における部分再構成に関する構成について説明する。図2は、画像処理装置100の部分再構成に特に関わる構成を示した図である。
CPU101、ROM104、ROM I/F112、メモリコントローラ110、RAM111、コンフィグコントローラ130、FPGA140については図1を用いて前述した通りである。
FPGA140は内部に、部分再構成部(PR1)201、部分再構成部(PR2)202、部分再構成部(PR3)203、部分再構成部(PR4)204を有する。各部分再構成部は動的に画像処理回路等を書き換えられることができる。本明細書では一例として再構成可能部の数を4つで説明しているが、4つに限られるものではない。
RAM111は、後述するPR管理テーブル220のための領域を有する。PR管理テーブル220は、いくつの部分再構成部をFPGA140が持っているかと、FPGA140内の部分再構成部のそれぞれが現在使用されているかどうかと、を示す情報から構成される。
次に、図3を用いて本実施形態に係る画像処理装置におけるFPGA140の部分再構成部201〜204に係るコンフィグデータの格納方法について説明する。
図3は、ROM104に格納され、FPGA140の各部分再構成部201〜204に構成されるコンフィグデータの一例を示す図である。
ROM104には部分再構成に必要な複数個のコンフィグデータが格納される。PR1用のコンフィグデータ300は、部分再構成部(PR1)201に構成することが可能なコンフィグデータを表している。図3においては、部分再構成部(PR1)201に構成可能な機能がA、B、C、D、Eの5つである場合を例にしている。コンフィグデータ301はPR1に機能Aの回路を構成するためのコンフィグデータである。同様にコンフィグデータ302は、PR1に機能Bの回路構成を構成するためのコンフィグデータを表している。コンフィグデータ303は、PR1に機能Cの回路構成を構成するためのコンフィグデータを表している。コンフィグデータ304は、PR1に機能Dの回路構成を構成するためのコンフィグデータを表している。コンフィグデータ305は、PR1に機能Eの回路構成を構成するためのコンフィグデータを表している。
また、PR2用のコンフィグデータ310は部分再構成部(PR2)202に構成することが可能なコンフィグデータを表している。PR2用のコンフィグデータ310についても、機能A、B、C、D、Eの5つの機能のコンフィグデータが格納されている。例えば、CPU101等は、部分再構成部(PR2)202を、5つの機能を切り替えて構成することができる。
また、PR3用のコンフィグデータ320は部分再構成部(PR3)203に構成することが可能なコンフィグデータを表している。PR3用のコンフィグデータ320についても、機能A、B、C、D、Eの5つの機能のコンフィグデータが格納されている。例えば、CPU101等は、部分再構成部(PR3)203を、5つの機能を切り替えて構成することができる。
また、PR4用のコンフィグデータ330は部分再構成部(PR4)204に構成することが可能なコンフィグデータを表している。PR4用のコンフィグデータ330についても、機能A、B、C、D、Eの5つの機能のコンフィグデータが格納されている。例えば、CPU101等は、部分再構成部(PR4)204を、5つの機能を切り替えて構成することができる。
上述したように、画像処理装置100は、各部分再構成部ごとにコンフィグデータを用意する必要がある。例えば、機能Aの回路構成を部分再構成部(PR1)201と部分再構成部(PR2)202とに構成するためには、コンフィグデータ301、コンフィグデータ311というように同じ機能を実現する場合においても、構成場所によって異なるコンフィグデータを用意しておく必要がある。
また、本実施形態においては、コンフィグデータ300から330までをROM104に格納しているが、画像処理装置100のハードディスクのような不揮発性のストレージでも良いし、ネットワーク上のサーバに格納していても良い。つまり、CPU101がコンフィグデータを読み出すことさえできれば、コンフィグデータ300から330までの格納場所はどこでも良い。
[PR管理テーブル]
図4は、PR管理テーブル220の内容と、FPGA140の使用状況と、の一例を示す図である。
図4(a)は、PR管理テーブル220の内容を示す図である。
図4(b)(c)は、FPGA140内の部分再構成部201から204までの使用状況と、そのときのPR管理テーブル220の状態との一例を示す図である。
まず、図4(a)を用いて、PR管理テーブル220について説明する。
PR領域401は、FPGA140に部分再構成可能な領域がいくつあるかを示す項目である。本実施形態の例では、FPGA140に4つの部分再構成可能領域があることを示している。つまり、PR1が部分再構成部(PR1)201、PR2が部分再構成部(PR2)202、PR3が部分再構成部(PR3)203、PR4が部分再構成部(PR4)204を示す。
使用ステータス402は、各部分再構成部201から204までが使用中であるか否かを示すステータスである。各部分再構成部の使用状況により、CPU101において後述するフローチャートの処理でステータスの書き換えが行われる。
使用ステータス402は、CPU101が部分再構成を実行する場合に、各部分再構成部201から204までのうちどの領域が未使用中かを判断するために使用される。
部分再構成部の領域(又は後述するPR領域)は、部分再構成部領域の一例である。使用ステータスは、使用状態情報の一例である。
次に、図4(b)(c)を用いて、FPGA140内の部分再構成部201から204までの使用状況と、そのときのPR管理テーブル220の状態との一例を説明する。
図4(b)は、FPGA140内の部分再構成部202に機能B、部分再構成部204に機能Cのコンフィグデータがコンフィグレーションされ、部分再構成部202と204とをCPU101が使用し、処理を実行している状態である。FPGA140内の部分再構成部201と203とは、CPU101が使用していない状態であり、書き換え可能な領域であることを示している。但し、使用されていない状態でも、一度コンフィグレーションが実行されている場合には、部分再構成部にコンフィグレーション実行時の再構成回路情報(コンフィグデータ)は保持されたままとなる。本実施形態の例においては、部分再構成部201には、機能Aのコンフィグデータ301が構成され、部分再構成部204には、機能Dのコンフィグデータ334が構成されている。
図4(c)は、FPGA140が図4(b)に示す状態である場合のPR管理テーブル220を示す図である。PR領域毎に、使用中か未使用中かを示すステータスがCPU101により制御され格納されている。図4(c)の例では、PR2とPR4との領域が使用中であり、PR1とPR3との領域が未使用となっている。
以下、PR管理テーブル220を使用し、未使用中の領域の判別と、コンフィグデータの書き込みと、の情報処理について説明する。
[情報処理]
図5は、画像処理装置の情報処理の一例を示すフローチャートである。CPU101は、本フローチャートで示す処理を、ジョブ毎に並列して実行することもできる。また、以下のフローチャートの説明においては、部分再構成部201から204までをPR領域として説明する。
S501において、CPU101は、ジョブを受信したか否かを判定する。CPU101は、ジョブを受信するとS502に遷移し、ジョブを受信しないとS501の処理を繰り返す。
S502において、CPU101は、受信したジョブを実行するにあたり、FPGA140に構成する必要がある機能を特定する。例えば、ジョブごとに必要な機能が予め設定情報等としてROM104等に設定されており、CPU101は、受信したジョブと、前記設定情報とに基づいて、受信したジョブに応じた機能を特定する。例えば、CPU101は、受信したジョブ処理のために、機能Aを実現する回路をPR領域に構成する必要があるかを特定する。
S503において、CPU101は、RAM111内に保存されたPR管理テーブル220内の使用ステータス402を順次、読出す。
S504において、CPU101は、S503で読み出した結果を基に、未使用中のPR領域があるか否かを判断する。CPU101は、未使用中の部分再構成領域があればS505に遷移し、未使用中の部分再構成領域が無い場合はS503に戻る。
S505において、CPU101は、未使用中のPR領域をコンフィグレーション先として特定する。
S506において、CPU101は、S505で特定した未使用中のPR領域に対応するPR管理テーブル220の使用ステータス402を更新する。更新とは、「未使用中」から「使用中」に変更することである。本処理により他の並列実行中のジョブが誤って使用中の部分再構成領域に対しコンフィグレーションすることを防止することができる。
S507において、CPU101は、S502で特定した機能と、S505で特定したPR領域と、に対応するコンフィグデータを選択する。
S508において、CPU101は、S507で選択したコンフィグデータをROM104等から読み出し、コンフィグレーションを実行する。S508の処理は、コンフィグデータを書き込み先の部分再構成部領域に書き込む処理を制御する制御処理の一例である。
S509において、CPU101は、コンフィグレーションした回路機能を使用し、ジョブを実行する。S509の処理は、回路起動のためのレジスタ設定、終了割込み待ち動作、終了割り込み対応処理動作等も含む処理である。
CPU101は、コンフィグレーションした機能を使用したジョブ処理が終了した場合、S510に遷移し、S505で特定したPR領域に対応するPR管理テーブル220の使用ステータス402を「使用中」から「未使用中」に変更する。これにより他の並列実行中のジョブがPR領域を使用することが可能になる。また、これにより他の並列実行中のジョブがPR領域を使用することが可能になる。
ここで、図5に示すフローチャートに関する動作の詳細を図6(a)から(f)までを用いて説明する。本実施形態の例では、CPU101がジョブを受信し、機能Eが必要であると判断し、FPGA140に機能Eのコンフィグデータを再構成してからジョブ処理終了することを前提として説明する。なお、図6において太線の箇所が変化した箇所を示す。
図6(a)(b)は、S501でジョブを受信する前のFPGA140とPR管理テーブル220との状態を示す図である。
図6(c)(d)は、S502からS508までにおいて、FPGA140に機能Eをコンフィグレーションした後のFPGA140とPR管理テーブル220との状態を示す図である。
CPU101は、S502で、機能Eが必要であることを特定する。次にCPU101は、S503、S504で、PR1領域とPR3領域とが未使用であることを確認する。そして、CPU101は、S505でPR1領域(部分再構成部201)に機能Eのコンフィグデータを書き込むことを決定する。次にCPU101は、S506で、PR1領域(部分再構成部201)の使用状況を示す使用ステータス402を使用中に変更する。次に、CPU101は、S507で、機能EのPR1領域(部分再構成部201)用のコンフィグデータであるコンフィグデータ305を選択する。そして、CPU101は、S508でPR1領域(部分再構成部201)にコンフィグデータ305をコンフィグレーションする。
図6(e)(f)は、S509からS510までにおいて、機能Eを使用したジョブ処理を終了した後のFPGA140とPR管理テーブル220との状態を示す図である。
CPU101は、S509で機能Eが使用されるジョブを実行する。ジョブの実行が終了した場合、CPU101は、S510でPR1領域(部分再構成部201)の使用状況を示す使用ステータス402を未使用中に変更する。
以上説明したように、本実施形態の処理によれば、再構成可能回路を有する画像処理装置において、未使用領域の確認を行い、部分再構成(コンフィグレーション)を行うため、現在動作中の処理を止めることなく、部分再構成機能を使用することが可能となる。
<実施形態2>
実施形態1は、CPUを含む1つのシステムが1つのFPGA140を使用する場合の制御方法について説明している。
ここで、複数のシステムで1つのFPGA140を使用するケースを想定する。複数のシステムで1つのFPGA140を使用する場合、システム間同士で通信を行い、部分再構成部201から204までのどこが未使用領域であるかを確認する通信インターフェースプロトコルが必要となる。
そこで、実施形態2においては、PR管理テーブル220の使用ステータス402に相当する機能をコンフィグデータ内に持つ例を説明する。このような構成とすることで、複数のシステムが1つのFPGA140を使用する場合でも、複数のシステムが個別にFPGA140を使用することができる。
図7は、本実施形態において、CPUを含む2つのシステムが1つのFPGA140を制御する場合のシステム構成及びハードウェア構成等の一例を示す図である。
以下、図2との差分を主に説明する。第一システム(又は第一の画像処理装置)750は、ハードウェア構成101から130までを含む。第二システム(又は第二の画像処理装置)760は、ハードウェア構成701から730までを含む。ハードウェア構成701から730まではハードウェア構成101から130までと同様の構成とする。第一システム750と第二システム760とは、それぞれFPGA140に接続され、部分再構成部201から204までのコンフィグレーション及び制御が可能である。
CPU101がROM104等に記憶されているプログラムに基づき処理を実行することによって、本実施形態に係る第一システム(又は第一の画像処理装置)750の機能及び後述するフローチャートの第一システム750に係る処理が実現される。また、CPU701がROM704等に記憶されているプログラムに基づき処理を実行することによって、本実施形態に係る第二システム(又は第二の画像処理装置)760の機能及び後述するフローチャートの第二システム760に係る処理が実現される。
図8は、各部分再構成コンフィグデータ内に、使用ステータス870を管理するための領域を持っていることを示す図である。
本実施形態の例においては、PR1用機能Aのコンフィグデータ301内に、使用ステータス870を実装した例を示している。第一システム及び第二システムは、使用ステータス870を実装したコンフィグデータを生成しておく必要がある。
使用ステータス870は、第一システム750のCPU101と第二システム760のCPU701とからそれぞれアクセス可能である。使い方としては、実施形態1において、CPU101がRAM111上で管理していた使用ステータス402と同様の使い方がなされる。異なる点としては、第一システム750のCPU101と第二システム760のCPU701とからそれぞれアクセス可能な使用ステータス870であり、部分再構成部201から204までが使用中か未使用中かを制御する。なお、使用ステータス870の初期設定値は使用中を示すようにしておく方が良い。
図9は、図7に示す図において、第一システム750内のROM104に格納されているコンフィグデータと、第二システム760内のROM704に格納されているコンフィグデータと、の一例を示す図である。
第一システム750内で実行するジョブを実行するのに必要なコンフィグデータは、機能A、B、C、Dの4つである。4つの部分再構成部201から204までのそれぞれに対応するコンフィグデータ300〜330がROM104に格納され保持されている。
第二システム760内で実行するジョブを実行するのに必要なコンフィグデータは、機能O、P、Q、Rの4つである。4つの部分再構成部201から204までのそれぞれに対応するコンフィグデータ800〜830がROM704に格納され保持されている。
何れのコンフィグデータも、図8に示した使用ステータス870を持ったコンフィグデータとなっている。
図10は、画像処理装置の情報処理の一例を示すフローチャートである。図5に示したフローチャートとの差分を主に説明する。CPU101やCPU701は、本フローチャートで示す処理を、ジョブ毎に並列して実行することもできる。
図10に示すS501、S502、S504、S505、S507、S508、S509は図5に示す処理と同じ処理であるため説明を省略する。但し、第一システム(又は第一の画像処理装置)750が処理を実行している場合の、各ステップの処理は、CPU101である。一方、第二システム(又は第二の画像処理装置)760が処理を実行している場合の、各ステップの処理は、CPU701である。以下では、説明の簡略化のため、図10の説明では、第二システム760が処理を実行しているものとして説明を行う。
S1003において、CPU701は、FPGA140内のPR1から4までの領域にコンフィグレーションされた部分再構成回路の中にある使用ステータス870を順次、読出す。
S1010において、CPU701は、S505で特定したPR領域の使用ステータス402を「使用中」から「未使用中」に変更する。これにより他の並列実行中のジョブがPR領域を使用することが可能になる。また、これにより他の並列実行中のジョブがPR領域を使用することが可能になる。
なお、図5に示すフローチャートのS506に相当する使用ステータスを使用中に更新する処理が図10にない理由は、以下のとおりである。即ち、本実施形態の場合、S507において、コンフィグレーションが完了すると同時に、コンフィグレーションされた再構成回路部内の使用ステータス870は使用中となっているためである。
ここで、図10に示すフローチャートに関する動作の詳細を図11(a)から(d)までを用いて説明する。本実施形態の例では、以下の前提で説明する。まず第二システム760のCPU701がFPGA140に機能Pのコンフィグデータを再構成する。次に、第一システム750のCPU101がFPGA140に機能Aのコンフィグデータを再構成する。次に、第二システム760のCPU701がFPGA140の部分再構成部(PR4)204を使用していたジョブの実行が終了する。なお、図11において太線の箇所が変化した箇所を示し、縦線のハッチがかかったPR領域は、第二システムがコンフィグレーションを実行した回路であることを示す。
図11(a)は、あるタイミングでのFPGA140の使用ステータス870の状況を示す図である。
図11(b)は、第二システム760のCPU701が機能Pを使用するジョブを受信し、FPGA140に機能Pをコンフィグレーション実行した後のFPGA140の使用ステータス870の状況を示す図である。
第二システム760のCPU701は、S502で、機能Pが必要であることを特定する。次にCPU701は、S1003、S504で、PR1領域とPR3領域とが未使用であることを確認する。そして、CPU701は、S505でPR1領域に機能Pのコンフィグデータを書き込むことを決定する。次に、CPU701は、S507で、機能PのPR1領域(部分再構成部201)用のコンフィグデータであるコンフィグデータ802を選択する。そして、CPU701は、S508でPR1領域(部分再構成部201)にコンフィグレーションを実行する。
図11(c)は、図11(b)の状態で、第一システム750のCPU101が機能Aを使用するジョブを受信し、FPGA140に機能Aをコンフィグレーション実行した後のFPGA140の使用ステータス870の状況を示す図である。
第一システム750のCPU101は、S502で、機能Aが必要であることを特定する。次にCPU101は、S1003、S504で、PR3領域が未使用であることを確認する。CPU101は、S505で、PR3領域に機能Aのコンフィグデータを書き込むことを決定する。次に、CPU101は、S507で、機能AのPR3領域(部分再構成部203)用のコンフィグデータであるコンフィグデータ321を選択する。そして、CPU101は、S508でPR3領域(部分再構成部203)にコンフィグレーションを実行する。
図11(d)は、図11(c)の状態で、第二システム760のCPU701が機能Oを使用するジョブを終了した後のFPGA140の使用ステータス870の状況を示す図である。
第二システム760のCPU701は、S509で機能Oを使用したジョブ処理を終了する。すると、CPU701は、S1010でPR4領域の使用ステータス870を未使用中に変更する。
以上説明したように、本実施形態の処理によれば、複数のシステムが1つのFPGA140を使用する場合でも、複数のシステムが個別にFPGA140を使用することが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、上述した各実施形態によれば、処理中の機能を止めることなく、部分再構成機能を使用可能とすることができる。
100 画像処理装置、101 CPU、140 FPGA

Claims (10)

  1. ジョブに応じた回路機能を特定する特定手段と、
    部分再構成部領域の使用状態情報を読み出す読み出し手段と、
    前記読み出し手段により読み出された前記使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定手段と、
    前記特定手段により特定された前記回路機能と前記決定手段により決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択手段と、
    前記選択手段により選択された前記コンフィグデータを前記書き込み先の部分再構成部領域に書き込む処理を制御する制御手段と、
    を有する画像処理装置。
  2. ジョブを受信する受信手段を更に有し、
    前記特定手段は、前記受信手段により受信されたジョブに応じた回路機能を特定する請求項1記載の画像処理装置。
  3. 前記書き込み手段により部分再構成部領域にコンフィグデータが書き込まれた部分再構成部の回路機能を使用し、前記ジョブに係る処理の実行を制御する制御手段を更に有する請求項1又は2記載の画像処理装置。
  4. 前記決定手段により書き込み先と決定された部分再構成部領域の使用状態情報を使用中に更新する第1の更新手段を更に有する請求項1乃至3何れか1項記載の画像処理装置。
  5. 前記ジョブに係る処理が終了した場合、前記決定手段により書き込み先と決定された部分再構成部領域の使用状態情報を未使用中に更新する第2の更新手段を更に有する請求項3記載の画像処理装置。
  6. 前記読み出し手段は、部分再構成部領域の使用状態情報を保持する管理テーブルより前記使用状態情報を読み出す請求項1乃至5何れか1項記載の画像処理装置。
  7. 前記読み出し手段は、前記回路機能と前記部分再構成部領域とに対応するコンフィグデータより前記使用状態情報を読み出す請求項1乃至3何れか1項記載の画像処理装置。
  8. 部分再構成部にアクセス可能な第一の画像処理装置と第二の画像処理装置とを含むシステムであって、
    前記第一の画像処理装置及び第二の画像処理装置は各々、
    ジョブに応じた回路機能を特定する特定手段と、
    部分再構成部領域の使用状態情報を読み出す読み出し手段と、
    前記読み出し手段により読み出された前記使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定手段と、
    前記特定手段により特定された前記回路機能と前記決定手段により決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択手段と、
    前記選択手段により選択された前記コンフィグデータを前記書き込み先の部分再構成部領域に書き込む処理を制御する制御手段と、
    を有するシステム。
  9. 画像処理装置が実行する情報処理方法であって、
    ジョブに応じた回路機能を特定する特定ステップと、
    部分再構成部領域の使用状態情報を読み出す読み出しステップと、
    前記読み出しステップにより読み出された前記使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定ステップと、
    前記特定ステップにより特定された前記回路機能と前記決定ステップにより決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択ステップと、
    前記選択ステップにより選択された前記コンフィグデータを前記書き込み先の部分再構成部領域に書き込む処理を制御する制御ステップと、
    を含む情報処理方法。
  10. コンピュータに、
    ジョブに応じた回路機能を特定する特定ステップと、
    部分再構成部領域の使用状態情報を読み出す読み出しステップと、
    前記読み出しステップにより読み出された前記使用状態情報に基づいて未使用中の部分再構成部領域を書き込み先と決定する決定ステップと、
    前記特定ステップにより特定された前記回路機能と前記決定ステップにより決定された書き込み先の部分再構成部領域とに対応するコンフィグデータを選択する選択ステップと、
    前記選択ステップにより選択された前記コンフィグデータを前記書き込み先の部分再構成部領域に書き込む処理を制御する制御ステップと、
    を実行させるためのプログラム。
JP2014158700A 2014-08-04 2014-08-04 画像処理装置、システム、情報処理方法及びプログラム Pending JP2016035692A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014158700A JP2016035692A (ja) 2014-08-04 2014-08-04 画像処理装置、システム、情報処理方法及びプログラム
US14/813,731 US20160036998A1 (en) 2014-08-04 2015-07-30 Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014158700A JP2016035692A (ja) 2014-08-04 2014-08-04 画像処理装置、システム、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016035692A true JP2016035692A (ja) 2016-03-17
JP2016035692A5 JP2016035692A5 (ja) 2017-12-21

Family

ID=55181355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014158700A Pending JP2016035692A (ja) 2014-08-04 2014-08-04 画像処理装置、システム、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20160036998A1 (ja)
JP (1) JP2016035692A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782975B1 (en) 2019-08-29 2020-09-22 Fuji Xerox Co., Ltd. Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306241B (zh) 2014-07-11 2018-11-06 华为技术有限公司 一种业务部署方法及网络功能加速平台
JP2016116171A (ja) * 2014-12-17 2016-06-23 キヤノン株式会社 画像処理装置、制御方法およびプログラム
JP6681244B2 (ja) * 2016-03-30 2020-04-15 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US10782759B1 (en) * 2019-04-23 2020-09-22 Arbor Company, Lllp Systems and methods for integrating batteries with stacked integrated circuit die elements
JP2021094798A (ja) * 2019-12-18 2021-06-24 富士フイルムビジネスイノベーション株式会社 画像処理装置
WO2022005743A1 (en) 2020-06-29 2022-01-06 Arbor Company, Lllp Mobile iot edge device using 3d-die stacking re-configurable processor module with 5g processor-independent modem

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252814A (ja) * 1999-03-02 2000-09-14 Fuji Xerox Co Ltd 情報処理システム
JP2005259053A (ja) * 2004-03-15 2005-09-22 Nec Saitama Ltd コンフィグレーションデータ設定方法およびコンピュータシステム
JP2007034520A (ja) * 2005-07-25 2007-02-08 Fujitsu Ltd コンフィギュレーションを制御する情報処理装置および情報処理方法
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法
JP2009289265A (ja) * 2008-05-28 2009-12-10 Toshiba Corp 画像処理装置、画像処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3365581B2 (ja) * 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
US6655069B2 (en) * 2001-12-12 2003-12-02 Surefire, Llc Accessory mounts for shotguns and other firearms
US6907595B2 (en) * 2002-12-13 2005-06-14 Xilinx, Inc. Partial reconfiguration of a programmable logic device using an on-chip processor
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
JP5247542B2 (ja) * 2009-03-05 2013-07-24 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及び、プログラム
JP5438358B2 (ja) * 2009-04-13 2014-03-12 キヤノン株式会社 データ処理装置及びその制御方法
US8359448B1 (en) * 2009-07-17 2013-01-22 Xilinx, Inc. Specific memory controller implemented using reconfiguration
JP2011113212A (ja) * 2009-11-25 2011-06-09 Canon Inc 情報処理装置
US8397054B2 (en) * 2009-12-23 2013-03-12 L-3 Communications Integrated Systems L.P. Multi-phased computational reconfiguration
JP5504985B2 (ja) * 2010-03-11 2014-05-28 富士ゼロックス株式会社 データ処理装置
JP5786434B2 (ja) * 2011-04-28 2015-09-30 富士ゼロックス株式会社 画像データ処理装置及びプログラム
JP5451682B2 (ja) * 2011-05-20 2014-03-26 株式会社東海理化電機製作所 フラッシュメモリ装置
US8719750B1 (en) * 2012-11-12 2014-05-06 Xilinx, Inc. Placement and routing of a circuit design
US8997033B1 (en) * 2014-03-05 2015-03-31 Altera Corporation Techniques for generating a single configuration file for multiple partial reconfiguration regions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252814A (ja) * 1999-03-02 2000-09-14 Fuji Xerox Co Ltd 情報処理システム
JP2005259053A (ja) * 2004-03-15 2005-09-22 Nec Saitama Ltd コンフィグレーションデータ設定方法およびコンピュータシステム
JP2007034520A (ja) * 2005-07-25 2007-02-08 Fujitsu Ltd コンフィギュレーションを制御する情報処理装置および情報処理方法
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法
JP2009289265A (ja) * 2008-05-28 2009-12-10 Toshiba Corp 画像処理装置、画像処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
菅原 豊、外2名: ""動的再構成を用いたアプリケーションレイヤ処理エンジンの設計"", 電子情報通信学会技術研究報告, vol. 105, no. 451, JPN6018024010, 24 November 2005 (2005-11-24), JP, pages 7 - 12, ISSN: 0004050617 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782975B1 (en) 2019-08-29 2020-09-22 Fuji Xerox Co., Ltd. Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium

Also Published As

Publication number Publication date
US20160036998A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
JP2016035692A (ja) 画像処理装置、システム、情報処理方法及びプログラム
JP6598432B2 (ja) 画像処理装置、その制御方法およびプログラム
JP5746100B2 (ja) 画像形成装置
JP5943736B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US10122883B2 (en) Image processing apparatus including circuit configuration and method of controlling the same
JP2016103755A (ja) 情報処理装置、情報処理装置を備えた画像処理装置、その制御方法及びプログラム
JP6370063B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2010263328A (ja) 画像処理装置および画像処理方法
JP6351315B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2015149025A (ja) 画像処理装置およびその制御方法、並びにプログラム
JP6157282B2 (ja) 画像処理装置、情報処理方法及びプログラム
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
JP2017129951A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2016076867A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
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
JP6516489B2 (ja) 情報処理装置
JP2016057828A (ja) 画像処理装置およびその制御方法、並びにプログラム
JP2017118450A (ja) データ処理装置、その制御方法、及びプログラム
JP2015198405A (ja) 画像処理装置及びその制御方法、並びにプログラム
JP6864721B2 (ja) 情報処理装置、およびその制御方法
JP2016111502A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2016206729A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2015191335A (ja) 画像処理装置、その制御方法及びプログラム
JP2017068740A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170725

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611