(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-24
(54)【発明の名称】電力ダウンエントリ及びイグジットレイテンシを低減するためのシステム及び方法
(51)【国際特許分類】
G06F 15/78 20060101AFI20241217BHJP
G06F 9/445 20180101ALI20241217BHJP
G06F 1/324 20190101ALI20241217BHJP
【FI】
G06F15/78 517
G06F9/445
G06F1/324
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024534635
(86)(22)【出願日】2022-11-03
(85)【翻訳文提出日】2024-06-21
(86)【国際出願番号】 US2022048889
(87)【国際公開番号】W WO2023113931
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】マム-エング ン
(72)【発明者】
【氏名】ディリップ クマール ジャー
【テーマコード(参考)】
5B011
5B062
5B376
【Fターム(参考)】
5B011EA02
5B011LL13
5B062AA05
5B062HH02
5B062HH07
5B062HH08
5B376AE02
5B376AE03
5B376AE09
(57)【要約】
高速保存/復元のためのシステム及び方法が開示される。システム及び方法は、独立した電力ドメインに存在する1つ以上の論理ユニット(LU)と、各々が1つ以上のLUのうちの1つに関連付けられた1つ以上のデジタル周波数シンセサイザ(DFS)であって、システム複合周波数をロックし、1つ以上のLUをシステム複合周波数にランプするように構成された1つ以上のDFSと、1つ以上のスレーブ高速保存/復元制御(FSRC)ユニットであって、1つ以上のLUのうち何れかに関連付けられ、1つ以上のLUのFSRC状態を保存/復元するように構成された1つ以上のスレーブFSRCユニットと、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
低電力イグジットのための方法であって、
システムデジタル周波数シンセサイザ(DFS)を利用して、システム複合周波数をロックすることと、
複数の論理ユニット(LU)のうち何れかに関連付けられた少なくとも1つのDFSと通信する前記システムDFSを利用することによって、前記複数のLUを前記システム複合周波数にランプすることと、
前記複数のLUのうちの何れかに関連付けられた少なくとも1つのスレーブFSRCユニットを利用して、前記複数のLUの各々について高速保存/復元制御(FSRC)状態を復元することと、
前記複数のLUのうちウェイクアップし復元されている少なくとも1つのLUについて、ランプされた周波数で低電力状態からイグジットし、前記複数のLUのうちウェイクアップしていないLUについて、最小低周波数状態までランプダウンすることと、
前記複数のLUのうちウェイクアップしている少なくとも1つのLUについて、リセットシーケンスを再開することと、を含む、
方法。
【請求項2】
前記低電力イグジットは、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマと帯域幅において不整合であることを含む、
請求項1の方法。
【請求項3】
前記低電力イグジットは、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマとスループットにおいて不整合であることを含む、
請求項1の方法。
【請求項4】
低電力エントリのための方法であって、
システムデジタル周波数シンセサイザ(DFS)を利用して、複数の論理ユニット(LU)をシステム周波数にランプすることと、
前記複数のLUのうち何れかに関連付けられた少なくとも1つのスレーブFSRCユニットを利用して、前記複数のLUの各々について高速保存/復元制御(FSRC)状態を保存することと、
前記複数のLUのうちウェイクアップしている少なくとも1つのLUについて、前記システム周波数で低電力状態からイグジットし、前記複数のLUのうちウェイクアップしていないLUについて、最小低周波数状態までランプダウンすることと、
前記複数のLUのうち前記少なくとも1つのLUについて、リセットシーケンスを再開することと、を含む、
方法。
【請求項5】
前記低電力エントリは、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマと帯域幅において不整合であることを含む、
請求項4の方法。
【請求項6】
前記低電力エントリは、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマとスループットにおいて不整合であることを含む、
請求項4の方法。
【請求項7】
高速保存/復元のためのシステムであって、
独立した電力ドメインに存在する1つ以上の論理ユニット(LU)と、
各々が前記1つ以上のLUのうち何れかに関連付けられた1つ以上のデジタル周波数シンセサイザ(DFS)であって、前記1つ以上のDFSは、システム複合周波数をロックし、前記1つ以上のLUをシステム複合周波数にランプするように構成されている、1つ以上のDFSと、
1つ以上のスレーブ高速保存/復元制御(FSRC)ユニットであって、各スレーブFSRCユニットは、前記1つ以上のLUのうち何れかに関連付けられており、前記1つ以上のLUのFSRC状態を保存/復元するように構成されている、1つ以上のスレーブFSRCユニットと、を備える、
システム。
【請求項8】
前記1つ以上のLUは、CPUコア、グラフィックスコア又は他のプロセッサである、
請求項7のシステム。
【請求項9】
前記1つ以上のLUは、前記1つ以上のLU間で共有される別のコンピュータユニットと相互作用する、
請求項7のシステム。
【請求項10】
1つ以上のDFSの各DFSは、前記1つ以上のLUのうち何れかと一意にマッチングされている、
請求項7のシステム。
【請求項11】
1つ以上のスレーブFSRCユニットの各スレーブFSRCユニットは、前記1つ以上のLUのうち何れかと一意にマッチングされている、
請求項7のシステム。
【請求項12】
1つ以上のスレーブFSRCユニットの各スレーブFSRCユニットは、前記1つ以上のDFSのうち何れかと一意にマッチングされている、
請求項7のシステム。
【請求項13】
前記DFSを介して各LUに関連付けられた前記1つ以上のスレーブFSRCユニットとインターフェースするように構成されたマスタ高速保存復元制御(FRSC)ユニットを備える、
請求項7のシステム。
【請求項14】
前記マスタ/スレーブFSRCユニットは、低電力エントリ/イグジットシーケンス中に前記システム及びスレーブFSRCユニットのクロックを制御する、
請求項13のシステム。
【請求項15】
前記マスタFSRCユニットは、各スレーブFSRCユニットと動作して前記LUの周波数を制御する、
請求項13のシステム。
【請求項16】
前記マスタFSRCユニットは、電力シーケンスの開始時にLU DFSの最大周波数を有効にする、
請求項13のシステム。
【請求項17】
前記電力シーケンスは、電力ダウンエントリ及び電力ダウンイグジットのうち何れかである、
請求項16のシステム。
【請求項18】
各スレーブFSRCユニットは、低電力エントリ/イグジットシーケンス中にLUコンテキストを追跡し、非アクティブLUについては完了後に低周波数状態にエントリし、アクティブLUについては完了後に動作周波数状態にエントリする、
請求項7のシステム。
【請求項19】
電力ダウンエントリ及びイグジットレイテンシは、状態保存及び復元中に前記LU及び前記システムを最大周波数で動作させることによって低減される、
請求項7のシステム。
【請求項20】
低電力シーケンスは、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマと帯域幅において不整合であること、及び、前記LUにデータパケットを出力するプロデューサが、前記データパケットを受信するコンシューマとスループットにおいて不整合であることのうち何れかを含む、
請求項7のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年12月16日に出願された米国特許出願第17/553,657号の利益を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
システム複合体(system complex)は、1つ以上の論理ユニット(logical unit、LU)からなる。システム複合体が電力ダウン状態にエントリ(enter)する及び電力ダウン状態からイグジット(exit)するのに必要な時間は、その状態の常駐性(residency)に影響を与える。エントリレイテンシ及びイグジットレイテンシがより短いと、状態における常駐性並びにエントリする可能性の両方を増加させ、全体的な電力低減をもたらす。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
【
図1】本開示の1つ以上の特徴を実装することができる、例示的なデバイスのブロック図である。
【
図2】本開示の特徴に関連する追加の詳細を示す、デバイスの要素のブロック図である。
【
図3】高速保存/復元のための高レベルシステムを示す図である。
【
図4】
図3のシステムにおける低電力イグジットの方法を示す図である。
【
図5】
図3のシステムにおける低電力エントリの方法を示す図である。
【
図6】高速保存復元を提供するためのシステム及び方法の全体的なレイテンシ及び周波数のプロットを示す図である。
【発明を実施するための形態】
【0005】
電力ダウンエントリ(power down entry)及びイグジットレイテンシ(exit latency)を低減するためのシステム及び方法が説明される。システムは、独立した電力ドメインと、デジタル周波数シンセサイザ(digital frequency synthesizer、DFS)と、を有する1つ以上の論理ユニットを含む。システム内のコントローラは、論理ユニットの電力状態を管理し、システムの電力ダウン状態をサポートする。システムの電力ダウン状態は、コントローラの状態が、電力ダウンエントリ時に保存され、電力ダウンイグジット時に復元されることを要求する。非アクティブなより低い周波数をサポートしながらエントリ及びイグジット周波数を最大化するための方法が説明される。状態保存及び復元中のより高い周波数により、全体的な電力効率を損なうことなく、電力ダウンエントリ及びイグジットレイテンシが大幅に低減される。
【0006】
SOC低電力状態へのエントリは、状態の総遷移レイテンシによって制限される。状態の総遷移レイテンシは、エントリレイテンシ及びイグジットレイテンシの両方を含む。総レイテンシを低減することによって、追加のSOC低電力状態エントリが利用可能になり、エントリ当たりのSOC低電力状態常駐がより長くなり、全体的なSOC電力消費がより低くなり、バッテリ寿命がより長くなる。以前の解決策は、多くの場合、高いイグジットレイテンシを含んでいた。例えば、いくつかのソリューションにおける低電力エントリ/イグジットシーケンスは、1.4Ghzで発生し、復元レイテンシは、300μsである。
【0007】
説明されるシステム及び方法は、状態の総遷移レイテンシを改善し、CPUコア、グラフィックスコア等の論理ユニット(LU)に利益を与える次世代SOCにおいて採用することができる。高速保存/復元のためのシステム及び方法が開示される。システム及び方法は、独立した電力ドメインに常駐する1つ以上のLUと、各々が1つ以上のLUのうち何れかに関連付けられた1つ以上のDFSであって、1つ以上のDFSが、システム複合周波数をロックし、1つ以上のLUをシステム複合周波数にランプ(ramp)するように構成されている、1つ以上のDFSと、1つ以上のスレーブ高速保存/復元制御(FSRC)ユニットであって、各スレーブFSRCが、1つ以上のLUのうちの1つに関連付けられ、各スレーブFSRCが、1つ以上のLUのFSRC状態を復元するように構成されている、1つ以上のスレーブFSRCユニットと、を含む。
【0008】
低電力イグジットにおいて、システム及び方法は、システムDFSを利用して、システム複合周波数をロックすることと、複数のLUのうち何れかに関連付けられた少なくとも1つのDFSと通信するシステムDFSを利用することによって、複数のLUをシステム複合周波数にランプすることと、複数のLUのうち何れかに関連付けられたスレーブFSRCユニットを利用して、LU FSRC状態を復元することと、ウェイクアップしている複数のLUについて、復元された周波数で低電力状態からイグジットし、ウェイクアップしていない複数のLUのうち何れかのLUについて、最小低周波数状態にランプダウンすることと、複数のLUのうち何れかのLUについて、リセットシーケンスを再開することと、を含む。低電力イグジットは、データパケットを受信するコンシューマと帯域幅において不整合である、LUにデータパケットを出力するプロデューサを含むことができる。低電力イグジットは、データパケットを受信するコンシューマとスループットにおいて不整合である、LUにデータパケットを出力するプロデューサを含むことができる。
【0009】
低電力エントリにおいて、システム及び方法は、システムDFSを利用して、複数のLUをシステム周波数にランプすることと、複数のLUのうち何れかに関連付けられたスレーブFSRCユニットを利用して、複数のLUのうちウェイクアップしているLUについて、FSRC状態を保存することと、動作周波数で低電力状態からイグジットすることと、複数のLUのうちウェイクアップしていないLUについて、最小低周波数状態にランプダウンすることと、複数のLUのうち何れかのLUについてリセットシーケンスを再開することと、を含む。低電力エントリは、データパケットを受信するコンシューマと帯域幅において不整合である、LUにデータパケットを出力するプロデューサを含むことができる。低電力エントリは、データパケットを受信するコンシューマとスループットにおいて不整合である、LUにデータパケットを出力するプロデューサを含むことができる。
【0010】
システム及び方法は、CPUコア、グラフィックスコア又は他のプロセッサを含む1つ以上のLUを含むことができる。1つ以上のDFSの各DFSは、1つ以上のLUのうち何れかと一意にマッチングさせることができる。1つ以上のスレーブFSRCユニットの各スレーブFSRCユニットは、1つ以上のLUのうち何れかと一意的に一致させることができる。1つ以上のスレーブFSRCユニットの各スレーブFSRCユニットは、1つ以上のDFSのうち何れかと一意にマッチングさせることができる。システム及び方法は、DFSを介して各LU内の1つ以上のスレーブFSRCユニットとインターフェースするように構成されたマスタ高速保存復元制御(FRSC)ユニットを含む。マスタ/スレーブFSRCユニットは、低電力エントリシーケンス/イグジットシーケンス中に、システム及びスレーブFSRCユニットクロックを制御することができる。マスタFSRCユニットは、LU周波数を制御するために、各スレーブFSRCユニットとともに動作することができる。マスタFSRCユニットは、電力シーケンスの開始時にLU DFSにおける最大周波数を有効にすることができる。電力シーケンスは、電力ダウンエントリ及び電力ダウンイグジットのうち何れかである。各スレーブFSRCユニットは、LUコンテキスト保存又は復元を追跡し、非アクティブLUの保存又は復元完了後に低周波数状態にエントリすることができ、アクティブLUの保存又は復元完了後に動作周波数状態にエントリする。電力ダウンエントリ及びイグジットレイテンシは、状態保存及び復元中に、LU及びシステムを最大周波数で動作させることによって低減される。
【0011】
図1は、本開示の1つ以上の特徴を実装することができる例示的なデバイス100のブロック図である。デバイス100は、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、サーバ、タブレットコンピュータ、又は、他のタイプのコンピューティングデバイス等を含むことができる。デバイス100は、プロセッサ102、メモリ104、記憶装置106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。また、デバイス100は、オプションで、入力ドライバ112及び出力ドライバ114を含むことができる。デバイス100は、
図1に示されていない追加の構成要素を含むことができることを理解されたい。
【0012】
様々な代替例では、プロセッサ102は、中央処理ユニット(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、又は、1つ以上のプロセッサコアを含み、各プロセッサコアは、CPU又はGPUとすることができる。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置するか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性又は不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM、キャッシュ)を含む。
【0013】
記憶装置106は、固定又はリムーバブル記憶装置(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0014】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを可能にする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを可能にする。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。出力ドライバ116は、ディスプレイデバイス118に連結された加速処理デバイス(accelerated processing device、APD)116を含む。APDは、プロセッサ102から計算コマンド及びグラフィックスレンダリングコマンドを受け入れて、それらの計算コマンド及びグラフィックスレンダリングコマンドを処理し、表示のためにピクセル出力をディスプレイデバイス118に提供する。以下で更に詳細に説明するように、APD116は、単一命令複数データ(single-instruction-multiple-data、SIMD)パラダイムに従って計算を行う1つ以上の並列処理ユニットを含む。こうして、様々な機能は、本明細書では、APD116によって又はAPD116と併せて行われるものとして説明されているが、様々な代替例では、APD116によって行われるものとして説明される機能は、追加的又は代替的に、ホストプロセッサ(例えば、プロセッサ102)によってドライブされない同様の能力を有する他のコンピューティングデバイスによって行われ、ディスプレイデバイス118にグラフィック出力を提供する。例えば、SIMDパラダイムに従って処理タスクを行う任意の処理システムが、本明細書に説明される機能を行うことができることが企図される。代替的に、SIMDパラダイムに従って処理タスクを行わないコンピューティングシステムも、本明細書に説明される機能を行うことができることが企図される。
【0015】
図2は、本開示の特徴に関連する追加の詳細を示すデバイス100の要素のブロック
図200である。
図200は、複数のCPU210(CPU2101及びCPU2102によって個々に表される)並びに複数のGPU220(GPU2201及びGPU2202によって個々に表される)を含む。追加的に又は代替的に、CPU及びGPUが示されるが、当業者は、他のIPが、(a)CPU及び(a)GPUのうち何れか又は両方と併せて、又は、その代わりに利用され得ることを理解するであろう。複数のCPU210及び複数のGPU220の各々は、1つ以上のネットワークバス240を介してシステム管理ネットワーク(system management network、SMN)ルータ230に接続される。SMNルータ230は、別の一連のバスによって相互接続することができる。図示されたネットワークバス240のうちいくつかは、異なる幅を有し、異なるクロック周波数を使用して動作することができる。SMNルータ230は、単一のデバイスとすることができる。すなわち、一連のSMNルータ230は、
図2においていくつかの個別のボックスを使用して示されているが、単一のSMNルータ230であり得る。代替的に、SMNルータ230は、通信可能に結合された一連の相互接続されたルータであり得る。
【0016】
システムは、独立した電力ドメインとDFSとを有する1つ以上のLUを含む。システム内のコントローラは、論理ユニットの電力状態を管理し、システムの電力ダウン状態をサポートする。システムの電力ダウン状態は、コントローラの状態が、電力ダウンエントリ時に保存され、電力ダウンイグジット時に復元されることを要求する。非アクティブなより低い周波数をサポートしながらエントリ及びイグジット周波数を最大化するための方法が説明される。状態保存及び復元中のより高い周波数により、全体的な電力効率を損なうことなく、電力ダウンエントリ及びイグジットレイテンシが大幅に低減される。システム及び方法は、LUの全体的な電力効率を損なうことなく、LUが電力ダウンエントリ及びイグジットレイテンシを低減することを可能にするように、エントリ及びイグジット周波数を最大化することによって、
図1及び
図2に関して上述されるLU(プロセッサ)に利益をもたらすことができる。
【0017】
低電力エントリ/イグジットレイテンシ問題は、不整合であるネットワークスループット及び/又は不整合であるネットワーク帯域幅の結果として生じる可能性がある。不整合のネットワークスループットは、一方の側が他方よりも低いスループットを有する場合に発生する可能性がある。不整合のネットワーク帯域幅は、一方の側が他方よりも低い帯域幅を有する場合に発生する可能性がある。追加的に又は代替的に、低電力エントリ遷移及びイグジット遷移の間、帯域幅及びスループットは同一であり得るが、周波数は不整合であり得る。
【0018】
例として、システムは1つ以上のLUを含み、その各々は、同一の帯域幅能力を有するネットワークを使用して接続される。レジスタアクセスがシリアライズされるので、各LUは、保存/復元バーストシーケンスを処理するために複数のサイクルを必要とする。その結果、システムスループットは、個々のLUのスループットよりも高い。この不均衡は、LU周波数がシステム周波数よりも遅い場合に悪化する。
図3に示されるように、このネットワークスループットの不均衡を克服するために、FSRCユニットは、公称動作電力及び最小限のハードウェアサポートに影響を与えることなく、オンデマンドでスループットを増加させる。より具体的には、マスタFSRCユニット340は、低電力エントリ/イグジットシーケンスの始まりを検出する。イグジットシーケンスの場合、マスタFSRCユニット340は、PLLがロックするまで待機する(PLLロックは、エントリシーケンスには必要とされない)。イグジット/エントリの両方に対して、マスタFSRCユニット340は、マスタDFS350及びスレーブDFS320の両方を同じ周波数にランプする。復元/保存シーケンスは、低電力状態よりも高い周波数にロックされたLU310から始まる。復元/保存が終了すると、スレーブFSRCユニット360は復元/保存シーケンスの終わりを検出し、シーケンス中にLUが依然として低電力状態にあるので、低電力周波数を復元するようにマスタFSRCユニット340に要求する。LU310及びシステム300は、周波数を増加させるために同じ電力ドメイン内にあるので、増加した電圧は必要とされない。周波数は保存/復元中にのみ増加されるので、保存/復元スループットの増加が可能となり、これによりレイテンシが低減され、したがって公称動作電力への影響はない。
【0019】
同様に、システムネットワークデータレートは、16ビットである。SOCネットワークデータレートは、32ビットである。説明されるように、このネットワーク帯域幅不一致を克服するために、システム内部クロックをSOCネットワーククロックの2倍に増加することができる。具体的には、最大周波数アップリフトは、バス幅不一致によって指定される。例えば、プロデューサバス幅がNビットであり、コンシューマバス幅がMビットであるとすると、最大周波数アップリフト乗算係数はM/Nである。具体的には、例えば、32ビットプロデューサ及び64ビットコンシューマの場合、最大周波数アップリフト乗算係数は2である。実装では最大周波数の場合のタイミングを満たす必要があるので、許容される最大周波数アップリフトは実装固有である。実装が最大周波数アップリフトM/Nをサポートする場合、システムFRSCは、コンシューマ周波数又はプロデューサ周波数のM/N係数に最も近い周波数除数を増加させることができ、これに基づいて、保存/復元シーケンスが始まる前により低いバス幅で実装され、ポストシーケンスが終わる場合に前の除数にスケールバックされる。
【0020】
図3は、高速保存/復元のための高レベルシステム300を示す図である。システム300は、独立した電力ドメインに常駐することができる1つ以上のLU310を含む。
図3に示されるように、論理ユニットは、LU0 310.0、LU1 310.1、LU2 310.2~LUn 310.n(LU310と総称される)を含む。LU310は、例えば、CPUコア、グラフィックスコア又は他のプロセッサとすることができることを理解されたい。LU310は、例えば、L2又はL3キャッシュ(図示せず)、PLLを含むチップパーベイシブ論理(chip pervasive logic、CPL)、システムユニットを順序付けるクロック又はリセットロジック等の共有ユニットと相互作用することができる。
【0021】
LU310の各々には、DFS320が関連付けられている。
図3に示されるように、デジタル周波数シンセサイザは、DFS0 320.0、DFS1 320.1、DFS2 320.2~DFSn 320.n(DFS320と総称される)を含む。図示されるように、DFS320はLU310と一意にマッチするが、LUに一致するDFSの他の構成を想定することができ、本明細書に含まれると理解されたい。
【0022】
スレーブ高速保存復元制御(FSRC)ユニット360は、LU310/DFS320の各々に関連付けられている。
図3において示される(かつ理解される)ように、スレーブ高速保存復元制御は、スレーブFSRCユニット0 360.0、スレーブFSRCユニット1 360.1(理解されるが具体的には示されていない)、スレーブFSRCユニット2(理解されるが具体的には示されていない)~スレーブFSRCユニットn(理解されるが具体的には示されていない)(且つスレーブFSRCユニット360と総称される)を含む。図示されるように、スレーブFSRCユニット360は、LU310及びDFS320に一意にマッチするが、LU/DFSに一致するFSRCユニットの他の構成を想定することができ、本明細書に含まれると理解されたい。
【0023】
システム300は、DFS320を介して各LU310内のスレーブFSRCユニット360とインターフェースするマスタ高速保存復元制御(FRSC)340を含む。マスタ/スレーブFSRCユニット340/360は、低電力エントリシーケンス/イグジットシーケンス中に、システム及びスレーブFSRCユニット360のクロックを制御する。マスタFSRCユニット340は、LU310周波数を制御するために、各スレーブFSRCユニット360と通信する。電力ダウンエントリ又はイグジットシーケンスの開始時に、マスタFSRCユニット340は、LU DFS320内の最大周波数を有効にする。マスタFSRCユニット340は、電力ダウンエントリ又はイグジットシーケンスの開始を検出し、電力ダウンをイグジットする場合に位相ロックループ(phase lock loop、PLL)再ロックの完了を検出し、システムDFS350と同じ周波数で各LU310 DFS320を有効にする。PLL及びDFS制御330は、PLL、クロック及びDFS320に制御を提供する。マスタFSRCユニット340は、システム300の外部との着信及び発信通信のために、構成バス370を介して通信する。
【0024】
各スレーブFSRCユニット360は、LU310コンテキストの保存又は復元を追跡し、非アクティブLUに対する保存又は復元完了後に低周波数状態にエントリし、アクティブLUに対する保存又は復元完了後に動作周波数状態にエントリする。
【0025】
具体的な構成において、システム300及びそのLU310は、独立した電力ドメインに常駐し、したがって、独立したLU310電力状態を可能にする。システム300の電力ドメイン内のコントローラは、LU310の電力状態を管理する必要がある。コントローラは、スレーブFSRCユニット360及びマスタFSRCユニット340の各々のためのクロック及びリセット制御である。システム300内のマスタクロック及びリセットコントローラは、各分散LU310クロック及びリセットコントローラと相互作用する。コントローラは、一緒に、例えば、初期化、低電力エントリ/イグジット、P状態変更要求を扱う。スレーブ/マスタFSRCユニット360/340は、低電力エントリ/イグジットレイテンシ効率を改善するために、各LU310及びシステム300にクロック及びリセットコントローラを含む。
【0026】
LU310が電力ゲート状態にエントリする場合、コントローラは、電力消費を低減するために低周波数状態にエントリする。LU310が電力ゲート状態からイグジットする場合、コントローラは低周波数状態からイグジットする。全てのLU310が電力ゲート状態にエントリする場合、システム300を電力ダウンさせることができる。電力ダウンエントリ及びイグジットプロセスの一部として、コントローラ状態が保存され、復元される。LU310が電力ゲートされる場合、コントローラは低周波数状態にあるので、保存及び復元は低周波数で発生し、したがってレイテンシに影響を与える。本システムは、全体的な電力効率を損なうことなく、電力ダウンエントリ及びイグジットレイテンシを低減するための方法及びシステムを提供する。
【0027】
電力ダウンエントリ及びイグジットレイテンシは、状態保存及び復元中にLU310及びシステムを最大周波数で動作させることによって低減される。LU310の保存及び復元がシリアルに発生する場合、電力ダウンエントリ及びイグジットレイテンシの改善は、LU310計数とともに増加する。並行して発生するLU310の保存及び復元は、システム帯域幅が飽和するまで同一のレイテンシ改善を提供する。
【0028】
示されるように、本システム及び方法は、システム性能と低電力とのバランスをとる。システム300複合体は、電力ダウンエントリ/イグジットシーケンスの持続時間の間だけ周波数を調整する。各スレーブFSRCユニット360は、非アクティブLUの保存又は復元完了後に低周波数状態にエントリする。各スレーブFSRCユニット360は、アクティブLUの保存又は復元完了後に動作周波数状態にエントリする。
【0029】
図4は、
図3のシステム300における低電力イグジットの方法400を示す図である。方法400は、ステップ405において、低電力イグジットにエントリすることを含む。ステップ405における低パーイグジットにエントリすることは、例えば、割り込みを介して発生し得る。
【0030】
ステップ410において、方法400は、システム周波数へのPLLロッキングを含む。イグジット後、PLLは、システムの公称動作周波数にロックされる。
【0031】
ステップ415において、方法400は、LUスレーブFSRCユニットをシステム周波数にランプすることを含む。ステップ415において、マスタFSRCユニットは、スレーブLU FSRCユニット周波数をシステム周波数に整合させる。より古いシステムでは、LU内のスレーブFSRCユニットは、システム内のマスタFSRCユニットよりも遅い周波数で低電力状態に留まる。スレーブFSRCユニットのより遅い周波数は、より古いシステムにおいて復元レイテンシを引き起こす可能性がある。
【0032】
ステップ420において、方法400は、LUスレーブFSRC状態を復元することを含む。LUスレーブFSRCコンテキストの復元は、整合であるマスタ及びスレーブFSRCユニット周波数で発生する。より古いシステムでは、LUスレーブFSRCコンテキストの復元は、不整合であるマスタFSRCユニット周波数及びスレーブFSRCユニット周波数で発生する。スレーブFSRCユニットのより遅い周波数は、より古いシステムにおいて復元レイテンシを引き起こす可能性がある。
【0033】
ステップ425において、方法400は、システムリセットをイグジットすることを含む。
【0034】
ステップ430において、方法400は、LUがウェイクアップしているかどうかを決定することを含む。ウェイクアップすることは、例えば、完全な機能動作に移行することを含むことができる。ステップ430は、例えば、0個のLUから全てのLUまでのLUにわたって個別に発生し得る。ステップ430におけるそのような決定は、例えば、低電力イグジットに入ることを強制した割り込みに基づくことができる。
【0035】
ステップ430において、(0個のLUから全てのLUまでの)LUがウェイクアップしていると判定される場合、方法400は、ステップ435において、ステップ415から復元された周波数を使用して、LU((0個のLUから全てのLUまで)ウェイクアップしているLU)の低電力状態からイグジットすることと、ステップ440において、LUのリセットシーケンスを開始することと、を含む。復元後、LUスレーブFSRCユニットは、そのウェイク状態に応じて、動作周波数又は低電力周波数に遷移する。
【0036】
ステップ430において、LUがウェイクアップしていないと判定される場合、方法400は、ステップ445において、スレーブFSRCユニットを最小周波数までランプダウンすることと、ステップ450において、LUを低電力状態のままにすることを含む。復元後、LUスレーブFSRCユニットは、そのウェイク状態に応じて、動作周波数又は低電力周波数に遷移する。
【0037】
図5は、
図3のシステム300における低電力エントリの方法500を示す図である。方法500は、ステップ505において低電力エントリにエントリすることを含む。低電力エントリは、例えば、ビットタイマを監視すること等のイベントによって発生し得る。
【0038】
ステップ510において、方法500は、LUスレーブFSRCユニットをシステム周波数にランプすることを含む。低電力エントリの間、システムマスタFSRCユニットは、LUスレーブFSRCユニットをシステム周波数にランプする。より古いシステムでは、コンテキスト保存中、LU内のスレーブFSRCユニットが低電力状態にあるため、その周波数はシステム内のマスタFSRCユニットよりも遅い。そのようなシステムでは、保存レイテンシは、より遅いLUスレーブFSRCユニット周波数によって制限される。
【0039】
ステップ515において、方法500は、LUスレーブFSRC状態を保存することを含む。LUスレーブFSRCコンテキストの保存は、整合であるマスタ及びスレーブFSRCユニット周波数で発生する。より古いシステムでは、LUスレーブFSRCコンテキストの保存は、不整合であるマスタFSRCユニット周波数及びスレーブFSRCユニット周波数で発生する。そのようなシステムでは、保存レイテンシは、より遅いLUスレーブFSRCユニット周波数によって制限される。
【0040】
ステップ520において、方法500は、LUがウェイクアップしているかどうかを決定することを含む。LUがウェイクアップしていることは、例えば、完全な機能動作に移行することを含むことができる。ステップ520は、例えば、0個のLUから全てのLUまでのLUにわたって個別に発生し得る。ステップ520におけるそのような決定は、例えば、低電力エントリを強制したイベントに基づくことができる。ステップ515の保存完了後に発生するものとして示されているが、LUがウェイクアップしているかどうかのステップ520における決定は、ステップ515における保存の完了前であっても発生し得る。
【0041】
ステップ520において、LUがウェイクアップしていると判定される場合、方法500は、ステップ525において、動作周波数を使用してLUに対する低電力状態からイグジットする(中止する)ことと、ステップ530において、LUのリセットシーケンスを開始することと、を含む。コンテキスト保存が完了すると、LUスレーブFSRCユニットは、そのウェイク状態に応じて、動作周波数又は低電力周波数に遷移する。
【0042】
ステップ520において、(0個のLUから全てのLUまでの)LUがウェイクアップしていないと判定される場合、方法500は、ステップ535において、スレーブFSRCユニットを最小周波数までランプダウンすることと、ステップ540において、低電力状態にエントリすることと、を含む。コンテキスト保存が完了すると、LUスレーブFSRCユニットは、そのウェイク状態に応じて、動作周波数又は低電力周波数に遷移する。
【0043】
システム300及び方法400及び方法500を使用して電力ダウンエントリ/イグジットのレイテンシを低減することによって、より深い電力状態及びより長い常駐性が可能となり、バッテリ寿命が改善され、より低いイグジットレイテンシによってより良好なユーザエクスペリエンスがもたらされる。
【0044】
図6は、高速保存復元を提供するためのシステム及び方法の全体的なレイテンシ及び周波数のプロット600を示す図である。具体的には、プロット600は、説明される高速保存/復元のための周波数曲線620(GHzで表される)及びレイテンシ曲線610(μsで表される)の表現を含む。図示されるように、直線的に増加する周波数を表す周波数曲線620が直線的に増加するにつれて、レイテンシを表すレイテンシ曲線610は指数関数的に減少する。
【0045】
本システム及び方法の全体的なレイテンシは、様々な要因に依存する。プロデューサは、概して、レジスタへの読み取り/書き込みがコンテキストを得るためにより多くのサイクルを必要とするので、スループットがより制限される。本実施形態は、シリアライズされたレジスタアクセスをサポートする。ネットワークがバーストトランザクションをサポートする場合であっても、論理ユニットにおいて内部的に各トランザクションがシリアライズされる。論理ユニットのバーストスループットは、周波数に対してほぼ直線的に増減する。プロデューサ-コンシューマ間のネットワーク帯域幅が考慮され、すなわち、コンシューマが非常に高い帯域幅を有する場合、プロデューサがすぐに飽和することはない。より高い電圧ランプアップ時間は、より高い動作周波数を使用して説明することができる。保存/復元シーケンスに伴う追加のオーバーヘッドも含まれる。理解されるように、コンシューマはデータパケットを入力し、プロデューサはデータパケットを出力する。コンシューマ/プロデューサ識別は、コンシューマ/プロデューサが状態に基づいてそれらの役割を変更することができるので、固定された役割ではない。例えば、低電力エントリでは、プロデューサはLU及びシステムであり、コンシューマはSOCネットワークであり、一方、低電力イグジットでは、プロデューサはSOCネットワークであり、コンシューマはLU及びシステムである。また、システム複合体及びLUは、それぞれイグジット/エントリの場合に互いに対してプロデューサ/コンシューマとみなすこともできる。
【0046】
全体的に、より低い周波数では、(通常動作中により高い周波数を扱うように設計されているので)プロデューサがコンシューマ帯域幅を飽和させることができないので、レイテンシはより高くなることが予想される。レイテンシは、周波数が増加するにつれて低減されるが、コンシューマがプロデューサの帯域幅を飽和させ得るより高い周波数ではシステムは飽和する。
【0047】
本明細書の開示に基づいて、多くの変形が可能であることを理解されたい。特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。
【0048】
プロセッサ102、入力ドライバ112、入力デバイス108、出力ドライバ114、出力デバイス110、加速処理デバイス116、スケジューラ136、グラフィックス処理パイプライン134、計算ユニット132、SIMDユニット138、LU310、FSRCユニット340、360を含むがこれらに限定されない、図において示され及び/又は本明細書に説明される様々な機能ユニットは、汎用コンピュータ、プロセッサ若しくはプロセッサコアとして、又は、汎用コンピュータ、プロセッサ若しくはプロセッサコアによって実行可能な非一時的なコンピュータ可読記憶媒体若しくは別の媒体に記憶されているプログラム、ソフトウェア若しくはファームウェアとして実装することができる。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施することができる。好適なプロセッサとしては、例として、一般目的プロセッサ、特殊目的プロセッサ、従来型プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連付けられた1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果は、マスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、本開示の特徴を実装するプロセッサを製造する。
【0049】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実施することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(DVD)等の光学媒体が含まれる。
【国際調査報告】