(57)【特許請求の範囲】
【請求項１】
中央プロセッサに結合された集積回路であって、
前記中央プロセッサからプログラム情報を格納する一組のレジスタを備え、前記集積回路と前記中央プロセッサとの間にインターフェースを提供するプロセッサインターフェース回路であって、該プログラム情報が前記集積回路の所望の電力状態とイネーブル化データビットとに関する情報を含み、該一組のレジスタが第１の電力状態の間アクセス可能である、プロセッサインターフェース回路と、
前記プロセッサインターフェース回路に結合され、前記一組のレジスタ中に格納されたプログラム情報に応答して前記集積回路の前記所望の電力状態を制御し、少なくとも前記第１の電力状態および第２の電力状態をサポートし、２つの電力状態間での遷移に対する電力供給の順序付けを行うパワーマネージメント回路と、
前記プロセッサインターフェース回路および前記パワーマネージメント回路に結合され、前記パワーマネージメント回路と前記一組のレジスタ中に格納された前記プログラム情報とによって制御され、前記第１の電力状態の間は電力節約のために実質的にディセーブルされ、前記第２の電力状態の間は前記集積回路の動作時に動作可能となるクロック生成回路と、
を備え、
前記一組のレジスタにより前記中央プロセッサが前記電力供給の順序付けをモニタリングし、
前記電力供給の順序付けが、前記第２の電力状態において前記集積回路のうち少なくとも一つの他の回路に電力を供給する前に、前記クロック生成回路に電力を供給するステップを含む、
集積回路。
【請求項２】
前記第１の電力状態の間に前記クロック生成回路がイネーブルおよびプログラムされることが可能であり、これにより、前記第２の電力状態の間の前記集積回路の動作時に前記クロック生成回路が動作可能となる、請求項１に記載の集積回路。
【請求項３】
前記クロック生成回路が、
基準クロック信号を生成する発振器回路と、
前記発振器回路に結合され、前記基準クロック信号に基づいて誘導クロック信号を生成する複数の位相ロックループ（ＰＬＬ）回路と、
を備える、請求項１又は２に記載の集積回路。
【請求項４】
前記プログラム情報が、前記誘導クロック信号を生成する際に前記ＰＬＬ回路によって用いられる乗法ファクタおよび除法ファクタをさらに含む、請求項３に記載の集積回路。
【請求項５】
前記集積回路が表示／グラフィックスコントローラである、請求項１〜４のいずれか一項に記載の集積回路。
【請求項６】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵに結合されたシステムメモリと、
前記ＣＰＵおよび前記システムメモリに結合されたグラフィックス／表示コントローラと、
を備え、
前記グラフィックス／表示コントローラが、
前記グラフィックス／表示コントローラと前記ＣＰＵとの間にインターフェースを提供し、前記ＣＰＵからプログラム情報を格納する一組のレジスタを備えるプロセッサインターフェース回路であって、前記プログラム情報が前記グラフィックス／表示コントローラの所望の電力状態とイネーブル化データビットとに関する情報を含み、前記一組のレジスタが第１の電力状態の間アクセス可能である、プロセッサインターフェース回路と、
前記プロセッサインターフェース回路に結合されたパワーマネージメント回路であって、前記一組のレジスタ中に格納されたプログラム情報に応答して前記グラフィックス／表示コントローラの所望の電力状態を制御し、少なくとも前記第１の電力状態および第２の電力状態をサポートし、２つの電力状態間での遷移に対する電力供給の順序付けを行うパワーマネージメント回路と、
前記プロセッサインターフェース回路および前記パワーマネージメント回路に結合され、前記パワーマネージメント回路と前記一組のレジスタ中に格納されたプログラム情報とによって制御され、前記第１の電力状態の間は電力節約のために実質的にディセーブルされ、前記第２の電力状態の間は前記グラフィックス／表示コントローラの動作時に動作可能となるクロック生成回路と、
を備え、
前記一組のレジスタにより前記ＣＰＵが前記電力供給の順序付けをモニタリングし、
前記電力供給の順序付けが、前記第２の電力状態において前記グラフィックス／表示コントローラのうち少なくとも一つの他の回路に電力を供給する前に、前記クロック生成回路に電力を供給するステップを含む、
コンピュータシステム。
【請求項７】
前記第１の電力状態の間に前記クロック生成回路がイネーブルおよびプログラムされることが可能であり、これにより、前記第２の電力状態の間の前記グラフィックス／表示コントローラの動作時に前記クロック生成回路が動作可能となる、請求項６に記載のコンピュータシステム。
【請求項８】
前記クロック生成回路が、
基準クロック信号を生成する発振器回路と、
前記発振器回路に結合され、前記基準クロック信号に基づいて誘導クロック信号を生成する複数の位相ロックループ（ＰＬＬ）回路と、
を備える、請求項６又は７に記載のコンピュータシステム。
【請求項９】
前記プログラム情報が、前記誘導クロック信号を生成する際に前記ＰＬＬ回路によって用いられる乗法ファクタおよび除法ファクタをさらに含む、請求項８に記載のコンピュータシステム。
【請求項１０】
中央プロセッサに結合された集積回路中のモジュールをプロセッサインターフェース回路を介してパワーアップする方法であって、前記集積回路用のクロック信号を生成する際に用いられるクロック生成回路が、前記集積回路が電力節約のために第１の電力状態にあるときに実質的にディセーブルされ、前記方法が、
プログラム情報を一組のレジスタに書き込み、前記クロック生成回路をプログラムおよびイネーブルする工程と、
第２の電力状態への変更を示すプログラム情報を、前記中央プロセッサから前記プロセッサインターフェース回路内の一組のレジスタ内の第１のロケーションに書き込む工程であって、前記一組のレジスタが前記第１の電力状態の間アクセス可能である、工程と、
前記一組のレジスタを用いて電力供給の順序付けをモニタリングする工程と、
前記第２の電力状態への変更を示すプログラム情報に応答して、前記第１の電力状態から前記第２の電力状態への遷移に対する前記電力供給の順序付けを行う工程と、
を含み、
前記電力供給の順序付けが、前記第２の電力状態において前記集積回路のうち少なくとも一つの他の回路に電力を供給する前に、前記クロック生成回路に電力を供給するステップを含む、
方法。
【請求項１１】
基準クロック信号に基づいてクロック信号を誘導する際に前記クロック生成回路によって用いられる乗法ファクタおよび除法ファクタを前記中央プロセッサから前記一組のレジスタ中の第３のロケーションに書き込む工程をさらに包含する請求項１０に記載の方法。
【請求項１２】
前記クロック生成回路が節約のために実質的にディセーブルされ、これにより、前記一組のレジスタと前記パワーマネージメント回路とを除く実質的に全ての集積回路がパワーダウンする、請求項１〜５のいずれか一項に記載の集積回路。
【請求項１３】
前記クロック生成回路が節約のために実質的にディセーブルされ、これにより、前記一組のレジスタと前記パワーマネージメント回路とを除く実質的に全ての前記グラフィックス／表示コントローラがパワーダウンする、請求項６〜９のいずれか一項に記載のコンピュータシステム。
【請求項１４】
前記第１の電力状態の間において、前記集積回路内の前記一組のレジスタと前記パワーマネージメント回路のみがパワーアップされている、請求項１０又は１１に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は概して、コンピュータシステムに関し、特に、プロセッサバスインターフェースに関する。
【０００２】
（発明の背景）
半導体およびコンピュータ技術の発展に伴い、コンピュータシステムの高速化と同時に小型化が進んでいる。デスクトップコンピュータシステムはもちろん、ラップトップコンピュータシステムでさえも、今や、小さな部屋を占有するようなメインフレームコンピュータの処理速度を有している。現在普及が広がっているハンドヘルドコンピュータシステム（例えば、パーソナルデジタルアシスタント（ＰＤＡ））でさえも、より高性能になってきている。コンピュータシステムの小型化および廉価化が進むにつれ、コンピュータシステムへの要求も常にかつより多く発生する。このような要求の例として、速度および性能がある。
【０００３】
コンピュータシステムの高性能化および小型化が進むと、電力の節約の問題を解決するのががますます困難になってくる。ハンドヘルドコンピュータシステムの場合、サイズが小さいため、動作時間が限られているバッテリによって電力供給される。高速かつ高性能なプロセッサにはより多くの電力が必要となるため、電力を節約することにより、バッテリの動作時間を伸ばすための革新的な解決法が必要とされている。
【０００４】
各コンピュータシステム内には、様々な機能（例えば、メモリコントローラ、ハードディスクコントローラ、グラフィックス／映像コントローラ、通信コントローラおよび他の周辺コントローラ）を行うよう設計された集積回路が多数存在する。周知のように、これらの集積回路はそれぞれ、集積回路の動作を同期させる際にタイミング基準（ｒｅｆｅｒｅｎｃｅ）として用いられるクロック信号を必要とする。一般的に、集積回路のクロック速度が高速化すると、電力消費は増加する。
【０００５】
集積回路は周期的に不要となり、システム機能が関連する動作の間、アイドル状態となる。別の場合において、サブ回路（例えば、論理およびデータ経路の組み合わせ）がデータ処理を行い、集積回路における転送が動作している間、当該集積回路中の他のサブ回路はアイドル状態である。これらのサブ回路はクロック信号の受信動作を継続し続けるため、これらのサブ回路の各内部サブ回路も継続的に動作し、アイドル状態のときでも有意な量の電力を消費する。そのため、電力を節約するために、アイドル状態のサブ回路へのクロック信号はディセーブルされる。次いで、これらのサブ回路へのクロック信号は、必要に応じてイネーブルされる。集積サブ回路中のうち選択されたサブ回路をパワーアップ（イネーブル）およびパワーダウン（ディセーブル）する動作は、必要な順序で行われ得る。このような電力供給の順序付けが必要なのは、他のサブ回路に依存するサブ回路もあるからである。例えば、あるサブ回路の場合、別のサブ回路がパワーアップされ得る前にそのサブ回路をパワーアップする必要がある。また、ある同期式ダイナミックランダムアクセスメモリ（ＲＡＭ）または液晶ディスプレイ（ＬＣＤ）フラットパネルモニタの場合のようにオンオフ時にサブ回路が一連の入力信号を必要とする場合にも、電力供給の順序付けが必要となる。このような電力供給の順序は重要である。なぜならば、電力供給の順序が適切に行なわれないと、いくつかの回路ブロックが適切にイネーブルされなくなるからである。電力状態に関連して所望の電力供給の順序付けを提供するために、パワーマネージメントユニット（ＰＭＵ）が用いられている。
【０００６】
ＰＭＵは典型的には、様々な電力状態（例えば、通常の電力状態および低電力状態。但し、これらに限定されない）をサポートする。通常の電力状態の場合、集積回路中のサブ回路（例えば、グラフィックス／表示コントローラ）は全て、イネーブルされ得る。逆に言うと、低電力状態の場合、集積回路中のサブ回路は、格納データをリフレッシュするためのメモリバッファリフレッシュ論理を除いて全てディセーブルされ得る。このような低電力状態は、ラップトップコンピュータシステムおよびハンドヘルドコンピュータシステムにおいて重要となる電力の節約を行うために用いられる。しかし、集積回路が低電力状態が通常の電力状態へと遷移しているときに集積回路をパワーアップするのは、集積回路用の内部クロック信号を生成するために用いられるクロック回路をオフにしなければならないため、問題がある。クロック信号はクロック回路をパワーアップする際に必要であるが、低電力状態の間に集積回路において利用可能となり得る内部クロックはいずれも、クロック回路のパワーアップ用途には適していない。集積回路が同期式バスに結合されている場合、同期式バスからの外部クロック信号が、クロック回路のパワーアップ用途に利用可能となり得る。一方、集積回路が同期式バスに結合されている場合において、位相ロックループ（ＰＬＬ）がオフにされると、上記のような外部クロックは、クロック回路のパワーアップ用途に利用できなくなる。低電力状態の間にＰＬＬがイネーブル状態のままであると、ＰＬＬは電力を大量に消費するため、望ましくない。
【０００７】
従って、クロック信号を供給するクロック回路がオフにされるときに、低電力状態から遷移しようとする集積回路をパワーアップするための装置、システムおよび方法が必要とされている。
【０００８】
（発明の要旨）
従って、本発明は、クロック信号を供給するクロック回路がオフにされるときに、低電力状態から遷移しようとする集積回路をパワーアップするための装置、システムおよび方法を提供する。
【０００９】
本発明は、中央プロセッサに結合された集積回路に関する上記の必要事項を満たす。この集積回路は、プロセッサインターフェースと、プロセッサインターフェース回路に結合されたパワーマネージメント回路と、プロセッサインターフェース回路に結合されたクロック生成回路と、パワーマネージメント回路とを含む。
【００１０】
プロセッサインターフェース回路は、集積回路と中央プロセッサとの間にインターフェースを提供する。プロセッサインターフェース回路は、中央プロセッサからプログラム情報を格納する１組のレジスタを含む。この１組のレジスタにおいて、プログラム情報は、集積回路の所望の電力状態に関する情報と、イネーブル化データビットとを含む。これは、第１の（低）電力状態の間にアクセス可能な１組のレジスタである。パワーマネージメント回路は、１組のレジスタによって格納されたプログラム情報に応答して、集積回路の所望の電力状態を制御する。パワーマネージメント回路は、少なくとも第１の（低）電力状態および第２の（通常の）電力状態をサポートする。パワーマネージメント回路は、２つの電力状態間の遷移に対し、電力供給の順序付けを行う。クロック生成回路は、パワーマネージメント回路と、１組のレジスタ中に格納されたプログラム情報とによって制御され、これにより、第１の電力状態の間、クロック生成回路は、電力節約のために実質的にディセーブルされ、第２の電力状態の間、クロック生成回路は、集積回路を動作させるためにイネーブルされる。
【００１１】
別の実施形態において、クロック生成回路は、発振器回路と、発振器回路に結合された複数の位相ロックループ（ＰＬＬ）回路とをさらに含む。発振器回路は、基準クロック信号を生成する。複数のＰＬＬ回路は、基準クロック信号に基づいて誘導クロック信号を生成する。プログラム情報は、ＰＬＬ回路が誘導クロック信号を生成する際にＰＬＬ回路によって用いられる乗法ファクタおよび除法ファクタをさらに含む。
【００１２】
本発明の全ての特徴および利点は、以下の本発明の好適な実施形態の詳細な説明から明らかとなる。本発明の好適な実施形態の説明は、添付の図面と共に参照されるべきである。
【００１３】
（発明の詳細な説明）
以下の本発明の詳細な説明において、本発明に対するより深い理解を提供するために、多くの特定の詳細について説明する。しかし、これらの特定の詳細が無くとも本発明が実施可能であることは、当業者にとって明らかである。別の場合において、本発明の局面を不必要に分かりにくくしないよう、周知の方法、手順、構成要素および回路についての詳細な説明は控えた。以下の本発明の詳細な説明では、表示／グラフィックスコントローラを含む一実施形態における本発明の用途について説明するが、本発明は通信デバイス等の他の周辺デバイスにも適用可能であることが理解される。
【００１４】
本発明によれば、いくつかのプログラム可能なレジスタを一組として、集積デバイスのＣＰＵインターフェースユニット（ＣＩＦ）（例えば、表示／グラフィックスコントローラ）の内部に保存する。このＣＩＦは、低電力状態モード（好適な実施形態の場合、例えばソフトウェア制御によるスリープモードＤ３）の間でも、ＣＰＵによるアクセスが可能である。プログラム可能なレジスタは、プログラムビットを格納する。これらのプログラムビットは、パワーマネージメントユニット（ＰＭＵ）に対し、所望の電力状態と、クロック回路がイネーブルされるかまたはディセーブルされるかとを示すために用いられる。これらのプログラム可能なレジスタはまた、乗法ファクタおよび除法ファクタも格納する。これらの乗法ファクタおよび除法ファクタは、クロック回路が自身のクロック速度を判定する際にクロック回路によって用いられる。言い換えれば、プログラムされたレジスタを用いて、集積デバイスが低電力状態から通常の状態に遷移することを可能にするために必要な情報を規定する。この情報と、約１６ｋＨｚの低速クロック速度を有するリアルタイムクロック信号ＰＭＣＬＫＩとを用いて、ＰＭＵは、所定の電力供給順序を通じて、低電力状態から通常の状態へと遷移する。この遷移は、クロック回路のパワーアップを含む。こうすることにより、本発明を、同期式プロセッサバスまたは非同期式プロセッサバスのいずれかでインプリメントすることが可能となる。
【００１５】
ここで、図１を参照して、図１は、例えば、本発明のインプリメンテーションまたは実施が可能なコンピュータシステム１００の高レベル図を示す。より詳細には、コンピュータシステム１００は、ラップトップコンピュータシステムまたはハンドヘルドコンピュータシステムであり得る。コンピュータシステム１００は例示的なものに過ぎず、本発明は、複数の異なるコンピュータシステム（例えば、デスクトップコンピュータシステム、汎用コンピュータシステム、埋設型コンピュータシステム等）においても動作可能であることが、理解される。
【００１６】
図１に示すように、コンピュータシステム１００は、高集積型システムであり、集積プロセッサ回路１０１と、周辺コントローラ１０２と、読取り専用メモリ（ＲＯＭ）１０３と、ランダムアクセスメモリ（ＲＡＭ）１０４とからなる。この高集積型アーキテクチャにより、高性能および低電力消費が可能となる。集積プロセッサ回路１０１内に提供されていない複雑かつ／または高ピンカウント型の周辺機器とインターフェースをとることが必要な場合、コンピュータシステムアーキテクチャ１００は、周辺コントローラも含み得る。
【００１７】
周辺コントローラ１０２は集積プロセッサ回路１０１の一端に接続され、ＲＯＭ１０３およびＲＡＭ１０４は、集積プロセッサ回路１０１のもう一方の一端に接続される。集積プロセッサ回路１０１は、処理ユニット１０５と、メモリインターフェース１０６と、グラフィックス／表示コントローラ１０７と、ダイレクトメモリアクセス（ＤＭＡ）コントローラ１０８と、符号器／復号器（ＣＯＤＥＣ）インターフェース１０９を含むコア論理機能と、パラレルインターフェース１１０と、シリアルインターフェース１１１と、入力デバイスインターフェース１１２と、フラットパネルインターフェース（ＦＰＩ）１１３とを含む。処理ユニット１０５は、中央処理ユニット（ＣＰＵ）およびメモリ管理ユニット（ＭＭＵ）を、命令／データキャッシュと統合する。
【００１８】
ＣＯＤＥＣインターフェース１０９は、音声ソースおよび／またはモデムが集積プロセッサ回路１０１に接続するためのインターフェースを提供する。パラレルインターフェース１１０は、パラレル入力／出力（Ｉ／Ｏ）デバイス（例えば、ハードディスク、プリンタ等）が集積プロセッサ回路１０１に接続することを可能にする。シリアルインターフェース１１１は、シリアルＩ／Ｏデバイス（例えば、ユニバーサル非同期型レシーバトランスミッタ（ＵＡＲＴ））を集積プロセッサ回路１０１に接続するためのインターフェースを提供する。入力デバイスインターフェース１１２は、入力デバイス（例えば、キーボード、マウスおよびタッチパッド）を集積プロセッサ回路１０１と接続するためのインターフェースを提供する。
【００１９】
ＤＭＡコントローラ１０８は、ＲＡＭ１０４中に格納されているデータにメモリインターフェース１０６を介してアクセスし、そのデータを、ＣＯＤＥＣインターフェース１０９、パラレルインターフェース１１０、シリアルインターフェース１１１または入力デバイスインターフェース１１２に接続された周辺デバイスに提供する。グラフィックス／表示コントローラ１０７は、ＲＡＭ１０４からの映像／グラフィックスデータにメモリインターフェース１０６を介してリクエストおよびアクセスする。次いで、グラフィックス／表示コントローラ１０７は、データを処理し、処理したデータをフォーマット化し、フォーマット化されたデータを、表示デバイス（例えば、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）またはテレビ（ＴＶ）モニタ）に送る。コンピュータシステム１００において、１つのメモリバスを用いて、集積プロセッサ回路１０１をＲＯＭ１０３およびＲＡＭ１０４に接続する。
【００２０】
好適な実施形態において、本発明は、グラフィックス／表示コントローラ１０７の一部としてインプリメントされる。ここで図２を参照して、図２は、グラフィックス／表示コントローラ１０７をより詳細に示したものである。グラフィックス／表示コントローラ１０７は一般的には、ＣＰＵインターフェースユニット（ＣＩＦ）２０１と、フレームバッファ２０２と、位相ロックループ（ＰＬＬ）回路２０３と、発振器２０４と、パワーマネージメントユニット（ＰＭＵ）２０５と、グラフィックスエンジン（ＧＥ）ｗ／ＦＩＦＯインターフェース２０６と、メモリインターフェースユニット（ＭＩＵ）２０７と、表示コントローラ１＆２（ＤＣ１＆ＤＣ２）２０８と、フラットパネルインターフェース（ＦＰＩ）２０９と、ＣＲＴデジタル／アナログ変換器（ＤＡＣ）２１０と、マスターモードモジュール２１１とを含む。ＣＩＦ２０１は、処理ユニット１０５およびＤＭＡコントローラ１０８に対するインターフェースを提供する。そのため、ＣＩＦ２０１は、処理ユニット１０５から受け取ったリクエストおよびデータを所望の宛先に経路設定する。特に、ＣＩＦ２０１は、ホストＣＰＵ処理ユニット１０５およびＤＭＡコントローラ１０８からのレジスタ読出し／書込みリクエストおよびメモリ読出し／書込みリクエストを、グラフィックス／表示コントローラ１０７内の適切なモジュールに送る。例えば、メモリ読出し／書込みリクエストはＭＩＵ２０７へと送られ、次いで、ＭＩＵ２０７は、フレームバッファ２０２へのデータの読出し／書込みの出入力を行う。ＣＩＦ２０１はまた、ＤＭＡコントローラ１０８との連絡（ｌｉａｉｓｏｎ）としても機能し、システムメモリ（ＲＯＭ１０３およびＲＡＭ１０４）からのデータをフェッチし、そのデータをＧＥ２０６およびＭＩＵ２０７に提供する。さらに、ＣＩＦ２０１は、処理ユニット１０５内のホストＣＰＵによってプログラム可能な電力モードレジスタＰＭＣＳＲも有し、これにより、グラフィックス／表示コントローラ１０７の電力状態を制御する。
【００２１】
フレームバッファ２０２は、モニタに表示される画像のピックスマップを格納するために用いられ、また、様々な目的のための一時バッファとして機能するためにも用いられる。発振器２０４は、基準クロック信号をＰＬＬ回路２０３に提供し、次いで、ＰＬＬ回路２０３は、グラフィックス／表示コントローラ１０７中の異なるモジュール用に、３つのプログラム可能な位相ロックループクロック信号ＰＬＬ１、ＰＬＬ２およびＰＬＬ３を生成する。より詳細には、クロック信号ＰＬＬ１はＧＥ２０６およびＭＩＵ２０７用に用いられ、クロック信号ＰＬＬ２およびＰＬＬ３は、表示コントローラ１＆２（ＤＣ１＆ＤＣ２）２０８用に用いられる。ＰＭＵ２０５は、ＣＩＦ２０１中のＰＭＣＳＲレジスタと外部信号ＰＤＷＮＬＩとをモニタリングして、所望の電力状態を判定する。次いで、ＰＭＵ２０５は、異なるモジュールをイネーブルまたはディセーブルし、特定の電力状態について、様々なモジュールに必要なパワーオンおよびパワーオフの順序付けを行う。ＧＥ２０６は、グラフィックス画像データを処理し、処理されたグラフィックス画像データは、ホストＣＰＵによって発行されたコマンドに基づいて、フレームバッファ２０２内に格納される。フレームバッファ２０２およびシステムメモリ双方からのデータを必要とし得るコマンド（例えば、ラスター動作（ＲＯＰ）を行うためのコマンド）も存在することは、当業者にとって明らかである。マスターモードモジュール２１１は、ＧＥ２０６が、ホストＣＰＵによって発行されたシステムメモリ（ＲＯＭ１０３およびＲＡＭ１０４）中のキューコマンドをフェッチすることを可能にする。
【００２２】
ＭＩＵ２０７は、フレームバッファ２０２から出入力される読出しトランザクションおよび書込みトランザクション全てを制御する。このような読出しリクエストおよび書込みリクエストは、ホストＣＰＵから、ＣＩＦ２０１、ＧＥ２０６、表示コントローラ１＆２（ＤＣ１＆ＤＣ２）２０８、ＦＰＩ２０９等を介して、送られ得る。表示コントローラ２０８は、ＭＩＵ２０７を介してフレームバッファ２０２から画像データを取り出し、その画像データを画素としてシリアル化し、その後、そのデータをＦＰＩ２０９またはＣＲＴ  ＤＡＣ２１０に出力する。従って、表示コントローラ１＆２  ２０８は、必要な水平方向の表示タイミング信号および垂直方向の表示タイミング信号を生成する。関連の表示デバイスがＬＣＤである場合、表示コントローラ２０８からの画素データはＦＰＩ２０９へと送られ、その後、ＬＣＤへと送られる。好適な実施形態において、表示コントローラ１＆２  ２０８は、通常はフラットパネルディスプレイ（ＦＰＤ）に用いられる表示コントローラ１（ＤＣ１）と、通常はＣＲＴに用いられる表示コントローラ２（ＤＣ２）とを含む。さらに、ＦＰＩ２０９は、異なる色相またはグレーシェードを表示用にさらに追加することにより、データを処理する。さらに、薄膜トランジスタ（ＴＦＴ）ＬＣＤ（アクティブマトリクスＬＣＤともいう）またはスーパーツイスト型ネマチック（ＳＴＮ）ＬＣＤ（パッシブマトリクスＬＣＤともいう）のいずれが用いられるかに応じて、ＦＰＩ２０９は、データを表示形式に適するようにフォーマット化する。さらに、モノクロのＬＣＤが用いられる場合、ＦＰＩ２０９は、カラーデータのモノクロデータへの変換を可能にする。逆に言えば、表示デバイスが陰極線管（ＣＲＴ）である場合、画素データは、ＣＲＴへと送られる前に、ＣＲＴデジタル／アナログ変換器（ＤＡＣ）２１０に提供される。ＣＲＴ  ＤＡＣ２１０は、表示コントローラ２０８からのデジタル画素データを、ＣＲＴモニタ上への表示用として、アナログ赤緑青（ＲＧＢ）信号に変換する。
【００２３】
ここで図３を参照して、図３は、ＰＭＵ２０５をより詳細に示したものである。図３に示すように、ＰＭＵ２０５は、状態機器回路３０１と、カウンタ回路３０２と、復号器３０３と、クロックイネーブル回路３０４と、メモリイネーブル回路３０５と、表示イネーブル回路３０６と、フラットパネルイネーブル回路３０７と、バッファ３０８〜３０９と、インバータ３１０とを含む。チップリセット信号ＣＣＲＳＴＬは、バッファ３０８によってバッファされる。バッファ３０８の出力信号ＰＭＲＳＴＬを用いて、状態機器回路３０１をデフォルト電力状態にリセットする。信号ＰＭＲＳＴＬは、入力として状態機器回路３０１およびカウンタ回路３０２に提供される。パワーマネージメントクロック信号ＰＭＣＬＫＩ（リアルタイムクロック信号ＲＴＣＬＫともいう）は、低速クロックであり、入力としてバッファ３０９およびインバータ３１０に提供される。バッファ３０９およびインバータ３１０は、信号ＰＭＣＬＫおよび信号ＰＭＣＬＫＬをそれぞれ出力する。従って、信号ＰＭＣＬＫＬは、信号ＰＭＣＬＫＩおよび信号ＰＭＣＬＫを反転したものである。本発明の実施形態において、パワーマネージメントクロック信号ＰＭＣＬＫＩは、１６．３８４ｋＨｚの速度を有する。このクロック速度において、パワーマネージメントクロック信号ＰＭＣＬＫＩは、それほど高速ではないため、表示／グラフィックスコントローラ１０７を低電力状態からパワーアップさせる用途向けではなく、それよりも、パワーマネージメントクロック信号ＰＭＣＬＫＩは、電力供給の順序付けに必要なタイミングを生成するためにＰＭＵ２０５によって用いられる。
【００２４】
クロック信号ＰＭＣＬＫＬおよびＰＭＣＬＫは、入力として状態機器回路３０１およびカウンタ回路３０２にそれぞれ提供される。状態機器回路３０１は、クロック信号ＰＭＣＬＫＬの立ち上がりエッジにおいてクロックされる。状態機器回路３０１の入来信号は全て、クロック信号ＰＭＣＬＫの立ち上がりエッジにおいて生成される。信号ＰＭＣＬＫの立ち上がりエッジは、クロック信号ＰＭＣＬＫＬの立ち上がりエッジよりも１８０°だけ遅れる。そうすることにより、設定および保持時間が充分に状態機器回路３０１に提供され、これにより、クロックスキューに関連する問題が最小となり、そのため、状態機器回路３０１の入来信号によって搬送される有効情報をラッチすることが可能となる。加えて、状態機器回路３０１の出力信号および復号器出力３０３によって生成された復号された出力信号は、クロックＰＭＣＬＫの立ち上がりエッジにおいて、イネーブル回路３０４〜３０７によってラッチされる。
【００２５】
カウンタ回路３０２を用いて、電力供給の順序付けの際、２つの回路またはモジュールのディセーブルまたはイネーブルの間の時間間隔を判定する。このような時間間隔は、回路／モジュールが適切にイネーブルまたはディセーブルされることを確実にするために必要である。本発明によれば、このような時間間隔はプログラム可能である。好適には、電力供給の順序付け間隔には主に以下の２種類がある：すなわち、汎用用途の電力供給の順序付け間隔（以下、Ｔiという）と、フラットパネル用途の電力供給の順序付け間隔（以下、Ｔjという）。フラットパネル用途の電力供給の順序付けは一般的には、汎用用途の電力供給の順序付けの一部として必要とされ得る。このようなフラットパネル用途の電力供給の順序付けが必要となり得るのは、フラットパネルディスプレイ（ＦＰＤ）は通常、特定の順序でのイネーブルを必要とする２つまたは３つの電力供給元を有するからである。一例として、ＦＰＤが２つの電力供給元を必要とする場合、第１の電力供給元をイネーブルした後、次いで、フラットパネル制御信号およびフラットパネルデータ出力信号をイネーブルしなければならず、そしてその後、第２の電力供給元をイネーブルする。どちらのタイプの電力供給の順序付け間隔にも、同じカウンタを用いることが可能である。なぜならば、これらの間隔は異なるタイミングで発生するからである。Ｔｉは、ビットＰＭ００Ｒ［１９：１８］によって制御され、これにより、１６ＰＭＣＬＫクロックサイクル、３２ＰＭＣＬＫクロックサイクル、６４ＰＭＣＬＫクロックサイクルまたは１２８ＰＭＣＬＫクロックサイクルの継続時間を有する。Ｔｊは、ビットＰＭ００Ｒ［２１：２０］によって制御され、これにより、５１２ＰＭＣＬＫクロックサイクル、１０２４ＰＭＣＬＫクロックサイクル、２０４８ＰＭＣＬＫクロックサイクルまたは４０９６ＰＭＣＬＫクロックサイクルの継続時間を有する。好適な実施形態において、さらに、カウンタ回路３０２を用いて、電力供給順序決定（ｓｅｔｔｌｉｎｇ）時間を判定することも可能である。この電力供給順序決定時間は、パワーアップ／パワーダウンの順序付けの終端部と次のパワーアップ／パワーダウン順序付けとの間の最短待機期間である。この電力決定時間は、４ＰＭＣＬＫクロックサイクルで固定される。
【００２６】
状態機器回路３０１は、信号ＰＭＣＥを生成して、カウンタ回路３０２をイネーブルまたはディセーブルする。イネーブル信号ＰＭＣＥがＨＩＧＨにアサートされると、カウンタ回路３０２はイネーブルされる。別の場合、イネーブル信号ＰＭＣＥがＬＯＷにデアサートされると、カウンタ回路３０２は、リセットされた後にディセーブルされる。クロック信号ＰＭＣＬＫを用いて、カウンタ回路３０２を駆動する。カウンタ回路３０２は、信号ＰＭＣＩおよびＰＭＣＪをアサートし、これらの信号ＰＭＣＩおよびＰＭＣＪは、入力として状態機器回路３０１へと提供され、これにより、状態機器回路３０１に対し、間隔ＴiおよびＴjがそれぞれ終了したことを示す。カウンタ回路３０２はさらに、信号ＰＭＣ２をアサートし得、この信号ＰＭＣ２も、入力として状態機器回路３０１に提供され、これにより、状態機器回路３０１に対し、カウンタ回路３０２が３ＰＭＣＬＫクロックサイクルにわたってイネーブルされたことを示す。
【００２７】
状態機器回路３０１は一般的には、ＰＭＵ２０５の電力状態を判定およびモニタリングするために用いられる。電力状態ビットＰＭＣＳＲ［１：０］および信号ＰＤＷＮＬＩは、入力として状態機器回路３０１に提供され、ＰＭＵ２０５がこれから入る電力状態を指示する。ビットＰＭＣＳＲ［１：０］および信号ＰＤＷＮＬＩは、状態機器回路３０１において復号され、これにより、電力状態信号ＰＭＤ［４：０］を生成する。電力状態信号ＰＭＤ［４：０］は、状態機器回路３０１への実際の入力である。ＰＭＤ［４：０］の値が変化した場合、これは、電力状態に変化が生じたことを示し、その結果、電力供給の順序付けを行うＰＭ状態機器がトリガされ、これにより、電力供給の順序付けが実行され、旧電力状態から新規電力状態への遷移が行なわれる。
【００２８】
ここで図３Ａを参照して、図３Ａは、状態機器回路３０１をより詳細に示したものである。図３Ａに示すように、状態機器回路３０１は、ＰＭ状態機器３５１と、ＡＮＤゲート３５２〜３５５と、インバータ３５６とを含む。状態機器回路３０１は、入力信号ＦＰＰＳ、ＭＩＵＰＳ、ＰＭＣＩ、ＰＭＣＪ、ＰＭＣ２、ＰＭＣＳＲ［１：０］、ＰＤＷＮＬＩ、ＰＭＲＳＴＬおよびＰＭＣＬＫＬを受信し、出力信号ＰＭＤ［４：０］、ＰＭＳ［５：０］、ＰＭＳＱＤＯＮＥおよびＰＭＳＱＡＣＴを提供する。ＡＮＤゲート３５２〜３５５およびインバータ３５６は、協働してビットＰＭＣＳＲ［１：０］および信号を復号し、電力状態信号ＰＭＤ［４：０］を生成する。より詳細には、ビットＰＭＣＳＲ［０］の反転と、ビットＰＭＣＳＲ［１］の反転と、ビットＰＤＷＮＬＩとが、入力としてＡＮＤゲート３５２に提供され、ＡＮＤゲート３５２は、ビットＰＭＤ［０］を出力する。ビットＰＭＣＳＲ［０］と、ビットＰＭＣＳＲ［１］の反転と、ビットＰＤＷＮＬＩとが、入力としてＡＮＤゲート３５３に提供され、ＡＮＤゲート３５３はビットＰＭＤ［１］を出力する。ビットＰＭＣＳＲ［０］の反転と、ビットＰＭＣＳＲ［１］と、ビットＰＤＷＮＬＩとが、入力としてＡＮＤゲート３５４に提供され、ＡＮＤゲート３５４はビットＰＭＤ［２］を出力する。ビットＰＭＣＳＲ［０］と、ビットＰＭＣＳＲ［１］と、ビットＰＤＷＮＬＩとが、入力としてＡＮＤゲート３５５に提供され、ＡＮＤゲート３５５は、ビットＰＭＤ［３］を出力する。ビットＰＤＷＮＬＩがインバータ３５６に提供され、インバータ３５６はビットＰＭＤ［４］を出力する。ＰＭ状態機器３５１は、信号ＰＭＲＳＴＬと、ＰＭＣＬＫＬと、ＦＰＰＳと、ＭＩＵＰＳと、ＰＭＣＪと、ＰＭＣＩと、ＰＭＣ２と、電力状態信号ＰＭＤ［４：０］とを入力として受信する。以下により詳細に説明するように、ＰＭ状態機器３５１は、信号ＰＭＣＥと、信号ＰＭＳＱＤＯＮＥと、信号ＰＭＳＱＡＣＴと、信号ＰＭＳ［５：０］とを出力して生成する。
【００２９】
下記の表１は、電力状態ビットＰＭＣＳＲ［１：０］および信号ＰＤＷＮＬＩを復号することにより生成される異なる電力状態を示す。
【００３０】
【表１】
0004843144.tif 000002
表１に示すように、好適な実施形態において、ＰＭＵ２０５によってサポートされる５つの可能な電力状態Ｄ０〜Ｄ４がある。好適な実施形態のもとにおいて、Ｄ０（すなわち、ＰＭＤ［４：０］は００００１）は通常の電力状態であり、Ｄ１は、第１のレジスタ制御によるプログラム可能な電力状態（すなわち、ＰＭＤ［４：０］は０００１０）であり、Ｄ２は、第２のレジスタ制御によるプログラム可能な電力状態（すなわち、ＰＭＤ［４：０］は００１００）であり、Ｄ３は、ソフトウェア制御によるスリープ電力状態（すなわち、ＰＭＤ［４：０］は０１０００）であり、Ｄ４は、ハードウェア制御によるスリープ電力状態（すなわち、ＰＭＤ［４：０］は１００００）である。通常の電力状態Ｄ０の間、その名称が示すとおり、表示／グラフィックスコントローラ１０７は、自身の通常の機能モードである。この通常の機能モードは通常、表示／グラフィックスコントローラ１０７の回路およびモジュールが全てイネーブル（パワーアップ）可能であることを示す。電力状態Ｄ１は、プログラム可能なパワーセーブモードである。電力状態Ｄ１において、ＣＩＦ２０１およびＰＭＵ２０５はイネーブルされ、表示／グラフィックスコントローラ１０７中の他の回路およびモジュールは、ＰＭ０１Ｒレジスタによる制御通りにイネーブルまたはディセーブルが可能である。ＰＭ０１Ｒレジスタはユーザによるプログラムが可能であるため、この電力状態に関連する電力供給の順序付けは、本発明に従って柔軟に行なわれる。電力状態Ｄ２は、第２のプログラム可能なパワーセーブモードである。電力状態Ｄ２において、ＣＩＦ２０１およびＰＭＵ２０５はイネーブルされ、表示／グラフィックスコントローラ１０７中の他の回路およびモジュールは、ＰＭ０２Ｒレジスタによる制御通りにイネーブルまたはディセーブルが可能である。ＰＭ０２Ｒレジスタはユーザによるプログラムが可能であるため、この電力状態に関連する電力供給の順序付けは、本発明に従って柔軟に行なわれる。
【００３１】
電力状態Ｄ３は、ソフトウェア制御によるスリープモードである。電力状態Ｄ３では、電力の節約が目的であるため、表示／グラフィックスコントローラ１０７中の殆どの回路およびモジュール（例えば、ＣＩＦ２０１中の殆どのサブ回路）は、ディセーブル（パワーダウン）される。電力状態Ｄ３中にイネーブル状態である唯一の回路およびモジュールは、ＣＩＦ２０１内のコンフィギュレーションレジスタであり、これらのコンフィギュレーションレジスタは、ＰＭＣＳＲ［１：０］およびＰＭＵ２０５を含む。Ｄ３状態の場合、さらに、ＭＩＵ２０７の一部であるメモリリフレッシュ回路を、プログラム可能なレジスタビットの制御通りにオプションでイネーブルすることが可能である。好適には、電力状態Ｄ３はデフォルト状態であり、表示／グラフィックスコントローラ１０７はリセットされる。電力状態Ｄ４はハードウェア制御によるスリープモードであり、最低パワーセーブモードである。電力を節約するために、表示／グラフィックスコントローラ１０７中の実際に全ての回路およびモジュール（例えば、ＣＩＦ２０１内の全サブ回路）が、ディセーブル（パワーダウン）される。電力状態Ｄ４中にイネーブル状態である唯一のモジュールはＰＭＵ２０５である。Ｄ４状態の場合、さらに、ＭＩＵ２０７の一部であるメモリリフレッシュ回路を、プログラム可能なレジスタビットによる制御通りにオプションでイネーブルすることが可能である。
【００３２】
表１に示すように、入力信号ＰＷＤＮＬＩは、ハードウェア制御によるスリープモードＤ４を制御するために用いられる。信号ＰＷＤＮＬＩがＨＩＧＨになると、信号ＰＷＤＮＬＩは、異なる順番のビットＰＭＣＳＲ［１：０］と組み合わされ、これにより、４つの異なる電力状態（Ｄ０〜Ｄ３）が形成される。信号ＰＷＤＮＬＩがＬＯＷになると、信号ＰＷＤＮＬＩは、任意の順列のビットＰＭＣＳＲ［１：０］と組み合わされ、これにより、残りの電力状態（Ｄ４）が形成され得る。
【００３３】
ＰＭ状態機器回路３５１はさらに、信号ＭＩＵＰＳと、信号ＦＰＰＳと信号ＰＭＲＳＴＬとを入力として受信する。ＭＩＵ２０７またはＦＰＩ２０９がそれぞれイネーブル／ディセーブルされると、信号ＭＩＵＰＳおよびＦＰＰＳを用いて、電力供給の順序付けをトリガする。ＰＭ状態機器３５１はまた、信号ＰＭＣＩと、ＰＭＣＪと、ＰＭＣ２とを受信する。これらの信号ＰＭＣＩと、ＰＭＣＪと、ＰＭＣ２は、カウンタ回路３０２の出力である。アクティブＬＯＷである信号ＰＭＲＳＴＬを用いて、ＰＭ状態機器３５１をリセットする。ＰＭ状態機器３５１は、上述したような信号ＰＭＣＥおよび電力状態信号ＰＭＤ［４：０］の出力に加えて、信号ＰＭＳ［５：０］と、信号ＰＭＳＱＤＯＮＥと、信号ＰＭＳＱＡＣＴとをさらに出力する。信号ＰＭＳＱＡＣＴは、汎用用途の電力供給の順序付けが現在発生していることを示し、信号ＰＭＳＱＤＯＮＥは、汎用用途の電力供給の順序付けが現在終了したことを示す。状態符号化信号ＰＭＳ［５：０］は、ＰＭ状態機器３５１における状態全てを示すために用いられる。表２は、ＰＭ状態機器３５１の機器状態を示す。
【００３４】
【表２】
0004843144.tif 000003
表２に示すように、５つの主要な状態Ｓ００（Ｄ０）、Ｓ１０（Ｄ１）、Ｓ２０（Ｄ２）、Ｓ３０（Ｄ３）およびＳ４０（Ｄ４）がある。これらの状態は、強調するために太字で示している。好適な実施形態において、これらの５つの主要な状態は、３つの最上位ＰＭＳビット（すなわち、ＰＭＳ［５：３］）によって表現（符号化）される。この実施形態において、これらの主要状態の各々について、７つの関連サブ状態Ｓｘ１〜Ｓｘ７（ｘ＝０〜４）がある。しかし、他のサブ状態も各主要電力状態と関連し得ることは、当業者にとって明らかである。サブ状態Ｓｘ１〜Ｓｘ７は全て、３つの最下位ＰＭＳビット（すなわち、ＰＭＳ［２：０］）によって表現（符号化）される。この実施形態における主要状態およびサブ状態に対応する状態符号化値は、状態符号化信号ＰＭＳ［５：０］によって搬送される。これらの状態符号化値も、表２中に示す。
【００３５】
状態符号化信号ＰＭＳ［５：０］およびイネーブル信号ＰＭＣＥは、入力として復号器３０３に提供される。復号器３０３は、これらの信号を復号化して、状態信号ＰＭＰ［７：１］、ＰＭＤ０Ｘ、ＰＭＤ１ＸおよびＰＭＤ２Ｘを生成する。状態信号ＰＭＰ［７：１］はワンクロックパルス信号であり、対応するサブ状態Ｓｘ１〜Ｓｘ７（ｘ＝０〜４）の開始部分を示す。ＰＭ状態機器３５１が状態Ｓ００、状態Ｓ０１、状態Ｓ０２、状態Ｓ０３、状態Ｓ０４、状態Ｓ０５、状態Ｓ０６および状態Ｓ０７になると、状態信号ＰＭＤ０Ｘがアサートされる。ＰＭ状態機器３５１が状態Ｓ１０、状態Ｓ１１、状態Ｓ１２、状態Ｓ１３、状態Ｓ１４、状態Ｓ１５、状態Ｓ１６および状態Ｓ１７になると、状態信号ＰＭＤ１Ｘがアサートされる。ＰＭ状態機器３５１が状態Ｓ２０、状態Ｓ２１、状態Ｓ２２、状態Ｓ２３、状態Ｓ２４、状態Ｓ２５、状態Ｓ２６および状態Ｓ２７になると、状態信号ＰＭＤ２Ｘがアサートされる。状態信号ＰＭＰ［７：１］は、クロックイネーブル回路３０４、メモリイネーブル回路３０５、表示イネーブル回路３０６およびフラットパネルイネーブル回路３０７に入力として提供される。状態信号ＰＭＤ０Ｘ、ＰＭＤ１ＸおよびＰＭＤ２Ｘは、表示イネーブル回路３０６に入力として提供される。
【００３６】
雑制御レジスタＰＭ００Ｒ、Ｄ１制御レジスタＰＭ０１ＲおよびＤ２制御レジスタＰＭ０２Ｒは、電力供給の順序付けの間に特定の回路またはモジュールをイネーブルまたはディセーブルすべきかを制御するために用いられる。これらの制御レジスタ中のビットは一般的には、イネーブルまたはディセーブルされるべき特定の回路／モジュールに割り当てられる。例えば、雑制御レジスタＰＭ００Ｒのビット０〜３は、クロック発振器（ＯＳＣＣＬＫ）、ＰＬＬ１、ＰＬＬ２およびＰＬＬ３をそれぞれイネーブル（パワーアップ）またはディセーブル（パワーダウン）するために用いられ得る。制御レジスタはユーザによるプログラムが可能であるため、制御レジスタは、選択された回路／モジュールを所望の電力供給順序でイネーブルまたはディセーブルすることを可能にする。
【００３７】
クロックイネーブル回路３０４は一般的には、発振器、ＰＬＬ１、ＰＬＬ２およびＰＬＬ３用のイネーブル信号を生成する。クロックイネーブル回路３０４は、信号ＰＭＣＬＫ、信号ＰＭＲＳＴＬ、信号ＰＭ００Ｒ［１７：１６、３：０］、信号ＰＭ０１Ｒ［３：０］および信号ＰＭ０２Ｒ［３：０］を入力として受信する。加えて、クロックイネーブル回路３０４は、信号ＰＭＤ［４：０］、信号ＰＭＰ［７］および信号ＰＭＰ［１］も入力として受信する。好適な実施形態において、雑制御レジスタＰＭ００Ｒ（すなわち、ＰＭ００Ｒ［０：３］）のビット０〜３は、クロック発振器（ＯＳＣＣＬＫ）、ＰＬＬ１、ＰＬＬ２およびＰＬＬ３をそれぞれイネーブル（パワーアップ）またはディセーブル（パワーダウン）するために用いられる。レジスタＰＭ００Ｒのビット１６〜１７（すなわち、ＰＭ００Ｒ［１７：１６］）は、状態Ｄ３および状態Ｄ４のそれぞれの間にフレームバッファ２０２のメモリリフレッシュをイネーブル／ディセーブルするために用いられる。Ｄ１状態制御レジスタＰＭ０１Ｒのビット０〜３は、Ｄ１電力状態の場合に、クロック発振器（ＯＳＣＣＬＫ）、ＰＬＬ１、ＰＬＬ２およびＰＬＬ３をそれぞれイネーブル／ディセーブルするために用いられる。Ｄ２状態制御レジスタＰＭ０２Ｒのビット０〜３は、Ｄ２電力状態の場合に、クロック発振器（ＯＳＣＣＬＫ）、ＰＬＬ１、ＰＬＬ２およびＰＬＬ３をそれぞれイネーブル／ディセーブルするために用いられる。
【００３８】
所望のＰＭＵ電力状態（例えば、主要状態）を示す電力状態信号ＰＭＤ［４：０］と、サブ状態Ｓｘ７およびＳｘ１（ｘ＝０〜４）の開始部分を示す状態ビットＰＭＰ［７、１］とを用いて、クロックイネーブル回路３０４は、イネーブル信号ＰＭＯＳＣＥＮ、ＰＭＰＬＬ１ＥＮ、ＰＭＰＬＬ２ＥＮおよびＰＭＰＬＬ３ＥＮをアサートするか否かを判定する。さらに、これらのイネーブル信号をアサートする場合、クロックイネーブル回路３０４は、これらのイネーブル信号をアサートする適切な順序を判定する。信号ＰＭＲＳＴＬは、クロックイネーブル回路３０４をリセットするために用いられる。クロック信号ＰＭＣＬＫは、クロックイネーブル回路３０４中の伝播信号を同期およびラッチするために用いられる。
【００３９】
メモリイネーブル回路３０５は、ＭＩＵ、内部メモリリフレッシュおよび内部メモリ制限リフレッシュ用のイネーブル信号を生成する。メモリイネーブル回路３０５は、信号ＰＭＣＬＫ、信号ＰＭＲＳＴＬ、信号ＰＭ０１Ｒ［４］、信号ＰＭ０２Ｒ［４］およびＭＩＵＥＮＡ信号を入力として受信する。加えて、メモリイネーブル回路３０５は、信号ＰＭＤ［２：０］、信号ＰＭＰ［６］および信号ＰＭＰ［２］も入力として受信する。好適な実施形態において、ＭＩＵＥＮＡはレジスタビットである。ビットＭＩＵＥＮＡがＨＩＧＨになると、これは、ＭＩＵ２０７がイネーブルされること（現在の電力状態においてＭＩＵ２０７がイネーブル可能か否か）を示す。ビットＭＩＵＥＮＡがＬＯＷになると、これは、ＭＩＵ２０７がディセーブルされることを示す。Ｄ１状態制御レジスタＰＭ０１Ｒのビット４を用いて、Ｄ１電力状態のＭＩＵ２０７をイネーブル／ディセーブルする。ビット４のＤ２状態制御レジスタＰＭ０２Ｒを用いて、Ｄ２電力状態のＭＩＵ２０７をイネーブル／ディセーブルする。
【００４０】
所望の電力状態（例えば、主要状態）と、サブ状態Ｓｘ６およびＳｘ２（ｘ＝０〜４）およびＭＩＵＥＮＡ信号の状態を示す状態ビットＰＭＰ［６、２］とを表す電力状態信号ＰＭＤ［２：０］を用いて、メモリイネーブル回路３０５は、イネーブル信号ＰＭＭＩＵＥＮをアサートすべきか否を判定する。メモリイネーブル回路３０５は、信号ＭＩＵＰＳをさらに生成する。ＭＩＵ２０７がイネーブル／ディセーブルされると、信号ＭＩＵＰＳはＨＩＧＨにアサートされ、これにより、ＭＩＵ電力供給の順序付けが必要であることを示す。より詳細には、ＭＩＵ２０７がイネーブルされると、パワーアップの順序付けが必要となる。ＭＩＵ２０７がディセーブルされると、パワーダウンの順序付けが必要となる。信号ＰＭＲＳＴＬを用いて、メモリイネーブル回路３０５をリセットする。クロック信号ＰＭＣＬＫを用いて、メモリイネーブル回路３０５内の伝播信号を同期させ、ラッチさせる。
【００４１】
表示イネーブル回路３０６は、ＧＥ２０６、表示コントローラ２０８およびＣＲＴ  ＤＡＣ２１０用にイネーブル信号を生成する。表示イネーブル回路３０６は、信号ＰＭＣＬＫ、信号ＰＭＲＳＴＬ、信号ＰＭ００Ｒ［８］、信号ＰＭ０１Ｒ［２７、２５、２４、１９、１７、１６、８、６］および信号ＰＭ０２Ｒ［２７、２５、２４、１９、１７、１６、８、６］を入力として受信する。加えて、表示イネーブル回路３０６は、信号ＰＭＤ［２：０］、信号ＰＭＰ［３、５］、信号ＰＭＤ０Ｘ、信号ＰＭＤ１Ｘおよび信号ＰＭＤ２Ｘも入力として受信する。好適な実施形態において、現在の電力状態においてＧＥ２０６がイネーブル可能な場合、ビット８の雑制御レジスタＰＭ００Ｒ（すなわち、ＰＭ００Ｒ［８］）を用いて、ＧＥ２０６をイネーブル／ディセーブルする。Ｄ１電力状態において、ビット６、８、１６、１７、１９、２４、２５および２７のＤ１状態制御レジスタＰＭ０１Ｒを用いて、ＧＥ２０６、ＣＲＴ  ＤＡＣ２１０、表示コントローラ１、ウィンドウ１サブモジュール、カーソル１サブモジュール、表示コントローラ２、ウィンドウ２サブモジュールおよびカーソル２サブモジュールをイネーブル／ディセーブルする。同様に、Ｄ２電力状態において、ビット６、８、１６、１７、１９、２４、２５および２７のＤ２状態制御レジスタＰＭ０２Ｒを用いて、ＧＥ２０６、ＣＲＴ  ＤＡＣ２１０、表示コントローラ１、ウィンドウ１サブモジュール、カーソル１サブモジュール、表示コントローラ２、ウィンドウ２サブモジュールおよびカーソル２サブモジュールをイネーブル／ディセーブルする。ビットＰＭＤ０Ｘ、ＰＭＤ１ＸおよびＰＭＤ２Ｘは、アサートされると、状態機器回路３０１が主要状態にあるかそれともＤ０、Ｄ１およびＤ２主要状態への遷移状態にあるかをそれぞれ示す。
【００４２】
表示イネーブル回路３０６は、所望のＰＭＵ電力状態（例えば、主要状態）を示す電力状態信号ＰＭＤ［２：０］と、サブ状態Ｓｘ３およびＳｘ５（ｘ＝０〜４）の開始部分を示す状態ビットＰＭＰ［３、５］と、信号ＤＣＤＡＣＥＮＡ、信号ＤＣ１ＥＮＡおよび信号ＤＣ２ＥＮＡとを用いて、イネーブル信号ＰＭＧＥＥＮ、ＰＭＤＡＣＥＮ、ＰＭＤＣ１ＥＮおよびＰＭＤＣ２ＥＮをアサートするか否かを判定する。さらに、表示イネーブル回路３０６は、状態信号ＰＭＤ０Ｘ、ＰＭＤ１Ｘ、ＰＭＤ２Ｘを用いて、イネーブル信号ＰＭＤＣ１ＷＥＮ、ＰＭＤＣ１ＣＥＮ、ＰＭＤＣ２ＷＥＮおよびＰＭＤＣ２ＣＥＮをアサートするか否かを判定する。より詳細には、表示コントローラ２０８の表示コントローラ１用のイネーブル信号は、ＰＭＤＣ１ＥＮ、ＰＭＤＣ１ＷＥＮおよびＰＭＤＣ１ＣＥＮを含む。表示コントローラ２０８の表示コントローラ２用のイネーブル信号は、ＰＭＤＣ２ＥＮ、ＰＭＤＣ２ＷＥＮおよびＰＭＤＣ２ＣＥＮを含む。上記のイネーブル信号がアサートまたはデアサートされる場合、表示イネーブル回路３０６は、これらのイネーブル信号をアサートする適切な順序を判定する。現在の電力状態においてＣＲＴ  ＤＡＣ２１０がイネーブル可能である場合、信号ＤＣＤＡＣＥＮＡを用いて、ＣＲＴ  ＤＡＣ２１０をイネーブルする。信号ＤＣ１ＥＮＡおよびＤＣ２ＥＮＡはそれぞれ、表示コントローラ１および表示コントローラ２をイネーブルすべきか否かを示す。信号ＰＭＲＳＴＬを用いて、表示イネーブル回路３０６をリセットする。クロック信号ＰＭＣＬＫを用いて、表示イネーブル回路３０６中の伝播信号を同期およびラッチする。
【００４３】
フラットパネルイネーブル回路３０７は、ＦＰＩ２０９用のイネーブル信号と、フラットパネル電力供給の順序付けとＰＷＭイネーブルとを生成する。フラットパネルイネーブル回路３０７は、信号ＰＭＣＬＫ、信号ＰＭＲＳＴＬ、信号ＰＭ０１Ｒ［９］、信号ＰＭ０２Ｒ［９］、信号ＦＰＩＥＮＡおよび信号ＤＣＦＰＩＥＮＡを入力として受信する。加えて、フラットパネルイネーブル回路３０７は、信号ＰＭＤ［２：０］および信号ＰＭＰ［５：３］も入力として受信する。好適な実施形態において、ビット９のＤ１制御レジスタＰＭ０１Ｒ（すなわち、ＰＭ０１Ｒ［９］）を用いて、Ｄ１電力状態のフラットパネルディスプレイをイネーブル／ディセーブルする。同様に、ビット９のＤ２制御レジスタＰＭ０２Ｒ（すなわち、ＰＭ０２Ｒ［９］）を用いて、Ｄ２電力状態のフラットパネルディスプレイをイネーブル／ディセーブルする。ＦＰＩＥＮＡおよびＤＣＦＰＩＥＮＡは制御ビットである。ビットＦＰＩＥＮＡがＨＩＧＨになると、これは、現在の電力状態においてＦＰＩ２０９がイネーブル可能である場合、ＦＰＩ２０９がイネーブルされることを示す。ビットＤＣＦＰＩＥＮＡがＨＩＧＨになると、これは、ＦＰＩ２０９を駆動するように選択された表示コントローラ１＆２  ２０８のＤＣ１またはＤＣ２のいずれかがイネーブルされることを示す。
【００４４】
フラットパネルイネーブル回路３０７は、所望の電力状態（例えば、主要状態）を示す電力状態信号ＰＭＤ［２：０］と、信号ＦＰＩＥＮＡ、信号ＤＣＦＰＩＥＮＡと、サブ状態Ｓｘ３、Ｓｘ４およびＳｘ５（ｘ＝０〜４）の開始部分を示す状態ビットＰＭＰ［５：３］とを用いて、イネーブル信号ＰＭＥＮＶＤＤ、ＰＭＥＮＣＴＬおよびＰＭＥＮＶＥＥをアサートすべきか否かを判定する。ＦＰＩ２０９用のイネーブル信号はＰＭＥＮＣＴＬである。フラットパネル電力供給の順序付け用のイネーブル信号は、ＰＭＥＮＶＤＤ、ＰＭＥＮＣＴＬおよびＰＭＥＮＶＥＥを含む。これらのイネーブル信号がアサートされる場合、フラットパネルイネーブル回路３０７は、これらのイネーブル信号をアサートする適切な順序を決定する。フラットパネルイネーブル回路３０７は、信号ＦＰＰＳをさらに生成する。この信号ＦＰＰＳは、フラットパネルディスプレイがイネーブルまたはディセーブルされたときにＨＩＧＨにアサートされ、これにより、フラットパネル電力供給の順序付けが必要であることを示す。信号ＰＭＲＳＴＬを用いて、フラットパネルイネーブル回路３０７をリセットする。クロック信号ＰＭＣＬＫを用いて、フラットパネルイネーブル回路３０７中の伝播信号を同期およびラッチする。
【００４５】
ここで図４を参照して、図４は、本発明によるプログラム可能なレジスタをインプリメントするＣＩＦユニット２０１をより詳細に示したものである。ＣＩＦユニット２０１は、コンフィギュレーションレジスタ４０１と、同期化論理４０２と、状態機器４０３と、ＤＭＡコントローラ４０４とを含む。ＣＩＦユニット２０１は一般的には、ＣＰＵからのレジスタ読出し／書込みリクエストおよびメモリ読出し／書込みリクエストをプロセッサバスを介して受信し、相応にリクエストを実行する。状態機器４０３は、レジスタ読出し／書込みリクエストを、アドレス指定されたレジスタまたはアドレス指定されたレジスタがインプリメントされるモジュールに送る。状態機器４０３は、メモリ読出し／書込みリクエストをＭＩＵ２０７に送り、ＭＩＵ２０７は、フレームバッファ２０２に対してデータの読出し／書込みを行う。状態機器４０３の制御下にあるＤＭＡコントローラ４０４を用いて、システムメモリ（ＲＯＭ／ＲＡＭ）に対する出入力データをＧＥ２０６およびＭＩＵ２０７に移動させる。
【００４６】
表示／グラフィックスコントローラ１０７の異なるモジュール（すなわち、ＣＩＦ２０１、ＭＩＵ２０７、ＧＥ２０６、ＤＣ１＆ＤＣ２  ２０８、ＦＰＩ２０９等）は、データ／表示要件に適合するよう、異なる周波数（およびＣＰＵの周波数と異なる周波数）で動作する。そのため、ＣＩＦ２０１が非同期式プロセッサバスとインターフェースをとる場合、プロセッサバス信号を内部ＣＩＦクロックと同期させ、その後、各モジュールのレジスタ読出し／書込み動作用に適切な制御信号を生成し、ＭＩＵ２０７のメモリ読出し／書込み動作用に適切な制御信号を生成する必要がある。様々なレジスタまたはメモリコントローラにアクセスすることができるよう、これらのモジュールの内部クロックは従来からイネーブルされ、その結果、電力消費が増加する。なぜならば、表示／グラフィックスコントローラ１０７が低電力状態である場合にも、関連する発振器および内部クロックの生成に必要なＰＬＬをイネーブルする必要があるからである。
【００４７】
本発明では、同期化論理４０２を用いて、ＣＰＵに表示／グラフィックスコントローラ１０７とインターフェースをとらせる。より詳細には、同期化論理４０２は、所望の動作用の内部クロックに従ってタイミング信号を生成し、これにより、表示／グラフィックスコントローラ１０７の内部で動作を行うことができるようにする。このような同期化論理は、当該分野で周知であるため、これ以上詳細には説明しない。低電力状態（例えば、好適な実施形態における、ソフトウェア制御による低電力状態Ｄ３（リセットによるデフォルト電力状態））の間、表示／グラフィックスコントローラ１０７用のクロック信号を生成する発振器２０４およびＰＬＬ回路２０３は、電力節約目的のためにオフにされる。そのため、同期化論理４０２の動作のために必要な内部クロックは存在しない。
【００４８】
本発明によれば、ＣＩＦユニット２０１は、コンフィギュレーションレジスタ４０１を、コンフィギュレーションアドレススペースの一部としてインプリメントする。このコンフィギュレーションアドレススペースは、低電力状態Ｄ３の間でも電力供給状態でありかつアクセス可能である。従って、ＣＰＵは、発振器２０４およびＰＬＬ回路２０３がオフ状態にあるときにでもコンフィギュレーションレジスタ４０１をプログラムするためにアクセスすることができ、しかも、電力を節約することができる。状態Ｄ３にある間、ＣＰＵは、コンフィギュレーションアドレススペースにしかアクセスすることができない。残りのレジスタまたはメモリへのアクセスを可能にするためには、表示／グラフィックスコントローラ１０７をＤ３状態から出して、Ｄ０状態、Ｄ１状態またはＤ２状態のいずれかにする必要がある。さらに、発振器２０４およびＰＬＬ２０３をイネーブルして、必要な内部クロックを生成する必要もある。コンフィギュレーションレジスタ４０１中のプログラム値を用いて、発振器２０４およびＰＬＬ回路２０３を、パワーアップに対してレディ（すなわち、イネーブル）状態にする。さらに、これらのプログラム値を用いて、ＰＭＵ２０５は、発振器２０４およびＰＬＬ回路２０３がイネーブルされた後、発振器２０４およびＰＬＬ回路２０３をパワーアップにする低電力状態Ｄ３から通常の状態Ｄ０に伝送することが可能である。ここで図５を参照して、図５は、本発明によるコンフィギュレーションレジスタ３０１中のレジスタのうち最も関連性が高いいくつかのレジスタを示す。デバイスコンフィギュレーションレジスタ００（ＤＣＲ００）は、ＰＬＬ回路２０３のＰＬＬ１に関連するクロック速度を決定するために用いられる乗法ファクタおよび除法ファクタに関するプログラム情報を格納する。パワーマネージメント制御／状態レジスタＰＭＣＳＲは３ビットのレジスタであり、表示／グラフィックスコントローラ１０７の電力状態を指示する（ｄｉｃｔａｔｅ）プログラム値を格納する。ＰＭＣＳＲバイナリ値およびその対応する電力状態について、上記の表１において説明した。パワーマネージメント制御レジスタＰＭ０１Ｒ〜ＰＭ０２Ｒは、プログラム値を格納し、これにより、ＰＬＬ回路２０３（ＰＬＬ２およびＰＬＬ３）と、ＰＭＵ２０５からの電力状態ステータス情報とをイネーブルする。
【００４９】
ここで図６を参照して、図６は、プログラミング工程を示す。このプログラミング工程では、表示／グラフィックスコントローラ１０７を、Ｄ３状態から、Ｄ０状態、Ｄ１状態またはＤ２状態のいずれかに遷移させ、また、表示／グラフィックスコントローラ２０３が現在本発明による低電力状態Ｄ３にある場合にＰＬＬ回路２０３および発振器２０４をパワーアップする。表示／グラフィックスコントローラ２０３は低電力状態Ｄ３にあるため、ＣＰＵがアクセスすることができるのはコンフィギュレーションアドレススペースのみである。工程６０５において、コンフィギュレーションアドレススペースの一部であるデバイスコンフィギュレーションレジスタ００（ＤＣＲ００）中の選択ビットをプログラムして、ＰＬＬ１のパラメータ（例えば、乗法ファクタおよび除法ファクタ）を設定し、イネーブルＰＬＬ１および発振器２０４をイネーブルする。パワーマネージメント制御／状態レジスタＰＭＣＳＲを、低電力状態Ｄ３から通常の電力状態Ｄ０になるようにプログラムする（工程６１０）。パワーマネージメント制御／状態レジスタＰＭＣＳＲのコンテンツはＰＭＵ２０５にとって利用可能とされるため、ＰＭＵ２０５は、電力状態順序付けを開始することにより応答し、これにより、低電力状態Ｄ３から通常の電力状態Ｄ０への遷移が行なわれる。電力供給の順序付けの状態をＰＭＣＳＲレジスタに送り、ＣＰＵにとって利用可能とする。ＣＰＵは、ＰＭＣＳＲレジスタをモニタリングすることにより、電力状態順序付けの状態をモニタリングする（工程６１５）。電力供給の順序付けが終了し、表示／グラフィックスコントローラ１０７が通常の電力状態Ｄ０になったことが示されると、この時点で、ＣＰＵは、チップの残りのレジスタスペースへアクセスできるレディ状態となる。そうでない場合、ＣＰＵは、ＰＭ００Ｒレジスタを継続してモニタリングする。
【００５０】
イネーブルビットが通常の電力状態Ｄ０への遷移期間中に生成された制御信号と組み合わさって用いられると、ＰＬＬ回路２０３および発振器２０４がパワーオンされる。乗法ファクタおよび／または除法ファクタは、発振器２０４によって生成された基準クロック信号に基づいて（ＰＬＬ回路２０３からの）ＰＬＬ１、ＰＬＬ２およびＰＬＬ３用のクロック信号を誘導する際、ＰＬＬ回路２０３によって用いられる。ＰＬＬ１からのクロック信号を用いて、ＣＩＦモジュール／ユニット２０１に必要な同期式クロックを誘導する。通常の状態Ｄ０に入ると、表示／グラフィックスコントローラ１０７中の様々なモジュール（例えば、ＭＩＵ２０７）のうち通常の電力状態Ｄ０と関連するものはパワーアップされる（工程６２０）。一例として、パワーアップ時において、残りのＣＩＦユニット２０１（例えば、同期化論理３０２、状態機器３０３およびＤＭＡコントローラ３０４を含む）は、アクセス可能かつ動作可能となり、これにより、異なるタスクが実行される。こうすることにより、（低電力状態では発振器２０４およびＰＬＬ回路２０３が殆どパワーダウンする）表示／グラフィックスコントローラ１０７を、通常の状態へ遷移する前の低電力状態においてプログラムおよびイネーブルすることが可能である。これにより、チップが通常の状態に入ったときにクロックを利用可能となり、そのため、残りのチップのレジスタアドレススペースおよびモジュールを通常の状態への遷移と同時にアクセス可能とすることが可能となる。ＰＬＬ１および発振器２０４のイネーブル時およびＤ３状態からＤ０状態への遷移時に外部クロック信号は不要であるため、本発明は、プロセッサ同期式バスまたはプロセッサ非同期式バスのいずれにも結合可能であり、これにより、設計柔軟性を高めることが可能である。
【００５１】
本発明の実施形態、クロック信号を供給するクロック回路がオフされたときに低電力状態から遷移しようとする集積回路をパワーアップするシステム、装置および方法について説明した。本発明を特定の実施形態について説明してきたが、本発明は、このような実施形態に限定されるものではなく、本明細書の特許請求の範囲に従って解釈されるべきである。
【図面の簡単な説明】
【図１】  図１は、本発明をインプリメントするコンピュータシステムを示す高レベルブロック図である。
【図２】  図２は、図１に示すグラフィックス／表示コントローラ１０７をより詳細に示すブロック図である。
【図３】  図３は、図２に示すパワーマネージメントユニット２０５をより詳細に示すブロック図である。
【図３Ａ】  図３Ａは、図３の状態機器回路３０１をより詳細に示す図である。
【図４】  図４は、図２に示すＣＰＵインターフェースユニット２０１をより詳細に示すブロック図である。
【図５】  図５は、ＣＰＵインターフェース２０１のコンフィギュレーションスペース中のコンフィギュレーションレジスタを示すブロック図である。
【図６】  図６は、本発明による、表示／グラフィックスコントローラ２０３が現在低電力状態Ｄ３にあるときにＰＬＬ回路２０３および発振器２０４をパワーアップする工程のフローチャートである。
【図１】
0004843144.tif 000004
【図２】
0004843144.tif 000005
【図３】
0004843144.tif 000006
【図３Ａ】
0004843144.tif 000007
【図４】
0004843144.tif 000008
【図５】
0004843144.tif 000009
【図６】
0004843144.tif 000010