(57)【要約】【課題】  データベースの電力管理方法を利用するにより、低電力プログラミング及び動的電力管理を容易に行い、低電力によるバッテリ時間の増加によるモバイル装置などの活用性を増大させる。【解決手段】  データに基づいて電力を管理する装置及び方法に関し、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索するコードセグメント検索部と、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定するブロック決定部と、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する電力モード制御部とを備える。【選択図】      図１
2014021984.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つ以上の実行可能なユニットを制御するプロセッサと、
使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索するコードセグメント検索部と、
前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定するブロック決定部と、
前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する電力モード制御部と、
を備えることを特徴とするデータベースの電力管理装置。
【請求項２】
前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項３】
前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項４】
前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項５】
前記少なくとも１つ以上のコードセグメントは、ユーザから電力タイプに記述されたデータであることを特徴とする請求項１乃至４のいずれか一項に記載のデータベースの電力管理装置。
【請求項６】
前記ブロック決定部は、前記決定された少なくとも１つ以上のブロックのうち選択された距離内に位置し、同一の使用電力タイプと識別されるブロックをスーパーブロックに決定することを特徴とする請求項１乃至５のいずれか一項に記載のデータベースの電力管理装置。
【請求項７】
前記電力モード制御部は、前記スーパーブロックが開始する位置及び終了する位置内のコードセグメントに対して前記同一の電力モードで動作するよう制御することを特徴とする請求項６に記載のデータベースの電力管理装置。
【請求項８】
前記ブロック決定部は、前記検索された少なくとも１つ以上のコードセグメントのサイズが選択された閾値以上であるか否かを確認し、前記選択された閾値以上である場合、前記検索された少なくとも１つ以上のコードセグメントを前記少なくとも１つ以上のブロックに決定することを特徴とする請求項１乃至５のいずれか一項に記載のデータベースの電力管理装置。
【請求項９】
前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックの処理が終了すると、前記使用電力タイプに該当する電力モードで動作させる以前に電力モードを変更することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項１０】
前記電力モード制御部は、前記決定されたブロックで前記使用電力タイプの種類ごとの個数を確認し、前記決定されたブロックが前記確認された種類ごとの個数のうち最も多い個数の種類に該当する使用電力タイプに対応する電力モードで動作するよう制御することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項１１】
前記電力モード制御部は、前記決定されたブロックで前記使用電力タイプごとにデータそれぞれのサイズを確認し、前記決定されたブロックが前記確認されたサイズのうち最も大きいサイズに該当する使用電力タイプに対応する電力モードで動作するよう制御することを特徴とする請求項１に記載のデータベースの電力管理装置。
【請求項１２】
前記決定された少なくとも１つ以上のブロックに対するワークロードを分析するワークロード分析部をさらに備えることを特徴とする請求項１乃至１１のいずれか一項に記載のデータベースの電力管理装置。
【請求項１３】
前記電力モード制御部は、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御することを特徴とする請求項１２に記載のデータベースの電力管理装置。
【請求項１４】
コードセグメント検索部で、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索するステップと、
ブロック決定部で、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定するステップと、
電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御するステップと、
を含むことを特徴とするデータベースの電力管理方法。
【請求項１５】
前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御するステップを含むことを特徴とする請求項１４に記載のデータベースの電力管理方法。
【請求項１６】
前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加するステップを含むことを特徴とする請求項１４に記載のデータベースの電力管理方法。
【請求項１７】
前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御するステップを含むことを特徴とする請求項１４に記載のデータベースの電力管理方法。
【請求項１８】
ワークロード分析部で、前記決定された少なくとも１つ以上のブロックに対するワークロードを分析するステップをさらに含み、
前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御するステップを含むことを特徴とする請求項１４に記載のデータベースの電力管理方法。
【請求項１９】
前記少なくとも１つ以上のコードセグメントは、変数、配列、関数、引数、及び領域のうち少なくとも１つのデータであることを特徴とする請求項１４乃至１８のいずれか一項に記載のデータベースの電力管理方法。
【請求項２０】
コードのブロックのために前記コードのブロックに挿入されている電力タイプに基づいて電力モードを決定するステップと、
前記決定された電力モードに基づいて前記コードのブロックのためにブロック電力を制御するステップと、
を含むことを特徴とするデータベースの電力管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の実施形態はモバイル装置、マルチメディア装置、エンベデッドシステムなどにおいて、電力管理が必要な分野に適用可能なデータに基づいて電力を管理する装置及び方法に関する。
【背景技術】
【０００２】
最近、モバイルなどでは複雑なアプリケーションを駆動するために高い中央処理装置の処理速度に対する要求が増加している。
【０００３】
このような技術的な要求に応じてシステムハードウェアの消耗リソースが高まりながらシステムで消費する電力も増加しつつある。
【０００４】
このような消費電力の増加は、制限された電源容量に基づいて運用されるモバイルの使用時間を短縮させ得る。
【０００５】
システムレベルの低電力設計に関する研究として、現在はＤＰＭ（Ｄｙｎａｍｉｃ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ）方式とＤＶＳ（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  Ｓｃａｌｉｎｇ）方式などが用いられている。
【０００６】
ＤＰＭ方式は、システム全体の電力消耗を減らすために当該デバイスが遊休（ｉｄｌｅ）状態である場合デバイスの電力降下によるウェークアップ（Ｗａｋｅ  ｕｐ）時に電力消耗のオーバーヘッド（ｏｖｅｒｈｅａｄ）を克服することができれば、デバイスを電力消耗の低い低電力降下モードで動作させる方式である。
【０００７】
ＤＶＳ方式は、電圧スケジューラ（ｖｏｌｔａｇｅ  ｓｃｈｅｄｕｌｅｒ）が時間制約条件を満足する範囲でプロセッサの動作電圧を調節し、最小限のエネルギーが消耗されるような方式を採択している。また、周辺装置の供給電圧を減少させて取得することのできるエネルギー利益がない仮定下で、ＤＶＳ方式とＤＰＭ方式はトレードオフ（ｔｒａｄｅ  ｏｆｆ）関係を有する。すなわち、プロセッサの観点ではＤＶＳ方式がプロセッサの速度を遅らせて動的電力（ｄｙｎａｍｉｃ  ｐｏｗｅｒ）の消耗を減らすことができるが、これは周辺装置の使用時間を増大させて周辺装置の静的電力（ｓｔａｔｉｃ  ｐｏｗｅｒ）の消耗を増大させるという結果を招く。一方、周辺装置の電力消耗を減らすためには、タスクが活性化する時間を短くして周辺装置をＤＰＭ方式によって電力降下モードに進入させることが有利である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、データベースの電力管理方法を利用するにより、低電力プログラミング及び動的電力管理を容易に行い、低電力によるバッテリ時間の増加によるモバイル装置などの活用性を増大させることにある。
【課題を解決するための手段】
【０００９】
一実施形態に係るデータベースの電力管理装置は、少なくとも１つ以上の実行可能なユニットを制御するプロセッサと、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索するコードセグメント検索部と、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定するブロック決定部と、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する電力モード制御部とを備える。
【００１０】
一実施形態に係る前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御してもよい。
【００１１】
一実施形態に係る前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加してもよい。
【００１２】
一実施形態に係る前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御してもよい。
【００１３】
一実施形態に係る前記少なくとも１つ以上のコードセグメントは、ユーザから電力タイプに記述されたデータであってもよい。例えば、前記少なくとも１つ以上のコードセグメントは、変数、配列、関数、引数、及び領域のうち少なくとも１つのデータであってもよい。
【００１４】
一実施形態に係る前記ブロック決定部は、前記決定された少なくとも１つ以上のブロックのうち選択された距離内に位置し、同一の使用電力タイプと識別されるブロックをスーパーブロックに決定してもよい。
【００１５】
一実施形態に係る前記電力モード制御部は、前記スーパーブロックが開始する位置及び終了する位置内のコードセグメントに対して前記同一の電力モードで動作するよう制御してもよい。
【００１６】
一実施形態に係る前記ブロック決定部は、前記検索された少なくとも１つ以上のコードセグメントのサイズが選択された閾値以上であるか否かを確認し、前記選択された閾値以上である場合、前記検索された少なくとも１つ以上のコードセグメントを前記少なくとも１つ以上のブロックに決定してもよい。
【００１７】
一実施形態に係る前記電力モード制御部は、前記決定された少なくとも１つ以上のブロックの処理が終了すると、前記使用電力タイプに該当する電力モードで動作させる以前に電力モードを変更してもよい。
【００１８】
一実施形態に係る前記電力モード制御部は、前記決定されたブロックで前記使用電力タイプの種類ごとの個数を確認し、前記決定されたブロックが前記確認された種類ごとの個数のうち最も多い個数の種類に該当する使用電力タイプに対応する電力モードで動作するよう制御してもよい。
【００１９】
一実施形態に係る前記電力モード制御部は、前記決定されたブロックで前記使用電力タイプごとにデータそれぞれのサイズを確認し、前記決定されたブロックが前記確認されたサイズのうち最も大きいサイズに該当する使用電力タイプに対応する電力モードで動作するよう制御してもよい。
【００２０】
一実施形態に係るデータベースの電力管理装置は、前記決定された少なくとも１つ以上のブロックに対するワークロードを分析するワークロード分析部をさらに備えてもよい。
【００２１】
一実施形態に係る前記電力モード制御部は、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御してもよい。
【００２２】
一実施形態に係るデータベースの電力管理方法は、コードセグメント検索部で、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索するステップと、ブロック決定部で、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定するステップと、電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御するステップとを含む。
【００２３】
一実施形態に係る前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御するステップを含んでもよい。
【００２４】
一実施形態に係る前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加するステップを含んでもよい。
【００２５】
一実施形態に係る前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御するステップを含んでもよい。
【００２６】
一実施形態に係るデータベースの電力管理方法は、ワークロード分析部で、前記決定された少なくとも１つ以上のブロックに対するワークロードを分析するステップをさらに含み、前記電力モード制御部で、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する前記ステップは、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御するステップを含んでもよい。
【発明の効果】
【００２７】
本発明によると、データベースの電力管理方法を利用すると、容易に低電力プログラミング及び動的電力管理を行うことができ、低電力によるバッテリ時間の増加によるモバイル装置などの活用性を増大させることができる。
【図面の簡単な説明】
【００２８】
【図１】一実施形態に係るデータベースの電力管理装置を説明するブロック図である。
【図２】データに使用電力タイプを設定する実施形態を説明する図である。
【図３】使用電力タイプに基づいてブロックを決定する実施形態を説明する図である。
【図４】他の一実施形態に係るデータベースの電力管理装置を説明するブロック図である。
【図５】一実施形態に係るデータベースの電力管理装置が適用されたシステム構成の実施形態を説明する図である。
【図６】一実施形態に係るデータベースの電力管理方法を説明するフローチャートである。
【図７】ブロックを決定する方法を補完して一実施形態に係るデータベースの電力管理方法をより具体的に説明する図である。
【図８】決定されたブロックを関連する電力モードで動作するよう制御する方法を説明する図である。
【図９】ワークロードを反映して電力モードを制御する方法を説明する図である。
【図１０】電力モードを切り替える方法を説明する図である。
【図１１】電力モードに係るメモリレイアウトを説明する図である。
【図１２】入力の電力モードに係る電力管理方法を説明する図である。
【発明を実施するための形態】
【００２９】
以下、実施形態を添付する図面を参照しながら詳細に説明する。
【００３０】
実施形態の説明において、関連する公知機能または構成に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合にはその詳細な説明を省略する。そして、本明細書で用いられる用語（ｔｅｒｍｉｎｏｌｏｇｙ）は実施形態を適切に表現するために用いられる用語として、ユーザ、運用者の意図または当該技術が属する分野の慣例などによって変わり得る。したがって、用語に対する定義は、本明細書の全般にわたる内容に基づいて下されなければならない。各図面に提示された同一の参照符号は同一の部材を示す。
【００３１】
図１は、一実施形態に係るデータベースの電力管理装置１００を説明するブロック図である。
【００３２】
一実施形態に係るデータベースの電力管理装置１００は、デバイス内で使用電力タイプを用いてデバイスの電力管理を行う。
【００３３】
例えば、一実施形態に係るデータベースの電力管理装置１００は、使用電力タイプを用いてシステムクロックを調節することで電力管理を行う。
【００３４】
より具体的には、一実施形態に係るデータベースの電力管理装置１００は、低電力（ＬＰ：Ｌｏｗ  Ｐｏｗｅｒ）、中電力（ＭＰ：Ｍｉｄｄｌｅ  Ｐｏｗｅｒ）、高電力（ＨＰ：Ｈｉｇｈ  Ｐｏｗｅｒ）、汎用電力（ＧＰ：Ｇｅｎｅｒａｌ  Ｐｏｗｅｒ）などの電力モードに対応する使用電力タイプを定義し、全体コードで前記定義された使用電力タイプが用いられるコードセグメントを検索する。
【００３５】
前記少なくとも１つ以上のコードセグメントは、全体コードで定義される変数、配列、関数、引数、及び領域のうち少なくとも１つのデータと解釈する。
【００３６】
その後、一実施形態に係るデータベースの電力管理装置１００は、前記検索されたコードセグメントと関連する部分に対してブロックに定義し、前記ブロックに対して当該の電力モードで動作するよう制御する。
【００３７】
一実施形態に係るデータベースの電力管理装置１００は、当該ブロックに対してワークロード（ｗｏｒｋｌｏａｄ）を確認し、前記確認されたワークロードに基づいて加重値を算出し、前記算出された加重値をクロックに反映して変化させることで電力を制御することができる。
【００３８】
結局、一実施形態に係るデータベースの電力管理装置１００を利用すると、電力管理による低電力システムを実現することができる。
【００３９】
一実施形態に係るデータベースの電力管理装置１００を利用すると、電力管理領域の選定及び管理をプログラマーの最小限の努力をもって自動化することでミスを防止し、これによりきめ細かい（ｆｉｎｅ−ｇｒａｉｎｅｄ）特性の電力管理を行うことができる。
【００４０】
そのため、一実施形態に係るデータベースの電力管理装置１００は、コードセグメント検索部１１０、ブロック決定部１２０、及び電力モード制御部１３０を備える。
【００４１】
一実施形態に係るコードセグメント検索部１１０は、全体コードで使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索する。
【００４２】
図２は、データに使用電力タイプを設定する実施形態を説明する図である。
【００４３】
図２に示すように、全体コードのうちデータに該当する部分は予め使用電力タイプが定義される。
【００４４】
具体的には、図面符号２０１のように整数に区分される変数「ａ」には使用電力タイプとして「＿ｌｐ＿」が挿入され、低電力モードで動作することによって電力モードを定義してもよい。
【００４５】
また、図面符号２０２のようにキャラクターに区分される配列変数ｂ［１０］には使用電力タイプとして「＿ｍｐ＿」が挿入され、中電力モードとして動作することで電力モードを定義してもよい。
【００４６】
また、図面符号２０３では、関数「ＩＳＲ０」の定義において使用電力タイプとして「＿ｈｐ＿」が挿入され、関数「ＩＳＲ０」が高電力モードで動作することで電力モードを定義してもよい。
【００４７】
また、図面符号２０４から分かるように、関数「ｄｅｃｏｄｅ」の因子のうちｉｎｐｕｔＤａｔａに使用電力タイプとして「＿ｇｐ＿」を挿入し、関数「ｄｅｃｏｄｅ」が汎用電力モードとして動作することで電力モードを定義してもよい。
【００４８】
また、図面符号２０５から分かるように、領域に対して使用電力タイプとして「＿ｌｐ＿」を挿入し、低電力モードとして動作することで特定領域に対する電力モードを定義してもよい。
【００４９】
従来は、コードに基づいて電力管理を行った。すなわち、コードの一部分を低電力領域に設定して管理する。
【００５０】
一方、一実施形態に係るデータベースの電力管理装置１００は、電力管理の中心をコードではないデータとみなす。すなわち、使用電力タイプを挿入することによってデータに電力モードを設定し、演算装置は前記データが処理されるとき挿入された使用電力タイプに該当の電力モードで動作させてもよい。
【００５１】
したがって、当該データを用いる部分を探して電力管理領域であるとみなし管理することができる。
【００５２】
データの処理に係る電力モードを設定する方法として、新しいデータタイプを導入したり、既存のデータタイプに使用電力タイプを挿入することで実現することができる。
【００５３】
図２では、既存のデータタイプに使用電力タイプを挿入するものとして、「＿ｌｐ＿」、「＿ｍｐ＿」、「＿ｈｐ＿」、「＿ｇｐ＿」はそれぞれ低電力、中電力、高電力、及び汎用電力を意味する。
【００５４】
電力モードに対する技術は、メモリや関数コード、コードセグメント、領域、ハードウェアアクセラレーター（ＨａｒｄＷａｒｅ  Ａｃｃｅｌｅｒａｔｏｒ）命令語、イントリンシクス（Ｉｎｔｒｉｎｓｉｃｓ）、及び因子（ａｒｇｕｍｅｎｔ）などであってもよく、対象は変わり得る。
【００５５】
以下、前記使用電力タイプが挿入されたデータを電力データと定義する。
【００５６】
前記使用電力タイプは各電力モードの一種類を意味するものと解釈される。すなわち、前記使用電力タイプと電力モードは１：１に対応するとみなすことができる。
【００５７】
再び図１を参考すると、一実施形態に係るコードセグメント検索部１１０は、全体コードで前記「＿ｌｐ＿」、「＿ｍｐ＿」、「＿ｈｐ＿」、及び「＿ｇｐ＿」などの使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索する。
【００５８】
一実施形態に係るブロック決定部１２０は、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定してもよい。
【００５９】
一実施形態に係るブロック決定部１２０は、前記検索された少なくとも１つ以上のコードセグメントのサイズが選択された閾値以上であるか否かを確認し、前記選択された閾値以上である場合、前記検索された少なくとも１つ以上のコードセグメントを前記少なくとも１つ以上のブロックに決定してもよい。
【００６０】
すなわち、一実施形態に係るブロック決定部１２０はブロックのサイズが極めて小さい場合、電力モードを切り替えることによって低電力を実現して取得される利益が大きくないと判断し、当該の部分をブロックに決定しない。
【００６１】
前記コードセグメント及び前記少なくとも１つ以上のブロックは図３を参照して詳細に説明する。
【００６２】
図３は、使用電力タイプに基づいてブロックを決定する実施形態を説明する図である。
【００６３】
図３は、使用電力タイプが挿入されたデータ、すなわち、電力データに基づいてブロックを設定する図である。
【００６４】
電力データを用いるいずれのインストラクション（ｉｎｓｔｒｕｃｔｉｏｎ）の１つもブロックに決定されてもよい。
【００６５】
一実施形態に係るデータベースの電力管理装置１００は、データを用いるループ（ｌｏｏｐ）、コントロールブロック、及び関数などに対して少なくとも１つ以上のブロックに決定してもよい。
【００６６】
図３において、「ＳｐｉｎＬｏｃｋ」関数内で低電力整数（＿ｌｐ＿ｉｎｔ）に定義された「ｉ」が選択された条件（「ｕｉｐＬｏｃｋ＝＝ＬＯＣＫＥＤ」）を満足する場合に繰り返される「ｆｏｒ」ループをコードセグメントと解釈してもよく、「ｆｏｒ」ループを駆動するための「ｗｈｉｌｅ」反復文句をブロックに決定してもよい。
【００６７】
また、一実施形態に係るデータベースの電力管理装置１００は１つの「ＳｐｉｎＬｏｃｋ」関数をブロックに決定してもよい。
【００６８】
それだけではなく、一実施形態に係るデータベースの電力管理装置１００はブロックの集合を更なるブロックに設定してもよいが、このように上位概念のブロックをスーパーブロックと定義する。
【００６９】
具体的には、一実施形態に係るデータベースの電力管理装置１００のブロック決定部１２０は、前記決定された少なくとも１つ以上のブロックのうち選択された距離内に位置し、同一の使用電力タイプに識別されるブロックをスーパーブロックに決定してもよい。
【００７０】
もし、互いに異なるブロックが全体コードから遠く位置すれば、同じスーパーブロックに決定される場合に低電力の実現に妨害となる余地がある。
【００７１】
したがって、一実施形態に係るブロック決定部１２０は、決定されたブロックのうち全体コード内で選択された距離内の近いブロックのみをスーパーブロックに決定してもよい。
【００７２】
図３において「ＳｐｉｎＬｏｃｋ」関数そのものが使用電力タイプとして電力モードが定義される関数であるが、このような「ＳｐｉｎＬｏｃｋ」関数が連続すれば、「ＳｐｉｎＬｏｃｋ」関数をスーパーブロック３０２に決定して電力管理を単一化することができる。
【００７３】
すなわち、一実施形態に係るデータベースの電力管理装置１００の電力モード制御部１３０は、前記スーパーブロックが開始する位置及び終了する位置内のコードセグメントに対して前記同一の電力モードで動作モードで動作するよう制御する。
【００７４】
したがって、スーパーブロックを構成するブロック間に位置し、前記スーパーブロックとは異なる電力モードで動作モードで動作するコードセグメントに対して頻繁に電力モードが転換されることを予防するため、前記スーパーブロックと同一の電力モードで動作モードで動作するよう電力モードを統一させてもよい。
【００７５】
これにより、一実施形態に係るデータベースの電力管理装置１００は、スーパーブロック３０２を多様に構成することで不要な電力管理の費用を減らすことができる。
【００７６】
再び図１を参考にすると、一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう制御する。
【００７７】
一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御してもよい。
【００７８】
システムには電力消耗が異なる数個のメモリが存在してもよい。
【００７９】
例えば、低電力を用いるメモリではフリップフロップ方式のメモリ装置を有するＲＡＭ（Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）として、電源が供給される間にのみ格納された内容を記憶するＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が存在する。
【００８０】
また、高電力を用いるメモリは構造が簡単で集積が容易であるため、大容量の一時記憶装置として使用されたり、格納された情報が時間に応じて消滅されるため周期的に再生させなければならない特徴を有するＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が存在する。
【００８１】
一実施形態に係る電力モード制御部１３０は、少なくとも１つ以上のデータを前記使用電力タイプに応じて前記電力消耗が異なる数個のメモリのうち対応するメモリに積載するよう制御してもよい。
【００８２】
一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加してもよい。
【００８３】
例えば、一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックの開始部分の以前にプロローグコードを挿入し、終了部分の以後にエピローグコードを挿入して前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう制御する。
【００８４】
一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御してもよい。
【００８５】
電力消耗が異なる数個のメモリが存在してもよく、このようなメモリと関連して中央処理ユニット（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、直接メモリアクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）装置、ハードウェアアクセラレーター（ＨＷＡ：ＨａｒｄＷａｒｅ  Ａｃｃｅｌｅｒａｔｏｒ）などの装置が動作してもよい。
【００８６】
このような装置はシステムクロックとして動作するが、一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いて前記システムクロックを制御してもよい。
【００８７】
一実施形態に係る電力モード制御部１３０は、前記決定された少なくとも１つ以上のブロックの処理が終了すると、前記使用電力タイプに該当する電力モードで動作モードで動作させる前に電力モードを変更してもよい。
【００８８】
一実施形態に係る電力モード制御部１３０は、ブロックを選択された電力モードで制御した後、前記ブロックが行われる前の電力モードにセッティングしてもよい。
【００８９】
一実施形態に係る電力モード制御部１３０は、前記決定されたブロックで前記使用電力タイプの種類ごとの個数を確認し、前記決定されたブロックが前記確認された種類ごとの個数のうち最も多い個数の種類に該当する使用電力タイプに対応する電力モードで動作モードで動作するよう制御する。
【００９０】
すなわち、１つのブロックに数個の使用電力タイプが混在している場合、一実施形態に係る電力モード制御部１３０は、頻繁な電力モードの転換によって予想される電力消費を予防するために、最も複数の使用電力タイプに該当する電力モードに前記１つのブロック動作を制御してもよい。
【００９１】
一実施形態に係る電力モード制御部１３０は、前記決定されたブロックで前記使用電力タイプごとにデータそれぞれのサイズを確認し、前記決定されたブロックが前記確認されたサイズのうち最も大きいサイズに該当する使用電力タイプに対応する電力モードで動作モードで動作するよう制御する。
【００９２】
すなわち、１つのブロックに数個の使用電力タイプが混在している場合、一実施形態に係る電力モード制御部１３０は、頻繁な電力モードの転換によって予想される電力消費を予防するため、最も大きいサイズと定義されているデータに対応する電力モードに前記１つのブロックの動作を制御する。
【００９３】
もし、整数形態で定義されているデータ「ｉ」が低電力モードであり、配列形態で定義されているデータ「ａ」が高電力モードである場合、一般的に整数よりも配列のデータサイズが大きいと判断する。
【００９４】
すなわち、一実施形態に係る電力モード制御部１３０は当該ブロックに対して高電力モードで動作モードで動作できるよう制御してもよい。
【００９５】
図４は、他の一実施形態に係るデータベースの電力管理装置４００を説明するブロック図である。
【００９６】
一実施形態に係るデータベースの電力管理装置４００は、ブロックの電力モードの決定において前記ブロックのワークロードをさらに考慮してもよい。これによって一実施形態に係るデータベースの電力管理装置４００は精密な電力管理が可能になる。
【００９７】
具体的には、一実施形態に係るデータベースの電力管理装置４００は、コードセグメント検索部４１０、ブロック決定部４２０、電力モード制御部４３０、及びワークロード分析部４４０を備える。
【００９８】
一実施形態に係るコードセグメント検索部４１０は、全体コードで使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索してもよい。
【００９９】
一実施形態に係るブロック決定部４２０は、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定してもよい。
【０１００】
一実施形態に係るブロック決定部４２０は、前記検索された少なくとも１つ以上のコードセグメントのサイズが選択された閾値以上であるか否かを確認し、前記選択された閾値以上である場合、前記検索された少なくとも１つ以上のコードセグメントを前記少なくとも１つ以上のブロックに決定してもよい。
【０１０１】
すなわち、一実施形態に係るブロック決定部４２０は、ブロックのサイズが極めて小さい場合に電力モードを切り替えることによって低電力を実現して取得する利益が大きくないと判断し、当該部分をブロックに決定しない。
【０１０２】
一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう制御する。
【０１０３】
一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックによって処理される少なくとも１つ以上のデータを前記使用電力タイプに対応するメモリに積載するよう制御してもよい。
【０１０４】
一実施形態に係る電力モード制御部４３０は、少なくとも１つ以上のデータを前記使用電力タイプに応じて前記電力消耗が異なる数個のメモリのうち対応するメモリに積載するよう制御してもよい。
【０１０５】
一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加してもよい。
【０１０６】
例えば、一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックの開始部分の以前にプロローグコードを挿入し、終了部分の以後にエピローグコードを挿入して、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう制御する。
【０１０７】
一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いてシステムクロックを制御してもよい。
【０１０８】
このような演算装置はシステムクロックとして動作できるが、一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作モードで動作するよう、前記決定された少なくとも１つ以上のブロックを用いて前記システムクロックを制御してもよい。
【０１０９】
一実施形態に係る電力モード制御部４３０は、前記決定された少なくとも１つ以上のブロックの処理が終了すると、前記使用電力タイプに該当する電力モードで動作モードで動作させる以前に電力モードを変更してもよい。
【０１１０】
一実施形態に係る電力モード制御部４３０は、前記決定されたブロックで前記使用電力タイプの種類ごとの個数を確認し、前記決定されたブロックが前記確認された種類ごとの個数のうち最も多い個数の種類に該当する使用電力タイプに対応する電力モードで動作モードで動作するよう制御してもよい。
【０１１１】
一実施形態に係る電力モード制御部４３０は、前記決定されたブロックで前記使用電力タイプごとにデータそれぞれのサイズを確認し、前記決定されたブロックが前記確認されたサイズのうち最も大きいサイズに該当する使用電力タイプに対応する電力モードで動作モードで動作するよう制御してもよい。
【０１１２】
すなわち、１つのブロックに数個の使用電力タイプが混在している場合、一実施形態に係る電力モード制御部４３０は、頻繁な電力モードの転換によって予想される電力消費を予防するため、最も大きいサイズに定義されているデータに対応する電力モードに前記１つのブロックの動作を制御することができる。
【０１１３】
一実施形態に係るワークロード分析部４４０は、前記決定された少なくとも１つ以上のブロックに対するワークロードを分析する。
【０１１４】
例えば、一実施形態に係るワークロード分析部４４０は、決定されたブロックの使用電力タイプを確認し、前記決定されたブロックに対する現在のワークロードを確認する。
【０１１５】
その後、一実施形態に係る電力モード制御部４３０は、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御してもよい。
【０１１６】
具体的な例として、一実施形態に係るワークロード分析部４４０は、前記決定されたブロックの使用電力タイプを確認して電力モードを確認し、前記決定されたブロックに対する現在のワークロードを確認してもよい。
【０１１７】
その後、一実施形態に係るワークロード分析部４４０は、前記確認したワークロードを介して加重値を算出し、前記電力モードに前記算出された加重値を反映してシステムクロックの変化値を算出する。
【０１１８】
また、一実施形態に係るワークロード分析部４４０は、前記算出されたシステムクロックの変化値に基づいてクロックジェネレーターを介してシステムクロックを変化させる。
【０１１９】
一実施形態に係るデータベースの電力管理装置４００は、端末内に存在する中央処理ユニットなどの構成要素に対する消費電力を制御することによって、低電力を実行することができる。
【０１２０】
図５は、一実施形態に係るデータベースの電力管理装置５１０が適用されたシステム５００構成の実施形態を説明する図である。
【０１２１】
一実施形態に係るシステム５００は、電力管理装置５１０、クロックジェネレーター５２０、中央処理ユニット５３０、直接メモリアクセス５４０装置、ハードウェアアクセラレーター５５０、低電力メモリ５６０、中電力メモリ５７０、及び高電力メモリ５８０を備える。
【０１２２】
一実施形態に係るシステム５００には、低電力メモリ５６０、中電力メモリ５７０、及び高電力メモリ５８０のように電力消耗が異なる数個のメモリが存在してもよい。
【０１２３】
中央処理ユニット５３０、直接メモリアクセス５４０装置、及びハードウェアアクセラレーター５５０の演算装置は、低電力メモリ５６０、中電力メモリ５７０、及び高電力メモリ５８０のいずれか１つのメモリにアクセスして、データのロード、適材などの動作を行うことができる。
【０１２４】
このような動作を行うために、中央処理ユニット５３０（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、直接メモリアクセス５４０装置、及びハードウェアアクセラレーター５５０の演算装置は、クロックジェネレーター５２０からクロックが入力されてもよい。
【０１２５】
ここで、クロックジェネレーター５２０は、一実施形態に係る電力管理装置５１０によって管理される。
【０１２６】
具体的には、一実施形態に係る電力管理装置５１０は、データに挿入されている使用電力タイプに応じて当該ブロックの電力モードを確認してもよい。
【０１２７】
ここで、一実施形態に係る電力管理装置５１０は、確認した電力モードに基づいてクロックジェネレーター５２０を調節して低電力システムを実現する。
【０１２８】
低電力メモリ５６０、中電力メモリ５７０、及び高電力メモリ５８０は、それぞれＳＲＡＭ、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）と解釈されてもよい。
【０１２９】
同じＤＲＡＭであってもリフレッシュレート（ｒｅｆｒｅｓｈ  ｒａｔｅ）に応じて電力消費量が異なる場合がある。メモリ及び演算装置は、電力モードに応じて異なる動作を行う調節部分が電力管理装置５１０によって管理されてもよい。
【０１３０】
図６は、一実施形態に係るデータベースの電力管理方法を説明するフローチャートである。
【０１３１】
一実施形態に係るデータベースの電力管理方法を利用すると、電力管理領域選定及び管理をプログラマーの最小限の努力をもって自動化して失敗を防止することができ、これによってきめ細かい（ｆｉｎｅ−ｇｒａｉｎｅｄ）特性の電力管理を行うことができる。
【０１３２】
そのために、一実施形態に係るデータベースの電力管理方法は、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索する（Ｓ６０１）。
【０１３３】
一例として、前記少なくとも１つ以上のコードセグメントは、変数、配列、関数、引数、及び領域のうち少なくとも１つのデータと解釈してもよい。
【０１３４】
次に、一実施形態に係るデータベースの電力管理方法は、前記検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定する（Ｓ６０２）。
【０１３５】
一実施形態に係るデータベースの電力管理方法は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう制御する（Ｓ６０３）。
【０１３６】
図７は、ブロックを決定する方法を補完して一実施形態に係るデータベースの電力管理方法をより具体的に説明する図である。
【０１３７】
一実施形態に係るデータベースの電力管理方法は、全体コードのうち使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索する（Ｓ７０１）。
【０１３８】
例えば、整数に区分される変数ａのデータに使用電力タイプとして「＿ｌｐ＿」が挿入されて低電力モードで動作することで、変数ａのデータに対する電力モードが定義される。
【０１３９】
ここで、一実施形態に係るデータベースの電力管理方法は、全体コードのうち変数ａのデータに挿入された使用電力タイプを確認することによって、使用電力タイプが挿入されている少なくとも１つ以上のコードセグメントを検索することができる。
【０１４０】
次に、一実施形態に係るデータベースの電力管理方法は、検索された少なくとも１つ以上のコードセグメントに基づいて少なくとも１つ以上のブロックを決定する（Ｓ７０２）。
【０１４１】
例えば、一実施形態に係るデータベースの電力管理方法はデータを用いるループ（ｌｏｏｐ）、コントロールブロック、及び関数などに対して少なくとも１つ以上のブロックに決定してもよい。
【０１４２】
一実施形態に係るデータベースの電力管理方法は、決定されたブロックからスーパーブロックを決定する（Ｓ７０３）。
【０１４３】
一実施形態に係るデータベースの電力管理方法は、検索されたブロックのうち隣接するブロックをグループ化してスーパーブロックに決定してもよい。
【０１４４】
前記スーパーブロックは更なるブロックと解釈されてもよい。
【０１４５】
例えば、最初に検索された１０個のブロックのうち、５個のブロックがグループ化されてスーパーブロックに決定される場合、一実施形態に係るデータベースの電力管理方法は、残った５個のブロックと共に、前記決定されたスーパーブロックを新しい１つのブロックに認識して処理する。すなわち、一実施形態に係るデータベースの電力管理方法は、前記スーパーブロックを決定することによって、最初検索された１０個のブロックを６個のブロックに認識して処理してもよい。
【０１４６】
一実施形態に係るデータベースの電力管理方法は、決定されたスーパーブロックを含むブロックのうち、選択されたサイズ以下であるブロックを除外する（Ｓ７０４）。
【０１４７】
前記ブロックは全体コードのコンパイル時に決定されてもよい。
【０１４８】
一実施形態に係るデータベースの電力管理方法は、全体コードで使用電力タイプが用いられた電力データが使用された部分を検索し、そのうちブロックを決定してもよい。
【０１４９】
そして、決定されたブロックのうちスーパーブロックを決定してもよいが、このとき一実施形態に係るデータベースの電力管理方法は決定されたブロックのうち特定条件を満足するかを点検する。
【０１５０】
図７に示す実施形態では小さいサイズを有するブロックは電力管理対象から除去する。
【０１５１】
したがって、図７に示す実施形態では残されたブロックについてのみ電力モードを設定してもよい。
【０１５２】
一実施形態に係るデータベースの電力管理方法はブロックの電力モードを決定する（Ｓ７０５）。
【０１５３】
一実施形態に係るデータベースの電力管理方法は、ブロックを構成するブロックに対する電力モードの種類を確認し、前記確認された種類ごとに個数を確認することができる。
【０１５４】
ここで、最も多く確認される個数を有する種類の電力モードの形態に前記ブロックの電力モードを決定してもよい。
【０１５５】
例えば、ブロックのうち低電力モードで動作するブロックの個数が最も多い場合、一実施形態に係るデータベースの電力管理方法は前記ブロックの電力モードを低電力モードに決定してもよい。
【０１５６】
他の例として、一実施形態に係るデータベースの電力管理方法は、前記ブロックのサイズを確認し、最も大きいサイズに該当するブロックの電力モードを前記ブロックの電力モードに決定してもよい。
【０１５７】
次に、一実施形態に係るデータベースの電力管理方法は、前記ブロックが前記決定された電力モードで動作されるよう、新しい少なくとも１つ以上のコードセグメントを追加する（Ｓ７０６）。
【０１５８】
一実施形態に係るデータベースの電力管理方法は、ブロックそれぞれに対して電力モードを設定するコードを当該ブロックの前／後に挿入してもよい。
【０１５９】
言い換えれば、一実施形態に係るデータベースの電力管理方法は、前記決定された少なくとも１つ以上のブロックが前記使用電力タイプに該当する電力モードで動作するよう、前記決定された少なくとも１つ以上のブロックと関連する位置に新しい少なくとも１つ以上のコードセグメントを追加してもよい。
【０１６０】
ここで、一実施形態に係るデータベースの電力管理方法は、前記スーパーブロックが開始部分の以前にプロローグコードを挿入し、終了部分の以後にエピローグコードを挿入して前記決定された電力モードで動作するよう制御する。
【０１６１】
図８は、決定されたブロックを関連する電力モードで動作するよう制御する方法を説明する図である。
【０１６２】
一実施形態に係るデータベースの電力管理方法は、決定されたブロックに対して使用電力タイプごとにデータそれぞれのサイズを確認する（Ｓ８０１）。
【０１６３】
１つのブロックでは数個の使用電力タイプが挿入されてもよい。
【０１６４】
例えば、「ＳｐｉｎＬｏｃｋ」関数内には「＿ｌｐ＿ｉｎｔ」、「＿ｈｐ＿ｃｈａｒ  ａ［１０］などのデータが定義されてもよく、それぞれのデータは独立した使用電力タイプが挿入されてもよい。したがって、「ＳｐｉｎＬｏｃｋ」関数内には複数の使用電力タイプを含んでもよい。
【０１６５】
ここで、一実施形態に係るデータベースの電力管理方法は、「ＳｐｉｎＬｏｃｋ」関数内で使用電力タイプが挿入されているデータに対してサイズを確認することができる。
【０１６６】
次に、一実施形態に係るデータベースの電力管理方法は、前記確認されたサイズのうち最も大きいサイズに該当するデータに挿入されている使用電力タイプを決定する（Ｓ８０２）。
【０１６７】
一実施形態に係るデータベースの電力管理方法は、前記決定された使用電力タイプに対応する電力モードで動作するように前記決定されたブロックを制御する（Ｓ８０３）。
【０１６８】
図９は、ワークロードを反映して電力モードを制御する方法を説明する図である。
【０１６９】
一実施形態に係るデータベースの電力管理方法は、前記決定された少なくとも１つ以上のブロックに対するワークロードを分析し、前記分析されたワークロードを考慮して前記電力モードを変更し、前記決定された少なくとも１つ以上のブロックを制御してもよい。
【０１７０】
そのため一実施形態に係るデータベースの電力管理方法は、前記決定されたブロックの電力モードを確認する（Ｓ９０１）。
【０１７１】
一実施形態に係るデータベースの電力管理方法は、前記決定されたブロックで前記使用電力タイプの種類ごとの個数を確認し、前記決定されたブロックが前記確認された種類ごとの個数のうち最も多い個数の種類に該当する使用電力タイプに対応する電力モードを確認する。
【０１７２】
すなわち、１つのブロックに数個の使用電力タイプが混在している場合、一実施形態に係るデータベースの電力管理方法は、頻繁な電力モードの転換によって予想される電力消費を予防するため、最も複数の使用電力タイプに該当する電力モードに前記１つのブロックの動作を制御することができる。
【０１７３】
一実施形態に係るデータベースの電力管理方法は、頻繁な電力モードの転換によって予想される電力消費を予防するため、最も大きいサイズで定義されているデータに対応する電力モードに前記１つのブロックの動作を制御することができる。
【０１７４】
次に、一実施形態に係るデータベースの電力管理方法は、前記決定されたブロックのワークロードを取得する（Ｓ９０２）。
【０１７５】
前記ワークロードは前記決定されたブロックに割り当てられた作業量に該当する。
【０１７６】
一実施形態に係るデータベースの電力管理方法は、前記取得したワークロードに対応する加重値を生成する（Ｓ９０３）。
【０１７７】
例えば、ワークロードが高いブロックに対しては処理効率を向上させるためにワークロードの低いブロックに対して高い加重値が生成されてもよい。
【０１７８】
一実施形態に係るデータベースの電力管理方法は、前記電力モードと前記生成した加重値を考慮して前記決定されたブロックを制御するためのシステムクロックを制御する（Ｓ９０４）。
【０１７９】
結局、一実施形態に係るデータベースの電力管理方法は、決定されたブロックに対してワークロードを確認し、前記確認されたワークロードに基づいて加重値を算出し、前記算出された加重値をクロックの変化に反映してクロックを変化させることによって、システムの電力を効率的に制御することができる。
【０１８０】
図１０は、電力モードを切り替える方法を説明する図である。
【０１８１】
一実施形態に係るデータベースの電力管理方法は、現在の電力モードに関する情報をスタックに格納する（Ｓ１００１）。
【０１８２】
電力モードは、スタック形態の資料構造に保持されてもよい。
【０１８３】
電力モードが続けて変化されるため、現在の電力モードに対してはＬＩＦＯ（Ｌａｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）形態にスタックに積載されるか、スタックからロードされる。
【０１８４】
一実施形態に係るデータベースの電力管理方法は、現在の電力モードを転換するときには現在の電力モードを電力モードスタックに格納し、ブロックの電力モードを現在の電力モードに設定してもよい。
【０１８５】
次に、一実施形態に係るデータベースの電力管理方法は、決定されたブロックの電力モードを制御してブロックを実行する（Ｓ１００２）。
【０１８６】
一実施形態に係るデータベースの電力管理方法は、前記ブロックの実行が終了すると、前記スタックに格納された前記現在の電力モードに関する情報を読み出す（Ｓ１００３）。
【０１８７】
一実施形態に係るデータベースの電力管理方法は、現在の電力モードを転換するときには現在の電力モードを電力モードスタックに格納し、ブロックの電力モードを現在の電力モードに設定してもよい。
【０１８８】
また、一実施形態に係るデータベースの電力管理方法は当該ブロックを行い、実行が終了すると、前記スタックから以前に記録された電力モードをロードして現在の電力モードに設定してもよい。
【０１８９】
一実施形態に係るデータベースの電力管理方法は、電力モードを適材及びロードするためのスタックに対してタスク（ｔａｓｋ）を管理してもよく、文脈切り替え（ｃｏｎｔｅｘｔ  ｓｗｉｔｃｈ）時にも管理してもよい。
【０１９０】
一実施形態に係るデータベースの電力管理方法は、読み出した前記現在の電力モードに関する情報に基づいて現在の電力モードを変更する（Ｓ１００４）。
【０１９１】
図１１は、電力モードに係るメモリレイアウトを説明する図である。
【０１９２】
図１１は、使用電力タイプが挿入されている電力データをメモリに位置させる方法に対するフローチャートである。
【０１９３】
一実施形態に係るデータベースの電力管理方法は、コードセグメントに挿入されている使用電力タイプを確認する（Ｓ１１０１）。
【０１９４】
確認の結果、一実施形態に係るデータベースの電力管理方法は、前記確認された使用電力タイプに応じてデータを該当するメモリに格納してもよい。
【０１９５】
具体的には、一実施形態に係るデータベースの電力管理方法は、前記確認された使用電力タイプに応じて前記データが低電力データであるか否かを確認し（Ｓ１１０２）、低電力データの場合に前記データを低電力メモリに格納する（Ｓ１１０３）。
【０１９６】
一実施形態に係るデータベースの電力管理方法は、前記データが低電力データではない場合、高電力データであるか否かを確認し（Ｓ１１０４）、高電力データの場合前記データを高電力メモリに格納する（Ｓ１１０５）。
【０１９７】
前記データが低電力データでもなく高電力データでもない場合、一実施形態に係るデータベースの電力管理方法は前記データを中電力メモリに格納する（Ｓ１１０６）。
【０１９８】
言い換えれば、使用電力タイプに応じて決定される電力モードによってデータが格納されるメモリの位置は変わり得る。
【０１９９】
図１２は、入力の電力モードに係る電力管理方法を説明する図である。
【０２００】
一実施形態に係るデータベースの電力管理方法は、コードセグメントに挿入されているデータに対して因子の使用電力タイプを確認する（Ｓ１２０１）。
【０２０１】
確認の結果、一実施形態に係るデータベースの電力管理方法は、前記確認された因子の使用電力タイプに応じてデータの処理モードをセッティングしてもよい。
【０２０２】
前記確認された因子により電力モードはコンパイル時にセッティングされことではなく、ランタイム時に決定される。すなわち、使用電力タイプが関数の因子に使用されれば、同一のコードを入力値に応じて電力管理を相違させてもよい。
【０２０３】
そのために、一実施形態に係るデータベースの電力管理方法は、前記確認された使用電力タイプに応じて前記データの因子が低電力データであるか否かを確認し（Ｓ１２０２）、低電力データである場合、前記データを低電力モードに処理するようシステムをセッティングする（Ｓ１２０３）。
【０２０４】
一実施形態に係るデータベースの電力管理方法は、前記データの因子が低電力データではない場合、高電力データであるか否かを確認し（Ｓ１２０４）、高電力データである場合、前記データを高電力モードに処理するようシステムをセッティングする（Ｓ１２０５）。
【０２０５】
前記データの因子が低電力データでもなく高電力データでもない場合、一実施形態に係るデータベースの電力管理方法は、前記データを中電力モードに処理するようシステムをセッティングする（Ｓ１２０６）。
【０２０６】
すなわち、一実施形態に係るデータベースの電力管理方法を利用すると、容易に低電力プログラミング及び動的電力管理を行うことができ、低電力によるバッテリ時間の増加によりモバイル装置などの活用性の増大を期待することができる。
【０２０７】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。
【０２０８】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【０２０９】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０２１０】
１００：電力管理装置
１１０：コードセグメント検索部
１２０：ブロック決定部
１３０：電力モード制御部
【図１】
2014021984.tif 000003
【図２】
2014021984.tif 000004
【図３】
2014021984.tif 000005
【図４】
2014021984.tif 000006
【図５】
2014021984.tif 000007
【図６】
2014021984.tif 000008
【図７】
2014021984.tif 000009
【図８】
2014021984.tif 000010
【図９】
2014021984.tif 000011
【図１０】
2014021984.tif 000012
【図１１】
2014021984.tif 000013
【図１２】
2014021984.tif 000014