Perché le CPU hanno bisogno di così tanta corrente?


37

So che una semplice CPU (come Intel o AMD) può consumare 45-140 W e che molte CPU funzionano a 1,2 V, 1,25 V, ecc.

Quindi, supponendo che una CPU funzioni a 1,25 V e abbia un TDP di 80 W ... utilizza 64 Amp (molti amplificatori).

  1. Perché una CPU ha bisogno di più di 1 A nel proprio circuito (presupponendo transistor FinFET)? So che la maggior parte delle volte la CPU è inattiva e che i 60 A sono tutti "impulsi" perché la CPU ha un clock, ma perché una CPU non può funzionare a 1 V e 1 A?

  2. Un transistor FinFET piccolo e veloce, ad esempio: 14 nm che funzionano a 3.0 GHz necessitano di quanti amplificatori (circa)?

  3. Una corrente più elevata fa accendere e / o spegnere i transistor più rapidamente?


27
Le moderne CPU (nessuna delle quali sono "semplici") richiedono più binari di tensione tutti con i propri requisiti di alimentazione. La tua domanda fa molte ipotesi e ha molte dichiarazioni errate. È necessario considerare tutti i requisiti di alimentazione e non solo quelli per una singola guida.
Wossname,

8
Fare un transistor FinFET contare su una CPU moderna. Non tutti i FET conducono corrente da Vdd a terra, ma anche così 64 A vengono distribuiti su * un numero molto elevato * di questi FET di commutazione.
glen_geek,

9
@EricLippert "dovrebbe estrarre 64 amp dal muro" - Ho il sospetto che la CPU non funzionerebbe a 110 V.
Andrew Morton,

6
La quantità conservata è energia e in media anche potenza. Se una CPU assorbe 64 Watt, l'alimentatore deve assorbire almeno 64 Watt dalla presa. Questo è <1A anche a 110 V.
Salterio,

6
@EricLippert La scheda madre del tuo computer contiene un convertitore multifase da CC a CC che fa scendere la tensione di alimentazione (12 V nel caso di un desktop, probabilmente 12-19 V nel caso di un laptop) fino alla tensione di alimentazione principale. Questo viene fatto con POTENZA costante, quindi la corrente di uscita finisce per essere 10-20 volte la corrente di ingresso. Per non parlare dell'alimentazione a 12V in un computer desktop proviene anche da un alimentatore a commutazione che converte anche a potenza costante. Probabilmente la CPU del tuo computer ha almeno 100 pin di alimentazione e di massa per gestire la corrente.
alex.forencich,

Risposte:


70
  1. Le CPU non sono "semplici" in alcun modo dell'immaginazione. Perché hanno qualche miliardo di transistor, ognuno dei quali presenta una piccola perdita al minimo e deve caricare e scaricare gate e capacità di interconnessione in altri transistor durante la commutazione. Sì, ognuno assorbe una piccola corrente, ma quando lo moltiplichi per il numero di transistor, finisci con un numero sorprendentemente grande. 64A è già una corrente media ... durante la commutazione, i transistor possono assorbire molto di più rispetto alla media, e questo viene livellato dai condensatori di bypass. Ricorda che la tua cifra da 64 A è derivata dal lavorare all'indietro dal TDP, rendendolo davvero RMS da 64 A, e possono esserci variazioni significative attorno a ciò su molte scale temporali (variazione durante un ciclo di clock, variazione durante diverse operazioni, variazione tra stati di sospensione, ecc. ). Anche, potresti essere in grado di cavartela con una CPU progettata per funzionare a 3 GHz su 1,2 volt e 64 amp a 1 volt e 1 amp .... solo forse a 3 MHz. Anche se a quel punto devi preoccuparti se il chip utilizza una logica dinamica che ha una frequenza di clock minima, quindi forse dovresti eseguirlo da poche centinaia di MHz a un GHz e passare periodicamente al sonno profondo per ottenere la media corrente in basso. La linea di fondo è che potenza = prestazioni. Le prestazioni della maggior parte delle CPU moderne sono attualmente termicamente limitate. quindi forse dovresti eseguirlo da poche centinaia di MHz a un GHz e passare periodicamente in modalità deep sleep per ridurre la corrente media. La linea di fondo è che potenza = prestazioni. Le prestazioni della maggior parte delle CPU moderne sono attualmente termicamente limitate. quindi forse dovresti eseguirlo da poche centinaia di MHz a un GHz e passare periodicamente in modalità deep sleep per ridurre la corrente media. La linea di fondo è che potenza = prestazioni. Le prestazioni della maggior parte delle CPU moderne sono attualmente termicamente limitate.
  2. Questo è relativamente facile da calcolare - , dove I è la corrente, C è la capacità di carico, v è la tensione, α è il fattore di attività e f è la frequenza di commutazione. Vedrò se riesco a ottenere i numeri del ballpark per la capacità del gate di un FinFET e modificarlo. io=CvαfioCvαf
  3. Una specie di. Più velocemente viene caricata o scaricata la capacità del gate, più velocemente commuta il transistor. La ricarica più rapida richiede una capacità inferiore (determinata dalla geometria) o una corrente maggiore (determinata dalla resistenza di interconnessione e dalla tensione di alimentazione). I singoli transistor cambiano più velocemente, quindi possono passare più spesso, il che si traduce in un assorbimento di corrente medio (proporzionale alla frequenza di clock).

Modifica: quindi, http://www.synopsys.com/community/universityprogram/documents/article-iitk/25nmtriplegatefinfetswithraisedsourcedrain.pdf ha una cifra per la capacità di gate di un FinFET a 25nm. Lo chiamerò 0.1 fF per il gusto di mantenere le cose semplici. Apparentemente varia con la tensione di polarizzazione e certamente varierà con la dimensione del transistor (i transistor sono dimensionati in base al loro scopo nel circuito, non tutti i transistor avranno le stesse dimensioni! I transistor più grandi sono "più forti" in quanto possono cambiare più corrente, ma hanno anche una maggiore capacità di gate e richiedono più corrente per guidare).

Collegando 1,25 volt, 0,1 fF, 3 GHz e , il risultato è 0,375α=10.375μUN. Moltiplicalo per 1 miliardo e ottieni 375 A. Questa è la corrente media del gate richiesta (carica al secondo nella capacità del gate) per commutare 1 miliardo di questi transistor a 3 GHz. Ciò non vale per "sparare", che si verificherà durante la commutazione nella logica CMOS. È anche una media, quindi la corrente istantanea potrebbe variare molto - pensa a come l'assorbimento di corrente diminuisce asintoticamente mentre un circuito RC si carica. Bypassare i condensatori sul substrato, sul pacchetto e sulla scheda dei circuiti con appianare questa variazione. Ovviamente questa è solo una figura da baseball, ma sembra essere il giusto ordine di grandezza. Anche questo non considera la corrente di dispersione o la carica immagazzinata in altri parassiti (ad es. Cablaggio).

αα=1αα=0.25αα=0.000061α. Ecco perché il consumo di energia della memoria cache è generalmente dominato dalla corrente di dispersione, ovvero MOLTI transistor inattivi che stanno semplicemente perdendo invece di passare.


4
1V 1A non è un obiettivo strano, le CPU ARM sono abbastanza comunemente indicate come mW / MHz. Per fare un confronto, l'intero Raspberry Pi A + utilizza 1 Watt, inclusa una CPU da 700 Mhz - molto più di quanto suggerito dal magro 3Mhz
MSalters

2
È più utile fare riferimento a "MIPS per watt", in quanto la quantità di lavoro svolto per ogni ciclo di clock varia notevolmente.
pjc50,

1
Bene, dipende da cosa è progettato il chip. Un chip con un TDP di 80 W progettato per funzionare a 3 GHz a 1,2 volt potrebbe forse funzionare su 1 V e 1 A ... ma a 1 V dovrai abbassare la velocità in modo significativo e farti disegnare 1A dovrò abbassare ancora di più la velocità. In questo caso non andrai da nessuna parte vicino a 3 GHz. Non ho idea di cosa potresti effettivamente ottenere, comunque, dato che non l'ho provato da solo. Forse 3 MHz è un po 'pessimista per un i7 a 1V e 1A. Ora, è certamente possibile progettare un chip per funzionare a quel livello di potenza, come dici tu.
alex.forencich,

6
Non sono semplici In realtà sono le cose più complesse che abbiamo mai costruito.
joojaa,

2
Le moderne CPU Intel / AMD utilizzano almeno alcune logiche dinamiche che in realtà non funzionerebbero se il clock fosse troppo basso . Intel Skylake (ad esempio) ha un punto di frequenza / tensione efficiente minimo. Per raggiungere livelli di potenza / throughput ancora più bassi per il SoC, attiva e disattiva un core in un ciclo di lavoro variabile (> = 800us a forse ~ 1 GHz (f più efficiente), riposa nel sonno). Guarda il discorso su Power-mgmt di Skylake IDF2015 di Efraim Rotem, a circa 53 minuti in
Peter Cordes,

17

Secondo Wikipedia , le migliori CPU rilasciate nel 2011 avevano tra 0,5 e 2,5 miliardi di transistor. Supponendo che una CPU con 1 miliardo di transistor consuma 64A di corrente, la corrente media è di soli 64nA per transistor. Considerando le frequenze operative di diversi GHz, in realtà è sorprendentemente piccolo.


Per una maggiore frequenza operativa della CPU è necessaria una corrente maggiore?
Lu Ka,

2
Generalmente attuale ioio0+KfCV2dove fc è la frequenza di clock e k è una costante e V è la tensione operativa e I0 è la corrente di dispersione. k varierà in base al numero di transistor che commutano in un determinato momento e alla progettazione del chip.
Spehro Pefhany,

4
A questo punto, possiamo mettere su una CPU più transistor di quanti ne possiamo usare contemporaneamente senza scioglierlo. Quindi, in qualsiasi momento, gran parte del chip è Dark Silicon : non acceso, ma seduto lì in attesa di essere utilizzato mentre altre parti del chip (con diverse funzioni specializzate) vengono spente. ad es. l'hardware a virgola mobile vettoriale, i moltiplicatori di numeri interi vettoriali e le unità shuffle vettoriale non possono essere saturate tutte in una volta, ma ciascuna di esse ha un throughput elevato se utilizzata da sola. Inoltre, le cache di grandi dimensioni non cambiano molto.
Peter Cordes,

1
Questo è un grande fattore in cui le CPU ottengono hardware sempre più specializzato, come le istruzioni di crittografia AES e SHA e il BMI2 di Intel (in particolare PEXT / PDEP bit-extract / deposit ). Qualcosa a che fare con il budget del transistor che può accelerare alcuni carichi di lavoro ma non deve essere acceso quando non in uso.
Peter Cordes,
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.