(57)【要約】【課題】  本発明は、情報処理装置を利用するシステムの動作に合わせて、電源制御可能な回路ブロックの電源状態を最適化する。【解決手段】  複数の回路ブロック、および、複数の回路ブロックそれぞれと電源の間に接続された複数のスイッチを備える演算装置を制御する際、構成情報解析部501は、演算装置において連続して実行される複数のデータ処理の構成情報から電源制御対象の回路ブロックの有無を判定し、電源制御対象の回路ブロックがある場合は第一および第二の電源制御方式を作成する。電力計算部502、503は、第一および第二電源制御方式それぞれによって複数の回路ブロックの電源状態を制御した場合に演算装置が消費する消費電力量を計算する。比較部504は、第一および第二の電源制御方式それぞれに対応する消費電力値を比較して、第一または第二の電源制御方式を選択する。電源制御信号生成部505は、選択された電源制御方式に応じて複数のスイッチそれぞれの開閉を制御する制御信号を生成する。【選択図】  図4
2014142719.tif 000002
【特許請求の範囲】
【請求項１】
演算要素をそれぞれ含む複数の回路ブロック、および、前記複数の回路ブロックそれぞれと電源の間に接続された複数のスイッチを備える演算装置を有する情報処理装置であって、
前記演算装置において連続して実行される複数のデータ処理の構成情報から電源制御対象の回路ブロックの有無を判定し、前記電源制御対象の回路ブロックがある場合は第一および第二の電源制御方式を作成する作成手段と、
前記第一および第二の電源制御方式それぞれによって前記複数の回路ブロックの電源状態を制御した場合に前記演算装置が消費する消費電力量を計算する計算手段と、
前記第一および第二の電源制御方式それぞれに対応する前記消費電力量を比較して、前記第一または第二の電源制御方式を選択する選択手段と、
前記選択された電源制御方式に応じて前記複数のスイッチそれぞれの開閉を制御する制御信号を生成する生成手段とを有する情報処理装置。
【請求項２】
前記作成手段は、前記連続して実行される複数のデータ処理における回路ブロックの使用状態が使用、非使用、使用と遷移する回路ブロックを前記電源制御対象の回路ブロックと判定する請求項1の情報処理装置。
【請求項３】
前記第一の電源制御方式は前記電源制御対象の回路ブロックを電源遮断状態にし、前記第二の電源制御方式は前記電源制御対象の回路ブロックを待機状態にする請求項1または請求項2に記載された情報処理装置。
【請求項４】
さらに、前記複数の回路ブロックそれぞれのチャージ電力量、チャージ時間、リーク電力、各種データ処理に必要なデータ処理時間を示す情報を格納する格納手段を有する請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
前記計算手段は、前記電源制御対象の回路ブロックの前記チャージ電力量に、非電源制御対象の回路ブロックの前記リーク電力と前記チャージ時間の積を加算した値を前記第一の電源制御方式に対応する消費電力量とする請求項4に記載された情報処理装置。
【請求項６】
前記計算手段は、前記電源制御対象の回路ブロックの前記リーク電力と、当該回路ブロックを前記非使用とするデータ処理の前記データ処理時間の積を前記第二の電源制御方式に対応する消費電力量とする請求項4または請求項5に記載された情報処理装置。
【請求項７】
さらに、前記制御信号を保持する信号保持手段と、
前記データ処理ごとに構成情報を前記演算装置に供給するための供給手段とを有し、
前記供給手段は、前記情報処理装置の外部からデータ処理開始信号を受信すると開始タイミング信号を前記信号保持手段に送信し、
前記信号保持手段は、前記開始タイミング信号を受信すると、前記保持する制御信号を前記演算装置に送信し、次のデータ処理期間における前記電源制御方式の作成指示を前記作成手段に送信する請求項1から請求項6の何れか一項に記載された情報処理装置。
【請求項８】
前記信号保持手段は、前記制御信号の送信の後、完了タイミング信号を前記供給手段に送信し、
前記供給手段は、前記完了タイミング信号を受信すると、前記構成情報を前記演算装置に供給する請求項7に記載された情報処理装置。
【請求項９】
さらに、前記連続して実行される複数のデータ処理の構成情報を前記実行の順に、かつ、前記データ処理ごとに前記供給手段に送信し、前記連続して実行される複数のデータ処理の構成情報をまとめて前記作成手段に送信する構成情報保持手段を有する請求項7または請求項8に記載された情報処理装置。
【請求項１０】
前記演算装置は、前記回路ブロックごとに、前記構成情報に含まれる演算要素制御情報を対応する回路ブロックに供給する構成情報マッピング制御手段を有し、
前記演算装置は、前記回路ブロックごとに、前記構成情報に含まれるルータ制御情報を対応する回路ブロックに供給するルータ制御手段を有する請求項1から請求項9の何れか一項に記載された情報処理装置。
【請求項１１】
前記構成情報マッピング制御手段と前記ルータ制御手段への電源供給は、前記複数の回路ブロックへの電源供給から独立して行われる請求項10に記載された情報処理装置。
【請求項１２】
前記構成情報マッピング制御手段と前記ルータ制御手段は、前記対応する回路ブロック内部に配置される請求項10に記載された情報処理装置。
【請求項１３】
演算要素をそれぞれ含む複数の回路ブロック、および、前記複数の回路ブロックそれぞれと電源の間に接続された複数のスイッチを備える演算装置の制御方法であって、
前記演算装置において連続して実行される複数のデータ処理の構成情報から電源制御対象の回路ブロックの有無を判定し、前記電源制御対象の回路ブロックがある場合は第一および第二の電源制御方式を作成し、
前記第一および第二の電源制御方式それぞれによって前記複数の回路ブロックの電源状態を制御した場合に前記演算装置が消費する消費電力量を計算し、
前記第一および第二の電源制御方式それぞれに対応する前記消費電力値を比較して、前記第一または第二の電源制御方式を選択し、
前記選択された電源制御方式に応じて前記複数のスイッチそれぞれの開閉を制御する制御信号を生成する制御方法。
【請求項１４】
コンピュータに請求項13に記載された制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算要素を有し、動的再構成が可能な情報処理装置に関する。
【背景技術】
【０００２】
半導体製造技術の進歩による素子の微細化に伴い、大規模集積回路(LSI)に膨大な数のトランジスタが集積されるようになった。プロセスの微細化とともに、プロセッサの高周波数化が進み、動作時電力の増加とリーク電流に起因するスタティック電力が増加し、LSIの性能向上に限界が見え始めている。
【０００３】
さらなる性能向上を実現する部として、中央演算ユニット(CPU)、ディジタル信号処理ユニット(DSP)、単体の演算器、あるいは、複数の演算器を組み合わせた演算ユニットなどの演算要素をLSI上に複数搭載した情報処理装置が注目されている。つまり、複数の演算要素を用いて並列処理を行うことで、プロセスの微細化による動作周波数の向上が従来ほど見込めない状況においても高い演算性能を得ようとする。
【０００４】
しかし、今後、大規模化・集積化を進めて搭載する演算要素数を増やし理論性能を向上させることができるとしても、同時に増大する消費電力を抑制する部・対策を講じなければ、性能向上と省電力化の両立は難しい。
【０００５】
ここで、機能動作により消費するダイナミック電力と、トランジスタに電源を供給するだけで生じるスタティック電力の省電力化対策について説明する。
【０００６】
ダイナミック電力は、信号変化に伴う寄生容量の充放電電流と、貫通電流のようなトランジスタのスイッチング時に流れる電流に起因する消費電力である。従って、機能動作に支障がない範囲で信号変化を抑えることでダイナミック電力の削減が可能である。このような原理に基づく、代表的な省電力化手法としてクロックゲーティングがあり、一般に広く用いられている。
【０００７】
一方、スタティック電力は、トランジスタの寄生容量を充電する電荷とリーク電流に起因する消費電力である。プロセスの微細化に伴い寄生容量は削減される傾向にあるが、リーク電流は増加する傾向にある。とくに、ポリシリコンのゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的な増加傾向を示した。リーク電流を削減するにはトランジスタに供給する電圧を小さく制限するか、トランジスタに供給する電源を遮断する方法が有効である。
【０００８】
リーク電流に起因する電力消費（以下、リーク電力）を削減する技術として、同一電源で駆動されるブロックの電源遮断が普及した。半導体集積回路における電源遮断とは、電源遮断対象箇所への電源供給路と電源をトランジスタで構成された電源スイッチを用いて接続し、必要に応じて導通と遮断を半導体集積回路内で切り替える技術である。現在、材料や製造方法の改善によりリーク電流は以前のような指数関数的な増加傾向を示すことはなくなったが、依然、線形的な増加傾向にあり、電源遮断はこれからも電力削減部として重要な位置を占める。なお、本発明では、所望の領域内に配置された素子への電力の供給と遮断の制御（以下、電源制御）が可能な集積回路上の一部分を電源制御可能な回路ブロックと定義する。
【０００９】
従って、大規模化した情報処理装置においてもリーク電力を効果的に削減するために電源遮断技術が用いられる。電源制御が可能な回路ブロックを複数構成し、非稼働の演算要素を部分的に電源遮断する、きめ細かい電源管理を行うことで消費電力を抑制することが可能になる。
【００１０】
各演算要素の電源制御を最適に行う手法として、例えば、コンパイル時に入力プログラムを解析し、処理順序に合わせて最適な電源制御を行うコードを生成し電源管理を行う方法がある（特許文献1）。
【００１１】
また、所定の電力値を超えないよう実行処理を制御する手法として、例えば、OSのタスク管理において、動作要求があったタスクの電力を計算し所定の電力値内か否かを判定して、タスクの実行順序を制御する方法がある（特許文献2）。
【００１２】
今後、さらに高機能化・高性能化が求められると、先端プロセスで集積化した多数の演算要素からなる演算装置が搭載されるようになる。一方、先端プロセスではリーク電力の増加が予想される。そのため、多数の演算要素からなる演算装置を構成する場合、リーク電力の削減のために、演算装置内に複数の回路ブロックを構成し、非稼働の演算要素を積極的に電源遮断するきめ細かい電源管理が必要になる。さらに、高機能化・高性能化するシステムに対応するため、動作に応じた構成情報の書き換えを電源制御シーケンスに合わせて柔軟に変更する必要がある。
【００１３】
しかし、電力制御を行うと、電源再投入から動作電圧レベルに到達するまでに必要なチャージ期間の電力消費（以下、チャージ電力）も考慮する必要がある。つまり、電源再投入に必要な時間でみれば、チャージ電力は、リーク電力に比べて遥かに大きな値を示す。しかし、チャージ電力を避けるために回路ブロックを電源供給したままの待機状態にするとリーク電力の総量がチャージ電力を上回ることになる。
【００１４】
加えて、チャージ電力は、電源制御可能な回路ブロックの回路規模によって変動する。また、リーク電力は、半導体プロセスの製造ばらつきと電圧と温度により変動し、とくに温度に対する変動幅は一桁以上に達する。このような条件の下、チャージ電力、リーク電力、データ処理時間などに基づき最適な電源状態を判断することは、従来手法では不可能であった。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開2006-293768号公報
【特許文献２】特開2003-202935号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明は、情報処理装置を利用するシステムの動作に合わせて、電源制御可能な回路ブロックの電源状態を最適化することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１８】
演算要素をそれぞれ含む複数の回路ブロック、および、前記複数の回路ブロックそれぞれと電源の間に接続された複数のスイッチを備える演算装置を制御する際、前記演算装置において連続して実行される複数のデータ処理の構成情報から電源制御対象の回路ブロックの有無を判定し、前記電源制御対象の回路ブロックがある場合は第一および第二の電源制御方式を作成し、前記第一および第二の電源制御方式それぞれによって前記複数の回路ブロックの電源状態を制御した場合に前記演算装置が消費する消費電力量を計算し、前記第一および第二の電源制御方式それぞれに対応する前記消費電力値を比較して、前記第一または第二の電源制御方式を選択し、前記選択された電源制御方式に応じて前記複数のスイッチそれぞれの開閉を制御する制御信号を生成する。
【発明の効果】
【００１９】
本発明によれば、情報処理装置を利用するシステムの動作に合わせて、電源制御可能な回路ブロックの電源状態を最適化することができる。
【図面の簡単な説明】
【００２０】
【図１】実施例の情報処理装置の構成例を説明するブロック図。
【図２】アレイ型演算装置の構成例を説明するブロック図。
【図３】回路ブロックの詳細な構成例を示すブロック図。
【図４】電源制御部の構成例を示すブロック図。
【図５】電源状態の予測を説明する図。
【図６】構成情報制御部の構成例を示すブロック図。
【図７】構成情報保持部の構成例を示すブロック図。
【図８】情報処理装置のデータ処理動作を説明するフローチャート。
【図９】情報処理装置のデータ処理動作を説明するフローチャート。
【図１０】アレイ型演算装置の各回路ブロックの状態例を示す図。
【図１１】データフローからデータフローへ処理を切り替えるための構成情報を生成する装置の構成例を示すブロック図。
【図１２】実施例2の回路ブロックの詳細な構成例を示すブロック図。
【図１３】実施例2のアレイ型演算装置の構成例を示すブロック図。
【発明を実施するための形態】
【００２１】
以下、本発明にかかる実施例の情報処理装置の制御を図面を参照して詳細に説明する。
【実施例１】
【００２２】
［装置の構成］
図1のブロック図により実施例の情報処理装置100の構成例を説明する。
【００２３】
情報処理装置100は、外部からデータ処理開始信号、構成情報、処理すべきデータを受信し、アレイ型演算装置101によってデータ処理を実施する。データ処理開始信号は、情報処理装置100内に配置されたアレイ型演算装置101にデータ処理の開始を指示する信号である。
【００２４】
情報処理装置100は、データ処理開始信号を受信すると、アレイ型演算装置101に配置された演算要素の設定を、外部から受信した構成情報によって指示されるデータ処理に対応する設定に変更し、データ処理を実行する。構成情報は、処理するデータ処理の認識番号、並びに、回路設定として、データ処理に使用する演算要素の認識番号や設定情報である演算要素制御情報、および、データの経路を設定するセレクタ信号からなるルータ制御情報を含む。
【００２５】
構成情報制御部103は、データ処理開始信号の受信すると、電源制御部102に電源スイッチの制御信号（以下、電源制御信号）の生成開始を指示する開始タイミング信号を送信するとともに、構成情報の送信要求信号を構成情報保持部104に送信する。なお、詳細は後述するが、電源スイッチは、アレイ型演算装置101内に配置されたスイッチである。
【００２６】
構成情報保持部104は、構成情報の送信要求信号を受信すると、外部から受信した構成情報が格納された構成情報格納部105から次のデータ処理向けの構成情報を読み出す。そして、読み出した構成情報を構成情報制御部103に送信するとともに、複数（n個）の構成情報からなる構成情報群を電源制御部102に送信する。
【００２７】
電源制御部102は、構成情報制御部103から開始タイミング信号、構成情報保持部104から構成情報群を受信し、電力計算に必要な情報（以下、電力基本情報）の要求信号を電力基本情報格納部106に送信する。
【００２８】
電力基本情報格納部106は、電力制御可能な回路ブロック（以下、単に「回路ブロック」と呼ぶ）すべての電力基本情報を保持する。電力基本情報には、各回路ブロックのチャージ電力量、チャージに必要な時間（以下、チャージ時間）、リーク電力、並びに、各種データ処理に必要な時間（以下、データ処理時間）などの情報が含まれる。
【００２９】
さらに、電源制御部102は、電源制御信号を生成し、電源制御信号をアレイ型演算装置101に送信した後、電源制御信号の送信完了を通知する完了タイミング信号を構成情報制御部103に送信する。
【００３０】
構成情報制御部103は、電源制御部102から完了タイミング信号を受信すると、構成情報保持部104から受信した構成情報をアレイ型演算装置101に送信する。つまり、構成情報制御部103は、構成情報をアレイ型演算装置101に供給する機能を有する。
【００３１】
アレイ型演算装置101は、電源制御部102から電源制御信号を受信し、構成情報制御部103から構成情報を受信し、外部（ソース）から処理すべき入力データを受信し、処理結果の出力データを外部（デスティネーション）へ送信する。
【００３２】
［アレイ型演算装置］
図2のブロック図によりアレイ型演算装置101の構成例を説明する。
【００３３】
アレイ型演算装置101は、電源制御可能な回路ブロック210、220、230、240を有す。回路ブロック210と電源供給路VDDの間には電源スイッチ(SW)201が配置されている。同様に、回路ブロック220とVDDの間にはSW202が、回路ブロック230と電源供給路VDDの間にはSW203が、回路ブロック240と電源供給路VDDの間にはSW204が配置されている。SW201-204は、接続された回路ブロックへの電源の供給と遮断とを切り替えるスイッチである。
【００３４】
各回路ブロックには、構成情報マッピング制御部215とルータ制御部216が接続されている。構成情報マッピング制御部215は、構成情報制御部103から構成情報を受信し、構成情報に含まれる演算要素制御情報を対応する回路ブロックに供給する。演算要素制御情報には、データ処理に使用する演算要素の認識番号や設定などの情報が含まれる。
【００３５】
ルータ制御部216は、構成情報制御部103から構成情報を受信し、構成情報に含まれるルータ制御情報を対応する回路ブロックへ供給する。ルータ制御情報には、データの経路を設定する信号が含まれる。なお、図2には、構成情報の受信順が構成情報マッピング制御部215、ルータ制御部216の例を説明するが、逆順（ルータ制御部216、構成情報マッピング制御部215）の構成にすることも可能である。
【００３６】
図3のブロック図により回路ブロック210の詳細な構成例を示す。回路ブロック210は、一つ以上の演算要素211と複数のルータ部217を有する。ルータ部217は、外部から入力データを受信し、ルータ制御部216から受信したルータ制御情報に含まれるデータ経路情報に基づきデータの送信経路を変更する。演算要素211は、構成情報マッピング制御部215から受信した演算要素制御情報に指示された演算をルータ部217から入力したデータに施し、その演算結果のデータを出力する。
【００３７】
なお、図3には演算要素211への入力経路選択数を2とした例を示すが、入力経路選択数は2に限らず、別の数でも構わない。
【００３８】
●アレイ型演算装置の動作
SW201-204は、電源制御信号に従い開閉し、対応する回路ブロックへの電源の供給と遮断を切り替える。アレイ型演算装置101は、SW201-204による電源の供給と遮断の切り替えが終了した後、構成情報制御部103から構成情報を受信する。
【００３９】
構成情報マッピング制御部215は、演算要素211向けの構成情報から演算要素211に関する情報を取得し、当該情報を演算要素制御情報として演算要素211へ送信する。演算要素211は、演算要素制御情報を受信すると、当該情報に従い演算要素の動作設定を変更する。
【００４０】
ルータ部217は、構成情報を受信すると、構成情報に従いデータの経路を切り替え、入力データを演算要素211に送信する経路を設定する。アレイ型演算装置101は、演算要素211の動作設定およびルータ部217の経路設定の変更が完了した後、データ処理を行う。
【００４１】
［電源制御部］
図4のブロック図により電源制御部102の構成例を示す。
【００４２】
電源制御信号保持部500は、電源制御信号生成部505から受信した電源制御信号を保持し、構成情報制御部103から開始タイミング信号を受信すると、保持する電源制御信号をアレイ型演算101へ送信する。
【００４３】
電源制御信号保持部500は、電源制御信号の送信が完了すると、保持した電源制御信号を削除し、次のデータ処理における電源制御信号の作成指示を構成情報解析部501に送信し、完了タイミング信号を構成情報制御部103に送信する。
【００４４】
構成情報解析部501は、電源制御信号保持部500から作成指示を受信すると、構成情報保持部104から複数の構成情報を受信する。なお、受信する構成情報は任意の数でよい。構成情報解析部501は、複数の構成情報を解析して電源状態の遷移を予測し、チャージを必要とする電源の遷移の有無を判別する。そして、チャージを必要とする電源状態の遷移があると、チャージを必要とする第一の電源制御方式に加えて、チャージを不要とする第二の電源制御方式を作成する。
【００４５】
電源状態の遷移の予測は、データ処理の順番に、回路ブロックの電源を供給するか遮断するかを予測することである。当該予測は、回路ブロック中の演算要素によってデータ処理を実施するか実施しないかの判別により可能である。何故なら、データ処理を行うには、回路ブロックに配置された演算要素に電源を供給する必要があるからである。
【００４６】
構成情報解析部501は、第一および第二の電源制御方式の電力計算に必要な回路ブロックの情報（以下、ブロック情報）を電力計算部502、503に送信する。さらに、第一および第二の電源制御方式に対応する電源状態の遷移を示す情報（以下、遷移情報）を電源制御信号生成部505に送信する。なお、遷移情報は、回路ブロックへ電源を供給するか遮断するかを示す。
【００４７】
電力計算部502、503は、構成情報解析部501からブロック情報を受信し、電力基本情報格納部106から電力基本情報（リーク電力、チャージ電力）を受信する。例えば、電力計算部502は、第一の電源制御方式における消費電力（以下、第一の消費電力）を計算し、第一の消費電力を比較部504に送信する。また、電力計算部503は、第二の電源制御方式における消費電力（以下、第二の消費電力）を計算し、第二の消費電力を比較部504に送信する。
【００４８】
比較部504は、電力計算部502、503から第一および第二の消費電力を受信し、それらを比較して、より消費電力が低い電力制御方法を示す信号（以下、選択信号）を電源制御信号生成部505に送信する。
【００４９】
電源制御信号生成部505は、構成情報解析部501から受信した遷移情報、および、比較部504から受信した選択信号に基づき電源制御信号を生成し、電源制御信号を電源制御信号保持部500に送信する。
【００５０】
●電源状態の予測
図5により電源状態の予測を説明する。図5(a)はデータ処理A、B、Cを順番にアレイ型演算装置101で処理し、チャージを必要とする例を示し、第一の電源制御方式に対応する。
【００５１】
図5(a)に示すデータ処理期間1に実施されるデータ処理Aの構成情報には、回路ブロック210、220、230の演算要素によってデータ処理を実施する回路設定指示が含まれる。従って、構成情報解析部501は、データ処理期間1において、回路ブロック210、220、230に電源供給が必要と予測する。
【００５２】
データ処理期間2に実施されるデータ処理Bの構成情報には、回路ブロック210、220の演算要素によってデータ処理を実施する回路設定指示が含まれる。従って、構成情報解析部501は、データ処理期間2において、回路ブロック210、220に電源供給が必要で、回路ブロック230は電源遮断可能と予測する。
【００５３】
データ処理期間3に実施されるデータ処理Cの構成情報には、回路ブロック210、220、230の演算要素によってデータ処理を実施する回路設定指示が含まれる。従って、構成情報解析部501は、データ処理期間3において、回路ブロック210、220、230に電源供給が必要であり、回路ブロック230の電源供給の再開によりチャージ期間が必要と予測する。
【００５４】
構成情報解析部501は、電源状態の遷移において、チャージ期間が必要と予測した場合、チャージを不要とする第二の電源制御方式を作成する。第二の電源制御方式は、電源遮断状態を電源供給状態に変更することで作成される。
【００５５】
構成情報解析部501は、データ処理順に各回路ブロックの電源状態を保持し、チャージが必要と判断した回路ブロック230の電源状態の変化をデータ処理順に探索する。そして、回路ブロック230を電源遮断状態にする際のデータ処理の識別番号を構成情報から取得する。
【００５６】
次に、構成情報解析部501は、取得した識別番号のデータ処理における回路ブロック230の電源状態を電源遮断状態から電源供給状態を変更する。そして、変更後の電源状態、チャージを不要とした回路ブロックの識別番号、チャージを不要としたデータ処理の識別番号を第二の電源制御方式に関する情報として保持する。
【００５７】
図5(b)は、図5(a)に対応する第二の電源制御方式を示す。つまり、図5(b)は、データ処理期間2において、回路ブロック230を待機状態（電源供給状態）にする点で図5(a)に示す第一の電源制御方式と異なる。
【００５８】
構成情報解析部501は、チャージを必要とする回路ブロックの識別番号、および、チャージ期間において電源供給状態の回路ブロックの識別番号をブロック情報として電力計算部502に送信する。また、待機状態にする回路ブロックの識別番号、および、待機状態におけるデータ処理の識別番号を電力計算部503に送信する。さらに、第一および第二の電源制御方式を電源制御信号生成部505に送信する。
【００５９】
●電源制御方式の決定
図5(a)に示す第一の電源制御方式は、データ処理期間2において回路ブロック230の消費電力が零になる。しかし、チャージ期間において、回路ブロック230のチャージ電力Pcと、回路ブロック210、220のリーク電力PL2を消費する。
【００６０】
一方、図5(b)に示す第二の電源制御方式は、チャージに伴う電力消費は零になるが、データ処理期間2において待機状態の回路ブロック230がリーク電力（約PL2/3）を消費する。
【００６１】
つまり、第一の電源制御方式において、第二の電源制御方式と異なる消費電力はPc+PL2である。
【００６２】
電力計算部502は、構成情報解析部501から、チャージを必要とする回路ブロックの識別番号、および、チャージ期間において電源供給状態の回路ブロックの識別番号を受信する。そして、チャージ電力およびチャージ時間を知るために、回路ブロック230の識別番号を電力基本情報格納部106に送信し、電力基本情報格納部106から回路ブロック230のチャージ電力およびチャージ時間を受信する。さらに、リーク電力を知るために、回路ブロック210、220の識別番号を電力基本情報格納部106に送信し、電力基本情報格納部106から回路ブロック210、220のリーク電力を受信する。そして、下式によりチャージ期間の消費電力量を計算する。
P1 = Pc230 + (PL210 + PL220)×Tc230      …(1)
ここで、P1は消費電力量[Ws]、
Pc230は回路ブロック230のチャージ電力量[Ws]、
Tc230は回路ブロック230のチャージ時間[s]、
PL210は回路ブロック210のリーク電力[W]、
PL220は回路ブロック220のリーク電力[W]。
【００６３】
つまり、第一の電源制御方式に対応する消費電力量は、回路ブロック230のチャージ電力量Pcに、回路ブロック210、220のリーク電力PLとチャージ時間Tcの積を加算した値として計算される。
【００６４】
また、第二の電源制御方式において、第一の電源制御方式と異なる消費電力は回路ブロック230の待機状態におけるリーク電力である。
【００６５】
電力計算部503は、構成情報解析部501から、待機状態にする回路ブロックの識別番号、および、待機状態におけるデータ処理の識別番号を受信する。そして、リーク電力を知るために、回路ブロック230の識別番号を電力基本情報格納部106に送信し、電力基本情報格納部106から回路ブロック230のリーク電力を受信する。さらに、データ処理時間を知るために、待機状態におけるデータ処理の識別番号を電力基本情報格納部106に送信し、電力基本情報格納部106からデータ処理Bのデータ処理時間を受信する。そして、下式により消費電力を計算する。
P2 = PL230×Tp2      …(2)
ここで、P2は消費電力量[Ws]、
PL230は回路ブロック230のリーク電力[W]、
Tp2はデータ処理Bのデータ処理時間[s]。
【００６６】
つまり、第二の電源制御方式に対応する消費電力量は、回路ブロック230のリーク電力PLと、データ処理Bのデータ処理時間Tpの積として計算される。
【００６７】
比較部504は、消費電力量P1とP2を比較して、P1＜P2の場合は第一の電源制御方式を選択する選択信号を出力し、P1＞P2の場合は第二の電源制御方式を選択する選択信号を出力する。また、P1=P2の場合は処理速度を考慮して第二の電源制御方式を選択する選択信号を出力する。つまり、図5に示すように、処理速度に関しては、チャージ期間が不要な図5(b)に示す第二の電源制御方式が優位である。そのため、第一および第二の電源制御方式において消費電力量に差がない場合は第二の電源制御方式の優位性が明らかであり、第二の電源制御方式を選択する選択信号が出力される。
【００６８】
電源制御信号生成部505は、比較部504から入力される選択信号に基づき、第一または第二の電源制御方式に対応する電源制御信号を生成する。つまり、電源を供給する回路ブロックに配置されたSWを閉（オン）、電源を遮断する回路ブロックに配置されたSWを開（オフ）するようにSW201-204の開閉を制御する信号を生成する。
【００６９】
［構成情報制御部］
図6のブロック図により構成情報制御部103の構成例を示す。上述したように、構成情報制御部103は、電源制御シーケンスに合わせてアレイ型演算装置101の構成を変更する構成情報をアレイ型演算装置101に送信する。
【００７０】
構成情報取得部600は、情報処理装置100の外部からアレイ型演算装置101の構成情報の変更開始通知を含む、データ処理開始信号を受信すると、構成情報の変更のための処理を開始する。まず、構成情報取得部600は、開始タイミング信号を電源制御部102へ送信し、電源制御部102から完了タイミング信号を受信する。
【００７１】
構成情報取得部600は、完了タイミングの信号を受信すると、アレイ型演算装置101の構成を変更するために、構成情報の送信指示を含む出力開始信号を構成情報格納部601に送信する。構成情報格納部601は、出力開始信号を受信すると、構成情報をアレイ型演算装置101に送信する。
【００７２】
構成情報格納部601は、構成情報の送信を完了すると、保持する構成情報を削除し、構成の変更が完了したことを通知する出力完了信号を構成情報取得部600へ送信する。構成情報取得部600は、構成情報格納部601から出力完了信号を受信すると、構成情報の送信要求信号を構成情報保持部104に送信する。構成情報格納部601は、構成情報保持部104から次のデータ処理に使用する構成情報を受信し、受信した構成情報を次の出力開始信号を受信するまで保持する。
【００７３】
このような構成により、構成情報制御部103は、情報処理装置100の外部から構成情報の変更指示を受信して、アレイ型演算装置101の電源状態の遷移が完了した後、構成情報をアレイ型演算装置101に送信することができる。
【００７４】
［構成情報保持部］
図7のブロック図により構成情報保持部104の構成例を示す。上述したように、構成情報保持部104は、構成情報制御部103および電源制御部102に、それぞれ異なる数の構成情報を送信する。
【００７５】
構成情報保持部104は、N個の構成情報格納領域702-705を有する。なお、構成情報格納領域は、少なくとも電源制御部102が電源制御方式の決定に関する予測に使用する構成情報の数だけあればよい。構成情報出力部701は、データ処理の実行順に構成情報格納領域のアドレスを保持し、送信している構成情報を格納する構成情報格納領域のアドレスを特定するポインタを有する。
【００７６】
構成情報出力部701は、構成情報制御部103から構成情報の送信要求信号を受信すると、ポインタが示す構成情報格納領域に格納された構成情報を削除する。そして、構成情報格納部105に構成情報要求を送信し、構成情報格納部105からデータ処理の実行順に構成情報を受信する。
【００７７】
次に、構成情報出力部701は、受信した構成情報をポインタが示す構成情報格納領域に格納し、ポインタの指定先を次に実行するデータ処理の構成情報が格納された構成情報格納領域に移す。そして、ポインタが示す構成情報格納領域に格納された構成情報を構成情報制御部103に送信した後、構成情報群出力部700にポインタ情報を送信する。
【００７８】
構成情報群出力部700は、構成情報出力部701からポインタ情報を受信すると、ポインタが示す構成情報格納領域から連続したn（≦N）個分の構成情報を抽出し、それら構成情報をまとめた構成情報群を電源制御部102に送信する。なお、構成情報群は、電源制御部102が電源制御方式の決定に関する予測に必要な数の構成情報を含む。言い換えれば、n個は、電源制御部102が電源制御方式の決定に関する予測に必要な予め決められた構成情報の数である。
【００７９】
このような構成により、構成情報保持部104は、構成情報制御部103および電源制御部102へ、それぞれ異なる数の構成情報を送信することが可能になる。
【００８０】
［データ処理動作］
ここで、データ処理の実行順を始めにデータ処理Aを実行し、次にデータ処理Bを実行し、そしてデータ処理Cを実行するものとする。データ処理A、B、Cはそれぞれ構成情報A、B、Cに含まれる設定情報に沿って実行される。つまり、構成情報Aはデータ処理Aを実行するための回路設定情報を含み、同様に、構成情報Bはデータ処理Bを実行するための回路設定情報を、構成情報Cはデータ処理Cを実行するための回路設定情報をそれぞれ含む。
【００８１】
構成情報Aはデータ処理Aに回路ブロック210、220、230の演算要素の使用指示を含むとする。同様に、構成情報Bはデータ処理Bに回路ブロック210、220の演算要素の使用指示を、構成情報Cはデータ処理Cに回路ブロック210、220、230の演算要素の使用指示をそれぞれ含むとする。
【００８２】
図8と図9のフローチャートにより情報処理装置100のデータ処理動作を説明する。
【００８３】
情報処理装置100は、電源が投入されるとアレイ型演算装置101に配置された回路ブロック以外に電源を供給する(S101)。そして、外部からデータ処理の実行順に構成情報A、B、Cを受信し、それら構成情報を構成情報格納部105に格納する(S102)。
【００８４】
構成情報保持部104は、構成情報格納部105から構成情報A、B、Cを取得する(S103)。構成情報制御部103は、構成情報保持部104から構成情報Aを取得する(S104)。
【００８５】
また、電源制御部102は、構成情報保持部104から構成情報Aを取得し、構成情報Aの指示内容からデータ処理Aに回路ブロック210、220、230の演算要素が使用されることを判断する。この判断に従い、電源制御部102は、回路ブロック210、220、230に接続されたSW201、202、203を閉じ、回路ブロック240に接続されたSW204を開とするデータ処理A用の電源制御信号を生成し保持する(S105)。
【００８６】
構成情報制御部103は、外部からデータ処理Aの開始を示すデータ処理開始信号を受信すると(S106)、データ処理Aを実行するための動作を開始し、開始タイミング信号を電源制御部102に送信する(S107)。開始タイミング信号を受信した電源制御部102は、保持するデータ処理A用の電源制御信号をアレイ型演算装置101に送信し、その後、完了タイミング信号を構成情報制御部103に送信する(S108)。
【００８７】
完了タイミング信号を受信した構成情報制御部103は、構成情報Aをアレイ型演算装置101へ送信する(S109)。図10によりアレイ型演算装置101の各回路ブロックの状態例を示す。図10(a)はデータ処理A実行時の各回路ブロックの状態を示し、回路ブロック210、220、230は電源が供給されデータ処理状態にある。また、回路ブロック240は電源が遮断された電源遮断状態にある。
【００８８】
電源制御部102は、データ処理Aの実行中に、データ処理B用の電源制御信号の生成を行う。つまり、データ処理Aに続く、データ処理Bの構成情報B、データ処理Cの構成情報Cを構成情報保持部104から取得する。そして、データ処理Aに続く、データ処理B、データ処理Cにおける各回路ブロックの電源の供給または遮断の状態（以下、電源状態）を判断する(S110)。
【００８９】
まず、電源制御部102は、構成情報Bの指示内容からデータ処理Bに回路ブロック210と220の演算要素が使用されることを判断する。図10(b)はデータ処理B用の各回路ブロックの電源状態を示し、回路ブロック210、220が電源が供給された電源供給状態、回路ブロック230、240が電源遮断状態である。
【００９０】
同様に、電源制御部102は、構成情報Cの指示内容からデータ処理Cに回路ブロック210、220、230の演算要素が使用されることを判断する。図10(e)はデータ処理C用の各回路ブロックの電源状態を示し、回路ブロック210、220、230が電源供給状態、回路ブロック240が電源遮断状態である。
【００９１】
ここで、電源制御部102は、電源状態が電源供給状態→電源遮断状態→電源供給状態と遷移するチャージが必要な電源制御対象の回路ブロックの存在の有無を判定する(S111)。この例では、回路ブロック210、220は、データ処理A、B、Cにおいて電源状態が電源供給状態→電源供給状態→電源供給状態と遷移し、チャージは不要と判断される。また、回路ブロック240は、データ処理A、B、Cにおいて電源状態が電源遮断状態→電源遮断状態→電源遮断状態と遷移し、チャージは不要と判断される。一方、回路ブロック230は、電源状態が電源供給状態→電源遮断状態→電源供給状態と遷移し、チャージが必要と判断される電源制御対象の回路ブロックである。図10(c)は、データ処理Bからデータ処理Cへの移行時における回路ブロック230のチャージ状態を示す。
【００９２】
なお、データ処理の側から見れば、連続して実行される複数のデータ処理における回路ブロックの使用状態が使用→（少なくとも一つのデータ処理分）非使用→使用と遷移する回路ブロックが電源制御対象の回路ブロックと言える。
【００９３】
チャージが必要な電源制御対象の回路ブロックが存在しないと判定された場合、つまり、すべての回路ブロックが非電源制御対象の場合、処理はステップS114に進む。また、チャージが必要な電源制御対象の回路ブロックが存在すると判定した場合、電源制御部102はチャージを不要とする第二の電源制御方式を作成し、二つの電源制御方式における消費電力量を計算し(S112)、電源制御方式を選択する(S113)。
【００９４】
図10(d)は、回路ブロック230のチャージを不要とする第二の電源制御方式に対応するデータ処理B用の電源状態を示し、データ処理Bの実行中、回路ブロック230は電源が供給された待機状態に置かれる。つまり、チャージを必要とする第一の電源制御方式（図10(a)(b)(c)(e)）と、チャージを不要とする第二の電源制御方式（図10(a)(d)(e)）の違いは、データ処理Bの実行中に回路ブロック230を電源供給状態にするか否かである。
【００９５】
チャージが必要な電源制御対象の回路ブロックが存在しないと判定された場合、または、第一の電源制御方式が選択された場合、第一の電源制御方式によるデータ処理B用の電源制御信号が生成される(S114)。つまり、回路ブロック210、220に接続されたSW201、202を閉じ、回路ブロック230、240に接続されたSW203、204を開とする電源制御信号が生成される。
【００９６】
また、第二の電源制御方式が選択された場合、第二の電源制御方式によるデータ処理B用の電源制御信号が生成される(S115)。つまり、回路ブロック210、220、230に接続されたSW201、202、203を閉じ、回路ブロック240に接続されたSW204を開とする電源制御信号が生成される。
【００９７】
電源制御部102は、構成情報制御部103からデータ処理Bの開始タイミング信号を受信するまで、データ処理B用の電源制御信号を保持する(S116)。
【００９８】
このように、情報処理装置100を利用するシステムの動作に合わせて、アレイ型演算装置101の回路ブロックのチャージ電力による消費電力値と、リーク電流に起因する消費電力値を比較する。そして、比較に基づき適切な電源制御方式を選択して、アレイ型演算装置101に電源を供給することができる。
【００９９】
［構成データ生成装置の構成説明］
図11のブロック図によりデータフローからデータフローへ処理を切り替えるための構成情報を生成する構成データ生成装置の構成例を示す。
【０１００】
図11において、CPU1901は、装置全体の制御を司る。ROM1902は、ブートプログラムなどを記憶する。RAM1903は、CPU1901のワークエリアとして利用され、オペレーティングシステム(OS)、アプリケーションを格納する。
【０１０１】
ハードディスクドライブ(HDD)1904は、OS、構成データ105を作成するためのアプリケーション、並びに、様々なデータを格納する。キーボード1905とマウス1906は、ユーザインタフェイスとして機能する。
【０１０２】
表示制御部1907は、内部にビデオメモリおよび表示コントローラを内蔵する。表示装置1908は、表示制御部1907から映像信号を受信し、映像信号が表す画像を表示する。
【０１０３】
インタフェイス(I/F)1909は、各種の外部デバイスと通信するインタフェイスであり、例えば、図11に示す外部メモリ1910を接続すると、構成データ生成装置が作成した構成情報を外部メモリ1910に書き込むことになる。
【０１０４】
情報処理装置100は、上述した情報処理装置100である。なお、構成データ生成装置は汎用のコンピュータ機器に構成データ生成用のソフトウェアを供給することで実現可能である。
【０１０５】
上記の構成において、構成データ生成装置に電源が投入されると、CPU1901はROM1902に格納されたブートプログラムを実行し、HDD1904に格納されたOSをRAM1903にロードする。その後、構成情報を作成するアプリケーションが起動されると、構成データ生成装置は回路構成情報作成装置として機能し、作成された構成情報は、例えば情報処理装置100に入力されて、本発明の処理に用いられる。
【実施例２】
【０１０６】
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０７】
実施例1では回路ブロック外部に構成情報マッピング制御部215とルータ制御部216を配置する例を示した。つまり、実施例1において、構成情報マッピング制御部215とルータ制御部216への電源供給は、回路ブロックへの電源供給から独立している。これは、構成情報マッピング制御部215とルータ制御部216を回路ブロック内部に配置すると、構成情報の設定を変更する際、すべての回路ブロックに電源を供給する必要があり、消費電力と処理時間を増加させるケースがあるからである。しかし、構成情報マッピング制御部215とルータ制御部216を回路ブロック内部に配置することもできる。
【０１０８】
図12のブロック図により実施例2の回路ブロック210の詳細な構成例を示す。図12は回路ブロック内部に構成情報マッピング制御部215とルータ制御部216を配置した例を示す。このような構成によれば、回路ブロック210を電源遮断状態にすると、構成情報マッピング制御部215とルータ制御部217にも電源が供給されず、リーク電流をより削減することができ、電力消費量をより低減することができる。
【０１０９】
しかし、構成情報マッピング制御部215とルータ制御部216を回路ブロック内部に配置した場合、電源遮断された回路ブロックがあると、図2に示すアレイ型演算装置101の構成のようにシフト動作によって構成情報を設定することができない。言い換えれば、構成情報の設定時は、毎回、すべての回路ブロックを電源供給状態にする必要が有り、構成情報の設定期間を含む動作全体の省電力化を達成することができない。
【０１１０】
図13のブロック図により実施例2のアレイ型演算装置101の構成例を示す。この構成は、構成情報の設定時の電力増加を回避するため構成である。つまり、図13に示す構成は、構成情報の設定機構として、シフト動作による経路だけでなく、バイパス回路217による経路を備える点で図2の構成と異なる。バイパス回路217により、電源遮断状態の回路ブロックをスキップして、次の構成情報マッピング制御部215とルータ制御部216に構成情報を設定することが可能になる。
【０１１１】
図13に示す構成によれば、回路ブロック内部に構成情報マッピング制御部215とルータ制御部216を配置した場合も、構成情報の設定時に、すべての回路ブロックに電源を供給する必要がなくなる。その結果、構成情報マッピング制御部215とルータ制御部217を電源遮断状態にすることができ、それらのリーク電流分、さらに電力消費量を低減することができる。
【０１１２】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014142719.tif 000003
【図２】
2014142719.tif 000004
【図３】
2014142719.tif 000005
【図４】
2014142719.tif 000006
【図５】
2014142719.tif 000007
【図６】
2014142719.tif 000008
【図７】
2014142719.tif 000009
【図８】
2014142719.tif 000010
【図９】
2014142719.tif 000011
【図１０】
2014142719.tif 000012
【図１１】
2014142719.tif 000013
【図１２】
2014142719.tif 000014
【図１３】
2014142719.tif 000015