JP2018529169A - 処理システムにおける電圧偏差の制御 - Google Patents

処理システムにおける電圧偏差の制御 Download PDF

Info

Publication number
JP2018529169A
JP2018529169A JP2018514344A JP2018514344A JP2018529169A JP 2018529169 A JP2018529169 A JP 2018529169A JP 2018514344 A JP2018514344 A JP 2018514344A JP 2018514344 A JP2018514344 A JP 2018514344A JP 2018529169 A JP2018529169 A JP 2018529169A
Authority
JP
Japan
Prior art keywords
voltage deviation
transaction
pipeline
processing system
energy
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.)
Pending
Application number
JP2018514344A
Other languages
English (en)
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 JP2018529169A publication Critical patent/JP2018529169A/ja
Pending 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

システムおよび方法は、処理システムにおける電圧偏差を制御することに関する。スケジューラは、トランザクションを受信し、それらのトランザクションをパイプラインにおいて実行されるように発行する。パイプラインにおいて特定のトランザクションが実行される場合に生じる電圧偏差が、トランザクションが発行される前に推定される。推定された電圧偏差が指定されたしきい値を超えて電圧オーバーシュートまたは電圧アンダーシュートを生じさせるかどうかを判定するためにしきい値比較器が使用される。スケジューラは、トランザクションがパイプラインにおいて実行されるように発行される前に、生じ得る電圧オーバーシュートまたは電圧アンダーシュートを軽減するようにパイプラインにおけるエネルギーを増減させることなどの1つまたは複数の訂正措置を実施するように構成される。

Description

開示される態様は、処理システムにおける電圧偏差を制御することに関する。より詳細には、例示的な態様は、電圧偏差を事前に推定し、トランザクションをスケジューリングする前に電圧オーバーシュートまたは電圧アンダーシュートを軽減するための訂正措置を実施するように構成されるスケジューラに関する。
プロセッサおよびマイクロプロセッサにおける電力消費量を管理することは、重要な設計上の検討事項である。たとえば、電力消費量が増加したとき、より詳細には、プロセッサが集積される場合があるチップまたはダイ上での電力分配において偏差またはノイズが生じたときに起こる問題の例として、バッテリ寿命が短くなることと熱発生量が増えることが挙げられる。
いくつかのプロセッサは、電圧調整器およびカスタマイズされた電力供給/分配ネットワーク(PDN)を使用して、システムオンチップ(SoC)上のそれぞれに異なる構成要素およびサブシステムの様々な電力値および電圧値を確保する。プロセ
ッサ上でプログラムを実行する間、電圧偏差および電力偏差が生じるのを防止または軽減することが望ましい。しかし、様々なプログラムがSoCの構成要素にそれぞれに異なるようにストレスをかけることがあるので、様々なプログラムにわたってそのような偏差を制御することは困難である場合がある。様々な構成要素への供給電流は、非常に短い期間内で著しく変動する場合がある。電流の変動は、微分式dI/dtによって測定され、この場合、Iは電流であり、tは時間である。所与のインダクタンスLに関して、電圧降下Vは式V=L(dI/dt)によって与えられる。したがって、dI/dtを制御することによって、電圧偏差を管理し、それに応じて(電力はV*Iであるため)電力変動を管理することが可能である。
この目的で、電圧偏差を制御するためのいくつかの取り組みでは、たとえば、プロセッサの個々のクロックサイクルの間プロセッサまたはSoCの機能ブロックのアクティビティレベルを監視することを重視している。たとえば、クロックゲーティング技法を使用して、各クロックサイクルにおける機能ブロックの特定の特性に基づいて特定の機能ブロックをオンまたはオフにすることができる。各機能ブロックのアクティブ状態およびアイドル状態(すなわち、オン/オフ状態)における電流消費量は、たとえば低レベル回路シミュレーションに基づいて事前に判明する。プロセッサは、たとえば、機能ブロックがその特定のクロックサイクルにおいてアクティブであるかどうかに基づいて、特定のクロックサイクルにおける機能ブロックの電流消費量を判定するために、モニタ(ハードウェアおよび/またはソフトウェアの適切な組合せを使用して実装することができる)を含むことができる。モニタは、各クロックサイクルにおける様々な機能ブロックの電流消費量を判定し、得られた電流消費量を合計してクロックサイクルにおけるプロセッサの全体的な電流消費量を判定することができる。モニタは、(たとえば、PDNの所与のインダクタンス/キャパシタンスに関して)ステップ応答またはインパルス応答を算出し、クロックサイクルにおける電圧偏差を得るように構成することができる。
モニタには、許容できる最大電圧偏差しきい値/正の電圧偏差しきい値および許容できる最小電圧偏差しきい値/負の電圧偏差しきい値が与えられてもよい。正の電圧偏差しきい値または負の電圧偏差しきい値に対する電圧オーバーシュートまたは電圧アンダーシュートが生じる場合、モニタは、そのようなオーバーシュートまたはアンダーシュートに反応するように構成することができる。たとえば、負の電圧偏差しきい値に対するアンダーシュートが生じる(すなわち、電圧偏差が負の電圧偏差しきい値よりも小さくなる(または負方向において負の電圧偏差しきい値を超える))場合、モニタは、電圧偏差を軽減するために電流を小さくする措置を講じさせてもよい。たとえば、命令処理をストールさせること、クロックゲーティングを実施することなどが行われる場合がある。一方、正の電圧偏差しきい値に対するオーバーシュートが生じる(すなわち、電圧偏差が正の電圧偏差しきい値よりも大きくなる(または正方向において正の電圧偏差しきい値を超える))場合、モニタは、電圧偏差を軽減するために電流を消費するように、ダミー演算(たとえば、ノーオペレーションまたは"NOP")を導入することなどの、電流消費量を増やす処置を講じさせてもよい。
したがって、モニタは、電圧偏差に反応して訂正処置を実施するためにフィードバックループまたは他の制御システムを含んでもよい。しかし、電圧偏差が生じたときから訂正処置を実施することができるようになるまで時間遅延が生じる。したがって、プロセッサまたはSoCは、電圧偏差が生じてからシステムが反応して訂正措置を実施することができるようになるまでの中間持続時間において大きい電圧偏差の悪影響を受けることがある。この中間持続時間は、上述のように、制御論理に関与するレイテンシおよび訂正措置の実施に関与するフィードバック経路に起因して、場合によっては著しく長くなることがある。
したがって、従来の技法が直面する前述の問題の影響を受けずに電圧偏差および電力変動を効果的に制御することができる解決策が必要である。
本発明の例示的な実施形態は、処理システムにおける電圧偏差を制御するためのシステムおよび方法を対象とする。例示的な態様では、スケジューラは、トランザクションを受信し、それらのトランザクションをパイプラインにおいて実行されるようにスケジューリングする。パイプラインにおいて特定のトランザクションが実行される場合に生じる電圧偏差が、トランザクションがスケジューリングされる前に推定される。推定される電圧偏差が指定されたしきい値を超えて電圧オーバーシュートまたは電圧アンダーシュートを生じさせるかどうかを判定するためにしきい値比較器が使用される。スケジューラは、トランザクションがパイプラインにおいて実行されるようにスケジューリングされる前に、生じ得る電圧オーバーシュートまたは電圧アンダーシュートを軽減するようにパイプラインにおけるエネルギーを増減させることなどの1つまたは複数の訂正措置を実施するように構成される。
したがって、例示的な態様は、処理システムにおいて電圧偏差を制御する方法であって、処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するステップと、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するステップと、推定された電圧偏差が指定されたしきい値を超える場合に、トランザクションをパイプラインにおいて実行されるように発行する前に電圧偏差を軽減するための1つまたは複数の訂正措置を実施するステップとを含む方法を対象とする。
別の例示的な態様は、トランザクションを受信し、トランザクションをパイプラインにおいて実行されるようにスケジューリングするように構成されるスケジューラと、パイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するように構成されるフィルタと、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するためのしきい値比較器とを備え、スケジューラが、トランザクションがパイプラインにおいて実行されるように発行される前に、電圧偏差を軽減するように1つまたは複数の訂正措置を実施するように構成される処理システムを対象とする。
また別の例示的な態様は、処理システムであって、処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するための手段と、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するための手段と、推定された電圧偏差が指定されたしきい値を超える場合にトランザクションがパイプラインにおいて実行されるように発行される前に、電圧偏差を軽減するように1つまたは複数の訂正措置を実施するための手段とを備える処理システムを対象とする。
また別の例示的な態様は、プロセッサによって実行されたときに、プロセッサに、処理システムにおける電圧偏差を制御するための動作を実行させるコードを含む非一時的コンピュータ可読記憶媒体であって、処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するためのコードと、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するためのコードと、推定された電圧偏差が指定されたしきい値を超える場合にトランザクションをパイプラインにおいて実行されるように発行する前に、電圧偏差を軽減するように1つまたは複数の訂正措置を実施するためのコードとを含む非一時的コンピュータ可読記憶媒体を対象とする。
添付の図面は、本発明の態様について説明するのを助けるために提示され、態様の例示のためだけに提供され、態様を制限する意図はない。
従来の処理システムの概略図である。 例示的な処理システムの概略図である。 例示的な態様による、処理システムにおいて電圧偏差を制御する方法を示すフローチャートである。 本開示の態様が有利に使用される場合がある例示的なコンピューティングデバイス400を示す図である。
本発明の態様が、本発明の特定の態様を対象とする以下の説明および関連する図面において開示される。本発明の範囲から逸脱することなく、代替の態様を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素は、詳細に説明せず、または省略されることになる。
「例示的」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。「例示的」として本明細書において説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきでない。同様に、「本発明の態様」という用語は、本発明のすべての態様が、論じられる特徴、利点、または動作モードを含むことを必要としない。
本明細書で使用する用語は、特定の態様のみを説明する目的のためのものであり、本発明の態様の限定であることを意図しない。本明細書において使用される単数形"a"、"an"、および"the"は、文脈が別段に明確に示さない限り、複数形も含むものとする。さらに、「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されよう。
さらに、多くの態様について、たとえば、コンピューティングデバイスの要素によって実行すべき動作のシーケンスに関して説明する。本明細書において説明する種々の動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって実行することも、1つまたは複数のプロセッサによって実行されるプログラム命令によって実行することも、あるいは両方の組合せによって実行することもできることが認識されよう。さらに、本明細書において説明される動作のこれらのシーケンスは、実行時に関連するプロセッサに本明細書において説明される機能を実行させるコンピュータ命令の対応するセットを記憶している任意の形態のコンピュータ可読記憶媒体内で完全に具現化されると考えることができる。したがって、本発明の種々の態様は、そのすべてが特許請求される主題の範囲内にあると考えられているいくつかの異なる形において具現化される場合がある。加えて、本明細書において説明する態様の各々について、任意のそのような態様の対応する形態が、たとえば、説明する動作を実行する「ように構成される論理」として、本明細書において説明される場合がある。
概して、開示される態様は、プロセッサまたはSoCなどのシステムの動的プロセスモデルを使用するモデル予測コントローラ(MPC)を含む。MPCを使用して、たとえば、将来のタイムスロットのアクティビティを予測することができる。将来のタイムスロットの予測を使用して、検討中の現在のタイムスロットを管理しかつ最適化することができる。現在のタイムスロットおよび将来のタイムスロットは、場合によってはプロセッサのクロックサイクルであってもよい。したがって、MPCを使用して、将来のクロックサイクルの電圧偏差および電力偏差を予測または推定することができ、推定された電圧偏差および電力偏差を軽減するように訂正処置を講じることができる。
たとえば、本開示の態様では、将来のイベントが予測され、この予測が、望ましくない電圧ノイズまたは電圧偏差、電力スパイク/サージ、大きい電流変動、温度差などを軽減するために使用される。例示的な態様によれば、プロセッサのスケジューラが、プロセッサの命令パイプラインを先読みし、将来のトランザクションをスケジューリングすることによって上記の偏差のうちの1つまたは複数が生じる可能性があるかどうかを判定することによってトランザクションをスケジューリングするように構成される。例示的なスケジューラは、予測された偏差を軽減することができるように前もって訂正措置を実施させることができる。
まず、図1を参照しながら、従来のスケジューラについて説明する。図1は、任意の汎用または専用処理システム(たとえば、デジタル信号プロセッサ(DSP))またはシステムオンチップ(SoC)であってもよい処理システム100を示す。処理システム100には、命令を記憶することができ、かつ命令を取り出すことができる命令キャッシュ(I-キャッシュ)102などのメモリ構造を含めることができる。本開示では、「トランザクション」という用語は、パイプライン110などの命令パイプラインによって処理できる1つまたは複数の命令を指すのに使用される。スケジューラ106は、I-キャッシュ102から命令または着信トランザクション104を受信し、パイプライン110において処理すべき発行対象トランザクション108を生成するように構成される。
パイプライン110に与えられた発行対象トランザクション108はまた、発行対象トランザクション108をパイプライン110において実施または実行する際に電圧偏差および電力偏差が生じることがあるかどうかを検出するために監視される。前述のように、パイプライン110は、発行対象トランザクション108を1つまたは複数のクロックサイクルにおいて実行するためのそれぞれに異なる機能ブロックを含むことができる。個々のトランザクションの特定の特性または属性に基づいて、どの機能ブロックが使用されるか、またはより具体的には様々なクロックサイクルにわたってどれだけの電流が消費されるかを事前に判定することが可能である。したがって、発行対象トランザクションのいくつかの属性(たとえば、命令セマンティクス、命令コード)などを、発行対象属性112〜フィルタ114として示されるバス上に抽出しかつ供給することができる。発行対象属性112は、対応する発行対象トランザクション108の電流消費量を、パイプライン110においてそれらのトランザクションを実行する間に判定するために使用することができる。
フィルタ114は、前述のモニタの一部であってもよく、その場合、フィルタ114は、発行対象属性112に基づいて電圧偏差値を判定するように構成されてもよい。たとえば、フィルタ114は、有限インパルス応答(FIR)フィルタ、無限インパルス応答(IIR)フィルタ、ステップ関数応答などのデジタルフィルタを、発行対象属性112から判定された電流消費量、またはより具体的には経時的な電流変動に対して実施して、電圧偏差値を出力することが可能であってもよい。しきい値比較器116および118はそれぞれ、電圧偏差が負の電圧偏差しきい値よりも小さくなる(または負方向において負の電圧偏差しきい値を超える)(すなわち、電圧が前の値から負の電圧偏差しきい値を超える分だけ低くなる)かどうか、あるいは電圧偏差が正の電圧偏差しきい値よりも大きくなる(または正方向において正の電圧偏差しきい値を超える)(すなわち、電圧が前の値から正の電圧偏差しきい値を超える分だけ高くなる)かどうかを判定するために設けられてもよい。
しきい値比較器116が、電圧偏差が負の電圧偏差しきい値よりも小さくなっている(または負方向において負の電圧偏差しきい値を超える)ことを検出した場合、アンダーシュート117が検出されたと言う。スケジューラ106は、アンダーシュート117の通知が与えられる。スケジューラ106は、負の電圧偏差またはアンダーシュートを軽減するように、トランザクションの発行をストールすること、パイプライン110においてクロックゲーティングを実施させることなどの訂正措置を実施するかまたは実施させることができる。
しきい値比較器118が、電圧偏差が正の電圧偏差しきい値よりも大きくなる(または正方向において超える)ことを検出した場合、オーバーシュート119が検出されたと言う。スケジューラ106は、オーバーシュート119の通知が与えられる。スケジューラ106は、正の電圧偏差またはオーバーシュートを軽減するように、発行対象トランザクション108上でNOPを発行すること、またはパイプライン110においてダミートランザクションを実施させることなどの訂正措置を実施するかまたは実施させることができる。
アンダーシュート117およびオーバーシュート119の場合、通知を生成してスケジューラ106に提供する際、ならびにたとえば、訂正措置を実施させることによってこれらの通知に応答する際に顕著なレイテンシが生じることがある。関連するレイテンシにわたる中間持続時間において、処理システム100は、大きい電圧偏差および電力偏差の悪影響を受けることがある。
次に図2を参照すると、例示的な処理システム200が示される。処理システム200のスケジューラ206は、たとえばI-キャッシュ202から着信トランザクション204を受信してもよく、スケジューラ206は、発行対象トランザクション208をパイプライン210に提供するように構成されてもよい。このコンテキストでは、トランザクションは、実施または実行されたときにエネルギーを消費する場合がある1つまたは複数の命令、プログラム、または任意の他のタスクを指すことがある。場合によっては、トランザクションには、1つまたは複数の命令を含めることができ、たとえば、処理システム200は、スーパースカラ処理または超長命令語(VLIW)の処理をサポートするように構成されてもよく、2つ以上の命令をフェッチして並行して実行することができる。これに応じて、パイプライン210は、1つまたは複数の命令を含む発行対象トランザクション208の実行をサポートすることができるいくつかの機能ブロックを備えてもよい。
処理システム200の一実装形態では、着信属性220として示されるバス上で着信トランザクション204の1つまたは複数の属性(たとえば、セマンティクス、命令コードなど)が抽出されてもよい。たとえば、特定の着信トランザクション204は、2つの乗算命令および2つの加算命令などの4成分演算命令を含むVLIW命令であってもよい。これらの4成分命令に関する属性には、命令コード(または「オペコード」)、オペランド(たとえば、ソースレジスタおよびデスティネーションレジスタ)の数、演算モード(たとえば、精度、符号付き/符号なし、丸めモードなど)などの各成分命令の特性を含めることができる。着信トランザクション204を実行するためにパイプライン210によって消費されるエネルギーは、これらの属性に依存することがある。
したがって、トランザクションの様々な属性に関連するエネルギーを事前に判定し、かつエネルギーテーブル225に記憶することができる。たとえば、様々な属性を有する乗算命令および加算命令を実行する際にパイプライン210によって消費されるエネルギーを(たとえば、特定の属性に関与する様々な機能ブロックによって消費される電流の分析に基づいて)事前に判定し、エネルギーテーブル225に記憶することができる。電流使用量を判定することは、低レベル回路シミュレーションモデルに基づいてもよい。1つまたは複数の命令を対応する属性に基づいて実行する際に1つまたは複数のサイクルまたはパイプラインステージに関してパイプライン210の1つまたは複数の機能ブロック(明示的に図示されてはいない)がオンにされるかそれともゲートオフされるかを判定するためにクロックゲーティングモデルを使用することができる。アクティブ状態およびアイドル状態における電流消費量を示すために機能ブロックの各々に重みを関連付けることができる。パイプラインステージごとの電流消費量またはdI/dtは、各機能ブロックの消費量に対応する重みを重み付けし(乗算し)、次いで得られた各積を合計することによって得ることができる。これによって、様々なクロックサイクルにわたって電流消費量またはdI/dtを分散させることができる。電流消費量に関連するエネルギーは、たとえば、機能ブロックに関連する抵抗性負荷に基づいて判定することができる(たとえば、式E=I2Rtに基づいて判定することができる。この場合、Eはエネルギーであり、Iは電流であり、Rは抵抗であり、tはエネルギーが測定される期間である)。したがって、各属性に関連するエネルギーを判定し、エネルギーテーブル225に記憶することができる。
エネルギーテーブル225は、属性によってインデックス付けることができ、着信属性220における属性ごとにエネルギーテーブル225から属性当たりのエネルギー224を得ることができる。エネルギーテーブル225は、エネルギー値によってプログラムすることができ、たとえば、対応する属性によってインデックス付けすることができる任意の適切なメモリ構造(たとえば、読取り専用メモリ(ROM))であってもよい。場合によっては、エネルギーテーブル225は、2つ以上の属性に関する2つ以上のエネルギー値を探して提供するための複数のポートをサポートしてもよい(それに応じて、属性当たりのエネルギー224として示されるバスは、着信属性220の2つ以上の属性に関するエネルギー値を搬送する2つ以上のバスを備えてもよい)。
乗算器222は、各着信属性220に、属性当たりのエネルギー224から得られた着信属性に対応するエネルギー値を乗算または重み付けするように構成される1つまたは複数の乗算器を備えることができる。加算器226は、乗算器222の1つまたは複数の乗算器からのエネルギーを総計する(たとえば、重み付けされた値の合計または積の合計を実行する)ように構成されてもよい。加算器226によって生成される積の和は、着信トランザクション204の累積エネルギーを表す着信エネルギー228に対応する。スケジューラ206は、1つまたは複数の着信トランザクション204を受信し、それらに対応する着信エネルギー228とともに、発行のために発行キュー207に入れる。
発行キュー207は、1つまたは複数のエントリを含んでもよく、各エントリは、少なくとも着信トランザクション204と対応する着信エネルギー228とを含む。処理システム200がトランザクションのインオーダー処理をサポートする実装形態では、スケジューラ206は、トランザクションを、着信トランザクション204が受信されたときと同じ順序で(発行対象トランザクション208として示されるバス上で)パイプライン210に発行してもよい。したがって、インオーダー処理の場合、発行対象トランザクション208が、発行キュー207に着信トランザクション204(および対応する着信エネルギー228)が充填されたのと同じ順序で発行キュー207から発行されてもよい。場合によっては、処理システム200は、アウトオブオーダー処理をサポートすることができ、この場合、発行対象トランザクション208は、ばらばらの順序で発行されてもよく、発行対象トランザクション208上でトランザクションが発行される順序は、発行キュー207に着信トランザクション204(および対応する着信エネルギー228)が充填された順序に対応しなくてもよい。
スケジューラ206は、インオーダー処理が実施されるかそれともアウトオブオーダー処理が実施されるかどうかにかかわらず、発行対象トランザクション208がスケジューリングされる順序を発行キュー207から決定するように構成されてもよい。言い換えれば、スケジューラ206は、発行対象トランザクション208上で第1のトランザクションが発行される場合に、第1のトランザクションの次に発行対象トランザクション208上で発行される次のトランザクション、たとえば、第2のトランザクションを選択するように構成されてもよい。同様に、スケジューラ206は、発行対象トランザクション208上で発行される1つまたは複数の将来のトランザクションを決定することができる。前述のように、発行された第1のトランザクションに対応するエネルギーならびに次のトランザクションまたは将来のトランザクション(たとえば、第2のトランザクションおよび1つまたは複数の将来のトランザクション)に対応するエネルギーを発行キュー207から決定することもできる。
図2において、発行対象トランザクション208上の1つまたは複数の前に発行されたトランザクション(たとえば、すでに発行された第1のトランザクション)に対応するエネルギーが発行対象エネルギー212として示され、一方次のトランザクションまたは将来のトランザクションに対応するエネルギーが次の/将来のエネルギー230として示される。例示的な態様では、発行対象エネルギー212および次の/将来のエネルギー230に基づいて生じ得る将来の電圧偏差を推定することができる。例示のために単純なケースを考えると、第1のトランザクションに対応する発行対象エネルギー212と第2のトランザクションに対応する次の/将来のエネルギー230が実質的に同じである場合、第1のトランザクションの後に第2のトランザクションを発行しても、パイプライン210によって消費されるエネルギーに顕著な偏差は生じない。しかし、第2のトランザクションの次の/将来のエネルギー230が第1のトランザクションの発行対象エネルギー212よりも著しく(たとえば、それぞれの正のしきい値または負のしきい値よりも大きい量だけ)高いかまたは低い場合、第2のトランザクションを発行すると、パイプライン210によって消費されるエネルギーに対応する顕著な偏差が生じる。スケジューラ206は、第2のトランザクションをスケジューリングする前に偏差が生じると推定することによって、発行対象トランザクション208上の第2のトランザクションをパイプライン210において実行されるようにスケジューリングする前に訂正措置を実施して偏差を低減させることができる。
さらに詳細に、たとえば、パイプライン210において第1のトランザクションが実行されたときに、(たとえば、パイプライン210における、特に図示されていない1つまたは複数の代表的なノードの電圧に基づいて)パイプライン210において第1の電圧レベルが確立されると考える。同様に、第2のトランザクションを実行すると、パイプライン210において第2の電圧レベルが確立される場合がある。この説明では、正の電圧偏差しきい値と負の電圧偏差しきい値もまた仮定される。
第1の例では、第2の電圧レベルは、第1の電圧レベルよりも、正の電圧偏差しきい値を超える量だけ大きい(または正方向において正の電圧偏差しきい値を超える)場合がある。この例では、第2の電圧レベルが、オーバーシュート、または電圧偏差が正の電圧偏差しきい値よりも大きいことに基づいて許容できないほど大きい正の電圧偏差を生じさせると仮定する。オーバーシュートを軽減するには、第2のトランザクションをスケジューリングする前に1つまたは複数の訂正処置を講じることができる。例示的な訂正処置には、パイプライン210の電圧レベルを第1の電圧レベルよりも高い場合がある中間電圧レベルにする(しかし、正の電圧偏差しきい値よりも大きい正の電力偏差を生じさせることはない)1つまたは複数の中間トランザクションをスケジューリングすることを含めることができる。エネルギーに関して、これらの中間トランザクションは、パイプライン210のエネルギーを増大させ、第2のトランザクションがスケジューリングされる前により高い中間電圧レベルをもたらす高エネルギートランザクションと呼ばれる場合がある。したがって、第2のトランザクションがスケジューリングされるとき、生じる場合がある任意の生じ得る正の電圧偏差は(第1の電圧レベルよりも高い場合がある)中間電圧レベルに対して相対的な電圧偏差である。中間電圧レベルに対する第2の電圧レベルの正の電圧偏差が正の電圧偏差しきい値よりも小さい場合、パイプライン210において第2のトランザクションが実行されるときに許容できないほど大きい正の電圧偏差またはオーバーシュートが回避される。
同様の技法を使用して第2の例における負方向の電圧偏差を軽減することができ、この場合、第2の電圧レベルは、アンダーシュートを生じさせるか、または第1の電圧レベルよりも、負の電圧偏差しきい値を許容できないほど超える量だけ低くなる(または負方向において第1の電圧レベルを超える)場合がある。この場合にアンダーシュートを軽減するために、1つまたは複数の訂正処置に、パイプライン210の電圧レベルを第1の電圧レベルよりも低い場合がある中間電圧レベルにする(しかし、許容できないほど大きい負の電圧偏差を生じさせることはない)1つまたは複数の中間トランザクションをスケジューリングすることを含めることができる。エネルギーに関して、これらの中間トランザクションは、パイプライン210のエネルギーを低減させ、第2のトランザクションがスケジューリングされる前により低い中間電圧レベルをもたらす低エネルギートランザクションである場合がある。したがって、第2のトランザクションがスケジューリングされるとき、生じる場合がある任意の生じ得る負の電圧偏差は(第1の電圧レベルよりも低い場合がある)中間電圧レベルに対して相対的な電圧偏差である。中間電圧レベルに対する第2の電圧レベルの負の電圧偏差が負の電圧偏差しきい値よりも小さい場合、パイプライン210において第2のトランザクションが実行されるときに許容できないほど大きい負の電圧偏差またはアンダーシュートが回避される。
したがって、上述の第1および第2の例では、訂正措置には、第2のトランザクションおよびさらなるトランザクションをスケジューリングする前にパイプライン210のエネルギーを増減させて推定された電圧オーバーシュートまたは電圧アンダーシュートを軽減することを含めることができる。場合によっては、スケジューラ206はまた、たとえば、第2のトランザクションおよび将来のトランザクションをスケジューリングする際に比較的長期間(たとえば、いくつかのクロックサイクル)にわたってエネルギーを記憶または保持するために処理システムのいくつかの構成要素の特性に基づくこともできる。たとえば、パイプライン210内に存在する場合がある、インダクタおよびキャパシタのような受動素子は、複数のクロックサイクルにわたって放出されることがあるエネルギーを蓄積してもよい。したがって、次の/将来のエネルギー230と発行対象エネルギー212との単純な比較に基づいて正/負の電圧偏差を正確に推定するのは困難である場合がある。したがって、精度を向上させるためにフィルタ214が設けられてもよい。
フィルタ214は、発行対象エネルギー212および次の/将来のエネルギー230の知識に基づいて電圧偏差を推定するように構成することができる。フィルタ214には、当技術分野で知られているような有限インパルス応答(FIR)、無限インパルス応答(IIR)、非線形フィルタなどのデジタルフィルタを含めてもよく、これらのフィルタは、たとえば、エネルギー変動を電荷の関数として得る(一般に、V=E/Qであることが認識されよう。この場合、Vは電圧(たとえば、ボルト単位)であり、Eはエネルギー(たとえば、ジュール単位)であり、Qは電荷(たとえば、クーロン単位)である)ために使用されるパイプライン210のシミュレーションモデルに基づいて電圧偏差を得るために使用することができる。したがって、フィルタ214は、たとえば、エネルギーの様々なサンプルポイント(第1および第2のトランザクションに関連するエネルギーを含む)およびパイプライン210内の電荷の分布を考慮に入れて対応する電圧偏差を判定するように構成することができる。図示のように、フィルタ214は、対応する次の/将来のエネルギー230を含む1つまたは複数の将来のトランザクションが、パイプライン210において実行されるように発行される場合に生じる電圧偏差の推定値である次の/将来の電圧偏差232を判定するように構成されてもよい。
これに応じて、処理システム200はまた、次の/将来の電圧偏差232が指定されたしきい値を超えるかどうか、または言い換えると、1つまたは複数の将来のトランザクションを(たとえば、最初に、スケジューラ206によって発行キュー207からスケジューリングすることが決定された順序で)スケジューリングした場合に顕著な電圧偏差が発生するかどうかを判定するためのしきい値比較器216および218を備えることもできる。図示のように、しきい値比較器216および218はそれぞれ、次の/将来の電圧偏差232が(正方向において)正の電圧偏差しきい値を超えるかどうか、または(負方向において)負の電圧偏差しきい値を超えるかどうかをスケジューラ206に(たとえば、それぞれアンダーシュート217およびオーバーシュート219として示されるバス上で)通知することができる。いずれの場合も、すなわち、アンダーシュート217が報告されるかどうか、またはオーバーシュート219が報告されるかどうかにかかわらず、スケジューラ206は、将来のトランザクション(たとえば、第2のトランザクション)をパイプライン210において実行されるようにスケジューリングする前に、推定された電圧偏差(次の/将来の電圧偏差232)を軽減するための1つまたは複数の訂正措置を実施することができる。このようにして、スケジューラ206は、オーバーシュートおよびアンダーシュートを回避または軽減する訂正措置を実施した後(または実施させた後)にトランザクションをスケジューリングすることができる。実施される訂正措置は、オーバーシュートが生じるかそれともアンダーシュートが生じるかによって決まってもよく、これについて以下にさらに詳細に説明する。
しきい値比較器216は、次の/将来の電圧偏差232が指定された負の電圧偏差しきい値よりも小さくなるか(または負方向において負の電圧偏差しきい値を超えるか)どうかを判定するように構成されるアンダーシュートしきい値比較器である。負の電圧偏差しきい値は、処理システム200に関する許容可能な電圧偏差に基づいてもよく、その場合、負の電圧偏差しきい値よりも小さくなった電圧偏差は許容できない場合がある(すなわち、対応するノイズが性能を損なうほど顕著である場合がある)。たとえば、しきい値比較器216は、当技術分野で知られているローパスフィルタを備えてもよく、このローパスフィルタは、次の/将来の電圧偏差232が負方向において負の電圧偏差しきい値よりも小さくなった場合にアンダーシュート217として示される信号を報告またはアサートする。アンダーシュート217は、スケジューラ206への入力として設けられる。スケジューラ206は、アンダーシュート217がアサートされた場合に発行対象トランザクション208上で第2のトランザクションを発行する前に次のように1つまたは複数の訂正措置を実施してもよい。
前述のように、アンダーシュートに関する訂正措置には、パイプライン210のエネルギーを低減させ、それによって、第2のトランザクション(および場合によっては、1つまたは複数のさらなる将来のトランザクション)がスケジューリングされるときに、顕著な負の電圧偏差が生じなくなるほどエネルギー偏差が小さくなるようにする措置を含めてもよい。言い換えれば、第2のトランザクションおよび将来のトランザクションの前にパイプライン210のエネルギーを低下させる場合、第2のトランザクションおよび将来のトランザクションが実行されるときのエネルギー偏差が小さくなり、それに応じて負の電圧偏差が小さくなり、したがって、アンダーシュートを防止または軽減することができる。したがって、エネルギーを低減させるための訂正措置には、たとえば、1つまたは複数のクロックサイクルにわたる発行対象トランザクション208上でのトランザクションの発行をストールさせることを含めることができる。
場合によっては、エネルギーを低減させることには、発行対象トランザクション208上の発行キュー207から低エネルギートランザクションを発行することを含めることもできる。たとえば、発行キュー207上で発行されるのを待っている第2のトランザクションよりも低いエネルギーの1つまたは複数のトランザクション(たとえば、第3のトランザクション)があり、処理システム200がアウトオブオーダー処理をサポートする場合、スケジューラ206は、1つまたは複数のクロックサイクルにわたってトランザクションの発行を完全にストールするのではなく、第2のトランザクションを発行する前に1つまたは複数のより低いエネルギーのトランザクションを発行するように構成されてもよい。
上記のように1つまたは複数の訂正措置を実施する1つまたは複数のクロックサイクルの後で、次の/将来の電圧偏差232が小さくなる場合がある。それに応じて、しきい値比較器216は、次の/将来の電圧偏差232が負の電圧偏差しきい値よりも小さくなるのをストールした後にアンダーシュート207をアサート解除することができ、このことが、スケジューラ206が第2のトランザクション(およびまだ発行キュー207において発行されるのを待っており、かつ上述のようにばらばらの順序で発行されていない場合がある1つまたは複数の将来のトランザクション)を発行するきっかけとなってもよい。このようにして、将来のアンダーシュートが事前に推定されてもよく、エネルギーを低減させるための訂正措置(たとえば、トランザクションの発行をストールすること、または発行キュー207からより低いエネルギーのトランザクションを発行すること)によって将来のアンダーシュートを軽減または回避することができる。
次に、しきい値比較器218について説明する。しきい値比較器218は、次の/将来の電圧偏差232が指定された正の電圧偏差しきい値よりも大きくなるか(または正方向において正の電圧偏差しきい値を超えるか)どうかを判定するように構成されるオーバーシュートしきい値比較器である。正の電圧偏差しきい値は、処理システム200に関する許容可能な電圧偏差に基づいてもよく、その場合、正の電圧偏差しきい値よりも大きくなった電圧偏差は許容できない場合がある(すなわち、対応するノイズが性能を損なうほど顕著である場合がある)。たとえば、しきい値比較器218は、当技術分野で知られているハイパスフィルタを備えてもよく、ハイパスフィルタは、次の/将来の電圧偏差232が正方向において正の電圧偏差しきい値よりも大きくなった場合にオーバーシュート219として示される信号を報告またはアサートする。オーバーシュート219はまた、スケジューラ206への入力としても設けられる。スケジューラ206は、オーバーシュート219がアサートされた場合に発行対象トランザクション208上で第2のトランザクションを発行する前に次のように1つまたは複数の訂正措置を実施してもよい。
前述のように、オーバーシュートに関する訂正措置には、パイプライン210のエネルギーを増大させ、それによって、第2のトランザクション(および場合によっては、1つまたは複数のさらなる将来のトランザクション)がスケジューリングされるときに、顕著な正の電圧偏差が生じなくなるほどエネルギー偏差が小さくなるようにする措置を含めてもよい。言い換えれば、第2のトランザクションおよび将来のトランザクションが実行されるようにスケジューリングされる前にパイプライン210のエネルギーを増大させる場合、第2のトランザクションおよび将来のトランザクションが実行されるときのエネルギー偏差が小さくなり、それに応じて正の電圧偏差が小さくなり、したがって、オーバーシュートを防止または軽減することができる。したがって、エネルギーを増大させるための訂正措置には、たとえば、1つまたは複数のクロックサイクルにわたって発行対象トランザクション208上でダミー演算またはNOP(結果がたとえばレジスタファイルに記録されることも書き込まれることもない演算)を発行することを含めることができる。
場合によっては、エネルギーを増大させることには、発行対象トランザクション208上の発行キュー207から高エネルギートランザクション(たとえば、NOP以外のトランザクション)を発行することを含めることもできる。たとえば、発行キュー207上で発行されるのを待っている第2のトランザクションよりも高いエネルギーの1つまたは複数のトランザクション(たとえば、第3のトランザクション)があり、処理システム200がアウトオブオーダー処理をサポートする場合、スケジューラ206は、第2のトランザクションを発行する前に1つまたは複数のより高いエネルギーのトランザクションを発行するように構成されてもよい。
上記のように1つまたは複数の訂正措置を実施する1つまたは複数のクロックサイクルの後で、次の/将来の電圧偏差232が小さくなる場合がある。それに応じて、しきい値比較器218は、次の/将来の電圧偏差232が正の電圧偏差しきい値よりも大きくなるのをストールした後にオーバーシュート209をアサート解除することができ、このことが、スケジューラ206が第2のトランザクション(およびまだ発行キュー207において発行されるのを待っており、かつ上述のようにばらばらの順序で発行されていない場合がある1つまたは複数の将来のトランザクション)を発行するきっかけとなってもよい。このようにして、将来のオーバーシュートが事前に推定されてもよく、エネルギーを増大させるための訂正措置(たとえば、NOPまたは発行キュー207からより高いエネルギーのトランザクションを発行すること)によって将来のオーバーシュートを軽減または回避することができる。
詳細には説明しないが、図2を参照しながら説明した機能ブロックのいくつかが、本開示の範囲から逸脱することなく異なるように構成されてもよい処理システム200の代替実装形態が可能である。たとえば、着信エネルギー228を事前に算出し、着信エネルギー228を発行キュー207に蓄積するのではなく、たとえば、次の/将来のエネルギー230および発行対象エネルギー212を、たとえば、それらに対応するトランザクションの属性を使用してエネルギーテーブル225にアクセスすることに基づいてオンザフライで算出することができる。そのような代替実装形態は、(着信エネルギー228を蓄積するための)発行キュー207におけるストレージスペースを狭くする場合があるが、次の/将来のエネルギー230および発行対象エネルギー212をオンザフライで算出するためのレイテンシを伴うことがある。クロック速度、システム電力消費量などに関する特定の設計上の検討事項に基づいて処理システム200の他の変更形態もまた可能である。
したがって、各態様は、本明細書において開示したプロセス、機能、および/またはアルゴリズムを実施するための様々な方法を含むことが了解されよう。たとえば、図3に示すように、一態様が、処理システム(たとえば、処理システム200)における電圧偏差を制御する方法300を含むことができる。
方法300は、ブロック302において、処理システムのパイプライン(たとえば、パイプライン210)においてトランザクションが実行される場合に生じる電圧偏差を推定することを含む。たとえば、ブロック302において、受信されたトランザクション(たとえば、前述の第1および第2のトランザクションを含む着信トランザクション204)に関連するエネルギーを、たとえば対応する受信されたトランザクションの1つまたは複数の着信属性220に基づいて判定することができる。エネルギーテーブル225から属性当たりのエネルギー224を得ることができ、着信トランザクション204に関する着信エネルギー228を判定するように論理(たとえば、乗算器222の1つまたは複数の乗算器および加算器226)を構成することができる。着信トランザクション204および対応する着信エネルギー228を発行キュー207に蓄積することができる。トランザクション(たとえば、第2のトランザクション)がパイプライン210において実行されるように発行される場合にトランザクションに関して生じる電圧偏差を、フィルタ214を使用して、少なくとも、トランザクション(たとえば、第2のトランザクションおよび場合によっては1つまたは複数のさらなる将来のトランザクションの次の/将来のエネルギー230)に関連するエネルギーおよび1つまたは複数の前に発行されたトランザクションに関連するエネルギー(たとえば、発行対象トランザクション208上で前に発行された第1のトランザクションなどの1つまたは複数のトランザクションの発行対象エネルギー212)に基づいて推定することができる。
ブロック304は、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定することを含む。たとえば、しきい値比較器216/218を使用して、推定された電圧偏差がそれぞれ、指定された最小電圧偏差しきい値/正の電圧偏差しきい値を超えるかどうかを判定する(たとえば、それぞれ、アンダーシュート217/オーバーシュート219がアサートされるかどうかを判定する)ことができる。
ブロック306は、推定された電圧偏差が指定されたしきい値を超える場合、トランザクションをパイプラインにおいて実行されるように発行する前に、電圧偏差を軽減するための1つまたは複数の訂正措置を実施することを含む。たとえば、アンダーシュート217が生じる場合、訂正措置には、発行対象トランザクション208上でトランザクションを発行する前に、パイプライン210におけるエネルギーを低減させること(たとえば、発行対象トランザクション208をストールさせることまたはクロックゲーティング)を含めることができ、オーバーシュート219が生じる場合、訂正措置には、発行対象トランザクション208上でトランザクションを発行する前に、パイプライン210においてエネルギーを増大させること(たとえば、発行対象トランザクション208上でNOPを発行すること)を含めることができる。
さらなる態様では、(たとえば、推定された電圧偏差がそれぞれの最小電圧偏差しきい値または正の電圧偏差しきい値を超えることに起因してアンダーシュート217またはオーバーシュート219がアサートされた対応する場合に関して、発行対象トランザクション208の発行対象エネルギー212によってアンダーシュート217またはオーバーシュート219がアサート解除されるかどうかを判定することに基づいて)ブロック306において、トランザクションを発行する前に実施された訂正措置が有効であったかどうか、すなわち、電圧偏差が小さくなったかどうかを判定することができる。
本開示の態様が、本明細書で説明する機能を実行するための様々な機能ブロックまたは手段を含むことが了解されよう。たとえば、スケジューラ206のための手段は、エネルギーテーブル225、フィルタ214、および処理システム200の関連する態様とともに、処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するための手段を構成することができる。しきい値比較器216および218は、推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するための手段を構成することができる。例示的な態様では、(発行キュー207を備える)スケジューラ206は、推定された電圧偏差が指定されたしきい値を超える場合、トランザクションがパイプラインにおいて実行されるように発行される前に、電圧偏差を軽減するための1つまたは複数の訂正措置を実施するための手段を構成することもできる。
図4には、例示的な態様によるコンピューティングデバイス400の特定の例示的な態様のブロック図が示される。コンピューティングデバイス400は、いくつかの態様では、図3の方法300を実行するように構成されてもよい。コンピューティングデバイス400は、図2の処理システム200と同様であってもよいシステムインパッケージデバイスまたはシステムオンチップデバイス422を含む。図2における処理システム200の選択された態様のみが図4におけるコンピューティングデバイス400の図に示され、一方、他の特徴は図を明快にするために省略される。図示のように、コンピューティングデバイス400は、図2のスケジューラ206と、エネルギーテーブル225、フィルタ214、およびパイプライン210を備えるように示されるプロセッサ402を含む(エネルギーテーブル225とスケジューラ206との間の接続線は、エネルギーテーブル225からの情報が、図2を参照しながら説明したようにスケジューラ206に供給される着信エネルギー228を導出するために使用される場合があることを示すように点線で示される)。本明細書には示されていないが、処理システム200の様々な他の機能ブロックおよび関連する配線がコンピューティングデバイス400に実装されてもよいことに留意されたい。図4に示すように、プロセッサ402は、メモリ432と通信してもよい。図示されていないが、1つもしくは複数のキャッシュ(たとえば、I-キャッシュ202)または他のメモリ構造もコンピューティングデバイス400に含まれてもよい。
図4はまた、プロセッサ402およびディスプレイ428に結合されたディスプレイコントローラ426を示す。符号器/復号器(コーデック)434(たとえば、オーディオおよび/または音声コーデック)をプロセッサ402に結合することができる。ワイヤレスコントローラ440(モデムを含んでもよい)などの他の構成要素もまた示される。スピーカ436およびマイクロフォン438をコーデック434に結合することができる。図4はまた、ワイヤレスコントローラ440を、ワイヤレスアンテナ442に結合できることを示している。特定の態様において、プロセッサ402、ディスプレイコントローラ426、メモリ432、コーデック434、およびワイヤレスコントローラ440は、前述のシステムインパッケージまたはシステムオンチップデバイス422に含まれる。
ある特定の態様では、入力デバイス430および電源444が、システムオンチップデバイス422に結合される。さらに、ある特定の態様では、図4に示すように、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444は、システムオンチップデバイス422の外部に位置する。ただし、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444の各々は、インターフェースまたはコントローラのような、システムオンチップデバイス422の構成要素に結合することができる。
図4はワイヤレス通信デバイスを示すが、プロセッサ402およびメモリ432は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、またはコンピュータに組み込まれる場合もあることに留意されたい。さらに、コンピューティングデバイス400の少なくとも1つまたは複数の例示的な態様は、少なくとも1つの半導体ダイに統合されてもよい。
情報および信号が、様々な異なる技術および技法のいずれを使用して表現されてもよいことが、当業者には理解されよう。たとえば、上記の説明全体にわたって言及される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表現される場合がある。
さらに、本明細書において開示される態様に関連して説明する種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装されてもよいことを、当業者には理解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明してきた。そのような機能が、ハードウェアとして実施されるか、ソフトウェアとして実施されるのかは、特定の適用例と、システム全体に課される設計制約とによって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実施してもよいが、そのような実施態様決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書において開示される態様に関して説明される方法、シーケンスおよび/またはアルゴリズムは、直接ハードウェアにおいて具現化されても、プロセッサによって実行されるソフトウェアモジュールにおいて具現化されても、あるいはその2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化される場合がある。
したがって、本発明の態様は、プロセッサを動作させ、より詳細には、プロセッサにおける電圧偏差を制御する方法を具現化するコンピュータ可読媒体を含むことができる。したがって、本発明は例示される例に限定されず、本明細書において説明する機能を実施するための任意の手段が、本発明の態様に含まれる。
上記の開示は本発明の例示的な態様を示すが、添付の特許請求の範囲によって規定されるような、本発明の範囲から逸脱することなく、本明細書において種々の変形および変更を行うことができることに留意されたい。本明細書において説明される本発明の態様による方法クレームの機能、ステップ、および/または動作は、任意の特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で記載されるか、または特許請求される場合があるが、単数形に限ることが明確に言及されない限り、複数形を意図している。
100 処理システム
102 命令キャッシュ
104 着信トランザクション
106 スケジューラ
108 発行対象トランザクション
110 パイプライン
112 発行対象属性
114 フィルタ
116 しきい値比較器
117 アンダーシュート
118 しきい値比較器
119 オーバーシュート
200 処理システム
202 I-キャッシュ
204 着信トランザクション
206 スケジューラ
207 発行キュー
208 発行対象トランザクション
210 パイプライン
212 発行対象エネルギー
214 フィルタ
216 しきい値比較器
217 アンダーシュート
218 しきい値比較器
219 オーバーシュート
220 着信属性
222 乗算器
224 属性当たりのエネルギー
225 エネルギーテーブル
226 加算器
228 着信エネルギー
230 次の/将来のエネルギー
232 次の/将来の電圧偏差
400 コンピューティングデバイス
402 プロセッサ
422 システムインパッケージデバイスまたはシステムオンチップデバイス
426 ディスプレイコントローラ
428 ディスプレイ
430 入力デバイス
432 メモリ
434 コーダ/デコーダ(コーデック)
436 スピーカ
438 マイクロフォン
440 ワイヤレスコントローラ
442 ワイヤレスアンテナ
444 電源

Claims (30)

  1. 処理システムにおける電圧偏差を制御する方法であって、
    前記処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するステップと、
    前記推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するステップと、
    前記推定された電圧偏差が前記指定されたしきい値を超える場合、前記トランザクションを前記パイプラインにおいて実行されるように発行する前に、電圧偏差を軽減するための1つまたは複数の訂正措置を実施するステップと
    を含む、方法。
  2. 少なくとも、前記トランザクションに関連するエネルギー、および前記パイプラインにおいて実行されるように前に発行された1つまたは複数のトランザクションに関連するエネルギーに基づいて前記電圧偏差を推定するステップを含む、請求項1に記載の方法。
  3. 前記トランザクションの1つまたは複数の属性に基づいて前記トランザクションに関連するエネルギーを判定するステップを含む、請求項2に記載の方法。
  4. テーブルから前記1つまたは複数の属性の各々に関連するエネルギー値を判定し、かつ前記1つまたは複数の属性の前記エネルギー値を合計するステップをさらに含む、請求項3に記載の方法。
  5. 前記推定された電圧偏差が負方向において負の電圧偏差しきい値を超える場合に前記推定された電圧偏差がアンダーシュートであると判定するステップを含む、請求項1に記載の方法。
  6. 前記訂正措置は、前記パイプラインのエネルギーを低減させることを含む、請求項5に記載の方法。
  7. 前記パイプラインにおいて実行すべきトランザクションの発行をストールさせるステップを含む、請求項6に記載の方法。
  8. 前記トランザクションをスケジューリングする前に、前記訂正措置が前記電圧偏差を軽減したかどうかを判定するステップをさらに含む、請求項6に記載の方法。
  9. 前記推定された電圧偏差が正方向において正の電圧偏差しきい値を超える場合に前記推定された電圧偏差がオーバーシュートであると判定するステップを含む、請求項1に記載の方法。
  10. 前記訂正措置は、前記パイプラインのエネルギーを増大させることを含む、請求項9に記載の方法。
  11. 前記パイプラインにおいて実行すべきダミートランザクションまたはノーオペレーション(NOP)を発行するステップを含む、請求項10に記載の方法。
  12. 前記トランザクションをスケジューリングする前に、前記訂正措置が前記電圧偏差を軽減したかどうかを判定するステップをさらに含む、請求項10に記載の方法。
  13. 処理システムであって、
    トランザクションを受信し、かつ前記トランザクションをパイプラインにおいて実行されるように発行するように構成されるスケジューラと、
    前記パイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するように構成されるフィルタと、
    前記推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するためのしきい値比較器と
    を備え、
    前記スケジューラは、前記トランザクションが前記パイプラインにおいて実行されるように発行される前に、電圧偏差を軽減するように1つまたは複数の訂正措置を実施するように構成される、
    処理システム。
  14. 前記スケジューラは、1つまたは複数の受信されたトランザクションおよび前記1つまたは複数の受信されたトランザクションに関連する対応するエネルギーを蓄積するように構成される発行キューを備える、請求項13に記載の処理システム。
  15. 前記1つまたは複数の受信されたトランザクションの1つまたは複数の属性に基づいて前記1つまたは複数の受信されたトランザクションに関連するエネルギーを判定するように構成される論理をさらに備える、請求項14に記載の処理システム。
  16. 前記1つまたは複数の属性の各々に関連するエネルギー値を含むテーブルをさらに備え、前記論理は、前記テーブルから前記1つまたは複数の属性に関連するエネルギー値を判定し、前記1つまたは複数の属性に関連する前記エネルギー値を合計するように構成される、請求項15に記載の処理システム。
  17. 前記フィルタは、少なくとも、前記トランザクションに関連するエネルギー、および前記パイプラインにおいて実行されるように前に発行された1つまたは複数のトランザクションに関連するエネルギーに基づいて前記電圧偏差を推定するように構成される、請求項13に記載の処理システム。
  18. 前記しきい値比較器は、前記推定された電圧偏差が負方向において負の電圧偏差しきい値を超える場合に前記推定された電圧偏差がアンダーシュートであると判定するように構成されるアンダーシュートしきい値比較器である、請求項13に記載の処理システム。
  19. 前記スケジューラは、前記パイプラインにおけるエネルギーを低減させるように構成される、請求項18に記載の処理システム。
  20. 前記スケジューラは、前記パイプラインにおいて実行すべきトランザクションの発行をストールさせるように構成される、請求項19に記載の処理システム。
  21. 前記スケジューラは、前記訂正措置によって前記電圧偏差が軽減された場合に前記トランザクションをスケジューリングするように構成される、請求項18に記載の処理システム。
  22. 前記しきい値比較器は、前記推定された電圧偏差が正方向において正の電圧偏差しきい値を超える場合に前記推定された電圧偏差がオーバーシュートであると判定するように構成されるオーバーシュートしきい値比較器である、請求項13に記載の処理システム。
  23. 前記スケジューラは、前記パイプラインにおけるエネルギーを増大させるように構成される、請求項22に記載の処理システム。
  24. 前記スケジューラは、前記パイプラインにおいて実行すべきダミートランザクションまたはノーオペレーション(NOP)を発行するように構成される、請求項23に記載の処理システム。
  25. 前記スケジューラは、前記訂正措置によって前記電圧偏差が軽減された場合に前記トランザクションをスケジューリングするように構成される、請求項13に記載の処理システム。
  26. セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなるグループから選択されたデバイスに組み込まれる、請求項13に記載の処理システム。
  27. 処理システムであって、
    前記処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するための手段と、
    前記推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するための手段と、
    前記推定された電圧偏差が指定されたしきい値を超える場合、前記トランザクションが前記パイプラインにおいて実行されるように発行される前に、電圧偏差を軽減するための1つまたは複数の訂正措置を実施するための手段と
    を備える、処理システム。
  28. 少なくとも、前記トランザクションに関連するエネルギー、および前記パイプラインにおいて実行されるように前に発行された1つまたは複数のトランザクションに関連するエネルギーに基づいて前記電圧偏差を推定するための手段を備える、請求項27に記載の処理システム。
  29. 前記トランザクションの1つまたは複数の属性に基づいて前記トランザクションに関連するエネルギーを判定するための手段を備える、請求項27に記載の処理システム。
  30. プロセッサによって実行されたときに、前記プロセッサに、処理システムにおける電圧偏差を制御するための動作を実行させるコードを備える、非一時的コンピュータ可読記憶媒体であって、
    前記処理システムのパイプラインにおいてトランザクションが実行される場合に生じる電圧偏差を推定するためのコードと、
    前記推定された電圧偏差が指定されたしきい値を超えるかどうかを判定するためのコードと、
    前記推定された電圧偏差が前記指定されたしきい値を超える場合、前記トランザクションを前記パイプラインにおいて実行されるように発行する前に、電圧偏差を軽減するための1つまたは複数の訂正措置を実施するためのコードと
    を備える、非一時的コンピュータ可読記憶媒体。
JP2018514344A 2015-09-22 2016-09-08 処理システムにおける電圧偏差の制御 Pending JP2018529169A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/860,715 2015-09-22
US14/860,715 US10152101B2 (en) 2015-09-22 2015-09-22 Controlling voltage deviations in processing systems
PCT/US2016/050767 WO2017053078A1 (en) 2015-09-22 2016-09-08 Controlling voltage deviations in processing systems

Publications (1)

Publication Number Publication Date
JP2018529169A true JP2018529169A (ja) 2018-10-04

Family

ID=56959055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018514344A Pending JP2018529169A (ja) 2015-09-22 2016-09-08 処理システムにおける電圧偏差の制御

Country Status (8)

Country Link
US (1) US10152101B2 (ja)
EP (1) EP3353623A1 (ja)
JP (1) JP2018529169A (ja)
KR (1) KR20180058773A (ja)
CN (1) CN108027639A (ja)
CA (1) CA2996184A1 (ja)
TW (1) TW201716920A (ja)
WO (1) WO2017053078A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877670B1 (en) 2016-11-28 2020-12-29 Barefoot Networks, Inc. Dynamically reconfiguring data plane of forwarding element to adjust data plane throughput based on detected conditions
US10552250B2 (en) * 2017-10-10 2020-02-04 International Business Machines Corporation Proactive voltage droop reduction and/or mitigation in a processor core
KR20210045544A (ko) * 2019-10-16 2021-04-27 삼성전자주식회사 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩
US20220318056A1 (en) * 2021-03-30 2022-10-06 Advanced Micro Devices, Inc. Dynamic system power load management
KR20230012128A (ko) 2021-07-14 2023-01-26 중앙대학교 산학협력단 알츠하이머병 환자를 위한 광치료 장치 및 그 제어방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002878A (en) 1997-07-01 1999-12-14 Motorola, Inc. Processor power consumption estimator that using instruction and action formulas which having average static and dynamic power coefficients
US6775787B2 (en) * 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
US7200763B2 (en) 2003-10-09 2007-04-03 Sun Microsystems, Inc. Method and apparatus for controlling the power consumption of a semiconductor device
US7464278B2 (en) 2005-09-12 2008-12-09 Intel Corporation Combining power prediction and optimal control approaches for performance optimization in thermally limited designs
US8060765B1 (en) 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
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
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US7937563B2 (en) * 2008-05-27 2011-05-03 Advanced Micro Devices, Inc. Voltage droop mitigation through instruction issue throttling
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
WO2010093750A2 (en) 2009-02-12 2010-08-19 President And Fellows Of Harvard College Adaptive event-guided system and method for avoiding voltage emergencies
US8239700B2 (en) 2009-04-17 2012-08-07 Lsi Corporation Systems and methods for power dissipation control in a semiconductor device
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US9858077B2 (en) * 2012-06-05 2018-01-02 Qualcomm Incorporated Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media
US9606602B2 (en) * 2014-06-30 2017-03-28 Intel Corporation Method and apparatus to prevent voltage droop in a computer

Also Published As

Publication number Publication date
US20170083066A1 (en) 2017-03-23
WO2017053078A1 (en) 2017-03-30
KR20180058773A (ko) 2018-06-01
CN108027639A (zh) 2018-05-11
TW201716920A (zh) 2017-05-16
EP3353623A1 (en) 2018-08-01
US10152101B2 (en) 2018-12-11
CA2996184A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
JP2018529169A (ja) 処理システムにおける電圧偏差の制御
JP6154843B2 (ja) 電力制御方法および電力制御装置
JP5853301B2 (ja) プロセッサインストラクションの発行の絞り込み
US7937563B2 (en) Voltage droop mitigation through instruction issue throttling
JP5688462B2 (ja) 処理ノードの動的パフォーマンス制御
JP5777827B2 (ja) ポータブルコンピューティングデバイスにおけるバッテリ負荷管理のためのシステムおよび方法
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US20120254595A1 (en) Processor, information processing apparatus and control method thereof
US20100031075A1 (en) Memory Power Profiling
US9507410B2 (en) Decoupled selective implementation of entry and exit prediction for power gating processor components
CN104516475A (zh) 用于管理多核片上系统上的全局芯片功率的方法和装置
US20150186160A1 (en) Configuring processor policies based on predicted durations of active performance states
WO2013101189A1 (en) Multi-level cpu high current protection
US10712794B2 (en) Accurate calculation of consumption power of a processor caused by execution of a program
JP2019527867A (ja) モバイルデバイス上でのエネルギー効率のためのウェイクロックアウェアシステム全体のジョブスケジューリング
US11831159B2 (en) Systems, devices and methods for power management and power estimation
TW201349102A (zh) 運算模組、裝置及系統
KR101682985B1 (ko) 우선순위 기반 지능형 플랫폼 패시브 열 관리
JP5804507B2 (ja) 演算処理装置及び演算器同時実行制御方法
US9778960B2 (en) Thermal prioritized computing application scheduling
US9389919B2 (en) Managing workload distribution among computer systems based on intersection of throughput and latency models
TW202414204A (zh) 基於溫度之頻率節流

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323