JP3943764B2 - Computer system and CPU performance control method thereof - Google Patents

Computer system and CPU performance control method thereof Download PDF

Info

Publication number
JP3943764B2
JP3943764B2 JP17301599A JP17301599A JP3943764B2 JP 3943764 B2 JP3943764 B2 JP 3943764B2 JP 17301599 A JP17301599 A JP 17301599A JP 17301599 A JP17301599 A JP 17301599A JP 3943764 B2 JP3943764 B2 JP 3943764B2
Authority
JP
Japan
Prior art keywords
cpu
performance
computer system
control means
cpu performance
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
Application number
JP17301599A
Other languages
Japanese (ja)
Other versions
JP2001005661A (en
Inventor
真弓 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP17301599A priority Critical patent/JP3943764B2/en
Priority to US09/595,931 priority patent/US6681336B1/en
Publication of JP2001005661A publication Critical patent/JP2001005661A/en
Application granted granted Critical
Publication of JP3943764B2 publication Critical patent/JP3943764B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はバッテリ駆動可能なパーソナルコンピュータなどのコンピュータシステムに関し、特にCPU性能を切り替えることがコンピュータシステムおよびそのコンピュータシステムにおけるCPU性能制御方法に関する。
【0002】
【従来の技術】
近年、携行が容易でバッテリにより動作可能なラップトップタイプまたはノートブックタイプのパーソナルコンピュータ(PC)が種々開発されている。この種のPCに於いては、CPUの高性能化が進められており、これによってユーザは快適な使用環境を容易に手にすることが可能になってきている。
【0003】
ところが、CPUの高性能化に伴い、CPUの消費電力も大きくなり、これによりPC全体の電力消費量の増大およびバッテリ動作時間の低下などの問題が生じている。
【0004】
そこで、最近では、CPU処理速度を制御することによってCPU性能を必要に応じて切り替える技術が開発されている。CPU性能は、例えば所定の周期でCPUを間欠動作させたり、あるいはそのCPUの動作周波数や電圧を切り替えることなどによって、最高性能レベルから最低性能レベルまでの複数のレベルの内の1つに設定することができる。どのレベルの性能を使用するかは、ユーザの指定またはその他予め定義されている要因によって決定される。
【0005】
通常は、ユーザがBIOSセットアップや専用の省電力ユーティリティを用いてCPU性能を指定するのが一般的である。指定されたCPU性能のレベルはシステム設定情報としてシステム内に保存されるので、一旦CPU性能のレベルが指定された後は、CPUは常にその指定されたCPU性能で動作する。
【0006】
【発明が解決しようとする課題】
しかし、例えばユーザがバッテリ動作時間の延長等の目的で、最高ではないCPU性能を指定して作業している状態でシステムをシャットダウン/スタンバイした場合には、次のシステム起動処理の時点からCPUはその指定された低性能のレベルで動作してしまう。これは、電源を投入してからオペレーティングシステムのブートストラップシーケンスが終了するまでに要する処理時間を無用に長引かせる大きな要因となる。システム起動処理のみならず、シャットダウン/スタンバイ処理についても同様にして多くの時間が必要とされる。
【0007】
また、システム起動処理中にCPUが低性能で動作した後に、ユーザの指定またはその他予め定義されている要因によってCPU性能が最高性能に切り替えられた場合には、オペレーティングシステムやドライバによってはその正常動作が保証できなくなる危険がある。これは、オペレーティングシステムやドライバの多くは、デバイスの応答待ちなどに必要な絶対時間をソフトウェアループカウンタを使用してソフトウェア的に得ているからである。
【0008】
すなわち、オペレーティングシステムやドライバは、ある特定の命令をN回繰り返し実行するのに要する時間をシステム起動処理時に算出および登録し、実際にデバイスをアクセスする場合には、その登録情報を用いて、デバイスの応答待ち時間に必要な命令の繰り返し実回数を決定する。したがって、もしCPU性能がシステム起動処理時の例えば2倍に高速化されてしまうと、ある特定の命令を同じ回数だけ繰り返し実行した場合であっても、実際の待ち時間は期待値の半分になってしまう。デバイスを正常動作させるためには、少なくとも、そのデバイスによって規定された待ち時間以上の待ち時間を保証する必要がある。よって、最高でないCPU性能によってシステム起動処理が実行されてしまった場合には、もし後にCPU性能がユーザの指定や他の予め決められた要因によって上昇されると、デバイス動作に支障を来たし、場合によっては命令やデータを正しく読み込むことが出来ないなどの重大なエラーが発生する。
【0009】
本発明は上述の事情に鑑みてなされたものであり、CPU性能の切り替えが可能なシステムの動作の信頼性の向上およびシステム起動処理の高速化を図ることが可能なコンピュータシステムおよびそのCPU性能制御方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、CPUと、前記CPUの処理速度を制御するCPU速度制御手段と、オペレーティングシステムのブートストラップシーケンス処理を含むコンピュータシステムの起動処理の期間中は、ユーザによって指定されるCPU性能に関係なく、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させ、前記オペレーティングシステムのブートストラップシーケンス処理の終了が検出されたとき、前記CPU速度制御手段を用いて前記CPUの性能を、前記CPUの最高性能から最低性能までの複数レベルの性能の内でユーザによって指定されたCPU性能に合わせるシステム制御手段とを具備することを特徴とする。
【0011】
このコンピュータシステムにおいては、ハードウェアチェックのためのいわゆるPOST処理やオペレーティングシステムのブートストラップシーケンスといったコンピュータシステムの起動処理の期間中は、CPUを最高性能で動作させているので、たとえコンピュータシステムの起動処理後にユーザの指定またはその他予め定義されている要因によってCPU性能が切り替えられても、それによって、CPU性能がシステム起動期間中よりも低下されることはあっても、上昇されることはない。このため、前述したようなソフトウェアループカウンタがオペレーティングシステムやドライバによって使用された場合でも、デバイスによって規定された待ち時間以上の待ち時間を常に得ることが可能となる。デバイスは、そのデバイスが要する待ち時間以上の待ち時間が保証されさえすれば、正常に動作する。よって、システムの動作の信頼性の向上およびシステム起動処理の高速化を図ることが可能となる。
【0012】
また、コンピュータシステムの起動処理が終了したことが検出された時点で、CPUの性能をユーザによって指定されたCPU性能に合わせることにより、コンピュータシステムの低消費電力化も実現できる。
【0013】
また、コンピュータシステムの起動処理が終了したか否かの検出方法としては、予めブートストラップシーケンスの最後の方にロードされることが経験的に判明している特定のプログラムなどがオペレーティングシステムのブートストラップシーケンス処理によってロードされるまでをコンピュータシステムの起動処理の期間として判断することや、ループカウンタを使用することが判明しているドライバなどが特定のハードウェアをアクセスするまでを、コンピュータシステムの起動処理の期間として判断すること、などによって実現することが好ましい。
【0014】
また、コンピュータシステムの起動処理期間中にCPUの温度上昇やACアダプタ電源の取り外しなどに起因する警告イベントの発生によって、CPU性能を最高性能に維持することができなかった場合には、動作するオペレーティングシステムの種類によっては、以降のCPU性能を上昇させるためのCPU性能切り替え処理の実行については禁止することが好ましい。これにより、システム動作の信頼性を維持することができる。また、コンピュータシステムの起動処理期間中においては、緊急性が必要とされるCPU温度の上昇についてのみ警告イベントとして扱い、警告イベントの発生要因がACアダプタ電源の取り外しであった場合には、コンピュータシステムの起動処理が終了するまではCPU性能を最高性能に維持できるように、CPU性能低下手段によるCPU性能低下処理の実行を禁止することが好ましい。
【0015】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0016】
図1には、本発明の一実施例に係わるコンピュータシステムの構成が示されている。このコンピュータシステムはバッテリ駆動可能なノートブックタイプのパーソナルコンピュータ(PC)であり、ACアダプタ181を介して外部電源が供給されている場合にはその外部電源によって動作すると共に、バッテリ182の充電が行われる。一方、モバイル環境で使用される場合など、PC本体にACアダプタ181が接続されてない状態においては、PCはバッテリ182からの電源によって動作する。
【0017】
このPC本体には、図示のように、プロセッサバス1、PCIバス2、ISAバス3、CPU11、ホスト−PCIブリッジ12、主メモリ13、表示コントローラ14、PCI−ISAブリッジ15、I/Oコントローラ16、BIOS−ROM17、電源コントローラ18、キーボードコントローラ(KBC)19、CMOSメモリ20などが設けられている。
【0018】
CPU11はPC11全体の動作を制御するためのものであり、BIOS−ROM17のシステムBIOS、主メモリ13にロードされるオペレーティングシステム及び他のプログラムを実行する。本実施形態のシステムにおいては、CPU11の性能(処理速度)を多段階(複数レベル)で制御することができる。CPU性能の制御には、後述する“CPUスロットリング機能”または“ガイザビル(GEYSEVILLE)機能”が使用される。使用するCPU性能のレベルはユーザ指定または予め定義された他の要因によって決定されるが、本実施形態のシステムにおいては、システム起動処理期間中は、ユーザ指定または予め定義された他の要因によって決定されたレベルには関係なく、CPU11を最高性能で動作させるというシステム性能制御が行われる。このシステム性能制御の具体的な方法は、以降の説明で明らかにする。
【0019】
また、図1のCPU11は、次のようなシステム管理機能を備えている。
すなわち、CPU11は、アプリケーションプログラムやOSなどのプログラムを実行するためのリアルモード、プロテクトモード、仮想86モードの他、システム管理モード(SMM;System Management mode)と称されるシステム管理プログラムを実行するための動作モードを有している。
【0020】
リアルモードは、最大で1Mバイトのメモリ空間をアクセスできるモードであり、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスが決定される。プロテクトモードは1タスク当たり最大6Tバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称されるアドレスマッピングテーブルを用いてリニアアドレスが決定される。このリニアアドレスレスは、ページングによって最終的に物理アドレスに変換される。仮想86モードは、リアルモードで動作するように構成されたプログラムをプロテクトモードで動作させるためのモードであり、リアルモードのプログラムはプロテクトモードにおける1つのタスクとして扱われる。
【0021】
システム管理モード(SMM)は疑似リアルモードであり、このモードでは、ディスクプリタテーブルは参照されず、ページングも実行されない。システム管理割込み(SMI;System Management Interrupt)がCPU11に発行された時、CPU11の動作モードは、リアルモード、プロテクトモード、または仮想86モードから、SMMにスイッチされる。SMMでは、システム管理プログラムが実行される。
【0022】
SMIはマスク不能割込みNMIの一種であるが、通常のNMIやマスク可能割込みINTRよりも優先度の高い、最優先度の割り込みである。このSMIを発行することによって、システム管理プログラムとして用意された種々のSMIサービスルーチンを、実行中のアプリケーションプログラムやOS環境に依存せずに起動することができる。
【0023】
ホスト−PCIブリッジ12は、CPUバス1PCIバス2を双方向で接続するブリッジ装置であり、ここには主メモリ13をアクセス制御するためのメモリコントロール機能も内蔵されている。
【0024】
主メモリ13は、オペレーティングシステム、処理対象のアプリケーションプログラム/ユーティリティ、およびアプリケーションプログラム/ユーティレティによって作成されたユーザデータ等を格納する。CPU11がSMMに移行する時には、CPUステータス、つまりSMIが発生された時のCPU11のレジスタ等が、主メモリ13の所定のアドレス空間にマッピングされたSMRAMにスタック形式でセーブされる。このSMRAMには、BIOS−ROM17のシステム管理プログラムを呼び出すための命令が格納されている。この命令は、CPU11がSMMに入った時に最初に実行される命令であり、この命令実行によってシステム管理プログラムに制御が移る。
【0025】
表示コントローラ14は、画像メモリ(VRAM)141に描画された表示データを本PC本体に設けられたLCD142および外部CRT143の一方、あるいは双方に表示する。この表示コントローラ14はPCIバス2のバスマスタとして動作するすることができる。
【0026】
PCI−ISAブリッジ15は、PCIバス2とISAバス3とをつなぐブリッジであり、PCIバス2のバスマスタとして動作することができる。このPCI−ISAブリッジ15には、SMI発生回路151、CPU速度制御回路152などが設けられている。
【0027】
SMI発生回路151はCPU11にSMI信号を発生する。SMI信号の発生要因には、ソフトウェアSMI、I/OトラップSMI、特定のハードウェアイベントによるSMIなどがある。ソフトウェアSMIは、ソフトウェアによってアクセス可能なレジスタやダウンカウンタなどを利用して発生される。つまり、ソフトウェアがSMI発生回路151内のレジスタにデータを書き込むと、SMI信号が発生される。また、SMI信号発生までの時間に相当する値をSMI発生回路151内のダウンカウンタにセットすると、タイムアウト時にSMI信号が発生される。I/OトラップSMIは、予め決められたI/Oアドレスを用いてINまたはOUT命令をソフトウェアが実行することによって引き起こされるSMIである。I/OトラップSMIを引き起こしたい監視対象のI/Oアドレス値をSMI発生回路151に設定しておくことにより、そのI/Oアドレスへのアクセスが発生したときにI/OトラップSMIを発生することができる。特定のハードウェアイベントによるSMIは、CPU温度やACアダプタ181の抜き挿しなどのシステム管理に必要なイベントが発生したときにハードウェアによって発生される。
【0028】
CPU速度制御回路152はCPU11の処理速度を制御するためのものであり、前述の“CPUスロットリング機能”を用いてCPU性能を切り替えるためのスロットリング制御部と、前述の“ガイザビル(GEYSEVILLE)機能”を用いてCPU性能を切り替えるための周波数/電圧制御部を有している。
【0029】
1)“CPUスロットリング機能”
ここで、“CPUスロットリング機能”とは、CPU11を一定間隔で動作/停止させるという間欠動作を行うことによって、平均的なCPU処理速度を切り替える機能であり、インターバルストップクロック機能あるいは間欠動作機能と称されることもある。“CPUスロットリング機能”がDisableになっている状態、つまりCPU11が常に動作している状態がCPU11の最高性能に相当し、“CPUスロットリング”が任意%(動作状態に対する停止状態の割合)でEnableされている状態が最高性能ではない状態に相当する。動作状態に対する停止状態の割合を変化させることにより、CPU性能を多段階で制御することができる。CPU11の動作停止状態としては、ストップグラントステート(Stop Grant State)を利用することが好ましい。ストップグラントステートはINTEL社製CPUの486SLやPentium等によってサポートされているクロックステートである。
【0030】
2)“ガイザビル(GEYSEVILLE)機能”
“ガイザビル(GEYSEVILLE)機能”とは、INTEL社製CPUのMobilePentium3が持つ機能であり、CPUの動作周波数と電圧をダイナミックに切り替える機能を言う。そのCPUがサポートする高位の動作周波数・電圧になっている状態がCPUの最高性能に相当し、低位の動作周波数・電圧になっている状態が最高性能ではない状態に相当する。
【0031】
1)、2)のどちらの機能を使用する場合にも、CPU速度制御回路152内のレジスタに必要なデータを書き込むことにより、CPU性能を切り替えることができる。
【0032】
また、PCI−ISAブリッジ15は、温度センサ21およびそのドライブ回路22を用いてCPU温度を監視する機能、および電源コントローラ18を通じてACアダプタの抜き差しを監視する機能を有している。CPU温度が予め決められた一定温度以上に達した場合またはACアダプタが抜かれてACアダプタ電源がオフされた場合には、PCI−ISAブリッジ15は、システム動作の安全性に影響を与える警告イベントが発生したことを、SMIによってシステムに通知する。この場合、システムBIOSやオペレーティングシステム等の制御により、CPU性能を低下させる処理が行われる。また、CPU温度が安全温度にまで低下した場合や、ACアダプタが接続された場合には、PCI−ISAブリッジ15は、CPU性能アップイベントが発生したことをSMIによって通知する。この場合、システムBIOSやオペレーティングシステム等の制御により、CPU性能を上昇させる処理が行われる。
【0033】
I/Oコントローラ16は、HDD161などのIDEデバイスを制御するためのバスマスタIDEコントローラを内蔵している。バスマスタIDEコントローラは、HDD161と主メモリ13との間のデータ転送のためにバスマスタとして動作することができる。また、I/Oコントローラ16は、DVDドライブやCD−ROMドライブを制御することもできる。
【0034】
BIOS−ROM17は、システムBIOS(Basic I/O System )を記憶するためのものであり、プログラムの書き替えが可能なようにフラッシュメモリによって構成されている。システムBIOSは、リアルモードで動作するように構成されている。このシステムBIOSには、システムのパワーオン時や再起動時に実行されるPOST(PowerON Self Test)ルーチンと、各種I/Oデバイスを制御するためのデバイスドライバと、システム環境を設定するためのBIOSセットアップルーチンと、各種SMI処理を実行するためのシステム管理プログラム(ランタイム)が含まれている。POSTルーチンには、通常のハードウェアチェックおよび初期化のためのルーチンに加え、CPU速度制御回路152を用いてCPU性能を最高性能に設定する機能が含まれている。BIOSセットアップルーチンは、CPU性能の設定を初めとする各種設定項目を含むセットアップ画面をユーザに呈示することにより、システムをユーザによって指定された環境に設定する。CPU性能の指定は、BIOSセットアップルーチンの他、オペレーティングシステムの実行環境下で動作する省電力ユーティリティーや、ユーザからの所定のキー入力操作(ホットキー)によって行うこともできる。
【0035】
電源コントローラ18は、本PCのパワーオン/オフを制御するためのものであり、電源スイッチ183のオン/オフ、バッテリ182の残存容量、ACアダプタ181の抜き差し、ディスプレイパネル開閉検出スイッチのオン/オフなどの状態監視機能を有している。キーボードコントローラ(KBC)19は、キーボードおよびマウスの制御を行う。CMOSメモリ20は各種システム設定情報を保持するためのメモリであり、独自の電池によってバックアップされている。ユーザ指定のCPU性能情報はCMOSメモリ20に保存される。
【0036】
(システム制御方法の原理)
次に、図2を参照して、本実施形態で用いられるシステム制御方法の原理について説明する。
システム起動処理は、図示のように、システムBIOSのPOST処理と、それに後続して実行されるOSブート処理からなる。システム起動のためのイベント(パワーオン、リセット、再起動時など)が発生すると、最初にPOST処理が実行される。このPOST処理においては、ハードウェアチェック及び初期化処理が行われるが、この段階で、CPU速度制御回路152を制御することにより、CPU性能が最高性能(フルパワー)に設定される。そして、システムBIOSがHDD161のMBR上のIPLを実行し、このIPLがOSのブートローダを起動することによって、OSブート処理(OSブートストラップシーケンス)が開始される。OSブート処理では、カーネル部のロード、カーネルに組み込むことが必要な各種ドライバ/ユーティリティのロードなどが予め決められた順序で順次実行される。通常は、デバイスの動作を直接制御するドライバ類からロードが開始され、デバイス動作には直接関係しないようなものほどOSブート処理の最後の方にロードされる。デバイスを直接操作するOS/ドライバについては、そのロード時に、前述のソフトウェアループカウンタの設定のための処理が行われる。CPU11は、OSブート処理が終了するまでは、最高のCPU性能で動作する。OSブート処理が終了すると、システムBIOSの制御の下、CPU性能をCMOSメモリ20に記録されているユーザ指定のCPU性能に戻す処理が行われ、CPU11はユーザ指定の性能で動作する。
【0037】
このように、本実施形態では、ユーザからの指定やその他予め決められた要因に関わらず、OSがブートし終わる迄は最高のCPU性能で動作させるようにしており、これによりその後CPU性能の切り替えが発生しても、それによって、CPU性能がOSブート処理期間中よりも上昇されることはない。このため、前述したようなソフトウェアループカウンタがOSやドライバによって使用された場合でも、デバイスによって規定された待ち時間以上の待ち時間を常に得ることが可能となる。デバイスは、そのデバイスが要する待ち時間以上の待ち時間が保証されさえすれば、正常に動作する。よって、システムの動作の信頼性の向上およびシステム起動処理の高速化を図ることが可能となる。
【0038】
また、OSブート処理中に熱上昇等に起因する前述の警告イベントが発生した場合には、システムBIOSのSMI処理によって、CPU性能を強制的に低下させる処理が実行される。この場合、OSがブートし終わる迄は最高のCPU性能を維持するというシステム性能制御を行うことができなかったことになるので、以降は、CPU性能を上昇させるためのCPU性能切り替え処理の実行については禁止する。これにより、ソフトウェアループカウンタを使用するOSやドライバの正常動作を保証することができる。
【0039】
(ソフトウェアループカウンタの設定処理)
次に、図3を参照して、OSやドライバがそのロード時に実行するソフトウェアループカウンタの設定処理について説明する。
【0040】
OSやドライバは、まず、CPU11内のタイムスタンプカウンタ(TSC)の現在の値(T1)をリードした後(ステップS11)、ある特定の命令、例えばジャンプ命令(JMP$)をN回繰り返し実行し(ステップS12)、その実行後、CPU11内のタイムスタンプカウンタ(TSC)の現在の値(T2)を再びリードする(ステップS13)。そして、OSやドライバは、N回のジャンプ命令に要した時間から1命令当たりの所用時間T(T=(T2−T1)/N)を算出し(ステップS14)、それを待ち時間カウントのための基準値としてメモリに保存する(ステップS15)。
【0041】
(システム制御方法の手順1)
図4には、本システム制御方法を実現するための第1の例が示されている。これは、OSのブート処理が終了したかどうかの判断を、OSに組み込んで使用する専用のユーティリティ(またはドライバ)のインストールが終了したことをそのユーティリティから知らせて貰うことによって行う場合の例である。専用のユーティリティとしては、CPU性能の切り替え機能をユーザに提供するための省電力ユーティリティなどが利用される。省電力ユーティリティにはシステムBIOSとのインターフェイスを用意しておき、省電力ユーティリティがロードされたときに、そのことをシステムBIOSに通知できるようにしておく。省電力ユーティリティは、予めOSブート処理の最後の方にロードされることが経験的に判明しているユーティリティーである。
【0042】
システム起動のためのイベント(パワーオン、リセット、再起動時など)が発生すると、システムBIOSのPOST処理ルーチンは、ハードウェアチェック及び初期化処理を行うが、その時に、CPU速度制御回路152を用いてCPU11の性能を最高性能に設定する(ステップS101)。POST処理が終了すると、OSブート処理(OSブートストラップシーケンス)が開始され(ステップS102)、カーネル部のロード、カーネルに組み込むことが必要な各種ドライバ/ユーティリティのロードなどが順次行われながら、OSブート処理が進められていく(ステップS103)。そして、このOSブート処理の中で省電力ユーティリティがOSによってロード(インストール)されると(ステップS104)、省電力ユーティリティは、SMI発生回路151を用いてソフトウェアSMIを発生する。
【0043】
このソフトウェアSMIにより、システムBIOSのSMI処理ルーチン(#1)が呼び出される。システムBIOSは、この時点で、OSブート処理が終了したものと判断する。SMI処理ルーチン(#1)は、まず、CMOSメモリ20を参照してユーザ指定のCPU性能をチェックし、最高性能が指定されているか否かを判断する(ステップS105,S106)。最高性能以外の性能が指定されていた場合には、SMI処理ルーチン(#1)は、CPU速度制御回路152を用いてCPU11の性能をユーザ指定の性能に切り替える(ステップS108)。これにより、以降、CPU11はユーザ指定性能で動作する。
【0044】
一方、ユーザ指定のCPU性能が最高性能であった場合には、SMI処理ルーチン(#1)は、基本的には、現在のCPU性能が既に最高性能であるので、ステップS108のCPU性能切り替え処理は行わない。しかし、この時点で、警告イベントがもし発生した場合には(ステップS107のY)、CPU性能を安全な性能にまで低下させるために、ステップS108のCPU性能切り替え処理を実行する。なお、警告イベントは、OSブート処理が終了する前、つまり省電力ユーティリティからの通知が来る前に、発生する場合もある。この場合の処理については、図9で後述する。
【0045】
SMI処理ルーチン(#1)が終了すると、OSに制御が戻される。この後、OS動作中に、例えばユーザがホットキーによって現在のユーザ指定性能(ローパワー)をフルパワーに上げることを指示した場合や、警告イベント発生後にCPU温度が安全な温度までに低下したりACアダプタが接続された場合には、性能アップイベントが発生する。
【0046】
この場合、SMI発生回路151からのSMIによって、システムBIOSのSMI処理ルーチン(#2)が呼び出される。SMI処理ルーチン(#2)は、まず、動作中のオペレーティングシステムをチェックし、ダイナミックなCPU性能切り上げに対応しているOSであるか否かを調べる(ステップS109)。
システム起動時のCPU性能を上回るCPU性能へのダイナミックな切り上げに対応していないOSであれば、ステップS110,S111をスキップし、CPU性能アップ処理をこの時点で禁止する。一方、対応しているOSであれば、タイムアウトにならなかったか否かを判断する(ステップS110)。
【0047】
ここで、タイムアウトとは、OSブート処理が終了する前、つまり省電力ユーティリティからの通知が来る前に警告イベントが発生することによって、OSブート処理が終了するまでの間、CPU性能を最高性能に維持することができなかったことを意味する。タイムアウトにならなかった場合、つまりOSブート処理の終了までCPU性能を最高性能に維持することができた場合には(ステップS110のY)、SMI処理ルーチン(#2)は、CPU性能を上げてもOSブート処理中のCPU性能よりもCPU性能が高くなることはないので、CPU速度制御回路152を用いてCPU11の性能を上げる(ステップS110)。一方、タイムアウトが発生していた場合には(ステップS109のN)、OSブート処理中のCPU性能よりもCPU性能が高くなる危険があるので、ステップS110の処理の実行を禁止する。
【0048】
(システム制御方法の手順2)
図5には、本システム制御方法を実現するための第2の例が示されている。これは、特定のデバイスで問題が発生する可能性が高い場合に有効な方法であり、そのデバイスのドライバがインストール(ロード)されて実際に動作するまでをOSのブート処理とする。特定のドライバとしては、実際のOS動作時のCPU性能がブート処理中のCPU性能よりも高いと問題が生じる可能性が高いことが経験的に知られているドライバ、たとえばSCSIドライバなどである。SCSIドライバはSCSIデバイス毎に異なるので、省電力ユーティリティのようにシステムBIOSとのインターフェイスを用意することは困難である。このため、本例では、SCSIドライバがSCSIデバイスのアクセスしたときに、I/OトラップSMIが発生するようにSMI発生回路151を設定しておき、I/OトラップSMIの発生をもってOSのブート処理が終了したと判断する。
【0049】
すなわち、システム起動のためのイベント(パワーオン、リセット、再起動時など)が発生すると、システムBIOSのPOST処理ルーチンは、ハードウェアチェック及び初期化処理を行うが、その時に、CPU速度制御回路152を用いてCPU11の性能を最高性能に設定する(ステップS101)。POST処理が終了すると、OSブート処理(OSブートストラップシーケンス)が開始され(ステップS102)、カーネル部のロード、カーネルに組み込むことが必要な各種ドライバ/ユーティリティのロードなどが順次行われながら、OSブート処理が進められていく(ステップS103)。そして、このOSブート処理の中でSCSIドライバがOSによってロード(インストール)され、且つそのSCSIドライバが実際にデバイスをアクセスすると(ステップS201)、SMI発生回路151からI/OトラップSMIが発生される。このソフトウェアSMIにより、システムBIOSのSMI処理ルーチン(#1)が呼び出される。以降の処理は全て図4と同じである。
【0050】
このように、問題を起こす可能性が高いドライバがインストール(ロード)されて実際に動作するまでをOSのブート処理とすることにより、たとえOSブート処理が完全には終了されていない状態でCPU性能をユーザ指定のローパワーに切り替えたとしても、正常動作を高い確率で保証することが可能となる。
【0051】
(システム制御方法の手順3)
図6には、本システム制御方法を実現するための第3の例が示されている。これは、OSのブート処理が終了したかどうかの判断を、ユーザからの特定のキー入力によって行うものであり、他の点はすべて図4と同じである。
【0052】
ユーザはOSブート処理が終了したことを画面上で知ることができるので、OSブート処理が終了したときに押下すべきキーまたはキーの組み合わせをユーザに予め知らせておくことにより、OSのブート処理が終了したかどうかを正しく判断することができる。OSブート処理が終了したときに押下すべきキーまたはその組み合わせをホットキーとして割り当ておけば、そのキー操作時には、SMI発生回路151からSMIが発生される。このSMIによって、システムBIOSのSMI処理ルーチン(#1)を呼び出せばよい。
【0053】
また、OSブート処理中にはユーザが押すことのないようなキー、例えばパスワード入力やログイン名の入力などに使用しないキーやその組み合わせを用いて、OSブート処理が終了したか否かを判断するようにしてもよい。キー入力のみならず、マウス操作などの他の各種ユーザからの特定の入力イベントを利用することができる。
【0054】
(システム制御方法の手順4)
図7には、本システム制御方法を実現するための第4の例が示されている。これは、第1の例と同様に省電力ユーティリティーなどの専用のユーティリティ(ドライバ)のインストールをもってOSブート処理の終了と判断するものであるが、システムBIOSのSMI処理ルーチンではなく、ロードされた専用のユーティリティ自体が自分でユーザ指定性能に切り替える処理などを行うようにしたものである。
【0055】
すなわち、システム起動のためのイベント(パワーオン、リセット、再起動時など)が発生すると、システムBIOSのPOST処理ルーチンは、ハードウェアチェック及び初期化処理を行うが、その時に、CPU速度制御回路152を用いてCPU11の性能を最高性能に設定する(ステップS101)。POST処理が終了すると、OSブート処理(OSブートストラップシーケンス)が開始され(ステップS102)、カーネル部のロード、カーネルに組み込むことが必要な各種ドライバ/ユーティリティのロードなどが順次行われながら、OSブート処理が進められていく(ステップS103)。そして、このOSブート処理の中で省電力ユーティリティがOSによってロード(インストール)されると(ステップS301)、省電力ユーティリティは、OSブート処理が終了したと判断し、前述のSMI処理ルーチン(#1)と同じ処理を実行する(ステップS105〜S108)。また、性能アップイベントが発生した場合にも、SMI処理ルーチン(#2)に代わって、省電力ユーティリティがステップS109,S110の処理を行うようにしてもよい。
【0056】
(システム制御方法の手順5)
図8には、本システム制御方法を実現するための第5の例が示されている。本例では、CPU性能制御のための処理がすべてオペレーティングシステムによって実行される。
【0057】
すなわち、システム起動のためのイベント(パワーオン、リセット、再起動時など)が発生すると、システムBIOSのPOST処理ルーチンは、ハードウェアチェック及び初期化処理を行う(ステップS401)。POST処理が終了すると、OSブート処理(OSブートストラップシーケンス)が開始され(ステップS402)、カーネル部のロード、カーネルに組み込むことが必要な各種ドライバ/ユーティリティのロードなどが順次行われながら、OSブート処理が進められていく(ステップS403)。
【0058】
そして、このOSブート処理が終了すると、OSは、CMOSメモリ20を参照してユーザ指定のCPU性能をチェックし、最高性能が指定されているか否かを判断する(ステップS405,S406)。最高性能以外の性能が指定されていた場合には、OSは、CPU速度制御回路152を用いてCPU11の性能をユーザ指定の性能に切り替える(ステップS408)。これにより、以降、CPU11はユーザ指定性能で動作する。一方、ユーザ指定のCPU性能が最高性能であった場合には、OSは、基本的には、現在のCPU性能が既に最高性能であるので、ステップS408のCPU性能切り替え処理は行わない。しかし、この時点で、警告イベントがもし発生した場合には(ステップS407のY)、CPU性能を安全な性能にまで低下させるために、ステップS408のCPU性能切り替え処理を実行する。なお、警告イベントは、OSブート処理が終了する前に発生する場合もある。この場合の処理については図9で後述する。
【0059】
この後、OS動作中に、例えばユーザがホットキーによって現在のユーザ指定性能(ローパワー)をフルパワーに上げることを指示した場合や、警告イベント発生後にCPU温度が安全な温度までに低下したりACアダプタが接続された場合には、性能アップイベントが発生するが、この性能アップイベントに対する処理もOS自体が行うようにしても良い。この場合、OSは、まず、自身がCPU性能切り上げに対応しているOSであるか否かを調べる(ステップS409)。
システム起動時のCPU性能を上回るCPU性能へのダイナミックな切り上げに対応していないOSであれば、ステップS410,S411をスキップし、CPU性能アップ処理をこの時点で禁止する。一方、対応しているOSであれば、タイムアウトにならなかったか否かを判断する(ステップS410)。タイムアウトにならなかった場合、つまりOSブート処理の終了までCPU性能を最高性能に維持することができた場合には(ステップS410のY)、OSは、CPU性能を上げてもOSブート処理中のCPU性能よりもCPU性能が高くなることはないので、CPU速度制御回路152を用いてCPU11の性能を上げる(ステップS411)。一方、タイムアウトが発生していた場合には(ステップS410のN)、OSブート処理中のCPU性能よりもCPU性能が高くなる危険があるので、ステップS411の処理の実行を禁止する。
【0060】
なお、このシステム制御方法では、POST処理中はCPU性能はユーザ指定性能となり、最高性能で動作するのはOSブート処理のみとなる。システム起動速度をすこしでも早めたい場合には、CPU性能を最高性能に設定する処理をPOST処理の中で行えばよい。
【0061】
(警告イベントSMI処理)
図9には、警告イベント発生時にシステムBIOS(またはOS)によって実行される処理の手順が示されている。ここでは、システムBIOSおよびOSのどちらの場合でも警告イベントに対する処理の内容は同じであるので、以下では、システムBIOSのSMI処理ルーチンが警告イベントに対する処理を行う場合を例示して説明する。
【0062】
警告イベントが発生すると、システムBIOSのSMI処理(警告イベントSMI処理)が実行される。このSMI処理ルーチンは、まず、前述の各例のいずれかを用いて、OSブート処理が終了しているか否かを判断する(ステップS21)。OSブート処理が終了していれば、SMI処理ルーチンは、無条件にCPU性能を低下させる処理を実行する(ステップS22)。一方、OSブート処理が終了していない場合、つまりOSブート処理中に警告イベントが発生した場合には、SMI処理ルーチンは、SMI発生回路151内の要因レジスタを参照することなどによって、警告イベントの発生要因がCPUの熱上昇によるものであるか、ACアダプタ181の取り外し(ACアダプタ電源オフ)によるものであるかを調べる(ステップS23)。熱による警告イベントの発生であれば、SMI処理ルーチンは、そのまま放置すると重大なシステムエラーが生じる危険があるため、CPU速度制御回路152を用いてCPU性能を低下させた後(ステップS24)、タイムアウトが発生した旨を示すタイムアウトフラグをONする(ステップS25)。このタイムアウトフラグは、性能アップイベントに応答して実行されるSMI処理ルーチンが、タイムアウトが発生しなかったか否かを判断する時に利用することができる。
【0063】
一方、ACアダプタ電源オフによる警告イベントの発生であれば、SMI処理ルーチンは、OSブート処理が終了するまではCPU性能を最高性能に維持できるように、ステップS24のCPU性能低下処理は行わない。この場合、OSブート処理の終了時に実行されるSMI処理ルーチンで、CPU性能の低下処理を行えばよい。
【0064】
(シャットダウン処理の制御)
次に、シャットダウン/スタンバイ処理中に実行されるCPU性能制御について説明する。コンピュータシステムをシャットダウン/スタンバイするためのイベント(例えば、電源オフ、シャットダウンコマンドの入力、リセットなど)が発生すると、システムBIOSとOSとの連携処理によって、OSのシャットダウンシーケンス(スタンバイシーケンスも同じ)と、それに後続して、システムBIOSのパワーオフシーケンスが実行される。シャットダウン/スタンバイ処理の最初で、システムBIOSまたはOSは、CPU速度制御回路152を用いてCPU性能を最高性能に設定する。これにより、以降、システムが実際にパワーオフされるまでの間、CPU11は最高性能で動作する。
【0065】
なお、システム起動処理、シャットダウン処理のみならず、システムをスリープ状態に設定するためのサスペンド/ハイバネーション処理などにおいても、その処理中はCPU11を最高性能で動作させるようにすることができる。
【0066】
以上のように、本実施形態においては、ユーザからの指定やその他予め決められた要因に関わらず、OSブート処理が終わる迄は最高のCPU11を最高性能で動作させることにより、システムの動作の信頼性の向上およびシステム起動処理の高速化を図ることが可能となる。また、OSのブート処理が終了したことが検出された時点で、CPU11の性能をユーザによって指定されたCPU性能に戻すことにより、コンピュータシステムの低消費電力化も実現できる。さらに、警告イベントの発生によってOSブート処理が終了するまでCPU性能を最高性能に維持することができなかった場合には、以降のCPU性能を上昇させるためのCPU性能切り替え処理の実行については禁止しているので、システム動作の信頼性を維持することができる。
【0067】
なお、ブート後にCPU性能が上昇しても問題が発生しないことが保証されているOSの場合には、ブート処理を開始したOSが該OSであると判断できた時点でユーザ指定の本来のCPU性能に戻しても良い。また、POST処理でOSの種類を判別し、ブート後にCPU性能が上昇しても問題が発生しないことが保証されているOSの場合にはユーザ指定の本来のCPU性能で動作させ、それ以外のOSの場合にはブート終了までCPUを最高性能で動作させるように制御することも可能である。
【0068】
【発明の効果】
以上説明したように、本発明によれば、ユーザからの指定やその他予め決められた要因に関わらず、システム起動処理が終わる迄は最高のCPU性能で動作させることにより、CPU性能の切り替えが可能なシステムの動作の信頼性の向上およびシステム起動処理の高速化を図ることが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態のコンピュータシステムのシステム制御方法の原理を説明するための図。
【図3】同実施形態で使用されるOSやドライバがそのロード時に実行するソフトウェアループカウンタの設定処理の一例を示すフローチャート。
【図4】同実施形態のシステム制御方法を実現するための第1の例を示すフローチャート。
【図5】同実施形態のシステム制御方法を実現するための第2の例を示すフローチャート。
【図6】同実施形態のシステム制御方法を実現するための第3の例を示すフローチャート。
【図7】同実施形態のシステム制御方法を実現するための第4の例を示すフローチャート。
【図8】同実施形態のシステム制御方法を実現するための第5の例を示すフローチャート。
【図9】同実施形態で用いられる警告イベントSMI処理の手順を示すフローチャート。
【図10】同実施形態のシャットダウン処理中のCPU性能制御の様子を示す図。
【符号の説明】
11…CPU
12…ホスト−PCIブリッジ
13…主メモリ
15…PCI−ISAブリッジ
16…I/Oコントローラ
17…BIOS−ROM
20…CMOSメモリ
21…温度センサ
151…SMI発生回路
152…CPU速度制御回路
181…ACアダプタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system such as a battery-driven personal computer, and more particularly to a computer system for switching CPU performance and a CPU performance control method in the computer system.
[0002]
[Prior art]
In recent years, various laptop-type or notebook-type personal computers (PCs) that can be carried easily and operated by a battery have been developed. In this type of PC, the performance of the CPU has been improved, and it has become possible for the user to easily obtain a comfortable use environment.
[0003]
However, as the performance of the CPU increases, the power consumption of the CPU increases, which causes problems such as an increase in power consumption of the entire PC and a decrease in battery operating time.
[0004]
Therefore, recently, a technique for switching the CPU performance as necessary by controlling the CPU processing speed has been developed. The CPU performance is set to one of a plurality of levels from the highest performance level to the lowest performance level by, for example, intermittently operating the CPU at a predetermined cycle or switching the operating frequency or voltage of the CPU. be able to. Which level of performance to use is determined by user designation or other predefined factors.
[0005]
Normally, the user designates the CPU performance by using a BIOS setup or a dedicated power saving utility. Since the designated CPU performance level is stored in the system as system setting information, the CPU always operates at the designated CPU performance once the CPU performance level is designated.
[0006]
[Problems to be solved by the invention]
However, for example, when the user shuts down / standby the system while specifying the CPU performance that is not the highest for the purpose of extending the battery operation time, the CPU is not changed from the time of the next system startup process. It will operate at the specified low performance level. This is a major factor that unnecessarily prolongs the processing time required from when the power is turned on until the bootstrap sequence of the operating system is completed. A lot of time is required not only for the system startup process but also for the shutdown / standby process.
[0007]
Also, if the CPU performance is switched to the highest performance by the user's specification or other pre-defined factors after the CPU operates at a low performance during the system startup process, the normal operation depends on the operating system and driver. There is a risk that will not be guaranteed. This is because many operating systems and drivers obtain the absolute time necessary for waiting for a response from a device by software using a software loop counter.
[0008]
In other words, the operating system and driver calculate and register the time required to repeatedly execute a specific instruction N times during system startup processing, and when actually accessing the device, the registration information is used to access the device. The actual number of instruction repetitions required for the response waiting time is determined. Therefore, if the CPU performance is increased, for example, twice that of the system startup process, the actual waiting time will be half of the expected value even if a specific instruction is repeatedly executed the same number of times. End up. In order for a device to operate normally, it is necessary to guarantee at least a waiting time equal to or longer than the waiting time defined by the device. Therefore, if the system startup process has been executed due to the CPU performance that is not the highest, if the CPU performance is later increased due to user designation or other predetermined factors, the device operation will be hindered. Depending on the situation, a serious error such as inability to read instructions and data correctly occurs.
[0009]
The present invention has been made in view of the above-described circumstances, and a computer system capable of improving the reliability of the operation of the system capable of switching the CPU performance and speeding up the system startup process, and its CPU performance control. It aims to provide a method.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a CPU, CPU speed control means for controlling the processing speed of the CPU, Includes operating system bootstrap sequence processing During the computer system startup process, Regardless of the CPU performance specified by the user, Use the CPU speed control means to operate the CPU at its highest performance. When the end of the bootstrap sequence processing of the operating system is detected, the CPU speed is controlled by the user by using the CPU speed control means within a plurality of levels of performance from the highest performance to the lowest performance of the CPU. Match specified CPU performance System control means.
[0011]
In this computer system, the CPU is operated at the highest performance during the computer system startup process such as the so-called POST process for hardware check and the bootstrap sequence of the operating system. Even if the CPU performance is switched later by the user's designation or other pre-defined factors, the CPU performance may not be increased even if it is lowered than during the system startup period. For this reason, even when the software loop counter as described above is used by an operating system or a driver, it is possible to always obtain a waiting time that is longer than the waiting time defined by the device. A device operates normally as long as it is guaranteed a latency that is greater than the latency required by the device. Therefore, it is possible to improve the reliability of the system operation and speed up the system startup process.
[0012]
Further, when it is detected that the startup process of the computer system has been completed, the power consumption of the computer system can be reduced by matching the CPU performance to the CPU performance designated by the user.
[0013]
As a method for detecting whether the startup process of the computer system has been completed, a specific program or the like that has been empirically found to be loaded in the last part of the bootstrap sequence in advance is used as the bootstrap of the operating system. The computer system start-up process is determined until the computer system start-up process period is determined as the load period by the sequence processing, or until the driver that has been found to use the loop counter accesses specific hardware. It is preferable to realize this by determining the period of time.
[0014]
In addition, if the CPU performance cannot be maintained at the maximum level due to the occurrence of a warning event due to the temperature rise of the CPU or the removal of the AC adapter power supply during the startup process of the computer system, Depending on the type of system, it is preferable to prohibit the execution of the CPU performance switching process for increasing the CPU performance thereafter. Thereby, the reliability of the system operation can be maintained. Further, during the startup process of the computer system, only a rise in CPU temperature requiring urgency is treated as a warning event, and if the cause of the warning event is removal of the AC adapter power supply, the computer system It is preferable that execution of the CPU performance lowering process by the CPU performance lowering means is prohibited so that the CPU performance can be maintained at the highest performance until the startup process is completed.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0016]
FIG. 1 shows the configuration of a computer system according to an embodiment of the present invention. This computer system is a notebook-type personal computer (PC) that can be driven by a battery. When external power is supplied via an AC adapter 181, the computer system operates with the external power and charges the battery 182. Is called. On the other hand, when the AC adapter 181 is not connected to the PC main body, such as when used in a mobile environment, the PC operates with the power from the battery 182.
[0017]
The PC main body includes a processor bus 1, a PCI bus 2, an ISA bus 3, a CPU 11, a host-PCI bridge 12, a main memory 13, a display controller 14, a PCI-ISA bridge 15, an I / O controller 16 as shown in the figure. BIOS-ROM 17, power supply controller 18, keyboard controller (KBC) 19, CMOS memory 20, and the like are provided.
[0018]
The CPU 11 is for controlling the overall operation of the PC 11 and executes the system BIOS of the BIOS-ROM 17, the operating system loaded into the main memory 13, and other programs. In the system of this embodiment, the performance (processing speed) of the CPU 11 can be controlled in multiple stages (multiple levels). For controlling the CPU performance, a “CPU throttling function” or a “GEYSEVILLE function” described later is used. The CPU performance level to be used is determined by a user-specified or other predefined factor, but in the system of this embodiment, it is determined by the user-specified or other predefined factor during the system activation process. Regardless of the level, system performance control is performed to operate the CPU 11 with the highest performance. A specific method for controlling the system performance will be clarified in the following description.
[0019]
Further, the CPU 11 in FIG. 1 has the following system management functions.
That is, the CPU 11 executes a system management program called a system management mode (SMM) in addition to a real mode, a protect mode, and a virtual 86 mode for executing programs such as an application program and an OS. The operation mode is as follows.
[0020]
The real mode is a mode in which a memory space of up to 1 Mbyte can be accessed, and a physical address is determined by an offset value from a base address represented by a segment register. The protect mode is a mode in which a maximum 6 Tbyte memory space can be accessed per task, and a linear address is determined using an address mapping table called a descriptor table. This linear addressless is finally converted into a physical address by paging. The virtual 86 mode is a mode for operating a program configured to operate in the real mode in the protect mode, and the real mode program is handled as one task in the protect mode.
[0021]
The system management mode (SMM) is a pseudo real mode. In this mode, the descriptor table is not referred to and paging is not executed. When a system management interrupt (SMI) is issued to the CPU 11, the operation mode of the CPU 11 is switched from the real mode, the protect mode, or the virtual 86 mode to the SMM. In SMM, a system management program is executed.
[0022]
SMI is a kind of non-maskable interrupt NMI, but is the highest priority interrupt that has a higher priority than normal NMI and maskable interrupt INTR. By issuing this SMI, various SMI service routines prepared as system management programs can be activated without depending on the application program being executed or the OS environment.
[0023]
The host-PCI bridge 12 is a bridge device that connects the CPU bus 1 and the PCI bus 2 bidirectionally, and has a built-in memory control function for controlling access to the main memory 13.
[0024]
The main memory 13 stores an operating system, a processing target application program / utility, user data created by the application program / utility, and the like. When the CPU 11 shifts to the SMM, the CPU status, that is, the register of the CPU 11 when the SMI is generated, is saved in a stack form in the SMRAM mapped to a predetermined address space of the main memory 13. The SMRAM stores an instruction for calling a system management program stored in the BIOS-ROM 17. This command is the first command executed when the CPU 11 enters the SMM, and control is transferred to the system management program by executing this command.
[0025]
The display controller 14 displays the display data drawn in the image memory (VRAM) 141 on one or both of the LCD 142 and the external CRT 143 provided in the PC main body. The display controller 14 can operate as a bus master of the PCI bus 2.
[0026]
The PCI-ISA bridge 15 is a bridge that connects the PCI bus 2 and the ISA bus 3, and can operate as a bus master of the PCI bus 2. The PCI-ISA bridge 15 is provided with an SMI generation circuit 151, a CPU speed control circuit 152, and the like.
[0027]
The SMI generation circuit 151 generates an SMI signal for the CPU 11. SMI signal generation factors include software SMI, I / O trap SMI, SMI due to specific hardware events, and the like. The software SMI is generated using a register or a down counter accessible by software. That is, when the software writes data to the register in the SMI generation circuit 151, an SMI signal is generated. Further, when a value corresponding to the time until SMI signal generation is set in the down counter in the SMI generation circuit 151, the SMI signal is generated at the time of timeout. An I / O trap SMI is an SMI caused by software executing an IN or OUT instruction using a predetermined I / O address. An I / O trap SMI is generated when an access to the I / O address is generated by setting an I / O address value to be monitored to cause an I / O trap SMI in the SMI generation circuit 151. be able to. The SMI due to a specific hardware event is generated by hardware when an event necessary for system management such as CPU temperature and insertion / removal of the AC adapter 181 occurs.
[0028]
The CPU speed control circuit 152 is for controlling the processing speed of the CPU 11, and includes a throttling control unit for switching the CPU performance using the above-mentioned “CPU throttling function”, and the above-mentioned “GEYSEVILLE” function. The frequency / voltage control unit for switching the CPU performance using "".
[0029]
1) “CPU throttling function”
Here, the “CPU throttling function” is a function of switching an average CPU processing speed by performing an intermittent operation of operating / stopping the CPU 11 at a constant interval, and includes an interval stop clock function or an intermittent operation function. Sometimes called. The state in which the “CPU throttling function” is disabled, that is, the state in which the CPU 11 is always operating corresponds to the maximum performance of the CPU 11, and “CPU throttling” is an arbitrary% (the ratio of the stopped state to the operating state). The enabled state corresponds to a state where the maximum performance is not achieved. By changing the ratio of the stopped state to the operating state, the CPU performance can be controlled in multiple stages. As the operation stop state of the CPU 11, it is preferable to use a stop grant state. The stop grant state is a clock state supported by a CPU 486SL, Pentium, etc. manufactured by INTEL.
[0030]
2) “Gayseville function”
The “Geyserville (GEYSEVILLE) function” is a function of the MobilePentium 3 of the CPU manufactured by INTEL, and refers to a function of dynamically switching the CPU operating frequency and voltage. A state in which the CPU operates at a higher operating frequency / voltage corresponds to the highest performance of the CPU, and a state in which the CPU has a lower operating frequency / voltage corresponds to a state of less than the highest performance.
[0031]
In either case of using the functions 1) and 2), the CPU performance can be switched by writing necessary data in a register in the CPU speed control circuit 152.
[0032]
The PCI-ISA bridge 15 has a function of monitoring the CPU temperature using the temperature sensor 21 and its drive circuit 22 and a function of monitoring the insertion / removal of the AC adapter through the power supply controller 18. When the CPU temperature reaches a predetermined temperature or when the AC adapter is disconnected and the AC adapter power is turned off, the PCI-ISA bridge 15 generates a warning event that affects the safety of system operation. The occurrence is notified to the system by SMI. In this case, a process for reducing the CPU performance is performed under the control of the system BIOS, the operating system, and the like. Further, when the CPU temperature falls to a safe temperature, or when an AC adapter is connected, the PCI-ISA bridge 15 notifies the occurrence of a CPU performance up event by SMI. In this case, a process for increasing the CPU performance is performed under the control of the system BIOS, the operating system, and the like.
[0033]
The I / O controller 16 includes a bus master IDE controller for controlling an IDE device such as the HDD 161. The bus master IDE controller can operate as a bus master for data transfer between the HDD 161 and the main memory 13. The I / O controller 16 can also control a DVD drive or a CD-ROM drive.
[0034]
The BIOS-ROM 17 is for storing a system BIOS (Basic I / O System), and is configured by a flash memory so that the program can be rewritten. The system BIOS is configured to operate in the real mode. The system BIOS includes a POST (PowerON Self Test) routine that is executed when the system is powered on or restarted, a device driver for controlling various I / O devices, and a BIOS setup for setting the system environment. A routine and a system management program (runtime) for executing various SMI processes are included. The POST routine includes a function for setting the CPU performance to the maximum performance using the CPU speed control circuit 152 in addition to the routine for normal hardware check and initialization. The BIOS setup routine sets the system in an environment designated by the user by presenting the user with a setup screen including various setting items such as CPU performance settings. The CPU performance can be specified by a power saving utility that operates in the operating system execution environment or a predetermined key input operation (hot key) from the user in addition to the BIOS setup routine.
[0035]
The power controller 18 is for controlling the power on / off of the PC. The power switch 183 is turned on / off, the remaining capacity of the battery 182, the AC adapter 181 is inserted and removed, and the display panel open / close detection switch is turned on / off. It has a state monitoring function. A keyboard controller (KBC) 19 controls the keyboard and mouse. The CMOS memory 20 is a memory for holding various system setting information, and is backed up by a unique battery. User-specified CPU performance information is stored in the CMOS memory 20.
[0036]
(Principle of system control method)
Next, the principle of the system control method used in this embodiment will be described with reference to FIG.
As shown in the figure, the system activation process includes a POST process of the system BIOS and an OS boot process executed subsequently. When an event for starting the system (power-on, reset, restart, etc.) occurs, the POST process is first executed. In this POST process, a hardware check and an initialization process are performed. At this stage, by controlling the CPU speed control circuit 152, the CPU performance is set to the maximum performance (full power). Then, the system BIOS executes IPL on the MBR of the HDD 161, and this IPL starts the OS boot loader, whereby the OS boot process (OS bootstrap sequence) is started. In the OS boot process, loading of the kernel part, loading of various drivers / utilities necessary to be incorporated into the kernel, and the like are sequentially executed in a predetermined order. Normally, loading is started from drivers that directly control device operation, and those that are not directly related to device operation are loaded toward the end of the OS boot process. For the OS / driver that directly operates the device, the above-described processing for setting the software loop counter is performed at the time of loading. The CPU 11 operates with the highest CPU performance until the OS boot process ends. When the OS boot process ends, a process for returning the CPU performance to the user-specified CPU performance recorded in the CMOS memory 20 is performed under the control of the system BIOS, and the CPU 11 operates at the user-specified performance.
[0037]
As described above, in this embodiment, the CPU is operated at the highest CPU performance until the OS finishes booting regardless of the designation by the user or other predetermined factors. Even if this occurs, the CPU performance is not increased more than during the OS boot processing period. For this reason, even when the software loop counter as described above is used by the OS or the driver, it is possible to always obtain a waiting time that is longer than the waiting time defined by the device. A device operates normally as long as it is guaranteed a latency that is greater than the latency required by the device. Therefore, it is possible to improve the reliability of the system operation and speed up the system startup process.
[0038]
Further, when the aforementioned warning event due to a heat rise or the like occurs during the OS boot process, a process for forcibly reducing the CPU performance is executed by the SMI process of the system BIOS. In this case, since the system performance control of maintaining the highest CPU performance could not be performed until the OS has finished booting, the CPU performance switching process for increasing the CPU performance will be performed thereafter. Is prohibited. As a result, normal operation of the OS and driver using the software loop counter can be guaranteed.
[0039]
(Software loop counter setting process)
Next, with reference to FIG. 3, a software loop counter setting process executed when the OS or driver loads the data will be described.
[0040]
The OS and driver first read the current value (T1) of the time stamp counter (TSC) in the CPU 11 (step S11), and then repeatedly execute a specific instruction, for example, a jump instruction (JMP $) N times. (Step S12) After that, the current value (T2) of the time stamp counter (TSC) in the CPU 11 is read again (Step S13). Then, the OS and the driver calculate a required time T (T = (T2−T1) / N) per instruction from the time required for the N jump instructions (step S14), and use this for counting the waiting time. Is stored in the memory as a reference value (step S15).
[0041]
(Procedure 1 of system control method)
FIG. 4 shows a first example for realizing the system control method. This is an example of a case where the determination as to whether or not the OS boot process has been completed is made by notifying the utility that the installation of a dedicated utility (or driver) to be used by being incorporated in the OS has been completed. . As the dedicated utility, a power saving utility for providing a user with a CPU performance switching function is used. An interface with the system BIOS is prepared for the power saving utility so that the system BIOS can be notified when the power saving utility is loaded. The power saving utility is a utility that has been empirically found to be loaded in advance toward the end of the OS boot process.
[0042]
When an event for starting the system (power-on, reset, restart, etc.) occurs, the POST processing routine of the system BIOS performs hardware check and initialization processing. At that time, the CPU speed control circuit 152 is used. The CPU 11 is set to the maximum performance (step S101). When the POST process is completed, the OS boot process (OS bootstrap sequence) is started (step S102), and the OS boot is performed while loading the kernel unit and various drivers / utilities that need to be incorporated into the kernel. Processing proceeds (step S103). When the power saving utility is loaded (installed) by the OS during the OS boot process (step S104), the power saving utility generates the software SMI using the SMI generation circuit 151.
[0043]
By this software SMI, the SMI processing routine (# 1) of the system BIOS is called. At this point, the system BIOS determines that the OS boot process has been completed. The SMI processing routine (# 1) first checks the CPU performance designated by the user with reference to the CMOS memory 20, and determines whether or not the highest performance is designated (steps S105 and S106). When a performance other than the maximum performance is designated, the SMI processing routine (# 1) switches the performance of the CPU 11 to the performance designated by the user using the CPU speed control circuit 152 (step S108). Thereby, thereafter, the CPU 11 operates with user-specified performance.
[0044]
On the other hand, if the CPU performance designated by the user is the highest performance, the SMI processing routine (# 1) basically has the current CPU performance already the highest performance, so the CPU performance switching process in step S108. Do not do. However, if a warning event occurs at this time (Y in step S107), the CPU performance switching process in step S108 is executed to reduce the CPU performance to a safe performance. Note that the warning event may occur before the OS boot process ends, that is, before the notification from the power saving utility comes. The processing in this case will be described later with reference to FIG.
[0045]
When the SMI processing routine (# 1) ends, control is returned to the OS. After this, during the OS operation, for example, when the user instructs to increase the current user-specified performance (low power) to full power by using a hot key, or the CPU temperature falls to a safe temperature after the warning event occurs. When the AC adapter is connected, a performance up event occurs.
[0046]
In this case, the SMI processing routine (# 2) of the system BIOS is called by the SMI from the SMI generation circuit 151. The SMI processing routine (# 2) first checks the operating system in operation to check whether the OS is compatible with dynamic CPU performance round-up (step S109).
If the OS does not support dynamic round-up to a CPU performance that exceeds the CPU performance at the time of system startup, steps S110 and S111 are skipped, and the CPU performance improvement process is prohibited at this point. On the other hand, if the OS is compatible, it is determined whether or not a timeout has occurred (step S110).
[0047]
Here, the timeout means that the CPU performance is maximized before the OS boot process is completed by the occurrence of a warning event before the OS boot process is completed, that is, before the notification from the power saving utility is received. It means that it could not be maintained. When the time-out has not occurred, that is, when the CPU performance can be maintained at the maximum performance until the end of the OS boot processing (Y in step S110), the SMI processing routine (# 2) increases the CPU performance. Since the CPU performance does not become higher than the CPU performance during the OS boot process, the CPU speed control circuit 152 is used to improve the performance of the CPU 11 (step S110). On the other hand, if a timeout has occurred (N in step S109), the CPU performance may be higher than the CPU performance during the OS boot process, so the execution of the process in step S110 is prohibited.
[0048]
(Procedure 2 of system control method)
FIG. 5 shows a second example for realizing the system control method. This is an effective method when there is a high possibility that a problem occurs in a specific device, and the OS boot process is performed until the driver of the device is installed (loaded) and actually operates. The specific driver is a driver that is empirically known to have a high possibility of causing a problem if the CPU performance during the actual OS operation is higher than the CPU performance during the boot process, such as a SCSI driver. Since the SCSI driver is different for each SCSI device, it is difficult to prepare an interface with the system BIOS like a power saving utility. Therefore, in this example, the SMI generation circuit 151 is set so that the I / O trap SMI is generated when the SCSI driver accesses the SCSI device, and the OS boot process is performed when the I / O trap SMI is generated. Is determined to have ended.
[0049]
That is, when an event for system startup (power-on, reset, restart, etc.) occurs, the POST processing routine of the system BIOS performs hardware check and initialization processing. At that time, the CPU speed control circuit 152 Is used to set the performance of the CPU 11 to the highest performance (step S101). When the POST process is completed, the OS boot process (OS bootstrap sequence) is started (step S102), and the OS boot is performed while loading the kernel unit and various drivers / utilities that need to be incorporated into the kernel. Processing proceeds (step S103). When the SCSI driver is loaded (installed) by the OS during the OS boot process and the SCSI driver actually accesses the device (step S201), an I / O trap SMI is generated from the SMI generation circuit 151. . By this software SMI, the SMI processing routine (# 1) of the system BIOS is called. All subsequent processing is the same as in FIG.
[0050]
In this way, by setting the OS boot process until a driver that has a high possibility of causing a problem is installed (loaded) and actually operates, the CPU performance is maintained even if the OS boot process is not completely completed. Even if is switched to low power designated by the user, normal operation can be guaranteed with a high probability.
[0051]
(Procedure 3 of system control method)
FIG. 6 shows a third example for realizing the system control method. This is to determine whether or not the OS boot process has been completed by a specific key input from the user, and all other points are the same as in FIG.
[0052]
Since the user can know on the screen that the OS boot process has ended, the OS boot process can be performed by notifying the user of the key or key combination to be pressed when the OS boot process ends. It is possible to correctly determine whether or not the processing has ended. If a key to be pressed or a combination thereof is assigned as a hot key when the OS boot process ends, an SMI is generated from the SMI generation circuit 151 when the key is operated. The SMI processing routine (# 1) of the system BIOS may be called by this SMI.
[0053]
Further, it is determined whether or not the OS boot process is completed by using a key that the user does not press during the OS boot process, for example, a key that is not used for inputting a password or a login name or a combination thereof. You may do it. Not only key input but also specific input events from various other users such as mouse operations can be used.
[0054]
(Procedure 4 of system control method)
FIG. 7 shows a fourth example for realizing the system control method. Similar to the first example, the installation of a dedicated utility (driver) such as a power saving utility is used to determine the end of the OS boot process. However, this is not the SMI processing routine of the system BIOS, but is loaded. The utility itself performs processing to switch to user-specified performance by itself.
[0055]
That is, when an event for system startup (power-on, reset, restart, etc.) occurs, the POST processing routine of the system BIOS performs hardware check and initialization processing. At that time, the CPU speed control circuit 152 Is used to set the performance of the CPU 11 to the highest performance (step S101). When the POST process is completed, the OS boot process (OS bootstrap sequence) is started (step S102), and the OS boot is performed while loading the kernel unit and various drivers / utilities that need to be incorporated into the kernel. Processing proceeds (step S103). When the power saving utility is loaded (installed) by the OS during the OS boot processing (step S301), the power saving utility determines that the OS boot processing is completed, and the above-described SMI processing routine (# 1). ) Is executed (steps S105 to S108). Further, when a performance up event occurs, the power saving utility may perform the processes of steps S109 and S110 instead of the SMI processing routine (# 2).
[0056]
(Procedure 5 of system control method)
FIG. 8 shows a fifth example for realizing the system control method. In this example, all processing for CPU performance control is executed by the operating system.
[0057]
That is, when an event for system startup (power-on, reset, restart, etc.) occurs, the POST processing routine of the system BIOS performs hardware check and initialization processing (step S401). When the POST process is completed, the OS boot process (OS bootstrap sequence) is started (step S402), and the OS boot is performed while loading the kernel part and various drivers / utilities that need to be incorporated into the kernel. Processing proceeds (step S403).
[0058]
When the OS boot process ends, the OS checks the CPU performance specified by the user with reference to the CMOS memory 20, and determines whether the highest performance is specified (steps S405 and S406). If a performance other than the maximum performance is designated, the OS switches the performance of the CPU 11 to the performance designated by the user using the CPU speed control circuit 152 (step S408). Thereby, thereafter, the CPU 11 operates with user-specified performance. On the other hand, when the CPU performance designated by the user is the highest performance, the OS basically does not perform the CPU performance switching process in step S408 because the current CPU performance is already the highest performance. However, if a warning event occurs at this time (Y in step S407), the CPU performance switching process in step S408 is executed in order to reduce the CPU performance to a safe performance. Note that the warning event may occur before the OS boot process ends. The processing in this case will be described later with reference to FIG.
[0059]
After this, during the OS operation, for example, when the user instructs to increase the current user-specified performance (low power) to full power by using a hot key, or the CPU temperature falls to a safe temperature after the warning event occurs. When the AC adapter is connected, a performance up event occurs, but the OS itself may also perform processing for this performance up event. In this case, the OS first checks whether it is an OS corresponding to the CPU performance round-up (step S409).
If the OS does not support dynamic round-up to a CPU performance that exceeds the CPU performance at the time of system startup, steps S410 and S411 are skipped, and the CPU performance improvement process is prohibited at this point. On the other hand, if the OS is compatible, it is determined whether or not a timeout has occurred (step S410). When the time-out has not occurred, that is, when the CPU performance can be maintained at the maximum level until the end of the OS boot process (Y in step S410), the OS is still in the OS boot process even if the CPU performance is increased. Since the CPU performance does not become higher than the CPU performance, the performance of the CPU 11 is increased using the CPU speed control circuit 152 (step S411). On the other hand, if a timeout has occurred (N in step S410), there is a risk that the CPU performance will be higher than the CPU performance during the OS boot process, so the execution of the process in step S411 is prohibited.
[0060]
In this system control method, the CPU performance is the user-specified performance during the POST process, and only the OS boot process operates at the maximum performance. If it is desired to increase the system startup speed even a little, the processing for setting the CPU performance to the maximum performance may be performed in the POST processing.
[0061]
(Warning event SMI processing)
FIG. 9 shows a procedure of processing executed by the system BIOS (or OS) when a warning event occurs. Here, since the contents of the processing for the warning event are the same in both cases of the system BIOS and the OS, the case where the SMI processing routine of the system BIOS performs the processing for the warning event will be described as an example.
[0062]
When a warning event occurs, SMI processing (warning event SMI processing) of the system BIOS is executed. This SMI processing routine first determines whether or not the OS boot processing has ended using any of the above-described examples (step S21). If the OS boot process has been completed, the SMI process routine executes a process for unconditionally reducing the CPU performance (step S22). On the other hand, if the OS boot process has not ended, that is, if a warning event has occurred during the OS boot process, the SMI processing routine refers to the cause register in the SMI generation circuit 151, etc. It is checked whether the generation factor is due to CPU heat rise or due to removal of the AC adapter 181 (AC adapter power off) (step S23). If a warning event due to heat occurs, the SMI processing routine may cause a serious system error if left as it is. Therefore, after the CPU performance is lowered using the CPU speed control circuit 152 (step S24), a timeout occurs. A time-out flag indicating that the error has occurred is turned ON (step S25). This timeout flag can be used when the SMI processing routine executed in response to the performance up event determines whether or not a timeout has occurred.
[0063]
On the other hand, if a warning event occurs due to the AC adapter power being turned off, the SMI processing routine does not perform the CPU performance lowering process in step S24 so that the CPU performance can be maintained at the maximum performance until the OS boot process ends. In this case, the CPU performance lowering process may be performed by an SMI processing routine executed at the end of the OS boot process.
[0064]
(Control of shutdown processing)
Next, CPU performance control executed during shutdown / standby processing will be described. When an event for shutting down / standby the computer system (for example, power off, input of a shutdown command, reset, etc.) occurs, an OS shutdown sequence (the same as the standby sequence) is performed by the cooperation processing between the system BIOS and the OS. Subsequently, a power off sequence of the system BIOS is executed. At the beginning of the shutdown / standby process, the system BIOS or OS uses the CPU speed control circuit 152 to set the CPU performance to the maximum performance. Thereby, thereafter, the CPU 11 operates at the highest performance until the system is actually powered off.
[0065]
Note that the CPU 11 can be operated at the highest performance during the suspend / hibernation process for setting the system to the sleep state as well as the system startup process and the shutdown process.
[0066]
As described above, according to the present embodiment, the reliability of the system operation is ensured by operating the highest CPU 11 with the highest performance until the OS boot process is completed, regardless of the designation from the user or other predetermined factors. It is possible to improve the performance and speed up the system startup process. Further, when it is detected that the OS boot process has been completed, the CPU 11 can be reduced in power consumption by returning the performance of the CPU 11 to the CPU performance designated by the user. Furthermore, if the CPU performance cannot be maintained at the maximum level until the OS boot process is terminated due to the occurrence of a warning event, the execution of the CPU performance switching process for increasing the CPU performance is prohibited. Therefore, the reliability of system operation can be maintained.
[0067]
Note that in the case of an OS that is guaranteed not to cause a problem even if the CPU performance increases after booting, the original CPU specified by the user when the OS that started the boot process can be determined to be the OS. You may return to performance. Further, the OS type is determined by the POST process, and in the case of an OS that is guaranteed not to cause a problem even if the CPU performance increases after booting, the OS is operated with the original CPU performance specified by the user. In the case of the OS, it is also possible to control the CPU to operate at the maximum performance until the end of booting.
[0068]
【The invention's effect】
As described above, according to the present invention, the CPU performance can be switched by operating at the highest CPU performance until the system start-up process is completed, regardless of the designation from the user or other predetermined factors. It is possible to improve the reliability of the operation of a simple system and to speed up the system startup process.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.
FIG. 2 is an exemplary view for explaining the principle of the system control method of the computer system according to the embodiment;
FIG. 3 is an exemplary flowchart illustrating an example of software loop counter setting processing which is executed when the OS or driver used in the embodiment is loaded.
FIG. 4 is an exemplary flowchart illustrating a first example for realizing the system control method according to the embodiment;
FIG. 5 is an exemplary flowchart illustrating a second example for realizing the system control method according to the embodiment;
FIG. 6 is an exemplary flowchart illustrating a third example for realizing the system control method according to the embodiment;
FIG. 7 is an exemplary flowchart illustrating a fourth example for realizing the system control method according to the embodiment;
FIG. 8 is an exemplary flowchart illustrating a fifth example for realizing the system control method according to the embodiment;
FIG. 9 is a flowchart showing a procedure of warning event SMI processing used in the embodiment;
FIG. 10 is an exemplary view showing a state of CPU performance control during shutdown processing according to the embodiment;
[Explanation of symbols]
11 ... CPU
12 ... Host-PCI bridge
13 ... Main memory
15 ... PCI-ISA bridge
16 ... I / O controller
17 ... BIOS-ROM
20 ... CMOS memory
21 ... Temperature sensor
151. SMI generation circuit
152 ... CPU speed control circuit
181 ... AC adapter

Claims (10)

CPUと、
前記CPUの処理速度を制御するCPU速度制御手段と、
オペレーティングシステムのブートストラップシーケンス処理を含むコンピュータシステムの起動処理の期間中は、ユーザによって指定されるCPU性能に関係なく、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させ、前記オペレーティングシステムのブートストラップシーケンス処理の終了が検出されたとき、前記CPU速度制御手段を用いて前記CPUの性能を、前記CPUの最高性能から最低性能までの複数レベルの性能の内でユーザによって指定されたCPU性能に合わせるシステム制御手段とを具備し、
前記システム制御手段は、前記オペレーティングシステムのブートストラップシーケンス処理によってロードされた所定のデバイスドライバが特定のハードウェアをアクセスしたときに、前記オペレーティングシステムのブートストラップシーケンス処理が終了したと判断することを特徴とするコンピュータシステム。
CPU,
CPU speed control means for controlling the processing speed of the CPU;
During the start-up process of the computer system including the bootstrap sequence process of the operating system, the CPU operates at the maximum performance using the CPU speed control means regardless of the CPU performance specified by the user, and the operating system When the end of the bootstrap sequence processing of the system is detected, the CPU performance control means is used to specify the performance of the CPU within a plurality of levels of performance from the highest performance to the lowest performance of the CPU. System control means adapted to the CPU performance,
The system control means determines that the bootstrap sequence process of the operating system is completed when a predetermined device driver loaded by the bootstrap sequence process of the operating system accesses specific hardware. A computer system.
CPUと、
前記CPUの処理速度を制御するCPU速度制御手段と、
オペレーティングシステムのブートストラップシーケンス処理を含むコンピュータシステムの起動処理の期間中は、ユーザによって指定されるCPU性能に関係なく、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させ、前記オペレーティングシステムのブートストラップシーケンス処理の終了が検出されたとき、前記CPU速度制御手段を用いて前記CPUの性能を、前記CPUの最高性能から最低性能までの複数レベルの性能の内でユーザによって指定されたCPU性能に合わせるシステム制御手段とを具備し、
前記システム制御手段は、前記コンピュータシステムの起動処理が開始されてから所定時間経過したときに、前記オペレーティングシステムのブートストラップシーケンス処理が終了したと判断することを特徴とするコンピュータシステム。
CPU,
CPU speed control means for controlling the processing speed of the CPU;
During the start-up process of the computer system including the bootstrap sequence process of the operating system, the CPU operates at the maximum performance using the CPU speed control means regardless of the CPU performance specified by the user, and the operating system When the end of the bootstrap sequence processing of the system is detected, the CPU performance control means is used to specify the performance of the CPU within a plurality of levels of performance from the highest performance to the lowest performance of the CPU. System control means adapted to the CPU performance,
The system control means determines that the bootstrap sequence process of the operating system has been completed when a predetermined time has elapsed since the startup process of the computer system was started .
CPUと、
前記CPUの処理速度を制御するCPU速度制御手段と、
オペレーティングシステムのブートストラップシーケンス処理を含むコンピュータシステムの起動処理の期間中は、ユーザによって指定されるCPU性能に関係なく、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させ、前記オペレーティングシステムのブートストラップシーケンス処理の終了が検出されたとき、前記CPU速度制御手段を用いて前記CPUの性能を、前記CPUの最高性能から最低性能までの複数レベルの性能の内でユーザによって指定されたCPU性能に合わせるシステム制御手段とを具備し、
前記システム制御手段は、ユーザからの所定の入力イベントを受けたときに、前記オペレーティングシステムのブートストラップシーケンス処理が終了したと判断することを特徴とするコンピュータシステム。
CPU,
CPU speed control means for controlling the processing speed of the CPU;
During the start-up process of the computer system including the bootstrap sequence process of the operating system, the CPU operates at the maximum performance using the CPU speed control means regardless of the CPU performance specified by the user, and the operating system When the end of the bootstrap sequence processing of the system is detected, the CPU performance control means is used to specify the performance of the CPU within a plurality of levels of performance from the highest performance to the lowest performance of the CPU. System control means adapted to the CPU performance,
The computer system according to claim 1, wherein the system control means determines that the bootstrap sequence processing of the operating system is completed when a predetermined input event is received from a user .
CPUと、
前記CPUの処理速度を制御するCPU速度制御手段と、
コンピュータシステムの起動処理の開始から、オペレーティングシステムのブートストラップシーケンス処理によってロードされる所定のデバイスドライバが特定のハードウェアをアクセスするまでを、前記コンピュータシステムの起動処理の期間と判断し、前記コンピュータシステムの起動処理の期間中は、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させるシステム制御手段とを具備することを特徴とするコンピュータシステム。
CPU,
CPU speed control means for controlling the processing speed of the CPU;
The period from the start of the computer system boot process to the time when the predetermined device driver loaded by the bootstrap sequence process of the operating system accesses specific hardware is determined as the period of the computer system boot process, and the computer system And a system control means for operating the CPU at its highest performance using the CPU speed control means during the startup process.
CPUと、
前記CPUの処理速度を制御するCPU速度制御手段と、
コンピュータシステムの起動処理の開始から、ユーザからの所定の入力イベントを受けるまでを、前記コンピュータシステムの起動処理の期間と判断し、前記コンピュータシステムの起動処理の期間中は、前記CPU速度制御手段を用いて前記CPUをその最高性能で動作させるシステム制御手段とを具備することを特徴とするコンピュータシステム。
CPU,
CPU speed control means for controlling the processing speed of the CPU;
The period from the start of the computer system startup process to the reception of a predetermined input event from the user is determined as the period of the computer system startup process, and the CPU speed control means is set during the computer system startup process period. And a system control means for operating the CPU at its highest performance.
CPUと、前記CPUの処理速度を制御するCPU速度制御手段とを含み、CPU性能を切り替えることが可能なコンピュータシステムであって、
前記コンピュータシステムの起動処理の期間中は前記CPUがその最高性能で動作するように、前記コンピュータシステムの起動時に、前記CPU速度制御手段を用いて前記CPUの性能を最高性能に設定するシステム制御手段と、
前記CPUの温度上昇またはACアダプタ電源の取り外しを要因とする警告イベントの発生に応答して、前記CPU速度制御手段を用いて前記CPUの性能を強制的に低下させるCPU性能低下手段と、
前記コンピュータシステムの起動処理期間中に発生した前記警告イベントによって、前記コンピュータシステムの起動処理が終了する前にCPU性能が低下された場合には、以降、CPU性能を上昇させるためのCPU性能切り替え処理の実行を禁止する禁止手段とを具備することを特徴とするコンピュータシステム。
A computer system including a CPU and CPU speed control means for controlling the processing speed of the CPU, and capable of switching CPU performance,
System control means for setting the CPU performance to the highest performance using the CPU speed control means at the time of startup of the computer system so that the CPU operates at the highest performance during the startup process of the computer system. When,
CPU performance lowering means for forcibly lowering the performance of the CPU using the CPU speed control means in response to the occurrence of a warning event caused by the temperature rise of the CPU or removal of the AC adapter power supply;
In the case where the CPU performance is lowered before the start-up process of the computer system is terminated due to the warning event generated during the start-up process period of the computer system, the CPU performance switching process for increasing the CPU performance thereafter. And a prohibiting means for prohibiting the execution of the computer system.
前記禁止手段は、起動中のオペレーティングシステムが、CPU性能が起動時のCPU性能よりも上回る性能に動作中に切り替わることに対応できないものである場合には、以降、CPU性能を上昇させるためのCPU性能切り替え処理の実行を禁止することを特徴とする請求項6記載のコンピュータシステム。  In the case where the prohibiting means cannot cope with the switching of the operating system being activated to a performance in which the CPU performance exceeds the CPU performance at the time of activation, the CPU for increasing the CPU performance thereafter. 7. The computer system according to claim 6, wherein execution of the performance switching process is prohibited. 前記警告イベントが前記コンピュータシステムの起動処理期間中に発生した場合には、前記警告イベントの発生要因が前記CPUの温度上昇およびACアダプタ電源の取り外しのどちらであるかを判別する手段と、
前記警告イベントの発生要因がACアダプタ電源の取り外しであった場合には、前記コンピュータシステムの起動処理が終了するまでは前記CPU性能を最高性能に維持できるように、前記CPU性能低下手段によるCPU性能低下処理の実行を禁止する手段とをさらに具備することを特徴とする請求項6記載のコンピュータシステム。
Means for determining whether the cause of occurrence of the warning event is a rise in temperature of the CPU or removal of an AC adapter power supply when the warning event occurs during a startup process period of the computer system;
When the cause of the warning event is removal of the AC adapter power supply, the CPU performance by the CPU performance lowering means is maintained so that the CPU performance can be maintained at the maximum performance until the startup processing of the computer system is completed. 7. The computer system according to claim 6, further comprising means for prohibiting execution of the lowering process.
CPUと、前記CPUの処理速度を制御するCPU速度制御手段とを含み、CPU性能を切り替えることが可能なコンピュータシステムに適用されるCPU性能制御方法であって、
前記コンピュータシステムの起動処理の期間中は前記CPUがその最高性能で動作するように、前記コンピュータシステムの起動時に、前記CPUの性能を最高性能に設定し、
前記CPUの温度上昇またはACアダプタ電源の取り外しを要因とする警告イベントが発生した場合には、前記CPUの性能を強制的に低下させ、
前記コンピュータシステムの起動処理期間中に発生した前記警告イベントによって、前記コンピュータシステムの起動処理が終了する前にCPU性能が低下された場合には、以降、CPU性能を上昇させるためのCPU性能切り替え処理の実行を禁止することを特徴とするCPU性能制御方法。
A CPU performance control method applied to a computer system that includes a CPU and CPU speed control means for controlling the processing speed of the CPU and is capable of switching CPU performance,
During the startup process of the computer system, the CPU performance is set to the highest performance at the startup of the computer system so that the CPU operates at its highest performance,
When a warning event occurs due to the temperature rise of the CPU or the removal of the AC adapter power supply, the CPU performance is forcibly reduced,
In the case where the CPU performance is lowered before the start-up process of the computer system is terminated due to the warning event generated during the start-up process period of the computer system, the CPU performance switching process for increasing the CPU performance thereafter. CPU performance control method characterized by prohibiting execution of.
起動中のオペレーティングシステムが、CPU性能が起動時のCPU性能よりも上回る性能に動作中に切り替わることに対応できないものである場合には、以降、CPU性能を上昇させるためのCPU性能切り替え処理の実行を禁止することを特徴とする請求項9記載のCPU性能制御方法。  When the operating system being started cannot cope with switching to a performance in which the CPU performance exceeds the CPU performance at the time of startup, the CPU performance switching process is executed to increase the CPU performance thereafter. 10. The CPU performance control method according to claim 9, wherein the CPU is prohibited.
JP17301599A 1999-06-18 1999-06-18 Computer system and CPU performance control method thereof Expired - Fee Related JP3943764B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP17301599A JP3943764B2 (en) 1999-06-18 1999-06-18 Computer system and CPU performance control method thereof
US09/595,931 US6681336B1 (en) 1999-06-18 2000-06-16 System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17301599A JP3943764B2 (en) 1999-06-18 1999-06-18 Computer system and CPU performance control method thereof

Publications (2)

Publication Number Publication Date
JP2001005661A JP2001005661A (en) 2001-01-12
JP3943764B2 true JP3943764B2 (en) 2007-07-11

Family

ID=15952628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17301599A Expired - Fee Related JP3943764B2 (en) 1999-06-18 1999-06-18 Computer system and CPU performance control method thereof

Country Status (1)

Country Link
JP (1) JP3943764B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
JP3784007B2 (en) * 2002-01-10 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer, control method, and program
JP4751016B2 (en) * 2003-11-28 2011-08-17 株式会社東芝 Electronic device and power supply control method
WO2007026405A1 (en) * 2005-08-30 2007-03-08 Fujitsu Limited Information processor for measuring operating time
JP4860255B2 (en) * 2005-12-19 2012-01-25 エヌイーシーコンピュータテクノ株式会社 Throttling control method and throttling control system
JP2008310762A (en) * 2007-06-18 2008-12-25 Toshiba Corp Mobile information processing apparatus
WO2009125789A1 (en) 2008-04-09 2009-10-15 日本電気株式会社 Computer system and method for operation of the same
JP5212477B2 (en) * 2008-10-15 2013-06-19 富士通株式会社 Information processing apparatus and startup completion notification program
US9274805B2 (en) * 2012-02-24 2016-03-01 Qualcomm Incorporated System and method for thermally aware device booting
US9432033B2 (en) * 2013-09-27 2016-08-30 Freescale Semiconductor, Inc. System and method for enabling maximum performance operation within an extended ambient temperature range
JP2020149317A (en) * 2019-03-13 2020-09-17 株式会社デンソー Vehicle device
KR20220102286A (en) * 2021-01-13 2022-07-20 삼성전자주식회사 Electronic device and method for controlling overheat of the electronic device based on user activity

Also Published As

Publication number Publication date
JP2001005661A (en) 2001-01-12

Similar Documents

Publication Publication Date Title
US6681336B1 (en) System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
US6832311B2 (en) Information processing system and resume processing method used in the system
US6173417B1 (en) Initializing and restarting operating systems
US5784628A (en) Method and system for controlling power consumption in a computer system
JP3442100B2 (en) Method of saving a system image of a computer system and computer system implementing the method
JP2880863B2 (en) Suspend control method and system
US6446213B1 (en) Software-based sleep control of operating system directed power management system with minimum advanced configuration power interface (ACPI)-implementing hardware
US8082439B2 (en) Firmware modification in a computer system environment supporting operational state changes
US8230237B2 (en) Pre-boot environment power management
JPH0934577A (en) Information processor and its control method
JP3943764B2 (en) Computer system and CPU performance control method thereof
KR20010033687A (en) Information handling system with suspend/resume operation
US20130036299A1 (en) Method for increasing free memory amount of main memory and computer therefore
US20040107359A1 (en) Utilizing the suspend state of an information handling system
JP2008287505A (en) Information processor and legacy emulation processing stop control method
US6154846A (en) System for controlling a power saving mode in a computer system
JP4155545B2 (en) Computer system and data transfer control method
US6895517B2 (en) Method of synchronizing operation frequencies of CPU and system RAM in power management process
JP2000010905A (en) Information processor
JP4409681B2 (en) Information processing apparatus and memory control method for information processing apparatus
JP5378308B2 (en) Main memory backup method and data protection system
US6282645B1 (en) Computer system for reading/writing system configuration using I/O instruction
JP4371466B2 (en) Computer system and method for controlling I / O device thereof
JPH06180668A (en) Computer system
JP3961669B2 (en) Computer system and data transfer control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R151 Written notification of patent or utility model registration

Ref document number: 3943764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

Free format text: JAPANESE INTERMEDIATE CODE: R313121

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees