(57)【要約】一実施形態において、システム（１０）は、メモリ（１２）と、前記メモリに結合されたメモリインタフェースと、前記メモリインタフェースに結合されたプロセッサユニット（１４）と、前記プロセッサユニットに結合された第２のインタフェースと、グラフィック処理ユニット（３０）とを有する。前記プロセッサユニットは、少なくとも１つのプロセッサコア（２４Ａ）と、ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（２８）とを有する。前記グラフィック処理ユニットは、前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成されている。前記プロセッサユニットは、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するように構成され、前記ディスプレイコントローラは、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すように構成されている。
2009517736.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサコア（２４Ａ）と、
ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（２８）と、
前記プロセッサコアおよび前記ディスプレイコントローラに結合されたブリッジ（２６）とを備え、
前記ブリッジは、前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成されたグラフィック処理ユニット（３０）と通信するために、第２のインタフェースに結合するように更に構成され、
前記ブリッジユニットは、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するように構成され、
前記ディスプレイコントローラは、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すように構成されている、プロセッサユニット（１４）。
【請求項２】
前記グラフィック処理ユニットがレンダリングを行っておらず、前記第２のインタフェースに結合された第２のブリッジ（１６）が結合されている周辺機器インタフェース上でのアクティビティがない場合、前記ブリッジは、前記第２のインタフェースを非アクティブ化するように構成されている請求項１に記載のプロセッサユニット（１４）。
【請求項３】
請求項１または２に記載のプロセッサユニットを有する集積回路（１４）であって、前記フレームバッファに前記画像をレンダリングする前記グラフィック処理ユニットを含まない集積回路。
【請求項４】
前記ブリッジはメモリ（１２）と通信するためにメモリインタフェースに結合するように更に構成されている、請求項３に記載の集積回路。
【請求項５】
メモリ（１２）と、
前記メモリに接続されたメモリインタフェースと、
前記メモリインタフェースに接続され、少なくとも１つのプロセッサコア（２４Ａ）と、ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（１８）と、を有する請求項１または２に記載のプロセッサユニット（１４）と、
前記プロセッサユニットに結合された第２のインタフェースと、
前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成された前記グラフィック処理ユニット（３０）とを備えるシステム（１０）。
【請求項６】
前記グラフィック処理ユニットは、前記メモリインタフェースを介してメモリにアクセスするように構成された前記プロセッサユニットに対して、前記第２のインタフェースを介してコマンドを発行することによって、メモリにアクセスするように構成されている請求項５に記載のシステム。
【請求項７】
前記グラフィック処理ユニットは、レンダリングすべきオブジェクトを記述しているデータ（３４）を前記メモリから読み出すように構成され、前記グラフィック処理ユニットは、前記画像を前記フレームバッファに書き込むように構成されている請求項６に記載のシステム。
【請求項８】
第２のディスプレイ（２０）に結合するように構成された第２のディスプレイコントローラ（３２）を更に有し、前記第２のディスプレイコントローラは、前記第２のインタフェースを介して通信するために結合されている請求項５、６または７に記載のシステム。
【請求項９】
前記グラフィック処理ユニットは、前記第２のインタフェースに結合され、更に周辺機器インタフェースに結合されたブリッジユニット（１６）に含まれる請求項５乃至８のいずれか１項に記載のシステム。
【請求項１０】
前記プロセッサユニットは、前記グラフィック処理ユニットがレンダリングを行っておらず、かつ前記周辺機器インタフェース上でのアクティビティがない場合に、前記第２のインタフェースを非アクティブ化するように構成されている請求項９に記載のシステム。
【請求項１１】
少なくとも１つのプロセッサコア（２４Ａ）と、ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（２８）と、前記プロセッサコアおよび前記ディスプレイコントローラに結合されたブリッジ（２６）とを有し、
前記ブリッジは、前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成されたグラフィック処理ユニット（３０）と通信するために、第２のインタフェースに結合するように更に構成されている装置において実行する方法であって、
前記ブリッジユニットが、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するステップと、
前記ディスプレイコントローラが、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサおよびプロセッサを備えたコンピュータシステム、ならびにこのようなシステムにおける電力消費の管理に関する。
【背景技術】
【０００２】
各種のモバイルコンピューティングデバイスが非常に広く普及しており、ユーザが、自身の固定のコンピュータ環境から離れたさまざまな場所で、便利な作業を行うことが可能となっている。モバイルコンピューティングデバイスには、ポータブルコンピュータ（ラップトップとも呼ばれる）、Ｐａｌｍオペレーティングシステムベース（Ｐａｌｍ  Ｐｉｌｏｔファミリのデバイスなど）やＷｉｎｄｏｗｓ  ＣＥプラットホームベースのものといった携帯情報端末（ＰＤＡ）、リサーチ・イン・モーション社（Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ）のブラックベリー（Ｂｌａｃｋｂｅｒｒｙ）製品ラインなどの無線による電子メールへのアクセスが可能な移動通信装置、携帯電話などの各種無線電信装置、ＰＤＡまたはブラックベリーと携帯電話を組み合わせたものなどがある。
【０００３】
あらゆるモバイルコンピューティングデバイスの共通の問題に、バッテリ駆動時間がある。バッテリ（またはバッテリの所定の充電）の持続時間が長くなるほど、ユーザの製品に対する満足度が上がり、ユーザが同じメーカから次の製品を購入する確率が高くなる。多くのモバイルコンピューティングデバイス（特にラップトップ）は、内蔵のバッテリ電源を備えている以外に、外部電源（交流の壁面コンセントなど）に接続することもできる。外部電源の使用中は、バッテリは使われない（実際には、外部電源から充電ができる）。このため、外部電源を使用しているときには、電力消費が高くても問題とならない。さまざまなコンピューティングデバイスに、数多くの電力節約機能が実装されてきた。例えば、ラップトップには高度設定電力インタフェース（Advanced Configuration and Power Interface：ＡＣＰＩ）が使用されていることが多い。しかし、モバイルコンピューティングデバイスが外部電源に接続されないときのバッテリ駆動時間を改善するための取り組みは、依然として関心が高く、革新が続いている分野である。
【発明の開示】
【０００４】
一実施形態において、システムは、メモリと、前記メモリに結合されたメモリインタフェースと、前記メモリインタフェースに結合されたプロセッサユニットと、前記プロセッサユニットに結合された第２のインタフェースと、グラフィック処理ユニットと、を有する。前記プロセッサユニットは、少なくとも１つのプロセッサコアと、ディスプレイに結合するように構成されたディスプレイコントローラと、を有する。前記グラフィック処理ユニットは、前記ディスプレイに表示する画像を表すデータをフレームバッファにレンダリングするように構成されている。前記プロセッサユニットは、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するように構成され、前記ディスプレイコントローラは、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すように構成されている。
【０００５】
一実施形態において、プロセッサユニットは、少なくとも１つのプロセッサコアと、ディスプレイに結合するように構成されたディスプレイコントローラと、前記プロセッサコアおよび前記ディスプレイコントローラに結合されたブリッジと、を有する。前記ブリッジは、グラフィック処理ユニットと通信するために、第２のインタフェースに結合するように更に構成されている。前記グラフィック処理ユニットは、前記ディスプレイに表示する画像を表すデータをフレームバッファにレンダリングするように構成されている。前記ブリッジユニットは、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するように構成されてもよく、前記ディスプレイコントローラは、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すように構成されてもよい。
【０００６】
別の実施形態では、集積回路は、少なくとも１つのプロセッサコアと、ディスプレイに結合するように構成されたディスプレイコントローラと、を有する。前記ディスプレイコントローラは、画像を表すデータをフレームバッファから読み出すように構成されている。加えて、前記ディスプレイコントローラは、前記ディスプレイに前記画像を表示させるように構成されている。前記集積回路は、前記フレームバッファに前記画像をレンダリングするグラフィック処理ユニットを含まない。
【０００７】
以下の詳細な説明は添付の図面を参照している。図面の説明は「図面の簡単な説明」に記載されている。
【０００８】
本発明は、さまざまに変形されたり代替形態を取り得るが、その特定の実施形態は、例として図面に図示され、かつ本明細書に詳細に記載される。しかし、図面および詳細な説明は、開示の実施形態に本発明を限定することを意図するものではなく、添付の特許請求の範囲によって規定される本発明の趣旨ならびに範囲に含まれる全ての変形例、均等物および代替例を含むことを意図したものであることが理解されるべきである。
【発明を実施するための最良の形態】
【０００９】
図１を参照すると、コンピュータシステム１０の一部のブロック図が示される。図に示した実施形態では、システム１０は、システムメモリ１２、プロセッサユニット１４、ノースブリッジ１６、液晶表示（ＬＣＤ）ディスプレイ１８、任意選択のその他のディスプレイ２０、および入出力（Ｉ／Ｏ）ハブ２２を備える。プロセッサユニット１４は、少なくとも１つのプロセッサコア（例えば、図に示した実施形態ではプロセッサコア２４Ａと任意選択のプロセッサコア２４Ｂ）、ブリッジ２６、およびディスプレイコントローラ２８を備える。ノースブリッジ１６は、グラフィック処理ユニット３０と、任意選択のディスプレイコントローラ３２を備える。プロセッサユニット１４（より詳細にいうと、図に示した実施形態ではブリッジ２６）は、システムメモリ１２と通信するために、メモリインタフェースと接続されている。ディスプレイコントローラ２８は、ディスプレイ１８へのインタフェース（例えば、図に示した実施形態では、低電圧差動信号（low voltage differential signaling：ＬＶＤＳ）インタフェース）に接続されており、更にブリッジ２６にも接続されている。ブリッジ２６は、更にプロセッサコア２４Ａ〜２４Ｂに接続されており、ノースブリッジ１６へのブリッジインタフェースにも接続されている。ディスプレイコントローラ３２は、ディスプレイ２０へのインタフェース（例えば、高品位マルチメディアインタフェース（high definition multimedia interface：ＨＤＭＩ））に接続されている。更に、ノースブリッジ１６は、Ｉ／Ｏハブ２２への周辺機器インタフェースに接続されている。
【００１０】
コンピュータシステム１０は、モバイルコンピューティングデバイス（例えばラップトップ、ＰＤＡなど）の一部であってもよい。ディスプレイ１８は、モバイルコンピューティングデバイスに内蔵のディスプレイなどである。例えば、モバイルコンピューティングデバイスがハウジングを備え、そこにディスプレイとコンピュータシステム１０が内蔵されている。ラップトップでは、ディスプレイは「リッド」に設けられており、開くとキーボードが現われうる。ＰＤＡでは、ディスプレイがモバイルコンピューティングデバイスの前面に設けられていることが多い。
【００１１】
ディスプレイ１８は、一部の実施形態では、バッテリ駆動時間を最適化するように設計された比較的低電力のディスプレイを備えうる。例えば、図１に示すように、ディスプレイ１８はＬＣＤである。別の実施形態では、薄膜トランジスタ（ＴＦＴ）ディスプレイや、あるいはデバイスへの内蔵が可能なものであれば、他のどのようなディスプレイを備えてもよい。これに対し、ディスプレイ２０は、陰極線管（ＣＲＴ）ディスプレイ、ＬＣＤ、ＴＦＴディスプレイ、またはプラズマディスプレイなどの比較的高出力のディスプレイであるか、ラップトップとは独立しており、ビデオ出力端子、テレビ出力端子、ドッキング接続などの外部コネクタを介して接続されるスタンドアロンのその他のディスプレイでなどであってもよい。通常、ディスプレイ２０は、モバイルコンピューティングデバイスに外部電源が供給されているため、バッテリ駆動時間が問題とならない場合に使用されうる。
【００１２】
ＧＰＵ３０とディスプレイコントローラ２８（あればディスプレイコントローラ３２も）は、協働して、各種ソフトウェア（例えばプロセッサコア２４Ａ〜２４Ｂで実行されているソフトウェア）が作成したオブジェクトの、ディスプレイ１８（およびディスプレイ２０）への表示を可能にする。通常、ソフトウェアは、表示しようとしているオブジェクトを表すデータ構造を、システムメモリ１２内に作成しうる。このデータ構造を参照符号３４で示す。ＧＰＵ３０はこのデータ構造を読み出して、これを処理し、ディスプレイ上の各ピクセルを表すピクセルデータを生成する。表示するオブジェクトを表すデータ構造の処理と、画像データ（ピクセルデータなど）の生成を、「画像のレンダリング」と呼ぶ。ピクセルデータは、例えば、対応するピクセルのディスプレイでの色を記述しうる。ＧＰＵ３０は、このピクセルデータを、システムメモリ１２内のフレームバッファ（参照符号３６）に書き込みうる。このため、フレームバッファ３６には、ディスプレイ１８または２０に表示される画像を表すデータが含まれうる。ディスプレイコントローラ２８または３２は、システムメモリ１２からフレームバッファ３６を読み出して、ディスプレイ１８または２０を制御し、フレームバッファ３６に記述されている画像を表示させうる。図１の実施形態では、ＧＰＵ３０は、メモリにアクセスするために、リード／ライトコマンドを生成し、これがブリッジインタフェースを介して送られる。ブリッジ２６はこのコマンドを受け取り、対応するコマンドをシステムメモリ１２に中継する。同様に、ディスプレイコントローラ３２は、フレームバッファ３６を読み出すために、リードコマンドを生成し、このコマンドがブリッジ２６へのブリッジインタフェースに送られ、ブリッジ２６は、対応するコマンドをシステムメモリ１２に中継しうる。これに対し、ディスプレイコントローラ２８は、フレームバッファ３６を読み出すために、システムメモリ１２に対するコマンドを生成し、この命令がブリッジ２６によって伝達される。
【００１３】
ディスプレイ１８または２０は、通常、表示している画像を記憶するためのメモリを持たないため、画像が静止している（変わらない）場合であっても、画像を表示し続けるため、繰り返しリフレッシュされうる。表示のために画像が再送される速度は、リフレッシュ速度と呼ばれる。リフレッシュ速度は、ユーザが選択可能であってもよく、例えば、代表的なディスプレイでは６０〜１２０ヘルツ（Ｈｚ）の範囲をとりうる。このため、ディスプレイコントローラ２８または３２は、ディスプレイ１８または２０に再送するため、フレームバッファデータを繰り返し（例えば、代表的なディスプレイでは１秒間に６０〜１２０回）読み出しうる。
【００１４】
多くの場合、ＧＰＵ３０は、システム１０の動作時間の比較的大半（９０％程度など）は遊休状態にある。言い換えると、表示中の画像は、大半の時間は静止しており、このため、この間はＧＰＵ３０がレンダリングを行っていない。しかし、ディスプレイコントローラ２８および３２は、ディスプレイ１８および２０を画像でリフレッシュしており、この間は遊休状態にはない。ディスプレイ１８がモバイルコンピューティングデバイスに内蔵されているため、本実施形態では、当該デバイスのバッテリ駆動中は、ディスプレイ１８が使用されうる。したがって、ディスプレイコントローラ２８をプロセッサユニット１４に内蔵することにより、ディスプレイコントローラ２８によるディスプレイ１８のリフレッシュを、メモリインタフェースとＬＶＤＳインタフェースを介して実行できるようになる。特に、ディスプレイ１８のリフレッシュを、ノースブリッジ１６へのブリッジインタフェースでトランザクションを発生させずに実行することができる。
【００１５】
このため、システム１０は、レンダリングが行われていない間は、ブリッジインタフェースを非アクティブ化する（deactivate）ことができる。より詳細には、プロセッサユニット１４（ブリッジ２６など）が、ブリッジインタフェースを非アクティブ化しうる。非アクティブ化しなかった場合にブリッジインタフェースの動作に消費されるはずであった電力を節約することができ、これにより、一部の実施形態では、バッテリ駆動時間を延長することができる。インタフェースを非アクティブ化する方法は、インタフェース自体の特性に応じて、実施形態によって変わりうる。一般に、インタフェースの非アクティブ化とは、当該インタフェース上での伝達を中断することを指す。
【００１６】
一実施形態では、ブリッジインタフェースは、ＨｙｐｅｒｔＴｒａｎｓｐｏｒｔ（登録商標）（ＨＴ）インタフェースと互換であってもよい。ＨＴインタフェースは、高速のクロック転送インタフェースである。このため、ＨＴインタフェースを介して通信中のトランザクションがない場合でも、アイドルのデータパターンが送信され、クロックの動作が続く。ＨＴインタフェースを非アクティブ化するには、切断が実行されうる（ＨＴインタフェースの両端で当該インタフェースの正常なシャットダウンが行われる）切断後、ＨＴインタフェースのクロックが停止されうる。後に、プロセッサユニット１４とノースブリッジ１６間の通信を実行するため、インタフェースが再接続されうる。
【００１７】
別の方法で電力消費を低減するために、ほかのインタフェースが非アクティブ化されてもよい。例えば、バスインタフェースに対応するクロックを単純にゲート制御する（gating the clock）ことにより、共有のバスインタフェースを非アクティブ化することができる。別の実施形態では、インタフェース上の信号が、非アクティブの（非アサート）レベルに駆動されうる。インタフェースでの伝達を停止するためのどのような機構でも使用することができる。
【００１８】
更に、ＧＰＵ３０は、比較的多数のトランジスタ（プロセッサコア２４Ａ〜２４Ｂのトランジスタ数に匹敵するレベルなど）で実装されうる高性能プロセッサであってもよい。したがって、ＧＰＵ３０をノースブリッジ１６内に残して、ディスプレイコントローラ２８をプロセッサユニット１４に内蔵することにより、一部の実施形態では、プロセッサユニット１４内での消費電力や面積の面で制約することなくＧＰＵ３０を改良できる余地を残しつつ、かつプロセッサコア２４Ａ〜２４Ｂに制限を課すことなく、節電を達成することができる。更に、システム１０の各種実施形態では、別個のＧＰＵ３０と、共通のプロセッサユニット１４が使用されてもよい。別の実施形態では、ＧＰＵ３０は、固定機能ロジックでも、プログラマブルロジックデバイスでも、これらの一方または両方と上記のプロセッサの組み合わせであってもよい。
【００１９】
ディスプレイコントローラ３２が使用されている場合（つまり、システム１０にディスプレイ２０が接続されている場合）、ディスプレイコントローラ３２がシステムメモリ１２にアクセスできなくなるため、ブリッジが非アクティブ化されない。しかし、ディスプレイコントローラ３２が使用されている場合には、通常は、システム１０が外部電源から給電され、このため、バッテリ駆動時間が問題とならない。ディスプレイコントローラ３２が使用中の場合の例としては、ラップトップがドッキングステーションに接続されている場合、ラップトップがプレゼンテーションモードで使用されており、ラップトップのＶＧＡ出力にプロジェクタが接続されている場合がある。
【００２０】
データ構造３４は、望ましい方法で定義することができ、ＧＰＵ３０の実施形態によって変わりうる。データ構造には、表示するオブジェクトの表示リストが何らかの方法で含まれうる。例えば、一部の実施形態では、表示リストには、画像に描画させる三角形が含まれうる。オブジェクト同士が重なっており、ＧＰＵ３０が、オブジェクトの前後関係を決定できるように、画像内の各オブジェクトの深度が指定されてもよい（例えば図１のｚＢｕｆｆなど）。更に、データ構造は、オブジェクトに適用するテクスチャを、各種テクスチャーマップに指定しうる。オブジェクトを記述するほかの多くの方法を使用することができ、各種実施形態において、複雑さやフォーマットが大幅に変わりうる。
【００２１】
ノースブリッジ１６は、周辺機器インタフェースを介して、Ｉ／Ｏハブ２２またはＩ／Ｏデバイスと更に接続されうる。一実施形態では、周辺機器インタフェースは、ＨＴインタフェースなどである。別の実施形態では、周辺機器インタフェースは、他のどのような通信インタフェースでもあってもよく、この例には、各種の形態の周辺装置相互接続（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ１３９４“Ｆｉｒｅｗｉｒｅ”、シリアルまたはパラレルインタフェースなどがある。Ｉ／Ｏハブ２２は、Ｉ／Ｏデバイスに接続しているか、あるいは、Ｉ／Ｏデバイスが接続されている他の所望の周辺機器インタフェースにブリッジしうる。別の実施形態では、１つ以上のＩ／Ｏデバイスが、周辺機器インタフェースを介してノースブリッジ１６に接続していてもよい。
【００２２】
このため、図１の実施形態では、ＧＰＵ３０がレンダリングを実行すべき場合、あるいは、周辺機器インタフェース上でＩ／Ｏアクティビティが行われているか、周辺機器インタフェースにＩ／Ｏアクティビティを送信する場合に、ブリッジインタフェースが再アクティブ化されうる。一部の実施形態では、ブリッジインタフェースが非アクティブ化される際に、周辺機器インタフェースも非アクティブ化されうる。
【００２３】
プロセッサコア２４Ａ〜２４Ｂは、任意の所望の命令セットアーキテクチャを実装しうる。例えば、プロセッサコア２４Ａ〜２４Ｂは、ｘ８６命令セットアーキテクチャ（ＩＡ−３２とも呼ばれる）を実装していてもよい。プロセッサコア２４Ａ〜２４Ｂは、ＡＭＤ６４（登録商標）命令セットアーキテクチャを実装していてもよい。他の例示的な命令セットアーキテクチャには、ＰｏｗｅｒＰＣ（登録商標）命令セットアーキテクチャ、ＡＲＭ（登録商標）命令セットアーキテクチャ、ＳＰＡＲＣ（登録商標）命令セットアーキテクチャ、ＭＩＰＳ（登録商標）命令セットアーキテクチャなどがある。一部の実施形態では、１つのプロセッサコアのみが備えられていてもよい。別の実施形態では、２つ以上のプロセッサコアがマルチコア構成で備えられてもよい。
【００２４】
一般に、ブリッジ２６は、ブリッジインタフェース、ディスプレイコントローラ２８、プロセッサコア２４Ａ〜２４Ｂおよびシステムメモリ１２間の通信を担いうる。このため、ブリッジ２６は、システムメモリ１２を制御するメモリコントローラ機能を内蔵しうる。メモリインタフェースには、任意の標準のメモリインタフェースが含まれうる。例えば、システムメモリ１２がシンクロナスＤＲＡＭ（ＳＤＲＡＭ）モジュールを有し、メモリインタフェースがＳＤＲＡＭインタフェースでありうる。シングルデータレート、ダブルデータレート（ＤＤＲ）、ＤＤＲ２など、どのようなタイプのＳＤＲＡＭメモリが使用されてもよい。一般に、各種の実施形態において、システムメモリ１２として、どのようなタイプの半導体メモリでも使用することができる。例えば、ＲＡＭＢＵＳ  ＤＲＡＭ（ＲＤＲＡＭ）、スタティックＲＡＭなどを使用することができる。
【００２５】
図に示した実施形態では、システムメモリ１２は、システムメモリ１２が、２つのグラフィックユニット（データ構造３４とフレームバッファ３６など）と、プロセッサコア２４Ａ〜２４Ｂとによって共有されている一元化メモリ構成である。例えば、プロセッサコア２４Ａ〜２４Ｂによって実行されるプロセッサコード３８と、コード３８の実行に応じて、プロセッサコア２４Ａ〜２４Ｂによってアクセス／更新されるデータ４０も、システムメモリ１２内に記憶される。一部の実施形態では、電力を節約するために、ディスプレイコントローラ２８をプロセッサユニット１４に内蔵させ、ブリッジインタフェースを非アクティブ化することにより、一元化メモリ設計においてバッテリ駆動時間のコストを削減または実質的に低減することができる。その一方で、システムメモリ１２とプロセッサユニット１４の接続が保持されており、プロセッサコア２４Ａ〜２４Ｂの性能に有利である。
【００２６】
プロセッサユニット１４は、一般に、少なくとも１つのプロセッサコアと他の部品を内蔵している任意の装置を備える。一実施形態では、プロセッサユニット１４は、１つの集積回路チップを備えうる。別の実施形態では、プロセッサユニット１４は、マルチチップモジュールに２つ以上のチップを備えても、１つの回路基板に接続された２つ以上の別個の集積回路を備えるなどであってもよい。同様に、ノースブリッジ１６は、ブリッジユニットを備え、これは、１つの集積回路チップであっても、マルチチップモジュールに２つ以上のチップを備えても、１つの回路基板に接続された２つ以上の別個の集積回路を備えるなどであってもよい。
【００２７】
図２は、図１に示すシステム１０の各種部品のブロック図であり、一実施形態の部品間の特定のデータフローを示している。プロセッサコア２４Ａ〜２４Ｂは、システムメモリ１２からのプロセッサコード３８の読み出し（矢印５０）、データ４０の読み書き（矢印５２）を行ないうる。更に、プロセッサコア２４Ａ〜２４Ｂは、表示すべきオブジェクトを追加／削除するために、データ構造３４の読み書きを行ないうる。ＧＰＵ３０は、データ構造３４を読み出し（矢印５４）、生成した画像データをフレームバッファ３６に書き込みうる（矢印５６）。ディスプレイコントローラ２８と３２は、フレームバッファ３６を読み出しうる（それぞれ矢印５８と６０）。
【００２８】
図２に示すように、ディスプレイコントローラ３２が非アクティブであり（モバイルコンピューティングシステムがバッテリ駆動で使用されている場合など）、ＧＰＵ３０がレンダリングを行っていない場合（大半の時間に該当する）、ノースブリッジ１６へのインタフェースが非アクティブ化されるが、その間もディスプレイコントローラ２８を介してローカルディスプレイがリフレッシュされる。
【００２９】
図３は、一実施形態のために、図１に示すシステムに関して実装することができる各種状態を含むステートマシンを示す。状態は縦に配置されており、図３に示すように、一般に、上にいくほど電力消費が高くなる（矢印７６）。すなわち、周辺機器インタフェースのアクティブ状態７０の電力消費は、ブリッジインタフェースのアクティブ状態７２の電力消費よりも高く、ブリッジインタフェースのアクティブ状態７２は、ブリッジインタフェースの非アクティブ状態７４の電力消費よりも高い。一部の実施形態では、システム１０が外部電源から給電されている場合は、ステートマシンは周辺機器インタフェースのアクティブ状態７０のままでありうる。
【００３０】
周辺機器インタフェースのアクティブ状態７０では、周辺機器インタフェースとブリッジインタフェースの両方がアクティブである。周辺機器インタフェースのアクティブ状態７０では、任意のＩ／Ｏアクティビティおよび／またはレンダリングアクティビティが行われうる。現時点で、グラフィックアクティビティを除くＩ／Ｏアクティビティがない場合（弧７８）、ステートマシンは、ブリッジインタフェースのアクティブ状態７２に遷移し、システムが周辺機器インタフェースを非アクティブ化しうる。Ｉ／Ｏアクティビティが再開される（弧８０）と、周辺機器インタフェースのアクティブ状態７０に戻る遷移が生じ、周辺機器インタフェースが再アクティブ化されうる。
【００３１】
ブリッジインタフェースのアクティブ状態７２では、ＨＤＭＩディスプレイが非アクティブ（すなわち、ディスプレイコントローラ３２が非アクティブ）であり、ＧＰＵ３０がレンダリングを実行していない場合には、システムはブリッジインタフェースの非アクティブ状態７４に移行して、システムがブリッジインタフェースを非アクティブ化しうる（弧８２）。ディスプレイコントローラ３２は、ディスプレイコントローラ３２がアクティブであるかどうかを示すイネーブルビットまたは他のイネーブル制御を備えうる。ＧＰＵ３０がアイドル（idle）状態の場合、システムは、レンダリングが実行されていないと検出しうる。
【００３２】
ブリッジインタフェースの非アクティブ状態７４では、レンダリングが実行されているか、ＨＤＭＩディスプレイ（ディスプレイコントローラ３２）がアクティブの場合、システムは、ブリッジインタフェースを再アクティブ化して、ブリッジインタフェースのアクティブ状態に遷移しうる（弧８４）。データ構造３４が変更された場合、ブリッジ２６内の特定のレジスタへの書き込みが検出された場合、ＧＰＵ３０に対してレンダリングの開始を指示するコマンドが検出された場合などに、システムは、レンダリングを実行すべきであると検出しうる。他の（グラフィック以外の）Ｉ／Ｏアクティビティが検出された場合（弧８６）、２つのインタフェースが再アクティブ化され、ステートマシンは周辺機器インタフェースのアクティブ状態に７０に遷移する。
【００３３】
ステートマシンの他の実施形態では、周辺機器インタフェースのアクティブ状態７０が省略されてもよい一部の実施形態では、図３に示すステートマシンが、大規模なパワーマネジメント方式（ＡＣＰＩなど）に組み込まれていてもよい。例えば、一実施形態では、ブリッジインタフェースの非アクティブ状態７４は、ＡＣＰＩのアイドル状態に対応しうる。
【００３４】
図４を参照すると、コンピュータシステム１０の別の実施形態のブロック図が示される。図４のコンピュータシステム１０は、図１に示したコンピュータシステム１０と似ており、図４中、類似している要素には図１と同じように符号を付している。図４の実施形態では、プロセッサユニット１４は、システムメモリ１２に代わってフレームバッファ３６を記憶しているメモリ９０も備える。図４の実施形態では、メモリインタフェースも非アクティブ化され、ディスプレイコントローラ２８が、（例えば、図３に示す状態７４において）メモリ９０からディスプレイ１８をリフレッシュしうる。一部の実施形態では、更に進んだ電力消費の節減を実現することができる。
【００３５】
メモリ９０は、任意のタイプの半導体メモリを備えうる。例えば、メモリ９０は、プロセッサユニット１４が１つの集積回路の場合には組込ＤＲＡＭを備え、別の実施形態では、プロセッサユニット１４内にローカルＤＲＡＭが設けられてもよい。メモリ９０はＳＲＡＭでもよい。
【００３６】
一実施形態では、メモリ９０は、システムメモリ１２と同じアドレス空間にマッピングされうる。このような実施形態では、ＧＰＵ３０が、フレームバッファ３６に割り当てられたアドレスへの書き込みを行うと、メモリ９０も自動的に書き込まれうる。別の実施形態では、メモリ９０はキャッシュとして動作してもよい。フレームバッファ３６は、システムメモリ１２にも記憶されており、メモリ９０がシステムメモリ１２と整合している状態に維持されるか、またはレンダリングが動的に実行される場合には、システムメモリ１２から定期的にリロードされうる。
【００３７】
上記の開示を完全に理解できれば、当業者にとって数多くの変形例および変更例が明らかとなるであろう。添付の特許請求の範囲は、このような変形例および変更例を全て包含するものと解釈されることが意図される。
【産業上の利用可能性】
【００３８】
本発明はコンピュータシステムに利用可能である。
【図面の簡単な説明】
【００３９】
【図１】コンピュータシステムの一実施形態を示すブロック図。
【図２】一実施形態のコンピュータシステムにおけるデータの流れを示すブロック図。
【図３】図１，２に示したプロセッサユニットの各種電力状態を示す状態図。
【図４】コンピュータシステムの別の実施形態を示すブロック図である。
【図１】
2009517736.tif 000003
【図２】
2009517736.tif 000004
【図３】
2009517736.tif 000005
【図４】
2009517736.tif 000006
【手続補正書】
【提出日】平成19年10月17日(2007.10.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサコア（２４Ａ）と、
ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（２８）と、
前記プロセッサコアおよび前記ディスプレイコントローラに結合されたブリッジ（２６）とを備え、
前記ブリッジは、前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成されたグラフィック処理ユニット（３０）と通信するために、第２のインタフェースに結合するように更に構成され、
前記ブリッジユニットは、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するように構成され、
前記ディスプレイコントローラは、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すように構成されている、プロセッサユニット（１４）。
【請求項２】
前記グラフィック処理ユニットがレンダリングを行っておらず、前記第２のインタフェースに結合された第２のブリッジ（１６）が結合されている周辺機器インタフェース上でのアクティビティがない場合、前記ブリッジは、前記第２のインタフェースを非アクティブ化するように構成されている請求項１に記載のプロセッサユニット（１４）。
【請求項３】
請求項１または２に記載のプロセッサユニットを有する集積回路（１４）であって、前記フレームバッファに前記画像をレンダリングする前記グラフィック処理ユニットを含まない集積回路。
【請求項４】
前記ブリッジはメモリ（１２）と通信するためにメモリインタフェースに結合するように更に構成されている、請求項３に記載の集積回路。
【請求項５】
メモリ（１２）と、
前記メモリに結合されたメモリインタフェースと、
前記メモリインタフェースに結合された請求項１または２に記載のプロセッサユニット（１４）と、
前記プロセッサユニットに結合された第２のインタフェースと、
前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成された前記グラフィック処理ユニット（３０）とを有するシステム（１０）。
【請求項６】
前記グラフィック処理ユニットは、前記メモリインタフェースを介してメモリにアクセスするように構成された前記プロセッサユニットに対して、前記第２のインタフェースを介してコマンドを発行することによって、メモリにアクセスするように構成されている請求項５に記載のシステム。
【請求項７】
前記グラフィック処理ユニットは、レンダリングすべきオブジェクトを記述しているデータ（３４）を前記メモリから読み出すように構成され、前記グラフィック処理ユニットは、前記画像を前記フレームバッファに書き込むように構成されている請求項６に記載のシステム。
【請求項８】
第２のディスプレイ（２０）に結合するように構成された第２のディスプレイコントローラ（３２）を更に有し、前記第２のディスプレイコントローラは、前記第２のインタフェースを介して通信するために接続されている請求項５、６または７に記載のシステム。
【請求項９】
前記グラフィック処理ユニットは、前記第２のインタフェースに接続され、更に周辺機器インタフェースに結合されたブリッジユニット（１６）に含まれる請求項５乃至８のいずれか１項に記載のシステム。
【請求項１０】
前記プロセッサユニットは、前記グラフィック処理ユニットがレンダリングを行っておらず、かつ前記周辺機器インタフェース上でのアクティビティがない場合に、前記第２のインタフェースを非アクティブ化するように構成されている請求項９に記載のシステム。
【請求項１１】
少なくとも１つのプロセッサコア（２４Ａ）と、ディスプレイ（１８）に結合するように構成されたディスプレイコントローラ（２８）と、前記プロセッサコアおよび前記ディスプレイコントローラに接続されたブリッジ（２６）とを有し、
前記ブリッジは、前記ディスプレイに表示する画像を表すデータをフレームバッファ（３６）にレンダリングするように構成されたグラフィック処理ユニット（３０）と通信するために、第２のインタフェースに結合するように更に構成されている装置における方法であって、
前記ブリッジユニットが、前記グラフィック処理ユニットがレンダリングを行っていない場合に、前記第２のインタフェースを非アクティブ化するステップと、
前記ディスプレイコントローラが、前記第２のインタフェースが非アクティブ化されている場合でも、表示のために前記フレームバッファデータを読み出すステップとを有する方法。
【国際調査報告】
2009517736.tif 000007
2009517736.tif 000008
2009517736.tif 000009