POLITECNICO DI MILANO
DRCP: Come gestire in modo
efficiente la riconfigurazione
parziale dinamica su FPGA
Luca Cerri: [email protected]
Relatore: Prof. Marco D. Santambrogio
Correlatore: Ing. Fabio Cancarè
Motivazioni e Obiettivi
MOTIVAZIONI:
Rilocazione spesso associata a riconfigurazione
Il processo di riconfigurazione su FPGA richiede un
notevole utilizzo di risorse, in termini di impiego del
processore e di occupazione del canale di
comunicazione.
E’ conveniente riconfigurare solo grosse aree del
dispositivo
OBIETTIVI:
Creare un componente che gestisca rilocazione e
riconfigurazione
Parallelizzare le operazioni nel componente per
garantire maggiori prestazioni sgravando la CPU e il bus
dati
2
Indice
Stato dell’Arte
Funzionamento attuale
Esecuzione parallela
Funzionamento desiderato
Modello
Implementazione del componente DRCP
Struttura
Funzionamento
Risultati Sperimentali
Conclusioni e sviluppi futuri
3
Stato dell’arte
Rilocazione
Filtri Software:
PARABIT, Università di Washington (USA)
BAnMaT, Politecnico di Milano, gruppo DRESD
Filtri Hardware:
REPLICA, Università di Paderborn (Ger)
BiRF, Politecnico di Milano, gruppo DRESD
Riconfigurazione
Riconfigurazione del dispositivo attraverso porta ICAP (Internal
Configuration Access Port), che va gestita via hardware
Componenti Esistenti:
OPB_HWICAP, Xilinx inc.
ICAP DRESD, Politecnico di Milano, gruppo DRESD
DRC, Politecnico di Milano, gruppo DRESD
4
Funzionamento attuale
BiRF per la
rilocazione
DRC per la
riconfigurazione
Solo passi 6 e 1
eseguibili in
parallelo
ASPETTI NEGATIVI
Gli scambi di dati avvengono sempre utilizzando il bus
dati.
La CPU, agendo come master, deve gestire ogni
trasferimento su bus
PRESTAZIONI LIMITATE
5
Esecuzione parallela: funzionamento desiderato
Collegamento diretto tra BiRF e DRC
Passi 1,2 e 3,4 eseguibili in parallelo
6
Esecuzione parallela: modello
lunghezzaD ati
NC 
larghezzaB us


Ltask  Lesecuzione  Lsetup  N C  2  Lesecuzione  L parallelo
Thr 
7
lunghezzaD ati  f ck
Ltask
DRCP: struttura
Implementazione di BiRF e DRC nel componente per
trasferire direttamente i dati senza l’uso del bus.
Esecuzione parallela delle operazioni.
Buffer in ingresso per implementare il throughput.
Possibiltà di scegliere se utilizzare o meno la rilocazione.
8
DRCP: funzionamento
9
Risultati sperimentali
Risultati ottenuti
simulando per il
dispositivo FPGA
Virtex-II Pro di Xilinx
Throughput medio
maggiore dell’80% in
DRCP senza buffer.
Throughput medio
maggiore del 144% in
DRCP con buffer.
Occupazione d’area modesta.
Frequenza massima adatta per
l’utilizzo in sistemi riconfigurabili.
10
Conclusioni e Sviluppi Futuri
Obiettivi raggiunti:
Miglioramento del Throughput.
Minore occupazione del BUS di sistema e della CPU.
Sviluppi futuri:
Introduzione del DMA.
Estensione alla rilocazione 2D.
Supporto ad altre FPGA mediante creazione di un
software di generazione automatica del componente.
11
Domande
Grazie per l’attenzione!
12
Scarica

IT_LucaCerri_2009_TesiSlide