Potenza consumata da una CPU


9

Credo la potenza di una CPU con corrente I e la tensione U è I · U .

Mi chiedo come sia derivata la seguente conclusione da Wikipedia ?

La potenza consumata da una CPU, è approssimativamente proporzionale alla frequenza della CPU e al quadrato della tensione della CPU:

P = CV 2 f

(dove C è capacità, f è frequenza e V è tensione).


2
È più adatto su Electronic.SE o Physics.SE o qui? Si prega di considerare la migrazione invece di chiudere
Tim

1
Cin quell'equazione c'è solo una costante, non capacità. In un certo senso potrebbe essere "capacità effettiva", poiché ha le unità giuste per la capacità, ma il fattore è sbagliato. Come altri hanno notato, 1/2manca, ma soprattutto, manca un coefficiente di carico, correlato alla frazione di gate che cambia ogni ciclo di clock. Chiamalo una costante di proporzionalità e lascialo a quello.
Ben Voigt,

1
@Ben - La linea (where C is capacitance, f is frequency and V is voltage). è citata dalla pagina WP, comunque.
Stevenvh,

3
@stevenvh, per favore dimmi che stai modificando e pubblicando una nuova versione del post che hai appena eliminato, stavo per darti un +1 e un commento chiedendoti solo di rimuovere i manufatti storici e creare un post chiaro e conciso.
Kortuk,

1
@Kortuk - Ho una risposta molto migliore e più dettagliata nella mia testa, non c'è tempo ora, lo posterò domani.
Stevenvh,

Risposte:


14

La risposta di MSalters è corretta all'80%. La stima viene dalla potenza media necessaria per caricare e scaricare un condensatore a tensione costante, attraverso un resistore. Questo perché una CPU, così come ogni circuito integrato, è un grande insieme di interruttori, ognuno dei quali guida un altro.

Fondamentalmente puoi modellare uno stadio come un inverter MOS (può essere più complicato, ma la potenza rimane la stessa) caricando la capacità del gate di ingresso di quello successivo. Quindi tutto dipende da un resistore che carica un condensatore e un altro che lo scarica (non allo stesso tempo ovviamente :)).

Le formule che ho intenzione di mostrare sono tratte da Digital Integrated Circuits - Una prospettiva progettuale di Rabaey, Chakandrasan, Nikolic.

Considera un condensatore caricato da un MOS:

inserisci qui la descrizione dell'immagine

l'energia prelevata dalla fornitura sarà

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

Mentre l'energia immagazzinata nel condensatore alla fine sarà

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

Naturalmente, non aspettiamo un tempo infinito per caricare e scaricare il condensatore, come sottolinea Steven. Ma non dipende nemmeno dal resistore, perché la sua influenza è sulla tensione finale del condensatore. Ma a parte questo, vogliamo una certa tensione nel gate seguente prima di considerare il transitorio. Quindi diciamo che è il 95% di Vdd e possiamo considerarlo.

Quindi, indipendentemente dalla resistenza di uscita del MOS, ci vuole metà dell'energia immagazzinata nel condensatore per caricarlo a tensione costante. L'energia immagazzinata nel condensatore verrà dissipata sul pMOS nella fase di scarica.

fS

P=EVDDt=EVDDfS=CLVDD2fS

α<1

Quindi la formula diventa

PTOT=αNCLVDD2fS

Piccola dimostrazione del motivo per cui R si distingue: come scrive Steven, l'energia nel condensatore sarà:

EC=VDD2C2(1e2TchargeRC)

quindi apparentemente, R è un fattore dell'energia immagazzinata nel condensatore, a causa del tempo di ricarica finito. Ma se diciamo che un gate deve essere caricato al 90% Vdd per completare una transizione, allora abbiamo un rapporto fisso tra Tcharge e RC, che è:

Tcharge=log(0.1)RC2=kRC

uno l'ha scelto, abbiamo di nuovo un'energia che è indipendente da R.

Si noti che lo stesso si ottiene integrando da 0 a kRC invece di infinito, ma i calcoli diventano leggermente più complicati.


ottima risposta tranne che mi manca qualche foto per verificare l'accuratezza tecnica con.
Kortuk,

Grazie! (1) Intendi ancora $ E_ {VDD} $ per $ E $? (2) Dove si divide per 2 nella formula per $ P $? (3) Nel circuito, la corrente continua corrente o corrente alternata?
Tim

@Tim sì, l'energia in un ciclo è Evdd perché è la carica necessaria per caricare il condensatore; la metà immagazzinata verrà dissipata in scarica. La corrente non è una delle due, è una corrente variabile che avrà la caratteristica esponenziale (simile ad una pinna) di caricare e scaricare il tappo.
clabacchio

Grazie! (1) Non riesco ancora a capire che non c'è divisione per 2 nella formula di $ E_C $, mentre c'è nella formula per $ E_VDD $. (2) Ho guardato Wikipedia, ma non sono riuscito a capire i concetti di DC e AC abbastanza bene da capire la tua ultima frase nel tuo commento. Potresti spiegarli e perché la corrente qui non è nessuno dei due?
Tim

@Tim Ec è diviso per 2, per motivi che derivano dalla fisica e che puoi derivare dall'equazione (che ho tagliato per brevità). Il segnale varia nel tempo, quindi (t), e non è né CA né CC, ma alla fine è più simile al primo. È imprevedibile poiché dipende dal funzionamento del cancello.
clabacchio

7

Ho postato un'altra risposta prima, ma non era buono, anche un linguaggio improprio, e voglio scusarmi con markrages.

Ci ho pensato sopra e penso che il mio problema qui sia che per me il testo citato suggerisce che la capacità è responsabile della dissipazione di potenza. Non è così. È resistivo.

inserisci qui la descrizione dell'immagine

VDDVSS

Primo Ben: sia la tensione che la corrente del condensatore variano esponenzialmente durante la carica. Il corrente

I=VDDRetRC

P=I2R=VDD2Re2tRC

e l'integrazione nel tempo ci fornisce energia dissipata nel resistore:

U=VDD2Rt=0e2tRCdt=VDD2RRC2=VDD2C2

R

t

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

R
RCTCLOCK

RR(t)R

CR

RCVDDVSSC

Rdi/dt


No d'accordo :). Il tuo paragrafo sul tempo finito è giusto, ma presuppone che fissiamo il tempo che diamo per la transizione, mentre ciò che è fisso è la tensione a cui supponiamo che la transizione sia terminata. Quindi il resistore scompare di nuovo, perché determina la velocità massima della CPU, ed è per questo che è meglio ridimensionare la capacità (uno dei motivi)
clabacchio

Nota che di solito lascio un grande margine di errore nelle mie risposte, ma questo è - quasi - copiato da un libro molto costoso :). Mi fido della sua precisione (concettuale) più di ogni altra, errori di battitura a parte.
clabacchio

@clabacchio - Ben è Ben Voigt, che ha commentato la mia altra risposta. Il resistore scompare nuovamente a causa del breve tempo RC. Ma non c'è motivo per cui non dovresti interrompere la ricarica a una velocità di clock superiore se una carica del 90% sarebbe sufficiente. Il mio libro molto costoso è la mia testa (a volte con l'aiuto di Mathematica) :-)
stevenvh

Il mio ragionamento è diverso: dico che non è perché t >> RC (sarebbe uno spreco di risorse), ma che t = kRC, dove k è un vincolo di progettazione che garantisce un'oscillazione della tensione sufficiente per essere robusta. Se usi sempre lo stesso k, quel fattore scompare (anche con la rima). La cosa sul libro era di chiarire che non sostengo la mia richiesta solo per l'arroganza
clabacchio

Meglio così com'è :-). Ho persino nascosto il contenuto agli utenti + 10k rappresentanti. Penso che Kortuk sia stato troppo positivo al riguardo. A proposito della RC, penso che stiamo dicendo la stessa cosa. Se il tuo k = 2.3 finisci con il mio 90%.
Stevenvh,

3

Il principale assorbimento di potenza nella CPU è causato dalla carica e scarica dei condensatori durante i calcoli. Queste cariche elettriche vengono dissipate nei resistori, trasformando l'energia elettrica associata in calore.

La quantità di energia in ciascun condensatore è C i / 2 · V 2 . Se questo condensatore viene caricato e scaricato f volte al secondo, l'energia in entrata e in uscita è C i / 2 · V 2 · f . Somma per tutti i condensatori di commutazione e sostituendo C = ΣC i / 2, si ottiene C · V 2 · f


Grazie! PERCHÉ C = ΣCi / 2, non C = ΣCi? In altre parole, come fai a far sparire la divisione per 2?
Tim

1
@Tim: pura questione di definizione. In pratica, il valore C di una CPU viene misurato direttamente.

In serie, 1 / C = \ sum_i 1 / C_i; in parallelo, C = \ sum_i, C_i. Né la tua formula C = 1/2 \ time \ sum_i C_i. Questa è la mia confusione.
Tim

1
@Tim: questo presuppone comunque che i condensatori siano cablati in parallelo ( sum_i). Con tutte le porte che accendono una CPU, questo non è un dato comunque. Ma il motivo principale per cui ho lasciato cadere 1/2 è perché sto usando un approccio ingegneristico, non un approccio di pura fisica. Una CPU non funziona comunque come un condensatore. Il Cvalore non è correlato a (dV/dt)/I; è semplicemente un contante osservato relativo a P , V e f .

@Tim: se mantieni 1/2, si annullerà e otterrai un valore diverso per la capacità. Ad esempio, risolvi per C, ottieni V^2·F/Po (1/2)·V^2·F/P. Ora, supponiamo che cambiate la tensione, la frequenza e la potenza. Con la prima equazione, ottieni V1^2·F1/P1 = V2^2·F2/P2e nell'altro caso ottieni (1/2)V1^2·F1/P1 = (1/2)V2^2·F2/P2qual è la stessa cosa.
David Schwartz,


0

Generalmente la corrente consumata da un dispositivo è proporzionale alla tensione. Poiché la potenza è la tensione * corrente, la potenza diventa proporzionale al quadrato della tensione.


1
Questo è tutt'altro che "generalmente". In effetti, esiste un nome speciale per tali dispositivi: carichi ohmici (dalla legge di Ohm, V = I · R)

0

La tua equazione è corretta per la potenza assorbita in un determinato istante. Ma la corrente assorbita dalla CPU non è costante. La CPU funziona a una certa frequenza e cambia regolarmente stato. Usa una certa quantità di energia per ogni cambio di stato.

Se capisci I come corrente RMS (la radice quadrata della media del quadrato della corrente), allora la tua equazione è corretta. Mettendo insieme questi, ottieni:

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

Quindi la corrente media varia linearmente con la tensione, la frequenza e la capacità. La potenza varia in base al quadrato della tensione di alimentazione CC.


Grazie! La mia domanda è: perché V · I (Rms) = C · V ^ 2 · F? Hai dei riferimenti per quella formula?
Tim

Non capisco esattamente cosa vuoi sapere.
David Schwartz,

Perché V · I (Rms) = C · V ^ 2 · F vero? Da dove lo impari?
Tim

È vero perché combina due equazioni di potenza, ognuna delle quali è corretta e misurano la stessa cosa. Questa Ideve essere la potenza RMS per P=V·Idarti la potenza media può essere banalmente provata con il calcolo da P = I^2·R.
David Schwartz,

1
@Tim: se dividi per due, devi solo raddoppiare la capacità e l'equazione funziona allo stesso modo. Se vuoi dividere per due, puoi farlo. Utilizzerai solo numeri di capacità che sono il doppio di quelli utilizzati da tutti gli altri e otterrai le stesse risposte. (Usiamo piedi da 12 pollici, ma puoi usare piedi da 6 pollici se lo desideri. Puoi ancora progettare auto, edifici e ponti. Li chiamerai semplicemente di dimensioni diverse da tutti gli altri.)
David Schwartz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.