120 likes | 276 Views
DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA. Luca Cerri: luca.cerri@dresd.org. Relatore: Prof. Marco D. Santambrogio Correlatore: Ing. Fabio Cancarè. Motivazioni e Obiettivi. MOTIVAZIONI: Rilocazione spesso associata a riconfigurazione
E N D
DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org 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
Indice • Stato dell’Arte Funzionamento attuale • Esecuzione parallela • Funzionamento desiderato • Modello • Implementazione del componente DRCP • Struttura • Funzionamento Risultati Sperimentali Conclusioni e sviluppi futuri
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 (InternalConfiguration 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
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
Esecuzione parallela: funzionamento desiderato Collegamento diretto tra BiRF e DRC Passi 1,2 e 3,4 eseguibili in parallelo
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.
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.
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.
Domande • Grazie per l’attenzione!