Politecnico di Milano Sistemi Dedicati Multiprocessore Sincronizzazione Hardware

  • Slides: 20
Download presentation
Politecnico di Milano Sistemi Dedicati Multiprocessore: Sincronizzazione Hardware Tramite Semafori Relatore: Prof. Fabrizio FERRANDI

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 Francesca Malcotti - Alessandro Mele A. A. 2003/2004

Sommario • Obiettivi • Introduzione alla tecnologia delle FPGA • Metodologia proposta • Implementazione

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

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 • Sostituire parte delle funzionalità svolte dal Sistema Operativo Luglio 2004 Francesca Malcotti - Alessandro Mele 3

Vantaggi e Vincoli di Progetto • Vantaggi: • Velocità di esecuzione di applicazioni in

Vantaggi e Vincoli di Progetto • Vantaggi: • Velocità di esecuzione di applicazioni in cui il fattore tempo costituisce un aspetto critico • Risparmio delle risorse di calcolo üApproccio Sleep and Wakeup: la CPU è impegnata solo nel momento in cui la risorsa è realmente disponibile • Vincoli: • Spaziali • Temporali Luglio 2004 Francesca Malcotti - Alessandro Mele 4

FPGA - Introduzione • FPGA: Field Programmable Gate Arrays • Rappresentano una particolare tipologia

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 5

Metodologia – Passi Fondamentali (1) • Studio della specifica dell’interfaccia Open Core (OCP) •

Metodologia – Passi Fondamentali (1) • Studio della specifica dell’interfaccia Open Core (OCP) • Definisce una interfaccia fra diversi IP core indipendente dal bus • Le entità collegate possono essere: üMaster dell’istanza OCP üSlave dell’istanza OCP üEntrambe Luglio 2004 Francesca Malcotti - Alessandro Mele 6

Metodologia – Passi Fondamentali (2) • Studio della specifica “funzionale” del motore di gestione

Metodologia – Passi Fondamentali (2) • Studio della specifica “funzionale” del motore di gestione della concorrenza, scritto in linguaggio di descrizione dello hardware System. C • Scopo: üRealizzare una specifica VHDL sintetizzabile collegata ad un bus OPB, On Chip Peripheral Bus üProgettare un motore di sincronizzazione hw, che implementi una politica di gestione dell’accesso concorrente tramite Semafori – Semaphore Engine Luglio 2004 Francesca Malcotti - Alessandro Mele 7

Metodologia – Risorsa Condivisa • Risorsa condivisa: Memoria dati üSemplificazione di un sistema multiprocessore

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 8

Metodologia - Interrupt • Meccanismo fondamentale per la gestione della concorrenza in una architettura

Metodologia - Interrupt • Meccanismo fondamentale per la gestione della concorrenza in una architettura multiprocessore 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 9

Metodologia – Device Driver • Elemento fondamentale per la gestione dell’IP core lato software

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 10

Implementazione - Tools • Sviluppo e supporto ad alto livello per la progettazione di

Implementazione - Tools • Sviluppo e supporto ad alto livello per la progettazione di sistemi dedicati ü Embedded Developement Kit, EDK (versione 6. 2 i) • Supporto per la simulazione comportamentale di un componente data la sua specifica in un linguaggio di descrizione dell’hardware ü Modelsim XE II (versione 5. 7 c) Luglio 2004 Francesca Malcotti - Alessandro Mele 11

Implementazione – Sistema (1) Luglio 2004 Francesca Malcotti - Alessandro Mele 12

Implementazione – Sistema (1) Luglio 2004 Francesca Malcotti - Alessandro Mele 12

Implementazione – Sistema (2) • Microblaze ü Porta dati ü Porta istruzioni • Opb_gpio

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 13

Implementazione – Caso di Studio • Obiettivi ü Apprendere come implementare ed integrare correttamente

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 14

Implementazione – Interrupt (1) • Gestione degli interrupt con EDK • Caso 1 ü

Implementazione – Interrupt (1) • 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 15

Implementazione – Interrupt (2) Nel caso dell’adder: System. mss Luglio 2004 Francesca Malcotti -

Implementazione – Interrupt (2) Nel caso dell’adder: System. mss Luglio 2004 Francesca Malcotti - Alessandro Mele 16

Implementazione – Device Driver • Gestione dei driver con EDK • Lib. Gen üMeccanismo

Implementazione – Device Driver • Gestione dei driver con EDK • Lib. Gen üMeccanismo di compilazione di driver e di generazione delle librerie üImportanza della gerarchia di cartelle Luglio 2004 Francesca Malcotti - Alessandro Mele 17

Implementazione – Memoria • Dimensionamento fisico della memoria ü Settaggio dei parametri Base Address

Implementazione – Memoria • Dimensionamento fisico della memoria ü Settaggio dei parametri Base Address e High Address del modulo opb_bram_if_cntrl (interfaccia che collega il bus OPB alla Bram Block) • Gestione software delle funzionalità di scrittura, lettura e condivisione Luglio 2004 Francesca Malcotti - Alessandro Mele 18

Conclusioni e Sviluppi Futuri • Conclusioni • Solida base per portare a termine la

Conclusioni e Sviluppi Futuri • Conclusioni • Solida base per portare a termine la sintesi del gestore della concorrenza hardware mediante semafori • Sviluppi Futuri • Completare e analizzare lo studio per il meccanismo di accesso diretto alla memoria, DMA • Progettare un’architettura mista, in cui siano presenti PPC e Microblaze Luglio 2004 Francesca Malcotti - Alessandro Mele 19

FINE PRESENTAZIONE Luglio 2004 Francesca Malcotti - Alessandro Mele 20

FINE PRESENTAZIONE Luglio 2004 Francesca Malcotti - Alessandro Mele 20