(57)【特許請求の範囲】
【請求項１】
コンピュータのディスプレイモニタを制御する表示制御装置において、
前記コンピュータのバスを介してアクセス可能に構成され、前記表示制御装置のステートを動作ステートとそれよりも低消費電力の低消費電力ステートの一方に遷移させるための制御情報が設定されるコンフィグレーションレジスタと、
前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステート遷移制御手段とを具備することを特徴とする表示制御装置。
【請求項２】
前記ステート遷移制御手段は、前記低消費電力ステートへの遷移を禁止する第１モードと、前記低消費電力ステートへの遷移を許可する第２モードとを有し、
前記コンピュータのバスを介してアクセス可能に構成され、前記第１モードおよび前記第２モードの一方を指定するモード指定情報が設定されるレジスタをさらに具備することを特徴とする請求項１記載の表示制御装置。
【請求項３】
前記ステート遷移制御手段は、前記低消費電力ステートへの遷移を禁止する第１モードと、前記低消費電力ステートへの遷移を許可する第２モードとを有し、
前記表示制御装置はＬＳＩから構成されており、前記ＬＳＩは前記第１モードおよび前記第２モードの一方を指定するモード指定信号を外部から受けるための入力ピンを有することを特徴とする請求項１記載の表示制御装置。
【請求項４】
前記ステート遷移制御手段は、前記動作ステートを指定する制御情報を示す固定データと前記コンフィグレーションレジスタに設定された制御情報の一方を選択的に、前記表示制御装置を構成するハードウェアコンポーネントに接続するスイッチ回路を含み、前記スイッチ回路は、前記低消費電力ステートへの遷移を禁止する第１モードでは前記固定データを選択し、前記低消費電力ステートへの遷移を許可する第２モードでは前記コンフィグレーションレジスタを選択することを特徴とする請求項１記載の表示制御装置。
【請求項５】
前記低消費電力ステートは前記表示制御装置が動作停止されるステートであることを特徴とする請求項１記載の表示制御装置。
【請求項６】
前記コンピュータのバスを介してアクセス可能に構成され、前記表示制御装置を構成するハードウェアコンポーネントの動作を直接制御可能なレジスタをさらに具備することを特徴とする請求項１記載の表示制御装置。
【請求項７】
ＣＰＵと、
ディスプレイモニタを制御するための表示制御装置であって、動作ステートとそれよりも低消費電力の低消費電力ステートとを有する表示制御装置と、
前記表示制御装置に設けられ、前記表示制御装置を前記動作ステートと前記低消費電力ステートの一方に遷移させるための制御情報が設定されるコンフィグレーションレジスタと、
オペレーティングシステムからの命令に応じて、前記低消費電力ステートへの遷移を指定する制御情報を前記コンフィグレーションレジスタに設定する手段と、
前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステート遷移制御手段とを具備することを特徴とするコンピュータシステム。
【請求項８】
ＣＰＵと、
主メモリと、
ディスプレイモニタを制御するための表示制御装置であって、消費電力の異なる複数のステートを有する表示制御装置と、
前記表示制御装置に設けられ、前記表示制御装置を複数のステートのいずれかに遷移させるための制御情報が設定されるコンフィグレーションレジスタと、
オペレーティングシステムからの命令に応じて、前記複数のステートの中で前記表示制御装置のデバイスコンテクストが消失される低消費電力ステートへの遷移を指定する制御情報を前記コンフィグレーションレジスタに設定する手段と、
前記主メモリの内容および前記表示制御装置のコンテクストを保持した状態で前記コンピュータシステムをパワーオフするサスペンド処理が正常に実行されるように、前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステート遷移制御手段とを具備することを特徴とするコンピュータシステム。
【請求項９】
コンピュータのディスプレイモニタを制御する表示制御装置の電力管理を行うパワーマネージメント方法であって、前記表示制御装置には、前記表示制御装置のステートを動作ステートとそれよりも低消費電力の低消費電力ステートの一方に遷移させるための制御情報が設定されるコンフィグレーションレジスタが設けられており、
前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステップと、
前記表示制御装置を構成するコンポーネントの動作を直接制御可能な前記表示制御装置内のレジスタをアクセスして、前記表示制御装置の電力消費を制御するステップとを具備することを特徴とするパワーマネージメント方法。
【請求項１０】
コンピュータのバス上に接続されたデバイスであって、
前記コンピュータのバスを介してアクセス可能に構成され、前記デバイスのステートを動作ステートとそれよりも低消費電力の低消費電力ステートの一方に遷移させるための制御情報が設定されるコンフィグレーションレジスタと、
前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステート遷移制御手段とを具備することを特徴とするデバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータのディスプレイモニタを制御する表示制御装置およびそれを用いたコンピュータシステム並びに表示制御装置のパワーマネージメント方法に関する。
【０００２】
【従来の技術】
近年、ノートブックタイプなどに代表されるバッテリ駆動可能な各種パーソナルコンピュータが開発されている。この種のパーソナルコンピュータにおいては、その電力消費の低減を図るためのパワーマネージメント技術が採用されているそして、その中の一つとして、ＡＣＰＩ仕様（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）が知られている。ＡＣＰＩ仕様はオペレーティングシステムがパワーマネージメントを行うための仕様であり、システムパワーマネージメント、プロセッサパワーマネージメント、デバイスパワーマネージメントなどの技術が規定されている。
【０００３】
システムパワーマネージメントはコンピュータシステム全体に関するパワーマネージメントであり、Ｓ０からＳ５までのシステムステートを定義している。Ｓ０は動作ステート（つまりシステムの電源が入っており、ソフトウェアが実行中の状態）、Ｓ５はオフステート（つまり全てのソフトウェアの実行は終了し、システムの電源が切られている状態）であり、Ｓ１からＳ４はその中間のステート（スリープ状態と呼ぶ、つまり直前までのソフトウェアの実行状態を保持しつつ動作が停止している状態）である。これらシステムステートの消費電力の大小関係は、Ｓ０＞Ｓ１＞Ｓ２＞Ｓ３＞Ｓ４＞Ｓ５である。
【０００４】
プロセッサパワーマネージメントはＣＰＵ（プロセッサ）に関するパワーマネージメントであり、Ｃ０からＣ５までのステート（プロセッサパワーステート）を定義している。プロセッサパワーステートの消費電力の大小関係は、Ｃ０＞Ｃ１＞Ｃ２＞Ｃ３＞Ｃ４＞Ｃ５である。
【０００５】
同様に、デバイスパワーマネージメントはバス上のデバイスに関するパワーマネージメントであり、Ｄ０からＤ３までのステート（デバイスパワーステート）を定義している。プロセッサパワーステートの消費電力の大小関係は、Ｄ０＞Ｄ１＞Ｄ２＞Ｄ３である。
【０００６】
デバイスパワーマネージメントにおいては、ＬＣＤパネル、ビデオアダプタ（グラフィクスコントローラ）、ＩＤＥデバイス、モデム等の各デバイスは最低Ｄ０とＤ３の２つの状態をサポートすることが要求されている。Ｄ０はデバイスが完全にアクティブの動作ステートであり、またＤ３は電源オフ状態と同等の動作停止ステートである（低消費電力ステート）。
【０００７】
【発明が解決しようとする課題】
しかし、現在では、オペレーティングシステムおよび他のソフトウェアの仕様問題や不具合等により、スクリーンオフなどのためにグラフィクスコントローラのステートをＤ３に遷移させた場合に、様々な問題が生じることが報告されている。
【０００８】
すなわち、グラフィクスコントローラに対するＤ３の設定は、例えば一定時間オペレータからのキー入力が無い場合などにオペレーティングシステムからの命令によって行われる。グラフィクスコントローラは、そのコンフィグレーションレジスタにＤ３が設定された時に自動的にステートを遷移させて動作停止する。しかし、この後に前述の仕様問題や不具合等により、例えばスクリーンセーバや他のソフトウェアによるグラフィクスコントローラへのアクセスが発生する場合がある。この場合、実際にはグラフィクスコントローラにアクセスすることはできず、またグラフィクスコントローラからは何ら応答が得られない為、これによってソフトウェアのフリーズや、システムハングアップなどの不具合が引き起こされるのである。
【０００９】
本発明は上述の事情を考慮してなされたものであり、コンフィグレーションレジスタに特定のステートへの遷移を示す制御情報が設定された後にグラフィクスコントローラへのアクセスが発生してもそれによる不具合の発生を防止することが可能な表示制御装置およびコンピュータシステム並びにパワーマネージメント方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、コンピュータのディスプレイモニタを制御する表示制御装置において、前記コンピュータのバスを介してアクセス可能に構成され、前記表示制御装置のステートを動作ステートとそれよりも低消費電力の低消費電力ステートの一方に遷移させるための制御情報が設定されるコンフィグレーションレジスタと、前記コンフィグレーションレジスタに対する前記低消費電力ステートへの遷移を指定する制御情報の設定にかかわらず、前記低消費電力ステートへの遷移を禁止するステート遷移制御手段とを具備することを特徴とする。
【００１１】
この表示制御装置によれば、コンフィグレーションレジスタに対して低消費電力ステートへの遷移を指定する制御情報の設定が行われても、ステート遷移制御手段によってその制御情報の設定は無視され、これにより低消費電力ステートへの遷移を禁止することができる。このため、たとえコンフィグレーションレジスタに対して低消費電力ステートへの遷移を指定する制御情報が設定された後に、表示制御装置に対するアクセスが発生しても、ソフトウェアのフリーズや、システムハングアップなどの不具合の発生を防止することができる。また、主メモリの内容および表示制御装置のコンテクストを保持した状態でコンピュータをパワーオフするサスペンド機能を有するシステムにおいては、低消費電力ステートへの遷移を禁止することにより、サスペンド機能を正常に実行することが可能となる。
【００１２】
また、前記ステート遷移制御手段には、前記低消費電力ステートへの遷移を禁止する第１モードと、前記低消費電力ステートへの遷移を許可する第２モードとを設け、第１モードおよび第２モードの一方を指定するモード指定情報を設定するためのレジスタをさらに具備することが好ましい。これにより、不具合の発生が予測される場合にのみ低消費電力ステートへの遷移を予め禁止しておき、それ以外の場合には低消費電力ステートへの遷移を許可するといった制御をソフトウェアによって容易に実現することが可能となる。また、表示制御装置が１チップＬＳＩから構成されている場合には、そのＬＳＩに、第１モードおよび第２モードの一方を指定するモード指定指定信号を外部から受けるための入力ピンを設けておき、その入力ピンに与えるモード指定指定信号の論理値のみによって、低消費電力ステートへの遷移の禁止／許可を制御してもよい。
【００１３】
また、前記ステート遷移制御手段は、前記動作ステートを指定する制御情報を示す固定データと前記コンフィグレーションレジスタに設定された制御情報の一方を選択的に、前記表示制御装置を構成するハードウェアコンポーネントに接続するスイッチ回路を含み、前記スイッチ回路は、前記低消費電力ステートへの遷移を禁止する第１モードでは前記固定データを選択し、前記低消費電力ステートへの遷移を許可する第２モードでは前記コンフィグレーションレジスタを選択するように構成することが望ましい。これにより、簡単なハードウェアロジックの追加のみで、低消費電力ステートへの遷移の禁止／許可を制御することが可能となる。
【００１４】
また、前記表示制御装置には、前記コンピュータのバスを介してアクセス可能に構成され、前記表示制御装置を構成するハードウェアコンポーネントの動作を直接制御可能なレジスタをさらに具備することが好ましい。これにより、コンフィグレーションレジスタを通じて行われる低消費電力ステートへの遷移を禁止した場合であっても、表示制御装置固有の仕様に基づく省電力制御を行うことができる。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１には、本発明の一実施形態に係るコンピュータシステムのシステム構成が示されている。このコンピュータシステムはバッテリ駆動可能なノートブックタイプの携帯型パーソナルコンピュータであり、図示のように、ＣＰＵ１１、ホストブリッジ１２、主メモリ１３、グラフィクスコントローラ１４、サウンドコントローラ１５、ＰＣＩ−ＩＳＡブリッジ１６、Ｉ／Ｏコントローラ１７、ハードディスクドライブ（ＨＤＤ）１８、ＢＩＯＳ−ＲＯＭ１９、キーボードコントローラ（ＫＢＣ）２０などを備えている。
【００１６】
ＣＰＵ１１は本システム全体を制御するためのものであり、主メモリ１３上にロードされたオペレーティングシステム、各種アプリケーションプログラム、およびＢＩＯＳ等を実行する。ホストブリッジ１２はＣＰＵバス１とＰＣＩバス３間を双方向で接続するためのブリッジＬＳＩであり、ここには主メモリ１３をアクセス制御するためのメモリコントローラ、およびＡＧＰ（Accelerated Graphics Port）２を介してグラフィクスコントローラ１４との間のデータ転送を行うＡＧＰブリッジ機能が搭載されている。ＡＧＰ２はグラフィクスコントローラ１４との間のデータ転送のための専用バスであり、ＰＣＩバス規格の拡張仕様の一つとして定義されている。
【００１７】
グラフィクスコントローラ１４は本コンピュータシステムのディスプレイモニタとして使用されるＬＣＤ１４３および外部ＣＲＴディスプレイ１４２を制御するための表示制御装置であり、１チップＬＳＩから構成されている。グラフィクスコントローラ１４はビデオメモリ（ＶＲＡＭ）１４１への描画機能およびＶＲＡＭ１４１上のデータを表示信号に変換してディスプレイモニタに出力する機能などを有しており、グラフィクスアクセラレータとして機能する。このグラフィクスコントローラ１４はＡＣＰＩ仕様に準拠したデバイスであり、デバイスステートＤ０〜Ｄ３の内の少なくともＤ０，Ｄ３をサポートしている。グラフィクスコントローラ１４には、デバイスステート制御等に使用されるＰＣＩコンフィグレーションレジスタが設けられており、ＡＧＰ２を介してそこにＤ３が設定されると、Ｄ３にステートを遷移する。Ｄ３は電源オフ状態と同等の動作停止ステートであり、通常はグラフィクスコントローラ１４のデバイスコンテクストは消失される。
【００１８】
さらに、本実施形態においては、グラフィクスコントローラ１４には“Ｄ３バイパスモード”と称する特殊モードが用意されている。この“Ｄ３バイパスモード”はＰＣＩコンフィグレーションレジスタに対するＤ３の設定を無視し、グラフィクスコントローラ１４がＤ３に遷移するのを禁止する機能である。“Ｄ３バイパスモード”の有効／無効は、ＢＩＯＳあるいはシステム内のハードウェアによって制御することができる。
【００１９】
サウンドコントローラ１５は本システムの音源として使用されるものであり、オーディオ再生出力機能を有している。このサウンドコントローラ１５もＡＣＰＩ仕様に準拠したデバイスであり、デバイスステートＤ０〜Ｄ３の内の少なくともＤ０，Ｄ３をサポートしている。サウンドコントローラ１５には、デバイスステート制御等に使用されるＰＣＩコンフィグレーションレジスタが設けられており、ＰＣＩバス３を介してそこにＤ３が設定されると、Ｄ３にステートを遷移する。Ｄ３は電源オフ状態と同等の動作停止ステートであり、Ｄ３では通常はサウンドコントローラ１５のデバイスコンテクストは消失される。
【００２０】
ＰＣＩ−ＩＳＡブリッジ１６はＰＣＩバス３とＩＳＡバス４間を双方向で接続するブリッジＬＳＩである。ＩＳＡバス４にはＢＩＯＳ−ＲＯＭ１９の他、キーボードコントローラ（ＫＢＣ）２０などのＩＳＡデバイスが接続されている。ＢＩＯＳ−ＲＯＭ１９にはシステムＢＩＯＳ（Basic Input Output System）が記憶されている。システムＢＩＯＳは、システム起動時に実行されるＰＯＳＴルーチン（ハードウェアの初期化およびテスト）、グラフィクスコントローラ１４を制御するためのＶＧＡ−ＢＩＯＳを初めとする各種ハードウェア制御のためのルーチン、およびシステムの電源オン・オフおよび省電力に関するシステム管理ルーチンなどから構成されている。システム管理ルーチンは、メモリサスペンド機能およびハイバネーション機能等を提供する。
【００２１】
メモリサスペンド機能は現在の動作環境を復元するために必要な主メモリ１３を含む最小限のデバイスの状態のみを保持し、それ以外のほとんどのデバイスをパワーオフする機能である。また、ハイバネーション機能は、現在の動作環境を復元するために必要な主メモリ１３の内容および他の各種デバイスの状態をハードディスク１８の所定記憶領域に記憶した後に、システム全体をパワーオフする機能である。本実施形態においては、例えばシステムステートＳ３としてメモリサスペンド機能を使用し、またシステムステートＳ４としてハイバネーション機能を使用する。なお、システムステートＳ０〜Ｓ５とデバイスステートＤ０〜Ｄ３は直接関係するものではなく、通常は、システムステートＳ０（ワーキングステート）においても、任意のデバイスをＤ０〜Ｄ３の任意のステートに遷移させることが可能である。
【００２２】
次に、図２を参照して、グラフィクスコントローラ１４のステート遷移について説明する。
図２（ａ）はノーマルモードにおけるグラフィクスコントローラ１４のステート遷移を示し、また図２（ｂ）は前述のＤ３バイパスモードにおけるグラフィクスコントローラ１４のステート遷移を示している。
【００２３】
ノーマルモードは、Ｄ３への遷移が許可されているモード、つまりＤ３バイパスモードが無効化されている場合のモードである。このノーマルモードにおいては、グラフィクスコントローラ１４のＰＣＩコンフィグレーションレジスタに対するアクセスにより、グラフィクスコントローラ１４をＤ０またはＤ３に入れることができる。もちろん、グラフィクスコントローラ１４がＤ１，Ｄ２もサポートしていれば、グラフィクスコントローラ１４のステートはＤ０〜Ｄ３の間で遷移されることになる。
【００２４】
一方、Ｄ３バイパスモードにおいては、ＰＣＩコンフィグレーションレジスタに対するＤ３の設定は無視され、オペレーティングシステムからの命令によってＰＣＩコンフィグレーションレジスタにＤ３が設定されても、グラフィクスコントローラ１４はＤ３に遷移しない。グラフィクスコントローラ１４のパワーセーブは、システムＢＩＯＳがグラフィクスコントローラ１４のハードウェアコンポーネントの動作を直接制御することによって実行される（スペシャルパワーセーブモード）。このスペシャルパワーセーブモードでは、例えばグラフィクスコントローラ１４内のＤＡＣ（Ｄ／Ａコンバータ）の動作クロックの停止や、グラフィクスコントローラ１４内に存在する多数のハードウェアコンポーネントを選択的にディスエーブルすることなどが行われる。
【００２５】
図３には、グラフィクスコントローラ１４の制御に関するソフトウェアの階層構造が示されている。通常、画面表示およびその他の制御ためのグラフィクスコントローラ１４に対するアクセスは、オペレーティングシステム（ＯＳ）の制御の下、ＰＣＩコンフィグレーションドライバ、ディスプレイドライバ等を介して行われる。一方、グラフィクスコントローラ１４のＰＣＩコンフィグレーションレジスタに対するＤ３設定のためのアクセスは、オペレーティングシステム（ＯＳ）からの命令に従いＰＣＩコンフィグレーションドライバによって直接実行され、ディスプレイドライバは経由しない。ＢＩＯＳはディスプレイドライバとの通信インタフェースを持つが、Ｄ３設定のためのアクセスはディスプレイドライバを経由しないので、Ｄ３設定のためのアクセスをＢＩＯＳによってフックすることは困難である。このため、本実施形態では、前述のＤ３バイパスモードは、グラフィクスコントローラ１４内に組み込んだハードウェア（Ｄ３バイパス回路）を用いてハードウェア的に実現している。これにより、確実に、Ｄ３の設定を無効化することができる。
【００２６】
次に、図４を参照して、グラフィクスコントローラ１４のハードウェア構成を説明する。
グラフィクスコントローラ１４は、図示のように、ＰＣＩコンフィグレーションレジスタ２０１、Ｄ３バイパスレジスタ２０２、Ｉ／Ｏレジスタ群２０３、バイパス回路２０４、およびコアユニット２０５を備えている。コアユニット２０５は描画およびディスプレイモニタ制御機能を提供するものであり、図示のように、デュアルディスプレイ制御をサポートする２つのグラフィクスエンジン３０１，３０２、２Ｄ演算用の２Ｄエンジン３０３、３Ｄ演算用の３Ｄエンジン３０４、ＡＧＰとの間のバスインターフェースユニット（ＢＩＵ）３０５、ＶＲＡＭ制御用のメモリインターフェースユニット（ＭＩＵ）３０６、ＣＲＴへのビデオ信号出力用のＤ／Ａコンバータ（ＤＡＣ）３０７、ＬＣＤ制御用のＬＣＤゲートアレイ（ＬＣＤ  ＧＡ）３０８、ＴＶへのビデオ信号出力用のＴＶ用Ｄ／Ａコンバータ（ＴＶ  ＤＡＣ）３０９などを備えている。
【００２７】
ＰＣＩコンフィグレーションレジスタ２０１はＡＧＰ２を介してアクセス可能なレジスタであり、グラフィクスコントローラ１４の各種動作環境を設定するためのコンフィグレーション空間内に定義されている。このＰＣＩコンフィグレーションレジスタ２０１には、グラフィクスコントローラ１４のステートをＤ０，Ｄ３の一方に遷移させるための制御情報が設定される。バイパス回路２０４はＰＣＩコンフィグレーションレジスタ２０１に対するＤ３の設定を無効化するためのハードウェアであり、Ｄ０を示す固定データとＰＣＩコンフィグレーションレジスタ２０１を選択的にコアユニット２０５に接続するためのスイッチ回路ＳＷを有している。コアユニット２０５は、バイパス回路２０４を介して供給されるＤ０またはＤ３を示すデータに従い、ハードウェア的にＤ０またはＤ３のステートに遷移する（パワーマネージメント＃１）。
【００２８】
Ｄ３バイパスレジスタ２０２はＡＧＰ２を介してアクセス可能なレジスタであり、コンフィグレーション空間またはＩ／Ｏ空間に定義されたスペシャルレジスタとして実現されている。このＤ３バイパスレジスタ２０２には、前述のＤ３バイパスモードとノーマルモードの一方を指定するための制御情報がＢＩＯＳによって設定される。ノーマルモードを指定するための制御情報がＤ３バイパスレジスタ２０２に設定された場合、スイッチ回路ＳＷは、ＰＣＩコンフィグレーションレジスタ２０１を選択する。一方、Ｄ３バイパスモードを指定するための制御情報がＤ３バイパスレジスタ２０２に設定された場合、スイッチ回路ＳＷは、Ｄ０を示す固定データを選択する。なお、ノーマルモードをグラフィクスコントローラ１４のデフォルトの動作モードとして規定した場合には、Ｄ３バイパスレジスタ２０２に対するノーマルモードの設定動作は特に行う必要はない。
【００２９】
Ｉ／Ｏレジスタ群２０３はコアユニット２０５の動作を直接制御するためのレジスタ群であり、ＡＧＰ２を介してアクセス可能である。ＢＩＯＳは、Ｉ／Ｏレジスタ群２０３を介してコアユニット２０５の動作を直接制御することにより、グラフィクスコントローラ１４固有の仕様に基づくパワーマネージメント＃２（スペシャルパワーセーブモード）を実行することができる。具体的には、グラフィクスエンジン３０１，３０２、２Ｄエンジン３０３、３Ｄエンジン３０４、ＢＩＵ３０５、ＭＩＵ３０６、ＤＡＣ３０７、ＬＣＤ  ＧＡ３０８、およびＴＶ  ＤＡＣ３０９を選択的に動作停止させたり、所定のユニットに対するクロック速度の切り替えなどの制御が行われる。
【００３０】
次に、図５および図６のフローチャートを参照して、ノーマルモードおよびＤ３バイパスモードそれぞれにおける動作について説明する。
【００３１】
（ノーマルモード）
図５に示すように、オペレーティングシステム（ＯＳ）は、そのポリシーに基づいて例えばスクリーンオフのための所定の条件が成立したことを検出した場合、ＰＣＩコンフィグレーションドライバに対してグラフィクスコントローラ１４をＤ３に設定する命令を発行する（ステップＳ１０１）。この命令に応じて、ＰＣＩコンフィグレーションドライバは、ＡＧＰ２を介してグラフィクスコントローラ１４をアクセスし、ＰＣＩコンフィグレーションレジスタ２０１にＤ３を示す制御情報を設定する（ステップＳ１０２）。Ｄ３を示す制御情報はコアユニット２０５に伝えられ、これによりグラフィクスコントローラ１４は自動的にＤ３に遷移する（ステップＳ１０３）。この後、もし前述の仕様問題や不具合等により、例えばスクリーンセーバや他のソフトウェアによるグラフィクスコントローラ１４へのアクセスが発生すると、ソフトウェアのフリーズや、システムハングアップなどの不具合が引き起こされることになる。また、メモリサスペンドを正常に行うためには、グラフィクスコントローラ１４のコンテクストを、グラフィクスコントローラ１４がＤ３に設定される前に事前に主メモリ１３にセーブしておくことが必要となる。
【００３２】
（Ｄ３バイパスモード）
図６に示すように、ＢＩＯＳは、例えばシステム起動時などに、ＡＧＰ２を介してグラフィクスコントローラ１４をアクセスし、Ｄ３バイパスレジスタ２０２にＤ３バイパスモードを示す制御情報を設定する（ステップＳ１１１）。これにより、バイパス回路２０４はＰＣＩコンフィグレーションレジスタ２０１の内容に関係なく、常に固定データ（＝Ｄ０）を選択する。
【００３３】
オペレーティングシステム（ＯＳ）は、そのポリシーに基づいて例えばスクリーンオフのための所定の条件が成立したことを検出した場合、ＰＣＩコンフィグレーションドライバに対してグラフィクスコントローラ１４をＤ３に設定する命令を発行する（ステップＳ１１２）。この命令に応じて、ＰＣＩコンフィグレーションドライバは、ＡＧＰ２を介してグラフィクスコントローラ１４をアクセスし、ＰＣＩコンフィグレーションレジスタ２０１にＤ３を示す制御情報を設定する（ステップＳ１１３）。しかし、Ｄ３を示す制御情報はコアユニット２０５に伝えられず、Ｄ３の設定は無視される。これによりグラフィクスコントローラ１４はＤ３には遷移しない。
【００３４】
この後、ＢＩＯＳは、自身のポリシーに基づいてグラフィクスコントローラ１４に対するパワーマネージメント制御＃２を実行する（ステップＳ１１４）。パワーマネージメント制御＃２は、ＢＩＯＳがＩ／Ｏレジスタ群２０３を通じてコアユニット２０５の動作を直接制御することによって実行される。この後、もし前述の仕様問題や不具合等により、例えばスクリーンセーバや他のソフトウェアによるグラフィクスコントローラ１４へのアクセスが発生しても、グラフィクスコントローラ１４はＤ３ではないので、前述のような問題は生じない。また、ＢＩＯＳによるパワーマネージメント制御＃２では、グラフィクスコントローラ１４のコンテクストが消失されないようなパワーマネージメントを行うことにより、事前にグラフィクスコントローラ１４のコンテクストを主メモリ１３にセーブすることなく、メモリサスペンドを正常に実行することが可能となる。
【００３５】
次に、図７を参照して、グラフィクスコントローラ１４の第２の構成例を説明する。
図７は、図４のＤ３バイパスレジスタ２０２の代わりに、ハードウェアストラップ４０１を用いてバイパス回路２０４をハードウェア的に制御する構成であり、他の点は図４と同じである。ハードウェアストラップ４０１は、１チップＬＳＩから構成されるグラフィクスコントローラ１４の所定の１入力ピンＰ１に接続されており、その入力ピンＰ１を介して、バイパス回路２０４をノーマルモードとＤ３バイパスモードの一方に設定するための制御信号をバイパス回路２０４に供給する。入力ピンＰ１は図示のようにグラフィクスコントローラ１４内でプルアップ抵抗Ｒ１を介して電源端子に接続されている。
【００３６】
ハードウェアストラップ４０１はシステム基板上に実装されており、図示のように、ジャンパスイッチ５００とプルダウン抵抗Ｒ２とから構成されている。ジャンパスイッチ５００をオンして入力ピンＰ１をプルダウン抵抗Ｒ２に接続することにより、Ｄ３バイパスモードを示す制御信号“０”をバイパス回路２０４に供給することができる。一方、ジャンパスイッチ５００をオフしておくことにより、ノーマルモードを示す制御信号“１”をバイパス回路２０４に供給することができる。ジャンパスイッチ５００のオン／オフは、本コンピュータシステムの出荷時に本システムで使用するＯＳに合わせて予め設定したり、あるいは製品出荷後にユーザがオン／オフ設定するようにしてもよい。また、ジャンパスイッチ５００の代わりにディップスイッチを設けたり、あるいはグラフィクスコントローラ１４を固定的にＤ３バイパスモードで動作させる場合には、半田付けによって入力ピンＰ１をシステム基板上の接地端子に予め接続しておいても良い。
【００３７】
図８には、本発明の一実施形態に係るコンピュータシステムの第２の構成例が示されている。本例においては、グラフィクスコントローラ１４のみならず、サウンドコントローラ１５にも前述のＤ３バイパスモードを設けており、他の点は図１と同じである。
【００３８】
Ｄ３バイパスモードに関するサウンドコントローラ１５の構成は、図４で説明したグラフィクスコントローラ１４の場合と同じであり、サウンドコントローラ１５にはバイパス回路およびＤ３バイパスレジスタが設けられる。これにより、サウンドコントローラ１５においても、ＰＣＩコンフィグレーションレジスタに対するＤ３の設定を無効化して、Ｄ３への遷移を禁止することができる。
【００３９】
次に、図９のフローチャートを参照して、Ｄ３バイパスモードにおける動作について説明する。
【００４０】
（Ｄ３バイパスモード）
図９に示すように、ＢＩＯＳは、例えばシステム起動時などに、ＡＧＰ２を介してグラフィクスコントローラ１４をアクセスし、Ｄ３バイパスレジスタ２０２にＤ３バイパスモードを示す制御情報を設定する（ステップＳ２０１）。これにより、バイパス回路２０４はＰＣＩコンフィグレーションレジスタ２０１の内容に関係なく、常に固定データ（＝Ｄ０）を選択するので、グラフィクスコントローラ１４はＤ３バイパスモードとなる。次いで、ＢＩＯＳは、ＰＣＩバス３を介してサウンドコントローラ１５をアクセスし、サウンドコントローラ１５内のＤ３バイパスレジスタにＤ３バイパスモードを示す制御情報を設定する（ステップＳ２０２）。これにより、サウンドコントローラ１５についてもＤ３バイパスモードとなる。
【００４１】
オペレーティングシステム（ＯＳ）は、そのポリシーに基づいて例えばスクリーンオフのための所定の条件が成立したことを検出した場合、ＰＣＩコンフィグレーションドライバに対してグラフィクスコントローラ１４をＤ３に設定する命令を発行する（ステップＳ１１２）。この命令に応じて、ＰＣＩコンフィグレーションドライバは、ＡＧＰ２を介してグラフィクスコントローラ１４をアクセスし、ＰＣＩコンフィグレーションレジスタ２０１にＤ３を示す制御情報を設定する（ステップＳ１１３）。しかし、Ｄ３を示す制御情報はコアユニット２０５に伝えられず、Ｄ３の設定は無視される。これによりグラフィクスコントローラ１４はＤ３には遷移しない。サウンドコントローラ１５についても同様であり、ＯＳからの命令によって、ＰＣＩコンフィグレーションドライバがＰＣＩバス３を介してサウンドコントローラ１５のＰＣＩコンフィグレーションレジスタ２０１にＤ３を示す制御情報を設定しても（ステップＳ２０５）、サウンドコントローラ１５はＤ３に遷移しない。
【００４２】
この後、ＢＩＯＳは、自身のポリシーに基づいてグラフィクスコントローラ１４またはサウンドコントローラ１５に対するパワーマネージメント制御＃２を実行する（ステップＳ２０６）。サウンドコントローラ１５に対するパワーマネージメント制御＃２は、ＢＩＯＳがサウンドコントローラ１５のＩ／Ｏレジスタ群を通じてそのサウンドコントローラ１５のハードウェアコンポーネントの動作を直接制御することによって実行される。
【００４３】
この後、もし前述の仕様問題や不具合等により、ソフトウェアによるグラフィクスコントローラ１４やサウンドコントローラ１５へのアクセスが発生しても、グラフィクスコントローラ１４およびサウンドコントローラ１５はＤ３ではないので、前述のような問題は生じない。また、ＢＩＯＳによるパワーマネージメント制御＃２では、グラフィクスコントローラ１４およびサウンドコントローラ１５それぞれのコンテクストが消失されないようなパワーマネージメントを行うことにより、事前にグラフィクスコントローラ１４およびサウンドコントローラ１５それぞれのコンテクストを主メモリ１３にセーブすることなく、メモリサスペンドを正常に実行することが可能となる。
【００４４】
なお、以上の説明では、グラフィクスコントローラ１４およびサウンドコントローラ１５などのバス上のデバイスに対するＤ３の設定をバイパスする場合についてのみ説明したが、誤動作を防ぐことが肝要であるので、バスアクセスに影響のない最小限のステート遷移については許容することが好ましい。つまり、Ｄ０，Ｄ３の他にその中間のＤ１，Ｄ２のステートを有するデバイスにおいては、それら消費電力の異なる複数のステートの中で、バスアクセスに影響のあるステート（そのステートへの遷移後にバスを介したデバイスへのアクセスが正常に実行できないステート）への遷移を無効化すれば良い。
【００４５】
また、本発明は、コンピュータに接続して使用される各種デバイス（バス上のデバイス、および周辺装置等）に適用することができ、動作モード（ステート）としてとして少なくとも第１の動作ステートと、この第１の動作ステートよりも消費電力の少ない第２の動作ステートとを有するデバイスであれば、ノーマルモードでは、オペレーティングシステムからの第１の動作ステート第２の動作ステートへのステート遷移指示を受信して、それに応じたステート遷移を行い、バイパスモードでは、オペレーティングシステムからのステート遷移指示にかかわらず、ステート遷移を禁止するという構成を採用することが可能である。
【００４６】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００４７】
【発明の効果】
以上詳述した如く本発明によれば、コンフィグレーションレジスタに特定のステートへの遷移を示す制御情報が設定された後にグラフィクスコントローラへのアクセスが発生してもそれによる不具合の発生を防止できるようになり、システムおよび表示制御装置の動作の信頼性の向上を図ることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同実施形態で使用されるグラフィクスコントローラのステート遷移を説明するための図。
【図３】同実施形態で使用されるグラフィクスコントローラの制御に関するソフトウェアの階層構造を説明するための図。
【図４】同実施形態で使用されるグラフィクスコントローラの構成を示すブロック図。
【図５】同実施形態におけるノーマルモード時の動作を説明するフローチャート。
【図６】同実施形態におけるＤ３バイパスモード時の動作を説明するフローチャート。
【図７】同実施形態で使用されるグラフィクスコントローラの他の構成例を示すブロック図。
【図８】同実施形態のシステムの他の構成を示すブロック図。
【図９】図８のシステムのＤ３バイパスモード時の動作を説明するフローチャート。
【符号の説明】
２…ＡＧＰ
３…ＰＣＩバス
１１…ＣＰＵ
１２…ホストブリッジ
１３…主メモリ
１４…グラフィクスコントローラ
１５…サウンドコントローラ
１９…ＢＩＯＳ−ＲＯＭ
２０１…ＰＣＩコンフィグレーションレジスタ
２０２…Ｄ３バイパスレジスタ
２０３…Ｉ／Ｏレジスタ群
２０４…バイパス回路
２０５…コアユニット
４０１…ハードウェアストラップ
【図１】
0004383641.tif 000002
【図２】
0004383641.tif 000003
【図３】
0004383641.tif 000004
【図４】
0004383641.tif 000005
【図５】
0004383641.tif 000006
【図６】
0004383641.tif 000007
【図７】
0004383641.tif 000008
【図８】
0004383641.tif 000009
【図９】
0004383641.tif 000010