Politecnico di Milano Sistemi Dedicati Multiprocessore: Sincronizzazione Hardware Tramite Semafori Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO Tesi di Laurea di: Alessandro MELE Francesca MALCOTTI A.A. 2003/2004 Sommario • Obiettivi • Introduzione alla tecnologia delle FPGA • Metodologia proposta • Implementazione della metodologia • Conclusioni e sviluppi futuri Luglio 2004 Francesca Malcotti - Alessandro Mele 2 Obiettivi • Sviluppo di una metodologia per la definizione ed implementazione di un IP core che realizzi le funzionalità di un motore di gestione della concorrenza hardware tramite semafori processore 1 processore 2 processore 3 ……. processore n bus risorsa condivisa • Integrazione dell’IP core all’interno di una architettura multiprocessore Luglio 2004 Francesca Malcotti - Alessandro Mele 3 FPGA - Introduzione • FPGA: Field Programmable Gate Arrays • Rappresentano una particolare tipologia di dispositivi programmabili • Logica programmabile per: Maggiore specializzazione Supporto per implementare funzionalità del sistema Riusabilità di una particolare configurazione per diverse applicazioni Riduzione dei costi e dei tempi di progettazione • Riconfigurabilità Luglio 2004 Francesca Malcotti - Alessandro Mele 4 Metodologia – Come procedere • studio della specifica dell’interfaccia Open Core Luglio 2004 Francesca Malcotti - Alessandro Mele 5 Metodologia – Risorsa Condivisa • Risorsa condivisa: Memoria dati semplificazione di un sistema multiprocessore a memoria centralizzata processore 1 processore 2 processore 3 ……. processore n bus memoria condivisa gestore della concorrenza • Garantire la mutua esclusione Luglio 2004 Francesca Malcotti - Alessandro Mele 6 Metodologia - Interrupt • Meccanismo fondamentale per la gestione della concorrenza in una architettura multiprocessore processore richiede risorsa il gestore della concorrenza segnala il lock sulla risorsa tramite interrupt utilizzo e successivo unlock della risorsa Luglio 2004 si risorsa disponibile ? no processore attende la disponibilità gestore della concorrenza Francesca Malcotti - Alessandro Mele 7 Metodologia – Device Driver • Elemento fondamentale per la gestione dell’IP core lato software Applicazione utente Device Driver IP Core (hardware) • Interfaccia la descrizione hardware (VHDL) del componente con l’applicazione che lo utilizza Luglio 2004 Francesca Malcotti - Alessandro Mele 8 Implementazione - Tools • Sviluppo e supporto ad alto livello per la progettazione di sistemi dedicati Embedded Developement Kit, EDK (versione 6.2i) • Supporto per la simulazione comportamentale di un componente data la sua specifica in un linguaggio di descrizione dell’hardware Modelsim XE II (versione 5.7c) Luglio 2004 Francesca Malcotti - Alessandro Mele 9 Implementazione – Sistema (1) Luglio 2004 Francesca Malcotti - Alessandro Mele 10 Implementazione – Sistema (2) • Microblaze Porta dati Porta istruzioni • Opb_gpio • Opb_uartlite • Bram_block Memoria dati condivisa • Modulo DCM regolazione frequenza in ingresso Luglio 2004 Francesca Malcotti - Alessandro Mele 11 Implementazione – Caso di Studio • Obiettivi Apprendere come implementare ed integrare correttamente nel sistema un IP core dedicato Comprendere e verificare alcune funzionalità di base (gestione interrupt, creazione driver) necessarie, secondo la metodologia proposta, per lo sviluppo di un gestore della concorrenza hardware Luglio 2004 Francesca Malcotti - Alessandro Mele 12 Implementazione - Interrupt • Gestione degli interrupt con EDK • Caso 1 • Un solo IP core che solleva un solo interrupt alla volta • Caso 2 • Un solo IP core che può sollevare più interrupt • Più IP core concorrenti interrupt controller ad ogni IP core è associata una ISR (funzione di int_handler) Luglio 2004 Francesca Malcotti - Alessandro Mele 13 Implementazione – Device Driver Luglio 2004 Francesca Malcotti - Alessandro Mele 14 Implementazione – Memoria Luglio 2004 Francesca Malcotti - Alessandro Mele 15 Conclusioni e Sviluppi Futuri Luglio 2004 Francesca Malcotti - Alessandro Mele 16 FINE PRESENTAZIONE Luglio 2004 Francesca Malcotti - Alessandro Mele 17