Thesis Bosisio Beretta Slide IT

648 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
648
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Thesis Bosisio Beretta Slide IT

  1. 1. Integrazione del soft processor MicroBlaze nell’architettura riconfigurabile YaRA Relatore: Prof. Donatella SCIUTO Correlatore: Ing. Marco Domenico SANTAMBROGIO 27 Settembre 2006
  2. 2. Sommario <ul><li>Obiettivi </li></ul><ul><li>Supporto per la riconfigurabilità interna </li></ul><ul><ul><li>Controller ICAP </li></ul></ul><ul><ul><li>Implementazione in YaRA </li></ul></ul><ul><li>Integrazione di MicroBlaze </li></ul><ul><ul><li>Confronto funzionale e strutturale con PowerPC </li></ul></ul><ul><ul><li>Nuova parte fissa di YaRA basata su MicroBlaze </li></ul></ul><ul><li>Risultati sperimentali </li></ul><ul><ul><li>Riconfigurabilità interna e prestazioni dell’ICAP </li></ul></ul><ul><ul><li>Sintesi con MicroBlaze e prestazioni del bus WISHBONE </li></ul></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>
  3. 3. Obiettivi <ul><li>Estensione dell’architettura YaRA: </li></ul><ul><ul><li>Obiettivi generali </li></ul></ul><ul><ul><ul><li>Supporto per la riconfigurabilità interna </li></ul></ul></ul><ul><ul><ul><li>Aumento della portabilità dell’architettura </li></ul></ul></ul><ul><ul><li>Obiettivi specifici </li></ul></ul><ul><ul><ul><li>Introduzione di un controller ICAP </li></ul></ul></ul><ul><ul><ul><li>Sostituzione dell’hard processor PowerPC con il soft processor MicroBlaze </li></ul></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>
  4. 4. ICAP: Internal Configuration Access Port <ul><li>Porta interna tramite la quale il processore può accedere alla programmazione della FPGA </li></ul><ul><li>Presente sulle FPGA delle famiglie Virtex II e Virtex II – Pro </li></ul><ul><li>Necessita di un controller per la gestione del flusso di dati tra processore e porta </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li> ICAP </li></ul><ul><li> Implementazione </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>Bus di sistema PowerPC ICAP Controller ICAP Memory Controller Memoria
  5. 5. Implementazione <ul><li>Controller ICAP interfacciato al bus PLB </li></ul><ul><li>Consente la riconfigurazione mediante l’utilizzo di soli bitstream differenza </li></ul><ul><li>Riceve dal processore 1 Byte alla volta </li></ul><ul><li>Il processore riceve i bitstream tramite interfaccia seriale o una memoria interna </li></ul><ul><li>Non sono previste operazioni di inizializzazione </li></ul><ul><li>Non è previsto l’utilizzo di un buffer interno </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li> ICAP </li></ul><ul><li> Implementazione </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>WISHBONE OPB PLB YaRA Fix - PowerPC Serial Port UART Controller OPB-WISHBONE Bridge OPB Arbiter PLB-OPB Bridge ICAP Port ICAP Controller PowerPC PLB Arbiter Memory Controller Memory
  6. 6. MicroBlaze: i motivi della scelta <ul><li>MicroBlaze: soft processor proprietario, distribuito da Xilinx </li></ul><ul><ul><li>Maggiore portabilità rispetto a PowerPC </li></ul></ul><ul><li>Integrato nei normali flussi di sviluppo dei software Xilinx </li></ul><ul><ul><li>Piena compatibilità con il normale flusso di YaRA </li></ul></ul><ul><li>Flessibile e largamente configurabile a seconda delle esigenze </li></ul><ul><ul><li>Minore occupazione in termini di area </li></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li> La scelta </li></ul><ul><li> Confronto PPC </li></ul><ul><li> Nuova parte fissa </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>
  7. 7. Confronto tra PowerPC e MicroBlaze <ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li> La scelta </li></ul><ul><li> Confronto PPC </li></ul><ul><li> Nuova parte fissa </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>No Sì Memory Management Unit Soluzioni apposite per sistemi privi di MMU (e.g. μ C Linux) Sì Supporto per sistemi operativi Vari compilatori per linguaggi più comuni (ANSI-C, C++, etc.) Vari compilatori per linguaggi più comuni (ANSI-C, C++, etc.) Programmazione IBM CoreConnect e alcune soluzioni proprietarie IBM CoreConnect Interfaccia esterna Separato (Harvard architecture) Separato (Harvard architecture) Accesso a dati ed istruzioni Fino a 150 MHz 100, 200 e 300 MHz Frequenze di lavoro (su Virtex II – Pro) Soft Processor RISC a 32 bit Hard Processor RISC a 32 bit Tipo MicroBlaze PowerPC 405
  8. 8. La nuova parte fissa basata su MicroBlaze - I <ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li> La scelta </li></ul><ul><li> Confronto PPC </li></ul><ul><li> Nuova parte fissa </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul><ul><li>Basata sul soft processor MicroBlaze </li></ul><ul><li>Frequenza di funzionamento di 100 MHz </li></ul><ul><li>Accesso a dati ed istruzioni tramite bus LMB (Local Memory Bus) </li></ul><ul><li>Interfaccia master direttamente su bus OPB </li></ul>Serial Port WISHBONE UART Controller OPB OPB-WISHBONE Bridge OPB Arbiter LMB MicroBlaze Memory Controller Memory YaRA Fix - MicroBlaze
  9. 9. La nuova parte fissa basata su MicroBlaze - II <ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li> La scelta </li></ul><ul><li> Confronto PPC </li></ul><ul><li> Nuova parte fissa </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>YaRA Fix - PowerPC Serial Port WISHBONE UART Controller OPB OPB Arbiter PLB-OPB Bridge PLB ICAP Port ICAP Controller PowerPC PLB Arbiter Memory Controller Memory OPB-WISHBONE Bridge Serial Port WISHBONE UART Controller OPB OPB-WISHBONE Bridge OPB Arbiter LMB MicroBlaze Memory Controller Memory YaRA Fix - MicroBlaze
  10. 10. Riconfigurabilità interna: sostituzione intero modulo <ul><li>Sostituzione di un intero modulo riconfigurabile </li></ul><ul><li>Bitstream differenza di grandi dimensioni </li></ul><ul><ul><li>Invio tramite interfaccia seriale </li></ul></ul><ul><li>Confronto fra comportamento ottenuto e atteso </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li> Riconfigurabilità </li></ul><ul><li>interna </li></ul><ul><li> Prestazioni ICAP </li></ul><ul><li> Sintesi MicroBlaze </li></ul><ul><li> Prestazioni </li></ul><ul><li>WISHBONE </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>0xDEAD BEEF Modulo 1: Sommatore non resettabile 0x0000 0005 0xDEAD BEEF … 0xDEAD BEEF Modulo 2: Sommatore resettabile 0x0000 0005 0xDEAD BEEF … Lettura da Modulo: 0xDEAD BEF4 Lettura da Modulo: 0xBD5B 7DE8 Lettura da Modulo: 0x9C09 3CDC … Lettura da Modulo: 0x0000 0005 Lettura da Modulo: 0x0000 0005 Lettura da Modulo: 0x0000 0005 …
  11. 11. Riconfigurabilità interna: prestazioni controller ICAP <ul><li>Riconfigurazione di pochi frame </li></ul><ul><li>Bitstream differenza di piccole dimensioni </li></ul><ul><ul><li>possibile memorizzazione direttamente sulle BRAM </li></ul></ul><ul><li>Misura di tempi di riconfigurazione “consistenti” </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li> Riconfigurabilità </li></ul><ul><li>interna </li></ul><ul><li> Prestazioni ICAP </li></ul><ul><li> Sintesi MicroBlaze </li></ul><ul><li> Prestazioni </li></ul><ul><li>WISHBONE </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>100 MHz 200 MHz 300 MHz 1,02 MB/s 1,15 MB/s 1,22 MB/s +13 % +20 % 10,1198 10,7352 12,0919 12338 16 8,7024 9,2325 10,3985 10610 14 2,6098 2,7689 3,1191 3182 3 1,9013 2,0172 2,2723 2318 2 1,1928 1,2655 1,4256 1454 1 300 MHz 200 MHz 100 MHz Byte Frame
  12. 12. Sintesi: MicroBlaze vs PowerPC - I <ul><li>Realizzazione YaRA con MicroBlaze </li></ul><ul><li>Confronto dati occupazionali parte fissa MicroBlaze e parte fissa PowerPC </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li> Riconfigurabilità </li></ul><ul><li>interna </li></ul><ul><li> Prestazioni ICAP </li></ul><ul><li> Sintesi MicroBlaze </li></ul><ul><li> Prestazioni </li></ul><ul><li>WISHBONE </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>23% 12% 9% 17% 7% 9% Slices Slices Flip-Flop 4-Input LUTs 0 1 1 PPC405s 16 16 44 BRAM 982 980 9856 4-Input LUTs 703 1194 9856 Slices Flip-Flop 864 1154 4928 Slices MicroBlaze PowerPC Disponibili Risorsa PowerPC MicroBlaze -6% -5%
  13. 13. Sintesi: MicroBlaze vs PowerPC - II <ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li> Riconfigurabilità </li></ul><ul><li>interna </li></ul><ul><li> Prestazioni ICAP </li></ul><ul><li> Sintesi MicroBlaze </li></ul><ul><li> Prestazioni </li></ul><ul><li>WISHBONE </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>Parte fissa di YaRA (PowerPC) Parte fissa di YaRA (MicroBlaze)
  14. 14. Prestazioni del bus WISHBONE <ul><li>Misurazione dei tempi di accesso in scrittura/lettura sul bus WISHBONE </li></ul><ul><li>Verifica dei vantaggi derivanti dall’assenza del bridge PLB-OPB e dello stesso PLB </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li> Riconfigurabilità </li></ul><ul><li>interna </li></ul><ul><li> Prestazioni ICAP </li></ul><ul><li> Sintesi MicroBlaze </li></ul><ul><li> Prestazioni </li></ul><ul><li>WISHBONE </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>1,06 2,16 3,52 4,88 6,24 0,51 0,69 0,88 1,07 1,26 PowerPC MicroBlaze 1,26 μ s 6,24 μ s 5 1,07 μ s 4,88 μ s 4 0,88 μ s 3,52 μ s 3 0,69 μ s 2,16 μ s 2 0,51 μ s 1,06 μ s 1 MicroBlaze PowerPC Numero cicli scrittura/lettura
  15. 15. Conclusioni <ul><li>Completa autonomia dell’architettura YaRA (basata su PowerPC) ottenuta mediante l’introduzione del controller ICAP </li></ul><ul><ul><li>Capacità di effettuare tutte le tipologie di riconfigurabilità </li></ul></ul><ul><li>Notevoli risultati dall’utilizzo del soft processor MicroBlaze </li></ul><ul><ul><li>Aumento della portabilità (possibile implementazione su tutte le FPGA) </li></ul></ul><ul><ul><li>Diminuzione dell’area occupata </li></ul></ul><ul><ul><li>Incremento delle performance di WISHBONE </li></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>
  16. 16. Sviluppi futuri <ul><li>Interfacciare il controller ICAP al bus OPB </li></ul><ul><li>Modificare la disposizione dell’architettura su FPGA </li></ul><ul><ul><li>Parte fissa a sinistra, in modo da poter accedere ai pin della memoria esterna </li></ul></ul><ul><ul><li>Collegamento ad hoc con l’ICAP (in basso a destra) mediante macro hardware </li></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>
  17. 17. Domande? <ul><li>Grazie per l’attenzione… </li></ul><ul><li>Obiettivi </li></ul><ul><li>Riconfigurabilità interna </li></ul><ul><li>MicroBlaze </li></ul><ul><li>Risultati sperimentali </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul><ul><li>Domande </li></ul>

×