(57)【要約】【課題】  複数の演算要素を有し、動的再構成が可能な情報処理装置における省電力を実現する。【解決手段】  複数の回路ブロック103はそれぞれ、複数の演算要素102を含む。電源制御部110は、複数の回路ブロック103への電源の供給を個別に制御する。リソース管理手段107は、演算処理に必要な演算要素に関する第一の情報と、電源が供給されている回路ブロック103が含む演算要素102に関する第二の情報を取得する。そして、第一および第二の情報に基づき、演算処理を実現するための処理を電源が供給されている回路ブロック103が含む演算要素102に優先的に割り当てる。【選択図】  図1
2014029638.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数の演算要素を含む複数の回路ブロックと、
前記複数の回路ブロックへの電源の供給を個別に制御する制御手段と、
演算処理に必要な演算要素に関する第一の情報と、前記電源が供給されている回路ブロックが含む演算要素に関する第二の情報を取得する取得手段と、
前記第一および第二の情報に基づき、前記演算処理を実現するための処理を前記電源が供給されている回路ブロックが含む演算要素に優先的に割り当てる管理手段とを有することを特徴とする情報処理装置。
【請求項２】
さらに、前記第一の情報に基づき、演算要素の内部回路構成情報および入出力設定情報、並びに、演算要素間の接続情報を含む構成情報を生成する生成手段を有することを特徴とする請求項1に記載された情報処理装置。
【請求項３】
さらに、前記構成情報を前記管理手段の割り当てに従う演算要素に供給する供給手段を有することを特徴とする請求項2に記載された情報処理装置。
【請求項４】
前記第一の情報は前記演算処理に必要な演算要素の数を示す情報を有し、前記第二の情報は前記電源が供給されている回路ブロックが含む演算要素の現在の処理の実行状態に関する情報を有することを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
前記第一の情報は前記演算処理に必要な演算要素の数および演算要素の種類を示す情報を有し、前記第二の情報は前記電源が供給されている回路ブロックが含む演算要素の現在の処理の実行状態に関する情報を有することを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項６】
前記管理手段は、前記電源が供給されている回路ブロックが含む演算要素に対して前記処理を割り当てられない場合、前記制御手段に前記電源が遮断されている回路ブロックへの前記電源の供給を指示することを特徴とする請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項７】
前記第二の情報は、前記回路ブロック内における演算要素の位置を示す情報を有することを特徴とする請求項1から請求項6の何れか一項に記載された情報処理装置。
【請求項８】
前記管理手段は、前記位置を示す情報に基づき、前記回路ブロック内における互いの距離が基準の範囲内にある演算要素に前記処理を割り当てることを特徴とする請求項7に記載された情報処理装置。
【請求項９】
前記管理手段は、前記第一および第二の情報に基づき、前記演算処理を実行するために必要な前記回路ブロックの最小数を算出し、前記電源が供給されている回路ブロックの数が前記最小数を満たすか否かを判定し、前記電源が供給されている回路ブロックの数が前記最小数を満たさない場合は、前記制御手段に前記電源が遮断されている回路ブロックへの前記電源の供給を指示することを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項１０】
前記演算要素は、命令コードおよび処理データの少なくとも一方をメモリから順に読み出して、複数の演算処理を逐次実行するプロセッサエレメントであることを特徴とする請求項1から請求項9の何れか一項に記載された情報処理装置。
【請求項１１】
それぞれが複数の演算要素を含む複数の回路ブロック、および、前記複数の回路ブロックへの電源の供給を個別に制御する制御手段を有する情報処理装置の制御方法であって、
取得手段が、演算処理に必要な演算要素に関する第一の情報と、前記電源が供給されている回路ブロックが含む演算要素に関する第二の情報を取得し、
管理手段が、前記第一および第二の情報に基づき、前記演算処理を実現するための処理を前記電源が供給されている回路ブロックが含む演算要素に優先的に割り当てることを特徴とする制御方法。
【請求項１２】
コンピュータに請求項11に記載された制御方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算要素を有し、動的再構成が可能な情報処理装置に関する。
【背景技術】
【０００２】
半導体製造技術の進歩による素子の微細化に伴い、膨大な数のトランジスタがLSI上に集積されるようになった。この微細化・トランジスタ数の増加に起因してスタティック電力が増加する。さらに、プロセッサの高周波化に伴って動作時電力が増加する。そのため、性能と低消費電力化のトレードオフが生じ、性能向上に限界が見え始めている。
【０００３】
そこで、さらなる性能向上を実現する手段として、CPU、DSP、単体の演算器、または、演算ユニットなどのプロセッサエレメント(PE)をLSI上に複数搭載したアレイ型演算装置が注目されている。アレイ型演算装置は、複数のPEを用いて並列処理を行うことで、プロセスの微細化による動作周波数の向上が従来ほど見込めない状況であっても、高い演算性能を得ることができる。
【０００４】
今後、大規模化・集積化の進展により搭載するPEの数を増やして理論性能を向上させることができる。しかし、同時に増大する消費電力を抑制する手段・対策を講じなければ、性能向上と省電力化を両立させることはできない。
【０００５】
ここで、機能動作により消費するダイナミック電力と、トランジスタに電源を供給するだけで生じるスタティック電力の省電力化対策について説明する。
【０００６】
ダイナミック電力は、信号変化に伴い寄生容量を充放電するために流れる電流と、貫通電流のようなトランジスタのスイッチング時に流れる電流によって消費される電力である。従って、機能動作に支障がない範囲で信号変化を抑えるとダイナミック電力を削減することができる。このような原理に基づく代表的な省電力化の手法として、一般に広く用いられるクロックゲーティングがある。
【０００７】
一方、スタティック電力は、トランジスタの寄生容量に充電される電荷とリーク電流のために消費される電力である。プロセスの微細化に伴い寄生容量は削減する傾向があり、リーク電流は増加する傾向にある。とくに、ポリシリコンのゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的な増加傾向を示した。このリーク電流を削減するには、トランジスタに供給する電圧を小さく制限するか、または、遮断してしまう方法が有効である。このためリーク電力削減を目的とした技術として、同一電源で駆動されるブロックの電源遮断が一般に広く用いられるようになった。
【０００８】
半導体集積回路における電源遮断とは、電源遮断の対象箇所への電源供給経路と電源をトランジスタで構成された電源スイッチを用いて接続し、必要に応じて導通と遮断を半導体集積回路内で切り替える技術である。現在は、材料や製造方法の改善により、リーク電流は以前のような指数関数的な増加傾向を示さなくなったが、依然、線形的な増加傾向を保っており、電源遮断はこれからも電力削減の手段として重要な位置を占める。なお、以下の説明においては、所望する領域内に配置された素子への電力の供給と遮断の制御が可能な集積回路上の部分を「電源制御領域」と定義する。
【０００９】
従って、大規模化したアレイ型演算装置においてもリーク電流を効果的に削減するために電源遮断技術が用いられる。複数の電源制御領域を構成し、非稼働のPEを部分的に電源遮断するきめ細かい電源管理を行うことで消費電力を抑制させることが可能になる。
【００１０】
このような状況に対して、これまで動的再構成可能なアレイ型演算装置の消費電力を削減する方法が考えられてきた。例えば、予め設定された省電力動作データに基づき、電源オンオフの切り替えと、論理ブロック間の配線状態を変更する方法が提案されている（特許文献1参照）。省電力動作データは、消費電力プロファイルに関する情報、省電力状態から通常動作状態への遷移時間および遷移要因の解析結果を基に生成される。
【００１１】
なお、動的再構成可能なプロセッサを用いた構成で順次処理を実行する場合、次の処理を実行する前に回路構成情報のマッピングを切り替える必要がある。これまで動的再構成回路に実装された演算器アレイまたはプロセッサアレイの空きリソースを取得して、空きリソースに処理をマッピングする手法が提案されている（特許文献2参照）。
【００１２】
しかし、今後、さらに高機能化・高性能化が求められるため、先端の製造プロセスを用いた集積化が進み、多数のPEが搭載されると予想される。リーク電流を効果的に削減するために、複数の電源制御領域を構成し、稼働していないPEを部分的に電源遮断するきめ細かい電源管理を行う必要がある。ただし、電源制御領域を多数設ければ設けるほど、電源スイッチ部分の面積が増加し、加えて電源遮断、復帰の制御も複雑になる。
【００１３】
将来的に多数のPEがオンチップで搭載された場合、電源スイッチの面積オーバヘッドはより深刻な問題になるため、複数のPEに対して一つの電源制御領域が設けられ、多種多様な分割形態で電源制御領域が構成される可能性がある。
【００１４】
また、電源制御領域がN個増えると、電源遮断、復帰の組み合わせは2N個存在するため、各演算処理状態や回路構成状態を把握し、使用する必要最小限のPEのみに電源が供給されるように最適化することが困難になる。
【００１５】
このように多数のPEを搭載し電源制御領域が多種多様な分割形態で構成される場合、電源制御領域の構成や物理的な配置位置を考慮して、電源の制御と回路構成の制御を行うなどの工夫が必要になる。従って、最適な構成を模索し、構成に合わせた制御を行う必要がある。
【００１６】
また、高機能・高性能なアレイ型演算装置を実現するには、複雑で多岐に亘る演算処理をより柔軟にPEに割り当て、実行性能を上げる必要がある。従って、適宜、実行する処理に合わせて動的に回路構成を切り替え、複数の処理を実行することができる動的再構成可能な回路が将来的に多く活用されることが予想される。
【００１７】
しかし、従来の動的再構成回路は、多種多様な分割形態で実装される電源制御領域を考慮して処理のマッピング制御を行っていない。そのため、従来の手法ではプロセッサアレイにマッピングする処理がシステム動作中に複数の電源制御領域に分散してしまう可能性がある。例えば、プロセッサアレイに新たに処理をマッピングする場合、電源オン状態のPEへのマッピングが可能であるにも関わらず、電源オフ状態となっているPEへマッピングされてしまう場合が考えられる。この場合、処理をマッピングしたPEが属する電源制御領域を電源オン状態にしなければならず、電源オン状態にする領域が増加し、その結果、プロセッサアレイ部分で無駄なリーク電流によるスタティック電力を消費してしまう。
【００１８】
さらに、電源制御領域を電源オン状態とするときに電源制御領域内の静電容量を充電する必要があり、充電による電力（以下、チャージ電力）を余分に消費する。このような電源制御領域の電源オンオフの切り替えが頻繁に起こると、その切替回数に比例してチャージ電力が増加する。
【００１９】
このように、従来の動的再構成回路において、プロセッサアレイへの処理マッピングは電源制御領域を考慮しないため、消費電力を削減する処理マッピングを行うことができない。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開2010-226524号公報
【特許文献２】特開2010-211496号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本発明は、複数の演算要素を有し、動的再構成が可能な情報処理装置における省電力の実現を目的とする。
【課題を解決するための手段】
【００２２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００２３】
本発明にかかる情報処理装置は、それぞれが複数の演算要素を含む複数の回路ブロックと、前記複数の回路ブロックへの電源の供給を個別に制御する制御手段と、演算処理に必要な演算要素に関する第一の情報と、前記電源が供給されている回路ブロックが含む演算要素に関する第二の情報を取得する取得手段と、前記第一および第二の情報に基づき、前記演算処理を実現するための処理を前記電源が供給されている回路ブロックが含む演算要素に優先的に割り当てる管理手段とを有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、複数の演算要素を有し、動的再構成が可能な情報処理装置における省電力が実現される。
【図面の簡単な説明】
【００２５】
【図１】実施例の情報処理装置の構成例を示すブロック図。
【図２】回路ブロックの内部構成例を説明するブロック図。
【図３】リソース管理部の内部構成例を説明するブロック図。
【図４】電源制御領域情報取得部が備える、電源制御領域情報、電源オンオフ情報、空きPE情報を保持するレジスタを説明する図。
【図５】コンフィギュレーション動作例1におけるタイミングチャートを示す図。
【図６】各時刻における処理割当状態を示す図。
【図７】コンフィギュレーション動作例3におけるタイミングチャートを示す図。
【図８】各時刻における処理割当状態を示す図。
【図９】実施例2のリソース管理部の構成例を示すブロック図。
【図１０】処理割当状態の一例を示す図。
【図１１】構成情報生成部が構成データを再構成する例を説明する図。
【図１２】実施例3のリソース管理部の構成例を示すブロック図。
【図１３】実施例3のコンフィギュレーション動作におけるタイミングチャートを示す図。
【図１４】各時刻における処理割当状態の一例を示す図。
【図１５】実施例4における動的再構成回路の構成例を説明する図。
【図１６】リソース管理部および構成データを入力するブロックの構成例を示すブロック図。
【図１７】PE種類と種類番号の関係の一例を示す図。
【図１８】処理割当状態の一例を示す図。
【図１９】データフローからデータフローへ処理を切り替えるための構成データを生成する装置の構成例を示すブロック図。
【発明を実施するための形態】
【００２６】
以下、本発明にかかる実施例の情報処理装置を、図面を参照して詳細に説明する。なお、以下では、情報処理装置の一つであるアレイ型演算装置に本発明を適用する例を説明する。
【００２７】
また、演算要素がプロセッサエレメント(PE)である場合を例に説明する。つまり、PEは、命令コードおよび処理データの少なくとも一方をRAMやROMなどのメモリ（不図示）から順に読み出して、複数の演算処理を逐次実行する演算要素である。
【００２８】
複数のPEを有するアレイ型演算装置（情報処理装置）は、演算処理に必要なPEの数と種類に関する第一の情報、および、電源が供給されている回路ブロックのPEの処理の実行状態に関する第二の情報を取得する。そして、第一および第二の情報に基づき、電源が供給されている回路ブロックのPEに優先的に演算処理を実現するための処理を割り当てる（マッピングする）。
【実施例１】
【００２９】
［装置の構成］
図1のブロック図により実施例の情報処理装置100の構成例を示す。
【００３０】
動的再構成回路101は複数の回路ブロック103を有する。各回路ブロック103は、アレイ状に配置されたPE102およびPE間を接続するルータ111を有し、電源遮断と電源供給を切り替えるための電源スイッチ112に接続されている。つまり、各回路ブロック103には、図示しない電源回路ブロックから電源スイッチ112を介して電源電圧VDDが供給される。回路ブロック103は個々に、電源制御領域として設定されていて、電源遮断と電源供給を切り替えることができる。
【００３１】
情報処理装置100には、その構成を設定するためのコンフィギュレーションデータ（構成データ）105が供給される。構成データ105は、PE102の内部構成設定および入出力設定、ルータ111の設定、並びに、PEの数およびPEの種類の情報をもつデータである。また、構成データは、例えばパーソナルコンピュータなどのコンピュータ機器上で稼働するアプリケーションによって作成され、当該機器の不揮発性メモリなどに格納されている。
【００３２】
PE情報取得部106は、上記のコンピュータ機器から構成データ105を受信し、リソース管理部107にPE数を出力する。PE動作状況記憶部104は、PE102から処理開始完了信号113が随時供給され、リソース管理部107へ空きPE情報を出力する。
【００３３】
リソース管理部107は、PE情報取得部106からPE数を受信し、PE動作状況記憶部104から空きPE情報を受信する。そして、使用するPEの指示（PE選択信号）114を構成情報生成部108に出力するとともに、電源オンオフ指示信号115を電源制御部110へ出力する。
【００３４】
構成情報生成部108は、構成データ105を受信し、リソース管理部107からPE選択信号114を受信して、新たな構成情報116をマッピング制御部109に出力する。マッピング制御部109は、構成情報生成部108から構成情報116を受信し、PE・ルータ選択信号117と構成情報116を動的再構成回路101に出力する。
【００３５】
電源制御部110は、リソース管理部107から電源オンオフ指示信号115を受信し、各電源スイッチ112のオンオフを切り替えて、回路ブロック103への電源の供給を個別に制御する。
【００３６】
●回路ブロック
図2のブロック図により回路ブロック103の内部構成例を説明する。
【００３７】
デマルチプレクサ(DMUX)203は、マッピング制御部109からPE・ルータ選択情報117と構成情報116を受信し、PE・ルータ選択情報117が指定するPEとルータに構成情報116を送信する。
【００３８】
PE102は、図示しない論理演算部、記憶部などが構成要素であり、データ入力部201から供給されるデータを処理し、処理データをデータ出力部202から出力する。また、PE102は、演算処理の実行開始時と完了時に処理開始完了信号113をPE動作状況記憶部104に出力する。
【００３９】
ルータ111は、マッピング制御部109からの構成情報116を受信してPE間のデータ転送経路を決定する。ルータ111は、例えば、図示しない設定保持部（レジスタ）と経路切替部（クロスバー）が構成要素である。
【００４０】
●リソース管理部
図3のブロック図によりリソース管理部107の内部構成例を説明する。
【００４１】
電源制御領域情報取得部301は、PE動作状況記憶部104から空きPE情報を受信し、各電源制御領域内の空きPE数をPE数比較部302に出力する。
【００４２】
図4により電源制御領域情報取得部301が備える、電源制御領域情報、電源オンオフ情報、空きPE情報を保持するレジスタ401を説明する。
【００４３】
レジスタ401において、電源制御領域情報は各PEが属する電源制御領域を示す。電源オンオフ情報は、各PEの電源オンオフ状態を示し、電源オン状態であれば‘1’を、電源オフ状態であれば‘0’を保持する。空きPE情報は、各PEが空き状態か否かを示し、空きPE状態であれば‘0’を、空きPE状態ではない場合は‘1’を保持する。
【００４４】
図3に示すPE数比較部302は、電源制御領域情報取得部301から電源制御領域の空きPE数を受信し、PE情報取得部106からPE数を受信して、PE数の比較結果をリソース判定部303に出力する。
【００４５】
リソース判定部303は、PE数比較部302から比較結果を受信し、構成情報生成部108にPE選択信号114を出力し、電源制御部110へ電源オンオフ指示信号115を出力する。
【００４６】
［コンフィギュレーション動作］
以下、情報処理装置100が構成データ105のPE数を先行取得し、電源オン状態の空きPE数を取得して、コンフィギュレーションを実行するまでの一連の動作を説明する。つまり、以下で説明する動作は、現在実行中の処理がある場合に、次に実行するコンフィギュレーションを先行して行う。
【００４７】
PE情報取得部106は、構成情報生成部108による構成データ105の取得に先行して構成データ105に含まれるPE数を取得し、取得したPE数をリソース管理部107に出力する。
【００４８】
PE動作状況記憶部104は、各PEから処理の開始が通知されると論理値‘1’をリソース管理部107に出力し、各PEから処理の終了が通知されると論理値‘0’をリソース管理部107に出力する。
【００４９】
リソース管理部107の電源制御領域情報取得部301は、PE動作状況記憶部104から空きPE情報を受信すると当該情報をレジスタ401に保持する。そして、レジスタ401の電源オンオフ情報が論理値‘1’の電源制御領域について、論理値‘0’の空きPE情報の数をカウントして、各電源制御領域の空きPE数を取得する。
【００５０】
PE数比較部302は、電源制御領域情報取得部301から受信した空きPE数と、PE情報取得部106から受信したPE数を比較する。そして、PE数比較結果として、空きPE数≧PE数の場合は論理値‘1’を、空きPE数＜PE数の場合は論理値‘0’をリソース判定部303に出力する。
【００５１】
リソース判定部303は、受信したPE数比較結果が論理値‘1’であれば電源オン状態のPEに処理の割り当てが可能と判定し、その後、PE選択信号114を構成情報生成部108に出力する。また、受信したPE数比較信号が論理値‘0’であれば電源オン状態のPEに対する処理の割り当ては不可能と判定する。なお、電源オン状態のPEに対する処理の割り当てが不可能と判定した場合の動作は後述する。
【００５２】
構成情報生成部108は、構成データ105、および、リソース管理部107から受信したPE選択信号114に基づき新たな構成情報116を生成し、生成した構成情報116をマッピング制御部109に出力する。構成情報116は、PEの選択情報、PEの内部回路構成情報、PEの入出力設定情報、ルータ設定情報（演算要素間の接続情報）を含む。
【００５３】
マッピング制御部109は、構成情報116を受信すると、構成情報116を反映させるPEとルータを選択してPE・ルータ選択情報117を生成し、生成したPE・ルータ選択情報117を構成情報116とともにDMUX203に出力する。
【００５４】
DMUX203は、マッピング制御部109からPE・ルータ選択情報117を受信すると、PE・ルータ選択情報117に従い構成情報116の出力先を切り替える。
【００５５】
構成情報116は、DMUX203からPE・ルータ選択情報117に従うPE102およびルータ111に供給される。これにより、PE102内の回路構成と入出力、および、ルータ111の経路が設定（コンフィギュレーション）される。PE102とルータ111の設定が完了すると、回路ブロック103は、構成情報116に基づく処理（演算や画像処理）を実行する。
【００５６】
上記のコンフィギュレーション動作が終了後、次に実行する処理があれば上記のコンフィギュレーション動作が繰り返し実行され、次に実行する処理がなければコンフィギュレーション動作は終了する。
【００５７】
●コンフィギュレーション動作例1
情報処理装置100は、電源オン状態のPE102と電源オフ状態のPE102が存在する場合、新たに実行する処理を電源オン状態のPE102に優先的に割り当てる。ここでは、電源オン状態の空きPE102に処理を割り当てることが可能な場合の動作を説明する。
【００５８】
以下では、動的再構成回路101の回路ブロック103の数が2、構成データ105に設定されたPE数が3の場合を説明する。つまり、新たに実行すべき処理を指定する構成データ105は、動的再構成回路101がPE102を三つ使用することを指定する。また、回路ブロック103の一方は電源オン状態、他方は電源オフ状態にあり、各回路ブロックには処理を割り当るために充分な空きPEがあるとする。このような状態における情報処理装置100の動作を説明する。
【００５９】
図5によりコンフィギュレーション動作例1におけるタイミングチャートを示す。また、図6により各時刻における処理割当状態を示す。なお、図6において、処理A、BはPE102が実行する任意の演算処理であり、P1〜P3はそれぞれPE102、R1とR2はそれぞれルータ101に対応する。
【００６０】
時刻T0において、動的再構成回路101の回路ブロック103aが図6(a)に示す処理割当状態で処理Aを実行中であり、回路ブロック103bは電源オフ状態である。また、回路ブロック103aのP1〜P3には処理が未割当である。
【００６１】
時刻T1〜T2において、PE情報取得部106は、処理Bに対応する構成データ105を受信し、構成データ105が指定するPE数を取得する。ここで受信される構成データ105は、三つのPE102を使用した処理Bの実行を指定する。
【００６２】
時刻T2〜T3において、リソース管理部107は、PE情報取得部106からPE数(=3)を受信する。この時点で、回路ブロック301aと回路ブロック301bには、それぞれ処理Bを割り当てるのに充分な空きPEがある。そして、リソース管理部107は、電源オン状態の回路ブロック301aの空きPEを優先して使用すると判定し、P1〜P3の使用を示すPE選択信号114を構成情報生成部108に出力する。
【００６３】
時刻T3〜T4において、構成情報生成部108は、リソース管理部107から受信したPE選択信号114に従い、回路ブロック301aのP1〜P3を使用するための構成情報116を生成し、生成した構成情報116をマッピング制御部109に出力する。時刻T4〜T5において、マッピング制御部109は、P1〜P3およびR1とR2を選択するPE・ルータ選択信号117を生成し、生成したPE・ルータ選択信号117と構成情報116をDMUX203に出力する。
【００６４】
時刻T5〜T6において、P1〜P3の回路構成と入出力、および、R1、R2の経路が設定され、時刻T6において処理Bの実行が開始される。時刻T6において、動的再構成回路101の回路ブロック103aの処理割当状態は図6(c)に示すようになる。
【００６５】
●コンフィギュレーション動作例2
コンフィギュレーション動作例1では、リソース判定部303が電源オン状態の空きPEに処理を割当可能と判定した場合の動作を説明した。しかし、空きPE数が不足して電源オン状態の空きPEに処理を割り当てることができない場合がある。このような場合、情報処理装置100は、電源オフ状態の空きPEを選択し、当該PEを電源オン状態としてコンフィギュレーションを実行する。
【００６６】
リソース判定部303は、PE数比較部302から受信した比較結果が論理値‘0’であれば電源オン状態のPE102に処理を割当不能と判定する。この場合、リソース管理部107は、電源制御領域情報取得部301とPE数比較部302により、回路ブロック103bを電源オン状態にした場合に回路ブロック103bのPE102によってPE数が満たされるか否かを判定する。
【００６７】
PE数が満たされる場合、リソース管理部107は、リソース判定部303により、回路ブロック103bを電源オン状態にする電源オンオフ指示信号115を電源制御部110に出力させる。さらに、リソース判定部303により、回路ブロック103bのPE102の使用を示すPE選択信号114を構成情報生成部108に出力させる。
【００６８】
電源制御部110は、リソース判定部303から受信した電源オンオフ指示信号115に従い、電源スイッチ112を制御して、電源オフ状態の回路ブロック103を電源オン状態にする。以降、コンフィギュレーション動作例1と同様の動作により、電源オン状態になった回路ブロック103のコンフィギュレーションが実行される。
【００６９】
●コンフィギュレーション動作例3
以下では、動的再構成回路101の回路ブロック103の数が2、構成データ105に設定されたPE数が4の場合を説明する。つまり、新たに実行すべき処理を指定する構成データ105は、動的再構成回路101がPE102を四つ使用することを指定する。また、回路ブロック103の一方は電源オン状態、他方は電源オフ状態にあり、電源オン状態の回路ブロック103には処理の割り当てに必要な数の空きPEがないとする。このような場合における情報処理装置100の動作を説明する。
【００７０】
図7によりコンフィギュレーション動作例3におけるタイミングチャートを示す。また、図8により各時刻における処理割当状態を示す。なお、図8において、処理A、BはPE102が実行する任意の演算処理であり、P1〜P4はそれぞれPE102、R1とR2はそれぞれルータ101に対応する。
【００７１】
時刻T0において、動的再構成回路101の回路ブロック103aが図8(a)に示す処理割当状態で処理Aを実行中であり、回路ブロック103bは電源オフ状態である。また、回路ブロック103aには処理が未割当のPE102が三つある。
【００７２】
時刻T1〜T2において、PE情報取得部106は、処理Bに対応する構成データ105を受信し、構成データ105が指定するPE数を取得する。ここで受信される構成データ105は、四つのPE102を使用した処理Bの実行を指定する。
【００７３】
時刻T2〜T3において、リソース管理部107は、PE情報取得部106からPE数(=4)を受信する。この時点で、回路ブロック301aには処理Bを割り当てるのに充分な空きPEがなく、回路ブロック301bには処理Bを割り当てるのに充分な空きPEがある。従って、リソース管理部107は、電源オン状態の回路ブロック301aには必要な数の空きPEがないと判定し、回路ブロック301bのリソースが必要と判定する。
【００７４】
時刻T3〜T4において、リソース管理部107は、電源オフ状態の回路ブロック103bを電源オン状態にする電源オンオフ指示信号115を電源制御部110に出力する。さらに、回路ブロック301bのP1〜P4の使用を示すPE選択信号114を構成情報生成部108に出力する。
【００７５】
時刻T4〜T5において、構成情報生成部108は、回路ブロック301bのP1〜P4を使用するための構成情報116を生成し、生成した構成情報116をマッピング制御部109に出力する。時刻T5〜T6において、マッピング制御部109はP1〜P4およびR1とR2を選択するPE・ルータ選択信号117を生成し、生成したPE・ルータ選択信号117と構成情報116をDMUX203に出力する。
【００７６】
時刻T4〜T6の間に、回路ブロック103bは電源オフ状態から電源オン状態へ遷移する（図8(b)）。
【００７７】
時刻T6〜T7において、P1〜P4の回路構成と入出力、および、R1、R2の経路が設定され、時刻T7において処理Bの実行が開始される。時刻T7において、動的再構成回路101の回路ブロック103bの処理割当状態は図8(c)に示すようになる。
【００７８】
このように、各電源制御領域のリソースを管理し、新たにPEに割り当てる処理は、電源オン状態の空きリソースに優先的に割り当てるコンフィギュレーションを行う。電源オン状態の空きリソースが不足する場合は、電源オフ状態の空きリソースを電源オン状態にして、当該リソースに処理を割り当てるコンフィギュレーションを行う。
【００７９】
従って、動的再構成回路において、無駄に電源オフ状態から電源オン状態に遷移させる回路ブロック（プロセッサアレイ）をなくしてスタティック電力を抑制することができる。さらに、電源オン状態の電源制御領域（回路ブロック）のリソースを優先的に使用することで、電源制御領域の電源オンオフの切替回数を低減し、チャージ電力を削減することができる。
【００８０】
●構成データ生成装置の構成説明
図19のブロック図によりデータフローからデータフローへ処理を切り替えるための構成データ105を生成する装置の構成例を示す。
【００８１】
図19において、CPU1901は、装置全体の制御を司る。ROM1902は、ブートプログラムなどを記憶する。RAM1903は、CPU1901のワークエリアとして利用され、オペレーティングシステム(OS)、アプリケーションを格納する。
【００８２】
ハードディスクドライブ(HDD)1904は、OS、構成データ105を作成するためのアプリケーション、並びに、様々なデータを格納する。キーボード1905とマウス1906は、ユーザインタフェイスとして機能する。
【００８３】
表示制御部1907は、内部にビデオメモリおよび表示コントローラを内蔵する。表示装置1908は、表示制御部1907から映像信号を受信し、映像信号が表す画像を表示する。
【００８４】
インタフェイス(I/F)1909は、各種の外部デバイスと通信するインタフェイスであり、例えば、図19に示す外部メモリ1910を接続すると、構成データ生成装置が作成した構成データ105を外部メモリ1910に書き込むことになる。
【００８５】
情報処理装置100は、上述した情報処理装置である。
【００８６】
上記の構成において、構成データ生成装置に電源が投入されると、CPU1901はROM1902に格納されたブートプログラムを実行し、HDD1904に格納されたOSをRAM1903にロードする。その後、構成データ105を作成するアプリケーションが起動されると、構成データ生成装置は回路構成情報作成装置として機能し、作成された構成データ105は、例えば情報処理装置100に入力されて、本発明の処理に用いられる。
【実施例２】
【００８７】
以下、本発明にかかる実施例2の情報処理装置を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８８】
実施例1では、PE数に基づきリソースの過不足を判定して処理を割り当る例を説明した。しかし、PE数だけに基づくと、位置的に離れた空きPEに処理を割り当てる可能性があり、そのような割り当てを行えば、PE間のデータ転送が所望のクロックサイクルで行えない場合が発生する可能性がある。この問題を回避するため、実施例2では、空きPEを検出し、基準の距離内にある空きPEに処理を割り当てる。
【００８９】
［リソース管理部］
図9のブロック図により実施例2のリソース管理部107の構成例を示す。なお、実施例2のリソース管理部107は、実施例1の構成にPE位置情報保持部901とPE間距離判定部902を追加した構成を有する。
【００９０】
PE位置情報保持部901は、空きPE情報を受信すると、空きPE情報が示すPE102の回路ブロック内の位置情報をPE間距離判定部902に出力する。PE間距離判定部902は、PE位置情報保持部901から空きPEの位置情報を受信し、PE位置の判定結果をリソース判定部303に出力する。
【００９１】
リソース判定部303は、PE数比較部302からPE数比較結果を受信し、PE間距離判定部902からPE位置判定結果を受信して、使用するPE102を示すPE選択信号114を構成情報生成部108に出力する。
【００９２】
［コンフィギュレーション動作］
PE位置情報保持部901は、内部にPE102の位置情報を保持し、空きPE情報が示すPE102の位置情報を出力する。PE間距離判定部902は、PE位置情報保持部901から空きPEの回路ブロック内の位置情報を受信すると、受信した位置情報の間の距離を算出する。そして、算出した距離が所定距離以下（基準の範囲内）の場合は、当該位置情報に対応するPE102が隣接すると判定する。なお、所定距離は、情報処理装置100の図示しない内部レジスタに例えばユーザが設定すればよい。
【００９３】
リソース判定部303は、PE数比較結果を受信して空きPE数≧PE数か否かの判定を行い、さらに、PE位置判定結果を受信して空きPEの隣接状態を判定する。そして、空きPE数≧PE数、かつ、空きPEが隣接した状態にあると判定すると、当該空きPEの使用を示すPE選択信号114を構成情報生成部108に出力する。
【００９４】
他のブロックの動作は実施例1と同様であり、その詳細説明を省略する。
【００９５】
●コンフィギュレーション動作例
実施例2の情報処理装置100は、新たな処理を割り当てる際、電源制御領域の空きPEの位置情報を取得して、空きPE間の距離が基準の範囲内にある（空きPEが隣接した状態にある）場合は処理の割り当てを行う。また、当該空きPEの間の距離が基準の範囲にない（空きPEが離間した状態にある）場合は、当該電源制御領域に処理を割当可能な空きPEがないと判定する。そして、以上の処理を電源オン状態の各電源制御領域に対して行い、処理を割当可能な空きPEを検出する。もし、電源オン状態の電源制御領域に処理を割当可能な空きPEがない場合は、電源オフ状態の電源制御領域の空きPEに処理を割り当てる。
【００９６】
以下では、動的再構成回路101上の回路ブロック103の数が2、構成データ105に設定されたPE数が4の場合を説明する。また、回路ブロック103はどちらも電源オン状態にあり、各回路ブロックには空きPEが四つあるとする。ただし、一方の回路ブロック103の空きPEは分散した状態（離間した状態）にあり、他方の回路ブロック103の空きPEは隣接した状態にあるとする。このような状態における情報処理装置100の動作を説明する。
【００９７】
図10により処理割当状態の一例を示す。なお、図10において、処理A、BはPE102が実行する任意の演算処理であり、P1〜P8はそれぞれPE102、R1とR2はそれぞれルータ101に対応する。
【００９８】
図10(a)において、回路ブロック301aと301bには、それぞれ四つの空きPE（P1〜P4、P5〜P8）がある。リソース管理部107は、回路ブロック301aのP1〜P4について離間した状態にあると判定し、回路ブロック301bのP5〜P8についてに隣接した状態にあると判定する。従って、リソース管理部107は、P5〜P8を使用すると判定し、P5〜P8の使用を示すPE選択信号114を構成情報生成部108に出力する。
【００９９】
構成情報生成部108は、回路ブロック301bのP5〜P8を使用するための構成情報116を生成し、生成した構成情報116をマッピング制御部109に出力する。マッピング制御部109は、P5〜P8およびR1とR2を選択するPE・ルータ選択信号117を生成し、生成したPE・ルータ選択信号117と構成情報116をDMUX203に出力する。
【０１００】
その後、P5〜P8の回路構成と入出力、および、R1、R2の経路が設定され、処理Bの実行が開始される。処理B開始時における動的再構成回路101の回路ブロック103bの処理割当状態は図10(b)に示すようになる。
【０１０１】
また、PE位置情報保持部901が出力する空きPEの位置情報が、PE102に実行させる演算処理に要求される位置関係にない場合、構成情報生成部108によって構成を変更することができる。図11により構成情報生成部108が構成データ105を再構成する例を説明する。構成情報生成部108、例えば図11(a)に示すオリジナルの構成データ105の構成情報を変更して、図11(b)に示す再構成データ105'を生成する。
【実施例３】
【０１０２】
以下、本発明にかかる実施例3の情報処理装置を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０３】
実施例1、2では、単一の処理を新たに実行する場合に本発明を適用する例を説明したが、複数の処理を新たに並列に実行する場合にも本発明を適用することができる。複数の処理を並列に実行する場合の構成データ105には、各処理に必要なPE数が設定されている。従って、複数の処理を新たに並列に実行する場合、それらPE数の合計に基づき、できるだけ少ない電源制御領域に処理を割り当てる。
【０１０４】
このような処理の割り当てを行うには、複数の処理を並列に実行するために必要なPE数を求め、処理割当に必要な電源制御領域の最小数を算出する回路をリソース管理部107に追加する。
【０１０５】
［リソース管理部］
図12のブロック図により実施例3のリソース管理部107の構成例を示す。
【０１０６】
PE情報取得部106は、構成データ105に含まれる各処理に必要なPE数を取得して、取得したPE数をリソース管理部107に出力する。合計PE数算出部1202は、PE情報取得部106から各処理に必要なPE数を受信し、それらPE数を合計した合計PE数を最小数算出部1201に出力する。
【０１０７】
最小数算出部1201は、電源制御領域情報取得部301から空きPE数を受信し、合計PE数算出部1202から合計PE数を受信して、必要な電源制御領域の最小数をリソース判定部303に出力する。リソース判定部303は、最小数算出部1201から最小数を受信し、使用するPE102を示すPE選択信号114を構成情報生成部108に出力する。
【０１０８】
［コンフィギュレーション動作］
合計PE数算出部1202は、PE情報取得部106から受信した各処理に必要なPE数を加算し、合計PE数を算出して、合計PE数を最小数算出部1201に出力する。
【０１０９】
最小数算出部1201は、各電源制御領域に含まれるPE102の総数を保持し、空きPE数、合計PE数、および、各電源制御領域に含まれるPE102の総数から、処理を割当てるために必要な電源制御領域の最小数を算出する。そして、最小数をリソース判定部303に出力する。
【０１１０】
リソース判定部303は、最小数と、電源オン状態の電源制御領域の数（以下、オン領域数）を比較する。そして、オン領域数≧最小数の場合は電源オン状態のPE102に処理を割当可能と判定し、使用するPE102を示すPE選択信号114を構成情報生成部108に出力する。また、オン領域数＜最小数の場合は電源オン状態のPE102に処理を割当不能と判定する。
【０１１１】
他のブロックの動作は実施例1と同様であり、その詳細説明を省略する。
【０１１２】
●コンフィギュレーション動作例
実施例3の情報処理装置100は、新たな複数の処理を割り当てる際、各処理に必要なPE数を取得して合計PE数を求め、電源オン状態の空きPE数を取得して、合計PE数と空きPE数から処理の割り当てに必要な電源制御領域の最小数を算出する。もし、電源オン状態の電源制御領域の数（オン領域数）が最小数を満たさない場合は電源オン状態の空きPEに処理を割当不能と判定し、電源オフ状態の電源制御領域のPEに処理を割り当てる。
【０１１３】
以下では、動的再構成回路101上の回路ブロック103の数が2、構成データ105に設定された新たに実行する処理の数が3（処理B、C、D）、処理BのPE数が2、処理CのPE数が4、処理DのPE数が8の場合を説明する。また、回路ブロック103の一方は電源オン状態にあり、他方は電源オフ状態にあるとする。このような状態における情報処理装置100の動作を説明する。
【０１１４】
図13により実施例3のコンフィギュレーション動作におけるタイミングチャートを示す。また、図14により各時刻における処理割当状態の一例を示す。なお、図14において、処理A〜DはPE102が実行する任意の演算処理であり、P1〜P14はそれぞれPE102に対応する。
【０１１５】
時刻T0〜T1において、回路ブロック301aは電源オン状態にあり、回路ブロック301bは電源オフ状態にある。時刻T1において、回路ブロック301aのP1〜P4が処理を完了して空きPEになったとする（図14(a)）。
【０１１６】
時刻T1〜T2において、PE情報取得部106は、処理B、C、Dに対応する構成データ105を受信し、構成データ105が指定する各処理のPE数を取得する。ここで受信される構成データ105は、処理BのPE数が2、処理CのPE数が4、処理DのPE数が8を指定する。
【０１１７】
時刻T2〜T3において、リソース管理部107は、PE情報取得部106からPE数(=4)を受信し、PE情報取得部106から処理BのPE数=2、処理CのPE数=4、処理DのPE数=8を受信して合計PE数=14を算出する。ここで、電源オン状態の空きPE数が4であるから、電源オフ状態の空きPEを10個使用する必要があると判定する。そして、電源オフ状態の回路ブロック301bにはPE102が16個あることから、処理B、C、Dの割り当てに必要な電源制御領域の最小数は、回路ブロック301aと301bの2と判定する。
【０１１８】
時刻T3〜T4において、リソース管理部107は、電源オン状態の電源制御領域の数（オン領域数）が最小数を満たさないと判定し、回路ブロック301bを電源オン状態にする電源オンオフ指示信号115を電源制御部110に出力する。さらに、電源オン状態の空きPEおよび電源オフ状態の空きPEの使用を示すPE選択信号114を構成情報生成部108に出力する。
【０１１９】
時刻T4〜T5において、電源制御部110は、リソース管理部107から受信した電源オンオフ指示信号115に従い、電源スイッチ112を制御して、電源オフ状態の回路ブロック103bを電源オン状態にする（図14(b)）。また、構成情報生成部108は、リソース管理部107から受信したPE選択信号114に従い、回路ブロック301aのP1〜P4および回路ブロック301bのP5〜P14を使用するための構成情報116を生成する。そして、生成した構成情報116をマッピング制御部109に出力する。
【０１２０】
時刻T5〜T6において、マッピング制御部109は、P1〜P14を選択するPE・ルータ選択信号117を生成し、生成したPE・ルータ選択信号117と構成情報116をDMUX203に出力する。
【０１２１】
時刻T6〜T7において、P1〜P14の回路構成と入出力、および、必要なルータ101の経路が設定され、時刻T6において処理B、C、Dの実行が開始される。時刻T7において、動的再構成回路101の回路ブロック103a、103bの処理割当状態は図14(c)に示すようになる。
【０１２２】
このように、複数の処理を新たに並列に実行する場合、電源オン状態にする電源制御領域の数を最小にして、複数の処理を割り当てることができる。従って、複数の処理を新たに並列に実行する場合も、無駄に電源オフ状態から電源オン状態に遷移させる回路ブロックをなくして、スタティック電力を抑制し、チャージ電力を削減することができる。
【実施例４】
【０１２３】
以下、本発明にかかる実施例4の情報処理装置を説明する。なお、実施例4において、実施例1-3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１２４】
上記の実施例では、動的再構成回路101を構成するPE102がすべて同種の場合を説明したが、動的再構成回路101は異なる種類のプロセッサで構成される場合もある（ヘテロジニアスマルチコア）。例えば、より高性能なシステムを実現するために、汎用PEと特定用途向けPEを組み合わせて動的再構成回路101を構成する場合がある。特定用途向けPEには、例えば、信号処理プロセッサ(DSP)、ビット処理プロセッサ(BMP)などがある。ヘテロジニアスマルチコアの動的再構成回路101によって構成された情報処理装置100にも本発明は適用可能である。
【０１２５】
ヘテロジニアスマルチコアの場合、各PEの種類が異なるため、実行する処理の内容に適した種類のPEを選択してコンフィギュレーションを実行する。このようなコンフィギュレーションの実行には、リソース管理部107が各電源制御領域に含まれるPE102の種類を示す情報を保持し、当該情報を参照して使用するPEを選択し、コンフィギュレーションを実行する。
【０１２６】
［動的再構成回路］
図15により実施例4における動的再構成回路101の構成例を説明する。
【０１２７】
動的再構成回路101は、汎用PE、第一の用途に使用する特定用途向けPE（ASPEa）、第二の用途に使用する特定用途向けPE（ASPEb）の三種類のPEを備える。回路ブロック301aは汎用PE、ASPEa、ASPEbの三種類を含み、回路ブロック301bは汎用PEのみを含む。
【０１２８】
［リソース管理部］
図16のブロック図によりリソース管理部107および構成データ105を入力するブロックの構成例を示す。
【０１２９】
PE情報取得部106は、構成データ105を受信し、PEの種類（PE種類）とその数（PE数）を示す情報をリソース管理部107に出力する。リソース管理部107は、PE情報取得部106からPE種類とPE数を、PE動作状況記憶部104から空きPE情報を受信する。
【０１３０】
リソース管理部107のPE種類判定部1601は、電源制御領域情報取得部301のレジスタ401を参照して、同じ種類の空きPEの数（空きPE数）とその種類を示す情報（後述する種類番号）をPE数比較部302に出力する。PE数比較部302は、PE情報取得部106から受信したPE種類とPE数、PE種類判定部1601から受信した種類番号と空きPE数を比較して、PE種類ごとのPE数比較結果をリソース判定部303に出力する。
【０１３１】
図17によりPE種類と種類番号の関係の一例を示す。図17は汎用PEに種類番号「01」を、ASPEaに種類番号「02」を、ASPEbに種類番号「03」を割り当てた例を示す。
【０１３２】
PE種類情報保持部1601は、各回路ブロック301が含むPE102それぞれの種類を図17に示す種類番号として保持する。また、構成データ105には、PE種類として図17に示す種類番号が指定されている。
【０１３３】
［コンフィギュレーション動作］
本実施例の情報処理装置100は、新たに処理をマッピングする際、電源オン状態の電源制御領域の空きPEの種類と数が構成データ105が指定する条件（PEの種類と数）を満たすか否かを判定する。判定の結果、条件を満たす場合は、電源オン状態の電源制御領域の空きPEに処理を割り当てる。また、条件を満たさない場合は、条件を満たすために必要な電源制御領域を電源オフ状態から電源オン状態に遷移させて、PEに処理を割り当てる。
【０１３４】
図18により処理割当状態の一例を示す。なお、図18において、処理A、BはPEが実行する任意の演算処理である。
【０１３５】
図18(a)において、回路ブロック301aは電源オフ状態にある。また、回路ブロック301bは電源オン状態にあり、回路ブロック301bの三つの汎用PEに処理Aが割り当てられ、六つの汎用PEが空きPEである。
【０１３６】
PE情報取得部106は、処理Bに対応する構成データ105を受信し、構成データ105が指定するPE種類とPE数を取得する。ここで受信される構成データ105は、四つの汎用PEと二つのASIPaを使用した処理Bの実行を指定する。
【０１３７】
リソース管理部107は、回路ブロック301bの空きPEの種類番号と空きPE数が条件（構成データ105が指定するPE種類とPE数）を満たすか否かを判定する。回路ブロック301bには空きPEとして六つの汎用PEが存在するがASIPaは含まれないため、リソース管理部107は、回路ブロック301bには処理Bを割当可能な空きPEはないと判定する。
【０１３８】
次に、リソース管理部107は、回路ブロック301aのPEの種類番号とPE数が条件を満たすか否かを判定する。回路ブロック301aには六つの汎用PEと二つのASIPaが存在し、リソース管理部107は、回路ブロック301aに処理Bを割当可能と判定する。そして、電源オフ状態の回路ブロック103aを電源オン状態にする電源オンオフ指示信号115を電源制御部110に出力する。さらに、回路ブロック301aの四つの汎用と二つのASPEaの使用を示すPE選択信号114を構成情報生成部108に出力する。
【０１３９】
以降、実施例1と同様に、回路ブロック301aのコンフィギュレーションを実行する。図18(b)は処理Bの割り当てた後の処理割当状態を示す。
【０１４０】
このように、動的再構成回路101が種類の異なるPEで構成される場合も本発明を適用することができる。
【０１４１】
［変形例］
上記では、アレイ型演算装置100が入力する構成データ105を用いて、電源オン状態のPEに優先的に処理を割り当てる方法を説明した。しかし、本発明は、構成データを入力しない、または、一度だけ構成データを入力する一般的なマルチプロセッサシステムにも適用することができる。
【０１４２】
このマルチプロセッサシステムにおいて、その回路構成は固定であるか、システム起動時に一度だけ、回路構成の変更が可能である。このようなマルチプロセッサシステムに複数の電源制御領域を設定した場合も、本発明を適用することができる。マルチプロセッサシステムにおいては、各PEへの演算処理（タスク）の割り当てをタスクスケジューラによって実行する場合がある。
【０１４３】
本発明のように、電源オン状態のPEに優先的に処理を割り当てるには、このタスクスケジューラがPEの電源状態を取得して、その状態に応じて処理を割り当てればよい。この方法を用いれば、一般的なマルチプロセッサシステムに本発明を適用することができる。
【０１４４】
ただし、一般的なマルチプロセッサシステムの場合、処理を割り当てる領域の形状に応じて構成情報を変更することはできない。そのため、処理を割り当てる領域の形状が、演算処理が要求するものと一致しない場合、その演算処理の割り当ては行わない。
【０１４５】
なお、本発明において、アレイ型演算装置100上に処理が割当可能な空きPEが複数ある場合、それぞれのPEに対する処理割当の優先度はない。
【０１４６】
また、本発明は、PE上で並列実行する複数のプログラムの処理が互いに依存関係をもつ場合、依存関係をもたない場合のどちらにも適用可能である。
【０１４７】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014029638.tif 000003
【図２】
2014029638.tif 000004
【図３】
2014029638.tif 000005
【図４】
2014029638.tif 000006
【図５】
2014029638.tif 000007
【図６】
2014029638.tif 000008
【図７】
2014029638.tif 000009
【図８】
2014029638.tif 000010
【図９】
2014029638.tif 000011
【図１０】
2014029638.tif 000012
【図１１】
2014029638.tif 000013
【図１２】
2014029638.tif 000014
【図１３】
2014029638.tif 000015
【図１４】
2014029638.tif 000016
【図１５】
2014029638.tif 000017
【図１６】
2014029638.tif 000018
【図１７】
2014029638.tif 000019
【図１８】
2014029638.tif 000020
【図１９】
2014029638.tif 000021