JP2009193536A - プロセッサ装置 - Google Patents
プロセッサ装置 Download PDFInfo
- Publication number
- JP2009193536A JP2009193536A JP2008036415A JP2008036415A JP2009193536A JP 2009193536 A JP2009193536 A JP 2009193536A JP 2008036415 A JP2008036415 A JP 2008036415A JP 2008036415 A JP2008036415 A JP 2008036415A JP 2009193536 A JP2009193536 A JP 2009193536A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- clock signal
- power supply
- processor core
- system controller
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Landscapes
- Power Sources (AREA)
Abstract
【課題】電源供給の状態に基づいて、プロセッサコア毎にクロック信号を供給又は停止する制御を行うことにより消費電力を低減する。
【解決手段】プロセッサ装置1は、複数のプロセッサコア15を搭載するマルチコアプロセッサ11と、電源供給の状態を検知し、クロック信号を供給するあるいは供給しないプロセッサコア15を指定するための制御信号を出力するシステムコントローラ12と、制御信号に基づいて、クロック信号を供給するあるいは供給しないプロセッサコア15の指定を制御する制御回路16とを有する。
【選択図】図1
【解決手段】プロセッサ装置1は、複数のプロセッサコア15を搭載するマルチコアプロセッサ11と、電源供給の状態を検知し、クロック信号を供給するあるいは供給しないプロセッサコア15を指定するための制御信号を出力するシステムコントローラ12と、制御信号に基づいて、クロック信号を供給するあるいは供給しないプロセッサコア15の指定を制御する制御回路16とを有する。
【選択図】図1
Description
本発明は、プロセッサ装置に関し、特に、電源供給の状態を検知し、クロック信号を供給するあるいは供給しないプロセッサコアを指定するようにしたプロセッサ装置に関する。
近年、コンピュータの処理性能を増大させるため、1つのチップに複数のプロセッサコアを搭載したマルチコアプロセッサが採用されている。このマルチコアプロセッサを搭載したプロセッサ装置では、複数のプロセッサコアが複数のプログラムを並列に処理することにより、処理性能の向上が図られている。
ところが、複数のプロセッサコアが搭載されたプロセッサ装置は、複数のプロセッサコアが同時に動作するため、消費電力の増大が問題となる。
そこで、プロセッサコアの使用率に基づいて、使用するプロセッサコアを制御するプロセッサ装置が提案されている(例えば、特許文献1参照)。
例えば、ノート型パーソナルコンピュータ等では、使用環境によってはバッテリにより電力を供給することがある。ところが、バッテリにより電力を供給している場合、ACアダプタのように安定して電力を供給できない使用環境であることが多く、プロセッサコアの使用率に基づいて、動作するプロセッサコアを多くすると、バッテリの残量が直ぐに低下してしまう。
よって、特許文献1に記載のプロセッサ装置では、電源供給の状態を考慮して消費電量の低減をすることができないという問題があった。
米国特許出願公開第2007/0188186号明細書
そこで、本発明は、電源供給の状態に基づいて、プロセッサコア毎にクロック信号を供給又は停止する制御を行うことにより消費電力を低減することができるプロセッサ装置を提供することを目的とする。
本発明の一態様によれば、複数のプロセッサコアを搭載するマルチコアプロセッサと、電源供給の状態を検知し、クロック信号を供給するあるいは供給しないプロセッサコアを指定するための制御信号を出力するシステムコントローラと、前記制御信号に基づいて、前記クロック信号を供給するあるいは供給しないプロセッサコアの指定を制御する制御部と、を有することを特徴とするプロセッサ装置を提供することができる。
本発明のプロセッサ装置によれば、電源供給の状態に基づいて、プロセッサコア毎にクロック信号を供給又は停止する制御を行うことにより消費電力を低減することができる。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本発明の一実施の形態に係るプロセッサ装置のハードウエアの構成を示すブロック図である。本実施の形態のプロセッサ装置1は、マルチコアプロセッサ11と、システムコントローラ12とが1チップに集積されて構成されている。なお、マルチコアプロセッサ11と、システムコントローラ12とが別々のチップに集積されていてもよい。
図1は、本発明の一実施の形態に係るプロセッサ装置のハードウエアの構成を示すブロック図である。本実施の形態のプロセッサ装置1は、マルチコアプロセッサ11と、システムコントローラ12とが1チップに集積されて構成されている。なお、マルチコアプロセッサ11と、システムコントローラ12とが別々のチップに集積されていてもよい。
プロセッサ装置1の外には、システム電源13及び電源マイクロコンピュータ(以下、電源マイコンという)14を有している。システム電源13は、プロセッサ装置1に電力を供給するための電源であり、例えば、ACアダプタ及びバッテリ等である。電源マイコン14は、プロセッサ装置1の電源監視及び制御を行う。また、電源マイコン14は、システム電源13の電源供給の状態を検知し、検知した電源供給の状態の変化に応じて割り込み信号を発生して、システムコントローラ12に通知する。ここで、電源供給の状態の変化とは、電源がACアダプタからバッテリに変化した場合、電源がバッテリからACアダプタに変化した場合、或いは、バッテリの残量が低下した場合等である。
マルチコアプロセッサ11は、複数の、ここではプロセッサコアAからプロセッサコアHまで8個のプロセッサコア15と、制御回路16とを有して構成されている。なお、複数のプロセッサコア15は、別々のチップに集積されているマルチプロセッサの構成でもよい。各プロセッサコア15には、後述する制御回路16からクロック信号CLKが供給される。各プロセッサコア15は、このクロック信号CLKに基づいて、演算等の処理を行う。
制御回路16には、クロック信号CLKが入力される。制御回路16は、このクロック信号CLKを分配し、各プロセッサコア15に供給する。また、制御回路16には、後述するシステムコントローラ12からの制御信号CSが入力され、制御回路16は、この制御信号CSに基づいて、各プロセッサコア15にクロック信号CLKを個別に供給するか否かの制御を行う。即ち、制御回路16は、制御信号CSに基づいて、クロック信号CLKを供給するかあるいは供給しないプロセッサコア15の指定を制御する。
システムコントローラ12は、システムコントローラ12の中のメモリに記憶されるプロセッサコア状態テーブル17及び設定データ18を含んで構成されている。設定データ18には、プロセッサコア15をON又はOFFにするためのデータが格納されている。ここで、プロセッサコア15をONにするとは、プロセッサコア15にクロック信号CLKを供給することであり、プロセッサコア15をOFFにするとは、プロセッサコア15にクロック信号CLKの供給を停止することである。
また、システムコントローラ12は、電源マイコン14からのリセット及び割り込み制御等を行うと共に、電源マイコン14からシステム電源13の電源の状態が通知されると、設定データ18を参照して、各プロセッサコア15にクロック信号CLKを個別に供給するか否かの制御を行うための制御信号CSを制御回路16に出力する。
図2は、本実施の形態に係るプロセッサ装置のソフトウエアの構成を示すブロック図である。図2に示すように、プロセッサ装置1は、複数のプロセッサコア15を有するハードウエア21と、ハードウエア21上において実行されるプログラム群とから構成されているアプリケーションシステムである。そのシステムにおいて実行されるプログラム群は、オペレーティングシステム(以下、OSという)22と、OS22上に設けられた複数のアプリケーション23とを含んで構成されている。
OS22は、複数のアプリケーション23の処理を複数のプロセッサコア15内、動作中のプロセッサコア15のリソースのそれぞれに割り当てる処理を行う。また、OS22は、プロセッサコア15のリソースの開放処理等も行う。ここで、リソースの開放処理とは、全てのプロセッサコア15が、その開放されるリソースを使用できない状態にすることである。また、プロセッサコア15のリソースとは、例えば、ローカルメモリ、演算ユニット及びI/O等である。
ここで、システムコントローラ12に含まれるプロセッサコア状態テーブル17について説明する。図3は、プロセッサコア状態テーブルの例を説明するための説明図である。図3に示すように、プロセッサコア15毎にON状態かOFF状態かを示す1ビットの情報が対応付けられている。テーブルの値が0の場合、対応するプロセッサコア15がOFF状態を示し、テーブルの値が1の場合、対応するプロセッサコア15がON状態を示す。図3の例では、プロセッサコアA及びプロセッサコアHがOFF状態であり、プロセッサコアB及びプロセッサコアCがON状態である。
上述したように、システムコントローラ12は、このプロセッサコア状態テーブル17を参照し、プロセッサコア15に供給されるクロック信号CLKを制御する。
次に、このように構成された実施の形態の動作について説明する。
先ず、システム電源13がONにされた時に、具体的には、ユーザがACアダプタ又はバッテリを用いプロセッサ装置1に電力を供給した時に、所定のプロセッサコア15をOFFにする処理について説明する。図4は、電源ON時のプロセッサコアOFFの処理の流れの例を示すフローチャートである。
先ず、システム電源13がONにされた時に、具体的には、ユーザがACアダプタ又はバッテリを用いプロセッサ装置1に電力を供給した時に、所定のプロセッサコア15をOFFにする処理について説明する。図4は、電源ON時のプロセッサコアOFFの処理の流れの例を示すフローチャートである。
先ず、システム電源13がONにされると図4の処理が開始される。電源マイコン14は、電源供給源がバッテリか否かを検出する(ステップS1)。電源マイコン14は、システム電源13から供給される電圧のレベルを検知し、電源供給源を検出する。電源供給源がバッテリではない場合、即ち、ACアダプタの場合、NOとなり、通常起動の処理が実行される(ステップS2)。この通常起動の処理とは、全てのプロセッサコア15にクロック信号CLKを供給することである。電源供給源がバッテリの場合、YESとなり、電源マイコン14からシステムコントローラ12にバッテリの駆動を通知する(ステップS3)。
システムコントローラ12は、電源マイコン14からバッテリ駆動の通知を受けると、設定データ18を参照して、OFFにするプロセッサコア15を指定し、OS22に通知する(ステップS4)。なお、設定データ18は、複数あってもよい。また、複数ある設定データ18の内、どの設定データを参照するかをユーザにより設定するようにしてもよい。OS22は、指定されたプロセッサコア15のリソース開放処理を実施(ステップS5)した後、システムコントローラ12に指定されたプロセッサコア15のリソース開放処理の完了を通知する(ステップS6)。
システムコントローラ12は、OS22からリソース開放処理の完了の通知を受けると、指定したプロセッサコア15にクロック信号CLKの供給を停止する(ステップS7)。最後に、システムコントローラ12は、プロセッサコア状態テーブル17を更新し(ステップS8)、処理を終了する。
以上の処理の結果、システム電源13がONされると、電源供給源がACアダプタの場合、全てのプロセッサコア15にクロック信号CLKを供給し、電源供給源がバッテリの場合、システムコントローラ12が指定したプロセッサコア15にクロック信号CLKの供給を停止するようにした。この結果、電源供給源がバッテリの場合、所定のプロセッサコア15だけにクロック信号CLKが供給されるため、消費電力を低減することができる。
次に、システム電源13がONにされた時以外に、所定のプロセッサコア15をOFFにする処理について説明する。図5は、電源ON時以外のプロセッサコアOFFの処理の流れの例を示すフローチャートである。ステップS4からステップS8は、上述した図4の処理と同様であるため説明を省略する。
先ず、電源マイコン14は、電源供給の状態が変化したか否かを検出する(ステップS11)。電源供給の状態が変化していない場合、NOとなり、継続動作が行われる(ステップS12)。電源供給の状態が変化した場合、YESとなり、電源マイコン14は、システムコントローラ12に割り込み信号を発生して、その変化のあったことを通知する(ステップS13)。
システムコントローラ12は、電源マイコン14からの割り込み信号を判別し(ステップS14)、電源供給の状態がACアダプタからバッテリに変化したか否かを検出する(ステップS15)。電源供給の状態がACアダプタからバッテリに変化した場合、YESとなり、上述したステップS4からステップS8が実行される。電源供給状態がACアダプタからバッテリに変化していない場合、NOとなり、システムコントローラ12は、バッテリの残量がスレッショルド(以下、THという)まで低下したか否かを検出する(ステップS16)。具体的には、バッテリの残量が後述する図6の矢印により示すTH1又はTH2以下に低下した場合に、バッテリの残量に応じて、OFFするプロセッサコアの数を動的に徐々に増やす処理が行われる。バッテリの残量がTH以下に低下していない場合、NOとなり、判別異常終了の処理が実行される(ステップS17)。
バッテリの残量がTH以下に低下した場合、YESとなり、システムコントローラ12は、演算の処理量が所定値以上になったか否か又は演算の処理量の増加に伴い、OS22からの強制ONの指示があったか否かを検出する(ステップS18)。演算の処理量が所定値以上でなく、かつ、OS22からの強制ONの指示がない場合、NOとなり、上述したステップS4からステップS8が実行される。演算の処理量が所定値以上である又はOS22からの強制ONの指示がある場合、YESとなり、プロセッサコア15を全てONにする処理が実行される(ステップS19)。このプロセッサコア15を全てONにする処理については、後述する図7のステップS23からステップS26において、詳細に説明する。なお、プロセッサコア15を全てONにする処理は、演算の処理量又はOS22から指示に基づいて、停止しているプロセッサコア15の内、所定数だけONにしてもよい。
以上の処理の結果、電源供給源がACアダプタからバッテリに変化した場合、及び、バッテリの残量がTH以下に低下した場合、システムコントローラ12が指定したプロセッサコア15にクロック信号CLKの供給を停止するようにした。この結果、所定のプロセッサコア15だけにクロック信号CLKが供給されるため、消費電力を低減することができる。
ここで、バッテリの残量に応じて、OFFするプロセッサコアの数を動的に徐々に増やしていく処理について説明する。図6は、バッテリの残量とクロック信号CLKが供給されるプロセッサコアの数との関係の例を説明するための説明図である。図6の例では、プロセッサコアの数が8個として説明する。
電源供給源がACアダプタの場合、8個のプロセッサコアにクロック信号CLKが供給される。先ず、電源供給源がACアダプタからバッテリに変化した場合、クロック信号CLKが供給されるプロセッサコアの数を8個から5個にする。バッテリの残量が50%以下になるまでは、クロック信号CLKが供給されるプロセッサコアの数を5個に保ち、バッテリの残量が50%以下、即ち、矢印によって示すTH1以下に低下するとクロック信号CLKが供給されるプロセッサコアの数を4個にする。更に、バッテリの残量が25%以下、即ち、矢印によって示すTH2以下に低下するとクロック信号CLKが供給されるプロセッサコアの数を3個にするように予め設定されている。
このように、バッテリの残量に応じて、クロック信号CLKが供給されるプロセッサコアの数を減らすと、処理量は低下するが、消費電力は低減する。OFFにするプロセッサコアの数及び対象プロセッサコアは、システムコントローラ12内の設定データ18に設定される。なお、OFFにするプロセッサコアの数及び対象プロセッサコアは、ユーザにより設定、或いは、変更できるようにしてもよい。即ち、ユーザによっては、処理量を優先させたい、或いは、バッテリを長く持たせたい場合などがある。
処理量を優先させたい場合、例えば、ユーザは、OFFにするプロセッサコアの数を2個に設定する。これにより、消費電力の低減の効果は小さくなるが、処理量を増やすことができる。また、バッテリを長く持たせたい場合、例えば、ユーザは、OFFにするプロセッサコアの数を6個に設定する。これにより、処理量は低減するが、バッテリの駆動時間を長くすることができる。
次に、プロセッサコアをONにする処理について説明する。図7は、プロセッサコアONの処理の流れの例を示すフローチャートである。ステップS11からステップS14は、上述した図5の処理と同様であるため説明を省略する。
先ず、ステップS14において、システムコントローラ12は、電源マイコン14から割り込みを判別した後、電源供給の状態がバッテリからACアダプタに変化したか否かを検出する(ステップS21)。電源供給状態がバッテリからACアダプタに変化していない場合、NOとなり、判別異常終了の処理が実行される(ステップS22)。電源供給状態がバッテリからACアダプタに変化した場合、YESとなり、システムコントローラ12は、プロセッサコア状態テーブル17を参照して、ONにするプロセッサコア15を指定し、OS22に通知する(ステップS23)。このONにするプロセッサコア15を指定する処理は、システムコントローラがプロセッサコア状態テーブル17を参照し、OFFになっているプロセッサコア15を認識することにより実行される。
次に、システムコントローラ12は、指定したプロセッサコア15にクロック信号CLKを供給(ステップS24)し、クロック信号CLKを供給したことをOS22に通知する(ステップS25)。最後に、システムコントローラ12は、プロセッサコア状態テーブル17を更新し(ステップS26)、処理を終了する。
以上の処理の結果、電源供給源がバッテリからACアダプタに変化した場合、システムコントローラ12が指定したプロセッサコア15にクロック信号CLKを供給するようにした。
以上のように、プロセッサ装置1は、電力供給源がバッテリの場合、指定された1以上のプロセッサコア15にクロック信号CLKの供給を停止することができる。また、プロセッサ装置1は、バッテリの残量の低下に伴って、プロセッサコア15にクロック信号CLKの供給を停止することができる。
よって、本実施の形態のプロセッサ装置によれば、電源供給の状態に基づいて、プロセッサコア毎にクロック信号を供給又は停止する制御を行うことにより消費電力を低減することができる。
なお、本明細書における各フローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
1 プロセッサ装置、11 マルチコアプロセッサ、12 システムコントローラ、13 システム電源、14 電源マイコン、15 プロセッサコア、16 制御回路、17 プロセッサコア状態テーブル、18 設定データ、21 ハードウエア、22 OS、23 アプリケーション
Claims (5)
- 複数のプロセッサコアを搭載するマルチコアプロセッサと、
電源供給の状態を検知し、クロック信号を供給するあるいは供給しないプロセッサコアを指定するための制御信号を出力するシステムコントローラと、
前記制御信号に基づいて、前記クロック信号を供給するあるいは供給しないプロセッサコアの指定を制御する制御部と、
を有することを特徴とするプロセッサ装置。 - 前記システムコントローラは、前記クロック信号を供給するあるいは供給しないプロセッサコアを指定するための情報が格納されている設定データを有し、
前記設定データは、ユーザからの指示に応じて設定又は変更可能なことを特徴とする請求項1に記載のプロセッサ装置。 - 前記システムコントローラは、前記電源供給の状態がACアダプタからバッテリに変化した又はバッテリの残量が所定値以下まで低下した場合、クロック信号を供給しないプロセッサを指定するための前記制御信号を前記制御部に出力することを特徴とする請求項1又は請求項2に記載のプロセッサ装置。
- 前記システムコントローラは、演算の処理量が増大した場合、クロック信号を供給していない全部又は所定数のプロセッサコアに対し、クロック信号を強制供給するための前記制御信号を前記制御部に出力することを特徴とする請求項1から請求項3の何れか1項に記載のプロセッサ装置。
- 前記クロック信号を強制供給する場合、前記演算の処理量に応じた所定数のプロセッサコアに対して、前記クロック信号を強制供給することを特徴とする請求項4に記載のプロセッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008036415A JP2009193536A (ja) | 2008-02-18 | 2008-02-18 | プロセッサ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008036415A JP2009193536A (ja) | 2008-02-18 | 2008-02-18 | プロセッサ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009193536A true JP2009193536A (ja) | 2009-08-27 |
Family
ID=41075463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008036415A Pending JP2009193536A (ja) | 2008-02-18 | 2008-02-18 | プロセッサ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009193536A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043629B2 (en) | 2012-06-15 | 2015-05-26 | Samsung Electronics Co., Ltd. | Multi-cluster processing system and method of operating the same |
US9377830B2 (en) | 2011-12-30 | 2016-06-28 | Samsung Electronics Co., Ltd. | Data processing device with power management unit and portable device having the same |
JP2020054219A (ja) * | 2018-09-21 | 2020-04-02 | セイコーエプソン株式会社 | モバイルデバイス |
-
2008
- 2008-02-18 JP JP2008036415A patent/JP2009193536A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9377830B2 (en) | 2011-12-30 | 2016-06-28 | Samsung Electronics Co., Ltd. | Data processing device with power management unit and portable device having the same |
US9043629B2 (en) | 2012-06-15 | 2015-05-26 | Samsung Electronics Co., Ltd. | Multi-cluster processing system and method of operating the same |
JP2020054219A (ja) * | 2018-09-21 | 2020-04-02 | セイコーエプソン株式会社 | モバイルデバイス |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10310588B2 (en) | Forcing core low power states in a processor | |
JP6227737B2 (ja) | コア単位電圧及び周波数制御の提供 | |
EP2513745B1 (en) | System and method for controlling central processing unit power based on inferred workload parallelism | |
US10031574B2 (en) | Apparatus and method for controlling multi-core processor of computing system | |
US9600059B2 (en) | Facilitating power management in a multi-core processor | |
US7689838B2 (en) | Method and apparatus for providing for detecting processor state transitions | |
CN102687097B (zh) | 用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法 | |
JP5090569B2 (ja) | ミクロアーキテクチャのバンド幅スロットリングによるプロセッサ電力消費制御及び電圧降下 | |
US8726055B2 (en) | Multi-core power management | |
TWI493332B (zh) | 用於電力管理的方法與設備及其平台與電腦可讀取媒體 | |
JP2013544006A (ja) | リソースセット移行をスケジュールすることによる、ポータブルコンピューティングデバイスにおけるプロセッサアプリケーション状態間のリソース待ち時間の最小化 | |
BRPI0907774B1 (pt) | Programação de encadeamento ciente de energia e uso dinâmico de processadores | |
WO2014123587A1 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
US11061841B2 (en) | System and method for implementing a multi-threaded device driver in a computer system | |
JP2013222321A (ja) | メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム | |
US11086390B2 (en) | Method and apparatus for improving power management by controlling a system input current in a power supply unit | |
US20160335127A1 (en) | System and method for dynamic granularity control of parallelized work in a portable computing device (pcd) | |
JP2009193536A (ja) | プロセッサ装置 | |
JP6245056B2 (ja) | 情報処理装置、電源制御プログラム及びusb機器 | |
US20170160782A1 (en) | Share power source mechanism in a multicore processor system | |
TW201814430A (zh) | 電子裝置以及電源管理方法 | |
US9201707B2 (en) | Distributed system, device, method, and program | |
JP5483465B2 (ja) | コンピュータシステム、及び省電力制御方法 | |
JP2006146641A (ja) | マルチスレッドプロセッサ及びマルチスレッドプロセッサの割込み方法 | |
JP2010205046A (ja) | 情報処理装置 |