JP2006504151A - 電流変化により誘導される電源電圧の変動を推定して制御するためのメカニズム - Google Patents

電流変化により誘導される電源電圧の変動を推定して制御するためのメカニズム Download PDF

Info

Publication number
JP2006504151A
JP2006504151A JP2003558662A JP2003558662A JP2006504151A JP 2006504151 A JP2006504151 A JP 2006504151A JP 2003558662 A JP2003558662 A JP 2003558662A JP 2003558662 A JP2003558662 A JP 2003558662A JP 2006504151 A JP2006504151 A JP 2006504151A
Authority
JP
Japan
Prior art keywords
voltage
current
adder
response
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003558662A
Other languages
English (en)
Other versions
JP3996127B2 (ja
Inventor
グロチョウスキー,エドワード
セイガー,デイヴィッド
ティワリ,ヴィヴェック
ヤング,イアン
エアーズ,デイヴィッド
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006504151A publication Critical patent/JP2006504151A/ja
Application granted granted Critical
Publication of JP3996127B2 publication Critical patent/JP3996127B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Sources (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

指定された電圧レンジで装置に電力を伝送するためのシステムが開示される。本システムは、該装置に電力を伝送するための電力伝送回路網を含んでおり、応答関数により特徴付けられる。電流計算ユニットは、連続するクロックサイクルについて装置で得られた一連の電流の振幅を表す値を記憶し、これらの値を電流−電圧計算ユニットに供給する。この電流−電圧計算ユニットは、応答関数から導出された係数に従って電流の振幅をフィルタリングし、該装置で見られる電圧の推定値を供給する。該装置の動作は、この推定された電圧が指定されたレンジ外にある場合に調節される。

Description

本発明は電源装置に関し、より詳細には、電源電圧が集積回路の電流需要に応答して変化するレートをモデリングするためのメカニズムに関する。
過去25年にわたり、マイクロプロセッサのような集積回路による電力消費量は1ワット以下から100ワットを超えるまでに増加している。大幅な電力の増加は、トランジスタのスケーリングを原因としており、このスケーリングにより、非常に高い周波数で動作する、チップ上の更に多くのトランジスタが製造されている。従来、取り扱い可能なレベルまで電力を低減するための電圧スケーリングが使用されている。電源電圧が1ボルトに近づくにつれて、更なる大幅な電圧低減により、更なる電力の低減が提供される可能性がない。以下の記載は、マイクロプロセッサに焦点を当てるものであるが、高周波で動作し、かつ変動する作業負荷を受ける集積回路は、同様の問題を受けることが認識される。
100Wを消費するマイクロプロセッサは、電源装置、電圧レギュレータ、及び、結果として生じる熱を消散可能なサーマルソリューション(パッケージ、ヒートシンク及びファン)と同様に、100Wを供給可能な電力分散回路網を必要とする。かかるコンポーネントは高価であり、トランジスタの寸法が縮小するにつれて、より高い電力レベルにスケーリングすることは期待できない。
絶対的な電力レベルに加えて、電力レベルの変動も問題である。特に、電力レベルの急激な変化に関連する電流変動により、ある装置で見られる電圧が規定されたレンジ外に変化する。1.0Vで動作する仮定した100Wのマイクロプロセッサは、100Aを得る。適切な回路動作を保証するため、電圧レギュレータ及び電力分散回路網は、±5%の範囲に電源電圧を維持しなければならない。このことは、マイクロプロセッサ(又は該マイクロプロセッサが実行するソフトウェア)が何であるかに関らず、わずか100mVのピーク トゥ ピークのリップルしか許容することができないことを意味している。理想的な電力分散回路網は、マイクロプロセッサの電源電流が数ナノ秒の範囲で急速に変化する場合であっても、100mVの範囲内での電源電圧を維持するため、十分なキャパシタンスを有し、かつ十分に小さなインダクタンス及びレジスタンスを有している。この後者の問題は、インダクタンスの定義V=L・di/dtからdi/dt問題と呼ばれる。Vは、電流変化di/dtを受けるときの、値Lのインダクタ間の電圧である。実際の電力分散回路は、現在のところ、これらの理想的な特性を提供していない。
電圧レベルに対するdi/dtの影響を緩和することは、クロックゲーティング機能のような節電機能がマイクロプロセッサ設計で開発されるときには、益々困難になる。たとえば、浮動小数点実行ユニットのようなパワーハングリーユニットには、該ユニットがアクティブ状態にあるときにクロックをオンにし、該ユニットが非アクティブ状態にあるときにクロックをオフにする回路が設けられる場合がある。クロックゲーティング機能は、極端に微細な粒度で、ユニットずつ、及びパイプステージずつ実現される場合があり、非常に多くのクロックゲート信号が生じる。この機能により、非アクティブ状態にあるユニットでの電力消費量が最小化されるが、実行されているソフトウェアに依存する全体の電力レベルでの大幅な変動が生じることになる。
本発明は、電力伝送回路網に関連するこれらの問題及び他の問題に対処するものである。
本発明は、以下の添付図面を参照して理解される。この添付図面では、同じ構成要素は同じ参照符号で示されている。これらの図面は、本発明の選択された実施の形態を例示するために提供されるものであって、本発明の範囲を限定することを意図していない。
SimpleScalar又はSMTSIMのようなマイクロアーキテクチャ シミュレータは、マイクロプロセッサのパイプラインを通した命令のフローをシミュレートするアーキテクチャ シミュレータと同様に、マイクロプロセッサのパイプライン及びコントロールロジックのモデルを含んでいる。このシミュレータは、所与のベンチマークを実行するためにどの位多くのクロックが要求されるかを決定し、パイプラインのストール、キャッシュミス、誤推定されたブランチ等のようなイベントに関する統計量を生成する。かかるシミュレータは公知であり、文献で広範囲に議論されている。たとえば、D. Burger及びT. M. Austin“The SimpleScalar Toolset, Version2.0”, Computer Architecture News, Vole25, No.3 Jene 1997, page13−25, 又はD. M. Tullsen, “Simulation and Modeling of a Simultaneous Multithreading Processor”, 22nd Annual Computer Measurement Group Conference, December1996を参照されたい。
これらのシミュレータ及び他のシミュレータは、クロックゲーティング機能の影響を含めて、電力消費量を推定するために増大される場合がある。たとえば、それぞれのクロックインターバルで、シミュレータは、どのユニット及びパイプステージがアクティブ状態にあるか判定する場合がある。このシミュレータは、オン及びオフのそれぞれのユニット/パイプステージのアクティブ状態での電力とアイドル状態の電力を加えることで、クロックの間の全体の電力消費量を計算することができる。それぞれのブロックのアクティブ状態の電力とアイドル状態の電力は、低レベル回路のシミュレーション、回路設計者により提供される推定値、実際の回路に基づく測定値等に基づいている場合がある。
本発明の1実施の形態によれば、プロセッサに伝送される電源電圧は、電力分散回路網の適切な応答関数と組み合わせてプロセッサの該分散回路網の電気モデルを使用して、パワーシミュレータの出力からモデリングされる。
図1は、高性能マイクロプロセッサ向けの電力分散回路網100の電気モデルを示している。このモデルは、パッケージ及び電圧レギュレータのそれぞれにおけるダイ上に、デカップリングキャパシタ110(a)〜110(c)を含んでいる。また、パッケージ、ソケット、プリント回路ボード、及び電圧レギュレータ内の素子に関連する寄生のインダクタンス120(a)〜120(d)及び抵抗130(a)〜130(d)が示されている。マイクロプロセッサは、可変電流シンク140としてモデリングされ、電圧レギュレータの残りの要素は、理想的な電圧源150としてモデリングされる。構成要素の値は、モデリングされる特定のシステムにおける構成要素の代表値として選択されている。かかるモデルの構築は、D. J. Herrell, B. Bekerによる“Modeling of Power Distribution Systems for High−Performance Microprocessors”, IEEE Transaction on Advanced Packaging, Vo.22, Issue3, August 1999, pp.240−248で議論されている。
図2は、25Aの電流ステップ(図示せず)の印加に対する電力分散回路網100のシミュレートされた応答を表している。25Aの保持された電流増加が電力分散回路100に印加され、マイクロプロセッサにより受ける電源電圧の応答(ステップ応答210)がモデリングされる。ステップ応答210は、たとえば、Spice(登録商標)又はこれに匹敵するシミュレーションをネットワーク100で実行することで決定される場合がある。
図2における水平軸は、一連の時間インターバルに分割される。このインターバルは、たとえば、電力分散回路網100により駆動されるプロセッサのクロックサイクルに対応している場合がある。開示されるシミュレーションについて、それぞれのインターバルは、3.3ギガヘルツでクロックされるプロセッサの応答を表すため、0.3ナノ秒(“ns”)のクロックサイクルに対応している。ステップ応答210は、電力分散回路100のインダクタンスとキャパシタンスのため、降下して“上昇している”。このステップ応答210は、電流ステップの開始後の約30クロックで局所的な最小値200に到達する。モデリングされたインターバルを通して、ステップ応答210において、2つの指数的に減衰する正弦波信号を認識することができる。高周波成分は、局所的な最小値220について寄与している。この寄与は、オンチップ コンポーネント110(a)等に関連するRLC共振による場合がある。低周波成分は、第二の局所的な最小値250に寄与している。この寄与は、パッケージング及び/又はコネクタコンポーネント110(b),120(a),130(a)等に関連するRLC共振による場合がある。更に低い周波数成分は、電源のコンポーネントに関連するものであり、モデリングされたインターバルが拡張される場合にはその寄与が明らかになる場合がある。
また、図2には、インパルス応答230が示されている。ここで、インパルス応答230は、0.3ナノ秒の期間の25Aの単一パルスに対する電力分散回路網100の応答を表している。インパルス応答230は、ステップ応答210の一階微分に比例している。このインパルス応答230は、ステップ応答210の隣接サンプル間の差を取ることで、ステップ応答210から計算される場合がある。代替的に、このステップ応答230は、25Aの振幅を有する0.3ナノ秒のパルスに対する回路網100の応答をモデリングすることで直接計算される場合がある。
ステップ応答210及びインパルス応答230は、電気的な刺激に対する電力伝送回路網の振る舞いを特徴付けるために使用される応答関数の例である。
本発明の1実施の形態は、時間を通したその可変の動作機能として、あるプロセッサで見られる電圧を決定するためのメカニズムを提供するものである。この動作は、電流波形又は離散的な電流パルスとして表される場合がある。これらの波形は、電力消費の影響をモデリングするために拡張されているSimpleScalar SMTSIMのようなシミュレータにより提供される場合がある。以下に更に詳細に説明されるように、この動作は、動作しているプロセッサにより提供される場合もある。後者のケースでは、電流の一階微分(di/dt)による誘導電圧の変化を緩和するためのメカニズムが提供される。
開示されるメカニズムは、大まかな近似によれば、電力分散回路網100が線形回路網であるという考察に部分的に依存している。線形システムは、以下の2つの特性により特徴付けされる。1)システムの入力を所定量だけスケーリングすることで(電流ステップ又はパルス振幅)、出力を比例してスケーリングすることができる。2)2つの入力の線形結合をシステムに印加することで、それぞれの入力に応答してシステムで生じる出力の線形結合を個々に取ること(重合せ)と同じ出力を生じる。スケーリング特性は、f(c*x)=c*f(x)として数学的に表される場合がある。ここで、cは定数である。たとえば、図2における入力電流ステップの振幅を2倍の50Aにすることで、局所的な最小値220の深さは、近似的に2倍になる。重合せは、f(x+y)=f(x)+f(y)として数学的に表される場合がある。図2の例では、このことは、第一及び第二の電流インパルスに対する分散回路100の応答は、第一の電流インパルスの印加と第二の電流インパルスの印加の間の遅延を表すインターバルに従い、第一の電流インパルスに対する分散回路網100の応答と第二の電流インパルスに対する分散回路網100の応答とを合計することで適度に近似されることを意味している。
図3は、集積回路の動作プロファイルに対する電力分散回路網の電圧応答を推定するための本発明に係る方法300に関する1実施の形態を表すフローチャートである。本発明によれば、システムの動作プロファイルはステップ310で決定される。この動作プロファイルは、先に説明したように電流波形、電流パルス系列、又はこれらに匹敵するシミュレータ出力である場合がある。プロセッサがシミュレートされる場合、この動作プロファイルは、所与の時間を通した特定のコード系列に応答して、シミュレータ出力として処理される場合がある。たとえば、一連のクロックサイクル(「インターバル」)に関してプロセッサのアクティブ状態のユニット及び非アクティブ状態のユニットにより得られる電流を表す電流パルス系列(クロック当たり1パルス)は、先に説明されたようなやり方で計算される場合がある。実際のプロセッサについて、この動作プロファイルは、たとえば、クロック毎に、その電流消費をモニタすることで提供される場合がある。プロセッサの動作プロファイルを表している電流波形は、電流パルス系列に分解される場合がある。いずれのケースにおいても、ステップ320で、選択されたインターバルでの動作プロファイルは、あるサイズ(電流パルスの振幅)及びオフセット(基準時間に関するインターバル時間)により特徴付けされる。マイクロプロセッサにとって、この選択されたインターバルは、1以上のクロックインターバルに対応する場合がある。以下の説明では、選択されたインターバルでの動作プロファイルをパルスと呼ぶ。
ステップ330で、たとえば、マイクロプロセッサといったデバイスを含んでいるターゲットとなる電力分散回路網のインパルス応答が決定される。本方法300の1実施の形態では、指定されたサイズ及び期間を有する電流ステップをターゲットとなる回路網に印加することがシミュレートされ、このシミュレートされた電圧応答から、インパルス応答が決定される場合がある。代替的に、選択されたクロックインターバルに対応する期間を有する電流インパルスに対する電力伝送回路網の応答は、直接シミュレートされる場合がある。実際のシステムを利用可能である場合、インパルス応答を直接測定することが可能な場合がある。
次いで、ステップ340で、動作プロファイルの電流パルスは、電力回路網のインパルス応答及びフィルタ技術を使用して、電力回路網の電圧応答に変換される。適切なフィルタ技術は、たとえば、畳み込みである有限インパルス応答(FIR)フィルタ、及び無限インパルス応答(IIR)フィルタを含んでいる。
1実施の形態について、FIRフィルタは、その振幅及びオフセットに従い、それぞれの電流パルスをスケーリングしてシフトし、対応するスケーリングされてシフトされたインパルス応答を供給する。次いで、所与のインターバルにおける応答を生成するそれぞれのパルスについてスケーリング/シフトされたインパルス応答は、該インターバルにおける電力回路網の電圧応答を供給するために合計される。その期間を通したパルス系列に対するスケーリング/シフトされた回路網の応答は、動作パルスと回路網の応答関数との畳み込みを表している。
別の実施の形態では、インパルス応答を複製するIIRフィルタの係数が決定される。この係数は、装置で見られる電圧のプロファイルを示すために電流パルスに印加され、再帰的に、該電流パルスから決定された前の電圧に印加される。
図4は、図3と共に説明されるFIR方法に関する概念図である。説明される例では、動作プロファイル400は、振幅A,A,Aのそれぞれを有する電流パルス410,420,430を備えている。電流パルス410,420,430は、たとえば、連続するクロックサイクルでコード系列を実行するプロセッサにより得られる電流を表している場合がある。電流パルス410,420,430は、オフセット時間T,T,T,...で開始される。
説明のために、特定の電流の振幅の基本インパルス応答490は、8つのインターバル(t〜t)を通したインパルス応答系列の振幅R〜Rとして表される。インパルス応答440,450及び460は、振幅(A,A,A,...)によるスケーリング、及びパルス410,420及び430のオフセット(T,T,T,...)によるシフトに従う基本のインパルス応答490(インパルス応答の振幅R〜R)を表している。ここで、Rijは、インパルス応答490の振幅Rが、電流パルスの振幅Aによりスケーリングされたものを表している。基本インパルス応答490により特徴付けされた電力伝送回路網が線形であり、R10=c・A・R,R32=c・A・R、及びRij=c・A・R(スケーリング)であると仮定する。インパルス応答440,450,460をシフトすることで、それらの元の電流パルス410,420,430のそれぞれが始まる異なる時間が反映される。開示される例では、Tは、基準時間として扱われる。電圧波形470は、対応するインターバルt,t,t,...におけるインパルス応答440,450及び460の合計を表している(重合せ)。
たとえば、電圧パルスVは、時間インターバルt(R10)でのインパルス応答440の振幅を表している。電圧応答Vは、時間インターバルtにおけるインパルス応答の振幅R11及びR20の合計を表し、電圧応答Vは、時間インターバルtにおけるインパルス応答の振幅R12,R21及びR31の合計を表している。オフセットT及びTにより示されるシフトにより、インパルス応答440の振幅R10〜R18の振幅に関して、インパルス応答450,460のそれぞれの振幅R20〜R28,及びR30〜R38が配列されている。
一般に、インターバルtでの電圧は、該tで非ゼロの振幅を有する全ての電流パルスのインパルス応答の振幅の総和である。図4に示されるように、電流パルスがある時間Tで始まる場合、インターバルtでのパルスに対する電流パルスの寄与は、c・A・Rn−kに比例する。ここで、Rn−kは、インターバルn−kにおけるインパルス応答490の振幅である。ここで、差は、基準時間Tに関する電流パルスの開始時間に反映される。
図5及び図6には、本発明に係るマイクロプロセッサの電流シミュレーション、及び該電流シミュレーションから導出される電圧応答がそれぞれ示されている。図5は、Santa Clara CaliforniaにあるIntel(登録商標)社のItaniumプロセッサにより消費される電力のシミュレーションを表している。このプロセッサは、Apache webサーバの一部を実行し、2000クロックサイクルのgzipファイル圧縮プログラムを実行してシミュレートされる。電流曲線510は、異なるプログラム実行フェーズを示しており、それぞれのフェーズは、たとえば、1サイクル当たりの命令数(IPC: Instruction Per Cycle)といった効率、及び電流レベルにより特徴付けされている。一般に、非常に多くの命令を並列に実行するクロックサイクル(高いIPC)は、対応する高い電流消費により示されている。これは、より多くのプロセッサのユニットがオンになるためである。逆に、より少ない命令を並列に実行するクロックサイクル(低いIPC)では、殆どのユニットをアクティブ状態にせず、電流消費は相応して低い。シミュレートされたインターバルにわたり、プロセッサの供給電流は、25Aから72Aに変動する。
フェーズ520,530,540は、より高い電力レベルとより低い電力レベルの間で電流レベルが急速かつ再現可能に発振しており、コードループに関連している。コードループは、より多くのIPCレベル及びより少ないIPCレベルで、同じ命令を繰返し実行する。これらのフェーズは、フェーズ524,534,544でインタリーブされており、これらのフェーズ524,534,544では、ループ動作は殆ど見ることができず、よりランダムに電流レベルが変動する。フェーズ524,534,544におけるピーク トゥ ピークの電流変動は、ループフェーズ520,530,540に関連するピーク トゥ ピークの電流変動よりも著しく大きい。
クロックサイクル1200の周辺から始めて、コードセクションがほんの僅かな短いループセグメントを含む拡張されたインターバルが存在する。この領域では、電流消費は、広くかつ予想不可能に変動する。
図6は、図5で反映されるプロセッサの電流消費に対応する電源電圧の変動610に関する本発明に係るシミュレーションを表している。電圧曲線610は、図5の曲線510で示されるイベントを近似的に反映している。たとえば、フェーズ620,630,640は、ループフェーズ520,530,540のそれぞれに対応しており、これらのフェーズでは、ピーク トゥ ピークの電流が規則的に変動している。モデリングされたコード系列及びプロセッサについて、ループフェーズは、比較的高いIPC及び高い電流消費により特徴付けられる。供給電圧レベルは、プロセッサによる増加された電流消費を反映して、フェーズ620,630,640で降下する。クロックサイクル900以下の電圧変動は、比較的穏やかである。しかし、クロックサイクル1152を超えて、電力消費はより不安定であり、電圧スウィングが著しく大きい。これらの電圧変動は、なお、プロセッサにとって許容可能な範囲内に含まれており、Apache/gzip作業負荷は、悪いケースのdi/dtパターンを表していない。
曲線610で明らかな電圧変動は、プロセッサの動作にとって深刻な結果を有している。たとえば、プロセッサを構成するロジック回路は、信頼性高く動作するため、所定の範囲内の電源電圧を必要とする。この範囲外の電圧の往復により、プロセッサにおける計算誤差及び致命的な回路故障を招く。図6に示されるようなシミュレーションにより、プロセッサ設計者は、プロセッサ電圧の様々な電力/パフォーマンスのトレードオフに関する影響を調べることができる。以下により詳細に説明されるように、電圧の往復の範囲を制限するために、実際のシステムの電圧プロファイルに関するリアルタイムの判定が使用される場合がある。
マイクロプロセッサの電力伝送システムは、一般に、実行する可能性のある最悪のケースのソフトウェアのために設計されている。この最悪のケースのソフトウェアは、通常、極端に高いIPCを有するプログラム、又は(最大のdi/dtについて)極端に高いIPCと極端に低いIPCの間で急速に変わるプログラムである。かかるプログラムは、パワーウィルスと呼ばれる、これは、このプログラムが一般のアプリケーションソフトウェア以上に電力伝送システムに負荷を与えるためである。クロックゲーティング機能により、最悪のケースでの電力消費よりはむしろ典型的な電力消費のために設計されているプロセッサは、特定の電力閾値に到達した場合に、そのパフォーマンスを調節することができる。しかし、このクロックゲーティング機能は、電圧へのdi/dtの作用を拡大する。
先に説明された方法により、ダイ上の電力計算、並びにプロセッサ及び他の命令実行装置のためのレギュレーションハードウェアの開発が可能となる。プロセッサの電圧が所定のコード系列によりどのように影響される場合があるかに対する洞察を提供することに加えて、これらのシミュレーションにより、様々なdi/dt緩和策をプレシリコンステージで試験することができる。先に説明されたシミュレーションからの洞察の利益は、di/dt制御を実現するプロセッサ設計を引用することで理解される。1つのかかる実施の形態は、以下に更に詳細に説明される。
図7は、コンピュータシステム700に関する1実施の形態のブロック図であり、ここでは、di/dt制御が実現される。例を通して、コンピュータシステム700は、プロセッサ710、メインメモリ740、不揮発性メモリ750、各種周辺装置760、システムロジック770、及び電源780を含んでいる。システムロジック770は、プロセッサ710、メインメモリ740、不揮発性メモリ750及び周辺装置760の間でのデータ転送を制御する。電源780は、プロセッサ710におけるロジックデバイスのために基準電圧で電力を供給する。コンピュータシステム700は、本発明に関する各種機能を例示するために提供されている。図示されている特定のシステム構成は、本発明を実現するために必ずしも必要なものではない。たとえば、システム700は、多数のプロセッサ710、又は他の命令実行装置を含んでいる場合があり、図示される各種コンポーネントは、全体として結合されるか、又は部分的に除かれる場合がある。パーソナルデジタルアシスタント(PDA)、スマートフォン等のようなシステムは、開示される実施の形態で示されていないデバイス及びコネクションを含んでいる場合がある。
プロセッサ710は、多数のユニット724を含んでおり、これらユニットは、命令実行パイプライン720を形成している。命令は、メインメモリ740、不揮発性メモリ750又は他の記憶装置(図示せず)からプロセッサ710に供給される場合がある。プロセッサ710により消費される電流の量は、パイプライン720における命令(又はそのラック)により各種ユニット724で生成された動作レベルで決定される。電流制御ユニット(CCU)730は、処理された命令に応答して選択されたユニット724による電流の使用をモニタし、これに応じてプロセッサ710の動作レベルを調節する。システム700は、1つのCCU703を含んで示されている。他の実施の形態は、多数のCCU730を使用する場合があり、それぞれは、1以上のユニット724についてdi/dtをローカルに制御する。
命令がパイプライン720に入力したとき、この命令は、該命令を実現する1以上の動作を実行することを各種ユニット724に指示する。たとえば、浮動小数点積和演算命令(FMAC)により、指示されたリソースにおいて以下の動作が行われる。浮動小数点レジスタファイルは、3つのオペランドを読み出す。FMAC実行ユニットは、該オペランドのうちの2つを乗算し、この乗算結果を第三の演算に加える。エクセプションユニットは、エラーについて該乗算結果及び加算結果をチェックし、リタイヤメントユニットは、エラーが検出されない場合に、該結果を浮動小数点レジスタファイルに書き込む。特定のプロセッサの実現に依存して、これらのリソース又はそれらのコンポーネントは、1以上のユニット724にグループ分けされる場合があり、命令がパイプラインに入力されたときにオン又はオフとなる。
それぞれのユニット724は、命令によりアクチベートされたとき、所定量の電流を得る。コンピュータシステム700のため、電源780は、指定された範囲で基準となる電圧レベルを維持しつつ電流を供給する。1以上のユニット724のアクチベーション又はデアクチベーションがプロセッサ710により要求される電流の大幅な変化をトリガする場合、CCU730は、この変化を緩和するために応答する。1実施の形態のCCU730は、プロセッサ710により使用された基準電圧へのdi/dt作用を緩和するために、先に説明されたシミュレーションで例示された振る舞いを利用する。
選択されたユニット724’のアクチベートされた状態/デアクチベートされた状態は、所与のクロックサイクルでプロセッサ710により消費される電流の推定値を供給するためにモニタされる。選択されたユニット724’は、アクティブ状態のときに大きな電流を得る場合がある。これは、これらのユニットが、アクティブ状態と非アクティブ状態の間でスイッチされるとき、di/dtにおける突然の変化を生じる可能性があるためである。CCU730は、選択された期間を通して結果的に生じる電流又は電圧レベルを推定するために、連続したクロックサイクルに関して1以上の選択されたユニット724’の状態をモニタする。この推定されるレベルは、プロセッサの動作レベルを調節すべきかを判定するために1以上の閾値と比較される。たとえば、推定された電圧レベルが第一の閾値以下である場合、パイプライン720を通る命令のフローが低減される場合がある。推定された電圧レベルが第二の閾値よりも大きい場合、さもなければデアクチベートされる場合があるユニット724’をアクチベートされたままにし、電圧レベルの上昇を低減することができる。
1実施の形態のCCU730は、n回の連続するクロックサイクル(サンプル周期)に関して、選択されたユニット724’のアクティブ状態/非アクティブ状態(たとえば、動作状態=1/0)を追跡することで、プロセッサで見られる電圧レベルを推定する。この追跡される状態は、以下に説明されるように、プロセッサ710の動作波形すなわちプロファイルを表すために重み付けされる場合がある。このプロファイルを構成する電流パルスは、システム700の電力伝送回路網に適したインパルス応答を使用して分析され、該プロセッサで見られる電圧のプロファイルを供給する場合がある。この電圧が指定されたレンジ外にある場合、CCU730は、予想される変化を相殺するため、プロセッサ710の動作レベルを変更する場合がある。
1実施の形態のCCU730について、n個の電流パルスのそれぞれの振幅を表す値は、一連の記憶場所に記憶される場合がある。それぞれのエントリで多ビットの振幅値を記憶可能なシフトレジスタがこの目的のために使用される場合がある。以下に更に詳細に説明されるように、エントリ数は、プロセッサで見られる電圧が決定される精度、及び使用されるフィルタアルゴリズムにより部分的に決定される。振幅値が存在するエントリは、サンプリング窓の開始からの対応する電流パルスのずれを表している。
プロセッサで見られる電圧は、周期的に、たとえばそれぞれのクロックサイクルに関して、シフトレジスタのエントリに記憶された電流の振幅(A)から推定される。1実施の形態のCCU730では、電流の振幅は、連続するクロックサイクルに関して、エントリ0からエントリn−1(E〜En−1)にシフトレジスタを通して順次に入力される。したがって、シフトレジスタの内容は、nのクロックサイクルの窓を通して装置の動作レベルのプロファイルに関するスナップショットを供給する。所与の時間で、最も新しい電流パルスの振幅はエントリ0(E)にあり、この電流パルスの振幅は、エントリ0(E)に記憶される振幅値、及び最初のインターバル(R)における回路網のインパルス応答に比例した量だけプロセッサで見られる電圧に寄与する。同様に、次に新しいパルスはエントリ1(E)にあり、この電流パルスの振幅のプロセッサで見られる電圧への寄与は、エントリ1(E)に記憶される振幅値、及び第二のインターバル(R)における回路網のインパルス応答に比例する。
一般に、特定の時間での電圧応答は、以下のように推定される。
Figure 2006504151
すなわち、それぞれのクロックサイクルに関し、対応するインターバルにおけるインパルス応答の振幅により供給される重みを用いて、最後のnクロックサイクルの電流振幅の積和が演算される。
シフトレジスタは、図4と共に説明されたインパルス応答に関するオフセットを提供するために電流パルスの振幅をシフトする。したがって、このシフトレジスタの内容は、スライディングウィンドウを提供し、このウィンドウを通して、プロセッサで見られる電圧レベルの実行プロファイルを推定することができる。要するに、この実施の形態のCCU730は、測定された動作プロファイルをその電力伝送回路網のインパルス応答と畳み込みし、プロセッサで見られる電圧レベルにおける変化を推定する。畳み込みは、有限インパルス応答(FIR)アルゴリズムに関する例である。以下に説明されるように、無限インパルス応答(IIR)アルゴリズムに基づいた電流制御回路が実現される場合もある。
CCU730を使用したシステムの1実施の形態では、パイプライン制御回路(図8A)は、電圧レベルが許容レンジ外にある場合に、電圧レベルの推定される変化を相殺するためにパイプライン動作を調節する。コンピュータシステム700の容量性、誘導性及び抵抗性の特性を反映するために設計されたコンポーネントにより、図2の電源回路網に類似した電源回路網を使用して、インパルス応答がモデリングされる場合がある。代替的に、実際のシステムのインパルス応答が測定される場合がある。
図8Aは、CCU730の1実施の形態に係る、パイプライン720の選択されたユニット724’とCCU730のインタラクションを表すブロック図である。開示される実施の形態に関するCCU730は、ゲートユニット810(1)〜810(n)(一般にゲートユニット810)、モニタユニット820、及びスロットル回路830を含んでいる。それぞれのゲートユニット810は、パイプライン720において関連するユニット724’への電力伝送を制御する。たとえば、ゲートユニット810は、クロックゲーティング回路である場合がある。このクロックゲーティング回路は、ユニット724’が動作するパイプステージに現在ある命令を実現するためにユニット724’のサービスが使用されているか否かに従って、ユニット724’へのクロック信号を結合又は分離する。
また、図8Aに示されるのはパイプライン制御回路850であり、このパイプライン制御回路850は、現在実行されている命令についてどのユニット724’がアクティブ状態にあるかをゲートユニット810に指示する。
開示される実施の形態のCCU730では、ゲートユニット810は、その関連するユニットがアクティブ状態であるかを示すため、モニタ回路820に信号を供給する。この信号は、ユニット724’の動作状態を示し、このユニット724’が「オン」になったときにアサート(asserted)され、「オフ」になったときにデ アサート(deasserted)される。典型的なプロセッサは、10〜20のユニット724’への電力伝送を制御するために、10〜20のゲートユニット810を含んでいる。全てのユニットは、電流変化についてモニタされる場合があり、ユニットのサブセットがモニタされる場合がある。たとえば、大量の電流を消費する、たとえば724’のユニットのみがモニタされる場合がある。先に述べたように、多数のCCU730が使用されて、多数のユニット又はユニットのグループがモニタされる場合がある。
モニタ回路820は、サンプリングウィンドウを通して、ゲートユニット810からの信号を収集し、この収集された信号に基づいてプロセッサ710で受ける電圧を推定する。開示される実施の形態のモニタ回路820は、電流計算ユニット(ICU)812、電流−電圧計算ユニット(IVCU)814、及び閾値比較ユニット(TCU)816を含んでいる。以下に更に詳細に説明されるように、ICU812は、連続するクロックサイクルで消費される電流の推定値を供給する。IVCU814は、たとえば、プロセッサ710である装置で見られる電圧の推定値を生成するため、推定された電流値にフィルタアルゴリズムを適用する。TCU816は、この推定された電圧値を1以上の閾値と比較し、スロットル回路830は、比較により指示された場合は、プロセッサ710の動作レベルを調節する。
開示される実施の形態のCCU730では、ICU812は、ウェイトユニット814(1)〜814(n)(一般にウェイトユニット814)及び加算器822を含んでいる。存在するとき、それぞれのウェイトユニット814は、その関連するユニット724’のゲーティング回路810により示される動作状態がそれぞれ非アクティブ状態にあるか、アクティブ状態にあるかに従い第一又は第二の値を加算器822に供給する。この第一の値は、アクチベートされていない場合にユニット724’で得られる電流を表しており、第二の値は、アクチベートされたときにユニット724’で得られる電流を表している。加算器822は、ウェイトユニット814により供給される値を合計し、この合計値をプロセッサ710のモニタされるユニット724’により連続するクロックサイクルのそれぞれで得られる電流パルスの推定値として出力する。CCU730が単一のユニット724’を制御する場合には、加算器822、及び可能であればウェイトユニット814を除くことができる。また、モニタされるユニット724’で得られる電流が大まかに匹敵するものであれば、ウェイトユニット814を除くことができる。
IVCU814は、フィルタアルゴリズムをICU812により供給される電流パルスに適用し、プロセッサ710で受ける電圧の推定値を生成し、TCU816は、推定された電圧と1以上の閾値と比較する。
1実施の形態のモニタ回路820では、低い方の電圧閾値よりも低い推定された電圧値は、電力伝送回路網が供給することができる電流よりも更に多くの電流をプロセッサ710が得る場合があること示している。これらの状況の下では、スロットル回路830は、さもなければアクチベートされる幾つかのユニットをデアクチベートする場合がある。たとえば、スロットル回路830は、プロセッサ710における取出し(fetch)ユニット(図示せず)に対して、パイプライン720に演算を実行させない(NOP: no−operation)場合がある。NOPは、ユニットがあってもアクチベーションを必要としない本質的に空白の命令である。これらの状況下では、パフォーマンスが低下する。これは、NOP(生産性のない命令)がパイプライン720を通過する間に、生産性のある命令が遅延されるためである。また、NOPがあるとしてもユニットをアクチベートしないため、電力消費も低減される。
他方で、推定された電圧は、プロセッサ710が利用中であって、ほとんどのユニットがアクチベートされていないとき、高い方の電圧閾値を超える場合がある。このケースでは、スロットル回路830は、たとえば、パイプライン720に現在ある命令により、さもなければ使用されていないユニット724’をアクチベートする、たとえば、該ユニット724’に駆動電流を供給する場合がある。たとえば、スロットル回路830は、使用されていないユニット724’にクロック信号を伝送し続け、対応する命令がない場合にもかかわらず、それらの回路を充電及び放電させる場合がある。これにより、現在実行されている命令により必要とされる時間を通してプロセッサ710により消散された電力が増加する。しかし、プロセッサのパフォーマンスには直接の影響はない。
図8Bは、先に説明された積和演算の電圧推定アルゴリズム(FIR)を実現するために適したIVCU81に関する実施の形態のブロック図である。実施の形態のTCU816もまた示されている。開示される実施の形態のIVCU814は、n個のエントリをもつシフトレジスタ824を含んでおり、加算器826は、その入力信号をn個のウェイトユニット850(0)〜850(n−1)(一般にウェイトユニット850)を通して受ける。シフトレジスタ824は、そのエントリにおいてn回の連続するクロックサイクルの電流の振幅(A,...,An−1)を記憶する。ウェイトユニット850(0)〜850(n−1)は、関心のある電力伝送システムのインパルス応答の対応するインターバルの振幅に比例して、シフトレジスタ824からのそれぞれの入力(A,...,An−1)をスケーリングする。開示される実施の形態の加算器840は、式1の積和演算を実現する。すなわち、加算器840は、nの動作状態を電源780及びプロセッサ710を含んでいる電力伝送回路網のインパルス応答と効果的に畳み込みを行う。
加算器840の出力は、プロセッサ710の電流動作レベルに対する電源回路網784の推定される電圧応答を表している。図8Bでは、高い方の閾値及び低い方の閾値のそれぞれとの比較のために、閾値コンパレータ816のコンパレータ860(a)及び860(b)にVが供給される。コンパレータ860(b)は、Vが低い方の閾値よりも下回ったかを判定し、電流消費がある場合には電流消費を低減するようにスロットル回路830に指示する。電流消費は、クロックを直接遮断することで低減される場合があり、命令取出し又は発生レート(issue rate)を低減し、又は幾つかの他の電流節約手順をトリガすることができる。
コンパレータ860(a)は、Vが高い方の電圧閾値を越えたかを判定し、電流の消費を増加するように(又は、少なくともその電流レベルで維持するように)スロットル回路に指示する。たとえば、スロットル回路は、さもなければクロックされるユニットを強制的にゲートオフすることで、電流の消費量を増加するか、又は、クロックゲーティング機能が更なるユニットを遮断することを防止することで電力を維持する場合がある。
高い方の閾値と低い方の閾値の間で、装置、たとえばプロセッサ710は、正常に実行することが許容される。電圧計算、閾値比較、及び(必要であれば)電流調整は、必要とされる制御の粒状度、計算リソース及び他の要素に依存して、クロック毎に、又はmクロック毎に実行される場合がある。適切なレートでVを推定するために必要とされる計算リソースがプロセッサのダイに収容できることを仮定して、電源電圧のリアルタイム制御がイネーブルにされる。
図8Cは、IIRすなわち再帰型フィルタを実現するのに適したIVCU814に関する実施の形態のブロック図である。IIRフィルタは、新たなフィルタ出力(たとえば、電流電圧推定値)を決定するための入力信号(たとえば、ICU816からの電流)に加えて、予め計算されたフィルタ出力(たとえば、加算器840からの前の電圧推定値)を使用する。IIRフィルタは、たとえば、Steven W. Smith, “The Scientists and Engineers Guide to Digital Signal Processing” California Technical Publishing ISBN 0−966176/3−3 (1997)で更に詳細に説明されている。一般に、IIRすなわち再帰型フィルタは、入力信号と前に計算された出力との線形結合から出力を決定する。後者は、再帰要素を与える。IIRフィルタ関数は、以下のように表される場合がある。
Figure 2006504151
ここで、a〜aは、p個の電流の振幅Aに適用される係数を表しており、b〜bは、m個の前の電圧推定値Vに適用される係数を表している。一般に、最後のp番目の電流値が追跡される場合、p−1番目の推定された電圧が追跡のために利用可能であり、m=p−1である。係数{a}及び{b}は、電力伝送回路網のインパルス応答又はステップ応答(図2)へのカーブフィッティングにより決定される場合がある。
開示される実施の形態のIVCU814’は、pエントリのシフトレジスタ824、加算器826及びウェイトユニット850(1)〜850(p)に加えて、第二のシフトレジスタ828及びウェイトユニット854(1)〜854(p−1)を含んでいる。シフトレジスタ824は、一連のp個の電流振幅値を記憶し、シフトレジスタ828は、一連の先行するp−1個の推定された電圧を記憶する。後者は、IVCU814の再帰入力を供給するために加算器826にフィードバックされる。
IVCU814’は、ステップ関数210又はインパルス応答230が1つの減衰する正弦波の寄与により支配される場合に、プロセッサ710で受ける電圧の推定値を供給するために、電流信号をフィルタリングするのに適している。電力伝送回路網の応答に対する複数の減衰する正弦波の寄与がある場合に電圧推定値を生成するために、複数のIVCU814が使用される場合がある。それぞれの正弦波の寄与は、それ自身の係数のセット{a}及び{b}により特徴付けられる。図8Dは、IVCU814’’を示しており、ここでは、k個のフィルタの結果が並列に結合され、プロセッサ710で受ける電圧の推定値が供給される。図8Eは、IVCU814’’’を示しており、ここでは、k個のフィルタの結果が直列に結合され、プロセッサ710で受ける電圧の推定値が供給される。いずれの構成であっても、複数の共振ソースに関するIIRフィルタの結果を結合するために使用される場合がある。
図8Aに示されるように、CCU730は、フィードバックループを含んでいる。これは、ユニット724’を強制的にオン又はオフにする動作によって、計算された供給電流及び電圧に影響を及ぼすためである。これらは、CCU730の後続する振る舞いに順次影響を及ぼす。IIRフィルタ(図8C〜図8E)にとって、再帰成分は、IVCU824内での更なるフィードバックループを提供する。
図9及び図10には、CCU730の電流及び電源電圧への影響に関するフィードバックがそれぞれ示されている。図5及び図6を比較して、CCU730により供給されるdi/dt制御は、最大電流レベルと最小電流レベルの両者に対して、鋭い1クロックのスパイクを導入している。このスパイクは、予め決定されたレンジ外にある計算された電圧に応答してCCU730が強制的にクロックをオン又はオフにした結果である。このスパイクにもかかわらず、電源電圧におけるピーク トゥ ピークの変動は、制御されないケースよりも小さい。これは、CCU730は、その設計により、電源分散回路網におけるRLC共振回路の励磁を防止するために電流を規制するためである。
図9及び図10の結果は、300クロックサイクル以上にわたって広がるフルレンジのインパルス応答230(図2)に適用されるFIRアルゴリズムを使用してシミュレーションされる。CCU730にとって、このことは、シフトレジスタ824、ウェイト850及び加算器826を相応したサイズ(n>300)で使用することになる。今日の高性能プロセッサで利用可能な回路密度であっても、1クロックサイクル又は数クロックサイクルにおいて、300クロックのインターバルにわたってインパルス応答を電流パルスと畳み込み可能なモニタ回路820を実現することは実用的ではない。
このシミュレーション結果は、有効な結果を提供するために図2の300クロックサイクルのインターバルが必ずしも必要ではないことを示している。たとえば、図2において、インパルス応答230の最も大きな変動、たとえば局所的な最大値240は、電流パルスの開始後の約25クロックサイクルで生じている。このことは、CCU730が電流パルスとインパルス応答を更に短いインターバルにわたって畳み込みを行い、電力伝送回路網の電圧応答に対する適度な近似を与えることを示している。以下に更に詳細に説明されるように、モニタ回路826は、25又は30といった小さなnで実現される場合がある。
本発明の1実施の形態では、パフォーマンスと電圧の安定性の間のトレードオフを異なる畳み込みのインターバルについてシミュレーションすることができる。CCU730がdi/dtを緩和する動作をトリガする電圧閾値を変更することで、異なるパフォーマンスのレベルが試験される場合がある。たとえば、CCU730が、たとえばNOPの注入といった動作を低減する動作を開始する低い方の電圧閾値を低く場合、プロセッサ710は、より大きな電圧変動にその回路をさらすが、より広い電圧レンジにわたってフルパフォーマンスでの動作を継続する。CCU730が、該動作を低減する動作を開始する低い方の電圧閾値を上げることは、プロセッサ710がフルパフォーマンスで動作することが許容される電圧レンジを狭くする。全体として、パフォーマンスは低減されるが、プロセッサ710は、より安定した供給電圧を受ける。
図11は、3つの異なるインターバルについて、システム700の電力伝送回路網のピーク トゥ ピークの電圧変動−パフォーマンスに関するシミュレーションを表している。図11から明らかなように、25のクロックサイクルのインターバル(曲線1110)、43のクロックサイクルのインターバル(曲線1120)及び350のクロックサイクルのインターバル(曲線1130)のシミュレーションにより生成された結果には殆ど差がない。それぞれの例では、5%以下のパフォーマンスの低下で、ピーク トゥ ピークの電圧変動が約1mVに制限される場合がある。
図12は、3つの異なる畳み込みのインターバルについて、システム700の電力伝送回路網のピーク トゥ ピークの電圧変動−消散電力に関するシミュレーションを表している。これらの結果は、3つのインターバルについて匹敵している。実際のdi/dt制御を提供するためには、25のインターバルで十分である。
CCU730の遅延は、di/dtのスウィングに関連する電圧変動の制御の効率に重要な影響を有する。たとえば、図2から明らかなように、ステップ応答210及びインパルス応答230のそれぞれにおける大きな電圧変動は、電流が変化する最初の数インターバル内で生じている。結果的に、たとえば、1又は2サイクルといった低い遅延に応答するために、有効なCCU730が設計される。図13及び図14は、1〜4クロックサイクルの遅延を有するCCUのパフォーマンス及び電力へのピーク トゥ ピークの電圧変動の依存性を表している。これらの図から明らかなように、di/dt制御の多くの利益が2クロックサイクル以上の遅延では消えている。
開示される実施の形態のCCU730では、遅延の主な原因は、ICU812及びIVCU814である。FIRベースのフィルタについて先に説明したように、モニタされたインターバルのサイズを低減することは役に立つ。この点に関して、IIRベースのフィルタは、所与の遅延について良好な結果を提供する可能性がある。たとえば、装置で見られる電圧の適度な推定値は、二次のIIRフィルタを使用して得られることをシミュレーションが示している。二次のフィルタは、3つの電流係数(a,a,a)及び2つの電圧係数(b,b)のみを使用する。これは、FIRフィルタ814’により使用される25の係数に勝るものである。
遅延を低減するために他の方策が適用される場合もある。たとえば、実行パイプラインにおいて後ろのブロックの電流消費は、前のステージで予め計算される。必要であれば、2つの計算を先のステージで実行し、関連するユニットがアクティブ状態であるか非アクティブ状態であるかに従って一方の計算が後に選択される。さらに、開示される実施の形態のモニタ回路820では、インパルス応答の最初の要素のみが1サイクル遅延で計算される必要がある。第二の要素は2サイクルをとり、第三の要素は、3サイクルをとる等とする場合がある。
また、遅延の制約は、たとえばプロセッサである1つの集約されたCCUが、分散/ローカルなやり方でdi/dtを制御するのと同じ利益を提供しないことを示している。たとえば、ローカルのCCUは、その割り当てられたユニットにおける電流変動に高速に応答するために該ローカルのCCUがその動作を制御するユニットに沿って構築することができる。集約化されたCCUは、チップにわたり分散されたユニットからのデータを待つ必要がある。ローカルのCCUがプロセッサ内の異なるパイプラインに接続される場合、パイプライン間でやり取りされるデータが失われないことを保証するために、パイプライン間の幾つかの通信が必要となる。たとえば、そのCCUにより瞬間的に停止される他方のパイプラインに向けられた一方のパイプラインからデータをバッファリングするために、パイプライン間に問合せが追加される場合がある。
以上により、電力伝送回路網における装置により受ける電圧をシミュレーションするためのメカニズムが提供された。このメカニズムは、この電圧におけるdi/dtにより誘導される変動を緩和するための各種方策に関する効力を調べるために使用される。本発明の1実施の形態では、インパルス応答は、電力伝送回路網について決定され、該回路網により電力供給される装置の動作プロファイルが動作中にモニタされる。次いで、この動作プロファイルは、インパルス応答と畳み込みされ、該装置での電圧に関するプロファイルを提供する。
この実施の形態及び他の実施の形態は、本発明の様々な機能を例示するために提供されたが、クロックゲーティング機能を利用し、他の理由のためにdi/dt変動を受けるコンピュータ及び他のプロセッサベースのシステムのような電子システムをモデリングすることに有効な場合がある。当業者及びこの開示の利益を有するものであれば、特許請求の範囲の精神及び範囲に含まれる、開示される実施の形態の変更及び変形を認識されるであろう。
プロセッサとの使用に適した電力分散回路網を表す電気モデルに関する回路図である。 図1の電力分散回路網のステップ応答及びインパルス応答を表す図である。 集積回路における電圧変動をシミュレートするための本発明に係る方法に関する1実施の形態を表すフローチャートである。 図3で示される方法に関する概念図である。 約2000クロックサイクルにわたりコードブロックを実行するプロセッサのためのパワーシミュレータの出力を表す図である。 本発明に係るシミュレータを使用して決定される、同じインターバルにわたり図5でシミュレートされたプロセッサの電源電圧を表す図である。 di/dt制御メカニズムを採用したコンピュータシステムに関する1実施の形態を表すブロック図である。 本発明に係るdi/dtコントローラに関する1実施の形態のブロック図である。 図8Aの電圧−電圧計算ユニットに関する実施の形態のブロック図である。 図8Aの電圧−電圧計算ユニットに関する実施の形態のブロック図である。 図8Aの電圧−電圧計算ユニットに関する実施の形態のブロック図である。 図8Aの電圧−電圧計算ユニットに関する実施の形態のブロック図である。 図8Aの電流制御ユニットの制御下で動作する図7のプロセッサの出力電力のシミュレーションを表す図である。 同じインターバルにわたり図8Aでシミュレートされたプロセッサの電源電圧の変動を表す図である。 トランケートされたコンボリューションのインターバルを使用して決定されたときの、電源電圧の変動−電力に関するシミュレーションを表す図である。 トランケートされたコンボリューションのインターバルを使用して決定されたときの、電源電圧の変動−パフォーマンスに関するシミュレーションを表す図である。

Claims (25)

  1. 応答関数により特徴付けられ、指定された電圧レンジで電力を供給する電力伝送回路網と、
    該回路網から電力を得る装置とを備え、
    該装置は、
    連続するクロックサイクルで該装置により得られる一連の電流の振幅を表す値を記憶する第一のシフトレジスタと、
    該電力伝送回路網の該応答関数を反映するために重み付けされる入力を有し、該一連の電流の振幅の値に関する積和を演算して該装置に供給される電圧を推定する加算器と、
    を含むシステム。
  2. 該装置は、該推定された電圧を電圧閾値と比較する電圧比較器をさらに備える、
    請求項1記載のシステム。
  3. 該推定された電圧が該電圧閾値に到達するのに応じて該装置の動作を調節するスロットルユニットをさらに備える、
    請求項2記載のシステム。
  4. 該装置はプロセッサであり、該プロセッサは、
    命令を処理する1以上のユニットを含む実行パイプラインと、
    該実行パイプラインに命令を伝達する取出しユニットと、
    現在実行している命令によるユニットの使用に応答して、該1以上のユニットへの電力の伝送を制御するクロックゲーティングユニットと、
    をさらに備える請求項3記載のシステム。
  5. 該スロットルユニットは、該推定された電圧が高い方の電圧閾値を超えるのに応答して、該クロックゲーティングユニットが該1以上のユニットへの電力をゲートオフするのを防止する、
    請求項4記載のシステム。
  6. 該スロットルユニットは、該推定された電圧が低い方の閾値を下回るのに応答して、低減されたレートで該実行パイプラインに命令を伝達するように該取出しユニットに指示する、
    請求項4記載のシステム。
  7. 該電力伝送回路網の応答関数は、n個の応答関数の振幅により表され、該加算器の重み付けされた入力は、該n個の応答関数の振幅に比例して重み付けされるn個の入力を備える、
    請求項1記載のシステム。
  8. 該電力伝送回路網の応答関数は、一組の再帰係数により表され、該加算器の重み付けされた入力は、該再帰係数に比例して重み付けされる、
    請求項1記載のシステム。
  9. 該装置は、該加算器により供給された一連の推定された電圧を追跡し、該一連の推定された電圧を該加算器の選択された入力にフィードバックする第二のシフトレジスタをさらに備える、
    請求項8記載のシステム。
  10. 該再帰係数は、一組の電流係数と一組の電圧係数を含む、
    請求項9記載のシステム。
  11. 該加算器の入力は、第一のシフトレジスタの出力に接続される第一の組の入力と第二のシフトレジスタの出力に接続される第二の組の入力とを含み、該第一の組の入力は、電流係数に比例して重み付けされ、該第二の組の入力は、電圧係数に比例して重み付けされる、
    請求項1記載のシステム。
  12. 応答関数により特徴付けられ、指定された電圧レンジで電力を供給する電力伝送回路網と、
    命令を実行し、実行する命令に応答して該回路網から電力を得るプロセッサコアと、
    該プロセッサコアで見られる電圧を推定するためのモニタユニットとを備え、
    該モニタユニットは、
    連続するクロックサイクルで該プロセッサコアにより得られた一連の電流値を追跡する電流計算ユニットと、
    該プロセッサコアで見られる推定される電圧を供給するために、該応答関数に従って該一連の電流値をフィルタリングする電流−電圧計算ユニットと、
    を含むシステム。
  13. 該モニタユニットは、
    該推定された電圧が指定されたレンジ内にあるかを判定する閾値コンパレータと、
    該推定された電圧が該指定されたレンジ内にないことに応答して該プロセッサコアの動作を調節するスロットルユニットと、
    をさらに備える請求項12記載のシステム。
  14. 該プロセッサコアは、1以上の命令に応答して選択的にアクチベートされる複数のパイプラインユニットを含み、該複数のパイプラインユニットのそれぞれは、該パイプラインユニットが所与のクロックサイクルでアクチベートされた場合に、該パイプラインユニットに電流信号を供給するための関連するゲートユニットを有する、
    請求項13記載のシステム。
  15. 該電流計算ユニットは、一連のクロックサイクルの間の電流値を記憶する一連の入力を有するシフトレジスタを含み、記憶された電流値は、該一連のクロックサイクルのそれぞれで該パイプラインに供給される電流信号の総和を表す、
    請求項14記載のシステム。
  16. 該電流計算ユニットは、m回のインターバルで該プロセッサコアにより得られる電流振幅を推定するための加算器と、推定された電流振幅を記憶するmエントリのシフトレジスタを含む、
    請求項12記載のシステム。
  17. 該電流−電圧計算ユニットは、m入力を有する加算器を含み、それぞれの入力は、電力伝送回路網の応答関数に従って重み付けされ、該加算器は、該第一のシフトレジスタにより供給されたm個の電流振幅の積和として、該プロセッサコアで見られる電圧を推定する、
    請求項16記載のシステム。
  18. 該応答関数は、該電力伝送回路網のインパルス関数であり、該加算器のm入力は、m回のインターバルでの該インパルス関数の振幅に比例して重み付けされる、
    請求項17記載のシステム。
  19. 該加算器により供給される一連のp個の推定された電圧を記憶し、p個の推定された電圧を該加算器の入力にフィードバックする第二のシフトレジスタをさらに備える、
    請求項17記載のシステム。
  20. 該mエントリのシフトレジスタに接続される該加算器の入力は、該電力伝送回路網の応答関数から導出された第一の組の再帰係数に比例して重み付けされ、該pエントリのシフトレジスタに接続される該加算器の入力は、該応答関数から導出された第二の組の再帰係数に比例して重み付けされる、
    請求項19記載のシステム。
  21. n回の連続するインターバルで電流の振幅を表す値を記憶するためのnエントリを有するシフトレジスタと、
    それぞれのウェイトユニットが該シフトレジスタの対応する入力からの電流振幅の値をスケーリングするn個のウェイトユニットと、
    推定された電圧を供給するために該ウェイトユニットからのスケーリングされた電流振幅を合計する加算器と、
    を備える装置。
  22. クロック信号に応答して、1以上の回路からの電流振幅を合計し、合計を該シフトレジスタの第一の入力に供給する第二の加算器をさらに備える、
    請求項21記載の装置。
  23. 該ウェイトユニットのそれぞれは、装置が動作するシステムの応答関数を表す値を記憶する、
    請求項22記載の装置。
  24. 該n入力の加算器は、p個の更なる入力を含み、該装置は、n+p入力の加算器により供給された一連の推定された電圧を記憶し、該推定された電圧を該加算器のp個の重み付けされた入力にフィードバックするp個のエントリを有する第二のシフトレジスタをさらに備える、
    請求項23記載の装置。
  25. 該加算器の更なるn個の入力とp個の入力は、該応答関数から導出された電流及び電圧の再帰係数に従って重み付けされる、
    請求項23記載の装置。
JP2003558662A 2001-12-28 2002-12-11 電流変化により誘導される電源電圧の変動を推定して制御するためのメカニズム Expired - Fee Related JP3996127B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/040,582 US7035785B2 (en) 2001-12-28 2001-12-28 Mechanism for estimating and controlling di/dt-induced power supply voltage variations
PCT/US2002/039785 WO2003058415A2 (en) 2001-12-28 2002-12-11 Power supply control system

Publications (2)

Publication Number Publication Date
JP2006504151A true JP2006504151A (ja) 2006-02-02
JP3996127B2 JP3996127B2 (ja) 2007-10-24

Family

ID=21911762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003558662A Expired - Fee Related JP3996127B2 (ja) 2001-12-28 2002-12-11 電流変化により誘導される電源電圧の変動を推定して制御するためのメカニズム

Country Status (9)

Country Link
US (3) US7035785B2 (ja)
JP (1) JP3996127B2 (ja)
KR (1) KR100806423B1 (ja)
CN (2) CN101539795B (ja)
AU (1) AU2002364556A1 (ja)
DE (1) DE10297598B4 (ja)
GB (1) GB2400459B (ja)
MY (1) MY136359A (ja)
WO (1) WO2003058415A2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281718B2 (en) * 2004-06-28 2016-03-08 Broadcom Corporation On-board power supply monitor and power control system
US7249331B2 (en) * 2004-10-07 2007-07-24 International Business Machines Corporation Architectural level throughput based power modeling methodology and apparatus for pervasively clock-gated processor cores
EP1886240A2 (en) * 2005-06-03 2008-02-13 Quickturn Design Systems, Inc. System and method for analyzing power consumption of electronic design undergoing emulation or hardware based on simulation acceleration
DE102005027691B4 (de) * 2005-06-15 2007-11-08 Infineon Technologies Ag Schaltanordnung zur Aktivierung eines Schaltungsblocks und Verfahren hierzu
US20070044046A1 (en) * 2005-08-22 2007-02-22 Faour Fouad A Method for providing a current sink model for an asic
US7397228B2 (en) * 2006-01-12 2008-07-08 International Business Machines Corporation Programmable on-chip sense line
US7480810B2 (en) * 2006-02-14 2009-01-20 International Business Machines Corporation Voltage droop dynamic recovery
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
US7467050B2 (en) * 2006-05-30 2008-12-16 International Business Machines Corporation Method for detecting noise events in systems with time variable operating points
US7607028B2 (en) * 2006-05-30 2009-10-20 International Business Machines Corporation Mitigate power supply noise response by throttling execution units based upon voltage sensing
KR100852188B1 (ko) * 2007-02-27 2008-08-13 삼성전자주식회사 동적 전압 스케일링 시스템 및 방법
EP2130106B1 (en) * 2007-03-28 2018-11-14 Nytell Software LLC Electronic device and method determining a workload of an electronic device
US8244515B2 (en) * 2007-08-21 2012-08-14 International Business Machines Corporation Structure for detecting clock gating opportunities in a pipelined electronic circuit design
US8073669B2 (en) * 2007-08-21 2011-12-06 International Business Machines Corporation Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design
US7720621B2 (en) * 2007-08-30 2010-05-18 International Business Machines Corporation Application of multiple voltage droop detection
US7599808B2 (en) * 2007-08-31 2009-10-06 International Business Machines Corporation Application of multiple voltage droop detection and instruction throttling instances with customized thresholds across a semiconductor chip
US7818599B2 (en) * 2007-10-09 2010-10-19 International Business Machines Corporation Statistical switched capacitor droop sensor for application in power distribution noise mitigation
US8085024B2 (en) * 2008-04-29 2011-12-27 Exar Corporation Self-tuning digital current estimator for low-power switching converters
US20090281922A1 (en) * 2008-05-12 2009-11-12 Childress Rhonda L Method and system for selecting clothing items according to predetermined criteria
US8825464B2 (en) * 2008-09-02 2014-09-02 Oracle America, Inc. Method and apparatus for parallelization of sequential power simulation
CN102541130A (zh) * 2010-12-29 2012-07-04 鸿富锦精密工业(深圳)有限公司 Cpu工作电压控制系统及控制方法
US20120210151A1 (en) * 2011-02-11 2012-08-16 Mediatek Inc. Communication systems
US8429590B2 (en) * 2011-07-18 2013-04-23 International Business Machines Corporation System-level method for reducing power supply noise in an electronic system
JP5880962B2 (ja) * 2012-06-12 2016-03-09 ソニー株式会社 電子装置、計算方法、プログラム、および情報処理装置
US20140074449A1 (en) * 2012-09-07 2014-03-13 Lsi Corporation Scalable power model calibration
US9542517B2 (en) * 2012-12-31 2017-01-10 Taiwan Semiconductor Manufacturing Co., Ltd. Techniques for fast resonance convergence
EP2974289B1 (en) * 2013-03-15 2019-05-08 Robert Bosch GmbH Conference system and process for operating the conference system
US9400295B2 (en) * 2013-05-09 2016-07-26 Qualcomm Incorporated Method and devices for non-intrusive power monitoring
US9342136B2 (en) * 2013-12-28 2016-05-17 Samsung Electronics Co., Ltd. Dynamic thermal budget allocation for multi-processor systems
KR20170013040A (ko) * 2015-07-27 2017-02-06 에스케이하이닉스 주식회사 버퍼, 반도체 장치 및 이를 이용한 반도체 시스템
KR20170025894A (ko) 2015-08-31 2017-03-08 에스케이하이닉스 주식회사 등화 회로, 반도체 장치 및 이를 이용한 반도체 시스템
US10234920B2 (en) 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US10719320B2 (en) 2017-07-31 2020-07-21 Intel Corporation Power noise injection to control rate of change of current
US10860051B2 (en) 2018-09-10 2020-12-08 Qualcomm Incorporated Proactive clock gating system to mitigate supply voltage droops
US11809549B2 (en) * 2019-12-27 2023-11-07 Intel Corporation Apparatus and method for power virus protection in a processor
US11556342B1 (en) * 2020-09-24 2023-01-17 Amazon Technologies, Inc. Configurable delay insertion in compiled instructions
CN113899963A (zh) * 2021-08-30 2022-01-07 科华数据股份有限公司 交流系统晃电检测方法、装置及终端设备
CN113655994B (zh) * 2021-10-21 2022-02-18 北京壁仞科技开发有限公司 多核处理器的电流变化斜率控制方法、控制设备和介质
US20240094794A1 (en) * 2022-09-09 2024-03-21 SambaNova Systems, Inc. Integrated circuit that mitigates inductive-induced voltage droop using compute unit group identifiers

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583111A (en) * 1983-09-09 1986-04-15 Fairchild Semiconductor Corporation Integrated circuit chip wiring arrangement providing reduced circuit inductance and controlled voltage gradients
US5442370A (en) * 1987-08-13 1995-08-15 Seiko Epson Corporation System for driving a liquid crystal display device
KR0130159B1 (ko) * 1994-10-28 1998-04-09 배순훈 모니터의 수평 출력 트랜지스터의 보호장치
US5872952A (en) * 1995-04-17 1999-02-16 Synopsys, Inc. Integrated circuit power net analysis through simulation
US6130602A (en) * 1996-05-13 2000-10-10 Micron Technology, Inc. Radio frequency data communications device
US5948106A (en) * 1997-06-25 1999-09-07 Sun Microsystems, Inc. System for thermal overload detection and prevention for an integrated circuit processor
US6532439B2 (en) * 1998-06-18 2003-03-11 Sun Microsystems, Inc. Method for determining the desired decoupling components for power distribution systems
US6304978B1 (en) * 1998-11-24 2001-10-16 Intel Corporation Method and apparatus for control of the rate of change of current consumption of an electronic component
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
US6937971B1 (en) * 1999-07-30 2005-08-30 Sun Microsystems, Inc. System and method for determining the desired decoupling components for a power distribution system having a voltage regulator module
US6564328B1 (en) 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6304972B1 (en) * 2000-01-03 2001-10-16 Massachusetts Institute Of Technology Secure software system and related techniques
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
US6549867B1 (en) * 2000-05-26 2003-04-15 Intel Corporation Power supply feed-forward compensation technique
US6636976B1 (en) 2000-06-30 2003-10-21 Intel Corporation Mechanism to control di/dt for a microprocessor
US6536024B1 (en) * 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees
US6735706B2 (en) * 2000-12-06 2004-05-11 Lattice Semiconductor Corporation Programmable power management system and method
US6523154B2 (en) * 2000-12-14 2003-02-18 International Business Machines Corporation Method for supply voltage drop analysis during placement phase of chip design
US6819538B2 (en) * 2001-05-15 2004-11-16 Freescale Semiconductor, Inc. Method and apparatus for controlling current demand in an integrated circuit
US7020590B2 (en) * 2001-12-28 2006-03-28 Intel Corporation Simulation of di/dt-induced power supply voltage variation

Also Published As

Publication number Publication date
DE10297598T5 (de) 2005-01-13
US7742910B2 (en) 2010-06-22
GB2400459B (en) 2005-09-14
CN101539795B (zh) 2013-02-06
GB0414214D0 (en) 2004-07-28
US7236920B2 (en) 2007-06-26
US20030125922A1 (en) 2003-07-03
AU2002364556A8 (en) 2003-07-24
JP3996127B2 (ja) 2007-10-24
DE10297598B4 (de) 2009-06-10
WO2003058415A3 (en) 2004-09-30
US7035785B2 (en) 2006-04-25
US20070225959A1 (en) 2007-09-27
CN101539795A (zh) 2009-09-23
WO2003058415A2 (en) 2003-07-17
KR100806423B1 (ko) 2008-02-21
MY136359A (en) 2008-09-30
GB2400459A (en) 2004-10-13
US20060100840A1 (en) 2006-05-11
CN100489734C (zh) 2009-05-20
KR20040072686A (ko) 2004-08-18
AU2002364556A1 (en) 2003-07-24
CN1739079A (zh) 2006-02-22

Similar Documents

Publication Publication Date Title
JP3996127B2 (ja) 電流変化により誘導される電源電圧の変動を推定して制御するためのメカニズム
Grochowski et al. Microarchitectural simulation and control of di/dt-induced power supply voltage variation
Gupta et al. Understanding voltage variations in chip multiprocessors using a distributed power-delivery network
Huang et al. A framework for dynamic energy efficiency and temperature management
Schmitz et al. System-level design techniques for energy-efficient embedded systems
Coskun et al. Temperature-aware MPSoC scheduling for reducing hot spots and gradients
US20060058994A1 (en) Power estimation through power emulation
WO2009047664A1 (en) Non-recursive adaptive filter for predicting the mean processing performance of a complex system´s processing core
Bergamaschi et al. Exploring power management in multi-core systems
US7020590B2 (en) Simulation of di/dt-induced power supply voltage variation
US20240047966A1 (en) Systems, devices and methods for power management and power estimation
Mohanty et al. Peak power minimization through datapath scheduling
Huang et al. Profile-based energy reduction in high-performance processors
Ahmed et al. Temperature minimization using power redistribution in embedded systems
Tavana et al. Elasticcore: A dynamic heterogeneous platform with joint core and voltage/frequency scaling
GB2412972A (en) Mechanism for estimating and controlling di/dt induced power supply voltage variations
Kang et al. Power-aware design synthesis techniques for distributed real-time systems
Bambini et al. Modeling the thermal and power control subsystem in HPC processors
Grochowski et al. Microarchitectural dl/dt control
Hoang et al. Power gating multiplier of embedded processor datapath
Xu et al. Low Power Design of Runtime Reconfigurable FPGAs through Contexts Approximations
Qiu et al. OS-directed power management for mobile electronic systems
Krishnan et al. Minimizing wire delays by net-topology aware binding during floorplan-driven high level synthesis
Kalyanam Power-Aware Processor System Design
Lankes et al. Power estimation of time variant SoCs with TAPES

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees