JP2014529146A - 中央演算装置を制御するための方法および装置 - Google Patents

中央演算装置を制御するための方法および装置 Download PDF

Info

Publication number
JP2014529146A
JP2014529146A JP2014532227A JP2014532227A JP2014529146A JP 2014529146 A JP2014529146 A JP 2014529146A JP 2014532227 A JP2014532227 A JP 2014532227A JP 2014532227 A JP2014532227 A JP 2014532227A JP 2014529146 A JP2014529146 A JP 2014529146A
Authority
JP
Japan
Prior art keywords
frequency
operating
operating frequency
possible implementation
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014532227A
Other languages
English (en)
Other versions
JP5871075B2 (ja
Inventor
孔▲剛▼ 魏
孔▲剛▼ 魏
玉▲華▼ 郭
玉▲華▼ 郭
▲ユ▼ 彭
▲ゆ▼ 彭
Original Assignee
▲華▼▲為▼▲終▼端有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ▲華▼▲為▼▲終▼端有限公司 filed Critical ▲華▼▲為▼▲終▼端有限公司
Publication of JP2014529146A publication Critical patent/JP2014529146A/ja
Application granted granted Critical
Publication of JP5871075B2 publication Critical patent/JP5871075B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本発明は、中央演算装置CPUを制御するための方法を開示する。当該方法は、動作CPUの利用量と動作周波数を取得するステップと、当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを判定するステップと、当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定するステップとを含み、当該第1の周波数は当該CPUの最大周波数より小さい。当該方法によれば、周波数を調整している最中にCPU利用量が利用閾値より大きくなったときのCPU電力消費を削減することができる。

Description

本発明は、通信の分野に関し、特に、中央演算装置を制御するための方法と装置に関する。
コンピューティング要件の継続的な増大とともに、特にモバイル・コンピューティングの分野において、プロセッサは高周波数マルチコアプロセッサの方向に向かって開発されている。高周波数マルチコアプロセッサは、単位時間での並列処理能力を大幅に増大させ、一方で、比較的大きな電力消費負荷をもたらす。プロセッサの非効率的な電力消費の問題を軽減するのは、コンピューティング・システム、特にモバイルのハンドヘルド・コンピューティング装置に対して非常に重要である。
先行技術は、CPU利用量が利用閾値より大きいとCPU周波数が最大周波数に設定されるという技術的解決策を提示する。しかし、この周波数調整方式では、CPU利用量が利用閾値より大きくなった後CPUは常に最大周波数で動作することができ、CPUの不要な電力浪費の原因となる。
本発明の諸実施形態は、中央演算装置を制御するための方法と装置を提供する。当該方法と装置は、周波数を調整している最中にCPU利用量が利用閾値より大きいとき、CPU電力消費を削減することができる。
本発明の第1の態様によれば、中央演算装置CPUを制御するための方法は、動作CPUの利用量と動作周波数を取得するステップと、当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを判定するステップと、当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定するステップであって、当該第1の周波数は当該CPUの最大周波数より小さいステップを含む。
第1の態様の第1の可能な実装方式では、当該方法はさらに、
当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数が第2の周波数以下であるかどうかを判定するステップであって、当該第2の周波数は当該第1の周波数より大きく最大周波数より小さいステップと、当該動作周波数が当該第2の周波数以下であるとき、当該動作周波数を当該第2の周波数として決定するステップと、を含む。
第1の態様の第1の可能な実装方式と組み合わせて、第2の可能な実装方式では、当該動作周波数が当該第2の周波数以下であるとき当該動作周波数を当該第2の周波数として決定するステップは、当該動作周波数が当該第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定するステップを含む。
第1の態様の第2の可能な実装方式と組み合わせて、第3の可能な実装方式では、当該方法はさらに、当該循環保持カウント値に1を加えるステップを含む。
第1の態様の第1の可能な実装方式、または、第1の態様の第2の可能な実装方式、または、第1の態様の第3の可能な実装方式と組み合わせて、第4の可能な実装方式では、当該方法はさらに、当該動作周波数が当該第2の周波数より大きいとき当該動作周波数を第3の周波数として決定するステップであって、当該第3の周波数は最大周波数に等しいステップを含む。
第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式と組み合わせて、第5の可能な実装方式では、当該方法はさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき当該動作周波数を最大周波数として決定するステップを含む。
第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式と組み合わせて、第6の可能な実装方式では、当該方法はさらに、当該利用量が当該利用閾値より高く、かつ、当該動作周波数が当該第1の周波数以下であるとき当該循環保持カウント値をクリアするステップを含む。
第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式と組み合わせて、第7の可能な実装方式では、当該方法はさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を、当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするステップを含む。
第1の態様の第8の可能な実装方式では、当該方法はさらに、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数を最大周波数として決定するステップを含む。
第1の態様、または第1の態様の第8の可能な実装方式と組み合わせて、第9の可能な実装方式では、当該動作周波数が当該第1の周波数より小さいとき当該動作周波数を当該第1の周波数として決定するステップは特に、当該動作周波数が当該第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第1の周波数として決定するステップである。
第1の態様の第9の可能な実装方式と組み合わせて、第10の可能な実装方式では、当該方法はさらに、当該循環保持カウント値に1を加えるステップを含む。
第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式と組み合わせて、第11の可能な実装方式では、当該方法はさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき当該動作周波数を最大周波数として決定するステップを含む。
第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式と組み合わせて、第12の可能な実装方式では、当該方法はさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を、当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするステップを含む。
第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式と組み合わせて、第13の可能な実装方式では、当該CPUに対応するタイマの計時が終了したときに当該方法のステップが実行される。
第1の態様の第13の可能な実装方式と組み合わせて、第14の可能な実装方式では、当該方法はさらに、システムがアイドルであるとき、当該タイマにより計時を停止するステップを含む。
第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式と組み合わせて、第15の可能な実装方式では、当該方法はさらに、当該システムがアイドルを脱したとき、当該タイマにより計時を開始するステップを含む。
第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式と組み合わせて、第16の可能な実装方式では、当該方法はさらに、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、当該タイマにより計時を停止するステップを含む。
第1の態様の第16の可能な実装方式と組み合わせて、第17の可能な実装方式では、最大周波数が継続する期間の数の閾値は、周波数重みを第1の重みとして、
(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)
であり、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであるということである。
第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式、または第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式、または第1の態様の第16の可能な実装方式、または第1の態様の第17の可能な実装方式と組み合わせて、第18の可能な実装方式では、当該第1の周波数は電流周波数曲線の変曲点に対応する周波数である。
第1の態様の第18の可能な実装方式と組み合わせて、第19の可能な実装方式では、当該電流周波数曲線において、第1の勾配は第2の勾配より小さく、当該第1の勾配は、その周波数が当該変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、当該第2の勾配は、その周波数が当該変曲点に対応する周波数より高い測定点により形成された直線の勾配である。
第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式、または第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式、または第1の態様の第16の可能な実装方式、または第1の態様の第17の可能な実装方式、または第1の態様の第18の可能な実装方式、または第1の態様の第19の可能な実装方式と組み合わせて、第20の可能な実装方式では、当該第2の周波数は当該第1の周波数と最大周波数の平均値である。
本発明の第2態様によれば、端末がプロセッサを備える。当該プロセッサは、
動作CPUの利用量と動作周波数を取得し、
当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを決定し、
当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定する
ように構成され、当該第1の周波数は当該CPUの最大周波数より小さい。
第2の態様の第1の可能な実装方式では、当該プロセッサは、
当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数が、当該第1の周波数より大きく最大周波数より小さい第2の周波数以下であるかどうかを判定し

当該動作周波数が当該第2の周波数以下であるとき、当該動作周波数を当該第2の周波数として決定するようにさらに構成される。
第2の態様の第1の可能な実装方式と組み合わせて、第2の可能な実装方式では、当該動作周波数が当該第2の周波数以下であるとき、当該プロセッサが動作周波数を第2の周波数として決定することは、当該動作周波数が当該第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定することを含む。
第2態様の第2の可能な実装方式と組み合わせて、第3の可能な実装方式では、当該プロセッサは、当該循環保持カウント値に1を加えるようにさらに構成される。
第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式と組み合わせて、第4の可能な実装方式では、当該プロセッサは、当該動作周波数が当該第2の周波数より大きいとき、当該動作周波数を最大周波数に等しい第3の周波数として決定するするようにさらに構成される。
第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式と組み合わせて、第5の可能な実装方式では、当該プロセッサは、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するようにさらに構成される。
第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式と組み合わせて、第6の可能な実装方式では、当該プロセッサは、当該利用量が当該利用閾値より高く、かつ、当該動作周波数が当該第1の周波数以下であるとき、当該循環保持カウント値をクリアするようにさらに構成される。
第2態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式と組み合わせて、第7の可能な実装方式では、当該プロセッサは、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするようにさらに構成される。
第2態様の第8の可能な実装方式では、当該プロセッサは、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数を最大周波数として決定するようにさらに構成される。
第2態様、または第2態様の第8の可能な実装方式と組み合わせて、第9の可能な実装方式では、当該プロセッサが、当該動作周波数が当該第1の周波数より小さいときに動作周波数を第1の周波数として決定することは、特に、当該動作周波数が当該第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第1の周波数として決定することである。
第2態様の第9の可能な実装方式と組み合わせて、第10の可能な実装方式では、当該プロセッサは、当該循環保持カウント値に1を加えるようにさらに構成される。
第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式と組み合わせて、第11の可能な実装方式では、当該プロセッサは、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するようにさらに構成される。
第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式と組み合わせて、第12の可能な実装方式では、当該プロセッサは、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするようにさらに構成される。
第2態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式と組み合わせて、第13の可能な実装方式では、当該プロセッサは、当該CPUに対応するタイマの計時が終了したとき、上記方法の諸ステップを実行するようにさらに構成される。
第2態様の第13の可能な実装方式と組み合わせて、第14の可能な実装方式では、当該プロセッサは、システムがアイドルであるとき計時を停止するように当該タイマを制御するようにさらに構成される。
第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式と組み合わせて、第15の可能な実装方式では、当該プロセッサは、当該システムがアイドルを脱したとき計時を開始するように当該タイマを制御するようにさらに構成される。
第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式と組み合わせて、第16の可能な実装方式では、当該プロセッサは、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するようにタイマを制御するようにさらに構成される。
第2態様の第16の可能な実装方式と組み合わせて、第17の可能な実装方式では、最大周波数が継続する期間の数の閾値は、当該周波数重みを第1の重みとして、
(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)
であり、
当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであるということである。
第2態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式、または第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式、または第2態様の第16の可能な実装方式、または第2態様の第17の可能な実装方式と組み合わせて、第18の可能な実装方式では、当該第1の周波数は電流周波数曲線の変曲点に対応する周波数である。
第2態様の第18の可能な実装方式と組み合わせて、第19の可能な実装方式では、当該電流周波数曲線において、第1の勾配は第2の勾配より小さく、当該第1の勾配は、その周波数が当該変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、当該第2の勾配は、その周波数が当該変曲点に対応する周波数より高い測定点により形成された直線の勾配である。
第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式、または第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式、または第2態様の第16の可能な実装方式、または第2態様の第17の可能な実装方式、または第2態様の第18の可能な実装方式、または第2態様の第19の可能な実装方式と組み合わせて、第20の可能な実装方式では、当該第2の周波数は当該第1の周波数と最大周波数の平均値である。
本発明の第3の態様によれば、装置が、
動作CPUの利用量と動作周波数を取得するように構成された第1のユニットと、
当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを決定するように構成された第2のユニットと、
当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定するように構成された第3のユニットであって、当該第1の周波数は当該CPUの最大周波数より小さい第3のユニットと、
を備える。
第3の態様の第1の可能な実装方式では、当該装置はさらに、
当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数が第2の周波数以下であるかどうかを判定するように構成された第4のユニットであって、当該第2の周波数は当該第1の周波数より大きく最大周波数より小さい第4のユニットと、
当該動作周波数が当該第2の周波数以下であるとき、当該動作周波数を当該第2の周波数として決定するように構成された第5のユニットと、
を備える。
第3の態様の第1の可能な実装方式と組み合わせて、第2の可能な実装方式では、当該第5のユニットは特に、当該動作周波数が当該第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定するように構成される。
第3の態様の第2の可能な実装方式と組み合わせて、第3の可能な実装方式では、当該装置はさらに、当該循環保持カウント値に1を加えるように構成された第6のユニットを備える。
第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式と組み合わせて、第4の可能な実装方式では、当該装置はさらに、当該動作周波数が当該第2の周波数より大きいとき、当該動作周波数を第3の周波数として決定するように構成された第7のユニットであって、当該第3の周波数は最大周波数に等しい第7のユニットを備える。
第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式と組み合わせて、第5の可能な実装方式では、当該装置はさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成された第8のユニットを備える。
第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式と組み合わせて、第6の可能な実装方式では、当該装置はさらに、当該利用量が当該利用閾値より高く、かつ、当該動作周波数が当該第1の周波数以下であるとき、当該循環保持カウント値をクリアするように構成された第9のユニットを備える。
第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式と組み合わせて、第7の可能な実装方式では、当該装置はさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成された第10のユニットを備える。
第3の態様の第8の可能な実装方式では、当該装置はさらに、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数を最大周波数として決定するように構成された第11のユニットを備える。
第3の態様、または第3の態様の第8の可能な実装方式と組み合わせて、第9の可能な実装方式では、当該第3のユニットは特に、当該動作周波数が当該第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第1の周波数として決定するように構成される。
第3の態様の第9の可能な実装方式と組み合わせて、第10の可能な実装方式では、当該装置はさらに、当該循環保持カウント値に1を加えるように構成された第12のユニットを備える。
第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式と組み合わせて、第11の可能な実装方式では、当該装置はさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成された第13のユニットを備える。
第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式と組み合わせて、第12の可能な実装方式では、当該装置はさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成された第14のユニットを備える。
第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式と組み合わせて、第13の可能な実装方式では、当該装置はさらに、当該CPUに対応する当該タイマの計時が終了したとき当該方法のステップを実行するように構成されたタイマを備える。
第3の態様の第13の可能な実装方式と組み合わせて、第14の可能な実装方式では、当該方法はさらに、システムがアイドルであるとき計時を停止するように当該タイマを制御するように構成された第15のユニットを備える。
第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式と組み合わせて、第15の可能な実装方式では、当該方法はさらに、当該システムがアイドルを脱したとき計時を開始するように当該タイマを制御するように構成された第16のユニットを備える。
第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式と組み合わせて、第16の可能な実装方式では、当該方法はさらに、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するように当該タイマを制御するように構成された第17のユニットを備える。
第3の態様の第16の可能な実装方式と組み合わせて、第17の可能な実装方式では、最大周波数が継続する期間の数の閾値は、当該周波数重みが第1の重みであるとして、
(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)
であり、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであるということである。
第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式、または第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式、または第3の態様の第16の可能な実装方式、または第3の態様の第17の可能な実装方式と組み合わせて、第18の可能な実装方式では、当該第1の周波数は電流周波数曲線の変曲点に対応する周波数である。
第3の態様の第18の可能な実装方式と組み合わせて、第19の可能な実装方式では、当該電流周波数曲線において、第1の勾配は第2の勾配より小さく、当該第1の勾配は、その周波数が当該変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、当該第2の勾配は、その周波数が当該変曲点に対応する周波数より高い測定点により形成された直線の勾配である。
第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式、または第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式、または第3の態様の第16の可能な実装方式、または第3の態様の第17の可能な実装方式、または第3の態様の第18の可能な実装方式、または第3の態様の第19の可能な実装方式と組み合わせて、第20の可能な実装方式では、当該第2の周波数は当該第1の周波数と最大周波数の平均値である。
本発明の第4の態様によれば、プログラム・コードを保持するコンピュータ・プログラムが提供される。当該コンピュータ・プログラムをコンピュータで実行したとき、当該プログラム・コードは、本発明の第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式、または第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式、または第1の態様の第16の可能な実装方式、または第1の態様の第17の可能な実装方式、または第1の態様の第18の可能な実装方式、または第1の態様の第19の可能な実装方式、または第1の態様の第20の可能な実装方式、または本発明の第2の態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式、または第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式、または第2態様の第16の可能な実装方式、または第2態様の第17の可能な実装方式、または第2態様の第18の可能な実装方式、または第2態様の第19の可能な実装方式、または第2態様の第20の可能な実装方式、または本発明の第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式、または第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式、または第3の態様の第16の可能な実装方式、または第3の態様の第17の可能な実装方式、または第3の態様の第18の可能な実装方式、または第3の態様の第19の可能な実装方式、または第3の態様の第20の可能な実装方式と組み合わせて説明した方法を実行する。
本発明の第5の態様によれば、コンピュータ読取可能記憶媒体が提供される。当該コンピュータはコンピュータ・プログラム・コードを格納し、当該コンピュータ・プログラム・コードをコンピュータにより実行すると、当該コンピュータ・プログラム・コードは当該コンピュータに、本発明の第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式、または第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式、または第1の態様の第16の可能な実装方式、または第1の態様の第17の可能な実装方式、または第1の態様の第18の可能な実装方式、または第1の態様の第19の可能な実装方式、または第1の態様の第20の可能な実装方式、または本発明の第2の態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式、または第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式、または第2態様の第16の可能な実装方式、または第2態様の第17の可能な実装方式、または第2態様の第18の可能な実装方式、または第2態様の第19の可能な実装方式、または第2態様の第20の可能な実装方式、または本発明の第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式、または第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式、または第3の態様の第16の可能な実装方式、または第3の態様の第17の可能な実装方式、または第3の態様の第18の可能な実装方式、または第3の態様の第19の可能な実装方式、または第3の態様の第20の可能な実装方式と組み合わせて説明した方法を実行させることができる。
本発明の第6の態様によれば、コンピュータ・プログラム製品が提供される。当該コンピュータ・プログラム製品はコンピュータ・プログラム・コードを含み、当該コンピュータ・プログラム・コードをコンピュータにより実行すると、当該コンピュータ・プログラム・コードは当該コンピュータに、本発明の第1の態様、または第1の態様の第1の可能な実装方式、または第1の態様の第2の可能な実装方式、または第1の態様の第3の可能な実装方式、または第1の態様の第4の可能な実装方式、または第1の態様の第5の可能な実装方式、または第1の態様の第6の可能な実装方式、または第1の態様の第7の可能な実装方式、または第1の態様の第8の可能な実装方式、または第1の態様の第9の可能な実装方式、または第1の態様の第10の可能な実装方式、または第1の態様の第11の可能な実装方式、または第1の態様の第12の可能な実装方式、または第1の態様の第13の可能な実装方式、または第1の態様の第14の可能な実装方式、または第1の態様の第15の可能な実装方式、または第1の態様の第16の可能な実装方式、または第1の態様の第17の可能な実装方式、または第1の態様の第18の可能な実装方式、または第1の態様の第19の可能な実装方式、または第1の態様の第20の可能な実装方式、または本発明の第2の態様、または第2の態様の第1の可能な実装方式、または第2態様の第2の可能な実装方式、または第2態様の第3の可能な実装方式、または第2態様の第4の可能な実装方式、または第2態様の第5の可能な実装方式、または第2態様の第6の可能な実装方式、または第2態様の第7の可能な実装方式、または第2態様の第8の可能な実装方式、または第2態様の第9の可能な実装方式、または第2態様の第10の可能な実装方式、または第2態様の第11の可能な実装方式、または第2態様の第12の可能な実装方式、または第2態様の第13の可能な実装方式、または第2態様の第14の可能な実装方式、または第2態様の第15の可能な実装方式、または第2態様の第16の可能な実装方式、または第2態様の第17の可能な実装方式、または第2態様の第18の可能な実装方式、または第2態様の第19の可能な実装方式、または第2態様の第20の可能な実装方式、または本発明の第3の態様、または第3の態様の第1の可能な実装方式、または第3の態様の第2の可能な実装方式、または第3の態様の第3の可能な実装方式、または第3の態様の第4の可能な実装方式、または第3の態様の第5の可能な実装方式、または第3の態様の第6の可能な実装方式、または第3の態様の第7の可能な実装方式、または第3の態様の第8の可能な実装方式、または第3の態様の第9の可能な実装方式、または第3の態様の第10の可能な実装方式、または第3の態様の第11の可能な実装方式、または第3の態様の第12の可能な実装方式、または第3の態様の第13の可能な実装方式、または第3の態様の第14の可能な実装方式、または第3の態様の第15の可能な実装方式、または第3の態様の第16の可能な実装方式、または第3の態様の第17の可能な実装方式、または第3の態様の第18の可能な実装方式、または第3の態様の第19の可能な実装方式、または第3の態様の第20の可能な実装方式と組み合わせて説明した方法を実行させることができる。
以上の解決策から、本発明の諸実施形態が提供する中央演算装置を制御するための方法および装置において、CPU利用量が利用閾値より大きくなった後、当該動作周波数が当該第1の周波数より小さいかどうかがさらに判定されることが分かる。当該動作周波数が当該第1の周波数より小さいとき、動作周波数はCPUの最大周波数より小さい第1の周波数として決定される。この周波数調整方式では、CPU周波数は一度も最大周波数に調節されず、それにより、周波数を調整している最中にCPU利用量が利用閾値より大きいときにCPU電力消費が削減される。
本発明の諸実施形態または先行技術における技術的解決策をより明確に説明するために、実施形態または先行技術を説明するための添付図面を以下で簡単に説明する。
本発明の第1の実施形態に従う、CPUを制御するための方法の簡単な流れ図である。 本発明の第2の実施形態に従う、CPUを制御するための方法の詳細な流れ図である。 本発明の第3の実施形態に従う、CPUを制御するための方法の別の詳細な流れ図である。 本発明の第4の実施形態に従う電流周波数曲線の略図である。 本発明の第5の実施形態に従う端末の略構造図である。 本発明の第6の実施形態に従う携帯電話の部分構造のブロック図である。 本発明の第7の実施形態に従う装置の簡単な略構造図である。 本発明の第8の実施形態に従う装置の第1の詳細な略構造図である。 本発明の第8の実施形態に従う装置の第2の詳細な略構造図である。 本発明の第8の実施形態に従う装置内のタイマの略構造図である。
本発明の目的、技術的解決策、および利点をより明らかにするために、本発明の諸実施形態を、添付図面を参照して以下でさらに詳細に説明する。
本発明の第1の実施形態では、CPUを制御するための方法を提供する。図1の簡単な流れ図で示すように、当該方法は以下のステップを含む。
ステップ101では、動作CPUの利用量と動作周波数を取得する。
ステップ102では、当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを判定する。当該利用閾値は、様々なプラットフォームに応じて様々な値を有してもよく、当該値の範囲は90%と95%の間であってもよい。本明細書では、様々なプラットフォームとは様々なハードウェア・チップセットのことをいう。
ステップ103では、当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を第1の周波数として決定する。本明細書での「〜を第1の周波数として決定する」とは、当該動作周波数が第1の周波数でない場合に、当該動作周波数を第1の周波数に変更することをいう。当該動作周波数が第1の周波数である場合には、当該動作周波数を当該第1の周波数に保つ。
当該第1の周波数は当該CPUの最大周波数より小さい。
本発明の当該実施形態で提供する中央演算装置を制御するための方法では、CPU利用量が利用閾値より大きくなった後、当該動作周波数が当該第1の周波数より小さいかどうかがさらに判定される。当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数は、CPUの最大周波数より小さい第1の周波数として決定される。この周波数調整方式では、CPU周波数は一度も最大周波数に調節されず、それにより、周波数を調整している最中のCPU電力消費が削減される。
本発明の第2実施形態では、CPUを制御するための方法を提供する。当該方法は、スケジューリングの役割を担うCPUにより実行される。即ち、当該方法を実行するCPUは、命令と計算を実行する別の共通のCPUをスケジュールしてもよい。スケジューリングの役割を担うCPUが、命令と計算を実行する別の共通CPU以外の独立なCPUであってもよく、スケジューリング機能を、命令と計算を実行する特定の共通CPUに統合してもよい。スケジューリングの役割を担うCPU(以降、短縮して「スケジューリングCPU」と称する)のハードウェア形態が、高度縮小命令セット・コンピューティング・マシン(Advanced Reduced Instruction Set Computing(RISC)Machines、ARM)チップであってもよく、単一チップ・マイクロコンピュータのような別のチップであってもよい。図2の詳細な流れ図に示すように、当該方法は以下のステップを含む。
ステップ201では、現在の動作CPUの利用量と動作周波数を取得する。当該CPUの利用値と動作周波数値を、検出を介して別々に取得してもよい。
ステップ202では、CPUの利用量が利用閾値より大きいかどうかを判定する。大きい場合には、ステップ204を実施する。そうでない場合には、ステップ203を実施する。
ステップ203では、CPUの利用量が利用閾値以下であるとき、当該利用量と動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、循環保持カウント値をクリアする。
当該動作周波数は独立な離散値であり、当該積は独立な離散値と一致することはできない。したがって、動作周波数を当該積に最も近い周波数値に設定してもよい。当該積が独立な離散値と一致する場合には、当該動作周波数を当該積に対応する周波数値に設定してもよいことは確かである。ここでの「決定する」とは、当該積が独立な離散値と一致しない場合には、動作周波数を当該積に最も近い周波数値に設定し、当該積が独立な離散値と一致する場合には、動作周波数を当該積に対応する周波数値に設定することをいう。本明細書での他の「決定する」の意味は、本明細書の説明を参照して類似性により推論してもよいので、さらに繰返し説明することはしない。
さらに、循環保持カウント値は循環保持カウント閾値と比較されるように機能し、当該循環保持カウント値が当該循環保持カウント閾値より小さい場合には、元のカウントに基づいてカウントを続ける。当該循環保持カウント値が循環保持カウント閾値以上になると、現在の周波数を現在の周波数より高い周波数に調節する。
ステップ204では、CPUの利用量が利用閾値より大きいときには、CPUの動作周波数が第1の周波数より小さいかどうかを判定し続ける。当該動作周波数が当該第1の周波数より小さい場合には、ステップ205を実施する。そうでない場合には、ステップ206を実施する。
ステップ205では、当該動作周波数が当該第1の周波数より小さいとき、動作周波数を第1の周波数として決定する。さらに、循環保持カウント値をクリアしてもよい。
ステップ206では、当該動作周波数が当該第1の周波数以上であるとき、CPUの動作周波数が第2の周波数以下かどうかを判定し続ける。第2の周波数は第1の周波数以上であり、最大周波数より小さい。当該動作周波数が当該第2の周波数以下である場合には、ステップ207を実施する。そうでない場合には、ステップ209を実施する。
ステップ207では、当該動作周波数が当該第2の周波数以下であるとき、循環保持カウント値が循環保持カウント閾値より小さいかどうかを判定し続ける。循環保持カウント値が循環保持カウント閾値より小さい場合には、ステップ208を実施する。そうでない場合には、ステップ209を実施する。
ステップ208では、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定する。さらに、当該循環保持カウント値に1を加える。
ステップ209では、当該循環保持カウント値が循環保持カウント閾値以上であるか、または、CPUの動作周波数が第2の周波数より大きいとき、当該動作周波数を第3の周波数として決定する。第3の周波数は第2の周波数より大きい。第3の周波数は、CPUの最大周波数、または第2の周波数より大きく最大周波数より小さい周波数であってもよい。
本発明の当該実施形態で提供する中央演算装置を制御する方法では、第2の周波数を第1の周波数より高く設定しかつ第3の周波数を第2の周波数より高く設定することによって、より細かい周波数レベルの分割が実現され、これを相対的に高い動作周波数を有するCPUハードウェア・チップセットに適用することができる(例えば、最大周波数が1.5GHz(ギガヘルツ)に達してもよい)。したがって、CPUが相対的に高周波数を有するとき、ユーザ・エクスペリエンスとCPU性能が保証される。一方、周波数は一度も最大周波数に調節されないが、当該周波数は段階的に調節される。それにより、さらにCPUの電力消費が節約される。
本発明の第3の実施形態ではCPUを制御するための方法を提供する。当該方法は、スケジューリングの役割を担うCPUにより実行される。図3の詳細な流れ図に示すように、当該方法は以下のステップを含む。
ステップ301では、現在の動作CPUの利用量と動作周波数を取得する。当該CPUの利用値と動作周波数値を、検出を介して別々に取得してもよい。
ステップ302では、CPUの利用量が利用閾値より大きいかどうかを判定する。CPUの利用量が利用閾値より大きい場合には、ステップ304を実施する。そうでない場合には、ステップ303を実施する。
ステップ303では、CPUの利用量が利用閾値以下であるとき、当該利用量と動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、循環保持カウント値をクリアする。
当該動作周波数は独立な離散値であり、当該積は独立な離散値と一致することはできない。したがって、動作周波数を当該積に最も近い周波数値に設定してもよい。当該積が独立な離散値と一致する場合には、当該動作周波数を当該積に対応する周波数値に設定してもよいことは確かである。
さらに、循環保持カウント値は循環保持カウント閾値と比較されるように機能し、当該循環保持カウント値が当該循環保持カウント閾値より小さい場合には、元のカウントに基づいてカウントを続ける。当該循環保持カウント値が循環保持カウント閾値以上になると、現在の周波数を現在の周波数より高い周波数に調節する。
ステップ304では、当該動作周波数が第1の周波数より小さいかどうかを判定する。当該動作周波数が当該第1の周波数より小さい場合には、ステップ305を実施する。そうでない場合には、ステップ307を実施する。第1の周波数は最大周波数より小さい。
ステップ305では、当該動作周波数が当該第1の周波数より小さいとき、循環保持カウント値が循環保持カウント閾値より小さいかどうかを判定する。循環保持カウント値が循環保持カウント閾値より小さい場合には、ステップ306を実施する。そうでない場合には、ステップ307を実施する。
ステップ306では、循環保持カウント値が循環保持カウント閾値より小さいとき、動作周波数を第1の周波数として決定し、さらに当該循環保持カウント値に1を加える。
ステップ307では、当該循環保持カウント値が循環保持カウント閾値以上であるか、または、動作周波数が第1の周波数以上であるとき、CPUの動作周波数を最大周波数として決定する。
本発明の当該実施形態で提供する中央演算装置を制御するための方法では、第1の周波数を最大周波数より低く設定することによって、周波数のグレーディングが実現され、当該実施形態の方法を、中間の動作周波数を有するCPUハードウェア・チップセットに適用してもよい(例えば、最大周波数が1GHzに達してもよい)。したがって、CPUが相対的に高周波数を有するとき、ユーザ・エクスペリエンスおよびCPU性能が保証され、一方、当該周波数は一度も最大周波数に調節されないが、当該周波数は段階的に調節される(例えば、当該周波数は先ず第1の周波数に調節される)。それにより、CPUの電力消費が節約される。
さらに、本発明の当該実施形態で提供する中央演算装置を制御するための方法を、より細かい周波数レベルのグレーディングを有するCPUハードウェア・チップセットに適用してもよい。例えば、CPUハードウェア・チップセットにおいて、動作周波数が2GHzに達してもよい。このケースでは、最大周波数より小さい第1の周波数、第2の周波数、第3の周波数、または第4の周波数を設定してもよい。例えば、第3の周波数を、第2実施形態において第1の周波数と第2の周波数の中間の周波数に設定してもよく、第4の周波数を、第2実施形態において第2の周波数と最大周波数の中間の周波数に設定してもよい。第1の周波数と最大周波数の間の周波数を、均等に3つの部分、5つの部分、またはN個の部分に分割してもよいことは確かである。Nは、2以上の正の整数である。
第1の実施形態、第2実施形態または第3の実施形態に基づいて計時機能を新たに追加してもよい。即ち、タイマの計時が終了する度に、第1の実施形態、第2実施形態、または第3の実施形態の方法を実行する。
タイマを制御する方式は、システムがアイドルであるとき、当該タイマにより計時を停止するステップを含む。
さらに、当該方法はさらに、当該システムがアイドルを脱したとき、当該タイマにより計時を開始するステップを含んでもよい。
本実施形態の方法を実行するスケジューリングCPUが配置された装置のオペレーティング・システムが、当該システムがアイドルかどうかを、スケジューリングする役割を担うCPUに通知する。
以上をもとに、タイマを制御する別の方式は、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、タイマの計時を停止するステップを含む。
特に、最大周波数が継続する期間の数の閾値を、(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)として定義してもよい。ここで、周波数重みは第1の重みであり、4の値であってもよい。開始CPU電力消費感度因子閾値を200に設定してもよい。オープン・コア標本空間は1以上の整数であり、例えば、10の値であってもよい。
当該動作周波数が全て最大周波数である回数がちょうど最大周波数が継続する期間の数の閾値より大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであってもよい。
例えば、タイマに対応し計時が5回切れたときに引き続いて取得された動作周波数が全て最大周波数であり、かつ、最大周波数が継続する期間の数の閾値は4である場合に、タイマは計時を停止する。
本発明の第4の実施形態ではCPUを制御するための方法を提供する。当該実施形態では、第1の実施形態、第2実施形態または第3の実施形態に基づいて、どのように最大周波数より低い様々な周波数が生成されるかを説明する。図4に示すように、図4は、命令と計算を実行する特定の共通CPUの実際に測定された電流周波数曲線の略図である。図4では、横軸周波数を表し、MHz(メガヘルツ)の単位を有し、左から右へ連続的に上昇する。縦軸は共通CPUの電流消費を表し、下から上へ連続的に上昇する。横軸の周波数は離散的である。即ち、共通CPUは離散的な周波数点で動作する。図4の中央にある菱形の黒点は、特定の周波数点で動作する実際に測定された測定点の電流消費を表す。図4の黒の実線で示すように、測定点に従って、電流と周波数の関係を具体化する曲線を大まかに描くことができる。黒の実線は、固定の勾配を有する直線ではないが、固定の勾配を各々が有する2つの直線を接続することによって形成される。黒の実線において、その周波数が電力消費の変曲点の周波数より小さい測定点(即ち、電力消費の変曲点の周波数に対応する測定点の左側にある測定点)を接続することによって形成される直線の勾配(第1の勾配と称してもよい)が、その周波数が電力消費の変曲点の周波数より大きい測定点(即ち、電力消費の変曲点の周波数に対応する測定点の右側にある測定点)を接続することによって形成される直線の勾配(第2の勾配と称してもよい)より小さいことが分かる。図において、電力消費の変曲点の周波数が918MHzの特定の値に対応し、当該値は大まかに最大周波数1512MHzと最小周波数384MHzの中央にあり、当該中央に大まかに配置された当該周波数により、ユーザ・エクスペリエンスとシステムの動作周波数とを保証することができる。異なるプラットフォームでは当該値が別の値、例えば、702MHz、810MHz、または1026MHzをとってもよいことは確かである。このケースでは、電力消費の変曲点の周波数に対応する消費電流は相対的に低く(150mAの電力消費に対応する)、その結果、電力消費の変曲点の周波数を、共通CPUが動作するときの最適な動作周波数点に設定することができる。第1の実施形態、第2実施形態、または第3の実施形態では、第1の周波数を電力消費の変曲点の周波数に設定してもよい。
共通CPUの周波数が電力消費の変曲点の周波数より高くなった後、共通CPUの電力消費をさらに節約できることを考えると、別の周波数を電力消費の変曲点の周波数と最大周波数の間にさらに設定してもよく、その結果、共通CPUの周波数が電力消費の変曲点の周波数より高いとき、共通CPUの動作周波数は一度も最大に調節されない。図4に示すように、電力消費の中間の周波数を電力消費の変曲点の周波数と最大周波数の間の中間点に設定してもよい。共通CPUの動作周波数が電力消費の変曲点の周波数より高いとき、一度最大周波数に調節するのではなく、共通CPUの動作周波数を電力消費の中間の周波数に調節してもよい。それにより、共通CPUの電力消費が節約される。電力消費の中間の周波数を第2の周波数に設定してもよい。
特定の共通CPUの最大周波数が高周波数(例えば、2GHz)に到達できるとき、第3の周波数をさらに電力消費の変曲点の周波数と電力消費の中間の周波数の間に設定してもよく、かつ/または、第4の周波数をさらに電力消費の中間の周波数と最大周波数の間に設定してもよい。このように、より細かい周波数のグレーディングにより、様々なレベルの周波数調整を実現することができ、したがって、動作周波数を高周波数に調節するプロセスにおいて、当該動作周波数が、最大周波数または適合的な周波数より高い周波数に一度調節するのではなく、状況に応じて対応する適合的な周波数に連続的にに調節される。それにより、共通CPUの電力消費が節約される。
本発明の第5の実施形態では端末を提供する。図5に示すように、端末501はプロセッサ5011を備える。プロセッサ5011は、スケジューリングの役割を担うCPUであってもよく、1つまたは複数の共通CPUをスケジュールし制御するように機能する。
プロセッサ5011は、動作CPUの利用量と動作周波数を取得し、当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを決定し、当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定するように構成される。
当該第1の周波数は当該CPUの最大周波数より小さい。
当該CPUの利用値と動作周波数値を、検出を介して別々に取得してもよい。
当該利用閾値は、様々なプラットフォームに応じて様々な値を有してもよく、当該値の範囲は90%と95%の間であってもよい。本明細書では、様々なプラットフォームとは様々なハードウェア・チップセットのことをいう。
第1の実装方式では、当該プロセッサは以下の機能を備えてもよい。
さらに、当該プロセッサをさらに、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数が、当該第1の周波数より大きく最大周波数より小さい第2の周波数以下であるかどうかを判定し、当該動作周波数が当該第2の周波数以下であるとき、当該動作周波数を当該第2の周波数として決定するように構成してもよい。
当該動作周波数が当該第2の周波数以下であるとき、当該プロセッサが当該動作周波数を第2の周波数として決定することは特に、当該動作周波数が当該第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定し、当該循環保持カウント値は循環保持カウント閾値と比較されるように機能し、当該循環保持カウント値が当該循環保持カウント閾値より小さい場合には、元のカウントに基づいてカウントを継続し、当該循環保持カウント値が循環保持カウント閾値以上になると、現在の周波数を現在の周波数より高い周波数に調節することを含んでもよい。さらに、当該プロセッサをさらに、当該循環保持カウント値に1を加えるように構成してもよい。
さらに、当該プロセッサをさらに、当該動作周波数が当該第2の周波数より大きいとき、当該動作周波数を第3の周波数として決定するするように構成してもよい。当該第3の周波数は最大周波数に等しい。
さらに、当該プロセッサをさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成してもよい。
さらに、当該プロセッサをさらに、当該利用量が当該利用閾値より高く、かつ、当該動作周波数が当該第1の周波数以下であるとき、当該循環保持カウント値をクリアするように構成してもよい。
さらに、当該プロセッサをさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成してもよい。
第2の実装方式では、当該プロセッサが以下の機能を含んでもよい。
当該プロセッサをさらに、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数を最大周波数として決定するように構成してもよい。
当該動作周波数が当該第1の周波数より小さいとき、当該プロセッサが動作周波数を第1の周波数として決定することは、特に、当該動作周波数が当該第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第1の周波数として決定することであってもよい。さらに、当該プロセッサをさらに、当該循環保持カウント値に1を加えるように構成してもよい。
当該プロセッサをさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成してもよい。
当該プロセッサをさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成してもよい。
さらに、当該プロセッサの以下の機能は、第1の実装方式と第2実装方式に適用可能である。
当該プロセッサは、当該CPUに対応するタイマの計時が終了したとき、以上の実装方式の各々における当該プロセッサの機能を実行するようにさらに構成される。
さらに、当該プロセッサをさらに、システムがアイドルであるとき計時を停止するように当該タイマを制御するように構成してもよい。
さらに、当該プロセッサをさらに、当該システムがアイドルを脱したとき計時を開始するように当該タイマを制御するように構成してもよい。本実施形態の方法を実行するスケジューリングCPUが配置された装置のオペレーティング・システムが、当該システムがアイドルかどうかをスケジューリングの役割を担うCPUに通知する。
さらに、当該プロセッサは、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するようにタイマを制御するようにさらに構成される。
特に、最大周波数が継続する期間の数の閾値を、(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)として定義してもよい。ここで、当該周波数重みは第1の重みであり、4の値であってもよい。開始CPU電力消費感度因子閾値を200に設定してもよい。オープン・コア標本空間は1以上の整数であり、例えば、10の値を有してもよい。
当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであるということである。
例えば、タイマに対応し計時が5回切れたときに引き続いて取得された動作周波数が全て最大周波数であり、かつ、最大周波数が継続する期間の数の閾値は4である場合に、タイマは計時を停止する。
第1の周波数は電流周波数曲線における変曲点に対応する周波数であってもよい。
図4に示す電流周波数曲線では、第1の勾配は第2の勾配より小さい。
当該第1の勾配は、その周波数が当該変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、当該第2の勾配は、その周波数が当該変曲点に対応する周波数より高い測定点により形成された直線の勾配である。
当該第2の周波数は当該第1の周波数と最大周波数の平均値である。
最大周波数より低い様々な中間の周波数の決定については、図4および本発明の第4の実施形態の説明を参照できるので詳細についてはここでは繰返し説明することはしない。
本発明の第5の実施形態により提供する端末は、第1の周波数を最大周波数より低く設定することによって、または、さらに第2の周波数等を含めることによって、周波数のグレーディングを実現する。本実施形態の端末が、中間の動作周波数を有するCPUハードウェア・チップセット(例えば、最大周波数が1GHzに達してもよい)、または、相対的に高い動作周波数を有するCPUハードウェア・チップセット(例えば、最大周波数が1.5GHz(ギガヘルツ)に達してもよい)に適用可能であってもよい。したがって、CPUが相対的に高周波数を有するとき、ユーザ・エクスペリエンスとCPU性能が保証される。一方で、周波数は一度も最大周波数に調節されないが、当該周波数は段階的に調節される(例えば、周波数が先ず第1の周波数または第2の周波数に調節される)。それにより、さらにCPUの電力消費が節約される。
本発明の第6の実施形態ではさらに携帯電話を提供する。当該携帯電話は、本発明の第5の実施形態で提供した端末の具体的な形態である。さらに、当該端末がさらにタブレット・コンピュータ、PDA(Personal Digital Assistant、personal digital assistant)、POS(Point of Sales、point of sales)、車載型コンピュータ等を備えてもよい。当該端末のタイプは本明細書では限定されず、当該端末が中央のオフィス端末装置でない限り、本明細書に関連する端末とみなしてもよい。図6は、携帯電話の部分構造のブロック図である。図6を参照すると、携帯電話100は、RF(Radio Frequency、無線周波数)回路110、記憶部120、入力ユニット130、表示ユニット140、センサ150、音声回路160、WiFi(Wireless fidelity、ワイヤレス・フィデリティ)モジュール170、プロセッサ180、および電源190のようなコンポーネントを備える。図6に示す携帯電話の構造は当該携帯電話に対する限定を構成せず、当該携帯電話は当該図面に示すコンポーネントより多くのまたは少ないコンポーネントを備えてもよく、または、一部のコンポーネントを組み合わせてもよく、または異なるコンポーネント構成を有してもよいことは当業者には理解される。
携帯電話100を構成するコンポーネントを、図6に関連して以下で詳細に説明する。
RF回路110は、情報の送受信または呼プロセスの間に信号を送受信し、基地局のダウンリンク情報を受信し、当該ダウンリンク情報を処理するためにプロセッサ180に送信し、さらに、アップリンクに設計された基地局データを送信するように構成してもよい。一般に、当該RF回路には、アンテナ、少なくとも1つの増幅器、送受信器、カップラ、LNA(Low Noise Amplifier、低雑音増幅器)、デュプレクサ等が含まれるがこれらに限らない。それに加えて、RF回路110はさらに、無線通信を介して別の装置と通信してもよい。当該無線通信が任意の通信標準またはプロトコルを使用してもよい。当該通信標準またはプロトコルには、GSM(登録商標)(Global System of Mobile Communication、モバイル通信のグローバル・システム)、GPRS(General Packet Radio Service、汎用パケット無線サービス)、CDMA(Code Division Multiple Access、符号分割多重アクセス)、WCDMA(登録商標)(Wideband Code Division Multiple Access、広帯域符号分割多重アクセス)、LTE(Long Term Evolution、ロング・ターム・エボリューション)、電子メール、SMS(Short Messaging Service、ショート・メッセージング・サービス)等が含まれるがこれらに限らない。
記憶部120を、ソフトウェア・プログラムおよびモジュールを格納するように構成してもよい。プロセッサ180は、記憶部120に格納されたソフトウェア・プログラムおよびモジュールを実行することによって、携帯電話100の様々な機能アプリケーションとデータ処理を実行する。記憶部120は主に、プログラム記憶部エリアおよびデータ記憶部エリアを備えることができる。当該プログラム記憶部エリアは、(音声再生機能および画像再生機能のような)少なくとも1つの機能等が必要とするオペレーティング・システム、アプリケーション・プログラムを格納してもよい。当該データ記憶部エリアは、携帯電話100の使用に従って作成された(音声データや電話帳のような)データを格納してもよい。さらに、記憶部120は、高速ランダム・アクセス・メモリを備えてもよく、さらに、不揮発性メモリ、例えば、少なくとも1つのディスク・メモリ装置、フラッシュ・メモリ装置、または別の揮発性の固体メモリ装置を備えてもよい。
入力ユニット130を、入力の数字または文字情報を受信し、携帯電話100のユーザ設定および機能制御に関するキー信号入力を生成するように構成してもよい。特に、入力ユニット130がタッチ・パネル131および別の入力装置132を備えてもよい。タッチ・パネル131はまたタッチスクリーンとも呼ばれ、タッチ・パネル上またはタッチ・パネル近辺のユーザのタッチ操作(例えば、指やスタイラスペンのような任意の適切なオブジェクトまたは取付装置を用いたタッチ・パネル131上またはタッチ・パネル131近辺のユーザの操作)を収集し、予め設定したプログラムに従って対応する接続装置を駆動してもよい。場合によっては、タッチ・パネル131が2つの部分、即ち、タッチ検出装置とタッチ・コントローラを備えてもよい。当該タッチ検出装置は、ユーザのタッチ方向を検出し、タッチ操作により生じた信号を検出し、当該信号をタッチ・コントローラに送信する。タッチ・コントローラはタッチ情報をタッチ検出装置から受信し、当該タッチ情報を接触座標に変換し、当該接触座標をプロセッサ180に送信し、プロセッサ180が送信したコマンドを受信して当該コマンドを実行する。さらに、タッチ・パネル131を、抵抗膜タイプ、静電容量タイプ、赤外線タイプ、および表面弾性波タイプのような様々なタイプを使用することによって実装してもよい。タッチ・パネル131に加えて、入力ユニット130はさらに別の入力装置132を備えてもよい。特に、別の入力装置132が、物理キーボード、(音量制御ボタンやスイッチ・ボタンのような)機能キー、トラックボール、マウス、および操作レベルのうち1つまたは複数を備えてもよいがこれらに限らない。
表示ユニット140を、ユーザが入力した情報またはユーザに提供された情報および携帯電話100の様々なメニューを表示するように構成してもよい。表示ユニット140はディスプレイ・パネル141を備えてもよく、場合によっては、ディスプレイ・パネル141を、LCD(Liquid Crystal Display、液晶ディスプレイ)およびOLED(Organic Light−Emitting Diode、有機発光ダイオード)のような形で構成してもよい。さらに、タッチ・パネル131がディスプレイ・パネル141をカバーしてもよく、タッチ・パネル131上またはタッチ・パネル131近辺でタッチ操作を検出したとき、タッチ・パネル131は当該タッチ操作をプロセッサ180に送信してタッチイベントのタイプを決定し、次いでプロセッサ180は当該タッチイベントのタイプに従って、対応する視覚的出力をディスプレイ・パネル141に提供する。図6では、タッチ・パネル131およびディスプレイ・パネル141が携帯電話100の入力と入力機能を2つの別々のコンポーネントとして実装しているが、幾つかの実施形態では、タッチ・パネル131およびディスプレイ・パネル141を統合して携帯電話100の入力機能と出力機能を実装してもよい。
携帯電話100はさらに、光センサ、動きセンサ、および別のセンサのような少なくとも1つのセンサ150を備えてもよい。特に、光センサが照度センサおよび近接センサを備えてもよい。照度センサは、周辺光の照度に従ってディスプレイ・パネル141の輝度を調節してもよく、近接センサは、携帯電話100を耳へ移動したときにディスプレイ・パネル141および/またはバックライトを閉じてもよい。動きセンサの一種として、加速度計センサが(一般に3つの軸の)様々な方向の加速度の大きさを検出してもよく、固定されているときに重力の大きさと方向を検出してもよく、携帯電話のジェスチャのアプリケーション(例えば、縦方向と横方向の切替え、関連するゲーム、および磁力計ジェスチャ較正)を特定し、振動関連機能(例えば、歩数計、ノッキング)等を特定するように構成してもよい。ジャイロスコープ、気圧計、湿度計、温度計、および赤外線センサのような他のセンサを携帯電話100内でさらに構成してもよく、詳細については本明細書では説明しない。
音声回路160、拡声器161、およびマイクロフォン162により、ユーザと携帯電話100の間に音声インタフェースを提供してもよい。音声回路160は受信した音声データから変換した電気信号を拡声器161に送信してもよい。拡声器161は当該電気信号を音声信号に変換し、当該音声信号を出力する。他方、マイクロフォン162は収集した音声信号を電気信号に変換し、音声回路160は当該電気信号を受信し、当該電気信号を音声データに変換し、当該音声データをRF回路108に出力して、当該音声データを例えば別の携帯電話に送信するか、または、当該音声データをさらに処理するために記憶部120に出力する。
WiFiは短距離無線送信技術に属し、携帯電話100は、WiFiモジュール170を介してユーザが電子メールを送受信し、ウェブページを閲覧し、ストリーム・メディアを訪問するのを支援してもよい。WiFiモジュール170は、無線ブロードバンド・インターネット・アクセスをユーザに提供する。図1はWiFiモジュール170を示す。しかし、WiFiモジュール170は携帯電話100に必要なものではなく、本発明の本質的な範囲を変更しない要件に応じて省略してもよい。
プロセッサ180は携帯電話100の制御中心であり、様々なインタフェースおよび回路を使用することによって当該携帯電話の様々な部分に接続し、携帯電話100の様々な機能を実行し、記憶部120に格納したソフトウェア・プログラムおよび/またはモジュールを実行し記憶部120に格納されたデータを使用することによってデータを処理する。それによって、当該携帯電話に対する監視の全体を実施する。プロセッサ180がアプリケーション・プロセッサおよびモデム・プロセッサを統合できることが好ましい。当該アプリケーション・プロセッサは主にオペレーティング・システム、ユーザ・インタフェース、アプリケーション等を処理し、モデム・プロセッサは主に無線通信を処理する。モデム・プロセッサをプロセッサ180に統合しなくともよいことは理解される。
場合によっては、プロセッサ180が、1つまたは複数の処理ユニットを備えてもよい。当該1つまたは複数の処理ユニットが、1つの独立なスケジューリングCPUと1つまたは複数の共通CPUを備えてもよい。当該スケジューリングCPUが共通CPUをスケジュールしてもよい。スケジューリングCPUのハードウェア形態が、高度縮小命令セット・コンピューティング・マシン(Advanced Reduced Instruction Set Computing(RISC)Machines、ARM)チップであってもよく、単一チップ・マイクロコンピュータのような別のチップであってもよい。共通CPUとは命令と計算を実行する共通CPUのことをいう。スケジューリングCPUの機能を1つまたは複数の共通CPUに統合してもよく、本実施形態では限定されないことは理解される。スケジューリングCPUの機能については、第1の実施形態から第5の実施形態を参照できるので、詳細についてはここでは繰返し説明することはしない。
携帯電話100はさらに、様々なコンポーネントに電力を供給する電源190(例えば、バッテリ)を備える。当該電源が電源管理システムを介してプロセッサ180に論理的に接続して、当該電源管理システムを介した充電、放電、および電力消費管理のような機能を実現してもよい。
図示していないが、携帯電話100がさらに、カメラ、Bluetooth(登録商標)モジュール等を備えてもよい。詳細については本明細書では説明しない。
本発明の第7の実施形態はさらに装置を提供する。図7に示すように、装置701は、動作CPUの利用量と動作周波数を取得するように構成された第1のユニット7011と、当該利用量が利用閾値より大きいとき、当該動作周波数が第1の周波数より小さいかどうかを決定するように構成された第2のユニット7012と、当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を当該第1の周波数として決定するように構成された第3のユニット7013と、を備える。
当該第1の周波数は当該CPUの最大周波数より小さい。当該利用閾値は、様々なプラットフォームに応じて様々な値を有してもよく、当該値の範囲は90%と95%の間であってもよい。本明細書では、様々なプラットフォームとは様々なハードウェア・チップセットのことをいう。
CPUの利用量が利用閾値より大きくなった後、本発明の当該実施形態で提供する装置はさらに当該動作周波数が当該第1の周波数より小さいかどうかを判定する。当該動作周波数が当該第1の周波数より小さいとき、当該動作周波数を、CPUの最大周波数より小さい第1の周波数として決定する。この周波数調整方式では、CPU周波数は一度も最大周波数に調節されず、それにより、周波数を調整している最中のCPU電力消費が削減される。
本発明の第8の実施形態ではさらに装置を提供する。図8Aに示すように、本発明の第7の実施形態に基づいて、当該装置はさらに、
当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数が第2の周波数以下であるかどうかを判定するように構成された第4のユニットであって、当該第2の周波数は当該第1の周波数より大きく最大周波数より小さい第4のユニットと、
当該動作周波数が当該第2の周波数以下であるとき、当該動作周波数を当該第2の周波数として決定するように構成された第5のユニットと、を備える。
当該第5のユニットをさらに、特に、当該動作周波数が当該第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第2の周波数として決定するように構成してもよい。
さらに、当該装置がさらに、当該循環保持カウント値に1を加えるように構成された第6のユニットを備えてもよい。
さらに、当該装置がさらに、当該動作周波数が当該第2の周波数より大きいとき、当該動作周波数を第3の周波数として決定するように構成された第7のユニットであって、当該第3の周波数は最大周波数に等しい第7のユニットを備えてもよい。
さらに、当該装置がさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成された第8のユニットを備えてもよい。
さらに、当該装置がさらに、当該利用量が当該利用閾値より高く、かつ、当該動作周波数が当該第1の周波数以下であるとき、当該循環保持カウント値をクリアするように構成された第9のユニットを備えてもよい。
さらに、当該装置がさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成された第10のユニットを備えてもよい。
本発明の当該実施形態で提供する装置では、第2の周波数を第1の周波数より高く設定し第3の周波数を第2の周波数より高く設定することによって、より細かい周波数レベルの分割が実現され、これは相対的に高い動作周波数(例えば、最大周波数1.5GHz(ギガヘルツに到達してもよい)を有するCPUハードウェア・チップセットに適用可能である。したがって、CPUが相対的に高周波数を有するとき、ユーザ・エクスペリエンスとCPU性能が保証される一方、周波数は一度も最大周波数に調節されないが、当該周波数は段階的に調節される。それにより、さらにCPUの電力消費が節約される。
本発明の第8の実施形態ではさらに装置を提供する。図8Bに示すように、本発明の第7の実施形態に基づいて、当該装置はさらに、当該動作周波数が当該第1の周波数以上であるとき、当該動作周波数を最大周波数として決定するように構成された第11のユニットを備える。
さらに、第3のユニットは特に、当該動作周波数が当該第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、当該動作周波数を当該第1の周波数として決定するように構成してもよい。
さらに、当該装置がさらに、当該循環保持カウント値に1を加えるように構成された第12のユニットを備えてもよい。
さらに、当該装置がさらに、当該循環保持カウント値が循環保持カウント閾値以上であるとき、当該動作周波数を最大周波数として決定するように構成された第13のユニットを備えてもよい。
さらに、当該装置がさらに、当該利用量が当該利用閾値以下であるとき、当該利用量と当該動作周波数の積を取得し、当該動作周波数を当該積に最も近い周波数値として決定し、当該循環保持カウント値をクリアするように構成された第14のユニットを備えてもよい。
本発明の当該実施形態で提供する中央演算装置を制御するための方法では、第1の周波数を最大周波数より低く設定することによって、周波数のグレーディングが実現され、当該実施形態の方法が、中間の動作周波数を有するCPUハードウェア・チップセットに適用可能であってもよい(例えば、最大周波数が1GHzに達してもよい)。したがって、CPUが相対的に高周波数を有するとき、ユーザ・エクスペリエンスとCPU性能が保証される一方、周波数は一度も最大周波数に調節されないが、当該周波数は段階的に調節される(例えば、当該周波数が先ず第1の周波数に調節される)。それにより、さらにCPUの電力消費が節約される。
本発明の第8の実施形態ではさらに装置を提供する。図8Cに示すように、本発明の第7の実施形態に基づいて、または、図8Aに対応する実施形態もしくは図8Bに対応する実施形態に基づいて、当該装置はさらに、CPUに対応するタイマの計時が終了したとき、本発明の第7の実施形態、または、図8Aに対応する実施形態もしくは図8Bに対応する実施形態で説明した装置の機能を実行するように構成されたタイマを備える。
さらに、当該装置がさらに、システムがアイドルであるとき計時を停止するように当該タイマを制御するように構成された第15のユニットを備えてもよい。
さらに、当該装置がさらに、当該システムがアイドルを脱したとき計時を開始するように当該タイマを制御するように構成された第16のユニットを備えてもよい。
さらに、当該装置がさらに、当該タイマに対応し当該タイマの計時が終了したときに引き続いて取得される動作周波数が全て最大周波数であり、かつ、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するようにタイマを制御するように構成された第17のユニットを備えてもよい。
最大周波数が継続する期間の数の閾値は、(開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)である。ここで、当該周波数重みは第1の重みである。
当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、当該動作周波数が全て最大周波数である回数が、最大周波数が継続する期間の数の閾値に1を加えたものであるということである。
第7の実施形態または第8の実施形態における第1の周波数および第2の周波数の決定を、以下の方式を参照して実施してもよい。
第1の周波数は、電流周波数曲線における変曲点に対応する周波数である。
図4の電流周波数曲線では、第1の勾配は第2の勾配より小さく、当該第1の勾配は、その周波数が当該変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、当該第2の勾配は、その周波数が当該変曲点に対応する周波数より高い測定点により形成された直線の勾配である。
当該第2の周波数は当該第1の周波数と最大周波数の平均値である。
さらに、第1の周波数と第2の周波数の決定については、図4および本発明の第4の実施形態での関連説明を参照できるので、詳細についてはここでは繰返し説明することはしない。
本発明の第9の実施形態ではさらにプログラム・コードを保持するコンピュータ・プログラムを提供する。当該コンピュータ・プログラムをコンピュータで実行すると、当該プログラム・コードは、本発明の第1の実施形態から第4の実施形態で説明した方法を実行する。
本発明の第10の実施形態ではさらにコンピュータ読取可能記憶媒体を提供する。当該コンピュータはコンピュータ・プログラム・コードを格納する。当該コンピュータ・プログラム・コードをコンピュータにより実行すると、当該コンピュータ・プログラム・コードにより、当該コンピュータが本発明の第1の実施形態から第4の実施形態で説明した方法のステップを実行できるようにしてもよい。
本発明の第11の実施形態ではさらにコンピュータ・プログラム製品を提供する。当該コンピュータ・プログラム製品はコンピュータ・プログラム・コードを備える。当該コンピュータ・プログラム・コードをコンピュータにより実行すると、当該コンピュータ・プログラム・コードにより、当該コンピュータが本発明の第1の実施形態から第4の実施形態で説明した方法のステップを実行できるようにしてもよい。
明らかに、当業者は本発明の趣旨と範囲から逸脱しない様々な修正と変形を本発明に加えることができる。このように、本発明に加えたこれらの修正と変形が本発明の特許請求の範囲とその均等な技術の範囲に入る場合には、本発明はこれらの修正と変形をカバーするものである。
110 RF回路
120 記憶部
130 入力ユニット
131 タッチ・パネル
132 別の入力装置
140 表示ユニット
141 表示パネル
150 センサ
160 音声回路
161 拡声器
162 マイクロフォン
170 WiFiモジュール
180 プロセッサ
190 電源

Claims (66)

  1. 中央演算装置CPUを制御するための方法であって、
    動作CPUの利用量と動作周波数を取得するステップと、
    前記利用量が利用閾値より大きいとき、前記動作周波数が第1の周波数より小さいかどうかを判定するステップと、
    前記動作周波数が前記第1の周波数より小さいとき、前記動作周波数を前記第1の周波数として決定するステップと、
    を含み、
    前記第1の周波数は前記CPUの最大周波数より小さい、
    、方法。
  2. 前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数が第2の周波数以下であるかどうかを判定するステップであって、前記第2の周波数は前記第1の周波数より大きく前記最大周波数より小さいステップと、
    前記動作周波数が前記第2の周波数以下であるとき、前記動作周波数を前記第2の周波数として決定するステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記動作周波数が前記第2の周波数以下であるとき前記動作周波数を前記第2の周波数として決定するステップは、
    前記動作周波数が前記第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第2の周波数として決定するステップを含む、請求項2に記載の方法。
  4. 前記循環保持カウント値に1を加えるステップをさらに含む、請求項3に記載の方法。。
  5. 前記動作周波数が前記第2の周波数より大きいとき、前記動作周波数を第3の周波数として決定するステップであって、前記第3の周波数は前記最大周波数に等しいステップ、 をさらに含む、請求項2乃至4の何れか1項に記載の方法。
  6. 前記循環保持カウント値が前記循環保持カウント閾値以上であるとき、前記動作周波数を前記最大周波数として決定するステップをさらに含む、請求項3乃至5の何れか1項に記載の方法。
  7. 前記利用量が前記利用閾値より大きく、かつ、前記動作周波数が前記第1の周波数以下であるとき、前記循環保持カウント値をクリアするステップをさらに含む、請求項3乃至6の何れか1項に記載の方法。
  8. 前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を、前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアするステップをさらに含む、請求項1乃至7の何れか1項に記載の方法。
  9. 前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数を前記最大周波数として決定するステップをさらに含む、請求項1に記載の方法。
  10. 前記動作周波数が前記第1の周波数より小さいとき前記動作周波数を前記第1の周波数として決定するステップは、特に、前記動作周波数が前記第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第1の周波数として決定するステップである、請求項1または9に記載の方法。
  11. 前記循環保持カウント値に1を加えるステップをさらに含む、請求項10に記載の方法。
  12. 前記循環保持カウント値が前記循環保持カウント閾値以上であるとき前記動作周波数を前記最大周波数として決定するステップをさらに含む、請求項10乃至11の何れか1項に記載の方法。
  13. 前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を、前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアするステップをさらに含む、請求項10、11、または12に記載の方法。
  14. 前記CPUに対応するタイマの計時が終了したときに前記方法のステップが実行される、請求項1乃至13の何れか1項に記載の方法。
  15. システムがアイドルであるとき前記タイマにより計時を停止するステップをさらに含む、請求項14に記載の方法。
  16. 前記システムがアイドルを脱したとき前記タイマにより計時を開始するステップをさらに含む、請求項14または15に記載の方法。
  17. 前記タイマに対応し前記タイマの計時が終了したときに引き続いて取得される動作周波数が全て前記最大周波数であり、かつ、前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、前記タイマにより計時を停止するステップをさらに含む、請求項14乃至16の何れか1項に記載の方法。
  18. 前記最大周波数が継続する期間の数の前記閾値は、
    (開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)であり、
    前記周波数重みは第1の重みであり、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の前記閾値に1を加えたものであるということである、
    請求項17に記載の方法。
  19. 前記第1の周波数は電流周波数曲線の変曲点に対応する周波数である、請求項1乃至18の何れか1項に記載の方法。
  20. 前記電流周波数曲線において、第1の勾配は第2の勾配より小さく、
    前記第1の勾配は、その周波数が前記変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、前記第2の勾配は、その周波数が前記変曲点に対応する周波数より高い測定点により形成された直線の勾配である、
    請求項19に記載の方法。
  21. 前記第2の周波数は前記第1の周波数と前記最大周波数の平均値である、請求項2乃至20の何れか1項に記載の方法。
  22. プロセッサを備える端末であって、前記プロセッサは、
    動作CPUの利用量と動作周波数を取得し
    前記利用量が利用閾値より大きいとき、前記動作周波数が第1の周波数より小さいかどうかを決定し、
    前記動作周波数が前記第1の周波数より小さいとき、前記動作周波数を前記第1の周波数として決定する
    ように構成され、
    前記第1の周波数は前記CPUの最大周波数より小さい、
    端末。
  23. 前記プロセッサは、
    前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数が、前記第1の周波数より大きく前記最大周波数より小さい第2の周波数以下であるかどうかを判定し、
    前記動作周波数が前記第2の周波数以下であるとき、前記動作周波数を前記第2の周波数として決定する
    ようにさらに構成される、請求項22に記載の端末。
  24. 前記動作周波数が前記第2の周波数以下であるとき、前記プロセッサが前記動作周波数を前記第2の周波数として決定するというのは特に、
    前記動作周波数が前記第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第2の周波数として決定することを含む、請求項23に記載の端末。
  25. 前記プロセッサは、前記循環保持カウント値に1を加えるようにさらに構成される、請求項24に記載の端末。
  26. 前記動作周波数が前記第2の周波数より大きいとき、前記最大周波数に等しい第3の周波数として前記動作周波数を決定する
    ようにさらに構成される、請求項23乃至25の何れか1項に記載の端末。
  27. 前記プロセッサは、
    前記循環保持カウント値が前記循環保持カウント閾値以上であるとき、前記動作周波数を前記最大周波数として決定する
    ようにさらに構成される、請求項24乃至26の何れか1項に記載の端末。
  28. 前記プロセッサは、
    前記利用量が前記利用閾値より大きく、かつ、前記動作周波数が前記第1の周波数以下であるとき、前記循環保持カウント値をクリアする
    ようにさらに構成される、請求項24乃至27の何れか1項に記載の端末。
  29. 前記プロセッサは、
    前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアする
    ようにさらに構成される請求項22乃至28の何れか1項に記載の端末。
  30. 前記プロセッサは、
    前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数を前記最大周波数として決定する
    ようにさらに構成される請求項22に記載の端末。
  31. 前記動作周波数が前記第1の周波数より小さいとき、前記プロセッサが前記動作周波数を前記第1の周波数として決定するというのは、特に、
    前記動作周波数が前記第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第1の周波数として決定する
    ことである、請求項22または30に記載の端末。
  32. 前記プロセッサは、前記循環保持カウント値に1を加えるようにさらに構成される、請求項31に記載の端末。
  33. 前記プロセッサは、
    前記循環保持カウント値が前記循環保持カウント閾値以上であるとき、前記動作周波数を前記最大周波数として決定する
    ようにさらに構成される請求項31および32の何れか1項に記載の端末。
  34. 前記プロセッサは、
    前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアする
    ようにさらに構成される請求項31、32、または33に記載の端末。
  35. 前記プロセッサは、前記CPUに対応するタイマの計時が終了したときに1つの機能を実行するようにさらに構成される、請求項22乃至34の何れか1項に記載の方法。
  36. 前記プロセッサは、システムがアイドルであるとき計時を停止するように前記タイマを制御するようにさらに構成される、請求項35に記載の端末。
  37. 前記プロセッサは、前記システムがアイドルを脱したとき計時を開始するように前記タイマを制御するようにさらに構成される、請求項35または36に記載の端末。
  38. 前記プロセッサは、
    前記タイマに対応し前記タイマの計時が終了したときに引き続いて取得される動作周波数が全て前記最大周波数であり、かつ、前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するように前記タイマを制御する
    ようにさらに構成される、請求項35乃至37の何れか1項に記載の端末。
  39. 前記最大周波数が継続する期間の数の前記閾値は、
    (開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)であり、
    前記周波数重みは第1の重みであり、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の前記閾値に1を加えたものであるということである、
    請求項38に記載の端末。
  40. 前記第1の周波数は電流周波数曲線の変曲点に対応する周波数である、請求項22乃至39の何れか1項に記載の端末。
  41. 前記電流周波数曲線において、第1の勾配は第2の勾配より小さく
    前記第1の勾配は、その周波数が前記変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、前記第2の勾配は、その周波数が前記変曲点に対応する周波数より高い測定点により形成された直線の勾配である、
    請求項40に記載の端末。
  42. 前記第2の周波数は前記第1の周波数と前記最大周波数の平均値である、請求項23乃至41の何れか1項に記載の端末。
  43. 動作CPUの利用量と動作周波数を取得するように構成された第1のユニットと、
    前記利用量が利用閾値より大きいとき、前記動作周波数が第1の周波数より小さいかどうかを決定するように構成された第2のユニットと、
    前記動作周波数が前記第1の周波数より小さいとき、前記動作周波数を前記第1の周波数として決定するように構成された第3のユニットであって、前記第1の周波数は前記CPUの最大周波数より小さい第3のユニットと、
    を備える、装置。
  44. 前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数が、前記第1の周波数より大きく前記最大周波数より小さい第2の周波数以下であるかどうかを判定するように構成された第4のユニットと、
    前記動作周波数が前記第2の周波数以下であるとき、前記動作周波数を前記第2の周波数として決定するように構成された第5のユニットと、
    をさらに備える、請求項43に記載の装置。
  45. 前記第5のユニットは特に、
    前記動作周波数が前記第2の周波数以下であり、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第2の周波数として決定する
    ように構成される、請求項44に記載の装置。
  46. 前記循環保持カウント値に1を加えるように構成された第6のユニットをさらに備える、請求項45に記載の装置。
  47. 前記動作周波数が前記第2の周波数より大きいとき、前記最大周波数に等しい第3の周波数として前記動作周波数を決定するように構成された第7のユニットをさらに備える、請求項44乃至46の何れか1項に記載の装置。
  48. 前記循環保持カウント値が前記循環保持カウント閾値以上であるとき、前記動作周波数を前記最大周波数として決定するように構成された第8のユニットをさらに備える、請求項45乃至47の何れか1項に記載の装置。
  49. 前記利用量が前記利用閾値より大きく、かつ、前記動作周波数が前記第1の周波数以下であるとき、前記循環保持カウント値をクリアするように構成された第9のユニットをさらに備える、請求項45乃至48の何れか1項に記載の装置。
  50. 前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアするように構成された第10のユニットをさらに備える、請求項43乃至49の何れか1項に記載の装置。
  51. 前記動作周波数が前記第1の周波数以上であるとき、前記動作周波数を前記最大周波数として決定するように構成された第11のユニットをさらに備える、請求項43に記載の装置。
  52. 前記第3のユニットは特に、前記動作周波数が前記第1の周波数より小さく、かつ、循環保持カウント値が循環保持カウント閾値より小さいとき、前記動作周波数を前記第1の周波数として決定するように構成される、請求項43または51に記載の装置。
  53. 前記循環保持カウント値に1を加えるように構成された第12のユニットをさらに備える、請求項52に記載の装置。
  54. 前記循環保持カウント値が前記循環保持カウント閾値以上であるとき、前記動作周波数を前記最大周波数として決定するように構成された第13のユニットをさらに備える、請求項52および53の何れか1項に記載の装置。
  55. 前記利用量が前記利用閾値以下であるとき、前記利用量と前記動作周波数の積を取得し、前記動作周波数を前記積に最も近い周波数値として決定し、前記循環保持カウント値をクリアするように構成された第14のユニットをさらに備える、請求項52、53、または54に記載の装置。
  56. 前記CPUに対応する前記タイマの計時が終了したとき前記方法のステップを実行するように構成されたタイマをさらに備える、請求項43乃至55の何れか1項に記載の装置。
  57. システムがアイドルであるとき計時を停止するように前記タイマを制御するように構成された第15のユニットをさらに備える、請求項56に記載の装置。
  58. 前記システムがアイドルを脱したとき計時を開始するように前記タイマを制御するように構成された第16のユニットをさらに備える、請求項56または57に記載の装置。
  59. 前記タイマに対応し前記タイマの計時が終了したときに引き続いて取得される動作周波数が全て前記最大周波数であり、かつ、前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きい場合に、計時を停止するように前記タイマを制御するように構成された第17のユニットをさらに備える、請求項56乃至58の何れか1項に記載の装置。
  60. 前記最大周波数が継続する期間の数の前記閾値は、
    (開始CPU電力消費感度因子閾値×オープン・コア標本空間)/(利用閾値×周波数重み)であり、
    前記周波数重みは第1の重みであり、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の閾値よりちょうど大きいというのは、
    前記動作周波数が全て前記最大周波数である回数が、前記最大周波数が継続する期間の数の前記閾値に1を加えたものであるということである、
    請求項59に記載の装置。
  61. 前記第1の周波数は電流周波数曲線の変曲点に対応する周波数である、請求項43乃至60の何れか1項に記載の装置。
  62. 前記電流周波数曲線において、第1の勾配は第2の勾配より小さく、
    前記第1の勾配は、その周波数が前記変曲点に対応する周波数より低い測定点により形成された直線の勾配であり、前記第2の勾配は、その周波数が前記変曲点に対応する周波数より高い測定点により形成された直線の勾配である、
    請求項61に記載の装置。
  63. 前記第2の周波数は前記第1の周波数と前記最大周波数の平均値である、請求項44乃至62の何れか1項に記載の装置。
  64. プログラム・コードを保持するコンピュータ・プログラムであって、前記コンピュータ・プログラムをコンピュータで実行したとき、前記プログラム・コードは請求項1乃至21の何れか1項に記載の方法を実行する、コンピュータ・プログラム。
  65. コンピュータ読取可能記憶媒体であって、前記コンピュータはプログラム・コードを格納し、前記コンピュータの前記プログラム・コードがコンピュータにより実行されたとき、前記コンピュータの前記プログラム・コードは前記コンピュータが請求項1乃至21の何れか1項に記載のステップを実行できるようにする、コンピュータ読取可能記憶媒体。
  66. コンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータ・プログラム・コードを備え、前記コンピュータ・プログラム・コードがコンピュータによって実行されると、前記コンピュータ・プログラム・コードは前記コンピュータが請求項1乃至21の何れか1項に記載のステップを実行できるようにする、コンピュータ・プログラム。
JP2014532227A 2012-08-30 2012-08-30 中央演算装置を制御するための方法および装置 Active JP5871075B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/080765 WO2014032250A1 (zh) 2012-08-30 2012-08-30 一种控制中央处理器的方法和装置

Publications (2)

Publication Number Publication Date
JP2014529146A true JP2014529146A (ja) 2014-10-30
JP5871075B2 JP5871075B2 (ja) 2016-03-01

Family

ID=49608186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014532227A Active JP5871075B2 (ja) 2012-08-30 2012-08-30 中央演算装置を制御するための方法および装置

Country Status (5)

Country Link
US (1) US9405353B2 (ja)
EP (1) EP2725450A4 (ja)
JP (1) JP5871075B2 (ja)
CN (1) CN103415823B (ja)
WO (1) WO2014032250A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528203B (zh) * 2014-10-23 2019-04-12 深圳富泰宏精密工业有限公司 Cpu使用控制系统及方法
CN105813172B (zh) * 2014-12-31 2019-05-10 展讯通信(上海)有限公司 一种lte从模式搜网的方法和系统
CN106066769B (zh) * 2016-05-31 2019-05-21 Oppo广东移动通信有限公司 一种移动终端的处理方法及移动终端
CN106527654A (zh) * 2016-10-13 2017-03-22 乐视控股(北京)有限公司 终端设备的运行频率的控制方法和控制系统
CN108681501B (zh) * 2018-05-07 2022-05-24 网易(杭州)网络有限公司 用户设备的分层方法和装置
WO2021128084A1 (zh) * 2019-12-25 2021-07-01 阿里巴巴集团控股有限公司 数据处理、获取、模型训练及功耗控制方法、系统及设备
CN111666140A (zh) * 2020-05-28 2020-09-15 北京百度网讯科技有限公司 资源调度方法、装置、设备和存储介质
US20230418350A1 (en) * 2022-06-27 2023-12-28 Dell Products L.P. Programmable biasing of operating frequencies for optimal power scaling

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP2004038291A (ja) * 2002-06-28 2004-02-05 Toshiba Corp クロック周波数の制御方法および電子機器
WO2005062156A1 (ja) * 2003-12-19 2005-07-07 Kabushiki Kaisha Toshiba 周波数制御方法および情報処理装置
US20070168055A1 (en) * 2005-11-03 2007-07-19 Los Alamos National Security Adaptive real-time methodology for optimizing energy-efficient computing
JP2008077563A (ja) * 2006-09-25 2008-04-03 Nec Corp 電子機器およびcpu動作環境制御プログラム
JP2008217628A (ja) * 2007-03-07 2008-09-18 Nec Corp Cpuの省電力システム及び省電力方法
JP2009230670A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd プロセッサシステム
JP2010039791A (ja) * 2008-08-05 2010-02-18 Toshiba Corp 携帯端末装置
JP2012150668A (ja) * 2011-01-19 2012-08-09 Fujitsu Ltd 情報処理装置、制御方法及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
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
US7017060B2 (en) * 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US7111179B1 (en) * 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US7318164B2 (en) 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
CN1272701C (zh) * 2003-06-18 2006-08-30 微星科技股份有限公司 调整中央处理器工作频率方法
TW200519573A (en) 2003-12-04 2005-06-16 Compal Electronics Inc Method for dynamically adjusting frequency of CPU
US7797083B1 (en) * 2004-12-15 2010-09-14 Silego Technology, Inc. Communicating a power control feedback signal
US7739548B2 (en) * 2006-06-27 2010-06-15 Hewlett-Packard Development Company, L.P. Determining actual power consumption for system power performance states
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
CN101414268A (zh) 2007-10-15 2009-04-22 南京大学 一种在ARM MPCore处理器上管理处理器热插拔的方法
US20100182135A1 (en) * 2009-01-16 2010-07-22 Research In Motion Limited Portable electronic device including tactile touch-sensitive display
CN101853066A (zh) * 2009-02-11 2010-10-06 上海芯豪微电子有限公司 一种自动实时调整系统时钟频率的方法和装置
KR101533572B1 (ko) * 2009-05-20 2015-07-03 삼성전자주식회사 전력 관리 방법
CN101576768A (zh) * 2009-06-15 2009-11-11 北京中星微电子有限公司 切换设备频率的方法以及设备
EP2372962B1 (en) 2010-03-31 2017-08-16 Alcatel Lucent Method and system for reducing energy consumption in packet processing linecards
US8504854B2 (en) * 2010-06-21 2013-08-06 Advanced Micro Devices, Inc. Managing multiple operating points for stable virtual frequencies
CN102004543B (zh) * 2010-11-29 2013-08-07 华为技术有限公司 一种实现cpu节能的方法及装置
US8650423B2 (en) * 2011-10-12 2014-02-11 Qualcomm Incorporated Dynamic voltage and clock scaling control based on running average, variant and trend
CN102566739B (zh) 2012-01-06 2014-11-26 威盛电子股份有限公司 多核处理器系统及其动态电源管理方法与控制装置
US9348401B2 (en) * 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP2004038291A (ja) * 2002-06-28 2004-02-05 Toshiba Corp クロック周波数の制御方法および電子機器
WO2005062156A1 (ja) * 2003-12-19 2005-07-07 Kabushiki Kaisha Toshiba 周波数制御方法および情報処理装置
US20070168055A1 (en) * 2005-11-03 2007-07-19 Los Alamos National Security Adaptive real-time methodology for optimizing energy-efficient computing
JP2008077563A (ja) * 2006-09-25 2008-04-03 Nec Corp 電子機器およびcpu動作環境制御プログラム
JP2008217628A (ja) * 2007-03-07 2008-09-18 Nec Corp Cpuの省電力システム及び省電力方法
JP2009230670A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd プロセッサシステム
JP2010039791A (ja) * 2008-08-05 2010-02-18 Toshiba Corp 携帯端末装置
JP2012150668A (ja) * 2011-01-19 2012-08-09 Fujitsu Ltd 情報処理装置、制御方法及びプログラム

Also Published As

Publication number Publication date
JP5871075B2 (ja) 2016-03-01
EP2725450A4 (en) 2015-07-08
US20140108838A1 (en) 2014-04-17
CN103415823A (zh) 2013-11-27
WO2014032250A1 (zh) 2014-03-06
CN103415823B (zh) 2016-05-25
US9405353B2 (en) 2016-08-02
EP2725450A1 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
JP5871075B2 (ja) 中央演算装置を制御するための方法および装置
CN105786878B (zh) 一种浏览对象的显示方法及装置
JP5815879B2 (ja) 中央処理装置を制御する方法および装置
US10444822B2 (en) Method for managing central processing unit and related products
CN104967896A (zh) 一种显示弹幕评论信息的方法和装置
AU2018273505B2 (en) Method for capturing fingerprint and associated products
WO2017206902A1 (zh) 应用控制方法及相关设备
CN109271014A (zh) 一种调整屏幕亮度的方法及设备
CN107368400A (zh) Cpu监测方法、装置、计算机可读存储介质和移动终端
CN104460934A (zh) 多cpu调度方法及装置
EP3407190A1 (en) Process control method and related device
WO2022027859A1 (zh) 功率调节方法、存储介质及终端
CN105930077A (zh) 屏幕显示对象的尺寸调整方法及装置
WO2014194759A1 (en) A method, apparatus, and system for controlling voice data transmission
CN106851737B (zh) 一种发送上行数据的方法,及终端设备
WO2017206860A1 (zh) 移动终端的处理方法及移动终端
CN107341094A (zh) 启动项耗时的测量方法及装置
CN106911873B (zh) 优化马达的方法、装置及移动终端
US20150070360A1 (en) Method and mobile terminal for drawing sliding trace
CN103064501A (zh) 一种信息输入的控制方法、装置及终端
CN112261634B (zh) 一种蓝牙传输控制方法、装置、终端设备和存储介质
CN103034319A (zh) 一种对终端进行显示控制的方法、控制装置及终端
CN106445841B (zh) 一种数据传输控制方法和装置
JP6445718B2 (ja) プロセス管理方法、装置、およびデバイス
CN112099665A (zh) 触摸屏使能控制方法、装置、存储介质及移动终端

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151228

R150 Certificate of patent or registration of utility model

Ref document number: 5871075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250