(57)【要約】【課題】  コンピュータ・システム内で性能と電力消費の釣り合いを管理する。【解決手段】  クロック速度レジスタ（３４）と、クロック速度レジスタ（３４）によって決定された周波数においてプロセッサ・クロック信号（３２）を発生する回路とを有するクロック発生回路（１４）を含むコンピュータ・システム（１０）において、プロセッサ（１２）が、アプリケーション・プログラム（５０、５２）によって選択される性能状態に応じてクロック速度レジスタ（３４）に書込みを行う性能マネージャ・プログラム（４４）を実行するコンピュータ・システム（１０）が開示されている。アプリケーション・プログラム（５０、５２）は、プロセッサ集中的機能時に性能が最大になり、対話式機能時に電力保存が最大になるように性能状態を選択する。【選択図】  図２
2006302306.tif 000002
【特許請求の範囲】
【請求項１】
クロック速度レジスタと、前記クロック速度レジスタによって決定された周波数のプロセッサ・クロツク信号を発生する回路とを有するクロック発生回路を備え；
プロセッサ命令を記憶する記憶手段を備え；
前記クロック発生回路に結合され、前記プロセッサ・クロック信号を受信してそれに同期するプロセッサであって、前記記憶手段に結合されて性能マネージャ・プログラムをフェッチおよび実行するプロセッサを備え、前記性能マネージャ・プログラムによって、プロセッサの集中的機能状態の開始時には、一組のクロック周波数のうちの１つの値であって、前記プロセッサで実行されるアプリケーション・プログラムからのシステム・コールによって指定される高性能状態に対応しているクロック周波数値が、前記クロック速度レジスタに書込まれ、プロセッサの集中的機能状態の終了時には、一組のクロック周波数のうちの１つの値であって、前記プロセッサで実行されるアプリケーション・プログラムからのシステム・コールによって指定される低性能状態に対応しているクロック周波数値が、前記クロック速度レジスタに書込まれ、前記高性能状態および前記低性能状態は、前記性能マネージャ・プログラム・プログラムにより維持されている性能状態テーブルからアプリケーション・プログラムによって選択されたものであり、前記性能状態テーブルには、プロセッサの一組の性能状態に対応する一組のクロック周波数が格納されており、
前記プロセッサは前記記憶手段に結合されていて、プロセッサの性能状態に応じたクロック周波数のユーザによる選択を可能とする性能制御パネル・プログラムをフェッチおよび実行できる、
ことを特徴とするコンピュータ・システム。
【請求項２】
コンピュータ・システムの性能および電力消費を管理するための方法であって、
クロック速度レジスタによって決定された周波数においてプロセッサ・クロック信号を発生させるステップと；
前記コンピュータ・システムのプロセッサを前記プロセッサ・クロック信号と同期させるステップと；
前記プロセッサの一組の性能状態に対応する一組のクロック周波数を、前記プロセッサにより実行中の性能マネージャ・プログラムによって維持されている性能状態テーブルに、格納するステップと；
前記コンピュータ・システムで実行されている性能制御パネルを用いて、コンピュータの性能状態に対応するクロック周波数を選択するステップと；
プロセッサの集中的機能状態の開始時に、一組のクロック周波数のうちの１つの値であって、アプリケーション・プログラムからのシステム・コールによって指定される高性能状態に対応しているクロック周波数値を、前記クロック速度レジスタに書き込むステップと；
プロセッサの集中的機能状態の終了時に、一組のクロック周波数のうちの１つの値であって、アプリケーション・プログラムからのシステム・コールによって指定される低性能状態に対応しているクロック周波数値を、前記クロック速度レジスタに書き込むステップと、
ディスプレイ装置に加速ボタンを生じさせ、ユーザによって加速ボタンが選択されると、性能マネージャ・プログラムが、プロセッサの高性能状態に対応しているクロック周波数値を、前記クロック速度レジスタに書き込むステップと
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムの分野に関する。さらに詳細には、本発明は、ポータブル・コンピュータ・システム内のプロセッサ性能と電力消費との動的な管理に関する。
【背景技術】
【０００２】
ラップトップ・コンピュータやパームトップ・コンピュータなど最近のポータブル・コンピュータ・システムは、一般に、中央演算処理装置、およびキーボード、ディスプレイ装置および大容量記憶装置など様々な入出力装置を含んでいる。一般に、そのようなポータブル・コンピュータ・システムは、交流電源が使用できない間、コンピュータ・システムに電力を供給するバッテリ・サブシステムを含んでいる。そのようなバッテリ・サブシステムは、一般に、再充電または交換が必要になる前に、コンピュータ・システムに限られた量の電流を供給することができる。
【０００３】
そのような従来のポータブル・コンピュータ・システムは、一般に、コンピュータ・システム内の電流消費を最小限に抑えるための様々な機構を有している。例えば、そのようなシステムは、通常、入出力装置が使用されていない間、入出力装置に対して電流消費を少なくするスリープ・モードおよびスタンドバイ・モードを実施する。さらに、そのような従来のシステムは、一般に、中央演算処理装置用のクロック速度制御機構を備えている。
【０００４】
一般に、そのようなシステム内の中央演算処理装置では、プロセッサ・クロック速度が遅いほうが電流消費は少ない。残念ながら、そのような低電力消費は、一般に、中央演算処理装置によって性能を犠牲にして達成される。そのような中央演算処理装置の命令スループットは、通常、プロセッサ・クロック速度の低下に比例して低下する。したがって、そのような従来のポータブル・コンピュータ・システムのユーザは、一般に、コンピュータ・システムに対して高性能、高電力消費状態か、またはコンピュータ・システムに対して低性能、低電力消費状態を選択する必要がある。
【０００５】
そのようなコンピュータ・システム内でクロック速度が遅くなる結果は、実行中のプログラムによって実行される機能によって異なる。一般に、プロセッサが遅いクロック速度で動作している間は、対話式機能時に性能が著しく低下することはない。しかしながら、クロック速度が遅いと、プロセッサ集中的機能時に性能が著しく劣化することなる。そのようなプロセッサ集中的機能はプロセッサ拘束機能とも呼ばれる。
【０００６】
例えば、一般に、プロセッサがワード・プロセシング・アプリケーション・プログラム内の対話式データ入力機能時およびタイピング機能時に遅いクロック速度に設定されている場合、性能が著しく劣化することはない。ただし、ページの再フォーマット、プリンタへのデータのレンダリング、複雑な図形の描画、またはデータ・ベースの再索引付けなどプロセッサ拘束機能時には、性能が著しく劣化することになる。
【０００７】
そのような従来のシステムでは、ユーザは、プロセッサ・クロック速度を高い周波数に設定することによって最大性能レベルを選択できる。そのような最大性能モードでは、プロセッサ拘束機能時に性能が最大になる。残念ながら、一般に、そのような高性能モードではバッテリ寿命が著しく短くなる。
【０００８】
他方、ユーザは、プロセッサ・クロック速度を低い周波数に設定することによって最大保存モードを選択できる。そのような保存モードでは、ユーザは、一般に、対話式機能時の性能の認知できる劣化なしにバッテリ寿命が延びることを経験する。残念ながら、そのような最大保存モードではプロセッサ拘束機能時に性能が著しく劣化することなる。
【０００９】
いくつかの従来のポータブル・コンピュータ・システムでは、ユーザは、一般に、ファンクション・キー・シーケンスまたは制御パネル図形選択機能を使用して所望のプロセッサ・クロック速度を選択する。いくつかの従来のポータブル・コンピュータ・システムでは、ユーザが、コンピュータ・システムを再始動することなくいつでもプロセッサ・クロック速度を設定することができる。とはいえ、そのような代表的な従来のプロセッサ・クロック速度制御機構は、扱いが難しすぎて、ユーザがプロセッサ性能とシステム電力消費の釣り合いを有効に制御することができない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の１つの目的は、コンピュータ・システム内で性能と電力消費の釣り合いを管理することである。
本発明の他の目的は、コンピュータ・システム内のアプリケーション・プログラムが、プロセッサ集中的機能時にプロセッサの高性能モードを選択できるようにすることである。
本発明の他の目的は、コンピュータ・システム内のアプリケーション・プログラムが、非プロセッサ集中的機能時にプロセッサの電力保存モードを選択できるようにすることである。
本発明の他の目的は、コンピュータ・システムのユーザが、プロセッサの一組の性能モード時にプロセッサ・クロック周波数を選択できるようにすることである。
本発明の他の目的は、ユーザがプロセッサ集中的機能時にプロセッサ・クロック周波数を上げることができる加速ボタン図形インタフェースを提供することである。
【課題を解決するための手段】
【００１１】
本発明の上記その他の目的は、クロック速度レジスタと、クロック速度レジスタによって決定された周波数でプロセッサ・クロック信号を発生する回路とを有するクロック発生回路を含むコンピュータ・システムによって実現される。コンピュータ・システムはさらに、プロセッサを同期させるプロセッサ・クロック信号を受信するように結合されたプロセッサを含む。プロセッサは、コンピュータ・システム上で実行中のアプリケーション・プログラムによって選択される性能状態に応じてクロック速度レジスタに書込みを行う性能マネージャ・プログラムを実行する。
【００１２】
プロセッサは、性能マネージャ・プログラムによって維持される性能状態テーブル内に指定された値をクロック速度レジスタに書き込む。性能状態テーブルは、プロセッサについての一組の性能状態に対応する一組のクロック周波数を記憶する。
本発明の他の目的、特徴および利点は、添付の図面および以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【００１３】
図１に、一実施形態についてのコンピュータ・システム１０を示す。コンピュータ・システム１０は、プロセッサ１２、クロック発生回路１４、不揮発性メモリ１６、およびメモリ・サブシステム１８を含む。コンピュータ・システム１０はさらに、ディスク・サブシステム２０、キーボードおよびマウス・サブシステム２２、およびディスプレイ２４を含む一組の入出力装置を含む。
【００１４】
プロセッサ１２は、システム・バス２８を介して、不揮発性メモリ１６、メモリ・サブシステム１８、ディスク・サブシステム２０、キーボードおよびマウス・サブシステム２２、およびディスプレイ２４と通信する。コンピュータ・システム１０はさらにバッテリ・サブシステム２６を含む。バッテリ・サブシステム２６は、システム・バス２８の一組の電力線を介して、コンピュータ・システム１０に直流電流を供給する。
【００１５】
不揮発性メモリ１６は、コンピュータ・システム１０に基本入出力ソフトウェア（ＢＩＯＳ）用の記憶領域を有する。コンピュータ・システム１０のＢＩＯＳは、ディスク・サブシステム２０、キーボードおよびマウス・サブシステム２２およびディスプレイ２４のハードウェア機能を制御する基本ドライバ・ルーチンを含む。さらに、コンピュータ・システム１０のＢＩＯＳは、クロック発生回路１４内のクロック速度レジスタにアクセスするための一組のドライバ・ルーチンを含む。
【００１６】
メモリ・サブシステム１８は、コンピュータ・システム１０にオペレーティング・システム、アプリケーション・プログラム、およびデバイス・ドライバ・プログラム、およびその他の関連するデータ構造用の記憶領域を有する。一実施形態では、メモリ・サブシステム１８はダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）サブシステムを含む。
【００１７】
ディスク・サブシステム２０は、コンピュータ・システム１０にプログラムおよびデータ用の大規模大容量記憶装置を構成する。キーボードおよびマウス・サブシステム２２はユーザのコンピュータ・システム１０との対話を可能にする。ディスプレイ２４はコンピュータ・システム１０にディスプレイ機能を提供する。
【００１８】
クロック発生回路１４は、プロセッサ１２用のプロセッサ・クロック３２を発生する。プロセッサ・クロック３２は、プロセッサ１２のクロック入力ピン（ＣＬＫ  ＰＩＮ）に結合される。プロセッサ・クロック３２はプロセッサ１２を同期させる。プロセッサ・クロック３２の周波数は、プロセッサ１２が命令をフェッチおよび実行する速度を決定する。
【００１９】
プロセッサ１２は、システム・バス２８を介してメモリ・サブシステム１８から命令ストリームをフェッチする。プロセッサ１２は、命令ストリーム内の各命令を実行する。プロセッサ１２は、アプリケーション・プログラム、デバイス・ドライバ・プログラムおよび実行中のオペレーティング・システムに従ってメモリ・サブシステム１８内のデータ構造を維持する。
【００２０】
クロック発生回路１４は結晶デバイス３０に結合される。結晶デバイス３０は、クロック発生回路１４内に含まれるクロック速度レジスタの内容に従ってプロセッサ・クロック３２を発生させることができる。プロセッサ１２は、システム・バス２８を介してクロック発生回路１４内のクロック速度レジスタに書込みを行うことによって、プロセッサ・クロック３２の周波数を制御する。
【００２１】
結晶デバイス３０は、電流を加えると固定された所定の周波数において発振する。クロック発生回路１４は、クロック速度レジスタの内容に従って結晶デバイス３０によって発生した発振信号の周波数を調節する。一実施形態では、プロセッサ１２は、結晶デバイス３０によって発生した発振信号の周波数を１、２、４または８で割るために、クロック速度レジスタに書込みを行う。また、プロセッサ１２は、プロセッサ・クロック３２を停止させるために、クロック速度レジスタに書込みを行う。
【００２２】
図２は、一実施形態についてのコンピュータ・システム１０のソフトウェア・アーキテクチャを示す図である。コンピュータ・システム１０上で実施されるソフトウェアは、オペレーティング・システム４８、および一対のアプリケーション・プログラム５０および５２および関連するデバイス・ドライバ・プログラムなど一組のアプリケーション・プログラムを含む。コンピュータ・システム１０のソフトウェア・アーキテクチャはまた、一組の基本入出力ソフトウェア（ＢＩＯＳ）４０を含む。
【００２３】
オペレーティング・システム４８およびアプリケーション・プログラム５０、５２および関連するデバイス・ドライバ・プログラムは、ディスク・サブシステム２０からロードされ、メモリ・サブシステム１８から実行される。一実施形態では、オペレーティング・システム４８はＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓである。
【００２４】
オペレーティング・システム４８は、メモリ管理機能およびマルチ・タスキング機能を含むアプリケーション・プログラム５０および５２に一組のシステム・サービスを与える。オペレーティング・システム４８では、アプリケーション・プログラム５０および５２および関連するデバイス・ドライバ・プログラムがＢＩＯＳ４０を介してコンピュータ・システム１０の入出力装置にアクセスすることができる。
【００２５】
ＢＩＯＳ４０は、ディスク・サブシステム２０、キーボードおよびマウス・サブシステム２２、およびディスプレイ２４をアクセスおよび制御するための基本ハードウェア・ドライバ・ルーチンを含む。ＢＩＯＳ４０は、またクロック発生ドライバ４２を含む。クロック発生ドライバ４２は、クロック発生回路１４内のクロック速度レジスタ３４にアクセスするための一組のハードウェア・ドライバ・ルーチンを含む。
【００２６】
コンピュータ・システム１０のソフトウェア・アーキテクチャはさらに、性能マネージャ４４、性能制御パネル５４、および性能状態テーブル５６を含む。一実施形態では、性能マネージャ４４は、ディスク・サブシステム２０からロードされかつメモリ・サブシステム１８から実行されるオペレーティング・システム４８の延長である。性能マネージャ４４は、プロセッサ１２についての性能状態を変更するために、アプリケーション・プログラム５０および５２からの要求を処理する。
【００２７】
一実施形態では、アプリケーション・プログラム５０および５２は、性能マネージャ４４によるプロセッサ性能状態の変化を要求するために、オペレーティング・システム４８を介してｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールは、プロセッサ１２に対して高性能状態か、中性能状態か、低性能状態を指定する。
【００２８】
性能マネージャ４４は、プロセッサ１２の高性能状態、中性能状態、低性能状態に対応するプロセッサ・クロック３２の周波数を決定するために、性能状態テーブル５６にアクセスする。性能マネージャ４４は、次いでプロセッサ・クロック３２の特定の周波数にクロック速度レジスタ３４をプログラムするために、クロック発生ドライバ４２のルーチンを呼び出す。
【００２９】
他の実施形態では、カーソル・モニタ４６は、オペレーティング・システム４８によってディスプレイ２４上に発生したカーソルまたは、アプリケーション・プログラム５０および５２の一方によってディスプレイ２４上に発生したカーソルを監視する。この実施形態では、カーソル・モニタ４６は、ディスプレイ２４上に表示されるカーソルのタイプを決定するために、オペレーティング・システム４８へのｓｅｔ＿ｃｕｒｓｏｒシステム・コールを監視する。カーソル・モニタ４６は、プロセッサ１２上で実行中の他のアプリケーション・プログラムまたはドライバ・プログラムによるカーソル・ディスプレイへの変更を検出するために、ｓｅｔ＿ｃｕｒｓｏｒシステム・コールにフックする。
【００３０】
砂時計の形状をしたディスプレイ２４上に発生したカーソルは、プロセッサ１２がプロセッサ集中的ソフトウェアを実行中であることを示す。カーソル・モニタ４６は、砂時計がディスプレイ２４上に発生している場合、プロセッサ１２の性能状態を高性能状態にセットアップするために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを発生させる。その後、カーソル・モニタ４６は、オペレーティング・システム４８またはアプリケーション・プログラム５０および５２がディスプレイ２４から砂時計を除去した後、プロセッサ１２の性能状態を低性能状態に復元するために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。
【００３１】
図３ａ−図３ｂに、性能制御パネル５４によってディスプレイ装置２４上に発生した制御パネル７０を示す。性能制御パネル５４は、コンピュータ・システム１０のユーザが、プロセッサ１２の高性能状態、中性能状態、低性能状態に対応するプロセッサ・クロック３２の一組の所定の周波数から選択することができるアプリケーション・プログラムである。性能制御パネル５４は、オペレーティング・システム４８によって提供されるディスプレイ機能および対話式入力機能を使用して、制御パネル７０を発生させ、プロセッサ・クロック周波数を入力する。
【００３２】
図３ａに示される例の制御パネル７０のユーザ選択では、プロセッサ１２の高性能状態はプロセッサ・クロック３２の周波数２５ＭＨｚに対応する。中性能状態は、プロセッサ・クロック３２の周波数２０ＭＨｚに対応し、低性能状態はプロセッサ・クロック３２の周波数１５ＭＨｚに対応する。制御パネル７０のプルダウン・メニュー領域７１〜７３では、ユーザが、図３ｂに示されるプロセッサ・クロック３２に対して一組の所定の４つの周波数から選択することができる。
【００３３】
一実施形態では、制御パネル７０から得られる所定の周波数は、結晶デバイス３０の発振周波数、結晶デバイス３０の発振周波数の１／２、結晶デバイス３０の発振周波数１／４、および結晶デバイス３０の発振周波数の１／８を含む。制御パネル７０では、ユーザが、高性能プロセッサ状態、中性能プロセッサ状態、低性能プロセッサ状態それぞれに対して任意の所定のプロセッサ・クロック３２の周波数を選択することができる。
【００３４】
ユーザは、制御パネル７０のプルダウン・メニュー領域７１〜７３を使用して、プロセッサ１２の高性能状態、中性能状態、低性能状態それぞれに対して所望のプロセッサ・クロック３２の周波数を選択する。プロセッサ１２に対して常に最大性能が望まれる場合、ユーザは、プロセッサ１２の高性能プロセッサ状態、中性能プロセッサ状態、低性能プロセッサ状態に対してプロセッサ・クロック３２の最も速い周波数を選択する。他方、電力の保存が常に望まれる場合、ユーザは、プロセッサ１２の高性能プロセッサ状態、中性能プロセッサ状態、低性能プロセッサ状態に対してプロセッサ・クロック３２の最も遅い周波数を選択する。さらに、ユーザは、必要に応じてコンピュータ・システム１０に対して最大性能と最大電力保存の釣り合いをとるために、プロセッサ１２の高性能プロセッサ状態、中性能プロセッサ状態、低性能プロセッサ状態に対してプロセッサ・クロック３２の周波数を選択することができる。
【００３５】
性能制御パネル５４は、制御パネル７０から選択したクロック速度を性能マネージャ４４へ転送する。次いで、性能マネージャ４４は、性能状態テーブル５６内の高性能プロセッサ状態、中性能プロセッサ状態、低性能プロセッサ状態に対する選択したクロック周波数を記憶する。性能マネージャ４４は、アプリケーション・プログラム５０および５２およびカーソル・モニタ４６からｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを受け取ると、性能状態テーブル５６からのクロック速度にアクセスする。次いで、性能マネージャ４４は、選択したプロセッサ・クロック３２の周波数を設定するために、クロック発生ドライバ４２を使用して、クロック速度レジスタ３４内に適切な値を書き込む。
【００３６】
他の実施形態では、ユーザがコマンド入力によってクロック速度を選択することができるＢＩＯＳ４０内のクロック速度機能によって、性能状態テーブル５６に対するクロック速度を選択する。
【００３７】
アプリケーション・プログラム５０および５２は、プロセッサ集中的機能を実行している間、ディスプレイ２４上に情報ウィンドウを発生させる。情報ウィンドウでは、ユーザがプロセッサ集中的機能時にプロセッサ・クロック３２の周波数を加速することができる。
【００３８】
図４に一実施形態についての情報ウィンドウ８０を示す。アプリケーション・プログラム５０は、文書上でスペル・チェックを実行している間、ディスプレイ２４上に情報ウィンドウ８０を発生させるワード・プロセシング・アプリケーション・プログラムである。文書上でのスペル・チェック機能は、アプリケーション・プログラム５０によって実行されるプロセッサ集中的機能の例である。
【００３９】
情報ウィンドウ８０では、ユーザがキーボードおよびマウス・サブシステム２２を使用して情報ウィンドウ８０の加速ボタンを選択することによってスペル・チェック機能を加速することができる。また、情報ウィンドウ８０では、ユーザがキーボードおよびマウス・サブシステム２２を使用して情報ウィンドウ８０のキャンセル・ボタンを選択することによってスペル・チェック機能をキャンセルすることができる。
【００４０】
ユーザが情報ウィンドウ８０の加速ボタンを選択した場合、アプリケーション・プログラム５０は、プロセッサ１２の性能状態を高性能状態にセットアップするために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。プロセッサ集中スペル・チェック機能を終了した後、アプリケーション・プログラム５０は、プロセッサ１２を低性能状態または中性能状態に復元するために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。
【００４１】
図５は、一実施形態についてのアプリケーション・プログラム５０によるプロセッサ１２の性能状態の処理を示す流れ図である。決定ブロック１００において、アプリケーション・プログラム５０は、アプリケーション・プログラム５０のプロセッサ集中的機能を初期設定したかどうか判定する。決定ブロック１００においてプロセッサ集中的機能を選択しなかった場合、アプリケーション・プログラム５０はブロック１０２において実行を続ける。決定ブロック１００においてプロセッサ集中的機能を選択した場合、制御はブロック１０４に進む。
【００４２】
ブロック１０４において、アプリケーション・プログラム５０は、プロセッサ１２の性能状態を高性能状態にセットアップするために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。その後、アプリケーション・プログラム５０は、ユーザによって指定されたプロセッサ集中的機能を実行する。
【００４３】
決定ブロック１０６において、アプリケーション・プログラム５０は、プロセッサ集中的機能が終了しているかどうかを判定する。決定ブロック１０６においてプロセッサ集中的機能が終了している場合、制御はブロック１０８に進む。ブロック１０８において、アプリケーション・プログラム５０は、プロセッサ１２の性能状態を、アプリケーション・プログラム５０によって必要とされている低性能状態または中性能状態に復元するために、性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを実行する。
【００４４】
図６は、一実施形態についての性能マネージャ４４の機能を示す流れ図である。ブロック１４０において、性能マネージャ４４は、最初に性能状態テーブル５６から低性能状態に対するクロック速度を読み取る。その後、ブロック１４２において、性能マネージャ４４は、低性能状態に対する指定されたクロック速度をクロック発生回路１４のクロック速度レジスタ３４に書き込むために、クロック発生ドライバ４２を呼び出す。
【００４５】
決定ブロック１４４において、性能マネージャ４４は、プロセッサ１２の性能状態を変更するために、アプリケーション・プログラム５０および５２からのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを待つ。決定ブロック１４４において性能マネージャ４４へのｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを受け取ると、制御はブロック１４６に進む。
【００４６】
ブロック１４６において、性能マネージャ４４は、性能状態テーブル５６からｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールによって指定された性能状態に対するクロック速度を読み取る。その後、ブロック１４８において、性能マネージャ４４は、クロック発生ドライバ４２を読み出すことによって、性能状態テーブル５６からの指定されたクロック速度をクロック速度レジスタ３４に書き込む。その後、性能マネージャ４４は、他のｓｅｔ＿ｐｅｒｆｏｒｍａｎｃｅ＿ｓｔａｔｅシステム・コールを待つために決定ブロック１４４に戻る。
【００４７】
以上、本発明についてその特定の例示的実施形態と関連して説明した。しかしながら、添付の請求の範囲に記載されている本発明のより広い精神および範囲から逸脱することなく本発明に様々な修正および変更を加えることができることは明らかであろう。したがって、上記説明および図面は、限定的なものではなく例示的なものと見なすべきである。
【図面の簡単な説明】
【００４８】
【図１】プロセッサ、クロック発生回路、不揮発性メモリ、およびメモリ・サブシステムを含む一実施形態についてのコンピュータ・システムを示す図である。
【図２】性能マネージャ、オペレーティング・システム、および一組のアプリケーション・プログラムを含む一実施形態についてのコンピュータ・システムのソフトウェア・アーキテクチャを示すブロック図である。
【図３】コンピュータ・システムのユーザが、プロセッサ・クロックの一組の所定の周波数から選択できるアプリケーション・プログラムである性能制御パネルによってディスプレイ装置上に発生した制御パネルを示す図である。
【図４】加速ボタンを提供するワード・プロセシング・アプリケーション・プログラムについての情報ウィンドウを示す図である。
【図５】一実施形態についてのアプリケーション・プログラムによるプロセッサ性能状態の処理を示す流れ図である。
【図６】一実施形態についての性能マネージャの機能を示す流れ図である。
【符号の説明】
【００４９】
１０・・コンピュータ・システム、１２・・プロセッサ、１４・・クロック発生回路、１６・・不揮発性メモリ、１８・・メモリ・サブシステム、２０・・ディスク・サブシステム、２２・・キーボード及びマウス、２４・・ディスプレイ、３４・・クロック速度レジスタ、４０・・バイオス、４２・・クロック発生ドライバ、４６・・カーソルモニタ、４８・・オペレーシング・システム、５０，５２・・アプリケーション・プログラム、５４・・性能制御パネル、５６・・性能状態テーブル。
【図１】
2006302306.tif 000003
【図２】
2006302306.tif 000004
【図３】
2006302306.tif 000005
【図４】
2006302306.tif 000006
【図５】
2006302306.tif 000007
【図６】
2006302306.tif 000008