Metodologie di Stima e Ottimizzazione della Potenza Dissipata nei Circuiti e Sistemi Digitali...

65
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

Transcript of Metodologie di Stima e Ottimizzazione della Potenza Dissipata nei Circuiti e Sistemi Digitali...

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

Metodologie di Stima e Ottimizzazionedella Potenza Dissipata

nei Circuiti e Sistemi Digitali

Metodologie di Stima e Ottimizzazionedella Potenza Dissipata

nei Circuiti e Sistemi Digitali

Cristina Silvano

Dottorato di Ricerca in Ingegneria dell’Informazione - XI CicloDipartimento di Elettronica per l’Automazione

Università degli Studi di Brescia

Anno Accademico 1997-1998

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

10/12/98 Cristina Silvano - Università di Brescia 2

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

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

10/12/98 Cristina Silvano - Università di Brescia 3

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 funzionamentoCrescente livello di integrazione

Fattori legati all’evoluzione del mercato:Enorme diffusione di sistemi portatili alimentati da batterie a limitata

autonomia

Fattori economiciLa dissipazione di potenza causa surriscaldamento pertanto sono necessari

package costosi che implicano un incremento del costo globale dei dispositivi

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

10/12/98 Cristina Silvano - Università di Brescia 4

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.

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

10/12/98 Cristina Silvano - Università di Brescia 5

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 relativa delle 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.

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

10/12/98 Cristina Silvano - Università di Brescia 6

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 commutazione di una porta logica definita come probabilità che il nodo di uscita esegua una transizione ad ogni ciclo di clock.

Si definisce capacità efficace Ceff = CL il 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

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

10/12/98 Cristina Silvano - Università di Brescia 7

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).

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

10/12/98 Cristina Silvano - Università di Brescia 8

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 .

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

10/12/98 Cristina Silvano - Università di Brescia 9

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.

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

10/12/98 Cristina Silvano - Università di Brescia 10

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.

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

10/12/98 Cristina Silvano - Università di Brescia 11

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.

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

10/12/98 Cristina Silvano - Università di Brescia 12

Ambiente di Co-progettazione TOSCA

System Synthesis

System Re-Modeling formal transformations hw/sw migration

Software Executor customizable VIS-machine

(VHDL kernel model) target CPU parameters

High-Level Co-Simulation system profiling timing violations functional debug estimation metrics (power,

speed, cost, …)

System Description functionality constraints/requirements design goals

Sw-Bound partsVIS code

Hw-Bound partsVHDL

Hw/Swinterface

Commercial VHDL Simulator

OCCAM file+ timing constraints+ initial hw/sw allocation

TOSCA Graphical Co-DesignEnvironment

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

10/12/98 Cristina Silvano - Università di Brescia 13

Metodologia di Stima della Potenza a Livello Software

Design Entry

Compilation & Linking

Mapping

VIS

OCCAM2

ASSEMBLER

LEVEL 0Estimation

Annotated OCCAM2

Annotated VIS

Annotated ASSEMBLER

Back-Annotation

Back-AnnotationLibraries

LEVEL 1Estimation

LEVEL 2Annotation

LEVEL 0Profiling

LEVEL 1Profiling

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

10/12/98 Cristina Silvano - Università di Brescia 14

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).

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

10/12/98 Cristina Silvano - Università di Brescia 15

Metodologia di Stima della Potenza a Livello Software

Compilazione del SoftwarePHASE 1: Compilazione da OCCAM2 a VISPHASE 2: Mappatura da VIS a target-assembler

Back-Annotation del SoftwarePHASE 1 : Back-Annotation da target-assembler a VISPHASE 2: Back-Annotation da VIS a OCCAM2

Stima della Potenza del Software (Analisi Statica)LEVEL 2: Fase di annotazione in potenzaLEVEL 1: Fase di stima della potenza a livello intermedioLEVEL 0: Fase di stima della potenza ad alto livello

Profiling del Software (Analisi Dinamica)LEVEL 0: Profiling funzionale di OCCAM2LEVEL 1: Profiling strutturale di VIS

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

10/12/98 Cristina Silvano - Università di Brescia 16

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-assemblerLa 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.

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

10/12/98 Cristina Silvano - Università di Brescia 17

Back-Annotation del Software

PHASE1 : Back-Annotation da target-assembler a VISLe 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 OCCAM2La 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.

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

10/12/98 Cristina Silvano - Università di Brescia 18

Stima della Potenza del Software (Analisi Statica)

LEVEL 2: Fase di annotazione in potenzaLe istruzioni assembler sono annotate con i dati derivati dai file

tecnologici relativi al processore target.

LEVEL 1: Fase di stima della potenza a livello intermedioLe 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 livelloLa 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.

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

10/12/98 Cristina Silvano - Università di Brescia 19

Profiling del Software (Analisi Dinamica)

LEVEL 0: Profiling funzionale del codice OCCAM2Le 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 VISLe 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.

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

10/12/98 Cristina Silvano - Università di Brescia 20

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.

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

10/12/98 Cristina Silvano - Università di Brescia 21

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.

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

10/12/98 Cristina Silvano - Università di Brescia 22

Principali Tecniche di Stima della Potenza ad Alto Livello

Tecniche di stima della potenza ad alto livello sono apparse soltanto recentemente.

Livello Architetturale/RTMetodi 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 ComportamentalePredizione 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.

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

10/12/98 Cristina Silvano - Università di Brescia 23

Architettura Obiettivo a Livello Sistema

Registerfiles

crossbar network

MUX MUX

Register-x Register-n

MUX

MUX

Register-1

MUX

functional units

datapath control lines

MUX

MUX

Memory

Data INRegister

Data OUTRegister

Embedded Processor(core cell)

ProcessorMemory

DATAPATH

R/WAddress

MEMORY

EMBEDDED SOFTWARE

CONTROL UNIT

CLK

CLOCK DISTRIBUTION (balanced tree)

PRIMARY I/Os

next stateregister

controllogic

stateregister

Approccio System-On-a-Chip (SOC) Sistema sincrono e tutti i trasferimenti avvengono a livello di registri

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

10/12/98 Cristina Silvano - Università di Brescia 24

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.

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

10/12/98 Cristina Silvano - Università di Brescia 25

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.

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

10/12/98 Cristina Silvano - Università di Brescia 26

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 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.

kn

iCLKiiiSk fCPP

1

)(

k

k

n

iCLKikNS fPP

10 )1(

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

10/12/98 Cristina Silvano - Università di Brescia 27

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.

MUX

i

N

iCLKiieeMUX fCPnP

1

)(

FU

LIB

n

iCLKiiiFU fCPP

1

)(

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

10/12/98 Cristina Silvano - Università di Brescia 28

Modello di Potenza delle FSM

INGRESSIPRIMARI

USCITEPRIMARIE

STATOPROSSIMO

REGISTRIDI STATO

CLK

STATOPRESENTE

x1

x2

xn

y1

y2

ym

b1

b2

b1

b2

bVAR bVAR

LOGICACOMBINATORIA

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

10/12/98 Cristina Silvano - Università di Brescia 29

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_REG potenza media dissipata dai registri di stato;

PCOMB potenza media dissipata dalla logica combinatoria;

POUT potenza media dissipata dalle uscite primarie.

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

10/12/98 Cristina Silvano - Università di Brescia 30

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.

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

10/12/98 Cristina Silvano - Università di Brescia 31

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.

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

10/12/98 Cristina Silvano - Università di Brescia 32

FSM - Potenza Sequenziale [W]

0

100

200

300

400

500

600

700

bbar

a

bbta

s

beec

ount

dk14

dk16

dk27

donf

ile

ex2

ex4

ex6

keyb lion

mar

k1

mod

ulo1

2

plan

et s1 s27

sand sse

tav

tma

trai

n4

Estimation

Design Pow er

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

10/12/98 Cristina Silvano - Università di Brescia 33

FSM - Potenza Combinatoria [W]

0

1000

2000

3000

4000

5000

6000

bbar

a

bbta

s

beec

ount

dk14

dk16

dk27

donf

ile

ex2

ex4

ex6

keyb lion

mar

k1

mod

ulo1

2

plan

et s1 s27

sand sse

tbk

trai

n11

Estimation

Design Pow er

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

10/12/98 Cristina Silvano - Università di Brescia 34

FSM - Potenza Totale [W]

0

1000

2000

3000

4000

5000

6000

7000

bbar

a

bbta

s

beec

ount

dk14

dk16

dk27

donf

ile

ex2

ex4

ex6

keyb lion

mar

k1

mod

ulo1

2

plan

et s1 s27

sand sse

tav

tma

trai

n4

Estimation

Design Pow er

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

10/12/98 Cristina Silvano - Università di Brescia 35

Risultati Sperimentali

0

5

10

15

20

25

30

35

40

45

50

MU

XM

EM

GC

D

DIF

FE

Q-T

DIF

FE

Q-A

EL

LIP

F

DH

RC

PA

CE

CE

RB

ER

O

Circuito

Po

ten

za [

mW

]

Design Pow er[mW]

VHDL2POW-RTL[mW]

VHDL2POW-Comp[mW]

Circuito DesignPower [mW]

vhdl2powRTL [mW]

vhdl2powComp [mW]

Errore %(RTL)

Errore %(Comp)

MEM_INT 6.3478 5.817 - -8.3% -GCD 1.8173 1.658 1.32 -8.7% -29%DIFFEQ-T 43.4 47.415 39.181 -9.7% 9.25%DIFFEQ-A 30.26 23.437 27.368 -9.55% -22.5%ELLIPF 18.1273 - 15.038 - -17%DHRC 9.2 - 11.22 - 21.9%PACE 1.745 - 1.9 - 8.88%CERBERO 0.231 - 0.208 - -10%

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

10/12/98 Cristina Silvano - Università di Brescia 36

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.

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

10/12/98 Cristina Silvano - Università di Brescia 37

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).

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

10/12/98 Cristina Silvano - Università di Brescia 38

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.

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

10/12/98 Cristina Silvano - Università di Brescia 39

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.

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

10/12/98 Cristina Silvano - Università di Brescia 40

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.

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

10/12/98 Cristina Silvano - Università di Brescia 41

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.

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

10/12/98 Cristina Silvano - Università di Brescia 42

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, S stride e N larghezza del bus b (t).

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

10/12/98 Cristina Silvano - Università di Brescia 43

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, S stride e b (t) dato da:

b (t) = b (t-1) se SEL = 0

= b (t-1) se SEL = 1

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

10/12/98 Cristina Silvano - Università di Brescia 44

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

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

10/12/98 Cristina Silvano - Università di Brescia 45

Confronto Prestazioni dei Metodi di Codifica Misti

Programma Lunghezza PercentualeIndirizzi

CodificaBinaria

Codifica T0_BI Codifica Dual_T0 Codifica Dual_T0_BI

Sequenza Sequenziali Transizioni Transizioni Guadagno Transizioni Guadagno Transizioni Guadagno

gzip 153495 46.34% 8337995 7157171 14.16% 7363731 11.68% 7097691 14.88%

gunzip 78486 52.81% 482093 356057 26.14% 426705 11.49% 343335 28.78%

ghostview 517284 46.65% 3067635 2661381 13.24% 2785341 9.20% 2785341 14.29%

espresso 2322423 44.39% 15147444 12349832 18.47% 13586402 10.31% 11883056 21.55%

nova 765045 36.03% 5526484 5218195 5.57% 5254072 4.29% 5054617 8.53%

jedi 20835298 37.18% 152427486 131617956 13.65% 141103112 7.43% 126132486 17.25%

latex 900426 55.55% 7002828 4202462 39.99% 6202718 11.43% 4002340 42.85%

matlab 7604436 64.47% 42405967 32257681 23.93% 34005845 19.81% 30775139 27.43%

oracle 620437 56.43% 3939551 3116685 20.89% 3479391 11.68% 2964637 24.75%

Media 48.65% 19.56% 12.15% 22.25%

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

10/12/98 Cristina Silvano - Università di Brescia 46

Consumo Codificatore/Decodificatore per Carichi Esterni

Carico Est. CodificaBinaria

Codifica T0 Codifica Dual_T0_BI

(pF) Pot. Tot. (mW) Pot. Pad (mW) Pot. Tot. (mW) Pot. Pad (mW) Pot. Tot. (mW)

5 43.46 38.38 47.81 31.97 95.94

10 60.19 53.16 62.59 44.28 108.25

15 76.92 67.94 77.37 56.59 120.56

20 93.65 82.71 92.14 68.90 132.86

25 110.38 97.49 106.92 81.21 145.17

30 127.11 112.26 121.70 93.52 157.48

40 160.57 141.82 151.25 118.13 182.10

50 194.03 171.37 180.80 142.75 206.72

60 227.49 200.92 210.35 167.37 231.33

70 260.95 230.48 239.91 191.98 255.95

80 294.41 260.03 269.46 216.60 280.57

90 327.87 289.58 299.01 241.22 305.18

100 361.33 319.13 328.56 265.84 329.80

110 394.93 348.81 358.24 290.55 354.52

120 428.53 378.48 387.91 315.27 379.24

130 462.13 408.15 417.59 339.99 403.96

140 495.73 437.83 447.26 364.71 428.67

150 529.32 467.50 476.93 389.43 453.39

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

10/12/98 Cristina Silvano - Università di Brescia 47

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.

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

10/12/98 Cristina Silvano - Università di Brescia 48

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.

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

10/12/98 Cristina Silvano - Università di Brescia 49

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.

Analizzati 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

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

10/12/98 Cristina Silvano - Università di Brescia 50

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

CPUProc. Cache L1L1 Cache MainMemory

MainMemory

Proc. L1 Cache Cache L2L2 Cache MainMemory

MainMemory

Embedded System

High-End System

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

10/12/98 Cristina Silvano - Università di Brescia 51

Sistema Embedded - CASO A

Effetto codificatore di bus on-processor senza cache

Proc. BusEncoder

MainMemory

MainMemory

Frequency:Capacitance:

33MHz0.1pF

66MHz60pF

Encoding Address BusPower [mW]

% PowerSaved

Data BusPower [mW]

% PowerSaved

Binay 197.64 Ref 330.53 RefBI 190.88 3.42% 293.37 11.24%T0 185.95 5.91% 330.8 -0.08%T0_BI 180.96 8.44% 296.11 10.41%Gray 102.38 48.20% 339.37 -2.67%Dual_T0 35.12 82.23% 330.8 -0.08%Dual_T0_BI 23.32 88.20% 323.74 2.05%

Potenza bus dati e indirizzi per diverse tecniche di codifica

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

10/12/98 Cristina Silvano - Università di Brescia 52

Sistema Embedded - CASO B

Effetto della cache L1 off-processor senza codifica dei bus

Frequency:Capacitance:

66MHz10pF

66MHz60pF

ARMProc. Cache L1L1 Cache MainMemory

MainMemory

50

60

70

80

90

4K 8K 16K 32K

Cache Size (Bytes)

Po

wer

(m

W) 32

64

128

256

Block Size (Bits)

100

120

140

160

180

200

220

4K 8K 16K 32K

Cache Size (Bytes)

Po

wer

(m

W) 32

64

128

256

Block Size (Bits)

Cache Size % Power Saved on Address Busvs Reference

% Power Saved on Data Busvs Reference

Min. Ave. Max. Min. Ave. Max4KBytes 55.99 60.00 64.17 35.60 45.06 48.048KBytes 65.01 67.99 70.04 53.48 59.01 60.6116KBytes 69.40 72.32 73.67 59.65 66.54 67.9332KBytes 70.85 72.88 73.92 62.02 67.47 68.27

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

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

10/12/98 Cristina Silvano - Università di Brescia 53

Sistema Embedded - CASO C

Effetto combinato di codificatore di bus on-processor e cache L1 off-processor

Frequency:Capacitance:

33MHz0.1pF

66MHz10pF

Proc. Encoder MainMemory

MainMemoryCache L1L1 Cache

66MHz60pF

2030405060708090

4K 8K 16K 32K

Cache Size (Bytes)

Po

wer

(m

W) Binary

Gray

BI

T0

T0 BI

Dual T0

Dual T0 BI

Bus Encoding

90

110

130

150

170

190

4K 8K 16K 32K

Cache Size (Bytes)

Po

wer

(m

W) Binary

Gray

BI

T0

T0 BI

Dual T0

Dual T0 BI

Bus Encoding

Cache Size Average % Power Saved Address Bus vs ReferenceBinary Gray BI T0 T0_BI Dual_T0 Dual_T0_BI

4KBytes 58.78 66.74 59.28 59.70 60.12 72.42 73.418KBytes 67.46 75.42 67.96 68.38 68.80 81.10 82.0916KBytes 72.17 80.13 72.67 73.08 73.50 85.80 86.8032KBytes 72.76 80.72 73.26 73.68 74.10 86.40 87.39

Cache Size Average % Power Saved Address Bus vs Binary EncodingGray BI T0 T0_BI Dual_T0 Dual_T0_BI

4KBytes 19.32 1.22 2.22 3.25 33.09 35.508KBytes 24.48 1.54 2.82 4.11 41.92 44.9816KBytes 28.65 1.80 3.30 4.81 49.06 52.6332KBytes 29.25 1.84 3.36 4.91 50.08 53.74

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

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

10/12/98 Cristina Silvano - Università di Brescia 54

Sistema Embedded - CASO D

Effetto combinato di L1 cache off-processor e codificatore di bus off-processor

Frequency:Capacitance:

66MHz10pF

66MHz10pF

Proc. L1 Cache MainMemory

MainMemoryEncoder

BusEncoder

66MHz60pF

Cache Size Average % Power Saved Address Bus vs ReferenceBinary Gray BI T0 T0_BI Dual_T0 Dual_T0_BI

4KBytes 58.78 63.80 55.22 57.73 57.87 69.17 69.518KBytes 67.46 69.55 65.04 66.42 66.41 71.69 71.8516KBytes 72.17 72.68 70.40 71.10 70.98 73.02 73.1332KBytes 72.76 73.06 71.08 71.71 71.58 73.26 73.37

Cache Size Average % Power Saved Address Bus vs Binary EncodingGray BI T0 T0_BI Dual_T0 Dual_T0_BI

4KBytes 12.17 -8.64 -2.55 -2.21 25.21 26.038KBytes 6.40 -7.42 -3.19 -3.23 13.01 13.4816KBytes 1.81 -6.33 -3.83 -4.25 3.05 3.4432KBytes 1.09 -6.18 -3.84 -4.31 1.82 2.26

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

10/12/98 Cristina Silvano - Università di Brescia 55

Metodi di Assegnamento degli Stati nelle FSM

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.

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

10/12/98 Cristina Silvano - Università di Brescia 56

Problema dell’Assegnamento degli Stati nelle FSM

Dato lo STG associato ad una FSM, 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.

Funzione di costo: Somma delle distanze di Hamming tra parole di codice assegnate a coppie di stati si e sj tra i quali può avvenire una transizione:

C = ij H (ci, cj)

Una funzione di costo più efficace deve assegnare codici vicini a coppie di stati caratterizzati da elevata probabilità di transizione:

C = ij wij H (ci, cj)

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

10/12/98 Cristina Silvano - Università di Brescia 57

Principali Tecniche di Assegnamento degli Stati

Cyclop considera le probabilità di transizione condizionate come fattori di peso nella funzione di costo.

POW3 considera le probabilità di transizioni totali come fattori di peso.

Galops introduce una combinazione convessa di attività di transizione e area della parte combinatoria come pesi di STG.

LPSA propone un modello di costo per implementazioni della logica combinatoria a 2-livelli e multi-livello.

Metodi basati su codici a lunghezza variabile, ad esempio codifica di Huffman per assegnare parole di codice con lunghezza minore agli stati più probabili.

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

10/12/98 Cristina Silvano - Università di Brescia 58

Modello Probabilistico di FSM

Dato STG composto da ns 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:

pij = Prob (Next =sj | Present = si)

Probabilità di transizioni di stato totali Pij = pij Pi

Probabilità statica di stato Pi : PT = PT p i=1 …ns Pi =1

P300

S4

S2 S3

11

01,-0

01,-0 0- 10,-1

1-

S1

11

P2

P1 P4

p23

p42

p34

p43

p21

p12

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

10/12/98 Cristina Silvano - Università di Brescia 59

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.

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

10/12/98 Cristina Silvano - Università di Brescia 60

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.

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

10/12/98 Cristina Silvano - Università di Brescia 61

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.

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

10/12/98 Cristina Silvano - Università di Brescia 62

Metodi di Codifica degli Stati nelle FSM

Proposti quattro metodi di assegnamento degli stati:Depth FirstMinimum Distance1_Level1_Level_Tree

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

10/12/98 Cristina Silvano - Università di Brescia 63

Risultati Confronto Metodi di Codifica degli Stati in FSM

bb

ara

bb

se

bb

tas

bb

tasm

od

be

eco

un

t

cse

dk1

4

dk1

5

dk1

6

dk1

7

dk2

7

dk5

12

do

nfil

e

ex1

ex4

ex6

keyb

kirk

ma

n

lion

lion

9

mc

mo

du

lo1

2

pla

ne

t

pla

ne

t1 s1

s14

88

s1a

s20

8

s27

s38

6

s42

0

s51

0 s8

s82

0

s83

2

san

d

shift

reg

styr tav

tbk

tma

tra

in1

1

tra

in4

1Level Tree Pow3 Huffman

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

10/12/98 Cristina Silvano - Università di Brescia 64

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.

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

10/12/98 Cristina Silvano - Università di Brescia 65

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.