Metodologie di Stima e Ottimizzazione della Potenza Dissipata nei Circuiti e Sistemi Digitali Cristina Silvano Dottorato di Ricerca in Ingegneria dell’Informazione.

Slides:



Advertisements
Presentazioni simili
Gestione della Memoria
Advertisements

Informatica Generale Marzia Buscemi
Politecnico di Milano UNA METODOLOGIA PER LA STIMA DELLE RISORSE HARDWARE IN ARCHITETTURE RICONFIGURABILI Relatore: Prof. Fabrizio FERRANDI Correlatore:
Carlo Di Federico - Matricola n Roberto Gonella - Matricola n
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Generalità Linguaggio e Macchina Astratta
Circuiti sequenziali Capitolo 5.
Luca Pizzamiglio Dipartimento di Elettronica ed Informazione Corso di Laurea in Ingegneria Informatica 17 Giugno 2003 Stimatori d'area per descrizioni.
Realizzazione del file system
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Introduzione ai circuiti sequenziali
Architetture scalabili e flessibili a basso consumo Mariagiovanna Sami Polimi Lecce – 5 luglio 04.
MAIS WP5 – Architectures Luca Negri Politecnico di Milano Roma – novembre 05.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Convertitore A/D e circuito S/H
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
L’Architettura del Sistema di Elaborazione
D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di.
Proposte di tesina Mario Toma.
PROGETTO DI UN FILTRO POLIFASE FIR DECIMATORE PER IMPIEGO IN UN SISTEMA MULTISTANDARD UMTS-WLAN RELATORE: Prof. Carla Vacchi CORRELATORE: Ing. Everest.
ELETTRONICA DIGITALE (II Parte)
Introduzione al linguaggio assemby del microprocessore a parte
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
TRATTAMENTO DEI DATI ANALITICI
STMicroelectronics Proposte di tesi
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Unità centrale di processo
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Reti Logiche A Lezione xx.x Dispositivi Programmabili
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Migliorare le prestazioni delle cache
4/12/98Cristina Silvano - CEFRIEL1 Sintesi ad alto livello Cristina Silvano CEFRIEL - Politecnico di Milano Electronic Design Automation (EDA) Area Via.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Calcolatori Elettronici Il Processore
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Gestione del processore (Scheduler)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Metodologie di Stima e Ottimizzazione della Potenza Dissipata nei Circuiti e Sistemi Digitali Cristina Silvano Dottorato di Ricerca in Ingegneria dell’Informazione.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

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

10/12/98Cristina Silvano - Università di Brescia2 Sommario oIntroduzione oObiettivi della Ricerca oMetodologia di Stima della Potenza Dissipata a Livello Software oMetodologia di Stima della Potenza Dissipata ad Alto Livello oTecniche di Codifica per Ridurre la Potenza Dissipata a Livello dei Bus di Sistema oMetodologia di Stima della Potenza Dissipata a Livello dei Bus di Sistema oTecniche di Assegnamento degli Stati nelle FSM per Ridurre la Potenza Dissipata oConclusioni e Sviluppi Futuri

10/12/98Cristina Silvano - Università di Brescia3 Introduzione oLe problematiche legate al consumo di potenza nei circuiti integrati e sistemi digitali sono diventate di importanza fondamentale a causa di diversi fattori. oFattori tecnologici: âAumento delle frequenze di funzionamento âCrescente livello di integrazione oFattori legati all’evoluzione del mercato: âEnorme diffusione di sistemi portatili alimentati da batterie a limitata autonomia oFattori economici âLa dissipazione di potenza causa surriscaldamento pertanto sono necessari package costosi che implicano un incremento del costo globale dei dispositivi

10/12/98Cristina Silvano - Università di Brescia4 Introduzione oL’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. oTecniche 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. oTecniche 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/98Cristina Silvano - Università di Brescia5 Introduzione oPrincipali 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. oL’accuratezza relativa delle stime ad alto livello è molto più importante dell’accuratezza assoluta, infatti l’obiettivo finale è il confronto di diverse alternative di progetto. oAd alto livello possono essere sfruttati maggiori gradi di libertà per realizzare ottimizzazioni della potenza dissipata.

10/12/98Cristina Silvano - Università di Brescia6 Sorgenti di Dissipazione di Potenza nei Circuiti CMOS oTre sono le sorgenti di dissipazione di potenza nei circuiti CMOS: P Media = P Comm. + P Corto-Circuito + P Perdita oParte predominante è P Comm  La maggior parte delle tecniche di riduzione della potenza è costituita da tecniche di ottimizzazione della potenza di commutazione: P Comm. =  C L V 2 dd f CLK dove  è l’attività di commutazione di una porta logica definita come probabilità che il nodo di uscita esegua una transizione ad ogni ciclo di clock. oSi definisce capacità efficace C eff =  C L il termine che include sia la capacità di carico sia l’attività di commutazione. oFissata f CLK, per minimizzare P Comm occorre:  Ridurre la capacità efficace C eff  Ridurre la tensione di alimentazione V dd

10/12/98Cristina Silvano - Università di Brescia7 Obiettivi della Ricerca oDefinizione 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. oDefinizione 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/98Cristina Silvano - Università di Brescia8 Metodologia di Stima della Potenza a Livello Software oLa disponibilità di una metodologia di progetto congiunto HW/SW è di primaria importanza durante tutte le fasi del progetto di sistemi digitali dedicati. oLe tecniche di co-progettazione si propongono di raggiungere i requisiti a livello sistema sfruttando la sinergia tra le parti HW e SW. oMetriche 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.

10/12/98Cristina Silvano - Università di Brescia9 Principali Tecniche di Stima della Potenza a Livello Software oTecniche di stima della potenza associata al software sono apparse soltanto recentemente. oApprocci basati sulla simulazione della descrizione a livello RT o logico del processore. oApprocci basati sulla stima dell’attività di commutazione dei bus di sistema. oApprocci basati sulla stima a livello di istruzione. oNon esistono tool commerciali per l’analisi di potenza del software.

10/12/98Cristina Silvano - Università di Brescia10 Metodologia di Stima della Potenza a Livello Software oObiettivi 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/98Cristina Silvano - Università di Brescia11 Ambiente di Co-progettazione TOSCA oL’ambiente di co-progettazione TOSCA (Tools for System Co-design Automation) costituisce il framework per lo sviluppo della metodologia di stima proposta. oIl 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.

10/12/98Cristina Silvano - Università di Brescia12 Ambiente di Co-progettazione TOSCA

10/12/98Cristina Silvano - Università di Brescia13 Metodologia di Stima della Potenza a Livello Software Design Entry Compilation & Linking Mapping VIS OCCAM2 ASSEMBLER LEVEL 0 Estimation Annotated OCCAM2 Annotated VIS Annotated ASSEMBLER Back-Annotation Libraries LEVEL 1 Estimation LEVEL 2 Annotation LEVEL 0 Profiling LEVEL 1 Profiling

10/12/98Cristina Silvano - Università di Brescia14 Metodologia di Stima della Potenza a Livello Software oAnalisi 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 oDati 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/98Cristina Silvano - Università di Brescia15 Metodologia di Stima della Potenza a Livello Software oCompilazione del Software âPHASE 1: Compilazione da OCCAM2 a VIS âPHASE 2: Mappatura da VIS a target-assembler oBack-Annotation del Software âPHASE 1 : Back-Annotation da target-assembler a VIS âPHASE 2: Back-Annotation da VIS a OCCAM2 oStima 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 oProfiling del Software (Analisi Dinamica) âLEVEL 0: Profiling funzionale di OCCAM2 âLEVEL 1: Profiling strutturale di VIS

10/12/98Cristina Silvano - Università di Brescia16 Compilazione del Software oPHASE 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. oPHASE 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.

10/12/98Cristina Silvano - Università di Brescia17 Back-Annotation del Software oPHASE1 : 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. oPHASE 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.

10/12/98Cristina Silvano - Università di Brescia18 Stima della Potenza del Software (Analisi Statica) oLEVEL 2: Fase di annotazione in potenza âLe istruzioni assembler sono annotate con i dati derivati dai file tecnologici relativi al processore target. oLEVEL 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. oLEVEL 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.

10/12/98Cristina Silvano - Università di Brescia19 Profiling del Software (Analisi Dinamica) oLEVEL 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. oLEVEL 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.

10/12/98Cristina Silvano - Università di Brescia20 Metodologia di Stima della Potenza ad Alto Livello oPrincipali 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.

10/12/98Cristina Silvano - Università di Brescia21 Metodologia di Stima della Potenza ad Alto Livello oObiettivi 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/98Cristina Silvano - Università di Brescia22 Principali Tecniche di Stima della Potenza ad Alto Livello oTecniche di stima della potenza ad alto livello sono apparse soltanto recentemente. oLivello 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. oLivello 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. oIl mercato dei tool EDA non offre strumenti per l’analisi accurata della potenza ad alto livello.

10/12/98Cristina Silvano - Università di Brescia23 Architettura Obiettivo a Livello Sistema Approccio System-On-a-Chip (SOC) Sistema sincrono e tutti i trasferimenti avvengono a livello di registri

10/12/98Cristina Silvano - Università di Brescia24 Modello di Stima della Potenza ad Alto Livello oIl modello è basato su un metodo analitico che correla la potenza dissipata associata alla descrizione VHDL alle capacità e attività di commutazione dei nodi. oL’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. oL’approccio di stima è debolmente dipendente dai pattern di ingresso e richiede probabilità di ingresso che riflettano il comportamento tipico degli ingressi. oModello basato su stima probabilistica dell’attività di commutazione; le probabilità di ingresso sono derivate dalla specifica a livello sistema.

10/12/98Cristina Silvano - Università di Brescia25 Modello di Stima della Potenza ad Alto Livello oLa potenza media dissipata da un generico ASIC è composta da: P = P IO + P CORE dove P IO e P CORE sono la potenza media dissipata dai nodi di ingresso/uscita e dai nodi interni dell’ASIC. oP CORE può essere espressa come: P CORE = P DP + P MEM + P CNTR + P PROC + P CLK 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/98Cristina Silvano - Università di Brescia26 Stima di P DATA-PATH oLa potenza media dissipata dal data-path è composta da: P DP = P REG + P MUX + P FU dove: P REG potenza media dissipata dai registri; P MUX potenza media dissipata dai multiplexer; P FU potenza media dissipata dalle unità funzionali. oStima di P REG : âIl metodo denominato live 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 commutazione sia della potenza di non-commutazione, dovuta ai pilotanti interni del clock.

10/12/98Cristina Silvano - Università di Brescia27 Stima di P DATA-PATH oStima di P MUX : â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. oStima di P FU : â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.

10/12/98Cristina Silvano - Università di Brescia28 Modello di Potenza delle FSM INGRESSI PRIMARI USCITE PRIMARIE STATO PROSSIMO REGISTRI DI STATO CLK STATO PRESENTE x 1 x 2 x n y 1 y 2 y m b 1 b 2 b 1 b 2 b VAR b LOGICA COMBINATORIA

10/12/98Cristina Silvano - Università di Brescia29 Stima di P CNTR oLa 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. oLa potenza media dissipata dalla logica di controllo è composta da: P CNTR = P IN + P ST_REG + P COMB + P OUT dove: P IN potenza media dissipata dagli ingressi primari; P ST_REG potenza media dissipata dai registri di stato; P COMB potenza media dissipata dalla logica combinatoria; P OUT potenza media dissipata dalle uscite primarie.

10/12/98Cristina Silvano - Università di Brescia30 Stima di P CNTR oStima di P IN : â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. oStima di P ST_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. oStima di P COMB : âLa stima di potenza della logica combinatoria è basata su una implementazione a due-livelli. oStima di P OUT : â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.

10/12/98Cristina Silvano - Università di Brescia31 Risultati Sperimentali oRisultati sperimentali sono stati ricavati da FSM standard del benchmark MCNC e da casi di studio industriali. oLe 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. oLa 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.

10/12/98Cristina Silvano - Università di Brescia32 FSM - Potenza Sequenziale [  W]

10/12/98Cristina Silvano - Università di Brescia33 FSM - Potenza Combinatoria [  W]

10/12/98Cristina Silvano - Università di Brescia34 FSM - Potenza Totale [  W]

10/12/98Cristina Silvano - Università di Brescia35 Risultati Sperimentali

10/12/98Cristina Silvano - Università di Brescia36 Tecniche di Codifica a Livello dei Bus di Sistema oNei 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. oUn significativo risparmio di potenza può essere ottenuto diminuendo l’attività di transizione degli I/O attraverso tecniche di codifica. oSvantaggi: âAumento della potenza interna a causa della presenza dei circuiti di codifica/decodifica. âEventuale aggiunta di bit di ridondanza.

10/12/98Cristina Silvano - Università di Brescia37 Principali Tecniche di Codifica a Livello dei Bus di Sistema oTecniche di codifica a livello di bus di sistema per limitare il numero di transizioni dei bus dati e indirizzi: oPer bus dati, caratterizzati da informazioni da trasmettere distribuite in modo casuale: âCodice One-hot garantisce 2 transizioni per ogni ciclo, ma richiede 2 N 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. oPer 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).

10/12/98Cristina Silvano - Università di Brescia38 Codice Bus-Invert oAssunzioni: 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. oMetodo 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). oVantaggio: Garantisce che il massimo numero di transizioni per ciclo di clock sia N/2  valore dimezzato rispetto al valore originale. oSvantaggio: Richiede una linea ridondante sul bus per indicare quando il pattern è stato invertito.

10/12/98Cristina Silvano - Università di Brescia39 Codice Gray e Codice T0 oPer indirizzi sequenziali, il codice Gray è ottimo per codici non- ridondanti, richiedendo una commutazione sul bus indirizzi per ogni coppia di indirizzi consecutivi. oPer codici ridondanti, prestazioni migliori rispetto al codice Gray possono essere ottenute sfruttando il principio di località spaziale degli indirizzi. oIl codice T0 fornisce prestazioni asintotiche costituite da zero transizioni sul bus indirizzi nel caso di sequenza infinita di indirizzi consecutivi. oIl codice T0 offre prestazioni migliori del codice Gray anche nel caso realistico di sequenze di indirizzi consecutivi di lunghezza limitata.

10/12/98Cristina Silvano - Università di Brescia40 Codice T0 oMetodo 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. oPer 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/98Cristina Silvano - Università di Brescia41 Metodi di Codifica Misti oObiettivo: sfruttare le peculiarità dei metodi di codifica illustrati per ottenere riduzioni di potenza a livello sistema attraverso la loro applicazione combinata. oSchemi 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/98Cristina Silvano - Università di Brescia42 Metodi di Codifica Misti oMetodo 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, S stride e N larghezza del bus b (t).

10/12/98Cristina Silvano - Università di Brescia43 Metodi di Codifica Misti oMetodo 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, S stride e b  (t) dato da: b  (t) = b  (t-1) se SEL = 0 = b (t-1) se SEL = 1

10/12/98Cristina Silvano - Università di Brescia44 Metodi di Codifica Misti oMetodo 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

10/12/98Cristina Silvano - Università di Brescia45 Confronto Prestazioni dei Metodi di Codifica Misti

10/12/98Cristina Silvano - Università di Brescia46 Consumo Codificatore/Decodificatore per Carichi Esterni

10/12/98Cristina Silvano - Università di Brescia47 Metodologia di Stima della Potenza a Livello dei Bus di Sistema oObiettivi 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/98Cristina Silvano - Università di Brescia48 Modello di Sistema oModello 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 oModello 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 oModello 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/98Cristina Silvano - Università di Brescia49 Configurazioni di Sistema oIl modello proposto consente di tracciare il comportamento dei bus dati e indirizzi a livello sistema per una vasta gamma di configurazioni processore-memoria. oAnalizzati due 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

10/12/98Cristina Silvano - Università di Brescia50 Casi di Studio oSistema embedded basato su processore a 32-bit ARM7TDMI a bassa dissipazione e sotto-sistema di memoria composto da cache L1 e memoria principale. oSistema 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/98Cristina Silvano - Università di Brescia51 Sistema Embedded - CASO A oEffetto codificatore di bus on-processor senza cache Potenza bus dati e indirizzi per diverse tecniche di codifica

10/12/98Cristina Silvano - Università di Brescia52 Sistema Embedded - CASO B oEffetto della cache L1 off-processor senza codifica dei bus Percentuale di potenza risparmiata su bus dati e indirizzi rispetto all’architettura di riferimento per 4 diverse dimensioni della cache 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

10/12/98Cristina Silvano - Università di Brescia53 Sistema Embedded - CASO C oEffetto 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/98Cristina Silvano - Università di Brescia54 Sistema Embedded - CASO D oEffetto combinato di L1 cache off-processor e codificatore di bus off- processor

10/12/98Cristina Silvano - Università di Brescia55 Metodi di Assegnamento degli Stati nelle FSM oObiettivi 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/98Cristina Silvano - Università di Brescia56 Problema dell’Assegnamento degli Stati nelle FSM oDato lo STG associato ad una FSM, trovare un assegnamento di codici binari ai registri di stato per minimizzare una data funzione di costo. oMetodi 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. oFunzione di costo: Somma delle distanze di Hamming tra parole di codice assegnate a coppie di stati s i e s j tra i quali può avvenire una transizione: C =  ij H (c i, c j ) oUna funzione di costo più efficace deve assegnare codici vicini a coppie di stati caratterizzati da elevata probabilità di transizione: C =  ij w ij H (c i, c j )

10/12/98Cristina Silvano - Università di Brescia57 Principali Tecniche di Assegnamento degli Stati oCyclop considera le probabilità di transizione condizionate come fattori di peso nella funzione di costo. oPOW3 considera le probabilità di transizioni totali come fattori di peso. oGalops introduce una combinazione convessa di attività di transizione e area della parte combinatoria come pesi di STG. oLPSA propone un modello di costo per implementazioni della logica combinatoria a 2-livelli e multi-livello. oMetodi basati su codici a lunghezza variabile, ad esempio codifica di Huffman per assegnare parole di codice con lunghezza minore agli stati più probabili.

10/12/98Cristina Silvano - Università di Brescia58 Modello Probabilistico di FSM oDato STG composto da n s stati, si approssima l’attività di commutazione media dei nodi usando probabilità di transizione derivate modellizzando la FSM come catena di Markov. âProbabilità di transizione di stato condizionate: p ij = Prob (Next =s j | Present = s i ) âProbabilità di transizioni di stato totali P ij = p ij P i âProbabilità statica di stato P i : P T = P T p  i=1 …ns P i =1 P3 P3 00 S4S4 S2 S2 S3 S , ,-1 1- S1 S1 11 P2 P2 P1 P1 P4 P4 p 23 p 42 p 34 p 43 p 21 p 12

10/12/98Cristina Silvano - Università di Brescia59 Metodi di Codifica degli Stati nelle FSM oProcesso 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/98Cristina Silvano - Università di Brescia60 Metodi di Codifica degli Stati nelle FSM oProposte 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/98Cristina Silvano - Università di Brescia61 Metodi di Codifica degli Stati nelle FSM oProposti 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(s n, 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 C p che contiene H(s n, s n-1 ) e H (s n, s j ) con s j nodi non ancora assegnati.

10/12/98Cristina Silvano - Università di Brescia62 Metodi di Codifica degli Stati nelle FSM oProposti quattro metodi di assegnamento degli stati: âDepth First âMinimum Distance â1_Level â1_Level_Tree

10/12/98Cristina Silvano - Università di Brescia63 Risultati Confronto Metodi di Codifica degli Stati in FSM

10/12/98Cristina Silvano - Università di Brescia64 Conclusioni e Sviluppi Futuri oDefinita una metodologia di analisi della potenza dissipata a livello sistema integrata in un ambiente di co-progettazione HW/SW per sistemi dedicati. oDefinito un modello a livello sistema per la valutazione degli effetti congiunti delle tecniche di codifica dei bus e della gerarchia di memoria. oRisultati sperimentali su circuiti di benchmark e casi di studio industriali hanno mostrato accuratezza relativa soddisfacente rispetto a tool di stima a livello logico. oSviluppi 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/98Cristina Silvano - Università di Brescia65 Conclusioni e Sviluppi Futuri oDefinite nuove tecniche di codifica dell’informazione finalizzate alla riduzione delle transizioni dei bus a livello sistema. oDefinite nuove tecniche di assegnamento degli stati nelle FSM. oLe 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. oSviluppi 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.