JP2016111502A - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2016111502A
JP2016111502A JP2014246724A JP2014246724A JP2016111502A JP 2016111502 A JP2016111502 A JP 2016111502A JP 2014246724 A JP2014246724 A JP 2014246724A JP 2014246724 A JP2014246724 A JP 2014246724A JP 2016111502 A JP2016111502 A JP 2016111502A
Authority
JP
Japan
Prior art keywords
logical
configuration data
reconfiguration
job
unit
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
JP2014246724A
Other languages
English (en)
Inventor
香菜子 金田
Kanako Kaneda
香菜子 金田
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 JP2014246724A priority Critical patent/JP2016111502A/ja
Publication of JP2016111502A publication Critical patent/JP2016111502A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】 あらかじめ確保される論理ブロックと論理ブロック間の内部インターフェース信号の配線に対してジョブに対応して必要な数の論理コンフィグデータを効率よく再構成する。【解決手段】ジョブ処理を実行する情報処理装置において、ジョブが要求されることに応じて、第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多いかどうかを判断する。ここで、第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多く、使用されていないブロックが互いに近い位置に存在すると判断した場合、CPU101が要求されたジョブに対応する論理コンフィグデータの再構成をコンフィグコントローラ130に対して指示する構成を特徴とする。【選択図】 図5

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
情報処理装置に適用される回路として、内部の論理回路構成を変更可能なPLD(PROGRAMMABLE LOGIC DEVICE)やFPGA(FIELD PROGRAMMABLE GATE ARRAY)などの再構成可能回路が良く知られている。
一般的に、PLDやFPGAは起動時に不揮発性メモリへ格納された論理コンフィグデータ(以下、コンフィグデータ)を内部の揮発性メモリであるコンフィギュレーションメモリへ書き込み、内部論理ブロックの機能を切り替えることで再構成が実現される。
また、コンフィギュレーションメモリ内の情報は電源切断時にクリアされるため、電源投入時には再度、コンフィグデータをコンフィギュレーションメモリに書き込むことで再構成を行う必要がある。このように、一度だけハードウェアリソースの構成を行う方法を静的再構成という。
一方で、回路が動作中に論理回路構成を変更することが可能なものも開発されてきており、動作中に論理回路を変更する方法を動的再構成という。
また、FPGAには、チップ全体ではなく特定の領域だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の他の回路を停止しない状態で部分再構成を行うことを動的部分再構成という。動的部分再構成では、動的再構成時にコンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリ領域の一部のみを書き換えることで、FPGA内部の論理ブロックの部分的な再構成を実現することが可能となる。
このような動的部分再構成技術を用いることで、一つの領域に複数の回路を切り替えて実装することが可能となるため、ハードウェアリソースの時分割多重化を行い論理ブロックで実現する機能を変更することができる。その結果、少ないハードウェアリソースで用途に合わせた様々な機能をハードウェアによる高い演算性能を保ったままで柔軟に実現することが可能となる。
動的部分再構成の際、所望の機能を部分再構成回路上で実行するためには、部分再構成可能な領域に適合する回路構成のコンフィグデータを準備する必要がある。
例えば、1つの機能について、複数の部分再構成可能な領域に適合するよう回路を構成するための別々のコンフィグデータを記憶装置に格納する。そして、再構成可能な空き領域がある場合、その領域に適合する回路構成のコンフィグデータを選択し、再構成を実行する技術が開示されている(例えば、特許文献1参照)。
また、すべての部分再構成領域で所望の機能を実現するためには、部分再構成領域に構成される回路の動作に必要なインターフェース仕様をすべて満たすような、部分再構成領域間の物理的なインターフェース信号の配線をあらかじめ準備しておく必要がある。
この部分再構成領域のインターフェース信号の配線(以下、インターフェース信号と単に呼ぶ)を介した処理回路のデータのやり取りにより、所望の機能を実現するための回路を動作させることができる。
さらに、情報処理装置、例えば近年のMFP(MULTI FUNCTION PRINTER)等の画像処理装置は、ユーザからの要求に応じた複数の処理(コピージョブ,プリントジョブ,SENDジョブ等)を選択可能である。MFPの各処理に応じた画像処理はハードウェアまたはソフトウェアにより実現される。
この画像処理装置の画像処理ハードウェアとしてFPGA等の再構成可能回路を適用した場合、上述した様な機能毎に回路構成を動的かつ部分的に切り替えることが可能となる。その結果、少ないハードウェアリソースで様々な画像処理機能が実現できる。
特開2000−252814号公報
上述の再構成可能回路を有する画像処理装置において、部分再構成回路に構成する画像処理機能が高機能化すると、予め準備された部分再構成可能な領域に対し、その領域に構成したい高機能な画像処理回路が必要とする領域の方が大きくなる場合がある。そのため、大きい領域を必要とする高機能な画像処理回路を再構成可能回路に構成するために、部分再構成の領域を大きいものにしなければならない。
しかし、大きい部分再構成領域を必要とする機能に合わせて、再構成可能回路の部分再構成の領域を大きい領域で構成してしまうと、再構成可能回路上の部分再構成のための領域数が減ってしまい、その結果、部分再構成の自由度が低下するという課題がある。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、要求されるジョブに応じて、あらかじめ確保される論理ブロックと論理ブロック間の配線に対し、必要な数の論理コンフィグデータを効率よく再構成できる仕組みを提供することである。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
ジョブ処理を実行する情報処理装置であって、所定数に分割されて論理ブロックが確保され、動的に書き換えが可能な第1の記憶手段と、いずれかの論理ブロックに書き込むべき単一の論理コンフィグデータまたは複数の論理ブロックに書き込むべき前記論理ブロックのサイズに応じて分割された複数の論理コンフィグデータをジョブの属性に対応づけて記憶する第2の記憶手段と、前記いずれかの論理ブロックに前記第2の記憶手段から読み出される単一のまたは複数の論理コンフィグデータを書き込んで機能処理を再構成する再構成手段と、ジョブが要求されることに応じて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多いかどうかを判断する第1の判断手段と、前記1の記憶手段で使用されていない論理ブロックが複数ある場合、それらが互いに近い位置に配置されているかどうかを判断する第2の判断手段と、前記第1の判断手段と前記第2の判断手段に基づいて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多く、互いに近い位置にあると判断した場合、要求されたジョブに対応する論理コンフィグデータの再構成を前記再構成手段に対して指示する制御手段と、を備えることを特徴とする。
本発明によれば、あらかじめ確保される論理ブロックと論理ブロック間の内部インターフェース信号の配線に対してジョブに対応して必要な数の論理コンフィグデータを効率よく再構成できる。
情報処理装置の構成を説明するブロック図である。 画像処理装置の要部の詳細を説明するブロック図である。 FPGAに搭載される画像処理機能とコンフィグデータの関係を説明する図である。 コンフィグデータ格納部に格納されるコンフィグデータを示す図である。 情報処理装置の制御方法を説明するフローチャートである。 情報処理装置の制御方法を説明するフローチャートである。 FPGAに構成された部分再構成回路の再構成例を示す図である。 FPGAに構成された部分再構成回路の再構成例を示す図である。 情報処理装置の制御方法を説明するフローチャートである。 部分再構成回路の再構成例を示す図である。 部分再構成回路の再構成例を示す図である。 部分再構成回路の再構成例を示す図である。 部分再構成回路の再構成例を示す図である。 FPGAの部分再構成部を説明するブロック図である。 FPGAの再構成例を示す図である。 FPGAの再構成例を示す図である。 情報処理装置の制御方法を説明するフローチャートである。 部分再構成回路の再構成例を示す図である。 部分再構成回路の再構成例を示す図である。
次に本発明を実施するための最良の形態について図面を参照して説明する。
〔第1実施形態〕
<画像処理装置の構成>
図1は、本実施形態を示す情報処理装置の構成を説明するブロック図である。なお、本実施形態では、情報処理装置の一例として以下の画像処理装置100について説明するが、本発明は、画像処理装置に限定されず、後述するような複合画像形成装置も含まれる。また、本実施形態の画像処理装置100は、画像処理装置100を使用するユーザが各種の操作を行うための操作部103と、操作部103からの指示に従い画像情報を読み取るスキャナ部109と、画像データを用紙に印刷するプリンタ部107とを有する。
図1において、スキャナ部109は、スキャナ部109を制御する図示しないCPUや原稿読取を行うための図示しない照明ランプや走査ミラーなどを有する。プリンタ部107は、プリンタ部107の制御を行う図示しないCPUや画像形成や定着を行うための図示しない感光体ドラムや定着器を有する。
また、画像処理装置100は、画像処理装置100の動作を統括的に制御するCPU101および、CPU101が実行するプログラムやFPGA140をコンフィギュレーションする為のコンフィグデータが格納されているROM104を有する。
ここで、FPGA140は、動的書き換え可能かつ部分書き換え可能なものである。すなわち、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。
本実施形態では再構成可能デバイスとしてFPGAを例に説明しているが、FPGA以外の再構成可能デバイスが接続される構成であってもよい。
また、画像処理装置100は、CPU101が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもあるRAM111と、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を介して行う。コンフィグコントローラ130は後述のFPGA内部の部分再構成部への再構成制御を行う。
[部分再構成に関する構成]
図2は、図1に示した画像処理装置の要部の詳細を説明するブロック図である。なお、図1と同一のものには同一の符号を付してその説明を省略する。
図2において、FPGA140は、部分再構成部(PR1)201、部分再構成部(PR2)202、部分再構成部(PR3)203、部分再構成部(PR4)204の計4つの部分再構成部を備える。各部分再構成部は動的に画像処理回路等を書き換えることが可能である。
本実施形態においては、画像処理機能を持つ回路を所定数の部分再構成部に構成する例について説明をしているが、もちろん画像処理機能以外の回路を部分再構成部に構成可能であることは言うまでもない。
また、FPGA140の部分再構成部201〜204は、相互の部分再構成部を接続する内部インターフェース信号の配線(以下、単に内部インターフェース信号と呼ぶ)207〜210を有する。内部インターフェース信号207は部分再構成部201と部分再構成部202を接続する。内部インターフェース信号208は部分再構成部202と部分再構成部204を接続する。内部インターフェース信号209は部分再構成部203と部分再構成部204を接続する。内部インターフェース信号210は部分再構成部201、部分再構成部203を接続する。
不揮発性メモリであるROM104はコンフィグデータ格納部205を持つ。揮発性メモリであるコンフィグデータ格納部205には、後述の部分再構成部201〜204のための論理コンフィグデータ(コンフィグデータ)がジョブの属性に対応づけて格納される。なお、以下の説明では、所定数に分割された部分再構成部201〜204が論理ブロックとしてFPGA140に確保される場合を説明する。また、当該部分再構成部201〜204に書き込まれるコンフィグデータは、後述する図4に示すように書き込まれる。
具体的には、1つのコンフィグデータが単体(単一)として機能処理を実行するように該部分再構成部201〜204のいずれかに書き込まれる場合の他に、以下のように複数のコンフィグデータが書き込まれる場合とがある。後者の場合には、一体となるコンフィグデータがあらかじめ部分再構成部201〜204の記憶領域のサイズに対応づけて分割されている。
そして、当該部分再構成部201〜204には、後述する制御に従い、空いている複数の部分再構成部に、1つずつ分けて書き込まれる。そして、要求されるジョブに従い、内部インターフェース信号207〜210を介した処理データのやり取りをしながら一体となって所定の機能処理を行う。
RAM111は再構成情報格納部206を持つ。再構成情報格納部206には、後述の部分再構成部201〜204の回路構成情報や動作状態などの各部分再構成部の回路構成に関する情報が格納される。
コンフィグコントローラ130は、各部分再構成部201、202、203、204の部分再構成を制御する。コンフィグコントローラ130は、CPU101の指示を受け、部分再構成部の書き換えを行う。その時、再構成情報格納部206に格納された部分再構成部201〜204の回路構成情報から書き換え可能な部分再構成部に対して選択されたコンフィグデータを使って各部分再構成部201〜204への書き換えを行う。
また、コンフィグコントローラ130は、書き換え完了後、再構成情報格納部206に格納された、書き換えが完了した部分再構成部の回路構成情報を更新するとともに、CPU101に書き換え完了を通知する。
図3は、図1に示したFPGA140に搭載される画像処理機能とコンフィグデータの関係を説明する図である。
図3のように、画像処理装置に搭載される機能A、B、C、Z、Yに対し、それらの機能を実現する回路の構成に必要なコンフィグデータが準備される。例えば、機能Aはスキャナ部109の読み取り画像データに対するスキャン画像処理、機能Bはプリンタ部107の印刷画像データに対するプリント画像処理、機能CはFAX I/F115を介したFAX送信画像処理データに対するFAX画像処理である。
また、機能Z、Yはスキャン画像処理機能Aやプリント画像処理機能Bの高機能版として新たに画像処理装置に搭載される高機能画像処理である。これらの機能が部分再構成部2個を用いた回路構成をとる場合、2個のコンフィグデータが準備される。1つの機能に対する複数コンフィグデータはコンフィグデータZ1、Z2のようにコンフィグデータの機能を示す機能名ラベルとコンフィグ実行の順番を示す番号ラベルで管理される。
例えば、コンフィグデータZ1、Z2のように、スキャナI/F108の読み取り制御を行うスキャンIF処理回路とスキャンIF処理回路の処理結果に対する色変換処理を行うスキャン色処理回路のように機能Zを前段処理と後段処理に時分割してもよい。機能Zのような処理回路の分割をする場合、内部インターフェース信号207〜210は画像データ転送用のインターフェース信号の配線となる。または、コンフィグデータY1、Y2のように、高解像プリント画像データの生成のためのマトリクステーブル格納回路とそのテーブルを使ったハーフトーン処理を行うハーフトーン処理回路のように機能Yを同時連携動作する処理に分割してもよい。
機能Yのような処理回路の分割をする場合、内部インターフェース信号207〜210は画像データ転送用のインターフェース信号の配線と、マトリクステーブルデータ転送用のインターフェース信号の配線を持つ構成となる。
なお、これらは一例であり、所望の機能を実現するための部分再構成部に構成するコンフィグデータの数や処理回路の分割の方法、および部分再構成部間の内部インターフェース信号の配線方法は、上記の方法に限定されない。
図4は、図2に示したコンフィグデータ格納部205に格納されるFPGA140の部分再構成部201〜204に構成されるコンフィグデータの格納方法を説明する図である。
図4のように、コンフィグデータ格納部205には部分再構成に必要な複数個のコンフィグデータが格納される。PR1用のコンフィグデータ400は、部分再構成部201(PR1)に構成することが可能なコンフィグデータのセットを表している。
例えば、図3で示した画像処理装置に搭載される機能に対し、401は部分再構成部201(PR1)に機能Aの回路を構成するためのPR1用コンフィグAを示す。同じく、402は機能Bの回路を構成するPR1用コンフィグB、403は機能Cの回路を構成するPR1用コンフィグCである。
また、404と405は機能Zを2個の部分再構成部を使って構成するためのPR1用コンフィグZ1とPR1用コンフィグZ2である。同じく、406と407は機能Yを2個の部分再構成部を使って構成するためのPR2用コンフィグY1とPR1用コンフィグY2である。
また、PR2用のコンフィグデータ410は、部分再構成部202(PR2)に構成することが可能なコンフィグデータのセットを表している。PR2用コンフィグデータ410も、機能A、B、C、Z、Yのためのコンフィグデータ411〜417を格納しており、部分再構成部202に7つのコンフィグデータを選択し構成することが可能である。
また、PR3用のコンフィグデータ420は、部分再構成部203(PR3)に構成することが可能なコンフィグデータのセットを表している。PR3用コンフィグデータ420も、機能A、B、C、Z、Yのためのコンフィグデータ421〜427を格納しており、部分再構成部203に7つのコンフィグデータを選択し構成することが可能である。
また、PR4用のコンフィグデータ430は、部分再構成部204(PR4)に構成することが可能なコンフィグデータのセットを表している。PR4用コンフィグデータ430も、機能A、B、C、Z、Yのためのコンフィグデータ431〜437を格納しており、部分再構成部204には7つのコンフィグデータを構成することが可能である。
上述したように、同一機能でも部分再構成部ごとに異なるコンフィグデータを用意する必要がある。例えば、機能Aの回路構成を部分再構成部201と部分再構成部202に構成するためには、PR1用コンフィグA401、PR2用コンフィグA411というように部分再構成部ごとに複数のコンフィグデータをコンフィグデータ格納部205に格納しておく。
また、本実施形態では、FPGA140内の部分再構成部の数を4、機能数を5としているが、説明をわかりやすくするためだけであり、それらの数に限定されるわけではない。
[再構成制御フロー]
図5は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、図1に示した画像処理装置におけるFPGA140の再構成制御例に対応する。
なお、図5の(a)は、CPU101が実行する再構成制御手順に対応し、図5の(b)は、コンフィグコントローラ130が実行する再構成制御手順に対応する。なお、S501〜S517は、CPU101が記憶された制御プログラムを実行することで実現され、S518〜S521は、コンフィグコントローラ130が記憶された制御プログラムを実行することで実現される。
まず、図5の(a)を用いてCPU101による再構成制御フローについて説明する。S501では、CPU101は、操作部103において指定されたジョブを受信したかどうかを判定する。ここで、ジョブを受信したとCPU101が判断した場合(S501のYes)、S502へ移行する。
S502では、CPU101は、受信したジョブに対応するFPGA140に構成する画像処理機能を特定する。例えば、高機能スキャンジョブを受信した場合、高機能スキャン画像処理機能をFPGA140に構成する。
S503では、CPU101は、FPGA140に構成する画像処理機能に対応するコンフィグデータ数m(mは1以上の整数)を図3の表に従って取得する。例えば、高機能スキャン画像処理の機能Zに対応するコンフィグデータ数mは2個となる。
S504では、CPU101は、S503で取得したコンフィグデータ数mが2以上かどうかを判定する。ここで、取得したコンフィグデータ数mが2以上でないとCPU101が判断した場合(S504のNo)、すなわち1つのコンフィグデータのみの画像処理機能である場合、S505へ移行する。一方、コンフィグデータ数mが2以上であるとCPU101が判断した場合(S504のYes)、S507へ移行する。
S505では、CPU101は、再構成情報格納部206に格納された部分再構成部201〜204の動作情報を取得し、書き換え可能な部分再構成部があるかを確認する。例えば、書き換え可能な部分再構成部の動作情報は「書き換え可能」、動作中の部分再構成部の動作情報は「動作中」と表される。
S506では、CPU101は、S505で取得した動作情報から、書き換え可能な部分再構成部が1つ以上存在するかどうかを判定する。ここで、書き換え可能な部分再構成部が1つ以上存在しないとCPU101が判断した場合(S506のNo)、S505に移行し、再構成開始を待機する。一方、書き換え可能な部分再構成部が1つ以上存在するとCPU101が判断した場合(S506のYes)、S511へ移行する。
S507では、S505と同様に、CPU101は、再構成情報格納部206に格納された部分再構成部201〜204の動作情報を取得し、書き換え可能な部分再構成部があるかを確認する。
S508では、CPU101は、S507で取得した書き換え可能な部分再構成部の数がS503で取得したコンフィグデータ数のm個以上存在するかを判定する。ここで、書き換え可能な部分再構成部の数がコンフィグデータ数m以上存在しないとCPU101が判断した場合(S508のNo)、S507に移行し、再構成開始を待機する。一方、コンフィグデータ数m以上存在するとCPU101が判断した場合(S508のYes)、S509へ移行する。
S509では、CPU101は、S507で取得した書き換え可能な部分再構成部の隣接する再構成部の情報を取得し、隣接する再構成部の動作情報も「書き換え可能」であるかを確認する。
S510では、CPU101は、隣接する書き換え可能な部分再構成部の数がコンフィグデータ数のm個以上配置されて存在するかを判定する。ここで、隣接する書き換え可能な部分再構成部の数がコンフィグデータ数m以上存在しないとCPU101が判断した場合(S510のNo)、S507に移行し、再構成開始を待機する。一方、コンフィグデータ数m以上存在するとCPU101が判断した場合(S510のYes)、S511へ移行する。
S511では、CPU101は、コンフィグコントローラ130による部分再構成開始を指示する。以降のステップでは、FPGA140に構成する機能に対応するコンフィグデータ番号をi(iは1からmまでの整数)で表す。なお、部分再構成は、コンフィグデータ番号1から開始する。
S512では、CPU101は、書き換え可能な部分再構成部に対するコンフィグデータ番号iの再構成をコンフィグコントローラ130へ指示する。
S513で、CPU101は、S512でコンフィグコントローラ130へ指示したコンフィグデータ番号iの再構成が完了したかを判断する。ここで、再構成が完了したとCPU101が判断した場合(S513のYes)、S514へ移行する。
S514では、CPU101は、再構成情報格納部206内のコンフィグデータ番号iの再構成が完了した部分再構成部に対応する構成情報を更新する。例えば、コンフィグデータ番号iの再構成が完了した部分再構成部の構成情報は「コンフィグデータi」、動作情報は「構成完了」と表される。
S515では、CPU101は、FPGA140に構成する機能に対応するm個すべてのコンフィグデータの再構成が完了したか(i=mとなったか)を判定する。ここで、すべての再構成が完了していないとCPU101が判断した場合(S515のNo)、S516へ移行する。一方、すべての再構成が完了したとCPU101が判断した場合(S515のYes)、S517へ移行する。
S516では、CPU101は、次のコンフィグデータi+1を再構成するため、S512へ戻る。
sS517では、CPU101は、FPGA140に構成する機能に対応するすべてのコンフィグデータの再構成の完了をコンフィグコントローラ130へ通知し、図6で後述するCPU101の画像処理制御フローへ移行する。
次に、図5(b)を用いてコンフィグコントローラ130による再構成制御フローについて説明する。
S518では、コンフィグコントローラ130がCPU101より部分再構成が指示されたかを判定する。CPU101からの指示内容は、コンフィグデータ番号iと部分再構成を実行する部分再構成部が含まれる。再構成が指示されたとコンフィグコントローラ130が判断した場合(S518のYes)、S519へ移行する。
S519では、コンフィグコントローラ130がCPU101の指示で示される部分再構成部に対応するコンフィグデータ番号iのコンフィグデータをコンフィグデータ格納部205から選択し、再構成を実行する。
例えば、部分再構成部201に機能ZのコンフィグデータZ1を再構成する場合、コンフィグデータ格納部205からコンフィグデータ401(PR1用コンフィグZ1)を選択すればよい。
S520では、コンフィグコントローラ130がコンフィグデータ番号iの再構成の完了をCPU101に通知する。
S521では、コンフィグコントローラ130がCPU101より再構成完了の通知を受信したかどうかを判定する。ここで、再構成完了の通知を受信していないとコンフィグコントローラ130が判断した場合(S521のNo)、S518へ戻り、次の再構成の指示を待機する。一方、再構成完了の通知を受信したとコンフィグコントローラ130が判断した場合(S521のYes)、フローを終了する。
以上の再構成制御フローにより、FPGA140の部分再構成部201〜204の内部インターフェース信号207〜210の配線方法と、部分再構成部201〜204の空き状況に基づいて、複数コンフィグデータを動的に再構成することができる。
[画像処理制御フロー]
図6は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、画像処理装置におけるFPGA140に構成された部分再構成回路の画像処理制御例である。本例は、画像処理装置におけるFPGA140に構成された部分再構成回路の画像処理制御例である。なお、各ステップは、CPU101が記憶された制御プログラムを実行することで実現される。また、S601〜605はFPGA140の部分再構成部の構成回路の画像処理を開始するためのフローである。
S601では、CPU101は、図5の再構成制御フローでFPGA140内に構成された部分再構成部の構成回路の画像処理を開始する。図5と同様に、処理を開始するコンフィグデータ番号をj(jは1からmまでの整数)とし、処理開始はコンフィグデータ番号1から開始する。
S602では、CPU101は、再構成情報格納部206に格納されたコンフィグデータ番号jに対応する部分再構成部情報を取得し、その部分再構成部の回路を起動する。例えば、コンフィグデータ番号1に対応する部分再構成部が部分再構成部201(PR1)ならば、部分再構成部201に構成された処理回路を開始する。
S603では、CPU101は、S602で処理を開始した部分再構成部に対する、再構成情報格納部206に格納された動作情報を更新する。例えば、部分再構成部201の動作情報を「構成完了」から「動作中」へと変更する。
S604では、CPU101は、図5の再構成制御フローでFPGA140内に構成されたすべての部分再構成部の処理開始が完了したか(j=mとなったか)を判定する。ここで、すべての処理開始が完了していないとCPU101が判断した場合(S604のNo)、S605へ移行する。
一方、すべての処理開始が完了したとCPU101が判断した場合(S604のYes)、画像処理開始フローを終了する。
S605では、CPU101は、次のコンフィグデータ番号j+1の処理開始を実行するため、S602へ戻る。続いて、S606〜607では、FPGA140の部分再構成部の構成回路の画像処理を終了する処理を実行する。
S606では、CPU101は、部分再構成部と接続された割り込み信号(不図示)や部分再構成部のステータス確認などにより、コンフィグデータ番号jに対応する部分再構成部の回路の処理が終了したかどうかを判定する。ここで、部分再構成部の回路の処理が終了したとCPU101が判断した場合(S606のYes)、S607へ移行する。
S607では、再構成情報格納部206に格納された、S606で処理終了を確認したコンフィグデータ番号jに対応する部分再構成部に対応する動作情報を更新する。例えば、部分再構成部201の処理が終了した場合、部分再構成部201の動作情報を「動作中」から「書き換え可」へと変更する。
以上の画像処理制御フローにより、複数の部分再構成部に構成された画像処理回路を連携して開始することで、1つの画像処理機能を実現することが可能となる。また、動作中のすべての部分再構成部に対し、処理が終了した部分再構成部の動作情報を更新することで、次に実行する機能の再構成制御フローを実行することができる。
[部分再構成回路の再構成例]
図7、図8は、本発明の実施形態に係る画像処理装置におけるFPGA140に構成された部分再構成回路の再構成例を示す図である。なお、図7、図8の斜線部は、FPGA140の部分再構成部や再構成情報格納部206で変化した箇所を示している。
図7は、機能Zの実行におけるFPGA140の部分再構成部201〜204の構成の例を示す図である。また、図8は、同じく機能Zの実行における再構成情報格納部206に格納された部分再構成部201〜204の回路構成情報の例を示す図である。
まず、図7の(a)、図8の(a)のように、部分再構成部202にはコンフィグA、部分再構成部203にはコンフィグB、部分再構成部204にはコンフィグCの処理が構成され、それぞれ動作中とする。また、部分再構成部201は書き換え可能な状態となっている。また、部分再構成部201〜204の内部インターフェース信号207〜210が未使用であることを点線で示している。
このとき、コンフィグデータ数2個の機能Zの実行を行う場合、書き換え可能な部分再構成部の数は1個のため、CPU101は再構成制御を実行しない。CPU101は、部分再構成部201に隣接し共有する内部インターフェース信号207または210を有する部分再構成部202または203のいずれかが書き換え可能になるまで待機する。
次に、図7の(b)、図8の(b)のように、部分再構成部204が書き換え可能に変化すると、書き換え可能な部分再構成部の数が2個となる。しかし、部分再構成部201と部分再構成部204は互いに隣接する部分再構成部ではないため、CPU101は再構成制御を待機する。
次に、図7の(c)、図8の(c)のように、部分再構成部202が書き換え可能に変化すると、部分再構成部201と部分再構成部202が互いに隣接する書き換え可能な部分再構成部となる。そして、CPU101は機能ZのコンフィグデータZ1、Z2の再構成をコンフィグコントローラ130へ指示する。コンフィグコントローラ130はコンフィグデータ番号順に隣接する書き換え可能な部分再構成部201、202に対し、再構成を行う。
図7の(d)、図8の(d)は、コンフィグデータZ1、Z2の再構成が完了した時点での部分再構成部201〜204の構成を示す図である。CPU101はコンフィグデータZ1、Z2の再構成が完了したことが確認できると、コンフィグデータZ1、Z2の順番にそれぞれ構成済となった部分再構成部201、202の処理回路を起動する。
図7の(e)、図8の(e)は、CPU101により処理回路の起動が実行された後の部分再構成部201〜204の構成を示す図である。連携して動作する部分再構成部201と部分再構成部202が有する内部インターフェース信号207が使用されていることを実線で示している。
以上のように、複数コンフィグデータを必要とする画像処理機能を、FPGA140の部分再構成部201〜204間の内部インターフェース信号207〜210の配線方法と、部分再構成部の空き状況に基づいて、動的に再構成することができる。
また、処理回路の連携動作のための部分再構成部間の内部インターフェース信号の配線方法は、本実施形態のように隣接する部分再構成部間に限定されない。本実施形態によれば、FPGA140の回路規模や動作周波数を満たす範囲で構成された部分再構成部間の内部インターフェース信号の配線に対して、効果的に動的な部分再構成が実現できる。
〔第2実施形態〕
第1実施形態では、CPU101が実行する再構成制御フロー及び画像処理制御フローにより複数コンフィグデータを要する機能を実行する際、隣接する書き換え可能な部分再構成部の数がコンフィグデータ数になるまで再構成制御を待機していた。これに対し、実施形態2では、連続するジョブを実行する際、後続のジョブに対して、FPGA140の再構成制御の待機時間を削減するための再構成制御フローについて説明する。
[再構成制御フロー]
図9は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、図1に示した画像処理装置におけるFPGA140の再構成制御例である。なお、S501〜S517は、CPU101が記憶された制御プログラムを実行することで実現され、S518〜S521は、コンフィグコントローラ130が記憶された制御プログラムを実行することで実現される。
図9の(a)はCPU101が実行する再構成制御に対応し、図9の(b)はコンフィグコントローラ130が実行する再構成制御例である。なお、図5に示した第1実施形態の再構成制御との違いは、図5の(a)のS510とS511の間に、図9の(a)のS901〜S903のステップが追加される点である。
S901では、CPU101は、S510までに取得した動作情報から、使用中の部分再構成部が存在するかどうかを判定する。部分再構成部の動作情報が「使用中」とは、「動作中」または「構成済み」の状態であり、書き換えが不可能であること示す。ここで、使用中の部分再構成部が存在しないとCPU101が判断した場合、つまり(S901のNo)、S902に移行する。一方、使用中の部分再構成部が存在するとCPU101が判断した場合(S901のYes)、S903へ移行する。
S902では、CPU101は、使用中の部分再構成部が存在しないときは、どの部分再構成部も書き換え可能となるため、m個のコンフィグデータの書き換えを実行する部分再構成部を任意に選択する。例えば、部分再構成部201(PR1)から順番に隣接するm個の部分再構成部を選択する。
S903では、CPU101は、書き換え可能な部分再構成部のうち、使用中の部分再構成部に隣接する部分再構成部を、m個のコンフィグデータの書き換えを実行する部分再構成部として選択する。ここでは、m個のコンフィグデータの書き換えを実行した結果、残りの書き換え可能な部分再構成部が複数個ある場合、それらが互いに隣接するような部分再構成部を選択することが好ましい。
S511では、CPU101は、S902またはS903にて選択した部分再構成部に対し、コンフィグコントローラ130による部分再構成開始を指示する。
以上の再構成制御フローにより、部分再構成を実行した結果、互いに隣接する書き換え可能な部分再構成部が多く存在するような動的部分再構成が実行できる。これにより、第1実施形態と比べ、後続のジョブに対する再構成の開始までの待機時間を短縮することが可能となる。
[部分再構成回路の再構成例]
図10〜図13は、本実施形態を示す画像処理装置におけるFPGA140に構成された部分再構成回路の再構成例を示す図である。なお、図7、図8と同様に、図10〜図13の斜線部は、FPGA140の部分再構成部や再構成情報格納部206で変化した箇所を示している。本実施形態では、コンフィグデータ数が1個の機能Aとコンフィグデータ数が2個の機能Zを連続して実行する場合を例として説明する。
まず、図10と図11は、本実施形態の再構成制御フローを適用しない場合の再構成例である。
図10の(a)、図11の(a)のように、部分再構成部204にはコンフィグCの処理が構成され、動作中とする。また、部分再構成部201〜203は書き換え可能である。
ここで、コンフィグデータ1個の機能Aを実行する場合、図10の(b)、図11の(b)のように、CPU101は書き換え可能な部分再構成部201に対する部分再構成を、コンフィグコントローラ130へ指示するとする。これにより、部分再構成部201は、構成済の状態となる。
図10の(c)、図11の(c)は、CPU101により機能Aの処理回路の起動が実行された後の部分再構成部201〜204の構成を示す図である。このとき、部分再構成部201にはコンフィグAが動作中、204にはコンフィグCの処理が動作中、部分再構成部202と203は書き換え可能な状態となっている。
ここで、コンフィグデータ2個の機能Zを実行する場合、書き換え可能な部分再構成部は部分再構成部202と203の2個存在するが、互いに隣接しない、すなわち連携動作のためのインターフェース信号を持たないため、CPU101は再構成制御を待機する。
次に、図10の(d)、図11の(d)のように、部分再構成部204が書き換え可能に変化すると、隣接する書き換え可能な部分再構成部の数が2個となる。そして、CPU101は機能ZのコンフィグデータZ1、Z2の再構成をコンフィグコントローラ130へ指示する。
図10の(e)、図11の(e)は、コンフィグデータZ1、Z2の再構成が完了した時点での部分再構成部201〜204の構成を示す図である。
次に、図12と図13は、本実施形態の再構成制御フローを適用する場合の再構成例である。
図12の(a)、図13の(a)は、図10の(a)、図11の(a)と同様に、部分再構成部204でコンフィグCの処理が動作中である。
ここで、コンフィグデータ1個の機能Aを実行する場合、図9のS901〜S903のフローに従い、CPU101は、書き換え可能な部分再構成部201〜203のうち、動作中の部分再構成部204に隣接する部分再構成部203を選択する。そして、CPU101は、部分再構成部203に対する部分再構成をコンフィグコントローラ130へ指示し、部分再構成部203は構成済みの状態となる。
図12の(c)、図13の(c)は、CPU101により機能Aの処理回路の起動が実行された後の部分再構成部201〜204の構成を示す図である。このとき、部分再構成部203にはコンフィグAが動作中、204にはコンフィグCの処理が動作中、部分再構成部201と202は書き換え可能な状態となっている。
ここで、コンフィグデータ2個の機能Zを実行する場合、書き換え可能な部分再構成部201と202は互いに隣接するため、CPU101は機能ZのコンフィグデータZ1、Z2の再構成をコンフィグコントローラ130へ指示する。
図12の(d)、図13の(d)は、コンフィグデータZ1、Z2の再構成が完了した時点での部分再構成部201〜204の構成を示す図である。
次に、図14〜図16を用いて、本実施形態でFPGA140内の部分再構成部の数を6とした場合の部分再構成回路の再構成例について説明する。
図14は、図1に示したFPGA140の部分再構成部を説明するブロック図である。
図14において、FPGA140は、部分再構成部(PR1〜PR6)1401〜1406の計6つの部分再構成部を備える。また、FPGA140の部分再構成部1401〜1406は、相互の部分再構成部を接続する内部インターフェース信号1407〜1413を有する。
図15、図16は、図14に示した6個の部分再構成部を有するFPGA140の再構成例を示す図である。本例は、本実施形態の再構成制御フローを適用する場合の再構成例である。
まず、図15の(a)、図16の(a)のように、部分再構成部1406でコンフィグCの処理が動作中であるとする。
ここで、コンフィグデータ2個の機能Zを実行する場合、図9のS901〜S903のフローに従い、CPU101は、書き換え可能な部分再構成部1401〜1405のうち、動作中の部分再構成部1406に隣接する部分再構成部を選択する。このとき、CPU101は、隣接する2個の書き換え可能な部分再構成部のうち、コンフィグデータZ1、Z2の書き換えを実行した結果、残りの書き換え可能な部分再構成部が互いに隣接するような部分再構成部を選択する。
図15の(b)、図16の(b)は、コンフィグデータZ1、Z2の再構成が完了した時点での部分再構成部1401〜1406の構成を示す図である。
図15の(b)、図16の(b)のように、部分再構成部1402にコンフィグデータZ1を、部分再構成部1403にコンフィグデータZ2を構成すると、互いに隣接する部分再構成部1401、1404、1405が残りの書き換え可能な状態のままとなる。
以上のように、FPGA140の部分再構成部の数が増えても、本実施形態の再構成制御フローを適用することで、書き換え可能な部分再構成部が多く存在するような再構成制御が可能となる。
〔第3実施形態〕
本実施形態では、複数のコンフィグデータを要する機能を実行する際、書き換え可能な部分再構成部が隣接しない場合に適用するFPGA140の部分再構成制御について説明する。
図17は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、図1に示したCPU101が実行する再構成制御に対応する。なお、図5に示した第1実施形態の再構成制御との違いは、図5の(a)のS510の判定に対し、図17のS1701〜1707のフローが追加される点である。
まず、S510にて隣接する書き換え可能な部分再構成部の数がコンフィグデータ数m以上存在するとCPU101が判断した場合、S1701へ移行し、図5(a)と同様に、S511〜S517の再構成制御フローを実行する。一方、S510にて隣接する書き換え可能な部分再構成部の数がコンフィグデータ数m以上存在しないとCPU101が判断した場合、S1702へ移行する。すなわち、S1702は、書き換え可能な部分再構成部がコンフィグデータ数のm個以上存在するものの、その部分再構成部が隣接していないことで再構成ができない場合に実行するフローである。
S1702では、CPU101は、動作中の機能を停止し、別の書き換え可能な部分再構成部にその機能の処理回路を移動が可能かどうかを判定する。ここで、S1702の判定方法の一例として、動作中の機能と再構成を実行する機能との優先度の比較による判定や、動作中の機能と再構成を実行する機能のそれぞれのコンフィグデータ数の比較による判定方法がある。また、動作中の機能の処理終了までの予測時間が所定値以上の場合には、動作中の機能を停止するという判定方法もある。なお、S1702の判定方法は、上記以外の方法を使用してもよい。
上記の判定により、動作中の機能を停止し、別の部分再構成部に移動できないとCPU101が判断した場合(S1702のNo)、S507に戻り、CPU101は再構成実行を待機する。
一方、動作中の機能を停止し、別の部分再構成部に移動できるとCPU101が判断した場合(S1702のYes)、S1703に移行する。S1703では、CPU101は、移動する機能が構成されている部分再構成部の処理回路を停止する。
S1704では、CPU101は、S1703にて処理を停止した部分再構成部の動作情報を「書き換え可能」に更新する。S1705では、CPU101は、S1704で書き換え可能となった部分再構成部とは異なる部分再構成部に対する、停止した機能の再構成をコンフィグコントローラ130へ指示する。
S1706では、CPU101は、S1705にてコンフィグコントローラ130へ指示した再構成が完了したかを判断する。ここで、再構成が完了したとCPU101が判断した場合(SS1706のYes)、S1707へ移行する。
S1707では、CPU101は、異なる部分再構成部への再構成が完了した移動する機能の処理を開始する。そして、S507へ移行し、待機中の機能に対する再構成制御に戻る。
以上の再構成制御フローにより、第1実施形態と比べ、先行するジョブの機能を含む、一連の機能の再構成制御の待機時間を短縮することが可能となる。
[部分再構成回路の再構成例]
図18、図19は、本実施形態を示す画像処理装置におけるFPGA140に構成された部分再構成回路の再構成例を示す図である。なお、図7、図8と同様に、図18、図19の斜線部は、FPGA140の部分再構成部や再構成情報格納部206で変化した箇所を示している。本実施形態では、コンフィグデータ数が2個の機能Zを実行する場合を例として説明する。
まず、図18の(a)、図19の(a)のように、部分再構成部201にはコンフィグAの処理が、部分再構成部204にはコンフィグCの処理が構成され、動作中とする。また、部分再構成部202、203は書き換え可能である。ここで、コンフィグデータ2個の機能Zを実行する場合、書き換え可能な部分再構成部は、部分再構成部202と203の2個存在するが、部分再構成部202と203を接続する内部インターフェース信号を持たないため、CPU101は再構成制御を待機する。
次に、図18の(b)、図19の(b)のように、S1702の判定方法に基づき、CPU101は機能を移動可能と判定した部分再構成部に対し、処理回路を停止し、動作情報を書き換え可能へ変更する。ここでは、CPU101は機能Cが動作中の部分再構成部204の処理回路を停止し、動作情報を「書き換え可能」に更新している。
次に、図18の(c)、図19の(c)のように、S1705で示すようにCPU101が部分再構成部202へ機能CのコンフィグデータCの再構成をコンフィグコントローラ130へと指示する。そして、CPU101は部分再構成部202の動作情報を「構成済み」へ更新する。
図18の(d)、図19の(d)は、コンフィグデータCの再構成が完了し、部分再構成部202の処理を開始した時の構成を示す図である。このとき、CPU101は部分再構成部202の動作情報を「動作中」へ更新する。この時点で、再構成を待機中の機能Zの再構成に必要となる隣接する書き換え可能な部分再構成部201と202が存在することとなる。
そして、図18の(e)、図19の(e)のように、CPU101は、部分再構成部201と202に対し、コンフィグデータZ1、Z2の再構成をコンフィグコントローラ130へ指示する。
以上のように、複数コンフィグデータの再構成実行において、書き換え可能な部分再構成部間で内部インターフェース信号を持たないことにより発生する再構成待機時間を、動作中の機能の部分再構成部を移動することにより解消することが可能となる。
上記各実施形態によれば、あらかじめ確保される論理ブロックに対してジョブに対応して必要な数の論理コンフィグデータを効率よく再構成できる。これにより、ジョブの機能に適応して必要な論理コンフィグデータの数が増えても論理ブロックに対する再構成の自由度を低下させることなく、所望の機能を実現することができる。
上記実施形態によれば、一つの機能の処理回路を複数の論理コンフィグデータに分割する場合、システムバスとのインターフェース信号だけでなく、分割の処理回路が連携動作するための内部インターフェース信号の配線が論理ブロック間に必要となる。そこで、あらかじめ再構成可能回路上で位置が近い論理ブロック間に内部インターフェース信号の配線を限定することで、再構成回路の配線の複雑化による回路規模増加や周波数低下を抑えた論理ブロックの動的部分再構成が可能となる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。
また、本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
100 画像処理装置
101 CPU
104 ROM
111 RAM
120 システムバス
121 画像バス
130 コンフィグコントローラ
140 FPGA

Claims (11)

  1. ジョブ処理を実行する情報処理装置であって、
    所定数に分割されて論理ブロックが確保され、動的に書き換えが可能な第1の記憶手段と、
    いずれかの論理ブロックに書き込むべき単一の論理コンフィグデータまたは複数の論理ブロックに書き込むべき前記論理ブロックのサイズに応じて分割された複数の論理コンフィグデータをジョブの属性に対応づけて記憶する第2の記憶手段と、
    前記いずれかの論理ブロックに前記第2の記憶手段から読み出される単一のまたは複数の論理コンフィグデータを書き込んで機能処理を再構成する再構成手段と、
    ジョブが要求されることに応じて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多いかどうかを判断する第1の判断手段と、
    前記第1の記憶手段で使用されていない論理ブロックが複数ある場合、それらが互いに近い位置に配置されているかどうかを判断する第2の判断手段と、
    前記第1の判断手段と前記第2の判断手段に基づいて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多く、互いに近い位置にあると判断した場合、要求されたジョブに対応する論理コンフィグデータの再構成を前記再構成手段に対して指示する制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記第2の判断手段は、前記第1の記憶手段で使用されていない論理ブロック間に内部インターフェース信号の配線があるかどうかに基づいて判断することを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記第1の記憶手段で使用されている論理ブロックがある場合、前記第1の記憶手段で使用されてない論理ブロックのうち、前記第1の記憶手段で使用されている論理ブロックに近い位置にある論理ブロックを使って要求されたジョブに対応する論理コンフィグデータの再構成を前記再構成手段に対して指示することを特徴とする請求項1記載の情報処理装置。
  4. 前記第1の判断手段と前記第2の判断手段に基づいて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多いが、前記第1の記憶手段で使用されていない論理ブロックの位置が近い位置にないと判断した場合、前記第1の記憶手段で使用されている論理ブロックの処理を別の使用されていない論理ブロックへ移動可能かを判断する第3の判断手段を備え、
    前記制御手段は、前記第3の判断手段で、前記第1の記憶手段で使用されている論理ブロックの処理を別の使用されていない論理ブロックへ移動可能と判断した場合、前記第1の記憶手段で使用されている論理ブロックの処理を別の使用されていない論理ブロックへ移動し、要求されたジョブに対応する論理コンフィグデータの再構成を前記再構成手段に対して指示することを特徴とする請求項1記載の情報処理装置。
  5. 前記論理ブロックに記憶された論理コンフィグデータに基づいて、要求されるジョブを実行する第1のジョブ処理手段を備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記第1の記憶手段は、揮発性の記憶媒体であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  7. 前記第2の記憶手段は、不揮発性の記憶媒体であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  8. 前記ジョブは、スキャンジョブ、プリントジョブ、ファクシミリジョブを含むことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記情報処理装置は、画像処理装置、画像形成装置、複合画像形成装置を含むことを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 所定数に分割されて論理ブロックが確保され、動的に構成が可能な第1の記憶手段と、いずれかの論理ブロックに書き込むべき単一の論理コンフィグデータまたは複数の論理ブロックに書き込むべき前記論理ブロックのサイズに応じて分割された複数の論理コンフィグデータをジョブの属性に対応づけて記憶する第2の記憶手段とを備えてジョブ処理を実行する情報処理装置の制御方法であって、
    前記いずれかの論理ブロックに前記第2の記憶手段から読み出される論理コンフィグデータを書き込んで機能処理を再構成する再構成工程と、
    ジョブが要求されることに応じて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多いかどうかを判断する第1の判断工程と、
    前記第1の記憶手段で使用されていない論理ブロックが複数ある場合、それらが互いに近い位置に配置されているかどうかを判断する第2の判断工程と、
    前記第1の判断手段と前記第2の判断手段に基づいて、前記第1の記憶手段で使用されていない論理ブロックの数が、前記論理ブロックに再構成される前記ジョブに対応づけられた論理コンフィグデータの数よりも多く、前記第1の記憶手段で使用されていない論理ブロックの位置が近い位置にあると判断した場合、要求されたジョブに対応する論理コンフィグデータの再構成を前記再構成工程に対して指示する制御工程と、
    を備えることを特徴とする情報処理装置の制御方法。
  11. 請求項10に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
JP2014246724A 2014-12-05 2014-12-05 情報処理装置、情報処理装置の制御方法、及びプログラム Pending JP2016111502A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014246724A JP2016111502A (ja) 2014-12-05 2014-12-05 情報処理装置、情報処理装置の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014246724A JP2016111502A (ja) 2014-12-05 2014-12-05 情報処理装置、情報処理装置の制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016111502A true JP2016111502A (ja) 2016-06-20

Family

ID=56125018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014246724A Pending JP2016111502A (ja) 2014-12-05 2014-12-05 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016111502A (ja)

Similar Documents

Publication Publication Date Title
JP6308821B2 (ja) 画像処理装置
JP2016035692A (ja) 画像処理装置、システム、情報処理方法及びプログラム
JP6598432B2 (ja) 画像処理装置、その制御方法およびプログラム
JP6489757B2 (ja) 画像処理装置、その制御方法及びプログラム
JP6351315B2 (ja) 画像処理装置、その制御方法及びプログラム
JP6370063B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP5609308B2 (ja) 画像処理システム、画像処理装置、情報処理装置、及び画像処理方法
JP2015149025A (ja) 画像処理装置およびその制御方法、並びにプログラム
US10037591B2 (en) Information processing apparatus and method of controlling the same
US9760285B2 (en) Image processing system and image processing apparatus for configuring logical circuit on circuit according to configuration data
JP2016111502A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2015162760A (ja) 画像処理装置、その制御方法及びプログラム
JP2014165803A (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
US20080285066A1 (en) Image processor and image processing method
JP2016076867A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2015198405A (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2016036092A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5904148B2 (ja) 再構成可能回路、画像形成装置及びプログラム
JP2015191335A (ja) 画像処理装置、その制御方法及びプログラム
JP2016136359A (ja) 画像処理装置、その制御方法及びプログラム
JP6864721B2 (ja) 情報処理装置、およびその制御方法
JP2023137383A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2016218591A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017108250A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム