JP4380986B2 - クロック制御装置及びその記録媒体 - Google Patents
クロック制御装置及びその記録媒体 Download PDFInfo
- Publication number
- JP4380986B2 JP4380986B2 JP2002524795A JP2002524795A JP4380986B2 JP 4380986 B2 JP4380986 B2 JP 4380986B2 JP 2002524795 A JP2002524795 A JP 2002524795A JP 2002524795 A JP2002524795 A JP 2002524795A JP 4380986 B2 JP4380986 B2 JP 4380986B2
- Authority
- JP
- Japan
- Prior art keywords
- clock frequency
- information processing
- system clock
- application
- processing apparatus
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置におけるクロック制御装置及びその記録媒体に関し、オペレータの使用環境(電源条件、温度条件、騒音条件)と、使用するアプリケーションとに応じて、情報処理装置のシステムクロックを変更することにより、最適なパフォーマンスをオペレータに提供することができるクロック制御装置及びその記録媒体に関する。
【0002】
【従来の技術】
近年、パーソナル・コンピュータ等の情報処理装置においては、高性能化が進んでおり、これに伴って、高速なCPUが搭載されるようになってきた。
しかしながら、高速なCPUを搭載すると、CPUの動作クロック周波数も高くなるため、CPUによる消費電力も増大する。
【0003】
このため、情報処理装置の消費電力の省エネルギー化や、バッテリ内蔵のノート型パソコン等におけるバッテリ持続時間の延長化などの問題が出てくる。
この問題に対処するために、情報処理装置のクロック周波数を制御して、アプリケーション実行時におけるCPUの動作クロック周波数を下げてやる方法が種々開発されている。
【0004】
これら従来の方法において、例えば、特許文献1、2及び3等に開示されたものでは、情報処理装置におけるクロック制御が、I/Oからのイベント発生に応じて行われるものである。
【0005】
ところで、実行される複数のアプリケーションの負荷はそれぞれ異なっているものであり、高速のCPUを搭載する情報処理装置において、例えば、負荷の低いアプリケーションに対しても、リソース管理手段が不必要に高いクロックを与えれば、リソースを不必要に浪費するものである。
【0006】
これに対処する方法が、特許文献4、5などに開示されている。これらの従来の方法では、情報処理装置におけるCPUの処理動作に対応して、事前に、アプリケーションに、処理容量、処理時間、CPUの使用量を登録しておき、CPUの処理速度について、アプリケーションの処理容量、処理時間、使用量に基づいて、CPUのクロック周波数を可変制御している。これらの方法によれば、アプリケーションの負荷状況を監視することとなり、CPUのより良いクロック制御が可能となるものである。
【0007】
【特許文献1】
特開平9−237132号公報
【特許文献2】
特開平9−297688号公報
【特許文献3】
特開平9−305268号公報
【特許文献4】
特開平10−143274号公報
【特許文献5】
特開平11−194849号公報
【0008】
【発明が解決しようとする課題】
しかし、これらの従来の方法では、マルチタスクでアプリケーションが実行されるときに、アプリケーションの要求リソースが、実際の情報処理装置が有するリソースを上回る場合がある。この様な場合には、オペレータに最適なパフォーマンスを提供することができないばかりでなく、情報処理装置のアップグレード化が必要である。
【0009】
ところが、情報処理装置のパフォーマンスに関する評価を行い、自動的にオペレータに知らせるという手段は無い。そのため、情報処理装置のアップグレード時期はオペレータの感覚に頼るしかなく、最適な時期でのシステムの更新が出来なかった。
それ故、情報処理装置の更新が必要な時期を求め、オペレータに自動的にアラームする必要がある。
【0010】
また、上述の従来の方法によれば、実行されるアプリケーション毎に、予め登録された処理容量、処理時間、CPUの使用量に基づいて、実際の実行時の処理容量と時間を選定してCPU処理速度を求め、システムクロックを変更しているだけである。これによれば、システムクロックが変更されることによりCPUの処理速度を無用に高速とせず、消費電力の低減となるが、電源条件の厳しい環境下、さらには、温度条件、騒音条件の環境下での情報処理装置の使用については、考慮されていない。
【0011】
従来の方法では、アプリケーションが必要とする以上のクロックをCPUに与えることにより、電力を無駄に消費し、例えば、ノート型パソコンのバッテリ寿命を一層短くするという問題があるばかりでなく、また、バッテリの残容量が少なくなった場合に、最適なパフォーマンスは期待しないが、使用しなければならない時間に応じ、その残容量を有効に消費して、バッテリを長持ちさせたいという問題があった。
【0012】
さらに、従来の方法では、情報処理装置の発熱に対して、ファン等を利用した強制冷却という手段で対応している。情報処理装置の冷却系については、設計段階で予測しえる最大の発熱量に対応できる冷却能力を備えるのが通例である。
【0013】
そうすると、情報処理装置において、現実のアプリケーショシ実行中では、強制冷却が必要な程のパフォーマンスを要求していない場合でも、最大の発熱量に対応する強制冷却が行われ、発熱量が少なくなってもそれによる騒音を発生させている。情報処理装置を使用する環境における外部騒音が大きい場合には問題とならないが、外部騒音が少ない場合には情報処理装置による発生騒音が目立つという問題があった。
本発明は、上記の問題点を解決することを目的とする。
【0014】
【課題を解決するための手段】
本発明はその目的の達成のために、次のような手法を提案する。
情報処理システムにおいて複数のアプリケーションを実行するクロック制御方法として、各アプリケーションを実行するときに、当該各アプリケーションから実行上必要なクロック周波数を読み取り、前記複数のアプリケーション毎に登録し、この登録された前記各クロック周波数に基づいて、前記アプリケーション毎に、前記各アプリケーションを実行する情報処理システムが採りえる最大のクロック周波数に対する前記情報処理システムにおけるCPU使用率を演算し、演算された前記アプリケーション毎の前記各CPU使用率の総和と前記最大のクロック周波数との乗算に基づいて決定されたシステムクロック周波数を前記情報処理システムに設定して、前記各アプリケーションを実行する。
【0016】
また、前記アプリケーションに係る実行上必要な前記クロック周波数は、当該アプリケーションが快適に動作する第1クロック周波数と、当該アプリケーションが動作上最低限必要な第2クロック周波数とを含み、前記情報処理システムの平常状態での運行時には、前記第1クロック周波数に基づいて第1システムクロック周波数を決定し、前記情報処理システムの特定状態での運行時には、前記第2クロック周波数に基づいて第2システムクロック周波数を決定し、該決定された第1又は第2のいずれかのシステムクロックを前記各状態に応じて前記情報処理システムに設定するクロック制御方法とした。
【0017】
そして前記特定状態が、前記情報処理システムにおける電源容量が変化した場合には、検出した前記電源容量の変化に応じて、前記第1システムクロック周波数に換えて、前記第2システムクロック周波数を前記情報処理システムに設定し、前記情報処理システムの運用予定時間が設定されている場合には、検出した前記電源容量から算出された運用時間が少なくとも前記運用予定時間となるように、前記第1システムクロック周波数及び前記第2システムクロック周波数から選択して、いずれか一方を前記情報処理システムに設定する。
【0018】
さらに前記特定状態が、前記情報処理システム内の温度が変化した場合には、検出した前記温度の変化に対応して、前記システムクロック周波数を可変とし、該システムクロック周波数を前記情報処理システムに設定し、前記温度が前記情報処理システムの誤動作を起こす範囲である場合には、前記第2システムクロック周波数を設定し、前記温度が前記情報処理システムの誤動作を起こす範囲に近い場合、所定幅で前記第2システムクロック周波数から上げてシステムクロック周波数として設定し、前記温度が前記情報処理システムの誤動作を起こす範囲から遠い場合には、前記第1システムクロック周波数から所定幅下げてシステムクロック周波数として設定する。
【0019】
また、前記特定状態が、前記情報処理システムの外部騒音が変化した場合には、検出した前記外部騒音の変化に応じて、前記システムクロック周波数を可変とし、該システムクロック周波数を前記情報処理システムに設定するクロック制御方法とした。
前記外部騒音量に対して、前記情報処理システムの騒音が許容範囲内の場合には、前記第2システムクロック周波数を前記情報処理システムに設定し、前記情報処理システムから発生する騒音レベルに対応する予め用意された許容クロック周波数に基づき、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより高い場合には、前記第1システムクロック周波数を前記情報処理システムに設定し、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより低い場合には、前記外部騒音のレベルに対応する前記許容クロック周波数を前記情報処理システムに設定する。
【0020】
以上によるクロック制御方法を情報処理システムにおいて実現するため、情報処理システムに実行されるプログラムを格納した記録媒体とした。
【0021】
さらに、複数のアプリケーションを実行できる情報処理装置において、前記各アプリケーションから読み取られた実行上必要なクロック周波数を、前記複数のアプリケーション毎に登録する記憶部と、前記記憶部に登録された前記各クロック周波数に基づいて、前記アプリケーション毎に、前記各アプリケーションを実行する前記情報処理装置が採りえる最大のクロック周波数に対する前記情報処理装置のCPU使用率を演算し、演算された前記アプリケーション毎の前記各CPU使用率の総和と前記最大のクロック周波数との乗算に基づいて、前記情報処理装置のシステムクロック周波数を決定し、該システムクロック周波数を設定する制御装置を含めた。
【0023】
また、前記記憶部では、前記アプリケーションに係る実行上必要な前記クロック周波数として、当該アプリケーションが快適に動作する第1クロック周波数と、当該アプリケーションが動作上最低限必要な第2クロック周波数とを登録でき、前記制御部では、前記情報処理装置の平常状態での運行時には、前記第1クロック周波数に基づいて第1システムクロック周波数を決定し、前記情報処理装置の特定状態での運行時には、前記第2クロック周波数に基づいて第2システムクロック周波数を決定し、該決定された第1又は第2のいずれかのシステムクロックを前記各状態に応じて設定する。
【0024】
さらに、前記制御部は、前記特定状態として電源容量の変化を検出し、検出できた前記変化に応じて、前記第1システムクロック周波数に換えて、前記第2システムクロック周波数を設定し、また、検出した前記電源容量から算出された運用時間が予め設定された運用予定時間以上となるように、前記第1システムクロック周波数及び前記第2システムクロック周波数から選択して、いずれか一方を設定する。
【0025】
さらに、前記制御部は、前記特定状態として前記情報処理装置内の温度を測定し、測定した前記温度に対応して前記システムクロック周波数を可変し、該システムクロック周波数を設定し、前記温度が前記情報処理装置の誤動作を起こす範囲である場合には、前記第2システムクロック周波数を設定し、前記温度が前記情報処理装置の誤動作を起こす範囲に近い場合には、前記第2システムクロック周波数から所定幅上げてシステムクロック周波数として設定し、前記温度が前記情報処理装置の誤動作を起こす範囲から遠い場合には、前記第1システムクロック周波数から所定幅下げてシステムクロック周波数として設定する。
【0026】
さらにまた、前記制御部は、前記特定状態として外部騒音を測定し、測定した前記外部騒音の変化に応じて前記システムクロック周波数を可変し、該システムクロック周波数を設定し、前記外部騒音量に対して前記情報処理システムの騒音が許容範囲内の場合には、前記第2システムクロック周波数を設定し、そして、前記情報処理装置から発生する騒音レベルに対応する予め登録された許容クロック周波数に基づいて、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより高い場合には、前記第1システムクロック周波数を設定し、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより低い場合には、前記外部騒音のレベルに対応する前記許容クロック周波数を設定するようにした。
【0027】
【発明の実施の形態】
本発明による実施形態を説明する前に、本発明の基礎となる形態について、図1乃至図4を参照して説明する。
【0028】
図1は、情報処理装置、例えば、パーソナル・コンピュータ(PC)におけるリソース管理手段について、リソース管理に係わる部分の概略をブロックで示している。
【0029】
図1に示されたPCは、CPU1を備えており、例えば、WINDOWSのようなOSにより各種アプリケーションを実行できるように構成されている。そして、このPCを駆動するために、これらOS、各種アプリケーションのリソースを管理するリソース管理手段2が用意されている。
【0030】
図1においては、アプリケーション4、5として、AP1及びAP2を模式的に示しているが、PCには、複数のアプリケーションAPnが格納されているのが普通であり。特に、図1では、マルチタスクで2つのアプリケーションAP1及びAP2が実行中であるものとして表した。
【0031】
リソース管理手段2は、記憶部21、制御部22を有し、記憶部21には、リソース管理上必要な情報が格納され、制御部22は、このリソース管理情報に基づいて、PCを駆動制御する。さらに、制御部22は、CPU1についてシステムクロック下でのCPU使用率を監視し、測定する機能を有する。
【0032】
PCには、システムクロックを発生し、CPU1にシステムクロックを供給するCPUクロック制御回路が備えられており、制御部22の指示により、発生するクロック周波数が可変制御される。
【0033】
記憶部21には、リソース管理情報の一つとして、アプリケーション毎に快適動作のクロック周波数を取り込み、記憶しておく。快適動作のクロック周波数とは、当該アプリケーション実行中において、オペレータがPCの快適動作と感じる当該アプリケーション特有のクロック周波数である。
【0034】
これは、アプリケーション・ベンダーが、どの程度であれば快適動作であるかを考慮して、予めアプリケーションに書き込んでおく。そして、PCを駆動する際に、マルチタスクで係わるアプリケーションのそれぞれから、各アプリケーションに書き込まれた快適動作のクロック周波数を取り出し、図2に示す第1管理テーブルを作成し、記憶部21に記憶する。
【0035】
最近のPCでは、一般に、高速化が進んでおり、これら実行されるアプリケーションの快適動作のクロック周波数より早い速度のクロックが使用されている。そのため、CPUが、この様な高速のクロック周波数で動作しても、オペレータによるキーボード操作待ち、CD−ROM等におけるストレージ・アクセス待ちのように、実際には、CPU自体が動作せず、待機状態になり、全体のCPU使用率を下げている。各アプリケーションに対する快適動作のクロック周波数を設定することは、このCPU使用率の低下にも対処するものである。
【0036】
図2では、図1に示されるように、アプリケーションAP1及びAP2が実行されるので、アプリケーションAP1から30MHz を、アプリケーションAP2から60MHz を取り出して、テーブルに記憶する。また、OSに対しても快適動作として、「リソース管理」アプリケーション欄に30MHz を記憶する。
【0037】
なお、アプリケーション・ベンダーが快適動作のクロック周波数を予めアプリケーションに書き込んでおくようにしたが、オペレータが快適動作のクロック周波数をアプリケーション毎に第1管理テーブルに記憶するようにしてもよい。
【0038】
次いで、制御部22は、第1管理テーブルに記憶されたクロック周波数に基づいて、各アプリケーションについて、快適動作のクロックでCPUを駆動する場合のCPU使用率を算出し、該テーブルに記憶する。この算出に当たっては、今使用しているPCが採りえる最大のクロック周波数を用いる。これは、通常、PCの動作速度に関する性能を表すクロック周波数となる。
【0039】
図2に示した例では、PCが採りえる最大のクロック周波数を300MHz とした場合を示しており、アプリケーションAP1の快適動作のクロック周波数が30MHz であるので、アプリケーションAP1の実行中のCPU使用率は10%となり、また、アプリケーションAP2のそれが60MHz であるので、そのCPU使用率は20%となる。同様に、リソース管理のCPU使用率は10%となる。
【0040】
そこで、各アプリケーションがマルチタスクで実行されるので、PCとしてのCPU使用率は、実行されるアプリケーション毎のCPU使用率の総和となる。図2の例によれば、そのCPU使用率の総和は、40%となる。
【0041】
それ故、PCとしては、システムクロック周波数が300MHz であっても、このクロック周波数の内、40%分のクロック周波数で動作すれば十分であり、オペレータは、PCを快適に操作していると感ずることができる。300MHz ×40%=120MHz となり、PCのシステムクロック周波数を300MHz から120MHz に変更すればよい。
【0042】
制御部22は、CPU使用率の総和からPCのシステムクロック周波数を求め、CPUクロック制御回路3に対して、300MHz から120MHz に変更する指示を出す。そして、CPUクロック制御回路3は、変更した120MHz のクロックをCPU1に供給する。
以上のように、PCの負荷量に応じて、つまり実行されるアプリケーションに応じて、アプリケーション毎の快適動作のクロック周波数を把握することにより、CPU使用率の総和からクロック周波数を求める。そして、そのクロック周波数がシステムクロック周波数に決定される。
【0043】
次に、図1に示されたリソース管理手段2の動作について、図3のフローチャートを参照して説明する。
【0044】
マルチタスクで各アプリケーションの実行が開始されると、リソース管理手段2は、実行に係わる各アプリケーションAPnから快適動作のクロック周波数を取り出し、図2に示した第1管理テーブルを作成し、記憶する。そして、該テーブルに記憶したアプリケーションAPn毎のクロック周波数に基づいて、アプリケーションAPn毎のCPU使用率を求める(ステップS101)。そのCPU使用率は、この時のPCが採りえる最大のクロック周波数を基に算出する。
【0045】
リソース管理手段2は、アプリケーションAPn毎のCPU使用率が求めた後に、アプリケーションAPn毎のCPU使用率の総和を求め、最大クロック周波数により前記PCとして快適動作を行えるシステムクロック周波数を求め、設定する。そして、CPUクロック制御回路3は、求められたシステムクロック周波数に変更制御して、CPU1にこのシステムクロックを供給する(ステップS102)。
【0046】
PCが、新たに設定されたシステムクロック周波数で動作すると、リソース管理手段2は、現在動作中のCPUにおけるCPU使用率を測定する(ステップS103)。
【0047】
このとき、測定されたCPU使用率が100%であるかどうかを判断する(ステップS104)。もし、CPU使用率が100%であると、設定したシステムクロック周波数では、複数のアプリケーションAPnを実行するには、CPU1の駆動が遅くなっている可能性があるからである。
【0048】
ステップS104で、測定されたCPU使用率が100%である場合(Y)、ステップS101に戻り、複数のアプリケーションAPn毎のCPU使用率を求め、ステップS102に進み、システムクロック周波数を設定し直す。
【0049】
一方、ステップS104で、測定されたCPU使用率が100%でない場合(N)には、測定されたCPU使用率が100%に近い状態でCPUが動作しているかを判断する(ステップS105)。100%に近い状態とは、100%以下であるが、例えば、95〜100%であり、CPUの動作としては、多少余裕があり、しかも最も効率的に動作している状態を意味している。
【0050】
ここで、測定されたCPU使用率が100%に近い状態の場合(Y)には、設定されているクロック周波数でCPUの駆動を続行すればよいので、ステップS103に戻り、CPU使用率を測定し、監視を続ける。
また、ステップS105で、測定されたCPU使用率が100%には遠い状態の場合(N)には、システムクロック周波数を設定し直すべく、ステップS101に戻る。
【0051】
この様に、実行される複数のアプリケーションに応じて、アプリケーション毎の快適動作のクロック周波数からシステムクロック周波数を求め、これを、PCのシステムクロックに設定するので、オペレータが快適にアプリケーションを使用することができる。
【0052】
これまで、図1に示したリソース管理手段2によって、複数のアプリケーションを実行する場合において、オペレータが快適にアプリケーションを使用することができるようにできた。しかし、多くのアプリケーションを実行するとき、PCが採りえる最大のクロック周波数が、元々低い場合には、アプリケーション個々の快適動作のクロック周波数がその最大クロック周波数より小さくても、PCとして過負荷の状態になる可能性がある。つまり、多くのアプリケーションを実行するには、性能不足といえる。
【0053】
この様な状態では、オペレータが快適にアプリケーションを使用することができるとはいえないので、PCの性能不足によって快適動作がなされていないことをアラームすることができれば、オペレータは、PCのアップグレードの必要性に簡単に気付くことができる。
【0054】
これに使用されるリソース管理手段2は、図1に示されたブロック構成でよいが、制御部22に、CPU1の性能不足を判断できる機能を付加し、この判断結果に応じて動作するアラーム手段が接続される。アラーム手段には、ランプ等の点滅、あるいはPC画面上でのメッセージ表示等を利用できる。
【0055】
この場合のリソース管理手段2の動作について、図4のフローチャートを参照して説明する。
【0056】
図4のフローチャートに示される動作では、図3に示されたフローチャートのステップS101からステップS105までの動作と基本的には同様であるが、ステップS203の動作が挿入されていることが特徴である。ここでは、図3と同様の動作部分についての説明を省略する。
【0057】
ステップS203では、ステップS202において設定されたシステムクロック周波数について、PCが採りえる最大のクロック周波数より低いかどうかが判断される。ここで、もし、設定されたシステムクロック周波数が、最大クロック周波数より低い場合(Y)、CPU1の性能不足とはいえないので、ステップS204に進み、以降の動作は、図3のステップS103からステップS105の動作と同様である。
【0058】
一方、ステップS203で、設定されたシステムクロック周波数が、最大クロック周波数より高いと判断された場合(N)、CPU1の性能不足の可能性があるので、ログにCPU性能不足を記録する(ステップS207)。
【0059】
しかし、CPU1の性能不足という判断結果が、例えば、数度出ただけでは、一時的に性能不足に陥ったに過ぎず、アップグレードする程ではない可能性もある。そのため、CPU1の性能不足という判断結果が度重なって頻発する場合には、アップグレードする必要があると判断する(ステップS208)。
【0060】
ステップS208で、性能不足という判断結果が数度に止まる場合(N)、アップグレードの必要性はないので、ステップS201に戻り、システムクロック周波数を設定し直す動作に進む。また、性能不足が頻発している場合(Y)、CPU1の性能不足によるアップグレードの必要性ありとして、アラームを発する(ステップS209)。
【0061】
この様な動作をリソース管理手段2に追加することにより、PCの性能不足によって快適動作がなされていないことをアラームすることができ、オペレータは、PCのアップグレードの必要性に簡単に気付くことができる。
【0062】
以上で述べたリソース管理手段2によれば、オペレータが快適にアプリケーションを使用できるように、PCのシステムクロックを最大クロック周波数より低く設定して、PC全体のCPU使用率を上げていた。
【0063】
また、オペレータが快適にアプリケーションを使用できるように、実行されるアプリケーションに応じて、アプリケーション毎の快適動作のクロック周波数を把握して、システムクロック周波数を制御することに加えて、バッテリの残容量が少なくなったときの電源条件、CPUの発熱量に対応する温度条件、さらには、使用環境に対応してPCのから発生する雑音を抑制する環境条件に基づいて、システムクロック周波数を変更制御することにより、オペレータがより快適にアプリケーションを使用できるようになる。
【0064】
そこで、オペレータの使用環境について、電源条件、温度条件及び環境条件による場合に分けて、図5乃至図14を参照しながら、以下に説明する。
【0065】
〔電源条件による場合〕
図5に示したリソース管理手段2が、図1に示したリソース管理手段2と異なる部分は、制御部22が、電源制御回路6からバッテリ残容量に関する情報を取得できるようになっていることである。電源制御回路6には、バッテリ61が接続されており、バッテリ使用量に関するデータベースを保持している。さらに、記憶部21内に格納されるリソース管理テーブルには、複数のアプリケーションAPn毎に、快適動作のクロックの他に、最低限動作のクロックをも記憶できるようにしたことである。
【0066】
この快適動作のクロックの他に、最低限動作のクロックをも記憶できるようにした第2管理テーブルを、図6に示す。第2管理テーブルの基本的構成は、図2の第1管理テーブルと同様であるが、アプリケーション毎に、最低限動作のクロックをさらに記憶できる。
最低限動作のクロックとは、オペレータがアプリケーションを快適には使用できないが、実用上の使用には耐えられる最低限必要なクロック周波数を意味している。これは、アプリケーション毎に、アプリケーション・ベンダーが予めアプリケーションに書き込んでおくものである。
【0067】
アプリケーションが実行されるときに、リソース管理手段2が、書き込まれている快適動作のクロック周波数と共に、最低限動作のクロック周波数を取り出し、記憶部21内に記憶して、第2管理テーブルを作成する。
【0068】
図6に示す例によれば、最低限動作のクロック周波数は、アプリケーションAP1が、10MHz 、アプリケーションAP2が、20MHz 、そしてリソース管理が、10MHz となっている。制御部22は、これらの最低限動作のクロック周波数に基づいて、最低限動作時のCPU使用率を算出する。ここで、PCの採りえる最大のクロック周波数が300MHz として、アプリケーション毎に、最低限動作時のCPU使用率を求めると、アプリケーションAP1が、3.3%、アプリケーションAP2が、6.6%、そしてリソース管理が、3.3%となる。
【0069】
全体の最低限動作時のCPU使用率は、各アプリケーションのCPU使用率の総和となるので、図6の例では、その総和は、13.3%となる。PCの採りえる最大のクロック周波数が300MHz の場合には、最低限動作時のシステムクロック周波数は、300MHz ×13.3%=40MHz となる。
【0070】
この様にして求めたクロック周波数をシステムクロック周波数として設定することにより、300MHz のシステムクロックである場合に比較して、最低限動作時に移行した場合において、CPUの消費電力が大幅に減らすことができ、バッテリの残容量が減少したときにおいて、PCの動作時間を延ばすことができる。
【0071】
次に、図5のリソース管理手段2の動作について、図7のフローチャートを参照して説明する。
【0072】
マルチタスクで各アプリケーションの実行が開始されると、リソース管理手段2は、実行に係わる各アプリケーションAPnから快適動作のクロック周波数と最低限動作のクロック周波数とを取り出し、図6に示した第2管理テーブルを作成し、記憶する。そして、該テーブルに記憶したアプリケーションAPn毎のクロック周波数に基づいて、アプリケーションAPn毎に、最適動作のCPU使用率と最低限動作のCPU使用率とをそれぞれ求める(ステップS301)。それらのCPU使用率は、この時のPCが採りえる最大のクロック周波数を基に算出する。
【0073】
リソース管理手段2は、アプリケーションAPn毎の最適動作時のCPU使用率と最低限動作時のCPU使用率を求めた後に、それぞれの動作時に対応して、CPU使用率の総和を求めておく。
ここで、制御部22は、電源制御回路6からバッテリ残容量のデータを読みだし、バッテリ残容量を測定する(ステップS302)。
【0074】
予めバッテリ残容量の大きさに対応して、システムクロック周波数を設定しておく。バッテリ残容量が、例えば、50〜100%では、快適動作時のクロック周波数、50〜25%では、快適動作時と最低限動作時との中間のクロック周波数、そして25%以下では最低限動作時のクロック周波数、というように選定基準を設定しておき、バッテリ残容量に応じて段階的にシステムクロックを変更できるようにする。さらに細かく多段階で設定しても良い。勿論、CPUクロック制御回路3も、制御部22の指示により、この段階的変更に対応してシステムクロックを供給できるように設計しておく。
【0075】
ステップS301で測定したバッテリ残容量に応じて、上記の選定基準を参照してCPUに供給するシステムクロック周波数を求める(ステップS302)。
ここで求めたシステムクロック周波数が、最低限動作に必要なクロック周波数以上であるかどうかが判断される(ステップS304)。これは、最低限動作時のクロック周波数ということになれば、バッテリ残容量が相当少なくなっていることを表しているので、アプリケーションを使用中に、バッテリ切れを生ずる可能性が大きいからである。
【0076】
ステップS303で求められたクロック周波数が、最低限動作時のクロック周波数より高い場合(Y)には、その求めたクロック周波数をPCのシステムクロックとして設定する(ステップS305)。このステップS305以降のステップS306からステップS308までの動作は、図3におけるステップS103からステップS105の動作と同様である。
【0077】
ただ、図7に示す動作では、バッテリ残容量に対応してクロック周波数を求めているので、測定されたCPU使用率が100%に近い場合(ステップS308のY)には、バッテリ残容量を監視し続けるため、ステップS302に戻る。
【0078】
一方、ステップS303で求めたクロック周波数が、最低限動作のクロック周波数になった場合(ステップS304のN)には、その求めたクロック周波数、つまり最低限動作のクロック周波数をPCのシステムクロックとして設定する(ステップS309)。そこで、最低限動作のクロック周波数がPCのシステムクロックとして設定されると、バッテリ残容量が少ないことを意味する。オペレータがアプリケーションを運用中に、バッテリ切れを起こす可能性が大きくなるので、オペレータにバッテリ切れの可能性があることをアラームで通知する(ステップS310)。オペレータがこのアラームに気付けば、アプリケーションの運用を中止するか、又はバッテリ充電を開始することができる。
【0079】
そして、アラームを通知後には、ステップS301に戻り、システムクロック周波数の設定し直しを行う。
【0080】
以上のように、PCの負荷に対応し、しかもバッテリ残容量に応じて、PCのシステムクロック周波数を変更するようにしたので、オペレータがアプリケーションを快適に使用できるばかりでなく、PCの使用時間を長く延ばすことが可能となる。そして、アプリケーション使用中でのバッテリ切れを事前に把握することができる。
【0081】
これまで図5乃至図7を参照して説明した実施形態では、オペレータの実使用予定時間を考慮せずに、単純にバッテリ残容量と、アプリケーション情報(快適な動作を行うクロック周波数〜最低限必要なクロック周波数)により、クロックを変化させることにより、バッテリ寿命と快適なパフォーマンスのバランスを目指した。ところが、実際のノート型パソコンの使用環境においては、例えば、飛行機の移動時間に操作を行えれば良い、あるいは会議時間中だけ操作したい等、ある時間内だけは極力快適なクロック周波数での操作を行える様にしたい、という要望には答えられない。
【0082】
そこで、図5のリソース管理手段2に対して、事前にオペレータによる実使用予定時間の入力を行い、リソース管理手段が、バッテリ残容量と実使用予定時間とをベースに、CPUクロック毎の単位時間当たりのバッテリ使用量データベースにアクセスすることにより、オペレータの実使用時間中には、極力快適なパフォーマンスとなるクロック周波数を算出できるようにした。
【0083】
図8に、実使用予定時間を入力できるリソース管理手段を示すが、図5に示したリソース管理手段と同様の構成であり、同じ部分には同じ符号を付した。
【0084】
図8に示したリソース管理手段2が、図5のリソース管理手段2とは、制御部22に入力手段7を接続している点である。この入力手段7は、具体的には、ノートパソコンに付属するキーボード、マウス等であるが、アプリケーションの実行前において、オペレータがリソース管理手段2に実使用予定時間を予め入力できる機能を有するものである。
【0085】
次に、図8のリソース管理手段2の動作を、図9A及び図9Bのフローチャートを参照して説明する。
【0086】
図9AのステップS401とステップS402では、図7のステップS301とステップS302と同様の動作であり、図6に示した第2管理テーブルを作成し、その後、バッテリ残容量を測定する。
ここで、アプリケーションを使用する前に、オペレータによって、その予定時間が入力されているかどうかを確認する(ステップS403)。
【0087】
このとき、当該予定時間が入力されてない場合(N)には、図7におけるステップS303以降の動作のように、バッテリ残容量に応じたCPUクロック周波数を設定してもよいが、図9Aのフローチャートでは、CPUクロックとして、図6の第2管理テーブルから最低限動作に必要なクロック周波数を求め、PCのシステムクロックを設定する(ステップS404)。
【0088】
PCのシステムクロックが設定された後のステップS405からステップS407の動作は、図3のステップS103からステップS105の動作と同様であるので、その説明を省略する。
【0089】
一方、ステップS403で、オペレータによるオペレーション予定時間の入力が確認できた場合(Y)には、測定されたバッテリ残容量と入力されている予定時間とから、CPUクロック周波数を求める(ステップS408)。
【0090】
例えば、CPUクロック周波数が決まれば、単位時間当たりのCPU消費電力を求めることができる。それ故、この単位時間当たりのCPU消費電力を用いて、測定されたバッテリ残容量からオペレーション可能時間を求めることができ、このときのCPUクロック周波数を特定できる。
【0091】
そこで、求めたオペレーション可能時間が入力された予定時間よりも長くなるように、CPUクロック周波数を求めることになる。
ここで求められたCPUクロック周波数が最低限動作に必要なクロック周波数でなければならないので、求められたCPUクロック周波数が最低限動作のクロック周波数を超えているかどうかを判断する(ステップS409)。
【0092】
その求められたCPUクロック周波数が最低限動作のクロック周波数を超えている場合(Y)には、その求められたCPUクロック周波数をシステムクロックとして設定する(ステップS410)。これ以降のステップS411からステップS413の動作は、ステップS405からステップS407の動作と同様であるが、測定されたCPU使用率が100%に遠い場合(ステップS413のN)には、実行しているアプリケーションに対しては、未だクロック周波数を上げることができる可能性が有ることを示しているので、ステップS408に戻り、クロック周波数を設定し直す。
【0093】
一方、ステップS409で、求められたCPUクロック周波数が最低限動作のクロック周波数である場合(N)には、ステップS414及びステップS415の動作に進むが、図7のステップS309及びステップS310の動作と同様に、システムクロックとして最低限動作のクロック周波数を設定し、オペレータにバッテリ切れの可能性のアラームを通知する。
【0094】
この様に、オペレータによってオペレーション予定時間を入力できるようにしたので、その予定時間内においてバッテリ残容量に応じた最適なパフォーマンス実行することができ、バッテリ切れにも対処でき、しかも、バッテリ持続時間の延長も可能である。
【0095】
〔温度条件による場合〕
以上では、バッテリ残容量に応じて、快適なアプリケーション使用をできるようにするという観点であったが、ここで説明する実施形態は、PCの温度に応じて快適なアプリケーション使用をできるようにするという観点に基づいている。
【0096】
一般的に、アプリケーション実行時には、CPUクロック周波数が高くなるとCPUからの発熱量が大きくなり、CPUクロック周波数が低くなるとCPUからの発熱量が少なくなる。従って、最近の高性能なPCでは、システムクロックとして高いクロック周波数が固定的に設定されているため、その発熱量は、相当大きくなっている。その発熱量を抑えることが必要である。
【0097】
この実施形態では、PC内の熱に弱い部品、発熱部品等の温度を測定できるように、例えば、CPUの近傍に温度センサを設置しておき、その温度センサで測定される温度の高低に応じて、快適なアプリケーションの実行をしながら、そのCPUの発熱量を抑えるようにシステムクロックを変更するものである。
【0098】
この実施形態に用いるリソース管理手段を、図10に示す。
図10に示されたリソース管理手段の構成は、図5のリソース管理手段と同様であり、同じ部分には同じ符号を付してある。しかし、図10のリソース管理手段2には、CPU1の近傍に温度センサ8が付加されており、制御部22によってCPU1の近傍の温度を測定できるようになっている。
【0099】
図10に示したリソース管理手段2の動作を、図11のフローチャートを参照して説明する。
【0100】
先ず、マルチタスクで各アプリケーションの実行が開始されると、図7のステップS301と同様に、リソース管理手段2は、実行に係わる各アプリケーションAPnから快適動作のクロック周波数と最低限動作のクロック周波数とを取り出し、図6に示した第2管理テーブルを作成し、記憶する。そして、該テーブルに記憶したアプリケーションAPn毎のクロック周波数に基づいて、アプリケーションAPn毎に、この時のPCが採りえる最大のクロック周波数を基にして、最適動作のCPU使用率と最低限動作のCPU使用率とをそれぞれ求める(ステップS501)。
【0101】
次に、リソース管理手段2は、温度センサ8を用いてCPU1の近傍の温度を測定し、発熱部品の温度情報を取得する(ステップS502)。
測定された温度が、CPU1が誤動作を起こさない範囲で動作しているかどうかが判断される(ステップS503)。通常、電子機器部品のこの範囲は、10℃〜60℃を定格として設計されているので、この範囲を、誤動作を起こさない範囲の温度とする。
【0102】
ここで、測定された温度が、この範囲を外れて、例えば、60℃を超えている場合(N)、CPU1が誤動作を起こす危険性が高くなるので、CPUクロック周波数を下げて、CPU1の発熱量を抑える必要がある。そのため、アプリケーションの実行上、最低限動作に必要なクロック周波数をシステムクロックとして設定して(ステップS504)、CPU1からの発熱量を低くする。
【0103】
そして、ステップS501及びステップS502に戻って、再びCPU1の近傍の温度を測定して、その温度が誤動作を起こさない範囲であるかを監視する。
【0104】
一方、ステップS503で、測定された温度が誤動作を起こさない範囲内にある場合(Y)であっても、誤動作を起こさない範囲の境界に接近していることもありえることであり、誤動作を起こさないとする保証はない。そこで、十分な温度マージンで動作しているかを判断する(ステップS505)。誤動作を起こさない範囲が、10℃〜60℃であるとすれば、十分な温度マージンを有する範囲を、15℃〜55℃のように設定する。
【0105】
そうすると、ステップS502で測定された温度が、十分な温度マージンを有する範囲内にある場合(Y)には、現在設定されているシステムクロック周波数より高いクロック周波数で動作させても、未だCPU1の発熱量が低いことになるので、システムクロック周波数を決められた所定幅のステップで、例えば、10MHz だけ上げて、この周波数をシステムクロックとして設定する(ステップS506)。
【0106】
また、ステップS502で測定された温度が、十分な温度マージンを有する範囲を超えている場合(N)には、現在設定されているシステムクロック周波数で動作させ続けると、その温度が、誤動作を起こさない範囲の限界値に近づく可能性がある。そのため、より低いクロック周波数で動作させた方が安全であるということになるので、この場合も、システムクロック周波数を決められた所定幅のステップで、例えば、10MHz だけ下げて、これをシステムクロックとして設定する(ステップS507)。
【0107】
以上のように、この実施形態では、CPU近傍の温度を測定し、その温度に基づいて、誤動作しない範囲と十分な温度マージンを有する範囲とを考慮して、CPUクロック周波数の設定を行うようにしたので、快適なアプリケーションの実行をできるばかりでなく、CPUからの発熱量を抑制でき、しかも熱に弱い部品への影響を低減でき、PCの動作を最適化できる。
【0108】
〔騒音条件による場合〕
上述の実施形態では、CPUクロック周波数の制御は、熱に弱い部品に付けられた温度センサの温度情報とアプリケーション情報(快適な動作を行うクロック周波数、最低限必要なクロック周波数)に従って、システムクロック周波数を変化させることにより、PCが誤動作を起こさない範囲で、CPUの発熱量と快適なCPUクロック周波数での操作環境のバランスを目指したものである。
【0109】
ところで、例えば、オフィスに設置される様なPCにおいては、通常、オフィス内には様々な要因による騒音が存在し、PC自体が発生する騒音もその中に埋没する場合がある。
この様な時には、PCからある程度の騒音が発生していたとしても、オペレータが快適に使用できるパフォーマンスを提供した方が得策である。つまり、快適なパフォーマンスを提供するため、ある程度、CPUクロック周波数を高くすることである。
【0110】
しかし、クロック周波数が高くなれば、その分CPUからの発熱量が増えることになる。そのため、PCが、温度による誤動作を起こさない範囲で、アプリケーションの快適な動作をすることが出来るように、システムクロック周波数を設定する必要がある。
また、逆に、オフィス内の騒音が少ない場合には、PCから発生する騒音を極力抑えることが望ましい。
【0111】
そこで、この実施形態では、PCにマイクロフォン等に代表される集音装置を備えておき、リソース管理手段が、PC内で発生する騒音ばかりでなく、外部騒音による騒音を収集する。リソース管理手段がアクセスできるCPUクロック周波数と収集できた騒音に関するデータベースにより、騒音レベルの許容範囲内でアプリケーション情報(快適な動作を行うクロック周波数、最低限必要なクロック周波数)に基づいてCPUクロック周波数を変化させ、また、それに応じて、冷却ファンも制御する。
【0112】
この実施形態に係るリソース管理手段について、図12にその構成を示す。
図12に示したリソース管理手段は、図10に示したリソース管理手段をベースにしており、同じ部分には同じ符号を付してある。そして、図12のリソース管理手段2には、マイクロフォン9がPCの近傍に配置されており、制御部22が、マイクロフォン9で集音した騒音に関するデータを取得する。
【0113】
図13の第3管理テーブルに示されるように、騒音レベルに適したPCのシステムクロック周波数として、騒音レベル毎に、許容CPUクロック周波数を選定しておき、記憶部21内に格納しておく。この許容CPUクロック周波数は、外部騒音レベル毎における、PCが採りえる最大のクロック周波数となる。
【0114】
マイクロフォン9で集音した騒音レベルに応じて、第3管理テーブルから該当する許容CPUクロック周波数を求める。外部騒音のレベルの高低に応じて、PCのクロック周波数も変化し、例えば、外部騒音レベルが高くなれば、クロック周波数も高くなるため、PC自体が発生する騒音も増えることになる。
【0115】
次に、図12のリソース管理手段の動作について、図14のフローチャートを参照して説明する。図14のフローチャートでは、説明を簡単化するため、外部騒音に係る動作を中心に表しており、温度条件による図11のフローチャートの動作に、図14のフローチャートの動作を組み込むことができる。
【0116】
先ず、マルチタスクで各アプリケーションの実行が開始されると、図11のステップS501と同様に、リソース管理手段2は、実行に係わる各アプリケーションAPnから快適動作のクロック周波数と最低限動作のクロック周波数とを取り出し、図6に示した第2管理テーブルを作成し、記憶する。そして、該テーブルに記憶したアプリケーションAPn毎のクロック周波数に基づいて、アプリケーションAPn毎に、この時のPCが採りえる最大のクロック周波数(300MHz )を基にして、最適動作のCPU使用率と最低限動作のCPU使用率とをそれぞれ求める(ステップS601)。
【0117】
ここで、リソース管理手段2は、マイクロフォン9からPCの外部騒音を測定し(ステップS602)、この測定された外部騒音レベルに比較して、PC自体が発生する騒音レベルが許容範囲内であるかどうかが判断される(ステップS603)。
【0118】
PC自体の発生する騒音レベルが許容範囲外である場合(N)には、外部騒音よりPC自体の発生する騒音の方が大きいということであるので、PCのシステムクロック周波数を下げる必要がある。そのため、最低限動作のクロック周波数を求め、そのクロック周波数をシステムクロックとして設定する(ステップS604)。
【0119】
一方、ステップS603で、PC自体の発生する騒音レベルが許容範囲内である場合(Y)には、外部騒音よりPC自体の発生する騒音の方が小さいということであるので、PCのシステムクロックを高くしても差し支えないということになる。そこで、記憶部21に格納されている第3管理テーブルに基づいて、外部騒音が、快適に動作するCPUクロック時の許容クロック周波数より高いかどうか判断される(ステップS605)。
【0120】
外部騒音が、快適に動作するCPUクロック時の許容クロック周波数に対応する騒音レベルより高い場合(Y)には、快適に動作するクロック周波数でのシステムクロック周波数を求め、それをシステムクロックとして設定する(ステップS606)。
【0121】
また、外部騒音が、快適に動作するCPUクロック時の許容クロック周波数に対応する騒音レベルより低い場合(N)には、外部騒音に対する許容CPUクロックを求め、それをシステムクロックとして設定する(ステップS606)。
【0122】
ステップS606又はステップS606の動作の後には、ステップS601及びステップS602に戻り、外部騒音のレベルに応じたシステムクロックを設定し直す動作に進む。
【0123】
このように、本実施形態によれば、外部騒音を測定するようにしたので、外部騒音に応じて、誤動作を起こさない範囲で、アプリケーション情報(快適な動作を行うクロック周波数、最低限必要なクロック周波数)と騒音レベルに対応する許容クロック周波数に基づいてCPUクロック周波数を変化させることができ、騒音条件下でも、アプリケーションを快適に使用できるパフォーマンスを提供できる。
【0124】
以上説明したように、本発明によれば、PC等の情報処理装置のクロック制御において、実際のマルチタスクで実行される複数のアプリケーションからの要件と使用環境条件に応じて、クロック周波数の制御を行うことができる。
【0125】
そのため、オペレータが快適にアプリケーションを操作できる範囲内でCPUクロックを変化させることができ、情報処理装置の発熱量を抑え、安定したオペレーションが可能となる。
【0126】
さらに、情報処理装置が、パフォーマンスに関するアプリケーション要件を満たせるのか、常にチェック可能であることから、オペレータは情報処理装置のアップグレードが必要な時期について、タイムリーにアラームを受けることができ、電源条件下では、バッテリ切れをも通知できる。
【0127】
【発明の効果】
このように、本発明によれば、各アプリケーションに係る実行上必要な前記クロック周波数として、当該アプリケーションが快適に動作するクロック周波数と、当該アプリケーションが動作上最低限必要なクロック周波数とを登録し、これらに対応するCPU使用率を求めることができる。そのため、電源条件、温度条件及び騒音条件の使用条件と使用するアプリケーションとに応じて、情報処理装置のシステムクロックを変更することが可能となり、最適なパフォーマンスをオペレータに提供することができる。
【図面の簡単な説明】
【図1】 図1は、情報処理装置におけるリソース管理手段の概略ブロック図である。
【図2】 図2は、リソース管理手段内に備えられる第1管理テーブルを示す図である。
【図3】 図3は、図1に示されたリソース管理手段の動作を説明するフローチャート図である。
【図4】 図4は、情報処理装置に関するアップグレードの必要性をアラームする場合におけるリソース管理手段の動作を説明するフローチャート図である。
【図5】 図5は、電源条件に従って情報処理装置のシステムクロックを変更するリソース管理手段の概略ブロック図である。
【図6】 図6は、リソース管理手段内に備えられる第2管理テーブルを示す図である。
【図7】 図7は、図5に示されたリソース管理手段の動作を説明するフローチャート図である。
【図8】 図8は、バッテリ残容量に応じて情報処理装置のシステムクロックを変更するリソース管理手段の概略ブロック図である。
【図9A】 図9Aは、図8に示されたリソース管理手段の動作を説明するフローチャート図である。
【図9B】 図9Bは、図9Aに示されたリソース管理手段の動作を説明するフローチャート図の続きである。
【図10】 図10は、温度条件に従って情報処理装置のシステムクロックを変更するリソース管理手段の概略ブロック図である。
【図11】 図11は、図10に示されたリソース管理手段の動作を説明するフローチャート図である。
【図12】 図12は、使用環境に合わせて情報処理装置から発生する雑音を抑制するリソース管理手段の概略ブロック図である。
【図13】 図13は、リソース管理手段内に備えられる第3管理テーブルを示す図である。
【図14】 図14は、図12に示されたリソース管理手段の動作を説明するフローチャート図である。
Claims (26)
- 複数のアプリケーションを実行できる情報処理装置であって、
前記各アプリケーションから読み取られた実行上必要なクロック周波数を、前記複数のアプリケーション毎に登録する記憶部と、
前記記憶部に登録された前記各クロック周波数に基づいて、前記アプリケーション毎に、前記各アプリケーションを実行する前記情報処理装置が採りえる最大のクロック周波数に対する前記情報処理装置のCPU使用率を演算し、演算された前記アプリケーション毎の前記各CPU使用率の総和と前記最大のクロック周波数との乗算に基づいて、前記情報処理装置のシステムクロック周波数を決定し、該システムクロック周波数を設定する制御部を含む情報処理装置。 - 前記制御部は、前記決定されたシステムクロック周波数が、前記最大のクロック周波数を超えたとき、クロック周波数超過アラームを送出する請求項1に記載の情報処理装置。
- 前記記憶部は、前記アプリケーションに係る実行上必要な前記クロック周波数として、当該アプリケーションが快適に動作する第1クロック周波数と、当該アプリケーションが動作上最低限必要な第2クロック周波数とを登録でき、
前記制御部は、前記情報処理装置の平常状態での運行時には、前記第1クロック周波数に基づいて第1システムクロック周波数を決定し、前記情報処理装置の特定状態での運行時には、前記第2クロック周波数に基づいて第2システムクロック周波数を決定し、該決定された第1又は第2のいずれかのシステムクロックを前記各状態に応じて設定する請求項1に記載の情報処理装置。 - 前記制御部は、前記特定状態として電源容量の変化を検出し、検出された前記変化に応じて、前記第1システムクロック周波数に換えて、前記第2システムクロック周波数を設定する請求項3に記載の情報処理装置。
- 前記制御部は、検出した前記電源容量から算出された運用時間が少なくとも予め設定された運用予定時間となるように、前記第1システムクロック周波数及び前記第2システムクロック周波数から選択して、いずれか一方を設定する請求項4に記載の情報処理装置。
- 前記制御部は、前記特定状態として前記情報処理装置内の温度を測定し、測定した前記温度に対応して前記システムクロック周波数を可変し、該システムクロック周波数を設定する請求項3に記載の情報処理装置。
- 前記制御部は、前記温度が前記情報処理装置の誤動作を起こす範囲である場合、前記第2システムクロック周波数を設定する請求項6に記載の情報処理装置。
- 前記制御部は、前記温度が前記情報処理装置の誤動作を起こす範囲に近い場合、所定幅前記第2システムクロック周波数から上げてシステムクロック周波数として設定する請求項6に記載の情報処理装置。
- 前記制御部は、前記温度が前記情報処理装置の誤動作を起こす範囲から遠い場合、所定幅で前記第1システムクロック周波数から下げてシステムクロック周波数として設定する請求項6に記載の情報処理装置。
- 前記制御部は、前記特定状態として外部騒音を測定し、測定した前記外部騒音の変化に応じて前記システムクロック周波数を可変し、該システムクロック周波数を設定する請求項3に記載の情報処理装置。
- 前記制御部は、前記外部騒音量に対して前記情報処理システムの騒音が許容範囲内の場合、前記第2システムクロック周波数を設定する請求項10に記載の情報処理装置。
- 前記記憶部には、前記情報処理装置から発生する騒音レベルに対応する許容クロック周波数が登録されており、
前記制御部は、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより高い場合、前記第1システムクロック周波数を設定する請求項10に記載の情報処理装置。 - 前記記憶部には、前記情報処理装置から発生する騒音レベルに対応する許容クロック周波数を登録されており、
前記制御部は、測定された外部騒音のレベルが前記許容クロック周波数に対応する騒音レベルより低い場合、前記外部騒音のレベルに対応する前記許容クロック周波数を設定する請求項10に記載の情報処理装置。 - 複数のアプリケーションを実行するときに、前記各アプリケーションから、当該アプリケーションが実行上快適に動作する第1クロック周波数と、当該アプリケーションが動作上最低限必要な第2クロック周波数とを読み取り、前記複数のアプリケーション毎に登録し、
登録された前記各クロック周波数に基づいて、前記アプリケーション毎に、前記各アプリケーションを実行する情報処理システムが採りえる最大のクロック周波数に対する前記情報処理システムにおけるCPU使用率を演算し、
演算された前記アプリケーション毎の前記各CPU使用率の総和と前記最大のクロック周波数との乗算に基づいて、前記情報処理システムのシステムクロック周波数を決定し、該システムクロック周波数を設定することを実行させるプログラムを記録した記録媒体。 - 前記決定されたシステムクロック周波数が、前記最大のクロック周波数を超えたとき、クロック周波数超過アラームを送出する請求項14に記載の記録媒体。
- 前記アプリケーションに係る実行上必要な前記クロック周波数は、当該アプリケーションが快適に動作する第1クロック周波数と、当該アプリケーションが動作上最低限必要な第2クロック周波数とを含み、
前記情報処理システムの平常状態での運行時には、前記第1クロック周波数に基づいて第1システムクロック周波数を決定し、前記情報処理システムの特定状態での運行時には、前記第2クロック周波数に基づいて第2システムクロック周波数を決定し、該決定された第1又は第2のいずれかのシステムクロック周波数を前記各状態に応じて前記情報処理システムに設定する請求項14に記載の記録媒体。 - 前記特定状態は、前記情報処理システムにおける電源容量が変化した場合であって、
検出した前記電源容量の変化に応じて、前記第1システムクロック周波数に換えて、前記第2システムクロック周波数を前記情報処理システムに設定する請求項16に記載の記録媒体。 - 前記情報処理システムの運用予定時間が設定されており、
検出した前記電源容量から算出された運用時間が少なくとも前記運用予定時間以上となるように、前記第1システムクロック周波数及び前記第2システムクロック周波数から選択して、いずれか一方を前記情報処理システムに設定する請求項17に記載の記録媒体。 - 前記特定状態は、前記情報処理システム内の温度が変化した場合であって、
検出した前記温度の変化に対応して、前記システムクロック周波数を可変とし、該システムクロック周波数を前記情報処理システムに設定する請求項16に記載の記録媒体。 - 前記温度が、前記情報処理システムの誤動作を起こす範囲である場合、前記第2システムクロック周波数を前記情報処理システムに設定する請求項19に記載の記録媒体。
- 前記温度が、前記情報処理システムの誤動作を起こす範囲に近い場合、所定幅で前記第2システムクロック周波数から上げてシステムクロック周波数とし前記情報処理システムに設定する請求項19に記載の記録媒体。
- 前記温度が、前記情報処理システムの誤動作を起こす範囲から遠い場合、所定幅で前記第1システムクロック周波数から下げてシステムクロック周波数とし前記情報処理システムに設定する請求項19に記載の記録媒体。
- 前記特定状態は、前記情報処理システムの外部騒音が変化した場合であって、
検出した前記外部騒音の変化に応じて、前記システムクロック周波数を可変とし、該システムクロック周波数を前記情報処理システムに設定する請求項16に記載の記録媒体。 - 前記外部騒音量に対して、前記情報処理システムの騒音が許容範囲内の場合、前記第2システムクロック周波数を前記情報処理システムに設定する請求項23に記載の記録媒体。
- 前記情報処理システムから発生する騒音レベルに対応する許容クロック周波数を予め用意し、測定された外部騒音のレベルが、前記許容クロック周波数に対応する騒音レベルより高い場合、前記第1システムクロック周波数を前記情報処理システムに設定する請求項23に記載の記録媒体。
- 前記情報処理システムから発生する騒音レベルに対応する許容クロック周波数を予め用意し、測定された外部騒音が、前記許容クロック周波数に対応する騒音レベルより低い場合、前記外部騒音のレベルに対応する前記許容クロック周波数を前記情報処理システムに設定する請求項23に記載の記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/006169 WO2002021245A1 (fr) | 2000-09-08 | 2000-09-08 | Procede, dispositif et environnement de commande d'horloge |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009165044A Division JP4517006B2 (ja) | 2009-07-13 | 2009-07-13 | クロック制御装置及びその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2002021245A1 JPWO2002021245A1 (ja) | 2004-01-15 |
JP4380986B2 true JP4380986B2 (ja) | 2009-12-09 |
Family
ID=11736444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002524795A Expired - Fee Related JP4380986B2 (ja) | 2000-09-08 | 2000-09-08 | クロック制御装置及びその記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7028211B2 (ja) |
JP (1) | JP4380986B2 (ja) |
WO (1) | WO2002021245A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150026086A (ko) * | 2013-08-30 | 2015-03-11 | 삼성전자주식회사 | 알고리즘을 변경하기 위한 방법 및 그 전자 장치 |
KR102516672B1 (ko) * | 2022-11-22 | 2023-04-03 | (주)대우루컴즈 | Cpu 사용율에 따른 한계값 설정을 통하여 절전을 행하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4005293B2 (ja) * | 2000-02-29 | 2007-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ、その制御方法、記録媒体及び伝送媒体 |
US7596709B2 (en) * | 2000-12-30 | 2009-09-29 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US20030218765A1 (en) * | 2002-04-26 | 2003-11-27 | Tsutomu Ohishi | Apparatus for controlling launch of application and method |
US20040120113A1 (en) * | 2002-12-18 | 2004-06-24 | Gateway, Inc. | Acoustically adaptive thermal management |
JP4033066B2 (ja) | 2003-05-07 | 2008-01-16 | ソニー株式会社 | 周波数制御装置、情報処理装置、周波数制御方法及びプログラム |
JP3966873B2 (ja) * | 2003-10-08 | 2007-08-29 | 株式会社東芝 | 論理回路装置、動作電圧変更方法 |
US7383137B2 (en) * | 2004-02-27 | 2008-06-03 | Intel Corporation | Method and apparatus for measuring absolute and net power consumption for computer systems |
JP4490298B2 (ja) * | 2004-03-02 | 2010-06-23 | 三菱電機株式会社 | プロセッサ電力制御装置及びプロセッサ電力制御方法 |
JP4871494B2 (ja) * | 2004-03-31 | 2012-02-08 | パナソニック株式会社 | 映像信号処理装置 |
US7711966B2 (en) * | 2004-08-31 | 2010-05-04 | Qualcomm Incorporated | Dynamic clock frequency adjustment based on processor load |
KR100678160B1 (ko) * | 2004-10-06 | 2007-02-02 | 삼성전자주식회사 | 다기능 단말기의 배터리 전력 소모 제어 장치 및 방법 |
JP4607545B2 (ja) * | 2004-10-29 | 2011-01-05 | 株式会社東芝 | 情報処理装置および電力制御方法 |
US20060225079A1 (en) * | 2005-03-31 | 2006-10-05 | Nayak Ranjit K | Normalized measurement of computer resource usage |
US20070008887A1 (en) * | 2005-06-24 | 2007-01-11 | Eugene Gorbatov | Platform power management of a computing device using quality of service requirements of software tasks |
KR100664955B1 (ko) * | 2005-10-20 | 2007-01-04 | 삼성전자주식회사 | 방송 수신 장치의 다운로드 속도를 제어하는 방법 및 이를위한 장치 |
JP4746404B2 (ja) | 2005-10-31 | 2011-08-10 | 株式会社東芝 | 情報処理装置およびレジューム制御方法 |
US20070136615A1 (en) * | 2005-12-08 | 2007-06-14 | Electronics And Telecommunications Research Institute | System and method for reducing power used to execute application program |
US7983770B2 (en) * | 2007-04-30 | 2011-07-19 | Lenovo (Singapore) Pte. Ltd. | External ambient noise monitoring to adapt control of internal system noise sources |
US20090094455A1 (en) * | 2007-10-09 | 2009-04-09 | Microsoft Corporation | Frequency Managed Performance |
JP5073462B2 (ja) * | 2007-11-30 | 2012-11-14 | ソニーモバイルコミュニケーションズ株式会社 | 情報処理装置、情報処理装置のクロック信号制御方法およびクロック信号制御プログラム |
FR2928496B1 (fr) * | 2008-03-06 | 2015-09-25 | Commissariat Energie Atomique | Dispositif d'alimentation d'un circuit electrique, en particulier d'un circuit numerique |
US20090235108A1 (en) * | 2008-03-11 | 2009-09-17 | Gold Spencer M | Automatic processor overclocking |
JP5311234B2 (ja) * | 2008-04-09 | 2013-10-09 | 日本電気株式会社 | 計算機システムとその動作方法 |
JP5407211B2 (ja) * | 2008-07-31 | 2014-02-05 | 株式会社オートネットワーク技術研究所 | 処理装置、クロック周波数決定方法、及びコンピュータプログラム |
US8516293B2 (en) * | 2009-11-05 | 2013-08-20 | Novell, Inc. | System and method for implementing a cloud computer |
US7934123B2 (en) * | 2008-09-05 | 2011-04-26 | Oracle America, Inc. | Prolonging the remaining useful life of a power supply in a computer system |
US8015423B1 (en) * | 2008-10-30 | 2011-09-06 | Hewlett-Packard Development Company, L.P. | Temporally normalized processor utilization |
WO2010097885A1 (ja) * | 2009-02-24 | 2010-09-02 | 株式会社東芝 | 携帯端末 |
US8700934B2 (en) * | 2010-07-27 | 2014-04-15 | Blackberry Limited | System and method for dynamically configuring processing speeds in a wireless mobile telecommunications device |
US20120054752A1 (en) * | 2010-08-27 | 2012-03-01 | Htc Corporation | Electronic device having operation mode dynamic adjusting mechanism and method of the same |
CN102510422B (zh) * | 2011-10-09 | 2014-06-25 | 惠州Tcl移动通信有限公司 | 一种移动终端及其调节运行负荷的方法 |
JP5880962B2 (ja) * | 2012-06-12 | 2016-03-09 | ソニー株式会社 | 電子装置、計算方法、プログラム、および情報処理装置 |
DE102012222428A1 (de) * | 2012-12-06 | 2014-06-12 | Robert Bosch Gmbh | Systemtaktanpassung |
KR101428293B1 (ko) * | 2012-12-18 | 2014-08-07 | 현대자동차주식회사 | 전기자동차용 보조배터리의 주기적 충전 방법 |
US9684976B2 (en) * | 2013-03-13 | 2017-06-20 | Qualcomm Incorporated | Operating system-resident display module parameter selection system |
JP6060756B2 (ja) * | 2013-03-18 | 2017-01-18 | 富士通株式会社 | 周波数制御装置、周波数制御方法および周波数制御プログラム |
JP6195489B2 (ja) * | 2013-08-22 | 2017-09-13 | ルネサスエレクトロニクス株式会社 | 半導体装置、電池パック、及び携帯端末 |
KR102329473B1 (ko) | 2014-11-24 | 2021-11-19 | 삼성전자주식회사 | 프로세서와 이를 포함하는 반도체 장치 |
CN106095063A (zh) * | 2016-06-15 | 2016-11-09 | 乐视控股(北京)有限公司 | 移动终端的功耗管理方法和功耗管理系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6423317A (en) | 1987-07-20 | 1989-01-26 | Mitsubishi Electric Corp | Power control circuit |
JPH04363752A (ja) * | 1991-06-11 | 1992-12-16 | Kyushu Nippon Denki Software Kk | マルチプロセッサシステムの負荷制御方法 |
JP2859474B2 (ja) * | 1991-09-30 | 1999-02-17 | 株式会社東芝 | バッテリ駆動コンピュータ |
JPH06190244A (ja) | 1992-12-25 | 1994-07-12 | Mitsui Mining Co Ltd | 亜酸化窒素の分解処理方法 |
JPH0744281A (ja) * | 1993-07-29 | 1995-02-14 | Canon Inc | 電力管理装置 |
JPH0876874A (ja) * | 1994-09-06 | 1996-03-22 | Hitachi Ltd | 中央処理装置のクロック制御装置およびクロック制御方法 |
JPH09190244A (ja) * | 1996-01-12 | 1997-07-22 | Hitachi Ltd | 冷却用ファンの制御装置 |
JP3461237B2 (ja) * | 1996-02-29 | 2003-10-27 | 株式会社東芝 | コンピュータシステム |
CN1159021A (zh) * | 1996-03-06 | 1997-09-10 | 三菱电机株式会社 | 系统时钟确定装置 |
US5774704A (en) * | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
JPH10222256A (ja) * | 1997-02-12 | 1998-08-21 | Mitsubishi Electric Corp | 電力制御装置および電力制御方法 |
US5958058A (en) * | 1997-07-18 | 1999-09-28 | Micron Electronics, Inc. | User-selectable power management interface with application threshold warnings |
JPH1165712A (ja) * | 1997-08-11 | 1999-03-09 | Nec Gumma Ltd | 情報処理装置 |
JPH11237931A (ja) * | 1998-02-19 | 1999-08-31 | Canon Inc | 情報処理装置 |
JP2000122747A (ja) * | 1998-10-12 | 2000-04-28 | Nec Corp | ディジタル信号演算処理部の制御装置および方法 |
JP2000222061A (ja) * | 1999-02-03 | 2000-08-11 | Matsushita Electric Ind Co Ltd | クロック制御方法および制御回路 |
-
2000
- 2000-09-08 WO PCT/JP2000/006169 patent/WO2002021245A1/ja active Application Filing
- 2000-09-08 JP JP2002524795A patent/JP4380986B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-07 US US10/383,228 patent/US7028211B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150026086A (ko) * | 2013-08-30 | 2015-03-11 | 삼성전자주식회사 | 알고리즘을 변경하기 위한 방법 및 그 전자 장치 |
KR102516672B1 (ko) * | 2022-11-22 | 2023-04-03 | (주)대우루컴즈 | Cpu 사용율에 따른 한계값 설정을 통하여 절전을 행하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
US7028211B2 (en) | 2006-04-11 |
US20030226049A1 (en) | 2003-12-04 |
WO2002021245A1 (fr) | 2002-03-14 |
JPWO2002021245A1 (ja) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4380986B2 (ja) | クロック制御装置及びその記録媒体 | |
JP5189921B2 (ja) | コンピュータの放熱システム | |
EP3367212B1 (en) | Hardware automatic performance state transitions in system on processor sleep and wake events | |
EP2867742B1 (en) | System and method for adaptive thermal management in a portable computing device | |
US9256271B2 (en) | Predictive power management based on user category | |
JP4123640B2 (ja) | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 | |
US8595525B2 (en) | On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors | |
KR20160142834A (ko) | 멀티-프로세서 시스템 온 칩에서의 에너지 효율 인지 열 관리 | |
JP2003150281A (ja) | 電気機器、コンピュータ装置、および電力供給方法 | |
JPH08503566A (ja) | コンピュータ装置の電力消費を自動的に減少させる方法 | |
KR20140002072A (ko) | 휴대용 컴퓨팅 디바이스에서의 열 로드 관리 | |
WO2014065970A1 (en) | Modal workload scheduling in a hetergeneous multi-processor system on a chip | |
JP2007179437A (ja) | 管理システム、管理プログラムおよび管理方法 | |
EP3332306B1 (en) | System and method for cache aware low power mode control in a portable computing device | |
KR20130049201A (ko) | 저장 드라이브 관리 | |
JPH09237463A (ja) | ハードディスク制御方法及び情報処理装置 | |
JP2011108045A (ja) | 計算機システム、管理サーバ及び電力削減方法 | |
TWI236585B (en) | A method, machine-readable medium, and apparatus for providing performance states | |
JP4517006B2 (ja) | クロック制御装置及びその記録媒体 | |
JP4410215B2 (ja) | 消費電力の制御方法およびコンピュータ装置 | |
US20040243649A1 (en) | Method for sync-ahead on a dual mode high-power-low-power device and apparatus therefore | |
CN103970253B (zh) | 省电操作方法与电子装置 | |
JP2008243049A (ja) | 情報処理装置および同装置のメモリ制御方法 | |
WO2024093491A1 (zh) | 一种性能调控方法及电子设备 | |
JP2011008728A (ja) | 情報処理装置および省電力制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090713 |
|
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: 20090818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |