Perché i processori funzionanti consumano più energia elettrica?


16

Indietro nella notte dei tempi in cui ho iniziato a scrivere codice, almeno per quanto ne so, i processori hanno usato tutti una quantità fissa di potenza. Non esisteva che un processore fosse "inattivo".

In questi giorni ci sono tutti i tipi di tecnologie per ridurre il consumo energetico quando il processore non è molto occupato, principalmente riducendo dinamicamente la frequenza di clock.

La mia domanda è: perché l'esecuzione a una frequenza di clock inferiore consuma meno energia?

La mia immagine mentale di un processore è di una tensione di riferimento (diciamo 5V) che rappresenta un binario 1 e 0V che rappresenta 0. Pertanto tendo a pensare a un 5V costante applicato su tutto il chip, con le varie porte logiche che disconnettono questa tensione quando "spento", significa che viene utilizzata una quantità costante di potenza. La velocità con cui queste porte vengono accese e spente sembra non avere alcuna relazione con la potenza utilizzata.

Non ho dubbi che questa sia una foto irrimediabilmente ingenua, ma non sono un ingegnere elettrico. Qualcuno può spiegare cosa sta realmente succedendo con il ridimensionamento di frequenza e come risparmia energia. Esistono altri modi in cui un processore consuma più o meno energia a seconda dello stato? ad esempio utilizza più energia se sono aperte più porte?

In che modo i processori mobili / a bassa potenza sono diversi dai loro cugini desktop? Sono solo più semplici (meno transistor?) O c'è qualche altra differenza fondamentale nel design?


8
Ti sbagli, i processori non hanno mai usato la stessa quantità di energia nel tempo, era sempre variabile. Semplificando significativamente le cose, si può presumere che il potere venga speso solo per cambiare un singolo valore di flip-flop. Pertanto, più calcolo viene eseguito al secondo, più registri interni cambiano i loro valori, maggiore è la potenza spesa.

2
Se ricordo correttamente i miei dispositivi elettronici, la maggior parte dell'energia "sprecata" (alias "calore") è una perdita (alias (piccole) quantità di flusso di corrente dove non dovrebbe avvenire alcun flusso). Ciò accade di più quando sei a.) Usando una tensione più alta eb) passando a frequenze più alte. La maggior parte delle CPU moderne riduce sia la tensione che la frequenza nei loro stati di bassa potenza (e anche se riducono solo una di quelle, è comunque un guadagno).

3
@ SK-logic: molti processori storici usano la logica ECL, che consuma all'incirca la stessa quantità di energia indipendentemente dalla frequenza di clock. Seymour Cray ha progettato CDC 8600, Cray-1, Cray X-MP, Cray Y-MP, Cray T90 per utilizzare ECL. L' articolo sulla logica ECL di Wikipedia ne elenca alcuni altri di altre società. Stai dicendo che quelle macchine non sono mai esistite o stai dicendo che non contano come processori?
David

I processori inoltre risparmiano energia utilizzando un'istruzione di arresto. Il kernel del sistema operativo può impostare un timer per riattivare il processore ed eseguire le istruzioni per far addormentare il processore.
Oskar Skog,

Risposte:


24

La velocità con cui queste porte vengono accese e spente sembra non avere alcuna relazione con la potenza utilizzata.

Questo è dove ti sbagli. Fondamentalmente, ogni gate è un condensatore con una capacità incredibilmente piccola. Accendendolo e spegnendolo "collegando" e "scollegando" la tensione si muove una carica elettrica incredibilmente piccola dentro o fuori dal cancello - questo è ciò che lo fa agire diversamente.

E una carica elettrica in movimento è una corrente che utilizza energia. Tutte quelle piccole correnti da miliardi di porte che vengono scambiate miliardi di volte al secondo si sommano un bel po '.


Questo è ciò che sta accadendo nella memoria: memoria DRAM. La memoria del processore (la cache) utilizza SRAM che non è implementato con condensatori ...

7
@ m3th0dman: non sto parlando di elementi intesi come condensatori. Ogni transistor, ogni elemento all'interno della CPU ha una capacità.

7

Come sottolinea il commento di SK-logic, la maggior parte del potere viene realmente speso per commutare il flip-flop piuttosto che uno stato stazionario.

Per ridurre dinamicamente ci sono due cose principali che puoi fare IIRC.

  1. se intere aree di un chip non vengono sincronizzate, è possibile disattivare completamente l'alimentazione per tali aree

  2. L'albero dell'orologio stesso è uno dei più grandi scarichi di potenza nel sistema, in gran parte in quanto è la parte di commutazione più veloce di un sistema. Quindi ridurre la potenza nell'albero dell'orologio stesso è significativo.


Cos'è l'albero dell'orologio?
Akaltar,

2
@akaltar il totale di tutte le linee che distribuiscono il segnale di clock a ogni elemento del processore che deve essere sincronizzato con il clock.
Michael Borgwardt,

6

La potenza consumata da un circuito elettronico ha due componenti:

  • la perdita, che è più o meno indipendente dalla costante di frequenza e dipenderà dalla tecnologia e dalla tensione di lavoro;
  • la potenza di commutazione, che dipende dalla frequenza (è dovuta al carico e scarico di varie capacità, transistor e fili)

Al fine di ridurre i consumi, i progettisti di processori utilizzano diverse tecniche:

  • modificando la frequenza in base al carico (questo agirà solo sulla potenza di commutazione)
  • ridurre la potenza o addirittura spegnere parti dei circuiti quando non sono necessari

Queste tecniche hanno come conseguenza che, a seconda del carico, si potrebbe stare meglio, dal POV del consumo di energia, sia riducendo la frequenza o facendo uno "sprint" a tutta velocità e quindi tagliando un sottoinsieme dei circuiti.


È anche possibile che la riduzione della frequenza consenta di ridurre la tensione operativa (poiché i transistor sono un po 'più lenti allora) per ridurre le perdite.
TEMLIB,

0

L'esecuzione a una frequenza di clock inferiore non influisce sull'energia richiesta per eseguire un'attività fissa. Potrebbe anche aumentare l'energia richiesta se si tiene conto delle perdite e si è in grado di spegnersi completamente.

Laddove una frequenza di clock inferiore fa risparmiare energia, è anche possibile ridurre la tensione di funzionamento. Ridurre la tensione spesso consente di risparmiare energia sufficiente per compensare la necessità di rimanere attivi più a lungo.


Non sono d'accordo Sean. Abbassare la frequenza di clock riduce tutte le perdite di commutazione parassite coinvolte nell'intera catena di clock, il che è enorme in una CPU tipica. Il mio Atom netbook funziona a 1GHz, se dell'acceleratore la CPU fino a 500 MHz si corre più fresco e richiama visibilmente meno energia dalla dalla rete, e si fa influenzare il compito - ci vuole il doppio del tempo per essere completato.
rdtsc,

2
@rdtsc Attento ora. Sean scrive energia , non potere .
pipe

@rdtsc Stai confondendo potenza ed energia. Primo ordine, un'attività specifica richiederà un numero fisso di cicli di clock. Pensa a come una batteria risponderà al tuo compito nei due diversi punti operativi.
Sean Houlihane,

Ah si Sto ancora lavorando alla prima tazza di caffè qui. :) Dovrei misurarlo, ma penso che l' energia utilizzata sarà effettivamente leggermente maggiore con una frequenza di clock inferiore, dal momento che una CPU moderna ha così tanti eventi periodici da gestire al secondo. Ci saranno più di questi per un orologio più lento e più significa un tempo più lungo per il completamento dell'attività.
rdtsc,

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.