SISTEMI EMBEDDED

ING-INF/05 - 9 CFU - 2° semestre

Docente titolare dell'insegnamento

GIUSEPPE ASCIA


Obiettivi formativi

Conoscere le architetture avanzate dei microprocessori general-purpose ed application-specific, con particolare riferimento alle caratteristiche generali dei sistemi embedded (SE). Comprendere le principali tecniche di ottimizzazione delle prestazioni e della potenza di un sistema embedded, e conoscenza dei contesti applicativi piĆ¹ significativi. Sapere progettare un Sistema Embedded, tenendo conto dei requisiti computazionali e dei consumi di potenza, e di programmarlo, con particolare riferimento allo sviluppo di applicazioni per terminali mobili e allo sviluppo di servizi context-aware.

Prerequisiti richiesti

Conoscenza delle architetture dei calcolatori base, il pipeline e le relative problematiche nel calcolatori, i linguaggi assembly, gerarchia di memoria e relative ottimizzazioni, linguaggio Java



Frequenza lezioni

La frequenza non è obbligatoria



Contenuti del corso

1. Introduzione ai Sistemi Embedded Caratteristiche dei sistemi embedded. Problematiche nella implementazione hardware/software. Metriche di progetto. Tecnologie dei circuiti integrati. Tecnologie dei processori. Tecnologie e metodologie per la progettazione.

2. Tecnologie dei Processori nei Sistemi Embedded Progettazione di processori single purpose. Architetture di processori general purpose risc pipelined. Tecniche di branch prediction per l’ottimizzazione delle prestazioni di processori risc. Realizzazione software di un sistema embedded.

3. Interfacciamento della CPU con memorie e periferiche nei Sistemi Embedded Interfacciamento CPU periferiche. Gestione delle interruzioni con processori pipelined. Interfacciamento seriale sincrono. Protocolli SPI e I2C. Bus arbitration. Bus pipelining. Split transactions. AMBA bus. Network-on-chip.

4. Instruction level parallelism. Loop unrolling. Architetture superscalari. Schedulazione dinamica. Scoreboard. Algoritmo di Tomasulo. Esecuzione speculativa e Reorder buffer. Architetture VLIW. Schedulazione statica. Ottimizzazione della memoria: tecniche di codifica delle VLIW. Register pressure. Ottimizzazione della potenza. Basic block. Trace scheduling. Predicated execution.

5. Data level parallelism. Processori SIMD. Processori vettoriali. VMIPS instruction set architecture. Valutazione delle prestazioni del VMIPS. Estensioni SIMD. Estensioni SIMD Intel.

6. Una famiglia di processori per applicazioni embedded e mobili: i processori ARM. Organizzazione e modalità di esecuzione. Instruction Set Architecture del processore ARM.

7. Metodologie di progetto IP based Piattaforme parametriche e modelli per l'esplorazione dello spazio di progetto. Pareto Set. Metodologie di esplorazione multiobiettivo.

8. Architetture dei dispositivi mobili La piattaforma Android. Ambiente di sviluppo Android Studio ed emulatore. Sviluppo di un’app Android. Anatomia di un’applicazione Android. Ciclo di vita di Activity, Service e Process. Interfaccia Utente Android. Memorizzazione dei dati. Processi in backgroung. Android e REST. Localizzazione, mappe e sensori in Android.



Testi di riferimento

-“Embedded System Design: A Unified Hardware/Software Introduction” , Frank Vahid, Tony Givargis, John Wiley & Sons Inc., ISBN:0-471-38678-2, 2002.

- "Computers as Components: Principles of Embedded Computer Systems Design", Wayne Wolf, Morgan Kaufmann 25 October, 2000

-“Hennessy & Patterson: Computer architecture, a quantitative approach (Morgan Kaufmann eds.)


Altro materiale didattico

E’ possibile scaricare tutto il materiale didattico in formato elettronico all’indirizzo http://utenti.dieei.unict.it/users/gascia/corsi.html

o all’indirizzo

htpp://studium.unict.it



Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

Gli studenti devono svolgere un elaborato del corso e una prova orale. Nella valutazione dell’esame l’elaborato pesa per il 40%, l’orale per il 60%.

L’elaborato verrà concordato tra docente e studente circa a metà del corso. La data della valutazione dell’elaborato è concordata con il docente.

La prova orale coincide con la data dell'esame pubblicata dal docente sul portale d'ateneo


PROVE IN ITINERE

Non sono previste prove in itinere


PROVE DI FINE CORSO

Non sono previste prove di fine corso




Apri in formato Pdf English version