(57)【特許請求の範囲】
【請求項１】
グラフィック処理ユニットの使用についての方法であって、
前記グラフィック処理ユニットのグラフィック処理パイプラインの少なくとも１つの構成要素について、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタすることと、
前記少なくとも１つの構成要素と関連したバッファ内の少なくとも１つの以前のデータ量と前記バッファ内の現在のデータ量の比較に基づいて前記少なくとも１つの構成要素について傾向情報を決定することと、
前記状況情報を用いて前記傾向情報を更新することと、
前記モニタされた作動状態と前記傾向情報に基づいて前記グラフィック処理パイプラインの他の構成要素から独立して制御される前記少なくとも１つの構成要素へ電力レベルを供給することと、および
前記モニタされた作動状態と前記傾向情報に基づいて前記他の構成要素から独立して制御される前記少なくとも１つの構成要素へのクロック信号入力を調整すること
を具備する方法。
【請求項２】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素と関連したバッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを前記供給することは、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加させること
をさらに具備する、請求項1に記載の方法。
【請求項３】
前記傾向情報は、時間にわたって前記少なくとも１つの構成要素と関連したバッファ内のデータ量の提示を具備し、前記少なくとも１つの構成要素へ前記電力レベルを前記供給することは、
前記傾向情報を使用して傾向を決定することと、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加させることと、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減させることと
をさらに具備する、請求項1に記載の方法。
【請求項４】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、請求項１に記載の方法であって、前記方法は、
前記少なくとも１つの構成要素の示された待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減することと、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにすることと
をさらに具備する、請求項１に記載の方法。
【請求項５】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、請求項１に記載の方法であって、前記方法は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させることをさらに具備する、請求項１に記載の方法。
【請求項６】
前記電力レベルは、前記少なくとも１つの構成要素によって処理されるべきクロックの周波数を決定する、請求項１に記載の方法。
【請求項７】
前記グラフィック処理パイプラインの初めの処理状態において、前記方法は、さらに、前記少なくとも１つの構成要素へ供給される初期の電力レベルを、前記グラフィック処理パイプラインの１つまたは複数の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで遅らせることをさらに具備する、請求項１に記載の方法。
【請求項８】
コンピュータ実行可能プログラムコードが記憶されるコンピュータ可読メモリー媒体であって、前記プログラムコードは、グラフィック処理ユニットについて使用されるものであり、以下のことを前記グラフィック処理ユニットにさせるコードを具備するコンピュータ可読メモリー媒体；
前記グラフィック処理ユニットのグラフィック処理パイプラインの少なくとも１つの構成要素について、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタすることと、
前記少なくとも１つの構成要素と関連したバッファ内の少なくとも１つの以前のデータ量と前記バッファ内の現在のデータ量の比較に基づいて前記少なくとも１つの構成要素について傾向情報を決定することと、
前記状況情報を用いて前記傾向情報を更新することと、
前記モニタされた作動状態と前記傾向情報に基づいて前記グラフィック処理パイプラインの他の構成要素から独立して制御される前記少なくとも１つの構成要素へ電力レベルを供給することと、および
前記モニタされた作動状態と前記傾向情報に基づいて前記他の構成要素から独立して制御される前記少なくとも１つの構成要素へのクロック信号入力を調整すること。
【請求項９】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素と関連したバッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給する前記コードは、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加すること
を前記グラフィック処理ユニットにさせるコードをさらに具備する、請求項8に記載の媒体。
【請求項１０】
前記傾向情報は、時間にわたって前記少なくとも１つの構成要素と関連したバッファ内のデータ量の提示を具備し、前記少なくとも１つの構成要素へ電力レベルを供給することを前記グラフィック処理ユニットにさせるコードを具備する前記コードは、
前記傾向情報を使用して傾向を決定し、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加し、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する
ことを前記グラフィック処理ユニットにさせるコードを
さらに具備する、請求項８に記載の媒体。
【請求項１１】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、請求項８に記載の媒体であって、前記コードは、
前記少なくとも１つの示された構成要素の待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減すること；および
前記少なくとも１つの構成要素へのクロック信号入力をオフにすること
を前記グラフィック処理ユニットにさせるコードをさらに具備する、請求項8に記載の媒体。
【請求項１２】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、請求項８に記載の媒体であって、前記コードは、前記少なくとも１つの構成要素の示された休止状態に対応して前記少なくとも１つの構成要素への電力の供給を終了させることを前記グラフィック処理ユニットにさせるコードをさらに具備する、請求項８に記載の媒体。
【請求項１３】
前記グラフィック処理パイプラインの初めの処理状態において、前記コードは、前記少なくとも１つの構成要素へ供給されるべき初期の電力レベルは、前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで遅らせることを前記グラフィック処理ユニットにさせるコードをさらに具備する、請求項８に記載の媒体。
【請求項１４】
グラフィック処理装置であって、
イメージのためのイメージ・ジオメトリを処理するようグラフィック処理パイプラインを実行するように構成されているグラフィック処理ユニットであって、前記グラフィック処理パイプラインは、少なくとも１つの構成要素を具備する、グラフィック処理ユニットと、および
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、
前記少なくとも１つの構成要素と関連したバッファ内の少なくとも１つの以前のデータ量と前記バッファ内の現在のデータ量の比較に基づいて前記少なくとも１つの構成要素について傾向情報を決定し、
前記状況情報を用いて前記傾向情報を更新し、
前記モニタされた作動状態と前記傾向情報に基づいて前記グラフィック処理パイプラインの他の構成要素から独立して制御される前記少なくとも１つの構成要素へ電力レベルを供給し、および
前記モニタされた作動状態と前記傾向情報に基づいて前記他の構成要素から独立して制御される前記少なくとも１つの構成要素へのクロック信号入力を調整する
ように構成されている電力制御装置と
を具備する装置。
【請求項１５】
前記グラフィック処理ユニットは、前記少なくとも１つの構成要素と関連したバッファをさらに具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するよう構成されている前記電力制御装置は、前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加するようにさらに構成されている、請求項14に記載の装置。
【請求項１６】
前記傾向情報は、時間にわたって前記少なくとも１つの構成要素と関連したバッファ内のデータ量の提示を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するよう構成されている前記電力制御装置は、
前記傾向情報を使用して傾向を決定し、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加し、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する
ようにさらに構成されている、請求項１４に記載の装置。
【請求項１７】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、請求項１４に記載の装置であって、前記電力制御装置は、
前記少なくとも１つの構成要素の示された待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減し、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにする
ようにさらに構成されている、請求項１４に記載の装置。
【請求項１８】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、請求項１４に記載の装置であって、前記電力制御装置は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させるようにさらに構成されている、請求項１４に記載の装置。
【請求項１９】
前記グラフィック処理パイプラインの初めの処理状態において、前記電力制御装置は、前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで前記少なくとも１つの構成要素へ初期の電力レベルを供給することを遅らすようにさらに構成されている、請求項１４に記載の装置。
【請求項２０】
イメージのためのイメージ・ジオメトリを処理するようグラフィック処理パイプラインを実行するためのグラフィック処理手段であって、前記グラフィック処理パイプラインは、少なくとも１つの構成要素を具備する、グラフィック処理手段と、および
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、
前記少なくとも１つの構成要素と関連したバッファ内の少なくとも１つの以前のデータ量と前記バッファ内の現在のデータ量の比較に基づいて少なくとも１つの構成要素について傾向情報を決定し、
前記状況情報を用いて前記傾向情報を更新し、
前記モニタされた作動状態と前記傾向情報に基づいて前記グラフィック処理パイプラインの他の構成要素から独立して制御される前記少なくとも１つの構成要素へ電力レベルを供給し、
前記モニタされた作動状態と前記傾向情報に基づいて前記他の構成要素から独立して制御される前記少なくとも１つの構成要素へのクロック信号入力を調整する、電力を制御する手段と
を具備する装置。
【請求項２１】
前記グラフィック処理手段は、前記少なくとも１つの構成要素に関連したバッファリング手段をさらに具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファリング手段内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するための前記電力を制御する手段は、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加する手段をさらに具備する、請求項20に記載の装置。
【請求項２２】
前記傾向情報は、時間にわたって前記少なくとも１つの構成要素と関連したバッファ内のデータ量の提示を具備し、および前記少なくとも１つの構成要素に電力レベルを供給する前記電力を制御する手段は、
前記傾向情報を使用して傾向を決定する手段と、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加する手段と、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する手段と
をさらに具備する、請求項２０に記載の装置。
【請求項２３】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、請求項２０に記載の装置であって、前記電力を制御する手段は、
前記少なくとも１つの構成要素の示された待機状態に対応して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する手段と、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにする手段と
をさらに具備する、請求項２０に記載の装置。
【請求項２４】
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、請求項２０に記載の装置であって、前記電力を制御する手段は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させる手段をさらに具備する、請求項２０に記載の装置。
【請求項２５】
前記グラフィック処理パイプラインの初めの処理状態において、前記電力を制御する手段は、前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで前記少なくとも１つの構成要素への初期の電力レベルの供給を遅らすための手段をさらに具備する、請求項２０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、グラフィック処理ユニットに関係し、より詳細には、グラフィック処理ユニットにおける消費電力をモニタおよび制御することに関係する。
【背景技術】
【０００２】
グラフィック処理ユニット（GPU）とは、ディスプレイ・デバイス上でのディスプレイのためにコンピュータ化されたグラフィックを生成するために使用される専用のグラフィック・レンダリング・デバイスである。GPUは、ある範囲の複合アルゴリズムについて、典型的な汎用目的の中央処理装置（CPU）より効率的な処理を提供する高度並列構造を用いて構築される。複合アルゴリズムとは、例えば、三次元のコンピュータ化されたグラフィックの表示に対応するアルゴリズムであってもよい。そのような場合、GPUは、ディスプレイ・デバイス上でディスプレイするためのイメージを抽出するためにCPUを使用するより短時間にディスプレイ・デバイス上でディスプレイするための三次元イメージを作成するために、いくつかのプリミティブ・グラフィック・オペレーションを実装することができる。
【０００３】
典型的なGPUは、イメージ・ジオメトリ（image geometry）を受信し、例えばディスプレイ・デバイス上でのディスプレイのために出力されることができるグラフィックを生成するためにパイプライン・アプローチを使用する。典型的なグラフィック・パイプラインは、多数のステージからなっていて、これらの多数のステージは、１つのステージの出力とは並列的に作動し、そのステージの出力は、パイプライン内の他のステージにおいて使用される。パイプライン内の各ステージは、１つまたは複数の構成要素によって実行される。各構成要素についてのワークロードは、例えば、構成要素によって作動されるべきデータ、およびデータに行なわれるべきオペレーションの数に基づいて変化しうる。加えて、ワークロードは、ある１つのイメージ・ジオメトリとその次のイメージ・ジオメトリとの間では異なるものになりうるし、また１つのイメージ・ジオメトリの中であっても、時間が異なると、異なるものになることがある。
【０００４】
図1は、イメージ・ジオメトリを処理するためにパイプラインを使用する従来のGPUシステムの構成要素を示している。GPUシステム100のグラフィック・パイプライン102は、入力アセンブラ104、頂点シェーダー106、ラスタ化装置108、断片シェーダー110、および出力併合装置112から構成され、各々は、資源114へのアクセスを有する。資源114は、イメージ・ジオメトリにおいて特定された各々の頂点と関連した座標および属性のような、グラフィック・パイプライン102によって使用されるデータ資源である。頂点座標は、例えば、イメージ・ジオメトリ内の頂点の位置を特定する、X、Y、およびZ（幅、高さ、及び深さ）座標、およびイメージ・ジオメトリのための透視パラメーターを具備するW座標による四次元座標システムに基づいてイメージ・ジオメトリ内の頂点を特定する。頂点属性は、例えば、頂点と関連した色、垂線(normal)、およびテクスチャ座標を含んでいてもよい。資源114はまた、グラフィック・パイプライン102によって使用される、テクスチャのような他のデータを含んでいてもよい。
【０００５】
入力アセンブラ104は、グラフィック・パイプライン102によって処理されるべきプリミティブの頂点をアセンブルする。頂点シェーダー106は、イメージのためにイメージ・ジオメトリに適用され、およびイメージ・ジオメトリ内の頂点座標および頂点の属性を生成する。ラスタ化108は、プリミティブ内の頂点のXY座標およびプリミティブ内に含まれるピクセルの数に基づいてプリミティブをピクセルに変換する。断片シェーダー110は、処理されたイメージのポスト処理および表示のために出力デバイスを使用して出力併合装置112へ出力されるピクセルをレンダーする。
【０００６】
グラフィック・パイプライン102の１つの構成要素（例えば、ラスタ化装置108）は、休止状態（例えば、所与のひとまとめのデータ上の処理を完結した、または何かの理由で残りのデータを処理することを待っている状態）であってもよい。１つの構成要素が休止状態にある間にも、その構成要素は、データを処理するために実際に全能力で作動している他の構成要素と同レベルの電力をまだ受信している。消費電力は、電源が何であるかにかかわらず、大きな関心事ではあるけれど、とりわけ、電源が限られた容量しか持っていない場合、例えば、限られた充電量のバッテリーのような場合は、特に大きな関心事である。
【発明の概要】
【０００７】
本件開示は、当該技術分野の欠点に対処すること、およびグラフィック・データを処理する構成要素によって決定される電力の需要に基づいて消費電力を制御することによってグラフィック・イメージ処理における効率性を提供することを目的としている。
【０００８】
グラフィック処理ユニットとともに使用される電力制御装置が本件明細書において開示されている。電力制御装置は、グラフィック処理ユニットのパイプラインの構成要素に供給される電力をモニタリング、管理、および制御する。前記電力制御装置は、パイプライン構成要素に関連して電力制御装置によって受信される状況情報に基づいて、前記パイプライン構成要素へ電力が供給されるべきかどうかおよびどの程度の電力が供給されるべきかを決定する。前記電力制御装置は、前記受信した状況情報を使用して傾向を特定することができ、および前記特定された傾向に基づいて、パイプライン構成要素へ電力が供給されるべきかどうかおよびどの程度の電力が供給されるべきかを決定することができる。
【０００９】
グラフィック処理ユニットのグラフィック・パイプライン構成要素は、構成要素が電力を必要とするかどうかおよびどの程度の電力を必要とするかを決定するようモニタされることができ、電力レベルは、他の構成要素へ供給される電力レベルとは独立に前記決定に基づいて前記構成要素へ供給されることができる。１つまたは複数の実施形態にしたがって、作動状態を識別する状況情報であって、前記構成要素と関連したバッファと関連した状況情報を含む、状況情報が分析される。非制限的例として、関連したバッファに記憶されるデータ量および／または前記構成要素の処理状態のような状況情報が、前記構成要素へ供給されるべき電力レベル、および前記構成要素へのクロック信号入力の周波数を識別するためにモニタされる。
【００１０】
この構成のおかげで（ただし、この構成の例に限られるわけではないが）、少なくとも消費電力の制御については、イメージ・ジオメトリの処理における効率性を達成することができる。パイプライン構成要素への電力を低減するまたは完全にシャットダウンする機会を識別し、および他のパイプライン構成要素へ供給される電力と独立して、あるパイプライン構成要素へ供給される電力を調節するための能力が提供される。このようにして（これもまた非制限的例ではあるが）、少なくともある期間の間、作動するのに電力を必要としない構成要素が識別され、およびパイプラインにおける他の構成要素に影響を及ぼすことなく、前記構成要素への電力がシャットオフされることができる。その結果、前記グラフィック処理ユニットによって消費される前記電力の量が制御され、および消費電力は、前記イメージ・ジオメトリを処理するために前記パイプラインによって必要とされる前記電力の量に制限することができる。
【００１１】
少なくとも１つの実施形態において、グラフィック処理ユニットによる使用のための方法が説明される。前記グラフィック処理ユニットのパイプラインの少なくとも１つの構成要素について、前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報がモニタされ、および前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素へ電力レベルが供給される。
【００１２】
１つまたは複数の実施形態にしたがって、グラフィック処理ユニットがイメージのためのイメージ・ジオメトリを処理するためにグラフィック処理パイプラインを実施するよう構成されている装置が説明される。電力制御装置は、前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素に電力レベルを供給するように構成されている。
【００１３】
この簡潔な要約は、本件発明の本質がすぐに理解されることができるように提供されたものである。本件発明のより完全な理解は、添付の図面と一緒に好ましい実施形態（複数）の以下の詳細な説明を参照することによって、得ることができる。
【図面の簡単な説明】
【００１４】
上で述べられた本件開示の特徴および目的は、同様の参照数字が同様のエレメントを示している添付の図面とともに以下の説明を参照することでより明白になるだろう。
【図１】図1は、イメージ・ジオメトリを処理するためのパイプラインを備える従来のGPUシステムの構成要素を例示している。
【図２】図2は、本件開示の１つまたは複数の実施形態にしたがって、電力制御装置を使用して、コンピュータ化されたイメージを処理するための技術を実装するグラフィック処理ユニットを含む典型的デバイスを例示するブロック図である。
【図３】図3は、本件開示の１つまたは複数の実施形態にしたがって、電力をモニタ、管理、および制御するために電力制御装置を使用するグラフィック処理ユニット内のグラフィック処理ユニット・パイプラインを例示するブロック図の一例を提供している。
【図４】図4は、本件開示の１つまたは複数の実施形態にしたがって、グラフィック処理ユニットの電力制御装置に状況情報を提供するグラフィック処理ユニット・パイプラインの構成要素による使用のための処理の流れの一例を提供している。
【図５Ａ】図5Aは、本件開示の実施形態にしたがって、グラフィック処理ユニットの電力制御装置による使用のための処理の流れの一例を提供している。
【図５Ｂ】図5Bは、本件開示の実施形態にしたがって、グラフィック処理ユニットの電力制御装置による使用のための処理の流れの一例を提供している。
【発明の詳細な説明】
【００１５】
前述の図面を参照して本件開示の特定の実施形態がこれから議論される。図面において、同様の参照数字は、同様の構成要素を指している。
【００１６】
１つまたは複数の実施形態にしたがって、電力供給が管理されている各々の構成要素の作動状態を識別する状況情報に基づいて、グラフィック処理ユニットのパイプラインの構成要素に供給される電力レベルを制御する電力制御装置によって電力がモニタされ、管理され、および制御される方法および装置が開示される。状況情報は、次のものに制限されないが、データ・バッファリングの傾向、バッファされるデータの量、構成要素の停止状態などであってもよい。
【００１７】
図2は、本件開示の１つまたは複数の実施形態にしたがって、GPUパイプラインにおける電力使用を制御および管理するための技術を実装するグラフィック処理ユニット（GPU）204を含む典型的なデバイス200を例示するブロック図である。図2の例において、デバイス200は、GPU204のオペレーションを制御することができる制御装置202を含む。制御装置202はまた、デバイス200のオペレーションを制御することもできる。本件明細書において説明されている技術にしたがって、GPU204は、GPUパイプライン208に結合されたGPUパイプライン208および資源206を含む。加えて、GPUは、GPUパイプライン208の構成要素によって使用される電力をモニタ、管理および制御するよう構成されている電力制御装置210を含む。
【００１８】
GPU204は、デバイス200内の制御装置202からイメージのためのイメージ・ジオメトリを受信する。イメージ・ジオメトリは、複合的な二次元または三次元のコンピュータ化されたグラフィックに対応するものであってよい。GPU204は、例えば、ディスプレイ・デバイス212を介してデバイス200のユーザーへイメージの効果、背景イメージ、またはビデオ・ゲーム・イメージを提供するためにイメージ・ジオメトリを処理する。イメージは、ビデオ・フレームのシーケンスのビデオ・フレームとして形成されることができる。ディスプレイ・デバイス212は、非制限的例として、液晶ディスプレイ（LCD）、ブラウン管（CRT）ディスプレイ、プラズマ・ディスプレイ、または他のタイプのディスプレイ、もしくは、デバイス200と統合または結合された他の出力デバイスであってもよい。
【００１９】
非制限的例として、いくつかの場合において、制御装置202は、デバイス200内で作動するアプリケーションからイメージ・ジオメトリを受信する。例えば、デバイス200は、外部のハード・ドライブまたは移動可能データ記憶デバイスから受信されるイメージ・ジオメトリに基づいてビデオ・ゲーム・アプリケーションを作動する計算デバイスであってもよい。他の典型的な場合において、制御装置202は、デバイス200の外部で作動するアプリケーションからイメージ・ジオメトリを受信することができる。例えば、デバイス200は、インターネットのような有線またはワイヤレス・ネットワークを介して外部のサーバーから受信されるイメージ・ジオメトリに基づいてビデオ・ゲーム・アプリケーションを作動する計算デバイスを具備することができる。イメージ・ジオメトリは、有線接続、ワイヤレス接続またはそれらの組み合わせの接続を介してストリーミング・メディアまたはブロードキャスト・メディアを介して受信されうる。
【００２０】
デバイス200のユーザーがイメージ効果をトリガーするとき、背景イメージを選択するとき、またはビデオ・ゲームを起動するとき、例えば、制御装置202は、アプリケーションから対応するイメージ・ジオメトリを受信し、およびそのイメージ・ジオメトリをGPU204へ送信する。GPU204は、ディスプレイ・デバイス212上での提示のために対応するイメージを準備するためにイメージ・ジオメトリを処理する。例えば、GPU204は、例えば、ディスプレイ・デバイス212のような出力デバイスへの出力のために、受信したイメージ・ジオメトリによって表わされるイメージを作成するための１つまたは複数のプリミティブ（例えば、ポイント、ライン、三角形、図形、多角形など）を形成するオペレーションを含むいくつかのプリミティブ・グラフィック・オペレーションを実装することができる。
【００２１】
本件明細書において説明される技術にしたがって、GPUパイプライン208は、資源206からイメージ・ジオメトリを受信し、および資源206に資源を格納することができる。以下でより詳細に議論されるように、GPUパイプライン208は、あるパイプライン処理ステージまたは構成要素から他のステージまたは他の構成要素へデータ（例えば、頂点値）を渡すためにいくつかのバッファを使用する。
【００２２】
１つまたは複数の実施形態にしたがって、頂点値は、頂点座標および頂点属性を具備する。頂点座標は、例えば、イメージ・ジオメトリの内部の頂点の位置を識別するX、Y、およびZ（幅、高さ、および深さ）座標、およびイメージ・ジオメトリのための透視パラメーターを具備するW座標による四次元座標システムに基づいて、イメージ・ジオメトリの内部の頂点を識別する。頂点属性は、例えば、頂点と関連した色、垂線、およびテクスチャ座標を含むことができる。
【００２３】
図2において例示される実施形態において、ディスプレイ・デバイス212は、デバイス200とは別のデバイスを具備する。ディスプレイ・デバイス212は、ワイヤレス接続、有線接続、またはそれらのいくつかの組み合わせの接続を介してデバイス200に結合されることができる。例えば、デバイス200は、サーバーまたは他の計算デバイス（例えば、通信サービス・プロバイダーのサーバーまたは計算デバイス）であってもよく、およびディスプレイ・デバイス212は、サーバーまたは他の計算デバイスに結合されたデバイス（例えば、モバイル・デバイス）の内部に含まれていてもよい。そのような典型的な場合において、非制限的例として、ディスプレイ・デバイス212は、モバイル無線電話、衛生無線電話、ネットワーク通信カード（例えば、ワイヤレス、有線、またはそれらの組み合わせ）を備える持ち運び可能コンピュータ、ネットワーク通信能力を備える携帯情報端末（PDA）、またはサービス・プロバイダーの計算デバイスと通信することができる任意の様々なデバイス、またはサービス・プロバイダーの計算デバイスに接続された他のデバイスの内部のディスプレイであってもよい。
【００２４】
本件明細書において開示される他の実施形態にしたがって、ディスプレイ・デバイス212は、デバイス200の内部に統合されることができる。非制限的例として、デバイス200は、モバイルおよび／またはハンドヘルド・デバイスであってもよく、ディスプレイ・デバイス212は、デバイス200の統合されたディスプレイであってもよい。他の非制限的例として、デバイス200は、デスクトップまたはノートブック・コンピュータであってもよく、ディスプレイ・デバイス212は、デバイス200の専用のモニタまたはディスプレイであってもよい。さらに他の非制限的例として、デバイス200はまた、有線通信デバイスまたは主に通信に向けられていないデバイスであってもよく、ディスプレイ・デバイス200は、デバイスの内部のディスプレイであってもよい。例えば、デバイス200は、ディスプレイ・デバイス212を含むPDAまたはハンドヘルド・ビデオ・ゲーム・デバイスであってもよい。これにより、様々な実施形態にしたがって、ディスプレイ・デバイス212上のディスプレイのためのビデオ・イメージは、ディスプレイ・デバイス212にローカルなまたは遠隔なデバイスから取得されることができる。
【００２５】
図3は、本件開示の１つまたは複数の実施形態にしたがって、GPUパイプライン308によって使用される電力をモニタ、管理、および制御するために電力制御装置210を使用するGPU（例えば、GPU204）の内部のGPUパイプライン308を例示するブロック図の一例を提供している。GPU204は、例えば図３のデバイス200と実質的に同じであるデバイスの内部に含まれることができる。GPUパイプライン308は、GPUパイプラインの様々なステージを実装するための任意の数または任意のタイプの構成要素を含んでもよい。非制限的な例として、図3のGPUパイプライン308は、入力アセンブラ314A、頂点シェーダー314B、ラスタ化装置314C、断片シェーダー314D、および出力合併装置314Eを含んでいる。入力アセンブラ314Aは、グラフィック・パイプライン102を介して処理されるべきプリミティブの頂点をアセンブルする。頂点シェーダー314Bは、イメージのためのイメージ・ジオメトリに適用され、およびイメージ・ジオメトリ内の頂点座標および頂点の属性を生成する。ラスタ化装置314Cは、プリミティブの内部の頂点のXY座標およびプリミティブに含まれるピクセルの数に基づいてプリミティブをピクセルに変換する。断片シェーダー314Dは、ピクセルをレンダーし、ピクセルは、処理されたイメージのポスト処理および提示をするために出力デバイスを使用して出力合併装置314Eへ出力される。
【００２６】
イメージのためのイメージ・ジオメトリおよびレンダリング・コマンドは、GPU204が属するデバイス（例えば、デバイス200）の制御装置（例えば、制御装置202）からGPU204によって受信される。イメージ・ジオメトリは、例えば、複合的な二次元または三次元のコンピュータ化されたグラフィックに対応するものであってよい。イメージ・ジオメトリおよびレンダリング・コマンドは、GPUパイプライン308をたどってGPUパイプライン302の様々な処理ステージに渡されてもよい。
【００２７】
電力制御装置210は、パイプライン308の構成要素の各々への電力およびクロック入力信号を他の構成要素と独立して前記構成要素の各々のために収集される状況情報に基づいて調節するよう構成されている。図3において図示されている一例において、入力アセンブラ314A、頂点シェーダー314B、ラスタ化装置314C、断片シェーダー314Dおよび出力合併装置314Eは各々、他の構成要素とは独立に電力およびクロック入力を受信することができる。この仕組みのおかげで、非制限的例として、電力制御装置210は、GPU204、および特にパイプライン308によって消費される電力をパイプライン308から受信されるフィードバックに基づいて管理することができる。さらなる非制限的例として、電力制御装置210は、電力および／またはクロック周波数を１つまたは複数のパイプライン308の構成要素に対して変更する（増加させるまたは減少させる）ことができる一方で、パイプライン308の他の構成要素のための電力および／またはクロック周波数を変更しないままにしておくことができる。電力制御装置は、例えば、制御装置202から分離されているものであってもよく、または代替的に制御装置202によって実装されるものであってもよい。
【００２８】
１つまたは複数の実施形態にしたがって、電力制御装置210は、電力およびクロック・スケジューラー（PCS）322と電力管理ユニット（PMU）336とを具備する。PCS332およびPMU336は、図3の例においては分離した構成要素として図示されているが、統合されたユニットであってもよく、または図示されている2つ以上の構成要素から構成されてもよいことが当然明白である。PMU336は、電力供給ライン340を介して構成要素314Aないし314Eの各々に電力を供給し、およびクロック信号ライン338を介して構成要素314Aないし314Eの各々のためにクロック周波数を設定するよう構成されている。電力およびクロック入力は、本件明細書において電力調節装置317とも呼ばれる電力調節ユニット（PAU）によって、および本件明細書においてクロック調節装置315とも呼ばれるクロック調節ユニット（CAU）によって、それぞれ調節されることができる。図3の例において、PAU317およびCAU315は、PMU336の一部であるように図示されている。しかしながら、PAU317およびCAU315は、PMU336から分離されてもよいことが当然明白である。電力供給ライン340（またはクロック信号ライン338）は、単一のラインとして図示されているけれど、１つまたは複数の実施形態にしたがって、構成要素314Aないし314Eの各々に対して１つずつ別々のラインを具備することができる。
【００２９】
１つまたは複数の実施形態にしたがって、電力供給ライン340を介して構成要素314Aないし314Eおよび調節装置317Aないし317Eのそれぞれに電力が供給される。さらなる非制限的例として、PAU317は、入力アセンブラ314Aに供給される電圧を残りの構成要素314Bないし314Eのいずれかに供給される電圧と独立して調節するために調節装置317Aを使用することができる。同様に、クロック信号ライン338を介して供給されるクロック信号入力は、各々の構成要素314Aないし314Eについて、調節装置315Aないし315Eを介して他の構成要素と独立にPMU336の制御の下でCAU315によってそれぞれ調節されることができる。他の非制限的例として、クロック信号入力は、構成要素314に供給される電力の関数（例えば、線形関数）であって、そのことによって、構成要素314に提供される電力レベルが構成要素314のためのクロック信号および結果のクロック周波数に帰着する。クロック周波数は、構成要素314がデータを処理すべく作動する１秒間あたりのサイクルを指定する。所与の構成要素314のためのクロック周波数、およびクロック信号入力は、他の構成要素314と関連したクロック周波数、およびクロック信号入力と独立であってもよい。調節装置315Aは、入力アセンブラ314Aにおけるクロック周波数およびクロック信号入力を調節するために、PMU336およびCAU315によって使用されることができる。クロック周波数およびクロック信号入力における入力アセンブラ314Aは、例えば、他の構成要素314Bないし314Eと関連したクロック周波数、およびクロック信号入力と独立に作動する。
【００３０】
PMU336は、PCS332から受信される制御入力に基づいてCAU315、PAU317、調節装置315Aないし315Eおよび317Aないし317E、電力供給ライン340、およびクロック信号ライン338を制御するよう構成されている。PCS332は、構成要素314Aないし314Eの各々のための電力およびクロック入力に対してどのような調節がなされるべきかについての決定をするために、状況ライン320を介して収集される状態または状況情報を、例えば構成要素314Aないし314Eの各々のためにモニタする。PCS332は、収集された状況情報を使用してなされた決定に基づいてPMU336に制御情報を転送する。状況情報は、次のものに制限されないが、データ・バッファリングの量および傾向、構成要素の処理状態、およびパイプライン308の処理状態を含むことができる。
【００３１】
１つまたは複数の実施形態にしたがって、例えば、１つの構成要素によるデータ出力は、バッファを使用して他の構成要素へ渡される。１つまたは複数の実施形態にしたがって、非同期バッファが使用され、そのことによって、バッファは、データがバッファから読み出されるクロック速度とは異なるクロック速度、または周波数でデータをバッファに書き込むべく潜在的に作動することができる。１つまたは複数の実施形態にしたがって、バッファは、先入れ、先出し（FIFO）バッファである。少なくとも１つの実施形態にしたがって、ある構成要素は、パイプライン308における他の構成要素によるオペレーションのために非同期FIFOバッファにデータを書き込む。加えて、非同期FIFOバッファは、例えば、データを記憶するために使用されているバッファの量に関する状況情報の形式でフィードバックを提供する。
【００３２】
非制限的例として、入力アセンブラ314Aは、イメージ・ジオメトリによって特定される頂点のための頂点値（例えば、座標および／または属性）を書き込みオペレーションおよびライン346Aを介して非同期バッファ324Aへ出力する。入力アセンブラ314Aは、クロック信号ライン338および調節装置315Aを介してPMU336によって設定されるクロック速度で作動しており、および電力ライン340および調節装置317Aを介して電力を受信している。入力アセンブラ314Aは、ライン342Aを介して資源206内の資源にアクセス（例えば、抽出および／または記憶）することができる。頂点シェーダー314Bは、電力340および調節装置317Bを介して供給される電力レベルと、クロック信号ライン338および調節装置315Bを介して受信されるクロック入力に基づくクロック速度と作動しており、これらの電力およびクロック入力は、電力制御装置210によって設定されるような入力アセンブラ314Aへ供給される電力および入力されるクロック信号と同じものであってもよいし、異なるものであってもよい。頂点シェーダー314Aは、入力アセンブラ314Aによってバッファ324Aに書き込まれたデータを読み出しオペレーションおよびライン348Bを使用してバッファ324Aから取り込み、ライン342Bを介して資源206内の資源にアクセスすることができる。上記で議論されたように、バッファ324Aは、読み出しおよび書き込みオペレーションのための異なるクロック速度に適応することができる。
【００３３】
バッファ324Aは、例えば、バッファ使用の形式で状況ライン322および320を介して電力制御装置210へフィードバックを周期的に提供する。前記情報が電力制御装置210へ提供される周波数は、あらかじめ定めておくことができる。例えば、10ミニ秒ごとのような、電力制御装置210が、収集された状況情報で作動することになっている所与の時間間隔にあらかじめ定めておくことができる。代替的に、電力制御装置210は、より多くのまたはより少ない頻度をベースに状況情報を収集しおよび作動することができる。電力制御装置210が状況情報を収集する周期は、例えば、現在のバッファの深さ（例えば、使用された／自由なバッファの量）、バッファの深さが変わるレート、バッファを使用する構成要素のオペレーションなどに基づいて動的に決定されることができる。１つまたは複数の実施形態にしたがって、前記フィードバックは、各々の読み出しまたは書き込みオペレーションで提供されることができる。
【００３４】
本件明細書において開示される実施形態にしたがって、入力アセンブラ314A、および／または314Bないし314Eのうちのいずれか１つまたは複数は、状況ライン320および状況出力信号ライン344Aないし344Eを介してPCS332へ状況情報を提供することができる。例えば、入力アセンブラ314Aのような構成要素は、構成要素314が、GPU204によって受信された所与のひとまとまりのデータについてのデータ処理を完結した状態（例えば、休止状態）を識別することができる。さらなる非制限的例として、入力アセンブラ314Aは、構成要素が、残りのデータを処理するために何らかの理由で待機している（例えば、資源206からの資源を待っている）待機状態または停止状態を識別することができる。
【００３５】
１つまたは複数の実施形態にしたがって、PCS332は、傾向（例えば、構成要素314によるバッファ324の使用の増加傾向）を特定するために、受信した状況情報を使用する。以下でより詳細に論じられるように、電力供給および／またはクロック信号入力における変更がなされるべきかどうかを決定するために、利用可能なバッファの深さと組み合わせて傾向が使用されることができる。代替的に、識別された傾向は、電力およびクロック速度に関する決定をするために他の状況情報（例えば、利用可能なバッファの深さに関する情報）と独立して使用されることができる。
【００３６】
頂点シェーダー314Bと同様に、かつ、図3に示される例に示されるパイプラインに沿って継続して、パイプラインに残っているいかなる構成要素（例えば、314Cないし314E）も、バッファ324（例えば、バッファ324Bないし324D）から取り出されたデータを処理することができ、および電力供給ライン340およびクロック信号ライン338のそれぞれからの電力供給およびクロック信号入力に基づいて、取り出されたデータで作動することができる。電力供給およびクロック信号入力は、構成要素314Cないし314Eに対応する調節装置317Cないし317Eおよび315Cないし315Eを介してPMU336によって調節される。
【００３７】
パイプライン構成要素の各々によって処理されるワークロードおよび／またはパイプライン構成要素にわたるワークロードにおけるいかなる違いにも関係なくすべてのパイプライン構成要素について同じ電圧およびクロック周波数が使用されるGPUパイプラインとともに使用される従来のアプローチとは対照的に、本件開示の実施形態は、PCS332によって受信された状況情報を使用する電力制御装置210によって決定されるような構成要素の314のワークロードに基づいて、他のパイプライン構成要素と独立して各々のパイプライン構成要素についての供給電力およびクロック信号を調節する能力を提供する。パイプライン構成要素314によって使用される１つまたは複数のバッファ324からおよび／または構成要素自身からPCS332へフィードバックされる状況情報に基づいて調節（複数）がなされてもよい。さらに、図3に示されていないが、入力は、GPU204の内部のいずれかの構成要素（例えば、資源206）から受信されることができるし、またはGPU204、デバイス200、またはディスプレイ・デバイス212の外部の構成要素から受信されることもできる。
【００３８】
非制限的例として、本件開示の実施形態は、一定の電力（例えば、1.2ボルトのような一定の電圧レベル）を供給するのではなくて、１つまたは複数の範囲内で電圧を変えることができる（例えば、各々が最小および最大電圧レベルを有する）。１つまたは複数の実施形態にしたがって、電力供給は、0.0ボルトから1.2ボルトに変化することができる。例えば、電力制御装置210が、パイプライン338の構成要素314が現在のひとまとまりのイメージ・データの処理を完結した（例えば、GPU204が制御装置202からのイメージ・ジオメトリを待っている）と決定する場合において、PCS332は、特定された構成要素314への電力供給を低減または中止するように信号ライン334を介してPMUに指示することができる。代替的に、構成要素314は、休止状態にあるが、なんらかの電力レベルを維持する必要があると電力制御装置210が決定する場合、PCS332は、構成要素314に対して電力を完全にオフにすることなく電力供給を低減するようPMU336に指示する。さらなる非制限的例として、本件開示の１つまたは複数の実施形態にしたがって、0.9ボルトの電圧レベルがそのような構成要素314に供給されることができ、これによって、構成要素は、停止状態にある間、作動状態を維持することができる。さらに他の非制限的例として、全能力で作動するために構成要素314に1.2ボルトの電圧レベルが供給されることができる。もちろん、本件開示の実施形態により任意の電圧レベル、および／または電圧の範囲が使用されることができることは当然明白である。加えて、本件開示の実施形態にしたがって、「停止」の電圧レベルと「全能力」の電圧レベルとの間で追加の電力供給レベルが使用されることができるので、構成要素314は、停止の電力レベルと全能力の電圧レベルとの間のどこかのレベルで作動することができる。停止状態と全能力状態の電圧レベルとの間の電圧レベルは、例えば、収集された状況情報に基づいて決定されることができる。開示されている実施形態にしたがって、クロック周波数またはクロック速度は、供給電圧の関数である。すなわち、構成要素314が作動する速度を指令するクロック速度は、構成要素への供給電力が増えるのにともなって、例えば、線形的に増加するようにされている。
【００３９】
構成要素314が資源を待っておらず、かつ処理されるべきバッファされたデータを有している間に全能力で作動することによって、構成要素314は、例えば、より少ない能力で作動した場合よりも高い可能性をもって、バッファされたデータの自己処理を完結することができ、このようにして、構成要素314は、構成要素314のための電力およびクロック入力がシャットオフされることができるポイントで休止状態に入ることができる可能性を高くすることができる。構成要素314が休止状態にある間、もうしそうでなければ構成要素314によって使用されていたであろう電力は、保存される（例えば、電力の供給および漏洩を最小限にする）ことができる。構成要素314が、バッファされたデータを処理する前に何らかの理由で待機をしなければならない場合、構成要素314に最小の作動電力およびクロック信号入力を供給することができ、これによって、電力使用を動的に低減することができる。
【００４０】
本件明細書において開示された実施形態にしたがって、パイプライン308の構成要素314への電力およびクロック入力を制御することによって、PCS332が作業負荷のために使用されることができる。非制限的例として、PCS332は、パイプライン308の特定の構成要素314に電力を提供するために、収集された状況情報を使用することができるので、当該構成要素は、当該構成要素に関連した作業を行うために全能力で作動することができる。加えて、PCS332は、パイプライン308の１つまたは複数の他の構成要素314に供給される電力を低減することができるので、これらの他の構成要素314は、ある期間の間、待機状態に置かれる。事実上、PCS332は、１つまたは複数の構成要素314に供給される増加された電力を補償するために１つまたは複数の構成要素314へ供給される電力を低減することができる。電力制御装置210は、バッファにおいてデータを蓄積するためにさらに使用され、その後、バッファされたデータを処理するために構成要素314をスケジュールするためのスケジューラーとして働く。
【００４１】
１つまたは複数の実施形態において、電力制御装置210は、初期の電力供給を構成要素314のすべてについて同じ値に設定することができるし、または代替的に、パイプライン338の初めの処理ステージ（複数）に位置する１つまたは複数の構成要素314のうちの第1の組に電力を供給し、その第1の組を全能力でまたは全能力よりやや下の能力で作動させるようにすることもできる。電力制御装置210は、パイプライン318の構成要素314の他のものから成る第2の組に電力を供給するタイミングを、当該第２の組の構成要素による処理のためにデータがバッファされるまで、遅らせることができる。PCS332は、バッファ324をモニタすることができ、このバッファ324には、前記第１の組の構成要素がデータを書き込み、前記第２の組の構成要素がデータを読み出し、読み出されたデータに基づいて、いつどの程度、第２の組の構成要素への電力供給を増やすべきかが決定される。いくらかの電力を受けている第１の組のうちのある構成要素または第２の組のうちのある構成要素のいずれか一方が、電力制御装置に状況情報を提供することができる。
【００４２】
図4は、本件開示の１つまたは複数の実施形態にしたがって、グラフィック処理ユニットの電力管理装置に状況情報を提供するグラフィック処理ユニット・パイプラインの構成要素による使用のための処理の流れの一例を提供している。図4において図示されている一例にしたがって、構成要素314は、待機状態（例えば、何らかの理由で、構成要素による処理のためにバッファされたデータの処理を継続するために待機している状態）、または休止状態（例えば、構成要素314が、所与のひとまとまりのイメージ・データについてのデータを処理することを完結している状態）に関する状況情報を提供する。構成要素314によって供給される他の状況情報が本件開示の１つまたは複数の実施形態により使用されることができることは当然明白である。
【００４３】
図4のステップ402において、構成要素314は、処理を開始するか、または構成要素314が停止状態または休止状態であった場合、処理を再開する。ステップ404において、構成要素314は、待機または休止状態に遭遇したかどうかを決定する。そうでない場合、処理は継続する。待機または休止状態が構成要素314によって遭遇されたら、電力制御装置210にその旨を知らせるために、処理は、ステップ406において続く。構成要素314は、ステップ408において状態の変化を待ち、およびステップ410において状態の変化を電力制御装置210に知らせる。
【００４４】
状態の変化が起きるのは、例えば、構成要素314がPMU336より電力供給を受けて休止状態から脱する場合、または構成要素314が待機状態に入る原因となった条件が変化する場合（例えば、資源206から資源が受け取られる場合）である。構成要素314は、ステップ402において処理を再開する。
【００４５】
図5Aおよび5Bを具備する図5は、本件開示の実施形態にしたがって、グラフィック処理ユニットの電力管理装置によって使用されるための処理の流れの一例を提供する。一般に、図5の一例において図示されている処理の流れは、パイプライン308の構成要素314の各々について電力制御装置210によって行なわれることができる。電力制御装置210は、構成要素314から／についての状況情報を受信し、受信した状況情報を使用して構成要素314のための電力制御装置210によって保持される傾向情報を更新し、および受信した状況情報および／または傾向情報に基づいて構成要素314のための電力およびクロック信号入力に対する調節をする。
【００４６】
図5Aに関して、ステップ502において、状況情報は、構成要素314から、または構成要素314に関連して、電力制御装置210により受信される。例えば、および本件明細書において議論されるように、状況情報は、構成要素314が休止または待機状態に入った場合のように、構成要素314の作動状態が変化したか否かの情報を含むことができる。それに加えて、かつ以下に限られるものではないが、状況情報は、バッファ324から受信した情報も含むことができ、構成要素314は、このバッファ324からデータを読み出し、またはこのバッファ324にデータを書き込むことができる。後者の情報は、現在の構成要素314、または電力制御装置214によって現在調べられている他の構成要素と関連して使用されることも可能である。
【００４７】
ステップ504において、電力制御装置210は、ステップ502において受信した状況情報を使用して構成要素214についての傾向情報を更新する。傾向情報は、例えば、構成要素314がデータを書き込む、または構成要素314がデータを読み出すバッファ324の利用可能な記憶装置の量が増加しているかまたは減少しているかを示すことができる。傾向情報は、現在の情報と以前に受信した情報との比較に基づいて決定されることができる。以前に受信した情報は、例えば、現在の情報の直前に受信した情報であってもよく、または複数の送信から受信した情報であってもよい。
【００４８】
ステップ506において、受信した状況情報から待機状態が示されているかどうかの決定がなされる。待機状態が示されているならば、電力制御装置210は、構成要素314に対する電力供給およびクロック入力を最小の量に低減させることができる。非制限的例として、PCS332は、電力供給ライン340を介して構成要素314に与えられる電力を調節317するよう、およびクロック信号ライン338を介して構成要素314に与えられるクロック信号を調節315するようPMU338を命ずることができる。電力制御装置210は、構成要素314に関連する追加の状況情報の受信を待つために、ステップ502において、この構成要素314に関連する処理を継続する。
【００４９】
構成要素314が待機状態にないと電力制御装置506が決定する場合、構成要素314が休止状態に入ったかどうかの決定をするために、処理は、ステップ508において継続する。構成要素314が休止状態に入ったという決定がなされた場合、構成要素314への電力供給およびクロック入力をシャットオフ／シャットダウンするよう処理がステップ512において継続し、および構成要素314と関係する追加の状況情報を待つよう処理がステップ502において継続する。
【００５０】
本件開示の実施形態にしたがって、構成要素314は、休止状態にあると考えられることができる。例えば、構成要素314によって処理されるべきデータが無い、または構成要素314によって処理されるべきデータの量が指定の閾値よりも低い。構成要素314が休止状態にあるとき、本件開示の実施形態は、休止状態の構成要素314への電力供給およびクロック信号入力をいつ（例えば、全能力に）増加するかを決定するために構成要素314のためにバッファされたデータの量をモニタすることができる。本件開示の１つまたは複数の実施形態にしたがって、待機状態から出る構成要素314のためにバッファされているデータの量はまた、構成要素314に全部の電力およびクロック信号入力を供給するかどうかを決定するために使用されることもできる。
【００５１】
図5Bを参照して、電力制御装置210は、バッファされているデータの量が増加しているようにみえるかどうかを決定するために傾向を調べる（例えば、規則的な断続的ベースのように、時間にわたって構成要素314と関連したバッファ324上の負荷を調べる）。より詳細には、非制限的例として、ステップ514において、構成要素314によって処理されるべきバッファされているデータの量が増加しているかどうかの決定が（例えば、傾向情報を使用して）なされる。もし増加していなければ、電力制御装置210は、構成要素314と関連した傾向を監視しつづけることができる。代替的に、バッファされているデータの量が決定された閾値を超えないことを確実にするよう処理がステップ520において続くことができる。
【００５２】
構成要素314のためにバッファされるデータの量が傾向情報の調査に基づいて増加していると電力制御装置210が決定する場合、バッファされているデータの量が閾値（例えば、所定の閾値）を超えるかどうかを決定するための処理がステップ520において継続する。増加していないと決定する場合、構成要素314のための電力供給およびクロック信号入力は、電力制御装置210によって変更されず、および構成要素314と関連して受信される状況情報を使用して更新されることができる構成要素314のための傾向情報を調べるための処理がステップ514において継続する。
【００５３】
ステップ514において、バッファされているデータの量が増加していると決定され、かつ、ステップ520において、バッファされているデータの量が閾値を超えると決定されたら、電力制御装置210が（例えば、PMU336を使用して）構成要素314に対する電力供給およびクロック信号入力を増加させる処理がステップ524において続く。その増加量は、所定の量であってもよい。例えば、電力およびクロック周波数は、全能力まで増加されることができる。代替的に、例えば、その増加は、バッファされるデータの量が増加するレート及び／またはバッファ・データ量に基づいて識別される全能力よりも低いなんらかの量であってもよい。ステップ514において、構成要素314に関連して受信される状況情報を使用して更新されることができる構成要素314のための傾向情報を調べるために処理を継続することができる。
【００５４】
本件開示の実施形態にしたがって構成される電力制御装置210を使用することの結果として、パイプライン構成要素への電力を低減または完全にシャットダウンする機会を識別する能力に少なくとも関係する消費電力を減らすことができ、また、ある１つのパイプライン構成要素への電力供給を、それとは別のパイプライン構成要素への電力供給とは独立して、調節することができる。
【００５５】
本件開示の実施形態は、一般目的マイクロプロセッサ、デジタル信号プロセッサ（DSP）、特定用途集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレー（FPGA）、または他の同等の論理デバイスの中で実装されてもよい。
【００５６】
ソフトウェアにおいて実装される場合、本件技術は、ランダム・アクセス・メモリー（RAM）、読み込み専用メモリー（ROM）、非発揮性ランダム・アクセス・メモリー（NVRAM）、電子的に消去可能プログラム可能読み込み専用メモリー（EEPROM）、FLASHメモリー、または同様のもののようなコンピュータ可読媒体上の命令として具体化されることができる。前記命令は、本件開示において開示された機能の特定の態様を１つまたは複数のプロセッサに行なわせる。
【００５７】
さらなる非制限的例として、１つまたは複数の開示された実施形態は、ハードウェア結線回路として、特定用途集積回路に組み込まれた回路構成として、または非発揮性記憶装置にロードされたファームウェア・プログラム、または機械可読コードとしてデータ記憶装置媒体にロードされたまたはデータ記憶装置媒体からロードされたソフトウェア・プログラムとして、一部または全て実施されることができる。ここにおいて、そのようなコードは、マイクロプロセッサまたは他のデジタル信号処理ユニットのような論理エレメントの配列によって実行可能な命令である。データ記憶媒体は、半導体メモリー（これは、以下のものには制限されないが、動的または静的なRAM、ROM、および／またはフラッシュRAMを含んでもよい。）または強誘電性、オボニック(ovonic)、多因子、位相変更メモリー、または磁気または光ディスクのようなディスク媒体のような記憶エレメントの配列であってもよい。
【００５８】
最も実用的かつ好ましい実施形態となるよう現在考えられているものは何かという観点で本件装置および方法が説明されているとはいえ、本件開示は、開示された実施形態に制限される必要はないということが理解されるべきである。特許請求の範囲の要旨および範囲の内に含まれる様々な修正および同様の配置をカバーするよう意図されており、その特許請求の範囲は、全てのそのような修正および同様の構造を包含するように最も広い解釈に一致させられるべきである。本件開示は、以下の特許請求の範囲の一部のおよび全ての実施形態を含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔１〕
グラフィック処理ユニットとともに使用される方法であって、
前記グラフィック処理ユニットのグラフィック処理パイプラインの少なくとも１つの構成要素について、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタすることと、および
前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素へ電力レベルを供給することと
を具備する方法。
〔２〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素と関連したバッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給する前記ステップは、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加させること
をさらに具備する、〔1〕に記載の方法。
〔３〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素に関連したバッファ内の少なくとも１つの以前のデータ量および前記バッファ内の現在のデータ量を識別する情報を具備する、〔〕１に記載の方法であって、前記少なくとも１つの構成要素へ電力レベルを供給する前記ステップは、
前記バッファ内の前記少なくとも１つの以前のデータ量および前記バッファ内の前記現在のデータ量を使用して傾向を決定することと、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加させることと、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減させることと
をさらに具備する、〔1〕に記載の方法。
〔４〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、〔１〕に記載の方法であって、前記方法は、
前記少なくとも１つの構成要素の示された待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減することと、および  前記少なくとも１つの構成要素へのクロック信号入力をオフにすることと
をさらに具備する、〔１〕に記載の方法。
〔５〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、〔１〕に記載の方法であって、前記方法は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させることをさらに具備する、〔１〕に記載の方法。
〔６〕
前記電力レベルは、前記少なくとも１つの構成要素によって処理するためのクロックの周波数を決定する、〔１〕に記載の方法。
〔７〕
前記グラフィック処理パイプラインの初めの処理状態において、前記少なくとも１つの構成要素へ供給される初期の電力レベルは、前記グラフィック処理パイプラインの１つまたは複数の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで遅らされる、〔１〕に記載の方法。
〔８〕
コンピュータ実行可能プログラムコードが記憶されるコンピュータ可読メモリー媒体であって、前記プログラムコードは、グラフィック処理ユニットとともに使用されるものであって、かつ
前記グラフィック処理ユニットのグラフィック処理パイプラインの少なくとも１つの構成要素について、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、および
前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素へ電力レベルを供給する
ためのコードを具備する、コンピュータ可読メモリー媒体。
〔９〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素と関連したバッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するための前記コードは、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加するためのコード
をさらに具備する、〔８〕に記載の媒体。
〔１０〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファ内の少なくとも１つの以前のデータ量および前記バッファ内の現在のデータ量を識別する情報を具備する、〔８〕に記載の媒体であって、前記少なくとも１つの構成要素へ電力レベルを供給するための前記コードは、
前記バッファ内の前記少なくとも１つ前のデータ量および前記バッファ内の前記現在のデータ量を使用して傾向を決定し、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加し、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する
ためのコードをさらに具備する、〔８〕に記載の媒体。
〔１１〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、〔８〕に記載の媒体であって、前記コードは、
前記少なくとも１つの示された構成要素の待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減することと、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにすることと
をさらに具備する、〔８〕に記載の媒体。
〔１２〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、〔８〕に記載の媒体であって、前記コードは、前記少なくとも１つの構成要素の示された休止状態に対応して前記少なくとも１つの構成要素への電力の供給を終了させるためのコードをさらに具備する、〔８〕に記載の媒体。
〔１３〕
前記グラフィック処理パイプラインの初めの処理状態において、前記少なくとも１つの構成要素へ供給されるべき初期の電力レベルは、前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで遅らされる、〔８〕に記載の媒体。
〔１４〕
グラフィック処理装置であって、
イメージのためのイメージ・ジオメトリを処理するようグラフィック処理パイプラインを実行するように構成されているグラフィック処理ユニットであって、前記グラフィック処理パイプラインは、少なくとも１つの構成要素を具備する、グラフィック処理ユニットと、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、および
前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素へ電力レベルを供給する
ように構成されている電力制御装置と
を具備する装置。
〔１５〕
前記グラフィック処理ユニットは、前記少なくとも１つの構成要素と関連したバッファをさらに具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファ内のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するよう構成されている前記電力制御装置は、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加するようさらに構成されている、〔１４〕に記載の装置。
〔１６〕
前記グラフィック処理ユニットは、前記少なくとも１つの構成要素と関連したバッファを具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファ内の少なくとも１つの以前のデータ量および前記バッファ内の現在のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素へ電力レベルを供給するよう構成されている前記電力制御装置は、
前記バッファ内の前記少なくとも１つの以前のデータ量および前記バッファ内の前記現在のデータ量を使用して傾向を決定し、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加し、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する
ようにさらに構成されている、〔１４〕に記載の装置。
〔１７〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、〔１４〕に記載の装置であって、前記電力制御装置は、
前記少なくとも１つの構成要素の示された待機状態に応答して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減し、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにする
ようにさらに構成されている、〔１４〕に記載の装置。
〔１８〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、〔１４〕に記載の装置であって、前記電力制御装置は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させるようにさらに構成されている、〔１４〕に記載の装置。
〔１９〕
前記グラフィック処理パイプラインの初めの処理状態において、前記電力制御装置は、
前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで前記少なくとも１つの構成要素へ初期の電力レベルを供給することを遅らすようにさらに構成されている、〔１４〕に記載の装置。
〔２０〕
イメージのためのイメージ・ジオメトリを処理するようにグラフィック処理パイプラインを実行するためのグラフィック処理手段であって、前記グラフィック処理パイプラインは、少なくとも１つの構成要素を具備する、グラフィック処理手段と、
前記少なくとも１つの構成要素に対応する作動状態を識別する状況情報をモニタし、および
前記モニタされた作動状態に基づいて前記少なくとも１つの構成要素へ電力レベルを供給する電力制御手段と
を具備する装置。
〔２１〕
前記グラフィック処理手段は、前記少なくとも１つの構成要素と関連したバッファリング手段をさらに具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファリング手段におけるデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素に電力レベルを供給する前記電力制御手段は、
前記データ量が閾値量よりも上である場合に前記少なくとも１つの構成要素へ供給される前記電力レベルを増加するための手段
をさらに具備する、〔２０〕に記載の装置。
〔２２〕
前記グラフィック処理手段は、前記少なくとも１つの構成要素と関連したバッファリング手段をさらに具備し、前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記バッファリング手段内の少なくとも１つの以前のデータ量および前記バッファリング手段内の現在のデータ量を識別する情報を具備し、および前記少なくとも１つの構成要素に電力レベルを供給する前記電力制御手段は、
前記バッファリング手段における前記少なくとも１つの以前のデータ量および前記バッファリング手段における前記現在のデータ量を使用して傾向を決定するための手段と、
増加している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを増加させる手段と、および
低減している傾向に少なくとも基づいて、前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する手段と
をさらに具備する、〔２０〕に記載の装置。
〔２３〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素がデータを処理するために待機していることを示す待機状態を識別する情報を具備する、〔２０〕に記載の装置であって、前記電力制御手段は、
前記少なくとも１つの構成要素の示された待機状態に対応して、
前記少なくとも１つの構成要素へ供給される前記電力レベルを低減する手段と、および
前記少なくとも１つの構成要素へのクロック信号入力をオフにするための手段と
をさらに具備する、〔２０〕に記載の装置。
〔２４〕
前記少なくとも１つの構成要素に対応する作動状態を識別する前記状況情報は、前記少なくとも１つの構成要素のデータ処理が完了状態に到達したことを示す休止状態を識別する情報を具備する、〔２０〕に記載の装置であって、前記電力制御手段は、前記少なくとも１つの構成要素の示された休止状態に応答して前記少なくとも１つの構成要素への電力の供給を終了させるための手段をさらに具備する、〔２０〕に記載の装置。
〔２５〕
前記グラフィック処理パイプラインの初めの処理状態において、前記電力制御手段は、
前記グラフィック処理パイプラインの１つまたは複数の他の構成要素が前記少なくとも１つの構成要素によって処理されるべきデータを生成するまで前記少なくとも１つの構成要素への初期の電力レベルの供給を遅らすための手段をさらに具備する、〔２０〕に記載の装置。
【図１】
0005384505.tif 000002
【図２】
0005384505.tif 000003
【図３】
0005384505.tif 000004
【図４】
0005384505.tif 000005
【図５Ａ】
0005384505.tif 000006
【図５Ｂ】
0005384505.tif 000007