(57)【要約】【課題】所定の条件に応じて、プログラマブルデバイス外の適切な記憶場所に回路情報を配置できる情報処理装置及びプログラムを提供する。【解決手段】プログラマブルデバイスである副制御部１２ａは、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に格納される回路情報に従って、論理回路を設定したり変更したりしながら動作する。主制御部１４は、回路情報を記憶する記憶場所を、回路情報に対応する指標に基づいて決定する。記憶場所として、例えば、アクセラレータ内ローカルメモリ１２ｂや、主記憶部１６や、補助記憶部１８や、通信部２６を介して接続されたサーバ２８が備える記憶部が挙げられる。また、主制御部１４は、決定された記憶場所に、回路情報を書き込む。また、主制御部１４は、回路情報を、記憶場所から読み出し、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込む。【選択図】図１
2009020795.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルデバイスの回路情報を記憶する記憶場所を、前記回路情報に対応する指標に基づいて決定する決定手段と、
前記決定手段により決定された前記記憶場所に、前記回路情報を書き込む手段と、
前記回路情報を、前記記憶場所から読み出し、プログラマブルデバイス内の記憶部に書き込む手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記プログラマブルデバイス内の記憶部に各前記回路情報を書き込んだ回数を記録する手段をさらに含み、
前記決定手段が、前記回数に基づいて前記回路情報を記憶する記憶場所を決定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
各前記回路情報の優先度を設定する手段をさらに含み、
前記決定手段は、前記優先度に基づいて前記回路情報を記憶する記憶場所を決定する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
プログラマブルデバイスの回路情報を記憶する記憶場所を、前記回路情報に対応する指標に基づいて決定する決定手段、
前記決定手段により決定された前記記憶場所に、前記回路情報を書き込む手段、
前記回路情報を、プログラマブルデバイス内の記憶部に書き込む手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）やリコンフィグラブル型プロセッサのようなプログラマブルデバイスは、プロセッサ内部の記憶部（コンフィグレーションメモリ）に記憶された回路情報に従ってプロセッサ内部の回路を設定したり変更したりできる。
【０００３】
プログラマブルデバイス内の記憶部は容量が限られているので、回路情報のすべてをプログラマブルデバイス内の記憶部に記憶することはできない。
【０００４】
そのため、例えば、特許文献１に開示されているように、プログラマブルデバイス内の記憶部に記憶しきれない回路情報をプログラマブルデバイス外の記憶部に記憶して、その回路情報を使用する際に、プログラマブルデバイス内の記憶部に読み込む必要がある。
【特許文献１】特開２００４−４６３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、所定の条件に応じて、プログラマブルデバイス外の適切な記憶場所に回路情報を配置できる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、情報処理装置であって、プログラマブルデバイスの回路情報を記憶する記憶場所を、前記回路情報に対応する指標に基づいて決定する決定手段と、前記決定手段により決定された前記記憶場所に、前記回路情報を書き込む手段と、前記回路情報を、前記記憶場所から読み出し、プログラマブルデバイス内の記憶部に書き込む手段とを含むこととしたものである。
【０００７】
請求項２に記載の発明は、請求項１に記載の情報処理装置であって、前記プログラマブルデバイス内の記憶部に各前記回路情報を書き込んだ回数を記録する手段をさらに含み、前記決定手段が、前記回数に基づいて前記回路情報を記憶する記憶場所を決定することとしたものである。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載の情報処理装置であって、各前記回路情報の優先度を設定する手段をさらに含み、前記決定手段は、前記優先度に基づいて前記回路情報を記憶する記憶場所を決定することとしたものである。
【０００９】
請求項４に記載の発明は、プログラムであって、プログラマブルデバイスの回路情報を記憶する記憶場所を、前記回路情報に対応する指標に基づいて決定する決定手段、前記決定手段により決定された前記記憶場所に、前記回路情報を書き込む手段、前記回路情報を、プログラマブルデバイス内の記憶部に書き込む手段としてコンピュータを機能させることとしたものである。
【００１０】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
【発明の効果】
【００１１】
請求項１，４に記載の発明によれば、所定の条件に応じて、プログラマブルデバイス外の適切な記憶場所に回路情報を配置できる。
【００１２】
請求項２に記載の発明によれば、回路情報がプログラマブルデバイス内の記憶部に記憶された回数に応じた記憶場所に、その回路情報を記憶することができる。
【００１３】
請求項３に記載の発明によれば、利用者が各回路情報に設定する優先度に応じた記憶場所に、その回路情報を記憶することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００１５】
図１は本発明の実施形態に係る情報処理システム１の構成を示す図である。情報処理システム１は、情報処理装置１０及びサーバ２８を含んで構成される。
【００１６】
情報処理装置１０は、アクセラレータ１２、主制御部１４、主記憶部１６、補助記憶部１８、ユーザインタフェース（ＵＩ）部２０、スキャナ部２２、プリンタ部２４、通信部２６を含んで構成される。
【００１７】
アクセラレータ１２は、主制御部１４が実行する処理の一部（例えば、画像処理）を代わりに実行するものであり、副制御部１２ａとアクセラレータ内ローカルメモリ１２ｂを含んで構成される。副制御部１２ａは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）やリコンフィグラブル型プロセッサのようなプログラマブルデバイスである。副制御部１２ａは、内部に少なくとも一つの記憶部（コンフィグレーションメモリ）を含んでおり、記憶部（コンフィグレーションメモリ）に格納される回路情報（コンフィグレーション）の内容に従って、副制御部１２ａ内の論理回路を設定したり変更したりしながら動作する。アクセラレータ内ローカルメモリ１２ｂは、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などの記憶素子を含んで構成される。アクセラレータ内ローカルメモリ１２ｂには、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に格納される回路情報などが記憶される。
【００１８】
主制御部１４は、Central Processing Unit（ＣＰＵ）等のプログラム制御デバイスであり、主記憶部１６や補助記憶部１８に格納されたプログラムに従って動作する。
【００１９】
主記憶部１６は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などの記憶素子を含んで構成される。
【００２０】
補助記憶部１８は、例えば、ハードディスク装置など、記憶している情報を電源切断時にも保持できる不揮発性の記憶手段を含んで構成される。
【００２１】
主記憶部１６や補助記憶部１８は、主制御部１４によって実行されるプログラムを格納する。また、主制御部１４のワークメモリとしても動作する。また、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に格納される回路情報なども格納する。
【００２２】
また、主記憶部１６や補助記憶部１８は、図２に示す回路情報管理表３０や回路情報機能分類表３２などの情報も格納する。回路情報管理表３０や回路情報機能分類表３２の詳細は後述する。
【００２３】
ＵＩ部２０は、液晶タッチパネルや、ディスプレイ、テンキーなどのキーパッドなどであり、利用者が行った操作の内容を主制御部１４に出力する。また、このＵＩ部２０は、主制御部１４から入力される指示に従って情報を表示出力する。
【００２４】
スキャナ部２２は、例えばフラットベッドスキャナなどであり、読み取り面に置かれた紙原稿を光学的に読み取って、その画像を生成し、主制御部１４に出力したりする。プリンタ部２４は、例えばプリンタなどであり、主制御部１４から入力される指示に従って、用紙上に画像を形成したりする。
【００２５】
通信部２６は、例えばネットワークインタフェースなどであり、主制御部１４から入力される指示に従って、ネットワークを介し、サーバ２８などに情報を送信する。例えば、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に格納される回路情報をサーバ２８に送信する。サーバ２８は、サーバ２８が備える記憶部に受信した回路情報を記憶する。
【００２６】
ここで、本情報処理装置１０が実行する画像処理の一例を示す。
【００２７】
まず、スキャナ部２２を介して入力された画像情報を主制御部１４が取得して、主記憶部１６に書き込む。
【００２８】
そして、主制御部１４は、主記憶部１６に書き込まれた画像情報を取得して、アクセラレータ内ローカルメモリ１２ｂに書き込む。
【００２９】
そして、副制御部１２ａは、アクセラレータ内ローカルメモリ１２ｂに書き込まれた画像情報を取得して、所定の画像処理を行い、主記憶部１６に画像情報を書き込む。
【００３０】
そして、主制御部１４は、画像処理が施された画像情報をプリンタ部２４へ出力するとともに、その画像情報に基づく印刷を指示する。
【００３１】
プリンタ部２４は、入力された画像情報に基づいて、印刷を行う。
【００３２】
このようにして、副制御部１２ａは、主制御部１４の処理の一部を代わりに実行する。
【００３３】
次に、図２（ａ）に示す回路情報管理表３０、及び、図２（ｂ）に示す回路情報機能分類表３２について説明する。
【００３４】
回路情報管理表３０は、少なくとも１つの管理情報３４を含む。管理情報３４は、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に格納される回路情報に対応する回路番号、その回路情報の大きさ（回路情報サイズ）、主制御部１４がこの回路情報を副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込んだ回数を示す使用頻度、主制御部１４がこの回路情報を記憶する記憶場所に対応する記憶場所番号、利用者がＵＩ部２０を介して入力した値に基づいて主制御部１４が設定する優先度の情報などの指標を含む。ここで、記憶場所とは、例えば、アクセラレータ内ローカルメモリ１２ｂや、主記憶部１６や、補助記憶部１８や、サーバ２８内の記憶部といった、回路情報を記憶する装置の種類やその装置が配置された位置や記憶媒体の種類などを示すものである。
【００３５】
記憶場所番号は回路情報を記憶する記憶場所に対応する番号である。本実施形態では、アクセラレータ内ローカルメモリ１２ｂが「１」に、主記憶部１６が「２」に、補助記憶部１８が「３」に、サーバ２８内の記憶部が「４」に対応付けられている。
【００３６】
優先度は、副制御部１２ａに優先的に処理を実行させることを示す値（例えば、フラグ）である。情報処理装置１０の利用者は、あらかじめＵＩ部２０を介して、各管理情報３４についての優先度を示す値を入力しておく。主制御部１４は、ＵＩ部２０を介して入力された値を取得して、その値を各管理情報３４の優先度として設定する。このようにして、主制御部１４は、各回路情報の優先度を設定する。本実施形態では、優先度が高い管理情報３４の優先度が「１」に設定され、他の管理情報３４の優先度が「０」に設定される。なお、優先度の設定方法はこの方法に限定されない。また、優先度の設定値もこの値に限定されない。
【００３７】
回路情報機能分類表３２は、管理情報３４に対応する回路機能情報３６を含む。回路機能情報３６は、管理情報３４に対応する回路情報の回路番号、その回路情報の名前である回路情報名、その回路情報の機能の分類を示す機能分類番号を含む回路機能情報３６を含む。また、回路機能情報３６は、各回路情報に対応する処理の処理時間を示す情報を含んでもよい。このように、回路情報は管理情報３４だけでなく、回路機能情報３６にも対応付けられている。
【００３８】
情報処理装置１０の利用者は、あらかじめＵＩ部２０を介して、各回路機能情報３６の機能分類番号を示す値を入力しておく。主制御部１４は、利用者が入力した値を取得して、この値を回路機能情報３６の機能分類番号として設定する。本実施形態では、基本機能が「１」に、応用機能が「２」に、オプション機能が「３」に対応付けられている。なお、機能分類番号の設定方法はこの方法に限定されない。また、機能分類番号の設定値もこの値に限定されない。
【００３９】
次に、図３に示す、主制御部１４が実行する処理の流れを示すフロー図を参照しながら、主制御部１４が実行する処理を説明する。
【００４０】
まず、主制御部１４は、図２に示す、回路情報管理表３０と回路情報機能分類表３２が示す内容に従って、回路情報を所定の記憶場所に書き込む。すなわち、初期設定を行う（Ｓ１０１）。Ｓ１０１の処理の流れの詳細は後述する。
【００４１】
そして、主制御部１４は内部のクロック回路などを用いて時間の計測を開始する（Ｓ１０２）。
【００４２】
そして、主制御部１４は、ＵＩ部２０などを介して利用者から電源断要求があったか否かを確認する（Ｓ１０３）。
【００４３】
Ｓ１０３の処理において、電源断要求がなかった場合は（Ｓ１０３：Ｎ）、主制御部１４は、時間の計測を開始してから所定の時間が経過した否かを確認する（Ｓ１０４）。
【００４４】
Ｓ１０４の処理において、所定の時間を経過していた場合は（Ｓ１０４：Ｙ）、主制御部１４は、回路情報管理表３０の内容を必要に応じて変更し、回路情報管理表３０で管理されている管理情報３４の内容に従って、それぞれの管理情報３４に対応する回路情報を各記憶場所に書き込む（Ｓ１０５）。Ｓ１０５の処理の流れの詳細は後述する。そして、主制御部１４は、計測時間をリセットし、（例えば、零に戻し）再び時間の計測を開始する（Ｓ１０６）。
【００４５】
Ｓ１０４の処理において、所定の時間を経過していない場合に（Ｓ１０４：Ｎ）、主制御部１４は、ＵＩ部２０やスキャナ部２２を介して利用者からの所定の処理要求を取得したか否かを確認する（Ｓ１０７）。
【００４６】
Ｓ１０６の処理の終了後にも、主制御部１４は、ＵＩ部２０やスキャナ部２２を介して利用者からの所定の処理要求を取得したか否かを確認する（Ｓ１０７）。
【００４７】
Ｓ１０７の処理において所定の処理要求を確認できた場合は（Ｓ１０７：Ｙ）、主制御部１４は、要求された処理に対応する回路情報を副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込む（Ｓ１０８）。そして、主制御部１４は、回路情報管理表３０に含まれる、その回路情報を示す管理情報３４の使用頻度の値を１増やす（Ｓ１０９）。このようにして、主制御部１４は、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に回路情報を書き込んだ回数（使用頻度）を記録する。そして、主制御部１４は再びＳ１０７の処理を行う。
【００４８】
Ｓ１０７の処理において処理要求を確認できなかった場合は（Ｓ１０７：Ｎ）、主制御部１４は再びＳ１０３の処理を行う。
【００４９】
以上の処理を、主制御部１４は利用者からの電源断要求があるまで繰り返し、利用者からの電源断要求があった場合に（Ｓ１０３：Ｙ）、回路情報管理表３０を主制御部１４は補助記憶部１８に書き込み（Ｓ１１０）、処理を終了する。
【００５０】
これらの処理は、コンピュータである情報処理装置１０にインストールされたプログラムを、情報処理装置１０に含まれるＣＰＵ等の制御部で実行することにより実現されている。なお、この文字認識支援プログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して情報処理装置１０に供給される。
【００５１】
次に、図３に示す各処理のうち、Ｓ１０１の詳細な処理の流れを、図４に示すフロー図を参照しながら説明する。
【００５２】
まず、主制御部１４は、回路情報管理表３０で管理されている管理情報３４のうちから１つを選択し、その情報を読み込む。このとき、Ｓ２０１の処理によって、まだ読み込まれていない管理情報３４を読み込む（Ｓ２０１）。つまり、既にＳ２０１の処理によって読み込まれた管理情報３４は読み込まない。ここで、例えば、主制御部１４は、回路番号１の管理情報３４を読み込む。
【００５３】
ここで、主制御部１４は、読み込む対象となる管理情報３４があったか否かを確認する（Ｓ２０２）。
【００５４】
例えば、主制御部１４が回路番号１の管理情報３４を読み込んだ場合は、主制御部１４が読み込む対象となる管理情報３４があったということになる（Ｓ２０２：Ｙ）。そこで、主制御部１４は、Ｓ２０１の処理において読み込んだ回路番号１の管理情報３４に対応する機能分類番号を回路情報機能分類表３２が含む回路機能情報３６から読み込む（Ｓ２０３）。例えば、主制御部１４は「１」を読み込む。
【００５５】
そして、主制御部１４は、読み込んだ機能分類番号の値に従って、その管理情報３４の記憶場所番号を設定する（Ｓ２０４）。例えば、主制御部１４は、回路番号１の管理情報３４の記憶場所番号を「１」に設定する。Ｓ２０４の処理の流れの詳細は後述する。
【００５６】
そして、主制御部１４はＳ２０１の処理を再び行う。上記の処理を、主制御部１４は回路情報管理表３０で管理されている管理情報３４すべてについて行う。
【００５７】
Ｓ２０２の処理において、主制御部１４が読み込む対象となる管理情報３４がなかったことを確認した場合に（Ｓ２０２：Ｎ）、主制御部１４は、回路情報管理表３０の各管理情報３４の記憶場所番号に従って、その管理情報３４に対応する回路情報をそれぞれ記憶場所に書き込む（Ｓ２０５）。
【００５８】
このようにして、主制御部１４は、図２に示す回路情報管理表３０と回路情報機能分類表３２が示す内容に従って、回路情報を所定の記憶場所に書き込む。
【００５９】
次に、図４に示すＳ１０１の各処理のうち、Ｓ２０４の処理の詳細な処理の流れを図５に示すフロー図を参照しながら説明する。
【００６０】
まず、主制御部１４は、管理情報３４の優先度が「１」であるか否かを確認する（Ｓ３０１）。
【００６１】
優先度が「１」に設定されていない場合は（Ｓ３０１：Ｎ）、その管理情報３４に対応する回路機能情報３６の機能分類番号が「１」であるか否かを確認する（Ｓ３０２）。すなわち、機能分類が「基本」であるか否かを確認する。
【００６２】
ここで、機能分類番号が「１」である場合は（Ｓ３０２：Ｙ）、この管理情報３４の記憶場所番号を「１」に設定する（Ｓ３０３）。
【００６３】
Ｓ３０１の処理において、優先度が「１」に設定されている場合も（Ｓ３０１：Ｙ）、主制御部１４はこの管理情報３４の記憶場所番号を「１」に設定する（Ｓ３０３）。
【００６４】
Ｓ３０２の処理において、機能分類番号が「１」でない場合は（Ｓ３０２：Ｎ）、この機能分類番号が「２」であるか否かを確認する（Ｓ３０４）。すなわち、機能分類が「応用」であるか否かを確認する。
【００６５】
機能分類番号が「２」である場合は（Ｓ３０４：Ｙ）、この管理情報３４の記憶場所番号を「２」に設定する（Ｓ３０５）。
【００６６】
機能分類番号が「２」でない場合は（Ｓ３０４：Ｎ）、この機能分類番号が「３」であるか否かを確認する（Ｓ３０６）。すなわち、機能分類が「オプション」であるか否かを確認する。
【００６７】
機能分類番号が「３」である場合は（Ｓ３０６：Ｙ）、この管理情報３４の記憶場所番号を「３」に設定する（Ｓ３０７）。
【００６８】
機能分類番号が「３」でない場合は（Ｓ３０６：Ｎ）、この管理情報３４の記憶場所番号を「４」に設定する（Ｓ３０８）。
【００６９】
このように、主制御部１４は、管理情報３４の優先度に基づいて、プログラマブルデバイスの回路情報を記憶する記憶場所を決定し、その記憶場所に、その管理情報３４に対応する回路情報を書き込んでよい。
【００７０】
具体的には、主制御部１４は、優先度が高い管理情報３４に対応する回路情報を副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込むのに要する時間が短い記憶場所に書き込んでよい。
【００７１】
また、主制御部１４は、回路機能情報３６の機能分類番号に基づいて、プログラマブルデバイスの回路情報を記憶する記憶場所を決定し、その記憶場所に、その回路機能情報３６に対応する回路情報を書き込んでよい。
【００７２】
具体的には、機能分類番号が小さい回路機能情報３６に対応する回路情報（例えば、重要度の高い機能の回路情報）を、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込むのに要する時間が短い記憶場所に書き込んでよい。
【００７３】
このようにして、Ｓ１０１の処理（初期設定の処理）において、主制御部１４は、回路情報に対応する、優先度や機能分類番号などの指標に基づいて、回路情報を記憶する記憶場所を決定する。もちろん、優先度や機能分類番号は指標の一例にすぎず、その他の指標に基づいて回路情報を記憶する記憶場所を決定してもよい。
【００７４】
次に、図３に示す各処理のうち、Ｓ１０５の詳細な処理の流れを、図６に示すフロー図を参照しながら説明する。
【００７５】
まず、回路情報管理表３０が含む各管理情報３４をその優先度の昇順に並び替える（Ｓ４０１）。
【００７６】
次に、各優先度について、回路情報管理表３０が含む各管理情報３４をその使用頻度の昇順に並び替える（Ｓ４０２）。ここで、使用頻度とは、図３に示すＳ１０９の処理において、利用者から所定の処理が要求されるたびに増加する、管理情報３４が含む情報である。
【００７７】
次に、主制御部１４は、各記憶場所番号に対応する記憶場所に記憶される回路情報数が、その記憶場所の所定の制限数を超えているか否かを確認する（Ｓ４０３）。
【００７８】
所定の制限数を超えていない場合は（Ｓ４０３：Ｎ）、主制御部１４は、各記憶場所番号に対応する記憶場所に記憶される回路情報のサイズの合計が、その記憶場所の所定の制限容量を超えているか否かを確認する（Ｓ４０４）。
【００７９】
所定の制限容量を超えていない場合は（Ｓ４０４：Ｎ）、主制御部１４は、それぞれの管理情報３４の記憶場所番号に対応する記憶場所に、その管理情報３４に対応する回路情報を書き込む（Ｓ４０６）。
【００８０】
ここで、所定の制限数を超えている場合や（Ｓ４０３：Ｙ）、所定の制限容量を超えている場合（Ｓ４０４：Ｙ）は、制限に達した記憶場所番号を含む管理情報３４のうち、並び替えられた各管理情報３４の並び順における最初の管理情報３４の記憶場所番号を１増やす（Ｓ４０５）。そして、Ｓ４０１の処理を再び行う。
【００８１】
上記処理の流れの、具体例を図７に示す。図７（ａ）は、４つの管理情報３４を含む回路情報管理表３０の一例を示している。主制御部１４は、この管理情報３４を、Ｓ４０１、及び、Ｓ４０２の処理において、図７（ｂ）に示すように並び替える。
【００８２】
ここで、各記憶場所番号（１〜４）に対応する記憶場所に記憶される回路情報数の制限がそれぞれ「１」であるとする。
【００８３】
そして、主制御部１４は、Ｓ４０３の処理において、記憶場所番号が「１」である管理情報３４が２つあり（回路番号が１の回路情報、及び、回路番号が２の回路情報）、所定の制限数である「１」を超えていることを確認する（Ｓ４０３：Ｙ）。
【００８４】
そして、主制御部１４は、Ｓ４０５の処理において、これらの回路情報のうち、この並び順での最初の管理情報３４である、回路情報が２である回路情報の記憶場所番号を１増やし、「２」とする。このときの回路情報管理表３０を図７（ｃ）に示す。
【００８５】
主制御部１４は、再び、Ｓ４０１の処理を行い、上記処理を繰り返すことで、最終的に、主制御部１４は、図７（ｄ）に示す回路情報管理表３０を生成する。
【００８６】
そして、この図７（ｄ）に示す回路情報管理表３０の内容に従って、主制御部１４は、回路番号１に対応する回路情報をアクセラレータ内ローカルメモリ１２ｂに、回路番号２に対応する回路情報を主記憶部１６に、回路番号３に対応する回路情報を補助記憶部１８に、回路番号４に対応する回路情報を、通信部２６を介して接続されたサーバ２８が備える記憶部に書き込む。
【００８７】
このように、各管理情報３４の優先度、各回路情報の使用頻度、各記憶場所に記憶可能な回路情報数、各記憶場所に記憶可能な回路サイズなどに応じて、主制御部１４は、回路情報を各記憶場所に書き込む。
【００８８】
なお、Ｓ１０５の処理の流れは、図６に示したものに限定されない。Ｓ１０５の詳細な処理の流れの別の例を図８に示すフロー図を参照しながら説明する。
【００８９】
まず、主制御部１４は、各管理情報３４をその優先度の昇順に並び替える（Ｓ５０１）。
【００９０】
次に、主制御部１４は、各優先度について、各管理情報３４をその使用頻度の昇順に並び替える（Ｓ５０２）。
【００９１】
そして、主制御部１４は、記憶場所番号を、Ｓ５０１及びＳ５０２の処理において並び替えた管理情報３４の順に設定する（Ｓ５０３）。このとき、主制御部１４は、優先度や使用頻度が低いものから順に、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込むのに要する時間が長い記憶場所に対応する記憶場所番号を設定してよい。このとき、その記憶場所に記憶可能な回路情報数や回路サイズを超えるまで、同一の記憶場所番号を設定してもよい。
【００９２】
そして、主制御部１４は、それぞれの管理情報３４が含む記憶場所番号に対応する記憶場所に、その管理情報３４に対応する回路情報を書き込む（Ｓ５０４）。
【００９３】
このようにして、主制御部１４は、各管理情報３４の優先度、各回路情報の使用頻度、各記憶場所に記憶可能な回路情報数、各記憶場所に記憶可能な回路サイズなどに応じて、回路情報を各記憶場所に書き込む。
【００９４】
なお、Ｓ１０５の処理の流れは、図８に示したものにも限定されない。Ｓ１０５の詳細な処理の流れの別の例を図９に示すフロー図を参照しながら説明する。
【００９５】
ここで、図９のフロー図Ｓ１０５の処理を開始する際に、あらかじめ主記憶部１６などに格納される回路情報機能分類表３２を図１０（ａ）に示す。また、回路情報管理表３０を図１０（ｂ）に示す。
【００９６】
図１０（ａ）に示す、回路情報機能分類表３２は、副制御部１２ａがコンフィグレーションメモリに書き込まれた回路情報の内容に従って行う処理の処理時間を示す情報を含む。情報処理装置１０の利用者は、ＵＩ部２０を介して、あらかじめ各回路情報について、処理時間を示す値を入力することができる。主制御部１４は、利用者が入力した値を取得して、この値を、この回路機能情報３６の処理時間として設定する。処理時間の設定方法はこの方法に限定されない。
【００９７】
そして、図１０（ｂ）に示すように、回路番号２の管理情報３４と、回路番号３の管理情報３４の、記憶場所番号はともに「２」と設定されている。
【００９８】
上記の設定における、Ｓ１０５の詳細な処理の流れの別の例を、図９に示すフロー図を参照しながら説明する。
【００９９】
まず、主制御部１４は、それぞれの回路情報について、回路情報を記憶場所から読み出して、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）へ書き込むまでの書込時間が、処理時間に与える影響を算出する（Ｓ６０１）。具体的には、例えば、（処理時間＋書込時間）／（処理時間）の値を算出する。
【０１００】
ここで、回路情報を、通信部２６を介して接続されたサーバ２８が備える記憶部から読み出し、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）に書き込む時間が２０秒であるとする。なお、情報処理装置１０の利用者は、この情報を、あらかじめ主記憶部１６や補助記憶部１８に格納しておく。
【０１０１】
図１０（ｂ）に示すように、回路番号３の翻訳機能の処理時間は１２０秒と設定されている。そのため、主制御部１４は、通信部２６を介して接続されたサーバ２８が備える記憶部からこの回路情報を読み出し、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）へ書き込む時間が、処理時間に与える影響を、（１２０＋２０）／１２０＝１．１６という計算式に基づいて、１６％と算出する。
【０１０２】
一方、図１０（ｂ）に示すように、回路番号２の高画質コピー機能の処理時間は０．５秒と設定されている。ここで、主制御部１４は、通信部２６を介して接続されたサーバ２８が備える記憶部からこの回路情報を読み出し、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）へ書き込む時間が、処理時間に与える影響を、（０．５＋２０）／１２０＝４１．０という計算式に基づいて、４００％と算出する。
【０１０３】
なお、影響の算出方法はこの方法に限定されない。また、図１０に示した翻訳の処理時間や高画質コピーの処理時間などの具体的な数値は例示であり、これらの数値に限定されない。また、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）へ書き込む時間が、処理時間に与える影響の具体的な数値も例示であり、これらの数値に限定されない。
【０１０４】
次に、主制御部１４は、Ｓ６０１で算出した影響が小さいか否かを確認する（Ｓ６０２）。具体的には所定の閾値と比較する。ここでは、所定の閾値が２０％と設定されているとする。もちろん、この閾値の具体的な数値は例示であり、この数値に限定されない。
【０１０５】
すると、回路番号３の回路情報の算出された影響は、閾値を超えていないので、影響が小さいと判断される（Ｓ６０２：Ｙ）。この場合は、主制御部１４は、この回路情報の回路場所番号を１増やし（Ｓ６０３）、処理を終了する。
【０１０６】
一方、回路情報２の回路情報の算出された影響は、閾値を超えているので、影響が大きいと判断される（Ｓ６０２：Ｎ）。この場合は、回路場所番号は変更せずに、処理を終了する。
【０１０７】
このように、主制御部１４が、回路情報を記憶場所から読み出して、副制御部１２ａ内の記憶部（コンフィグレーションメモリ）へ書き込む時間が、各回路情報が示す処理の処理時間に与える影響に基づいて、各回路情報を配置する場所を決定してもよい。
【０１０８】
このようにして、Ｓ１０５の処理において、主制御部１４は、回路情報に対応する、使用頻度や優先度や処理時間などの指標に基づいて、回路情報を記憶する記憶場所を決定する。そして、決定された記憶場所に、回路情報を書き込む。もちろん、使用頻度や優先度や処理時間は指標の一例にすぎず、その他の指標に基づいて回路情報を記憶する記憶場所を決定してもよい。
【０１０９】
このようにして、情報処理装置１０によれば、所定の条件に応じて、プログラマブルデバイス外の適切な記憶場所に回路情報を配置できる。
【０１１０】
なお、本発明は上記実施形態に限定されるものではない。
【０１１１】
例えば、回路情報管理表３０や回路情報機能分類表３２は、図２に示したものに限られず、他の情報を含んでいても構わないし、図２に示す情報を必ずしもすべて備える必要はない。
【０１１２】
具体的には、回路情報管理表３０が含む各管理情報３４が、優先度を含まないようにしてもよい。この場合には、主制御部１４は、優先度に従って管理情報３４を並び替える処理を省略すればよい。具体的には、図５に示すＳ３０１の処理や、図６に示すＳ４０１の処理や、図８に示すＳ５０１の処理を省略すればよい。
【０１１３】
また、例えば、主制御部１４は、所定の要求に応じて、各回路情報を回路情報管理表３０で管理される管理情報３４が示す内容に従って、各記憶場所に書き込んでもよい。また、主制御部１４は、各回路情報を回路情報管理表３０で管理される管理情報３４が示す内容に従って、所定の時間間隔で、各記憶場所に書き込んでもよい。
【０１１４】
また、例えば、図１１に示すように、情報処理システム１は、アクセラレータ１２を、情報処理装置１０の通信部２６を介して接続される筐体内に設ける構成としてもよい。また、アクセラレータ１２を複数設けてもよい。
【０１１５】
このようにして、主制御部１４が実行する処理の一部を、アクセラレータ１２が並行して実行するようにしてもよい。
【０１１６】
なお、副制御部１２ａを含むデバイスは、主制御部１４が実行する処理の一部を代わりに実行するプログラマブルデバイスを含むものであれば、アクセラレータ１２でなくても構わない。また、副制御部１２ａが実行する処理は、画像処理である必要はない。
【図面の簡単な説明】
【０１１７】
【図１】本発明の一実施形態に係る情報処理システムを示す図である。
【図２】本発明の一実施形態に係る回路情報管理表と回路情報機能分類表とを示す図である。
【図３】本発明の一実施形態に係る処理のフローの一例を示す図である。
【図４】本発明の一実施形態に係るＳ１０１の処理の詳細のフローの一例を示す図である。
【図５】本発明の一実施形態に係るＳ２０４の処理の詳細のフローの一例を示す図である。
【図６】本発明の一実施形態に係るＳ１０５の処理の詳細のフローの一例を示す図である。
【図７】本発明の一実施形態に係る回路情報管理表の一例を示す図である。
【図８】本発明の一実施形態に係るＳ１０５の処理の詳細のフローの一例を示す図である。
【図９】本発明の一実施形態に係るＳ１０５の処理の詳細のフローの一例を示す図である。
【図１０】本発明の一実施形態に係る回路情報管理表と回路情報機能分類表とを示す図である。
【図１１】本発明の一実施形態に係る情報処理システムを示す図である。
【符号の説明】
【０１１８】
１  情報処理システム、１０  情報処理装置、１２  アクセラレータ、１２ａ  副制御部、１２ｂ  アクセラレータ内ローカルメモリ、１４  主制御部、１６  主記憶部、１８  補助記憶部、２０  ＵＩ部、２２  スキャナ部、２４  プリンタ部、２６  通信部、２８  サーバ、３０  回路情報管理表、３２  回路情報機能分類表、３４  管理情報、３６  回路機能情報。
【図１】
2009020795.tif 000003
【図２】
2009020795.tif 000004
【図３】
2009020795.tif 000005
【図４】
2009020795.tif 000006
【図５】
2009020795.tif 000007
【図６】
2009020795.tif 000008
【図７】
2009020795.tif 000009
【図８】
2009020795.tif 000010
【図９】
2009020795.tif 000011
【図１０】
2009020795.tif 000012
【図１１】
2009020795.tif 000013