INTRODUZIONE
2
Nel presente lavoro si è progettato in VHDL un sistema di gestione della
potenza dissipata in un sistema AMBA alimentato da una batteria.
In particolare esso sfrutta le relazioni esistenti tra potenza, energia,
tensione di alimentazione e frequenza di funzionamento.
Per verificare e valutare l’efficacia del sistema si è reso necessario
simulare la batteria .
Nel corso del progetto si è dovuto procedere ad una fase di
instrumentation dei moduli del sistema, fase che consiste nell’aggiungere
funzionalità ad un blocco per portare fuori da esso informazioni utili in
fase di simulazione, nel nostro caso riguardanti il consumo di potenza.
Si è cercato di evidenziare come possa essere realizzata la fase di
instrumentation a partire dalla descrizione hardware, in particolare da un
codice in VHDL, di un qualsiasi sistema.
Tale fase fornisce al progettista un feedback sulla dissipazione di energia
del sistema che può essere utile in diverse scelte progettuali ed è servita,
nel presente lavoro, oltre a contribuire al modello della batteria, anche
alla realizzazione del controllore globale, che è il blocco del sistema di
gestione della potenza che funge da supervisore, gestendo le operazioni
che vengono eseguite dai vari blocchi.
Il lavoro si articola in quattro capitoli. Nel primo si tratta del consumo di
potenza, con particolare riferimento alla tecnologia CMOS, nel secondo
è descritto il protocollo AMBA AHB. Nel terzo capitolo viene descritto
il progetto realizzato, mentre nel quarto vengono riportate le simulazioni
effettuate e commentati i risultati ottenuti.
Capitolo 1 IL CONSUMO DI POTENZA
3
Capitolo 1
IL CONSUMO DI POTENZA
Capitolo 1 IL CONSUMO DI POTENZA
4
1.1 Introduzione al Low Power
Il consumo di potenza è diventato una delle più importanti specifiche di
progetto sia dei circuiti integrati, venendo ad affiancare i requisiti di
performance ed area, sia di sistemi elettronici più grandi in generale,
come ad esempio i notebook.
Due fattori tra loro indipendenti sono da considerarsi le maggiori cause:
ξ la spinta proveniente dal mercato dei dispositivi portatili: laptop,
cellulari, palmari, ecc...
La crescita notevole di questo mercato negli ultimi anni pone
continuamente la sfida di abbassare il consumo di potenza per aumentare
la loro autonomia.
Infatti lo sviluppo tecnologico delle batterie non riesce a stare dietro
all’aumento del consumo di potenza.
ξ gli aumenti della densità di integrazione e della frequenza, entrambi
resi possibili da progressi in ambito tecnologico, causano il problema
della dissipazione del calore, che si ripercuote sul costo del package e su
possibili problemi di affidabilità. E’ noto infatti che circuiti che hanno
alti requisiti di potenza necessitano di package costosi, si pensi ad
esempio alla necessità di inserire alettature per incrementare l’area del
package, come tecnica di cooling.
Esiste quindi una dicotomia nel progetto dei moderni sistemi elettronici:
il simultaneo bisogno di low power e di high performance.
La riduzione del consumo di potenza non è solo un problema di
ottimizzazione, ma dovrebbe essere uno stato mentale da avere durante
l’intera evoluzione del progetto.
Capitolo 1 IL CONSUMO DI POTENZA
5
In un sistema più complesso di un chip la potenza dissipata dai
componenti digitali VLSI è solo una frazione della potenza dissipata
dall’intero sistema, in altre parole in molti prodotti elettronici solo una
piccola frazione della potenza viene consumata dai circuiti digitali. Ad
esempio in un notebook la maggior parte della potenza è dissipata dal
display. Ogni componente deve essere progettato considerando il suo
consumo di potenza.
Capitolo 1 IL CONSUMO DI POTENZA
6
1.2 La dissipazione di potenza nei circuiti CMOS
La potenza media dissipata in un circuito CMOS da un gate può essere
descritta in prima approssimazione da una semplice equazione che tiene
conto dei quattro contributi più importanti:
Vediamoli singolarmente:
ξ La potenza dinamica è causata dalla carica trasferita dall’alimentazione
alla capacità di uscita o da quest’ultima a ground.
Essa costituisce il contributo maggiore (circa 80 %) della potenza
dissipata. E’ questo il motivo per cui le principali tecniche di riduzione
della potenza mirano a diminuire proprio essa.
ξ La potenza di cortocircuito è determinata dal fatto che poiché gli inputs
hanno pendenza finita, c’é un percorso resistivo tra l’alimentazione e
ground e della corrente fluisce dall’alimentazione a ground (corrente di
cortocircuito).
Nelle tradizionali tecniche di progetto per high performance la potenza di
cortocircuito è solo una piccola frazione di quella complessiva.
ξ La potenza di leakage è la potenza dissipata dalle correnti di leakage.
Per gli attuali circuiti VLSI questa potenza è una piccola frazione (meno
del 10%) di quella complessiva.
In futuro, a causa dell’abbassamento delle tensioni di alimentazione,
questo contributo potrebbe assumere più importanza.
Riduzioni della potenza di leakage sono ottenute principalmente
attraverso miglioramenti della tecnologia.
staticaleakageitocortocircudinamicamedia PPPPP
Capitolo 1 IL CONSUMO DI POTENZA
7
ξ La potenza statica è presente solo nei circuiti CMOS difettosi, infatti
in normali condizioni non è presente.
Quando invece è presente essa diventa il contributo principale alla
potenza dissipata complessivamente dal chip ed è spesso associata a
comportamenti non corretti o non predicibili.
Capitolo 1 IL CONSUMO DI POTENZA
8
1.3 La potenza dinamica
La potenza dinamica può essere formalizzata dalla seguente espressione:
dove f è la frequenza del clock,
dd
V è la tensione di alimentazione, K è il
numero medio di transizioni del nodo di uscita in un ciclo di clock. In
qualsiasi circuito digitale il ciclo di clock è molto più lungo del tempo
per una transizione di un gate, quindi un singolo gate può avere più
transizioni in un singolo ciclo di clock.
La quantità
out
2
dd
CV
2
1
è la quantità di energia dissipata dal gate CMOS
ogni volta che la sua uscita commuta.
Quindi la potenza dinamica di un circuito CMOS è calcolabile
sommando le attività medie di commutazione (
2
dd
KV
2
1
) per ogni nodo
pesate dalle loro capacità di carico.
Queste ultime possono essere ottenute usando la libreria della tecnologia,
a partire dal circuito mappato sulla tecnologia scelta.
L’attività media di commutazione può essere ottenuta con un simulatore
che la stima a partire dalle forme d’onda degli ingressi.
E’ chiaro che una stima della potenza più è a basso livello, più fornisce
informazioni accurate, ma anche più tempo richiede per essere eseguita.
In certi casi é sufficiente un’accuratezza relativa, cioè che permetta di
vedere quale tra due o più soluzioni sia quella migliore dal punto di vista
della potenza dissipata.
fVKC
2
1
P
2
dd
outdinamica
Capitolo 1 IL CONSUMO DI POTENZA
9
E’ questo il caso ad esempio di una fase iniziale di un progetto, in cui
una simulazione a livello RTL può essere sufficientemente accurata da
permettere al progettista di esplorare diverse soluzioni, individuare i
blocchi più critici, sempre dal punto di vista della potenza dissipata, e
andare ad agire proprio su di essi.
Infatti e’ importante che il progettista possa esplorare velocemente
diverse alternative ed ottenere veloci feedback. Ciò é possibile solamente
utilizzando high level tools.
Un’accuratezza assoluta, meglio fornita da un simulatore a più basso
livello, é invece richiesta per fare scelte riguardanti il package o per
determinare se una certa batteria potrà essere adoperata per soddisfare
fissati requisiti.
L’equazione che modella la potenza dinamica fornisce i parametri su cui
le varie tecniche di riduzione della potenza tendono ad intervenire.
Capitolo 1 IL CONSUMO DI POTENZA
10
1.4 Riduzione della frequenza
Riducendo la frequenza di clock di un circuito digitale si ha una
riduzione proporzionale del consumo di potenza.
Tuttavia un circuito è realizzato per eseguire certe funzionalità, quindi il
solo espediente di abbassare la frequenza di clock risulta in una
computazione più lenta e non in un effettivo risparmio energetico.
Infatti, il consumo di potenza risulta ridotto, ma lo è anche la quantità di
computazione effettuata: l’energia dissipata per eseguire un dato compito
rimane la stessa, come mostra il seguente esempio.
Supponiamo di dover eseguire un certo task su un sistema portatile
alimentato da una batteria.
Chiamiamo T
1
il periodo del clock e supponiamo che il task richieda N
1
cicli di clock per essere completato. Indichiamo con P
1
la potenza media
dissipata.
Se utilizziamo un segnale di clock con periodo pari a 2 T
1
la potenza
media dissipata e’ P
1
/2, perché la potenza è direttamente proporzionale
alla frequenza del clock.
Comunque ora il task per essere completato richiede un tempo doppio,
pari a 2 N T
1
.
Quindi l’energia consumata e’ P
1
N T
1
in entrambi i casi.
E’ vero che abbassando la frequenza si consuma meno potenza, ma c’è
bisogno di più tempo per eseguire lo stesso task.
Capitolo 1 IL CONSUMO DI POTENZA
11
Quindi considerando costante la quantità totale di energia fornita da una
batteria, il solo accorgimento di diminuire la frequenza non si rivela
utile.
1.4.1 Il comportamento di una batteria reale
In realtà la quantità totale di energia fornita da una batteria non è una
costante, ma dipende dalla velocità con la quale l’energia fluisce dalla
batteria al sistema.
In un sistema portatile non bisogna considerare solo la potenza dissipata,
ma anche la durata della batteria, che è quello che veramente percepisce
l’utente.
Sono infatti la potenza dissipata e la batteria che determinano insieme
quanta computazione potrà venire eseguita.
Ignorare il fatto che il sistema verrà alimentato da una batteria può
portare ad errate decisioni in fase progettuale.
L’energia fornita da una batteria dipende dalla corrente di carico.
I due effetti principali e maggiormente sfruttabili di una batteria da un
sistema mobile sono la non linearità e il ripristino (recovery), come viene
detto in [1].
Capitolo 1 IL CONSUMO DI POTENZA
12
1.4.2 La non linearità di una batteria
Nella successiva figura è illustrato il fenomeno della non linearità, in una
tipica batteria NiCd.
E’ rappresentata la relazione tra la capacità e la corrente.
Quest’ultima è misurata in termini di C, secondo la notazione standard
usata nell’industria delle batterie, che la prevede normalizzata alla
capacità della batteria.
Per esempio una corrente di scarica di 1C per una batteria con
C=500mA-hours è 500mA, mentre una corrente di scarica di 1C per una
batteria con C=1000mA-hours è 1000 mA.
Nella figura il 100% della capacità si ha in corrispondenza di una
corrente di scarica pari a 0,5C , quindi si è considerato un tempo di
osservazione pari a due ore.
Capitolo 1 IL CONSUMO DI POTENZA
13
La non linearità delle batterie fu determinata empiricamente da Peukert
verso la fine dell’ottocento, che la formalizzò nella seguente equazione:
∆
I
X
C
dove compaiono le seguenti quantità:
ξ C è l’energia totale che può essere fornita dalla batteria
ξ X e ∆ sono costanti dipendenti dalle proprietà chimiche e fisiche della
batteria. Per una batteria ideale ∆ è nullo, cioè l’energia fornita da una
batteria è costante , mentre nelle batterie reali ∆ può arrivare fino a 0,7.
ξ I è la corrente media di scarica
La più importante conseguenza di questa equazione è che se diminuiamo
la corrente di scarica possiamo incrementare la quantità totale di energia
fornita dalla batteria.
In altri termini, ci può essere qualche vantaggio nel ridurre la frequenza
di clock, perché ciò implica la diminuzione della corrente di scarica che
si ripercuote in un utilizzo maggiormente proficuo della batteria.
Nella maggior parte dei sistemi portatili quello che si cerca di fare è
allungare la durata della batteria, anche a scapito delle prestazioni, entro
limiti prestabiliti.
L’inconveniente maggiore della legge di Peukert è che è applicabile solo
a carichi costanti e quindi non ai carichi variabili tipici degli schemi di
power management.
Capitolo 1 IL CONSUMO DI POTENZA
14
1.4.3 Il ripristino di una batteria
E’ il fenomeno per cui una riduzione temporanea del carico aumenta la
durata della batteria.
Ciò è mostrato nella successiva figura, nella quale si nota come la
riduzione del carico comporta un aumento della tensione fornita ed un
aumento del complessivo tempo di scarica della batteria. Infatti una
batteria può considerarsi scarica quando la sua tensione scende sotto una
certa soglia.
Questo fenomeno è causato dal fatto che, quando il carico viene
diminuito, i reagenti della batteria diffondono nella zona della reazione, e
in questo modo ci sono più reagenti che prendono parte alla reazione.
Il fenomeno di ripristino dipende dalla variazione della corrente di
scarica e dalla durata per cui il carico è ridotto, oltre che dalla
particolare batteria.
Capitolo 1 IL CONSUMO DI POTENZA
15
Da quanto detto sopra risulta che è possibile che una batteria sia in uno
stato tale da non riuscire a completare un dato task ad una certa
frequenza, ma abbassando la frequenza lo stesso task possa essere
portato a termine, perché è come se la batteria fosse stata in parte
ricaricata, visto che la sua durata aumenta o, da un altro punto di vista,
come se la quantità di energia fornita dalla batteria fosse la stessa, ma il
task ne richiedesse di meno.
Da questa ottica l’utilizzo della sola tecnica di riduzione della frequenza
del clock può essere giustificato in certe applicazioni.