Didattica

Cloud Computing for Big Data Analysis (Dottorato di ricerca in Ingegneria dell’Informazione)

a.a. 2014/15

  • Concepts and techniques for Cloud Computing (slides)
  • Cloud data management problems and solutions (slides)

Distributed Enabling Platforms (Computer Science and Networking)

a.a. 2017/18

Course Web Site

Sistemi di Elaborazione (Ingegneria delle Telecomunicazioni)

a.a. 2017/18

Libro di testo:

Struttura e progetto dei calcolatori, di David A. Patterson e John L. Hennessy, edito da Zanichelli (quarta edizione italiana condotta sulla quinta edizione americana) [Appendix B]

Programma del corso e slides (con riferimento ai Capitoli del libro di testo)

[06/03] Introduzione, componenti di un calcolatore, architettura di Von Neumann, livelli di astrazione. (slides) (Capitoli 1.1, 1.3, 1.4, 1.5)
[12/03] Aritmetica binaria: numeri negativi e complemento a 2. Somme e sottrazioni. Endianess. Overflow. Modello della memoria. Esercizi. (slides) (Capitoli 2.4, 3.1, 3.2)
[19/03] Linguaggio macchina e assembler, compilatore, assemblatore, collegatore, codifica delle istruzioni macchina, Istruzioni formato R, operazioni logiche, istruzioni formato I. (slides) (Capitoli 2.1, 2.2, 2.3, 2.5, 2.6, 2.12)
[21/03] Istruzioni di salto, istruzioni formato J, Procedure, Jump-And-Link, stack, codifica caratteri, istruzioni al byte, metodi di indirizzamento. (slides) (Capitoli 2.7, 2.8, 2.9, 2.10)
[16/04] Algebra booleana e circuiti elettronici. Funzioni logiche, equazioni logiche e tabelle di verità. Sintesi di circuiti combinatori. Mappe di Karnaugh ed esercizi. Decoder e Multiplexer. (slides) (Appendice B)
[18/04] Arithmetic Logic Unit (ALU): sintesi addizionatore a 1 bit, porte XOR, sintesi addizionatore a 32 bit, sottrazione e operazioni logiche. Clock, circuiti sequenziali. Latch SR, Latch D, Flip Flop D. Registri, register file, lettura e scrittura di un registro. (slides)
[24/04] Memoria: static RAM e dynamic RAM. Processore: parte operativa e parte di controllo. MIPS: sintesi della parte operativa e della parte di controllo per istruzioni tipo R e tipo I. (slides)
[30/04] CPU MIPS: add, lw, beq, j. Eccezioni e interruzioni e loro gestione. Valutazione delle prestazioni: banda e latenza. Tempo di esecuzione, speedup, IC, CPI, MIPS e loro uso. Esercizi. (slides)
[07/05] Problemi CPU ciclo singolo. Architettura pipeline. Parte operativa e parte di controllo del MIPS semplificato con pipeline a 5 stadi. Prestazioni delle pipeline. Criticità strutturali, dati e controllo. Propagazione e predizione dei salti. (slides)
[15/05] Gerarchia di memoria. Terminologia. Principi di località: spaziale e temporale. Memorie cache: principi e problemi. Cache ad accesso diretto: funzionamento ed esempi. Cache ad accesso diretto: circuito di controllo. (slides)
[16/05] Tradeoff numero blocchi e dimensioni. Gestione delle miss. Write-through e write-back. Cache full associative e set associative. Confronti tra varie cache. Cache set associative: circuito di controllo. Politiche di rimpiazzamento. Impatto delle gerarchie di memoria sulle prestazioni dei programmi. (slides)
[17/05] Memoria virtuale. Meccanismo di traduzione degli indirizzi. Tabella delle pagine, page fault, spazio di swap. Translation Lookaside Buffer. Esempio TLB, tabella delle pagine e memoria cache. Gestione delle miss. Meccanismi di protezione. (slides)
[22/05] I/O. Bus, comunicazioni sincrone e asincrone, arbitraggio. (slides)