650 likes | 789 Views
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. Sommario.
E N D
Metodologie di Stima e Ottimizzazionedella Potenza Dissipatanei 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
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 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 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 astrazionedurante la progettazione. • Tecniche di ottimizzazione e stima della potenza dissipata ad alto livellosono fondamentali per determinare il consumo globale e per raggiungere le prestazioni del sistema nel rispetto dei tempi di progetto. Cristina Silvano - Università di Brescia
Introduzione • Principali vantaggi delle tecniche di ottimizzazione e stima della potenza ad alto livello: • Determinare in anticipo il bilancio di potenza delle componenti HW e SW di un sistema prima che i dati di progetto siano disponibili, senza sintetizzare ogni alternativa di progetto. • Esplorare lo spazio di progetto architetturale in tempi accettabili e misurare l’efficacia e i vantaggi delle diverse soluzioni. • Raggiungere le prestazioni globali nel rispetto dei tempi di progetto. • L’accuratezza relativadelle stime ad alto livello è molto più importante dell’accuratezza assoluta, infatti l’obiettivo finale è il confronto di diverse alternative di progetto. • Ad alto livello possono essere sfruttati maggiori gradi di libertà per realizzare ottimizzazioni della potenza dissipata. Cristina Silvano - Università di Brescia
Sorgenti di Dissipazione di Potenza nei Circuiti CMOS • Tre sono le sorgenti di dissipazione di potenza nei circuiti CMOS: PMedia = PComm. + PCorto-Circuito + PPerdita • Parte predominante è PComm La maggior parte delle tecniche di riduzione della potenza è costituita da tecniche di ottimizzazione della potenza di commutazione: PComm. = CL V 2dd f CLK dove è l’attività di commutazionedi una porta logica definita come probabilità che il nodo di uscita esegua una transizione ad ogni ciclo di clock. • Si definisce capacità efficaceCeff= CLil termine che include sia la capacità di carico sia l’attività di commutazione. • Fissata fCLK, per minimizzare PComm occorre: • Ridurre la capacità efficace Ceff • Ridurre la tensione di alimentazione Vdd 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). Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software • La disponibilità di una metodologia di progetto congiunto HW/SW è di primaria importanza durante tutte le fasi del progetto di sistemi digitali dedicati. • Le tecniche di co-progettazione si propongono di raggiungere i requisiti a livello sistema sfruttando la sinergia tra le parti HW e SW. • Metriche di stima della potenza associata al software sono necessarie per guidare la fase di partizionamento in modo da misurare e confrontare soluzioni di progetto alternative . Cristina Silvano - Università di Brescia
Principali Tecniche di Stima della Potenza a Livello Software • Tecniche di stima della potenza associata al software sono apparse soltanto recentemente. • Approcci basati sulla simulazione della descrizione a livello RT o logico del processore. • Approcci basati sulla stima dell’attività di commutazione dei bus di sistema. • Approcci basati sulla stima a livello di istruzione. • Non esistono tool commerciali per l’analisi di potenza del software. 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. Cristina Silvano - Università di Brescia
Ambiente di Co-progettazione TOSCA • L’ambiente di co-progettazione TOSCA (Tools for System Co-design Automation) costituisce il framework per lo sviluppo della metodologia di stima proposta. • Il metodo di stima parte dal modello del sistema interno all’ambiente TOSCA e basato sui linguaggi OCCAM2 e VIS: • Il linguaggio VIS (Virtual Instruction Set) costituisce un livello di descrizione intermedia (pseudo-assembler) che permette alla metodologia di essere indipendente dal processore target. • Il linguaggio OCCAM2 consente alla metodologia proposta di essere indipendente da: • Linguaggio di descrizione ad alto livello. • Caratterizzazione specifica del sistema in termini di parti HW e SW (partizionamento). • Il linguaggio OCCAM2 permette la modellizzazione delle funzionalità di sistema ad alto livello attraverso la rappresentazione di processi paralleli e sequenziali. Cristina Silvano - Università di Brescia
Ambiente di Co-progettazione TOSCA Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software Design Entry LEVEL 0 Estimation LEVEL 0 Profiling OCCAM2 Annotated OCCAM2 Compilation & Linking Back-Annotation LEVEL 1 Estimation LEVEL 1 Profiling VIS Annotated VIS Mapping Back-Annotation Libraries LEVEL 2 Annotation ASSEMBLER Annotated ASSEMBLER Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software • Analisi in potenza operante a 3 livelli di descrizione: • Linguaggio ad alto livello (OCCAM2) • Linguaggio pseudo-assembler a livello intermedio (VIS) • 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). Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza a Livello Software • Compilazione del Software • PHASE 1: Compilazione da OCCAM2 a VIS • PHASE 2: Mappatura da VIS a target-assembler • Back-Annotation del Software • PHASE 1 : Back-Annotation da target-assembler a VIS • PHASE 2: Back-Annotation da VIS a OCCAM2 • Stima della Potenza del Software (Analisi Statica) • LEVEL 2: Fase di annotazione in potenza • LEVEL 1: Fase di stima della potenza a livello intermedio • LEVEL 0: Fase di stima della potenza ad alto livello • Profiling del Software (Analisi Dinamica) • LEVEL 0: Profiling funzionale di OCCAM2 • LEVEL 1: Profiling strutturale di VIS Cristina Silvano - Università di Brescia
Compilazione del Software • PHASE 1: Compilazione da OCCAM2 a VIS • Il codice VIS viene generato attraverso diversi passi di compilazione controllabili dall’utente. • Il codice VIS viene schedulato basandosi su un approccio semi-dinamico. • Applicate diverse strategie di scheduling. • Per gli scopi della fase di back-annotation, ogni istruzione VIS mantiene traccia dell’istruzione OCCAM2 originaria. • PHASE 2: Mappatura da VIS a target-assembler • La mappatura è basata su una libreria. • Re-targeting non coinvolge la prima fase di compilazione. • Per gli scopi della fase di back-annotation, ogni istruzione del target-assembler mantiene traccia dell’istruzione VIS originaria. Cristina Silvano - Università di Brescia
Back-Annotation del Software • PHASE1 : Back-Annotation da target-assembler a VIS • Le istruzioni assembler sono caratterizzate in base ai dati contenuti nei file tecnologici relativi al processore target. • Le figure di consumo di potenza dipendono dalle modalità di indirizzamento previste e dall’architettura del sotto-sistema di memoria. • La dissipazione statica di un’istruzione VIS viene calcolata sommando i contributi delle istruzioni assembler espanse. • PHASE 2: Back-Annotation da VIS a OCCAM2 • La dissipazione statica di un’istruzione OCCAM2 viene calcolata sommando i contributi delle istruzioni VIS espanse. • La back-annotation considera il fatto che la traduzione da istruzioni complesse coinvolge larghe porzioni del codice VIS. Cristina Silvano - Università di Brescia
Stima della Potenza del Software (Analisi Statica) • LEVEL 2: Fase di annotazione in potenza • Le istruzioni assembler sono annotate con i dati derivati dai file tecnologici relativi al processore target. • LEVEL 1: Fase di stima della potenza a livello intermedio • Le istruzioni VIS sono annotate con i dati derivati dal modello analitico e parametrico del set di istruzioni del processore target. • Differenti insiemi di parametri caratterizzano i diversi processori. • Sia il modello analitico sia i parametri sono derivati da una fase di benchmarking e analisi statistica. • LEVEL 0: Fase di stima della potenza ad alto livello • La potenza associata al codice OCCAM2 funzionale viene derivata dalla stima ottenuta a livello intermedio. • Si considera il costo implicito dovuto allo scheduling e alla gestione di strutture dati ausiliarie. Cristina Silvano - Università di Brescia
Profiling del Software (Analisi Dinamica) • LEVEL 0: Profiling funzionale del codice OCCAM2 • Le istruzioni funzionali del codice OCCAM2 vengono simulate. • Il profiling a questo livello risulta di accuratezza limitata ma richiede tempi di esecuzione ridotti. • LEVEL 1: Profiling strutturale del codice VIS • Le istruzioni del codice VIS compilato e schedulato vengono simulate. • Il profiling a questo livello fornisce stime più accurate al costo di un maggior tempo di esecuzione. Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza ad Alto Livello • Principali problemi legati alla stima di potenza ad alto livello: • La stima di potenza è fortemente dipendente dai vettori di ingresso (strongly pattern-dependent) cioè dipende dalle caratteristiche degli ingressi applicati al circuito. • Ai più alti livelli di astrazione, la conoscenza di alcune caratteristiche del circuito è molto limitata. Cristina Silvano - Università di Brescia
Metodologia di Stima della Potenza 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. Cristina Silvano - Università di Brescia
Principali Tecniche di Stima della Potenza ad Alto Livello • Tecniche di stima della potenza ad alto livello sono apparse soltanto recentemente. • Livello Architetturale/RT • Metodi analitici, basati su correlazione tra potenza dissipata e capacità/attività di commutazione dei nodi. • Metodi empirici, basati su un approccio di macro-modellizzazione a partire da misure di potenza ricavate da implementazioni esistenti. • Livello Comportamentale • Predizione statica dell’attività, basata su analisi statica per stimare la frequenza di accesso alle diverse risorse. • Predizione dinamica dell’attività, basata su analisi dinamica per determinare le frequenze di attivazione delle diverse risorse. • Il mercato dei tool EDA non offre strumenti per l’analisi accurata della potenza ad alto livello. 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 Cristina Silvano - Università di Brescia
Modello di Stima della Potenza ad Alto Livello • Il modello è basato su unmetodo analiticoche 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. 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 PIOe PCOREsono 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. Cristina Silvano - Università di Brescia
Stima di PDATA-PATH • La potenza media dissipata dal data-path è composta da: PDP = PREG + PMUX + PFU dove: PREG potenza media dissipata dai registri; PMUX potenza media dissipata dai multiplexer; PFU potenza media dissipata dalle unità funzionali. • Stima di PREG: • Il metodo denominatolive variable analysisè stato applicato al codice VHDL a livello comportamentale per stimare il numero di registri richiesti e la massima attività di commutazione di ogni registro. • L’algoritmo esamina la vita di una variabile in base alla sua definizione e uso nelle istruzioni del codice VHDL. • Il modello analitico dei registri tiene conto sia della potenza di commutazionesia della potenza di non-commutazione, dovuta ai pilotanti interni del clock. Cristina Silvano - Università di Brescia
Stima di PDATA-PATH • Stima di PMUX: • Stima del numero dei percorsi nel data-path a partire dal codice VHDL per determinare la dimensione e il numero dei multiplexer. • Definizione del modello di potenza di un multiplexer non-invertente a due ingressi, basato sulla probabilità statica dell’ingresso di selezione e sulla massima attività di commutazione degli ingressi di dato. • Stima di PFU: • I modelli analitici delle unità funzionali sono basati sulla stima della complessità logica. • La complessità logica delle unità funzionali è descritta in termini di porte logiche equivalenti. Cristina Silvano - Università di Brescia
Modello di Potenza delle FSM INGRESSI USCITE PRIMARI PRIMARIE x y 1 1 x y 2 2 x y n LOGICA m COMBINATORIA b b STATO STATO 1 1 b b PRESENTE PROSSIMO 2 2 b b VAR VAR REGISTRI DI STATO CLK Cristina Silvano - Università di Brescia
Stima di PCNTR • La stima di potenza delle FSM, descritte a livello di Grafo di Transizione degli Stati (STG), è di tipo probabilistico e basata sul calcolo delle probabilità di transizione dei nodi, ricavate modellizzando le FSM come catene di Markov. • La potenza media dissipata dalla logica di controllo è composta da: PCNTR = PIN + PST_REG + PCOMB + POUT dove: PIN potenza media dissipata dagli ingressi primari; PST_REGpotenza media dissipata dai registri di stato; PCOMB potenza media dissipata dalla logica combinatoria; POUT potenza media dissipata dalle uscite primarie. Cristina Silvano - Università di Brescia
Stima di PCNTR • Stima di PIN: • La stima di potenza dipende dalle attività di commutazione degli ingressi primari, ricavate dalla specifica a livello sistema o da simulazioni ad alto livello, e dalle capacità degli ingressi. • Stima di PST_REG: • L’attività di commutazione delle linee di stato dipende dalla codifica degli stati e dalle probabilità totali di transizione di stato. • Il modello analitico dei registri tiene conto sia della potenza di commutazione sia della potenza di non-commutazione. • Stima di PCOMB: • La stima di potenza della logica combinatoria è basata su una implementazione a due-livelli. • Stima di POUT: • La stima di potenza dipende dalle attività di commutazione delle uscite primarie, ricavate in base alla codifica delle uscite e alle probabilità totali di transizione delle uscite. Cristina Silvano - Università di Brescia
Risultati Sperimentali • Risultati sperimentali sono stati ricavati da FSM standard del benchmark MCNC e da casi di studio industriali. • Le stime sono state confrontate con quelle ottenute dal tool Design Power di Synopsys per la stima di potenza operante a livello logico in modalità probabilistica. • La libreria di celle utilizzata è la libreria HCMOS6 di ST caratterizzata da 0.35 m e 3.3 V e operante a frequenza di 100 MHz. Cristina Silvano - Università di Brescia
FSM - Potenza Sequenziale [W] Cristina Silvano - Università di Brescia
FSM - Potenza Combinatoria [W] Cristina Silvano - Università di Brescia
FSM - Potenza Totale [W] Cristina Silvano - Università di Brescia
Risultati Sperimentali 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. • Svantaggi: • Aumento della potenza interna a causa della presenza dei circuiti di codifica/decodifica. • Eventuale aggiunta di bit di ridondanza. Cristina Silvano - Università di Brescia
Principali Tecniche di Codifica a Livello dei Bus di Sistema • Tecniche di codifica a livello di bus di sistema per limitare il numero di transizioni dei bus dati e indirizzi: • Per bus dati, caratterizzati da informazioni da trasmettere distribuite in modo casuale: • Codice One-hot garantisce 2 transizioni per ogni ciclo, ma richiede 2N bit. • Codice Bus-Invert aggiunge ridondanza per segnalare che gli N bit di dato trasmessi sono stati invertiti, quando la distanza di Hamming tra due dati successivi è maggiore di N/2. • Per bus indirizzi, caratterizzati da elevata sequenzialità: • Codice Gray è un codice non-ridondante che garantisce un singolo bit di transizione per indirizzi consecutivi. • Codici basati sulla definizione di Working Zone relativa allo spazio di indirizzamento e adozione del codice Modified One-hot (MOE). Cristina Silvano - Università di Brescia
Codice Bus-Invert • Assunzioni: pattern equiprobabili e incorrelati la probabilità di avere 0 oppure 1 su ogni linea del bus è pari a ½ in media N/2 transizioni per ciclo di clock sul bus. • Metodo di codifica: (B (t), INV (t)) = (b (t), 0) se H (t) N/2 (b´ (t), 1) se t > 0 H (t) > N/2 dove B (t) bus codificato al tempo t, INV (t) linea ridondante al tempo t, b (t) bus indirizzi al tempo t, H (t) = (B (t-1) INV (t - 1), b (t) 0)distanza di Hamming e N larghezza del bus b (t). • Vantaggio: Garantisce che il massimo numero di transizioni per ciclo di clock sia N/2 valore dimezzato rispetto al valore originale. • Svantaggio: Richiede una linea ridondante sul bus per indicare quando il pattern è stato invertito. Cristina Silvano - Università di Brescia
Codice Gray e Codice T0 • Per indirizzi sequenziali, il codice Gray è ottimo per codici non-ridondanti, richiedendo una commutazione sul bus indirizzi per ogni coppia di indirizzi consecutivi. • Per codici ridondanti, prestazioni migliori rispetto al codice Gray possono essere ottenute sfruttando il principio di località spaziale degli indirizzi. • Il codice T0 fornisce prestazioni asintotiche costituite da zero transizioni sul bus indirizzi nel caso di sequenza infinita di indirizzi consecutivi. • Il codice T0 offre prestazioni migliori del codice Gray anche nel caso realistico di sequenze di indirizzi consecutivi di lunghezza limitata. 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 transizioniper indirizzi emessi consecutivi. 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. Cristina Silvano - Università di Brescia
Metodi di Codifica Misti • Metodo di Codifica T0_BI: (B(t), INC(t), INV(t)) = (B(t-1), 1, 0) se t > 0 b(t) = b(t-1) + S = (b(t), 0, 0) se t 0 b(t) b(t-1) + S H(t) (N+2) / 2 = (b´(t), 0, 1) se t > 0 b(t) b(t-1) + S H(t) > (N+2) / 2 dove B (t) bus codificato al tempo t, INC(t) e INV (t) linee ridondanti al tempo t, b(t)bus indirizzi al tempo t, H(t) = (B(t-1) INC(t - 1) INV(t - 1), b(t) 0 0)distanza di Hamming, Sstride e N larghezza del bus b (t). Cristina Silvano - Università di Brescia
Metodi di Codifica Misti • Metodo di Codifica Dual_T0: (B (t), INC (t)) = (B (t-1), 1) se t > 0 SEL = 1 b (t) = b (t) + 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, Sstride e b (t) dato da: b(t) = b(t-1) se SEL = 0 = b (t-1) se SEL = 1 Cristina Silvano - Università di Brescia
Metodi di Codifica Misti • Metodo di Codifica Dual_T0_BI: (B (t), INCV (t)) = (B (t-1), 1) se t > 0 SEL =1 b (t) = b (t) + S (b´(t), 1) se t > 0 SEL =0 H (t) > N /2 (b (t), 0) altrimenti dove B (t) bus codificato al tempo t, INCV (t) linea ridondante al tempo t, b (t)bus indirizzi al tempo t, H (t) = (B (t-1) INCV (t - 1), b (t) 0)distanza di Hamming, S lo stride e b (t) dato da: b(t) = b(t-1) se SEL = 0 = b (t-1) se SEL = 1 Cristina Silvano - Università di Brescia
Confronto Prestazioni dei Metodi di Codifica Misti Cristina Silvano - Università di Brescia
Consumo Codificatore/Decodificatore per Carichi Esterni 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. 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. Cristina Silvano - Università di Brescia
Configurazioni di Sistema • Il modello proposto consente di tracciare il comportamento dei bus dati e indirizzi a livello sistema per una vasta gamma di configurazioni processore-memoria. • Analizzatidue casi di studio che differiscono per il processore target, il sotto-sistema di memoria e i principali parametri di sistema: • Frequenza dei bus interni ed esterni • Carico capacitivo dei bus interni ed esterni • Tensione di alimentazione 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 Cristina Silvano - Università di Brescia