JP2014225263A - プロセッシング装置及びプロセッシング方法 - Google Patents

プロセッシング装置及びプロセッシング方法 Download PDF

Info

Publication number
JP2014225263A
JP2014225263A JP2014100636A JP2014100636A JP2014225263A JP 2014225263 A JP2014225263 A JP 2014225263A JP 2014100636 A JP2014100636 A JP 2014100636A JP 2014100636 A JP2014100636 A JP 2014100636A JP 2014225263 A JP2014225263 A JP 2014225263A
Authority
JP
Japan
Prior art keywords
power information
power
processor
data
memory
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.)
Granted
Application number
JP2014100636A
Other languages
English (en)
Other versions
JP6457200B2 (ja
JP2014225263A5 (ja
Inventor
民 榮 孫
Min Young Son
民 榮 孫
承 遠 李
cheng yuan Li
承 遠 李
時 和 李
Shi-Hwa Lee
時 和 李
在 敦 李
Zai Dui Li
在 敦 李
采 石 林
Cai Shi Lin
采 石 林
旻 奎 鄭
Niang Kui Zheng
旻 奎 鄭
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014225263A publication Critical patent/JP2014225263A/ja
Publication of JP2014225263A5 publication Critical patent/JP2014225263A5/ja
Application granted granted Critical
Publication of JP6457200B2 publication Critical patent/JP6457200B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

【課題】 データに基づいて電力を管理するプロセッシング装置を提供する。【解決手段】 一実施形態に係るプロセッシング装置は、プロセッサからメモリへのアクセス信号に反応し、当該アクセス信号によってアクセスリクエストされるデータに対応する電力情報を取得し、当該電力情報に基づいてプロセッサの電力モードを制御する。【選択図】 図1

Description

開示される実施形態は、モバイル装置、マルチメディア装置、埋め込みシステム等において、電力管理が必要な分野に適用できるプロセッシング装置及びプロセッシング方法等に関する。
性能が優れた1つのプロセッサの代わりに、相対的に性能は落ちるものの数個のプロセッサを用いるマルチプロセッサシステムは、現在のモバイル装置及び様々な埋め込みシステムで多く用いられている。性能が優れたプロセッサを製造することは工程上に困難でありかつ電力消費が大きいため、その代案としてマルチプロセッサシステムが使用されている。
マルチプロセッサシステムの電力消費は同程度の性能のシングルプロセッサよりも少ないが、依然として電力消費を減らす必要があり、そのような電力消費を減らす要請はモバイル装置はもちろんのこと、高性能スーパーコンピュータでも要請される問題である。
マルチプロセッサシステムでは同じプロセッサを数個使用する場合があるが、他のプロセッサを数個使用する異機種マルチプロセッサシステム(Heterogeneous Multicore system)を構築する場合もある。これは用途に適するよう数個の異なるプロセッサを用いることによって不要なリソースの無駄遣いを減らすと共に電力を節減するためである。
実施形態の目的は、データに基づく電力管理技術を提供することにある。
一側面に係るプロセッシング装置は、プロセッサと、前記プロセッサから特定データをリクエストするアクセスリクエストに反応し、前記プロセッサが前記特定データを処理するとき前記プロセッサのために提案される電力モードを指示する予め決定された電力情報が存在するか否かを判断する電力情報管理部と、前記予め決定された電力情報が存在すると判断される場合、前記プロセッサが前記予め決定された電力情報に基づいて前記特定データを処理するとき前記プロセッサの現在の電力モードを制御する電力コントローラとを含む。
前記予め決定された電力情報は、前記プロセッサがデータを処理するとき前記プロセッサのために提案される複数の電力モードのうちの1つを指示し、前記提案される複数の電力モードは、低電力モード、高電力モード、及び前記低電力モードと前記高電力モードとの間の電力モードを含んでもよい。
前記電力情報管理部は、前記予め決定された電力情報が電力情報テーブルに存在するか否かを判断し、前記電力情報テーブルは、相異なるデータそれぞれのためにアドレス情報及び電力情報を含んでもよい。
前記電力情報管理部は、前記特定データの処理のための実行コードに関連する電力情報コードを分析することによって前記電力情報テーブルを生成してもよい。
前記電力情報コードは、コンパイリングシステムのコンパイラによってソースコードから抽出され、実行ファイルを生成するために前記コンパイリングシステムのリンカーによって前記実行コードと共にリンクされてもよい。
前記電力情報コードは、前記ソースコード内に電力情報が存在するとの前記コンパイラによって識別されたデータそれぞれのアドレス情報及び電力モード情報を含んでもよい。
前記電力情報管理部は、前記アクセスリクエストに含まれたデータアドレスと前記電力情報テーブルに含まれた複数のアドレス範囲を比較することによって、前記予め決定された電力情報が前記電力情報テーブルに存在するか否かを判断してもよい。
前記電力情報管理部は、前記予め決定された電力情報が電力情報テーブルに存在するか否かを判断し、前記電力情報テーブルは、メモリに格納された複数のデータのうち電力情報が存在するデータのアドレス情報を含んでもよい。
前記電力情報管理部は、前記アクセスリクエストに含まれたデータアドレスと前記電力情報テーブルに含まれた複数のアドレス範囲を比較することによって、前記予め決定された電力情報が存在するか否かを判断してもよい。
前記プロセッシング装置は、前記アクセスリクエストに含まれたデータアドレスに基づいて前記メモリから前記特定データを読み出す(read)メモリ管理部をさらに含み、前記電力情報管理部は、前記特定データに対応する電力情報が読み出されると、前記電力情報テーブルに前記特定データのアドレス情報が含まれるように前記電力情報テーブルを生成またはアップデートしてもよい。
前記電力情報管理部は、前記電力情報テーブルに前記特定データに対応する電力情報が含まれるように前記電力情報テーブルを生成またはアップデートしてもよい。
前記プロセッシング装置は、前記特定データを格納するメモリをさらに含んでもよい。
前記電力情報管理部は、前記メモリ内の前記特定データのための前記アクセス信号に含まれたメモリアドレスを取得するアドレス取得部と、前記取得されたメモリアドレスと電力情報テーブル内の複数のアドレス情報を比較することによって、前記予め決定された電力情報が存在するか否かを判断する電力情報判断部と、前記予め決定された電力情報が存在すると判断される場合、前記予め決定された電力情報を前記電力コントローラに提供する電力情報提供部とを含んでもよい。
前記電力情報テーブルは複数の電力情報タプルを含み、前記複数の電力情報タプルそれぞれは、前記メモリ内に電力情報が存在するデータの開始アドレスと、前記電力情報が存在するデータの長さと、前記電力情報が存在するデータに対応する電力モードを指示する要素(element)のうち少なくとも1つを含んでもよい。
前記複数の電力情報タプルそれぞれは、前記電力情報が存在するデータに対応する加重値をさらに含み、前記電力コントローラは、前記プロセッサの電力モードを制御するために前記加重値を用いてもよい。
前記電力コントローラは、前記プロセッサの以前電力モードを格納し、前記以前電力モード及び前記特定データに対応する加重値に基づいて前記プロセッサのための現在の電力モードを判断してもよい。
前記電力コントローラは、前記予め決定された電力情報に基づいて、前記プロセッサが前記特定データを処理するとき前記プロセッサのための電力モードを決定する電力モード決定部と、前記決定された電力モードに基づいて前記プロセッサの現在の電力モードを制御する電力モード制御部とを含んでもよい。
前記プロセッシング装置は、実行ファイルを取得し、前記実行ファイルに含まれた実行コード及び電力情報コードを抽出する実行ファイル処理部と、前記実行コードを前記メモリに積載するメモリ積載部とをさらに含み、前記電力情報管理部は、前記電力情報コードに基づいて電力情報テーブルを生成またはアップデートしてもよい。
前記電力情報管理部は、前記電力情報コード及び前記メモリ積載結果に基づいて前記電力情報テーブルを生成またはアップデートしてもよい。
前記電力情報テーブルは、前記特定データが前記メモリに積載された物理アドレス、前記実行ファイル内の前記特定データの仮想アドレス、及び前記仮想アドレスが前記物理アドレスに変換される情報のうち少なくとも1つに基づいて生成またはアップデートされてもよい。
前記実行ファイルは、コンパイリングシステムのコンパイラ及びリンカーによって生成され、前記コンパイラは、ソースコードに含まれた電力情報指示子に基づいて前記電力情報コード及び前記実行コードを生成し、前記リンカーは、前記生成された電力情報コード及び前記生成された実行コードをリンクしてもよい。
他の一側面に係るプロセッシング装置は、複数のプロセッサと、前記複数のプロセッサのうち選択されたプロセッサから特定データをリクエストするアクセスリクエストに反応し、前記選択されたプロセッサが前記特定データを処理するとき前記選択されたプロセッサのために提案される電力モードを指示する予め決定された電力情報が存在するか否かを判断する電力情報管理部と、前記予め決定された電力情報が存在すると判断される場合、前記選択されたプロセッサが前記予め決定された電力情報に基づいて前記特定データを処理するとき前記選択されたプロセッサの現在の電力モードを制御する電力コントローラとを含む。
前記プロセッシング装置は、前記特定データを格納するメモリをさらに含んでもよい。
前記電力情報管理部は、前記複数のプロセッサのうちどのプロセッサが前記特定データをリクエストするかに関係なく、前記複数のプロセッサのいずれか1つのプロセッサから前記特定データをリクエストするアクセスリクエストに反応し、前記予め決定された電力情報を前記電力コントローラに提供してもよい。
前記複数のプロセッサのうち第1プロセッサ及び第2プロセッサが同一の電力情報に対応するデータにアクセスする場合、前記電力コントローラは、前記同一の電力情報に基づいて前記第1プロセッサの電力モード及び前記第2プロセッサの電力モードを互いに異なるように制御してもよい。
他の一側面に係るプロセッシング装置は、プロセッサと、前記プロセッサから特定データをリクエストするアクセスリクエストに反応し、メモリから選択されたデータを読み出し、前記選択されたデータに含まれた前記特定データを前記プロセッサに提供するメモリコントローラと、前記選択されたデータに前記特定データに対応する電力情報が含まれるか否かに応じて、前記電力情報に基づいて前記プロセッサの現在の電力モードを制御する電力コントローラとを含む。
前記プロセッシング装置は、相異なるデータを含むメモリをさらに含み、前記相異なるデータは、前記プロセッサの電力モードを制御するための電力情報が存在するデータ、及び前記プロセッサの電力モードを制御するための電力情報が存在しないデータを含んでもよい。
前記選択されたデータに含まれた前記電力情報は、他のデータに含まれた異なる電力情報と区別されてもよい。
前記メモリコントローラは、前記選択されたデータに前記電力情報が含まれる場合、前記プロセッサが前記特定データを処理するとき前記プロセッサの電力モードを制御するために前記電力情報を前記電力コントローラに提供してもよい。
他の一側面に係るプロセッシング方法は、プロセッサから特定データをリクエストするアクセスリクエストに反応し、前記プロセッサが前記特定データを処理するとき前記プロセッサのために提案される電力モードを指示する予め決定された電力情報が存在するか否かを判断するステップと、前記予め決定された電力情報が存在すると判断される場合、前記プロセッサが前記予め決定された電力情報に基づいて前記特定データを処理するとき前記プロセッサの現在の電力モードを制御するステップとを含む。
前記プロセッシング方法は、前記特定データのための前記アクセスリクエストを検出するステップをさらに含んでもよい。
前記アクセスリクエストは、メモリに格納された複数のデータのうち前記特定データをリクエストしてもよい。
前記アクセスリクエストを検出するステップは、前記アクセスリクエストに含まれたメモリアドレスを取得するステップと、前記取得されたメモリアドレス及び電力情報テーブルを比較することによって、前記特定データに対応する前記予め決定された電力情報が存在するか否かを判断するステップとを含んでもよい。
前記特定データに対応する前記予め決定された電力情報が存在すると判断される場合、前記特定データに対応する前記予め決定された電力情報が前記電力情報テーブルから取得されてもよい。
前記電力情報テーブルは複数の電力情報タプルを含み、前記複数の電力情報タプルそれぞれは、前記メモリ内に電力情報が存在するデータの開始アドレスと、前記電力情報が存在するデータの長さと、前記電力情報が存在するデータに対応する電力モードを指示する元素のうち少なくとも1つを含んでもよい。
前記複数の電力情報タプルそれぞれは、前記電力情報が存在するデータに対応する加重値をさらに含み、前記制御するステップは、前記プロセッサの電力モードを制御するために前記加重値を用いるステップを含んでもよい。
前記プロセッシング方法は、前記プロセッサの以前電力モードを格納するステップと、前記以前電力モード及び前記特定データに対応する加重値に基づいて前記プロセッサのための現在の電力モードを判断するステップとをさらに含んでもよい。
前記制御するステップは、前記予め決定された電力情報に基づいて、前記プロセッサが前記特定データを処理するとき前記プロセッサのための電力モードを決定するステップと、前記決定された電力モードに基づいて前記プロセッサの現在の電力モードを制御するステップとを含んでもよい。
前記プロセッシング方法は、実行ファイルを取得し、前記実行ファイルに含まれた実行コード及び電力情報コードを抽出するステップと、前記実行コードを前記メモリに積載するステップと、前記電力情報コードに基づいて電力情報テーブルを生成またはアップデートするステップとをさらに含んでもよい。
前記電力情報テーブルを生成またはアップデートするステップは、前記電力情報コード及び前記メモリ積載結果に基づいて前記電力情報テーブルを生成またはアップデートするステップを含んでもよい。
前記電力情報テーブルは、前記特定データが前記メモリに積載された物理アドレス、前記実行ファイル内の前記特定データの仮想アドレス、及び前記仮想アドレスが前記物理アドレスに変換される情報のうち少なくとも1つに基づいて生成またはアップデートされてもよい。
前記実行ファイルは、コンパイリングシステムのコンパイラ及びリンカーによって生成され、前記コンパイラは、ソースコードに含まれた電力情報指示子に基づいて前記電力情報コード及び前記実行コードを生成し、前記リンカーは、前記生成された電力情報コード及び前記生成された実行コードをリンクしてもよい。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、ハードウェアのレベルでデータ中心の電力管理を行うことができる。
データは電力情報を有し、プロセッサは当該データを処理するときその情報を用いて電力管理を行う。これによって、ユーザはデータに電力情報のみを記述すると、全てのプロセッサが自ら電力管理を行う。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、既に全てのプロセッサの電力管理することに比べて、データの電力タイプを記述するだけでも電力管理が可能であるため、ユーザの便宜性が向上される。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、一般的にユーザが直接電力管理する場合のCoarse−grained電力管理に比べて細分化された電力管理が可能である。
一実施形態に係る複数のプロセッサを含むプロセッシング装置を示すブロック図である。 一実施形態に係るプロセッシング装置を用いるデータに基づく電力管理方式を説明するための図である。 一実施形態に係るデータに基づく電力情報技術方法を説明するための図である。 一実施形態に係るデータに基づく電力情報生成方法を説明するための図である。 一実施形態に係る電力情報テーブルを説明するための図である。 一実施形態に係るプロセッシング装置を示すブロック図である。 一実施形態に係るデータに基づく電力情報を積載する方法を示した動作フローチャートである。 一実施形態に係るデータに基づく電力管理のための電力コントローラの動作方法を示す動作フローチャートである。 一実施形態に係るデータに基づく電力管理のためのメモリコントローラの動作方法を示す動作フローチャートである。
以下、実施形態を添付する図面を参照しながら詳細に説明する。
実施形態の説明おいて、関連する公知機能または構成に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合にその詳細な説明を省略する。そして、本明細書で用いられる用語(terminology)は、実施形態を適切に表現するために用いられる用語であり、これはユーザ、運用者の意図、または当該技術が属する分野の慣例などによって変わり得る。したがって、用語に対する定義は、本明細書全般にわたった内容に基づいて下されなければならないのであろう。各図面に提示された同一の参照符号は同一の部材を示す。
図1は、一実施形態に係る複数のプロセッサを含むプロセッシング装置を示すブロック図である。
図1を参照すると、一実施形態に係るプロセッシング装置100は、データ中心の電力管理を行う。一実施形態に係るプロセッシング装置100のデータに対応する電力情報を有し、プロセッサは当該データを処理する時その情報を用いて電力管理を行う。これにより、ユーザによってソースコードのデータに電力情報のみが記述されれば、全てのプロセッサは自動で電力管理を行うことができる。
したがって、一実施形態に係るプロセッシング装置100を利用すると、ユーザの便宜性が向上されるだけではなく、一実施形態に係るプロセッシング装置100を利用すると、細分化された(fine−grained)電力管理が可能である。
シングルコアシステムに比べてマルチプロセッサシステムでは、メモリの大きさやアクセス速度などがシステム性能に決定的な役割を果たす。これはマルチプロセッサシステムにおいて、性能の中心が算出ではないデータにあることを意味し、一実施形態に係るプロセッシング装置100を利用すると、マルチプロセッサシステムに適する電力管理技術を提供することができる。
また、一実施形態に係るプロセッシング装置100はマルチメディア応用に適する。例えば、マルチメディア応用としてパイプライン(Pipeline)などのようにデータがストリーム(stream)のように流れる方式で処理されてもよい。このように、データ中心に演算が行われる場合、電力管理もデータによって変わることが好ましい。
そのために、一実施形態に係るプロセッシング装置100は、メモリ110、メモリコントローラ120、プロセッサ140、電力コントローラ130、及び電力情報管理部(図示せず)を含んでもよい。
一実施形態に係るプロセッサ140は複数の電力モードを用いて動作してもよく、一実施形態に係るメモリ110は、プロセッサ140の動作のためのデータを格納してもよい。
一実施形態に係る電力情報管理部(図示せず)は、プロセッサ140からメモリ110へのアクセス信号に反応し、アクセス信号によってアクセスリクエストされるデータに対応する電力情報が存在するか否かを判断する。電力情報管理部(図示せず)は、実現如何に応じてメモリコントローラ120に含まれてもよいし、或いは電力コントローラ130に含まれてもよい。もちろん、電力情報管理部(図示せず)は、メモリコントローラ120及び電力コントローラ130と別に備えられてもよい。
以下、説明の便宜のために電力情報管理部(図示せず)がメモリコントローラ120に含まれる場合を仮定する。ただし、上述したように電力情報管理部(図示せず)の実現は、メモリコントローラ120に含まれる場合に限定されることはない。
一実施形態に係る電力コントローラ130は、プロセッサ140のアクセス信号によってアクセスリクエストされるデータに対応する電力情報が存在する場合、電力情報に基づいてプロセッサ140の電力モードを制御する。
一実施形態に係るプロセッサ140は、メモリ110に格納されているデータを演算するなどの処理を行う。プロセッサ140は、中央処理ユニット(Central Processing Unit:CPU)141、グラフィック処理ユニット(Graphics Processing Unit:GPU)142、ハードウェア加速器(Hardware Accelerator:HWA)143、デジタル信号プロセッサ(Digital Signal Processor:DSP)144などの複数の異種プロセッサを含むマルチプロセッサとして解釈されてもよい。もちろん、場合に応じてプロセッサ140は、複数の同種プロセッサを含むマルチプロセッサを含んでもよい。
ここで、プロセッサ140はアクセス可能なメモリ110が存在し、プロセッサ140に含まれる下位プロセッサはメモリコントローラ120を介してメモリ110にアクセスしてもよい。
ここで、各モジュールの構成、個数、接続構造は変わり得る。
一実施形態に係るメモリコントローラ120は、アクセスリクエストする下位プロセッサのタイプに関係なく、アクセスリクエストされる特定データに対応する同一の電力情報を電力コントローラ130に提供してもよい。
例えば、中央処理ユニット141とグラフィック処理ユニット142が同一のアドレスに格納されたデータにアクセスをリクエストした場合を仮定しよう。この場合、メモリコントローラ120は、中央処理ユニット141とグラフィック処理ユニット142に同じ電力情報を提供してもよい。
ただし、電力コントローラ130は、同一の電力情報に基づいて中央処理ユニット141の電力モードとグラフィック処理ユニット142の電力モードを互いに異なるように制御してもよい。
より具体的に、電力コントローラ130は同じ電力情報を受信する場合にも、内部ポリシーにより中央処理ユニット141の電力モードとグラフィック処理ユニット142の電力モードを互いに異なるように制御してもよい。
他の実施形態によると、メモリ110は、使用電力タイプが区分されたデータを格納してこれを保持してもよい。例えば、メモリ110は、データを格納するときデータの電力情報を含むタグ(tag)などをともに格納してもよい。
メモリ110にアクセスする時メモリコントローラ120は電力コントローラ130に信号を与え、当該メモリ110のアクセスに対応する電力制御が必要な場合、電力コントローラ120を用いてプロセッサ140の電力を調節してもよい。
メモリコントローラ120は、プロセッサ140からデータに対する処理リクエストを受信し、受信された処理リクエストに応答してメモリ110からデータを読み出してプロセッサ140に提供してもよい。
ここで、一実施形態に係るメモリコントローラ120は、読み出されたデータに使用電力タイプが含まれているかを確認する。確認の結果、使用電力タイプが含まれる場合、メモリコントローラ120は確認された使用電力タイプを電力コントローラ130に提供してもよい。電力コントローラ130は、メモリコントローラ120から伝えられた使用電力タイプに応じてプロセッサ140の電力を制御してもよい。
電力コントローラ130は、読み出されたデータに含まれている使用電力タイプに基づいてプロセッサ140の電力を制御してもよい。
図2は、一実施形態に係るプロセッシング装置を用いるデータに基づく電力管理方式を説明するための図である。
図2を参照すると、一実施形態に係るデータ220は電力情報を有し、プロセッサ210はデータ220に処理又はオペレーション(Operation)を行うとき、そのデータ220の電力情報(Power ctrl.)を用いて処理を行ってもよい。
ここでは、電力管理がコンピュータの過程に含まれているため、電力管理がコンピュータと別個ではないコンピュータの一部となる。
ユーザは、プログラムコード230を記述するとき各データに電力タイプ231を記述することにより電力管理できる。
例えば、プログラムコード230に電力タイプ231が記述されれば、各プロセッサは、プログラムコード230の実行中に当該データを処理するとき当該データに対応する電力タイプに基づいて電力管理を行ってもよい。
図3は、一実施形態に係るデータに基づく電力情報技術方法を説明するための図である。
図3は、ユーザがデータの電力タイプをプログラミングによって記述することで、型限定子(Type qualifier)310、320、330、340のような電力情報指示子を介して記述してもよい。
一実施形態によると、型限定子として低電力(Low Power:LP)、中電力(Middle Power:MP)、高電力(High Power:HP)などの電力モードに対応する使用電力タイプが予め定義されてもよい。
また、関数の因子として用いられる汎用電力(Generic template Power:GP)の型限定子も定義されてもよく、汎用電力の型限定子として宣言された因子は低電力、中電力、高電力などの電力モードに対応する使用電力タイプのデータを全て受け入れてもよい。
型限定子は、データタイプ及び属性(attribute)などに応じて記述されてもよく、プログラミング言語に応じて異なってもよい。
より具体的に、全体コード300のうちデータに該当する部分は予め使用電力タイプが定義されてもよい。
例えば、図面符号310のように整数(integer)に区分される変数「a」には使用電力タイプとして「_lp_」が挿入されて低電力(low power)モードで動作するものとして電力モードを定義してもよい。
また、図面符号320のように、キャラクターで区分される配列変数b[10]には使用電力タイプとして「_mp_」が挿入されて中電力(middle power)モードで動作するものとして電力モードを定義してもよい。
また、図面符号330では関数「ISR0」の定義において使用電力タイプとして「_hp_」が挿入されて関数「ISR0」が高電力(high power)モードで動作するものとして電力モードを定義してもよい。
また、図面符号340のように、関数「decode」の因子のうちinputDataに使用電力タイプとして「_gp_」を挿入して関数「decode」が汎用電力(generic power)モードで動作するものとして電力モードを定義してもよい。
従来には電力管理の中心はコードにあった。すなわち、コードの一部分を低電力区間に設定して管理する。
一方、一実施形態に係るデータに基づく電力管理装置は、電力管理の中心はコードではないデータと見なす。すなわち、使用電力タイプを挿入することによってデータに電力モードを設定し、演算装置は前記データが処理されるとき挿入された使用電力タイプに該当する電力モードに動作させ得る。
したがって、当該データを用いる部分を探して電力管理区間と見なして管理することができる。
データの処理による電力モードを設定する方法として、新しいデータタイプを導入してもよいし、或いは既存データタイプに使用電力タイプを挿入することによって実現されてもよい。
一実施形態に係るメモリコントローラはメモリに格納され、プロセッサがリクエストするデータの全体コードとして「_lp_」、「_mp_」、「_hp_」、及び「_gp_」などの電力タイプが挿入されている少なくとも1つ以上のコードセグメントを検索することができる。
検索されれば、電力コントローラは、当該データに対して当該電力タイプの電力モードに動作されるようにプロセッサを制御することができる。
図4は、一実施形態に係るデータに基づく電力情報生成方法を説明するための図である。
図4は、電力情報が含まれた実行ファイルを生成する過程を示す。従来には、ソースコードをコンパイラがオブジェクトコードに変更し、当該オブジェクトをリンカーが実行ファイルに作ることができる。
一実施形態によると、コンパイラ420がソースファイル410に含まれた電力情報指示子に基づいてオブジェクトファイル430などの実行コードと共に電力情報450を含む電力情報コードを生成してもよい。
この場合、リンカー440は、生成された電力情報コード及び生成された実行コードを含む実行ファイルを生成してもよい。例えば、リンカー440は、リンキング作業によってオブジェクトファイル430に対するバイナリ460を作りながら、バイナリ460に電力情報450を含ませてもよい。
図5は、一実施形態に係る電力情報テーブルを説明するための図である。
図5を参照すると、一実施形態に係るプロセッシング装置は、データの開始位置及び長さを格納し、プロセッサによってアクセスするメモリアドレスがこの範囲に含むか否かを判断する。
一実施形態に係るプロセッシング装置は、複数の電力情報タプルを含む予め備えられた電力情報テーブル500を用いてもよい。
ここで、開始位置及び長さとして決定される範囲を電力領域(power region)と定義し、当該電力領域はそれぞれ電力情報及び加重値(weight)を有する。電力情報はユーザが記述したものであるが、プログラムが実行されるランタイムに再構成された電力情報であってもよい。図5においては、低電力(Low Power)及び高電力(High power)の電力情報が示されている。加重値は、当該データが用いられるコードの特性を反映し、同様にランタイムに決定されてもよい。
電力情報テーブル500は、図4で生成されたバイナリ460に含まれてもよい。もちろん、場合に応じて電力情報テーブル500が格納される位置及び電力情報テーブル500の構成は変わり得る。
図6は、一実施形態に係るプロセッシング装置を示すブロック図である。
図6を参照すると、一実施形態に係るプロセッシング装置600は、プロセッサ610がアクセスするメモリ630のデータ(Data)に対応する電力情報が存在するか否かを判断する。この場合において、プロセッサ610はメモリコントローラ620にアドレス(Address)を通知し、メモリコントローラ620はメモリ630内のそのアドレスを確認し、プロセッサ610にデータが返される。
判断の結果、メモリ630に対応する電力情報が存在する場合、メモリコントローラ620は電力コントローラ640に電力情報(Power information)を提供してもよい。電力コントローラ640は、当該電力情報を用いてプロセッサ610の電力モードを制御してもよい(Power Control)。ここで、メモリコントローラ620はアドレス変換などを行ってもよく、電力コントローラ640は特定ポリシーによりプロセッサ610の電力を調節してもよい。
メモリコントローラ620や電力コントローラ640の数及び構成は変わってもよく、メモリ630の種類及び位置に応じてメモリコントローラ620の位置及び構成が変わってもよい。
図7は、一実施形態に係るデータに基づく電力情報を積載する又は含める方法を示した動作フローチャートである。
図7を参照すると、応用バイナリには、実際応用を動作させ得るプログラムとデータに基づく電力情報が共に存在する。データに基づく電力管理方法として、プログラムとデータに基づく電力情報を分割する(S701)。
一実施形態に係るデータに基づく電力管理方法は、プログラムに対して一般ロード過程を行う(S702)。ロード過程の結果、プログラムのアドレスが決定されれば、データに基づく電力管理方法はデータに基づく電力情報をアップデートする(S703)。
一実施形態に係るデータに基づく電力管理方法は、データに基づく電力情報をメモリコントローラにロードさせる(又は担わせる又は包含させる)(S704)。
メモリコントローラにロードされたデータに基づく電力情報は、プロセッサがアクセスするデータが電力情報の所有しているか否かを判断するために使用されてもよい。メモリコントローラが電力情報積載及び判断を担当しているが、他の装置が担当してもよい。例えば、プロセッサに新しいモジュールが追加されてもよく、電力コントローラで全て担当してもよい。
図示していないが、他の実施形態に係る図1に示すプロセッシング装置100は、実行ファイル処理部及びメモリ積載部をさらに含んでもよい。
実行ファイル処理部は実行ファイルを取得し、実行ファイルに含まれた実行コード及び電力情報コードを抽出してもよい。ここで、実行ファイルは応用バイナリを含み、実行コードはプログラムを含み、電力情報コードはデータに基づく電力情報を含んでもよい。また、実行コードは、命令語コード及びデータコードを含んでもよい。
メモリ積載部は抽出された実行コードをメモリに積載してもよく(包含させてもよく)、図1に示すメモリコントローラ120に含まれた電力情報管理部は、メモリに包含させる処理の結果(メモリ積載結果)及び電力情報コードに基づいて図5に示す電力情報テーブル500をアップデートしてもよい。
図8は、一実施形態に係るデータに基づく電力管理のための電力コントローラの動作方法を示す動作フローチャートである。
図8を参照すると、一実施形態に係るデータに基づく電力管理方法は、メモリによって使用電力タイプが区分されたデータを格納し、これを保持してもよい。
一実施形態に係るデータに基づく電力管理方法は、プロセッサによってデータを処理し、メモリコントローラによってプロセッサからデータに対する処理リクエストを受信し、受信された処理リクエストに応答してメモリからデータを読み出してプロセッサに提供してもよい。
また、一実施形態に係るデータに基づく電力管理方法は、電力コントローラによって読み出されたデータに対応する電力情報に基づいてプロセッサの電力を制御してもよい。
具体的に、メモリコントローラは、プロセッサからアクセス可能なメモリアドレスがリクエストされる。
メモリコントローラは、このアドレスが電力情報を有するデータであるかを確認してもよい。ここで、電力情報を有するデータアドレス範囲を電力領域(power region)という。もし、そのアドレスが電力領域中にあれば、当該電力情報を電力コントローラに伝達し、電力コントローラはメモリコントローラから電力情報を収集する(S801)。
電力コントローラは、メモリコントローラから収集した電力情報に基づいて当該プロセッサの電力モードを決定する(S802)。電力コントローラの電力モード決定方法は多様である。電力コントローラは電力情報だけではなく、予め備えられた内部ポリシーに基づいてプロセッサの電力モードを決定してもよい。
例えば、一実施形態に係る電力コントローラは、メモリコントローラから取得した電力情報を直ちに適用して電力モードを決定してもよい。それだけではなく、一実施形態に係る電力コントローラは、従来の電力情報をプロファイリングした結果を用いて電力モードを決定してもよい。
一実施形態に係る電力コントローラは、メモリコントローラから様々な電力情報が交番に入力される場合に電力モードを毎回更新しない。このような場合、一実施形態に係る電力コントローラは、当該電力情報に基づいて平均値を取ることで電力モードを決定する。
一実施形態に係る電力コントローラは、応用のコードによる加重値を与えて電力モード決定のための演算を行ってもよい。この場合、一実施形態に係る電力コントローラは、反復文に用いられるデータであれば、当該データが電力モード決定に及ぼす加重値を高く付与してもよい。
電力コントローラは、決定された電力モードを用いてプロセッサの電力モードを変更するかを判断する(S803)。
もし、プロセッサの電力モードを変更する場合、電力コントローラはプロセッサの電力モードを変更する手続を行う(S804)。もし、電力モードを変更する必要がなければ、電力コントローラは電力管理を終了する。
電力モードを変更しない場合にも、使用された電力情報はプロファイリングのために別に管理されてもよい。場合に応じて、電力コントローラは数個のメモリコントローラから入力されてもよい。
図示していないが、図1に示す電力コントローラ130は電力モード決定部及び電力モード制御部を含んでもよい。
電力モード決定部は、電力情報に基づいて図1に示すプロセッサ140の電力モードを決定してもよい。ここで、電力モード決定部は、図1に示すプロセッサ140が使用する複数の電力モードのいずれか1つの電力モードを選択してもよい。
電力モード制御部は、決定された電力モードに基づいてプロセッサの電力モードを制御してもよい。この場合、電力モード制御部は、決定された電力モードと現在のプロセッサの電力モードとを比較することで、プロセッサの電力モードを変更するか否かを決定してもよい。
例えば、電力モード制御部は、決定された電力モードと現在のプロセッサの電力モードとが同一である場合、別途の制御信号を生成しないことがある。一方、電力モード制御部は、決定された電力モードと現在のプロセッサの電力モードとが相異なる場合、プロセッサの電力モードを変更する制御信号を生成してもよい。
図9は、一実施形態に係るデータに基づく電力管理のためのメモリコントローラの動作方法を示す動作フローチャートである。
図9を参照すると、メモリコントローラはプロセッサが要求するメモリアドレスを収集する(S901)。
メモリコントローラは、収集されたメモリアドレスが電力領域内に位置するか否かを確認する(S902)。もし、電力領域内に位置すれば、メモリコントローラは電力コントローラに電力情報を送信する(S903)。
また、メモリコントローラは、メモリアドレスを用いてメモリのデータをプロセッサに送信する(S904)。例えば、メモリコントローラは、データ処理のためにメモリから当該アドレスに対するデータをプロセッサに伝達する動作を行ってもよい。
メモリコントローラは、収集されたメモリアドレスが電力領域内に位置するか否かを確認し、電力領域内に位置しない場合、ステップS904に分岐してメモリのデータをプロセッサに伝達してもよい。
例えば、もし電力領域にあるデータでなければ、単なる一般データであるため、メモリコントローラはメモリから当該アドレスに対するデータをプロセッサに伝達する動作のみを行ってもよい。
ここで、メモリコントローラはアドレスに対する変換を行ってもよい。一般的なプロセッサでは、仮想アドレスを物理アドレスに変換させるモジュールを使用したりもする。この変換過程で、追加的に電力領域探知ロジックを用いることによって、実行オーバーヘッドなしで電力管理を行ってもよい。すなわち、メモリコントローラは、アドレスに対する変換をハードウェア的に同時に行うことができるため、実行オーバーヘッドなしで電力管理を行ってもよい。
電力領域を構成する単位は、メモリコントローラが保持するメモリの単位となる。メモリアドレスの最小単位及びページ(page)、キャッシュライン(cache line)単位などになり得る。実際に、プロセッサが要求するメモリアドレスに適するようマッピング及び管理のみが可能であれば、いずれの単位も使用可能である。
図示していないが、図1に示すメモリコントローラ120に含まれた電力情報管理部は、アドレス取得部、電力情報判断部、及び電力情報提供部を含んでもよい。
アドレス取得部は、図1に示すプロセッサ140からのアクセス信号に含まれたメモリアドレスを取得し、電力情報判断部は予め備えられた図5に示す電力情報テーブル500のうち、アクセスリクエストされたメモリアドレスに対応する電力情報が存在するか否かを判断してもよい。
電力情報提供部は、アクセスリクエストされたメモリアドレスに対応する電力情報が存在する場合、当該電力情報を図1に示す電力コントローラ130に提供してもよい。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、ハードウェアのレベルでデータ中心の電力管理を行うことができる。
データは電力情報を有し、プロセッサは当該データを処理する時その情報を用いて電力管理を行う。これによって、ユーザはデータに電力情報のみを記述すると、全てのプロセッサが自ら電力管理を行う。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、既に全てのプロセッサの電力管理することに比べて、データの電力タイプを記述するだけでも電力管理が可能であるため、ユーザの便宜性が向上される。
一実施形態に係るデータに基づく電力管理装置及び方法を利用すると、一般的にユーザが直接電力管理する場合のCoarse−grained電力管理に比べて細分化された電力管理が可能である。
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうちの1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
110 メモリ
120 メモリコントローラ
130 電力コントローラ
140 プロセッサ

Claims (43)

  1. プロセッサと、
    前記プロセッサから特定データを要求するアクセスリクエストに応答して、前記プロセッサが前記特定データを処理する場合に、前記プロセッサに提案される電力モードを示す予め決定された電力情報が存在するか否かを判断する電力情報管理部と、
    前記予め決定された電力情報が存在すると判断された場合において、前記プロセッサが前記予め決定された電力情報に基づいて前記特定データを処理する場合に、前記プロセッサの現在の電力モードを制御する電力コントローラと、
    を含むことを特徴とするプロセッシング装置。
  2. 前記予め決定された電力情報は、
    前記プロセッサがデータを処理するとき前記プロセッサのために提案される複数の電力モードのうちの1つを指示し、
    前記提案される複数の電力モードは、低電力モードと、高電力モードと、前記低電力モード及び前記高電力モードの間の電力モードとを含むことを特徴とする請求項1に記載のプロセッシング装置。
  3. 前記電力情報管理部は、
    前記予め決定された電力情報が電力情報テーブルに存在するか否かを判断し、
    前記電力情報テーブルは、相異なるデータそれぞれのためにアドレス情報及び電力情報を含むことを特徴とする請求項2に記載のプロセッシング装置。
  4. 前記電力情報管理部は、前記特定データの処理のための実行コードに関連する電力情報コードを分析することによって前記電力情報テーブルを生成することを特徴とする請求項3に記載のプロセッシング装置。
  5. 前記電力情報コードは、コンパイリングシステムのコンパイラによってソースコードから抽出され、実行ファイルを生成するために前記コンパイリングシステムのリンカーによって前記実行コードと共にリンクされることを特徴とする請求項4に記載のプロセッシング装置。
  6. 前記電力情報コードは、前記ソースコード内に電力情報が存在するとの前記コンパイラによって識別されたデータそれぞれのアドレス情報及び電力モード情報を含むことを特徴とする請求項5に記載のプロセッシング装置。
  7. 前記電力情報管理部は、前記アクセスリクエストに含まれたデータアドレスと前記電力情報テーブルに含まれた複数のアドレス範囲を比較することによって、前記予め決定された電力情報が前記電力情報テーブルに存在するか否かを判断することを特徴とする請求項4に記載のプロセッシング装置。
  8. 前記電力情報管理部は、
    前記予め決定された電力情報が電力情報テーブルに存在するか否かを判断し、
    前記電力情報テーブルは、メモリに格納された複数のデータのうち電力情報が存在するデータのアドレス情報を含むことを特徴とする請求項2に記載のプロセッシング装置。
  9. 前記電力情報管理部は、前記アクセスリクエストに含まれたデータアドレスと前記電力情報テーブルに含まれた複数のアドレス範囲を比較することによって、前記予め決定された電力情報が存在するか否かを判断することを特徴とする請求項8に記載のプロセッシング装置。
  10. 前記アクセスリクエストに含まれたデータアドレスに基づいて前記メモリから前記特定データを読み出す(read)メモリ管理部をさらに含み、
    前記電力情報管理部は、前記特定データに対応する電力情報が読み出されると、前記電力情報テーブルに前記特定データのアドレス情報が含まれるように前記電力情報テーブルを生成またはアップデートすることを特徴とする請求項8に記載のプロセッシング装置。
  11. 前記電力情報管理部は、前記電力情報テーブルに前記特定データに対応する電力情報が含まれるように前記電力情報テーブルを生成またはアップデートすることを特徴とする請求項10に記載のプロセッシング装置。
  12. 前記特定データを格納するメモリをさらに含むことを特徴とする請求項1−11の何れか一項に記載のプロセッシング装置。
  13. 前記電力情報管理部は、
    前記メモリ内の前記特定データのための前記アクセスリクエストに含まれたメモリアドレスを取得するアドレス取得部と、
    前記取得されたメモリアドレスと電力情報テーブル内の複数のアドレス情報を比較することによって、前記予め決定された電力情報が存在するか否かを判断する電力情報判断部と、
    前記予め決定された電力情報が存在すると判断される場合、前記予め決定された電力情報を前記電力コントローラに提供する電力情報提供部と、
    を含むことを特徴とする請求項12に記載のプロセッシング装置。
  14. 前記電力情報テーブルは複数の電力情報タプルを含み、
    前記複数の電力情報タプルそれぞれは、
    前記メモリ内に電力情報が存在するデータの開始アドレスと、
    前記電力情報が存在するデータの長さと、
    前記電力情報が存在するデータに対応する電力モードを指示する要素のうち少なくとも1つを含むことを特徴とする請求項13に記載のプロセッシング装置。
  15. 前記複数の電力情報タプルそれぞれは、
    前記電力情報が存在するデータに対応する加重値をさらに含み、
    前記電力コントローラは、前記プロセッサの電力モードを制御するために前記加重値を用いることを特徴とする請求項14に記載のプロセッシング装置。
  16. 前記電力コントローラは、前記プロセッサの以前電力モードを格納し、前記以前電力モード及び前記特定データに対応する加重値に基づいて前記プロセッサのための現在の電力モードを判断することを特徴とする請求項15に記載のプロセッシング装置。
  17. 前記電力コントローラは、
    前記予め決定された電力情報に基づいて、前記プロセッサが前記特定データを処理するとき前記プロセッサのための電力モードを決定する電力モード決定部と、
    前記決定された電力モードに基づいて前記プロセッサの現在の電力モードを制御する電力モード制御部と、
    を含むことを特徴とする請求項12に記載のプロセッシング装置。
  18. 実行ファイルを取得し、前記実行ファイルに含まれた実行コード及び電力情報コードを抽出する実行ファイル処理部と、
    前記実行コードを前記メモリに含めるメモリ積載部と、
    をさらに含み、
    前記電力情報管理部は、前記電力情報コードに基づいて電力情報テーブルを生成またはアップデートすることを特徴とする請求項12に記載のプロセッシング装置。
  19. 前記電力情報管理部は、前記電力情報コードと前記メモリ積載部による処理結果とに基づいて前記電力情報テーブルを生成またはアップデートすることを特徴とする請求項18に記載のプロセッシング装置。
  20. 前記電力情報テーブルは、前記特定データが前記メモリに含められた物理アドレス、前記実行ファイル内の前記特定データの仮想アドレス、及び前記仮想アドレスが前記物理アドレスに変換される情報のうち少なくとも1つに基づいて生成またはアップデートされることを特徴とする請求項19に記載のプロセッシング装置。
  21. 前記実行ファイルは、コンパイリングシステムのコンパイラ及びリンカーによって生成され、
    前記コンパイラは、ソースコードに含まれた電力情報指示子に基づいて前記電力情報コード及び前記実行コードを生成し、
    前記リンカーは、前記生成された電力情報コード及び前記生成された実行コードをリンクすることを特徴とする請求項18に記載のプロセッシング装置。
  22. 複数のプロセッサと、
    前記複数のプロセッサのうち選択されたプロセッサから特定データをリクエストするアクセスリクエストに反応し、前記選択されたプロセッサが前記特定データを処理するとき前記選択されたプロセッサのために提案される電力モードを指示する予め決定された電力情報が存在するか否かを判断する電力情報管理部と、
    前記予め決定された電力情報が存在すると判断される場合、前記選択されたプロセッサが前記予め決定された電力情報に基づいて前記特定データを処理するとき前記選択されたプロセッサの現在の電力モードを制御する電力コントローラと、
    を含むことを特徴とするプロセッシング装置。
  23. 前記特定データを格納するメモリをさらに含むことを特徴とする請求項22に記載のプロセッシング装置。
  24. 前記電力情報管理部は、前記複数のプロセッサのうちどのプロセッサが前記特定データをリクエストするかに関係なく、前記複数のプロセッサのいずれか1つのプロセッサから前記特定データをリクエストするアクセスリクエストに反応し、前記予め決定された電力情報を前記電力コントローラに提供することを特徴とする請求項22又は23に記載のプロセッシング装置。
  25. 前記複数のプロセッサのうち第1プロセッサ及び第2プロセッサが同一の電力情報に対応するデータにアクセスする場合、前記電力コントローラは、前記同一の電力情報に基づいて前記第1プロセッサの電力モード及び前記第2プロセッサの電力モードを互いに異なるように制御することを特徴とする請求項22−24の何れか一項に記載のプロセッシング装置。
  26. プロセッサと、
    前記プロセッサから特定データをリクエストするアクセスリクエストに反応し、メモリから選択されたデータを読み出し、前記選択されたデータに含まれた前記特定データを前記プロセッサに提供するメモリコントローラと、
    前記選択されたデータに前記特定データに対応する電力情報が含まれるか否かに応じて、前記電力情報に基づいて前記プロセッサの現在の電力モードを制御する電力コントローラと、
    を含むことを特徴とするプロセッシング装置。
  27. 相異なるデータを含むメモリをさらに含み、
    前記相異なるデータは、前記プロセッサの電力モードを制御するための電力情報が存在するデータ、及び前記プロセッサの電力モードを制御するための電力情報が存在しないデータを含むことを特徴とする請求項26に記載のプロセッシング装置。
  28. 前記選択されたデータに含まれた前記電力情報は、他のデータに含まれた異なる電力情報と区別されることを特徴とする請求項26又は27に記載のプロセッシング装置。
  29. 前記メモリコントローラは、前記選択されたデータに前記電力情報が含まれる場合、前記プロセッサが前記特定データを処理するとき前記プロセッサの電力モードを制御するために前記電力情報を前記電力コントローラに提供することを特徴とする請求項26−28の何れか一項に記載のプロセッシング装置。
  30. プロセッサから特定データをリクエストするアクセスリクエストに反応し、前記プロセッサが前記特定データを処理するとき前記プロセッサのために提案される電力モードを指示する予め決定された電力情報が存在するか否かを判断するステップと、
    前記予め決定された電力情報が存在すると判断される場合、前記プロセッサが前記予め決定された電力情報に基づいて前記特定データを処理するとき前記プロセッサの現在の電力モードを制御するステップと、
    を含むことを特徴とするプロセッシング方法。
  31. 前記特定データのための前記アクセスリクエストを検出するステップをさらに含むことを特徴とする請求項30に記載のプロセッシング方法。
  32. 前記アクセスリクエストは、メモリに格納された複数のデータのうち前記特定データをリクエストすることを特徴とする請求項31に記載のプロセッシング方法。
  33. 前記アクセスリクエストを検出するステップは、
    前記アクセスリクエストに含まれたメモリアドレスを取得するステップと、
    前記取得されたメモリアドレス及び電力情報テーブルを比較することによって、前記特定データに対応する前記予め決定された電力情報が存在するか否かを判断するステップと、
    を含むことを特徴とする請求項32に記載のプロセッシング方法。
  34. 前記特定データに対応する前記予め決定された電力情報が存在すると判断される場合、前記特定データに対応する前記予め決定された電力情報が前記電力情報テーブルから取得されることを特徴とする請求項33に記載のプロセッシング方法。
  35. 前記電力情報テーブルは複数の電力情報タプルを含み、
    前記複数の電力情報タプルそれぞれは、
    前記メモリ内に電力情報が存在するデータの開始アドレスと、
    前記電力情報が存在するデータの長さと、
    前記電力情報が存在するデータに対応する電力モードを指示する元素のうち少なくとも1つを含むことを特徴とする請求項33に記載のプロセッシング方法。
  36. 前記複数の電力情報タプルそれぞれは、前記電力情報が存在するデータに対応する加重値をさらに含み、
    前記制御するステップは、前記プロセッサの電力モードを制御するために前記加重値を用いるステップを含むことを特徴とする請求項35に記載のプロセッシング方法。
  37. 前記プロセッサの以前電力モードを格納するステップと、
    前記以前電力モード及び前記特定データに対応する加重値に基づいて前記プロセッサのための現在の電力モードを判断するステップと、
    をさらに含むことを特徴とする請求項36に記載のプロセッシング方法。
  38. 前記制御するステップは、
    前記予め決定された電力情報に基づいて、前記プロセッサが前記特定データを処理するとき前記プロセッサのための電力モードを決定するステップと、
    前記決定された電力モードに基づいて前記プロセッサの現在の電力モードを制御するステップと、
    を含むことを特徴とする請求項32に記載のプロセッシング方法。
  39. 実行ファイルを取得し、前記実行ファイルに含まれた実行コード及び電力情報コードを抽出するステップと、
    前記実行コードを前記メモリに含めるステップと、
    前記電力情報コードに基づいて電力情報テーブルを生成またはアップデートするステップと、
    をさらに含むことを特徴とする請求項32に記載のプロセッシング方法。
  40. 前記電力情報テーブルを生成またはアップデートするステップは、前記電力情報コードと前記メモリに含める処理の結果とに基づいて前記電力情報テーブルを生成またはアップデートするステップを含むことを特徴とする請求項39に記載のプロセッシング方法。
  41. 前記電力情報テーブルは、前記特定データが前記メモリに含められた物理アドレス、前記実行ファイル内の前記特定データの仮想アドレス、及び前記仮想アドレスが前記物理アドレスに変換される情報のうち少なくとも1つに基づいて生成またはアップデートされることを特徴とする請求項40に記載のプロセッシング方法。
  42. 前記実行ファイルは、コンパイリングシステムのコンパイラ及びリンカーによって生成され、
    前記コンパイラは、ソースコードに含まれた電力情報指示子に基づいて前記電力情報コード及び前記実行コードを生成し、
    前記リンカーは、前記生成された電力情報コード及び前記生成された実行コードをリンクすることを特徴とする請求項39に記載のプロセッシング方法。
  43. 請求項30〜42の何れか一項に記載のプロセッシング方法をプロセッシング装置に実行させるコンピュータプログラム。
JP2014100636A 2013-05-14 2014-05-14 プロセッシング装置 Active JP6457200B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130054522A KR102063716B1 (ko) 2013-05-14 2013-05-14 데이터를 기반으로 전력을 관리하는 프로세싱 장치 및 그 장치를 이용한 방법
KR10-2013-0054522 2013-05-14

Publications (3)

Publication Number Publication Date
JP2014225263A true JP2014225263A (ja) 2014-12-04
JP2014225263A5 JP2014225263A5 (ja) 2017-06-22
JP6457200B2 JP6457200B2 (ja) 2019-01-23

Family

ID=50979504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014100636A Active JP6457200B2 (ja) 2013-05-14 2014-05-14 プロセッシング装置

Country Status (5)

Country Link
US (1) US9870042B2 (ja)
EP (1) EP2804099B1 (ja)
JP (1) JP6457200B2 (ja)
KR (1) KR102063716B1 (ja)
CN (1) CN104156051B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6130949B1 (ja) * 2016-03-17 2017-05-17 株式会社東芝 メモリシステムおよびプロセッサシステム
US11868165B2 (en) 2021-11-22 2024-01-09 Fujitsu Limited Computer-readable recording medium storing control program, information processing device, and control method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323304B2 (en) * 2013-12-18 2016-04-26 NXGN Data, Inc. Dynamic self-correcting power management for solid state drive
US9519323B2 (en) * 2014-09-30 2016-12-13 Dell Products L.P. Systems and methods for power and thermal support of information handling resources
US9886081B2 (en) * 2015-09-16 2018-02-06 Qualcomm Incorporated Managing power-down modes
CN113900680A (zh) * 2020-07-06 2022-01-07 中国移动通信集团重庆有限公司 代码管理方法、装置及计算设备
US20220350613A1 (en) * 2021-04-30 2022-11-03 Oracle International Corporation Processor Supporting Self-Relative Addressing Modes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182807A (ja) * 2000-12-13 2002-06-28 Matsushita Electric Ind Co Ltd プロセッサの電力制御装置
US20030182589A1 (en) * 2002-01-30 2003-09-25 Takenobu Tani Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
JP2003296123A (ja) * 2002-01-30 2003-10-17 Matsushita Electric Ind Co Ltd 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ
JP2008234270A (ja) * 2007-03-20 2008-10-02 Fujitsu Ltd 情報処理装置および情報処理装置の制御方法
JP2009119617A (ja) * 2007-11-12 2009-06-04 Ricoh Co Ltd 情報処理装置、情報処理方法、プログラム及び記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557557A (en) * 1994-10-04 1996-09-17 Texas Instruments Incorporated Processor power profiler
JP3520611B2 (ja) * 1995-07-06 2004-04-19 株式会社日立製作所 プロセッサの制御方法
US6219796B1 (en) 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
SE516923C2 (sv) * 1999-11-25 2002-03-26 Ericsson Telefon Ab L M En och samma skärm drivs i två moder,som inte kan användas samtidigt
JP2001184208A (ja) 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd 低電力マイクロプロセッサおよびプログラム低電力化方法
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US6775787B2 (en) * 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
US7500126B2 (en) 2002-12-04 2009-03-03 Nxp B.V. Arrangement and method for controlling power modes of hardware resources
JP2004318502A (ja) 2003-04-16 2004-11-11 Matsushita Electric Ind Co Ltd 電力制御機能を備えたマイクロプロセッサ及び命令変換装置
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
WO2012154611A1 (en) 2011-05-06 2012-11-15 Marvell World Trade Ltd. Memory on-demand, managing power in memory
CN102999155B (zh) * 2011-09-09 2016-10-05 联想(北京)有限公司 电子终端、触摸控制方法和显示屏背光控制方法
KR101959252B1 (ko) 2012-07-16 2019-07-04 삼성전자주식회사 데이터를 기반으로 전력을 관리하는 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182807A (ja) * 2000-12-13 2002-06-28 Matsushita Electric Ind Co Ltd プロセッサの電力制御装置
US20030182589A1 (en) * 2002-01-30 2003-09-25 Takenobu Tani Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
JP2003296123A (ja) * 2002-01-30 2003-10-17 Matsushita Electric Ind Co Ltd 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ
JP2008234270A (ja) * 2007-03-20 2008-10-02 Fujitsu Ltd 情報処理装置および情報処理装置の制御方法
JP2009119617A (ja) * 2007-11-12 2009-06-04 Ricoh Co Ltd 情報処理装置、情報処理方法、プログラム及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6130949B1 (ja) * 2016-03-17 2017-05-17 株式会社東芝 メモリシステムおよびプロセッサシステム
JP2017167960A (ja) * 2016-03-17 2017-09-21 株式会社東芝 メモリシステムおよびプロセッサシステム
US11868165B2 (en) 2021-11-22 2024-01-09 Fujitsu Limited Computer-readable recording medium storing control program, information processing device, and control method

Also Published As

Publication number Publication date
US9870042B2 (en) 2018-01-16
KR20140134523A (ko) 2014-11-24
CN104156051B (zh) 2019-09-06
CN104156051A (zh) 2014-11-19
JP6457200B2 (ja) 2019-01-23
EP2804099A1 (en) 2014-11-19
KR102063716B1 (ko) 2020-02-11
EP2804099B1 (en) 2017-09-20
US20140344602A1 (en) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6457200B2 (ja) プロセッシング装置
Huang et al. Programming and runtime support to blaze FPGA accelerator deployment at datacenter scale
Wang et al. Intel math kernel library
US9619298B2 (en) Scheduling computing tasks for multi-processor systems based on resource requirements
JP2014142969A (ja) 分散型プレディケート予測を実現するための方法、システム、およびコンピュータによってアクセス可能な媒体
US20190079805A1 (en) Execution node selection method and information processing apparatus
EP3126971A1 (en) Program execution on heterogeneous platform
US10031697B2 (en) Random-access disjoint concurrent sparse writes to heterogeneous buffers
Pophale et al. Evaluating OpenMP Affinity on the POWER8 Architecture
US9733982B2 (en) Information processing device and method for assigning task
US8495307B2 (en) Target memory hierarchy specification in a multi-core computer processing system
US20200151579A1 (en) System for managing calculation processing graph of artificial neural network and method of managing calculation processing graph by using the same
JP7126136B2 (ja) 再構成可能なキャッシュアーキテクチャおよびキャッシュコヒーレンシの方法
JP2020087470A (ja) データアクセス方法、データアクセス装置、機器及び記憶媒体
Oden et al. Energy-efficient collective reduce and allreduce operations on distributed GPUs
JP6400296B2 (ja) マルチモード支援プロセッサ及びマルチモードを支援する処理方法
JP2014056425A (ja) データ管理装置、データ管理システム、処理割当方法および処理割当プログラム
US9330005B2 (en) Interface and method for inter-thread communication
JP5687603B2 (ja) プログラム変換装置、プログラム変換方法、および変換プログラム
GB2466695A (en) Processor and prefetch support program
US10496387B2 (en) Crowdsourced API resource consumption information for integrated development environments
Laso et al. CIMAR, NIMAR, and LMMA: Novel algorithms for thread and memory migrations in user space on NUMA systems using hardware counters
JP6056211B2 (ja) 情報管理装置、情報管理プログラム、及び情報管理方法
US9489246B2 (en) Method and device for determining parallelism of tasks of a program
Um et al. Development of a virtualized supercomputing environment for genomic analysis

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170510

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

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: 20181204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181220

R150 Certificate of patent or registration of utility model

Ref document number: 6457200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250