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
Attendance is optional, but strongly recommended.
Modalità di esame
The exam consists of a written test and an oral exam. Written test: Students attending the lessons can take a mid-term exam and a final exam (or a whole exam). The mid-term and final exam (or whole exam) consist in a written test with exercises and open questions. Oral exam: One of the following, at the choice of the student: oral exam/presentation of one-two papers/project. The final grade will be the average of the grades of the written test and the oral part. There will also be homework assignments, that could substitute some part of the written test. Homeworks will contribute to the final grade (max 2 points out of 30).
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