(57)【特許請求の範囲】
【請求項１】
不揮発性メモリおよびメインメモリを備えた情報処理装置において新しいビデオＢＩＯＳを動作させる方法であって、
前記情報処理装置を起動して前記不揮発性メモリに記録された第１ビデオＢＩＯＳを、前記メインメモリにロードするステップと、
オペレーティング・システムが前記メインメモリに、前記情報処理装置において使用可能な第２ビデオＢＩＯＳのイメージを含んだディスプレイ・ドライバをロードする機能を前記情報処理装置に実現させるステップと、
前記ディスプレイ・ドライバが前記第１ビデオＢＩＯＳのバージョンと前記第２ビデオＢＩＯＳのバージョンを比較する機能を前記情報処理装置に実現させるステップと、
前記第２ビデオＢＩＯＳのバージョンが前記第１ビデオＢＩＯＳのバージョンよりも新しいことに応答して、前記情報処理装置に搭載されているビデオ・チップをソフトウェア・リセットして前記第２ビデオＢＩＯＳが前記ビデオ・チップを認識するように、システムＢＩＯＳが前記第２ビデオＢＩＯＳを初期化する機能を前記情報処理装置に実現させるステップと、
を含む方法。
【請求項２】
前記第２ビデオＢＩＯＳを初期化する機能を前記情報処理装置に実現させるステップは、前記システムＢＩＯＳが前記第２ビデオＢＩＯＳを前記メインメモリにロードされた前記第１ビデオＢＩＯＳの先頭アドレスから始まる第１の記録領域に記憶する機能を前記情報処理装置に実現させるステップを含む請求項１に記載の方法。
【請求項３】
前記第１の記録領域に記憶する機能を前記情報処理装置に実現させるステップは、前記第１ビデオＢＩＯＳが提供するサービスのエントリーポイントと前記第２ビデオＢＩＯＳが提供する前記サービスのエントリーポイントが一致するように前記第２ビデオＢＩＯＳを記憶するステップを含む請求項２に記載の方法。
【請求項４】
前記第２ビデオＢＩＯＳのイメージのサイズが所定のサイズ以上であるか否かを判断するステップを含む請求項２に記載の方法。
方法。
【請求項５】
前記第２ビデオＢＩＯＳを初期化する機能を前記情報処理装置に実現させるステップが、
前記第１の記録領域に連続する第２の記録領域に記憶されたデータを他の記録領域に記憶するステップと、
前記第２ビデオＢＩＯＳのイメージのサイズが前記所定のサイズより大きい場合に前記第２ビデオＢＩＯＳを前記第１の記憶領域から前記第２の記録領域に渡って記憶するステップと
を含む請求項４に記載の方法。
【請求項６】
前記第２の記録領域に前記第２ビデオＢＩＯＳの一部が記憶されたか否かを判断するステップと、
前記第２ビデオＢＩＯＳの一部が前記第２の記録領域に記憶されていないことに応答して、前記他の記録領域に記憶したデータを前記第２の記録領域に戻すステップと
を含む請求項５に記載の方法。
【請求項７】
前記システムＢＩＯＳは前記第１ビデオＢＩＯＳがサービスを提供していないことに応答して前記第２ビデオＢＩＯＳを初期化する機能を前記情報処理装置に実現させる請求項１に記載の方法。
【請求項８】
前記第２ビデオＢＩＯＳを初期化する機能を前記情報処理装置に実現させるステップを、前記システムＢＩＯＳが提供するＳＭＩ（System Management Interrupt）を利用して実現させる請求項１に記載の方法。
【請求項９】
前記オペレーティング・システムが、前記ディスプレイ・ドライバを初期化する機能を前記情報処理装置に実現させるステップを含む請求項１に記載の方法。
【請求項１０】
ディスプレイを備えたコンピュータであって、
プロセッサと、
第１ビデオＢＩＯＳを格納する不揮発性メモリと、
前記コンピュータにおいて使用可能な第２ビデオＢＩＯＳのイメージを含み、前記ディスプレイの動作を制御するディスプレイ・ドライバを格納した記録部と、
前記プロセッサが実行するプログラムを記憶するメインメモリと、
前記コンピュータの起動に応じて前記第１ビデオＢＩＯＳを前記メインメモリにロードする手段と、
前記メインメモリに前記ディスプレイ・ドライバをロードする手段と、
前記第１ビデオＢＩＯＳのバージョンと前記第２ビデオＢＩＯＳのバージョンを比較する手段と、
前記第２ビデオＢＩＯＳのバージョンが前記第１ビデオＢＩＯＳのバージョンよりも新しいことに応答して、前記情報処理装置に搭載されているビデオ・チップをソフトウェア・リセットして前記第２ビデオＢＩＯＳが前記ビデオ・チップを認識するように、前記第２ビデオＢＩＯＳを初期化する手段と
を含むコンピュータ。
【請求項１１】
前記初期化する手段は、前記第２ビデオＢＩＯＳを前記メインメモリにロードされた前記第１ビデオＢＩＯＳの先頭アドレスから始まる記録領域に記憶する請求項１０に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、新しいビデオＢＩＯＳを動作させる方法、及びそれを実現するコンピュータに関する。
【背景技術】
【０００２】
従来より、コンピュータ等の情報処理装置に使用されるビデオＢＩＯＳ（Basic Input/Output System）が、特に、ＤＯＳ（Disk Operating System）の環境下で、これらの画面表示を制御するモジュールとして知られている。最近では、コンピュータの制御が、ＧＵＩ（Graphic User Interface）環境に移行するにあたって、ディスプレイ・ドライバとビデオＢＩＯＳが密接に関わるようになってきた。
【０００３】
すなわち、ビデオＢＩＯＳは、ＧＵＩを提供するＯＳ(Operating System例えば、Windows(登録商標)等)の環境下で、画面表示の制御を行うディスプレイ・ドライバと密接に関連している。したがって、ディスプレイ・ドライバの更新をするときに、同時にビデオＢＩＯＳの更新も必要になることが多い。
【０００４】
一方、ビデオＢＩＯＳを更新する方法としては、この情報処理装置の不揮発性メモリに記録されたシステムＢＩＯＳ全体を更新することで、ビデオＢＩＯＳの更新をする方法が知られている（例えば、特許文献１）。
【特許文献１】特開２００３−０１８０１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、ビデオＢＩＯＳを更新するために、システムＢＩＯＳ全体を更新する必要が生じてしまい、ビデオＢＩＯＳ単独でのモジュールの更新を行うことができない。さらに、ビデオＢＩＯＳは、ディスプレイ・ドライバと密接であるにも拘らず、両者のモジュールを更新する際に、一貫性がない。すなわち、上述のようにビデオＢＩＯＳは、システムＢＩＯＳに含まれているため、システムＢＩＯＳの更新とともに更新される一方で、ディスプレイ・ドライバはＯＳの起動後にアプリケーションにより更新するといったように、別々に作業が行われている。
【０００６】
このように、不揮発性メモリに記録されたシステムＢＩＯＳを書き換えることで、ディスプレイ・ドライバに適した最新のビデオＢＩＯＳを情報処理装置に動作させることには、限界が生じている。
【０００７】
本発明の目的は、情報処理装置に使用されるビデオＢＩＯＳに対して、ディスプレイ・ドライバのバージョンに適した最新のビデオＢＩＯＳを動作させる方法、これを実現するコンピュータを提供することである。
【課題を解決するための手段】
【０００８】
そこで、本発明の第１の実施形態によると、  不揮発性メモリおよびメインメモリを備えた情報処理装置において新しいビデオＢＩＯＳを動作させる方法であって、前記情報処理装置を起動して前記不揮発性メモリに記録された第１ビデオＢＩＯＳを、前記メインメモリにロードするステップと、オペレーティング・システムが前記メインメモリに、前記情報処理装置において使用可能な第２ビデオＢＩＯＳのイメージを含んだディスプレイ・ドライバをロードするステップと、前記ディスプレイ・ドライバが前記第１ビデオＢＩＯＳのバージョンと前記第２ビデオＢＩＯＳのバージョンを比較するステップと、前記第２ビデオＢＩＯＳのバージョンが、前記第１ビデオＢＩＯＳのバージョンよりも新しいことに応答して、システムＢＩＯＳが前記第２ビデオＢＩＯＳを初期化するステップとを含む方法を提供する。
【０００９】
本発明の第２の実施形態によると、ディスプレイを備えたコンピュータであって、
プロセッサと、第１ビデオＢＩＯＳを格納する不揮発性メモリと、前記コンピュータにおいて使用可能な第２ビデオＢＩＯＳのイメージを含み、前記ディスプレイの動作を制御するディスプレイ・ドライバを格納した記録部と、前記プロセッサが実行するプログラムを記憶するメインメモリと、前記コンピュータの起動に応じて前記第１ビデオＢＩＯＳを前記メインメモリにロードする手段と、前記メインメモリに前記ディスプレイ・ドライバをロードする手段と、前記第１ビデオＢＩＯＳのバージョンと前記第２ビデオＢＩＯＳのバージョンを比較する手段と、前記第２ビデオＢＩＯＳのバージョンが、前記第１ビデオＢＩＯＳのバージョンよりも新しいことに応答して前記第２ビデオＢＩＯＳを初期化する手段とを含むコンピュータを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【発明の効果】
【００１０】
本発明によれば、情報処理装置に使用されるビデオＢＩＯＳに対して、ディスプレイ・ドライバのバージョンに適した最新のビデオＢＩＯＳを動作させる方法、これを実現するコンピュータを提供することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
【００１２】
図１は、情報処理装置１の機能ブロック図である。情報処理装置１は、コンピュータ、携帯情報端末、携帯電話等の情報処理を行う装置であってよい。情報処理装置１は、モニタ等の表示部を備え、ディスプレイ・ドライバとビデオＢＩＯＳとにより、画面表示が制御される。情報処理装置１は、情報の制御が行われる制御部１００と、情報やデータ、ディスプレイ・ドライバ等のモジュールを記録する記録部４００と、ＲＯＭ（Read Only Memory）等の不揮発性メモリ２００と、ＲＡＭ（Read Access Memory）等のメインメモリ３００とを備える。
【００１３】
制御部１００は、情報処理装置１の情報、データを制御する中央処理演算装置であり、ＣＰＵ（Central Processing Unit）であってよい。制御部１００にて、プログラム、モジュール、データを読み出し、これを実行することで、ディスプレイ・ドライバ１５０、システムＢＩＯＳ１６０の機能を実現する。
【００１４】
ディスプレイ・ドライバ１５０は、ＯＳ（Operating System）とハードウェア間で、画面表示に関する動作を管理するプログラムである。ディスプレイ・ドライバ１５０は、上位のソフトウェア（ＯＳ、特に、ＯＳのカーネル等）に対して統一的に画像の出力を可能にするプログラムである。すなわち、ディスプレイ・ドライバ１５０は、ＯＳからのコマンドを受信して、このコマンドをハードウェアに対する命令に変換し、ハードウェアを制御するプログラムである。さらに、ディスプレイ・ドライバ１５０は、ハードウェアからのコマンドを受信して、このコマンドをＯＳが解読可能に変換するプログラムである。
【００１５】
ディスプレイ・ドライバ１５０は、ディスプレイ・ドライバ１５０の初期化を行う初期化処理機能１５１を備える。初期化処理機能１５１は、ビデオＢＩＯＳのバージョンを比較するバージョン比較機能１５２を備える。バージョン比較機能１５２は、情報処理装置１に対して、最新のビデオＢＩＯＳを使用可能にすることを、システムＢＩＯＳ１６０に依頼する。
【００１６】
システムＢＩＯＳ１６０は、情報処理装置１に接続されているデバイスを制御するプログラムである。すなわち、システムＢＩＯＳ１６０は、ＯＳやアプリケーションに対して、ハードウェアをアクセスするためのインターフェイスを提供するプログラムである。ここで、システムＢＩＯＳ１６０は、不揮発性メモリ２００に記録されており、制御部１００がシステムＢＩＯＳ１６０のプログラムを読み出すことで、システムＢＩＯＳ１６０の機能が実現される。システムＢＩＯＳ１６０は、ビデオＢＩＯＳを制御するビデオＢＩＯＳ制御機能１６５を備える。
【００１７】
不揮発性メモリ２００は、システムＢＩＯＳ１６０を記録するシステムＢＩＯＳ記録部２１０を備える。さらに、システムＢＩＯＳ記録部２１０は、ビデオＢＩＯＳを記録するビデオＢＩＯＳ記録部２２０を備える。不揮発性メモリ２００は、情報処理装置１のマザーボードに備えられていてよいし、拡張ボードに備えられていてもよい。
【００１８】
メインメモリ３００は、不揮発性メモリ２００のビデオＢＩＯＳ記録部２２０に記録されたビデオＢＩＯＳ（以下、第１ビデオＢＩＯＳ）が、マッピングされて記録されるビデオＢＩＯＳマッピング記録部３１０を備える。さらに、メインメモリ３００は、ディスプレイ・ドライバ１５０が記録されるディスプレイ・ドライバ記録部３２０を含む。さらに、メインメモリ３００は、新しいビデオＢＩＯＳ（以下、第２ビデオＢＩＯＳ）を記録するビデオＢＩＯＳイメージ記録部３２５を含む。
【００１９】
記録部４００は、情報、データ、プログラム、ディスプレイ・ドライバ１５０が記録される。記録部４００は、制御部１００により情報が読み出されるハードディスク等であってよい。
【００２０】
次に、情報処理装置１の動作フローについて、図２、図３を用いて説明する。ここで、図３は、図２、図４、図５のフローチャートを補充するイメージ図である。
【００２１】
ユーザが情報処理装置１の電源スイッチを操作することにより、情報処理装置１が起動する（ステップＳ０１）。すなわち、情報処理装置１の起動により、不揮発性メモリ２００に記録された第１ビデオＢＩＯＳが、メインメモリ３００にコピー（複製）される（ステップＳ０２）。すなわち、図３に示すように、不揮発性メモリ２００に記録された第１ビデオＢＩＯＳが、不揮発性メモリ２００内の記録したアドレスを保持したままマッピング（コピー）を行い、メインメモリ３００に記録する。ステップＳ０１及びＳ０２の処理は、システムＢＩＯＳが実行してもよい。次に、ＯＳのカーネルが、第２ビデオＢＩＯＳのイメージを含んだディスプレイ・ドライバ１５０を記録部４００からメインメモリ３００のディスプレイ・ドライバ記録部３１０に読み出す（ステップＳ０３）。
【００２２】
ディスプレイ・ドライバ１５０には、このディスプレイ・ドライバ１５０のバージョンに適した第２ビデオＢＩＯＳがイメージで含まれている。すなわち、ユーザが事前に、ディスプレイ・ドライバ１５０に、このディスプレイ・ドライバ１５０に対応したビデオＢＩＯＳであって、情報処理装置１にて使用される最新のビデオＢＩＯＳ（第２ビデオＢＩＯＳ）をイメージファイルとしてディスプレイ・ドライバ１５０に含ませておく。
【００２３】
ＯＳのカーネルに読み出されたディスプレイ・ドライバ１５０は、メインメモリ３００に記録される（ステップＳ０４）。そして、ＯＳのカーネルが、ディスプレイ・ドライバ１５０の初期化処理を行う（ステップＳ０５）。
【００２４】
ディスプレイ・ドライバ１５０の初期化処理について図４に基づいて説明する。ディスプレイ・ドライバ１５０の初期化処理は、通常行うディスプレイ・ドライバの初期化処理に加えて、ステップＳ１０からステップＳ１３までの処理を含む。ここで、図４のフローチャートでは、通常行うディスプレイ・ドライバ初期化処理が、ステップＳ１４で示されているが、ステップ１４は、ステップＳ１０からステップＳ１３までの前に処理されてもよいし、これらのステップと並行して処理されてもよい。
【００２５】
ディスプレイ・ドライバ１５０のバージョン比較機能１５２は、不揮発性メモリ２００に記録された第１ビデオＢＩＯＳとメインメモリ３００に記録された第２ビデオＢＩＯＳとのバージョンを比較する（ステップＳ１０）。バージョン比較機能１５２は、第２ビデオＢＩＯＳの方が新しいと判断した（ステップＳ１１）場合には、第２ビデオＢＩＯＳのイメージをメインメモリ３００内で展開する（ステップＳ１２）。すなわち、第２ビデオＢＩＯＳをメインメモリ３００から不揮発性メモリ２００へロードを行えるように、メインメモリ３００において第２ビデオＢＩＯＳのイメージを展開しておく。バージョン比較機能１５２は、第２ビデオＢＩＯＳの方が古いと判断した（ステップＳ１１）場合には、特に処理を行わず、通常のディスプレイ・ドライバ１５０の初期化処理を行う（ステップＳ１４）。
【００２６】
第２ビデオＢＩＯＳの方が新しいと判断した場合には、システムＢＩＯＳに第１ビデオＢＩＯＳの置換を依頼（ステップＳ１３）して、通常のディスプレイ・ドライバ１５０の初期化処理を行う（ステップＳ１４）。すなわち、システムＢＩＯＳのみが、情報処理装置１にて使用され、メインメモリ２００に記録された第１ビデオＢＩＯＳを置き換えることが可能であるため、ディスプレイ・ドライバ１５０は、システムＢＩＯＳに第１ビデオＢＩＯＳの置換を依頼する。そして、ディスプレイ・ドライバ１５０は通常の初期化処理を行う。
【００２７】
次に、図５に基づいて、システムＢＩＯＳが第１ビデオＢＩＯＳを置換する処理について説明する。この処理は、システムＢＩＯＳが提供するＳＭＩ（System Management Interrupt）の機能により実現されてもよい。
【００２８】
システムＢＩＯＳがビデオＢＩＯＳを置換する処理は、現在、使用されている第１ビデオＢＩＯＳがサービス（ＩＮＴ１０ｈ等）を提供している場合には、この処理を行わないように設定してもよい。
【００２９】
最初に、ビデオＢＩＯＳ制御機能１６５は、第１ビデオＢＩＯＳが記録されている固定された記録領域（第１の記録領域）の先頭アドレス（例えば、Ｃ０００：００００）を読出して、第２ビデオＢＩＯＳがここから記録されることを確認する（ステップＳ２０）。
【００３０】
次に、ビデオＢＩＯＳ制御機能１６５が、第２の記録領域内のデータの確保を行う（ステップＳ２１）。すなわち、上述の第１の記録領域と連続したアドレス（例えば、Ｄ０００：００００）（第２の記録領域）に、記録されているデータの有無を確認する。このデータが記録されている場合には、一時的に、このデータを一時的に他の記録領域に記録する。
【００３１】
ここで、第２の記録領域の確保（ステップＳ２１）が、第２ビデオＢＩＯＳのサイズを考慮して、このサイズが所定のサイズよりも大きい場合にのみ行われてもよい。例えば、第２ビデオＢＩＯＳのイメージのサイズが、６４Kbyteよりも大きい場合にのみ、第２の記録領域の確保が行われる態様であってもよい。
【００３２】
次に、ビデオＢＩＯＳ制御機能１６５が、第１ビデオＢＩＯＳを第２ビデオＢＩＯＳに置換するために、メインメモリ３００に記録された第２ビデオＢＩＯＳのイメージをロードする（ステップＳ２２）。ここで、イメージのロードとは、第２ビデオＢＩＯＳを、次に初期化されたときに、この第２ビデオＢＩＯＳが動作するように、所定のアドレスに記憶することである。
【００３３】
ここで、メインメモリ３００における、第１ビデオＢＩＯＳが常駐している領域は、ビデオＢＩＯＳのＩＮＴ１０ｈ等のサービスを提供しているエントリーポイントを含む。したがって、エントリーポイントが異なることなくロードが行われなくてはならない。そこで、エントリーポイントのオフセットアドレスをパラメータとして記録し、第１ビデオＢＩＯＳと第２ビデオＢＩＯＳで相異することなくロードが行われる。
【００３４】
次に、ビデオＢＩＯＳ制御機能１６５が、第２ビデオＢＩＯＳの初期化を実行する（ステップＳ２３）。第２ビデオＢＩＯＳの初期化とは、情報処理装置１に設置されたビデオチップに対してソフトウェア・リセットを行うことで、メインメモリ３００に記録された第２ビデオＢＩＯＳでビデオチップの認識を行うことである。
【００３５】
初期化が実行されると、情報処理装置１は第２ビデオＢＩＯＳで動作が始まる。そして、第２ビデオＢＩＯＳのイメージとして含まれていた初期化後に必要なくなった、余分なデータ等が削除されて、この情報処理装置１にてのみ使用すべきプログラムやデータ等のみで第２ビデオＢＩＯＳが構成される。これにより、第２ビデオＢＩＯＳ全体のサイズが小さくなるため、第２の記録領域を開放できる可能性が生じる。
【００３６】
ビデオＢＩＯＳ制御機能１６５は、第２の記録領域内のデータを元に戻す（ステップＳ２４）。すわなち、ビデオＢＩＯＳ制御機能１６５は、構成した第２ビデオＢＩＯＳが、第２の記録領域まで記録されていないかを確認する。そして、記録されていない場合には、ビデオＢＩＯＳ制御機能１６５は、一時的に記録していた他の領域のデータを第２の記録領域に戻す。
【００３７】
上述の構成により、第２ビデオＢＩＯＳが、第１ビデオＢＩＯＳからのロジックの変更に対して対応できるのみならず、ビデオＢＩＯＳの初期化パラメータ（液晶ディスプレイ表示の設定、液晶ディスプレイ表示のＯｎ／Ｏｆｆのシーケンス、ＴＶスタンダード・フォーマット（NTSC、PAL）の設定）の変更に対しても対応できる。
【００３８】
したがって、情報処理装置１の構成によれば、ディスプレイ・ドライバに、新しいビデオＢＩＯＳのドライバを含めておき、通常のディスプレイ・ドライバの初期化が行われるときに、この新しいビデオＢＩＯＳを使用可能にする。これを、情報処理装置１の起動時に、常に実施するため、不揮発性メモリ２００に記録されたビデオＢＩＯＳを更新することなく、新しいビデオＢＩＯＳを使用可能にすることが可能である。
【００３９】
さらに、ユーザは事前にディスプレイ・ドライバに適したビデオＢＩＯＳを含めておくため、ディスプレイ・ドライバとバージョン等の相性のよいビデオＢＩＯＳを同時に使用可能にすることが可能である。
【００４０】
このような実施形態を実現する、新しいビデオＢＩＯＳを使用させる方法を、コンピュータやサーバにて実行するためのプログラムにより実現することができる。このプログラムのための記憶媒体としては、光学記憶媒体、テープ媒体、半導体メモリ等が挙げられる。また、専用通信ネットワークやインターネットに接続されたサーバ・システムに設けられたハードディスク又はＲＡＭ等の記憶装置を記憶媒体として使用し、ネットワークを介してプログラムを提供してもよい。
【００４１】
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎず、特に本発明を限定しない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載された効果に限定されない。
【図面の簡単な説明】
【００４２】
【図１】図１は、情報処理装置１の機能ブロック図である。
【図２】図２は、情報処理装置１の動作フローを示す図である。
【図３】図３は、ビデオＢＩＯＳが置換されるイメージ図である。
【図４】図４は、ディスプレイ・ドライバの初期化処理を示すフロー図である。
【図５】図５は、システムＢＩＯＳの置換処理を示すフロー図である。
【符号の説明】
【００４３】
１ 情報処理装置
１００ 制御部
１５０ ディスプレイ・ドライバ
１５１ 初期化処理機能
１５２ バージョン比較機能
１６０ システムＢＩＯＳ
１６５ ビデオＢＩＯＳ制御機能
２００ 不揮発性メモリ
２１０ システムＢＩＯＳ記録部
２２０ ビデオＢＩＯＳ記録部
３００ メインメモリ
３１０ ビデオＢＩＯＳマッピング記録部
３２０ ディスプレイ・ドライバ記録部
３２５ ビデオＢＩＯＳイメージ記録部
４００ 記録部
【図１】
0004723913.tif 000002
【図２】
0004723913.tif 000003
【図３】
0004723913.tif 000004
【図４】
0004723913.tif 000005
【図５】
0004723913.tif 000006