Thesis Amicucci Slides IT
Transcript of Thesis Amicucci Slides IT
Politecnico di MilanoPolitecnico di Milano
SyCERS: Un framework basato su SyCERS: Un framework basato su SystemC per la progettazione e SystemC per la progettazione e
simulazione di sistemi embedded simulazione di sistemi embedded dinamicamente riconfigurabilidinamicamente riconfigurabili
Carlo AMICUCCI
Matr. 642360
Relatore prof. Donatella SCIUTO
Correlatore ing. Marco Domenico SANTAMBROGIO
Carlo Amicucci 2
SommarioSommario
• Obiettivi
• Sistemi embedded dinamicamente riconfigurabili
• Transaction Level Modeling (TLM) e SystemC
• Riconfigurabilità dinamica e SystemC
•Modelli SystemC per Caronte
• Risultati sperimentali
• Sviluppi futuri
Carlo Amicucci 3
ObiettiviObiettivi
• Definizione di un modello per descrivere sistemi dinamicamente riconfigurabili• Basata su uno dei linguaggi di descrizione hardware
esistenti
• Utilizzabile già nelle prime fasi di progetto (permette di considerare la riconfigurabilità a livello di sistema)
• Fornire un framework per la simulazione e la progettazione di sistemi dinamicamente riconfigurabili• Specifiche simulabili
• Possibilità di variare velocemente parametri quali: num. delle unità di riconf., tempo di riconfigurazione, ecc…
• Possibilità di considerare la componente software
Carlo Amicucci 4
Sistemi embedded Sistemi embedded dinamicamente riconfigurabilidinamicamente riconfigurabili
Rec.IP-Core
1
BUS
Rec.IP-Core
N
Rec.IP-Core
2
ProcessoreEmbedded
FixIP-Core
1
FixIP-Core
2
FixIP-Core
1(Control)
RecIP-Core
3
RecIP-Core
1
FixIP-Core
2
RecIP-Core
2
• Generalmente basati su FPGA
• Comunicazione
• BUS (Tecnologie standard quali AMBA o IBM CoreConnect)
• Connessione punto-punto
• Presenza di un controllore della riconfigurabilità (generalmente nella parte statica o esterno al dispositivo) che può essere controllato:
• Hardware
• Software (maggiore flessibilità)
• Esempi: Caronte ADRIATIC e RECONF2
Carlo Amicucci 5
TLM e SystemCTLM e SystemC
• Separare la definizione delle funzionalità del sistema dalla definizione dei dettagli di comunicazione
• Attraverso la definizione di un Canale di comunicazione• DEF.: un canale implementa una serie di interfacce che sono
esposte ai componenti funzionali connessi attraverso di esso.
• DEF.: un’interfaccia espone i metodi che possono essere invocati dal componente funzionale per comunicare.
• SystemC, dalla versione 2.0, permette di utilizzare la TLM:
write()read()write()read()
modulo Amodulo A
pA->write(v)pA->write(v)
modulo Bmodulo B
v=pB->read()v=pB->read()
canale
pA pB
sc_interface
sc_port
Carlo Amicucci 6
La metodologia propostaLa metodologia proposta
SpecificationModel
SpecificationModel
ComponentAssembly
Model
ComponentAssembly
Model
BusFunctional
Model
BusFunctional
Model
• Definire la funzionalità del sistema
• Non contiene dettagli sull’implementazione
• Esplorazione dello spazio delle soluzioni
• Dettagli implementativi sulle funzionalità
• Non contiene dettagli sulla comunicazione
• Validazione della soluzione attraverso la simulazione
Carlo Amicucci 7
Componente dinamicamente Componente dinamicamente riconfigurabile in SystemCriconfigurabile in SystemC
• Non è possibili istanziare in fase di simulazione un sc_module
• Posso modificare SC_THREAD e SC_METHOD utilizzando:
• puntatore a funzione
• sc_mutex
• Configurazione
• Associabile un tempo di ric.
• Elaborazione
• Associabile un tempo di elab.
*g()
ComponenteRiconfigurabile(sc_module)
Configurazione(puntatore a funzione)
mutex
Carlo Amicucci 8
Evoluzione di un componente Evoluzione di un componente riconfigurabile nel temporiconfigurabile nel tempo
*f()*g()
*g()*g()
Mem. delle Conf.Mem. delle Conf.
f()
g()k()
UnlockedUnlocked
LockedLockedRiconfig.Riconfig.
Elab.Elab.
Carlo Amicucci 9
ComunicazioneComunicazione
«sc_module»RecHW
«interfaccia»comm_if
«funzione»Configurazione
*
*Invoca
1 *
Utilizza
«sc_module»RecController
1 *
Configura«interfaccia»rec_ctrl_if
• rec_ctrl_if utilizzata dal controllore delle riconfigurazioni per gestire i componenti riconfigurabili
• comm_if utilizzata da una configurazione per accedere alle risorse messe a disposizione dal componente riconfigurabile
Carlo Amicucci 10
Modelli per CaronteModelli per Caronte
Codice di Controllo
(SystemC)
Codice di Controllo
(SystemC)
CompilatoreGCC
CompilatoreGCC
ConfigurazioniBlackBox(SystemC)
ConfigurazioniConfigurazioni
Processo di controllo
Processo di controllo
Schedulere Controller
Schedulere Controller
ModelloMemoria
ModelloMemoria
ModelloMemoria
BlackBoxes
ModelloCoreConnect
ModelloCoreConnect
PowerPCISS
PowerPCISS
Open SystemC PowerPC core models
Cross compilatore
GCC
Cross compilatore
GCC
Codice di Controllo(C/C++)
Codice di Controllo(C/C++)
Component assembly modelBus arbitration model
Carlo Amicucci 11
Risultati sperimentaliRisultati sperimentali
• Filtro Adattativo (5 configurazioni)
• Elaborazione pipeline
• Acceleratore hw
•MD5 (4 configurazioni)
• Ver. 1 – elaborazione monolitica
• Ver. 2 – elaborazione pipeline
• DES (2 configurazioni)
• Riconfigurabilità e Sistemi di calcolo parallelo
Carlo Amicucci 12
Filtro AdattativoFiltro Adattativo
• Component assembly model di Caronte
• Permette di vedere come variano le prestazioni del sistema in funzione• Del numero BlackBox
• Tempo di riconfigurazione
• Politica di scheduling
BB1
BB1
BB1
BB1
BB1
Filtro passa basso
Sottrazione (Filtro passa
alto)
K(fL)
Applicazione della non linearità
Somma
PE
Tempo
Tempo di riconfigurazione
Tempo di elaborazione Immagine 1
Tempo di elaborazione Immagine 2
BB1
BB2
BB1
BB2
BB1
Filtro passa basso
Sottrazione (Filtro passa
alto)
K(fL)
Applicazione della non linearità
Somma
PE
Tempo
0
2
4
6
8
10
12
14
16
0 100 200 300 400 500 600 700 800 900 1000
Tempo (ms)
N d
i Op
eraz
ion
i
Arch. con una BlackBox
Arch. con due BlackBox
Arch. con tre BlackBox
Arch. con quattro BlackBox
Carlo Amicucci 13
Prestazioni del simulatorePrestazioni del simulatore
• Il tempo di esecuzione reale dipende da:
• Risoluzione del tempo di simulazione
• Ottimizzazione in fase di compilazione (il tempo di elab. < 30 %)
• La memoria occupata dal modello è di circa
• 150 KB per ogni BlackBox
• Aumentando il num. Di BlackBox aumenta il numero di thread, ma le prestazioni non degradano
0,00
50,00
100,00
150,00
200,00
250,00
300,00
1 2 3 4
Numero di BlackBoxes
Tem
po
(se
c)
Versione ottimizzata
Versione debug
Carlo Amicucci 14
Risultati e sviluppi futuriRisultati e sviluppi futuri
• Generazione automatica di specifiche riconfigurabili da specifiche statiche.
• Introduzione di metriche per la stima dell’occupazione
• Estensione del simulatore al modello DORM (Data Oriented Reconfigurable Model). In questo modello la funzionalità necessaria a manipolare i dati è definita nel dato stesso.
• Utilizzo dei risultati di simulazione per la stima automatica del numero di iterazioni necessarie al mascheramento delle operazioni di riconfigurazione.
• C. Amicucci, F. Ferrandi, M.Santambrogio, D. Sciuto. SyCERS: a SystemC design exploration framework for SoC reconfigurable architecture, In Engineering of Reconfigurable System and Algorithms Conference (ERSA ‘06), Las Vegas, Nevada, USA, Giugno 26-29 2006