説明

回路情報生成装置、機能実行システム、及びプログラム

【課題】要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮する。
【解決手段】機能を構成する基本機能に対応するソースプログラムを記憶したソースプログラム記憶領域36と、回路情報を基本機能に対応させて記憶するための回路情報記憶領域35とを備え、要求された機能を構成する該機能中の基本機能に対応する回路情報が回路情報記憶領域35に記憶されている場合には、該記憶されている回路情報を用い、上記機能中の基本機能に対応する回路情報が回路情報記憶領域35に記憶されていない場合には、ソースプログラム記憶領域36に記憶されているソースプログラムを用いて上記機能中の基本機能に対応する回路情報を生成して回路情報記憶領域35に記憶し、該生成した回路情報を用いて、要求された機能を実行する回路が再構成され、該回路により該機能が実行されるように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、回路情報生成装置、機能実行システム、及びプログラムに関するものである。
【背景技術】
【0002】
特許文献1には、外部サーバーから画像処理用プログラムをダウンロードする受信手段と、前記プログラムを当該画像処理装置において実行する画像処理手段と、外部サーバーに画像データの処理を依頼する送信手段と、所定条件により、画像処理手段と外部サーバーのいずれで画像データの処理を行うかを切り換える切換手段とを備える画像処理装置が記載されている。
【0003】
特許文献2には、ネットワーク上のマルチファンクションペリフェラルで使用する各種のプログラムをネットワーク上のファイルサーバに予め格納しておき、マルチファンクションペリフェラルは、ファイルサーバに格納されたプログラムをダウンロードして各種の機能に係る処理を実行するプログラム管理システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−036435号公報
【特許文献2】特開2001−243075号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができる回路情報生成装置、機能実行システム、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
請求項1の発明の回路情報生成装置は、1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域と、要求された機能を構成する該機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能を実行する回路が再構成され、該再構成された回路により前記要求された機能が実行されるように制御する制御手段と、を有する。
【0007】
請求項2の発明の回路情報生成装置は、1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域と、要求された機能を構成する該機能中の基本機能が、該要求された機能の実行に関する予め定められた条件に応じて、前記ソースプログラムを実行形式に変換したプログラムを用いて実行される特定の基本機能として定められた場合には、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて該特定の基本機能が実行されるように制御する第1の制御と、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能中の基本機能を実行する回路が再構成され、該再構成された回路により前記特定の基本機能を除く基本機能が実行されるように制御する第2の制御とにより、前記要求された機能が実行されるように制御する制御手段と、を有する。
【0008】
請求項3の発明の機能実行システムは、請求項1に記載の回路情報生成装置と、回路情報を用いて再構成され、前記要求された機能を実行する回路を備えた機能実行装置と、を備えている。
【0009】
請求項4の発明の機能実行システムは、請求項2に記載の回路情報生成装置と、回路情報を用いて再構成され、前記要求された機能を実行する回路、及び前記ソースプログラムを実行形式に変換したプログラムを実行するコンピュータを有する前記機能実行装置と、を備えている。
【0010】
請求項5の発明は、請求項3または請求項4に記載の機能実行システムにおいて、前記ソースプログラムを実行形式に変換したプログラムを実行するコンピュータを有する第2の機能実行装置を更に備え、前記回路情報生成装置に、前記第2の機能実行装置の負荷の状態を示す情報を取得し、該取得した負荷の状態を示す情報が予め定められた条件を満たす場合には、前記要求された機能が前記機能実行装置で実行されないよう前記制御手段の制御に代えて、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて前記要求された機能が前記第2の機能実行装置で実行されるように制御する第2の制御手段を更に設けたものである。
【0011】
請求項6の発明のプログラムは、1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域とに接続されたコンピュータを、要求された機能を構成する該機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能を実行する回路が再構成され、該再構成された回路により前記要求された機能が実行されるように制御する制御手段として機能させるためのプログラムである。
【0012】
請求項7の発明のプログラムは、1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域とに接続されたコンピュータを、要求された機能を構成する該機能中の基本機能が、該要求された機能の実行に関する予め定められた条件に応じて、前記ソースプログラムを実行形式に変換したプログラムを用いて実行される特定の基本機能として定められた場合には、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて該特定の基本機能が実行されるように制御する第1の制御と、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能中の基本機能を実行する回路が再構成され、該再構成された回路により前記特定の基本機能を除く基本機能が実行されるように制御する第2の制御とにより、前記要求された機能が実行されるように制御する制御手段として機能させるためのプログラムである。
【発明の効果】
【0013】
請求項1の発明によれば、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができる。
【0014】
請求項2の発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができると共に、複数の機能を多重化して実行できる。
【0015】
請求項3の発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮でき、機能実行装置での機能の実行の開始を早めることができる。
【0016】
請求項4の発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができ、機能実行装置での機能の実行の開始を早めることができると共に、機能実行装置で複数の機能を多重化して実行できる。
【0017】
請求項5の発明は、第2の機能実行装置の負荷を示す情報が予め定められた条件を満たす場合には、要求された機能を回路情報を生成せずに実行することができる。
【0018】
請求項6の発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができる。
【0019】
請求項7の発明は、要求された機能を実行するための回路の再構成に用いられる回路情報を機能単位で生成する場合に比べて、回路情報の生成時間を短縮することができると共に、複数の機能を多重化して実行できる。
【図面の簡単な説明】
【0020】
【図1】第1〜第3の実施の形態に係る機能実行システムの概略構成図である。
【図2】第1〜第3の実施の形態に係る回路情報生成装置の概略構成図である。
【図3】第1〜第3の実施の形態に係る情報処理装置の概略構成図である。
【図4】第1〜第3の実施の形態に係る主制御部の概略構成図である。
【図5】機能と基本機能との関係を説明する説明図である。
【図6A】機能管理データ及び基本機能管理データの一例を示す図である。
【図6B】機能管理データ及び基本機能管理データの他の例を示す図である。
【図7】第1及び第2の実施の形態に係る情報処理装置の機能実行部のCPUにより実行される機能実行処理の流れを示すフローチャートである。
【図8】第1の実施の形態に係る回路情報生成装置のCPUにより実行される生成制御処理の流れを示すフローチャートである。
【図9】第2の実施の形態における基本機能管理データの一例を示す図である。
【図10】第2の実施の形態に係る回路情報生成装置のCPUにより実行される生成制御処理の流れを示すフローチャートである。
【図11】図10のステップ302で行われる回路情報生成ルーチンの流れを示すフローチャートである。
【図12】機能Cと機能Dの各々を構成する各基本機能と、各基本機能毎のSW実行時間及びHW実行時間の一例を示した図である。
【図13】機能C及び機能Dの各々の基本機能をハードウェア処理で行うパターン1と、機能Cの基本機能1をソフトウェア処理で行い、基本機能2をハードウェア処理で行い、機能Dの基本機能3をハードウェア処理で行うパターン2の各々のパターンにおけるハードウェア及びソフトウェア使用率の一例を示す図である。
【図14】第2の実施の形態に係る回路情報生成装置のCPUにより実行される生成制御処理の他の例を示すフローチャートである。
【図15】図14のステップ319で行われる回路情報生成ルーチンの流れを示すフローチャートである。
【図16】機能Eを構成する各基本機能がソフトウェア処理される場合の各基本機能の負荷の割合の一例を示す図である。
【図17】機能を構成する基本機能のうち、負荷の割合が最も高い基本機能を特定するための情報(負荷情報)を含む機能管理データと基本機能管理データの一例を示す図である。
【図18】第3の実施の形態に係る情報処理装置の画像処理部のCPUにより実行される機能実行処理の流れを示すフローチャートである。
【図19】第3の実施の形態に係る回路情報生成装置のCPUにより実行される生成制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0021】
[第1の実施の形態]
【0022】
図1は、本実施の形態に係る機能実行システム10の概略構成図である。機能実行システム10は、回路情報生成装置12及び情報処理装置14を備えている。回路情報生成装置12及び情報処理装置14は、ネットワーク16を介して相互に通信する。
【0023】
図2は、回路情報生成装置12の概略構成図である。回路情報生成装置12は、CPU(Central Processing Unit)20、ROM(Read Only Memory)21、RAM(Random Access Memory)22、DMA(Direct Memory Access)制御回路23(以下、DMAC23と呼称)、通信インタフェース(I/F)24、第1記憶部26、及び第2記憶部27を含んで構成されており、それぞれバス28を介して接続されている。
【0024】
CPU20は、ROM21等に記憶されたプログラムを実行する。ROM21には、CPU20が実行するプログラムやプログラムの実行に必要な各種データ等が予め記憶されている。本実施の形態では、ROM21の生成制御プログラム記憶領域30に、後述する回路57を再構成するための回路情報の生成制御を行うための生成制御プログラムが記憶され、回路情報生成プログラム記憶領域31に、回路情報を生成するための回路情報生成プログラムが記憶されている。
【0025】
RAM22は、通信I/F24を介して他の装置から受信したデータや新たに生成したデータ等を一時記憶するためのメモリとして利用される他、CPU20のプログラム実行時のワークメモリとしても利用される。
【0026】
なお、CPU20が実行するプログラムが記憶される記憶媒体は、上記ROM21等に限定されず、例えば、図示は省略するが、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬型記録媒体や回路情報生成装置12の内部あるいは外部に備えられたHDD等の記憶装置等であってもよく、さらにまたネットワーク16を介して接続されたデータベース、或いは他のコンピュータシステム並びにそのデータベースや、更に電気通信回線上の搬送波のような伝送媒体であってもよい。
【0027】
DMAC23は、CPU20を介さずにデータを転送(DMA転送)する。具体的には、後述する第2記憶部27のDMA転送リスト記憶領域37に記憶されたDMA転送リストに基づいて、第1記憶部26の回路情報記憶領域35から回路情報を読み出して、通信I/F24を介して情報処理装置14に転送する。DMA転送リストは、DMA転送するときに用いられる転送情報が、転送順に登録されるリストである。転送情報には、DMA転送する転送データの転送元アドレス、転送先アドレス(ここでは情報処理装置14のアドレス)、及び転送サイズが含まれる。
【0028】
第1記憶部26は、機能管理データを記憶する機能管理データ記憶領域33、基本機能管理データを記憶する基本機能管理データ記憶領域34、及び生成した回路情報を記憶するための回路情報記憶領域35、CPUを用いて基本機能を実行するためのプログラムのソースコード(ソースプログラムともいう)を記憶するソースプログラム記憶領域36を有する。
【0029】
機能管理データは、後述する情報処理装置14の機能実行部44で実行可能な機能を管理するためのデータである。ここで、本実施の形態における「機能」及び「基本機能」について説明する。機能実行部44で実行される各種機能は1または複数の基本機能により構成される。一例を挙げると、複数ページを1枚の用紙にまとめて記録する場合の画像データの生成のために機能実行部44で実行される機能は、画像縮小処理、画像回転処理、及びハーフトーン処理等々の基本機能から構成される。
【0030】
ここで、機能及び基本機能について更に詳しく説明する。図5は、互いに異なる機能Aと機能Bの構成を模式的に示す図である。機能Aは、基本機能1、基本機能2、基本機能3、基本機能4の4つの基本機能を順に実行することにより実現される機能である。機能Bは、基本機能1、基本機能2、基本機能3、基本機能5の4つの基本機能を順に実行することにより実現される機能である。このように、互いに異なる機能には互いに共通する基本機能が含まれる場合もある。本実施の形態では、機能管理データにより、各機能に含まれる基本機能を特定し、該各基本機能の実行順序を規定する。
【0031】
図6Aの上段に機能管理データの一例を示す。この例では、機能管理データの各々は、各機能を識別するための識別情報80と、機能を構成する基本機能の数を示す基本機能数81と、機能を構成する各基本機能毎の基本機能管理データの記憶領域を示すアドレス82(以下、管理データアドレス82と呼称)とにより構成される。なお、管理データアドレス82は、基本機能の実行順に配列されている。
【0032】
基本機能管理データは、各機能を構成する基本機能の各々を管理するためのデータである。基本機能管理データの各々は、上記機能管理データの管理データアドレス82が示す記憶領域の各々に記憶されている。図6Aの中段に基本機能管理データの一例を示す。この例では、基本機能管理データの各々は、基本機能を識別する識別情報83と、基本機能に対応する回路情報の記憶領域を示すアドレス84(以下、回路情報アドレス84と呼称)と、基本機能に対応するソースプログラムの記憶領域を示すアドレス86(以下、プログラムアドレス86と呼称)とにより構成される。
【0033】
回路情報は必要に応じて、基本機能毎に、対応するソースプログラムに基づいて動的に生成されるが、生成前の段階では、回路情報アドレス84には、NULL値が設定されている。回路情報が生成され、図6Aの下段に示すように、回路情報記憶領域35に記憶されると、該記憶された領域を示すアドレスが、回路情報アドレス84に設定される。
【0034】
ソースプログラムは、回路情報と異なり、予めソースプログラム記憶領域36に記憶されている。したがって、プログラムアドレス86には、ソースプログラムが記憶されている記憶領域を示すアドレス値が予め設定されている。
【0035】
なお、回路情報及びソースプログラムの管理方法は、上記に限定されず、例えば、図6Bに示すように、回路情報及びソースプログラムの各々に対して独立に、機能管理データ及び基本機能管理データを記憶して管理するようにしてもよい。
ただし、本実施の形態では、図6Aに示すデータ管理を行うものとして説明する。
【0036】
第2記憶部27は、DMA転送リスト記憶領域37を備え、DMA転送リスト記憶領域37には、DMAC23がDMA転送する際に参照するDMA転送リストが記憶される。
【0037】
第1記憶部26及び第2記憶部27は、例えばハードディスクドライブ(HDD)により構成されていてもよいし、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の書き換え可能なメモリ素子で構成されていてもよい。なお、CPU20が実行するプログラムが、第1記憶部26や第2記憶部27に記憶されていてもよい。また、第1記憶部26及び第2記憶部27は外付けの記憶装置であってもよい。
【0038】
さらにまた、本実施の形態では、機能管理データ記憶領域33、基本機能管理データ記憶領域34、回路情報記憶領域35、及びソースプログラム記憶領域36を第1記憶部26に、DMA転送リスト記憶領域37を第2記憶部27に設けた例について説明したが、各記憶領域の場所はこれに限定されるものではない。例えば、DMA転送リスト記憶領域37を第1記憶部26に設けても良いし、機能管理データ記憶領域33、基本機能管理データ記憶領域34、回路情報記憶領域35、及びソースプログラム記憶領域36を第2記憶部27に設けても良い。また、機能管理データ記憶領域33、基本機能管理データ記憶領域34、回路情報記憶領域35、及びソースプログラム記憶領域36の各々を互いに異なる記憶媒体に設けてもよい。
【0039】
通信I/F24は、ネットワーク16に接続されている。回路情報生成装置12は、通信I/F24を介して、ネットワーク16に接続された情報処理装置14と相互に情報をやりとりする。
【0040】
図3は、情報処理装置14の概略構成図である。本実施の形態では、情報処理装置14として画像処理及び画像形成を行う装置を例に挙げて説明するが、これに限定されるものではない。
【0041】
情報処理装置14は、情報処理装置14全体を制御する主制御部40、与えられた画像データに基づいて画像を形成する画像形成部42、各種機能を実行することにより画像データに対して画像処理を施す機能実行部44、及び記憶部46を含んで構成されており、それぞれバス48を介して接続されている。
【0042】
機能実行部44は、再構成制御回路50、DMA制御回路51(以下、DMAC51)、CPU(Central Processing Unit)52、ROM(Read Only Memory)53、RAM(Random Access Memory)54、通信I/F55、I/F56、及び回路57を備え、それぞれバス58を介して接続されている。機能実行部44は、I/F56を介して記憶部46と接続されている。また、I/F56は、バス48とも接続されている。
【0043】
回路57は、回路情報により再構成される回路である。回路57は、回路情報を記憶するための回路情報メモリ60A及び回路情報メモリ60Bと、複数の論理セル、配線領域、及び入出力端子を含んで構成された回路素子群61とを備えている。
【0044】
回路情報メモリ60A及び回路情報メモリ60Bは、EEPROM(Electrically Erasable and Programmable Read Only Memory)、SRAM(Static Random Access Memory)等の書き換え可能なメモリ素子で構成されている。回路素子群61には、上記回路情報メモリ60A、60Bの何れか一方が接続されるようになっている。回路情報には、各論理セルの接続関係の情報や入出力設定の情報等が含まれ、回路素子群61に接続されている回路情報メモリ60Aまたは回路情報メモリ60Bに展開された回路情報に基づいて、回路素子群61の論理セル内の回路構成や、論理セルと入出力端子とを相互に接続する配線領域の接続状態等が再構成される。
【0045】
再構成制御回路50は、回路情報を用いて回路57を再構成する。具体的には、I/F56を介して回路情報を記憶部46から読出して、回路情報メモリ60A、60Bに展開することにより再構成する。このとき、回路素子群61に接続する回路情報メモリ60A、60Bを適時切り替えるバンク切り替えを実行することにより、回路素子群61上に順次必要な機能を実行する回路構成を実現させる(再構成処理)。
【0046】
DMAC51は、CPU52を介さずに、回路情報生成装置12のDMAC23との間でDMA転送を行う。具体的には、DMAC51は、通信I/F55を介して回路情報生成装置12から受信した回路情報を順次記憶部46に転送して記憶する。
【0047】
CPU52は、ROM53に記憶されたプログラムを実行し、様々な処理(例えば、後述する機能実行処理)を行う。RAM54は、ワーキングメモリ等として用いられる。
【0048】
なお、本実施の形態において、CPU52が実行するプログラムが記憶される記憶媒体は、上記ROM53等に限定されず、例えば記憶部46であってもよい。
【0049】
通信I/F55は、ネットワーク16を介して外部の装置と通信するためのインタフェースである。
【0050】
機能実行部44は、I/F56を介して記憶部46に接続されている。記憶部46には、回路情報生成装置12から受信した情報(本実施の形態では、回路情報)を記憶するための受信情報記憶領域62と、機能実行部44による画像処理の対象とされた画像データを一時的にバッファリングする画像データ記憶領域63と、を備えている。なお、本実施の形態では、受信情報記憶領域62には、回路情報生成装置12から受信した各基本機能に対応する回路情報の各々が機能毎に記憶され管理される。したがって、複数の機能が互いに共通する基本機能を有する場合でも、該共通する基本機能に対応する回路情報を該複数の機能毎に別々に記憶するようにしている。
【0051】
なお、記憶部46は、EEPROMやSDRAM等の書換え可能なメモリ素子であってもよいし、HDD等であってもよく、特に限定されない。
【0052】
画像形成部42は、電子写真方式の画像形成部であってもよいし、インクジェット方式の画像形成部であってもよく、その構成は特に限定されない。
【0053】
次に、図4を参照しながら、主制御部40の構成について説明する。
【0054】
図4は、主制御部40の概略構成図である。主制御部40は、CPU(Central Processing Unit)70、ROM(Read Only Memory)71、RAM(Random Access Memory)72、入出力インタフェース(I/F)73、通信I/F75、及びI/F76を備え、それぞれバス77を介して接続されている。I/F76は、バス48とも接続されている。
【0055】
CPU70は、ROM71に記憶されたプログラムを実行する。ROM71には、CPU70が実行するプログラムやプログラムの実行に必要な各種データ等が予め記憶されている。本実施の形態では、ROM71に、CPU70が実行する装置管理プログラムが記憶されており、CPU70の該装置管理プログラムの実行により、主制御部40は、情報処理装置14全体を管理し、制御する。
【0056】
RAM72は、通信I/F75を介して他の装置から受信した画像データ等の各種データや新たに生成した画像データ等々、様々なデータを一時記憶するためのフレームメモリとして利用される他、CPU70のプログラム実行時のワークメモリとしても利用される。
【0057】
なお、CPU70が実行するプログラムが記憶される記憶媒体は、上記ROM71に限定されず、例えば、図示は省略するが、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬型記録媒体や情報処理装置14の内部または外部に備えられたHDD等の記憶装置等であってもよく、さらにまたネットワーク16を介して接続されたデータベース、或いは他のコンピュータシステム並びにそのデータベースや、更に電気通信回線上の搬送波のような伝送媒体であってもよい。
【0058】
入出力I/F73は、液晶表示板からなる表示パネル上にタッチパネルが重ねられたユーザインタフェースとしてのタッチパネルディスプレイ74に接続されている。タッチパネルディスプレイ74は、CPU70の制御信号に応じて画像や各種メッセージ等の情報を表示する表示部としての機能と、該表示された画像上の任意の位置を利用者が指定することにより各種機能の実行要求や設定情報等を指示入力する指示部としての機能を兼ね備えている。なお、タッチパネルディスプレイに代えて、例えば、液晶ディスプレイ等の表示部と、操作者により操作される操作ボタン等の指示部とを個別に装備してもよい。
【0059】
通信I/F75は、ネットワーク16を介して外部の装置と通信するためのインタフェースである。主制御部40は、ネットワーク16を介して各種機能の実行要求を受信する場合もある。
【0060】
なお、本実施の形態では、主制御部40は、前述したように、タッチパネルディスプレイ74或いは通信I/F75を介して機能の実行要求を受け付けるが、該受け付けた実行要求うち、機能実行部44で行われる機能の実行要求については、機能実行部44に転送する。
【0061】
次に、本実施の形態の作用を説明する。
【0062】
図7は、情報処理装置14の機能実行部44のCPU52により実行される機能実行処理の流れを示すフローチャートである。また、図8は、回路情報生成装置12のCPU20により実行される生成制御処理の流れを示すフローチャートである。
【0063】
まず、情報処理装置14における機能実行処理について説明する。図7のステップ100では、主制御部40から機能X(Xは機能を識別する識別情報)の実行要求を受け付けるまで待機する。ステップ100で、主制御部40から機能Xの実行要求を受け付けた場合には、ステップ102に移行する。
【0064】
ステップ102では、機能Xが以前に実行した機能と同じか否かを判断する。具体的には、記憶部46の受信情報記憶領域62に機能Xの回路情報が記憶されているか否かを確認し、記憶されていれば、機能Xは以前に実行した機能と同じであると判断し、記憶されていなければ、機能Xは以前実行した機能と異なると判断する。ここで、機能Xが以前に実行した機能でないと判断した場合には、ステップ104で、通信I/F55を介して機能Xの回路情報を回路情報生成装置12に要求する。
【0065】
ステップ106では、回路情報生成装置12からの転送準備完了通知の受信待ちを行う。転送準備完了通知を受信した場合には、ステップ108で、DMAC51を起動する。起動したDMAC51は、通信I/F55を介して回路情報生成装置12から受信した回路情報を記憶部46の受信情報記憶領域62に転送して記憶する。
【0066】
ステップ110では、機能Xを実行する。具体的には、機能Xの回路情報の記憶領域を指定して再構成制御回路50を起動する。起動した再構成制御回路50は、機能Xを構成する各基本機能を実行するための回路情報をその実行順に記憶部46の受信情報記憶領域62から読み出して、回路情報メモリ60A及び回路情報メモリ60Bに交互に展開し、且つ前述したようにバンク切り替えを行って、予め定められた実行順に回路素子群61上に実現する基本機能を切替えていく。これにより、例えば実行が要求された機能Xが図5に示す機能Aの場合には、基本機能1、基本機能2、基本機能3、基本機能4の順に回路57が再構成されて、各基本機能が実行される。
【0067】
ステップ112では、主制御部40に対して機能Xの実行が終了した旨の終了通知を送信する。
【0068】
一方、ステップ102で、機能Xが以前に実行した機能であると判断した場合には、既に機能Xを実現するための回路情報は記憶部46の受信情報記憶領域62に記憶されているため、該記憶されている回路情報を用いて再度回路57を再構成すればよい。従って、ステップ110に移行し、上記と同様に回路57を再構成して機能Xを実行する。
【0069】
次に、回路情報生成装置12における生成制御処理について説明する。図8のステップ200では、情報処理装置14からの機能Xの回路情報要求の受信待ちを行う。ステップ200で、情報処理装置14から機能Xの回路情報要求を受信した場合には、ステップ202で、変数nに1をセットする。
【0070】
ステップ204では、要求のあった機能Xの機能管理データを第1記憶部26から読み出して取得し、nが、該機能管理データに格納されている基本機能数より大きいか否かを判断する。nが基本機能数以下の場合には、ステップ206で、機能Xの機能管理データの、第n番目に実行される基本機能に対応する管理データアドレス82が示す記憶領域に格納された基本機能管理データを読み出して取得し、該基本機能管理データの回路情報アドレス84にNULLが設定されているか否かを判断する。回路情報アドレス84にNULLが設定されていれば、該基本機能の回路情報は未生成であるため、ステップ208に移行する。
【0071】
ステップ208では、回路情報生成プログラムを起動して実行し、回路情報を生成する。具体的には、上記読み出して取得した基本機能管理データの、プログラムアドレス86が示す記憶領域から、該n番目の基本機能に対応するソースプログラムを読出し、該読み出したソースプログラムに基づいて、該n番目の基本機能を回路57上に実現するための回路情報を生成して回路情報記憶領域35の空き領域に格納する。
【0072】
ステップ210では、上記基本機能の回路情報が記憶された記憶領域を示すアドレス値を、該基本機能に対応する基本機能管理データの回路情報アドレス84として登録する。これによりNULLが回路情報を記憶した記憶領域のアドレス値に変更される。
【0073】
ステップ210の後は、ステップ212に移行し、上記第n番目に実行される基本機能の回路情報が情報処理装置14に転送されるよう、第n番目の転送情報をDMA転送リストに登録する。具体的には、回路情報アドレス84の値(転送元アドレス)、回路情報のデータサイズ(転送サイズ)、情報処理装置14のアドレス(転送先アドレス)をDMA転送リストに登録する。
【0074】
ステップ214では、nに1を加算し、ステップ204に戻る。
【0075】
一方、ステップ206で、機能Xの機能管理データの、第n番目に実行される基本機能に対応する管理データアドレス82が示す記憶領域に格納された基本機能管理データの回路情報アドレス84にNULLが設定されていないと判断した場合には、既に回路情報は生成済であるため、ステップ208、ステップ210をスキップし、ステップ212に移行する。ステップ212では、第n番目の転送情報として、該回路情報アドレス84の値(転送元アドレス)、回路情報のデータサイズ(転送サイズ)、情報処理装置14のアドレス(転送先アドレス)をDMA転送リストに登録し、ステップ214でnに1を加算してステップ204に戻る。
【0076】
ステップ204で、nが、機能Xの機能管理データに格納されている基本機能数より大きいと判断した場合には、ステップ216に移行する。
【0077】
ステップ216では、転送準備完了通知を情報処理装置14に送信する。ステップ218では、DMA転送リストにしたがってDMA転送されるようDMAC23を起動する。起動したDMAC23は、DMA転送リストにしたがって、情報処理装置14に機能Xの回路情報を転送する。
【0078】
ここで、具体例を挙げて説明する。情報処理装置14において図5に示す機能Aの後に機能Bの実行要求があった場合には、機能Bを構成する基本機能のうち機能Aと共通する基本機能1〜3は既に生成済である。従って、この場合には、第1〜3番目の基本機能については、対応する回路情報アドレス84にはNULLではないアドレス値が既に設定されているため、ステップ206で肯定判断され、回路情報の生成は行われない。従って、機能Bについては、第4番目に実行される基本機能5の回路情報を生成するだけでよい。
【0079】
なお、本実施の形態では、要求された機能が以前実行した機能か否かを機能実行部44が判断し、以前実行していなければ、該機能を構成する全ての基本機能の回路情報を要求し、回路情報生成装置12は、該機能を構成する全ての基本機能の回路情報を情報処理装置14に送信する例について説明したが、これに限定されない。
【0080】
例えば、回路情報生成装置12は、回路情報の送信履歴を保存しておき、該送信履歴に基づいて、該機能を構成する全ての基本機能の回路情報を情報処理装置14に送信するのではなく、送信済みの回路情報を除く回路情報を情報処理装置14に送信し、以前送信したことがある回路情報は送信しないようにしてもよい。また、例えば、機能実行部44が、要求された機能を構成する基本機能の各々について以前実行した基本機能か否か(回路情報が既に記憶部46に記憶されているか否か)を判断し、回路情報生成装置12に対して機能単位ではなく基本機能単位で回路情報を要求するように構成し、回路情報生成装置12は、要求のあった基本機能の回路情報のみを生成して情報処理装置14に送信するようにしてもよい。
【0081】
このように、回路情報生成装置12から情報処理装置14に対して、機能単位ではなく基本機能単位で回路情報を送信する場合には、情報処理装置14の記憶部46には基本機能毎に回路情報が記憶されて管理され、同一の回路情報が重複して記憶されることはない。また、この場合には、機能実行部44で、各機能を構成する基本機能及び実行順序を示す情報を保持する必要がある。なお、この情報を回路情報生成装置12から情報処理装置14に対して送信するようにしてもよい。機能実行部44は、自ら保持している或いは回路情報生成装置12から受信した、各機能を構成する基本機能及び実行順序を示す情報に基づいて順に回路を再構成して要求された機能を実行する。
【0082】
また、本実施の形態では、回路情報生成装置12のDMAC23及び情報処理装置14のDMAC51により回路情報をDMA転送する例について説明したが、回路情報生成装置12のCPU20及び情報処理装置14のCPU52を介して回路情報の送受信を行うようにしてもよい。
【0083】
また、本実施の形態では、回路情報を回路情報生成装置12が必要に応じて生成して情報処理装置14に送信する例について説明したが、回路情報生成装置12での生成制御処理を主制御部40が行うようにしてもよい。すなわち、主制御部40が、上記第1記憶部26に記憶されている各種データを有し、回路情報生成プログラム、生成制御処理プログラムを実行して、要求のあった機能の回路情報を必要に応じて生成して機能実行部44に供給してもよい。
【0084】
[第2の実施の形態]
【0085】
本実施の形態では、要求された機能を構成する各基本機能から回路57に代えてソースプログラムを実行形式に変換したプログラムを用いて実行する特定の基本機能を決定し、該特定の基本機能については、回路情報に代えてソースプログラムを情報処理装置14に送信する例について説明する。
【0086】
本実施の形態に係る回路情報生成装置12の概略構成は、第1の実施の形態と同じである。ただし、図9に示すように、第1記憶部26の基本機能管理データ記憶領域34に記憶される基本機能管理データの構成が異なる。
【0087】
本実施の形態に係る基本機能管理データは、基本機能を識別する識別情報83、回路情報アドレス84、及びプログラムアドレス86に加え、基本機能を回路57を用いて実行する場合に要する実行時間85(以下、HW実行時間85と呼称)、及び基本機能をソースプログラムを実行形式に変換したプログラムを用いて実行する場合に要する実行時間87(以下、SW実行時間87と呼称)を含んで構成される。
【0088】
本実施の形態に係る情報処理装置14の概略構成も、第1の実施の形態と同じである。ただし、記憶部46の受信情報記憶領域62には、回路情報だけでなく場合に応じてソースプログラムも受信され記憶される。機能実行部44のCPU52は、回路情報生成装置12から受信したソースプログラムを実行形式のプログラムに変換し、該変換したプログラムを実行することにより基本機能を実行する。なお、ソースプログラムを実行形式のプログラムに変換するためのプログラムは予めROM53等に記憶されている。
【0089】
なお、本実施の形態でも、受信情報記憶領域62には、回路情報生成装置12から受信した回路情報及びソースプログラムが機能毎に記憶され管理される。したがって、複数の機能が互いに共通する基本機能を有する場合でも、該共通する基本機能に対応する回路情報またはソースプログラムを該複数の機能毎に別々に記憶するようにしている。
【0090】
図10は、本実施の形態に係る回路情報生成装置12のCPU20により実行される生成制御処理の流れを示すフローチャートである。なお、ここでは、いずれの基本機能もHW実行時間85がSW実行時間87以下であるものとする。
【0091】
ステップ300では、情報処理装置14から機能Xの回路情報の要求の受信待ちを行う。ステップ300で、回路情報生成装置12から機能Xの回路情報の要求を受信した場合には、ステップ302で、回路情報生成ルーチンを実行し、各基本機能の回路情報を必要に応じて生成する。
【0092】
図11は、ステップ302で行われる回路情報生成ルーチンの流れを示すフローチャートである。なお、図11において、図8と同じステップには同一の符号を付し、ここでは異なるステップのみ説明する。
【0093】
ステップ204aでは、要求のあった機能Xの機能管理データを第1記憶部26から読み出して取得し、nが、該機能管理データに格納されている基本機能数より大きいか否かを判断し、nが基本機能数以下の場合には、ステップ206に移行し、nが基本機能数を超えた場合には、本処理ルーチンを終了する。すなわち、図11の回路情報生成ルーチンでは、図8に示すステップ216、218の処理は行われない。
【0094】
ステップ302の回路情報生成ルーチン終了後は、ステップ304に移行する。
【0095】
ステップ304では、機能Xの機能管理データの各基本機能の基本機能管理データを読み出して取得し、該基本機能管理データに基づいて、機能Xの各基本機能毎のHW実行時間を合計した値を求めて変数Sにセットする。
【0096】
ステップ306では、Sが予め定められた性能目標値未満であるか否かを判断する。ここでいう性能目標値とは、機能Xの実行時間の目標値である。性能目標値は、機能毎に予め設定しておくようにしてもよいし、主制御部40のタッチパネルディスプレイ74から使用者が指定するように構成し、該指定された性能目標値を、機能Xの回路情報の要求の際、情報処理装置14から回路情報生成装置12に送信するようにしてもよい。ここで、Sが性能目標値未満であると判断した場合には、ステップ308に移行する。
【0097】
ステップ308では、変数nに1をセットする。
【0098】
ステップ310では、nが、機能Xの機能管理データに格納されている基本機能数より大きいか否かを判断する。nが基本機能数以下の場合には、ステップ312で、機能Xの機能管理データの第n番目の基本機能に対応する管理データアドレス82が示す記憶領域に格納された基本機能管理データを読み出して取得し、第n番目に実行される基本機能のSW実行時間からHW実行時間を差し引いた値を求めて、Sに加算する。
【0099】
ステップ314では、Sが予め定められた性能目標値以下であるか否かを判断する。ここで、Sが性能目標値以下であると判断した場合には、ステップ316に移行する。ステップ316では、DMA転送リストの第n番目の基本機能の回路情報をDMA転送するための転送情報を、第n番目の基本機能のソースプログラムをDMA転送するための転送情報に変更する。具体的には、第n番目の転送情報のうち、転送元アドレスを第n番目の基本機能管理データのプログラムアドレス86が示すアドレスに変更し、転送サイズを該プログラムアドレス86に記憶されているソースプログラムのサイズに変更する。
【0100】
その後、ステップ318では、nに1を加算し、ステップ310に戻る。
【0101】
ステップ306でSが性能目標値以上であると判断された場合、ステップ310でnが基本機能数を超えていると判断された場合、及びステップ314で、Sが性能目標値を超えていると判断された場合には、ステップ320に移行する。
【0102】
ステップ320では、転送準備完了通知を情報処理装置14に送信する。ステップ322では、DMA転送リストにしたがってDMA転送対象の情報が情報処理装置14に送信されるようDMAC23を起動する。起動したDMAC23は、DMA転送リストにしたがって、DMA転送を行う。
【0103】
なお、本実施の形態に係る機能実行部44のCPU52は、図7のフローチャートにしたがって機能実行処理を実行するが、ステップ110における処理が第1の実施の形態と異なる。
【0104】
ステップ100からステップ108までの処理は第1の実施の形態と同じである。ステップ110では、回路情報生成装置12から受信した回路情報及びソースプログラムを記憶部46から順に読み出して機能Xを構成する各基本機能を順に実行する。すなわち、回路情報生成装置12から受信して記憶したデータが回路情報である場合には、CPU52は、再構築制御部50を起動して回路57を再構成させ、基本機能を実行させる。また、回路情報生成装置12から受信して記憶したデータがソースプログラムである場合には、CPU52は、ソースプログラムを実行形式に変換したプログラムを実行して基本機能を実行する。
【0105】
以下、ステップ110の処理について具体例を挙げて説明する。以下では、回路57により基本機能を実行することをハードウェア処理といい、CPU52がソースプログラムを変換した実行形式のプログラムを実行することにより基本機能を実行することをソフトウェア処理という。
【0106】
例えば、機能実行部44で図5に示す機能Aについて、回路情報生成装置12から、基本機能1のソースプログラム、基本機能2のソースプログラム、基本機能3の回路情報、及び基本機能4の回路情報を受信した場合には、基本機能1及び基本機能2については、ソフトウェア処理を行い、基本機能3及び基本機能4については、ハードウェア処理を行う。
【0107】
なお、機能Aに続いて図5に示す機能Bが要求された場合であって、機能Bについて、回路情報生成装置12から、基本機能1のソースプログラム、基本機能2のソースプログラム、基本機能3の回路情報、及び基本機能5の回路情報を受信した場合には、上記機能Aと同様に基本機能1及び基本機能2については、ソフトウェア処理を行い、基本機能3及び基本機能5については、ハードウェア処理を順に行うが、ここで、機能Bが機能Aの処理結果を用いずに独立に実行される機能である場合には、例えば、CPU52は、回路57での機能Aの基本機能3及び基本機能4を実行中に、機能Bの基本機能1及び基本機能2を実行する。
【0108】
ここで、図12、及び図13を用いて、ソフトウェアとハードウェアの使用効率について説明する。
【0109】
図12は、機能Cと機能Dの各々を構成する各基本機能と、各基本機能毎のSW実行時間及びHW実行時間の一例を示した図である。各HW実行時間、SW実行時間を示す数字は時間を概念的に示したものであり、分や秒などを具体的に規定するものではない。機能Cは、基本機能1、基本機能2を順に実行することで実現する機能である。機能Dは基本機能3を実行することで実現する機能である。ここで、機能C及び機能Dは独立に実行される機能であり、一方の機能の処理結果を用いて他方の機能が実行される関係にはない。
【0110】
図示されるように、基本機能1のSW実行時間は10、HW実行時間は5である。基本機能2のSW実行時間は5、HW実行時間は5である。基本機能3のSW実行時間は20、HW実行時間は5である。なお、ここで機能Cの性能目標値を15とし、機能Dの性能目標値を10とする。
【0111】
機能Dについては、性能目標値(10)を満たすためには、基本機能3をハードウェア処理で行う必要があるが、機能Cについては、基本機能1及び基本機能2の双方をハードウェア処理とする場合、基本機能1はソフトウェア処理とし、基本機能2はハードウェア処理とする場合のいずれの場合でも、性能目標値(15)は満たされる。
【0112】
ここで、機能C及び機能Dの各々の基本機能をハードウェア処理で行うパターン1、及び、機能Cの基本機能1をソフトウェア処理で行うと共に基本機能2をハードウェア処理で行い、機能Dの基本機能3をハードウェア処理で行うパターン2の2つのパターンを例に挙げる。なお、パターン1では、機能Dは機能Cが終了されるまで待たされるが、パターン2では、機能Cの終了を待たずに実行される。
【0113】
図13に、パターン1及びパターン2のハードウェア及びソフトウェア使用率を示す。なお、ここでいうハードウェア使用率とは、機能全体の実行時間に対するHW実行時間の合計の割合をいい、ソフトウェア使用率とは、機能全体の実行時間に対するSW実行時間の合計の割合をいう。
【0114】
なお、パターン1の場合の、単位時間15におけるハードウェア使用率及びソフトウェア使用率は以下の通りである。
・ハードウェア使用率=15/15=100%
・ソフトウェア使用率=0%
【0115】
パターン2の場合の、単位時間15におけるハードウェア使用率及びソフトウェア使用率は以下の通りである。
・ハードウェア使用率=10/15=66%
・ソフトウェア使用率=10/15=66%
【0116】
なお、上記では図10を用いて、回路情報を生成した後にソフトウェア処理を行う特定の基本機能を求める例について説明したが、回路情報を生成する前にソフトウェア処理を行う特定の基本機能を求めるようにしてもよい。
【0117】
図14は、本実施の形態に係る回路情報生成装置12のCPU20により実行される生成制御処理の他の例を示すフローチャートである。なお、図14において、図10と同じステップには同一の符号を付し、ここでは、異なるステップのみ説明する。
【0118】
ステップ300で肯定判断された場合には、ここでは回路情報生成ルーチンは行わず、ステップ304〜ステップ317の処理を行う。ステップ317では、DMA転送リストに、第n番目の基本機能のソースプログラムをDMA転送するための転送情報を登録する。
【0119】
ステップ306で、Sが性能目標値以上であると判断された場合、ステップ310で、nが基本機能数を超えていると判断された場合、及びステップ314で、Sが性能目標値を超えていると判断された場合には、ステップ319に移行する。
【0120】
ステップ319では、回路情報生成ルーチンを実行し、各基本機能の回路情報を必要に応じて生成する。
【0121】
図15は、ステップ319で行われる回路情報生成ルーチンの流れを示すフローチャートである。なお、図15において、図11と同じステップには同一の符号を付し、ここでは異なるステップのみ説明する。
【0122】
ステップ204aで、nが基本機能数以下であると判断した場合には、ステップ206の前に、ステップ205を行う。ステップ205では、DMA転送リストのn番目の転送情報が存在するか否かを判断する。DMA転送リストにn番目の転送情報が存在している場合には、n番目の基本機能はソフトウェア処理が行われる基本機能であって、ソースプログラムを情報処理装置14に対して転送するための転送情報が既にDMA転送リストに登録されていることを示している。したがって、この基本機能については回路情報を生成する必要がないため、ステップ214に移行し、nに1を加算してステップ204aに戻る。一方、n番目の転送情報が存在しない場合には、n番目の基本機能はハードウェア処理が行われる基本機能であるため、回路情報が必要である。したがって、ステップ206以降の処理を行う。
【0123】
なお、上記では、図10及び図14において、基本機能をソフトウェア処理するか否かを基本機能の実行順に判断していったが、これに限定されず、例えば、実行順で最後の方から判断していくようにしてもよい。また、SW実行時間が短い或いは長い基本機能から順に判断していって、Sが性能目標値となる範囲内でソフトウェア処理に変更するようにしてもよい。
【0124】
また、上記では、要求された機能の実行時間が性能目標値以下となる範囲内で、各基本機能をハードウェア処理からソフトウェア処理に変更する例について説明したが、これに限定されず、例えば、要求された機能の実行において単位時間あたりに処理されるデータ量が予め定められた目標値以下となる範囲内で、各基本機能をハードウェア処理からソフトウェア処理に変更するようにしてもよい。例えば、基本機能管理データに、ソフトウェア処理における単位時間あたりに処理されるデータ量と、ハードウェア処理における単位時間あたりに処理されるデータ量とを各基本機能毎に登録しておくと共に、単位時間あたりに処理されるデータ量の目標値を性能目標値として予め設定しておく。そして、ステップ304では、変数Sに、各基本機能毎の単位時間あたりに処理されるデータ量の平均値をセットする。更に、ステップ312では、基本機能をソフトウェア処理に変更した場合の平均値を計算し、ステップ314で性能目標値と比較して、Sが性能目標値以下となる範囲内で基本機能をソフトウェア処理に変更するようにしてもよい。
【0125】
また、上記実施の形態では、Sが性能目標値以下となるように制御する例について説明したが、これに限定されず、性能目標値に代えて性能目標範囲(上限及び下限)を定めておき、Sがこの範囲内となるよう制御するようにしてもよい。
【0126】
また、各SW実行時間に基づいてソフトウェア処理を行う基本機能及びハードウェア処理を行う基本機能を決定してもよい。例えば、SW実行時間の合計に対する各基本機能のSW実行時間の割合(以下、負荷の割合と呼称)を求め、この割合を用いて決定してもよいし、SW実行時間をそのまま用いて決定してもよい。
【0127】
例えば、図16に示すように、機能Eが基本機能1、基本機能2、基本機能3を順に実行することにより実現される機能であって、これら各基本機能がソフトウェア処理される場合の各基本機能の負荷の割合が、
・基本機能1:10%
・基本機能2:80%
・基本機能3:10%
であるとした場合、最も負荷の割合が高い基本機能2については、ハードウェア処理が行われるよう、回路情報を生成する。そして、それ以外の基本機能1,3については、ソフトウェア処理を行う基本機能と判断して、回路情報は生成せず、ソースプログラムを情報処理装置14に送信するようにしてもよい。
【0128】
更に、図17に示すように、負荷の割合が最も高い基本機能を示す情報88(以下、負荷情報88)を予め機能管理データに含めて記憶しておくようにしてもよい。本例では、基本機能2を示す負荷情報88が機能管理データに記憶される。これにより、基本機能2については回路情報が生成されるが、ソフトウェア処理を行う基本機能1,3の回路情報については生成されない。もちろん、基本機能2についての回路情報が既に生成済みである場合には、既に生成済みの回路情報を使用すればよい。
【0129】
もちろん、図17に示すように、ハードウェア処理を行う基本機能として、最も負荷の割合が高い基本機能を予め指定して回路情報の生成を制御する場合に限られず、動的に各基本機能管理データのSW実行時間87から、最も負荷の割合が高い基本機能を求めて、該求めた基本機能についてハードウェア処理が行われるように制御し、それ以外の基本機能はソフトウェア処理が行われるように制御してもよい。また、負荷の割合が予め定められた割合より高い基本機能あるいはSW実行時間が予め定められた時間よりも長い基本機能については、ハードウェア処理が行われるようにし、それ以外の基本機能についてはソフトウェア処理が行われるように制御してもよい。
【0130】
また、上記実施の形態は一例であってこれに限定されない。例えば、回路情報生成装置12が、回路情報及びソースプログラムの送信履歴を保存しておき、該送信履歴に基づいて、送信済みの回路情報及びソースプログラムを除く回路情報及びソースプログラムを情報処理装置14に送信し、以前送信したことがある回路情報及びソースプログラムは送信しないようにしてもよい。
【0131】
このように、回路情報生成装置12から情報処理装置14に対して、機能単位ではなく基本機能単位で回路情報及びソースプログラムを送信する場合には、情報処理装置14の記憶部46には基本機能毎に回路情報及びソースプログラムが記憶されて管理され、同一の回路情報及びソースプログラムが重複して記憶されることはない。また、この場合には、機能実行部44で、各機能を構成する基本機能及び実行順序を示す情報を保持する必要がある。なお、この情報を回路情報生成装置12から情報処理装置14に対して送信するようにしてもよい。機能実行部44は、自ら保持している或いは回路情報生成装置12から受信した、各機能を構成する基本機能及び実行順序を示す情報に基づいて順に回路を再構成して、或いはプログラムを実行することにより要求された機能を実行する。
【0132】
また、回路情報生成装置12での生成制御を主制御部40が行うようにしてもよい。すなわち、主制御部40が、回路情報生成装置12の第1記憶部26に記憶されている各種データを有し、回路情報生成プログラム、生成制御処理プログラムを実行して、要求のあった機能の回路情報及びソースプログラムを機能実行部44に供給してもよい。
【0133】
また、ソースプログラムを実行形式に変換して実行するCPUは、機能実行部44に設けられたCPU52に限定されず、例えば、主制御部40のCPU70が実行するようにしてもよいし、CPU52及びCPU70とは別にCPUを設け、該CPUにより実行するようにしてもよい。
【0134】
また、本実施の形態では、基本機能毎のソースプログラムを情報処理装置14に送信し、機能実行部44のCPU52がソースプログラムを実行形式のプログラムに変換して実行することによりソフトウェア処理を行う例について説明したが、回路情報生成装置12でソースプログラムを実行形式に変換し、該変換済みのプログラムを回路情報生成装置12から情報処理装置14に送信するようにしてもよい。また、動的に変換して送信するのではなく、予め実行形式に変換済みのプログラムを回路情報生成装置12に記憶しておき、該実行形式のプログラムを上記ソースプログラムに代えて情報処理装置14に送信するようにしてもよい。
【0135】
[第3の実施の形態]
【0136】
第1及び第2の実施の形態では、主制御部40から要求された機能を機能実行部44が実行する例について説明したが、本実施の形態では、機能実行部44だけでなく回路情報生成装置12も、要求された機能を実行する機能実行装置として動作する場合を例に挙げて説明する。
【0137】
本実施の形態に係る回路情報生成装置12及び情報処理装置14の構成は第1の実施の形態と同じであるため、構成についての説明を省略する。
【0138】
図18は、本実施の形態に係る情報処理装置14の機能実行部44のCPU52により実行される機能実行処理の流れを示すフローチャートである。また、図19は、本実施の形態に係る回路情報生成装置12のCPU20により実行される生成制御処理の流れを示すフローチャートである。
【0139】
まず、情報処理装置14における機能実行処理について説明する。図18のステップ400では、主制御部40から機能Xの実行要求を受け付けるまで待機する。主制御部40から機能Xの実行要求を受け付けた場合には、ステップ402に移行する。
【0140】
ステップ402では、回路情報生成装置12に機能Xの実行を依頼する実行依頼を送信する。
【0141】
ステップ404では、回路情報生成装置12から機能Xで使用するデータ(例えば、画像データ記憶領域63に記憶されている画像データ等)の要求があったか否かを判断し、ここで否定判断した場合には、ステップ412で、回路情報生成装置12から機能Xの実行依頼を受信したか否かを判断する。ステップ412で回路情報生成装置12から機能Xの実行依頼を受信していないと判断した場合には、ステップ404に戻る。
【0142】
また、ステップ404で、機能Xで使用するデータの要求があったと判断した場合には、ステップ406で、要求されたデータを回路情報生成装置12に送信する。要求されたデータを全て送信した場合には、ステップ408で、データ送信終了通知を回路情報生成装置12に送信する。
【0143】
ステップ410では、回路情報生成装置12から、機能Xの実行結果の受信待ちを行う。ステップ410で、回路情報生成装置12から機能Xの実行結果を受信した場合には、ステップ422で、主制御部40に対して機能Xの実行が終了した旨の終了通知を送信する。
【0144】
一方、ステップ404で否定判断し、ステップ412で肯定判断した場合には、ステップ414で、機能Xが以前に実行した機能と同じか否かを判断する。機能Xが以前に実行した機能でなければ、ステップ416に移行する。ステップ416では、回路情報生成装置12からの転送準備完了通知を受信するまで待機する。回路情報生成装置12から転送準備完了通知を受信した場合には、ステップ418で、DMAC51を起動する。起動したDMAC51は、通信I/F55を介して回路情報生成装置12から受信した回路情報を記憶部46に転送して記憶する。
【0145】
ステップ420では、第1の実施の形態で説明したステップ110と同様に、受信した回路情報を用いて回路57を再構成し、機能Xを実行する。そして、ステップ422で、主制御部40に対して機能Xの実行が終了した旨の終了通知を送信する。
【0146】
一方、ステップ412で、機能Xが以前に実行した機能であると判断した場合には、すなわち、既に機能Xを実現するための回路情報が記憶部46の受信情報記憶領域62に記憶されている場合には、ステップ420で、既に記憶されている回路情報を用いて回路57を再構成し、機能Xを実行する。
【0147】
次に、回路情報生成装置12における生成制御処理について説明する。図19のステップ500では、情報処理装置14から機能Xの実行依頼の受信待ちを行う。ステップ500で、回路情報生成装置12から機能Xの実行依頼を受信した場合には、ステップ502で、処理多重度が予め定められた閾値以上であるか否かを判断する。ここで処理多重度とは、回路情報生成装置12で実行中及び実行待ちの機能の数をいい、回路情報生成装置12の負荷を示す情報の1つである。
【0148】
ステップ502で、処理多重度が閾値以上であると判断した場合には、ステップ512で、機能Xの実行依頼を情報処理装置14に送信する。
【0149】
ステップ506では、以前に機能Xの回路情報を情報処理装置14に送信したことがあるか否かを判断する。例えば、回路情報生成装置12は、各機能毎に回路情報の送信履歴を第1記憶部26または第2記憶部27等に保存しておき、該送信履歴に基づいて、判断してもよい。また、情報処理装置14から、機能Xが以前情報処理装置14で実行された機能と同じか否かを示す情報を受け取るようにしてもよい。ステップ506で、機能Xの回路情報はまだ送信されていないと判断した場合には、ステップ508で回路情報を生成する。ステップ508での回路情報の生成は、図11に示した処理ルーチンと同じであるため説明を省略する。
【0150】
ステップ510では、転送準備完了通知を情報処理装置14に送信する。ステップ512では、DMA転送リストにしたがってDMA転送対象の情報(ここでは回路情報)が情報処理装置14に送信されるようDMAC23を起動する。起動したDMAC23は、DMA転送リストにしたがって、情報処理装置14に回路情報を転送する。
【0151】
また、ステップ506で、以前に機能Xの回路情報を情報処理装置14に送信したことがあると判断した場合には、ステップ508〜512の処理は行わず終了する。
【0152】
一方、ステップ502で、処理多重度が閾値未満であると判断した場合には、ステップ514で、情報処理装置14に対して、機能Xにおいて使用するデータ(例えば画像処理対象の画像データ等)を要求する。ステップ516では、情報処理装置14から、上記要求したデータを受信する。ステップ518では、情報処理装置14から、要求したデータの送信終了通知を受信したか否かを判断する。ステップ518で、肯定判断した場合には、ステップ520で、機能Xを構成する各基本機能のソースプログラムを順次実行形式に変換して実行することにより、機能Xを実行する。
【0153】
ステップ522では、機能Xの実行結果を情報処理装置14に送信する。
【0154】
なお、本実施の形態では、回路情報生成装置12の負荷を示す情報として処理多重度を用いたが、これに限定されない。例えば、回路情報生成装置12の現在のCPU利用率であってもよい。
【0155】
また、本実施の形態に、上記第2の実施の形態で説明した回路情報生成方法を適用してもよい。例えば、機能Xを情報処理装置14の機能実行部44で実行させる場合には、第2の実施の形態で説明したように、予め定められた条件に応じてソフトウェア処理を行う特定の基本機能を求め、該特定の基本機能については、回路情報に代えてソースプログラムを送信するようにし、それ以外の基本機能については回路情報を生成して送信するようにしてもよい。
【0156】
また、本実施の形態では、回路情報生成装置12が、要求された機能を実行する機能実行装置として動作する場合を例に挙げて説明したが、例えば、CPUを含むコンピュータを備え、基本機能をソフトウエア処理することが可能な機能実行装置を回路情報生成装置12及び情報処理装置14とは別にネットワーク16上に設け(図示省略)、回路情報生成装置12に代えて、該機能実行装置の負荷を示す値が閾値未満であれば、該機能実行装置に要求された機能を実行させるように制御してもよい。すなわち、回路情報生成装置12が該機能実行装置の負荷を示す値を該機能実行装置から取得して閾値未満か否かを判断し、該機能を構成する各基本機能のソースプログラムを該機能実行装置に送信して実行させる。
【0157】
また、実行要求される機能は、画像処理の機能に限るものではなく、回路情報に基づいて再構成される回路により実行される様々な機能に適用される。
【0158】
また、上記第1から第3の実施の形態では、機能実行部44のCPU52により回路情報生成装置12に対して回路情報を要求する例について説明したが、例えば、主制御部40のCPU70により回路情報生成装置12に対して回路情報を要求するように構成してもよい。
【0159】
また、上記第1から第3の実施の形態では、1台の情報処理装置14がネットワーク16に接続されている例について説明したが、情報処理装置14は複数台ネットワーク16に接続されていてもよい。回路情報生成装置12は、複数の情報処理装置14から、機能の回路情報の要求を受け付け、該受け付けた要求の各々に対して回路情報を(必要であれば生成して)送信する。
【符号の説明】
【0160】
10 機能実行システム
12 回路情報生成装置
14 情報処理装置
16 ネットワーク
20 CPU
21 ROM
22 RAM
26 第1記憶部
27 第2記憶部
40 主制御部
44 機能実行部
46 記憶部
50 再構成制御回路
52 CPU
53 ROM
54 RAM
57 回路

【特許請求の範囲】
【請求項1】
1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、
回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域と、
要求された機能を構成する該機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能を実行する回路が再構成され、該再構成された回路により前記要求された機能が実行されるように制御する制御手段と、
を有する回路情報生成装置。
【請求項2】
1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、
回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域と、
要求された機能を構成する該機能中の基本機能が、該要求された機能の実行に関する予め定められた条件に応じて、前記ソースプログラムを実行形式に変換したプログラムを用いて実行される特定の基本機能として定められた場合には、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて該特定の基本機能が実行されるように制御する第1の制御と、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能中の基本機能を実行する回路が再構成され、該再構成された回路により前記特定の基本機能を除く基本機能が実行されるように制御する第2の制御とにより、前記要求された機能が実行されるように制御する制御手段と、
を有する回路情報生成装置。
【請求項3】
請求項1に記載の回路情報生成装置と、
回路情報を用いて再構成され、前記要求された機能を実行する回路を備えた機能実行装置と、
を備えた機能実行システム。
【請求項4】
請求項2に記載の回路情報生成装置と、
回路情報を用いて再構成され、前記要求された機能を実行する回路、及び前記ソースプログラムを実行形式に変換したプログラムを実行するコンピュータを有する前記機能実行装置と、
を備えた機能実行システム。
【請求項5】
前記ソースプログラムを実行形式に変換したプログラムを実行するコンピュータを有する第2の機能実行装置を更に備え、
前記回路情報生成装置に、前記第2の機能実行装置の負荷の状態を示す情報を取得し、該取得した負荷の状態を示す情報が予め定められた条件を満たす場合には、前記要求された機能が前記機能実行装置で実行されないよう前記制御手段の制御に代えて、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて前記要求された機能が前記第2の機能実行装置で実行されるように制御する第2の制御手段を更に設けた
請求項3または請求項4に記載の機能実行システム。
【請求項6】
1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域とに接続されたコンピュータを、
要求された機能を構成する該機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能に対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能を実行する回路が再構成され、該再構成された回路により前記要求された機能が実行されるように制御する制御手段として機能させるためのプログラム。
【請求項7】
1または複数の基本機能から構成される機能を構成する前記基本機能に対応するソースプログラムを記憶した第1の記憶領域と、回路を再構成するための回路情報を前記基本機能に対応させて記憶するための第2の記憶領域とに接続されたコンピュータを、
要求された機能を構成する該機能中の基本機能が、該要求された機能の実行に関する予め定められた条件に応じて、前記ソースプログラムを実行形式に変換したプログラムを用いて実行される特定の基本機能として定められた場合には、前記第1の記憶領域に記憶されているソースプログラムを実行形式に変換したプログラムを用いて該特定の基本機能が実行されるように制御する第1の制御と、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されている場合には、該記憶されている回路情報を用いると共に、前記機能中の基本機能が前記特定の基本機能以外の基本機能であって、対応する回路情報が前記第2の記憶領域に記憶されていない場合には、前記第1の記憶領域に記憶されている前記機能中の基本機能に対応するソースプログラムを用いて前記機能中の基本機能に対応する回路情報を生成して前記第2の記憶領域に記憶し、該生成した回路情報を用いて、前記要求された機能中の基本機能を実行する回路が再構成され、該再構成された回路により前記特定の基本機能を除く基本機能が実行されるように制御する第2の制御とにより、前記要求された機能が実行されるように制御する制御手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate