Perché un orologio più veloce richiede più energia?


30

Se si overclocca un microcontrollore, si surriscalda.

Se si overclocca un microcontrollore, è necessaria una maggiore tensione.

In un certo senso ha senso: sta facendo più calcoli, quindi ha bisogno di più energia (ed essendo meno che perfetto, parte di quell'energia si dissipa come calore).

Tuttavia, da un semplice vecchio livello di legge di Ohm elettricità e magnetismo, cosa sta succedendo?

Perché la frequenza di clock ha a che fare con la dissipazione di potenza o la tensione?

Per quanto ne so, la frequenza di AC non ha nulla a che fare con la sua tensione o potenza, e un orologio è solo una super-posizione di un DC e un (quadrato) AC. La frequenza non influisce sul DC.

C'è qualche equazione relativa alla frequenza e alla tensione di clock o alla frequenza e alla potenza di clock?

Voglio dire, un oscillatore ad alta velocità ha bisogno di più tensione o potenza di uno a bassa velocità?


2
Grazie per le ottime risposte. Un aspetto critico che mi mancava è che il CMOS (stile Atmel da 1 MHz) in realtà non usa molta corrente quando non sta facendo nulla. Il TTL tende a usare sempre la corrente, e questo è più quello che stavo immaginando. Mi piace molto la risposta di ricarica del condensatore; questo fornisce una ragione molto più chiara per cui i "calcoli" dovrebbero richiedere energia. Vorrei poter accettare più risposte.
Jack Schmidt,

Risposte:


38

La tensione richiesta è influenzata in modo significativamente maggiore rispetto alla velocità di clock, ma si è corretti, per velocità più elevate sono necessarie tensioni più elevate in generale.

Perché aumenta il consumo di energia?

Questo è molto più disordinato di un semplice circuito, ma puoi pensare che sia simile a un circuito RC.

Circuito RC equivalente

A CC un circuito RC non consuma energia. A una frequenza di infinito, che non è raggiungibile, ma puoi sempre risolverlo teoricamente, il condensatore agisce come un corto e ti rimane un resistore. Questo significa che hai un carico semplice. Quando la frequenza diminuisce, il condensatore immagazzina e scarica la potenza causando una quantità minore di potenza dissipata nel complesso.

Che cos'è un microcontrollore?

Al suo interno è costituito da molti MOSFET in una configurazione che chiamiamo CMOS .

Se si tenta di modificare il valore del gate di un MOSFET, si sta semplicemente caricando o scaricando un condensatore. Questo è un concetto che faccio fatica a spiegare agli studenti. Il transistor fa molto, ma a noi sembra solo un condensatore dal gate. Ciò significa che in un modello il CMOS avrà sempre un carico di capacità.

Wikipedia ha un'immagine di un inverter CMOS che farò riferimento.

Schema dell'inverter CMOS

L'inverter CMOS ha un'uscita etichettata Q. All'interno di un microcontrollore l'uscita guiderà altre porte logiche CMOS. Quando l'ingresso A passa da alto a basso, la capacità su Q deve essere scaricata attraverso il transistor in basso. Ogni volta che si carica un condensatore, viene visualizzato il consumo di energia. Puoi vederlo su Wikipedia sotto la commutazione di potenza e la perdita .

Perché la tensione deve salire?

All'aumentare della tensione, è più semplice guidare la capacità fino alla soglia della logica. So che sembra una risposta semplicistica, ma è così semplice.

Quando dico che è più facile guidare la capacità, intendo che sarà guidata più velocemente tra le soglie, come dice la mazurnificazione:

Con una maggiore capacità di pilotaggio del transistor MOS aumenta anche (Vg più grande). Ciò significa che la R effettiva da RC diminuisce ed è per questo che il gate è più veloce.

In relazione al consumo di energia, a causa di piccoli transistor c'è una grande perdita attraverso la capacità del gate, Mark ha avuto un po 'da aggiungere al riguardo:

una tensione più elevata provoca una corrente di dispersione più elevata. Con un elevato numero di transistor, la corrente di dispersione della CPU desktop può rappresentare la maggior parte della dissipazione di potenza. man mano che le dimensioni del processo diminuiscono e il conteggio dei transistor aumenta, la corrente di dispersione diventa sempre più la statistica sull'uso di potenza critica.


3
coppie cose che aggiungerei: una tensione più alta produce una corrente di dispersione più elevata. Con un elevato numero di transistor, la corrente di dispersione della CPU desktop può rappresentare la maggior parte della dissipazione di potenza. man mano che le dimensioni del processo diminuiscono e il conteggio dei transistor aumenta, la corrente di dispersione diventa sempre più la statistica sull'uso di potenza critica.
Segna il

2
In secondo luogo, una tensione più elevata consente ai transistor di passare più rapidamente a causa della carica dei condensatori. Sappiamo che un condensatore si carica al 63% della tensione di ingresso in 1 costante di tempo, quindi se aumentiamo la tensione di ingresso, il 63% di tale tensione è ovviamente più alto, il che significa che il transistor impiegherà meno tempo a caricarsi sulla tensione ON per il transistor. Quindi la tensione più alta non rende la commutazione più semplice, ma piuttosto più veloce.
Segna il

Intendevo più velocemente quando dicevo più facilmente. Lasciami correggere e aggiungi il tuo preventivo extra.
Kortuk,

2
La parte sul perché l'aumento della tensione diminuisce il tempo di commutazione non è corretta. La soglia del gate CMOS cambierà anche con la tensione di alimentazione (e entro un ragionevole intervallo di alimentazione sarà più o meno uguale alla frazione costante dell'alimentazione, ad esempio il 50%). Poiché la variazione percentuale della tensione non dipende dall'alimentazione (un RC sarà sempre ~ 63% indipendentemente dall'alimentazione), questo non è il motivo per cui l'alimentazione viene misurata. Con una maggiore capacità di pilotaggio del transistor MOS aumenta anche (Vg più grande). Ciò significa che la R effettiva da RC diminuisce ed è per questo che il gate è più veloce.
mazurnification

@mazurnification, onestamente non riuscivo a ricordare il perché e ho preso ciò che qualcuno ha detto di sapere. Ho pensato che qualcuno sapesse meglio che sarebbero venuti a lasciarlo. La tua spiegazione ha senso per me e l'ho modificata.
Kortuk,

17

In generale, le porte CMOS usano la corrente solo quando cambiano stato. Quindi, maggiore è la velocità di clock, più spesso i gate cambiano, quindi viene commutata più corrente e maggiore potenza viene consumata.


Questo non ha senso se ci pensi. Prendi in considerazione un calcolo arbitrario che richiede il completamento di circa 10 cicli di clock. Se la frequenza operativa è di 10Hz, ci vuole un secondo per terminare e hai consumato la quantità di energia necessaria nel processo. Tuttavia, se la frequenza di clock fosse solo 1Hz, occorrerebbero 10 secondi (10 volte più a lungo), ma ad ogni clock consumeresti solo 1/10 della quantità di energia - il consumo di energia è direttamente proporzionale alla frequenza di commutazione. Pertanto il consumo energetico complessivo è esattamente lo stesso.
Sherrellbc,

Quindi, davvero, più energia per volta viene consumata a frequenze più alte, ma nel complesso non c'è rete in entrambi i modi.
Sherrellbc,

@sherrellbc Per quel calcolo, la potenza sarebbe la stessa se fosse allungata per 10 secondi a una frequenza più bassa o eseguita in un secondo a una frequenza più alta. In realtà questo principio viene utilizzato per risparmiare energia nei dispositivi a batteria. Ma la potenza per un secondo ad alta frequenza è 10 volte la potenza in un secondo a bassa frequenza - ecco perché il chip si surriscalda alla frequenza più alta e richiede 10 volte più potenza per guidarlo.
Tcrosley,

Questo era esattamente il mio punto. La potenza consumata per volta aumenta e di conseguenza il dispositivo si surriscalda man mano che questa energia viene consumata. Stavo semplicemente affermando che il consumo energetico complessivo rispetto a una superficie piana (ovvero un calcolo equivalente completato su entrambi i dispositivi) sarà esattamente lo stesso. Il dispositivo a frequenza più alta si scalda di più poiché il calore ha meno tempo per dissipare rispetto a quest'ultimo dispositivo operativo più lento. Suppongo in breve che il punto sia semplicemente che entrambi i dispositivi consumerebbero esattamente la stessa energia in intervalli di tempo diversi.
Sherrellbc,

11

Bene, si tratta di transizioni a livello logico.

Quando un singolo bit di un'uscita cambia ... il valore elettrico deve oscillare da alto a basso o da basso ad alto. In questo modo viene prelevata energia dall'alimentatore o si scarica nuovamente sul piano di massa. Inoltre genera un po 'di calore residuo a causa di inefficienze.

Se si aumenta la frequenza di clock, si aumenta il numero di queste transizioni per unità di tempo, quindi si utilizza più potenza per alimentare queste transizioni a livello logico.

I requisiti di tensione aumentati sono leggermente diversi. Il tempo impiegato da un segnale per passare da basso ad alto è chiamato tempo di salita. Per operare in sicurezza a una data frequenza, la logica deve essere in grado di effettuare questa transizione in modo coerente prima che il prossimo orologio assaggi il nuovo valore. A un certo punto, la logica non sarà in grado di soddisfare i requisiti di tempo di salita di una determinata frequenza. Questo è dove aumentare la tensione aiuterà, poiché diminuisce il tempo di salita.

Il calore è abbastanza semplice. Il chip è progettato per gestire una certa quantità di calore generato da una determinata frequenza di clock. Aumenta il numero di transizioni aumentando la frequenza di clock e otterrai più calore residuo. Durante l'overclocking, puoi facilmente superare la capacità del sistema di raffreddamento di rimuovere quel calore.


7

Pensa a un circuito RC di base in cui R e C sono in parallelo. Il nostro obiettivo è quello di avere un clock all'uscita di questo circuito - un'onda quadra 0-5V 1KHz. Quindi, quando vogliamo che l'orologio sia alto, accendiamo la nostra sorgente di tensione e carica il condensatore fino a quando l'uscita è a 5 V, e quando vogliamo 0 V lo spegniamo e lo lasciamo scaricare. Il tempo di carica / scarica è determinato dalla costante RC del circuito. C'è un problema: il circuito non si carica abbastanza velocemente per un clock da 1KHz. Cosa faccio?

Non possiamo cambiare la costante RC del circuito: è fissa. Quindi dobbiamo caricare il condensatore più velocemente in qualche modo, ma mantenendo comunque la stessa tensione di carica. Per fare ciò abbiamo bisogno di un circuito attivo che monitora la tensione di uscita del circuito RC e varia la corrente che entra nel condensatore per caricarlo più velocemente. Più corrente significa più potenza.

Quando vuoi un orologio più veloce, devi caricare il condensatore più velocemente. Si carica un condensatore spingendo corrente al suo interno. Corrente * tensione = potenza. Hai bisogno di più potenza!

Tutto in un sistema digitale è legato all'orologio e tutto ha capacità. Se hai 100 chip TTL su un orologio, devi caricare molta corrente per caricarli tutti, quindi assorbire molta corrente per abbatterli. Il motivo fondamentale per cui la legge di Ohm non è valida è perché si tratta di dispositivi attivi, non passivi. Fanno lavori elettrici per forzare l'orologio ad essere il più vicino possibile a un'onda quadra perfetta.

Se si overclocca un microcontrollore, si surriscalda

Sì - un cambio più rapido significa che più corrente scorre e potenza è tensione * corrente. Anche se la tensione rimane la stessa, la corrente utilizzata aumenta, quindi più dissipazione di potenza, più calore.

Se si overclocca un microcontrollore, è necessaria una maggiore tensione

Parzialmente vero - ha bisogno di più potenza, non necessariamente più tensione. Il microcontrollore sta in qualche modo convertendo la tensione aggiuntiva in più corrente per soddisfare le sue esigenze.

Per quanto ne so, la frequenza di AC non ha nulla a che fare con la sua tensione o potenza, e un orologio è solo una super-posizione di un DC e un (quadrato) AC. La frequenza non influisce sul DC.

Solo per un carico puramente resistivo. Ci sono molti trucchi che accadono con l'alimentazione CA.

C'è qualche equazione relativa alla frequenza e alla tensione di clock o alla frequenza e alla potenza di clock?

Probabilmente non coerente, ma è correlato alle equazioni semplici Q = CV, V = I * R, P = I * V

Ricorda solo: frequenza maggiore => tempo di salita più veloce => deve riempire i condensatori più velocemente => più carica => più corrente => più potenza .


Penso che sia più preciso affermare che li riempi e li svuoti più spesso, non vedere che lo stai facendo più velocemente. Solo quando ti avvicini alla loro frequenza aumenti la tensione.
Kortuk,

Penso che tu sappia cosa stai dicendo, ma volevo solo essere chiaro in un commento su come lo stavi confrontando.
Kortuk,

A una frequenza più alta DEVI farlo più velocemente - non puoi permetterti una rampa lenta perché l'onda quadra può trasformarsi in un'onda triangolare se è troppo lenta. Farlo più spesso rende anche peggio, ma è l'alimentazione CA e mi confonde :)
AngryEE,

1

Potenza = fattore di commutazione * Capacità * (VDD ^ 2) * frequenza.

Poiché l'orologio veloce ha un fattore di commutazione più elevato e anche una frequenza più elevata, quindi un consumo di energia dinamico più elevato.

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.