(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】データプロセッサのプログラム可能な電圧調整
(51)【国際特許分類】
G06F 1/30 20060101AFI20231205BHJP
G06F 1/04 20060101ALI20231205BHJP
G06F 1/324 20190101ALI20231205BHJP
【FI】
G06F1/30 305
G06F1/04 570
G06F1/324
(21)【出願番号】P 2022580269
(86)(22)【出願日】2021-06-10
(86)【国際出願番号】 US2021036828
(87)【国際公開番号】W WO2021262448
(87)【国際公開日】2021-12-30
【審査請求日】2023-02-15
(32)【優先日】2020-06-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-22
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ステファン ヴィクトル コソノキー
(72)【発明者】
【氏名】ミゲル ロドリゲス
【審査官】白石 圭吾
(56)【参考文献】
【文献】特表2002-543513(JP,A)
【文献】特開2007-324588(JP,A)
【文献】特表2020-514864(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26 - 1/3296
G06F 1/04 - 1/14
(57)【特許請求の範囲】
【請求項1】
データプロセッサであって、
電源電圧を受信するための少なくとも1つの電源電圧端子であって、電源電流が流れる少なくとも1つの電源電圧端子と、
前記少なくとも1つの電源電圧端子に接続されており、前記電源電圧を使用して動作するデータ処理回路と、
前記電源電圧の公称値と、電気設計電流(EDC)制限と、EDC勾配と、を記憶するためのレジスタであって、前記EDC勾配は、前記電源電流が前記EDC制限を超える場合に、外部電圧レギュレータの所望の電圧‐電流関係を指定する、レジスタと、
前記レジスタと出力ポートとに接続されたポートコントローラと、を備え、
前記データ処理回路は、前記外部電圧レギュレータによる使用のために前記出力ポートを介して前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、を前記ポートコントローラに出力させるように動作する、
データプロセッサ。
【請求項2】
前記レジスタは、負荷線勾配を更に記憶し、前記負荷線勾配は、前記電源電流が前記EDC制限未満である場合に、前記外部電圧レギュレータの前記所望の電圧‐電流関係を指定する、
請求項1のデータプロセッサ。
【請求項3】
前記電源電圧が前記公称値以上である場合に公称周波数でクロック信号を提供し、前記公称値を下回る前記電源電圧のドループに応じて前記クロック信号の周波数を低減する適応クロック発生器を更に備え、
前記データ処理回路は、前記電源電圧と前記クロック信号との両方に従って動作する、
請求項1のデータプロセッサ。
【請求項4】
前記データ処理回路は、要求された電力状態(P状態)に従って前記電源電圧の前記公称値及び前記公称周波数を決定する、
請求項3のデータプロセッサ。
【請求項5】
データ処理システムであって、
電源電圧に応じて動作するデータプロセッサと、
電圧レギュレータと、を備え、
前記データプロセッサは、
前記電源電圧を受信するための少なくとも1つの電源電圧端子であって、電源電流が流れる少なくとも1つの電源電圧端子と、
前記少なくとも1つの電源電圧端子に接続されており、前記電源電圧を使用して動作するデータ処理回路と、
前記電源電圧の公称値と、電気設計電流(EDC)制限と、EDC勾配と、を記憶するためのレジスタであって、前記EDC勾配は、前記電源電流が前記EDC制限を超える場合に、所望の電圧‐電流関係を指定する、レジスタと、
前記レジスタと出力ポートとに接続されたポートコントローラと、を備え、
前記データ処理回路は、前記出力ポートを介して前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、を前記ポートコントローラに出力させるように動作し、
前記電圧レギュレータは、
前記データプロセッサの前記出力ポートに接続されており、前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、に従って前記電源電圧を提供する、
データ処理システム。
【請求項6】
前記レジスタは、負荷線勾配を更に記憶し、前記負荷線勾配は、前記電源電流が前記EDC制限未満である場合に、前記電圧レギュレータの前記所望の電圧‐電流関係を指定する、
請求項5のデータ処理システム。
【請求項7】
前記電源電圧が前記公称値以上である場合に公称周波数でクロック信号を提供し、前記公称値を下回る前記電源電圧のドループに応じて前記クロック信号の周波数を低減する適応クロック発生器を更に備え、
前記データ処理回路は、前記電源電圧と前記クロック信号との両方に従って動作する、
請求項5のデータ処理システム。
【請求項8】
データ処理システムであって、
データプロセッサと、
電圧レギュレータと、を備え、
前記データプロセッサは、
電源電圧を受信して電源電流を供給するための少なくとも1つの電源電圧端子を有し、
クロック信号に応じて動作し、
前記電源電圧が公称値以上である場合に公称周波数で前記クロック信号を提供し、前記公称値を下回る前記電源電圧のドループに応じて前記クロック信号の周波数を低減する適応クロック発生器を備え、
前記電圧レギュレータは、
前記電源電圧端子に接続されており、前記電源電圧を前記電源電圧端子に提供し、
前記電源電流が電気設計電流(EDC)制限を超える場合に、EDC勾配によって決定される勾配で前記電源電流に従って前記電源電圧の前記公称値から前記電源電圧を低減する、
データ処理システム。
【請求項9】
前記適応クロック発生器は、マスタ/スレーブデジタル周波数ロックループである、
請求項8のデータ処理システム。
【請求項10】
前記マスタ/スレーブデジタル周波数ロックループは、
前記電源電圧を受信するための入力と、調整された電圧を提供するための出力と、を有するレギュレータと、
出力信号のエッジの後に、前記調整された電圧に比例する第1の遅延を第1の信号に提供するための基準遅延線と、
前記出力信号のエッジの後に、前記電源電圧に比例する第2の遅延を第2の信号に提供するためのドループ遅延線と、
前記第1の信号を受信するための第1の入力と、前記第2
の信号を受信するための第2の入力と、前記第1の信号及び前記第2の信号の最新の遷移に従って前記出力信号を提供するための出力と、を有するC要素と、を備え、
前記マスタ/スレーブデジタル周波数ロックループは、前記出力信号に応じて前記クロック信号を提供する、
請求項9のデータ処理システム。
【請求項11】
前記データプロセッサは、要求された電力状態(P状態)に従って前記電源電圧の前記公称値及び前記公称周波数を決定する、
請求項8のデータ処理システム。
【請求項12】
前記データプロセッサは、
前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、を記憶するためのレジスタと、
前記レジスタと出力ポートとに連結されたポートコントローラと、を更に備え、
前記データプロセッサは、前記出力ポートを介して前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、を前記ポートコントローラに出力させるように動作し、
前記電圧レギュレータは、
前記データプロセッサの前記出力ポートに接続された第1の端子と、
前記データプロセッサの前記電源電圧端子に接続された第2の端子と、を備え、
前記電圧レギュレータは、前記第1の端子で受信した前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、に応じて、前記第2の端子に前記電源電圧を提供する、
請求項11のデータ処理システム。
【請求項13】
データ処理システムが、関連する電源電流を有する電源電圧で
前記データ処理システムのデータプロセッサに電力供給することと、
前記データ処理システムが、前記電源電圧の公称値と、電気設計電流(EDC)制限と、EDC勾配と、を
前記データプロセッサのレジスタに記憶することであって、前記EDC勾配は、前記電源電流が前記EDC制限を超える場合に、
前記データ処理システムの外部電圧レギュレータの所望の電圧‐電流関係を指定する、ことと、
前記データ処理システムが、前記外部電圧レギュレータによる使用のために、前記データプロセッサの出力ポートを使用して、前記電源電圧の前記公称値と、前記EDC制限と、前記EDC勾配と、を前記レジスタから出力することと、を含む、
方法。
【請求項14】
データ処理システムが、公称値と、電源電圧に関連する電源電流と、を有する前記電源電圧で
前記データ処理システムのデータプロセッサに電力供給することと、
前記データ処理システムが、電子設計電流(EDC)制限と、EDC勾配と、に基づいて前記電源電圧の値を決定することであって、前記EDC勾配は、前記電源電流が前記EDC制限を超える場合に、前記電源電流と前記電源電圧との間の所望の電圧‐電流関係を指定する、ことと、
前記データ処理システムが、前記データプロセッサをクロック信号でクロッキングすることと、
前記データ処理システムが、前記電源電圧に応じて前記クロック信号の周波数を決定することであって、
前記データ処理システムが、前記電源電圧が前記公称値以上である場合に公称周波数で前記クロック信号を提供し、
前記データ処理システムが、前記公称値を下回る前記電源電圧のドループに応じて前記クロック信号の周波数を低減する、ことと、を含む、
方法。
【請求項15】
前記データ処理システムが前記クロック信号の周波数を決定することは、
前記データ処理システムが、前記データプロセッサの適応クロック発生器を使用して前記クロック信号の周波数を決定することを含む、
請求項14の方法。
【発明の詳細な説明】
【背景技術】
【0001】
様々なタイプのデータプロセッサを含むもの等の現代のデジタル集積回路(integrated circuit、IC)は、通常、相補型金属酸化膜半導体(complementary metal-oxide-semiconductor、CMOS)回路を使用して実装される。CMOS ICは、高密度に製造することができ、比較的低い電源電圧を使用して動作することができる。また、CMOS ICは、内部論理回路がスイッチングしている場合に著しい電流が消費されるだけであるため、比較的低い消費電力を有する。CMOS ICの動的消費電力は、スイッチング周波数及び電圧の二乗に比例し、次式で与えられる。
P=C×V2×f [1]
式中、Pは消費電力、CはICの動的静電容量、Vは電源電圧、fはスイッチング周波数である。
【0002】
消費電力は周波数及び電圧の二乗に関係するので、CMOS ICの消費電力は、周波数及び/又は電源電圧を下げることによって低減され得ることになる。実際には、CMOS ICが正しく動作することができる最低電圧は、それ自体が周波数の関数であり、周波数の増加と共に増加する。消費電力は電源電圧及び周波数の両方に依存するので、いくつかのCMOSデータプロセッサは、CMOSデータプロセッサが動作することができる電源電圧及び周波数のペアを識別する性能状態、すなわち「P状態」と、システムの変化する処理要求に基づいて異なるP状態間で変化する電力管理機構と、を定義する。
【0003】
電圧「ドループ」は、電源が急速に増加する負荷を駆動する場合の所望の電圧レベルからの電圧の低下を指す。調整されたシステムでは、電圧レギュレータがドループを補正する前に負荷が突然非常に急速に増加した場合に、電源電圧が低下又はドループし得る。ドループが大きすぎる場合、データプロセッサは、ドループ電圧を使用して現在の周波数で正確に動作することができないので、回路障害が生じる。
【図面の簡単な説明】
【0004】
【
図1】従来技術における既知のデータ処理システムの部分ブロック図及び部分概略図である。
【
図2】いくつかの実施形態による、データ処理システムの部分ブロック図及び部分概略図である。
【
図3】
図2の電圧レギュレータチップの電流‐電圧応答のグラフである。
【
図4】いくつかの実施形態による、
図2の適応DFLLとして使用することができるマスタ‐スレーブデジタル周波数ロックループ(digital frequency locked loop、DFLL)の部分ブロック図及び部分概略図である。
【
図5】いくつかの実施形態による、別のデータ処理システムの部分ブロック図及び部分概略図である。
【
図6】
図5の電圧レギュレータチップの電流‐電圧応答のグラフである。
【発明を実施するための形態】
【0005】
以下の説明において、異なる図面における同一の符号の使用は、同様の又は同一のアイテムを示す。別段言及されなければ、「結合される」という単語及びその関連する動詞形は、当技術分野で知られている手段による直接接続及び間接電気接続の両方を含み、また、別段言及されなければ、直接接続の任意の記述は、好適な形態の間接電気接続を使用する代替の実施形態も意味する。
【0006】
以下に詳細に説明するように、データプロセッサ(210)は、電源電圧を受信するための少なくとも1つの電源電圧端子であって、当該電源電圧端子を通って電源電流が通って伝導される電源電圧端子と、データ処理回路と、レジスタと、ポートコントローラと、を備える。データ処理回路(212)は、少なくとも1つの電源電圧端子(211)に接続されており、電源電圧を使用して動作する。レジスタは、電源電圧の公称値と、電気設計電流(electrical design current、EDC)制限と、EDC勾配と、を記憶し、EDC勾配は、電源電流がEDC制限を超える場合に、外部電圧レギュレータ(220)のための所望の電圧‐電流関係を指定する。ポートコントローラ(215)は、レジスタ(214)と出力ポート(216)とに接続されている。データ処理回路(212)は、ポートコントローラ(215)に、外部電圧レギュレータ(220)による使用のために出力ポート(216)を介して電源電圧の公称値と、EDC制限と、EDC勾配と、を出力させるように動作する。
【0007】
データ処理システムは、データプロセッサと、電圧レギュレータと、を含む。データプロセッサは、電源電圧に応じて動作し、電源電圧を受信するための少なくとも1つの電源電圧端子(211)であって、電源電圧端子(211)を通って電源電流が通って伝導される、少なくとも1つの電源電圧端子(211)と、少なくとも1つの電源電圧端子に接続され、電源電圧を使用して動作するデータ処理回路(212)と、電源電圧の公称値と、電気設計電流(EDC)制限と、EDC勾配と、を記憶するためのレジスタ(214)であって、EDC勾配は、電源電流がEDC制限を超える場合に、所望の電圧‐電流関係を指定する、レジスタ(214)と、レジスタ(214)と出力ポート(216)とに接続されたポートコントローラ(215)と、を備える。データ処理回路(212)は、ポートコントローラ(215)に、出力ポート(216)を介して電源電圧の公称値と、EDC制限と、EDC勾配と、を出力させるように動作する。電圧レギュレータ(220)は、データプロセッサ(216)の出力ポート(216)に接続されており、電源電圧の公称値と、EDC制限と、EDC勾配と、に従って電源電圧を提供するためのものである。
【0008】
データ処理システム(200)は、データプロセッサ(210)と、電圧レギュレータと、を含む。データプロセッサは、電源電圧を受信し、電源電流を供給するための少なくとも1つの電源電圧端子(211)を有する。データプロセッサ(210)は、クロック信号に応じて動作し、電源電圧が公称値以上である場合に、公称周波数でクロック信号を提供し、公称値を下回る電源電圧のドループに応じてクロック信号の周波数を低減する適応クロック発生器(213)を備える。電圧レギュレータ(220)は、電源電圧端子に接続されており、電源電圧端子に電源電圧を提供する。電源電流が電気設計電流(EDC)制限を上回る場合に、電圧レギュレータ(220)は、EDC勾配によって決定される勾配で電源電流に従って電源電圧の公称値から電源電圧を低減する。
【0009】
方法は、関連付けられた電源電流を有する電源電圧でデータプロセッサ(210)に電力供給することを含む。電源電圧の公称値と、電気設計電流(EDC)制限と、EDC勾配と、がレジスタ(214)に記憶される。EDC勾配は、電源電流がEDC制限を超える場合に、外部電圧レギュレータ(220)のための所望の電圧‐電流関係を指定する。外部電圧レギュレータ(220)による使用のために、データプロセッサ(210)の出力ポート(216)を使用して、電源電圧の公称値と、EDC制限と、EDC勾配と、がレジスタ(214)から出力される。
【0010】
図1は、従来技術における既知のデータ処理システム100の部分ブロック図及び部分概略図である。データ処理システム100は、プロセッサチップ110と、周波数合成器120と、電圧レギュレータ130と、出力キャパシタ140と、を含む。プロセッサチップ110は、「V
DD」と名付けられた電圧を受信するための電源端子と、接地に接続された接地端子と、「CLK」と名付けられたクロック信号を受信するための入力と、「VID」と名付けられたマルチビットデジタル信号を提供するための第1の出力と、「FID」と名付けられたマルチビットデジタル信号を提供するための第2の出力と、を有する。周波数合成器120は、プロセッサチップ110の第2の出力に接続された入力と、プロセッサチップ110の入力に接続され、CLK信号を供給する出力と、を有する。電圧レギュレータ130は、「V
DC」と名付けられた電源電圧を受信するための電源端子と、接地に接続された接地端子と、VID信号を受信するためにプロセッサチップ110の第1の出力に接続された入力と、電源電圧V
DDをプロセッサチップ110に提供するためにプロセッサチップ110の電源端子に接続された出力と、を有する。出力キャパシタ140は、電圧レギュレータ130の出力端子に接続された第1の端子と、接地に接続された第2の端子と、を有する。
【0011】
プロセッサチップ110は、クロック周波数を、したがって性能を処理作業負荷と一致させるために、デジタル電圧及び周波数スケーリング(digital voltage and frequency scaling、DVFS)の一部としてVID信号及びFID信号を提供する。通常、プロセッサチップ110は、アクティブ状態と様々な低電力状態との間で遷移する。アクティブ状態内で、プロセッサチップ110は、現在の作業負荷に一致するように処理能力をスケールアップ及びスケールダウンすることができる様々な性能状態、すなわち「P状態」をサポートする。プロセッサチップ110は、それ自体の作業負荷を測定することができる。例えば、様々なプロセッサリソースの利用に基づいて、その作業負荷を推定することができる。現在のクロック周波数での処理作業負荷が高すぎる場合、クロック周波数を増加させて性能を増加させるために、P状態を増加させる。逆に、現在のクロック周波数での処理作業負荷が低すぎる場合、クロック周波数を低下させて電力を節約するためにP状態を低下させる。各P状態は、固有のクロック周波数及び電源電圧のペアによって定義され、電源電圧は、対応するクロック周波数での正確なプロセッサ動作を保証するために十分に大きい。プロセッサチップ110は、FID信号を使用して周波数合成器120によって出力されるCLK信号の周波数を設定し、VID信号を使用して電圧レギュレータ130によって提供される電源電圧VDDのレベルを設定する。典型的には、より高いP状態へのP状態変更要求に応じて、プロセッサチップ110は、CLK信号の周波数を増加させる前にVDDの値を増加させ、より低いP状態へのP状態変更要求に応じて、プロセッサチップ110は、VDDの値を低下させる前にCLK信号の周波数を低下させる。これらの順序付け規則は、P状態の変化中に適切な動作を保証する。
【0012】
電圧レギュレータ130は、調整されていない直流(direct current、DC)電圧VDCを、降圧された、プログラム可能な、調整された電圧VDDに変換する。電圧レギュレータ130は、典型的には、より重い負荷におけるより良好な変換効率のために、スイッチモード電源(switched mode power supply、SMPS)変換器として実装される。
【0013】
処理作業負荷のバースト性及び電圧レギュレータ130が負荷の変化に対して調整する速度のために、電圧レギュレータ130の出力における電源電圧VDDは、負荷の突然の増加に応じて電圧レベルが低下する電圧ドループを経験する可能性がある。P状態は、オペレーティングシステムによって変更され、著しいレイテンシを有する電圧レギュレータ及び可変周波数クロック発生器を使用するので、P状態機構は、電圧ドループを調整するには不十分である。したがって、電圧ドループは、オペレーティングシステムがプロセッサチップ110のP状態を増加させることによって反応することができる前に、プロセッサチップ110の動作を失敗させ得る。
【0014】
P状態機構を使用せずに電源電圧ドループを自動的に調整するための既存の機構は、プロセッサクロッキング制御(processor clocking control、PCC)機構として知られている。この機構は、過電流事象を検出し、過電流閾値を超えた場合にクロック信号の周波数を直接低減する。電流は、データプロセッサの動的静電容量を推定するオンダイの動的静電容量(CAC)アキュムレータを使用して測定することができる。次に、動的静電容量を使用して、以下の式に従ってプロセッサ電流を推定することができる。
I=CAC×V×f [2]
しかしながら、CAC機構は、製造後に各データプロセッサチップの大規模な調整を必要とし、精度が低いという欠点がある。更に、PCC機構は、典型的な電圧ドループを受け入れるには遅すぎる。例えば、PCC機構がクロック周波数を調整するのに約100ナノ秒(nanosecond、ns)かかることがあり、これは、例えば、2.0ギガヘルツ(gigahertz、GHz)クロック信号を使用するシステムにおける著しい数のクロック周期である。
【0015】
図2は、いくつかの実施形態による、データ処理システム200の部分ブロック図及び部分概略図である。データ処理システム200は、概して、データプロセッサチップ210と、電圧レギュレータチップ220と、キャパシタ230と、メモリ240と、を含む。
【0016】
データプロセッサチップ210は、外部端子211と、データ処理回路212と、適応デジタル周波数ロックループ(digital frequency locked loop、DFLL)213と、レジスタ214と、シリアル入力/出力(input/output、I/O)ポートコントローラ215と、外部端子216と、入力/出力(I/O)ハブ217と、を含む。外部端子211は、電源電圧V
DDを受信するダイボンディングパッド又は集積回路端子である。データ処理回路212は、「V
DDCORE」と名付けられたV
DDの内部ルーティングバージョンを受信するために外部端子211に接続された第1の入力と、CLK信号を受信するための第2の入力と、双方向ダウンストリーム端子と、
図2には具体的に示されていない他の端子と、を有する。これらの他の端末は、本開示の理解に関連しない従来の端末であり、それらは更には説明されない。適応DFLL213は、外部端子211に接続された第1入力と、第2入力と、データ処理回路212の第2入力に接続された出力と、を有する。レジスタ214は、入力と、以下の表1に記載されている様々なフィールドに対応する出力のセットと、を有する。
【0017】
【0018】
シリアルI/Oポートコントローラ215は、双方向アップストリームポートと、双方向ダウンストリームポートと、レジスタ214のVID、EDC制限及びEDC勾配フィールドに接続された入力と、を有する。外部端子216は、シリアルI/Oポートコントローラ215の双方向ダウンストリームポートに接続されている。I/Oハブ217は、データ処理回路212の双方向ダウンストリームポートに接続された双方向アップストリームポートと、レジスタ214及びシリアルI/Oポートコントローラ215に接続された第1の双方向ダウンストリームポートと、第2の双方向ダウンストリームポートと、を有する。
【0019】
電圧レギュレータ220は、電源電圧VDCを受信するための電源端子と、接地に接続された接地端子と、データプロセッサチップ210の外部端子216に接続された入力端子221と、データプロセッサチップ210の外部端子211に接続された出力端子222と、を有する。典型的な集積回路データプロセッサは、電圧レギュレータの出力とデータプロセッサチップとの間の寄生インピーダンスを下げるために多くの電源電圧端子を含み、したがって、外部端子211は、データプロセッサチップ210の少なくとも1つの電源電圧端子を表すことに留意されたい。
【0020】
キャパシタ230は、電圧レギュレータチップ220の出力端子222に接続された第1の端子と、接地に接続された第2の端子と、を有する。
【0021】
メモリ240は、I/Oハブ217の第2の双方向ダウンストリームポートに接続された双方向ポートを有する。メモリ240は、システム基本入出力システム(basic input/output system、BIOS)を記憶するための第1の領域241と、オペレーティングシステム(operating system、O/S)カーネルを記憶するための第2の領域242と、を含む、メモリマップを定義する記憶位置のセットを有する。
【0022】
動作において、データ処理システム200は、シリアルI/Oポートコントローラ215によって制御されるシリアルインタフェースを介して電圧レギュレータチップ220の電流‐電圧(current-voltage、I/V)特性をプログラムする能力を提供する。電圧レギュレータチップ220によって提供される可変電圧は、急峻な負荷線に従ってCLK信号の周波数を自動的に低減するために、適応DFLL213と共に動作する。これらの2つの機構は協調して動作し、著しい電圧ドループが存在する場合であってもデータ処理回路212が正確に動作することを確実にする。
【0023】
データ処理回路212は、データを読み取り、操作し、動作を施し、処理し及び/又は記憶するように動作する任意のタイプのデータ処理回路とすることができる。例示的な実施形態では、データ処理回路212は、例えば、OpenGLプログラミング言語を使用して、記憶されたプログラム命令に従って動作するグラフィックス処理ユニット(graphics processing unit、GPU)コアである。GPUコアは、OpenGLプリミティブを使用して、データ入出力、シェーディング、レンダリング、ラスタライゼーション等の全般的な動作を行う。アーキテクチャ上、GPUコアは、単一命令複数データ(single instruction, multiple data、SIMD)アーキテクチャを有する超並列プロセッサを使用して実装することができる。グラフィックス処理を実行する過程で、GPUコアは、多数のこれらのタイプの演算を並列に処理することができる。アクティビティの突然の増加を引き起こす特定のシステムイベントに応じて、電源電流引き込みの急速な増加は、大きな電源電圧ドループを引き起こす可能性がある。
【0024】
別の実施形態において、データ処理回路212は、データ処理システム200の中央処理装置(central processing unit、CPU)の動作を実行するマルチコアプロセッサであってもよい。CPUは、ワシントン州レドモンドのMicrosoft社によってライセンスされているWindows(登録商標)オペレーティングシステム等のオペレーティングシステムを実行することができる。マルチコアCPUは、ユーザ入力を待っている長い相対的休止期間と、それに続く集中的な動作期間を経験する可能性がある。これらの状況では、CPUコアは、電源電流の突然の増加を必要とする可能性があり、これが大きな電源ドループを引き起こす。
【0025】
他の実施形態では、デジタル信号プロセッサ(digital signal processor、DSP)、ネットワークプロセッサ、特定用途向けプロセッサ等のような他のタイプのデータプロセッサを使用することができる。これらのプロセッサは、同様に、電源電圧ドループをもたらす電源電流の突然の変化を経験する可能性がある。
【0026】
データ処理回路212は、通常、「ノースブリッジ」としても知られるシステムコントローラハブを介してオフチップメモリに接続するためのメモリコントローラを含む。典型的には、データ処理回路212は、不揮発性メモリと、システムBIOS及びオペレーティングシステムカーネルを記憶する大容量記憶装置との組合せであり得るメモリ240への入力/出力インターフェースも有する。システムBIOS及びオペレーティングシステムカーネルの何れか又は両方は、表1に示すパラメータを記憶することができ、データプロセッサチップ210は、I/Oハブ217を介してそれらにアクセスし、レジスタ214に記憶することができる。
【0027】
適応DFLL213は、出力電圧に依存する周波数を有するCLK信号を提供するクロック回路である。電圧ドループ中、適応DFLL213は、CLK信号の周波数を低減することができる。電源電圧ドループ中にCLK信号の周波数を低減することによって、適応DFLL213は、データ処理回路212がより低い電圧で適切に動作し続け、次いで、電圧レギュレータチップ220がより高い電流レベルについてVDDを補償する場合に回復することを確実にする。
【0028】
シリアルI/Oポートコントローラ215は、任意の適切なパラレル又はシリアル通信プロトコルのための通信を制御することができる。したがって、外部端子216は、データ転送に関与し得る1つ以上の端子を表す。特定の一実施形態では、シリアルI/Oポートコントローラは、カリフォルニア州サンタクララのIntel社によって指定されたシリアル電圧識別(serial voltage identification、SVID)プロトコルを使用して動作する。
【0029】
図3は、
図2の電圧レギュレータチップ220の電流‐電圧応答のグラフ300である。グラフ300において、横軸は、「I
DD」と名付けられた電源電流をアンペアで表し、縦軸は、電源電圧V
DDをボルトで表す。横軸に沿って、グラフ300は、EDC制限に対応するI
DDの値と、「I
DDMAX」と名付けられた最大サポート電源電流と、を示す。縦軸に沿って、グラフ300は、「V
NOM」と名付けられたV
DDの値を示す。V
NOMは、VID値に対応するV
DDの公称値である。また、グラフ300は、電源電流I
DDの異なる値に対する電源電圧V
DDの波形310を示す。波形310によって示すように、EDC制限未満のI
DDの全ての値に対して、V
DDの値はV
NOMに等しい。EDC制限以下のI
DDの値に対するI
DDの変化に対するV
DDの変化の割合は、負荷線勾配又は「LL勾配」と呼ばれる。グラフ300に示すように、LL勾配は0に等しい。EDC制限を上回るI
DDの値に対して、V
DDは、電源電流I
DDがI
DDMAXに達するまで、勾配320によって示すように、I
DDの単位当たりのEDC勾配の割合で減少する。
【0030】
図4は、いくつかの実施形態による、
図2の適応DFLL213として使用することができるマスタ‐スレーブデジタル周波数ロックループ(DFLL)400の部分ブロック図及び部分概略図である。マスタスレーブDFLL400は、「V_CORE」と名付けられた入力電圧を受信するための入力と、「BIAS」と名付けられたバイアス電圧を受信するための入力と、「FCW」と名付けられた周波数制御ワードを受信するための入力と、「CLK」と名付けられたクロック信号を提供するための出力と、を有する。マスタ‐スレーブDFLL400は、概して、電圧レギュレータ410と、キャパシタ412と、基準遅延線420と、ドループ遅延線430と、「C要素」と名付けられた一致要素440と、インバータ450と、出力分割器460と、を含む。
【0031】
電圧レギュレータ410は、電源電圧VDDを受信するための「VREF」と名付けられた基準入力端子と、「VREG」と名付けられた出力端子と、を有する。キャパシタ412は、電圧レギュレータ410の出力端子に接続された第1の端子と、接地に接続された第2の端子と、制御端子と、を有する。
【0032】
基準遅延線420は、直列接続されたインバータの列のセットを含む。各列内で、基準遅延線420は、第1のインバータ、中間インバータのセット及び最後のインバータを有する。第1のインバータは、電圧レギュレータ410のVREG出力に接続された電源電圧端子と、入力と、出力と、を有する。各中間インバータは、電圧レギュレータ410のVREG出力に接続された電源電圧端子と、前段のインバータの出力に接続された入力と、出力と、を有する。最後のインバータは、電圧レギュレータ410のVREG出力に接続された電源電圧端子と、中間インバータの出力に接続された入力と、「A」と名付けられたノードに接続された出力と、を有する。チェーン内の2つのインバータ間の各中間ノードは、中間ノードに接続された第1の端子と、接地に接続された第2の端子と、BIAS電圧を受信するための制御端子と、を有する対応するキャパシタを有する。周波数制御ワードは、基準遅延線420の何れの列がアクティブであるかを選択する。
【0033】
また、ドループ遅延線430は、基準遅延線420内の列の数に対応する直列接続されたインバータの列のセットを含む。各列内で、ドループ遅延線430は、第1のインバータと、中間インバータのセットと、最後のインバータと、を有する。第1のインバータは、VDD_CORE電圧を受信する電源電圧端子と、入力と、出力と、を有する。各中間インバータは、VDD_CORE電圧を受信する電源電圧端子と、前段のインバータの出力に接続された入力と、出力と、を有する。最後のインバータは、VDD_CORE電圧を受信する電源電圧端子と、中間インバータの出力に接続された入力と、「B」と名付けられたノードに接続された出力と、を有する。チェーン内の2つのインバータ間の各中間ノードは、中間ノードに接続された第1の端子と、接地に接続された第2の端子と、BIAS電圧を受信するための制御端子と、を有する対応するキャパシタを有する。周波数制御ワードは、ドループ遅延線430の何れの列がアクティブであるかを選択する。
【0034】
C要素440は、Aノードに接続された第1の入力と、Bノードに接続された第2の入力と、「C」と名付けられた信号を提供するための出力と、を有する。インバータ450は、一致要素440の出力に接続された入力と、基準遅延線420の各列の各第1のインバータの入力及びドループ遅延線430の各列の各第1のインバータの入力に接続された出力と、を有する。出力分割器460は、インバータ450の出力に接続された入力と、CLK信号を提供するための出力と、を有する。
【0035】
動作において、基準遅延線420は、FCW及びBIAS電圧によって設定され、電源電圧VDDのレベルに実質的に依存しない遅延を提供する。しかしながら、ドループ遅延線430は、基準遅延線420と同様にFCW及びBIAS電圧によって設定されるが、電源電圧VDD_COREのレベルに依存し且つ比例する遅延を提供する。したがって、VDD_COREがプロセッサ負荷のサイズの突然の増加に起因してドループすると、ドループ遅延線430を通る遅延が増加するが、基準遅延線420を通る遅延は実質的に一定のままである。
【0036】
一致要素440は、A出力及びB出力が同じ論理状態にある場合、この例では論理高電圧にある場合に、C出力を提供する信号一致要素である。インバータ450は、その出力を基準遅延線420及びドループ遅延線430内の各列の入力に提供し、ループの周りに追加の反転を加え、奇数の数の遅延、したがって発振を生成する。出力分割器460は、一致要素440の出力における発振信号を固定量又は可変量で分割して、CLK信号を提供する。
【0037】
したがって、VDD_REGがVDD_CORE未満の場合、基準遅延線420内の各列内の第1のインバータの入力における論理状態の遷移が出力に伝搬するのにより長い時間がかかり、より遅い遅延線、この場合には基準遅延線420が論理高レベルに遷移するまで、Cは遷移しない。一方、VDD_COREがVDD_REG未満の場合、ドループ遅延線430内の各列の第1のインバータの入力における論理状態の遷移が出力に伝搬するのにより長い時間がかかり、より遅い遅延線、この場合にはドループ遅延線430が論理高レベルに遷移するまで、Cは遷移しない。出力分割器460は、CLKの周波数を、VREGによって決定される、又は、VDD_COREがVREG未満の場合にはVDD_COREによって決定される固定周波数に設定し、したがって、電源電圧ドループ中にCLK信号を減速させる。
【0038】
CLK周波数の自動低減は、電源電圧VDD_COREが正しい動作を可能にするのに十分なままであることを確実にする。同時に、電圧レギュレータループがVDD_COREをその現在のP状態に適したレベルに復元すると、CLK信号の周波数を自動的に戻す。DFLLは25ピコ秒(picosecond、ps)程度の短い時間で電圧ドループに応答することができるので、自動低減もPCC機構と比較して非常に高速である。
【0039】
図5は、いくつかの実施形態による、別のデータ処理システム500の部分ブロック図及び部分概略図である。データ処理システム500は、2つの相違点を除いて、データ処理システム200と同様である。第1に、データプロセッサチップ510は、「LL勾配」と名付けられた追加フィールドを含むレジスタ514を有し、以下で更に説明するように、電源電流がEDC_制限値を下回るように減少するにつれて、電源電圧V
DDに追加ブーストを提供する。さらに、シリアルI/Oポートコントローラ215は、この値を外部端子216に提供する。レジスタ514の様々なフィールドを以下の表2に示す。
【0040】
【0041】
第2に、電圧レギュレータ520は、
図2の電圧レギュレータ220と比較して追加の機能を含む。電圧レギュレータ520は、電源電圧V
DCを受信するための電源端子と、接地に接続された接地端子と、データプロセッサチップ210の外部端子216に接続された入力端子521と、データプロセッサチップ210の外部端子211に接続された出力端子522と、を有する。電圧レギュレータ520は、以下に説明するように、電圧レギュレータ520が更にLL勾配値に応答することを除いて、
図2の電圧レギュレータ220と同様に動作する。
【0042】
図6は、
図5の電圧レギュレータチップ520の電流‐電圧応答のグラフ600である。グラフ600では、横軸は同様に電源電流I
DDをアンペアで表し、縦軸は電源電圧V
DDをボルトで表す。
図6には、横軸に沿って、EDC_制限に対応するI
DDの値と、最大サポート電源電流I
DDMAXと、が示されている。縦軸に沿って、V
NOMと名付けられたV
DDの値が示されている。V
NOMは、VID値に対応するV
DDの公称値である。また、グラフ600は、電源電流I
DDの異なる値に対する電源電圧V
DDの波形610を示す。波形610は、1つの違いを除いて、
図3の波形310と同様である。波形610によって示すように、EDC_制限未満のI
DDの全ての値に対して、V
DDの値は一定ではないが、V
NOMから非ゼロLL勾配によって決定される量を引いたものに等しい。グラフ600に示すように、LL勾配の値は、EDC勾配の値よりもはるかに小さい。EDC_制限以下のI
DDの値に対するI
DDの変化に対するV
DDの変化の割合、すなわちLL勾配は、勾配620及び630によって示すように、EDC_勾配よりも著しく小さい。非ゼロLL勾配は、(非常に低い電力状態における)漏れ電力及び(小さいレイテンシ低電力状態における)クロック分配電力に起因するI
DDのはるかに小さい成分を考慮することができる。
【0043】
本明細書に開示されるデータ処理システム及びデータプロセッサは、データプロセッサが、出力ポートを介して通信される値を使用して電圧レギュレータの特性をプログラム可能に設定することを可能にする。それはまた、容量及び電源電流を測定するための大規模な製造後チューニング又は大きなオンダイ回路の必要性を回避する。一実施形態では、データプロセッサは、出力ポートを使用して、電圧レギュレータのEDC制限及びEDC勾配をプログラムする。別の実施形態では、データプロセッサは、EDC制限及びEDC勾配並びに負荷線勾配を設定し、負荷線勾配は、電圧レギュレータがEDC制限を下回って動作する場合の電源電流/電圧関係を記述する。したがって、データプロセッサは、電圧レギュレータ自体を制御して、その電源電流/電源電圧特性を、特定のデータプロセッサのニーズに合わせて整形する。いくつかの実施形態では、データプロセッサは、電源電圧ドループを検出し、ドループが回路故障を引き起こすことを防止するためにクロック周波数を自動的に低減する適応クロック発生器を含む。これらの2つの機構が協働して、EDC制限を超える急峻な電源電流/電源電圧負荷線を実現する。
【0044】
データ処理システム200及び500、データプロセッサチップ210及び510、又は、それらの任意の部分は、プログラムによって読み取られ、集積回路を製造するために直接的又は間接的に使用され得るデータベース又は他のデータ構造の形態のコンピュータアクセス可能データ構造によって記述又は表現され得る。例えば、このデータ構造は、Verilog又はVHDL等の高レベル設計言語(high-level design language、HDL)におけるハードウェア機能の動作レベル記述又はレジスタ転送レベル(register-transfer level、RTL)記述であってもよい。記述は、合成ライブラリからゲートのリストを含むネットリストを生成するために記述を合成することができる合成ツールによって読み取られ得る。ネットリストは、集積回路を含むハードウェアの機能も表すゲートのセットを含む。次いで、ネットリストは、マスクに適用される幾何学的形状を記述するデータセットを生成するために配置され、ルーティングされ得る。次いで、マスクを様々な半導体製造工程で使用して、集積回路を製造することができる。代替的に、コンピュータアクセス可能記憶媒体上のデータベースは、所望に応じて、ネットリスト(合成ライブラリの有無にかかわらず)若しくはデータセット、又は、グラフィックデータシステム(Graphic Data System、GDS)IIデータであり得る。
【0045】
特定の実施形態を説明してきたが、これらの実施形態に対する様々な修正が当業者には明らかである。例えば、電源電流‐電圧負荷線の勾配は、ゼロ又は非ゼロ値の何れかであり得る。開示されるデータプロセッサは、SVIDプロトコル、オランダ、アイントホーフェンのNXP Semiconductor B.V.Corporation Netherlands社によって所有される登録商標I2Cバスによって市販されるシリアルインターフェースプロトコル、シリアル通信インターフェース(serial communications interface、SCI)バス等を含む、様々な既知のパラレル又はシリアルプロトコルを使用して、それらのそれぞれの電圧レギュレータチップと通信することができる。また、外部電圧レギュレータの性能を指定するために使用される値は、システムBIOS、オペレーティングシステムカーネル又はアプリケーションソフトウェアによって記憶又は決定され得る。
【0046】
したがって、添付の特許請求の範囲は、開示された実施形態の範囲内に含まれる開示された実施形態の全ての変更を網羅することを意図している。