Title: Sistemi Dedicati Multiprocessore: Sincronizzazione Hardware Tramite Semafori
1Sistemi 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
2Sommario
- Obiettivi
- Introduzione alla tecnologia delle FPGA
- Metodologia proposta
- Implementazione della metodologia
- Conclusioni e sviluppi futuri
3Obiettivi
- 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 - Integrazione dellIP core allinterno di una
architettura multiprocessore - Sostituire parte delle funzionalità svolte dal
Sistema Operativo
4Vantaggi 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
5FPGA - 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à
6Metodologia Passi Fondamentali (1)
- Studio della specifica dellinterfaccia Open Core
Protocol (OCP) - Definisce una interfaccia fra diversi IP core
indipendente dal bus - Le entità collegate possono essere
- Master dellistanza OCP
- Slave dellistanza OCP
- Entrambe
7Metodologia Passi Fondamentali (2)
- Studio della specifica funzionale del motore di
gestione della concorrenza, scritto in linguaggio
di descrizione dello hardware SystemC - 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 dellaccesso
concorrente tramite Semafori Semaphore Engine
8Metodologia Risorsa Condivisa
- Risorsa condivisa Memoria dati
- Semplificazione di un sistema multiprocessore a
memoria centralizzata - Garantire la mutua esclusione
9Metodologia - Interrupt
- Meccanismo fondamentale per la gestione della
concorrenza in una architettura multiprocessore
10Metodologia Device Driver
- Elemento fondamentale per la gestione dellIP
core lato software - Interfaccia la descrizione hardware (VHDL) del
componente con lapplicazione che lo utilizza
11Implementazione - 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 dellhardware - Modelsim XE II (versione 5.7c)
12Implementazione Sistema (1)
13Implementazione Sistema (2)
- Microblaze
- Porta dati
- Porta istruzioni
- Opb_gpio
- Opb_uartlite
- Bram_block
- Memoria dati condivisa
- Modulo DCM
- Regolazione frequenza in ingresso
14Implementazione 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
15Implementazione 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)
16Implementazione Interrupt (2)
System.mss
17Implementazione Device Driver
- Gestione dei driver con EDK
- LibGen
- Meccanismo di compilazione di driver e di
generazione delle librerie - Importanza della gerarchia di cartelle
18Implementazione 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
19Conclusioni 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 unarchitettura mista, in cui siano
presenti PPC e Microblaze
20