Tempi di commutazione e potenza
Percorso: Fondamenti di elettronica · 13 di 20
Prima di questo, potrebbe interessarti: L'invertitore logico , Il condensatore
Indice
Quanto è veloce una porta
L’invertitore CMOS ha una caratteristica quasi ideale e non consuma nulla finché l’ingresso resta fermo. Ma un circuito digitale serve a calcolare, e calcolare vuol dire cambiare le uscite. Questo articolo studia quanto tempo impiega una porta a commutare e quanta energia spende per farlo: le due grandezze che, insieme, decidono quanto può essere veloce un processore.
Si applica all’ingresso un gradino ideale, da a in un tempo nullo, e si guarda l’uscita. Il tempo di propagazione è il ritardo tra il fronte dell’ingresso e l’istante in cui l’uscita attraversa la soglia di commutazione , cioè cambia livello logico per la porta che la legge: quando l’uscita scende, quando sale. Il tempo di discesa e quello di salita misurano invece quanto dura la transizione della tensione, tra il 90% e il 10% dell’escursione. Quando si parla del tempo di propagazione di una porta senza altre precisazioni si intende la media dei due, o il più lungo.
I tempi di una porta. In alto l’ingresso, due gradini ideali; in basso l’uscita di un invertitore CMOS con il suo carico. I tempi di propagazione si misurano al 50%, dove sta la soglia di commutazione di un invertitore simmetrico; i tempi di discesa e di salita tra il 90% e il 10%.
Il carico di una porta
Un invertitore da solo commuterebbe in un tempo brevissimo: a rallentarlo è quello che gli sta attaccato. L’uscita di una porta va agli ingressi di altre porte, e un ingresso CMOS è un gate: un condensatore. Il suo valore dipende dal regime del transistore, e non supera quello dell’ossido, . Per una stima si prende quel valore e si considerano i condensatori dei gate collegati tra l’uscita e un nodo a tensione costante, massa per il transistore e per il . Per la dinamica il nodo di arrivo non conta, purché la sua tensione sia costante, perché la corrente in un condensatore è : tutti i condensatori si possono riportare a massa e sommare.
Anche il collegamento ha una capacità. Nei circuiti integrati è una pista metallica separata dal silicio da uno strato di ossido, e forma con il substrato un condensatore. Una pista lunga m e larga m, su m di ossido, vale come condensatore piano fF; i campi ai bordi e le piste vicine aggiungono altrettanto o più. Nei circuiti stampati le piste sono di centimetri e le capacità di picofarad. Su una scheda conta anche il tempo di volo: nella vetronite la luce va a circa m/s, e 15 cm di pista costano un nanosecondo. Dentro un chip i collegamenti sono così corti che il tempo di volo si trascura quasi sempre.
A sinistra un invertitore che pilota un secondo invertitore: il filo ha una capacità verso massa, e i gate del carico sono condensatori verso massa e verso . A destra il circuito equivalente per il calcolo dei tempi, con un solo condensatore .
L’esempio di questo articolo è l’invertitore CMOS simmetrico dell’articolo precedente, con V, mA/V² e V: transistore largo m, transistore largo m, lunghezza m, nF/cm². Pilota un invertitore uguale attraverso la pista di m. Il carico è
Si trascurano le capacità delle giunzioni di drain dell’invertitore stesso, che in un circuito reale aggiungono una parte non piccola.
La scarica dell’uscita
Prima del fronte l’ingresso è a zero da molto tempo: il transistore è spento, il acceso, e l’uscita è a . Al fronte il si spegne e il si accende con . La tensione del condensatore non può saltare, e nell’istante dopo il fronte l’uscita è ancora a : il condensatore si scarica attraverso il transistore , con .
Proposizione (scarica dell'uscita nel modello quadratico)
Dopo un gradino ideale dell’ingresso da a , con e , l’uscita di un invertitore CMOS impiega a scendere da a
In particolare il tempo per arrivare a è
Finché , cioè , il transistore è saturo e porta la corrente costante : l’uscita scende in linea retta con pendenza , e arriva a dopo . In particolare arriva a dopo .
Poi il transistore è in zona ohmica, con , e l’equazione
si risolve separando le variabili. Con la scomposizione ,
Con l’argomento del logaritmo è .
Fine della dimostrazione.
Per l’esempio mA, il tratto rettilineo dura ps, e ps. La salita, con il transistore simmetrico, ha lo stesso tempo. Il tempo di discesa, dal 90% al 10%, è ps: la coda della scarica è lenta, perché il transistore in zona ohmica porta sempre meno corrente.
La formula esatta, esatta nel modello quadratico, è poco comoda per ragionare. Due stime più semplici la racchiudono.
Proposizione (stime del tempo di propagazione)
Per un invertitore CMOS con soglia di commutazione ,
La prima è la scarica a corrente costante , la seconda la scarica attraverso una resistenza .
Da il tempo per scendere da a è
Una corrente più grande in ogni punto dà un tempo più breve. Il transistore non porta mai più di , quindi . D’altra parte per ogni tra e : in saturazione e ; in zona ohmica, con , la disuguaglianza equivale a , vera perché . Quindi
Fine della dimostrazione.
Per l’esempio le due stime danno e ps, attorno ai ps del modello: l’errore della stima più semplice è al massimo del 40%, poco rispetto all’incertezza del modello stesso, che usa per il carico la capacità massima dei gate e trascura quelle delle giunzioni. La stima per eccesso ha il pregio di essere sicura: un circuito progettato con quei tempi funziona.
La scarica dell’uscita dell’invertitore di esempio, con fF. Il modello quadratico, in blu, scende in linea retta finché il transistore è saturo, fino al punto, e poi rallenta. La scarica a corrente costante è una stima per difetto del tempo, quella attraverso una resistenza una stima per eccesso: a metà dell’alimentazione arrivano a 29, 31 e 41 ps.
Da che cosa dipende la velocità
Con la stima per eccesso, e con fatta solo dai gate di un invertitore uguale,
dove si è usato e . La capacità dell’ossido e la larghezza dei transistori spariscono: allargare il transistore aumenta la corrente, ma aumenta nella stessa proporzione il carico che presenta alla porta precedente. Resta la lunghezza di canale, al quadrato. Con m l’espressione dà 39 ps; con m darebbe un centesimo. Per questo le tecnologie CMOS si identificano con la lunghezza di canale minima, e per cinquant’anni l’industria l’ha ridotta: da una decina di micrometri negli anni Settanta a poche decine di nanometri. Nei transistori corti gli elettroni raggiungono la velocità di saturazione, e il guadagno è più vicino a proporzionale a che a ; la direzione non cambia.
La formula dice anche che un’alimentazione più alta rende le porte più veloci, perché la corrente cresce con il quadrato di e la carica da spostare solo con . Ma alzare consuma l’ossido, e soprattutto aumenta la potenza.
La potenza statica
Un invertitore CMOS con gli ingressi a o a non ha percorsi conduttivi tra l’alimentazione e massa, e non consuma nulla, a parte le correnti sotto la soglia dei transistori spenti. Due situazioni fanno eccezione. Se l’ingresso sta a una tensione intermedia, tra e , i due transistori sono accesi insieme e la corrente scorre di continuo, fino a alla soglia: per questo gli ingressi CMOS non si lasciano mai scollegati, dove potrebbero fermarsi a metà. E se l’uscita alimenta un carico resistivo, come un LED o la bobina di un relè, la corrente nel carico è potenza statica a tutti gli effetti.
La potenza dinamica
Ogni volta che l’uscita sale, il condensatore di carico si carica prendendo carica dall’alimentazione; ogni volta che scende, quella carica va a massa. Il bilancio energetico non dipende da come avvengono le commutazioni.
Teorema (energia di una commutazione)
Quando l’uscita di una porta CMOS sale da a , l’alimentazione fornisce l’energia : metà si accumula nel condensatore di carico e metà si dissipa nel transistore , qualunque sia l’andamento della corrente. Quando l’uscita scende da a , l’alimentazione non fornisce energia, e quella accumulata, , si dissipa nel transistore . Un’uscita che compie cicli completi al secondo dissipa in media
Durante la salita la corrente che esce dall’alimentazione passa nel transistore e arriva tutta al condensatore di carico, perché il transistore è spento: . L’energia fornita dall’alimentazione, che ha tensione costante, è
L’energia nel condensatore passa da a . La differenza, , non può che essersi dissipata nel transistore , l’unico altro elemento attraversato dalla corrente. Durante la discesa il transistore è spento e dall’alimentazione non esce corrente; il condensatore si scarica attraverso il transistore , e alla fine la sua energia è nulla: si è dissipata nel transistore . In un ciclo completo l’energia dissipata è , e con cicli al secondo la potenza media è .
Fine della dimostrazione.
La dimostrazione non usa nessun modello del transistore: vale per qualunque resistenza, lineare o no, tra un generatore di tensione costante e un condensatore. Il resistore più grande carica più lentamente, ma dissipa la stessa energia.
Il percorso della carica in un ciclo. Con l’ingresso basso il transistore conduce e porta dall’alimentazione al condensatore la carica ; con l’ingresso alto il transistore conduce e la stessa carica va a massa. A ogni ciclo una carica scende dall’alimentazione a massa, e l’energia diventa calore.
Per l’invertitore di esempio pJ per ciclo: a MHz sono mW. Un processore ha centinaia di milioni di nodi, ma non tutti commutano a ogni ciclo di clock: con una frazione di nodi attivi la potenza è . Con nodi da fF, V, GHz e si ottengono W: il consumo di un processore da computer.
La formula lascia poche leve. Ridurre la capacità vuol dire transistori più piccoli e collegamenti più corti, ma riducendo tutte le dimensioni di un fattore la capacità di una porta cala di e nella stessa area ne entrano in più: la potenza per unità di area non cambia. Ridurre è la leva più forte, perché conta al quadrato. Nel 1974 Robert Dennard e i suoi colleghi dell’IBM mostrarono che, riducendo le dimensioni e la tensione dello stesso fattore, la densità di potenza resta costante mentre le porte diventano più veloci. Così è andata per trent’anni. Poi, intorno al 2005, la tensione ha smesso di scendere, perché le soglie non possono calare senza moltiplicare le correnti sotto la soglia, e l’ultima leva rimasta è stata la frequenza. Da allora la frequenza di clock dei processori è ferma a pochi gigahertz, perché un chip non smaltisce più di circa 100 W per centimetro quadrato, e la potenza di calcolo cresce con più processori in parallelo sullo stesso chip.
La potenza di cross-conduzione
Un fronte reale non è istantaneo. Mentre l’ingresso passa da a i due transistori sono accesi insieme, e una corrente attraversa la porta dall’alimentazione a massa senza caricare nulla. È la corrente di cross-conduzione.
Proposizione (energia di cross-conduzione)
In un invertitore CMOS simmetrico con carico trascurabile, se l’ingresso sale in modo lineare da a in un tempo abbastanza lungo perché l’uscita segua la caratteristica statica, l’energia dissipata per cross-conduzione durante il fronte è
Con l’uscita sulla caratteristica statica la corrente dall’alimentazione è quella dei due transistori in serie. Per il transistore è saturo e porta ; per è saturo il , e la corrente è ; fuori da quell’intervallo uno dei due è spento. Con è , e la carica che attraversa la porta è
dove si è usata la simmetria delle due metà. L’energia è .
Fine della dimostrazione.
Il picco di corrente, alla soglia, è mA per l’esempio. Un triangolo con quel picco e la stessa base, una stima che si trova spesso, dà un’energia più grande di un fattore . Con un carico non trascurabile l’uscita resta indietro rispetto all’ingresso, uno dei due transistori lavora con una tensione piccola ai capi, e la corrente di cross-conduzione è più bassa di quella calcolata qui.
In alto la caratteristica dell’invertitore CMOS simmetrico; in basso la corrente che lo attraversa quando l’ingresso passa lentamente da zero a . La corrente è nulla finché uno dei due transistori è spento e ha il picco alla soglia, dove sono saturi entrambi. L’area ombreggiata, moltiplicata per , è la carica di cross-conduzione; il triangolo tratteggiato la sovrastima di metà.
Con un fronte di ps, simile al tempo di propagazione della porta che lo produce, fJ, circa il 5% dell’energia dissipata nella stessa transizione. Con un fronte di un nanosecondo sarebbe pJ, più della potenza dinamica. In un circuito ben progettato ogni porta pilota un carico proporzionato alle sue dimensioni, i fronti restano rapidi, e la cross-conduzione è una frazione piccola del consumo.
Esercizi risolti e commentati
Esercizio 1. L’invertitore di esempio pilota quattro invertitori uguali invece di uno, con la stessa pista. Quanto valgono il tempo di propagazione del modello quadratico e le due stime?
Soluzione. Il carico diventa fF. Tutti i tempi sono proporzionali a , e crescono di volte: ps, compreso tra ps e ps.
Commento. Il numero di porte collegate a un’uscita, il fan-out, rallenta la porta in proporzione. Nei circuiti veloci si preferiscono catene di invertitori che crescono di un fattore tre o quattro alla volta, invece di un invertitore piccolo che ne pilota uno enorme.
Esercizio 2. Si riducono tutte le dimensioni dei transistori della metà, lasciando uguali ossido e alimentazione, e la pista resta lunga m. Quanto diventa il tempo di propagazione?
Soluzione. Con e dimezzati non cambia, perché dipende da , e quindi nemmeno . La capacità dei gate si riduce a un quarto, fF, e il carico diventa fF. Il tempo di propagazione scala con il carico: ps.
Commento. Senza la pista il tempo sarebbe sceso esattamente di quattro volte; la pista, che non si è accorciata, pesa ora un decimo del carico. Nei chip moderni le piste lunghe sono il collo di bottiglia della velocità, e si spezzano con stadi intermedi.
Esercizio 3. Un processore ha nodi con una capacità media di fF, lavora a GHz con alimentazione di V, e a ogni ciclo commuta il 10% dei nodi. Quanta potenza dinamica dissipa? E se l’alimentazione fosse di V?
Soluzione. W. Con V la potenza cresce di volte, a W.
Commento. Venti centesimi di volt in più costano il 44% di potenza. È per questo che i processori abbassano insieme tensione e frequenza quando il carico di lavoro è leggero: la potenza cala con il cubo, e l’energia per operazione con il quadrato della tensione.
Esercizio 4. Un condensatore si carica da a attraverso un resistore, prima direttamente da un generatore , poi in due tappe: fino a regime da un generatore e poi da un generatore . Quanta energia si dissipa nei due casi?
Soluzione. Nel primo caso, come nella dimostrazione del teorema, il generatore fornisce e se ne dissipa metà, . Nella prima tappa del secondo caso il condensatore sale di con un generatore : il generatore fornisce e se ne dissipa metà, . Nella seconda tappa il condensatore sale da a con un generatore : il generatore fornisce , e l’energia nel condensatore passa da a , cioè cresce di ; se ne dissipa . In tutto , la metà del primo caso.
Commento. Con tappe uguali l’energia dissipata è : caricando lentamente, con una tensione che sale insieme a quella del condensatore, la dissipazione tende a zero. È l’idea dei circuiti adiabatici, studiati da decenni per ridurre il consumo al prezzo della velocità e della complessità.
Esercizio 5. Un ingresso dell’invertitore di esempio resta scollegato e si ferma a . Quanto consuma la porta? Quanto costerebbe, per ogni fronte, un ingresso che sale in ns invece che in ps?
Soluzione. A entrambi i transistori sono saturi e la corrente è mA, cioè mW di continuo, più di trenta volte la potenza dinamica della stessa porta a 100 MHz. Con un fronte di ns l’energia di cross-conduzione è pJ, contro fJ con ps.
Commento. Un ingresso lasciato a metà trasforma una porta a consumo nullo in una piccola stufa, e con migliaia di porte può scaldare un chip. Negli ingressi dei circuiti digitali che vengono dall’esterno, spesso lenti, si usano porte con una caratteristica a isteresi, i trigger di Schmitt, che commutano di scatto anche con un ingresso lento.
Hai trovato un errore o qualcosa che non funziona in questa pagina? Scrivi una segnalazione