drcp: come gestire in modo efficiente la riconfigurazione parziale dinamica su fpga
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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è
2
Motivazioni e ObiettiviMotivazioni e ObiettiviMOTIVAZIONI:
Rilocazione spesso associata a riconfigurazioneIl 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 riconfigurazioneParallelizzare le operazioni nel componente per garantire maggiori prestazioni sgravando la CPU e il bus dati
3
IndiceIndice
Stato dell’Arte
Risultati Sperimentali
Funzionamento attuale
Esecuzione parallelaFunzionamento desideratoModello
Implementazione del componente DRCPStrutturaFunzionamento
Conclusioni e sviluppi futuri
Stato dell’arteStato dell’arteRilocazione
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
4
RiconfigurazioneRiconfigurazione del dispositivo attraverso porta ICAP (Internal Configuration Access Port), che va gestita via hardwareComponenti Esistenti:
OPB_HWICAP, Xilinx inc.ICAP DRESD, Politecnico di Milano, gruppo DRESDDRC, Politecnico di Milano, gruppo DRESD
5
Funzionamento attualeFunzionamento attuale
PRESTAZIONI LIMITATE
ASPETTI NEGATIVIGli scambi di dati avvengono sempre utilizzando il bus dati.La CPU, agendo come master, deve gestire ogni trasferimento su bus
BiRF per la rilocazioneDRC per la riconfigurazioneSolo passi 6 e 1 eseguibili in parallelo
Esecuzione parallela: funzionamento Esecuzione parallela: funzionamento desideratodesiderato
6
Collegamento diretto tra BiRF e DRCPassi 1,2 e 3,4 eseguibili in parallelo
Esecuzione parallela: modelloEsecuzione parallela: modello
7task
ck
L
fatilunghezzaDThr
uslarghezzaB
atilunghezzaDNC
paralleloesecuzioneCsetupesecuzionetask LLNLLL 2
DRCP: strutturaDRCP: 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
9
DRCP: funzionamentoDRCP: funzionamento
Risultati sperimentaliRisultati sperimentali
Risultati ottenuti simulando per il dispositivo FPGA Virtex-II Pro di XilinxThroughput medio maggiore dell’80% in DRCP senza buffer.Throughput medio maggiore del 144% in DRCP con buffer.
10
Occupazione d’area modesta.
Frequenza massima adatta per l’utilizzo in sistemi riconfigurabili.
11
Conclusioni e Sviluppi FuturiConclusioni 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.
12
DomandeDomande
Grazie per l’attenzione!