(57)【特許請求の範囲】
【請求項１】
電子装置において電力を節減する方法であって、
プロセッサが電力節減状態にある旨を判定する工程と、
前記プロセッサが前記電力節減状態にあり、メモリ・アクセスが存在せず、複数のアイスクロノス・バス・マスタ・データにより、セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われていると判定された場合に、前記プロセッサに結合されたメモリを前記セルフリフレッシュ・モードに入れる工程と、
削減電力モードにおいてバス・マスタ・データを処理し、アイソクロノス・データを更新し続ける工程であって、削減電力モードを延長するために、非アイソクロノス・バス・マスタ・データと比較してアイソクロノス・バス・マスタ・データに優先度を割り当てる工程と
を備えることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、メモリ・アクセス要求が存在しない旨の確認に応じてクロック、制御信号、クロック・ツリー、DLL、又は他の不必要なロジック／回路をパワーダウン・モードに入れる工程を更に備えることを特徴とする方法。
【請求項３】
請求項１記載の方法であって、前記電力節減状態がC2電力節減モードを備えることを特徴とする方法。
【請求項４】
請求項１記載の方法であって、前記所定の閾値は、セルフリフレッシュを出るための最大のメモリ脱出レーテンシを包含することを特徴とする方法。
【請求項５】
請求項４記載の方法であって、前記アイソクロノス・バス・マスタ・データのパラメータをアクセスする工程と、
前記パラメータを用いて、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを予め計算する工程とを備えることを特徴とする方法。
【請求項６】
請求項５記載の方法であって、前記アイソクロノス・バス・マスタ・データのパラメータをアクセスする工程が、
バイオス／ドライバを用いて前記パラメータをアクセスする工程を更に備えることを特徴とする方法。
【請求項７】
請求項６記載の方法であって、
パワーダウン・モードを制御するメモリ・コントローラ構成レジスタ又は状態マシンのコード化により、計算を表す工程を更に備えることを特徴とする方法。
【請求項８】
請求項４記載の方法であって、
最大パワーダウン脱出時間=セルフリフレッシュ脱出時間+脱出時間の実現のオーバヘッド／非効率性＋DLLパワーダウン脱出時間の該当する割合によって、最大パワーダウン脱出時間を計算する工程
を備えることを特徴とする方法。
【請求項９】
請求項８記載の方法であって、表示レーテンシ許容量が、FIFOサイズ、及び表示モードの要件によって判定されることを特徴とする方法。
【請求項１０】
請求項９記載の方法であって、前記表示レーテンシ許容量が、前記最大パワーダウン脱出時間よりも大きいことを特徴とする方法。
【請求項１１】
請求項１０記載の方法であって、アイソクロノス・レーテンシ許容量が、FIFOサイズ及び最小周期間隔要件によって判定されることを特徴とする方法。
【請求項１２】
請求項１１記載の方法であって、前記アイソクロノス・レーテンシ許容量が、前記最大パワーダウン脱出時間よりも大きいことを特徴とする方法。
【請求項１３】
システムであって、
電力節減状態を有するプロセッサと、
前記プロセッサに結合される対象のメモリと、
未処理メモリ要求がない場合に前記プロセッサが前記電力節減状態にあることに応じて前記メモリをセルフリフレッシュ・モードに自動的に移すための電力管理ロジックとを備え、
前記電力管理ロジックは、削減電力モードを延長するために、非アイソクロノス・バス・マスタ・データと比較してアイソクロノス・バス・マスタ・データに優先度を割り当て、前記電力管理ロジックは、前記メモリが前記セルフリフレッシュ・モードにある場合にアイスクロノス・データを更新し、バス・マスタ・データを処理し続け、前記電力管理ロジックは、複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを判定し、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われていることに応じて、前記メモリを前記セルフリフレッシュ・モードに入れることを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムであって、
未処理メモリ要求がない場合であり、かつ、前記プロセッサが前記電力節減状態にあることに応じて、前記電力管理ロジックがクロック又はDLLをパワーダウン・モードに入れることを特徴とするシステム。
【請求項１５】
請求項１４記載のシステムであって、前記電力節減状態がC2電力節減モードを備えることを特徴とするシステム。
【請求項１６】
請求項１５記載のシステムであって、前記必要な速度は、前記セルフリフレッシュ・モードを出るための最大のメモリ脱出レーテンシを包含することを特徴とするシステム。
【請求項１７】
請求項１６記載のシステムであって、アイソクロノス・データが表示データを含むことを特徴とするシステム。
【請求項１８】
請求項１７記載のシステムであって、前記電力管理ロジックは前記アイソクロノス・バス・マスタ・データのパラメータをアクセスし、前記パラメータを用いて、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを予め計算することを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムであって、前記電力管理ロジックは、バイオス／ドライバを用いて前記アイソクロノス・データ及び前記バス・マスタ・データのパラメータをアクセスすることを特徴とするシステム。
【請求項２０】
チップであって、
未処理メモリ要求がないことに応じ、かつ、関連付けられたプロセッサが電力節減状態にあることに応じて、関連付けられたメモリを削減電力モードに移す機能を行うためのグラフィクス及びメモリ・コントローラを備え、前記グラフィクス及びメモリ・コントローラは、前記削減電力モードにある場合にアイスクロノス・データを更新し続け、
前記メモリを前記削減電力モードに移す機能は、
複数のアイスクロノス・バス・マスタ・データにより、セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを判定する機能であって、
前記削減電力モードを延長するために、非アイソクロノス・バス・マスタ・データと比較してアイソクロノス・バス・マスタ・データに優先度を割り当てる機能と、
前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われていることに応じて、前記メモリを前記削減電力モードに入れる機能と
を含むことを特徴とするチップ。
【請求項２１】
請求項２０記載のチップであって、前記グラフィクス及びメモリ・コントローラは、前記メモリを前記削減電力モードに入れる場合、前記メモリをセルフリフレッシュ・モードに入れることを特徴とするチップ。
【請求項２２】
請求項２１記載のチップであって、前記メモリが前記削減電力モードにある場合、前記グラフィクス及びメモリ・コントローラは、前記バス・マスタ・データを処理し続けることを特徴とするチップ。
【請求項２３】
電子装置において電力を節減する方法であって、
未処理メモリ要求がないこと、及び決定的な構成の組が満たされていることに応じてメモリを削減電力モードに自動的に入れる工程であって、
前記メモリを前記削減電力モードに入れる工程は、前記メモリをセルフリフレッシュ・モードに入れ、クロック、制御信号、クロック・ツリー、DLL、又は前記メモリに関連付けられたロジック／回路をパワーダウン・モードに入れ、前記削減電力モードにある場合、アイソクロノス・データを更新し続け、バス・マスタ・データを処理し、前記メモリを前記セルフリフレッシュ・モードに入れる工程は、複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを判定する工程であって、前記削減電力モードを延長するために、非アイソクロノス・バス・マスタ・データと比較してアイソクロノス・バス・マスタ・データに優先度を割り当てる工程と、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われていることに応じて前記メモリを前記セルフリフレッシュ・モードに入れる工程と
を備えることを特徴とする方法。
【請求項２４】
請求項２３記載の方法であって、関連付けられたプロセッサがC2電力節減モードにある場合に、前記メモリが前記削減電力モードに入れられることを特徴とする方法。
【請求項２５】
請求項２３記載の方法であって、前記所定の閾値は、前記セルフリフレッシュ・モードを出るための最大のメモリ脱出レーテンシを包含することを特徴とする方法。
【請求項２６】
請求項２５記載の方法であって、前記アイソクロノス・データが表示データを含むことを特徴とする方法。
【請求項２７】
請求項２５記載の方法であって、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを判定する工程は、前記アイスクロノス・バス・マスタ・データのパラメータをアクセスし、前記パラメータを用いて、前記複数のアイスクロノス・バス・マスタ・データにより、前記セルフリフレッシュ・モードを出るために必要な速度よりも低い速度における、メモリ・アクセスに対する要求が行われているか否かを予め計算する工程を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
計算装置（特にポータブル装置）は、AC電源に再接続することなくバッテリ電源で動作することが可能な時間量によって制限されることが多い。よって、コンピュータの種々の構成部分（中央処理装置をはじめとする）の電力消費を削減するために絶えざる努力が注がれている。可能な限り低い電力状態に電子装置（中央処理装置、メモリ・コントローラやメモリなど）を保つことによって、いくつかの利点が得られる。それによって、例えば、バッテリ駆動マシンが、より長い充電間期間、動作することが可能になる。又、電力消費における削減によって、中央処理装置による熱放散が削減される。熱放散の削減によって、中央処理装置が、その熱放散仕様内に留まりながら、より長い期間、最高速度で動作することが可能になる。又、熱放散の削減によって、コンピュータ内に熱がこもらないようにするのに用いるファンやその他の構成部分に対する必要性が下がる。
【背景技術】
【０００２】
電力管理システムの開発において用いる標準的な仕様として、アドバンスト・コンフィギュレーション・アンド・パワー・インタフェース（ACPI）仕様（例えば、西暦2000年7月27日付けのrev.  2.0、西暦2001年2月27日付けのACPI  Component  Architecture  Programmer  Reference（rev.  1.05）（インテル社（Intel  Corporation、Santa  Clara、California）から入手可能）も参照のこと）がある。ACPIの目標の１つは、電力管理機能及びロバスト性を向上させ、共通の電力管理機能を業界全体で実現することを促進することである。
【０００３】
ACPIは、グローバル作業状態内のいくつかのプロセッサ電力状態（プロセッサ電力消費状態及び熱管理状態）を規定している。前述のプロセッサ状態には、(i)C0電力状態、(ii)C1電力状態、(iii)C2電力状態及び(iv)C3電力状態が含まれる。C0電力状態では、プロセッサは、命令を実行し、フルパワー状態にある。C1電力状態及びC2電力状態では、プロセッサは非実行電力状態にある。しかし、C2電力状態はC1電力状態よりも使用電力が少ない。C1電力状態及びC2電力状態では、バスがプロセッサ・キャッシュ・メモリをスヌーピングし、それによってキャッシュ・コヒーレンシを維持することをプロセッサはなお可能にする。C3電力状態によって、より高いパワーダウン脱出レーテンシをメモリに対する犠牲として、C1電力状態及びC2電力状態に対する電力節減の向上が得られる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のシステムでは、電力管理ロジックによって、特定の条件下でC2電力状態から高電力C0電力状態にCPUが戻るようになる。他の方法で達成可能な電力よりも低い電力の状態に電子装置を保ち、電力状態間の遷移の数を削減することによって、指定された電力状態間で切り替え、全体電力消費を低く抑えることによってもたらされるレーテンシの削減により、システム性能が向上する。
【課題を解決するための手段】
【０００５】
本発明の実施例は、電子装置において電力を節減する方法及び装置を提供する。特に、本発明の実施例は、C2などの電力節減モードにおいて表示を更新し続け、バス・マスタ・サイクルを処理しながら、動的にメモリをセルフリフレッシュに入れ、チップセット・クロック回路をパワーダウン・モードに入れる。C2などの電力節減モード内にプロセッサを維持することによって、（例えば、C3状態とは違って）スヌーピング可能なバス・マスタ・サイクルが生起している場合にも、電力が節減され、統合グラフィックス・チップセット・プラットフォームと非統合グラフィックス・チップセット・プラットフォームとの間の電力差が削減される。
【発明を実施するための最良の形態】
【０００６】
詳細な説明では、数多くの特定の詳細を表して、本発明が徹底的に分かるようにしている。しかし、前述の特定の詳細なしで本発明を実施することができることを当業者は理解するであろう。一方、周知の方法、手順、部品及び回路は、本発明を分かりにくくしないような詳細度で説明している。
【０００７】
以下の詳細な説明の一部は、コンピュータ内のデータ・ビット又は2値信号に対する演算のアルゴリズム及び記号表現によって提示している。こうしたアルゴリズムの記述及び表現は、データ処理技術分野における当業者が用いて、当該技術分野における他の当業者に自らの成果の本質を伝える手段である。アルゴリズムはここでは、かつ一般には、所望の結果につながる筋の通った工程系列とみなされる。工程には、物理的数量の物理的操作が含まれる。必然的ではないが通常は、前述の数量は、記憶、転送、合成、比較、及びその他の方法で操作することができる電気信号又は磁気信号の形式を呈する。ビット、値、構成要素、記号、文字、項、数字又は同様なものとして前述の信号を主に慣用の理由で場合によっては表すことが好都合であることが明らかになった。しかし、前述及び同様な語は全て、適切な物理的数量と関連付けられるものとし、前述の数量に付される好都合なラベルに過ぎない。以下の記載から明らかなように別途明記しない限り、本明細書及び特許請求の範囲を通して、「processing」、「computing」、「calculating」、「determining」や同様なものなどの語を利用した記載は、コンピュータ・システムのメモリ内、レジスタ内やその他の情報記憶装置内、情報伝送装置内や情報表示装置内の物理的数量として同様に表す他のデータにコンピュータ・システムのレジスタ内及び／又はメモリ内の物理的（電子的）数量として表すデータを操作し、変換する、コンピュータ・システム若しくは計算システム、又は同様な電子計算装置の動作及び処理を表す。
【０００８】
本発明の実施例は、ハードウェア若しくはソフトウェア、又はそれらの組み合わせにおいて実施することができる。しかし、本発明の実施例は、少なくとも１つのプロセッサと、データ記憶システム（揮発性メモリ及び不揮発性メモリ、並びに／又は記憶エレメントを含む）と、少なくとも１つの入力装置と、少なくとも１つの出力装置とを備えるプログラム可能システム上で実行するコンピュータ・プログラムとして実現することができる。プログラム・コードを入力データに施して、本明細書及び特許請求の範囲記載の機能を行い、出力情報を生成することができる。出力情報は既知のやり方で１つ又は複数の出力装置に施すことができる。本出願の目的で、処理システムは、プロセッサ（例えば、ディジタル信号プロセッサ（DSP）、マイクロコントローラ、特定用途向集積回路（ASIC）やマイクロプロセッサなど）を有する何れかのシステムを含む。
【０００９】
プログラムをハイレベルの手続型プログラミング言語又はオブジェクト指向型プログラミング言語で実現して処理システムと通信することができる。プログラムは、所望の場合、アセンブラ言語又はマシン言語で実現することもできる。実際に、本発明の範囲は、何れかの特定のプログラミング言語に限定されるものでない。いずれの場合でも、言語はコンパイル言語又はインタープリタ言語であり得る。
【００１０】
記憶媒体又は記憶装置を処理システムによって読み取って本明細書及び特許請求の範囲記載の手順を行う場合に処理システムを構成し、動作させるために、汎用又は特定用途向のプログラム可能処理システムによって読み取り可能な記憶媒体又は記憶装置（例えば、ハード・ディスク・ドライブ、フロッピー（登録商標）・ディスク・ドライブ、リード・オンリー・メモリ（ROM）、CD-ROM装置、フラッシュ・メモリ装置、ディジタル多用途ディスク（DVD）やその他の記憶装置）上にプログラムを記憶することができる。本発明の実施例は、処理システムに用いるよう構成されたマシン読み取り可能記憶媒体として実現するものとすることもできる。そうして構成された記憶媒体によって、本明細書及び特許請求の範囲記載の機能を行うよう特定かつ所定のやり方で処理システムが動作するようになる。
【実施例】
【００１１】
図１は、ACPI仕様におけるプロセッサ電力状態間の遷移の実施例100の図を示す。全状態（C0状態102、C1状態104、C2状態106及びC3状態108）がG0動作状態110内に包含される。G0動作状態は、ユーザ・モード（アプリケーション）スレッドをシステムがディスパッチするコンピュータ状態としてACPI仕様によって定義されている。G0作業状態において、前述のスレッドが実行される。この状態では、装置（周辺装置）によってその電力状態が動的に変えられる。このG0状態110内で、C0状態102、C1状態104、C2状態106及びC3状態108を含む種々のプロセッサ電力状態間をプロセッサは遷移する。
【００１２】
C0状態102では、プロセッサはフルパワー状態にある。この状態では、通常のシステムの構成部分に電力が供給され、システム内のクロックは最高速度で動作することが可能である。C1状態104は、プロセッサ電力状態が最低レーテンシを有する非実行状態を規定する。
【００１３】
C2状態106は、C1状態104よりも改良された電力節減が得られる第２の非実行状態である。C2状態106は、コンピュータがパッシブ状態にあり（すなわち、オペレーティング・システムがアイドル状態にあり）、バス・マスタ（USB装置やオーディオ・ポートなど）に接続されている間は共通チップセット・モードである。C2状態106中、ディスクリート・チップセット・アクセス・メモリは主にバス・マスタ・サイクルを処理し、統合グラフィックス・チップセット・アクセス・メモリは主に表示リフレッシュ・データをフェッチするか、バス・マスタ・サイクルを処理するか、又はグラフィックス・レンダリングを続ける。CPUはメモリをアクセスしなくてよい。DRAMメモリは、スタンバイ・モード又はセルフリフレッシュとして場合によっては表す拡張された電力節減モードにおいて動作する。リフレッシュ装置は、DRAMメモリ内の電池を充電してデータのインテグリティを維持する。
【００１４】
C3電力状態108は、C1状態104及びC2状態106よりも向上した節減が得られる。C3状態104にある間、プロセッサのキャッシュは現在の情報状態を維持し、スヌーピングは可能でない。プロセッサをC0状態、C1状態又はC2状態に戻して、スヌーピング可能なトラフィックを処理する。
【００１５】
状態間では、パス112に沿ったC0状態102からC1状態104への遷移、及び戻りパス114に沿ったC0状態102へ戻る遷移が存在している。パス116に沿ったC0状態102からC2状態104への遷移、及びパス118に沿ったC0状態104へ戻る遷移も存在している。最後に、パス120に沿ったC0状態104からC3状態116への遷移、及びパス122に沿ったC0状態へ戻る遷移が存在している。十分な期間、CPUが非活動状態にあることによって、パス116に沿ったC0状態102からC2状態104への遷移が引き起こされる。割り込みなどのブレーク・イベントによって、システムがC2状態104からC0状態102へパス118に沿って遷移することになる。
【００１６】
このシステムの説明は便宜上、ACPI仕様の電力状態（C0、C1、C2及びC3）によって記載するが、本発明はACPI仕様によって限定されるものでない。一般に、ACPI仕様に従っていない実施例の場合、C0電力状態は、本発明の目的で、CPUがその通常の機能を行い続けるフルパワー状態として定義される。ACPIのC2電力状態は、フルパワー状態とC3電力状態との間の中間電力状態であるものとして概括的に定義されている。インテル社（Intel）のプロセッサの場合、C2電力状態はSTOP  GRANT（ストップ・グラント）状態と同等である。一般に、C2電力状態によって、メモリ・アクセスのスヌーピング、及びキャッシュ・コヒーレンシの維持が可能になる。
【００１７】
図２は、統合グラフィックス構成の場合のC2電力状態中に表示を更新し続け、バス・マスタの使用を維持しながら、メモリをセルフリフレッシュに入れ、DLLをパワーダウン・モードに入れるルーチンの実施例200の流れ図を示す。本発明の実施例は、（１）プリチャージ・パワーダウン・モード内のみならずアイドル時間中にメモリをセルフリフレッシュに入れ、かつ／又は、（２）DDRクロック／DLLの動的パワーダウンを行う。本発明の目的で、この電力節減状態は、メモリがセルフリフレッシュに入るだけの場合よりも多くの電力節減が得られる場合にも「C2セルフリフレッシュ」として表す。特に、プラットフォーム上の他のバス・マスタは一般に表示と比較して非常に大きなレーテンシ許容量を有するので、表示の更新は、表示に備えられるバッファリングが、セルフリフレッシュからメモリが脱出するうえでの最大の脱出レーテンシを範囲に入れるのに十分である限り、適切に進み得る。表示要求を処理しなければならない場合に、メモリに対する非常に長いバーストを非アイソクロノス・バス・マスタが行い始めた場合、表示要求が処理された状態になった後までバス・マスタ要求の完了を延期することが可能である。メモリ・アクセスをやはり得なければならない何れかのアイソクロノス・ストリーム（例えば、アイソクロノス・オーディオ）が、レーテンシを処理するうえでの他のアイソクロノス・ストリームの機能（例えば、表示）の範囲内に収まるのに十分短いバースト・サイズのストリームである限り、かつ、メモリのセルフリフレッシュから脱出するのに必要な速度よりも低い速度におけるメモリ・アクセスを前述のストリームが要求する限り、C2セルフリフレッシュ状態をイネーブルすることが可能である。アイソクロノス・ストリームは、その最大バースト・サイズ及び最小繰り返し率がプラットフォームにおいて決定的であるという特性を有しているので、C2セルフリフレッシュ状態が達成可能な時点を知ることが簡単である。
【００１８】
工程202では、プロセッサがC2電力状態にあることが確認される。
【００１９】
工程204では、何れかのソース（バス・マスタ、表示リフレッシュ）からのメモリ要求がないことが確認される。
【００２０】
工程206では、メモリ・バースト・サイズ及び表示FIFO閾値レベルが、C2電力状態に好適な所定のレベルに設定される。特に、図３及び図４に示し、以下に詳細に説明するように、表示FIFOは、それに達するとバースト要求を引き起こす閾値レベルを有する。表示リフレッシュに必要なメモリ・バーストが十分大きく、時間上、十分間隔が空けられているようにFIFO閾値が設定されるので、DDR  DLL及びチップ・メモリを再イネーブルすることが必要な状態になる前にC2電力状態におけるパワーダウン時間がかなりあることが可能になる。統合グラフィックス構成の場合の通常の構成では、表示ロジックが表示FIFOを管理する。閾値は閾値レジスタ内に存在している。閾値は、プログラム可能であり、電力節減モードによって予め設定される。これによって、（それぞれが電力を使用する）メモリ転送の数を制限するうえで電力を節減することが可能になり、低電力装置が電力節減モードに入ることが可能な静的表示中のアイドル期間をもたらすことが可能になる。要求バースト・サイズ及び閾値レベルによって、前述の要求の時間上の間隔が制御される。
【００２１】
レンダリング・エンジンは、アイドル状態であることが確認されるか、又はアイドル状態になるように強いられる。チップセットは一般に、グラフィックス・レンダリングが要求されないか、又は完了した場合にセルフリフレッシュ状態に入る機会を設ける状態にある。
【００２２】
工程208では、以下のうちの何れか又は以下の組み合わせが行われ得る。1)システム・メモリはセルフリフレッシュに入れられ、システム・メモリ用のクロックやその他のメモリ制御信号はトライステートにされ、２）C2セルフリフレッシュ状態中に必要でないメモリDLLはパワーダウンに入れることが可能であり、かつ／又は３）C2セルフリフレッシュ状態中に必要でない何れかの他の機能ブロック及びクロック・ツリーはパワーダウンに入れることが可能である。どの機能のパワーダウンを行い得るかについての決定は、パワーダウン機能の、パワーダウン脱出レーテンシに対する影響を、利用可能な時間と比較する工程を含む決定論理によって変わってくる。利用可能な時間は、表示によって許容される最大レーテンシ、並びにアイソクロノス・ストリームの周期性及びバースト・サイズの要件によって変わってくる。
【００２３】
メモリDLLはパワーダウン・モードに入れることができる。特に、不必要な電力消費を削減するために、DLLなどの回路によって生成される出力信号が回路に選択的に印加されるように、DDR  DRAMなどの集積回路は多くの場合、複数の同期化DLL出力（位相）を生成し、複数の動作モードを利用する。通常の実現形態では、電力管理装置は、システム内の他のチップ（プロセッサ、メモリ・コントローラやメモリなど）をクロッキングするクロック生成器を制御する。DDR  DRAMなどの集積回路は通常、分配信号（例えば、クロック信号）を複数の回路に供給するDLLを含む。DLLは通常、基準クロック信号を受信し、この基準クロック信号から内部クロック信号を生成する。内部クロック信号の位相は通常、基準クロック信号によって変わってくる。DLLは、ある程度の計算量を有しており、高周波で動作し、よって、かなりの電力を消費する。前述の内部クロック信号と同期をとって多数の回路を動作させることが望ましい場合がある。前述の回路が同様に駆動された場合、DLL上の合計出力負荷は非常に大きくなり得る。それによって、大量の電力がDLLによって消費されてしまう。よって、DLLのパワーダウンを行うことが効果的である。
【００２４】
工程210では、バス・マスタ要求及び／又は表示リフレッシュが確認されるまで、セルフリフレッシュ及び動的DLLパワーダウンはもとのままに留まる。
【００２５】
工程212では、バス・マスタ及び／又は表示リフレッシュ要求が実行された旨の確認に応じて、システム・メモリ・クロックがイネーブルされ、システム・メモリがアイドル・モードに入れられる。
【００２６】
工程214では、DLLのパワーアップが行われる。表示リフレッシュの更新に用いられるメモリに関連したチップセットDLLは任意的には、C2状態の間、イネーブルされた状態に維持される。
【００２７】
工程216では、DLL及びシステム・メモリがパワーアップされるまでシステムは待っている。
【００２８】
工程218では、次のメモリ・バーストが実行され、ルーチンは工程204に戻る。ブレーク・ポイント（例えば、割り込み）がない限り、プロセッサはC2電力状態に留まる。
【００２９】
通常の実現形態では、遷移を実現するためにプロセッサ・クロックが再起動されるか、又は、プロセッサへの信号がディアサートされる。次いで、メモリ・バースト・サイズ及びウォーターマーク値がC0電力状態要件によって設定される。フルパワー状態（C0など）における動作中、メモリ・バーストは一般に、C0電力状態によって、容量が小さく、時間上の間隔がずっと狭くなっている。C0状態によって、本発明の新たなC2バースト・サイズ及び閾値の要件を包含するのに表示FIFOサイズが十分大きいという条件が課される。
【００３０】
プロセッサが低電力状態にある間にバス要求を処理する前述の方法は、以下に説明するような各種装置によって実現することができる。
【００３１】
例えば、図３は、図２に示すように、C2電力状態中にバス・マスタの使用を維持し、表示を更新し続けながら、メモリをセルフリフレッシュに入れ、DLLをパワーダウン・モードに入れる統合グラフィックス構成の実施例を示す図である。コンピュータ・システム300は、プロセッサ302と、グラフィックス・エンジン306を含むグラフィクス及びメモリ・コントローラ304と、メモリ308と、表示FIFO310と、表示パイプライン312と、表示装置314とを含む。プロセッサ302は、データ信号を処理し、複雑命令セット・コンピュータ（CISC）マイクロプロセッサ、限定命令セット計算（RISC）マイクロプロセッサ、超長命令語（VLIW）マイクロプロセッサ、命令セットの組み合わせを実現する処理、又はその他のプロセッサ装置（例えば、ディジタル信号プロセッサなど）であり得る。プロセッサ302は、システム300内のプロセッサ302と他の構成部分との間でデータ信号を伝送するコモンバス312に結合することができる。
【００３２】
プロセッサ302は、本明細書及び特許請求の範囲記載のデータを操作するために、メモリ308、又はグラフィクス及びメモリ・コントローラ304と通信するコモンバス312を介して信号を出す。プロセッサ302は、メモリ308から得るソフトウェア命令に応じて前述の信号を出す。メモリ308は、ダイナミック・ランダム・アクセス・メモリ（DRAM）素子、スタティック・ランダム・アクセス・メモリ（SRAM）素子やその他のメモリ素子であり得る。メモリ308は、プロセッサ302、グラフィックス・エンジン306又は特定の他の素子によって実行することができるデータ信号によって表す命令及び／又はデータを記憶することができる。命令及び／又はデータは、本発明の手法の何れか及び／又は全てを行うためのコードを備え得る。メモリ308は、ソフトウェア及び／データも含み得る。任意的なキャッシュ・メモリを用いて、グラフィックス・エンジン306によるメモリ・アクセスをそのアクセスの局所性を利用することによって高速化することができる。一部の実施例では、画像をレンダリングするのに必要なメモリ集約型タスクの多くをプロセッサ302からオフロードすることが可能である。グラフィックス・エンジン306は、データ信号を処理し、複雑命令セット・コンピュータ（CISC）マイクロプロセッサ、限定命令セット計算（RISC）マイクロプロセッサ、超長命令語（VLIW）マイクロプロセッサ、命令セットの組み合わせを実現する処理、又はその他のプロセッサ装置（例えば、ディジタル信号プロセッサなど）であり得る。グラフィックス・エンジン306は、システム300内のグラフィックス・エンジン306と他の構成部分（レンダリング・キャッシュ310及び表示装置314を含む）との間でデータ信号を伝送するコモンバス312に結合することができる。グラフィックス・エンジン306はとりわけ、表示314の特定の画素に特定の属性（例えば、色）を書き込み、表示装置314上に複雑なプリミティブを描くレンダリング・ハードウェアを含む。グラフィックス及びメモリ・コントローラ304は、グラフィックス・コントローラ304によってレンダリングされたか又は他の方法によって処理された画像を表示する表示装置314と通信し、レンダリングされたか又は他の方法によって処理された画像をユーザに向けて表示する。表示装置314は、コンピュータ・モニタ、テレビ受像機、フラット・パネル・ディスプレイ又はその他の適切な表示装置であり得る。
【００３３】
メモリ308は、表示するためのグラフィックス・プリミティブの画像を構築するために1つ又は複数のレンダリング・プログラムを含む得るホスト・オペレーティング・システムを記憶する。システム300は、グラフィックス・エンジン306（カスタム化されたハードウェア・ロジックを用いるグラフィックス・アクセラレータや、グラフィックス・プリミティブの少なくとも一部によらなければホスト・レンダリング・プログラムによって処理されるグラフィックス・プリミティブの少なくとも一部をレンダリングするうえでの性能を向上させるためのコプロセッサなど）を含む。ホスト・オペレーティング・システム・プログラム及びそのホスト・グラフィックス・アプリケーション・プログラム・インタフェース（API）はドライバ・プログラムを介してグラフィックス・エンジン306を制御する。
【００３４】
FIFO310はグラフィックス及びメモリ・コントローラ304からデータ・バス318を介して表示データを受信し、表示データを表示パイプライン312にデータ・バス320を介して出力する。グラフィックス及びメモリ・コントローラ304は、装置のうちのどれがメモリ308へのアクセスを付与されるべきかを決定する。グラフィックス・エンジンの一部は画像の、メモリ308へのブロック転送、メモリ308からのブロック転送、又はメモリ308内のブロック転送を制御する。メモリ・アドレス生成器322は、グラフィックス及びメモリ・コントローラ304、並びに表示FIFO310に接続される。メモリ・アドレス生成器322は、メモリ・アドレスをグラフィックス及びメモリ・コントローラ304に向けて生成する。グラフィックス及びメモリ・コントローラ304は、メモリ・アドレス生成器322及び表示パイプライン312を制御する。グラフィックス及びメモリ・コントローラ304は、FIFO310をロードし始める時点をメモリ・アドレス生成器322に指示する。表示FIFO310は、表示装置314用のデータを受信し、記憶するのに用いる。
【００３５】
FIFO値が閾値よりも大きい場合、非表示ストリームに対するメモリ・バースト要求を、表示を損なうことなく生成することが可能である。FIFOデータ値の閾値に対する比較に基づいて、制御回路は、図１中の流れ図に示すように、データをFIFO310にロードすることが可能であるように、メモリをアクセスする旨の要求をグラフィックス及びメモリ・コントローラ304に出す。
【００３６】
図４（(a)及び(b)）は、ディスクリート構成の場合のC2電力状態中にバス・マスタの使用を維持しながらメモリをセルフリフレッシュに入れ、DLLをパワーダウン・モードに入れるルーチンの実施例を示す流れ図である。ディスクリート・チップセット構成は、グラフィックスを有しておらず、アイソクロノス制約（すなわち、パワーダウン脱出レーテンシよりもアイソクロノス周期が大きくなければならない）が満たされる限り、メモリをセルフリフレッシュに入れることが可能である。ディスクリート・グラフィクス・コントローラは、維持する対象の表示ストリームを有する。しかし、ディスクリート・グラフィクス・コントローラは、C2状態が何ら分からない。
【００３７】
図４の(a)を参照すれば、一実施例400では、ディスクリート・グラフィクス・コントローラは、局所メモリに対する未処理要求が何ら存在していない場合（工程402）にはいつでも、その局所メモリ関連パワーダウン・モード（セルフリフレッシュ状態（参照の目的で、グラフィックスC2電力状態と呼ぶ）など）に入る（工程404）。
【００３８】
図４の(b)を参照すれば、別の実施例406では、ディスクリート・グラフィクス・コントローラは、帯域幅閾値、及び／又は、その局所メモリに対する局所メモリ要求のアイドル状態の持続時間に基づいて需要を計算する（工程408）。需要が十分低いことに応じて、ディスクリート・グラフィクス・コントローラは、その局所メモリをセルフリフレッシュに入れる（工程410）。
【００３９】
特許法の要件によって本発明を説明したが、当業者は自らの特定の要件又は条件を満たすために本発明に変更及び修正を行うやり方が分かるであろう。前述の変更及び修正は、特許請求の範囲記載の本発明の範囲及び趣旨から逸脱することなく行うことができる。
【図面の簡単な説明】
【００４０】
【図１】ACPI仕様におけるプロセッサ電力状態間の遷移の実施例を示す図である。
【図２】統合グラフィックス構成の場合のC2電力状態中に表示を更新し続け、バス・マスタの使用を維持しながら、メモリをセルフリフレッシュに入れ、メモリ・ディジタル・ロック・ループ（DLL）をパワーダウン・モードに入れるルーチンの実施例を示す流れ図である。
【図３】C2電力状態中にバス・マスタの使用を維持し、表示を更新し続けながら、メモリをセルフリフレッシュに入れ、DLLをパワーダウン・モードに入れる例示的な統合グラフィックス構成の実施例を示す図である。
【図４】ディスクリート構成の場合のC2電力状態中にバス・マスタの使用を維持しながらメモリをセルフリフレッシュに入れ、DLLをパワーダウン・モードに入れるルーチンの実施例を(a)及び(b)において示す流れ図である。
【図１】
0005430851.tif 000002
【図２】
0005430851.tif 000003
【図３】
0005430851.tif 000004
【図４】
0005430851.tif 000005