FACOLTA' DI INGEGNERIA       Universita' di Pavia
Home
  Didattica > Insegnamenti1415 > 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 14-15

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
L'insegnamento è affine per: Computer Engeneering
Crediti formativi: CFU 6
Sito web del corso: www.unipv.it/mferretti

Obiettivi formativi specifici

Il corso descrive l’architettura dei moderni processori e multi-processori ed introduce i principi della programmazione parallela. Lo studente sarà in grado di comprendere il principio di funzionamento dei processori recenti e di valutare le caratteristiche distintive dei processori “general purpose” e di quelli per le applicazioni “embedded”. In particolare verrà illustrato il paradigma multi-core, l’architettrua a memoria condivisa, che sono anche la piattaforma di riferimento per il progetto di programmazione parallela condotto secondo lo standard OpenMP.

Programma del corso

Il processore: aspetti generali
Introduzione ai concetti di base del progetto dei processori moderni.

  • Caratterizzazione del set di istruzioni (ISA);
  • Classificazione delle architetture: CISC, RISC, general purpose, embedded, estensioni per la multimedialità.

Il processore RISC: tecniche realizzative
L'architettura di un processore (un solo core), in tutte le sue possibili varianti, sia per le elaborazioni "general purpose" sia per il settore "embedded"

  • 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
Una descrizione della gerarchia di memoria e delle cache (esclusa la memoria virtuale)

  • Gerarchie di memoria e cache: località
  • Struttura ed organizzazione: mappatura diretta, associatività
  • Cache pipelined, cache multi-livello
  • Streaming buffer, ottimizzazioni per la multimedialità

Multiprocessori
Una rassegna dei multiprocessor e delle architetture parallele, con enfasi sui processori multi-core

  • Modelli di parallelismo: SIMD, MIMD, thread, parallelismo di grana grossa
  • Architetture parallele: a memoria condivisa, a memoria distribuita, cluster
  • La coerenza delle cache e la consistenza della memoria
  • Sincronizzazione

Programmazione parallela
Un'introduzione alla programmazione parallela, con esercitazioni di laboratorio in OpenMP

  • I paradigmi di programmazione parallela; SMP, MPI, grafica e CUDA
  • Lo standard OpenMP
  • i costrutti OpneMP
  • esercitazioni in preparazione del progetto

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. L. Hennessy & D. A. Patterson . Computer Architecture: A Quantitative Approach, 3rd - 4rth and 5th editions. Elsevier - Morgan Kauffmann. Si consulti il sito del corso per un elenco dei capitoli e dei paragrafi.

D. A. Patterson & J. L. Hennessey. Computer Organization and Design: The Hardware/Software Interface,Revised 4th Edition. Morgan Kauffman. Si consulti il sito del corso per un elenco dei capitoli e dei paragrafi.

M. Ferretti, D. Gunetti. Chart del corso (in inglese). Disponibili sul sito del corso.

Modalità di verifica dell'apprendimento

Una prova scritta, un progetto sw e una discussione del progetto (è possibile anche una prova orale).

Copyright © Facoltà di Ingegneria - Università di Pavia