(57)【要約】【課題】  構成情報を送信する際の消費電力を削減する。【解決手段】  動的再構成回路101は、演算処理を行う複数のPE106、複数のPE106の間を接続する複数のルータ107、および、複数のPE106および複数のルータ107の少なくとも一部の動作設定を示す構成情報の送信経路を形成する複数のスイッチ108を有する。判定部103は、構成情報によって動作設定が変更されるPE106とルータ107を判定する。経路設定部104は、動作設定が変更されるPE106とルータ107に構成情報を送信する送信経路を形成するための経路切替信号を複数のスイッチ108に送信する。【選択図】  図1
2015060401.tif 000002
【特許請求の範囲】
【請求項１】
演算処理を行う複数の演算要素、前記複数の演算要素の間を接続する複数の接続要素、および、前記複数の演算要素および前記複数の接続要素の少なくとも一部の動作設定を示す構成情報の送信経路を形成する複数のスイッチを備える演算回路と、
構成情報によって前記動作設定が変更される演算要素と接続要素を判定する判定手段と、
前記動作設定が変更される演算要素と接続要素に前記構成情報を送信する送信経路を形成するための経路切替信号を前記複数のスイッチに送信する経路設定手段とを有する情報処理装置。
【請求項２】
さらに、前記送信経路に前記構成情報を送信する制御手段を有する請求項1に記載された情報処理装置。
【請求項３】
前記経路設定手段は、前記経路切替信号を送信した後、所定時間が経過すると、経路設定完了信号を出力し、
前記制御手段は、前記経路設定完了信号が出力されると、前記構成情報を送信する請求項2に記載された情報処理装置。
【請求項４】
前記制御手段は、前記送信した構成情報を前記演算回路から受信すると、前記演算回路に処理開始信号を送信する請求項2または請求項3に記載された情報処理装置。
【請求項５】
前記送信経路は、前記複数の演算要素、前記複数の接続要素および前記複数のスイッチの少なくとも一部によって形成される請求項1から請求項4の何れか一項に記載された情報処理装置。
【請求項６】
さらに、前記判定の結果に基づき、クロックゲーティング信号を生成するゲート設定手段を有し、
前記クロックゲーティング信号は、前記演算要素、前記接続要素および前記スイッチそれぞれについてクロックの供給と供給停止を切り替える、前記演算回路が有する複数のゲートに送信される請求項5に記載された情報処理装置。
【請求項７】
前記クロックゲーティング信号は、前記送信経路を形成しない前記演算要素、前記接続要素、前記スイッチへの前記クロックの供給を停止するための信号である請求項6に記載された情報処理装置。
【請求項８】
さらに、前記判定の結果に基づき、電源切替信号を生成する電源制御手段を有し、
前記電源切替信号は、前記演算要素、前記接続要素および前記スイッチを含む回路ブロックそれぞれについて電源の供給と遮断を切り替える、前記演算回路が有する複数の電源スイッチに送信される請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項９】
前記電源制御手段は、前記判定の結果に基づき生成した経路切替信号を前記経路設定手段に供給する請求項8に記載された情報処理装置。
【請求項１０】
前記経路設定手段は、前記判定の結果および前記電源切替信号に基づき、前記経路切替信号を生成する請求項8に記載された情報処理装置。
【請求項１１】
前記演算要素および前記接続要素は、受信した構成情報に自分の識別番号に一致する識別番号が含まれる場合、前記識別番号に対応する前記構成情報の設定値に従い前記動作設定を行い、当該構成情報を前記送信経路の後方に出力する請求項1から請求項10の何れか一項に記載された情報処理装置。
【請求項１２】
前記演算要素および前記接続要素は、受信した構成情報に自分の識別番号に一致する識別番号が含まれない場合、前記動作設定を行わずに、当該構成情報を前記送信経路の後方に出力する請求項1から請求項10の何れか一項に記載された情報処理装置。
【請求項１３】
前記演算要素の動作設定には、処理対象のデータを入力する入力経路の設定、前記処理対象のデータに施す演算処理の設定、処理結果のデータを出力する出力経路の設定が含まれる請求項11または請求項12に記載された情報処理装置。
【請求項１４】
前記接続要素の動作設定には、データを入力する入力経路の設定、前記データを出力する出力経路の設定が含まれる請求項11から請求項13の何れか一項に記載された情報処理装置。
【請求項１５】
前記判定手段は、前記構成情報に含まれる識別番号によって前記動作設定が変更される演算要素と接続要素を判定する請求項1から請求項14の何れか一項に記載された情報処理装置。
【請求項１６】
演算処理を行う複数の演算要素、前記複数の演算要素の間を接続する複数の接続要素、および、前記複数の演算要素および前記複数の接続要素の少なくとも一部の動作設定を示す構成情報の送信経路を形成する複数のスイッチを備える演算回路を有する情報処理装置の制御方法であって、
構成情報によって前記動作設定が変更される演算要素と接続要素を判定し、
前記動作設定が変更される演算要素と接続要素に前記構成情報を送信する送信経路を形成するための経路切替信号を前記複数のスイッチに送信する制御方法。
【請求項１７】
コンピュータを請求項1から請求項15の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
【請求項１８】
請求項17に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算要素を有し、動的再構成が可能な情報処理装置に関する。
【背景技術】
【０００２】
半導体製造技術の進歩による素子の微細化に伴い、膨大な数のトランジスタが大規模集積回路(LSI)上に集積されるようになった。この微細化・トランジスタ数の増加に起因してスタティック電力が増加する。さらに、プロセッサの高周波化に伴って動作時電力が増加する。そのため、性能と低消費電力化のトレードオフが生じ、性能向上に限界が見え始めている。
【０００３】
そこで、さらなる性能向上を実現する手段として、中央処理装置(CPU)、ディジタル信号プロセッサ(DSP)、単体の演算器、または、演算ユニットなどのプロセッサエレメント(PE)をLSI上に複数搭載したアレイ型演算装置が注目されている。アレイ型演算装置は、複数のPEを用いて並列処理を行うことで、プロセスの微細化による動作周波数の向上が従来ほど見込めない状況であっても、高い演算性能を得ることができる。
【０００４】
アレイ型演算装置には、装置の動作を規定した構成情報が外部から入力される。アレイ型演算装置内の各PEはルータを介して接続され、構成情報に従ってルータの設定を変更することで、各PE間のデータ転送経路が切り替わる。また、アレイ型演算装置内の演算器の動作も構成情報に従って設定される。
【０００５】
アレイ型演算装置内の演算器の数は数百個になる場合がある。そのため、アドレス指定によって複数の演算器に同時に構成情報を送信する方法を用いると、各演算器に接続する配線が多くなり、実装に適さない。そのため、アレイ型演算装置において、構成情報を送信する回路は、一つまたは複数のシフトレジスタによって構成されている。
【０００６】
FPGA (field-programmable gate array)の外部から供給される構成情報を1ビットずつシフトして、FPGA内のシフトレジスタに構成情報を送信して、メモリに構成情報を格納する手法が提案されている（特許文献1）。
【０００７】
なお、アレイ型演算装置によって実現されるシステムには、システム全体を止めたり、データフローを止めたりすることなく動作変更したいという要求がある。そのため、システム動作中に一部の演算器、ルータの動作設定を変更するケースがある。
【０００８】
しかし、構成情報の送信回路をシフトレジスタで構成すると、一部の演算器、ルータの動作設定を変更する場合も、シフトレジスタに接続された演算器、ルータすべてに構成情報を送信する必要がある。そのため、構成情報を送信する必要がないシフトレジスタまで動作して、無駄な電力が消費される。さらに、すべてのシフト動作が終わるまで構成情報の送信が完了しないため、構成情報の送信に要する時間が長くなる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2003-198361号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、構成情報を送信する際の消費電力の削減を目的とする。
【００１１】
さらに、構成情報の送信に要する時間の短縮を他の目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる情報処理装置は、演算処理を行う複数の演算要素、前記複数の演算要素の間を接続する複数の接続要素、および、前記複数の演算要素および前記複数の接続要素の少なくとも一部の動作設定を示す構成情報の送信経路を形成する複数のスイッチを備える演算回路と、構成情報によって前記動作設定が変更される演算要素と接続要素を判定する判定手段と、前記動作設定が変更される演算要素と接続要素に前記構成情報を送信する送信経路を形成するための経路切替信号を前記複数のスイッチに送信する経路設定手段とを有する。
【発明の効果】
【００１４】
本発明によれば、構成情報を送信する際の消費電力を削減することができる。
【００１５】
さらに、構成情報の送信に要する時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例の情報処理装置の構成例を示すブロック図。
【図２】構成情報の構成例を説明する図。
【図３】動的再構成回路の内部構成例を示す図。
【図４】回路ブロックの詳細例を示す図。
【図５】PEの内部構成例を示すブロック図。
【図６】ルータの内部構成例を示すブロック図。
【図７】動的再構成回路内のPEおよびルータのID設定例を示す図。
【図８】判定信号および判定部が備える判定テーブルを説明する図。
【図９】判定信号の生成処理を説明するフローチャート。
【図１０】クロスバースイッチのアドレス例を示す図。
【図１１】経路切替信号および経路判定部が備える経路切替テーブルを説明する図。
【図１２】経路切替信号および経路設定完了信号の生成処理を説明するフローチャート。
【図１３】構成情報の送信経路の一例を示す図。
【図１４】動的再構成回路が動作中にPEとルータの一部の動作設定を変更する処理を説明する図。
【図１５】動作設定の変更処理を含む一連の動作を説明するフローチャート。
【図１６】構成情報を生成する構成情報生成装置および構成情報を使用する半導体装置の構成例を示すブロック図。
【図１７】外部メモリに保持される構成情報の配置例を示す図。
【図１８】実施例2の情報処理装置の構成例を示すブロック図。
【図１９】回路ブロックの構成例およびゲート設定部が備えるテーブルを説明する図。
【図２０】実施例3の情報処理装置の構成例を示すブロック図。
【図２１】実施例3の動的再構成回路の構成例を示す図。
【図２２】電源制御部が備える電源制御テーブルを説明する図。
【発明を実施するための形態】
【００１７】
以下、本発明にかかる実施例の情報処理装置を図面を参照して詳細に説明する。なお、以下では、情報処理装置の一つであるアレイ型演算装置に本発明を適用する例を説明する。
【００１８】
情報処理装置は、構成情報の生成装置によって生成された構成情報を入力し、構成情報に従って演算器や演算ユニットなどの演算要素（プロセッサエレメント(PE)）と接続要素（ルータ）に処理を割り当てるために、演算要素と接続要素の動作を設定する。なお、処理の割り当ては、処理と、処理を実行する演算要素または接続要素を関連付けることを意味する。実施例において、演算要素と接続要素の内部に構成情報の設定値を書き込むことで、演算要素と接続要素への処理の割り当てが実施される。
【００１９】
なお、実施例において説明する各種信号の送受信手段や送信方法は一例であり、本発明は、それら送受信手段や送信方法に限定されるものではない。
【実施例１】
【００２０】
［装置の構成］
図1のブロック図により実施例の情報処理装置100の構成例を示す。
【００２１】
制御部102は、情報処理装置100の外部から構成情報105を受信し、経路設定部104から経路設定完了信号を受信すると、演算回路である動的再構成回路101に構成情報105を送信し、その後、動的再構成回路101に処理開始信号を送信する。
【００２２】
制御部102は、演算器(PE)106とルータ107への構成情報105の送信が完了した後、外部から構成情報105を受信する。また、制御部102は、処理開始信号を送信した後、PE106から処理完了信号を受信する。
【００２３】
詳細は後述するが、判定部103は、外部から入力される構成情報105を受信し、構成情報105によって動作設定が変更されるPE106とルータ107を判定し、判定結果に基づき生成した判定信号を経路設定部104に送信する。経路設定部104は、判定信号に基づき経路切替信号を生成し、経路切替信号を動的再構成回路101に送信する。
【００２４】
図2により構成情報105の構成例を説明する。構成情報105は、PEの設定データ201とルータの設定データ202を組み合わせた情報であり、図2(A)に示す例において、PEの設定データ201はX個、ルータの設定データ202はY個である。言い換えれば、構成情報105は、X個のPEの設定情報と、Y個のルータの設定情報を含む。また、図2(A)は、各設定情報がN+1ビットのバイナリデータの例を示す。
【００２５】
図2(B)は各設定情報のフォーマット例を示す。各設定情報は、ID301、アドレス302、設定値303を含む。ID301は識別番号であり、各PE106と各ルータ107には固有の識別番号(ID)が予め設定されている。アドレス302は、各PE106またはルータ107の内部に設定値303を書き込む際の領域を指定する。設定値303は、各PE106と各ルータ107の動作を設定する値である。
【００２６】
［演算回路］
図3により演算回路である動的再構成回路101の内部構成例を示す。図3に示す動的再構成回路101は、複数のPE106、○印で示す複数のルータ107、□印で示す複数のクロスバースイッチ（以下、スイッチ）108で構成される。
【００２７】
スイッチ108は、経路設定部104から経路切替信号を受信し、経路切替信号に従い入出力の経路を切り替える。スイッチ108による経路の切り替えにより、動的再構成回路101内における構成情報105の送信経路を様々に形成することが可能である。
【００２８】
なお、経路切替信号をスイッチ108の数分、送受信するため、経路切替信号の送信配線をスイッチ108の数分、設ける。また、スイッチ108の入出力の切替パターンは最大四種類であり、各スイッチ108に入力する経路切替信号は2ビット幅で充分である。
【００２９】
図3において破線で囲んだ回路ブロック401は一つの演算部である。図4により回路ブロック401の詳細例を示す。図4にはPE106、ルータ107、スイッチ108の信号やデータの入出力の関係を示すが、この関係は一例であり、本発明は図4に示す入出力関係に限定されない。
【００３０】
PE106は、制御部102から処理開始信号503を受信すると、ルータ107から送信されるデータ501を処理し、処理結果を他のルータ107へ送信した後、処理完了信号504を制御部102に送信する。ルータ107は、PE106との間でデータ501の送受信を行い、また、他のルータ107との間でデータ501の送受信を行う。
【００３１】
●演算要素(PE)
図5のブロック図によりPE106の内部構成例を示す。
【００３２】
構成情報設定部601は、構成情報502を受信し、受信した構成情報502に含まれるID301がPE106に設定されたIDと一致するか否かを判定する。つまり、構成情報502に自分のIDと一致するID301が含まれるか否かを判定する。
【００３３】
IDが一致する場合、構成情報設定部601は、自分のIDに一致する構成情報（以下、該当構成情報）のアドレス302に従い、構成情報設定部601内のメモリに該当構成情報の設定値303を書き込み、受信した構成情報502を出力する。そして、構成情報設定部601は、設定値303に従い、データ入力部604に入力切替設定606を、演算処理部603に処理内容を決めるための動作設定607を、データ出力部605に出力切替設定602を設定する。以下では、入力切替設定606、動作設定607および出力切替設定602をまとめて「設定情報」と呼び、設定情報を設定する動作および設定された動作を「動作設定」と呼ぶ場合がある。
【００３４】
動作設定により、データ入力部604がデータ501を入力する入力経路、演算処理部603が行う演算処理、および、データ出力部605が処理結果のデータ501を出力する出力経路が決まる。つまり、PE106の演算処理の内容が決定する。
【００３５】
また、IDが一致しない場合、構成情報設定部601は、動作設定を行わずに、受信した構成情報502を送信経路の後方に出力する。本実施例に従う送信経路の設定によれば、構成情報によって動作設定が変更されないPE106が送信経路に配置される可能性は極めて低い。例えば、隣接するルータ107の間で送信経路を形成することができない例外的な状況が発生する場合は、それらルータ107に隣接する動作設定が変更されないPE106が送信経路に配置される可能性がある。
【００３６】
演算処理部603は、処理開始信号503を受信すると、データ入力部604が入力したデータ501の演算処理を開始する。そして、演算処理が終了すると、処理結果のデータ501をデータ出力部605に出力し、処理完了信号504を制御部102に送信する。
【００３７】
なお、PE106の構成は図5に限定されず、構成情報502に従う動作設定が可能であればどのような構成でもよい。
【００３８】
●ルータ
図6のブロック図によりルータ107の内部構成例を示す。
【００３９】
構成情報設定部701は、構成情報502を受信し、受信した構成情報502に含まれるID301がルータ107に設定されたIDと一致するか否かを判定する。つまり、構成情報502に自分のIDと一致するID301が含まれるか否かを判定する。
【００４０】
IDが一致する場合、構成情報設定部701は、該当構成情報のアドレス302に従い、構成情報設定部701内のメモリに該当構成情報の設定値303を書き込み、受信した構成情報502を送信経路の後方に出力する。そして、構成情報設定部701は、入出力切替部702に設定値303を送信する。
【００４１】
また、IDが一致しない場合、構成情報設定部701は、入出力切替部702の設定を行わずに、受信した構成情報502を送信経路の後方に出力する。本実施例に従う送信経路の設定によれば、構成情報によって動作設定が変更されないルータ107が送信経路に配置される場合があるが、すべてのルータ107を送信経路に配置する場合に比べて、送信経路に配置するルータ107の数を抑制することができる。
【００４２】
入出力切替部702には、入力用の複数の信号線と出力用の複数の信号線が接続され、設定値303に従い、入力用の信号線の一つと出力用の信号線の一つを選択し、選択した信号線同士を電気的に接続状態にし、未選択の信号線を電気的に切断状態にする。以下では、入出力切替部702に入出力信号線を選択させる動作および設定された動作を「動作設定」と呼ぶ場合がある。
【００４３】
つまり、ルータ107は、選択した入力用の信号線（入力経路）からデータ501を入力し、選択した出力用の信号線（出力経路）にデータ501を出力する。言い換えれば、設定値303は、どの入力経路からデータ501を入力し、どの出力経路にデータ501を出力するかを示す情報を含む。
【００４４】
●判定部
判定部103は、構成情報105によって動作設定が変更されるPE106とルータ107を示す判定信号を生成する。
【００４５】
図7により動的再構成回路101内のPE106およびルータ107のID設定例を示す。図7はPE106が12個、ルータ107が30個（計42個）の例を示し、PE106およびルータ107にはそれぞれ「01」から「42」のIDが割り当てられている。なお、IDは、PE102またはルータ107を特定することができれよく、図7に示すような連続した番号である必要はない。
【００４６】
図8により判定信号および判定部103が備える判定テーブルを説明する。図8(A)に示すように、判定信号は、少なくともPE106およびルータ107の数分のビット数（図7の例であれば少なくとも42ビット）を有する。図8(B)に示すように、判定テーブルはIDと判定信号のビットの対応関係を示す。例えば、ID=Nに対応する判定信号のビットはD[N]によって示される。
【００４７】
図9のフローチャートにより判定信号の生成処理を説明する。
【００４８】
構成情報105を受信すると、判定部103は、判定信号の全ビットを‘0’にリセットし(S801)、受信した構成情報105からすべてのID情報を取得してIDリストを生成する(S802)。
【００４９】
次に、判定部103は、生成したIDリストから任意のIDを一つ選択し(S803)、選択したIDに一致するレコードを図8(B)に示す判定テーブルから検索し、検出したレコードに記録された判定信号のビットD[N]に‘1’を設定する(S804)。図8(A)に示す判定信号の例は、IDリストからID=02が選択され、ID=02に対応するビットD[2]に‘1’が設定された状態を示す。
【００５０】
次に、判定部103は、選択したIDをIDリストから削除し(S805)、IDリストが空か否かを判定する(S806)。そして、未選択のIDがあり、IDリストが空ではない場合は処理をステップS803に戻し、未選択のIDがなく、IDリストが空の場合は、受信した構成情報105に対する判定信号の生成処理を終了する。
【００５１】
●経路設定部
経路設定部104は、判定部103から受信した判定信号に基づき、経路切替信号を生成する。
【００５２】
図10によりスイッチ108のアドレス例を示す。なお、図10において、スイッチ108、PE106、ルータ107の数は図7と同じであり、スイッチ108が32個の例である。図10に示すように、各スイッチ108には「01」から「32」のアドレスが割り当てられている。なお、アドレスは、スイッチ108を特定することができれよく、図10に示すような連続する番号である必要はない。
【００５３】
図11により経路切替信号および経路判定部104が備える経路切替テーブルを説明する。図11(A)に示すように、経路切替信号は、各スイッチ108について2ビットの情報を有する。例えば、経路切替信号の1ビット目S[0]と2ビット目S[1]は、アドレス=01のスイッチ108の切り替えを示す信号である。例えば、S[0]はスイッチ108の入力側の接続先の設定を示し、S[1]はスイッチ108の出力側の接続先の設定を示す。つまり、各スイッチ108の入出力は、2ビットの経路切替信号により最大四パターンの間で切替可能である。図11(B)に示す経路切替テーブル例は、判定信号と経路切替信号の関係例を示す。
【００５４】
図12のフローチャートにより経路切替信号および経路設定完了信号の生成処理を説明する。
【００５５】
判定信号を受信すると、経路判定部104は、受信した判定信号に対応するレコードを図11(B)に示す経路切替テーブルから検索し、検出したレコードに記録された経路切替信号を出力する(S901)。なお、経路切替テーブルを参照して判定信号に対応する経路切替信号を出力する構成は一例であり、判定信号に対応する経路切替信号を出力することができればどのような構成でもよい。
【００５６】
次に、経路判定部104は、時間をカウントし(S902)、所定時間が経過すると経路設定完了信号を制御部102に出力し(S903)、受信した判定信号に対する経路切替信号および経路設定完了信号の生成処理を終了する。なお、所定時間は、経路切替信号の送信に必要な時間であり、例えば、経路判定部104からスイッチ108への経路切替信号の送信に必要な時間の最大値である。
【００５７】
［情報処理装置の動作］
以下、構成情報105を取得し、構成情報105を送信する経路を切り替え、構成情報105をPE106およびルータ107に送信する一連の動作を説明する。
【００５８】
図13により構成情報105の送信経路の一例を示す。図13は、情報処理装置100が起動され、動的再構成回路101が動作を開始した際の構成情報105の初期の送信経路を示す。図13において、構成情報105は、スイッチ108、ルータ107、PE106を介して矢印方向に送信される。つまり、動的再構成回路101に含まれるすべてのPE106とルータ107は初期の送信経路に組み込まれる。
【００５９】
PE106とルータ107には、図7に示すIDが割り当てられているとする。また、本実施例において、動的再構成回路101の動作を開始する際、すべてのPE106とルータ107の動作設定を行うものとする。従って、すべてのPE106とルータ107に構成情報105を送信する必要があり、図13に示す初期の送信経路に沿って構成情報105が各PE106と各ルータ107に順次送信される。そして、動的再構成回路101は、構成情報105によって設定された動作に従いデータ処理を開始する。
【００６０】
図14により動的再構成回路101が動作中にPE106とルータ107の一部の動作設定を変更する処理を説明する。また、図15のフローチャートにより動作設定の変更処理を含む一連の動作を説明する。なお、図15に示す動作は一つの構成情報105に対応し、構成情報105の受信ごとに図15に示す動作が繰り返される。
【００６１】
情報処理装置100が外部から構成情報105を受信すると、判定部103は、構成情報105を入力し(S101)、構成情報105に含まれるIDから、動作設定の変更対象のPE106とルータ107を判定し、判定信号を出力する(S102)。例えば、構成情報105がID=01、02、04、07、08、10、11、13を含む場合、それらIDに対応するPEはPE106a〜106dであり、対応するルータはルータ107a〜107fである。
【００６２】
次に、経路判定部104は、判定信号と図11(B)に示す経路切替テーブルに基づき、経路切替信号を生成し、経路切替信号を動的再構成回路101に送信する(S103)。そして、所定時間が経過すると(S104)、経路設定完了信号を出力する(S105)。この時点で、構成情報105の送信経路は図14に示すようになる。図14において、ルータ107g〜107nは、動作設定の変更対象ではないが送信経路の形成に必要なルータ107であり、送信経路に組み込まれる。
【００６３】
経路設定完了信号が出力されると、制御部102は、構成情報105を動的再構成回路101に送信する(S106)。そして、動的再構成回路101から構成情報105を受信したか否かを判定する(S107)。送信した構成情報105を再び受信した場合、制御部102は、構成情報105を受信すべきPE106とルータ107のすべてが構成情報105を受信した、言い換えれば構成情報105の送信が完了した、と判定する。そして、制御部102は、処理開始信号を動的再構成回路101に送信する(S108)。
【００６４】
処理開始信号を受信したPE106はルータ107から処理対象のデータを受信し、演算処理を実行する(S109)。そして、演算処理が完了すると、制御部102に処理完了信号を送信する(S110)。
【００６５】
このように、判定部103は、動作設定が変更されるPE106とルータ107を判定する。判定結果に従い、経路設定部104は、動作設定が変更されるPE106とルータ107に構成情報105を送信するための送信経路を設定する。その結果、送信経路として、動作設定が変更されるPE106とルータ107に構成情報105を送信するために必要最小限の送信経路が形成される。従って、演算要素および接続要素の一部の動作設定を変更する際に消費するダイナミック電力を削減することができる。さらに、送信経路の短縮により、構成情報の送信に要する時間を短縮することができる。
【００６６】
●構成情報生成装置および半導体装置の構成説明
図16のブロック図により構成情報105を生成する構成情報生成装置および構成情報105を使用する半導体装置の構成例を示す。
【００６７】
図16(A)において、CPU1901は、装置全体の制御を司る。ROM1902は、ブートプログラムなどを記憶する。RAM1903は、CPU1901のワークエリアとして利用され、オペレーティングシステム(OS)、アプリケーションプログラムなどがロードされる。
【００６８】
ハードディスクドライブ(HDD)1904は、OS、構成情報105を作成するためのアプリケーションプログラムおよび様々なデータを格納する。キーボード1905とマウス1906は、ユーザインタフェイスに対する入力部として機能する。
【００６９】
表示制御部1907は、ビデオメモリおよびビデオコントローラを備える。表示装置1908は、表示制御部1907から映像信号を受信し、映像信号が表す画像を表示する。表示装置1908に表示される画像にはユーザインタファイスが含まれる。
【００７０】
インタフェイス(I/F)1909は、各種の外部デバイスと通信するインタフェイスである。例えば、外部メモリ1910がI/F1909に接続されると、CPU101は、作成した構成情報105を外部メモリ1910に書き込むことができる。
【００７１】
上記の構成において、構成情報生成装置に電源が投入されると、CPU1901はROM1902に格納されたブートプログラムを実行し、HDD1904に格納されたOSをRAM1903にロードする。その後、構成情報105を作成するアプリケーションプログラムが起動されると、構成情報生成装置は回路構成情報作成装置として機能する。そして、作成された構成情報105は、例えば外部メモリ1910を介して情報処理装置100に入力され、本発明の処理に用いられる。
【００７２】
図16(B)において、半導体装置200は、再構成デバイス201と外部メモリ1910を有する。再構成デバイス201は、実施例の情報処理装置100、CPU202、インタフェイス(I/F)204、入出力ポート(I/O)205、および、それら構成を接続するバス203を有する。なお、半導体装置の構成は図16(B)に限定されない。
【００７３】
CPU202は、再構成デバイス201全体の制御を司る。I/F204に接続された外部メモリ1910は、構成情報105、ブートプログラム、OS、アプリケーションが格納されるEEPROMやRAMなどのメモリである。I/O205は、再構成デバイス201が画像データなどの処理対象または処理結果のデータ206を入出力するためのポートである。勿論、I/O205を介して構成情報105を入力することもできる。
【００７４】
図17により外部メモリ1910に保持される構成情報105の配置例を示す。各構成情報105は、構成情報の使用順に従い、外部メモリ1910の上位アドレスから順に格納されている。つまり、第一のデータ処理を実現する第一の構成情報1601、第二のデータ処理を実現する第二の構成情報1602、…の順に格納されている。第一の構成情報1601はアドレス領域1603に保持され、第二の構成情報1602はアドレス領域1604に保持される。なお、図17に示す構成情報105の配置に限らず、他の方法によって構成情報105を配置してもよい。
【００７５】
半導体装置200に電源が投入されると、CPU202は、外部メモリ1910に格納されたブートプログラムを実行し、システムを起動する。システムが起動すると、CPU202は、例えば、I/O205を介して構成情報105を読み込み、構成情報105を外部メモリ1910に格納した後、情報処理装置100に、外部メモリ1910からの構成情報105の読み出しを指示する。指示に従い、情報処理装置100は外部メモリ1910から構成情報105を読み出し、構成情報105は第一の構成情報1601、第二の構成情報1602、…の順に情報処理装置100に読み込まれる。
【００７６】
以降、情報処理装置100は、構成情報105に従う動作設定およびデータ処理を行う。つまり、情報処理装置100内の動的再構成回路101の動作設定が行われ、動作設定が完了すると、I/O205を介して処理対象のデータ206が情報処理装置100に入力される。そして、動的再構成回路101内のPE106によってデータ処理が行われ、データ処理が終了すると、処理結果のデータ206がI/O205を介して出力される。
【００７７】
なお、上記では、I/O205を介して構成情報105を読み込み、構成情報105を外部メモリ1910に格納する例を説明したが、構成情報105が予め格納された外部メモリ1910を半導体装置200に組み込んでもよい。
【実施例２】
【００７８】
以下、本発明にかかる実施例2の情報処理装置を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７９】
動的再構成回路101にはクロック信号が供給されるが、送信経路の設定後、構成情報105の送信動作に不要な回路ブロックへのクロック供給を停止することができる。
【００８０】
図18のブロック図により実施例2の情報処理装置100の構成例を示す。実施例2の情報処理装置100は、構成情報105の送信動作に不要な回路ブロックへのクロック供給を停止するクロックゲーティング機能を有する。
【００８１】
判定部103は、実施例1と同様に判定信号を生成し、生成した判定信号を経路判定部104とゲート設定部110に送信する。また、経路設定部104は、実施例1と同様に経路設定完了信号を生成し、生成した経路設定完了信号を制御部102とゲート設定部110に送信する。
【００８２】
ゲート設定部110は、判定信号を受信するとクロックゲーティング信号の生成を開始し、経路設定完了信号を受信するとクロックゲーティング信号を動的再構成回路101に送信する。
【００８３】
図19により回路ブロックの構成例およびゲート設定部110が備えるテーブルを説明する。図19(A)に示すクロックゲート回路111は、クロックの供給と供給停止を切り替える。クロックゲート回路111は、PE106、ルータ107、スイッチ108それぞれに用意され、一方の入力にはクロック信号が、他方の入力にはクロックゲーティング信号が入力される。クロックゲート回路111は、例えば二入力の論理積(AND)回路で構成することができる。つまり、クロックゲート回路111は、入力されるクロックゲーティング信号が‘1’の場合はPE106、ルータ107またはスイッチ108にクロック信号を供給し、クロックゲーティング信号が‘0’の場合はクロック信号の供給を停止する。
【００８４】
図19(B)に示すテーブルは、判定信号と、送信経路を形成するPE106、ルータ107、スイッチ108を表す送信経路信号の対応関係を示す。送信経路信号の各ビットはPE106、ルータ107、スイッチ108の各アドレスに対応する。例えば、図14に示す送信経路が形成される場合、PE106a〜106dに対応するビット、ルータ107a〜107nに対応するビット、図8において矢印が付されたスイッチ108に対応するビットが‘1’の送信経路信号が生成される。
【００８５】
ゲート設定部110は、判定信号を受信すると、図19(B)に示すテーブルを参照して、判定信号に対応する送信経路信号を生成する。そして、送信経路信号を論理反転した信号（クロックゲーティング信号）をクロックゲート回路111に送信する。
【００８６】
その結果、構成情報105の送信経路に配置されないPE106、ルータ107、スイッチ108に接続されたクロックゲート回路111に信号値が‘0’のクロックゲーティング信号が入力される。つまり、構成情報105の送信動作に不要なPE106、ルータ107、スイッチ108へのクロック信号の供給が停止される。
【００８７】
なお、クロックゲーティング信号をPE106、ルータ107、スイッチ108にパラレルに送信するため、クロックゲーティング信号の送信配線をPE106、ルータ107、スイッチ108の数分、設ける。
【００８８】
このように、動的再構成回路101において構成情報105の送信動作に不要な回路ブロックをクロックゲーティングする機能を設けることにより、構成情報105の送信動作に不要な構成要素で消費される、クロックに関連する電力を削減することができる。
【実施例３】
【００８９】
以下、本発明にかかる実施例3の情報処理装置を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９０】
動的再構成回路101が電源をオン状態とオフ状態の間で切替可能な複数の回路ブロックを有する場合がある。この場合、動的再構成回路101の動作に必要な回路ブロック（以下、必要ブロック）の電源をオン状態に、必要ブロック以外の回路ブロック（以下、不要ブロック）の電源をオフ状態にすることができる。
【００９１】
図20のブロック図により実施例3の情報処理装置100の構成例を示す。実施例3の情報処理装置100は、動的再構成回路101が電源制御が可能な複数の回路ブロックを有し、各回路ブロックの電源のオンオフを制御する電源制御部120を有す。
【００９２】
図21により実施例3の動的再構成回路101の構成例を示す。動的再構成回路101は、電源制御が可能な複数の回路ブロック401aから401dを有する。各回路ブロック401a〜401dには、電源スイッチ402a〜402dを介して図示しない電源回路ブロックから電力が供給される。各電源スイッチ402a〜402dの開閉を切り替えることで、各回路ブロック401a〜401dへの電源供給（電源オン）と電源遮断（電源オフ）を切り替えることができる。
【００９３】
図22により電源制御部120が備える電源制御テーブルを説明する。電源制御テーブルは、判定信号に対応する、電源切替信号および経路切替信号の対応関係を示す。なお、電源切替信号の各ビットは各電源スイッチ402a〜402dの開閉を示し、例えば、電源切替信号が‘0001’の場合は電源スイッチ402a〜402cが開状態、電源スイッチ402dが閉状態になる。また、経路切替信号は、図11(B)と同様であり、その詳細説明を省略する。
【００９４】
判定信号を受信すると、電源制御部120は、電源制御テーブルを参照して、電源供給が必要な回路ブロックを電源オン状態にする電源切替信号を動的再構成回路101に出力し、経路切替信号を経路設定部104に出力する。経路設定部104は、受信した経路切替信号を動的再構成回路101に出力する。なお、電源制御部120は、新たな判定信号を受信するまで、電源切替信号を保持する。
【００９５】
電源制御部120が判定信号に対応する電源切替信号および経路切替信号を出力する例を説明したが、電源制御部120は判定信号に対応する電源切替信号を出力するだけでもよい。その場合、経路設定部104は、電源切替信号を取得して、電源オン状態の回路ブロックを判定し、電源オン状態の回路ブロックを使用して構成情報105の送信経路を設定する経路切替信号を出力する。つまり、経路設定部104は、電源オン状態の回路ブロックの組み合わせごとに、判定信号に対応する経路切替信号を登録したテーブルを備え、当該テーブルを参照して経路切替信号を出力する。
【００９６】
あるいは、電源制御部120や経路設定部104が備えるテーブルを参照せずに、経路設定部104に設けた送信経路を自律的に探索する構成により、構成情報105の送信経路を設定してもよい。例えば、経路設定部104にCPUを実装し、CPUに経路探索を実行させればよい。
【００９７】
また、電源切替信号を回路ブロックの数分、送信するため、電源切替信号の送信配線を回路ブロックの数分、用意する。
【００９８】
このように、不要ブロックの電源をオフ状態にする機能を設け、回路ブロックの電源の状態に応じて、構成情報105の送信経路を設定する。これにより、不要ブロックの電力消費を削減し、電源オン状態の回路ブロックを介して構成情報105を送信することができる。
【００９９】
なお、実施例2のクッロックゲーティング機能と実施例3の電源制御機能を組み合わせた情報処理装置100は、上記説明を参照する当業者には容易に実現可能であり、そのような情報処理装置100も本発明の範囲に含まれる。
【０１００】
また、情報処理装置100の動的再構成回路101以外の構成をマイクロプロセッサのようなコンピュータによって構成することもできる。その場合、当該コンピュータには、ROMなどの記録媒体を介して、動的再構成回路101以外の構成を実現するプログラムが供給される。
【０１０１】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2015060401.tif 000003
【図２】
2015060401.tif 000004
【図３】
2015060401.tif 000005
【図４】
2015060401.tif 000006
【図５】
2015060401.tif 000007
【図６】
2015060401.tif 000008
【図７】
2015060401.tif 000009
【図８】
2015060401.tif 000010
【図９】
2015060401.tif 000011
【図１０】
2015060401.tif 000012
【図１１】
2015060401.tif 000013
【図１２】
2015060401.tif 000014
【図１３】
2015060401.tif 000015
【図１４】
2015060401.tif 000016
【図１５】
2015060401.tif 000017
【図１６】
2015060401.tif 000018
【図１７】
2015060401.tif 000019
【図１８】
2015060401.tif 000020
【図１９】
2015060401.tif 000021
【図２０】
2015060401.tif 000022
【図２１】
2015060401.tif 000023
【図２２】
2015060401.tif 000024