ADVANCED ARCHITECTURES

Obiettivi formativi

Obiettivi generali: Lo scopo del corso è fornire una comprensione approfondita dei principi fondamentali e avanzati dell'architettura dei computer, delle tecniche di calcolo parallelo e dei fondamenti del calcolo quantistico. Obiettivi specifici: Acquisire competenze pratiche nella progettazione e valutazione di circuiti aritmetici, nello sviluppo di programmi per architetture vettoriali e GPU, e nella comprensione dei modelli di calcolo quantistico. Conoscenze e comprensione: Acquisire conoscenze teoriche e operative sui principali modelli di architettura hardware, sulle tecniche di ottimizzazione delle prestazioni e sui paradigmi emergenti di calcolo. Applicare conoscenza e comprensione: Progettare, analizzare e ottimizzare circuiti e sistemi computazionali, implementare algoritmi su architetture parallele e valutare soluzioni di calcolo avanzato. Capacità di giudizio: Sviluppare capacità di analisi critica, valutando i pro e contro delle diverse soluzioni architetturali e computazionali in base a criteri di efficienza, scalabilità e complessità. Capacità di comunicazione: Essere in grado di esporre con chiarezza concetti tecnici complessi, presentando analisi e soluzioni progettuali sia in forma scritta che orale, sapendo motivare le proprie scelte. Capacità di apprendimento: Sviluppare autonomia nello studio e nella ricerca di aggiornamenti nel settore dell’architettura dei computer e del calcolo avanzato.

Canale 1
ANNALISA MASSINI Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione alle architetture parallele e a high-performance computing. Panoramica su organizzazione e architettura dei calcolatori. (5 hours) Canalizzazione delle istruzioni. Cache coherence. (5 hours) Moduli aritmetici. Circuiti aritmetici veloci. Rappresentazione dei numeri per aritmetica veloce. Valutazione di circuiti. (10 hours) Classificazione di Flynn. La classe SIMD. Architetture vettoriali e GPU. (10 hours) Matrici sparse. (3 hours) La classe MIMD e le reti di interconnessione. (12 hours) Analisi della performance. (3 hours) Nozioni di quantum computing e circuiti aritmetici quantistici. (12 hours)
Prerequisiti
Nessun prerequisito
Testi di riferimento
- Computer Architecture: A Quantitative Approach J. L. Hennessy, D. A. Patterson - Morgan Kaufmann, 2019 - Multicore and GPU Programming An Integrated Approach - G. Barlas - Morgan Kaufmann, 2014 - Programming Massively Parallel Processors: A Hands-on Approach, David B. Kirk and Wen-mei W. Hwu, Morgan Kaufmann, 2010 - Altro materiale è indicato nelle slide del corso http://twiki.di.uniroma1.it/twiki/view/CI/
Modalità insegnamento
The course will provide theoretical classes, written exercises and practical exercises in the lab.
Frequenza
La frequenza è facoltativa, ma fortemente consigliata.
Modalità di esame
L'esame prevede una prova scritta e una prova orale. Prova scritta: Gli studenti frequentanti possono sostenere le prove in itinere (a metà corso e alla fine). La prova in itinere e la prova scritta complessiva prevedono esercizi e domande a risposta aperta. Prova orale: Gli studenti possono scegliere una delle seguenti opzioni, concordando con il docente: esame orale oppure presentazione di uno o due articoli oppure progetto. Il voto finale sarà calcolato come media tra i voti riportati nelle due prove.
Bibliografia
- Introduction to High-Performance Scientific Computing, Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble and Gitta Domik, The MIT Press, 1996, ISBN 0-262-06181-3 - Introduction to scientific computing: A Matrix-Vector Approach Using MATLAB, Charles F. Van Loan, Prentice Hall , 1997 - MATLAB: http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html Introduction to scientific computing: A Matrix-Vector Approach Using MATLAB, Charles F. Van Loan, Prentice Hall, 1997
Modalità di erogazione
Il corso è svolto con lezioni frontali
  • Codice insegnamento10612318
  • Anno accademico2025/2026
  • CorsoComputer Science - Informatica
  • CurriculumCurriculum unico
  • Anno1º anno
  • Semestre2º semestre
  • SSDINF/01
  • CFU6