(57)【要約】データ処理システムは、電力イベント要求信号に応じて電力イベント深度信号を提供する電力マネージャを含む。複数のリアルタイムクライアントは、電力マネージャに接続されている。各リアルタイムクライアントは、データを記憶するための複数のエントリを有するクライアントバッファを含む。また、リアルタイムクライアントは、クライアントバッファのウォーターマーク閾値を記憶するレジスタと、クライアントバッファ内の有効なエントリの数がウォーターマーク閾値を超える場合に、許可信号を提供するロジックと、を含む。電力管理状態マシンは、複数のリアルタイムクライアントの各々に接続されている。電力管理状態マシンは、複数のリアルタイムクライアントの全てが許可信号を提供したことに応じて、電力イベント開始信号を提供する。【選択図】図４
2020529052.tif 000002
【特許請求の範囲】
【請求項１】
電力イベント要求信号に応じて電力イベント深度信号を提供する電力マネージャ（１１６／２１２）であって、前記電力イベント深度信号は、電力イベントの継続時間に対応する、電力マネージャ（１１６／２１２）と、
前記電力マネージャに接続された複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）であって、各リアルタイムクライアントは、データを記憶するための複数のエントリを有するクライアントバッファ（４０６）と、前記クライアントバッファのウォーターマーク閾値（３３０／３５６）を記憶するレジスタ（４１６）と、前記クライアントバッファ内の有効なエントリの数が前記ウォーターマーク閾値を超える場合に許可信号を提供するロジック（４１０）と、を含む、複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）と、
前記複数のリアルタイムクライアントの各々に接続された電力管理状態マシン（１５５／２１４／５００）であって、前記複数のリアルタイムクライアントの全てが許可信号を提供したことに応じて、電力イベント開始信号を提供する電力管理状態マシン（１５５／２１４／５００）と、を備える、
データ処理システム（１００）。
【請求項２】
前記レジスタは、前記電力イベント深度信号に応じて、前記複数のリアルタイムクライアントの各々の帯域幅容量を動的に構成する、
請求項１のデータ処理システム（１００）。
【請求項３】
前記電力管理状態マシンは、許可信号を受信し、前記許可信号を受信したことに応じて、アクティブ状態の電力イベント信号を出力する、
請求項１のデータ処理システム（１００）。
【請求項４】
各リアルタイムクライアントが許可信号を保留し、前記許可信号の不在に応じて、前記電力管理状態マシンは、アクティブ状態の電力イベント信号を保留する、
請求項１のデータ処理システム（１００）。
【請求項５】
各リアルタイムクライアントが許可信号をマスクし、マスクされた許可信号に応じて、前記電力管理状態マシンは、前記電力イベント要求信号に対する前記リアルタイムクライアントからの応答をバイパスする、
請求項１のデータ処理システム（１００）。
【請求項６】
前記電力マネージャは、重み係数を受信し、前記重み係数を受信したことに応じて、前記電力イベント要求信号に対するリアルタイムクライアント毎の電力消費割り当てを選択的に優先する、
請求項１のデータ処理システム（１００）。
【請求項７】
クライアントコントローラ（４０２）は、前記電力イベント深度信号に応じて、前記複数のリアルタイムクライアントの全てについて前記ウォーターマーク閾値を選択する、
請求項１のデータ処理システム（１００）。
【請求項８】
前記電力イベント深度信号は、前記電力イベント要求信号に関連するクライアントバッファ（４０６）の帯域幅容量の計算された消費によって部分的に決定される、
請求項１のデータ処理システム（１００）。
【請求項９】
前記電力マネージャは、前記複数のリアルタイムクライアント毎に、各々の帯域幅要件に基づいて前記ウォーターマーク閾値を設定する、
請求項１のデータ処理システム（１００）。
【請求項１０】
前記電力マネージャは、利用可能なシステム帯域幅に応じて、前記複数のリアルタイムクライアントの各々について前記ウォーターマーク閾値を設定する、
請求項１のデータ処理システム（１００）。
【請求項１１】
総システム帯域幅は、最大システム帯域幅、リアルタイム及び非リアルタイムクライアントの総数、並びに、相互接続トポロジによって部分的に決定される、
請求項１のデータ処理システム（１００）。
【請求項１２】
前記電力マネージャは、前記電力イベント深度信号に対応するアンダーフローまでの時間に基づいて、読み出しクライアントバッファ（３２０）のウォーターマーク閾値（３３０）を設定し、
読み出しクライアントは、前記読み出しクライアントバッファが前記ウォーターマーク閾値を下回ってドレインしたことに応じて、非アクティブ状態の前記許可信号を提供する、
請求項１のデータ処理システム（１００）。
【請求項１３】
前記電力マネージャは、前記電力イベント深度信号に対応するオーバーフローまでの時間に基づいて、書き込みクライアントバッファ（３５０）の前記ウォーターマーク閾値（３５６）を設定し、
書き込みクライアントは、前記書き込みクライアントバッファが前記ウォーターマーク閾値を下回ってフィルしたことに応じて、非アクティブ状態の前記許可信号を提供する、
請求項１のデータ処理システム（１００）。
【請求項１４】
前記複数のリアルタイムクライアントのうち１つのリアルタイムクライアントがＬＯＷウォーターマーク閾値容量を検出したことに応じて、前記電力管理状態マシンは、前記許可信号を無効にし、低電力状態から高電力状態への共有リソース（１６０／１７０／１８０）の遷移をトリガする、
請求項１のデータ処理システム（１００）。
【請求項１５】
前記レジスタは、再トレーニングイベント及び前記電力イベント要求信号のうち一方に耐えるためのバッファ帯域幅容量を定義する、
請求項１のデータ処理システム（１００）。
【請求項１６】
許可信号は、ワイヤ信号及び仮想ワイヤ信号のうち少なくとも１つである、
請求項１のデータ処理システム（１００）。
【請求項１７】
電力管理状態マシン（１５５／２１４／５００）と、
前記電力管理状態マシンに接続された結合された電力マネージャ（１１６／２１２）であって、電力イベント要求を受信する電力マネージャ（１１６／２１２）と、
前記電力管理状態マシン及び前記電力マネージャに接続された複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）であって、電力イベントの深度を受信する複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）と、を備え、
前記複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）は、
前記電力イベントの深度に応じて、ウォーターマークレジスタ（４１６）の帯域幅を動的に構成することと、
前記ウォーターマークレジスタに関連するクライアントバッファ（４０６）内のエントリの数を前記ウォーターマークレジスタの値と比較することと、
前記電力イベント要求が許可可能な要求であるかどうかを判別することと、
前記電力イベント要求が許可可能な要求であると判別したことに応じて、許可信号をアサートして、前記電力イベントの開始を有効にすることと、
を行うように構成されている、
データ処理システム（１００）。
【請求項１８】
前記電力マネージャは、前記複数のリアルタイムクライアントの各々のマスク値を前記電力管理状態マシンに提供する、
請求項１７のデータ処理システム（１００）。
【請求項１９】
前記電力マネージャは、前記複数のリアルタイムクライアントの各々のマスク値（５１０／５２０／５３０）を前記電力管理状態マシンに提供する、
請求項１８のデータ処理システム（１００）。
【請求項２０】
前記電力管理状態マシンは、前記複数のリアルタイムクライアントの各々から前記許可信号及び前記マスク値を受信したことに応じて、前記電力イベントの開始を有効にする、
請求項１８のデータ処理システム（１００）。
【請求項２１】
前記電力管理状態マシンは、前記複数のリアルタイムクライアントの各々から前記許可信号及び前記マスク値を受信したことに応じて、前記電力イベントの開始を有効にする、
請求項１８のデータ処理システム（１００）。
【請求項２２】
前記電力管理状態マシンは、各リアルタイムクライアントからバッファ状態（３２０／３５０／４０６）を受信する、
請求項１７のデータ処理システム（１００）。
【請求項２３】
各リアルタイムクライアントは、個別のウォーターマークレジスタに関連付けられている、
請求項１７のデータ処理システム（１００）。
【請求項２４】
各リアルタイムクライアントは、少なくとも１つの共有リソース（１６０／１７０／１８０）に接続されている、
請求項１７のデータ処理システム（１００）。
【請求項２５】
共有リソース（１６０／１７０／１８０）のリアルタイム電力イベント中にクライアントを動的に管理する方法（６００）であって、
電力イベント要求を受信すること（６０２）と、
前記電力イベント要求に関連するクライアント毎にウォーターマーク閾値を決定すること（６０４）と、
クライアント毎に、クライアントバッファ内のエントリの数を各々のウォーターマーク閾値と比較すること（６０６）と、
クライアント毎に比較したことに応じて、許可信号及び非許可信号のうち少なくとも１つを検出することと、
前記電力イベント要求に関連する各クライアントからの許可信号を検出したことに応じて、電力イベントの開始を有効にすること（６１２）と、
前記電力イベント要求に関連する少なくとも１つのクライアントからの少なくとも１つの不許可信号を検出したことに応じて（６１２）、前記電力イベントの開始を無効にすること（６１６）と、を含む、
方法（６００）。
【請求項２６】
前記電力イベント要求の電力イベントの深度に応じて、前記ウォーターマーク閾値を動的に決定することであって、前記電力イベントの深度は、低電力状態から高電力状態への前記共有リソースの終了レイテンシに関連付けられている、ことと、
クライアントバッファ（４０６）に関連する後続の電力イベント要求の前記ウォーターマーク閾値を更新することと、をさらに含む、
請求項２５の方法（６００）。
【請求項２７】
電力マネージャ（１１６／２１２）は、許可、不許可及びマスクが、いつ電力イベント毎にクライアントに関連付けられるかを決定する、
請求項２５の方法（６００）。
【請求項２８】
前記マスクは、指定されたクライアントが、対応する電力イベントの共有リソースに関連付けられていない場合に返される、
請求項２７の方法（６００）。
【請求項２９】
読み出しクライアントバッファ（３２０）のウォーターマーク閾値（３３０）を動的に決定することであって、前記読み出しクライアントバッファの前記ウォーターマーク閾値は、電力イベント深度に対応するアンダーフローまでの時間である、ことと、
前記読み出しクライアントバッファが前記ウォーターマーク閾値を下回ってドレインしたことに応じて、非アクティブ状態の許可信号をアサートすることと、をさらに含む、
請求項２５の方法（６００）。
【請求項３０】
書き込みクライアントバッファ（３５０）のウォーターマーク閾値（３５６）を動的に決定することであって、前記書き込みクライアントバッファの前記ウォーターマーク閾値は、電力イベント深度に対応するオーバーフローまでの時間である、ことと、
前記書き込みクライアントバッファが前記ウォーターマーク閾値を下回ってフィルされたのを検出したことに応じて、非アクティブ状態の許可信号をアサートすることと、をさらに含む、
請求項２５の方法（６００）。
【請求項３１】
マスクされていないクライアントに関連する複数のウォーターマークレジスタの各々から許可信号を受信したことに応じて、前記電力イベントを有効にすることをさらに含む、
請求項２５の方法（６００）。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムは、周辺コンポーネントを利用して、コンピューティングエクスペリエンスの間の機能を向上させる。システムオンチップ（ＳｏＣ）は、いくつかの周辺デバイスの制御を提供する。例えば、いくつかの例を挙げると、ディスプレイ、カメラ、及び、複数のメディアエンジン等は、周辺コンポーネントとしてＳｏＣに接続し、コンピュータシステムへの情報の入力及びコンピュータシステムからの情報の出力を可能にするリアルタイムクライアントである。リアルタイムクライアントは、殆どのコンピュータシステムの重要なコンポーネントであり、ユーザの日常的なコンピューティングエクスペリエンスに価値を付加する。しかしながら、多くのリアルタイムクライアントは、過度なレイテンシの影響を受け易いので、帯域幅及びレイテンシの要求が満たされない場合に、可視的な効果をユーザにもたらす。
【０００２】
省電力を目的として、ＳｏＣ相互接続は、複数の性能及び低電力状態を実行し、外部メモリコンポーネントを低電力状態に置くことができる。また、いくつかのＳｏＣは、メモリの定期的な再トレーニングを可能にする。これらの電力管理及びメモリ再トレーニングイベントによって、時間遅延が増大し、メモリインタフェースが数１０マイクロ秒間利用できなくなる。いくつかのリアルタイムクライアントでは、ピークレイテンシ期間中に、これらの中断によって、エンドユーザには明らかなフレームドロップが発生することがある。
【０００３】
ＳｏＣは、接続されたリアルタイムクライアントの数を増やし続けている。リアルタイムクライアントは、電力管理及び再トレーニングイベントの間に共有リソースの帯域幅について競合する。電力管理及びメモリ再トレーニングイベントの間のシステムの帯域幅及びレイテンシを上手く管理できないこと及び／又は制限することによって、コンピューティングシステムのサービス品質を損なう。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態による、データ処理システムでの使用に適したアクセラレーテッド処理ユニット（ＡＰＵ）のブロック図である。
【図２】いくつかの実施形態による、電力イベント要求を分配する電力管理システムのブロック図である。
【図３】いくつかの実施形態による、リアルタイムクライアントバッファに関連するウォーターマーク（watermark）閾値のブロック図である。
【図４】いくつかの実施形態による、図１のＡＰＵでの使用に適したリアルタイムクライアント及び関連するラッチシステムのブロック図である。
【図５】いくつかの実施形態による、図１のＡＰＵでの使用に適した電力管理状態マシンの一部ブロック図及び一部回路図である。
【図６】いくつかの実施形態による、図５の電力管理状態マシンによって使用され得るフローチャートである。
【発明を実施するための形態】
【０００５】
以下の説明において、異なる図面における同じ符号の使用は、類似又は同一のアイテムを示している。特に断りのない限り、「接続される（coupled）」という用語及びこれに関連する動詞の形態は、当該技術分野で知られている手段による直接接続及び間接的電気接続の両方を含み、特に断りのない限り、直接接続の説明は、間接的電気接続の適切な形態を使用する代替の実施形態も同様に意味する。
【０００６】
以下に一形態で説明するように、データ処理システムは、電力イベント要求信号に応じて電力イベント深度信号（power event depth signal）を提供する電力マネージャを含む。複数のリアルタイムクライアントは、電力マネージャに接続されている。各リアルタイムクライアントは、データを記憶するための複数のエントリを有するクライアントバッファを含む。また、リアルタイムクライアントは、クライアントバッファのウォーターマーク閾値を記憶するレジスタと、クライアントバッファ内の有効なエントリの数がウォーターマーク閾値を超える場合に許可信号を提供するロジックと、を含む。電力管理状態マシンは、複数のリアルタイムクライアントの各々に接続されている。電力管理状態マシンは、複数のリアルタイムクライアントの全てが許可信号を提供したことに応じて、電力イベント開始信号を提供する。
【０００７】
別の形態では、データ処理システムは、電力管理状態マシンと、電力イベント要求信号を受信するために電力管理状態マシンに接続された電力マネージャと、電力イベントの深度（depth）を受信するために電力管理状態マシン及び電力マネージャに接続された複数のリアルタイムクライアントと、を含む。複数のリアルタイムクライアントは、電力イベントの深度に応じて、ウォーターマークレジスタの帯域幅を動的に構成するように構成されている。複数のリアルタイムクライアントは、ウォーターマークレジスタに関連するクライアントバッファ内のエントリの数をウォーターマークレジスタの値と比較し、電力イベント要求が許容可能な要求であるかどうかを判別する。電力イベント要求が許容可能な要求であると判別したことに応じて、複数のリアルタイムクライアントは、電力イベントの開始を有効にする許可信号をアサートする。
【０００８】
更に別の形態では、共有リソースに対するリアルタイム電力イベント中にクライアントを動的に管理する方法を説明する。電力イベント要求を受信し、電力イベント要求を受信したことに応じて、電力イベント要求に関連するクライアント毎にウォーターマーク閾値を決定する。クライアント毎に、クライアントバッファ内のエントリの数を、各々のウォーターマーク閾値と比較する。許可信号及び不許可信号のうち少なくとも１つを検出する。電力イベント要求に関連する各クライアントからの許可信号を検出したことに応じて、電力イベントの開始を有効にする。電力イベント要求に関連する少なくとも１つのクライアントから少なくとも１つの不許可信号を検出したことに応じて、電力イベントの開始を無効にする。
【０００９】
図１は、アクセラレーテッド処理ユニット（ＡＰＵ）１００のブロック図である。ＡＰＵ１００は、データ処理システムでの使用に適している。ＡＰＵ１００は、概して、中央処理装置（ＣＰＵ）コア複合体１２０と、ウォーターマークレジスタ１２６のセットと、リアルタイムクライアント１３０と、メモリ管理ハブ１３４（又は、いくつかの実施形態ではマルチメディアハブ）と、相互接続１５０と、クライアントコントローラ１３６と、クライアントバスコントローラ１３８と、入出力ハブ１４０と、システム管理ユニット（ＳＭＵ）１０８と、システム管理ネットワークバス１１０と、メモリコントローラ１５２，１５６のセットと、いくつかの共有リソース１６０，１７０，１８０と、を含み、いくつかの共有リソース１６０，１７０，１８０は、通常、共有メモリチャネル又は入出力インタフェース／リンクに関連付けられている。
【００１０】
ＣＰＵコア複合体１２０は、ＣＰＵコア１２２及びＣＰＵコア１２４を含む。この例では、ＣＰＵコア複合体１２０は、２つのＣＰＵコアを含むが、他の実施形態では、ＣＰＵコア複合体１２０は、任意の数のＣＰＵコアを含むことができる。ＣＰＵコア１２２，１２４の各々は、制御ファブリックを形成するシステム管理ネットワーク（ＳＭＮ）及び相互接続１５０に双方向に接続されており、メモリアクセス要求を相互接続１５０に提供することができる。ＣＰＵコア１２２，１２４の各々は、単一コアであってもよいし、キャッシュ等の特定のリソースを共有する複数の単一コアを有するコア複合体であってもよい。
【００１１】
リアルタイムクライアント１３０のセットは、バッファ１３２を有するリアルタイムクライアントを含む。バッファ１３２を有するリアルタイムクライアントは、読み出しクライアントバッファ及び／又は書き込みクライアントバッファを含む。読み出しクライアントバッファは、例えば、マルチメディアコントローラ及びディスプレイエンジンに有用である。読み出しクライアントバッファは、メモリからの読み出しを記憶する。書き込みクライアントバッファは、ディスプレイ無線エンジン、マルチメディアエンジン、カメラコントローラ、グラフィックス処理ユニット等のＲＴクライアントに有用である。書き込みクライアントバッファは、通常、メモリに記憶されるデータを送信する。バッファ１３２を有するリアルタイムクライアントは、メモリシステム内の適切なアドレスに均一に変換するために、共通メモリ管理ハブ１３４に双方向に接続されており、メモリ管理ハブ１３４は、メモリアクセスを生成し、メモリシステムから返された読み出しデータを受信するために、相互接続１５０に双方向に接続されている。また、バッファ１３２を有するリアルタイムクライアントは、ＳＭＮ１１０及び相互接続１５０に双方向に接続されている。さらに、バッファ１３２を有するリアルタイムクライアントのバッファは、メモリアクセス要求に関するデータを、メモリ管理ハブ１３４を介して、相互接続１５０に提供し又は相互接続１５０から受信することができる。この点に関して、ＡＰＵ１００は、ＣＰＵコア複合体１２０及びバッファ１３２を有するリアルタイムクライアントが、メモリへの同じアクセス、同じメモリ空間、又は、メモリ空間の一部を共有する統合メモリアーキテクチャをサポートしてもよい。
【００１２】
ウォーターマークレジスタ１２６は、リアルタイムクライアントバッファ毎に追加される動的に構成可能なウォーターマークレジスタである。ウォーターマークレジスタ１２６の各々は、リアルタイムクライアント１３０の対応するクライアントバッファに接続されており、リアルタイム電力管理イベントに対応するリアルタイムウォーターマークレベルを提供する。
【００１３】
相互接続１５０は、電力管理状態マシン１５５を含む。電力管理状態マシン１５５は、電力イベント要求毎にリアルタイムクライアントウォーターマークレベル状態を受信し、システム１００内の共有リソース（例えば、共有メモリ等）に対する電力イベント要求を選択的に生成する。また、相互接続１５０は、メモリアクセスエージェントとメモリコントローラ１５２，１５６との間でメモリアクセス要求及びメモリ応答をルーティングするためのクロスバースイッチを含む。さらに、相互接続１５０は、ＢＩＯＳによって定義され、システム構成に基づいてメモリアクセスの宛先を決定するためのシステムメモリマップと、仮想接続毎のバッファと、を含む。代替的な実施形態では、電力管理状態マシン１５５及び相互接続１５０は別々である。
【００１４】
クライアントコントローラ１３６は、例えば、ＵＳＢコントローラ、ＳＡＴＡ（Serial Advanced Technology Attachment）インタフェースコントローラ、及び、ソリッドステートドライブ（ＳＳＤ）コントローラを含み、これらの各々が、システムハブ１４０及びＳＭＮバス１１０に双方向に接続されている。これらの２つのコントローラは、ＡＰＵ１００で使用され得る周辺機器コントローラの例示に過ぎない。
【００１５】
クライアントバスコントローラ１３８は、システムコントローラ及びＰＣＩｅコントローラを含むことができる周辺機器コントローラである。クライアントバスコントローラ１３８は、入出力（Ｉ／Ｏ）ハブ１４０及びＳＭＮバス１１０に双方向に接続されている。Ｉ／Ｏハブ１４０は、相互接続１５０にも双方向に接続されている。よって、例えば、ＣＰＵコア１２２は、相互接続１５０がＩ／Ｏハブ１４０を介してルーティングするアクセスを通じて、クライアントコントローラ１３６に関連する各クライアントコントローラ内のレジスタをプログラムすることができる。
【００１６】
ＳＭＵ１０８は、ＡＰＵ１００上のリソースの動作を制御し、これらの間の通信を同期させるローカルコントローラである。ＳＭＵ１０８は、電力マネージャ１１６及び電力管理ファームウェア１１２を含む。ＳＭＵ１０８は、ＡＰＵ１００上の様々なプロセッサの電源投入シーケンスを管理し、リセット、イネーブル及び他の信号を介して複数のオフチップデバイスを制御する。ＳＭＵ１０８は、ＡＰＵ１００の各コンポーネントにクロック信号を提供するために、例えば位相ロックループ（ＰＬＬ）等のように、図１に示されていない１つ以上のクロックソースを含む。電力マネージャ１１６は、様々なプロセッサ、リアルタイムクライアント及び他の機能ブロックの電力を管理し、ＣＰＵコア１２２，１２４及びコア複合体１２０から測定された電力消費値を受信して、適切な電力状態を判別することができる。電力管理ファームウェア１１２は、リアルタイムウォーターマークレジスタ１２６に双方向に接続されている。電力管理ファームウェア１１２は、ＡＰＵ１００の現在の電力要件に対応するウォーターマークレベル設定をリアルタイムウォーターマークレジスタ１２６に動的に割り当てる。
【００１７】
また、ＡＰＵ１００は、様々なシステム監視及び電力管理イベントを実施する。特に、１つのシステム監視機能は、温度監視である。例えば、ＡＰＵ１００が高温になる場合、ＳＭＵ１０８は、ＣＰＵコア１２２，１２４及び／又はリアルタイムクライアント１３０の周波数及び電圧を低減することができる。ＡＰＵ１００が非常に高温になる場合、これを完全にシャットダウンすることができる。ＳＭＵ１０８によって、熱イベントを、ＳＭＮバスを介して外部センサから受信することができ、ＳＭＵ１０８は、これに応じて、クロック周波数及び／又は電源電圧を低減することができる。
【００１８】
図２は、電力イベント要求を分配する電力管理システムのブロック図である。電力管理システム２００は、電力マネージャ２１２と、リアルタイムクライアントＡ２１０と、リアルタイムクライアントＮ２３０と、電力管理状態マシン２１４と、共有リソース２１６と、を含む。
【００１９】
電力マネージャ２１２は、複数のリアルタイムクライアントの各々のリアルタイムクライアントに接続された出力を有し、リアルタイムクライアントに関連する電力イベント要求を受信するための入力を有する。
【００２０】
リアルタイムクライアントＡ２１０及びリアルタイムクライアントＮ２３０は、複数のリアルタイムクライアントを表す。リアルタイムクライアントＡ２１０及びリアルタイムクライアントＮ２３０は、例えば、ディスプレイコントローラ、画像信号プロセッサ／コントローラ、ＵＳＢコントローラ、カメラコントローラ、又は、マルチメディアコントローラであってもよい。各リアルタイムクライアントは、関連する読み出し及び／又は書き込みクライアントバッファと、クライアントバッファのウォーターマーク閾値を記憶するレジスタと、クライアントバッファ内の有効なエントリの数がウォーターマーク閾値を超えた場合に許可信号を提供するロジックと、を有する。
【００２１】
電力管理状態マシン２１４は、複数のリアルタイムクライアント（リアルタイムクライアントＡ２１０及びリアルタイムクライアントＮ２３０）に接続された入力と、共有リソース２１６に接続された出力と、を有する。共有リソース２１６は、例えば、メモリインタフェース（ダブルデータレート物理インタフェース）であってもよい。
【００２２】
動作中、電力マネージャ２１２は、電力イベント要求を受信する。電力イベント要求は、ＡＰＵ１００によって消費される電力を中断させる。例えば、電力イベント要求は、低電力状態に移行するため又は外部メモリコンポーネントを低電力状態に置くための１つ以上の共有リソースに対する要求であってもよい。電力マネージャ２１２は、電力イベント要求の深度を複数のリアルタイムクライアント（２１０，２３０）に提供する。電力イベントの深度は、電力イベントの継続時間に対応する。電力イベント要求に関連する各リアルタイムクライアントは、電力イベントの深度に対応するウォーターマークレジスタ値を動的に構成する。リアルタイムクライアントは、ウォーターマークレジスタに関連するクライアントバッファ内のエントリの数をウォーターマークレジスタの値と比較して、電力イベント要求が許可可能な要求であるかどうかを判別する。複数のリアルタイムクライアントの各リアルタイムクライアント（２１０及び２３０）が、電力イベント要求が許可可能な要求であると判別したことに応じて、許可信号が電力管理状態マシン２１４にアサートされる。この例では、共有リソース２１６に接続された電力管理状態マシン２１４は、電力イベントの開始を有効にする。しかしながら、電力管理状態マシン２１４は、電力イベント要求に関連する各リアルタイムクライアントから許可信号を受信しない場合、対応する電力イベントの開始を許可しない。
【００２３】
各リアルタイムクライアント（２１０，２３０）は、リアルタイムクライアントの帯域幅要件及び全体的に利用可能なシステム帯域幅に応じて、電力イベント要求の深度に対応するウォーターマーク閾値を選択的に設定する。一実施形態では、総システム帯域幅は、最大システム帯域幅、リアルタイム及び非リアルタイムクライアントの総数、並びに、相互接続トポロジによって部分的に動的に決定される。各リアルタイムクライアントは、確立されたウォーターマーク閾値に関するリアルタイムクライアントのバッファの現在の状態に基づいて、許可信号又は不許可信号を電力管理状態マシン２１４に提供する。バッファが電力イベントの期間中に情報の処理を継続可能な場合、リアルタイムクライアントＡ２１０及びリアルタイムクライアントＮ２３０は、許可信号をアサートする。選択されたウォーターマーク閾値が、対応する電力イベントの完了前にバッファを空にすること（読み出し）又はフィルすること（filling）（書き込み）に対応する場合、各リアルタイムクライアントは、許可信号を電力状態マシン２１４に提供しない。したがって、電力状態マシン２１４は、電力イベント要求に関連する各リアルタイムクライアントから許可信号が提供された場合に、電力イベントの開始を有効にする。
【００２４】
別の実施形態では、電力マネージャ２１２は、ＳＭＵ１０８及び電力管理ファームウェア１１２（図１）と共同で、ＡＰＵ１００に接続されたアクティブリアルタイムクライアントの各々に関するウォーターマーク閾値の選択及び設定を有効にする。電力マネージャ２１２及び電力管理ファームウェア１１２を、リアルタイムクライアント毎にウォーターマーク閾値を動的に選択するために、集合的に又は別々に使用することができる。或いは、別々のハードウェアデバイスインタフェースを使用して、電力イベント毎にウォーターマーク設定を設定することができる。ハードウェアデバイスは、リアルタイムクライアント２１０〜２３０のコントローラと電力マネージャ２１２との間で統合されると、受信した電力イベント要求に従ってウォーターマーク閾値を動的に設定する。
【００２５】
リアルタイムクライアント毎に及び電力管理イベント毎にウォーターマーク閾値を処理することにより、電力管理状態マシン２１４は、リソース帯域幅を不必要に犠牲にすることなく、及び／又は、望ましくないレイテンシを生じさせることなく、各電力管理イベントを一意に処理することができる。
【００２６】
図３は、いくつかの実施形態による、リアルタイムクライアントバッファに関連するウォーターマーク閾値のブロック図である。図３は、リアルタイム読み出しクライアントバッファ３２０と、リアルタイム書き込みクライアントバッファ３５０と、を含む。
【００２７】
読み出しクライアントバッファ３２０は、フィルするための読み出し時間（read time to fill）３２２と、読み出し帯域幅ランプ（ramp）時間３２４と、読み出しイベントレイテンシ３２６と、読み出しウォーターマーク閾値３３０と、を含む。フィルするための読み出し時間３２２は、読み出しクライアントバッファ内の所定の保証された帯域幅を占有するのに必要な期間に関連する。読み出し帯域幅ランプ時間３２４は、保証された読み出し帯域幅に到達することに関連する時間である。読み出しイベントレイテンシ３２６は、電力管理イベントの期間に関連する時間である。読み出しウォーターマーク閾値３３０は、電力イベントが開始するときの時間を定義する。読み出しウォーターマーク閾値３３０は、フィルするための時間３２２と、読み出し帯域幅ランプ時間３２４と、読み出しイベントレイテンシ３２６と、の合計から導出され、電力管理イベントが読み出しクライアントバッファ３２０をアンダーフローさせる前に読み出しクライアントバッファ３２０が動作可能な最大時間を定義する。これにより、リアルタイムクライアントによって提供されるサービス品質の中断が発生する。
【００２８】
書き込みクライアントバッファ３５０は、書き込みイベントレイテンシ３５２と、ランプへの書き込み時間３５４と、書き込みウォーターマーク閾値３５６と、を含む。書き込みイベントレイテンシ３５２は、電力管理イベント中に必要とされる保証された書き込み帯域幅に到達するために書き込みクライアントバッファが必要とする時間である。ランプへの書き込み時間３５４は、保証された書き込み帯域幅に到達することに関連する時間である。書き込みウォーターマーク閾値３５６は、書き込みイベントレイテンシ３５２及びランプへの書き込み時間３５４の合計から導出され、電力管理イベントの開始によって書き込みクライアントバッファ３５０をオーバーフローさせ、電力管理イベントに関連する共有リソースの使用を必要とする前に、書き込みクライアントバッファ３５０が、利用可能な帯域幅に関して動作可能な最大時間を定義する。
【００２９】
動作中、複数のクライアントが電力マネージャに接続される。各リアルタイムクライアントは、データを記憶するための複数のエントリを有する少なくとも１つのクライアントバッファと、リアルタイムクライアントのウォーターマーク閾値を記憶するための各クライアントバッファに関連するレジスタと、を含む。読み出しクライアントバッファ３２０及び書き込みクライアントバッファ３５０のウォーターマークレジスタは、電力イベントの深度に応じて複数のリアルタイムクライアントの各々の利用可能な帯域幅容量に相関するように、各リアルタイムクライアントによって動的に構成される。クライアントバッファ（３２０，３５０）には、電力管理イベント毎にウォーターマークレジスタが設けられている。読み出しウォーターマーク閾値３３０は、読み出しクライアントバッファ３２０が、読み出しリアルタイムクライアントの評価された電力管理イベントの間に、メモリを読み出すための利用可能なエントリでアンダーフローしないことを保証するように、動的に構成される。書き込みウォーターマークレジスタ３５６は、書き込みクライアントバッファ３５０が、書き込みリアルタイムクライアントの評価された電力管理イベントの間に、メモリに書き込むためのエントリでオーバーフローしないことを保証するように、動的に構成される。各クライアントバッファに関連するロジックは、クライアントバッファ内のエントリの状態に基づいて、信号を電力管理状態マシンに提供する。
【００３０】
例えば、読み出しクライアントバッファ３２０内のエントリが、提供されたウォーターマーク閾値を満たし及び／又は超える場合（バッファをアンダーフローさせない）、読み出しクライアントバッファ３２０に関連するロジックは、許可信号を電力管理状態マシンに提供する。したがって、読み出しクライアントバッファ３２０が、電力イベント期間中にウォーターマーク閾値を下回る読み出しクライアントバッファ３２０のドレイン（draining）を回避するのに十分なデータを有していることに応じて、リアルタイム読み出しクライアントは、許可信号を非アクティブ状態の電力管理状態マシンに提供する。
【００３１】
別の例では、書き込みクライアントバッファ３５０内のエントリが、提供されたウォーターマーク閾値を超えない場合（バッファをオーバーフローさせない）、書き込みクライアントバッファ３５０に関連するロジックは、許可信号を電力管理状態マシンに提供する。したがって、リアルタイムクライアントは、電力イベント深度信号に対応するオーバーフローまでの時間に基づいて、書き込みクライアントバッファ３５０の書き込みウォーターマーク閾値３５６を設定する。書き込みクライアントバッファ３５０が電力イベント中にウォーターマーク閾値を下回ってフィルしたことに応じて、リアルタイム書き込みクライアントは、非アクティブ状態の許可信号を提供する。
【００３２】
一例では、リアルタイムクライアント毎に、ＳｏＣのインスタンス毎及び電力管理イベント毎にウォーターマークレジスタが追加される。ＳｏＣは、４つのディスプレイと、２つのカメラと、４つのＵＳＢポートと、を含む。ウォーターマークレジスタは、リアルタイムクライアント毎に追加される。ディスプレイコントローラ用に４つの読み出しウォーターマークレジスタが追加される。カメラコントローラ用に２つの書き込みウォーターマークレジスタが追加される。ＵＳＢ用に４つの書き込みウォーターマークレジスタが追加される。一実施形態では、別々のウォーターマークレジスタが、電力管理イベント（又は、メモリ再トレーニングイベント）毎に追加される。各クライアントは、各々のウォーターマーク閾値の状態を検出し、電力管理イベントを通じて動作する各バッファの能力に応じて、許可信号又は不許可信号を電力管理状態マシンに提供する。電力管理状態マシンは、電力管理又はメモリ再トレーニングイベントをコミットする前に、各リアルタイムクライアントからのウォーターマーク許可状態を確認する必要がある。
【００３３】
読み出しウォーターマーク閾値３３０及び書き込みウォーターマーク閾値３５６は、電力管理イベント中に品質サービスを維持するために、リアルタイムクライアントの推奨バッファレベルを定義する。電力管理イベントの前に、各リアルタイムクライアントのバッファにウォーターマークレジスタを提供し、ウォーターマーク閾値を動的に設定することによって、電力マネージャは、ＳｏＣのサービス品質の改善を保証することができる。電力管理イベント毎のバッファ毎のウォーターマーク閾値は、電力管理イベント及び／又はメモリ再トレーニングイベント中に、書き込みクライアントバッファがオーバーフローせず、読み出しクライアントバッファがアンダーフローしないことを保証するための処理を提供する。
【００３４】
図４は、いくつかの実施形態による、図１のＡＰＵでの使用に適したリアルタイムクライアント及び関連するラッチシステムのブロック図である。図４は、概して、クライアントコントローラ４０２と、クライアントバッファ４０６と、ラッチ４１０と、を含む。
【００３５】
クライアントコントローラ４０２は、電力管理イベント深度を受信するための入力を有する。クライアントコントローラ４０２は、クライアントバッファ４０６に接続し、電力管理イベント深度の各々についてＨＩＧＨ信号及びＬＯＷ信号をクライアントバッファ４０６に提供する。クライアントコントローラは、例えば、ディスプレイコントローラ、カメラコントローラ、ＵＳＢコントローラ、マルチメディアコントローラ等とすることができる。
【００３６】
クライアントバッファ４０６は、ウォーターマークレジスタ４１６を含む。ウォーターマークレジスタ４１６は、クライアントコントローラ４０２からＨＩＧＨ閾値及びＬＯＷ閾値を受信する。ウォーターマークレジスタ４１６は、電力イベント又は再トレーニングイベントに耐えるためのバッファ帯域幅容量を定義する。クライアントバッファ４０６は、電力管理状態マシン１５５への第１出力と、第２出力と、を提供する。
【００３７】
ラッチ４１０は、第１入力及び第２入力をクライアントバッファ４０６から受信する。ラッチ４１０は、ＡＬＬＯＷ信号を電力管理状態マシン１５５に提供する。ラッチ４１０は、セットリセットラッチであり、セットの場合にはＡＬＬＯＷ信号を論理ハイのアクティブ状態で提供し、リセットの場合にはＡＬＬＯＷ信号を論理ローの非アクティブ状態で提供する。
【００３８】
動作中、クライアントコントローラ４０２は、電力イベント深度信号を受信する。電力イベント深度信号は、電力イベント要求に関連するクライアントバッファ４０６の帯域幅容量の計算された消費によって部分的に決定される。電力イベント深度信号は、クライアントコントローラ４０２が、検出された電力管理イベントの継続時間を判別することを可能にし、これにより、電力管理イベント中にストールすることなく動作を維持するのに必要なバッファエントリの数を決定することを可能にする。ウォーターマークレジスタ４１６には、電力イベント要求毎にＨＩＧＨウォーターマーク閾値及びＬＯＷウォーターマーク閾値が提供される。ラッチ４１０は、ウォーターマークレジスタ４１６が、対応するクライアントバッファのＢＥＬＯＷ  ＬＯＷ信号及びＡＢＯＶＥ  ＨＩＧＨ信号のうち一方を検出するまで、ＡＬＬＯＷ信号を電力状態マシン１５５に返す。このようにして、ラッチ４１０は、クライアントバッファ４０６の状態を電力管理状態マシン１５５に継続的に提供する。
【００３９】
例えば、クライアントコントローラ４０２は、関連するリアルタイムクライアントが、電力イベント中にＡＰＵによって提供されるサービスの中断を経験しないように、いくつのバッファエントリが必要か（読み出しクライアントバッファの場合）、又は、いくつの空きエントリを利用可能にする必要があるか（書き込みクライアントバッファの場合）を決定する。電力管理イベントの深さが深いほど終了レイテンシが長くなり、これにより、電力管理イベントの奥行を維持するために、より多くのエントリが、必要になる（受信バッファ）か、電力管理イベントの深さを維持するためにクライアントバッファによって利用可能になる必要がある（書き込みクライアントバッファ）。各クライアントコントローラは、電力イベント深度信号に応じて、自身のウォーターマーク閾値を動的に選択する。クライアントバッファ４０６が電力管理イベントを受信すると、リアルタイムクライアントコントローラ４０２は、各ウォーターマークレジスタを、クライアントバッファの現在の状態と比較する。バッファが各ウォーターマーク閾値のＡＢＯＶＥ  ＨＩＧＨ及びＢＥＬＯＷ  ＬＯＷの何れかである場合、許可信号が取り消され、低電力状態から高電力状態への少なくとも１つの共有リソースの遷移をトリガする。そうでない場合には、ラッチ４１０は、ＡＬＬＯＷ信号を電力管理状態マシン１５５に提供し続ける。
【００４０】
図４の例示的な実施形態では、ＡＬＬＯＷ信号は、ラッチ４１０によって電力管理状態マシン１５５に提供される。ＨＩＧＨウォーターマーク及びＬＯＷウォーターマークは、ほぼフル又は空のクライアントバッファに対応する。リアルタイムクライアントがＬＯＷウォーターマーク閾値容量を検出すると、ラッチ４１０は、電力管理状態マシンが許可信号を無効にすることを可能にし、低電力状態から高電力状態への共有リソースの遷移をトリガする。ＨＩＧＨウォーターマーク及びＬＯＷウォーターマークは、ラッチ４１０と共に、バッファが動的にドレイン（drained）及びフィル（filled）されている間にＡＬＬＯＷ信号を確実に提供するために、クライアントバッファ４０６とラッチ４１０との間にヒステリシスを提供する。
【００４１】
図５は、いくつかの実施形態による、図１のＡＰＵでの使用に適した電力管理状態マシンの一部ブロック図及び一部回路図である。電力管理状態マシン５００は、リアルタイムクライアント信号５１５と、リアルタイムクライアント信号５２５と、リアルタイムクライアント信号５３５と、マスク信号５１０と、マスク信号５２０と、マスク信号５３０と、ＯＲゲート５４０のセットと、ＡＮＤ論理ゲート５５０と、を含む。
【００４２】
相互接続１５０は、電力管理状態マシン５００を含む。複数のリアルタイムクライアントの各々は、ＡＮＤ論理ゲート５５０に接続されている。
【００４３】
電力マネージャ２１２は、マスク信号５１０，５２０，５３０をアクティブ状態で各リアルタイムクライアントに提供する。マスク信号５１０，５２０，５３０は、リアルタイムクライアントが、現在のユースケースについて、対応する電力管理イベント（又は、メモリ再トレーニングイベント）に関連する共有リソースにリンクされていない場合のリアルタイムクライアントの値に対応する。
【００４４】
動作中、マスク信号５１０，５２０，５３０は、電力イベント要求の期間のリアルタイムクライアントに関連する共有リソースの割り当ての値に対応する。例えば、マスク信号は、電力イベント要求の期間のリアルタイムクライアントに関連する共有リソースの割り当ての値に対応する。したがって、マスク信号がＨＩＧＨである場合、対応するＡＬＬＯＷ信号はＨＩＧＨである（リアルタイムクライアントが、対応する電力イベントに対して「ｄｏｎ’ｔ−ｃａｒｅ」であるため）。マスク信号５１０，５２０及び／又は５３０が各々のＯＲゲート５４０に対してＬＯＷである場合、出力は、リアルタイムバッファの状態をウォーターマーク閾値と比較することによって送信されたＡＬＬＯＷ信号の状態に依存する。ＰＯＷＥＲ  ＥＶＥＮＴ  ＳＴＡＲＴ信号を提供するために、マスクされていないリアルタイムクライアントの全ては、ＡＬＬＯＷ状態をＡＮＤゲート５５０に報告する必要がある。ＡＬＬＯＷ信号は、ワイヤ信号及び仮想ワイヤ信号のうち少なくとも一方として提供される。
【００４５】
一実施形態では、マスク信号５１０，５２０，５３０は、重み係数又は値として実装される。重み係数は、電力イベント要求信号に対するリアルタイムクライアント毎の電力消費割り当てを選択的に優先する。重み係数を実装することにより、電力管理状態マシンは、リアルタイムクライアントの許可信号又は不許可信号（若しくは、許可信号の不存在）の重要性を優先付けることができる。
【００４６】
別の実施形態では、電力マネージャは、リアルタイムクライアントバッファが電力イベント要求信号に関連していない場合に、リアルタイムクライアントバッファをマスクする。電力マネージャは、マスク信号５１０，５２０，５３０が、１つ以上のリアルタイムクライアントに対して許可信号をマスクすることを可能にし、電力管理状態マシンは、アサートされマスクされた許可信号に応じて、対応する電力イベント要求に対するリアルタイムクライアントからの応答をバイパスする。したがって、電力管理状態マシンは、リアルタイムクライアント信号５１５，５２５，５３５を提供している全ての有効なリアルタイムクライアントから許可信号を受信したことに応じて、電力イベントの開始を有効にする。
【００４７】
図６は、図５の電力管理状態マシンによって使用され得る方法６００のフローチャートである。ブロック６０２において、電力マネージャは、電力イベント要求を受信する。ブロック６０４において、電力マネージャは、電力イベント要求に関連するクライアント毎にウォーターマーク閾値を決定する。ブロック６０６において、クライアント毎に、クライアントバッファ内のエントリの数が各々のウォーターマーク閾値（ウォーターマークレジスタに関連する）と比較され、電力イベントが継続して許可されるかどうかが判別される。ブロック６０８において、電力管理状態マシンが許可信号を検出したかどうかが判別される。電力管理状態マシンが許可信号を検出した場合、処理はブロック６１２に続く。電力管理状態マシンが許可信号を検出しなかった場合、処理はブロック６１０に続く。ブロック６１０において、電力管理状態マシンが不許可信号を検出したかどうかが判別される。電力管理状態マシンが不許可信号を検出しない場合、処理は終了する。電力管理状態マシンが不許可信号を検出した場合、処理はブロック６１４に続く。ブロック６１２において、電力管理状態マシンは、ＨＩＧＨ信号をアサートし、電力管理状態マシンを開始することを可能にする。電力管理状態マシンは、不許可信号を検出したことに応じて、ブロック６１４において、低電力状態から高電力状態への少なくとも１つの共有リソースの遷移をトリガする。ブロック６１６において、電力マネージャは、電力イベント要求の開始を無効にする。処理は、終了ブロックにおいて終了する。
【００４８】
ＡＰＵ１００又はそのコンポーネントの何れかは、ハードウェア及びソフトウェアの様々な組み合わせで実装されてもよい。図６に示すこれらのコンポーネント又は方法の一部又は全ては、コンピュータ可読記憶媒体に記憶され、少なくとも１つのプロセッサによって実行される命令によって制御されてもよい。図６に示す動作の各々は、非一時的なコンピュータメモリ又はコンピュータ可読記憶媒体に記憶された命令に対応することができる。様々な実施形態では、非一時的なコンピュータ可読記憶媒体は、磁気若しくは光ディスク記憶装置、例えばフラッシュメモリ等のソリッドステート記憶装置、又は、他の不揮発性メモリデバイスを含む。非一時的なコンピュータ可読記憶媒体に記憶されたコンピュータ可読命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈及び／若しくは実行可能な他の命令フォーマットであってもよい。
【００４９】
さらに、図１のＡＰＵ１００又はその任意の部分は、プログラムによって読み取ることができ、集積回路を製造するために直接又は間接的に使用することができるデータベース又は他のデータ構造の形態のコンピュータアクセス可能なデータ構造によって記述又は表現されてもよい。例えば、このデータ構造は、Ｖｅｒｉｌｏｇ又はＶＨＤＬ等の高レベル設計言語（ＨＤＬ）におけるハードウェア機能の動作レベル記述又はレジスタ転送レベル（ＲＴＬ）記述とすることができる。記述は、合成ライブラリからゲートのリストを含むネットリストを生成するために記述を合成することができる合成ツールによって読み出されてもよい。ネットリストは、集積回路を含むハードウェアの機能も表すゲートのセットを含む。次に、ネットリストを配置し、配線して、マスクに適用される幾何学的形状を記述するデータセットを生成することができる。次いで、マスクを様々な半導体製造工程で使用して、集積回路を製造することができる。或いは、コンピュータアクセス可能記憶媒体上のデータベースは、ネットリスト（合成ライブラリを伴う若しくは伴わない）若しくはデータセットあってもよいし、又は、必要に応じて、グラフィックデータシステム（ＧＤＳ）ＩＩデータであってもよい。
【００５０】
特定の実施形態を説明してきたが、これらの実施形態に対する様々な変更が当業者に明らかであろう。メモリコントローラ５００は、高帯域幅メモリ（ＨＢＭ）、ＲＡＭｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）等のように、ＤＤＲｘメモリ以外の他のタイプのメモリにインタフェースすることができる。
【００５１】
したがって、添付の特許請求の範囲は、開示された実施形態の範囲に属する開示された実施形態の全ての修正をカバーすることを意図している。
【図１】
2020529052.tif 000003
【図２】
2020529052.tif 000004
【図３】
2020529052.tif 000005
【図４】
2020529052.tif 000006
【図５】
2020529052.tif 000007
【図６】
2020529052.tif 000008
【手続補正書】
【提出日】令和2年2月5日(2020.2.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電力イベント要求信号に応じて電力イベント深度信号を提供する電力マネージャ（１１６／２１２）であって、前記電力イベント深度信号は、電力イベントの継続時間に対応する、電力マネージャ（１１６／２１２）と、
前記電力マネージャに接続された複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）であって、各リアルタイムクライアントは、データを記憶するための複数のエントリを有するクライアントバッファ（４０６）と、前記電力イベント深度信号に応じてウォーターマーク閾値を提供するクライアントコントローラ（４０２）であって、各リアルタイムクライアントは、前記クライアントバッファ内のエントリの数を前記ウォーターマーク閾値と比較する、クライアントコントローラと、前記クライアントコントローラが前記クライアントバッファ内のエントリの数を前記ウォーターマーク閾値と比較したことに応じて、許可信号を提供するロジック（４１０）と、を含む、複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）と、
前記複数のリアルタイムクライアントの各々に接続された電力管理状態マシン（１５５／２１４／５００）であって、前記複数のリアルタイムクライアントの全てが許可信号を提供したことに応じて、電力イベント開始信号を提供する電力管理状態マシン（１５５／２１４／５００）と、を備える、
データ処理システム（１００）。
【請求項２】
前記クライアントバッファに関するウォーターマーク閾値（３３０／３５６）を記憶するレジスタ（４１６）をさらに備え、前記レジスタは、前記電力イベント深度信号に応じて、前記複数のリアルタイムクライアントの各々の帯域幅容量を動的に構成する、
請求項１のデータ処理システム（１００）。
【請求項３】
クライアントコントローラ（４０２）は、前記電力イベント深度信号に応じて、前記複数のリアルタイムクライアントの全てについて前記ウォーターマーク閾値を選択する、
請求項１のデータ処理システム（１００）。
【請求項４】
電力管理状態マシン（１５５／２１４／５００）と、
前記電力管理状態マシンに接続された結合された電力マネージャ（１１６／２１２）であって、電力イベント要求を受信する電力マネージャ（１１６／２１２）と、
前記電力管理状態マシン及び前記電力マネージャに接続された複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）であって、電力イベントの深度を受信する複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）と、を備え、
前記複数のリアルタイムクライアント（１２６／１３０／１３２／２１０／２３０）は、
前記電力イベントの深度に応じて、ウォーターマークレジスタ（４１６）の帯域幅を動的に構成することと、
前記ウォーターマークレジスタに関連するクライアントバッファ（４０６）内のエントリの数を前記ウォーターマークレジスタの値と比較することと、
前記電力イベント要求が許可可能な要求であるかどうかを判別することと、
前記電力イベント要求が許可可能な要求であると判別したことに応じて、許可信号をアサートして、前記電力イベントの開始を有効にすることと、
を行うように構成されている、
データ処理システム（１００）。
【請求項５】
前記電力マネージャは、前記複数のリアルタイムクライアントの各々のマスク値（５１０／５２０／５３０）を前記電力管理状態マシンに提供する、
請求項４のデータ処理システム（１００）。
【請求項６】
前記電力管理状態マシンは、前記複数のリアルタイムクライアントの各々から前記許可信号及び前記マスク値を受信したことに応じて、前記電力イベントの開始を有効にする、
請求項５のデータ処理システム（１００）。
【請求項７】
前記電力管理状態マシンは、各リアルタイムクライアントからバッファ状態（３２０／３５０／４０６）を受信する、
請求項４のデータ処理システム（１００）。
【請求項８】
各リアルタイムクライアントは、個別のウォーターマークレジスタに関連付けられている、
請求項４のデータ処理システム（１００）。
【請求項９】
各リアルタイムクライアントは、少なくとも１つの共有リソース（１６０／１７０／１８０）に接続されている、
請求項４のデータ処理システム（１００）。
【請求項１０】
共有リソース（１６０／１７０／１８０）のリアルタイム電力イベント中にクライアントを動的に管理する方法（６００）であって、
電力イベント要求を受信すること（６０２）と、
前記電力イベント要求に関連するクライアント毎にウォーターマーク閾値を決定すること（６０４）と、
クライアント毎に、クライアントバッファ内のエントリの数を各々のウォーターマーク閾値と比較すること（６０６）と、
クライアント毎に比較したことに応じて、許可信号及び非許可信号のうち少なくとも１つを検出することと、
前記電力イベント要求に関連する各クライアントからの許可信号を検出したことに応じて、電力イベントの開始を有効にすること（６１２）と、
前記電力イベント要求に関連する少なくとも１つのクライアントからの少なくとも１つの不許可信号を検出したことに応じて（６１２）、前記電力イベントの開始を無効にすること（６１６）と、を含む、
方法（６００）。
【請求項１１】
前記電力イベント要求の電力イベントの深度に応じて、前記ウォーターマーク閾値を動的に決定することであって、前記電力イベントの深度は、低電力状態から高電力状態への前記共有リソースの終了レイテンシに関連付けられている、ことと、
クライアントバッファ（４０６）に関連する後続の電力イベント要求の前記ウォーターマーク閾値を更新することと、をさらに含む、
請求項１０の方法（６００）。
【請求項１２】
電力マネージャ（１１６／２１２）は、許可、不許可及びマスクが、いつ電力イベント毎にクライアントに関連付けられるかを決定し、前記マスクは、指定されたクライアントが、対応する電力イベントの共有リソースに関連付けられていない場合に返される、
請求項１０の方法（６００）。
【請求項１３】
読み出しクライアントバッファ（３２０）のウォーターマーク閾値（３３０）を動的に決定することであって、前記読み出しクライアントバッファの前記ウォーターマーク閾値は、電力イベント深度に対応するアンダーフローまでの時間である、ことと、
前記読み出しクライアントバッファが前記ウォーターマーク閾値を下回ってドレインしたことに応じて、非アクティブ状態の許可信号をアサートすることと、をさらに含む、
請求項１０の方法（６００）。
【請求項１４】
書き込みクライアントバッファ（３５０）のウォーターマーク閾値（３５６）を動的に決定することであって、前記書き込みクライアントバッファの前記ウォーターマーク閾値は、電力イベント深度に対応するオーバーフローまでの時間である、ことと、
前記書き込みクライアントバッファが前記ウォーターマーク閾値を下回ってフィルされたのを検出したことに応じて、非アクティブ状態の許可信号をアサートすることと、をさらに含む、
請求項１０の方法（６００）。
【請求項１５】
マスクされていないクライアントに関連する複数のウォーターマークレジスタの各々から許可信号を受信したことに応じて、前記電力イベントを有効にすることをさらに含む、
請求項１０の方法（６００）。
【国際調査報告】
2020529052.tif 000009
2020529052.tif 000010
2020529052.tif 000011
2020529052.tif 000012
2020529052.tif 000013
2020529052.tif 000014
2020529052.tif 000015
2020529052.tif 000016
2020529052.tif 000017