CPUが消費する電力


9

電流Iと電圧Uの CPUの電力はI・Uだと思います。

ウィキペディアから次の結論がどのように導き出されるのでしょうか?

CPUによって消費される電力は、CPU周波数とCPU電圧の2乗にほぼ比例します。

P = CV 2 f

(Cは静電容量、fは周波数、Vは電圧です)。


2
Electronic.SEまたはPhysics.SEまたはここに適していますか?終了する代わりに移行を検討してください
Tim

1
Cその方程式では、静電容量ではなく、一定の定数です。静電容量に適切な単位があるため、「実効静電容量」になる可能性がありますが、係数は間違っています。他の人が気づいているように、1/2欠落がありますが、重要なことに、各クロックサイクルを切り替えるゲートの割合に関連して、負荷係数が欠落しています。それを比例定数と呼び、そのままにしておきます。
Ben Voigt

1
@Ben- ただし、この行(where C is capacitance, f is frequency and V is voltage). WPページから引用されています。
stevenvh

3
@stevenvh、削除したばかりの投稿の新しいバージョンを編集して投稿していることをお知らせください。私は、+ 1と、歴史的な遺物を削除して1つの明確な簡潔な投稿を求めるコメントを提供しようとしていました。
Kortuk

1
@Kortuk-私は頭の中ではるかに良い、より詳細な答えを持っています、今は時間がないので、明日投稿します。
stevenvh

回答:


14

MSaltersの回答は80%正解です。推定値は、抵抗器を介して定電圧でコンデンサを充電および放電するために必要な平均電力から得られます。これは、CPUとすべての集積回路がスイッチの大きな集合体であり、それぞれが別のスイッチを駆動しているためです。

基本的に、次の段の入力ゲート容量を充電するMOSインバーターとしてステージをモデル化できます(より複雑になる可能性がありますが、電力は変わりません)。したがって、すべてはコンデンサを充電する抵抗と、それを放電する抵抗になります(もちろん同時にではありません:))。

これから紹介する数式は、デジタル集積回路 -Rabaey、Chakandrasan、Nikolicのデザインの視点から取ったものです。

MOSによって充電されたコンデンサを考えます。

enter image description here

供給から取られるエネルギーは

EVDD=0iVDD(t)VDDdt=VDD0CLdvoutdtdt=CLVDD0VDDdvout=CLVDD2

最後にコンデンサに蓄えられるエネルギーは

EC=0iVDD(t)voutdt=...=CLVDD22

もちろん、Stevenが指摘するように、コンデンサを充電および放電するために無限の時間を待つことはありません。しかし、その影響はコンデンサの最終的な電圧に影響するため、抵抗に依存することすらありません。しかしそれはさておき、トランジェントオーバーを考慮する前に、次のゲートから特定の電圧が必要です。それでそれが95%Vddであるとしましょう、そしてそれを除外することができます。

したがって、MOSの出力抵抗とは無関係に、コンデンサに蓄積したエネルギーの半分を一定電圧で充電する必要があります。コンデンサに蓄積されたエネルギーは、放電フェーズでpMOSで消費されます。

スイッチングサイクルにL-> HとH-> Lの遷移があり、このインバーターがサイクルを完了する周波数をと定義すると、この単純なゲートの電力損失は次のようになります。fS

P=EVDDt=EVDDfS=CLVDD2fS

Nゲートがある場合は、電力にNを掛ければ十分です。ここで、複雑な回路の場合、すべてのゲートが同じ周波数で通流するわけではないため、状況は少し複雑になります。パラメータは、各サイクルで通勤するゲートの平均比率として定義できます。α<1

したがって、式は次のようになります

PTOT=αNCLVDD2fS

Rが要因となる理由の小さなデモ:スティーブンが書いているように、コンデンサーのエネルギーは次のようになります:

EC=VDD2C2(1e2TchargeRC)

明らかに、充電時間は有限であるため、Rはコンデンサに蓄積されたエネルギーの係数です。しかし、遷移を完了するためにゲートを90%Vddに充電する必要があると言う場合、TchargeとRCの間の比率は次のように固定されています。

Tcharge=log(0.1)RC2=kRC

それを選んだ人には、Rに依存しないエネルギーが再びあります。

同じことは、無限ではなく0からkRCまでの積分で得られますが、計算は少し複雑になります。


技術的な正確さを確認するための写真が見落とされることを除いて、すばらしい答えです。
Kortuk

ありがとう!(1)$ E_による$ E_ {VDD} $の意味ですか?(2)$ P $の数式で2で除算する場所はどこですか?(3)回路上、電流は直流ですか、それとも交流ですか?
Tim

@Timはい、サイクルのエネルギーはEvddです。これは、コンデンサを充電するために必要な電荷だからです。保管された半分は放電で消散します。電流は両方ともではなく、キャップの充電と放電の指数特性(フィンのような)を持つ可変電流です。
クラバッキオ

ありがとう!(1)$ E_VDD $の式にはありますが、$ E_C $の式には2による除算がないことはまだよくわかりません。(2)ウィキペディアを見ましたが、コメントの最後の文を理解するのに十分なDCおよびACの概念を理解できませんでした。それらについて説明してもらえますか、また、なぜ現在の電流がそれらのどちらでもないのですか?
Tim

@Tim Ecは2で除算されます。これは、物理学に由来する理由と、方程式(簡略化のために省略)から導出できるためです。信号は時間とともに変化するため、(t)、ACでもDCでもありませんが、最終的には前者に似ています。ゲートの操作に依存するため、予測できません。
clabacchio

7

以前に別の回答を投稿しましたが、それは良くなく、不適切な言葉遣いだったので、大騒ぎをお詫びしたいと思います。

私はこれを考えていましたが、ここでの私の問題は、引用されたテキストが静電容量が電力消費の原因であると示唆していることだと思います。そうではありません。それは抵抗力があります。

enter image description here

VDDVSS

最初のベン:充電中にコンデンサの電圧と電流の両方が指数関数的に変化します。現在

I=VDDRetRC

P=I2R=VDD2Re2tRC

時間をかけて積分すると、抵抗で消費されるエネルギーが得られます。

U=VDD2Rt=0e2tRCdt=VDD2RRC2=VDD2C2

R

t

U=VDD2Rt=0t1e2tRCdt=VDD2C2(1e2tRC)

R
RCTCLOCK

RR(t)R

CR

RCVDDVSSC

Rdi/dt


同意しない:)。有限の時間についてのあなたの段落は正しいですが、それは私たちが遷移に与える時間を固定することを想定していますが、修正されるのは遷移が終了したと想定する電圧です。したがって、抵抗はCPUの最大速度を決定するため、抵抗は再びなくなります。その理由は、静電容量を
小さくする

通常、私は回答のエラーに大きなマージンを残していますが、これは(ほとんど)非常に高価な本からコピーされたものです:)。私は、他のどんなタイプミスよりもその(概念的な)正確さを信頼しています。
clabacchio

@clabacchio-ベンはベン・フォイトで、私の別の回答にコメントしています。RC時間が短いため、抵抗は再びなくなります。しかし、90%の充電で十分な場合に、より高いクロック速度で充電を中断してはならない理由はありません。私の非常に高価な本は私の頭です(時々Mathematicaの助けを借りて):-)
stevenvh

私の推論は異なります。それは、t >> RC(リソースの浪費になる)ではないからですが、t = kRCです。ここで、kは、十分な電圧スイングを堅牢にするための設計制約です。常に同じkを使用すると、その要因はなくなります(韻でも)。本についてのことは、傲慢のためだけに私の主張を支持しないことを明確にすることでした
clabacchio

それがより良い方法です:-)。+ 10k担当者のユーザーからコンテンツを隠しました。コルトゥクはあまりにも肯定的だったと思います。RCについても、同じことを言っていると思います。k = 2.3の場合、私の90%になります。
stevenvh

3

CPUの主な消費電力は、計算中のコンデンサの充電と放電によって発生します。これらの電荷は抵抗で消費され、関連する電気エネルギーを熱に変えます。

各コンデンサのエネルギー量はC i / 2・V 2です。このコンデンサが毎秒f回充電および放電される場合、入出力されるエネルギーはC i / 2・Vです。 2・fです。すべてのスイッチングコンデンサの合計と置き換えるC =ΣC I / 2は、あなたが得る V・Cを2・F


ありがとう!なぜC =ΣCiではなくC =ΣCi?つまり、2による除算をどのようにして消滅させるのですか。
Tim

1
@ティム:純粋に定義の問題。実際には、CPUのC値は直接測定されます。

シリーズでは、1 / C = \ sum_i 1 / C_i; 並行して、C = \ sum_i、C_i。また、式C = 1/2 \ time \ sum_i C_iでもありません。これは私の混乱です。
Tim

1
@ティム:それはコンデンサが並列接続されていると仮定している(sum_i)。すべてのゲートがCPUで切り替えられるので、これはとにかく与えられたものではありません。しかし、1/2を外した主な理由は、純粋な物理的アプローチではなくエンジニアリングアプローチを使用しているためです。いずれにせよ、CPUはコンデンサとして機能していません。C値は関係ありません(dV/dt)/I。これは、PV、およびfに関連する観測された定数です。

@Tim:1/2を維持すると、キャンセルされるだけで、静電容量の値が異なります。たとえば、Cを解くと、V^2·F/Pまたはのいずれかが得られます(1/2)·V^2·F/P。ここで、電圧、周波数、電力を変更するとします。最初の方程式では、同じ結果V1^2·F1/P1 = V2^2·F2/P2が得られます(1/2)V1^2·F1/P1 = (1/2)V2^2·F2/P2
David Schwartz


0

一般に、デバイスで消費される電流は電圧に比例します。電力は電圧*電流なので、電力は電圧の2乗に比例します。


1
それは「一般的に」とはほど遠い。実際、そのようなデバイスには特別な名前があります。オーミックロード(オームの法則から、V = I・R)

0

あなたの方程式は、特定の瞬間に引き出される力に対して正しいです。しかし、CPUが引き出す電流は一定ではありません。CPUは一定の頻度で実行されており、定期的に状態を変更しています。状態の変化ごとに一定の電力を使用します。

IをRMS電流(電流の2乗の平均の平方根)として理解できれば、方程式は正しいです。これらをまとめると、次のようになります。

V・I(Rms)= C・V ^ 2・F
I(Rms)= C・V・F

したがって、平均電流は、電圧、周波数、および静電容量に比例して変化します。電力は、DC電源電圧の2乗で変化します。


ありがとう!私の質問は、なぜV・I(Rms)= C・V ^ 2・Fですか?その式の参考文献はありますか?
Tim

知りたいことがよくわかりません。
David Schwartz

V・I(Rms)= C・V ^ 2・Fはなぜ真ですか?どこから学びますか?
Tim

これは、2つのべき乗方程式を組み合わせているため、真実です。それぞれの方程式は正しく、同じものを測定します。これIはRMSパワーであるP=V·I必要があります。平均パワーを得るには、からの計算で簡単に証明できますP = I^2·R
David Schwartz

1
@Tim:2で割った場合、静電容量を2倍にすれば、方程式は同じように機能します。2で割りたい場合は可能です。他の人が使う容量の2倍の容量値を使用するだけで、同じ答えが得られます。(12インチフィートを使用しますが、必要に応じて6インチフィートを使用することもできます。車、建物、橋を設計することはできます。他の人とは異なるサイズと呼ぶだけです。)
David Schwartz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.