Docente/i:
Marco Ferretti
Denominazione del corso: Architettura dei processori
Codice del corso: 064015
Corso di laurea: Ingegneria Elettronica
Settore scientifico disciplinare: ING-INF/05
L'insegnamento costituisce attività di base per: Ingegneria Elettronica
Crediti formativi: CFU 5
Sito web del corso: http://www.unipv.it/mferretti
Obiettivi formativi specifici
Il corso illustra in maniera approfondita l’architettura dei processori usati sia per le applicazioni generali che per quelle verticali. L’obiettivo è consentire allo studente di valutare l’efficacia delle strutture di elaborazione delle varie tipologie di microprocessori nelle applicazioni: particolare attenzione verrà posta nell’esame della microarchitteura dei microprocessori ARM ed INTEL e dei più diffusi microprocessori per applicazioni embedded, con particolare riferimento all'architettura VLIW. Il corso ospita contributi da professionisti di aziende manifatturiere, con l'obiettivo di familiarizzare gli studenti con l'ottimizzazione del software per processori embedded.
Programma del corso
Il processore: aspetti generali
- Caratterizzazione del set di istruzioni (ISA);
- Classificazione delle architetture: CISC, RISC, general purpose, embedded, estensioni per la multimedialità.
Il processore RISC: tecniche realizzative
- CPU RISC: la pipeline semplice;
- Il controllo nella pipeline semplice;
- Le superpipeline e la gestione di più unità;
- Superscalarità;
- Schedulazione dinamica ed esecuzione speculativa;
Gestione della memoria
Le cache: principio di località. Organizzazione e dimensionamento.
Strutture associative a più vie.
Applicazioni multimediali e lo streaming buffer.
Architetture non standard
- I processori embedded.
- Video processor; media processor.
- L’approccio VLIW.
- Estensioni multimediali nei processori general purpose (MMX-SSE...).
Ottimizzazione delle applicazioni
Lo sviluppo di applicazioni efficienti (codice compatto, codice veloce) è un obiettivo molto importante soprattutto quando l'architettura di riferimento è quella dei processori embedded. L'utilizzo dei compilatori ottimizzanti da solo non garantisce di ottenere le migliori prestazioni; la codifica rimane uno degli strumenti principali.
Con una serie di seminari in aula tenuti in collaborazione di esperti di aziende leader nel settore, si illustraenno le tecniche di ottimizzazione per processori della classe VLIW, su semplici esempi di applicazioni multimediali.
Il linguaggio di riferimento è il C language.
Prerequisiti
La conoscenza dell’architettura di base di un elaboratore e dell’interazione fra architettura e sistema operativo. Capacità di programmare in un linguaggio imperativo.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 30
Esercitazioni (ore/anno in aula): 15
Attività pratiche (ore/anno in aula): 0
Materiale didattico consigliato
J. Hennessy, D. Patterson. Struttura e progetto dei calcolatori. Zanichelli, 2006. Gi.
J. Hennessy, D. Patterson. Architettura degli elaboratori. Apogeo, Giugno 2008. Versione in italiano della quarta edizione di "Computer Architecture. A Quantitative Approach".
Modalità di verifica dell'apprendimento
È prevista una prova finale scritta, integrata da un orale.
|