Puissance consommée par un CPU

9

Je pense que la puissance d'un processeur avec un courant I et la tension U est I · U .

Je me demande comment la conclusion suivante de Wikipedia est dérivée?

La puissance consommée par un CPU est approximativement proportionnelle à la fréquence du CPU et au carré de la tension du CPU:

P = CV 2 f

(où C est la capacité, f est la fréquence et V est la tension).

Tim
la source
2
Est-il plus adapté sur Electronic.SE ou Physics.SE ou ici? Veuillez considérer la migration au lieu de fermer
Tim
1
Cdans cette équation est juste une constante, pas une capacité. Il pourrait en quelque sorte être une "capacité efficace", car il a les bonnes unités de capacité, mais le facteur est erroné. Comme d'autres l'ont remarqué, il 1/2manque, mais surtout, il manque un coefficient de charge, lié à la fraction de portes qui commutent à chaque cycle d'horloge. Appelez-le une constante de proportionnalité et restez-en là.
Ben Voigt
1
@Ben - La ligne (where C is capacitance, f is frequency and V is voltage). est cependant citée à partir de la page WP.
stevenvh
3
@stevenvh, dites-moi que vous modifiez et publiez une nouvelle version du message que vous venez de supprimer, j'étais sur le point de vous donner un +1 et un commentaire vous demandant simplement de supprimer les artefacts historiques et de faire un message clair et concis.
Kortuk
1
@Kortuk - J'ai une réponse bien meilleure et plus détaillée dans ma tête, pas de temps maintenant, je la posterai demain.
stevenvh

Réponses:

14

La réponse de MSalters est correcte à 80%. L'estimation provient de la puissance moyenne nécessaire pour charger et décharger un condensateur à tension constante, à travers une résistance. En effet, un CPU, ainsi que chaque circuit intégré, est un grand ensemble de commutateurs, chacun entraînant un autre.

Fondamentalement, vous pouvez modéliser une étape comme un onduleur MOS (cela peut être plus compliqué, mais la puissance reste la même) en chargeant la capacité de la porte d'entrée de la suivante. Donc, tout se résume à une résistance chargeant un condensateur, et une autre le déchargeant (pas en même temps bien sûr :)).

Les formules que je vais montrer sont tirées de Digital Integrated Circuits - A design perspective from Rabaey, Chakandrasan, Nikolic.

Considérons un condensateur chargé par un MOS:

entrez la description de l'image ici

l'énergie prélevée sur l'approvisionnement sera

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

Alors que l'énergie stockée dans le condensateur à la fin sera

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

Bien sûr, nous n'attendons pas un temps infini pour charger et décharger le condensateur, comme le souligne Steven. Mais il ne dépend même pas de la résistance, car son influence est sur la tension finale du condensateur. Mais cela mis à part, nous voulons une certaine tension dans la grille suivante avant d'envisager le transitoire. Disons donc que c'est 95% Vdd, et nous pouvons le prendre en compte.

Ainsi, indépendamment de la résistance de sortie du MOS, il faut la moitié de l'énergie que vous stockez dans le condensateur pour le charger à tension constante. L'énergie stockée dans le condensateur sera dissipée sur le pMOS dans la phase de décharge.

fS

P=EVDDt=EVDDfS=CLVDD2fS

α<1

Ainsi, la formule devient

PTOT=αNCLVDD2fS

Petite démonstration de la raison parce que R prend en compte: comme l'écrit Steven, l'énergie dans le condensateur sera:

EC=VDD2C2(1e2TchargeRC)

donc apparemment, R est un facteur de l'énergie stockée dans le condensateur, en raison du temps de charge fini. Mais si nous disons qu'une porte doit être chargée à 90% Vdd pour terminer une transition, alors nous avons un rapport fixe entre Tcharge et RC, qui est:

Tcharge=log(0.1)RC2=kRC

on l'a choisi, on a encore une énergie indépendante de R.

Notez que la même chose est obtenue en intégrant de 0 à kRC au lieu d'infini, mais les calculs deviennent légèrement plus compliqués.

clabacchio
la source
excellente réponse sauf qu'il manque des photos pour que je vérifie l'exactitude technique avec.
Kortuk
Merci! (1) Voulez-vous toujours dire $ E_ {VDD} $ par $ E $? (2) Où divise-t-on par 2 dans la formule pour $ P $? (3) Dans le circuit, le courant est-il continu ou alternatif?
Tim
@Tim oui, l'énergie dans un cycle est Evdd car c'est la charge nécessaire pour charger le condensateur; la moitié stockée se dissipera en décharge. Le courant n'est ni l'un ni l'autre, c'est un courant variable qui aura la caractéristique exponentielle (en forme d'ailette) de charger et décharger le capuchon.
clabacchio
Merci! (1) Je ne comprends toujours pas très bien qu'il n'y a pas de division par 2 dans la formule de $ E_C $, alors qu'il y a dans la formule de $ E_VDD $. (2) J'ai regardé Wikipédia, mais je ne pouvais pas assez bien comprendre les concepts de DC et AC pour comprendre votre dernière phrase dans votre commentaire. Pourriez-vous les expliquer et pourquoi le courant ici n'est ni l'un ni l'autre?
Tim
@Tim Ec est divisé par 2, pour des raisons qui viennent de la physique et que vous pouvez dériver de l'équation (que j'ai coupée par souci de concision). Le signal varie dans le temps, donc (t), et n'est ni AC ni DC, mais finalement plus similaire au premier. C'est imprévisible car dépend du fonctionnement de la porte.
clabacchio
7

J'ai posté une autre réponse auparavant, mais ce n'était pas bon, également un langage incorrect, et je tiens à m'excuser auprès des markrages.

J'y ai réfléchi et je pense que mon problème ici est que pour moi le texte cité suggère que la capacité est responsable de la dissipation de puissance. Ce qui n'est pas le cas. C'est résistif.

entrez la description de l'image ici

VDDVSS

Premier avantage: la tension et le courant du condensateur varient de façon exponentielle pendant la charge. Le courant

I=VDDRetRC

P=I2R=VDD2Re2tRC

et l'intégration dans le temps nous donne de l'énergie dissipée dans la résistance:

U=VDD2Rt=0e2tRCdt=VDD2RRC2=VDD2C2

R

t

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

R
RCTCLOCK

RR(t)R

CR

RCVDDVSSC

Rdi/dt

stevenvh
la source
Non d'accord :). Votre paragraphe sur le temps fini est juste, mais il suppose que nous fixons le temps que nous donnons pour la transition, tandis que ce qui est fixe est la tension à laquelle nous supposons que la transition est terminée. Ainsi, la résistance disparaît à nouveau, car elle détermine la vitesse maximale du CPU, et c'est pourquoi il vaut mieux réduire la capacité (l'une des raisons)
clabacchio
Notez que je laisse généralement une grande marge pour les erreurs dans mes réponses, mais cela est - presque - copié à partir d'un livre très cher :). Je fais confiance à sa précision (conceptuelle) plus qu'à toute autre, à part les fautes de frappe.
clabacchio
@clabacchio - Ben est Ben Voigt, qui a commenté mon autre réponse. La résistance disparaît à nouveau en raison du court temps RC. Mais il n'y a aucune raison de ne pas interrompre la charge à une vitesse d'horloge plus élevée si une charge de 90% serait suffisante. Mon livre très cher est ma tête (parfois avec l'aide de Mathematica) :-)
stevenvh
Mon raisonnement est différent: je dis que ce n'est pas parce que t >> RC (ce serait un gaspillage de ressources), mais que t = kRC, où k est une contrainte de conception qui assure une oscillation de tension suffisante pour être robuste. Si vous utilisez toujours le même k, ce facteur disparaît (également avec la rime). La chose à propos du livre était de préciser que je ne soutiens pas ma demande juste pour arrogance
clabacchio
Mieux c'est :-). J'ai même caché le contenu des utilisateurs de + 10k rep. Je pense que Kortuk était trop positif à ce sujet. À propos du CR, je pense que nous disons la même chose. Si votre k = 2,3, vous vous retrouvez à mes 90%.
stevenvh
3

La principale consommation d'énergie des CPU est causée par la charge et la décharge des condensateurs lors des calculs. Ces charges électriques sont dissipées dans des résistances, transformant l'énergie électrique associée en chaleur.

La quantité d'énergie dans chaque condensateur est C i / 2 · V 2 . Si ce condensateur est chargé et déchargé f fois par seconde, l'énergie entrant et sortant est C i / 2 · V 2 · f . La somme de tous les condensateurs de commutation et en remplaçant C = ΣC i / 2, vous obtenez C · V 2 · f

MSalters
la source
Merci! POURQUOI C = ΣCi / 2, pas C = ΣCi? En d'autres termes, comment faire disparaître la division par 2?
Tim
1
@Tim: Pure question de définition. En pratique, la valeur C d'une CPU est mesurée directement.
En série, 1 / C = \ sum_i 1 / C_i; en parallèle, C = \ sum_i, C_i. Votre formule n'est pas non plus C = 1/2 \ time \ sum_i C_i. C'est ma confusion.
Tim
1
@Tim: Cela suppose que les condensateurs sont câblés en parallèle de toute façon ( sum_i). Avec toutes les portes activant un CPU, ce n'est pas une donnée de toute façon. Mais la principale raison pour laquelle j'ai abandonné le 1/2 est parce que j'utilise une approche d'ingénierie, pas une approche de pure physique. Un CPU n'agit pas comme un condensateur de toute façon. La Cvaleur n'est pas liée à (dV/dt)/I; c'est simplement un contant observé reliant P , V et f .
@Tim: Si vous gardez le 1/2, il s'annulera, vous obtiendrez simplement une valeur différente pour la capacité. Par exemple, résolvez pour C, vous obtenez soit V^2·F/Pou (1/2)·V^2·F/P. Supposons maintenant que vous modifiez la tension, la fréquence et la puissance. Avec la première équation, vous obtenez V1^2·F1/P1 = V2^2·F2/P2et dans l'autre cas, vous obtenez (1/2)V1^2·F1/P1 = (1/2)V2^2·F2/P2ce qui est la même chose.
David Schwartz
2

La capacité est mesurée en Farads , qui est Coulombs par Volt.

La fréquence est mesurée en Hertz, qui est des unités par seconde.

En réduisant, nous obtenons des Coulomb-Volts par seconde, plus communément appelés Watts , une unité de puissance.

Ignacio Vazquez-Abrams
la source
1
Cela ne répond pas vraiment à la raison.
Kortuk
0

Généralement, le courant consommé par un appareil est proportionnel à la tension. Puisque la puissance est un courant de tension *, la puissance devient proportionnelle au carré de la tension.

Mark Ransom
la source
1
C'est loin d'être "généralement". En fait, il existe un nom spécial pour de tels appareils: charges ohmiques (d'après la loi d'Ohm, V = I · R)
0

Votre équation est correcte pour la puissance consommée à un instant particulier. Mais le courant consommé par le CPU n'est pas constant. Le processeur fonctionne à une certaine fréquence et change régulièrement d'état. Il utilise une certaine quantité d'énergie pour chaque changement d'état.

Si vous comprenez I comme le courant RMS (la racine carrée de la moyenne du carré du courant), alors votre équation est correcte. En les assemblant, vous obtenez:

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

Ainsi, le courant moyen varie linéairement avec la tension, la fréquence et la capacité. La puissance varie avec le carré de la tension d'alimentation CC.

David Schwartz
la source
Merci! Ma question est pourquoi V · I (Rms) = C · V ^ 2 · F? Avez-vous des références pour cette formule?
Tim
Je ne comprends pas vraiment ce que tu veux savoir.
David Schwartz
Pourquoi V · I (Rms) = C · V ^ 2 · F est-il vrai? D'où l'avez-vous appris?
Tim
C'est vrai parce qu'il combine deux équations de puissance, chacune d'elles est correcte et qui mesure la même chose. Cela Idoit être une puissance RMS car P=V·Ipour vous donner une puissance moyenne, cela peut être prouvé de manière triviale avec le calcul de P = I^2·R.
David Schwartz
1
@Tim: Si vous divisez par deux, il vous suffit de doubler la capacité et l'équation fonctionne de la même manière. Si vous voulez diviser par deux, vous le pouvez. Vous utiliserez simplement des nombres de capacité qui sont le double de ce que tout le monde utilise et vous obtiendrez les mêmes réponses. (Nous utilisons des pieds de 12 pouces, mais vous pouvez utiliser des pieds de 6 pouces si vous le souhaitez. Vous pouvez toujours concevoir des voitures, des bâtiments et des ponts. Vous les appellerez simplement des tailles différentes de toutes les autres.)
David Schwartz