説明

情報処理装置及び再構成デバイスの利用方法

【課題】再構成デバイスの利用時に、回路面積の小型化、スループットの向上あるいは低消費電力化等の各種の要求項目を実現することが可能な情報処理装置及び再構成デバイスの利用方法を提供する。
【解決手段】再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードを生成してメモリへ格納しておく。再構成デバイスの動作時、異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて再構成デバイスに実行させる適切な回路を選択し、該選択した回路に対応するコンフィグレーションコードをメモリから再構成デバイスへロードする。再構成デバイスは、コンフィグレーションコードのロードが完了した段階で、選択された回路による入力データへの処理を開始する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の処理を実行する回路の変更が可能な再構成デバイスを備えた情報処理装置及び再構成デバイスの利用方法に関する。
【背景技術】
【0002】
情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、従来、CPUとは別に特定の演算や処理を実行するDSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit)等を備え、CPUの処理負荷を軽減することで情報処理装置の処理能力を向上させた構成が知られている。
【0003】
しかしながら、近年の情報処理装置は、これら画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要になり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報セキュリティのための暗号化処理やそれを解読するための処理も必要となる。そのため、これらの処理に応じて多数のDSPやASIC等を設けていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。
【0004】
そこで、情報処理装置にFPGA(Field Programmable Gate Array)やDRP(Dynamically Reconfigurable Processor)等の再構成デバイスを備え、必要に応じて再構成デバイス内のプログラムを書き換えて特定の処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成が知られている。
【0005】
再構成デバイスは、内部にプログラム(コンフィグレーションコード)を格納するための内部メモリを備え、CPU等の制御により外部メモリに格納されたコンフィグレーションコードを内部メモリへロードし、ロードしたコンフィグレーションコードにしたがって内部に仮想的な回路を構成し、該回路により、入力されたデータに対して特定の処理(以下、タスクと称す)を実行する。
【0006】
この内部メモリの容量には限りがあるため、コンフィギュレーションコードによって実現できる回路規模には限界があり、再構成デバイスにその内部メモリ容量以上の複数の回路を実行させる場合、再構成デバイスは、それらの回路を一度に実現できないため、コンフィグレーションコードを入れ替えながら実行する必要がある。
【0007】
通常、コンフィグレーションコードのサイズは大きいため、内部メモリへロードするには時間がかかる。そのため、FPGAでは、回路の一部が動作中であっても動作していない他の回路形成領域の変更が可能な構成が提案され、例えば米国Xilinx社のVirtex2(非特許文献1参照)やVirtex4(非特許文献2参照)が知られている。
【0008】
また、DRPでは、回路の一部が動作中であっても使用していないコンテキストのコンフィギュレーションコードを外部から書き換えることが可能であり、例えば特許文献1や特許文献2にその手法が記載されている。
【0009】
また、各処理工程に要求される能力に応じて再構成デバイスの処理時間を自動的に調整するために、再構成デバイスの入力データ及び出力データの蓄積量をそれぞれ監視し、回路の処理能力に応じてコンフィギュレーションコードを読み込むことが特許文献3に記載されている。
【0010】
なお、CPUは、通常、命令(インストラクション)とデータを同時に入力して処理しているため、CPUを再構成デバイスとして考えることも可能である。CPUに実行させる処理(回路構成)を動的に書き換えることについては、例えば特許文献4や特許文献5で提案されている。また、使用コスト値に応じて回路(プログラム)を動的に書き換えることが特許文献6に記載されている。
【非特許文献1】P. Butel, G. Habay, A. Rachet, "Managing Partial Dynamic Reconfiguration in Virtex-II Pro FPGAs", Xilinx, Inc.,[平成17年8月15日検索]、インターネット<URL: HYPERLINK "http://www.xilinx.com/publications/xcellonline/xcell_50/xc_pdf/xc_mbda50.pdf" http://www.xilinx.com/publications/xcellonline/xcell_50/xc_pdf/xc_mbda50.pdf>
【非特許文献2】R. Krueger, "Dynamic Reconfiguration of Functional Blocks" Xilinx, Inc.,[平成17年8月15日検索]、インターネット<URL: HYPERLINK "http://www.xilinx.com/publications/xcellonline/xcell_52/xc_pdf/xc_v4config52.pdf" http://www.xilinx.com/publications/xcellonline/xcell_52/xc_pdf/xc_v4config52.pdf>
【特許文献1】特開2004−133780号公報
【特許文献2】特開2004−133781号公報
【特許文献3】特開2005−124130号公報
【特許文献4】特開2000−040745号公報
【特許文献5】特開2000−516418号公報
【特許文献6】国際公開第2001/090887号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【0011】
情報処理装置では、上記再構成デバイスのように、その物理的な回路面積以上の回路を実現するだけではシステムに要求される課題を解決できない場合がある。例えば、回路は、単に回路面積が小さければよいというものではなく、データ処理に対して高いスループットが要求される場合や低消費電力が要求される場合がある。
【0012】
また、これらの要求項目は一定ではなく、システムの動作状態に応じて変更が必要となる場合がある。例えば、システムに電力を供給する電池の残量が少なくなったときや装置の周囲温度が上昇したときは、回路の消費電力を抑制する必要がある。
【0013】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、再構成デバイスの利用時に、回路面積の小型化、スループットの向上あるいは低消費電力化等の各種の要求項目を実現することが可能な情報処理装置及び再構成デバイスの利用方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するため本発明の情報処理装置は、コンフィグレーションコードにしたがって所望のタスクを実行するための回路を変更可能に実現する再構成デバイスと、
前記再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードが格納されるコンフィグレーションコードメモリと、
前記異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて前記再構成デバイスに実行させる適切な回路を選択する、前記再構成デバイスに対する前記コンフィグレーションコードのロードを制御する再構成デバイスコントローラと、
を有する構成である。
【0015】
一方、本発明の再構成デバイスの利用方法は、コンフィグレーションコードにしたがって所望のタスクを実行するための回路を変更可能に実現する再構成デバイスの利用方法であって、
予め、前記再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードを生成してメモリへ格納しておき、
前記異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて前記再構成デバイスに実行させる適切な回路を選択し、該選択した回路に対応するコンフィグレーションコードを前記メモリから前記再構成デバイスへロードし、
前記コンフィグレーションコードのロードが完了した段階で、前記再構成デバイスに、選択した回路による入力データへの処理を開始させる方法である。
【0016】
上記のような情報処理装置及び再構成デバイスの利用方法では、再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードを予め生成しておき、異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて再構成デバイスに実行させる適切な回路を選択し、該選択した回路に対応するコンフィグレーションコードをメモリから再構成デバイスへロードするため、再構成デバイス内に構成する回路をシステムの動作状態に応じて適宜切り換えることができる。
【発明の効果】
【0017】
本発明によれば、再構成デバイスで実現する回路をシステムの動作状態に応じて適宜切り換えることができるため、回路面積の小型化、スループットの向上あるいは低消費電力化等の、再構成デバイス内に構成する回路に対する各種の要求項目を実現することが可能になる。
【発明を実施するための最良の形態】
【0018】
次に本発明について図面を参照して説明する。
【0019】
図1は本発明の情報処理装置の一構成例を示すブロック図である。
【0020】
図1に示すように、本発明の情報処理装置は、FPGAやDRP等のようにコンフィグレーションコードにしたがって所望の処理(タスク)を実行するための回路を実現する再構成デバイス1と、再構成デバイス1で用いるコンフィグレーションコードが格納されるコンフィグレーションコードメモリ2と、再構成デバイス1の動作、及び再構成デバイス1に対するコンフィグレーションコードのロードを制御する再構成デバイスコントローラ3と、再構成デバイス1へ供給する処理対象のデータ(入力データ)を一時的に保持する入力バッファ4(図1では入力バッファ41、42)と、再構成デバイス1から出力される処理後のデータ(出力データ)を一時的に保持する出力バッファ5と、入力バッファ4及び出力バッファ5の動作を制御するバッファコントローラ6と、再構成デバイス1へ供給する入力データあるいは再構成デバイス1で処理された出力データに対して所望の処理を実行する複数の処理回路7(図1では処理回路71〜73)と、処理回路7の動作を制御する処理回路コントローラ8と、情報処理装置全体の処理や制御を行うシステムコントローラ9と、情報処理装置内の温度や電池の残量等を検出するセンサ10とを有する構成である。
【0021】
バッファコントローラ6、処理回路7、処理回路コントローラ8は、例えば論理回路やメモリ等を用いてそれぞれ構成してもよく、CPU(またはDSP)と内部メモリとを備え、該内部メモリに格納されたプログラムにしたがってCPU(またはDSP)により各種の処理を実現する構成であってもよい。
【0022】
システムコントローラ9は、情報処理装置全体の処理や制御を可能にするために、例えば、CPU、DSP、あるいはその他の処理装置を用いて構成される。
【0023】
なお、再構成デバイスコントローラ3、バッファコントローラ6及び処理回路コントローラ8は、必ずしも備えている必要はなく、例えばシステムコントローラ9をプログラムにしたがって動作するCPUで実現する場合、これらの装置の機能をシステムコントローラ9で実現することも可能である。その場合、再構成デバイスコントローラ3、バッファコントローラ6、処理回路コントローラ8及びシステムコントローラ9の各機能は、1つのCPUによって実現してもよく、複数のCPUによって実現してもよい。
【0024】
また、図1では、再構成デバイス1へ供給する入力データ及び再構成デバイス1で処理された出力データに対してそれぞれ処理回路7で所望の処理を実行する構成を示しているが、これらの処理は、例えばシステムコントローラ9で実行してもよい。その場合、処理回路7は不要になる。
【0025】
また、図1では、2つの入力バッファ41、42、1つの出力バッファ5、及び3つの処理回路71、72、73を有する構成を示しているが、これらの装置の数は、再構成デバイス1の内部メモリの容量や処理能力、あるいは構成によって決まるものであり、それぞれ幾つ備えていてもよい。
【0026】
センサ10は、後述するように装置内の温度上昇や電池の残量が少なくなった状態を検知し、再構成デバイス1内に構成する回路を、低消費電力化を実現する回路へ切り換えるためのものである。このようなコンフィグレーションコードの切り換え処理が不要な場合、センサ10を備える必要はない。
【0027】
さらに、図1では、再構成デバイス1、コンフィグレーションコードメモリ2、再構成デバイスコントローラ3、入力バッファ4、出力バッファ5、バッファコントローラ6、処理回路7、処理回路コントローラ8及びシステムコントローラ9を、それぞれ独立して備える構成を示しているが、これらの装置は、その全てが1つのチップ上に形成されていてもよく、任意の複数の装置が1つのチップ上に形成された構成であってもよい。
【0028】
図1に示す情報処理装置では、再構成デバイス1で実行するタスクとして、タスクA、B、Cが設定され、タスク毎に所望の要求項目を実現する複数の回路のコンフィギュレーションコードがそれぞれ生成される。ここで、「要求項目」(以下、特徴と称す)とは、小さい回路面積、高いスループット、低消費電力等が考えられる。
【0029】
コンフィグレーションコードは、予め周知の合成ツールを用いて生成し、コンフィグレーションコードメモリ2へ格納しておく。合成ツールは、図2に示すように、例えば動作合成ツール、マッピングツール、配置配線ツール及びコード生成ツールを備えた構成である。動作合成ツールは、設計者が作成した動作記述で示される一連の処理を制御回路とデータパス回路に分離し、それぞれの回路の中間コードを生成する。マッピングツール及び配置配線ツールは、動作合成ツールから出力された中間コードで示される回路要素及びそれらを接続するための配線を再構成デバイス内に実装するための処理を実行する。コード生成ツールは、マッピングツール及び配置配線ツールで生成された回路(プログラム)をコンフィグレーションコードに変換する。このような合成ツールについては、戸井、粟島、若林、本村、「動的再構成プロセサをC言語だけで設計可能に」、日経エレクトロニクス、2004年6月21日号、pp.131−138等で詳細に記載されている。
【0030】
近年の合成ツールは、C、C++、Java等の高位の言語やVerilog、VHDL等のハードウエア記述言語を用いて再構成デバイス内に構築可能な大規模な回路の設計が可能になってきている(図2はC言語を用いる例)。また、タスク毎に生成する複数のコンフィグレーションコードは、動作合成ツールに対して、スループット、回路面積、あるいは消費電力等に対する制約条件(合成制約)を設定することで生成できる。その場合、異なる特徴を持ちながら同じタスクを実行する様々な回路(例えば、単位面積当たりのスループットが異なる回路)を容易に生成できる(例えば、特開2003−99409号公報参照)。なお、タスク毎に生成する複数のコンフィグレーションコードは、同一のソースコードを用いて生成してもよく、異なるソースコードを用い、かつ異なるアルゴリズムを用いて生成してもよい。
【0031】
このような構成において、本発明では、再構成デバイス1によるタスクの実行時、再構成デバイスコントローラ3によりシステムの動作状態に応じて適切な回路を選択し、選択した回路に対応するコンフィグレーションコードをコンフィグレーションコードメモリ2から再構成デバイス1の内部メモリへロードして回路を適宜切り換える。再構成デバイス1は、コンフィグレーションコードのロードが完了した時点で、対応する回路にて入力データに対する処理を開始する。コンフィグレーションコードは、そのサイズ(回路面積に相当)に応じて内部メモリの内容を全て書き換える場合、あるいは内部メモリの現在使用していない回路形成領域(コンテキストを含む)へロードする場合がある。
【0032】
再構成デバイスコントローラ3による回路の選択方法としては、システムコントローラ9から得られる、タスク毎の特徴やタスク毎に要求された固有情報等から決まるタスクの優先度に応じて回路を選択する方法がある。ここで、固有情報とは、タスクに対して高いスループットが要求されている否か、優先的な処理が要求されているか否か、タスクの処理順が指定されているか否か等の情報である。
【0033】
例えば、現在実行しているタスクよりも優先的に処理すべきタスクが要求された場合、その優先度の高いタスクのコンフィグレーションコード(高スループットを特徴とする回路)のロードが完了した段階で、実行中のタスクを中断して優先度の高いタスクを実行する。但し、優先度の高いタスクに対して高いスループットが要求されていない場合は、優先度の高いタスクとして小面積を特徴とする回路を選択し、現在実行しているタスクと高い優先度のタスクを並列に実行する方法もある。なお、再構成デバイスの出力データをさらに再構成デバイスで処理する等、入力データと出力データ間に依存性があるタスクが要求された場合は、該タスクを複数の回路で並列に実行することなく、高いスループットの回路を選択して実行する。
【0034】
また、再構成デバイスコントローラ3による回路の他の選択方法として、バッファコントローラ6で管理する、入力バッファ4及び出力バッファ5が保持しているデータ量の情報を用い、再構成デバイス1の処理能力に応じて高スループットを特徴とする回路を選択する方法がある。
【0035】
例えば、入力バッファ4で保持しているデータ量が、そのバッファ容量を越えるおそれがある(データ量が所定のしきい値を越える)場合は高スループットを特徴とする回路を選択し、出力バッファ5で保持しているデータ量が、そのバッファ容量を越えるおそれがある(データ量が所定のしきい値を越える)場合は、小面積を特徴とする回路(一般に、小面積の回路は遅延量が大きい)を選択する。
【0036】
さらに、再構成デバイスコントローラ3による回路の他の選択方法として、センサ10で検知された情報に基づいてシステムコントローラ9から発行される指示により低消費電力を特徴とする回路を選択する方法がある。
【0037】
例えば、センサ10が温度を検知する温度センサの場合は、装置内の温度がその許容範囲の上限に近づいたときに(所定のしきい値を越えたときに)低消費電力を特徴とする回路を選択する。また、センサ10が電池の残量を検知する残量センサの場合は、電池の残量が所定のしきい値より少なくなったときに低消費電力を特徴とする回路を選択する。
【0038】
なお、再構成デバイスコントローラ3による回路の選択方法は、上述したタスク毎に予め設定された優先度、タスク毎の特徴、タスク毎に固有の情報等に応じて回路を選択する方法、再構成デバイス1の処理能力に応じて高スループットを特徴とする回路を選択する方法、及びセンサ10で検知された情報に基づいて低消費電力を特徴とする回路を選択する方法を適宜組み合わせてもよい。
【0039】
本発明によれは、再構成デバイス1で実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードを予め生成してコンフィグレーションコードメモリ2へ格納しておき、異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて再構成デバイス1に実行させる適切な回路を選択し、該選択した回路に対応するコンフィグレーションコードをコンフィグレーションコードメモリ2から再構成デバイス1へロードするため、再構成デバイスで実現する回路をシステムの動作状態に応じて適宜切り換えることが可能になり、回路面積の小型化、スループットの向上あるいは低消費電力化等の、再構成デバイス1内に構成する回路に対する各種の要求項目を実現することができる。
【0040】
次に、本発明の再構成デバイスの利用方法について図面を用いて説明する。
【0041】
図3〜5は、図1に示した再構成デバイスの利用方法を示す図であり、再構成デバイスで処理するタスクの時間的な推移を示すタイミングチャートである。
【0042】
図3は、最初に高スループットを特徴とするタスクAのコンフィグレーションコードを再構成デバイス1にロードして時刻T0からタスクAを実行し、次に小面積を特徴とするタスクAのコンフィグレーションコード及び小面積を特徴とするタスクBのコンフィグレーションコードをそれぞれ再構成デバイス1にロードして時刻T1から小面積を特徴とする2つの回路で該タスクA及びタスクBを並列に実行し、最後に高スループットを特徴とするタスクAのコンフィグレーションコードを再構成デバイス1にロードして時刻T2から高スループットを特徴とする回路でタスクAを実行する例である。
【0043】
図4は、最初に高スループットを特徴とするタスクAのコンフィグレーションコードを再構成デバイス1にロードして時刻T0からタスクAを実行し、次に小面積を特徴とするタスクAのコンフィグレーションコード及び小面積を特徴とするタスクBのコンフィグレーションコードをそれぞれ再構成デバイス1にロードして時刻T1から該タスクA及びタスクBを並列に実行し、最後に小面積を特徴とするタスクAのコンフィグレーションコードを再構成デバイス1の他のコンテキストにロードし、時刻T2から小面積を特徴とする2つの回路でタスクAをそれぞれ並列に実行する例である。
【0044】
また、図5は、最初に高スループットを特徴とするタスクAのコンフィグレーションコードを再構成デバイス1にロードして時刻T0から高スループットを特徴とする回路でタスクAを実行し、次に低消費電力を特徴とするタスクAのコンフィグレーションコードを再構成デバイス1にロードして時刻T1から低消費電力を特徴とする回路でタスクA実行する例である。
【0045】
図3は、処理回路コントローラ8またはバッファコントローラ6からの要求によってタスクAよりもタスクBを優先して実行しなければならない場合の、再構成デバイス1の利用例を示している。ここでは、タスクBの処理に高いスループットが要求されていないため、時刻T1から小面積を特徴とする回路でタスクBを実行している。この場合、再構成デバイス1で構成可能な回路面積に余裕があるため、時刻T1からタスクBを実行しつつ小面積を特徴とする回路でタスクAを並列に実行している。
【0046】
なお、図3ではタスクBが完了した時点で高スループットを特徴とする回路でタスクAを再び実行している。このような処理手順は、タスクAの入力データと出力データ間に依存性があるためにタスクAを複数の回路で並列に実行できない場合に有効な方法である。
【0047】
一方、図4では、タスクBが終了すると、小面積を特徴とする2つの回路でタスクAを並列に実行している。この場合、図3に示した利用方法と異なり高スループットを特徴とするタスクA用のコンフィギュレーションコードを再びロードする必要がない。したがって、高スループットを特徴とするタスクA用のコンフィギュレーションコードのロードに要する時間だけ情報処理装置のスループットが向上する。また、タスクBの再実行が予想される場合に、小面積を特徴とするタスクA用の2つの回路の一方をタスクBを実行するための回路に書き換えればよいため、コンフィギュレーションコードのロードに要する時間を最小限に抑制できる。
【0048】
図5は、システムコントローラ9から再構成デバイス1の消費電力を低減するように要求された場合の再構成デバイスの利用例を示している。
【0049】
例えば、情報処理装置が備えるセンサ10によって、装置内の温度が許容温度範囲の上限に近づいたことを検知した場合、あるいは図1に示したシステムを携帯機器に適用した構成では電池の残量が少ない状態を検知した場合に、このような要求が発せられると想定される。その場合、高スループットを特徴とする回路から低消費電力を特徴とする回路へ切り換えてタスクAを続行すれば、低消費電力の考慮が不要となるまでタスクAの処理を停止する等の処置を行うことなく、消費電力を下げることができる。
【0050】
なお、システムコントローラ9をCPUで実現している場合、通常、CPUの消費電力は動作周波数と比例する関係にある。すなわち、CPUの消費電力を抑制するには動作周波数を下げればよい。一方、再構成デバイス1では、スループットをあまり低下させなくても消費電力を低減できる単位スループット当たりの消費電力が少ない回路や単位面積当たりの消費電力が少ない回路を合成できる。したがって、再構築デバイス1を、低消費電力を特徴とする回路へ切り換えると共に、この手法を併用すれば、情報処理装置全体の消費電力をより抑制できる。
【0051】
ところで、複数のCPUを備えたマルチCPUシステムでは、各CPUが理想的に動作していれば装置全体のスループットとCPUの個数(面積)は正比例の関係にある。つまり、タスクの処理に割り当てるCPUの数を増やすと、それに比例してシステムのスループットが向上する。しかしながら、CPUの個数が増えると、共有するメモリに対するアクセスの競合やバスで伝送可能な伝送帯域の飽和、その他の共有資源に対するアクセスの競合によってスループットが飽和してくる。
【0052】
それに対して、再構成デバイス1中に構成される回路は、CPUよりも細かな処理単位で実現可能であり、また同じ機能を持つ回路を大きな面積で実現することも可能である。その場合、複数の処理を並行して実行する回路を実現できること等からスループットと回路面積は基本的に正比例するが、採用するアルゴリズムによっては回路面積を増大した以上のスループットが得られる場合がある。例えば、2次元のFIRフィルタを実現する場合、x方向のループを展開する場合と、x、y方向のループを展開してパイプライン処理する場合とではアルゴリズムが異なるため、スループットと回路面積は正比例せず、x、y方向へ展開して処理する方が単位面積当たりのスループットが向上する。
【図面の簡単な説明】
【0053】
【図1】本発明の情報処理装置の一構成例を示すブロック図である。
【図2】コンフィグレーションコードの生成に用いる合成ツールの一構成例を含む、コンフィグレーションコードのコンパイル手順を示すフローチャートである。
【図3】図1に示した再構成デバイスの利用方法を示す図であり、再構成デバイスで処理するタスクの時間的な推移を示すタイミングチャートである。
【図4】図1に示した再構成デバイスの利用方法を示す図であり、再構成デバイスで処理するタスクの時間的な推移を示すタイミングチャートである。
【図5】図1に示した再構成デバイスの利用方法を示す図であり、再構成デバイスで処理するタスクの時間的な推移を示すタイミングチャートである。
【符号の説明】
【0054】
1 再構成デバイス
2 コンフィグレーションコードメモリ
3 再構成デバイスコントローラ
4、41、42 入力バッファ
5 出力バッファ
6 バッファコントローラ
7、71、72、73 処理回路
8 処理回路コントローラ
9 システムコントローラ
10 センサ

【特許請求の範囲】
【請求項1】
コンフィグレーションコードにしたがって所望のタスクを実行するための回路を変更可能に実現する再構成デバイスと、
前記再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードが格納されるコンフィグレーションコードメモリと、
前記異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて前記再構成デバイスに実行させる適切な回路を選択する、前記再構成デバイスに対する前記コンフィグレーションコードのロードを制御する再構成デバイスコントローラと、
を有する情報処理装置。
【請求項2】
前記特徴は、
小さい回路面積である請求項1記載の情報処理装置。
【請求項3】
前記特徴は、
高いスループットである請求項1または2記載の情報処理装置。
【請求項4】
前記特徴は、
低消費電力である請求項1から3のいずれか1項記載の情報処理装置。
【請求項5】
前記再構成デバイスコントローラは、
前記タスク毎の特徴や前記タスク毎に要求された固有情報から決まるタスクの優先度に応じて、前記再構成デバイスに実行させる回路として、小さい回路面積を特徴とする回路を選択する請求項2記載の情報処理装置。
【請求項6】
再構成デバイスで処理された処理後のデータである出力データを一次的に保持する出力バッファを備え、
前記再構成デバイスコントローラは、
前記出力バッファで保持しているデータ量が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、小さい回路面積を特徴とする回路を選択する請求項2記載の情報処理装置。
【請求項7】
前記再構成デバイスコントローラは、
同一のタスクに対応して生成された小面積を特徴とする回路を実現するためのコンフィグレーションコードを前記再構成デバイスが備える複数の回路形成領域にそれぞれロードし、前記再構成デバイスに複数の同一のタスクを並列に実行させる請求項2記載の情報処理装置。
【請求項8】
前記再構成デバイスコントローラは、
前記タスク毎の特徴や前記タスク毎に要求された固有情報から決まるタスクの優先度に応じて、前記再構成デバイスに実行させる回路として、高いスループットを特徴とする回路を選択する請求項3記載の情報処理装置。
【請求項9】
再構成デバイスへ供給する処理対象のデータである入力データを一次的に保持する入力バッファを備え、
前記再構成デバイスコントローラは、
前記入力バッファで保持しているデータ量が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、高いスループットを特徴とする回路を選択する請求項3記載の情報処理装置。
【請求項10】
周囲温度を検知するための温度センサを有し、
前記再構成デバイスコントローラは、
前記温度センサで検知された温度が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路を選択する請求項4記載の情報処理装置。
【請求項11】
電池の残量を検知するための残量センサを有し、
前記再構成デバイスコントローラは、
前記残量センサで検知された電池の残量が所定のしきい値より少なくなったとき、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路を選択する請求項4記載の情報処理装置。
【請求項12】
情報処理装置全体の処理や制御を行う、CPUを備えたシステムコントローラを有し、
前記システムコントローラは、
前記再構成デバイスコントローラにより、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路が選択されたとき、前記CPUの動作周波数を低下させる請求項4記載の情報処理装置。
【請求項13】
コンフィグレーションコードにしたがって所望のタスクを実行するための回路を変更可能に実現する再構成デバイスの利用方法であって、
予め、前記再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードを生成してメモリへ格納しておき、
前記異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて前記再構成デバイスに実行させる適切な回路を選択し、該選択した回路に対応するコンフィグレーションコードを前記メモリから前記再構成デバイスへロードし、
前記コンフィグレーションコードのロードが完了した段階で、前記再構成デバイスに、選択した回路による入力データへの処理を開始させる再構成デバイスの利用方法。
【請求項14】
前記特徴は、
小さい回路面積である請求項13記載の再構成デバイスの利用方法。
【請求項15】
前記特徴は、
高いスループットである請求項13または14記載の再構成デバイスの利用方法。
【請求項16】
前記特徴は、
低消費電力である請求項13から15のいずれか1項記載の再構成デバイスの利用方法。
【請求項17】
前記タスク毎の特徴や前記タスク毎に要求された固有情報から決まるタスクの優先度に応じて、前記再構成デバイスに実行させる回路として、小さい回路面積を特徴とする回路を選択する請求項14記載の再構成デバイスの利用方法。
【請求項18】
前記再構成デバイスで処理された処理後のデータである出力データを一次的に保持する出力バッファで保持しているデータ量が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、小さい回路面積を特徴とする回路を選択する請求項14記載の再構成デバイスの利用方法。
【請求項19】
同一のタスクに対応して生成された小面積を特徴とする回路を実現するためのコンフィグレーションコードを前記再構成デバイスが備える複数の回路形成領域にそれぞれロードし、前記再構成デバイスに複数の同一のタスクを並列に実行させる請求項14記載の再構成デバイスの利用方法。
【請求項20】
前記タスク毎の特徴や前記タスク毎に要求された固有情報から決まるタスクの優先度に応じて、前記再構成デバイスに実行させる回路として、高いスループットを特徴とする回路を選択する請求項15記載の再構成デバイスの利用方法。
【請求項21】
再構成デバイスへ供給する処理対象のデータである入力データを一次的に保持する入力バッファで保持しているデータ量が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、高いスループットを特徴とする回路を選択する請求項15記載の再構成デバイスの利用方法。
【請求項22】
周囲温度を検知するための温度センサで検知された温度が所定のしきい値を越えたとき、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路を選択する請求項16記載の再構成デバイスの利用方法。
【請求項23】
電池の残量を検知するための残量センサで検知された電池の残量が所定のしきい値より少なくなったとき、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路を選択する請求項16記載の再構成デバイスの利用方法。
【請求項24】
情報処理装置全体の処理や制御を行う、CPUを備えたシステムコントローラを有し、
前記システムコントローラは、
前記再構成デバイスコントローラにより、前記再構成デバイスに実行させる回路として、低消費電力を特徴とする回路が選択されたとき、前記CPUの動作周波数を低下させる請求項16記載の再構成デバイスの利用方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−179358(P2007−179358A)
【公開日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2005−377731(P2005−377731)
【出願日】平成17年12月28日(2005.12.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(302062931)NECエレクトロニクス株式会社 (8,021)
【Fターム(参考)】