FACOLTA' DI INGEGNERIA       Universita' di Pavia
Home
  Didattica > Insegnamenti1213 > Advanced Computer Architecture() Translate this page in English
Organizzazione e Sedi
Immatricolarsi ai C.d.L.
Immatricolarsi ai C.d.L.M.
Orientamento
Didattica
Prenotazione Aule
Master
Esami: Iscrizioni online
Ricerca Scientifica
Servizi
Rapporti con Imprese
Tirocini didattici
Eventi e Iniziative
Bandi e Offerte lavoro
Esami di Stato
Mobilità/Erasmus
Rapporti di riesame
Assicurazione Qualità
Guida dello Studente
Scorciatoie
Cerca nel sito
Advanced Computer Architecture()

Insegnamento Anno Accademico 12-13

Docente/i: Marco Ferretti  

Denominazione del corso: Advanced Computer Architecture()
Codice del corso: 504712
Corso di laurea: Computer Engeneering
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è caratterizzante per: Computer Engeneering
Crediti formativi: CFU 6
Sito web del corso: 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. Conoscenza di base di un linguaggio assembler. Capacità di programmare in C-language.

Tipologia delle attività formative

Lezioni (ore/anno in aula): 45
Esercitazioni (ore/anno in aula): 0
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

Una prova scritta, un progetto sw ed un orale.

Copyright © Facoltà di Ingegneria - Università di Pavia