JP2014186478A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2014186478A
JP2014186478A JP2013060192A JP2013060192A JP2014186478A JP 2014186478 A JP2014186478 A JP 2014186478A JP 2013060192 A JP2013060192 A JP 2013060192A JP 2013060192 A JP2013060192 A JP 2013060192A JP 2014186478 A JP2014186478 A JP 2014186478A
Authority
JP
Japan
Prior art keywords
electronic device
processor
state
core
memories
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
JP2013060192A
Other languages
English (en)
Other versions
JP6038699B2 (ja
Inventor
Hisashi Kuroda
尚志 黒田
Hiroki Tanabe
弘樹 田邊
Junichi Sasaki
純一 佐々木
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2013060192A priority Critical patent/JP6038699B2/ja
Priority to US14/778,661 priority patent/US9829961B2/en
Priority to PCT/JP2014/053729 priority patent/WO2014148174A1/ja
Priority to CN201480017122.XA priority patent/CN105051704B/zh
Publication of JP2014186478A publication Critical patent/JP2014186478A/ja
Application granted granted Critical
Publication of JP6038699B2 publication Critical patent/JP6038699B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

【課題】ユーザの使用状況に応じて適切に消費電力を低減することが可能な電子機器を提供する。
【解決手段】省電力モードを有する電子機器は、電子機器の動作を制御するプロセッサと、個別に停止状態にすることが可能に構成され、プロセッサが利用可能な複数のメモリとを含む。プロセッサは、プロセッサの処理負荷に基づいて、複数のメモリのうち所定の数のメモリを停止状態にすることで省電力モードに移行させる。プロセッサは、省電力モードにおいて、電子機器の一部の動作を制限するスタンバイ状態と電子機器の動作を通常制御するアクティブ状態とを有し、スタンバイ状態またはアクティブ状態に関わらず、所定の数のメモリの停止状態を維持する。
【選択図】図1

Description

本発明は、省電力モードを有する電子機器に関する。
従来、携帯電話、携帯ゲーム機、携帯音楽再生機などの持ち運び可能な携帯端末装置が普及している。これらの携帯端末装置は、高性能化が進んでおり、複数のアプリケーションを高速で実行するために大容量のSDRAM(Synchronous Dynamic Random Access Memory)が搭載されている。SDRAMは、携帯端末装置に含まれる他のデバイスと比較して、消費電力が大きい。そのため、SDRAMの省電力化(携帯端末装置の省電力化)を図るための技術として、SDRAMのディープパワーダウン(DPD)モードを利用する技術が知られている。
例えば、特開2012−88906号公報(特許文献1)には、メモリを停止した省電力モードを有する電子機器が開示されている。電子機器は、個別に停止状態にすることが可能な第1および第2のメモリと、第1のメモリへの制御信号と第2のメモリへの制御信号を入れ替えるメモリ制御部と、省電力モードへ移行するとき、第2のメモリを停止状態へ移行させ、該第2のメモリが通常状態に復帰することが可能な停止状態となった後、第1のメモリを停止状態へ移行させ、それと共に、メモリ制御部に、第1のメモリへの制御信号と第2のメモリへの制御信号を入れ替えさせる中央制御部とを有する。
特開2012−88906号公報
ところで、ユーザが携帯端末装置に含まれるアプリケーションを使用する場合、ゲームなどのように携帯端末装置のプロセッサの処理負荷が大きいアプリケーションを利用する状況もあれば、そうでない状況もある。プロセッサの処理負荷が小さいアプリケーションを利用する状況では、プロセッサの処理能力およびメモリ容量が比較的小さくてもユーザが体感するパフォーマンス低下が小さい。そのため、当該状況においては、プロセッサおよびメモリで消費される電力をできるだけ低減させることが望ましい。
本発明は、上記のような問題点を解決するためになされたものであって、ユーザの使用状況に応じて適切に消費電力を低減することが可能な電子機器を提供することを目的とする。
ある実施の形態に従うと、省電力モードを有する電子機器が提供される。電子機器は、電子機器の動作を制御するプロセッサと、個別に停止状態にすることが可能に構成され、プロセッサが利用可能な複数のメモリとを含む。プロセッサは、プロセッサの処理負荷に基づいて、複数のメモリのうち所定の数のメモリを停止状態にすることで省電力モードに移行させる。プロセッサは、省電力モードにおいて、電子機器の一部の動作を制限するスタンバイ状態と電子機器の動作を通常制御するアクティブ状態とを有し、スタンバイ状態またはアクティブ状態に関わらず、所定の数のメモリの停止状態を維持する。
ユーザの使用状況に応じて適切に消費電力を低減することが可能となる。
実施の形態1に従う電子機器のハードウェア構成を示す模式図である。 実施の形態1に従う電子機器が有する複数の動作状態を説明するための概念図である。 実施の形態1に従う電子機器が有する動作状態Aの他の例を説明するための概念図である。 実施の形態1に従う電子機器の動作状態A(省電力モード)での消費電力の低減効果について説明するためのタイミング図である。 実施の形態1に従う電子機器の動作状態の遷移を説明するためのタイミング図である。 実施の形態1に従う電子機器の動作状態の遷移を説明するための別のタイミング図である。 実施の形態1に従う電子機器のSDRAM容量の制御処理を示すフローチャートである。 実施の形態2に従う電子機器のハードウェア構成を示す模式図である。 実施の形態2に従う電子機器が有する複数の動作状態を説明するための概念図である。 実施の形態2に従う電子機器の動作状態A1(省電力モード)での消費電力の低減効果について説明するためのタイミング図である。 実施の形態2に従う電子機器の動作状態の遷移を説明するためのタイミング図である。 実施の形態2に従う電子機器の動作状態の遷移を説明するための別のタイミング図である。 実施の形態2に従う電子機器のSDRAM容量の制御処理を示すフローチャートである。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[実施の形態1]
<ハードウェア構成>
図1は、実施の形態1に従う電子機器100のハードウェア構成を示す模式図である。以下の説明では、電子機器100がスマートフォンである場合について説明する。ただし、電子機器100は、種類を問わず任意の装置として実現できる。例えば、電子機器100は、タブレット端末装置、PDA(Personal Digital Assistance)、ノートPC(Personal Computer)などとして実現することもできる。
図1を参照して、電子機器100は、主たる構成要素として、マルチコアプロセッサ(以下、単に「マルチコア」とも称する。)10と、不揮発性メモリ30と、入力装置40と、コントローラ50A,50B(以下、単に「コントローラ50」とも総称する。)と、SDRAM60A,60B,60C,60D(以下「SDRAM60」とも総称する。)と、通信インターフェイス(I/F)70と、ディスプレイ80とを含む。
マルチコア10は、複数のコア(CPU(Central Processing Unit))11〜14を有している。マルチコア10は、コア11〜14の少なくとも1つ以上のコアにより、電子機器100の各部の動作を制御する。マルチコア10は、高速な周波数で動作するが(情報処理能力が高い)、消費電力が大きいコアが4つ搭載されているマルチコアプロセッサである。以下では、説明の容易化のため、少なくともコア11はアクティブコアであるものとする。なお、アクティブコアとは、少なくともある特定の時点に命令を実行している、あるいは実行するために利用可能なコアである。
マルチコア10は、不揮発性メモリ30に格納されたプログラムおよびSDRAM60に格納されたデータを読み出して実行することで、電子機器100の各部の動作を制御する。マルチコア10は、当該プログラムを実行することによって、後述する電子機器100の処理(ステップ)の各々を実現する。また、マルチコア10は、CPU動作周波数およびアクティブコア数を制御するために、一定の周期でコア11,12,13,14の動作周波数および使用率をモニタして、マルチコア10全体の動作周波数およびアクティブコア数を管理している。
不揮発性メモリ30は、フラッシュメモリ、ハードディスクなどによって実現される。不揮発性メモリ30は、マルチコア10によって実行されるプログラム、またはマルチコア10によって利用されるデータなどを記憶する。
入力装置40は、電子機器100に対する操作入力を受け付ける。入力装置40は、例えば、キーボード、ボタン、マウスなどによって実現される。また、入力装置40は、タッチパネルとして実現されていてもよい。
コントローラ50は、各々のSDRAM60を制御する。典型的には、コントローラ50は、SDRAM60に格納されたデータの読み出し、データの書き込み、リフレッシュ動作などを制御する。
SDRAM60A〜60Dは、マルチコア10がアプリケーションを実行するときに利用する揮発性メモリである。SDRAM60は、例えば、DDR(Double-Data-Rate)Mobile RAMである。SDRAM60は、マルチコア10の指示に基づいて、個別にDPD状態に移行可能に構成されている。SDRAM60は、DPDモードに移行すると、リフレッシュ動作を行なわないため、格納されているデータを保持することができないが、消費電力を大幅に抑えることができる。
通信インターフェイス(I/F)70は、電子機器100と外部装置との間で各種データをやり取りするための通信インターフェイスである。なお、通信方式としては、例えば、Bluetooth(登録商標)、無線LAN(Local Area Network)などによる無線通信であってもよいし、USB(Universal Serial Bus)などを利用した有線通信であってもよい。電子機器100は、通信インターフェイス70を介して移動体通信網に接続し無線通信のための信号の送受信を行なってもよい。これにより、電子機器100は、例えば、第3世代移動通信システム(3G)、LTE(Long Term Evolution)などの移動体通信網を介して通信装置との通信が可能となる。
ディスプレイ80は、マルチコア10からの信号に基づいて、表示画面に画像、テキスト、その他の情報を表示する。なお、電子機器100は、マイク、スピーカ、カメラ、メモリインターフェイスなどの周辺回路を有していてもよい。
<動作状態>
図2は、実施の形態1に従う電子機器100が有する複数の動作状態を説明するための概念図である。なお、図2では、説明の容易化のため、マルチコア10、コントローラ50、およびSDRAM60についてのみ図示している。また、各々のSDRAM60の容量は、1GBであるとする。
図2(a)に示される電子機器100の動作状態は、コア11,12をアクティブコアとするマルチコア10が、コントローラ50Aを介してSDRAM60Aを利用し、コントローラ50Bを介してSDRAM60Cを利用するとともに、電子機器100の動作を制御している状態である(以下「動作状態A」とも称する。)。動作状態Aでは、SDRAM60B,60Dは、DPDモード状態(停止状態)に移行している。そのため、マルチコア10は、2GB分のメモリ容量を利用できる状態である。
図2(b)に示される電子機器100の動作状態は、コア11〜13をアクティブコアとするマルチコア10が、コントローラ50Aを介してSDRAM60A,60Bを利用し、コントローラ50Bを介してSDRAM60C,60Dを利用するとともに、電子機器100の動作を制御している状態である(以下「動作状態B」とも称する。)。動作状態Bでは、DPDモード状態(以下、「DPD状態」とも称する。)に移行しているSDRAM60は存在しない。そのため、マルチコア10は、SDRAM60全て(4GBのメモリ容量)を利用することができる。
図2(c)に示される電子機器100の動作状態は、コア11,12をアクティブコアとするマルチコア10が、コントローラ50Aを介してSDRAM60A,60Bを利用し、コントローラ50Bを介してSDRAM60C,60Dを利用するとともに、電子機器100の全体の動作を制御している状態である(以下「動作状態C」とも称する。)。動作状態Cでは、動作状態Bと同様にDPD状態に移行しているSDRAM60は存在しない。そのため、マルチコア10は、SDRAM60全て(4GBのメモリ容量)を利用することができる。
以上から、動作状態A〜Cのうち、電子機器100の消費電力が最も小さい動作状態は、最もアクティブコアが少なく、かつ2GB分のSDRAM60を利用可能(残りの2GBはDPD状態)な動作状態Aとなる。すなわち、動作状態Aは、電子機器100における省電力モード状態である。また、電子機器100の消費電力が最も大きい動作状態は、マルチコア10が4GB分のSDRAM60を利用可能(DPD状態のSDRAM60はなし)な動作状態Bである。なお、動作状態Cでの電子機器100の消費電力は、動作状態Bでの当該消費電力よりも小さく、動作状態Aでの当該消費電力よりも大きい。
詳細は後述するが、電子機器100は、マルチコア10の処理負荷などに応じて上記の複数の動作状態を変更するように構成されている。例えば、プロセッサの処理負荷が大きいアプリケーションを利用する場合には、高い情報処理能力を必要とするため、コアの使用率および動作周波数が高く、利用可能なメモリ容量が大きい(4GB)動作状態Bとなる。また、プロセッサの処理負荷が小さいアプリケーションを利用する場合には、コアの使用率および動作周波数が低く、利用可能なメモリ容量が小さい(2GB)動作状態Aとなる。動作状態Cは、所定の条件に基づいて動作状態Bから動作状態Aに移行する際の仲介的な役割を果たす動作状態である。
なお、動作状態Aは、マルチコア10が2GB分のSDRAM60を利用可能な状態であればよく、図2(a)に示されるような例に限られない。例えば、動作状態Aは、以下の図3に示されるような形態であってもよい。
図3は、実施の形態1に従う電子機器100が有する動作状態Aの他の例を説明するための概念図である。図3を参照して、動作状態Aは、マルチコア10がコントローラ50Aを介してSDRAM60A,60Bを利用し、電子機器100の全体の動作を制御する場合(図3(a))であってもよいし、マルチコア10がコントローラ50Bを介してSDRAM60C,60Dを利用し、電子機器100の全体の動作を制御する場合(図3(b))であってもよい。
<消費電力の低減効果>
図4は、実施の形態1に従う電子機器100の動作状態A(省電力モード)での消費電力の低減効果について説明するためのタイミング図である。具体的には、図4(a)は、比較例に従う電子機器のマルチコアの動作、メモリ容量、および消費電力の変化を時系列で示す図である。図4(b)は、実施の形態1に従う電子機器100のマルチコア10の動作、メモリ容量、および消費電力の変化を時系列で示す図である。なお、比較例に従うマルチコアの性能と、マルチコア10の性能とは同様であるとする。
ここで、比較例に従うマルチコア、およびマルチコア10は、電子機器の一部の動作を制限するスタンバイ状態と電子機器の動作を通常制御するアクティブ状態とを有する。スタンバイ状態では、これらのマルチコアは、電子機器を構成する全ての機能を制御する必要がない。例えば、スタンバイ状態では、電子機器100は、マルチコア10を含むSOC(System on Chip)内の不要なblockの電源をオフ、およびクロックゲート処理を行なう。そのため、スタンバイ状態における電子機器100の消費電流(数mA)は、アクティブ状態の当該消費電流(数100mA)と比較して大幅に低減される。
図4(a)を参照すると、比較例に従うマルチコアは、スタンバイ状態とアクティブ状態とを切り替えるごとにメモリ容量を変化させていることがわかる。すなわち、比較例に従うマルチコアは、アクティブ状態のときには4GB分のメモリを利用し、スタンバイ状態のときには2GB分のメモリを利用するとともに、残りの2GB分のメモリをDPD状態に移行させている。
これに対して、図4(b)を参照すると、実施の形態1に従うマルチコア10は、省電力モード(動作状態A)においては、スタンバイ状態またはアクティブ状態に関わらず、2GB分のメモリを利用し、残りの2GB分のメモリのDPD状態を維持している。そのため、マルチコア10に対して、比較例に従うマルチコアは、スタンバイ状態からアクティブ状態になるときに、メモリ容量の切り替えに必要な時間T1だけ処理時間が長くなる。同様に、マルチコア10に対して、比較例に従うマルチコアは、アクティブ状態からスタンバイ状態になるときに、メモリ容量の切り替えに必要な時間T2だけ処理時間が長くなる。したがって、マルチコア10は、比較例に従うマルチコアよりもT1+T2の処理時間分の消費電流を低減することができる。
ここで、スマートフォンなどの電子機器においては、2〜3秒ごとに基地局などと通信を行なっている。そのため、ユーザが一定時間、何も操作を行なわずにマルチコアがスタンバイ状態になったとしても、基地局などとの通信によりすぐにアクティブ状態に復帰する。すなわち、マルチコアは、スタンバイ状態およびアクティブ状態を頻繁に繰り返すことになる。そのため、スタンバイ状態/アクティブ状態が切り替わるごとに、メモリ容量を切り替える比較例に従うマルチコアを搭載する電子機器に比べて、スタンバイ状態またはアクティブ状態に関わらずメモリ容量を切り替えないマルチコア10を搭載する電子機器100は、全体として消費電力を低減することができる。
なお、マルチコア10においても、動作状態Bと動作状態Aとの間で遷移するときにメモリ容量を切り替えるものの、ユーザが意図的に行なわない限りスタンバイ状態から、いきなり高パフォーマンスの動作状態Bに遷移することはない。少なくとも基地局などとの通信によりスタンバイ状態から動作状態Bに遷移することはない。そのため、電子機器100は、比較例に従うマルチコアを搭載した電子機器と比較して、低消費電力化を実現することができる。
また、実施の形態1に従う電子機器100は、動作状態Aでは、マルチコア10がアクティブ状態であっても、利用可能なメモリ容量は2GB(残りの2GBはDPD状態)となる。しかし、動作状態Aは、そもそもプロセッサの処理能力が求められない状況での動作状態であるため、アクティブ状態またはスタンバイ状態に関わらずメモリ容量を2GBに維持することによるデメリット(ユーザが体感するパフォーマンスの低下)は小さく、消費電力を低減できるメリットの方が大きい。
<動作状態の遷移>
図5は、実施の形態1に従う電子機器100の動作状態の遷移を説明するためのタイミング図である。図5を参照して、電子機器100が動作状態Aから動作状態Bに遷移する場面について説明する。動作状態Aにおいて、電子機器100は、マルチコア10の処理負荷が所定の閾値A以上(例えば、コア11の使用率が70%以上、かつ動作周波数が900MHz以上)になった場合には、高パフォーマンスの動作状態Bに遷移を開始する。具体的には、マルチコア10は、コア13をアクティブにしてアクティブコアの数を3つに増やして処理能力を増大させる(アクティブコアの数を4つにする場合であってもよい)。そして、マルチコア10は、DPD状態に移行している2GB分のSDRAM60を通常状態に復帰させる。電子機器100は、マルチコア10が4GB分のSDRAM60を利用する動作状態Bに遷移する。なお、動作状態Aから動作状態Bへの遷移過程において、マルチコア10が2GB分のSDRAM60を利用し、電子機器100の動作制御を行なう動作状態Dが一時的に生じる。
次に、電子機器100が動作状態Bから動作状態Aに遷移する場面について説明する。動作状態Bにおいて、電子機器100は、マルチコア10の処理負荷が所定の閾値B未満(例えば、コア11の使用率が70%未満、動作周波数が900MHz未満)になった場合には、低パフォーマンスの動作状態Aに遷移を開始する。具体的には、マルチコア10は、コア13を非アクティブにしてアクティブコアの数を2つに減らす(アクティブコアの数を1つ(コア11のみ)にする場合であってもよい。)このとき、電子機器100は、動作状態Bから動作状態Cに遷移する。
そして、マルチコア10は、所定の条件を満たすと、利用可能な4GB分のSDRAM60のうち2GB分のSDRAM60をDPD状態に移行させる。具体的には、マルチコア10は、自身の処理負荷が所定の閾値C未満(例えば、アクティブなコア11,12の使用率が70%未満、かつ動作周波数が900MHz未満)と判断した場合に、コントローラ50の状態に基づいて、2GB分のSDRAM60をDPD状態に移行させる。詳細には、マルチコア10は、自身の処理負荷が閾値C未満と判断した場合であって、かつ、コントローラ50のステータスレジスタに基づいてコントローラ50がSDRAM60にアクセスしていないアイドル状態であると判断した場合に、2GB分のSDRAM60をDPD状態に移行させる。このようにして、電子機器100は、動作状態Cから、マルチコア10が2GB分のSDRAM60を利用し電子機器100の動作制御を行なう動作状態Aに遷移する。
次に、実施の形態1に従う電子機器100の動作状態の別の遷移例について説明する。
図6は、実施の形態1に従う電子機器100の動作状態の遷移を説明するための別のタイミング図である。図6を参照して、電子機器100が動作状態Aから動作状態Bに遷移する場面、動作状態Bから動作状態Cに遷移する場面については、図5の例と同様であるためその詳細な説明は繰り返さない。
図6に示されるように、動作状態Cから動作状態Aに遷移する場面において、図5のタイミング図と比較して動作状態Cの期間が長いことがわかる。つまり、2GB分のSDRAM60をDPD状態に移行させる処理を開始してから、当該処理が完了するまでの時間が長い。これは、マルチコア10が、自身を含む全てのバスマスタの処理負荷を確認し、これらの処理負荷が所定の閾値未満であった場合に、2GB分のSDRAM60をDPD状態への移行させるためである。
具体的には、マルチコア10は、自身を含む他の全てのバスマスタの処理負荷が、各々のバスマスタに対して最適化された所定の閾値未満であると判断した場合に、コントローラ50の状態に基づいて、2GB分のSDRAM60をDPD状態に移行させる。詳細には、マルチコア10は、(1)マルチコア10の処理負荷が閾値C未満であること、(2)他のバスマスタの各々の処理負荷が、各々のバスマスタに対して設定された閾値Cx未満であること、の(1)および(2)の条件を満たすか否かを判断する。そして、マルチコア10は、(1)および(2)の条件を満たし、かつ、コントローラ50のステータスレジスタに基づいて、コントローラ50がアイドル状態であると判断した場合に、2GB分のSDRAM60をDPD状態に移行させる。このようにして、電子機器100は、動作状態Cから動作状態Aに遷移する。バスマスタは、例えば、電子機器100に搭載されたモデムなどの通信インターフェイス70である。なお、バスマスタは、GPU(Graphics Processing Unit)であってもよい。
<処理手順>
図7は、実施の形態1に従う電子機器100のSDRAM容量の制御処理を示すフローチャートである。以下の各ステップは、基本的に、マルチコア10が不揮発性メモリ30に格納されたプログラムを実行することによって実現される。
図7を参照して、電子機器100は、動作状態Aを維持しているときに(ステップS102)、マルチコア10の処理負荷が所定の閾値A以上か否かを判断する(ステップS104)。具体的には、マルチコア10は、コアの使用率、コアの動作周波数、アクティブなコアの数の少なくともいずれかに基づいて当該判断を行なう。例えば、マルチコア10は、コア11の使用率が70%以上、かつコア11の動作周波数が900MHz、かつアクティブなコアの数が2つ以上(例えば、コア11,12がアクティブ)である場合に、当該処理負荷が閾値A以上であると判断する。
マルチコア10の処理負荷が閾値A以上でない場合には(ステップS104においてNO)、電子機器100は、ステップS102からの処理を繰り返す。すなわち、電子機器100は、動作状態Aを維持する。これに対して、当該処理負荷が閾値A以上である場合には(ステップS104においてYES)、電子機器100は、動作状態Aから動作状態Bに遷移する(ステップS106)。具体的には、マルチコア10は、アクティブコアの数を増やすとともに、DPD状態の2GB分のSDRAM60を通常状態に復帰させる。
次に、電子機器100は、マルチコア10の処理負荷が所定の閾値B未満か否かを判断する(ステップS108)。具体的には、マルチコア10が、コアの使用率、コアの動作周波数、アクティブなコアの数の少なくともいずれかに基づいて当該判断を行なう。例えば、マルチコア10は、コア11の使用率が70%未満、かつコア11の動作周波数が900MHz、かつコア11以外のアクティブコアの数が1つ以下である場合に、処理負荷が閾値B未満であると判断する。
マルチコア10の処理負荷が閾値B未満ではない場合には(ステップS108においてNO)、電子機器100は、ステップS106の処理を繰り返す。すなわち、電子機器100は、動作状態Bを維持する。これに対して、当該処理負荷が閾値B未満である場合には(ステップS108においてYES)、電子機器100は、動作状態Bから動作状態Cに遷移する(ステップS110)。具体的には、マルチコア10は、例えば、コア13を非アクティブにしてアクティブコアの数を2つに減らす。なお、マルチコア10は、アクティブコアの数が1つになるようにしてもよい。
次に、電子機器100は、マルチコア10の処理負荷が所定の閾値C未満であるか否かを判断する(ステップS112)。具体的には、マルチコア10は、アクティブコアの使用率および/または動作周波数に基づいて、当該判断を行なう。例えば、マルチコア10は、アクティブコアの使用率が70%未満、かつアクティブコアの動作周波数が900MHz未満である場合に処理負荷が閾値C未満であると判断する。
マルチコア10の処理負荷が閾値C未満ではない場合には(ステップS112においてNO)、電子機器100は、ステップS110の処理を繰り返す。すなわち、電子機器100は、動作状態Cを維持する。これに対して、当該処理負荷が閾値C未満である場合には(ステップS112においてYES)、コントローラ50のRead/Writeバッファの使用率が所定の閾値D未満か否かを判断する(ステップS114)。具体的には、マルチコア10は、コントローラ50を監視して、当該バッファの使用率が25%未満である状態が一定時間以上続くか否かを判断する。
当該バッファの使用率が閾値D未満ではない場合には(ステップS114においてNO)、電子機器100は、ステップS110の処理を繰り返す。すなわち、電子機器100は、動作状態Cを維持する。これに対して、当該バッファの使用率が閾値D未満である場合には(ステップS114においてYES)、電子機器100は、ステップS116の処理に進む。上記のステップS112,S114の処理は、マルチコア10がSDRAM60へのアクセス要求が頻繁に起こらないタイミングを探すための処理である。
次に、電子機器100は、コントローラ50がアイドル状態か否かを判断する(ステップS116)。具体的には、マルチコア10は、コントローラ50のステータスレジスタを確認して、コントローラ50がSDRAM60へのRead/Writeアクセスがない状態であるか否かを判断する。ステップS116の処理は、マルチコア10がSDRAM60をDPD状態に移行させるためのコマンド(以下「DPDコマンド」とも称する。)を当該SDRAM60に発行するためのタイミングを探すための処理である。
コントローラ50がアイドル状態ではない場合には(ステップS116においてNO)、電子機器100は、ステップS116の処理を繰り返す。なお、上述したように、マルチコア10は、一定の周期でコア11,12,13,14の動作周波数および使用率をモニタして、マルチコア10全体の動作周波数およびアクティブコア数を管理している。具体的には、マルチコア10は、ステップS110からステップS116の処理の間においても、常時コア11、12、13、14の動作周波数および使用率をモニタし、コア11,12,13,14の動作周波数およびアクティブコア数の制御を行なっている。そのため、たとえば、ステップS110からステップS116で”YES”の処理を行なうまでの間に、マルチコア10の負荷が、閾値B以上になった場合には、電子機器100は、再び動作状態B(ステップS106)に戻るものとする。
これに対して、コントローラ50がアイドル状態である場合には(ステップS116においてYES)、電子機器100は、動作状態Cから動作状態Aに遷移する(ステップS118)。具体的には、マルチコア10は、コントローラ50がアイドル状態中に、2GB分のSDRAM60に対してDPDコマンドを発行し、当該SDRAM60をDPD状態に移行させる。
次に、電子機器100は、スタンバイ状態に移行する条件が成立したか否かを判断する(ステップS120)。具体的には、マルチコア10は、一定時間内に入力装置40を介してユーザからの指示を受け付けたか否かを判断する。マルチコア10は、当該指示を一定時間内に受け付けていない場合にはスタンバイ状態に移行し、当該指示を一定時間内に受け付けた場合にはスタンバイ状態に移行しない。
当該条件が成立しない場合には(ステップS120においてNO)、電子機器100は、ステップS120の処理を繰り返す。これに対して、当該条件が成立した場合には(ステップS120においてYES)、電子機器100(マルチコア10)は、スタンバイ状態に移行する(ステップS122)。
次に、電子機器100は、スタンバイ状態を解除するか否かを判断する(ステップS124)。具体的には、マルチコア10は、スタンバイ状態を解除する割り込みを検出したか否かを判断する。マルチコア10は、当該割り込みを検出した場合にはスタンバイ状態を解除し、当該割り込みを検出していない場合にはスタンバイ状態を解除しない。割り込みの検出とは、例えば、通信回線網からの着信の検出やユーザによるキー操作を検出などである。
スタンバイ状態を解除しない場合には(ステップS124においてNO)、電子機器100は、ステップS124の処理を繰り返す。すなわち、電子機器100(マルチコア10)は、スタンバイ状態を維持する。これに対して、スタンバイ状態を解除する場合には(ステップS124においてYES)、電子機器100は、ステップS102からの処理を繰り返す。
上記では、ステップS112において、マルチコア10の処理負荷が所定の閾値C未満か否かについて判断する場合について説明した。しかしながら、電子機器100がマルチコア10以外のバスマスタを含む構成である場合には、電子機器100は、マルチコア10を含む全てのバスマスタの処理負荷を考慮してもよい。具体的には、ステップS112に代えて、マルチコア10は、(1)自身の処理負荷が閾値C未満であること、(2)他のバスマスタの各々の処理負荷が、各々のバスマスタに対して設定された閾値Cx未満であること、の(1)および(2)の条件を満たすか否かを判断する場合であってもよい。(1)および(2)の条件を満たす場合には、電子機器100は、ステップS114の処理に進む。また、(1)および(2)の条件を満たさない場合には、電子機器100は、ステップS112の処理を繰り返す。
[実施の形態2]
<ハードウェア構成>
図8は、実施の形態2に従う電子機器200のハードウェア構成を示す模式図である。電子機器200のハードウェア構成は、実施の形態1に従う電子機器100のハードウェア構成にマルチコア20を追加したものである。したがって、電子機器100のハードウェア構成と同様の部分についてはその詳細な説明は繰り返さない。
マルチコア20は、複数のコア21〜24を有している。具体的には、マルチコア20は、マルチコア10に搭載されているコア11〜14よりも低速な周波数でしか動作できないが(情報処理能力が低い)、コア11〜14よりも消費電力が小さいコアが4つ(コア21〜24)搭載されているマルチコアプロセッサである。マルチコア10およびマルチコア20は、個別に情報処理可能に構成されており、少なくともいずれか一方で電子機器200の各部の動作を制御する。すなわち、マルチコア20は、マルチコア10と同様に、不揮発性メモリ30、入力装置40、コントローラ50、SDRAM60、通信インターフェイス70、およびディスプレイ80を制御することができる。以下では、説明の容易化のため、少なくともコア21はアクティブコアであるものとする。また、マルチコア20は、CPU動作周波数およびアクティブコア数の制御をするために、一定の周期でコア21、22、23、24の動作周波数および使用率をモニタして、マルチコア20全体の動作周波数およびアクティブコア数を管理している。
<動作状態>
図9は、実施の形態2に従う電子機器200が有する複数の動作状態を説明するための概念図である。なお、図9では、説明の容易化のため、マルチコア10、マルチコア20、コントローラ50、およびSDRAM60についてのみ図示している。また、各々のSDRAM60の容量は、1GBであるとする。
図9(a)に示される電子機器200の動作状態は、マルチコア20が、コントローラ50Aを介してSDRAM60Aを利用し、コントローラ50Bを介してSDRAM60Cを利用するとともに、電子機器200の動作を制御している状態である(以下「動作状態A1」とも称する。)。動作状態A1では、SDRAM60B,60Dは、DPD状態に移行しているため、マルチコア20は、2GB分のメモリ容量を利用できる。
図9(b)に示される電子機器200の動作状態は、マルチコア10が、コントローラ50Aを介してSDRAM60A,60Bを利用し、コントローラ50Bを介してSDRAM60C,60Dを利用するとともに、電子機器200の動作を制御している状態である(以下「動作状態B1」とも称する。)。動作状態B1では、DPDモード状態に移行しているSDRAM60は存在しない。そのため、マルチコア10は、SDRAM60全て(4GBのメモリ容量)を利用することができる。
図9(c)に示される電子機器200の動作状態は、マルチコア20が、コントローラ50Aを介してSDRAM60A,60Bを利用し、コントローラ50Bを介してSDRAM60C,60Dを利用するとともに、電子機器200の全体の動作を制御している状態である(以下「動作状態C1」とも称する。)。動作状態C1では、動作状態B1と同様にDPD状態に移行しているSDRAM60は存在しない。そのため、マルチコア20は、SDRAM60全て(4GBのメモリ容量)を利用することができる。
以上から、動作状態A1〜C1のうち、電子機器200の消費電力が最も小さい動作状態は、マルチコア10よりも消費電力の小さいマルチコア20が2GB分のSDRAM60を利用可能(残りの2GBはDPD状態)な動作状態A1となる。すなわち、動作状態A1は、電子機器200における省電力モード状態である。また、電子機器200の消費電力が最も大きい動作状態は、消費電力の大きいマルチコア10が4GB分のSDRAM60を利用可能(DPD状態のSDRAM60はなし)な動作状態B1となる。なお、動作状態C1での電子機器200の消費電力は、動作状態B1での当該消費電力よりも小さく、動作状態A1での当該消費電力よりも大きい。
電子機器200は、マルチコア10およびマルチコア20の処理負荷などに応じて上記の複数の動作状態を変更するように構成されている。例えば、プロセッサの処理負荷が大きいアプリケーションを利用する場合には、消費電力は大きいが情報処理能力は最も高い動作状態B1となり、プロセッサの処理負荷が小さいアプリケーションを利用する場合には、消費電力が最も小さい動作状態A1となる。動作状態C1は、所定の条件に基づいて動作状態B1から動作状態A1に移行する際の仲介的な役割を果たす動作状態である。
なお、動作状態A1は、マルチコア20が2GB分のSDRAM60を利用可能な状態であればよく、図9(a)に示されるような例に限られない。例えば、動作状態A1は、マルチコア20がコントローラ50Aを介してSDRAM60A,60Bを利用し、電子機器200の全体の動作を制御する場合であってもよいし、マルチコア20がコントローラ50Bを介してSDRAM60C,60Dを利用し、電子機器200の全体の動作を制御する場合であってもよい。
<消費電力の低減効果>
図10は、実施の形態2に従う電子機器200の動作状態A1(省電力モード)での消費電力の低減効果について説明するためのタイミング図である。具体的には、図10(a)は、比較例に従う電子機器のマルチコアの動作、メモリ容量の変化、および消費電力の変化を時系列で示す図である。図10(b)は、実施の形態2に従う電子機器200のマルチコア20の動作、メモリ容量の変化、および消費電力の変化を時系列で示す図である。なお、比較例に従うマルチコアの性能と、マルチコア20の性能とは同様であるとする。基本的には、動作状態A1での消費電力の低減効果は、実施の形態1において説明した動作状態Aでの消費電力の低減効果と同様に考えることができる。
図10(a)を参照すると、比較例に従うマルチコアは、スタンバイ状態とアクティブ状態とを切り替えるごとにメモリ容量を変化させていることがわかる。すなわち、比較例に従うマルチコアは、アクティブ状態のときには4GB分のメモリを利用し、スタンバイ状態のときには2GB分のメモリを利用するとともに、残りの2GB分のメモリをDPD状態に移行させている。
これに対して、図10(b)を参照すると、実施の形態2に従うマルチコア20は、省電力モード(動作状態A1)において、スタンバイ状態またはアクティブ状態に関わらず、2GB分のメモリを利用し、残りの2GB分のメモリのDPD状態を維持している。そのため、実施の形態2に従うマルチコア20の方が、比較例に従うマルチコアよりもT1+T2の処理時間分の消費電流を低減することができる。
上述したように、スマートフォンなどの電子機器においては、2〜3秒ごとに基地局などと通信を行なっていることから、マルチコアがスタンバイ状態およびアクティブ状態を頻繁に繰り返すことになる。そのため、スタンバイ状態/アクティブ状態が切り替わるごとに、メモリ容量を切り替える比較例に従うマルチコアの電子機器に比べて、スタンバイ状態またはアクティブ状態に関わらずメモリ容量を切り替えないマルチコア20を搭載した電子機器200は、全体として消費電力を低減することができる。
なお、電子機器200においても、動作状態A1と動作状態B1との間で遷移するときに、メモリ容量を切り替えるものの、ユーザが意図的に行なわない限りスタンバイ状態から動作状態B1に遷移することはない。少なくとも基地局との通信によりスタンバイ状態から動作状態B1に遷移することはない。そのため、電子機器200は、比較例に従うマルチコアを搭載した電子機器と比較して、低消費電力化を実現することが可能となる。
上記のように、電子機器200は、動作状態A1では、マルチコア20がアクティブ状態であっても、利用可能なメモリ容量は2GBとなる。動作状態A1は、プロセッサの処理能力が求められない状況での動作状態であるため、アクティブ状態またはスタンバイ状態に関わらずメモリ容量を2GBに維持することによるデメリットは小さく、消費電力を低減できるメリットの方が大きい。
<動作状態の遷移>
図11は、実施の形態2に従う電子機器200の動作状態の遷移を説明するためのタイミング図である。図11を参照して、電子機器200が動作状態A1から動作状態B1に遷移する場面について説明する。動作状態A1において、電子機器200は、マルチコア20の処理負荷が所定の閾値A1以上(例えば、コア21〜24が最大周波数で動作し、コア21の使用率が90%以上)になった場合には、高パフォーマンスの動作状態B1に遷移を開始する。具体的には、マルチコア20は、電子機器200の動作制御をマルチコア10に切り替える。プロセッサの切り替え方法の一例としては、big.Littleシステムなどで種類の異なるプロセッサの切替に用いられるTask Migration機能などが挙げられる。詳細には、マルチコア20は、マルチコア20の代わりにマルチコア10に電子機器200の動作を制御させるための起動情報をマルチコア10に送信することでマルチコア10を起動する。当該起動情報を受信したマルチコア10が起動すると、マルチコア20はプロセッサ状態を2次キャッシュに完全に保存する。そして、マルチコア10が当該プロセッサ状態を読み込んで状態を復帰させ、マルチコア20が実行中であった処理を継続する。このとき、マルチコア10および20の両方の2次キャッシュは、同一性が保たれるようにコピーが行なわれ、同一性が保たれたのち、マルチコア20は、キャッシュをクリアして、自身の電源をOFFにする。
そして、マルチコア10は、電子機器200の動作制御を開始し、DPD状態に移行している2GB分のSDRAM60を通常状態に復帰させる。すなわち、電子機器200は、マルチコア10が4GB分のSDRAM60を利用し、電子機器200の動作を制御する動作状態B1に遷移する。なお、動作状態A1から動作状態B1への遷移過程において、マルチコア10が2GB分のSDRAM60を利用し、電子機器200の動作制御を行なう動作状態D1が一時的に生じる。
次に、電子機器200が動作状態B1から動作状態A1に遷移する場面について説明する。動作状態B1において、電子機器200は、マルチコア10の処理負荷が所定の閾値B1未満(例えば、アクティブコアがコア11のみであり、コア11が最低周波数で動作し、コア11の使用率が20%未満)になった場合には、低パフォーマンスの動作状態A1に遷移を開始する。上述した切替方法によって、電子機器200の動作制御は、マルチコア10からマルチコア20に切り替わる。マルチコア20は、電子機器200の動作制御を開始し、動作状態B1から動作状態C1に遷移する。
そして、マルチコア20は、所定の条件を満たすと、利用可能な4GB分のSDRAM60のうち2GB分のSDRAM60をDPD状態に移行させる。例えば、マルチコア20は、自身の処理負荷が所定の閾値C1未満(例えば、コア21が低速周波数で動作し、コア21の使用率が90%未満、かつコア21以外のアクティブコアが1つ以下である)と判断した場合に、コントローラ50の状態に基づいて、2GB分のSDRAM60をDPD状態に移行させる。詳細には、マルチコア20は、自身の処理負荷が閾値C1未満と判断した場合であって、かつ、コントローラ50のステータスレジスタに基づいて、コントローラ50がアイドル状態であると判断した場合に、2GB分のSDRAM60をDPD状態に移行させる。このように、電子機器200は、動作状態C1から、動作状態A1に遷移する。
次に、実施の形態2に従う電子機器200の動作状態の別の遷移例について説明する。図12は、実施の形態2に従う電子機器200の動作状態の遷移を説明するための別のタイミング図である。図12を参照して、電子機器200が動作状態A1から動作状態B1に遷移する場面、動作状態B1から動作状態C1に遷移する場面については、図11の例と同様であるためその詳細な説明は繰り返さない。
図12に示されるように、動作状態C1から動作状態A1に遷移する場面において、図11のタイミング図と比較して、2GB分のSDRAM60をDPD状態に移行させる処理を開始してから、当該処理が完了するまでの時間が長い。これは、マルチコア20が、自身を含む全てのバスマスタの処理負荷を確認するためである。
具体的には、マルチコア20は、自身を含む他の全てのバスマスタの処理負荷が、各々のバスマスタに対して最適化された所定の閾値未満であると判断した場合に、コントローラ50の状態に基づいて、2GB分のSDRAM60をDPD状態に移行させる。詳細には、マルチコア20は、(1)マルチコア20の処理負荷が閾値C1未満であること、(2)他のバスマスタの各々の処理負荷が各々のバスマスタに用意された閾値C1x未満であること、の(1)および(2)の条件を満たすか否かを判断する。そして、マルチコア20は、(1)および(2)の条件を満たし、かつ、コントローラ50のステータスレジスタに基づいて、コントローラ50がアイドル状態であると判断した場合に、2GB分のSDRAM60をDPD状態に移行させる。このようにして、電子機器200は、動作状態C1から動作状態A1に遷移する。
<処理手順>
図13は、実施の形態2に従う電子機器200のSDRAM容量の制御処理を示すフローチャートである。以下の各ステップは、基本的に、マルチコア10およびマルチコア20が不揮発性メモリ30に格納されたプログラムを実行することによって実現される。
図13を参照して、電子機器200は、動作状態A1を維持しているときに(ステップS202)、マルチコア20の処理負荷が所定の閾値A1以上か否かを判断する(ステップS204)。具体的には、マルチコア20が、アクティブコアの数、コア21〜24の使用率、および動作周波数の少なくともいずれかに基づいて、当該判断を行なう。例えば、マルチコア20は、コア21の使用率が90%以上、かつコア21〜24が動作可能な最大の周波数で動作している場合に、処理負荷が閾値A1以上であると判断する。
マルチコア20の処理負荷が閾値A1以上ではない場合には(ステップS204においてNO)、電子機器200は、ステップS202からの処理を繰り返す。これに対して、当該処理負荷が閾値A1以上である場合には(ステップS204においてYES)、電子機器200は、動作状態A1から動作状態B1に遷移する(ステップS206)。具体的には、上述した切替方法によって、電子機器200の動作制御は、マルチコア20からマルチコア10に切り替わり、マルチコア10は、電子機器200の動作制御を開始し、DPD状態に移行している2GB分のSDRAM60を通常状態に復帰させる。
次に、電子機器200は、マルチコア10の処理負荷が所定の閾値B1未満か否かを判断する(ステップS208)。具体的には、マルチコア10が、アクティブコアの数、コア11〜14の使用率、および動作周波数の少なくともいずれかに基づいて、当該判断を行なう。例えば、マルチコア10は、コア11のみが動作し、コア11の使用率が20%未満、かつ、コア11の動作周波数が動作可能な最低の周波数で動作している場合に、処理負荷が閾値B1未満であると判断する。
マルチコア10の処理負荷が閾値B1未満ではない場合には(ステップS208においてNO)、電子機器200は、ステップS206からの処理を繰り返す。これに対して、当該処理負荷が閾値B1未満である場合には(ステップS208においてYES)、電子機器200は、動作状態B1から動作状態C1に遷移する(ステップS210)。具体的には、上述した切替方法によって、電子機器200の動作制御は、マルチコア10からマルチコア20に切り替わる。
次に、電子機器200は、マルチコア20の処理負荷が所定の閾値C1未満であるか否かを判断する(ステップS212)。具体的には、マルチコア20は、アクティブコアの数、コア21〜24の使用率、およびコア21〜24の動作周波数の少なくともいずれかに基づいて、当該判断を行なう。例えば、マルチコア20は、コア21が最低周波数で動作し、コア21の使用率が90%未満で、コア21以外のアクティブコアが1つ以下であるか否かを判断する。
マルチコア20の処理負荷が閾値C1未満ではない場合には(ステップS212においてNO)、電子機器200は、ステップS210からの処理を繰り返す。これに対して、当該処理負荷が閾値C1未満である場合には(ステップS212においてYES)、コントローラ50のRead/Writeバッファの使用率が所定の閾値D1未満か否かを判断する(ステップS214)。具体的には、マルチコア20は、コントローラ50を監視して、当該バッファの使用率が25%未満である状態が一定時間以上続くか否かを判断する。
当該バッファの使用率が閾値D1未満ではない場合には(ステップS214においてNO)、電子機器200は、ステップS210からの処理を繰り返す。これに対して、当該バッファの使用率が閾値D1未満である場合には(ステップS214においてYES)、電子機器200は、ステップS216の処理に進む。上記のステップS212およびステップS214の処理は、マルチコア20がSDRAM60へのアクセス要求が頻繁に起こらないタイミングを探すための処理である。
マルチコア20が実行するステップS216〜S224の処理は、マルチコア10が実行するステップS116〜S124の処理(図7)と主体が異なるだけで基本的には同様の処理である。そのため、以下簡単に説明する。
電子機器200(マルチコア20)は、コントローラ50のステータスレジスタを確認して、コントローラ50がアイドル状態か否かを判断する(ステップS216)。コントローラ50がアイドル状態ではない場合には(ステップS216においてNO)、電子機器200は、ステップS216の処理を繰り返す。なお、上述したように、マルチコア20は、一定の周期でコア21,22,23,24の動作周波数および使用率をモニタして、マルチコア20全体の動作周波数およびアクティブコア数を管理している。具体的には、マルチコア20は、ステップS210からステップS216の処理の間においても、常時コア21,22,23,24の動作周波数および使用率をモニタし、コア21,22,23,24の動作周波数およびアクティブコア数の制御を行なっている。そのため、たとえば、ステップS210からS216で”YES”の処理を行なうまでの間に、マルチコア20の負荷が、閾値A1以上になった場合は、電子機器200は、再び、マルチコア10において動作制御が行なわれる動作状態B1(ステップS206)へ戻るものとする。
これに対して、アイドル状態である場合には(ステップS216においてYES)、電子機器200は、動作状態C1から動作状態A1に遷移する(ステップS218)。続いて、電子機器200は、スタンバイ条件が成立したか否かを判断する(ステップS220)。スタンバイ条件が成立しない場合には(ステップS220においてNO)、電子機器200は、ステップS220からの処理を繰り返す。これに対して、スタンバイ状態が成立した場合には(ステップS220においてYES)、電子機器200は、スタンバイ状態に移行する(ステップS222)。続いて、電子機器200は、スタンバイ状態を解除するか否かを判断する(ステップS224)。スタンバイ状態を解除しない場合には(ステップS224においてNO)、電子機器200は、ステップS224からの処理を繰り返す。これに対して、スタンバイ状態を解除する場合には(ステップS224においてYES)、電子機器200は、ステップS202からの処理を繰り返す。
上記において、実施の形態1と同様に、電子機器200は、マルチコア20を含む全てのバスマスタの処理負荷を考慮してもよい。この場合、ステップS212に代えて、マルチコア20は、(1)マルチコア20の処理負荷が閾値C1未満であること、(2)他のバスマスタの各々の処理負荷が各々のバスマスタに用意された閾値C1x未満であること、の(1)および(2)の条件を満たすか否かを判断してもよい。当該条件を満たす場合には、電子機器100は、ステップS214の処理に進む。また、当該条件を満たさない場合には、電子機器100は、ステップS212の処理を繰り返す。
[その他の実施の形態]
本実施形態では、複数のSDRAMの容量が全て1GBである場合について説明したが、これに限られない。例えば、各々のSDRAMの容量が互いに異なる場合であってもよいし、その個数も2つ以上であれば4つに限られない。
本実施形態では、2つのSDRAMコントローラにそれぞれ2つのSDRAMが接続されている場合について説明したがこれに限られない。例えば、1つのSDRAMコントローラに全てのSDRAMが接続されている場合であってもよいし、1つのSDRAMコントローラに1つのSDRAMが接続されている場合であってもよい。
本実施形態では、全体のメモリ容量のうち半分のメモリ容量をDPD状態に移行させる場合について説明したがこれに限られない。例えば、4GB分のメモリ容量のうち1GB分のメモリ容量、あるいは3GB分のメモリ容量をDPD状態に移行させてもよい。すなわち、複数のSDRAMのうち所定の数のSDRAMをDPD状態に移行させる場合であればよい。
本実施形態では、電子機器がマルチコアプロセッサを搭載している場合について説明したが、シングルコアプロセッサであってもよい。この場合、上述した閾値の判断基準においてアクティブコア数は考慮されず、シングルコアの使用率および/または動作周波数が判断基準となる。なお、上述した閾値は、本例に限られずユーザあるいは開発者によって適切な範囲で任意に定めることができる。
本実施形態では、SDRAMの停止状態がDPD状態である場合について説明したが、当該停止状態は、パーシャルリフレッシュ状態であってもよい。
なお、コンピュータを機能させて、上述したフローチャートで説明したような制御を実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM、ROM、RAMおよびメモリカードなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
プログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本実施の形態にかかるプログラムに含まれ得る。
また、本実施の形態に従うプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本実施の形態にかかるプログラムに含まれ得る。
<実施の形態の効果>
本実施の形態によると、プロセッサの処理負荷に応じて、利用するプロセッサあるいはメモリ容量が適宜変更される。すなわち、本実施の形態に従う電子機器は、プロセッサの処理負荷が小さく、プロセッサの処理能力およびメモリ容量が比較的小さくてもユーザが体感するパフォーマンス低下が小さい場合には、消費電力をできるだけ削減し、プロセッサの処理負荷が大きい場合には、プロセッサの処理能力およびメモリ容量を最大限に生かすように動作する。そのため、本実施の形態に従う電子機器は、ユーザの使用状況に応じて適切に消費電力を低減することが可能となる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10,20 マルチコアプロセッサ、30 不揮発性メモリ、40 入力装置、50A,50B SDRAMコントローラ、60A,60B,60C,60D SDRAM、70 通信インターフェイス、80 ディスプレイ、100,200 電子機器。

Claims (5)

  1. 省電力モードを有する電子機器であって、
    前記電子機器の動作を制御するプロセッサと、
    個別に停止状態にすることが可能に構成され、前記プロセッサが利用可能な複数のメモリとを備え、
    前記プロセッサは、前記プロセッサの処理負荷に基づいて、前記複数のメモリのうち所定の数のメモリを停止状態にすることで前記省電力モードに移行させ、
    前記プロセッサは、前記省電力モードにおいて、前記電子機器の一部の動作を制限するスタンバイ状態と前記電子機器の動作を通常制御するアクティブ状態とを有し、前記スタンバイ状態または前記アクティブ状態に関わらず、前記所定の数のメモリの前記停止状態を維持する、電子機器。
  2. 前記複数のメモリを制御するメモリコントローラをさらに備え、
    前記プロセッサは、前記プロセッサの処理負荷が第1の閾値未満であると判断した場合に、前記メモリコントローラの状態に基づいて、前記所定の数のメモリを停止状態にすることで前記省電力モードに移行させる、請求項1に記載の電子機器。
  3. 前記プロセッサは、前記メモリコントローラのステータスレジスタに基づいて、前記メモリコントローラが前記複数のメモリにアクセスしていない状態を示すアイドル状態であると判断すると、前記所定の数のメモリを前記停止状態にすることで前記省電力モードに移行させる、請求項2に記載の電子機器。
  4. 省電力モードを有する電子機器であって、
    少なくともいずれか一方が前記電子機器の動作を制御する、第1のプロセッサおよび前記第1のプロセッサよりも消費電力の小さい第2のプロセッサと、
    個別に停止状態にすることが可能に構成され、前記第1および第2のプロセッサが利用可能な複数のメモリとを備え、
    前記第1のプロセッサは、前記複数のメモリを利用する前記第1のプロセッサの処理負荷が第1の閾値未満になったと判断した場合に、前記第1のプロセッサの代わりに前記第2のプロセッサに前記電子機器の動作を制御させるための起動情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサは、前記第1のプロセッサから前記起動情報を受信すると前記電子機器の動作制御を開始し、所定の条件に基づいて、前記複数のメモリのうち所定の数のメモリを停止状態にすることで前記省電力モードに移行させ、
    前記第2のプロセッサは、前記省電力モードにおいて、前記電子機器の一部の動作を制限するスタンバイ状態と前記電子機器の動作を通常制御するアクティブ状態とを有し、前記スタンバイ状態または前記アクティブ状態に関わらず、前記所定の数のメモリの前記停止状態を維持する、電子機器。
  5. 前記第2のプロセッサは、前記第2のプロセッサの処理負荷が第2の閾値以上になったと判断した場合に、前記第2のプロセッサの代わりに前記第1のプロセッサに前記電子機器の動作を制御させるための起動情報を前記第1のプロセッサに送信し、
    前記第1のプロセッサは、前記第2のプロセッサから前記起動情報を受信すると前記電子機器の動作制御を開始し、前記所定の数のメモリを前記停止状態から通常状態に復帰させる、請求項4に記載の電子機器。
JP2013060192A 2013-03-22 2013-03-22 電子機器 Expired - Fee Related JP6038699B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013060192A JP6038699B2 (ja) 2013-03-22 2013-03-22 電子機器
US14/778,661 US9829961B2 (en) 2013-03-22 2014-02-18 Electronic device
PCT/JP2014/053729 WO2014148174A1 (ja) 2013-03-22 2014-02-18 電子機器
CN201480017122.XA CN105051704B (zh) 2013-03-22 2014-02-18 电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013060192A JP6038699B2 (ja) 2013-03-22 2013-03-22 電子機器

Publications (2)

Publication Number Publication Date
JP2014186478A true JP2014186478A (ja) 2014-10-02
JP6038699B2 JP6038699B2 (ja) 2016-12-07

Family

ID=51579867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013060192A Expired - Fee Related JP6038699B2 (ja) 2013-03-22 2013-03-22 電子機器

Country Status (4)

Country Link
US (1) US9829961B2 (ja)
JP (1) JP6038699B2 (ja)
CN (1) CN105051704B (ja)
WO (1) WO2014148174A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016133848A (ja) * 2015-01-15 2016-07-25 コニカミノルタ株式会社 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム
KR20170009651A (ko) * 2015-07-17 2017-01-25 삼성전자주식회사 영상 표시 장치 및 그 동작방법
WO2017069023A1 (ja) * 2015-10-19 2017-04-27 シャープ株式会社 表示装置が接続されるデータ処理装置および表示装置の制御方法
JP2018041257A (ja) * 2016-09-07 2018-03-15 シャープ株式会社 メモリ制御装置、電子機器、メモリの制御方法、および制御プログラム
JP2020006514A (ja) * 2018-07-02 2020-01-16 コニカミノルタ株式会社 画像形成装置およびプログラム
JP2020524336A (ja) * 2017-06-19 2020-08-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated スループットベースのワークロードにおける電力効率の最適化

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696787B2 (en) * 2014-12-10 2017-07-04 Qualcomm Innovation Center, Inc. Dynamic control of processors to reduce thermal and power costs
KR102428375B1 (ko) * 2015-07-24 2022-08-02 삼성전자주식회사 영상 표시 장치 및 그 동작방법
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
EP3376384A1 (en) * 2017-03-13 2018-09-19 Thomson Licensing Method for operating an electronic device, and corresponding system on chip, electronic device, electronic assembly, computer readable program product and computer readable storage medium
US10528118B2 (en) * 2017-04-21 2020-01-07 Intel Corporation Dynamically power on/off register files during execution
US11014857B2 (en) 2017-09-20 2021-05-25 General Electric Company Contact interface for a composite component and methods of fabrication
US10691195B2 (en) * 2018-02-28 2020-06-23 Qualcomm Incorporated Selective coupling of memory to voltage rails based on operating mode of processor
CN111077976B (zh) * 2018-10-18 2021-07-20 珠海全志科技股份有限公司 多核心处理器的空闲状态低功耗模式实现方法和处理器
CN109658635B (zh) * 2018-11-20 2021-09-10 广州广电运通金融电子股份有限公司 存钞控制系统和方法
US11586472B2 (en) * 2019-12-10 2023-02-21 Advanced Micro Devices, Inc. Method of task transition between heterogenous processors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038642A (ja) * 2002-07-04 2004-02-05 Renesas Technology Corp マルチプロセッサ
JP2006221381A (ja) * 2005-02-09 2006-08-24 Sharp Corp プロセッサシステム、該プロセッサシステムを備えた画像形成装置
JP2009211153A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリ装置、情報処理装置及び電力制御方法
JP2009223687A (ja) * 2008-03-17 2009-10-01 Nec Corp 情報処理システムおよびその制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327664B1 (en) * 1999-04-30 2001-12-04 International Business Machines Corporation Power management on a memory card having a signal processing element
JP4765222B2 (ja) * 2001-08-09 2011-09-07 日本電気株式会社 Dram装置
US7770040B2 (en) * 2006-03-24 2010-08-03 Qualcomm Incorporated Method and apparatus for reducing power consumption of a co-processor by switching to low power dedicated memory in which image data is periodically updated
JP5390967B2 (ja) 2009-07-07 2014-01-15 キヤノン株式会社 プロセッサシステム及びその制御方法
JP5321866B2 (ja) * 2009-09-16 2013-10-23 株式会社東芝 コンピュータシステム
US8412971B2 (en) * 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
JP2012088906A (ja) 2010-10-19 2012-05-10 Nec Casio Mobile Communications Ltd 電子機器およびその制御方法
JP5696480B2 (ja) * 2011-01-04 2015-04-08 株式会社リコー 制御装置、ネットワークに接続可能な装置、制御方法及び制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038642A (ja) * 2002-07-04 2004-02-05 Renesas Technology Corp マルチプロセッサ
JP2006221381A (ja) * 2005-02-09 2006-08-24 Sharp Corp プロセッサシステム、該プロセッサシステムを備えた画像形成装置
JP2009211153A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリ装置、情報処理装置及び電力制御方法
JP2009223687A (ja) * 2008-03-17 2009-10-01 Nec Corp 情報処理システムおよびその制御方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016133848A (ja) * 2015-01-15 2016-07-25 コニカミノルタ株式会社 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム
KR20170009651A (ko) * 2015-07-17 2017-01-25 삼성전자주식회사 영상 표시 장치 및 그 동작방법
KR102325341B1 (ko) 2015-07-17 2021-11-11 삼성전자주식회사 영상 표시 장치 및 그 동작방법
WO2017069023A1 (ja) * 2015-10-19 2017-04-27 シャープ株式会社 表示装置が接続されるデータ処理装置および表示装置の制御方法
CN108140352A (zh) * 2015-10-19 2018-06-08 夏普株式会社 显示装置所连接的数据处理装置和显示装置的控制方法
JP2018041257A (ja) * 2016-09-07 2018-03-15 シャープ株式会社 メモリ制御装置、電子機器、メモリの制御方法、および制御プログラム
JP2020524336A (ja) * 2017-06-19 2020-08-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated スループットベースのワークロードにおける電力効率の最適化
JP7359698B2 (ja) 2017-06-19 2023-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド スループットベースのワークロードにおける電力効率の最適化
JP2020006514A (ja) * 2018-07-02 2020-01-16 コニカミノルタ株式会社 画像形成装置およびプログラム
JP7172193B2 (ja) 2018-07-02 2022-11-16 コニカミノルタ株式会社 画像形成装置およびプログラム

Also Published As

Publication number Publication date
WO2014148174A1 (ja) 2014-09-25
US9829961B2 (en) 2017-11-28
JP6038699B2 (ja) 2016-12-07
CN105051704A (zh) 2015-11-11
US20160048199A1 (en) 2016-02-18
CN105051704B (zh) 2018-01-30

Similar Documents

Publication Publication Date Title
JP6038699B2 (ja) 電子機器
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
KR101799253B1 (ko) 다중 클러스터 이종 프로세서 아키텍처에서 동적 캐시 확장을 제공하기 위한 시스템 및 방법
JP6366717B2 (ja) 複数のデバイスにわたる複数のメモリリソースを構成するための技術
CN107003948B (zh) 电子设备及用于控制其可共享的高速缓存存储器的方法
CN107924225B (zh) 用于动态地调整存储器状态转变定时器的系统和方法
US11467650B2 (en) Selecting a low power state in an electronic device
US9310783B2 (en) Dynamic clock and power gating with decentralized wake-ups
US9182811B2 (en) Interfacing dynamic hardware power managed blocks and software power managed blocks
US9916876B2 (en) Ultra low power architecture to support always on path to memory
JP2013222321A (ja) メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
US9836113B2 (en) Method and apparatus to manage power usage in a processor
US8539132B2 (en) Method and system for dynamically managing a bus of a portable computing device
US20230114256A1 (en) Feature modification in standby mode based on power source capacity
CN113867963A (zh) 一种电子设备及处理方法
JP2018505489A (ja) システムオンチップにおける動的メモリ利用
US8131907B2 (en) Multi-processor system supporting dynamic power saving and dynamic power saving method thereof
KR102623137B1 (ko) 컴퓨팅 디바이스에서 동적 버퍼 사이징을 위한 시스템 및 방법
CN117581189A (zh) 降低远存储器中的存储器功率使用
KR20220040822A (ko) 저전력 시스템-온-칩 및 그것의 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161102

R150 Certificate of patent or registration of utility model

Ref document number: 6038699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees