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)

Sistemi di Elaborazione (Ingegneria delle Telecomunicazioni)

a.a. 2016/17

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. Richiami sull’aritmetica binaria. (slides) (Capitoli 1.1, 1.3, 1.4, 1.5, 2.4, 3.1, 3.2)
[07/03] Aritmetica binaria: numeri negativi e complemento a 2. Somme e sottrazioni. Overflow. Esercizi. (slides) (Capitoli 2.4, 3.1, 3.2)
[14/03] Linguaggio macchina e assembler, modello della memoria, codifica delle istruzioni macchina. (slides) (Capitoli 2.1, 2.2, 2.3)
[20/03] Istruzioni formato R, operazioni logiche, istruzioni formato I, istruzioni di salto, istruzioni formato J, Procedure, Jump-And-Link, stack, codifica caratteri, istruzioni al byte, metodi di indirizzamento. (slides) (Capitoli 2.5, 2.6, 2.7, 2.8, 2.9, 2.10)
[04/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)
[24/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. Memoria: static RAM e dynamic RAM. (slides)
[08/05] Processore: parte operativa e parte di controllo. MIPS: sintesi della parte operativa e della parte di controllo per istruzioni tipo R e tipo I. CPU MIPS: add, lw, beq, j. Eccezioni e interruzioni e loro gestione. (slides)
[15/05] Valutazione delle prestazioni: banda e latenza. Tempo di esecuzione, speedup, IC, CPI, MIPS e loro uso. Esercizi. Architettura pipeline. Parte operativa e parte di controllo del MIPS semplificato con pipeline a 5 stadi. (slides)
[16/05] Prestazioni delle pipeline. Criticità strutturali, dati e controllo. Propagazione e predizione dei salti. Gerarchia di memoria. Terminologia. Principi di località: spaziale e temporale. (slides)
[23/05] Memorie cache: principi e problemi. Cache ad accesso diretto: funzionamento ed esempi. Cache ad accesso diretto: circuito di controllo. Tradeoff numero blocchi e dimensioni. Gestione delle miss. Write-through e write-back. (slides)
[29/05] 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. 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)
[30/05] I/O. Bus, Comunicazioni sincrone e asincrone, esempi. Periferiche e interfacce. (slides)