JP6141073B2 - 情報処理装置及び情報処理装置の制御方法 - Google Patents

情報処理装置及び情報処理装置の制御方法 Download PDF

Info

Publication number
JP6141073B2
JP6141073B2 JP2013077166A JP2013077166A JP6141073B2 JP 6141073 B2 JP6141073 B2 JP 6141073B2 JP 2013077166 A JP2013077166 A JP 2013077166A JP 2013077166 A JP2013077166 A JP 2013077166A JP 6141073 B2 JP6141073 B2 JP 6141073B2
Authority
JP
Japan
Prior art keywords
configuration information
power
execution order
processing apparatus
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013077166A
Other languages
English (en)
Other versions
JP2014203172A (ja
Inventor
栄治 相澤
栄治 相澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013077166A priority Critical patent/JP6141073B2/ja
Publication of JP2014203172A publication Critical patent/JP2014203172A/ja
Application granted granted Critical
Publication of JP6141073B2 publication Critical patent/JP6141073B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

本発明は、構成情報に応じて処理内容を変更可能な複数の演算要素を有する情報処理装置及びその制御方法に関する。
半導体製造技術の進歩による素子の微細化に伴い、LSI(Large Scale Integration)は、大規模化され搭載されるトランジスタ数が増大してきている。そのため、単一のチップで多くの用途に対応可能なLSIが望まれている。多様化する製品に対応可能なLSIとして、高性能化、低消費電力、機能変更の柔軟性が求められている。高性能化、低消費電力、機能変更の柔軟性といった要望を実現する手段として、動的に再構成可能なプロセッサが注目されている。
動的に再構成可能なプロセッサは、演算要素と、演算要素間の接続を制御するネットワーク回路とを有する。演算要素は、例えばCPU(Central Processing Unit)、DSP(Digital Signal Processor)、ALU(Arithmetic Logic Unit)等である。演算要素の処理内容及びネットワーク回路の接続は、構成情報と呼ばれる設定データを変更することで変更可能な回路構造となっている。
動的に再構成可能なプロセッサは、データ処理内容に応じて構成情報を動的に変更することで機能変更に柔軟に対応することができる。また、動的に再構成可能なプロセッサは、搭載する演算要素数を増やすことによって、処理性能を向上させ高性能化に対応することができるが、消費電力が増大してしまう。そのため、動的に再構成可能なプロセッサは、その内部に電源のオン(ON)/オフ(OFF)が切り替え可能な電源制御可能な回路ブロック領域を設け、使用しない演算要素及びネットワーク回路の電源をオフすることで低消費電力化を実現していた。
また、低電力モード時には、プロセッサの一部にプログラムを実行させないように、複数のプログラムの実行順序及びプログラムを実行するプロセッサを決定する。そして、プログラムを実行していないプロセッサに対するクロックの供給を停止することで、消費電力を削減する技術が提案されている(例えば、特許文献1参照。)。
特開2009−238024号公報
しかしながら、情報処理装置としての動的に再構成可能なプロセッサにおいて、構成情報の切り替え時に、電源制御可能な回路ブロックに対する電源のオン/オフ切り替えが発生する。電源制御可能な回路ブロックに対する電源をオフ状態からオン状態に遷移する際にはチャージ電力が発生する。
本発明は、このような事情に鑑みてなされたものであり、電源制御可能な回路ブロックに対する電源をオフ状態からオン状態に遷移する際に発生するチャージ電力を削減して消費電力を低減することを目的とする。
本発明の情報処理装置は、複数の演算要素と前記演算要素間を接続するネットワーク回路とを有し、構成情報を変更することで前記演算要素の処理内容及び前記ネットワーク回路の接続形態を動的に変更可能な情報処理装置であって、内部に前記演算要素を含む電源制御可能な回路ブロックに対する電源の供給を制御する電源制御手段と、前記構成情報に基づいて構成情報間での依存関係を判定する依存関係判定手段と、前記構成情報に基づいて前記情報処理装置で実行する処理に使用する前記電源制御可能な回路ブロックを判定するリソース判定手段と、前記依存関係判定手段により判定された前記構成情報間の依存関係に反しない範囲内で、前記リソース判定手段により判定された前記電源制御可能な回路ブロックのうち、電源遮断状態から電源投入状態へ遷移する前記回路ブロックの数が最小となるよう前記構成情報の実行順序を制御する実行順序制御手段とを有することを特徴とする。
本発明によれば、構成情報間での依存関係及び処理の実行時に使用する電源制御可能な回路ブロックに応じて、構成情報の実行順序を制御することで、構成情報の切り替えにより発生するチャージ電力を削減して消費電力を低減することができる。
本発明の実施形態における情報処理装置を有するシステムの構成例を示す図である。 本実施形態における情報処理装置の構成例を示す図である。 本実施形態における構成情報の実行順序制御処理の例を示すフローチャートである。 図3のステップS302の処理を示すフローチャートである。 図3のステップS306の処理を示すフローチャートである。 本実施形態における実行順序制御テーブルの例を示す図である。 本実施形態における新規に生成された構成情報の例を示す図である。 図6及び図7に示す構成情報の入出力データのメモリ領域と実行順序を示す図である。 図6及び図7に示す構成情報の処理時における電源制御可能な回路ブロックへの電源供給の例を示す図である。 本実施形態における更新された実行順序制御テーブルを示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
<システムの全体構成>
図1は、本発明の実施形態における情報処理装置を有するシステム全体の構成例を示すブロック図である。CPU(Central Processing Unit)101は、システム全体の制御を司り、例えばシステムが有する各機能部を制御する。ROM(Read Only Memory)102は、ブートプログラム等を記憶している。RAM(Random Access Memory)103は、CPU101のワークエリアとして利用され、オペレーティングシステム(OS)、後述する情報処理装置100の回路構成情報(以下、「構成情報」とも呼ぶ)、アプリケーション等を格納する。
ハードディスクドライブ(HDD)104は、OS、構成情報を作成するためのアプリケーション、並びに、様々なデータを格納するための記憶装置である。キーボード105及びマウス106は、ユーザインタフェースとして機能する。表示制御部107は、内部にビデオメモリ及び表示コントローラを有し、表示装置108を制御する。表示装置108は、表示制御部107からの映像信号を受信して映像を表示する。インタフェース(I/F)109は、各種外部デバイスと通信するためのものであり、外部デバイス110と後述するシステムバス111とを接続する。
本実施形態における情報処理装置100は、複数の演算要素と、演算要素間を接続するネットワーク回路とを内部に有する。情報処理装置100は、構成情報を変更することで演算要素の処理内容及びネットワーク回路の接続形態を動的に変更可能である。本実施形態において、構成情報は、少なくともネットワーク回路の接続関係、演算要素の処理内容、及び処理で使われる入出力データのアドレスとデータサイズをそれぞれ示す情報を含むものとする。システムバス111は、システムが有する各機能部を接続するバスであり、システム内の機能部は、システムバス111を介してデータの授受が可能となる。
図1に示すシステムに電源が投入されると、CPU101は、ROM102に格納されたブートプログラムを実行し、HDD104に格納されたOSをRAM103にロードする。その後、CPU101が、ユーザのリクエストに応じて情報処理装置の構成情報を作成するアプリケーションを起動することで、本システムが構成情報作成装置として機能する。なお、本実施形態における情報処理装置100を用いたシステム構成は、図1に示した構成に限定されるものではなく、他のシステム構成であっても良い。
<情報処理装置の構成>
図2は、本実施形態における情報処理装置100の構成例を示すブロック図である。バス制御部401は、システムバス111を介して処理に必要な構成情報及び入出力データを送受信する。リソース判定部402は、構成情報毎に、情報処理装置100で実行される処理に使用される後述の電源制御可能な回路ブロックを判定する。依存関係判定部403は、構成情報間にデータの依存関係が有るか無いかを判定する。
実行順序制御部404は、構成情報の実行順序が示された実行順序制御テーブルを内部に有する。実行順序制御部404は、リソース判定部402及び依存関係判定部403でのそれぞれの判定結果に応じて、構成情報の実行順序を制御する。実行順序制御部404は、例えば電源がオフ状態(電源遮断状態)からオン状態(電源投入状態)に遷移する電源制御可能な回路ブロックの数が最小になるよう構成情報の実行順序を制御する。電源制御部405は、構成情報に応じて後述する電源制御可能な回路ブロックに供給する電源のオン/オフ切り替えを制御する。
ネットワーク回路(以下、「ルータ」とも呼ぶ)406は、演算要素407間の接続を制御する。ルータ406は、演算要素407又は他のルータ406とバスで接続されており、構成情報に応じてバスの接続先を演算要素407又は他のルータ406へ切り替えることができる。演算要素407は、構成情報に応じて処理内容を変更可能であり、例えばALU(Arithmetic Logic Unit)やプロセッサである。例えば演算要素407がALUである場合には、構成情報に応じて加算処理や乗算処理といった処理を演算要素407に対して割り当てることができる。また、例えば演算要素407がプロセッサである場合には、構成情報に応じて画像のエッジ抽出やアルファブレンディングといった単位での処理を演算要素407に割り当てることができる。
入力データ用信号線408は、バス制御部401とルータ406とを接続する信号線であり、処理に使用される入力データが転送される。出力データ用信号線409は、ルータ406とバス制御部401とを接続する信号線であり、ルータ406から出力された処理データはバス制御部401へ転送される。構成情報用信号線410は、RAM103に格納された構成情報をバス制御部401経由で取得し、全ルータ406及び全演算要素407へ転送するための信号線である。
電源制御可能な回路ブロック411、412、413、414は、回路ブロック単位で、電源供給が遮断されているオフ状態(電源遮断状態)と、電源供給が行われているオン状態(電源投入状態)とが切り替え可能である。電源制御可能な回路ブロック411、412、413、414は、それぞれ内部にルータ406及び演算要素407を含み、電源制御部405によって回路ブロックへ供給する電源がオン/オフ制御される。
次に、本実施形態におけるデータ処理動作について説明する。
情報処理装置100は、処理に必要な構成情報が格納されているRAM103上のアドレスを実行順序制御部404が有する実行順序制御テーブルから取得する。そして、情報処理装置100は、バス制御部401から構成情報の読み出しの要求信号を出力することで、構成情報をRAM103から取得する。次に、情報処理装置100の電源制御部405は、取得した構成情報から、実行する処理に使用する電源制御可能な回路ブロックに対して電源を供給し、処理に使用しない電源制御可能な回路ブロックに対する電源を遮断する。
電源制御可能な回路ブロックの電源が安定した後、取得した構成情報が、構成情報用信号線410から情報処理装置100内の演算装置407及びルータ406へ転送され、設定の書き換えが行われる。構成情報の設定の書き換え後、情報処理装置100は、バス制御部401から構成情報に示されている入力データアドレスに対してデータの読み出しの要求信号を出力し、RAM103から入力データを取得してデータ処理を開始する。そして、情報処理装置100は、構成情報に示されている出力データアドレスに対してデータ処理結果である出力データの書き込みを順次行うことで、RAM103へ処理結果を格納する。入力データの処理結果がすべてRAM103に格納されると、処理は終了する。
RAM103上に複数の構成情報が格納されている場合、情報処理装置100は、前述した一連の処理を、構成情報単位で連続して実行する。ここで、本実施形態では、電源遮断状態から電源投入状態に遷移する電源制御可能な回路ブロックの数が最も小さくなるよう実行順序制御部404により構成情報の実行順の入れ替えが行われる。ただし、ある決まった時間間隔で、連続的に複数の構成情報を使用するといった制約が存在する場合には、それらの構成情報の実行順序を切り替えることはできない。こういった状態を、構成情報間で依存関係が有る状態と呼ぶ。構成情報間に依存関係がある場合、構成情報の入れ替えを行うと処理に矛盾が生じる。そのため、依存関係判定部403が、構成情報間に依存関係があるか否かを判定し、依存関係がある構成情報は実行順序の入れ替えを行わないよう制御する。
一般的に、構成情報間に依存関係がある場合とは、先行して実行する構成情報の処理結果を後続して実行する構成情報の入力データとして利用する場合が挙げられる。そのため、構成情報間に依存関係があるか否かは、先行の構成情報の処理結果を書き込むメモリのアドレス(出力データアドレス)、後続の構成情報の入力データを読み出すメモリのアドレス(入力データアドレス)に重複があるか否かで判定可能となる。また、後続の構成情報の処理結果を書き込むメモリのアドレスと、先行の構成情報の入力データを読み込むメモリのアドレスや処理結果を書き込むメモリのアドレスとの重なりがある場合にも、処理結果に矛盾が生じるために実行順序の入れ替えはできない。
本実施形態では、情報処理装置100は、この入出力データのアドレスの関係を用いて、構成情報間の依存関係を判定することとする。情報処理装置100の依存関係判定部403は、後続処理に必要な構成情報が生成された際、入出力データ領域として確保されたRAM103のメモリ領域を抽出する。次に、依存関係判定部403は、先行して生成された全構成情報の入出力データ領域として確保されたRAM103のメモリ領域との間に重複があるか否かを判定する。依存関係判定部403は、判定の結果、メモリ領域に重複がある場合には構成情報間に依存関係があると判定し、メモリ領域に重複がない場合には、構成情報間に依存関係がないと判定する。
<構成情報の実行順序制御処理>
図3は、本実施形態における構成情報の実行順序制御処理の例を示すフローチャートである。本実施形態では、電源遮断状態(オフ状態)から電源投入状態(オン状態)に遷移する電源制御可能な回路ブロック411、412、413、414の数が最小となるように構成情報の実行順序の入れ替えを行う。
まず、ステップS301にて、CPU101がユーザからのリクエストにより新規に構成情報を生成する。CPU101は、構成情報の処理に必要な入力データ領域及び出力データ領域をRAM103に確保し、処理に必要な全ルータ406及び全演算要素407の設定値と、RAM103に確保した入出力データ領域に関する情報とを含んだ構成情報を生成する。
ステップS302にて、情報処理装置100の依存関係判定部403は、ステップS301において生成された構成情報と、前に生成されRAM103に保存されている構成情報間の依存関係があるか否かの判定を行い、依存関係がない構成情報の数を抽出する。ステップS302での処理の詳細を図4に示すフローチャートを用いて説明する。
ステップS401にて、依存関係判定部403は、以降の処理で用いる変数nを用意し、0を代入する。ステップS402にて、依存関係判定部403は、図3に示したステップS301において生成された構成情報に基づいて、情報処理装置100の入力データ及び出力データを格納するRAM103上の先頭アドレス、データサイズを取得する。このデータ配列を、以下では「新規構成情報データ」と称する。次に、ステップS403にて、依存関係判定部403は、実行順序制御部404が有する実行順序制御テーブルから実行されていない既存の構成情報の数を取得して変数mへ代入する。
ステップS404にて、依存関係判定部403は、変数mの値を確認する。依存関係判定部403は、変数mの値が1以上であれば構成情報間の依存関係があるか否かの判定が必要な既存の構成情報が存在していると判断してステップS405へ移行し、変数mの値が1未満であればステップS412へ移行する。ステップS405にて、依存関係判定部403は、変数nの値に1を加える。
次に、ステップS406にて、依存関係判定部403は、実行順序制御テーブルから未選択で実行順序が一番遅い構成情報を選択する。そして、ステップS407にて、依存関係判定部403は、ステップS406において選択した構成情報の入力データアドレス、入力データサイズ、出力データアドレス、及び出力データサイズを取得する。このデータ配列を、以下では「既存構成情報データ」と称する。
ステップS408にて、依存関係判定部403は、既存構成情報データ及び新規構成情報データの、入力データアドレス、入力データサイズ、出力データアドレス、及び出力データサイズをそれぞれ比較し、使用するデータ領域に重複があるかを判定する。ステップS409にて、依存関係判定部403は、変数mの値から1を減じる。
ステップS410にて、依存関係判定部403は、変数mの値を確認する。依存関係判定部403は、変数mの値が1以上であれば構成情報間の依存関係があるか否かの判定が必要な構成情報が存在していると判断してステップS411へ移行し、変数mの値が1未満であればステップS412へ移行する。ステップS411にて、依存関係判定部403は、ステップS408での判定の結果、データ領域に重複があればステップS412へ移行し、重複がなければステップS405へ移行する。
ステップS412にて、依存関係判定部403は、変数nの値を確認する。依存関係判定部403は、変数nの値が1以下であった場合には、実行順序の変更が可能な構成情報が存在しないためステップS413へ移行し、それ以外の値であれば実行順序の変更が可能である構成情報が存在するためステップS414へ移行する。
ステップS413にて、依存関係判定部403は、構成情報の実行順序の変更が不可能であるため、依存関係がない構成情報の数がゼロという判定結果を実行順序制御部404に出力する。そして、図4に示す処理を終了し、図3に示したステップS303へ移行する。
また、ステップS414にて、依存関係判定部403は、構成情報の実行順序の変更が可能であるため、依存関係がない構成情報の数として変数nの値から1を減じた数を実行順序制御部404に出力する。そして、図4に示す処理を終了し、図3に示したステップS303へ移行する。
図3に戻り、ステップS303にて、情報処理装置100の実行順序制御部404は、依存関係判定部403から受け取った判定結果に基づいて、構成情報の実行順序の変更が可能であるか否かを判定する。実行順序制御部404は、依存関係がない構成情報の数がゼロという判定結果を受け取った場合には、実行順序の変更が不可能であると判定してステップS304に移行する。一方、実行順序制御部404は、依存関係がない構成情報の数がゼロ以外の判定結果を受け取った場合には、実行順序の変更が可能であると判定してステップS305に移行する。
ステップS304にて、実行順序制御部404は、構成情報の実行順序を制御する実行順序制御テーブルを更新する。ステップS304では、実行順序制御部404は、ステップS301において生成された構成情報を、既存の構成情報の処理が終了した後に処理するよう実行順序制御テーブルを更新して処理を終了する。なお、実行順序制御部404は、実行順序制御テーブルに既存の構成情報がない場合には、ステップS301において生成された構成情報を最初に実行するように実行順序制御テーブルを更新する。
ステップS305にて、情報処理装置100のリソース判定部402は、構成情報毎の処理において使用される電源制御可能な回路ブロックの情報を取得する。ステップS305では、リソース判定部402は、RAM103に格納されている構成情報から、構成情報毎に電源投入(オン)しておく必要がある電源制御可能な回路ブロックと電源遮断(オフ)しておく電源制御可能な回路ブロックを特定する。本実施形態において、リソース判定部402は、電源制御可能な回路ブロックに含まれる演算要素又はルータがデータ処理に使用される場合、電源投入しておく必要がある電源制御可能な回路ブロックであると特定する。また、リソース判定部402は、電源投入しておく必要がある電源制御可能な回路ブロック以外の電源制御可能な回路ブロックを、電源遮断しておく電源制御可能な回路ブロックであると特定する。
ステップS306にて、実行順序制御部404は、構成情報の実行順序を入れ替えた場合に、構成情報間で電源遮断状態から電源投入状態に遷移する電源制御可能な回路ブロックの数が最小となる構成情報の実行順序を特定する。ステップS306での処理の詳細を図5に示すフローチャートを用いて説明する。
ステップS501にて、実行順序制御部404は、変数Lを用意し、1を代入する。変数Lは、図3に示したステップS301において生成された構成情報の挿入箇所を示すポインタであり、未実行の構成情報の実行順を後ろから数えた数を示している。例えば、変数Lの値が1の場合、未実行の構成情報の最後に実行される構成情報の前が挿入箇所であることを示している。
ステップS502にて、実行順序制御部404は、変数Lが示す箇所にステップS301において生成された構成情報を挿入した場合の電源遮断状態から電源投入状態に遷移する電源制御可能な回路ブロックの数をカウントする。ステップS503にて、実行順序制御部404は、ステップS502において取得したカウント数を保存する。ステップS503では、実行順序制御部404は、要素番号を変数Lとした配列NumにステップS502において取得したカウント値を代入してカウント値を保持する。
ステップS504にて、実行順序制御部404は、入れ替え可能な構成情報に対して全探索が終了したか否かを判定する。ステップS504では、実行順序制御部404は、ステップS302の処理で出力された依存関係のない構成情報の数と変数Lの値とを比較する。実行順序制御部404は、依存関係のない構成情報の数と変数Lの値とが等しくなければ、全探索が終了していないと判断してステップS505へ移行し、等しければ全探索が終了したと判断してステップS506へ移行する。
ステップS505にて、実行順序制御部404は、変数Lに1を加算する。変数Lに1を加算した後、ステップS502へ移行する。
また、ステップS506にて、実行順序制御部404は、ステップS503で用いた配列Numの中で最小の値を探索し、配列Numの中で最小の値となっている要素番号Lの値を次の工程へ出力する。そして、図5に示す処理を終了し、図3に示したステップS307へ移行する。
図3に戻り、ステップS307にて、実行順序制御部404は、実行順序制御テーブルを更新する。ステップS307では、実行順序制御部404は、ステップS305において取得した要素番号Lの情報を基に、ステップS301において生成された構成情報を未実行の構成情報の後ろからL番目の実行順となるように実行順序制御テーブルを更新する。
情報処理装置100は、CPU101が構成情報を新規に作成する度に、前述した構成情報の実行順序制御処理に従って、実行順序制御部404が有する実行順序制御テーブルを更新し、実行順序制御テーブルに示された順に処理を行う。これにより、電源遮断状態から電源投入状態に遷移する電源制御可能な回路ブロックの数が最小となるように構成情報の実行順序を制御可能となり、回路ブロックのチャージ電力を削減して情報処理装置100の消費電力を低減することができる。また、構成情報が複数同時に生成された場合も、生成された構成情報毎に前述した構成情報の実行順序制御処理を逐次行うことで実行順序を制御可能となる。
<構成情報の実行順序制御例>
以下、新規の構成情報が生成された時の構成情報の実行順序制御例を、図6〜図10を用いて説明する。
図6は、実行順序制御部404が有する実行順序制御テーブルの例を示す図である。実行順序制御テーブルは、構成情報が格納されている先頭アドレス、処理で使用する入力データの先頭アドレス及びデータサイズ、処理結果である出力データを出力する先頭アドレス及びデータサイズ、構成情報の実行順序に関する情報を有する。
図6において、601は、既にRAM103に配置されている構成情報が使用する入出力データのアドレス及びデータサイズに関する情報である(以下、構成情報601と呼ぶ)。ここで、構成情報601がRAM103に格納されている先頭アドレスは0x0010_1000である。また、構成情報601が使用する入力データの先頭アドレスは0x0000_1000、入力データサイズは3KByte、出力データの先頭アドレスは0x0000_2000、出力データサイズは3KByteである。
同様に、602は、既にRAM103に配置されている構成情報が使用する入出力データのアドレス及びデータサイズに関する情報である(以下、構成情報602と呼ぶ)。ここで、構成情報602がRAM103に格納されている先頭アドレスは0x0010_2000である。また、構成情報602が使用する入力データの先頭アドレスは0x0000_2800、入力データサイズは1KByte、出力データの先頭アドレスは0x0000_3400、出力データサイズは2KByteである。
同様に、603は、既にRAM103に配置されている構成情報が使用する入出力データのアドレス及びデータサイズに関する情報である(以下、構成情報603と呼ぶ)。ここで、構成情報603がRAM103に格納されている先頭アドレスは0x0010_3000である。また、構成情報603が使用する入力データの先頭アドレスは0x0000_3600、入力データサイズは2KByte、出力データの先頭アドレスは0x0000_5000、出力データサイズは2KByteである。
本実施形態において、実行順序制御テーブルの上から下に向かって実行順序が制御されているものとする。そのため、構成情報の実行順は構成情報501から502、503へ順番に実行される。
図7は、CPU101がユーザからのリクエストにより新規に生成された構成情報の例を示す図である。構成情報は、構成情報が格納されている先頭アドレス、処理で使用する入力データの先頭アドレス及びデータサイズ、処理結果である出力データを出力する先頭アドレス及びデータサイズ、構成情報の実行順序に関する情報を有する。
701は、新規に生成された構成情報が使用する入出力データのアドレス及びデータサイズに関する情報である(以下、構成情報701と呼ぶ)。ここで、構成情報701がRAM103に格納されている先頭アドレスは0x0010_4000である。また、構成情報701が使用する入力データの先頭アドレスは0x0000_2000、入力データサイズは1KByte、出力データの先頭アドレスは0x0000_4800、出力データサイズは2KByteである。
図8は、図6に示した構成情報601、構成情報602、構成情報603、及び図7に示した構成情報701に関して入出力データのメモリ領域と実行順序を示した図である。図8において、横軸はRAM103のアドレス情報を示し、右に行くほど大きいアドレスとし、縦軸は構成情報の実行順序を示し、上に行くほど実行順序が遅いものとする。また、801は構成情報601の入力データ領域を示し、802は構成情報601の出力データ領域を示している。同様に、803は構成情報602の入力データ領域を示し、804は構成情報602の出力データ領域を示している。同様に、805は構成情報603の入力データ領域を示し、806は構成情報603の出力データ領域を示している。同様に、807は構成情報701の入力データ領域を示し、808は構成情報701の出力データ領域を示している。
図8に示されるように、構成情報601の出力データ領域と構成情報701の入力データ領域が重なっており、構成情報602及び構成情報603の出力データ領域と構成情報701の入力データ領域に重なり部分がない。そのため、依存関係判定部403は、図3に示したステップS302において、構成情報601と構成情報701との間にはデータに依存関係が存在し、構成情報602及び構成情報603と構成情報701との間にはデータに依存関係が存在しないと判定する。
図9は、図6に示した構成情報601、構成情報602、構成情報603、及び図7に示した構成情報701の各構成情報毎に、リソース判定部402が取得した処理時に電源投入しておく必要がある電源制御可能な回路ブロックの情報の例を示す図である。図9において、射線部分は処理時に電源遮断にしておく電源制御可能な回路ブロックを示している。
図9において、901は構成情報601の処理時に電源投入しておく必要がある領域を示しており、電源制御可能な回路ブロック411を処理時に電源投入しておく必要があることを示している。同様に、902は構成情報602の処理時に電源投入しておく必要がある領域を示しており、電源制御可能な回路ブロック411、412、413を処理時に電源投入しておく必要があることを示している。903は、構成情報603の処理時に電源投入しておく必要がある領域を示しており、電源制御可能な回路ブロック412、414を処理時に電源投入しておく必要があることを示している。904は、構成情報701の処理時に電源投入しておく必要がある領域を示しており、電源制御可能な回路ブロック411、412、413、414を処理時に電源投入しておく必要があることを示している。
依存関係判定部403の結果から、構成情報701は構成情報602の処理前、又は構成情報603の処理前へ実行順を入れ替え可能である。そのため、実行順序制御部404は、図3に示したステップS306において、実行順序を入れ替え可能なパターンのすべてに対して、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数をカウントする。
ここで、構成情報602の前に構成情報701を実行する場合には、構成情報601、構成情報701、構成情報602、構成情報603という順番で構成情報の処理が実行される。構成情報601から構成情報701へ処理を移行する時、電源制御可能な回路ブロック412、413、414の3つを電源遮断状態から電源投入状態へ遷移させる必要がある。また、構成情報701から構成情報602へ処理を移行する時、電源遮断状態から電源投入状態へ遷移させる電源制御可能な回路ブロックはない。また、構成情報602から構成情報603へ処理を移行する時、電源制御可能な回路ブロック414の1つを電源遮断状態から電源投入状態へ遷移させる必要がある。したがって、構成情報601、構成情報701、構成情報602、構成情報603という順番で構成情報の処理を実行すると、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数は4となる。
同様に、構成情報603の前に構成情報701を実行する場合には、構成情報601、構成情報602、構成情報701、構成情報603という順番で構成情報の処理が実行される。そのため、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数は3となる。また、同様に構成情報の実行順序の入れ替えを行わなかった場合には、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数は5となる。
以上より、実行順序制御部404は、図3に示したステップS306にて、構成情報701を構成情報602の前に移動させることで、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数が最小となると判定する。図10は、実行順序制御部404が、図3に示したステップS307において更新した実行順序制御テーブルを示しており、構成情報の実行順は601、701、602、603の順となるように実行順序制御テーブルが更新される。情報処理装置100は、図10に示す実行順序制御テーブルに従った順序で構成情報の格納アドレスから構成情報を読み出して処理を実行することで、電源遮断状態から電源投入状態へ遷移する電源制御可能な回路ブロックの数を最小とすることが可能となる。これにより、構成情報に切り替えにより発生する回路ブロックのチャージ電力を削減して情報処理装置100の消費電力を低減することができる。なお、構成情報の実行順序の入れ替え方法は、本実施形態に示した例に限定するものではなく、他の方法を用いても良い。
(本発明の他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100:情報処理装置 101:CPU 401:バス制御部 402:リソース判定部 403:依存関係判定部 404:実行順序制御部 405:電源制御部 406:ネットワーク回路(ルータ) 407:演算要素 411、412、413、414:電源制御可能な回路ブロック

Claims (8)

  1. 複数の演算要素と前記演算要素間を接続するネットワーク回路とを有し、構成情報を変更することで前記演算要素の処理内容及び前記ネットワーク回路の接続形態を動的に変更可能な情報処理装置であって、
    内部に前記演算要素を含む電源制御可能な回路ブロックに対する電源の供給を制御する電源制御手段と、
    前記構成情報に基づいて構成情報間での依存関係を判定する依存関係判定手段と、
    前記構成情報に基づいて前記情報処理装置で実行する処理に使用する前記電源制御可能な回路ブロックを判定するリソース判定手段と、
    前記依存関係判定手段により判定された前記構成情報間の依存関係に反しない範囲内で、前記リソース判定手段により判定された前記電源制御可能な回路ブロックのうち、電源遮断状態から電源投入状態へ遷移する前記回路ブロックの数が最小となるよう前記構成情報の実行順序を制御する実行順序制御手段とを有することを特徴とする情報処理装置。
  2. 前記実行順序制御手段は、電源遮断状態から電源投入状態へ遷移する前記電源制御可能な回路ブロックの数をカウントすることを特徴とする請求項1記載の情報処理装置。
  3. 前記依存関係判定手段は、前記構成情報に基づいて前記情報処理装置で実行する処理に使用されるデータの構成情報間における依存関係を判定することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記依存関係判定手段は、前記情報処理装置で実行する処理に使用される入出力データのアドレスから構成情報間における依存関係を判定することを特徴とする請求項3記載の情報処理装置。
  5. 前記リソース判定手段は、前記情報処理装置で実行する処理に使用する前記演算要素又は前記ネットワーク回路の接続形態から当該処理に使用する前記電源制御可能な回路ブロックを判定することを特徴とする請求項1〜4の何れか1項に記載の情報処理装置。
  6. 前記実行順序制御手段は、前記構成情報の実行順序を示す実行順序制御テーブルを有し、前記依存関係判定手段及び前記リソース判定手段による判定結果に応じて前記実行順序制御テーブルを更新することを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。
  7. 複数の演算要素と前記演算要素間を接続するネットワーク回路とを有し、構成情報を変更することで前記演算要素の処理内容及び前記ネットワーク回路の接続形態を動的に変更可能な情報処理装置の制御方法であって、
    内部に前記演算要素を含む電源制御可能な回路ブロックに対する電源の供給を制御する電源制御工程と、
    前記構成情報に基づいて構成情報間での依存関係を判定する依存関係判定工程と、
    前記構成情報に基づいて前記情報処理装置で実行する処理に使用する前記電源制御可能な回路ブロックを判定するリソース判定工程と、
    前記依存関係判定工程にて判定された前記構成情報間の依存関係に反しない範囲内で、前記リソース判定工程にて判定された前記電源制御可能な回路ブロックのうち、電源遮断状態から電源投入状態へ遷移する前記回路ブロックの数が最小となるよう前記構成情報の実行順序を制御する実行順序制御工程とを有することを特徴とする情報処理装置の制御方法。
  8. 複数の演算要素と前記演算要素間を接続するネットワーク回路とを有し、構成情報を変更することで前記演算要素の処理内容及び前記ネットワーク回路の接続形態を動的に変更可能な情報処理装置の制御処理をコンピュータに実行させるプログラムであって、
    内部に前記演算要素を含む電源制御可能な回路ブロックに対する電源の供給を制御する電源制御ステップと、
    前記構成情報に基づいて構成情報間での依存関係を判定する依存関係判定ステップと、
    前記構成情報に基づいて前記情報処理装置で実行する処理に使用する前記電源制御可能な回路ブロックを判定するリソース判定ステップと、
    前記依存関係判定ステップにて判定された前記構成情報間の依存関係に反しない範囲内で、前記リソース判定ステップにて判定された前記電源制御可能な回路ブロックのうち、電源遮断状態から電源投入状態へ遷移する前記回路ブロックの数が最小となるよう前記構成情報の実行順序を制御する実行順序制御ステップとをコンピュータに実行させるためのプログラム。
JP2013077166A 2013-04-02 2013-04-02 情報処理装置及び情報処理装置の制御方法 Active JP6141073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013077166A JP6141073B2 (ja) 2013-04-02 2013-04-02 情報処理装置及び情報処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013077166A JP6141073B2 (ja) 2013-04-02 2013-04-02 情報処理装置及び情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2014203172A JP2014203172A (ja) 2014-10-27
JP6141073B2 true JP6141073B2 (ja) 2017-06-07

Family

ID=52353584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013077166A Active JP6141073B2 (ja) 2013-04-02 2013-04-02 情報処理装置及び情報処理装置の制御方法

Country Status (1)

Country Link
JP (1) JP6141073B2 (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7098689B1 (en) * 2003-09-19 2006-08-29 Xilinx, Inc. Disabling unused/inactive resources in programmable logic devices for static power reduction
JP4275013B2 (ja) * 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
JP4260086B2 (ja) * 2004-08-30 2009-04-30 三洋電機株式会社 データフローグラフ生成装置、処理装置、リコンフィギュラブル回路。
JP4535912B2 (ja) * 2004-08-30 2010-09-01 三洋電機株式会社 データフローグラフ生成装置
JP3810419B2 (ja) * 2004-12-07 2006-08-16 松下電器産業株式会社 再構成可能な信号処理プロセッサ
JP4298718B2 (ja) * 2006-04-18 2009-07-22 パナソニック株式会社 再構成可能な信号処理プロセッサ
JP2011081465A (ja) * 2009-10-05 2011-04-21 Hitachi Ltd 電源制御装置
JP5614076B2 (ja) * 2010-03-31 2014-10-29 富士ゼロックス株式会社 画像形成装置及びその制御プログラム
JP5798378B2 (ja) * 2011-05-30 2015-10-21 キヤノン株式会社 装置、処理方法、およびプログラム
JP5832311B2 (ja) * 2011-02-08 2015-12-16 キヤノン株式会社 再構成デバイス、処理割当て方法及びプログラム
JP5980035B2 (ja) * 2012-07-31 2016-08-31 キヤノン株式会社 情報処理装置およびその制御方法
JP6087663B2 (ja) * 2013-02-28 2017-03-01 キヤノン株式会社 構成情報生成装置およびその制御方法

Also Published As

Publication number Publication date
JP2014203172A (ja) 2014-10-27

Similar Documents

Publication Publication Date Title
JP6207818B2 (ja) システムオンチップ及びその動作方法並びに携帯用装置
JP6006230B2 (ja) 組み合わせたcpu/gpuアーキテクチャシステムにおけるデバイスの発見およびトポロジーのレポーティング
US8200940B1 (en) Reduction operations in a synchronous parallel thread processing system with disabled execution threads
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
JP4723313B2 (ja) 画像処理装置
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
US9563466B2 (en) Method and apparatus for supporting programmable software context state execution during hardware context restore flow
US10120798B1 (en) Dynamic FPGA re-configuration using a virtual FPGA controller
JPWO2011135759A1 (ja) 情報処理装置及びタスク切り替え方法
WO2006123547A1 (ja) 情報処理装置、システム、方法およびプロセッサ
CN114691224A (zh) 设备加载***、方法及电子设备
JP5580404B2 (ja) 半導体装置
US10120970B2 (en) Global routing framework of integrated circuit based on localized routing optimization
JP6141073B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP3952856B2 (ja) キャッシュ方法
EP3118696A1 (en) Programmable controller system
JP2022072452A (ja) 情報処理装置、及びプログラム
JP2004021426A (ja) コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法
US10073773B2 (en) Instruction paging in reconfigurable fabric
US20240111560A1 (en) Workload linked performance scaling for servers
JP6057735B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2011118744A (ja) 情報処理装置
CN117112466B (zh) 一种数据处理方法、装置、设备、存储介质及分布式集群
JP2009258936A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2017079037A (ja) 演算装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170502

R151 Written notification of patent or utility model registration

Ref document number: 6141073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151