(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、
ＢＩＯＳドライバ群とシステム管理プログラムとを含むシステムＢＩＯＳが記憶された不揮発性メモリと、
オペレーティングシステムの動作時にオペレーティングシステムが一時記憶される主メモリと、
電源投入時に、前記不揮発性メモリから前記ＢＩＯＳドライバ群を前記主メモリにコピーする手段と、
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記ＢＩＯＳドライバ群を前記主メモリ上で実行するとともに前記ＣＰＵにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第１のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記ＣＰＵにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第２のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする情報処理システム。
【請求項２】
前記ＣＰＵは、当該ＣＰＵがアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有しており、
前記第１のモードにおいて前記ＣＰＵのメモリアドレス空間の内で前記不揮発性メモリの前記システム管理プログラムに対応するメモリアドレス範囲をキャッシュイネーブルに設定する手段をさらに具備することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第１のモードにおいて前記ＢＩＯＳドライバ群がコピーされた前記主メモリ上の領域に対応するメモリアドレス範囲をキャッシュイネーブルに設定する手段をさらに具備することを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記切り替え手段は、
前記システム管理割り込み信号が前記ＣＰＵに入力されたときに前記ＣＰＵによって起動され、前記システム管理プログラムの現在の実行モードが前記第１および第２のどちらのモードであるかを判別し、その判別結果に基づいて前記システム管理プログラムを読み込むためのメモリアドレスを切り替える手段を含むことを特徴とする請求項１記載の情報処理システム。
【請求項５】
ＢＩＯＳドライバ群とシステム管理プログラムとを含むシステムＢＩＯＳが記憶された不揮発性メモリと、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュメモリを用いたキャッシュ動作を行うことが可能なＣＰＵと、主メモリとを有する情報処理システムに適用されるプログラム実行モード制御方法であって、
電源投入時に、前記不揮発性メモリから前記ＢＩＯＳドライバ群を前記主メモリにコピーし、
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記ＢＩＯＳドライバ群を前記主メモリ上で実行するとともに前記ＣＰＵにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第１のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記ＣＰＵにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第２のモードへの切り替えを実行することを特徴とするプログラム実行モード制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパーソナルコンピュータなどの情報処理システムおよびプログラム実行モード制御方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の情報処理システムにおいては、そのシステム性能を高めるために、いわゆる“高速ＲＯＭ”機能が用いられている。“高速ＲＯＭ”機能は、低速なＲＯＭデバイスの内容を高速アクセス可能なＲＡＭデバイスから読み出させるようにする機能である。
【０００３】
具体的には、システムの電源投入時に、システムＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）をそれが記憶されているＲＯＭから、主メモリを構成するＲＡＭ上にコピーし、その後はＲＡＭ上のシステムＢＩＯＳを実行するというものである。この機能は、ＲＯＭからの読み出しに比しＲＡＭからの読み出しの方が高速であり、且つＲＯＭとＲＡＭのどちらを用いてもシステムの信頼性・安定性には差がないことを前提としたものである。
【０００４】
【発明が解決しようとする課題】
しかし、使用するチップセットの機能制限等により、システムＢＩＯＳをコピーしたＲＡＭ上のシステム領域を完全にはプロテクトすることが出来ない場合がある。この場合、例えばシステム環境の変更等を行う場合などのように、他のソフトウェアを全て終了して専用のシステムユーティリティプログラムのみを実行させるような時には問題はないが、様々なソフトウェアが実行される通常動作中においては、悪意を持つソフトウェアや、不当な振る舞いを行うソフトウェアが動作する可能性があるので、それらソフトウェアによってＲＡＭ上のシステム領域が破壊されてしまう危険がある。
【０００５】
一方、システムＢＩＯＳを常にＲＯＭから読み出す方式では、システム性能の低下を招くと共に、オペレーティングシステムの動作中に、ＢＩＯＳ更新のためのＲＯＭ書き換え動作を実行することができなくなるという問題も生じる。
【０００６】
本発明は上述の事情を考慮してなされたものであり、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能な情報処理システムおよびプログラム実行モード制御方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述の課題を解決するため、本発明の情報処理システムは、ＣＰＵと、ＢＩＯＳドライバ群とシステム管理プログラムとを含むシステムＢＩＯＳが記憶された不揮発性メモリと、オペレーティングシステムの動作時にオペレーティングシステムが一時記憶される主メモリと、電源投入時に、前記不揮発性メモリから前記ＢＩＯＳドライバ群を前記主メモリにコピーする手段と、前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記ＢＩＯＳドライバ群を前記主メモリ上で実行するとともに前記ＣＰＵにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第１のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記ＣＰＵにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第２のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする。
【０００８】
この情報処理システムにおいては、システムＢＩＯＳを実行するための実行モードとして第１および第２の２つのモードが用意されている。第１のモードではＢＩＯＳドライバ群は主メモリ上で実行され、システム管理プログラムは前記不揮発性メモリから読み込みながら実行され、また第２のモードではシステム管理プログラムが主メモリ上にコピーされ、システム管理プログラムは主メモリ上のコピー領域から読み込みながら実行される。第１のモードから第２のモードへの切り替えは、オペレーティングシステムの動作中に不揮発性メモリの書き換えを行う場合に実行される。このようにシステムＢＩＯＳの実行モードをオペレーティングシステムの動作中に切り替える仕組みを用意することにより、システム動作環境に応じてシステムＢＩＯＳの実行モードを動的に切り替えることができるので、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【０００９】
また特にＣＰＵとしては、当該ＣＰＵがアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有するものを使用し、前記第１のモードにおいて前記不揮発性メモリの内容が前記キャッシュメモリにキャッシュされるように、前記第１の実行モードを使用する場合に、前記ＣＰＵのメモリアドレス空間の内で前記不揮発性メモリが割り当てられるメモリアドレス範囲をキャッシュイネーブルに設定することが好ましい。このように不揮発性メモリの内容をキャッシュ対象とすることにより、第１のモードにおいても十分なシステム性能を確保することが可能となる。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図１には、本発明の一実施形態に係わる情報処理システムの構成が示されている。この情報処理システムは例えばバッテリ駆動可能なノートブックタイプのパーソナルコンピュータであり、このコンピュータ本体には、図示のように、プロセッサバス１、ＰＣＩバス２、ＩＳＡバス３、ＣＰＵ１１、ホストブリッジ１２、主メモリ１３、表示コントローラ１４、ＰＣＩ−ＩＳＡブリッジ１５、Ｉ／Ｏコントローラ１６、ハードディスクドライブ（ＨＤＤ）１７、フラッシュＢＩＯＳ−ＲＯＭ１８などが設けられている。
【００１１】
ＣＰＵ１１は本ＰＣ全体の動作を制御するためのものであり、主メモリ１３にロードされるオペレーティングシステム（ＯＳ）、各種アプリケーションプログラム、及びＢＩＯＳ更新ユーティリティなどを実行する。主メモリ１３はＤＲＡＭから構成されている。ＢＩＯＳ更新ユーティリティはフラッシュＢＩＯＳ−ＲＯＭ１８を書き換えるためのソフトウェアである。このＢＩＯＳ更新ユーティリティはＯＳの動作環境下で動作するように構成された一種のアプリケーションプログラムであり、ＢＩＯＳ更新は、ＯＳの動作環境下で実行することができる。
【００１２】
ＣＰＵ１１としては、システム管理割り込みＳＭＩ（ＳＭＩ；Ｓystem   Ｍanagement Ｉnterrupt）をサポートするものが利用される。即ち、ＣＰＵ１１はオペレーティングシステムやアプリケーション等を実行するための通常動作モードに加え、システム管理モード（ＳＭＭ；Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｍｏｄｅ）と称されるシステム管理機能を実現するための動作モードを有している。
【００１３】
システム管理割込み（ＳＭＩ；Ｓystem   Ｍanagement Ｉnterrupt）がＣＰＵ１１に発行された時、ＣＰＵ１１の動作モードは、通常動作モード（リアルモード、プロテクトモード、または仮想８６モード）から、ＳＭＭにスイッチされる。ＳＭＭでは、システム管理プログラムが実行される。システム管理プログラム、システムＢＩＯＳの一つ（ＳＭ−ＢＩＯＳ）としてフラッシュＢＩＯＳ−ＲＯＭ１８に予め記憶されているものである。
【００１４】
本実施形態においては、フラッシュＢＩＯＳ−ＲＯＭ１８のプログラム実行モードとして、フラッシュＢＩＯＳ−ＲＯＭ１８に予め格納されているシステムＢＩＯＳをフラッシュＢＩＯＳ−ＲＯＭ１８から、必要に応じて読み込みながら実行する“ＲＯＭ動作”モードと、システムＢＩＯＳを主メモリ１３上の特定領域にコピーし、その主メモリ１３上の特定領域から読み込みながら実行する“ＲＡＭ動作”モードとが用意されている。“ＲＯＭ動作”と“ＲＡＭ動作”はＯＳ動作中にその時のシステム動作環境に応じて動的に切り替えることが出来る。
【００１５】
ホストブリッジ１２は、ＣＰＵバス１とＰＣＩバス２を双方向で接続するブリッジ装置であり、ここには主メモリ１３をアクセス制御するためのメモリコントロール機能も内蔵されている。表示コントローラ１４は本ＰＣのディスプレイモニタとして使用されるＬＣＤや外部ＣＲＴを制御する。
【００１６】
ＰＣＩ−ＩＳＡブリッジ１５は、ＰＣＩバス２とＩＳＡバス３とをつなぐブリッジであり、ＰＣＩバス２のバスマスタとして動作することができる。このＰＣＩ−ＩＳＡブリッジ１５には、フラッシュＢＩＯＳ−ＲＯＭ１８の書き換えに必要な動作を実行するための回路の他、および前述のＳＭＩを発生するためのＳＭＩ発生回路１５１も含まれている。ＳＭＩ発生回路１５１は、ＰＣＩ−ＩＳＡブリッジ１５内の特定のレジスタがソフトウェアによってアクセスされたときなどＳＭＩ信号を発生する。ＢＩＯＳ更新ユーティリティによってＢＩＯＳ更新を開始する際には、その旨がＳＭＩ信号によってＢＩＯＳ更新ユーティリティからシステムＢＩＯＳに通知される。
【００１７】
Ｉ／Ｏコントローラ１６は、２次記憶として用いられるＨＤＤ１７などのＩＤＥデバイスを制御するためのバスマスタＩＤＥコントローラを内蔵している。バスマスタＩＤＥコントローラは、ＨＤＤ１７と主メモリ１３との間のデータ転送のためにバスマスタとして動作することができる。また、Ｉ／Ｏコントローラ１６は、ＤＶＤドライブやＣＤ−ＲＯＭドライブを制御することもできる。
【００１８】
フラッシュＢＩＯＳ−ＲＯＭ１８は、前述したようにシステムＢＩＯＳを記憶するためのものであり、ソフトウェアによるＢＩＯＳ更新を可能とするために電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ（フラッシュＥＥＰＲＯＭ）によって実現されている。システムＢＩＯＳは、ＰＣのパワーオン時や再起動時に実行されるＰＯＳＴ（ＰｏｗｅｒＯＮ  Ｓｅｌｆ  Ｔｅｓｔ）ルーチン、各種Ｉ／Ｏデバイスを制御するためのＢＩＯＳドライバ群、システム環境を設定するためのＢＩＯＳセットアップルーチンなどを体系化したものであり、コンピュータ内のハードウェアを直接制御するために用いられる。
【００１９】
また、このフラッシュＢＩＯＳ−ＲＯＭ１８には、ＳＭ−ＢＩＯＳおよびＳＭＩハンドラも含まれている。ＳＭＩハンドラはＳＭＩ発生時にＣＰＵ１１によって実行される割り込みハンドラであり、ＳＭＩ発生要因に対応したＳＭ−ＢＩＯＳを起動するため等に用いられる。
【００２０】
次に、図２を参照して、本実施形態における“ＲＯＭ動作”と“ＲＡＭ動作”について説明する。
使用するＣＰＵやチップセットの仕様・制限により、システムＢＩＯＳ（特にＳＭ−ＢＩＯＳ）を実行させる方法にはいくつかの選択肢がある。以下はその一部である。
【００２１】
Ｉ：  フラッシュＢＩＯＳ−ＲＯＭ１８上でキャッシュオンで動作する。
II：  主メモリ１３上でＳＭＩに連動して開閉する領域をキャッシュオフで使用する。
III:  主メモリ１３上で常時開いている領域をキャッシュオンで使用する。
【００２２】
性能が高いのは、III、Ｉ、IIの順となる（IIIとＩはユーザの体感速度としては違和感が無いが、IIは問題となり得る）。信頼性が高いのは、ＩまたはII（両者は同等）、IIIの順となる（IIIは一般のＯＳやソフトウェアから隠されていないので、不用心または悪意のあるものに容易に破壊されうる）。特定機能（ＯＳ動作中のＢＩＯＳ−ＲＯＭ１８の書き換えなど、ＲＯＭでの動作があると機能を実現できないもの）を実現できるのは、IIとIII。実現できないのはＩである。
【００２３】
よって、本実施形態では通常動作中（ユーザがＯＳ上で任意のソフトウェアを実行できる状態）は性能と信頼性共に優れたＩを使う。特定機能が動作するトリガを受けた時点で、ＢＩＯＳ−ＲＯＭ１８上のプログラムをIIIの領域にコピーし、その特定機能が終了するまではIII上で動作する。以下では、Ｉを“ＲＯＭ動作”モード、IIIを“ＲＡＭ動作”モードと称することにする。
【００２４】
“ＲＯＭ動作”モードにおいては、図２に示されているように、ＢＩＯＳ−ＲＯＭ１８はＣＰＵ１１のメモリアドレス空間内の一部のメモリアドレス範囲に割り当てられ、システムＢＩＯＳはＢＩＯＳ−ＲＯＭ１８から読み込まれながら実行される。この場合、ＢＩＯＳ−ＲＯＭ１８が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。すなわち、ＣＰＵ１１は、当該ＣＰＵ１１がアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有しており、“ＲＯＭ動作”モードでは、ＢＩＯＳ−ＲＯＭ１８が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。
【００２５】
このように、本実施形態では、“ＲＯＭ動作”モードをキャッシュＯＮで実行する構成であり、これにより“ＲＯＭ動作”モードにおいては一定のシステム性能を得ることが出来る。ＣＰＵ１１のどのメモリアドレス範囲をキャッシュイネーブルに設定するかは、ＣＰＵ１１内のレジスタを用いて制御することが出来る。
【００２６】
“ＲＡＭ動作”モードにおいては、ＢＩＯＳ−ＲＯＭ１８の内容は主メモリ１３上の特定領域にコピーされ、システムＢＩＯＳはその特定領域から読み込まれながら実行される。特定領域に対応するメモリアドレス範囲はキャッシュイネーブルに設定される。
【００２７】
次に、図３を参照して、“ＲＯＭ動作”と“ＲＡＭ動作”の切り替えについて説明する。
【００２８】
前述したように、通常動作中においてはシステムＢＩＯＳは“ＲＯＭ動作”モードで実行される。そして、“ＲＯＭ動作”から“ＲＡＭ動作”への切換を示すイベントが発生すると、それに応答して、ＢＩＯＳ−ＲＯＭ１８の内容が主メモリ１３上の特定領域にコピーされ、“ＲＯＭ動作”から“ＲＡＭ動作”に切り替えられる。“ＲＯＭ動作”から“ＲＡＭ動作”への切換イベントの発生は、ＳＭＩによってシステムＢＩＯＳに通知される。
【００２９】
なお、通常動作中においても、ＢＩＯＳ−ＲＯＭ１８内の全てのシステムＢＩＯＳをＲＯＭから実行する必要はなく、一部のシステムＢＩＯＳについては主メモリ１３上で実行することが出来る。以下では、通常動作中においてＳＭ−ＢＩＯＳのみを“ＲＯＭ動作”モードで実行し、“ＲＯＭ動作”から“ＲＡＭ動作”への切換を示すイベントが発生した時に、ＳＭ−ＢＩＯＳを主メモリ１３上にコピーして、ＳＭ−ＢＩＯＳの実行モードを“ＲＯＭ動作”モードから“ＲＡＭ動作”モードに切り替える場合を想定することとする。
【００３０】
次に、図４のフローチャートを参照して、システムＢＩＯＳによって実行される処理の流れについて説明する。
【００３１】
本コンピュータの電源投入時には、まず、システムＢＩＯＳによってＰＯＳＴ処理が実行され、各種ハードウェアの初期化およびテストが行われる（ステップＳ１０１）。このＰＯＳＴ処理においては、さらに、システムＢＩＯＳは、ＳＭＩハンドラおよびＢＩＯＳドライバ群をそれぞれ主メモリ１３上にコピーする（ＳＭ−ＢＩＯＳはコピーせず、“ＲＯＭ動作”モードで実行する）。この場合、システムＢＩＯＳは、ＢＩＯＳ−ＲＯＭ１８の少なくともＳＭ−ＢＩＯＳに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。またシステムＢＩＯＳは、ＳＭＩハンドラおよびＢＩＯＳドライバ群それぞれに対応する主メモリ１３上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【００３２】
この後、ＯＳを起動するためのＯＳブート処理が実行される（ステップＳ１０２）。ＯＳ起動後の通常動作中においては、ＳＭ−ＢＩＯＳは“ＲＯＭ動作”モードで実行される。すなわち、ＳＭＩが発生されると、ＣＰＵ１１によって割り込み処理が実行され、その割り込み処理の中でＳＭ−ＢＩＯＳが“ＲＯＭ動作”モードで実行される。この場合、割り込み処理では最初にＳＭＩハンドラが実行され、そのＳＭＩハンドラによって割り込み要因が調べられる。そしてその割り込み要因によって要求されたシステム管理サービスに対応するＢＩＯＳ−ＲＯＭ１８内のＳＭ−ＢＩＯＳがＳＭＩハンドラによってコールされ、ＳＭ−ＢＩＯＳがＢＩＯＳ−ＲＯＭ１８から読み込まれて実行される。
【００３３】
一方、割り込み要因がＲＯＭ／ＲＡＭ切換イベントであった場合には（ステップＳ１０３のＹＥＳ）、ＳＭＩハンドラは、ＳＭ−ＢＩＯＳをＢＩＯＳ−ＲＯＭ１８から主メモリ１３上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する。以降は、ＳＭＩハンドラは、システム管理サービスが要求されると、それに対応する主メモリ１３上のＳＭ−ＢＩＯＳをコールする。
【００３４】
すなわち、図５のフローチャートに示すように、ＳＭ−ＢＩＯＳはシステム管理サービスが要求される度にＳＭ−ＢＩＯＳが“ＲＯＭ動作”モードであるか、主メモリ１３にコピーした後の“ＲＡＭ動作”であるかを判別し（ステップＳ１１１）、“ＲＯＭ動作”モードにおいてはＢＩＯＳ−ＲＯＭ１８から、また“ＲＡＭ動作”においては主メモリ１３上から該当するＳＭ−ＢＩＯＳが読み込まれるように、“ＲＯＭ動作”モードであるか、“ＲＡＭ動作”モードであるかに応じて、ＳＭ−ＢＩＯＳを読み込むためのメモリアドレスを切り替える（ステップＳ１１２，Ｓ１１３）。
【００３５】
次に、図６を参照して、ＢＩＯＳ更新を行う場合の一連の処理の流れを説明する。
【００３６】
前述したように、通常動作中においてはシステムＢＩＯＳ（ＳＭ−ＢＩＯＳ）は“ＲＯＭ動作”モードで実行される。そして、ユーザがＯＳ動作中にＢＩＯＳ更新ユーティリティを起動すると、ＢＩＯＳ更新ユーティリティはＰＣＩ−ＩＳＡブリッジ１５内のレジスタを通じて、システムＢＩＯＳに対してＢＩＯＳ更新の開始を通知する。この場合、ＢＩＯＳ更新ユーティリティによるレジスタアクセスに応答して、ＣＰＵ１１にはＳＭＩが入力される。これにより、ＳＭＩハンドラが実行される。
【００３７】
ＳＭＩハンドラはＳＭＩ発生要因がＢＩＯＳ更新開始通知のイベントであることを検知すると、ＳＭ−ＢＩＯＳをＢＩＯＳ−ＲＯＭ１８から主メモリ１３にコピーしてＳＭ−ＢＩＯＳの実行モードを“ＲＡＭ動作”モードに切り替えた後、ＢＩＯＳ更新ユーティリティからのＢＩＯＳ更新開始通知で指示された場所から新ＢＩＯＳイメージを読み込み、それをＢＩＯＳ−ＲＯＭ１８に書き込むというＢＩＯＳ更新処理を開始する。ＢＩＯＳ更新処理が終了すると、システムＢＩＯＳからＢＩＯＳ更新ユーティリティに対して終了通知が送られる。
【００３８】
ＢＩＯＳ更新ユーティリティはＯＳに対してシャットダウン要求またはシャッタダウンおよびリブート要求を発行し、ＯＳにシャットダウン処理またはシャッタダウンおよびリブート処理を実行させる。ＳＭ−ＢＩＯＳの実行モードが“ＲＡＭ動作”モードに切り替えられてからＯＳがシャットダウンする間での間に、例えば拡張ユニットとコンピュータ本体とのドッキングなどのイベントが発生した場合などのように、ＳＭＩによってシステム管理サービスが要求された場合には、ＳＭ−ＢＩＯＳは主メモリ１３から読み込まれて実行されることになる。
【００３９】
次に、図７のフローチャートを参照して、ＢＩＯＳ更新時にシステムＢＩＯＳによって実行される処理の流れについて説明する。
【００４０】
上述したように、本コンピュータの電源投入時には、まず、システムＢＩＯＳによってＰＯＳＴ処理が実行され、各種ハードウェアの初期化およびテストが行われる（ステップＳ２０１）。このＰＯＳＴ処理においては、さらに、システムＢＩＯＳは、ＳＭＩハンドラおよびＢＩＯＳドライバ群をそれぞれ主メモリ１３上にコピーする（ＳＭ−ＢＩＯＳはコピーせず、“ＲＯＭ動作”モードで実行する）。この場合、システムＢＩＯＳは、ＢＩＯＳ−ＲＯＭ１８の少なくともＳＭ−ＢＩＯＳに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。
またシステムＢＩＯＳは、ＳＭＩハンドラおよびＢＩＯＳドライバ群それぞれに対応する主メモリ１３上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【００４１】
この後、ＯＳを起動するためのＯＳブート処理が実行される（ステップＳ２０２）。ＯＳ起動後の通常動作中においては、ＳＭ−ＢＩＯＳは“ＲＯＭ動作”モードで実行される。通常動作中に、ＢＩＯＳ更新開始イベントによるＳＭＩが発生すると（ステップＳ２０３のＹＥＳ）、ＳＭＩハンドラは、ＳＭ−ＢＩＯＳをＢＩＯＳ−ＲＯＭ１８から主メモリ１３上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する（ステップＳ２０４）。以降は、ＳＭＩハンドラは、システム管理サービスが要求されると、それに対応する主メモリ１３上のＳＭ−ＢＩＯＳをコールする。
【００４２】
次いで、ＳＭＩハンドラは、ＢＩＯＳ更新ユーティリティからのＢＩＯＳ更新開始通知で指示された場所から新ＢＩＯＳイメージを読み込み、それをＢＩＯＳ−ＲＯＭ１８に書き込むというＢＩＯＳ更新処理を開始する（ステップＳ２０５）。ＢＩＯＳ更新処理が終了すると、ＳＭＩハンドラは、ＢＩＯＳ更新ユーティリティに対して終了通知を送る（ステップＳ２０６）。
【００４３】
以上のように、本実施形態においては、通常動作中においては性能と信頼性共に優れたキャッシュＯＮの“ＲＯＭ動作”モードを使用し、特定機能が動作するトリガを受けた時点で、システムＢＩＯＳをＢＩＯＳ−ＲＯＭ１８から主メモリ１３上にコピーして“ＲＡＭ動作”モードに切り替えるという処理が実行される。これにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【００４４】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、システムプログラムの実行モードをシステム動作環境に応じて動的に切り替えることにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同実施形態のシステムにおける“ＲＯＭ動作”と“ＲＡＭ動作”を説明するための図。
【図３】同実施形態のシステムにおける“ＲＯＭ動作”と“ＲＡＭ動作”の切り替えを説明するための図。
【図４】同実施形態のシステムで用いられるシステムＢＩＯＳによって実行される処理の流れを示すフローチャート。
【図５】同実施形態のシステムで使用されるＳＭ−ＢＩＯＳの処理手順を示すフローチャート。
【図６】同実施形態のシステムにおいてＢＩＯＳ更新を行う場合の一連の処理の流れを説明するための図。
【図７】同実施形態のシステムにおいてＢＩＯＳ更新時にシステムＢＩＯＳによって実行される処理の流れを示すフローチャート。
【符号の説明】
１１…ＣＰＵ
１２…ホストブリッジ
１３…主メモリ
１５…ＰＣＩ−ＩＳＡブリッジ
１６…Ｉ／Ｏコントローラ
１８…フラッシュＢＩＯＳ−ＲＯＭ
１５１…ＳＭＩ発生回路
【図１】
0003702233.tif 000002
【図２】
0003702233.tif 000003
【図３】
0003702233.tif 000004
【図４】
0003702233.tif 000005
【図５】
0003702233.tif 000006
【図６】
0003702233.tif 000007
【図７】
0003702233.tif 000008