JP3702233B2 - Information processing system and program execution mode control method - Google Patents
Information processing system and program execution mode control method Download PDFInfo
- Publication number
- JP3702233B2 JP3702233B2 JP2002044951A JP2002044951A JP3702233B2 JP 3702233 B2 JP3702233 B2 JP 3702233B2 JP 2002044951 A JP2002044951 A JP 2002044951A JP 2002044951 A JP2002044951 A JP 2002044951A JP 3702233 B2 JP3702233 B2 JP 3702233B2
- Authority
- JP
- Japan
- Prior art keywords
- bios
- memory
- system management
- cpu
- mode
- 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 - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明はパーソナルコンピュータなどの情報処理システムおよびプログラム実行モード制御方法に関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ等の情報処理システムにおいては、そのシステム性能を高めるために、いわゆる“高速ROM”機能が用いられている。“高速ROM”機能は、低速なROMデバイスの内容を高速アクセス可能なRAMデバイスから読み出させるようにする機能である。
【0003】
具体的には、システムの電源投入時に、システムBIOS(Basic Input Output System)をそれが記憶されているROMから、主メモリを構成するRAM上にコピーし、その後はRAM上のシステムBIOSを実行するというものである。この機能は、ROMからの読み出しに比しRAMからの読み出しの方が高速であり、且つROMとRAMのどちらを用いてもシステムの信頼性・安定性には差がないことを前提としたものである。
【0004】
【発明が解決しようとする課題】
しかし、使用するチップセットの機能制限等により、システムBIOSをコピーしたRAM上のシステム領域を完全にはプロテクトすることが出来ない場合がある。この場合、例えばシステム環境の変更等を行う場合などのように、他のソフトウェアを全て終了して専用のシステムユーティリティプログラムのみを実行させるような時には問題はないが、様々なソフトウェアが実行される通常動作中においては、悪意を持つソフトウェアや、不当な振る舞いを行うソフトウェアが動作する可能性があるので、それらソフトウェアによってRAM上のシステム領域が破壊されてしまう危険がある。
【0005】
一方、システムBIOSを常にROMから読み出す方式では、システム性能の低下を招くと共に、オペレーティングシステムの動作中に、BIOS更新のためのROM書き換え動作を実行することができなくなるという問題も生じる。
【0006】
本発明は上述の事情を考慮してなされたものであり、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能な情報処理システムおよびプログラム実行モード制御方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上述の課題を解決するため、本発明の情報処理システムは、CPUと、BIOSドライバ群とシステム管理プログラムとを含むシステムBIOSが記憶された不揮発性メモリと、オペレーティングシステムの動作時にオペレーティングシステムが一時記憶される主メモリと、電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーする手段と、前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする。
【0008】
この情報処理システムにおいては、システムBIOSを実行するための実行モードとして第1および第2の2つのモードが用意されている。第1のモードではBIOSドライバ群は主メモリ上で実行され、システム管理プログラムは前記不揮発性メモリから読み込みながら実行され、また第2のモードではシステム管理プログラムが主メモリ上にコピーされ、システム管理プログラムは主メモリ上のコピー領域から読み込みながら実行される。第1のモードから第2のモードへの切り替えは、オペレーティングシステムの動作中に不揮発性メモリの書き換えを行う場合に実行される。このようにシステムBIOSの実行モードをオペレーティングシステムの動作中に切り替える仕組みを用意することにより、システム動作環境に応じてシステムBIOSの実行モードを動的に切り替えることができるので、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【0009】
また特にCPUとしては、当該CPUがアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有するものを使用し、前記第1のモードにおいて前記不揮発性メモリの内容が前記キャッシュメモリにキャッシュされるように、前記第1の実行モードを使用する場合に、前記CPUのメモリアドレス空間の内で前記不揮発性メモリが割り当てられるメモリアドレス範囲をキャッシュイネーブルに設定することが好ましい。このように不揮発性メモリの内容をキャッシュ対象とすることにより、第1のモードにおいても十分なシステム性能を確保することが可能となる。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係わる情報処理システムの構成が示されている。この情報処理システムは例えばバッテリ駆動可能なノートブックタイプのパーソナルコンピュータであり、このコンピュータ本体には、図示のように、プロセッサバス1、PCIバス2、ISAバス3、CPU11、ホストブリッジ12、主メモリ13、表示コントローラ14、PCI−ISAブリッジ15、I/Oコントローラ16、ハードディスクドライブ(HDD)17、フラッシュBIOS−ROM18などが設けられている。
【0011】
CPU11は本PC全体の動作を制御するためのものであり、主メモリ13にロードされるオペレーティングシステム(OS)、各種アプリケーションプログラム、及びBIOS更新ユーティリティなどを実行する。主メモリ13はDRAMから構成されている。BIOS更新ユーティリティはフラッシュBIOS−ROM18を書き換えるためのソフトウェアである。このBIOS更新ユーティリティはOSの動作環境下で動作するように構成された一種のアプリケーションプログラムであり、BIOS更新は、OSの動作環境下で実行することができる。
【0012】
CPU11としては、システム管理割り込みSMI(SMI;System Management Interrupt)をサポートするものが利用される。即ち、CPU11はオペレーティングシステムやアプリケーション等を実行するための通常動作モードに加え、システム管理モード(SMM;System Management Mode)と称されるシステム管理機能を実現するための動作モードを有している。
【0013】
システム管理割込み(SMI;System Management Interrupt)がCPU11に発行された時、CPU11の動作モードは、通常動作モード(リアルモード、プロテクトモード、または仮想86モード)から、SMMにスイッチされる。SMMでは、システム管理プログラムが実行される。システム管理プログラム、システムBIOSの一つ(SM−BIOS)としてフラッシュBIOS−ROM18に予め記憶されているものである。
【0014】
本実施形態においては、フラッシュBIOS−ROM18のプログラム実行モードとして、フラッシュBIOS−ROM18に予め格納されているシステムBIOSをフラッシュBIOS−ROM18から、必要に応じて読み込みながら実行する“ROM動作”モードと、システムBIOSを主メモリ13上の特定領域にコピーし、その主メモリ13上の特定領域から読み込みながら実行する“RAM動作”モードとが用意されている。“ROM動作”と“RAM動作”はOS動作中にその時のシステム動作環境に応じて動的に切り替えることが出来る。
【0015】
ホストブリッジ12は、CPUバス1とPCIバス2を双方向で接続するブリッジ装置であり、ここには主メモリ13をアクセス制御するためのメモリコントロール機能も内蔵されている。表示コントローラ14は本PCのディスプレイモニタとして使用されるLCDや外部CRTを制御する。
【0016】
PCI−ISAブリッジ15は、PCIバス2とISAバス3とをつなぐブリッジであり、PCIバス2のバスマスタとして動作することができる。このPCI−ISAブリッジ15には、フラッシュBIOS−ROM18の書き換えに必要な動作を実行するための回路の他、および前述のSMIを発生するためのSMI発生回路151も含まれている。SMI発生回路151は、PCI−ISAブリッジ15内の特定のレジスタがソフトウェアによってアクセスされたときなどSMI信号を発生する。BIOS更新ユーティリティによってBIOS更新を開始する際には、その旨がSMI信号によってBIOS更新ユーティリティからシステムBIOSに通知される。
【0017】
I/Oコントローラ16は、2次記憶として用いられるHDD17などのIDEデバイスを制御するためのバスマスタIDEコントローラを内蔵している。バスマスタIDEコントローラは、HDD17と主メモリ13との間のデータ転送のためにバスマスタとして動作することができる。また、I/Oコントローラ16は、DVDドライブやCD−ROMドライブを制御することもできる。
【0018】
フラッシュBIOS−ROM18は、前述したようにシステムBIOSを記憶するためのものであり、ソフトウェアによるBIOS更新を可能とするために電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ(フラッシュEEPROM)によって実現されている。システムBIOSは、PCのパワーオン時や再起動時に実行されるPOST(PowerON Self Test)ルーチン、各種I/Oデバイスを制御するためのBIOSドライバ群、システム環境を設定するためのBIOSセットアップルーチンなどを体系化したものであり、コンピュータ内のハードウェアを直接制御するために用いられる。
【0019】
また、このフラッシュBIOS−ROM18には、SM−BIOSおよびSMIハンドラも含まれている。SMIハンドラはSMI発生時にCPU11によって実行される割り込みハンドラであり、SMI発生要因に対応したSM−BIOSを起動するため等に用いられる。
【0020】
次に、図2を参照して、本実施形態における“ROM動作”と“RAM動作”について説明する。
使用するCPUやチップセットの仕様・制限により、システムBIOS(特にSM−BIOS)を実行させる方法にはいくつかの選択肢がある。以下はその一部である。
【0021】
I: フラッシュBIOS−ROM18上でキャッシュオンで動作する。
II: 主メモリ13上でSMIに連動して開閉する領域をキャッシュオフで使用する。
III: 主メモリ13上で常時開いている領域をキャッシュオンで使用する。
【0022】
性能が高いのは、III、I、IIの順となる(IIIとIはユーザの体感速度としては違和感が無いが、IIは問題となり得る)。信頼性が高いのは、IまたはII(両者は同等)、IIIの順となる(IIIは一般のOSやソフトウェアから隠されていないので、不用心または悪意のあるものに容易に破壊されうる)。特定機能(OS動作中のBIOS−ROM18の書き換えなど、ROMでの動作があると機能を実現できないもの)を実現できるのは、IIとIII。実現できないのはIである。
【0023】
よって、本実施形態では通常動作中(ユーザがOS上で任意のソフトウェアを実行できる状態)は性能と信頼性共に優れたIを使う。特定機能が動作するトリガを受けた時点で、BIOS−ROM18上のプログラムをIIIの領域にコピーし、その特定機能が終了するまではIII上で動作する。以下では、Iを“ROM動作”モード、IIIを“RAM動作”モードと称することにする。
【0024】
“ROM動作”モードにおいては、図2に示されているように、BIOS−ROM18はCPU11のメモリアドレス空間内の一部のメモリアドレス範囲に割り当てられ、システムBIOSはBIOS−ROM18から読み込まれながら実行される。この場合、BIOS−ROM18が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。すなわち、CPU11は、当該CPU11がアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有しており、“ROM動作”モードでは、BIOS−ROM18が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。
【0025】
このように、本実施形態では、“ROM動作”モードをキャッシュONで実行する構成であり、これにより“ROM動作”モードにおいては一定のシステム性能を得ることが出来る。CPU11のどのメモリアドレス範囲をキャッシュイネーブルに設定するかは、CPU11内のレジスタを用いて制御することが出来る。
【0026】
“RAM動作”モードにおいては、BIOS−ROM18の内容は主メモリ13上の特定領域にコピーされ、システムBIOSはその特定領域から読み込まれながら実行される。特定領域に対応するメモリアドレス範囲はキャッシュイネーブルに設定される。
【0027】
次に、図3を参照して、“ROM動作”と“RAM動作”の切り替えについて説明する。
【0028】
前述したように、通常動作中においてはシステムBIOSは“ROM動作”モードで実行される。そして、“ROM動作”から“RAM動作”への切換を示すイベントが発生すると、それに応答して、BIOS−ROM18の内容が主メモリ13上の特定領域にコピーされ、“ROM動作”から“RAM動作”に切り替えられる。“ROM動作”から“RAM動作”への切換イベントの発生は、SMIによってシステムBIOSに通知される。
【0029】
なお、通常動作中においても、BIOS−ROM18内の全てのシステムBIOSをROMから実行する必要はなく、一部のシステムBIOSについては主メモリ13上で実行することが出来る。以下では、通常動作中においてSM−BIOSのみを“ROM動作”モードで実行し、“ROM動作”から“RAM動作”への切換を示すイベントが発生した時に、SM−BIOSを主メモリ13上にコピーして、SM−BIOSの実行モードを“ROM動作”モードから“RAM動作”モードに切り替える場合を想定することとする。
【0030】
次に、図4のフローチャートを参照して、システムBIOSによって実行される処理の流れについて説明する。
【0031】
本コンピュータの電源投入時には、まず、システムBIOSによってPOST処理が実行され、各種ハードウェアの初期化およびテストが行われる(ステップS101)。このPOST処理においては、さらに、システムBIOSは、SMIハンドラおよびBIOSドライバ群をそれぞれ主メモリ13上にコピーする(SM−BIOSはコピーせず、“ROM動作”モードで実行する)。この場合、システムBIOSは、BIOS−ROM18の少なくともSM−BIOSに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。またシステムBIOSは、SMIハンドラおよびBIOSドライバ群それぞれに対応する主メモリ13上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【0032】
この後、OSを起動するためのOSブート処理が実行される(ステップS102)。OS起動後の通常動作中においては、SM−BIOSは“ROM動作”モードで実行される。すなわち、SMIが発生されると、CPU11によって割り込み処理が実行され、その割り込み処理の中でSM−BIOSが“ROM動作”モードで実行される。この場合、割り込み処理では最初にSMIハンドラが実行され、そのSMIハンドラによって割り込み要因が調べられる。そしてその割り込み要因によって要求されたシステム管理サービスに対応するBIOS−ROM18内のSM−BIOSがSMIハンドラによってコールされ、SM−BIOSがBIOS−ROM18から読み込まれて実行される。
【0033】
一方、割り込み要因がROM/RAM切換イベントであった場合には(ステップS103のYES)、SMIハンドラは、SM−BIOSをBIOS−ROM18から主メモリ13上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する。以降は、SMIハンドラは、システム管理サービスが要求されると、それに対応する主メモリ13上のSM−BIOSをコールする。
【0034】
すなわち、図5のフローチャートに示すように、SM−BIOSはシステム管理サービスが要求される度にSM−BIOSが“ROM動作”モードであるか、主メモリ13にコピーした後の“RAM動作”であるかを判別し(ステップS111)、“ROM動作”モードにおいてはBIOS−ROM18から、また“RAM動作”においては主メモリ13上から該当するSM−BIOSが読み込まれるように、“ROM動作”モードであるか、“RAM動作”モードであるかに応じて、SM−BIOSを読み込むためのメモリアドレスを切り替える(ステップS112,S113)。
【0035】
次に、図6を参照して、BIOS更新を行う場合の一連の処理の流れを説明する。
【0036】
前述したように、通常動作中においてはシステムBIOS(SM−BIOS)は“ROM動作”モードで実行される。そして、ユーザがOS動作中にBIOS更新ユーティリティを起動すると、BIOS更新ユーティリティはPCI−ISAブリッジ15内のレジスタを通じて、システムBIOSに対してBIOS更新の開始を通知する。この場合、BIOS更新ユーティリティによるレジスタアクセスに応答して、CPU11にはSMIが入力される。これにより、SMIハンドラが実行される。
【0037】
SMIハンドラはSMI発生要因がBIOS更新開始通知のイベントであることを検知すると、SM−BIOSをBIOS−ROM18から主メモリ13にコピーしてSM−BIOSの実行モードを“RAM動作”モードに切り替えた後、BIOS更新ユーティリティからのBIOS更新開始通知で指示された場所から新BIOSイメージを読み込み、それをBIOS−ROM18に書き込むというBIOS更新処理を開始する。BIOS更新処理が終了すると、システムBIOSからBIOS更新ユーティリティに対して終了通知が送られる。
【0038】
BIOS更新ユーティリティはOSに対してシャットダウン要求またはシャッタダウンおよびリブート要求を発行し、OSにシャットダウン処理またはシャッタダウンおよびリブート処理を実行させる。SM−BIOSの実行モードが“RAM動作”モードに切り替えられてからOSがシャットダウンする間での間に、例えば拡張ユニットとコンピュータ本体とのドッキングなどのイベントが発生した場合などのように、SMIによってシステム管理サービスが要求された場合には、SM−BIOSは主メモリ13から読み込まれて実行されることになる。
【0039】
次に、図7のフローチャートを参照して、BIOS更新時にシステムBIOSによって実行される処理の流れについて説明する。
【0040】
上述したように、本コンピュータの電源投入時には、まず、システムBIOSによってPOST処理が実行され、各種ハードウェアの初期化およびテストが行われる(ステップS201)。このPOST処理においては、さらに、システムBIOSは、SMIハンドラおよびBIOSドライバ群をそれぞれ主メモリ13上にコピーする(SM−BIOSはコピーせず、“ROM動作”モードで実行する)。この場合、システムBIOSは、BIOS−ROM18の少なくともSM−BIOSに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。
またシステムBIOSは、SMIハンドラおよびBIOSドライバ群それぞれに対応する主メモリ13上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【0041】
この後、OSを起動するためのOSブート処理が実行される(ステップS202)。OS起動後の通常動作中においては、SM−BIOSは“ROM動作”モードで実行される。通常動作中に、BIOS更新開始イベントによるSMIが発生すると(ステップS203のYES)、SMIハンドラは、SM−BIOSをBIOS−ROM18から主メモリ13上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する(ステップS204)。以降は、SMIハンドラは、システム管理サービスが要求されると、それに対応する主メモリ13上のSM−BIOSをコールする。
【0042】
次いで、SMIハンドラは、BIOS更新ユーティリティからのBIOS更新開始通知で指示された場所から新BIOSイメージを読み込み、それをBIOS−ROM18に書き込むというBIOS更新処理を開始する(ステップS205)。BIOS更新処理が終了すると、SMIハンドラは、BIOS更新ユーティリティに対して終了通知を送る(ステップS206)。
【0043】
以上のように、本実施形態においては、通常動作中においては性能と信頼性共に優れたキャッシュONの“ROM動作”モードを使用し、特定機能が動作するトリガを受けた時点で、システムBIOSをBIOS−ROM18から主メモリ13上にコピーして“RAM動作”モードに切り替えるという処理が実行される。これにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【0044】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0045】
【発明の効果】
以上説明したように、本発明によれば、システムプログラムの実行モードをシステム動作環境に応じて動的に切り替えることにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態のシステムにおける“ROM動作”と“RAM動作”を説明するための図。
【図3】同実施形態のシステムにおける“ROM動作”と“RAM動作”の切り替えを説明するための図。
【図4】同実施形態のシステムで用いられるシステムBIOSによって実行される処理の流れを示すフローチャート。
【図5】同実施形態のシステムで使用されるSM−BIOSの処理手順を示すフローチャート。
【図6】同実施形態のシステムにおいてBIOS更新を行う場合の一連の処理の流れを説明するための図。
【図7】同実施形態のシステムにおいてBIOS更新時にシステムBIOSによって実行される処理の流れを示すフローチャート。
【符号の説明】
11…CPU
12…ホストブリッジ
13…主メモリ
15…PCI−ISAブリッジ
16…I/Oコントローラ
18…フラッシュBIOS−ROM
151…SMI発生回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing system such as a personal computer and a program execution mode control method.
[0002]
[Prior art]
In recent years, so-called “high-speed ROM” functions are used in information processing systems such as personal computers in order to improve system performance. The “high-speed ROM” function is a function for reading the contents of a low-speed ROM device from a RAM device that can be accessed at high speed.
[0003]
Specifically, when the system is powered on, the system BIOS (Basic Input Output System) is copied from the ROM in which it is stored onto the RAM constituting the main memory, and then the system BIOS on the RAM is executed. That's it. This function is based on the assumption that reading from RAM is faster than reading from ROM, and that there is no difference in system reliability and stability using either ROM or RAM. It is.
[0004]
[Problems to be solved by the invention]
However, there are cases where the system area on the RAM where the system BIOS is copied cannot be completely protected due to the function restriction of the chip set to be used. In this case, there is no problem when all other software is terminated and only the dedicated system utility program is executed, for example, when the system environment is changed. During operation, there is a possibility that malicious software or software with improper behavior may operate, and there is a risk that the system area on the RAM is destroyed by the software.
[0005]
On the other hand, the method of always reading the system BIOS from the ROM causes a problem that the system performance is deteriorated and the ROM rewriting operation for updating the BIOS cannot be executed during the operation of the operating system.
[0006]
The present invention has been made in view of the above circumstances, and provides an information processing system and a program execution mode control method capable of ensuring a good balance between system performance and system reliability and stability. Objective.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, an information processing system according to the present invention includes a CPU, a non-volatile memory in which a system BIOS including a BIOS driver group and a system management program is stored, and an operating system temporarily stored during operation of the operating system. a main memory that is, at power up means for copying from the nonvolatile memory the BIOS drivers in the main memory, to perform a rewrite operation of the non-volatile memory during operation of the operating system, the BIOS the system management program from the first mode to be executed is read from the nonvolatile memory when the system management interrupt signal is inputted to the CPU and executes the drivers on the main memory, the system management to the main memory Copy the program And a switching means for switching to a second mode for reading and executing the system management program from the main memory when a system management interrupt signal is input to the CPU .
[0008]
In this information processing system, first and second modes are prepared as execution modes for executing the system BIOS . In the first mode BIOS drivers runs in the main memory, the system management program the runs while reading from the nonvolatile memory, also in the second mode is copied system management program on the main memory, the system management program Is executed while reading from the copy area on the main memory. Switching from the first mode to the second mode is performed when the nonvolatile memory is rewritten during the operation of the operating system. By preparing a mechanism for switching the execution mode of the system BIOS during the operation of the operating system in this way, the execution mode of the system BIOS can be dynamically switched according to the system operating environment. It is possible to ensure a good balance between stability and stability.
[0009]
Further, in particular, as the CPU, a memory having a cache memory that performs a cache operation on a code or data within a memory address range set to cache enable in a memory address space accessible by the CPU is used. A memory to which the non-volatile memory is allocated within the memory address space of the CPU when the first execution mode is used so that the contents of the non-volatile memory are cached in the cache memory in the first mode It is preferable to set the address range to cache enable. Thus, by setting the contents of the nonvolatile memory as a cache target, it is possible to ensure sufficient system performance even in the first mode.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows the configuration of an information processing system according to an embodiment of the present invention. This information processing system is, for example, a notebook-type personal computer that can be driven by a battery. The computer main body includes a
[0011]
The
[0012]
As the
[0013]
When a system management interrupt (SMI) is issued to the
[0014]
In the present embodiment, as a program execution mode of the flash BIOS-
[0015]
The
[0016]
The PCI-
[0017]
The I /
[0018]
The flash BIOS-
[0019]
The flash BIOS-
[0020]
Next, the “ROM operation” and “RAM operation” in the present embodiment will be described with reference to FIG.
There are several options for the method of executing the system BIOS (especially SM-BIOS) depending on the specifications and restrictions of the CPU and chipset to be used. The following are some of them.
[0021]
I: Operates with the cache on on the flash BIOS-
II: The area that opens and closes in synchronization with the SMI on the
III: The area that is always open on the
[0022]
The performance is higher in the order of III, I, and II (III and I have no sense of incongruity as the user's experience speed, but II can be a problem). Reliability is high in the order of I or II (both are equivalent) and III (III is not hidden from general OS and software, and can be easily destroyed by carelessness or malicious). II and III can realize specific functions (functions that cannot be realized if there is an operation in ROM, such as rewriting BIOS-
[0023]
Therefore, in this embodiment, I is used for both performance and reliability during normal operation (when the user can execute arbitrary software on the OS). When the trigger for operating the specific function is received, the program on the BIOS-
[0024]
In the “ROM operation” mode, as shown in FIG. 2, the BIOS-
[0025]
As described above, the present embodiment is configured to execute the “ROM operation” mode with the cache ON, and in this way, a certain system performance can be obtained in the “ROM operation” mode. Which memory address range of the
[0026]
In the “RAM operation” mode, the contents of the BIOS-
[0027]
Next, switching between “ROM operation” and “RAM operation” will be described with reference to FIG.
[0028]
As described above, the system BIOS is executed in the “ROM operation” mode during the normal operation. When an event indicating switching from “ROM operation” to “RAM operation” occurs, the content of the BIOS-
[0029]
Even during normal operation, it is not necessary to execute all the system BIOS in the BIOS-
[0030]
Next, the flow of processing executed by the system BIOS will be described with reference to the flowchart of FIG.
[0031]
When the computer is turned on, first, a POST process is executed by the system BIOS, and various hardware are initialized and tested (step S101). In the POST process, the system BIOS further copies the SMI handler and the BIOS driver group to the main memory 13 (SM-BIOS is not copied and is executed in the “ROM operation” mode). In this case, the system BIOS sets the memory address range corresponding to at least the SM-BIOS in the BIOS-
[0032]
Thereafter, an OS boot process for starting the OS is executed (step S102). During normal operation after OS startup, the SM-BIOS is executed in the “ROM operation” mode. That is, when the SMI is generated, the
[0033]
On the other hand, when the interrupt factor is a ROM / RAM switching event (YES in step S103), the SMI handler copies the SM-BIOS from the BIOS-
[0034]
That is, as shown in the flowchart of FIG. 5, the SM-BIOS is in the “ROM operation” mode every time a system management service is requested, or in “RAM operation” after copying to the
[0035]
Next, with reference to FIG. 6, a flow of a series of processes when performing BIOS update will be described.
[0036]
As described above, during normal operation, the system BIOS (SM-BIOS) is executed in the “ROM operation” mode. When the user activates the BIOS update utility during the OS operation, the BIOS update utility notifies the system BIOS of the start of BIOS update through a register in the PCI-
[0037]
When the SMI handler detects that the SMI occurrence factor is a BIOS update start notification event, the SM-BIOS is copied from the BIOS-
[0038]
The BIOS update utility issues a shutdown request or shutter down and reboot request to the OS, and causes the OS to execute shutdown processing or shutter down and reboot processing. By the SMI, for example, when an event such as docking between the expansion unit and the computer main body occurs between the time when the execution mode of the SM-BIOS is switched to the “RAM operation” mode and the OS is shut down. When the system management service is requested, the SM-BIOS is read from the
[0039]
Next, the flow of processing executed by the system BIOS when updating the BIOS will be described with reference to the flowchart of FIG.
[0040]
As described above, when the computer is turned on, first, the POST process is executed by the system BIOS, and various types of hardware are initialized and tested (step S201). In the POST process, the system BIOS further copies the SMI handler and the BIOS driver group to the main memory 13 (SM-BIOS is not copied and is executed in the “ROM operation” mode). In this case, the system BIOS sets the memory address range corresponding to at least the SM-BIOS in the BIOS-
The system BIOS also sets the memory address range on the
[0041]
Thereafter, an OS boot process for starting the OS is executed (step S202). During normal operation after OS startup, the SM-BIOS is executed in the “ROM operation” mode. If an SMI due to a BIOS update start event occurs during normal operation (YES in step S203), the SMI handler copies the SM-BIOS from the BIOS-
[0042]
Next, the SMI handler starts a BIOS update process of reading a new BIOS image from a location instructed by the BIOS update start notification from the BIOS update utility and writing it into the BIOS-ROM 18 (step S205). When the BIOS update process ends, the SMI handler sends an end notification to the BIOS update utility (step S206).
[0043]
As described above, in the present embodiment, during normal operation, the cache-on “ROM operation” mode, which is excellent in performance and reliability, is used, and when a trigger for operating a specific function is received, the system BIOS is A process of copying from the BIOS-
[0044]
Further, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be obtained as an invention.
[0045]
【The invention's effect】
As described above, according to the present invention, it is possible to ensure a good balance between system performance and system reliability and stability by dynamically switching the execution mode of the system program according to the system operating environment. It becomes.
[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 a view for explaining “ROM operation” and “RAM operation” in the system according to the embodiment;
FIG. 3 is a view for explaining switching between “ROM operation” and “RAM operation” in the system of the embodiment;
FIG. 4 is an exemplary flowchart showing a flow of processing executed by a system BIOS used in the system according to the embodiment;
FIG. 5 is an exemplary flowchart illustrating a processing procedure of SM-BIOS used in the system according to the embodiment;
FIG. 6 is an exemplary view for explaining a flow of a series of processes when BIOS update is performed in the system according to the embodiment;
FIG. 7 is an exemplary flowchart showing the flow of processing executed by the system BIOS when updating the BIOS in the system according to the embodiment;
[Explanation of symbols]
11 ... CPU
12 ...
151. SMI generation circuit
Claims (5)
BIOSドライバ群とシステム管理プログラムとを含むシステムBIOSが記憶された不揮発性メモリと、
オペレーティングシステムの動作時にオペレーティングシステムが一時記憶される主メモリと、
電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーする手段と、
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする情報処理システム。 CPU,
A nonvolatile memory storing a system BIOS including a BIOS driver group and a system management program ;
Main memory in which the operating system is temporarily stored during operation of the operating system;
Means for copying the BIOS driver group from the non-volatile memory to the main memory at power-on;
When executing the rewriting operation of the nonvolatile memory during the operation of the operating system , the system management program is executed when the BIOS driver group is executed on the main memory and a system management interrupt signal is input to the CPU. The system management program is copied to the main memory from the first mode that is read from the nonvolatile memory and executed, and the system management program is read from the main memory when a system management interrupt signal is input to the CPU. the information processing system characterized by comprising a switching means for performing switching to a second mode for executing.
前記第1のモードにおいて前記CPUのメモリアドレス空間の内で前記不揮発性メモリの前記システム管理プログラムに対応するメモリアドレス範囲をキャッシュイネーブルに設定する手段をさらに具備することを特徴とする請求項1記載の情報処理システム。 The CPU includes a cache memory that performs a cache operation on a code or data within a memory address range set to cache enable in a memory address space accessible by the CPU,
2. The apparatus according to claim 1, further comprising means for setting a memory address range corresponding to the system management program in the nonvolatile memory in a cache enable in the memory address space of the CPU in the first mode. Information processing system.
前記システム管理割り込み信号が前記CPUに入力されたときに前記CPUによって起動され、前記システム管理プログラムの現在の実行モードが前記第1および第2のどちらのモードであるかを判別し、その判別結果に基づいて前記システム管理プログラムを読み込むためのメモリアドレスを切り替える手段を含むことを特徴とする請求項1記載の情報処理システム。The switching means is
When the system management interrupt signal is input to the CPU, it is activated by the CPU to determine whether the current execution mode of the system management program is the first mode or the second mode, and the determination result 2. The information processing system according to claim 1, further comprising means for switching a memory address for reading the system management program based on the information.
電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーし、When the power is turned on, the BIOS driver group is copied from the nonvolatile memory to the main memory,
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行することを特徴とするプログラム実行モード制御方法。When executing the rewriting operation of the non-volatile memory during the operation of the operating system, the system management program is executed when the BIOS driver group is executed on the main memory and a system management interrupt signal is input to the CPU. The system management program is copied to the main memory from the first mode that is read from the nonvolatile memory and executed, and when the system management interrupt signal is input to the CPU, the system management program is read from the main memory. A program execution mode control method characterized by executing switching to a second mode to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002044951A JP3702233B2 (en) | 2002-02-21 | 2002-02-21 | Information processing system and program execution mode control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002044951A JP3702233B2 (en) | 2002-02-21 | 2002-02-21 | Information processing system and program execution mode control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003242026A JP2003242026A (en) | 2003-08-29 |
JP3702233B2 true JP3702233B2 (en) | 2005-10-05 |
Family
ID=27784121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002044951A Expired - Lifetime JP3702233B2 (en) | 2002-02-21 | 2002-02-21 | Information processing system and program execution mode control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3702233B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5061438B2 (en) * | 2005-08-29 | 2012-10-31 | 富士通株式会社 | Information processing apparatus, activation method, and activation program |
JP2010079778A (en) * | 2008-09-29 | 2010-04-08 | Nec Personal Products Co Ltd | Information processor, and method for displaying bios setting screen |
US8428929B2 (en) * | 2010-09-30 | 2013-04-23 | Intel Corporation | Demand based USB proxy for data stores in service processor complex |
JP7067270B2 (en) | 2018-05-25 | 2022-05-16 | 富士通株式会社 | Information processing device, load program and load method |
-
2002
- 2002-02-21 JP JP2002044951A patent/JP3702233B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003242026A (en) | 2003-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI407300B (en) | Method and controller for power management | |
JP5021190B2 (en) | Memory dump generation with fast restart | |
US6073206A (en) | Method for flashing ESCD and variables into a ROM | |
KR101602360B1 (en) | System fast booting apparatus and method | |
JP5783809B2 (en) | Information processing apparatus, activation method, and program | |
US20060242398A1 (en) | Booting from non-volatile memory | |
US20040015941A1 (en) | Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus | |
US8694794B2 (en) | Method for protecting a privilege level of system management mode of a computer system | |
JPH1091519A (en) | Hard disk cache control method | |
KR20040034540A (en) | Reliable and secure updating and recovery of firmware from a mass storage device | |
KR20010006749A (en) | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use | |
JP2006510995A (en) | A method of changing the basic computer software to boot from a protected medium and run. | |
TW201239759A (en) | BIOS update method and computer system for using the same | |
TW201525869A (en) | System and method for dual OS memory switching | |
JP2013520744A (en) | Method and apparatus for generating minimum boot image | |
JP2008276555A (en) | Information processor and firmware update method | |
JP4155545B2 (en) | Computer system and data transfer control method | |
US6543008B1 (en) | Computer system and program rewriting method | |
JP3702233B2 (en) | Information processing system and program execution mode control method | |
KR20080057688A (en) | Method for booting operating system using of non volatile memory | |
CN110825421B (en) | Firmware upgrading method, system and readable storage medium | |
KR101582919B1 (en) | Electronic apparatus and booting method of the same | |
JP2000357093A (en) | Computer system and reloading method for non-volatile memory | |
US20040068632A1 (en) | Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area | |
WO2008048581A1 (en) | A processing device operation initialization system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050715 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3702233 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: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100722 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130722 Year of fee payment: 8 |
|
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 |
|
EXPY | Cancellation because of completion of term |