IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

<>
  • 特開-情報処理装置及び方法 図1A
  • 特開-情報処理装置及び方法 図1B
  • 特開-情報処理装置及び方法 図2
  • 特開-情報処理装置及び方法 図3
  • 特開-情報処理装置及び方法 図4
  • 特開-情報処理装置及び方法 図5
  • 特開-情報処理装置及び方法 図6
  • 特開-情報処理装置及び方法 図7
  • 特開-情報処理装置及び方法 図8
  • 特開-情報処理装置及び方法 図9
  • 特開-情報処理装置及び方法 図10
  • 特開-情報処理装置及び方法 図11
  • 特開-情報処理装置及び方法 図12
  • 特開-情報処理装置及び方法 図13
  • 特開-情報処理装置及び方法 図14
  • 特開-情報処理装置及び方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022037737
(43)【公開日】2022-03-09
(54)【発明の名称】情報処理装置及び方法
(51)【国際特許分類】
   G06F 1/329 20190101AFI20220302BHJP
   G06F 9/50 20060101ALI20220302BHJP
   G06F 9/48 20060101ALI20220302BHJP
   G06F 1/3228 20190101ALI20220302BHJP
   G06F 1/20 20060101ALI20220302BHJP
【FI】
G06F1/329
G06F9/50 120A
G06F9/48 300J
G06F1/3228
G06F1/20 B
G06F1/20 D
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2020142022
(22)【出願日】2020-08-25
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】中村 厚喜
(72)【発明者】
【氏名】内野 顕範
(72)【発明者】
【氏名】織田 弘樹
(72)【発明者】
【氏名】吉沢 肇
【テーマコード(参考)】
5B011
【Fターム(参考)】
5B011EA04
5B011FF01
5B011KK03
5B011LL12
(57)【要約】
【課題】アプリケーションプログラムを実行可能な状態にある情報処理装置であって、ユーザの操作が中断している情報処理装置の発熱を抑制することにある。
【解決手段】処理能力の調整可能なプロセッサを含む情報処理装置は、前記プロセッサが実行する処理を検出する。情報処理装置は、プロセッサが実行する処理の状況を表示させる表示部と、切替制御部とを備える。切替制御部は、処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にする第1調整モードと、前記第1選択範囲の第1処理能力クラスと第2処理能力クラスと第3処理能力クラスの中から比較的高い処理能力に係る前記第1処理能力クラスが除かれた第2選択範囲内を選択の対象にする第2調整モードと、に関し、前記表示部に実行状況を表示させずに実行する所定の処理に対応付けて、前記第1調整モードと前記第2調整モードを切り替えるるように制御する。
【選択図】図4
【特許請求の範囲】
【請求項1】
処理能力の調整可能なプロセッサを含み、前記プロセッサが実行する処理を検出する情報処理装置であって、
前記プロセッサが実行する処理の状況を表示させる表示部と、
処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にする第1調整モードと、前記第1選択範囲の第1処理能力クラスと第2処理能力クラスと第3処理能力クラスの中から比較的高い処理能力に係る前記第1処理能力クラスが除かれた第2選択範囲内を選択の対象にする第2調整モードと、に関し、前記表示部に実行状況を表示させずに実行する所定の処理に対応付けて、前記第1調整モードと前記第2調整モードを切り替えるように制御する切替制御部と、
を備える情報処理装置。
【請求項2】
前記プロセッサの動作を規定する複数の動作モードが前記処理能力の高さに応じて規定され、
前記複数の動作モードは、
前記第1処理能力クラスに対応付けられた第1動作モードと、
前記第1処理能力クラスの処理能力よりも低い処理能力の前記第2処理能力クラスに対応付けられた第2動作モードと、
前記第2処理能力クラスの処理能力よりも低い処理能力の前記第3処理能力クラスに対応付けられた第3動作モードとを含み、
前記切替制御部は、
前記第1調整モードを選択することで、前記第1動作モードから前記第3動作モードまでを含む動作モードで、前記プロセッサの処理を実行可能にして、
前記第2調整モードを選択することで、前記第2動作モードと前記第3動作モードを含む何れかの動作モードで、前記プロセッサの処理を実行可能にする、
請求項1に記載の情報処理装置。
【請求項3】
前記切替制御部は、
実行するスケジュール・タスクがあることと、スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかが検出された場合に、前記第1調整モードと前記第2調整モードを切り替えるための判定を実施する、
請求項1に記載の情報処理装置。
【請求項4】
前記第1動作モードは、前記プロセッサの処理能力の利用を優先させるための動作モードであり、
前記第3動作モードは、前記プロセッサの処理中の静寂性を優先させるための動作モードであり、
前記第2動作モードは、前記プロセッサの処理能力と前記プロセッサの処理中の静寂性の双方の利点をバランスさせるための動作モードである、
請求項2に記載の情報処理装置。
【請求項5】
前記切替制御部は、
前記情報処理装置がアイドル状態にあるなかで、実行のトリガが発生したスケジュール・タスクを対象にする、
請求項1に記載の情報処理装置。
【請求項6】
前記切替制御部は、
前記プロセッサが実行する複数のスケジュール・タスクの中から対象のスケジュール・タスクを識別可能にする対象タスク情報と、前記プロセッサの実行状態を示す実行状態情報とに基づいて、前記第1調整モードと前記第2調整モードを切り替える
請求項1に記載の情報処理装置。
【請求項7】
前記切替制御部は、
前記対象タスク情報に規定された前記対象のスケジュール・タスクに関する前記プロセッサの使用率が所定の閾値に満たない場合に、前記第2調整モードに切り替えるための要件にしない、
請求項6に記載の情報処理装置。
【請求項8】
前記切替制御部は、
前記対象タスク情報に規定された前記対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることを検出し、前記プロセッサによって実行されるバックグラウンドタスクの処理量に応じて、前記対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定する、
請求項7に記載の情報処理装置。
【請求項9】
前記バックグラウンドタスクは、
前記表示部に表示させる情報表示画面を生成しないように形成されている、
請求項8に記載の情報処理装置。
【請求項10】
前記バックグラウンドタスクは、
前記表示部に情報表示画面を表示させる第1プログラムに関連する第2プログラムであって、前記第1プログラムから独立して実行させる前記第2プログラムを含む、
請求項8に記載の情報処理装置。
【請求項11】
前記バックグラウンドタスクは、
関連するアプリケーションプログラムによって規定された動作条件のもとで、前記アプリケーションプログラムから独立して実行されるプロセスを含む、
請求項8に記載の情報処理装置。
【請求項12】
前記第2動作モードと前記第3動作モードに対応する前記プロセッサの消費電力の上限値がそれぞれ規定されていて、前記プロセッサの処理能力が前記第1動作モードと前記第2動作モードの何れかが選択されると、前記選択された動作モードに対応する前記プロセッサが消費する電力の上限値と前記プロセッサの冷却に係る放熱ファンの駆動指令値とを決定する設定部
を備える請求項2に記載の情報処理装置。
【請求項13】
処理能力の調整可能なプロセッサと前記プロセッサが実行する処理の状況を表示させる表示部を含む情報処理装置において、前記プロセッサの処理量を制御する方法であって、
前記プロセッサが実行する処理を検出するステップと、
処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にする第1調整モードと、前記第1選択範囲の第1処理能力クラスと第2処理能力クラスと第3処理能力クラスの中から比較的高い処理能力に係る前記第1処理能力クラスが除かれた第2選択範囲内を選択の対象にする第2調整モードと、に関し、前記表示部に実行状況を表示させずに実行する所定の処理に対応付けて、前記第1調整モードと前記第2調整モードを切り替えるように制御するステップと、
を含む方法。
【請求項14】
前記プロセッサの処理量に係る指標に基づく指定値を指定するステップと、
前記指定値と前記検出の結果とに基づいて、前記プロセッサの処理量の上限を調整するステップと、
をさらに含む請求項13に記載の方法。
【請求項15】
前記プロセッサが実行する処理を検出するステップは、
実行するスケジュール・タスクがあることと、前記スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかを検出するステップを含む、
請求項13に記載の方法。
【請求項16】
前記プロセッサが実行する処理を検出するステップは、
前記プロセッサによって実行されるバックグラウンドタスクの処理量に応じて、スケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定するステップを含む、
請求項13に記載の方法。
【請求項17】
前記プロセッサが実行する処理を検出するステップは、
前記プロセッサによって実行されるタスクの中に、前記プロセッサの処理量に対する所定の比率を超える処理量のバックグラウンドタスクが含まれている場合に、スケジュール・タスクの処理量を制限して実行させるための条件が満たされていると判定するステップを含む、
請求項13に記載の方法。
【請求項18】
前記バックグラウンドタスクは、
OSに含まれるソフトウエアを更新させる更新処理プログラムによるタスク、又は情報のセキュリティ性を検証するためのソフトウエアが起動するバックグラウンドプロセスのタスクを含む、
請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及びプロセッサの処理量を制御する方法に関する。
【背景技術】
【0002】
パーソナル・コンピュータなどの情報処理装置は、CPU(Central Processing Unit)などの動作に応じて発熱し、電子デバイス自体及びその筐体の温度が上昇する。このような情報処理装置には、主要な電子デバイスなどの温度を測定するための温度センサと、温度センサの検出結果に基づいて制御される放熱ファンとが設けられていることがある。
【0003】
特許文献1には、サーマルアクションテーブルを利用する温度制御に関することと、CPUなどの電子デバイスがアイドル状態のときに、冷却ファン(放熱ファン)の回転速度の上昇を抑制することなどが記載されている。
【0004】
情報処理装置におけるOSなどの更新処理、セキュリティ対策処理などの処理は、ユーザの操作によらずに、所定の条件が満たされたときに実行されることがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4448101号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
情報処理装置は、アプリケーションプログラムを実行可能な状態にあるときなどに、ユーザがその情報処理装置を操作しないでいる状態がしばらく続いていると、これに応じて放熱ファンの回転速度が低下した状態になることがある。情報処理装置は、このような状態の下でスケジュール・タスクが実行されると、その筐体の温度が突然上昇したり、これを抑制するために放熱ファンが突然作動したりすることがあった。
【0007】
本発明の目的は、アプリケーションプログラムを実行可能な状態にある情報処理装置であって、ユーザの操作が中断している情報処理装置の発熱を抑制することにある。
【課題を解決するための手段】
【0008】
本発明の一の態様は、処理能力の調整可能なプロセッサを含み、前記プロセッサが実行する処理を検出する情報処理装置である。この情報処理装置は、前記プロセッサが実行する処理の状況を表示させる表示部と、処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にする第1調整モードと、前記第1選択範囲の第1処理能力クラスと第2処理能力クラスと第3処理能力クラスの中から比較的高い処理能力に係る前記第1処理能力クラスが除かれた第2選択範囲内を選択の対象にする第2調整モードと、に関し、前記表示部に実行状況を表示させずに実行する所定の処理に対応付けて、前記第1調整モードと前記第2調整モードを切り替えるように制御する切替制御部と、を備える。
【0009】
本発明の一の態様は、上記の情報処理装置において、前記プロセッサの動作を規定する複数の動作モードが前記処理能力の高さに応じて規定され、前記複数の動作モードは、前記第1処理能力クラスに対応付けられた第1動作モードと、前記第1処理能力クラスの処理能力よりも低い処理能力の前記第2処理能力クラスに対応付けられた第2動作モードと、前記第2処理能力クラスの処理能力よりも低い処理能力の前記第3処理能力クラスに対応付けられた第3動作モードとを含み、前記切替制御部は、前記第1調整モードを選択することで、前記第1動作モードから前記第3動作モードまでを含む動作モードで、前記プロセッサの処理を実行可能にして、前記第2調整モードを選択することで、前記第2動作モードと前記第3動作モードを含む何れかの動作モードで、前記プロセッサの処理を実行可能にするようにしてもよい。
【0010】
本発明の一の態様は、上記の情報処理装置において、前記切替制御部は、実行するスケジュール・タスクがあることと、スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかが検出された場合に、前記第1調整モードと前記第2調整モードを切り替えるための判定を実施するようにしてもよい。
【0011】
本発明の一の態様は、上記の情報処理装置において、前記第1動作モードは、前記プロセッサの処理能力の利用を優先させるための動作モードであり、前記第3動作モードは、前記プロセッサの処理中の静寂性を優先させるための動作モードであり、前記第2動作モードは、前記プロセッサの処理能力と前記プロセッサの処理中の前記静寂性の双方の利点をバランスさせるための動作モードであってもよい。
【0012】
本発明の一の態様は、上記の情報処理装置において、前記切替制御部は、前記情報処理装置がアイドル状態にあるなかで、実行のトリガが発生したスケジュール・タスクを、前記プロセッサの処理量を制御するための対象にするようにしてもよい。
【0013】
本発明の一の態様は、上記の情報処理装置において、前記切替制御部は、前記プロセッサが実行する複数のスケジュール・タスクの中から対象のスケジュール・タスクを識別可能にする対象タスク情報と、前記プロセッサの実行状態を示す実行状態情報とに基づいて、前記第1調整モードと前記第2調整モードを切り替えるようにしてもよい。
【0014】
本発明の一の態様は、上記の情報処理装置において、前記切替制御部は、前記対象タスク情報に規定された前記対象のスケジュール・タスクに関する前記プロセッサの使用率が所定の閾値に満たない場合に、前記第2調整モードに切り替えるための要件にしないようにしてもよい。
【0015】
本発明の一の態様は、上記の情報処理装置において、前記切替制御部は、前記対象タスク情報に規定された前記対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることを検出し、前記プロセッサによって実行されるバックグラウンドタスクの処理量に応じて、前記対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定するようにしてもよい。
【0016】
本発明の一の態様は、上記の情報処理装置において、前記バックグラウンドタスクは、前記表示部に表示させる情報表示画面を生成しないように形成されてもよい。
【0017】
本発明の一の態様は、上記の情報処理装置において、前記バックグラウンドタスクは、前記表示部に情報表示画面を表示させる第1プログラムに関連する第2プログラムであって、前記第1プログラムから独立して実行させる前記第2プログラムを含めてもよい。
【0018】
本発明の一の態様は、上記の情報処理装置において、前記バックグラウンドタスクは、関連するアプリケーションプログラムによって規定された動作条件のもとで、前記アプリケーションプログラムから独立して実行されるプロセスを含めてもよい。
【0019】
本発明の一の態様は、上記の情報処理装置において、前記第2動作モードと前記第3動作モードに対応する前記プロセッサの消費電力の上限値がそれぞれ規定されていて、前記プロセッサの処理能力が前記第1動作モードと前記第2動作モードの何れかが選択されると、前記選択された動作モードに対応する前記プロセッサが消費する電力の上限値と前記プロセッサの冷却に係る放熱ファンの駆動指令値とを決定する設定部を備えてもよい。
【0020】
また、本発明の一の態様は、処理能力の調整可能なプロセッサを含む情報処理装置において、前記プロセッサの処理量を制御する方法であって、前記プロセッサが実行する処理を検出するステップと、処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にする第1調整モードと、前記第1選択範囲の第1処理能力クラスと第2処理能力クラスと第3処理能力クラスの中から比較的高い処理能力に係る前記第1処理能力クラスが除かれた第2選択範囲内を選択の対象にする第2調整モードと、に関し、前記表示部に実行状況を表示させずに実行する所定の処理に対応付けて、前記第1調整モードと前記第2調整モードを切り替えるように制御するステップと、を含む方法である。
【0021】
本発明の一の態様は、上記の方法において、前記プロセッサの処理量に係る指標に基づく指定値を指定するステップと、前記指定値と前記検出の結果とに基づいて、前記プロセッサの処理量の上限を調整するステップと、をさらに含めてもよい。
【0022】
本発明の一の態様は、上記の方法において、前記プロセッサが実行する処理を検出するステップは、実行するスケジュール・タスクがあることと、前記スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかを検出するステップを含めてもよい。
【0023】
本発明の一の態様は、上記の方法において、前記プロセッサが実行する処理を検出するステップは、前記プロセッサによって実行されるバックグラウンドタスクの処理量に応じて、前記スケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定するステップを含めてもよい。
【0024】
本発明の一の態様は、上記の方法において、前記プロセッサが実行する処理を検出するステップは、前記プロセッサによって実行されるタスクの中に、前記プロセッサの処理量に対する所定の比率を超える処理量のバックグラウンドタスクが含まれている場合に、前記スケジュール・タスクの処理量を制限して実行させるための条件が満たされていると判定するステップを含めてもよい。
【0025】
本発明の一の態様は、上記の方法において、前記バックグラウンドタスクは、OSに含まれるソフトウエアを更新させる更新処理プログラムによるタスク、又は情報のセキュリティ性を検証するためのソフトウエアが起動するバックグラウンドプロセスのタスクを含めてもよい。
【発明の効果】
【0026】
本発明の上記態様により、アプリケーションプログラムを実行可能な状態にある情報処理装置において、ユーザの操作が中断している情報処理装置の発熱を抑制することができた。
【図面の簡単な説明】
【0027】
図1A】ノートPC1の一例を示す外観図である。
図1B】ノートPC1の筐体内部の模式的な平面図である。
図2】ノートPC1の主要なハードウェア構成の一例を示す図である。
図3】ノートPC1の機能的な構成の一例を示すブロック図である。
図4】温度制御に利用する温度制御データテーブル(TAT)を説明するための図である。
図5】ノートPC1の動作モードの状態遷移図である。
図6】ノートPC1の動作モード制御について説明するための図である。
図7】実行可能な状態にあるタスクとその分類を説明するための図である。
図8】バックグラウンドタスクリストを説明するための図である。
図9】動作モード制御の手順を示すフローチャートである。
図10】変形例の動作モード制御の手順を示すフローチャートである。
図11】第2の実施形態のノートPC1の機能的な構成の一例を示すブロック図である。
図12】第2の実施形態の電力制御に関わる情報を説明するための図である。
図13】第2の実施形態の電力制御に関わる情報を説明するための図である。
図14】第2の実施形態の電力制御に関わる情報を説明するための図である。
図15】第2の実施形態の動作モード制御の手順を示すフローチャートである。
【発明を実施するための形態】
【0028】
[用 語]
本明細書で使用する用語を説明する。実施形態の「スケジュール・タスク」とは、一般に一連の条件(トリガ条件)が成立したときに実行されるプログラムのことをいう。トリガ条件を設定する主体をトリガ条件のオーナーという。トリガ条件は、OS(operating system)のスケジュール機能に登録される場合がある。このときOSは、トリガ条件のオーナーとしてスケジュール機能に登録されているトリガ条件を監視してスケジュール・タスクを実行する。
【0029】
OS以外のプログラムがトリガ条件のオーナーになる場合がある。当該プログラムは、独自に設定したトリガ条件を監視して、そのトリガ条件が満たされたときに所定の「スケジュール・タスク」を実行する。トリガ条件には、イベント・ベースと時間ベースがある。本実施形態では、トリガ条件として、CPU(Central Processing Unit)の使用率が比較的低い状態の検出、セキュリティ対策処理の起動などが含まれる。このトリガ条件の成立に応じて実行するイベント・ベースのスケジュール・タスクを説明する。
【0030】
これに対して、「一般タスク」とはスケジュール・タスク以外のプログラムをいう。このプログラムには、所謂アプリケーションプログラムが含まれる。
【0031】
アイドル状態とは、CPUの使用率が比較的低い動作状態の一例である。例えば、CPUの使用率が比較的低い状態、その継続時間、HDDへのアクセスの有無、及びユーザによる操作(ユーザ・アクティビティ)の検出の有無などに基づいて定められた所定の条件が成立したときに、情報処理装置は、アイドル状態に遷移する。
【0032】
例えば、CPUの使用率Yは、アイドル・プロセスのユーザ・モード時間の割合をUi、アイドル・プロセスのカーネル・モード時間の割合をKi、経過時間をEtとしたときに次の式で計算することができる。
Y=(1-(Ui+Ki)/Et)×100%
上記の式に示すように、アイドル状態では、CPUの使用率が0%に近い状態になる。
【0033】
タスク開始状態とは、トリガ条件が成立してスケジュール・タスクの実行を開始した直後で、かつ、放熱ファンが回転速度を上昇させる前の状態のことをいう。ユーザ・アクティビティとは、キーボード、ポインティング・デバイス及びタッチスクリーンのような入力デバイス(HID)に対する入力、ユーザにより指示されたプログラムの実行、及びストリーミング・データの再生などのことをいう。ユーザ・アクティビティがある状況であれば、情報処理装置の面前でユーザが情報処理装置を使用している状況と判断してもよい。
【0034】
本実施形態の「バックグラウンドタスク」は、上記のスケジュール・タスクの一例である。「バックグラウンドタスク」は、ユーザ・アクティビティに応じて実行されるアプリケーションプログラムのプロセスを含まない。これに対して、「フォアグランドタスク」は、ユーザ・アクティビティに応じて実行されるアプリケーションプログラムのプロセスを含む。「フォアグランドタスク」とは、一般タスクの一例である。
【0035】
例えば、マイクロソフト(登録商標)社のOSの場合、CPUが実行するタスクを、上記の「アプリケーションプログラム」によるタスクと、OSが実行するタスク(「Windows(登録商標)プロセス」という。)と、上記以外のタスクに大別することができる。例えば、「アプリケーションプログラム」によるタスクは、表示部に表示させる情報表示画面(ビジブルウインドウ)を生成する処理を起動させるように形成されている。
【0036】
OSの識別結果により上記の「アプリケーションプログラム」によるタスクを「フォアグランドタスク」に分類するとよい。これに対し、「フォアグランドタスク」以外のタスクを「バックグラウンドタスク」に分類するとよい。
【0037】
上記とは別の観点で「バックグラウンドタスク」について整理する。
例えば、バックグラウンドタスクは、表示部に情報表示画面を表示させる第1プログラムに関連する第2プログラムであって、前記第1プログラムから独立して実行させる第2プログラムを含むものであってもよい。
【0038】
また、バックグラウンドタスクは、関連するアプリケーションプログラムによって規定された動作条件のもとで、そのアプリケーションプログラムから独立して実行されるプロセスを含むものであってよい。
より具体的には、バックグラウンドタスクには、OSに含まれるソフトウエアを更新させる更新処理プログラムによるタスク、又は情報のセキュリティ性を検証するためのソフトウエアが起動するバックグラウンドプロセスのタスクが含まれていてよい。
【0039】
本実施形態の「処理能力クラス」とは、CPUがプログラムを実行する際に、CPUの実行に許容する処理能力を複数の段階に区分したときに、その各段階のことである。
【0040】
[情報処理装置]
図1Aは、本実施形態における情報処理装置としてのノートPC1の一例を示す外観図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
【0041】
ノートPC1は、第1筐体801と、第2筐体802と、ヒンジ機構803とを備える。
第1筐体801は、表示部14と、カメラ27とを備える筐体であり、ヒンジ機構803により、第2筐体802と接続されている。第1筐体801には、表示部14の表示面F1が視認可能なように表示部14が配置されている。また、カメラ27は、表示部14の表示面F1と同一の第1筐体801の面に配置されている。
【0042】
第2筐体802は、少なくともキーボードなどの入力部32を有する筐体であり、ヒンジ機構803により、第1筐体801と接続されている。第2筐体802は、表面F2に入力部32が配置されており、筐体内部には、ノートPC1の主要なハードウェアが搭載されたマザーボードが格納されている。
【0043】
ヒンジ機構803(回動機構の一例)は、第1筐体801と第2筐体802とを結合しながら、第1筐体801を第2筐体802に対して、回転軸AXの周りに回動可能である。
【0044】
なお、以下の説明において、第1筐体801の表面(表示面F1)と第2筐体802の表面F2との成す角度を開閉角度θと呼ぶ。ヒンジ機構803は、開閉角度θが0度から360度までの範囲で第1筐体801を回動させることができるとともに、多少のトルクがかけられても任意の開閉角度θで、その開閉角度θを維持することができる。
【0045】
このような構成により、ノートPC1は、開閉角度θに応じて、使用モード(使用形態)を変更することが可能である。例えば、開閉角度θが0度である場合、ノートPC1は、クローズモードであり、開閉角度θが360度である場合、ノートPC1は、タブレットモードである。また、例えば、開閉角度θが、0度より大きく190度より小さい場合(0度<θ<190度の場合)、ノートPC1は、ラップトップモードであり、開閉角度θが、190度以上で360度より小さい場合(190度≦θ<360度の場合)、ノートPC1は、スタイルモードである。なお、上記のタブレットモードと同様の開閉角度θにした状態で、図に示さないドッキングステーションに搭載して利用する形態をドックモードということがある。
ここで、図1Aに示す例では、開閉角度θが、0度より大きく190度より小さいラップトップモードに相当する。ラップトップモードの場合、後述するように、処理のパフォーマンスを自動調整するオートモードが適用される。これに対し、スタイルモードとドックモードでは、上記のオートモードが適用されない。
【0046】
図1Bは、ノートPC1の第2筐体802の内部を模式的に示した平面図である。以下に示す説明において、第2筐体802を単に筐体BDと呼び、放熱ファン35を搭載するノートPC1を例示して説明する。これに制限されることなく、本実施の形態は放熱ファン35を搭載しない情報処理装置の筐体温度が突然上昇することを抑制する場合にも適用することができる。
【0047】
筐体BDの内部には、マザーボード10、HDD23、オーディオシステム24、バッテリ34、及び放熱ファン35が配置されている。マザーボード10には、例えば、CPU11、ビデオサブシステム13、チップセット21、BIOSメモリ22、エンベデッドコントローラ31及び電源回路33が実装されている。
【0048】
放熱ファン35は、筐体BD内の空気を外気と入れ替える。例えば、放熱ファン35が作動すると、外気が筐体BDの吸気口81を通じて筐体BD内に入り、ヒート・シンク(不図示)と熱交換して排気口83から筐体BDの外に排出される。ヒート・シンクは、ヒート・パイプ(不図示)などによりCPU11と熱結合されている。筐体BDには、温度管理が必要とされる電子デバイスと筐体BD内の所定の位置に複数の温度センサ36が配置されている。例えば、温度センサ36aはCPU11の温度を検出する。図示されない温度センサ36bから温度センサ36eも、配置された位置の温度を同様に検出する。
【0049】
CPU11は、CPU及びGPU、又はそれらのうちの何れかであってもよい。CPU11はCPUとGPUを同一のコアに形成するタイプでもよい。さらにCPU11はCPUとGPUを別々のコアで形成し負荷を分担するタイプでもよい。CPU11は複数でもよい。
【0050】
一例においてCPU11は、スピード・ステップという技術及びスロットリングという技術に対応している。スピード・ステップは、プロセッサの動作電圧及び動作周波数の値を設定により調整する技術である。例えば、スピード・ステップでは、システムの状態により許可される最大の動作周波数をプロセッサに設定することにより、実際に当該プロセッサが動作する動作周波数を段階的に低下させることができる。
【0051】
CPU11は動作周波数を低下させるときに同時に当該動作周波数でCPU11が動作するのに必要な値まで動作電圧を低下させる。例えば、CPU11は、スピード・ステップを実行するときに、エンベデッドコントローラ31に指示して電源回路33に、CPU11の電圧を、設定した最大動作周波数に適合するよう変更させる。スピード・ステップによってCPU11の消費電力及び発熱量が低下する。
【0052】
スロットリングは、CPU11が一定間隔で動作及び停止するように間欠動作をさせて平均的な処理速度を切り替える機能である。スロットリングを実行するには、システムファームウェアがプロセッサのレジスタにスロットリングの有効/無効の設定及びデューティ比(スロットリング率)を設定する。スピード・ステップもスロットリングも段階的にプロセッサの処理能力及び発熱量を変化させることができる。
【0053】
また、スピード・ステップとスロットリングとを併用し、スピード・ステップによる最低の動作周波数を維持したままでスロットリングに移行することもできる。本実施の形態においては、これらの技術を、プロセッサの処理能力を複数の段階に変化させて発熱量を調整するために利用する。以後、スピード・ステップ及びスロットリング又は何れか一方により変化するプロセッサの処理能力の指令値を離散的な値で示し、その各段階の値を、パフォーマンス・ステップということにする。パフォーマンス・ステップが100%のときは、処理能力が低下しない通常状態になる。プロセッサの処理能力の指令値のことを、電力調整値(power slider position)と呼んでもよい。
【0054】
なお、CPUの中にはコアの温度を監視し、負荷が多くなって温度が上昇したときに動作周波数及び動作電圧を低下させたり、間欠動作をしたりして温度を抑制するように制御する機能を保有するものがある。このような技術の一例としてインテル(登録商標)社が、温度監視制御機能をTCC(Thermal Control Circuit)に組み込んだCPUを提供している。CPU11はTCCを備えるものでもよい。
【0055】
CPU11は、パフォーマンス・ステップが高いほど、かつ、使用率が高いほど消費電力が大きくなり発熱量も多くなる。CPU11は、処理能力を低下させたときに、設定されたパフォーマンス・ステップに対応する消費電力を最大として、負荷に応じた消費電力で動作する。したがって、パフォーマンス・ステップが低下するほど一定のプロセスを実行する時間が長くなる。CPU11が生成した熱は、CPU11自体の温度を上昇させるとともに、筐体BD内部の温度も上昇させる。
【0056】
次に、図2を参照して、ノートPC1の主要なハードウェア構成について説明する。
図2は、ノートPC1の主要なハードウェア構成の一例を示す図である。
【0057】
ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、カメラ27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、バッテリ34と、放熱ファン35と、温度センサ36と、加速度センサ37とを備える。
【0058】
CPU11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0059】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0060】
表示部14は、例えば、液晶ディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。表示部14は、表示面F1が視認可能に第1筐体801に配置されている。
【0061】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。例えば、複数のデバイスとして、後述するBIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、カメラ27と、エンベデッドコントローラ31とが含まれる。
【0062】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0063】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
【0064】
オーディオシステム24は、図示されないマイク及びスピーカが接続され、音データの記録、再生、出力を行う。なお、マイク及びスピーカは、一例として、ノートPC1に内蔵されているものとする。
【0065】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。WLANカード25は、例えば、ネットワークからのデータを受信した際に、データを受信したことを示すイベントトリガを発生する。
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
【0066】
入力部32は、例えば、キーボードなどの、ポインティング・デバイス、タッチパッドなどの入力デバイスである。入力部32は、図1Aに示すように、第2筐体802の表面F2に配置されている。
【0067】
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、AC/DCアダプタなどを含んでおり、外部電源から、又はバッテリ34から供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0068】
バッテリ34は、例えば、リチウムバッテリであり、ノートPC1に外部電源から電力供給されている場合に、電源回路33を介して充電され、ノートPC1に外部電源から電力供給されていない場合に、電源回路33を介して、充電された電力をノートPC1の動作電力として出力する。
【0069】
加速度センサ37は、例えば、3軸加速度センサであり、加速度を検出する。なお、ノートPC1は、2つの加速度センサ37(37A、37B)を備えており、2つの加速度センサ37(37A、37B)の検出結果は、図示しない第1筐体BD1と第2筐体BD2とが成す開閉角度θの検出に利用される。加速度センサ37Aは、例えば、第1筐体BD1の内部に配置され、加速度センサ37Bは、例えば、第2筐体BD2の内部に配置されている。
【0070】
エンベデッドコントローラ31は、ノートPC1のシステムの状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視して制御するワンチップマイコン(One-Chip Microcomputer)である。エンベデッドコントローラ31は、不図示のCPU、ROM、RAM、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備える。エンベデッドコントローラ31のデジタル入出力端子には、例えば、入力部32、電源回路33、放熱ファン35、温度センサ36、及び加速度センサ37などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0071】
エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有する。電源管理機能は、ACPI(Advanced Configuration and Power Interface)仕様に規定されたものに準じていてよい。エンベデッドコントローラ31は、ノートPC1における所定の動作モードによって電源回路33を制御することにより、例えば、CPU11に供給する駆動電力の値を制御する。上記の所定の動作モードには、例えば、オートモード400、固定モード410、及び省電力モード420などが含まれる。ノートPC1の動作モードは、イベントトリガに応答して、オートモード400、固定モード410、及び省電力モード420の何れかに遷移する。なお、ノートPC1の動作モードは、ACPI(Advanced Configuration and Power Interface)仕様に規定された動作モードであってよい。各動作モードについての詳細は、図5図6を参照して後述する。
【0072】
図3は、ノートPC1の機能的な構成の一例を示すブロック図である。ノートPC1は、例えば、制御部100、パラメータ取得部101、電力設定処理部110(設定部)、パワー管理ドライバ111(切替制御部)、アップデート処理部121、アップデート処理管理部122、セキュリティ処理部123、セキュリティ処理管理部124、及びパワー管理サービス部126を備える。制御部100、パラメータ取得部101、電力設定処理部110、パワー管理ドライバ111、アップデート処理部121、アップデート処理管理部122、セキュリティ処理部123、セキュリティ処理管理部124、及びパワー管理サービス部126は、例えば、CPU11などのプロセッサが、HDD23やメインメモリ12などに記憶されたプログラムを実行することにより実現される。また、これらの構成要素は、LSI(Large Scale Integration)やASCI(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェア(回路部;circuitry)によって実現されてもよいし、ソフトウエアとハードウェアの協働によって実現されてもよい。
【0073】
また、図3において、サービス/ユーティリティ、ドライバ、及びBIOSは、例えば、HDD23又はBIOSメモリ22に記憶されているプログラムをメインメモリ12に読み込み、CPU11が実行することにより実現される。ここで、アップデート処理部121、アップデート処理管理部122、セキュリティ処理部123、セキュリティ処理管理部124、及びパワー管理サービス部126がサービス/ユーティリティに対応し、電力設定処理部110及びパワー管理ドライバ111がドライバに対応し、制御部100及びパラメータ取得部101がBIOSに対応する。なお、アップデート処理部121、アップデート処理管理部122、及びパワー管理サービス部126は、OS120の一部として提供されてもよい。さらに、セキュリティ処理部123とセキュリティ処理管理部124は、同様に、OS120の一部として提供されてもよい。
【0074】
アップデート処理部121は、ノートPC1におけるソフトウエアをアップデートする処理(アップデート処理)を実行する。より具体的には、アップデート処理部121は、少なくともOSに含まれるソフトウエアを更新させる更新処理プログラムを実行する。アップデート処理部121による処理は、後述するバックグラウンドタスクの一例である。アップデート処理管理部122は、アップデート処理部121にアップデート処理を実施させるための各種設定を行うための処理を実行する。アップデート処理管理部122による処理は、後述するフォアグラウンドタスクの一例である。
【0075】
セキュリティ処理部123は、ノートPC1におけるセキュリティをチェックする処理や、チェック結果に基づいてセキュリティに関する処理を実行する。より具体的には、セキュリティ処理部123は、情報のセキュリティ性を検証するためのソフトウエアを実行する。上記のソフトウエアを実行に伴って、バックグラウンドプロセスが起動する。セキュリティ処理部123による処理は、後述するバックグラウンドタスクの一例である。セキュリティ処理管理部124は、セキュリティ処理部123に上記の処理を実施させるための各種設定を行うための処理を実行する。セキュリティ処理管理部124による処理は、後述するフォアグラウンドタスクの一例である。
【0076】
パワー管理サービス部126は、パワー管理(消費電力の管理)のためのサービスを提供する。パワー管理サービス部126は、例えば、動作モードを変更するイベントトリガに応じて、動作モードを変更する指示を、パワー管理ドライバ111に出力する。
【0077】
パワー管理ドライバ111は、例えば、ACPI仕様に準拠するドライバである。パワー管理ドライバ111は、パワー管理サービス部126の制御に応じて、ノートPC1の消費電力を管理する。例えば、パワー管理ドライバ111は、パワー管理サービス部126から動作モード変更指示を受け付けたことに応じて、制御部100を制御する。
【0078】
例えば、パワー管理ドライバ111は、OS120がアイドル状態のときに生成するアイドル・プロセスを監視する。アイドル・プロセスは、他のプロセスより高い優先順位で割り当てられる。そのため、ノートPC1がアイドル状態に入ると、アイドル・プロセスは、スケジュール・タスク103よりも先に実行される。
【0079】
パワー管理ドライバ111は、アイドル・プロセスをフックすることができる。パワー管理サービス部126は、パワー管理ドライバ111がフックしたアイドル・プロセスから、ノートPS1のシステムがアイドル状態に遷移したことを認識することができる。このとき電力設定処理部110が認識するアイドル状態は、トリガ条件のオーナーであるOS120が認識するアイドル状態と一致する。電力設定処理部110は、CPU11の使用率をOS120やプロセッサから取得することができる。
【0080】
制御部100は、例えば、DYTC(Dynamic Thermal Control ACPI I/F method)に準じている。制御部100は、エンベデッドコントローラ31を制御する。さらに、制御部100は、電力設定処理部110に対してCPU11における消費電力の上限の変更を指示する。消費電力の上限とは、例えば、「Power Limit」と呼ばれる設定可能な消費電力レベルであり、CPU11が消費できる単位時間当たりの消費電力の上限である。制御部100は、エンベデッドコントローラ31に、電源回路33からCPU11に供給する電力量の変更を指示する。
【0081】
例えば、制御部100は、エンベデッドコントローラ31に対して放熱ファン35の回転数の変更を指示する。なお、制御部100は、回転数に代えて、駆動音量そのものを制御してよい。
【0082】
電力設定処理部110は、例えば、DPTF(Dynamic Platform and Thermal Framework)ドライバである。電力設定処理部110は、制御部100の制御状態に基づいて、CPU11の消費電力の上限を設定する。電力設定処理部110は、例えば、制御部100からの指示に基づいて、CPU11における消費電力の上限の設定を変更する。
【0083】
例えば、電力設定処理部110はさらに所定の監視時間におけるCPU11の平均使用率、ユーザ・アクティビティの有無、ディスク・アクセスの時間などのパラメータを利用して独自のアイドル状態を定義することができる。一例として電力設定処理部110は、最後にユーザ・アクティビティを検出してからの所定の経過時間における使用率がほぼ0%のときにアイドル状態と認識することができる。電力設定処理部110は、独自に定義したアイドル状態を認識して、トリガ条件のオーナーが定義したアイドル状態が成立してスケジュール・タスクが実行される前にCPU11の処理能力を低下させることができる。
BGタスクであるアップデート処理部121と、セキュリティ処理部123は、上記のスケジュール・タスクに分類される処理を実行する処理部の一例である。
【0084】
アイドル状態で一般タスクが実行されると、そのプロセスは優先順位が高いためアイドル・プロセスはCPU11を使用する権利が剥奪される。電力設定処理部110は、この状態を監視してアイドル状態の終了又はアイドル状態のときの一般タスクの実行開始を認識することができる。電力設定処理部110は、CPU11の使用率、消費電力及び温度センサ36aの測定温度などに基づいてタスク開始状態を及びスケジュール・タスクの実行終了を認識することができる。
【0085】
[温度制御系の動作]
エンベデッドコントローラ31は、放熱ファン35の回転速度をステップ状に制御する。
【0086】
図4を参照して、エンベデッドコントローラ31による温度制御について説明する。図4は、温度制御に利用する温度制御データテーブル(TAT)を説明するための図である。この温度制御データテーブルには、温度センサと設定温度の項目が含まれる。例えば、この温度制御データテーブルには、温度センサ36a~36eごとに放熱ファン35の動作状態を停止、低速回転、中速回転、及び高速回転の4段階の速度ステップ間で変更するための設定温度のデータが格納される。設定温度は、各動作状態に対するイネーブル温度LTe、MTe、HTeとディスエーブル温度LTd、MTd、HTdで構成され、回転速度が上昇方向に変化する場合と下降方向に変化する場合との間にヒステリシス特性を形成するように各データが設定される。
【0087】
イネーブル温度LTe、MTe、HTeは、温度センサの測定温度が上昇傾向にある場合に、1ステップ遅い速度ステップから当該速度ステップに移行する温度である。ディスエーブル温度LTd、MTd、HTdは、温度センサの測定温度が下降傾向にある場合に、当該速度ステップより1ステップ遅い速度ステップに移行する温度である。ここで、上記の低速回転より遅い速度ステップは停止状態である。
【0088】
各温度センサ36a~36eに対応して設定されている設定温度は、放熱ファン35をできるだけ低い回転速度で動作させて筐体BDの所定の場所の表面温度が所定値を越えないように、あるいは各電子デバイスがクリティカル温度を超えないように放熱ファン35を適切な回転速度で動作させるように設定されている。
【0089】
エンベデッドコントローラ31は、何れかの温度センサ36a~36eの測定温度がイネーブル温度LTe、MTe、HTeに到達したとき放熱ファン35の回転速度を1ステップ上昇させ、すべての温度センサ36a~36eの測定温度がディスエーブル温度MTd、HTd未満まで下降したとき放熱ファン35の回転速度を1ステップ下降させ、ディスエーブル温度LTd未満になったときに停止させる。
【0090】
エンベデッドコントローラ31は、温度センサ36a~36eの測定温度と温度制御データテーブルに基づいて放熱ファン35の回転速度を制御する。放熱ファン35の回転速度が上昇するほど排気口83を通過する際の空気の摩擦音が大きくなる。
【0091】
例えば、CPU11の温度が上昇すると、これにつれて放熱ファン35の回転速度が上昇して騒音が発生することがある。本実施形態では、この温度制御データテーブルについて動作モードごとに適した数値を定義した1つ以上の温度制御データテーブルを利用する。符号TAT_AからTAT_Eが付されたテーブルは、互いに異なる数値が定義された温度制御データテーブルの一例である。以下に説明する動作モード制御では、これを用いて騒音が大きくならないように制御する。
【0092】
[動作モード制御]
図5図6を参照して、実施形態におけるノートPC1の動作モードの制御(動作モード制御)について説明する。図5は、ノートPC1の動作モードの状態遷移図である。図6は、ノートPC1の動作モード制御について説明するための図である。
【0093】
ノートPC1の動作モードには、CPU11のパフォーマンスに関係する動作モードとして、オートモード400と、固定モード410と、省電力モード420とが含まれる。CPU11のパフォーマンス制御において、ノートPC1の動作モードは、例えば、オートモード400と、固定モード410と、省電力モード420とのなかの何れかに遷移する。
【0094】
オートモード400では、CPU11のパフォーマンスの上限が自動で調整される。オートモード400は、ノートPC1としての最も一般的な利用形態において選択されうる動作モードである。オートモード400は、例えば、最もアクティブな動作を可能にする。
【0095】
これに対し、固定モード410では、CPU11のパフォーマンスの上限が固定される。
【0096】
省電力モード420は、オートモード400と固定モード410に比べて、より低い消費電力の値でCPU11を動作させる動作モードである。省電力モード420は、例えば、迅速に通常の動作状態を提供するオートモード400と固定モード410の何れかに復帰可能な状態でCPU11を待機させるように、低消費電力でCPU11を動作させる。所謂モダンスタンバイモードは、省電力モード420の一例である。モダンスタンバイモードでは、表示部14の表示をオフ(停止)した状態に制御される。なお、省電力モード420は、ソフトウエアにより電源をオフしたシャットダウン状態(電源断状態)であってもよく、作業内容をHDD23などに退避させた休止状態であるハイバネーション状態であってもよい。
【0097】
ユーザは、入力部32を通じて電力設定処理部110の動作モードの選択について自動又は手動を設定する。手動に設定された場合には、電力設定処理部110は、設定された動作モードだけで動作する。自動に設定された場合には、電力設定処理部110は、加速度センサ37から取得した振動や、筐体BDの姿勢などによって、動作モードを選択して、パフォーマンスモード401から静粛モード403の間を遷移させる。
【0098】
ノートPC1が、上記のオートモード400と、固定モード410との何れかで制御されているときに、ユーザの操作が所定時間継続して中断したときに、ノートPC1は、アイドルモードになる。このアイドルモードでは、表示部14の表示をオンした状態で、CPU11によるバックグラウンド処理などの実行が許可される状態になる。
【0099】
オートモード400のより具体的な一例について説明する。上記のオートモード400には、例えば、静粛モード403、パフォーマンスモード401、及びバランスモード402の3つの動作モードが含まれる。ノートPC1の動作モードがオートモード400にあるときに、静粛モード403、パフォーマンスモード401、及びバランスモード402との何れかに遷移する。
【0100】
静粛モード403は処理のパフォーマンスよりも静粛性を優先させるために、温度が上昇したときに放熱ファン35の回転速度を上昇させることよりも先にパフォーマンス・ステップを下げる動作モードに相当する。
【0101】
ここで放熱ファン35の回転速度の抑制は、CPU11の発熱量を低下させることによって、停止している放熱ファン35を回転させないこと、回転している放熱ファン35を停止させること、及び高い回転速度で回転している放熱ファン35を、それが発する騒音が問題にならない程度の回転速度に抑えて回転させることの何れか又は複数を意味する。
【0102】
静粛モード403で制御する場合に、例えば、電力設定処理部110は、CPU11の使用率が100%になっても放熱ファン35が回転しない程度までパフォーマンス・ステップを下げるとよい。あるいは、上記の場合に、電力設定処理部110は、プロセッサの使用率が100%になっても、放熱ファン35の回転速度が、騒音が問題になる回転速度まで上昇しないようにパフォーマンス・ステップを下げることができる。静粛モード403で制御されるCPU11は、設定されたパフォーマンス・ステップに対応する消費電力を上限とし、かつ実行するタスクに応じた消費電力で動作する。
【0103】
パフォーマンスモード401は、静粛性よりもパフォーマンスを優先させるために、温度が上昇したときに先に放熱ファン35の回転速度をその設定可能な上限速度まで上昇させる。上記のように放熱ファン35の回転速度を制御しても、さらに、検出された温度が上昇する場合には、パフォーマンス・ステップを下げるとよい。パフォーマンスモード401は、一例で、机上で静止した状態で実行される。
【0104】
バランスモード402は、静粛モード403の静粛性とパフォーマンスモード401のパフォーマンスの双方の利点を生かすように調整されるモードであり、静粛モード403とパフォーマンスモード401の間に位置するモードである。
【0105】
なお、ノートPC1の使用形態に応じて、適正な動作モードが選択されるように構成されてもよい。例えば、ノートPC1を膝の上で使用する使用形態(ラップトップモード)の場合には、パフォーマンス・ステップと放熱ファン35の回転速度を調和させるように制御する動作モードが設けられていてもよい。吸気口81又は排気口83の通風が制限される傾向にある使用形態(スタイルモードとドックモードなど。)の場合には、パフォーマンス・ステップと放熱ファン35の回転速度を予め定められた範囲内で制御するとよい。スタイルモードとドックモードについて後述するが、これらは上記の固定モード410の一例である。
【0106】
次に、図7を参照して、実行可能な状態にあるタスクとその分類について説明する。
図7は、実行可能な状態にあるタスクとその分類を説明するための図である。
実行可能な状態にあるタスクを、「アプリ」と、「バックグラウンドプロセス」と、「OSプロセス」の3つに大別して、これを管理するためのタスクリストの一例を示す。
【0107】
「アプリ」に分類されている「アプリケーション1」から「アプリケーション4」は、上記のアプリケーションプログラムの一例である。これらは、図示される「アプリケーション1」などの各識別情報によって識別される。「バックグラウンドプロセス」に分類されている「BGプロセス1」から「BGプロセス4」は、上記のバックグラウンドプロセスの一例である。これらは、図示される「BGプロセス1」などの各識別情報などによって識別される。「OSプロセス」には、図示されてない複数のプロセスが含まれる。
【0108】
このタスクリストの各行に対応付けられる各タスクは、スレッドとして管理され、個々に実行させることができる。各タスクに対応付けられて図の右端に記載の数値は、各タスクのCPU使用率である。これらの数値の上段にある数値は、実行中の全タスクによるCPU使用率である。
【0109】
この図7に示されたタスクリストは、後述する実行中タスクリストとして利用してもよい。実施形態では、「アプリ」に分類されるタスクを、「フォアグランドタスク」と呼び、これをFGTと記す。「バックグラウンドプロセス」と、「OSプロセス」とに分類されるタスクを、「バックグラウンドタスク」と呼び、これをBGTと記す。換言すれば、「アプリ」に分類されるタスクは、例えば、表示面FS1に可視ウインドウを表示させるタスクである。
【0110】
例えば、バックグラウンドタスクは、更新処理プログラムによるタスク、又は情報のセキュリティ性を検証するためのソフトウエアが起動するバックグラウンドプロセスのタスクを含むものであってよい。
【0111】
図8は、バックグラウンドタスクリストを説明するための図である。
バックグラウンドタスクリスト(BGタスクリストと呼ぶ。)には、特定のバックグラウンドタスクとして扱う必要のあるタスクを識別するためのデータ(対象タスク情報と呼ぶ。)が予め格納されている。「BGプロセス1」と「BGプロセス2」は、特定のバックグラウンドタスクとして扱う必要のある対象タスクの一例である。「BGプロセス1」は、上記のアップデート処理部121に対応付けられていてよく、「BGプロセス2」は、上記のセキュリティ処理部123に対応付けられていてよい。
【0112】
図9は、動作モード制御の手順を示すフローチャートである。
【0113】
パワー管理ドライバ111は、実行中タスクリストとBGタスクリストとを参照して、実行中タスクリストに含まれている各タスクがBGタスクリストに登録されているプロセス(対象タスク)であるか否かを判定する(ステップSA11)。
BGタスクリストに登録されているプロセスである場合に、パワー管理ドライバ111は、制限対象のBGタスクであると判定する(ステップSA12)。
BGタスクリストに登録されているプロセスでない場合に、パワー管理ドライバ111は、制限対象のBGタスクでないと判定する(ステップSA13)。
パワー管理ドライバ111は、実行中のプロセスの判定が完了したか否かを判定し(ステップSA14)、未完了である場合にステップSA11からの処理を実行する。これにより、パワー管理ドライバ111は、CPU11が実行する複数のスケジュール・タスクの中から対象のスケジュール・タスクを識別可能にする対象タスクを識別する。
【0114】
上記の処理が完了した場合に、パワー管理ドライバ111は、制限対象のBGタスクと判定されたプロセス以外が実行されているか否かを判定する(ステップSA15)。
【0115】
制限対象のBGタスクと判定されたプロセス以外が実行されている場合には、パワー管理ドライバ111は、ノートPC1がアイドル状態か否かを判定する(ステップSA16)。ノートPC1がアイドル状態にない場合には、パワー管理ドライバ111は、通常のオートモードの実行を指定して(ステップSA17)、処理をステップSA18に進める。通常のオートモードとは、パフォーマンスのモード設定に制限を設けないオートモード400のことである。
【0116】
これに対して、制限対象のBGタスクと判定されたプロセス以外が実行されていない場合、又はノートPC1がアイドル状態にある場合には、パワー管理ドライバ111は、パフォーマンスのモード設定に制限を設けたオートモードを実行させる(ステップSA18)。上記の制限を設けたオートモードとは、パフォーマンスのモード設定に制限を設けた制限付きオートモード404のことである。このように、パワー管理ドライバ111は、対象タスク情報と、CPU11の実行状態(アイドル状態)を示す実行状態情報とに基づいて、オートモード400と制限付きオートモード404とを切り替える。
【0117】
パワー管理ドライバ111は、上記の判定の結果を制御部100に通知する。制御部100は、その判定の結果に基づいた温度制御と電力制御とを実施する(ステップSA19)。例えば、制御部100は、エンベデッドコントローラ31によって放熱ファン35を制御させて、CPU11のパフォーマンスを制御して、上記の一連の処理を終える。
【0118】
上記の処理によれば、制限対象のBGタスクが起動している場合、又はノートPC1がアイドル状態にある場合には、ノートPC1が制限付きオートモード404の範囲内で制御されることになり、パフォーマンスモード401への遷移が制限される。この制限された状態は、制限対象のBGタスクが終了した段階で解除される。
【0119】
ノートPC1がアイドル状態にあることの検出は、上述した手法の何れかを適用するとよい。
【0120】
上記の処理のBGタスクリストでは、制限対象のBGタスクを登録する事例であるが、これに代えて制限対象外のBGタスクを登録するようにしてもよい。これに合わせて、上記処理の判定と論理的に矛盾しないように処理の論理を変更するとよい。
【0121】
上記の実施形態によれば、本実施形態のノートPC1は、CPU11(プロセッサ)が実行する処理を検出する。ノートPC1は、CPU11が実行する処理の状況を表示させる表示部14と、パワー管理ドライバ111(切替部)とを備える。パワー管理ドライバ111(切替部)は、処理能力の高さに応じて区分された複数の処理能力クラスを含む第1選択範囲を選択の対象にするオートモード400(第1調整モード)と、第1選択範囲の「パフォーマンスモード(第1処理能力クラス)と、「バランスモード(第2処理能力クラス)」と、「静寂モード(第3処理能力クラス)」の中から比較的高い処理能力に係る「パフォーマンスモード(第1処理能力クラス)が除かれた第2選択範囲内を選択の対象にする制限付きオートモード404(第2調整モード)と、に関する。パワー管理ドライバ111(切替部)は、表示部14に実行状況を表示させずに実行する所定の処理に対応付けて、オートモード400と制限付きオートモード404とを切り替える。
【0122】
これにより、本実施形態のノートPC1は、ユーザの操作が中断している情報処理装置の発熱を抑制することができる。
【0123】
例えば、本実施形態のノートPC1において、CPU11の動作を規定する複数の動作モードが処理能力の高さに応じて規定されてもよい。複数の動作モードは、第1処理能力クラスに対応付けられた第1動作モードと、第1処理能力クラスの処理能力よりも低い処理能力の第2処理能力クラスに対応付けられた第2動作モードと、第2処理能力クラスの処理能力よりも低い処理能力の第3処理能力クラスに対応付けられた第3動作モードとを含むとよい。パワー管理ドライバ111は、第1調整モードを選択することで、第1動作モードから第3動作モードまでを含む動作モードでCPU11の処理を実行可能にして、第2調整モードを選択することで、第2動作モードと第3動作モードを含む何れかの動作モードでCPU11の処理を実行可能にするとよい。これにより、本実施形態のノートPC1のパワー管理ドライバ111は、オートモード400と制限付きオートモード404とを切り替える際に、第2動作モードと第3動作モードを制限付きオートモード404に含めてCPU11の処理を実行させることができる。
【0124】
本実施形態のノートPC1におけるパワー管理ドライバ111は、実行するスケジュール・タスクがあることと、スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかが検出された場合に、オートモード400(第1調整モード)と制限付きオートモード404(第2調整モード)とを切り替えるための判定を実施するとよい。
【0125】
これにより、本実施形態のノートPC1は、実行するスケジュール・タスクがあることと、スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることとの少なくとも何れかが検出された場合に、所定の判定を実施して、その判定結果に基づいてオートモード400と制限付きオートモード404とを切り替えることができる。
【0126】
パワー管理ドライバ111は、ノートPC1がアイドル状態にある中で、実行のトリガが発生したスケジュール・タスクを、CPU11の処理量を制御するための対象にするとよい。
【0127】
本実施形態のノートPC1におけるパワー管理ドライバ111は、CPU11が実行する複数のスケジュール・タスクの中から対象のスケジュール・タスクを識別可能にする対象タスク情報と、CPU11の実行状態を示す実行状態情報とに基づいて、オートモード400と制限付きオートモード404とを切り替えるとよい。これにより、オートモード400と制限付きオートモード404とを切り替えることができる。
【0128】
なお、CPU11が実行する処理をパワー管理サービス部126が検出した場合に、パワー管理ドライバ111は、スケジュール・タスクの処理量を制限して実行することを要するスケジュール・タスクがあることを検出するとよい。パワー管理ドライバ111は、スケジュール・タスクの処理量を制限して実行することを要するスケジュール・タスクがあることを検出したことにより、スケジュール・タスクの処理量を制限して実行することができる。
【0129】
(第1の実施形態の変形例)
第1の実施形態の変形例について説明する。第1の実施形態において、BGタスクと判定されたプロセス以外が実行されているか否かの判定の結果によって、パフォーマンスのモード設定に制限を設ける事例について説明した。本変形例では、上記に加えて、実行中のプロセスのCPU使用率の判定の結果を判断に加える事例について説明する。
【0130】
図10は、変形例の動作モード制御の手順を示すフローチャートである。
本変形例の場合も実施形態と同様に、ステップSA11からステップSA14の処理を実施した後に、パワー管理ドライバ111は、制限対象のBGタスクと判定されたプロセスのCPU使用率がk%未満か否かを判定する(ステップSA15A)。なお、kの大きさは、例えば、0に比較的近い正の実数値であり、これを自然数で示す場合には、1、2などの値にするとよい。
【0131】
BGタスクと判定されたプロセスのCPU使用率がk%未満の場合には、パワー管理ドライバ111は、通常のオートモードを実行させて(ステップSA16)、処理をステップSA19に進める。
【0132】
これに対して、BGタスクと判定されたプロセスのCPU使用率がk%以上の場合には、パワー管理ドライバ111は、パフォーマンスモードにならないようにモード設定に制限を設けたオートモード(制限付きオートモード404)を実行させる(ステップSA18)。
【0133】
実施形態と同様に、パワー管理ドライバ111は、上記の判定の結果を制御部100に通知する。制御部100は、その判定の結果に基づいた温度制御と電力制御とを実施する(ステップSA19)。例えば、制御部100は、エンベデッドコントローラ31によって放熱ファン35を制御させて、さらにCPU11のパフォーマンスを制御して、上記の一連の処理を終える。
【0134】
なお、この処理は、例えば予め定められた周期ごとに実施される。ステップSA15Aにて参照するCPU使用率は、その周期の中で検出された瞬時値を用いるとよい。
【0135】
上記のように、パワー管理ドライバ111は、対象タスク情報に規定された対象のスケジュール・タスクに関するCPU11の使用率が所定の閾値に満たない場合に、制限付きオートモード404(第2調整モード)に切り替えるための要件にしないことで、制限対象のBGタスクによるCPU使用率が比較的低いときに、他のタスクに関する処理の負荷が高まった際にこれを制限することなくオートモード400の範囲で調整することが可能になる。上記のほか、変形例の場合も、実施形態と同様の効果を奏する。
【0136】
(第2の実施形態)
次に、第2の実施形態について説明する。
【0137】
図11を参照して、実施形態の動作モード制御のデータフローについて説明する。
図11は、第2の実施形態のノートPC1の機能的な構成の一例を示すブロック図である。
【0138】
ノートPC1は、制御部100Aと、パラメータ取得部101と、電力設定処理部110Aと、パワー管理ドライバ111Aと、アップデート処理部121、アップデート処理管理部122、セキュリティ処理部123、セキュリティ処理管理部124、及びパワー管理サービス部126とを備える。制御部100Aと、電力設定処理部110Aと、パワー管理ドライバ111Aは、前述の制御部100と、電力設定処理部110と、パワー管理ドライバ111に対応する。
【0139】
以下の説明では、制御部100Aと、電力設定処理部110Aと、パワー管理ドライバ111Aの詳細について、制御部100と、電力設定処理部110と、パワー管理ドライバ111との相違点を中心に説明する。なお、本実施形態のパワー管理ドライバ111Aは、ITSドライバ(Intelligent Thermal Solution Driver)として構成されてもよい。
【0140】
図12から図14は、実施形態の電力制御に関わる情報を説明するための図である。
図12に示すDYTCテーブルは、制御部100Aが制御状態を保持するために利用するテーブルである。例えば、DYTCテーブルは、制御部100Aに設けられていてもよい。
【0141】
DYTCテーブルには、モード(Mode)、分類、選択結果などの項目が含まれる。
モードの項目には、選択可能な動作モードを識別するための識別データが格納される。分類の項目には、動作モードの中で複数のケースに区分して制御する動作モードがある場合に、これを識別するための識別データが格納される。選択結果の項目には、選択された動作モードと分類の結果が格納される。
【0142】
例えば、制御部100Aは、各種センサの検出結果などの各種情報に基づいて動作モードを決定する。上記の各種情報には、上記のPSC情報のほか、例えば加速度センサ37による検出値、筐体BDの開閉状態に基づいた情報(Style情報)、電源回路33によるドックに対する装着状態を示す情報(Dock情報)などが含まれる。動作モードは、オートモード(Auto)、スタイルモード(Style)、ドックモード(Dock)に大別されている。スタイルモード(Style)、ドックモード(Dock)は、図1Aに示した利用形態に対応する。オートモード(Auto)は、図1Aに示した利用形態のラップトップモードに適用される。制御部100Aが上記の情報をDYTCテーブルに追加することで、上記の各動作モードに関する情報が格納される。
【0143】
さらに、DYTCテーブルには、オートモードのBGタスクありのケースとBGタスクなしのケースを識別するための情報が格納される。例えば、制御部100Aによって、オートモードのBGタスクありのケースと、スタイルモードのケースが有効(Yes)であり、他のケースが無効(No)であると判断された結果が追加されている。
【0144】
図13に示すDPTF状態テーブルは、電力設定処理部110が動作モードを決定するために利用するテーブルである。DPTF状態テーブルは、例えば、電力設定処理部110が備える。DPTF状態テーブルには、優先度(Priority)、モード(Mode)、状態2(Condition2)、状態1(Condition1)、持続期間(duration)の各項目が含まれる。
【0145】
優先度の項目は、選択可能な動作モードのうちから選択可能な範囲の上限を示す。値が小さなものほど優先度が高い。モードの項目は、選択可能な各動作モードの名称である。上記の優先度の数値が小さいほうから、「Performance(パフォーマンス)」、「Balanced(バランス)」、「Quiet(静寂)」、「Balanced」、「Dock(ドック)」、「Style(スタイル)」などの名称が付与される。「Performance」は、パフォーマンスモードに対応する。「Balanced」は、バランスモードに対応する。「Quiet」は、静寂モードに対応する。「Dock」は、ドックモードに対応する。「Style」は、スタイルモードに対応する。なお、スタイルモードの場合には、優先度が付与されていないため、後述する優先度制御の対象から除外されるように設定されている。
【0146】
状態2(Condition2)の項目には、特定の動作モードを指定するための情報が格納される。例えば、優先度が「1」の「Performance」の場合には、バックグラウンドタスクに基づくモード制限制御を適用しないことを示す「バックグラウンドタスク(BGT)なし」が書き込まれている。また、「Style」の場合には、「Style」モード固有の制御を行うことを示す「Style」が書き込まれている。「Balanced」、「Quiet」、及び「Float」の各項目には、書き込まれた情報がなく、バックグラウンドタスクに基づくモード制限制御を適用することを示す「バックグラウンドタスク(BGT)あり」が書き込まれている。
【0147】
状態1(Condition1)と持続期間(duration)の各項目には、CPU11の消費電力とその状態の持続時間に基づいたモード制御を実行するための条件が規定されている。
【0148】
例えば、CPU11の消費電力がP1(W)以上の状態がT1(秒)以上持続した場合には、優先度が「1」の「Performance」モードを選択する。CPU11の消費電力がP2(W)以上の状態がT2(秒)以上持続した場合には、優先度が「2」の「Balanced」モードを選択する。CPU11の消費電力がP1(W)以下の状態がT3(秒)以上持続した場合には、優先度が「3」の「Quiet」モードを選択する。CPU11の消費電力がP4(W)以上の状態がT3(秒)以上持続した場合には、優先度が「4」の「Balanced」モードを選択する。上記のP1からP4の大きさは、例えばP4、P1、P2の順に小さくするとよい。上記のT1からT3の大きさは、例えばT1、T2、T3の順に小さくするとよい。
【0149】
上記のように規定されたDPTF状態テーブルを用いて、CPU11の消費電力の大きさと、その消費電力の大きさの状態が続く時間(持続時間)に基づいて、動作モードを選択して、これを優先度番号で指定するとよい。なお、優先度付の選択ルールとして下記のルールを適用してもよい。
【0150】
そのルールの一例として、指定された優先度よりも上位のものを選択することができないことにする。例えば、1が選択された場合には、1よりも大きな数値が付与された各モード(例えば、1から5の全モード)を選択可能である。2が選択された場合には、2よりも大きな数値の各モード(例えば、2から5のモード)を選択可能であるが、1のモードを選択することができない。
【0151】
図14に示すDPTFアクションテーブルは、電力設定処理部110が電力制御に係る指令値を決定するために利用するテーブルである。DPTFアクションテーブルには、モード、電力制限値(Power limit)、ファンテーブル(Fan table)の各項目が含まれる。
【0152】
モードの項目には、選択可能な各動作モードの名称を格納する。電力制限値の項目は、CPU11に許容する消費電力の上限値を格納する。ファンテーブルの項目には、エンベデッドコントローラ31などに通知する温度制御データテーブルの識別情報(例えば、TAT_AからTAT_E。)を格納する。温度制御データテーブルは、上記の通り、動作モードごとに設定され、エンベデッドコントローラ31が放熱ファンを制御することなどの温度制御に利用するテーブルである。
【0153】
例えば、温度制御データテーブルの識別情報を用いて温度制御データテーブルが指定されると、エンベデッドコントローラ31は、温度制御データテーブルの識別情報に基づいて放熱ファン35を制御する。これに加えて、パワー管理ドライバ111は、エンベデッドコントローラ31宛に送信された温度制御データテーブルの識別情報を中継する際に、その温度制御データテーブルの識別情報を識別して、これに基づいて、動作モードを識別する。
【0154】
パワー管理ドライバ111は、例えば、温度制御データテーブルの識別情報がTAT_Aであれば、パフォーマンスモード401が選択されていることを識別して、このパフォーマンスモード401が選択されている状況から、BGタスクがない状況にあると識別する。これに代えて、温度制御データテーブルの識別情報がTAT_BかTAT_Cであれば、パワー管理ドライバ111は、バランスモード402又は静粛モード403が選択されていることを識別できる。パワー管理ドライバ111は、温度制御データテーブルの識別情報がTAT_BかTAT_Cであると、BGタスクがあるかないかを確定することはできない。
【0155】
前述の図11図15を参照して、実施形態の動作モード制御について説明する。図15は、第2の実施形態の動作モード制御の手順を示すフローチャートである。
【0156】
パワー管理サービス部126は、CPU11が実行する処理に応じて、前述のパフォーマンス・ステップを、パワー管理ドライバ111Aに通知する(ステップSB11)。
【0157】
パワー管理ドライバ111Aは、パワー管理サービス部126から上記のパフォーマンス・ステップを取得して、電力設定処理部110からの情報を取得して、これらに基づいて、PSC(Power Slider Condition)情報を生成して(ステップSB12)、この情報を制御部100に供給する。例えば、上記のPSC情報には、電力制御と運転モード選択とのための情報が含まれる。より具体的には、パワー管理ドライバ111Aは、パワー管理サービス部126によって生成されたパフォーマンス・ステップに基づいて制御部100による電力制御のためのPSC情報を生成する。なお、電力設定処理部110からの情報の一例は、後述する放熱ファン35を制御するための指令値として生成された温度制御データテーブルの識別情報である。この情報の生成について説明を進める。
【0158】
制御部100Aは、各種センサの検出結果などの各種情報に基づいて動作モードを決定する(ステップSB13)。上記の各種情報には、上記のPSC情報のほか、例えば加速度センサ37による検出値、筐体BDの開閉情報(Style情報)、電源回路33によるドックに対する装着状態を示す情報(Dock情報)などが含まれる。
【0159】
例えば、制御部100Aは、上記の各種情報に基づいて、例えば、オートモード、スタイルモード、ドックモードの3つの動作モードの中から、特定の動作モードを選択する。なお、制御部100Aは、オートモードの分類を確定する処理を実施するが、初期段階では、制限付きオートモード404を必要とする情報がない状況にある。そこで、制御部100Aは、初期値として例えばオートモード400を選択する。
【0160】
制御部100Aは、選択した動作モードの識別情報と、CPU11の消費電力の上限の変更の指示(「Power Limit」)とを、電力設定処理部110Aに通知する(ステップSB14)。
【0161】
電力設定処理部110Aは、制御部100Aから、選択した動作モードの識別情報と、CPU11の消費電力の上限の変更の指示とを、CPU11の動作状況の情報として受け付ける。電力設定処理部110Aは、上記のCPU11の動作状況の情報に基づいて、DPTF状態テーブルを用いて、その動作状況に適した動作モードの細分類を決定する(ステップSB15)。さらに、電力設定処理部110Aは、DPTF状態テーブルとDPTFアクションテーブルとを用いて動作モードの細分類を決定することで、動作モードの細分類に対応する温度制御データテーブルを決定する(ステップSB16)。電力設定処理部110は、決定した温度制御データテーブルの識別情報を通知する(ステップSB17)。
【0162】
パワー管理ドライバ111Aは、電力設定処理部110Aから通知された温度制御データテーブルの識別情報を受け付けて(ステップSB18)、この識別情報に基づいてオートモードの分類結果を識別する(ステップSB19)。
【0163】
パワー管理ドライバ111Aは、オートモードの分類結果に応じて、オートモード400と制限付きオートモード404の何れかに切り替えて、この結果を制御部100Aに通知する(ステップSB20)。この通知は、上記のステップSB12の通知に係る制御サイクルの次の制御サイクルの通知に相当する。
【0164】
制御部100Aは、パワー管理ドライバ111から通知されたオートモードの分類結果を受け付けて、この分類結果に従い、BGタスクが実行されている状態か否かを識別する(ステップSB21)。制御部100Aは、これに応じて、オートモードの分類をオートモード400と制限付きオートモード404の何れかに決定する。
【0165】
制御部100Aは、上記の識別結果に対応するオートモードによる制御を実施する(ステップSB22)。これにより、制御部100Aは、パワー管理サービス部126からのパフォーマンス・ステップの過大な値に反応してパフォーマンスモード401に遷移することを抑制することができる。
【0166】
上記の制御により、制限付きオートモード404に設定された状態にあるときに、パワー管理サービス部126からのパフォーマンス・ステップが過大であったとしても、パワー管理ドライバ111は、パフォーマンス・ステップの値を制限付きオートモード404の上限値に制限することで、パワー管理サービス部126からのパフォーマンス・ステップの過大な値に反応してパフォーマンスモード401に遷移することを抑制することができる。
【0167】
ステップSB13において、初期値としてオートモード400を選択する事例を例示したが、これに制限されず、制限付きオートモード404を選択してもよい。初期値としてオートモード400を選択していても、十分に短い周期で上記の制御サイクルが繰り返されていれば、次の制御サイクルなどで制限付きオートモード404が選択されて、パフォーマンスモード401に遷移することなく蒸気を制限することができる。
【0168】
上記のように、制御部100Aは、パワー管理サービス部126からのパフォーマンス・ステップに基づいて制御部100Aを制御する。さらに、制御部100Aは、電力設定処理部110Aによって決定された温度制御データテーブルの識別情報に基づいて、制御モードを間接的に検出することで、オートモードがオートモード400と制限付きオートモード404の何れに設定されているかを識別する。
【0169】
本実施形態のノートPC1は、処理能力の調整可能なCPU11を含み、CPU11の処理量を制御する。
パワー管理サービス部126は、CPU11が実行する処理を検出する。アップデート処理部121Aと、セキュリティ処理部123Aなどの処理は、CPU11が実行する処理の一例である。
パワー管理ドライバ111Aは、第1の実施形態と同様に、オートモード400と制限付きオートモード404を切り替える。
【0170】
本実施形態のノートPC1によれば、例えば、アップデート処理部121Aと、セキュリティ処理部123Aなどの処理を、CPU11が実行する処理として判定し、オートモード400と制限付きオートモード404を切り替えることができる。
【0171】
本実施形態のノートPC1におけるパワー管理ドライバ111Aは、対象タスク情報に規定された対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることを検出し、CPU11によって実行されるバックグラウンドタスクの処理量に応じて、対象のスケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定するとよい。
本実施形態のノートPC1によれば、CPU11によって実行されるバックグラウンドタスクの処理量に応じて、対象のスケジュール・タスクの処理量を制限することにより、ユーザの操作が中断している情報処理装置の発熱を抑制することができる。
【0172】
例えば、上記のステップSB15に示したように、電力設定処理部110Aは、動作モードの識別情報を含めたCPU11の動作状況の情報に基づいて、DPTF状態テーブルを用いて、その動作状況に適した動作モードの細分類を決定する。このような状況の中で、パワー管理サービス部126は、CPU11の処理量に係る指標に基づく指定値を指定すると、これに応じて、パワー管理ドライバ111Aは、上記の指定値とCPU11が実行する処理の検出の結果とに基づいてCPU11の処理量の上限を調整して、制御部100を制御するとよい。本実施形態のノートPC1によれば、CPU11の処理量の上限を調整することができる。
【0173】
ステップSB10においてCPU11によって実行される処理をパワー管理サービス部126が検出した場合に、パワー管理ドライバ111Aは、スケジュール・タスクの処理量を制限して実行させるための条件が満たされた状態にあることを検出するように構成するとよい。この検出の結果により、パワー管理ドライバ111Aは、スケジュール・タスクの処理量を制限して実行することができる。
【0174】
例えば、パワー管理ドライバ111Aは、上記の場合に、CPU11によって実行されるバックグラウンドタスクの処理量に応じて、スケジュール・タスクの処理量を制限して実行させるための条件が満たされたと判定してもよい。例えば、パワー管理ドライバ111Aは、CPU11によって実行されるバックグラウンドタスクの処理量が所定量を超える場合に、スケジュール・タスクの処理量を制限して実行させるとよい。
【0175】
(第2の実施形態の変形例)
第2の実施形態の変形例について説明する。第2の実施形態では、CPU11によって実行されるバックグラウンドタスクの処理量を条件に用いた制御の事例について説明した。本変形例では、これに代えて、バックグラウンドタスクのCPU使用率と、フォアグラウンドタスクのCPU使用率とを用いた制御の事例について説明する。
【0176】
例えば、パワー管理ドライバ111Aは、下記の判定を行ってもよい。CPU11によって実行されるタスクの中に、CPU11の処理量に対する所定の比率を超える処理量のバックグラウンドタスクが含まれている場合に、パワー管理ドライバ111Aは、スケジュール・タスクの処理量を制限して実行させるための条件が満たされていると判定してもよい。
【0177】
例えば、バックグラウンドタスクのCPU使用率をBGTrで示し、フォアグラウンドタスクのCPU使用率をFGTrで示し、これらを用いた式(1)を定義する。
【0178】
K = (BGTr) / (BGTr+FGTr) > TH ・・・(1)
【0179】
上記の式(1)は、CPU使用率BGTとCPU使用率FGTrの合計値に対するCPU使用率BGTrの比Kを算出するものである。この式(1)に示されるように、閾値THを超えるほど比率Kが大きな場合には、パワー管理ドライバ111Aは、スケジュール・タスクの処理量を制限して実行させるとよい。これに対して、閾値THを超えるほど比率Kが大きくない場合には、パワー管理ドライバ111Aは、スケジュール・タスクの処理量を制限しないで実行させるとよい。
【0180】
パワー管理ドライバ111Aは、CPU11によって実行されるタスクの中に、CPU11の処理量に対する所定の比率を超える処理量のバックグラウンドタスクが含まれている場合に、上記の判定処理を実施するとよい。例えば、この条件が満たされた場合に、パワー管理ドライバ111Aは、制限付きオートモード404を選択するとよい。
【0181】
本変形例によれば、第2の実施形態と同様の効果を奏することのほか、CPU11の処理量に対する所定の比率を超える処理量のバックグラウンドタスクの処理量とフォアグラウンドタスクの処理量との関係に基づいて、その状態に適した方法で制御することができる。
【0182】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0183】
1 ノートPC、11 CPU(プロセッサ)、21 チップセット、31 エンベデッドコントローラ、35 放熱ファン、36 温度センサ、100 制御部(BIOS)、101 パラメータ取得部、110 電力設定処理部、111 パワー管理ドライバ、120 OS、121 アップデート処理部、122 アップデート処理管理部、123 セキュリティ処理部、124 セキュリティ処理管理部、126 パワー管理サービス部、400 オートモード、401 パフォーマンスモード、403 静粛モード、404 制限付きオートモード、410 固定モード、420 省電力モード、BD 筐体
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15