TOP > 国内特許検索 > 電子機器、制御方法、及び、プログラム

電子機器、制御方法、及び、プログラム 新技術説明会

国内特許コード P140010730
整理番号 S2014-0309-N0
掲載日 2014年7月7日
出願番号 特願2013-272936
公開番号 特開2015-127869
出願日 平成25年12月27日(2013.12.27)
公開日 平成27年7月9日(2015.7.9)
発明者
  • 鵜川 始陽
  • 橘田 頼之
  • 岩崎 英哉
出願人
  • 国立大学法人電気通信大学
発明の名称 電子機器、制御方法、及び、プログラム 新技術説明会
発明の概要 【課題】GCの処理の実行時におけるCPUの動作周波数を適切に制御して、消費電力を抑えることができるようにする。
【解決手段】動作周波数制御部は、動作周波数を制御可能なCPUにより実行されるプログラムで使用するデータを記憶するメインメモリにおける当該プログラムが動的にメモリを確保する領域であるヒープに対する、ガベージコレクションの実行が開始される前あるいは途中に、CPUの動作周波数を下げる制御を行い、ガベージコレクションをCPUの動作周波数が下げられた状態で実行させ、ガベージコレクションの実行の途中あるいは終了したとき、CPUの動作周波数を元の周波数に戻す制御を行う。本発明は、例えば、スマートフォン等の携帯端末に適用することができる。
【選択図】図6
従来技術、競合技術の概要


近年、スマートフォンに代表される携帯端末が普及している。この種の携帯端末は、バッテリ駆動となるため、プログラムの実行速度の向上とともに、消費電力の削減も重要となる。携帯端末が消費する電力のうち、CPU(Central Processing Unit)が消費する電力には、CPUが動作していなくても消費されるスタティック電力と、CPUが動作することにより消費されるダイナミック電力があり、これらの電力の合計が、CPUで消費される電力となる。



これらの電力のうち、ダイナミック電力は、おおよそCPUの動作周波数に比例することが知られている。したがって、CPUの動作周波数を下げることによって、消費電力を抑えることができる。しかしながら、その一方で、動作周波数を下げてしまうと、プログラムの実行速度は遅くなってしまう。そのため、最適なCPUの動作周波数は、プログラムが実行中であるかどうかや、どのようなプログラムを実行しているかによって異なることになる。



例えばインテル社のIntel x86やARM社のARMプロセッサなど、多くのCPUは、DVFS(Dynamic Voltage and Frequency Scaling)と呼ばれる、実行中にアプリケーション(プログラム)からCPUの動作周波数と動作電圧を変更できる機能を備えている。このDVFSを用いれば、プログラムの実行状態などの状況に応じて、CPUの動作周波数を変更することができる。例えば、プログラムを実行していないときは動作周波数を下げる一方、プログラムの実行中は動作周波数を高くするという制御が一般的に行われている。



また、このようなプログラムが実行中かどうかによって動作周波数を制御するよりも、さらに積極的な周波数制御の方法として、CPUのキャッシュミスが多いときに、動作周波数を下げるという制御が提案されている。具体的には、CPUがメモリアクセスを行うと、最初はメインメモリに直接アクセスする。そして、一度アクセスしたメモリアドレス周辺は、キャッシュメモリという高速な記憶装置に保存され、しばらくの間は、高速にアクセスできるようになる。キャッシュメモリにないデータにアクセスしようとすると、メインメモリへのアクセスが発生し、これがキャッシュミスと呼ばれるものである。



メインメモリへのアクセスには、CPUの命令実行に比べて長い時間がかかるため、キャッシュミスが発生すると、CPUは待たされることになる。そのため、キャッシュミスが頻繁に起きる状況では、プログラムの実行中であっても、CPUが待っている状態が多くなり、動作周波数を下げるほうがよいことがある。そして、キャッシュミスが多いときに動作周波数を下げるには、キャッシュミスが多い状態が長時間継続する時間を見つける必要がある。キャッシュミスが多い状態が長時間継続する必要があるのは、仮にキャッシュミスが多い状態が短時間しか持続しなければ、動作周波数を変更しても効果が少ないからである。



このようなキャッシュミスに応じてCPUの動作周波数を制御する方法としては、例えば、特許文献1や特許文献2が知られている。特許文献1には、キャッシュミスを検出するハードウェアを用い、キャッシュミスが頻繁に起きているかどうかを監視して、CPUの動作周波数を制御する方法が開示されている。特許文献2には、オペレーティングシステム(以下、「OS」という。OSは、Operating Systemの略)のカーネルがプログラムやハードウェアのイベントを検知し、そのイベントから今後キャッシュミスが頻繁に起きるかどうかを予測する方法が開示されている。このイベントとしては、プログラムがOSの機能を利用するときに行うシステムコールや、ハードウェアの割り込みなどがあり、当該イベントが起きるとCPUの動作周波数を下げることになる。



また、ガベージコレクション(以下、「GC」ということもある。GCは、Garbage Collectionの略)と呼ばれる、CPUにより実行されるプログラムが動的にメモリを確保する領域(以下、「ヒープ」という)のうち、不要になった領域を解放する機能が知られている。



非特許文献1には、仮想機械(以下、「VM」という。VMは、Virtual Machineの略)が行う処理の一つであるGCは、CPUの動作周波数が高く、大きなキャッシュメモリを搭載した高性能のCPUを用いて実行しても、消費電力が増える割には、あまり高速にならないことが示されている。ここでは、プログラムを実行するCPUとは別に、GCを専用に行うCPUを追加することが提案されている。

産業上の利用分野


本発明は、電子機器、制御方法、及び、プログラムに関し、特に、消費電力を抑えることができるようにした電子機器、制御方法、及び、プログラムに関する。

特許請求の範囲 【請求項1】
動作周波数を制御可能なCPUと、
前記CPUにより実行されるプログラムで使用するデータを記憶するメインメモリと、
前記メインメモリにおける前記プログラムが動的にメモリを確保する領域であるヒープに対するガベージコレクションの実行が開始される前あるいは途中に、前記CPUの動作周波数を下げる制御を行い、前記ガベージコレクションを前記CPUの動作周波数が下げられた状態で実行させ、前記ガベージコレクションの実行の途中あるいは終了したとき、前記CPUの動作周波数を元の周波数に戻す制御を行う動作周波数制御部と
を備える電子機器。

【請求項2】
前記動作周波数制御部は、前記ガベージコレクションの実行時間を予測可能な予測情報に基づいて、前記ガベージコレクションの実行時間を予測し、当該実行時間に応じて、前記CPUの動作周波数を制御する
請求項1に記載の電子機器。

【請求項3】
前記予測情報は、実行済みのガベージコレクションの実行時間に関する実行時間情報、及び、次に実行されるガベージコレクションの種類に関する種類情報の少なくとも1つを含む
請求項2に記載の電子機器。

【請求項4】
前記動作周波数制御部は、前記実行時間情報に基づいて、前記ガベージコレクションの実行時に、当該ガベージコレクションにおける前記CPUの動作周波数の制御方法を決定する
請求項3に記載の電子機器。

【請求項5】
前記動作周波数制御部は、前記実行時間情報に基づいて、前記プログラムの実行時に、前記ヒープに対するガベージコレクションにおける前記CPUの動作周波数の制御方法を決定する
請求項3に記載の電子機器。

【請求項6】
前記種類情報は、前記ガベージコレクションのアルゴリズムに関する情報、及び、前記ガベージコレクションの対象となる前記ヒープに関する情報の少なくとも1つを含む
請求項3に記載の電子機器。

【請求項7】
前記動作周波数制御部は、前記CPUの動作周波数を下げる制御が行われている間に、前記メインメモリを制御するメモリコントローラの動作周波数を上げる制御を行う
請求項1に記載の電子機器。

【請求項8】
前記動作周波数制御部は、前記CPUの動作電圧を制御可能である場合、前記CPUの動作周波数を下げる制御が行われている間に、前記CPUの動作電圧を下げる制御を行う
請求項1に記載の電子機器。

【請求項9】
動作周波数を制御可能なCPUと、前記CPUにより実行されるプログラムで使用するデータを記憶するメインメモリと、前記CPUの動作周波数を制御する動作周波数制御部とを有する電子機器の制御方法において、
前記動作周波数制御部が、
前記メインメモリにおける前記プログラムが動的にメモリを確保する領域であるヒープに対するガベージコレクションの実行が開始される前あるいは途中に、前記CPUの動作周波数を下げる制御を行い、前記ガベージコレクションを前記CPUの動作周波数が下げられた状態で実行させ、前記ガベージコレクションの実行の途中あるいは終了したとき、前記CPUの動作周波数を元の周波数に戻す制御を行うステップを含む
制御方法。

【請求項10】
コンピュータを、
動作周波数を制御可能なCPUにより実行されるプログラムで使用するデータを記憶するメインメモリにおける前記プログラムが動的にメモリを確保する領域であるヒープに対する、ガベージコレクションの実行が開始される前あるいは途中に、前記CPUの動作周波数を下げる制御を行い、前記ガベージコレクションを前記CPUの動作周波数が下げられた状態で実行させ、前記ガベージコレクションの実行の途中あるいは終了したとき、前記CPUの動作周波数を元の周波数に戻す制御を行う動作周波数制御部
として機能させるためのプログラム。
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2013272936thum.jpg
出願権利状態 公開


PAGE TOP

close
close
close
close
close
close
close