(57)【要約】【課題】演算装置において好適に電力削減可能とする技術を提供する。【解決手段】複数の電源制御領域のいずれかに其々属する複数の演算要素と、複数の演算要素と複数の電源制御領域との対応を示す対応情報を保持する保持手段と、複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、を有する。【選択図】図１
2014052918.tif 000002
【特許請求の範囲】
【請求項１】
複数の電源制御領域のいずれかに其々属する複数の演算要素と、
前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を保持する保持手段と、
前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、
前記スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、
を有することを特徴とする演算装置。
【請求項２】
複数の演算要素と該複数の演算要素の間の接続を動的に設定するルータとを含むアレイ型演算装置であって、前記複数の演算要素は、それぞれが１以上の演算要素を含む複数の回路ブロックの何れかに割り当てられており、前記アレイ型演算装置は、
前記複数の演算要素の各々が前記複数の回路ブロックの何れに属するかを示す対応情報を保持する保持手段と、
要求された処理に含まれる複数のタスクの各々を、前記複数の演算要素の何れでどのタイミングで実行するかをスケジュールしスケジュール情報を生成するスケジュール情報生成手段と、
前記対応情報と前記スケジュール情報とに基づいて、回路ブロック毎に電源供給を制御するための電源供給制御情報を生成する制御情報生成手段と、
前記複数の回路ブロックの各々に対して、それぞれの回路ブロックに対応する前記電源供給制御情報に基づいて電源供給を制御する電源供給制御手段と、
を有することを特徴とするアレイ型演算装置。
【請求項３】
前記制御情報生成手段は、回路ブロック毎に、それぞれの回路ブロックに含まれる１以上の演算要素の稼働状況の論理和に基づいて前記電源供給制御情報を生成することを特徴とする請求項２に記載のアレイ型演算装置。
【請求項４】
前記スケジュール情報生成手段は、依存関係のある複数のタスクを１つの単位としてスケジュールを行うことを特徴とする請求項２又は３に記載のアレイ型演算装置。
【請求項５】
前記スケジュール情報生成手段は、予め並列化コンパイラにより出力された、前記複数のタスクの各々の実行に必要な演算要素の個数の情報及び前記複数のタスク間の依存関係の情報に基づいて、前記スケジュール情報を生成することを特徴とする請求項２乃至４の何れか一項に記載のアレイ型演算装置。
【請求項６】
前記スケジュール情報に基づいて、回路ブロック毎に、それぞれの回路ブロックに含まれる１以上の演算要素の接続を設定するための前記ルータへの設定情報を生成する回路構成手段を更に有することを特徴とする請求項２乃至５の何れか一項に記載のアレイ型演算装置。
【請求項７】
前記スケジュール情報及び前記電源供給制御情報が生成された後、前記複数のタスクの各々を実行する演算要素の割り当てを変更する割り当て変更手段を更に有することを特徴とする請求項２乃至６の何れか一項に記載のアレイ型演算装置。
【請求項８】
前記制御情報生成手段は、
前記スケジュール情報において依存関係のある複数のタスクが異なる回路ブロックにまたがってスケジュールされている場合、当該依存関係のある複数のタスクが実行されている間の当該複数のタスクを実行する演算要素を含む回路ブロックへの電源供給の遮断を制限する制約情報を生成する生成手段と、
を更に含み、
前記制御情報生成手段は、更に前記制約情報に基づいて前記電源供給制御情報を生成する
ことを特徴とする請求項２乃至７の何れか一項に記載のアレイ型演算装置。
【請求項９】
前記複数の演算要素の各々の稼働状態を監視する監視手段と、
前記スケジュール情報における演算要素の稼働状態と前記監視手段により得られた実際の稼働状態とを比較する比較手段と、
前記比較手段により稼働状態が異なる演算要素が存在する場合、前記スケジュール情報を修正する修正手段と、
を更に有することを特徴とする請求項２乃至８の何れか一項に記載のアレイ型演算装置。
【請求項１０】
複数の電源制御領域のいずれかに其々属する複数の演算要素を備える演算装置の制御方法であって、
前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を取得する取得工程と、
前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジュール生成工程と、
前記スケジュール生成工程で生成したスケジュールに基づいて各電源制御領域に電源を供給する供給工程と、
を有することを特徴とする制御方法。
【請求項１１】
複数の演算要素と該複数の演算要素の間の接続を動的に設定するルータとを含むアレイ型演算装置の制御方法であって、前記複数の演算要素は、それぞれが１以上の演算要素を含む複数の回路ブロックの何れかに割り当てられており、前記制御方法は、
前記複数の演算要素の各々が前記複数の回路ブロックの何れに属するかを示す対応情報を取得する取得工程と、
要求された処理に含まれる複数のタスクの各々を、前記複数の演算要素の何れでどのタイミングで実行するかをスケジュールしスケジュール情報を生成するスケジュール情報生成工程と、
前記対応情報と前記スケジュール情報とに基づいて、回路ブロック毎に電源供給を制御するための電源供給制御情報を生成する制御情報生成工程と、
前記複数の回路ブロックの各々に対して、それぞれの回路ブロックに対応する前記電源供給制御情報に基づいて電源供給を制御する電源供給制御工程と、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算要素で構成され複数の異なる処理を実行することが可能なアレイ型演算装置における電力制御技術に関するものである。
【背景技術】
【０００２】
半導体製造技術の進歩による素子の微細化に伴い、膨大な数のトランジスタが大規模集積回路（ＬＳＩ）上に集積されるようになっている。ただし、動作時の電力増加と共に非動作時におけるリーク電流に起因する電力増加により、プロセスの微細化やプロセッサの高周波数化による性能向上に限界が見え始めている。そこで、近年、中央演算装置（ＣＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、単体の演算器、もしくは複数の演算器を組み合わせた演算ユニットなどの演算要素を、単一のＬＳＩ上に複数搭載した情報処理装置が注目されている。これは複数の演算要素を用いて処理を並列で行うことで高い演算性能を得ることができるためである。
【０００３】
ただし、大規模化・集積化により演算要素数を増やし理論性能を向上させることができるものの、増大する消費電力を抑制する対策を講じなければ、性能向上と省電力化を両立させることができない。今後も引き続き高機能化・高性能化のため、集積化が進み多数の演算要素が搭載されると予想されることから、電力対策は重要な課題となっている。
【０００４】
半導体集積回路で消費される電力には、機能動作時に消費する電力であるダイナミック電力と、回路に電源を供給するだけ消費される電力であるスタティック電力が含まれる。ダイナミック電力は、信号変化に伴い駆動する寄生容量の充放電で流れる電流と貫通電流のようなトランジスタのスイッチング時に流れる電流が原因になって消費される。従って、機能動作に支障の無い範囲で信号変化を抑えるとダイナミック電力を削減することが出来る。このような原理に基づく代表的な省電力化の手法としてクロックゲーティングがあり、一般に広く用いられている。一方、スタティック電力は、トランジスタの寄生容量に充電される電荷とリーク電流のために消費される電力である。プロセスの微細化に進むに従って、寄生容量は減少しリーク電流は増加する傾向にある。特に、ポリシリコンのゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的な増加傾向を示していた。
【０００５】
リーク電流を削減するにはトランジスタに供給する電圧を小さく制限するか、または、遮断してしまう方法が有効である。このためリーク電力削減を目的とした技術として、同一電源で駆動されるブロックの電源遮断が一般に広く用いられる。半導体集積回路における電源遮断とは、電源遮断の対象となる箇所（電源遮断領域）への電源供給経路と電源をトランジスタで構成された電源スイッチを用いて接続し、必要に応じて、電源スイッチの導通と遮断を切り替える技術である。現在では、材料や製造方法の改善によりリーク電流は以前のような指数関数的な増加傾向を示すことはなくなったが、依然、線形的に増加しているため、電源遮断の技術はこれからも重要であると考えられる。
【０００６】
つまり、大規模化した半導体集積回路においてもリーク電力を効率的に削減するために、この電源遮断技術が用いられる。複数の電源遮断領域を構成し、稼働していない演算要素を部分的に電源遮断するきめ細かい電源管理を行うことで消費電力を抑制させることが可能になる。
【０００７】
きめ細かい電源管理を実現する手法として、例えば特許文献１では、複数の演算要素間をローカルバスで接続したマルチプロセッサシステムを対象として、プログラムのコンパイル時に電源の供給・遮断を制御するコードを生成する方法が提案されている。具体的には、プログラムを解析し、処理順序を考慮し各演算要素への電源の供給・遮断を制御するコードを生成する方法が提案されている。より具体的には、まず、コンパイラにより、実行する対象となるプログラムから自動的に並列性を持つタスクを抽出する。次に、抽出されたタスクに対し、各プロセッサユニットの特性に基づいて各プロセッサユニットを効率よく動かすスケジューリングを行う。そして、スケジューリング結果に基づいて各プロセッサユニットの処理量を見積もることで電源電圧を制御している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２９３７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
高機能・高性能な情報処理装置を実現するために、複雑で多岐にわたる演算処理をより柔軟に演算要素に割り当てる必要がある。そのため、適宜、実行する処理に合わせて動的に回路構成を切り替え、複数の処理を実行することのできる動的再構成可能な回路が将来的に多く活用されていくと考えられる。
【００１０】
しかしながら、上述の特許文献１に記載の技術は、演算要素間をローカルバスで接続するバス接続型の結合を行い、バスの占有状態を調停しながら演算要素間の通信を制御する構成を前提としている。すなわち、処理内容に合わせて固有のコンフィグレーションを行い、占有の通信経路を確立させることのできる動的再構成可能な回路構成には用いることができない。
【００１１】
そのため、動的再構成可能な回路に対してきめ細かい電源管理を実現するため、現状では、並列化されたプログラムコードと電源遮断領域の構成に基づいて、開発者が、演算要素の稼働状況に合わせて最適な電源制御シーケンスを手動で作成する方法がとられている。ただし、将来、多数の演算要素が積載されるようになると多大な労力と時間が必要になる。
【００１２】
本発明は上述の問題点に鑑みなされたものであり、複数の演算要素を含む演算装置において好適に電力削減可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述の問題点を解決するため、本発明の演算装置は、複数の電源制御領域のいずれかに其々属する複数の演算要素と、前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を保持する保持手段と、前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、前記スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、を有する。
【発明の効果】
【００１４】
本発明によれば、複数の演算要素を含む演算装置において好適に電力削減可能とする技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るアレイ型演算装置の全体構成を示す概略図である。
【図２】アレイ型演算装置を含む情報処理装置の詳細構成図である。
【図３】回路ブロックの構成とルーティングを説明する図である。
【図４】対応情報（電源遮断領域とＰＥの構成との対応情報）の一例を示す図である。
【図５】タスク間の実行順序に制約がない場合の動作フローチャートである。
【図６】タスク間の実行順序に制約がある場合の動作フローチャートである。
【図７】第１実施形態における電源制御を説明するタイミングチャートである。
【図８】複数のタスクの依存関係を示す図である。
【図９】入力されるデータ及び出力されるデータの関係を説明する図である。
【図１０】電源遮断領域ＩＤの付与された仮想電源制御シーケンスを例示的に示す図である。
【図１１】第１実施形態における各電源遮断領域の電源制御シーケンスを例示的に示す図である。
【図１２】第２実施形態に係るアレイ型演算装置の全体構成を示す概略図である。
【図１３】第３実施形態に係るアレイ型演算装置の全体構成を示す概略図である。
【図１４】第３実施形態における動作フローチャートである。
【図１５】第３実施形態における電源制御を説明するタイミングチャートである。
【図１６】第４実施形態に係るアレイ型演算装置の全体構成を示す概略図である。
【図１７】第４実施形態における動作フローチャートである。
【図１８】第４実施形態における電源制御を説明するタイミングチャートである。
【図１９】マッピング情報を生成するための装置のブロック図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１７】
（第１実施形態）
本発明の第１実施形態として、アレイ型演算装置１０１を例に挙げて以下に説明する。特に、アレイ型演算装置１０１における電源制御シーケンスを自動生成する動作について説明する。
【００１８】
＜装置構成＞
図１は、第１実施形態に係るアレイ型演算装置の全体構成を示す概略図である。アレイ型演算装置１０１は、複数の回路ブロック１０２、タイミング情報取得部１０４、対応情報保持部１０６、制御情報生成部１０５を含む。各々の回路ブロック１０２は、複数の演算要素１０３を有し各々の回路ブロック１０２は電源制御部１０７に接続され、制御情報生成部１０５からの制御信号により電源供給の制御がされる。
【００１９】
図３は、回路ブロックの構成とルーティングを説明する図である。図３（ａ）は、回路ブロック１０２の構成の一例を示している。回路ブロック１０２は１以上の演算要素１０３とルータ３００を用いた動的再構成可能な回路で構成される。なお、ルータ３００は接続経路を規定するためのレジスタを有する。なお、ここでは演算要素１０３としてプロセッサエレメント（ＰＥ）３０１を用いた例を説明する。
【００２０】
ＰＥ３０１は、ＡＬＵ、ＣＰＵ、ＤＳＰなどが用いられる。各ＰＥ３０１はルータ３００を介して接続される。ルータ３００はタイミング情報取得部１０４から出力されるマッピング情報に基づいて制御され、図３（ｂ）や図３（ｃ）に例示されるように、動的に接続経路を切り替えることができる。
【００２１】
対応情報保持部１０６は、各回路ブロック１０２と演算要素１０３の対応関係を示す対応情報を保持する。例えば、対応情報には、複数の回路ブロック１０２の各々がどのような演算要素１０３で構成され、物理的にアレイ型演算装置１０１上のどの位置に配置されているかわかるように、それぞれの座標データが記載されている。もちろん、座標データのような物理的位置に限定されるものでは無く、各回路ブロック１０２と演算要素１０３の対応関係が特定されるようなものであれば良い。
【００２２】
アレイ型演算装置１０１は、予め並列化コンパイラによって出力されたコンフィグレーションデータを基に演算処理を実行する。以下では、まず、並列化コンパイラの動作の概略とコンフィグレーションデータに含まれる情報について述べる。
【００２３】
並列化コンパイラは、入力されたプログラムを複数の粒度の処理単位（タスク）に分割し、タスク間の依存関係や並列性を解析し、タスクのスケジュールを行う。この解析結果を基に、タスクが必要とする演算器やＰＥの数や種類を見積もる。当該見積もり結果を基に、必要なＰＥをグループ化し、当該グループに対してタスクの割り当てを行う。つまり、コンフィグレーションデータには、例えば各処理の演算内容と各処理を実行する際に必要なＰＥの個数や、各処理の依存性の情報が含まれる。
【００２４】
＜装置の動作＞
図２は、アレイ型演算装置を含む情報処理装置の詳細構成図である。ここで、情報処理装置１００は、１つのパッケージに封止された形態を想定するが、複数のパッケージに分離した形態でもよい。以下では、アレイ型演算装置１０１がコンフィグレーションデータを基に演算処理を実施するまでの基本的な動作を説明する。
【００２５】
なお、以下の説明においては、アレイ部２０６は、４つの回路ブロック１０２から構成されるものとして説明する。また、４つの回路ブロック１０２それぞれには電源制御部１０７が接続され、４つの電源遮断領域（ＰＳＯ（Power ShutOff）ドメイン）２０８が形成されている。電源制御部１０７は、回路ブロック１０２への電力の供給と遮断の制御を行う集積回路の一部である。ＰＳＯドメインは電源制御領域、パワードメインなど種種の呼称があり、各領域はリーク電力を削減するために、論理的にパワースイッチに囲まれている。
【００２６】
以下では、タスク間に依存関係（実行順序の制約）がない処理Ｖとある処理Ｗのそれぞれについて、図２に示されている電源遮断領域０１の電源制御シーケンスを自動生成し、演算処理を実行するまでの動作について説明する。なお、以下の説明では、電源遮断領域０１に着目して説明するが、他の電源遮断領域０２〜０４についても電源遮断領域０１と同様である。
【００２７】
図８（ａ）は、処理Ｖに含まれる複数のタスクの依存関係を示す図である。つまり、処理Ｖに含まれる２つのタスク（タスクＡ及びタスクＢ）の間には依存関係が無い。一方、図８（ｂ）は、処理Ｗに含まれる複数のタスクの依存関係を示す図である。つまり、処理Ｗに含まれる４つのタスク（タスクＡｂ〜タスクＤｂ）の間には依存関係がある。
【００２８】
・タスク間に依存関係（実行順序の制約）がない処理Ｖを実行する場合の動作
図５は、タスク間の実行順序に制約がない場合の動作フローチャートである。また、図９（ａ）は、各ステップで入力されるデータ及び出力されるデータの関係を説明する図である。タスク間に依存関係（実行順序の制約）がない場合は、演算リソースの管理が必要ない。また、タスクＡ及びタスクＢの実行順序は決まっておらず、どのタイミングで処理要求が起こるか不明である。よって、処理要求に合わせて電源の供給を行い、逐次タスクを実行し、その都度必要なデータを取得し、処理結果を出力し、電源を遮断する。
【００２９】
ステップＳＴ５０１では、タイミング情報取得部１０４は、アレイ型演算装置の外部から処理要求を受信するとコンフィグレーションメモリ２００からコンフィグレーションデータを取得する。
【００３０】
ステップＳＴ５０２では、使用ＰＥ解析部２０１は、コンフィグレーションデータから必要とするＰＥ数と種類、依存関係を抽出し、制御情報生成部内の電源制御解析部２０３へＰＥ特定情報として送信する。つまり、コンパイルで作成されたコンフィグレーションデータには、必要なＰＥ数と種類、各タスクの依存関係が決まっているだけで、物理的にどのＰＥを使用するかは特定されていない。そこで、物理的に使用するＰＥを特定しタスクの割り当てを行うためにＰＥ特定情報を電源制御解析部２０３へ送信するのである。なお、ここでは、タスクＡ、タスクＢを実行するために２つのＰＥが必要であると想定する。
【００３１】
ステップＳＴ５０３では、電源制御解析部２０３は、対応情報保持部１０６から対応情報（電源遮断領域とＰＥの構成との対応情報）を入手する。
【００３２】
図４は、対応情報の一例を示す図である。対応情報には、回路ブロック１０２のＰＥの構成と、各ＰＥがどの電源遮断領域に属するかを示す情報が含まれている。ここでは電源遮断領域０１に着目し説明する。電源遮断領域０１はＰＥ００００〜ＰＥ０００７の８つのＰＥが２行４列の配列で構成されている。
【００３３】
ステップＳＴ５０４では、電源制御解析部２０３は、ＰＥ特定情報と対応情報とに基づいて、使用するＰＥを物理的に特定し、各タスクの割り当てを実行する。ここでは、電源遮断領域０１内のＰＥ００００にタスクＡを、ＰＥ０００１にタスクＢを割り当てる。
【００３４】
例えば、電源制御解析部２０３は、ＰＥ特定情報から各タスク実行に必要な処理サイクル数、必要な演算リソース量を抽出する。また、対応情報からアレイ部２０６の構成がわかるため、電源制御解析部２０３は、回路ブロックの各々の演算処理能力を算出することができる。そして、電源制御解析部２０３は、各タスク実行に必要な処理サイクル数、必要な演算リソース量と、回路ブロックの各々の演算処理能力とに基づいて、まず、タスクを回路ブロックに割り当てる。また、割り当てを行うごとに割り当て結果を保存しておき、当該割り当て結果から、現在稼働しているＰＥを把握し、回路ブロックの各々の空き演算処理能力を算出する。これら必要な処理サイクル数、演算リソース量、空き演算処理能力からどの回路ブロック１０２のＰＥ３０１で実行するか決定する。なお、タスクを割り当てる際に、ＰＥ間の接続本数や性能、消費電力等、優先すべき事項がある場合は、処理コスト（重み付け）を設定し、優先して割り当てが行われるようにするとよい。
【００３５】
ステップＳＴ５０５では、電源制御解析部２０３は、ＳＴ５０４で特定したＰＥの配置とＰＥ間の接続情報を、電源遮断領域判定部２０４とタイミング情報取得部内の回路構成生成部２０２へ送信する。
【００３６】
ステップＳＴ５０６では、回路構成生成部２０２は、電源制御解析部２０３から受け取ったＰＥの配置とＰＥ間の接続情報を基に、マッピング情報を生成する。当該マッピング情報には、ＰＥ間を接続するためのルータ３００のレジスタ設定が記載されている。そして、回路構成生成部２０２は、マッピング情報が生成されたことを電源制御生成部２０５に通知し、電源制御生成部２０５は、電源の管理を開始する。
【００３７】
ステップＳＴ５０７では、電源遮断領域判定部２０４は、稼働させるＰＥがどの電源遮断領域に含まれるかを対応情報に基づいて判定し電源制御生成部２０５に通知する。当該判定結果に基づいて、電源制御生成部２０５は、電源遮断領域０１に電源が供給されるように指示し、ＰＥ３０１からタスクの完了通知を受け取るまで電源遮断領域０１に電源を供給するよう指示を行う。なお、処理が完了した際に処理完了通知がなされるように入力プログラムに制御コードをあらかじめ付与しておくとよい。
【００３８】
ステップＳＴ５０８では、電源制御解析部２０３は、電源が供給されると回路構成生成部２０２へマッピング開始（ルータのレジスタ設定）の指示を送信する。通知を受信した回路構成生成部２０５はルータ３００のレジスタ設定を行い、演算処理を開始する。ＰＥ３０１は、タスクが完了するとルータ３００を介して回路構成生成部２０２へタスク完了通知が送信する。
【００３９】
ステップＳＴ５０９では、回路構成生成部２０２は、タスクが割り当てられた各ＰＥからタスク完了通知を取得すると電源制御解析部２０３へ転送を行う。電源制御解析部２０３はタスク完了通知が転送された場合、どの電源遮断領域のどのＰＥからタスク通知完了がなされたかを判定する。制御情報生成部１０５は、電源遮断領域０１内のすべてのＰＥのタスクが完了した場合、電源の供給指示がなくなったと判断し電源遮断領域０１に対する電源の供給を遮断する。
【００４０】
図７（ａ）は、処理Ｖを実行する場合の電源制御を説明するタイミングチャートである。時刻ｔｓ０では、アレイ型演算装置の外部からタイミング情報取得部１０４へタスクＡの処理要求が送信される。
【００４１】
使用ＰＥ解析部２０１は、コンフィグレーションメモリ２００からタスクＡの演算処理内容とタスク間の依存関係情報を抽出し、必要な演算リソース量を決定する。使用ＰＥ解析部２０１は、決定した演算リソース量と抽出したタスク間の依存関係情報をＰＥ特定情報とし、電源制御解析部２０３に送信する。電源制御解析部２０３では、ＰＥ特定情報からＰＥ００００へ割り当てが行われる。なお、あらかじめどのタスクを処理する要求かを識別するために、要求処理信号に識別コードが付与されている。
【００４２】
電源遮断領域判定部２０４は、ＰＥ００００が電源遮断領域０１に属すると判定し、電源遮断領域０１に電源を供給するように電源制御生成部２０５に指示する。なお、電源制御生成部２０５は、タスクＡの処理完了通知を受信するまで、電源供給の指示信号（P_sup1）を電源制御部１０７に供給し続ける。
【００４３】
時刻ｔｓ１では、タイミング情報取得部１０４へタスクＢの処理要求が送信される。タスクＢの処理要求を受けると、上述のタスクＡの場合と同様の処理が行われる。ここでは、タスクＢもＰＥ０００１へ割り当てられ、ＰＥ０００１は電源遮断領域０１に属すると判定される。また、電源制御生成部２０５は、電源供給の指示信号（P_sup2）を電源制御部１０７に供給し続ける。
【００４４】
時刻ｔｓ２では、電源制御生成部２０５はＰＥ００００からタスクＡの完了通知を受信する。この時、電源遮断領域０１内の他のＰＥ（ＰＥ０００１〜ＰＥ０００７）が稼働していないか、電源供給の指示信号の有無を確認する。図７（ａ）に示されるように、時刻ｔｓ２の時点ではタスクＢが完了しておらず、電源供給の指示（P_sup2）が出ているため、電源の遮断を行わない。
【００４５】
時刻ｔｓ３では、電源制御生成部２０５はＰＥ０００１からタスクＢの完了通知を受信する。図７（ａ）に示されるように、時刻ｔｓ３の時点では、稼働しているＰＥが存在しなくなるため、電源遮断領域０１に電源が遮断されるように指示を行う。
【００４６】
・タスク間に依存関係（実行順序の制約）がある処理Ｗを実行する場合の動作
図６は、タスク間の実行順序に制約がある場合の動作フローチャートである。また、図９（ｂ）は、各ステップで入力されるデータ及び出力されるデータの関係を説明する図である。タスク間に依存関係（実行順序の制約）がある場合は、依存関係のあるタスクを実行するＰＥの電源状態も考慮する必要がある。そのため、タスクのスケジューリング管理を行う必要がある。
【００４７】
例えば、あるタスク１と別のタスク２の間に依存関係があり、タスク２がタスク１の演算結果を参照する場合を考える。また処理時間はタスク１の方が長いとする。依存関係を考慮しないと、同時刻でタスクを開始し、電源供給を処理時間の長いタスク１に合わせて電源の供給を行う。しかしながら、依存関係がある場合は、参照するタイミングによってはタスク１の処理時間内にタスク２の処理が完了するとは限らない。よってタスク１を実行してからタスク２がデータを参照し完了する時間を見積もったうえで電源を供給しなければ、タスク２の実行中に電源を遮断してしまう可能性がある。よって、実行順序に制約がある場合、依存関係のある複数のタスクをまとめて１つの処理単位として扱い、電源管理を行うと良い。
【００４８】
実行順序に制約のない場合との差異はＳＴ６０２で使用ＰＥ解析部２０１にてコンフィグレーションデータから依存関係を解析する際に、処理単位を決定し、タスクスケジュールを作成する点である。ＳＴ６０２にて決定した処理単位に基づきデータの解析、データの受け渡しを行い、タスクスケジュール情報を作成し、当該タスクスケジュール情報に基づいて電源の管理を行う。
【００４９】
ステップＳＴ６０１では、タイミング情報取得部１０４は、アレイ型演算装置の外部から処理要求を受信するとコンフィグレーションメモリ２００からコンフィグレーションデータを取得する。
【００５０】
ステップＳＴ６０２では、使用ＰＥ解析部２０１は、コンフィグレーションデータから必要とするＰＥ数と種類、依存関係を抽出する。そして、使用ＰＥ解析部２０１は、コンフィグレーションデータを解析し、タイムスケジュールを作成する。コンフィグレーションデータから、４つのタスク（タスクＡｂ〜タスクＤｂ）の間には、図８（ｂ）に示すような依存関係が存在するため、タスクＡｂからタスクＤｂまでを一つの処理単位とする。
【００５１】
使用ＰＥ解析部２０１は、依存関係と各タスクの完了見積もり時間からタスクの実行順序と実行タイミングを決める。タスクの完了見積もり時間は、例えば、各タスクに必要な処理サイクル数から算出する。タスクの実行順序は、データの依存関係を解析することで決定する。これらの実行順序とタスクの完了見積もり時刻から実行タイミングを決定し、タイムスケジュール情報を生成する。すなわち、タイムスケジュール情報には、各タスクの開始時刻と完了時刻の情報が含まれている。ここでは、図８（ｂ）に示されるように、タスクＢｂは時刻ｔ１０にタスクＡｂの結果を参照するため、タスクＡｂを先に実行する。タスクＣｂは時刻ｔ１１にタスクＡｂの結果を参照するために、タスクＡｂ、タスクＢｂ、タスクＣｂの順に実行していく。
【００５２】
ステップＳＴ６０２では、使用ＰＥ解析部２０１は、作成したタイムスケジュール情報を電源制御解析部２０３へ送信される。なお、上述のように、タイムスケジュール情報は、各タスクの開始時刻と完了予定時刻が記された情報である。各タスクの開始時刻は、使用ＰＥ解析部２０１にて抽出されたタスク間の依存関係から実行順序が定まり、この実行順序に基づいて決められている。
【００５３】
ステップＳＴ６０３〜ＳＴ６０４では、電源制御解析部２０３は、各タスクのＰＥへの割り当てを行う。ここでは、電源遮断領域０１内のＰＥ００００にタスクＡｂ、タスクＤｂを、ＰＥ０００１にタスクＢｂ、ＰＥ０００４にタスクＣｂを割り当てるものとする。
【００５４】
なお、複数の回路ブロックに対して、タスクを割り当てる場合は、ＰＥ特定情報から当該タスクに必要な演算リソースを算出する。同時に、対応情報からアレイ部２０６の構成がわかるため、複数の回路ブロックの各々の演算処理能力がわかる。また、割り当てを行うごとに逐次割り当て結果は保存されているので、各回路ブロック１０２の空き演算処理能力も算出することができる。当該タスクに必要な演算リソースと各回路ブロック１０２の空き演算処理能力を比較し、どの回路ブロック１０２に割り当てるかを決定する。
【００５５】
ステップＳＴ６０５では、電源制御解析部２０３（スケジュール情報生成手段、スケジューラ）は、ＳＴ６０４で特定したＰＥの配置とＰＥ間の接続情報とタイムスケジュール情報を基にタスクスケジュール情報を生成する。そして、タイミング情報取得部内の回路構成生成部２０２へ送信する。ここで、タスクスケジュール情報とは、タイムスケジュール情報に対し、更にどのＰＥを使用するかの情報を加えたものである。
【００５６】
図７（ｂ）は、処理Ｗを実行する場合の電源制御を説明するタイミングチャート（タスクスケジュール情報）である。なお当該タスクスケジュール情報は、電源制御解析部２０３に保存され、ＰＥへの割り当てを行う際に参照することで、各ＰＥの演算リソースを把握することができる。
【００５７】
ステップＳＴ６０６では、電源制御解析部２０３は、タスクスケジュール情報から各ＰＥの稼働状況を判断し、各ＰＥの仮想電源制御シーケンスを生成する。作成した仮想電源制御シーケンスを電源遮断領域判定部２０４に送信する。図７（ｂ）の下段にＰＥ００００、ＰＥ０００１、ＰＥ０００４それぞれの稼働情報（P_ctrl1b〜P_ctrl3b）のタイミングチャートを示している。
【００５８】
ステップＳＴ６０７では、電源遮断領域判定部２０４は、電源遮断領域情報に基づいて、各ＰＥがどの電源遮断領域に含まれるかを判定し、どの電源遮断領域に属するかを示す固有の電源遮断領域ＩＤを各仮想電源制御シーケンスに付与する。そして、電源遮断領域判定部２０４は、電源遮断領域ＩＤが付与された仮想電源制御シーケンスを電源制御生成部２０５へ送る。図１０は、電源遮断領域ＩＤの付与された仮想電源制御シーケンスを例示的に示す図である。
【００５９】
ステップＳＴ６０８では、電源制御生成部２０５（電源供給制御手段）は、同一の電源遮断領域に属する各ＰＥの仮想電源制御シーケンスの論理和（ＯＲ）をとり、それぞれの電源遮断領域の電源制御シーケンス（電源供給制御情報）を生成する。すなわち、電源遮断領域毎（回路ブロック毎）に電源制御シーケンスを生成する。ここでは、ＰＥ００００、ＰＥ０００１、ＰＥ０００４すべてが同一の電源遮断領域０１に属しているため、ＰＥ００００、ＰＥ０００１、ＰＥ０００４の仮想電源制御シーケンスの論理和（ＯＲ）により生成する。
【００６０】
図７（ｂ）の下段に、電源遮断領域０１に対する電源制御シーケンス（PSO01_ctrlb）と電源遮断領域０１に対して印加する電源電圧（PSO_Vddb）のタイミングチャートを示す。ここでは、電源制御シーケンス（PSO01_ctrlb）は、論理和演算により得られる時刻ｔ５〜ｔ１２の期間に加え、電圧の立ち上がり遅延を考慮し、時刻ｔ４〜ｔ５の期間も電源を供給するよう構成している。回路ブロック１０２はそれぞれ電源制御部１０７を介して電源Ｖｄｄに接続されているため、制御情報生成部１０５からの電源制御シーケンス（PSO01_ctrlb）に基づき電源供給の制御・管理がなされる。
【００６１】
ステップＳＴ６０９では、回路構成生成部２０２は、電源制御解析部２０３から受け取ったＰＥの配置とＰＥ間の接続情報とを基に、マッピング情報（設定情報）を生成する。
【００６２】
ステップＳＴ６１０では、回路構成生成部２０２は、使用ＰＥ解析部２０１で抽出された各タスクの演算処理内容と、回路構成生成部２０２で生成されたマッピング情報を用いて、回路ブロック内のＰＥに演算の指示を行う。演算処理の時間管理は、電源制御解析部２０３から入手したタスクスケジュール情報に基づいて行われる。
【００６３】
ここでは、当該マッピング情報に基づいてルータ３００が設定され各ＰＥ間の接続が行われる。図３（ｃ）は時刻ｔ９での一例を示している。なお、回路構成生成部２０２は、タスクスケジュールから、時刻ｔ９においては、タスクＢｂがＰＥ０００１で実行され、タスクＣｂがＰＥ０００４で実行されていることがわかる。さらに、回路構成生成部２０２は、タスクスケジュール情報から時刻ｔ９からタスクＤｂをＰＥ００００で実行する必要と判断する。そこで、回路構成生成部２０２は、コンフィグレーションデータからタスクＤｂにあたる演算処理内容を入手し、すでに確立されているＰＥ間の接続経路を通してＰＥ００００に演算の指示を行う。
【００６４】
なお、上述の説明ではコンフィグレーションデータには、各タスク間の依存関係のみが記述されるだけで、タスクの実行順序などのタイムスケジュール情報が含まれていない場合を想定している。ただし、タイムスケジュール情報がコンフィグレーションデータに含まれる場合には、単に使用ＰＥ解析部２０１にてタイムスケジュール情報を抽出して処理を実行すればよい。
【００６５】
以上説明した動作を演算処理ごとに繰り返し、タスクスケジュール情報、マッピング情報、電源制御シーケンスを生成し演算処理を実行する。図１１は、電源遮断領域の電源制御シーケンスの例を示す。当該電源制御シーケンスにしたがって、電源制御部１０７は電源の復帰と遮断を行う。
【００６６】
なお、上述の説明においては、対応情報は、対応情報保持部１０６にあらかじめ記憶させているものとして説明したが、外部から設定できるような形態であっても構わない。また、電源制御部１０７は、ＰＭＯＳからなる電源スイッチを用いた構成を想定するが、電源電圧を制御可能なものであれば任意の構成が利用可能である。
【００６７】
更に、上述の説明においては、上述の各処理をハードウェア回路により実現するものとして説明したが、一部又は全部をソフトウェア処理により実現する構成としても良い。
【００６８】
図１９は、マッピング情報をソフトウェア処理により生成する情報処理装置１００のブロック図を示している。２１０１は装置全体の制御を司るＣＰＵであり、２１０２はブートプログラムなどを記憶しているＲＯＭ、２１０３はＣＰＵ２１０１）のワークエリアとして利用され、オペレーティングシステム（ＯＳ）、アプリケーションを格納するためのＲＡＭである。
【００６９】
２１０４はＯＳ、マッピング情報を作成するためのアプリケーション、ならびに、様々なデータを格納するためのハードディスクドライブ（ＨＤＤ）である。２１０５はキーボード、２１０６はマウスであり、ユーザインタフェースとして機能する。２１０７は内部にビデオメモリ及び表示コントローラを内蔵する表示制御部であり、２１０８は表示制御部２１０７からの映像信号を受信し、表示するための表示装置である。
【００７０】
２１０９は各種外部デバイスと通信するインタフェース（Ｉ／Ｆ）であり、例えば、外部メモリ２１１０を接続することで、作成したマッピング情報をその外部メモリ２１１０に書込むことになる。
【００７１】
情報処理装置１００に電源が投入されると、ＣＰＵ２１０１はＲＯＭ２１０２に格納されたブートプログラムを実行し、ＨＤＤ２１０４に格納されたＯＳをＲＡＭにロードする。その後、マッピング情報を作成するアプリケーションを起動することで、情報処理装置１００がマッピング情報作成装置として機能する。作成されたマッピング情報は、例えば情報処理装置１００に入力され上述した電源制御シーケンスの作成処理に用いられる。同様に、電源遮断領域情報と使用するプロセッサ情報から電源制御情報を自動生成することもできる。
【００７２】
以上説明したように、第１実施形態によれば、アレイ型演算装置において好適に電力削減可能とする電源制御シーケンスを自動で生成することが可能となる。また、電源遮断領域の構成が変更され電源遮断領域の境界部が変わった場合でも、新たにコンパイルし直して電源制御シーケンスを生成する必要はない点が更なる利点として挙げられる。すなわち、対応情報保持部１０６の対応情報を変更するだけで電源制御シーケンスを生成することができる。
【００７３】
（第２実施形態）
第２実施形態では、タスクを実行するＰＥの割り当てを、仮想電源制御シーケンス生成後、電源遮断領域判定後に変更可能とする構成について説明する。
【００７４】
＜装置構成＞
図１２は、第２実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第１実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。制御情報生成部１０５内に新たにＩＤ変換部２０７が設けられている点が第１実施形態（図１，図２）と異なる。
【００７５】
第１実施形態で説明したように、電源制御解析部２０３は、各タスクのＰＥへの割り当てを行いＰＥの配置とＰＥ間の接続を決定している。この際、物理的にどのＰＥを稼働させるのか管理するために、個々のＰＥにはＩＤが割り振られている。
【００７６】
例えば、図２の電源遮断領域０１に属する１行１列目のＰＥにはＰＥ００００としている。このＩＤを付け替えることで稼働させるＰＥを変更することができる。ただし、稼働させるＰＥの変更に伴い、マッピング情報を修正する必要がある。そこで、ＩＤ変換部２０７は、回路構成生成部２０２へマッピング情報を修正する旨を指示する。同様に、稼働させるＰＥの変更に伴い、仮想電源制御シーケンスも変更する必要がある。そこで、電源制御生成部２０５は、ＩＤ変更に合わせて仮想電源制御シーケンスを修正しなおす。
【００７７】
また、あらかじめ設定しておいた条件に合致した際に、ＩＤ変換部２０７においてＩＤ変換を行うようにしておいても良い。例えば、稼働させるＰＥの配置が偏った場合に、均一にＰＥが割り当てられるように変更するように構成しても良い。あるいは、ある処理Ｘ実行中に、アレイ型演算装置外のブロックと通信が多い処理Ｙが生じた場合、処理Ｙを実行するＰＥとして、通信相手となるブロックに近い座標のＰＥが優先して割り当てるように変更を行ってもよい。
【００７８】
なお、基本的には、同一の電源遮断領域０１に属する他のＰＥへの割り当て変更を想定するが、対象となるタスクの実行期間に電源が供給されている他の電源遮断領域のＰＥに割り当て変更を行うよう構成しても良い。
【００７９】
第２実施形態の構成を採ることにより、タスクのＰＥへの割り当てをより自由に行うことが可能となる。
【００８０】
（第３実施形態）
第３実施形態では、電源遮断領域判定後にタスクスケジュールを変更可能とする構成について説明する。
【００８１】
＜装置構成＞
図１３は、第３実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第１実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。制御情報生成部１０５内に新たにスケジュール書き換え部１３００が設けられている点が第１実施形態（図１，図２）と異なる。
【００８２】
ここでは、図８（ｃ）のような依存関係を有する処理Ｚについて着目し、図２に示されている電源遮断領域０１と電源遮断領域０２に対する電源制御シーケンスを自動生成する例について説明する。
【００８３】
＜装置の動作＞
図１４は、第３実施形態における動作フローチャートである。また、図１５は、第３実施形態における電源制御を説明するタイミングチャートである。図８（ｃ）に示されるように、処理Ｚは、タスクＥ〜タスクＭの９個のタスクから構成されている。以下では、異なる電源遮断領域に割り当てられたタスクＦとタスクＬとの間に依存関係が無い場合とある場合について説明する。
【００８４】
・タスクＦとタスクＬとの間に依存関係が無い場合
コンフィグレーションメモリ２００からコンフィグレーションデータを取得し、電源制御解析部２０３がタスクの割り当てを実行するまでの動作（ＳＴ６０１〜ＳＴ６０４）は第１実施形態と同様である。ここでは、図１５（ａ）に示すように、ＰＥ００００にタスクＥ、タスクＦ、タスクＨを割り当て、ＰＥ０００１にタスクＧ、タスクＩを割り当てる。また、ＰＥ０００８にタスクＪ、タスクＫを割り当て、ＰＥ０００９にタスクＬ、タスクＭを割り当てる。
【００８５】
電源制御解析部２０３は、第１実施形態と同様にタスクスケジュール情報を生成し、タイミング情報取得部１０４内の回路構成生成部２０２へ送信する。また、生成されたタスクスケジュール情報を電源遮断領域判定部２０４へ送信するとともに、タスクスケジュール情報に対し電源遮断領域ＩＤを付与する。
【００８６】
ステップＳＴ１４０５では、電源遮断領域判定部２０４は、電源遮断領域情報を基に各ＰＥがどの電源遮断領域に属するか判定する。そして、スケジュール書き換え部１３００は、判定結果に基づいて、電源遮断領域ごとにタスクスケジュール情報を作成する。ここでは、図２に示すように、ＰＥ００００及びＰＥ０００１は電源遮断領域０１に属し、ＰＥ０００８及びＰＥ０００９は電源遮断領域０２に属している。そのため、図１５（ａ）（ｂ）のように、電源遮断領域０１、電源遮断領域０２それぞれに対しタスクスケジュール情報が作成される。
【００８７】
ステップＳＴ１４０６では、電源制御生成部２０５は、電源遮断領域ごとに作成されたタスクスケジュール情報から、すべてのＰＥが稼働していない時間を電源ＯＦＦ可能時間として検索する。この検索結果に基づいて、それぞれの電源遮断領域に対する電源制御シーケンスを作成する。
【００８８】
図１５（ａ）は、電源遮断領域０１に対する電源遮断可能時間（Tpso_off1）を示す。また、電源遮断領域０１の電源制御シーケンス（PSO01_ctrlc）、及び、電源遮断領域０１の電源電圧波形（PSO01_vddc）を併せて示す。図１５（ｂ）は、電源遮断領域０２に対する、電源遮断可能時間（Tpso_off2）を示す。また、電源遮断領域０２の電源制御シーケンス（PSO02_ctrld）、及び、電源遮断領域０２の電源電圧波形（PSO02_vddd）を併せて示す。
【００８９】
その後、第１実施形態と同様に、電源制御シーケンスが作成完了したことを回路構成生成部２０２に通知し（ＳＴ６０９）、各電源遮断領域の電源管理と各ＰＥの演算管理を実行する（ＳＴ６１０）。なお、電源ＯＦＦ可能時間がある設定値に達した場合のみ、電源をＯＦＦするように制御してもよい。
【００９０】
・タスクＦとタスクＬとの間に依存関係がある場合
上述の依存関係が無い場合との処理の差分は、スケジュール書き換え部１３００にて各タスク間の依存関係の情報と各電源遮断領域のタスクスケジュール情報から、電源ＯＦＦ可能か否かを判定する際の制約情報を作成する点である。
【００９１】
例えば、タスクＦ開始時に、タスクＦがタスクＬを参照するような依存関係がある場合（図８（ｃ））、タスクＦ開始時に、タスクＬを実行するＰＥ（ＰＥ０００９）に対し電源が供給されている必要が生じる。そこで、タスクＬの完了時刻（ｔｌｃ）からタスクＦがデータを参照するまでの時間（ｔｗ）の間、電源の遮断が行えないように制約情報を作成する。
【００９２】
まず、スケジュール書き換え部１３００は、電源遮断領域ごとにタスクスケジュール情報を解析し、他の電源遮断領域に属するＰＥと接続がないかタスク間の依存関係情報を用いてチェックする。ここでは、タスクＦを実行するＰＥ００００がタスクＬを実行するＰＥ０００９と接続を有するので、当該データの受け渡しを行う際の各電源遮断領域のタスクスケジュール情報を解析する。解析の結果、タスクＬの完了時刻（ｔｌｃ）からタスクＦがデータを参照するまでの時間（ｔｗ）の間、電源の遮断を制限する制約情報を作成する。
【００９３】
電源制御生成部２０５は、電源ＯＦＦ可能時間を検索し作成された制約情報に基づいて電源制御シーケンスを作成する。図１５（ｂ）は、この制約情報に基づいて電源制御生成部２０５にて作成された電源遮断領域０２の電源制御シーケンス（PSO02_ctrle）を示す。
【００９４】
第３実施形態の構成をとることにより、電源遮断領域毎の電源制御シーケンスを生成することが出来、ＰＥ毎に電源制御シーケンスを作成する場合に比較し電源制御シーケンスを素早く生成することが可能となる。また、依存関係がある複数のタスクが異なる電源遮断領域に割り当てられた場合であっても好適に電源制御を行うことが可能となる。
【００９５】
（第４実施形態）
第４実施形態では、ＰＥの稼働状況をモニタし、タスクスケジュール情報をリアルタイムに更新可能とする構成について説明する。
【００９６】
＜装置構成＞
図１６は、第４実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第１実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。回路ブロック１０２の稼働状況をモニタリングする電源状態通知部１６００と、制御情報生成部内に稼働状況比較部１６０１が新たに設けられている点が第１実施形態（図１，図２）と異なる。
【００９７】
第１実施形態の構成では、タスクを実行するＰＥにおいてキャッシュミス等の実動作上の問題が生じた場合、適切な電源管理が行えない可能性が生じる。つまり、タスクスケジュール情報に基づいて依存関係のあるタスクの電源管理を行うため、当該タスクスケジュール情報と異なる動作が生じた場合に問題が生じうる。
【００９８】
＜電源制御シーケンスを修正する際の動作例＞
図１７は、第４実施形態における動作フローチャートである。また、図１８は、第４実施形態における電源制御を説明するタイミングチャートである。  第１実施形態で作成された電源制御シーケンスに基づき電源制御を行うとする。
【００９９】
ステップＳＴ１７０１では、電源制御生成部２０５は、電源制御シーケンスに基づいて電源管理を開始する。ステップＳＴ１７０２では、電源状態通知部１６００は、各ＰＥの電源電圧を検知し、稼働状態を監視（モニタリング）する。
【０１００】
ステップＳＴ１７０３では、稼働状況比較部１６０１は、電源制御シーケンス上では処理が完了しているにも関わらず、実際には稼働が継続しているＰＥが存在しないか判定する。これは、電源制御シーケンスにおけるＰＥの状態とモニタリングにより得られた実際の稼働状況を比較することにより実現される。
【０１０１】
ステップＳＴ１７０４では、電源制御生成部２０５は、ＳＴ１７０３において稼働しているＰＥが存在すると判定された場合、当該処理が完了するまで電源をＯＮに保持し続けるよう制御する。並行して、ステップＳＴ１７０５では、稼働状況比較部１６０１は、当該ＰＥでの演算処理が完了するまでの遅延時間ｔｓを計測する。ステップＳＴ１７０６では、当該ＰＥで実行していたタスクと依存関係のあるタスクを実行する電源供給を時間ｔｓだけ遅延させるように電源制御シーケンスを更新する。
【０１０２】
第４実施形態の構成をとることにより、予め提供される電源制御シーケンスと異なるＰＥの動作状態が発生した場合であっても、好適な電源管理を行うことが可能となる。
【０１０３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014052918.tif 000003
【図２】
2014052918.tif 000004
【図３】
2014052918.tif 000005
【図４】
2014052918.tif 000006
【図５】
2014052918.tif 000007
【図６】
2014052918.tif 000008
【図７】
2014052918.tif 000009
【図８】
2014052918.tif 000010
【図９】
2014052918.tif 000011
【図１０】
2014052918.tif 000012
【図１１】
2014052918.tif 000013
【図１２】
2014052918.tif 000014
【図１３】
2014052918.tif 000015
【図１４】
2014052918.tif 000016
【図１５】
2014052918.tif 000017
【図１６】
2014052918.tif 000018
【図１７】
2014052918.tif 000019
【図１８】
2014052918.tif 000020
【図１９】
2014052918.tif 000021