Metodologie di Stima e Ottimizzazione della Potenza Dissipata nei Circuiti e Sistemi Digitali Cristina Silvano Dottorato di Ricerca in Ingegneria dell’Informazione - XI Ciclo Dipartimento di Elettronica per l’Automazione Università degli Studi di Brescia Anno Accademico 1997-1998
Cristina Silvano - Università di Brescia Sommario Introduzione Obiettivi della Ricerca Metodologia di Stima della Potenza Dissipata a Livello Software Metodologia di Stima della Potenza Dissipata ad Alto Livello Tecniche di Codifica per Ridurre la Potenza Dissipata a Livello dei Bus di Sistema Metodologia di Stima della Potenza Dissipata a Livello dei Bus di Sistema Tecniche di Assegnamento degli Stati nelle FSM per Ridurre la Potenza Dissipata Conclusioni e Sviluppi Futuri credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs. 10/12/98 Cristina Silvano - Università di Brescia
Cristina Silvano - Università di Brescia Introduzione Le problematiche legate al consumo di potenza nei circuiti integrati e sistemi digitali sono diventate di importanza fondamentale a causa di diversi fattori. Fattori tecnologici: Aumento delle frequenze di funzionamento Crescente livello di integrazione Fattori legati all’evoluzione del mercato: Enorme diffusione di sistemi portatili alimentati da batterie a limitata autonomia Fattori economici La dissipazione di potenza causa surriscaldamento pertanto sono necessari package costosi che implicano un incremento del costo globale dei dispositivi credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs. 10/12/98 Cristina Silvano - Università di Brescia
Cristina Silvano - Università di Brescia Introduzione L’enorme diffusione sul mercato di sistemi portatili ad elevate prestazioni ha reso il problema del consumo di potenza contestuale al problema del raggiungimento delle prestazioni. Tecniche di progetto orientate a bassa dissipazione di potenza e accurati metodi di stima della potenza devono essere considerati ai diversi livelli di astrazione durante la progettazione. Tecniche di ottimizzazione e stima della potenza dissipata ad alto livello sono fondamentali per determinare il consumo globale e per raggiungere le prestazioni del sistema nel rispetto dei tempi di progetto. 10/12/98 Cristina Silvano - Università di Brescia
Obiettivi della Ricerca Definizione di tecniche di stima della potenza dissipata a livello sistema da integrare in un flusso di progetto congiunto HW/SW per sistemi digitali. Metodologia di stima della potenza dissipata a livello software. Metodologia di stima della potenza dissipata ad alto livello. Metodologia di stima della potenza dissipata a livello dei bus di sistema. Definizione di tecniche di ottimizzazione della potenza dissipata a livello sistema. Tecniche di codifica dei bus di sistema adatte per la comunicazione tra microprocessore e sotto-sistema di memoria. Tecniche di assegnamento degli stati nelle Macchine a Stati Finiti (FSM). 10/12/98 Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software Obiettivi della ricerca: Definizione di una metodologia di stima statica e dinamica della potenza a livello del software da integrare in un ambiente di co-progettazione HW/SW per sistemi dedicati. Metodologia di analisi basata sulle caratteristiche dell’architettura di sistema in termini di processore e sotto-sistema di memoria. Indipendenza della metodologia proposta dal linguaggio di specifica ad alto livello e dal processore target. Realizzazione di un programma per l’applicazione automatica della metodologia proposta. 10/12/98 Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software Design Entry LEVEL 0 Profiling LEVEL 0 Estimation OCCAM2 Annotated OCCAM2 Compilation & Linking Back-Annotation LEVEL 1 Profiling LEVEL 1 Estimation VIS Annotated VIS Mapping Back-Annotation Libraries LEVEL 2 Annotation ASSEMBLER Annotated ASSEMBLER 10/12/98 Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software L’ambiente di co-progettazione TOSCA (Tools for System Co-design Automation) costituisce il framework per lo sviluppo della metodologia di stima proposta. Analisi in potenza operante a 3 livelli di descrizione: Linguaggio ad alto livello OCCAM2 Linguaggio pseudo-assembler a livello intermedio VIS (Virtual Instruction Set) Linguaggio assembler del processore target Dati relativi alla caratterizzazione in potenza dell’architettura di sistema sono raccolti in 2 file: Processor Technology File: contiene i dati di potenza associati ad ogni istruzione e relative modalità di indirizzamento previste dall’insieme di istruzioni del processore target. Memory Technology File: contiene i dati di potenza delle operazioni di lettura/scrittura dei diversi livelli di gerarchia del sotto-sistema di memoria (on-processor e off-processor). 10/12/98 Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza Dissipata ad Alto Livello Obiettivi della ricerca: Definizione di un ambiente integrato per la stima della potenza associata alla parte HW dei sistemi dedicati descritti in VHDL a livello comportamentale e RT e basato sulla probabilità dei segnali di ingresso fornite dal progettista. Possibilità di confrontare diverse soluzioni nello spazio di progetto architetturale senza richiedere la sintesi del progetto. Realizzazione di un programma per l’applicazione automatica del modello teorico studiato. 10/12/98 Cristina Silvano - Università di Brescia
Architettura Obiettivo a Livello Sistema Approccio System-On-a-Chip (SOC) Sistema sincrono e tutti i trasferimenti avvengono a livello di registri 10/12/98 Cristina Silvano - Università di Brescia
Modello di Stima della Potenza ad Alto Livello Il modello è basato su un metodo analitico che correla la potenza dissipata associata alla descrizione VHDL alle capacità e attività di commutazione dei nodi. L’approccio di stima è gerarchico: Modelli analitici progettati ad-hoc per ogni tipologia di elementi dell’architettura obiettivo. Modelli analitici basati su una libreria di macro-moduli e celle standard. L’approccio di stima è debolmente dipendente dai pattern di ingresso e richiede probabilità di ingresso che riflettano il comportamento tipico degli ingressi. Modello basato su stima probabilistica dell’attività di commutazione; le probabilità di ingresso sono derivate dalla specifica a livello sistema. 10/12/98 Cristina Silvano - Università di Brescia
Modello di Stima della Potenza ad Alto Livello La potenza media dissipata da un generico ASIC è composta da: P = PIO + PCORE dove PIO e PCORE sono la potenza media dissipata dai nodi di ingresso/uscita e dai nodi interni dell’ASIC. PCORE può essere espressa come: PCORE = PDP + PMEM + PCNTR + PPROC + PCLK dove i singoli termini rappresentano la potenza media dissipata da data-path, memoria, logica di controllo, processore e logica di distribuzione del clock. 10/12/98 Cristina Silvano - Università di Brescia
Modello di Potenza delle FSM INGRESSI USCITE PRIMARI PRIMARIE x 1 y 1 x 2 y 2 x n LOGICA y m COMBINATORIA STATO b b 1 1 STATO PRESENTE b b 2 2 PROSSIMO b b VAR VAR REGISTRI DI STATO CLK 10/12/98 Cristina Silvano - Università di Brescia
FSM - Potenza Totale [W] 10/12/98 Cristina Silvano - Università di Brescia
Tecniche di Codifica a Livello dei Bus di Sistema Nei circuiti VLSI, le capacità di carico dei nodi di I/O sono maggiori di alcuni ordini di grandezza rispetto alle capacità dei nodi interni la potenza dissipata dagli I/O contribuisce per una frazione considerevole alla potenza di commutazione globale. Un significativo risparmio di potenza può essere ottenuto diminuendo l’attività di transizione degli I/O attraverso tecniche di codifica. Per il bus indirizzi le principali tecniche di codifica sfruttano il principio di località spaziale degli indirizzi. Svantaggi: Aumento della potenza interna a causa della presenza dei circuiti di codifica/decodifica. Eventuale aggiunta di bit di ridondanza. Il codice T0 fornisce prestazioni asintotiche costituite da zero transizioni sul bus indirizzi nel caso di sequenza infinita di indirizzi consecutivi. 10/12/98 Cristina Silvano - Università di Brescia
Cristina Silvano - Università di Brescia Codice T0 Metodo di codifica: (B (t), INC (t)) = (B (t-1), 1) se t > 0 b (t) = b (t-1) + S (b (t), 0) altrimenti dove B (t) bus codificato al tempo t, INC (t) linea ridondante al tempo t, b (t) bus indirizzi al tempo t, S valore costante potenza di 2 chiamato stride. Per sequenze ideali di indirizzi consecutivi di durata infinita, la linea INC è mantenuta a uno e tutte le altre linee di bus non presentano commutazioni, ottenendo prestazioni asintotiche di zero transizioni per indirizzi emessi consecutivi. 10/12/98 Cristina Silvano - Università di Brescia
Metodi di Codifica Misti Obiettivo: sfruttare le peculiarità dei metodi di codifica illustrati per ottenere riduzioni di potenza a livello sistema attraverso la loro applicazione combinata. Schemi di codifica proposti: Codifica T0_BI, adatta per architetture basate su un singolo bus indirizzi usato per dati e istruzioni. Codifica Dual_T0, estensione della codifica T0 per architetture basate su bus indirizzi condiviso nel tempo tra dati e istruzioni, come il bus relativo al microprocessore MIPS. Codifica Dual_T0_BI, estensione della codifica T0_BI per architetture basate su bus indirizzi condiviso nel tempo. 10/12/98 Cristina Silvano - Università di Brescia
Confronto Prestazioni dei Metodi di Codifica Misti 10/12/98 Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello dei Bus di Sistema Obiettivi della ricerca: Definizione di un modello per valutare l’effetto di tecniche di codifica sulla potenza dissipata dai bus di sistema in presenza di una gerarchia di memoria. Modellizzazione di diverse configurazioni di sistema in termini di processore target, sotto-sistema di memoria e bus dati e indirizzi. Definizione di un modello che includa diverse tecniche di codifica dei bus dati e indirizzi orientate alla bassa dissipazione di potenza. Analizzare il comportamento dei bus di sistema utilizzando stream dati e indirizzi derivati Tracciando il comportamento reale di microprocessori Simulando l’esecuzione di un programma e la la generazione degli stream dati e indirizzi. Realizzazione di un programma per l’applicazione automatica del modello teorico studiato. 10/12/98 Cristina Silvano - Università di Brescia
Cristina Silvano - Università di Brescia Modello di Sistema Modello della gerarchia di memoria: Memorie cache unificate o separate Dimensione della cache Dimensione del blocco Grado di associatività (Cache a indirizzamento diretto, set associative e completamente associative) Strategia di scrittura (Write-through e Write-back) Politica di gestione del fallimento in scrittura (Write-allocate e No-write-allocate) Politica di sostituzione del blocco (Random e LRU) Gestione del problema della coerenza Modello che implementa le principali tecniche di codifica del bus dati e indirizzi: Binary, Bus-Invert, T0, T0_BI, Gray, Dual_T0 e Dual_T0_BI Modello di generazione degli stream dati e indirizzi da parte del processore verso il sotto-sistema di memoria, considerando il principio di località spaziale e temporale. 10/12/98 Cristina Silvano - Università di Brescia
Cristina Silvano - Università di Brescia Casi di Studio Sistema embedded basato su processore a 32-bit ARM7TDMI a bassa dissipazione e sotto-sistema di memoria composto da cache L1 e memoria principale. Sistema di elaborazione high-end basato sul processore a 64-bit PowerPC604e e gerarchia di memoria composta da L1, L2 e memoria principale. L1 composta da 32KB cache on-processor set associativa a 4-vie L2 off-processor configurabile 10/12/98 Cristina Silvano - Università di Brescia
Sistema Embedded - CASO B Effetto della cache L1 off-processor senza codifica dei bus Potenza bus indirizzi vs dim. della cache per una cache set-associativa a 2-vie e 4 diverse dim.blocco Potenza bus dati vs dim. della cache per una cache set- associativa a 2-vie e 4 diverse dim.blocco Percentuale di potenza risparmiata su bus dati e indirizzi rispetto all’architettura di riferimento per 4 diverse dimensioni della cache 10/12/98 Cristina Silvano - Università di Brescia
Sistema Embedded - CASO C Effetto combinato di codificatore di bus on-processor e cache L1 off- processor Potenza bus indirizzi vs dim. della cache per una cache set-associativa a 2-vie e diverse codifiche Potenza bus dati vs dim. della cache per una cache set- associativa a 2-vie e diverse codifiche 10/12/98 Cristina Silvano - Università di Brescia
Metodi di Assegnamento degli Stati nelle FSM Dato lo STG associato ad una FSM, il problema consiste nel trovare un assegnamento di codici binari ai registri di stato per minimizzare una data funzione di costo. Metodi di codifica degli stati orientati alla bassa dissipazione di potenza sono in genere finalizzati a ridurre l’attività di commutazione dei registri di stato tra cicli di clock consecutivi. Obiettivi della ricerca: Realizzazione di un ambiente integrato per risolvere il problema dell’assegnamento degli stati nelle FSM orientate alla bassa dissipazione di potenza. Definizione di metodi per visitare lo STG e assegnare una priorità agli stati simbolici. Definizione di tecniche di codifica per assegnare codici binari agli stati simbolici per ridurre l’attività di commutazione delle variabili di stato. Realizzazione di un programma per l’applicazione automatica dei metodi di codifica proposti. 10/12/98 Cristina Silvano - Università di Brescia
Metodi di Codifica degli Stati nelle FSM Processo di assegnamento degli stati consiste in due fasi: Problema dell’ordinamento degli stati selezionando i lati del STG in modo da ottimizzare una data funzione di costo. Obiettivo: Assegnare una priorità agli stati simbolici per la successiva fase di codifica. Problema della codifica degli stati in modo da attribuire parole di codice a lunghezza minima agli stati simbolici ordinati, ottimizzando una data funzione di costo. Funzione di costo finalizzata ad assegnare parole di codice a distanza minima a stati con alta probabilità di transizione. 10/12/98 Cristina Silvano - Università di Brescia
Metodi di Codifica degli Stati nelle FSM Proposte tre strategie euristiche di ordinamento degli stati per identificare la traiettoria di nodi consecutivi nel grafo caratterizzati da maggiore probabilità di transizione: Identifica la traiettoria di visita effettuando una scelta ottima locale ad ogni passo del lato a peso massimo rispetto al nodo di arrivo selezionato al passo precedente. Identifica la traiettoria di visita effettuando una scelta ottima locale ad ogni passo rispetto ad entrambi i nodi di arrivo e partenza selezionati al passo precedente. Identifica la traiettoria di visita effettuando una scelta ottima locale ad ogni passo rispetto ad entrambi i nodi di arrivo e partenza selezionati in tutti i passi precedenti. 10/12/98 Cristina Silvano - Università di Brescia
Metodi di Codifica degli Stati nelle FSM Proposti due metodi di codifica per gli stati assegnati secondo la lista di priorità ottenuta nella fase precedente. Date tutte le parole di codice a lunghezza minima rispetto alla codifica assegnata al passo precedente, si assegna la nuova codifica minimizzando H(sn, s n-1) Date tutte le parole di codice a lunghezza minima rispetto alla codifica assegnata al passo precedente, si assegna la nuova codifica minimizzando una funzione di costo parziale Cp che contiene H(sn, s n-1) e H (sn , sj) con sj nodi non ancora assegnati. 10/12/98 Cristina Silvano - Università di Brescia
Risultati Confronto Metodi di Codifica degli Stati in FSM 10/12/98 Cristina Silvano - Università di Brescia
Conclusioni e Sviluppi Futuri Definita una metodologia di analisi della potenza dissipata a livello sistema integrata in un ambiente di co-progettazione HW/SW per sistemi dedicati. Definito un modello a livello sistema per la valutazione degli effetti congiunti delle tecniche di codifica dei bus e della gerarchia di memoria. Risultati sperimentali su circuiti di benchmark e casi di studio industriali hanno mostrato accuratezza relativa soddisfacente rispetto a tool di stima a livello logico. Sviluppi futuri: Estendere l’analisi alla definizione e validazione di metriche di stima delle parti HW e SW per guidare la fase di partizionamento. Analisi della parte di comunicazione HW/SW. Validazione della metodologia di stima proposta attraverso ulteriori casi di studio industriali. 10/12/98 Cristina Silvano - Università di Brescia
Conclusioni e Sviluppi Futuri Definite nuove tecniche di codifica dell’informazione finalizzate alla riduzione delle transizioni dei bus a livello sistema. Definite nuove tecniche di assegnamento degli stati nelle FSM. Le prestazioni fornite dalle tecniche di codifica e dai modelli proposti sono state dimostrate analiticamente e confermate attraverso misure effettuate su circuiti di benchmark e casi di studio industriali. Sviluppi futuri: Definizione di nuove tecniche di codifica ad-hoc adatte a diverse architetture del sotto-sistema di memoria e di I/O e a diverse famiglie di processori. Definizione di nuovi metodi di assegnamento degli stati nelle FSM basati su codici a lunghezza variabile finalizzati alla riduzione della potenza di commutazione. 10/12/98 Cristina Silvano - Università di Brescia