Università degli Studi di Siena
Dipartimento di Ingegneria dell'Informazione e Scienze Matematiche (DIISM)
Insegnamento di
Architettura dei Calcolatori 2018-2019
 
 
 ultime notizie (home)
 registrazione matricola
 lezioni
(accesso riservato)
 errata-corrige slides
 tools per esercitazioni
 programma
 orario ricevimento
 iscrizione ai compitini
(sito Facolta')
 compitini
 progetti
 registrazione gruppo
(accesso riservato)
 modalita' esame
 feedback
 RELATED LINKS
bgcolor="#FFFFFF" width="840" height="3900" border="0" cellpadding="0" cellspacing="0" valign="top" align="left">
 TUTTE LE SLIDE (TEORIA) IN UN UNICO FILE
 TUTTE LE ESERCITAZIONI IN UN UNICO FILE

PIANO DEL CORSO (TENTATIVO): LE DATE SONO PURAMENTE INDICATIVE E RELATIVE ALL'IPOTETICO SVOLGIMENTO REGOLARE DELLE LEZIONI. NOTA: (MI E' STATO CHIESTO...) LA NUMERAZIONE DELLE LEZIONI SI RIFERISCE SOLO ALL'ARGOMENTO, NON IMPLICA IN ALCUN MODO LO SVOLGIMENTO IN UN CERTO ORDINE.

NOTA: lo svolgimento effettivo verra' aggiornato settimanalmente.

RIFERIMENTI BIBLIOGRAFICI:
  • D.A. Patterson, J.L. Hennessy, "Computer Organization and Design" 5th Edition, Morgan Kaufman/Elsevier, 2014, ISBN 978-0124077263
  • (PH4) D.A. Patterson, J.L. Hennessy, "Struttura e Progetto dei Calcolatori" 4^a edizione ITALIANA (traduzione della 5^a edizione inglese), Zanichelli, 2015, ISBN 978-8808-35202-6
  • (CORSINI) P. Corsini, "Dalle porte AND, OR, NOT al sistema calcolatore", Edizioni ETS, 2015, ISBN 9788846743114
  •  LEZIONE #01 del 01-Ott-2018 (10:00-12:00)
    Introduzione generale. Progettazione logica -- tecnologia CMOS: porte NOT, NAND, NOR, porta di transito (stick diagram e circuito CMOS); ritardi di propagazione, caratteristica ingresso uscita, margini di rumore e loro dipendenza dai parametri fisici.
  • PH5 Paragrafi 1.1-1.2 (PH3/PH4 Paragrafi 1.1-1.2)
  •  LEZIONE #02 del 01-Ott-2018 (02:00-03:00)
    Richiami di algebra booleana (PARTE A)
     LEZIONE #03 del 03-Ott-2018 (16:00-17:00)
    Progettazione logica: forme standard di funzioni booleane e mappe di Karnaugh; reti combinatorie notevoli: Decoder, Encoder, Encoder con priorita', Multiplexer, Demultiplexer, Look-Up-Table (LUT); Full/Half Adder; Realizzazione di semplice ALU.
  • PH5 Appendice B.3
  • CORSINI - Paragrafo 2.8
  •  ESERCITAZIONE/LAB #01 del 03-Ott-2018 (01:00-02:00)
    Esercizi con Verilog e su Reti Logiche
  • Simulatore di Reti Logiche: Verilogger e Cartella di base e utilita'
  • prova.v, nand.v, encoder.v, mult4to1
  •  LEZIONE #05 del 08-Ott-2018 (10:00-13:00)
    Introduzione alle reti sequenziali: latch e flip-flop SR, clocked-SR, SR-master-salve, D-latch, D-edge-triggered e loro realizzazioni transistor-level; generazione di clock a due fasi.
  • CORSINI: Paragrafi 3.2,3.5
  • PH5 B.8
  •  LEZIONE #04 del 10-Ott-2018 (16:00-18:00)
    Introduzione ai linguaggi di descrizione dell'hardware (HDL): Verilog e relizzazione di un semplice processore con architettura MIPS o ARM
     LEZIONE #06 del 15-Ott-2018 (10:00-12:00)
    Reti sequenziali -- Macchine di Mealy e di Moore: modelli VERILOG e sintesi classica; Flip-Flop JK e T; Contatori: Ripple, Serial Carry, Parallel Carry, Ring Counter; Sommatore Parallelo con riporto seriale con riporto look-ahead
  • CORSINI: Paragrafi 5.4-5.8
  •  ESERCITAZIONE/LAB #02 del 15-Ott-2018 (02:00-03:00)
    Esercizi da compiti precedenti
  • Esercizio n.6 dal compito del 04-11-2016.
  •  ESERCITAZIONE/LAB #03 del 17-Ott-2018 (16:00-18:00)
    Esercizi con Verilog e su Reti Logiche
  • Simulatore di Reti Logiche: Verilogger e Cartella di base e utilita'
  • Esempio1 di modulo del processore MIPS con Testbench cpumips01-mux2.v e output.
  • Esempio2 di modulo del processore MIPS con Testbench cpumips01-core.ve output.
  • Programma MIPS da eseguire sul processore MIPS-VERILOG: mipstest.s
  • Codice Binario del precedente programma MIPS: memfile.dat
  • NEW: CPUMIPS: codice di tutti i blocchi architetturali visti a lezione e del processore mentre esegue le 15 istruzioni del precedente programma mipstest.s
  •  LEZIONE #07 del 22-Ott-2018 (10:00-12:00)
    Principi dei microprocessori RISC (MIPS o ARM). Formati di istruzioni e istruzioni base.
  • PH4/PH5 Paragrafi 2.2-2.7 (PH3 Paragrafi 2.2-2.6)
  •  LEZIONE #08 del 22-Ott-2018 (12:00-13:00)
    Assembly: modalita' di indirizzamento. Chiamata a Funzione. Assemblatore a due passate. Principali direttive dell'assemblatore. Chiamata a servizi di sistema. Caricamento, collegamento di moduli multipli. (PARTE A)
  • PH4/PH5 Paragrafi 2.9-2.10 (PH3 Paragrafi 2.8-2.9).
  • PH4/PH5 Pragrafi 2.8 e 2.12-2.15 (PH3 Paragrafi 2.7 e 2.10).
  •  LEZIONE #08 del 24-Ott-2018 (16:00-17:00)
    Assembly: modalita' di indirizzamento. Chiamata a Funzione. Assemblatore a due passate. Principali direttive dell'assemblatore. Chiamata a servizi di sistema. Caricamento, collegamento di moduli multipli. (PARTE B)
     ESERCITAZIONE/LAB #04 del 24-Ott-2018 (17:00-18:00)
    Sviluppo di programmi MIPS o ARM su simulatore.
  • Simulatore di processore MIPS: SPIM.
  • Programma sommatoria.s.
  • Programma fattoriale.s.
  • Esercizio eq.prestazioni/cpi compito 26-10-2005 --> codice fibonacci.s.
  • PH5 A.1-A.6,A.9-A.10 (PH4 Appendice B.1, B.5 e B.9-B.10, PH3 Appendice A.1, A.5 e A.9-A.10).
  •  LEZIONE #09 del 29-Ott-2018 (10:00-11:00)
    Equazione delle prestazioni. Valutazione delle prestazioni, set di benchmark SPEC. Legge di Amdahl.
  • PH5 1.5-1.6 (PH4 Paragrafi 1.4, 1.7, B.2-B.3 - PH3 Paragrafi 4.1-4.3, A.2-A.3).
  • Lettura: J.E. Smith, "Characterizing computer performance with a single number.",Commun. ACM 31, 10 (Oct. 1988), 1202-1206
  •  LEZIONE #10 del 29-Ott-2018 (01:00-03:00)
    Standard IEEE-754 per il floating-point.
  • PH5/PH4 Paragrafo 3.5 (PH3 Paragrafo 3.6)
  • IEEE-754-2008 standard
  • What Every Computer Scientist Should Know About Floating-Point Arithmetic
  • Esercizio n.1 dal compito del 02-11-2007 (conversione in FP).
  •  ESERCITAZIONE/LAB #05 del 29-Ott-2018 (14:00-16:00)
    Esercizi su assembly.
  • Esercizio implementazione malloc dal compito compito del 28-06-2011 es. n.1.
  •  LEZIONE #11 del 05-Nov-2018 (14:00-16:00)
    Eccezioni e interrupt. Routine di gestione dell'interrupt. Interrupt precisi e imprecisi.
  • PH5/PH4 Paragrafi 4.9, PH5 A.7 (PH4 B.7 - PH3 Paragrafi 5.6, A.7)
  •  LEZIONE #12 del 05-Nov-2018 (02:00-03:00)
    Tipi di bus. Protocollo di scambio sincrono e asincrono. Arbitraggio (master/slave, daisy-chain). Cenni a bus PCI.
  • PH4 Paragrafi 6.1, 6.5, 6.6 (P-H-3 Paragrafi 8.1,8.4-8.5)
  •  ESERCITAZIONE/LAB #06 del 07-Nov-2018 (16:00-18:00)
    Sviluppo di programmi assembly su simulatore.
  • Simulatore SPIM
  • Esercizio n.1 dal compito del 02-11-2007 (conversione IEEE-754-SP).
  • Esercizio n.1 dal compito del 03-11-2009 (instrumentazione) - programma SPIM (contiene i due programmi fibit e fibrc).
  • PH4 Appendice B.1, B.5, B.6, B.9, B.10 (PH3 Appendice A.1, A.5, A.6, A.9, A.10).
  •  LEZIONE #13 del 12-Nov-2018 (10:00-11:00)
    Pilotare i dispositivi: tecniche a polling, interrupt, DMA. Il caso dei PC: controllore di interrupt 8259A.
  • CORSINI: Paragrafi 6.7-6.8,7.8
  •  LEZIONE #14 del 12-Nov-2018 (01:00-02:00)
    Esempio di complessita' interna dei chip: timer 8254
  • CORSINI: Paragrafi 6.10
  •  LEZIONE #15 del 12-Nov-2018 (02:00-03:00)
    Comunicazioni su bus seriali (pacchettizazione, Ethernet, USB) e UART 16550A.
  • CORSINI: Paragrafi 7.10
  • Programma serialtest.c e istruzioni per l'uso.
  •  ESERCITAZIONE/LAB #07 del 14-Nov-2018 (16:00-18:00)
    Esercizi su gestione dell'I/O.
  • Esercizio n.1 dal compito del 04/12/2006
  • Esercizi n.1 e n.3 dal compito del 30/06/2016
  •  LEZIONE #16 del 19-Nov-2018 (10:00-11:00)
    Tipi di memoria. Differenza fra SRAM e DRAM. Ciclo di lettura e di scrittura in DRAM.
  • PH5 Paragrafo B.9 (PH4 Paragrafo C.9 - PH3 Paragrafo B.9)
  •  LEZIONE #17 del 19-Nov-2018 (01:00-03:00)
    Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache.
  • PH5/PH4 Paragrafi 5.1-5.2 (PH3 Paragrafi 7.1-7.2)
  •  LEZIONE #18 del 21-Nov-2018 (16:00-17:00)
    Cache associative. Cache su piu' livelli. Dipendenza delle prestazioni di un calcolatore dalla cache.
  • PH5/PH4 Paragrafi 5.3 PH5 Paragrafo 5.8 (PH4 5.5 - PH3 Paragrafi 7.3,7.5)
  •  ESERCITAZIONE/LAB #08 del 21-Nov-2018 (01:00-02:00)
     LEZIONE #19 del 26-Nov-2018 (10:00-13:00)
    Memoria Virtuale: meccanismi hardware per supportarla. Paginazione a 2 o piu' livelli e a tabella inversa. TLB: Translation Lookaside Buffer.
  • PH5 Paragrafo 5.7 (PH4 Paragrafo 5.4 - PH3 Paragrafo 7.4).
  •  ESERCITAZIONE/LAB #09 del 28-Nov-2018 (16:00-18:00)
     LEZIONE #20 del 03-Dic-2018 (10:00-11:00)
    Processori con pipeline. Risoluzione dei conflitti di pipeline. Limiti della pipeline e cenni ai processori superscalari.
  • PH5/PH4 Paragrafi 4.1-4.8 (PH3 Paragrafi 6.1-6.7)
  •  ESERCITAZIONE/LAB #10 del 03-Dic-2018 (01:00-03:00)
    Esercizi su processori con pipeline. Esercizi su cache. (PARTE A)
  • Esercizio n.2 dal compito del 15-12-2009.
  • Esercizio n.1 dal compito del 03-12-2003.
  • Programma det3x3.c.
  • Programma det3x3.s per SPIM.
  •  ESERCITAZIONE/LAB #11 del 05-Dic-2018 (16:00-17:00)
    Esercizi di preparazione al compito.
  • Tool JCACHESIM
  • Illustrazione del simulatore WEBMIPS per visualizzare il comportamento della pipeline del processore MIPS.
  •  ESERCITAZIONE/LAB #12 del 05-Dic-2018 (01:00-02:00)
    Esercizi di preparazione al compito.
  • Esercizio n.2 dal compito del 02-11-2007 (programma esterno) - programma1 SPIM (main) - programma2 SPIM (esterno).
  •  ESERCITAZIONE/LAB #13 del 10-Dic-2018 (10:00-13:00)
    Esercizi di preparazione al compito.
  • Esercizio n.4 dal compito del 21-12-2015.
  •  ESERCITAZIONE/LAB #14 del 12-Dic-2018 (16:00-19:00)
    Esercizi di preparazione al compito.
  • Esercizio n.1 dal compito del 21-12-2015 (metodo iterativo di Jacobi per sis. lineari) - programma SPIM.
  • Variante dello stesso programma c1151221-var.s
  •  ESERCITAZIONE/LAB #15 del 17-Dic-2018 (10:00-13:00)
     19-Dic-2018: Nessuna Lezione
    VACANZA/PONTE
     dal 24-Dic-2018 al 07-Gen-2019: Nessuna Lezione
    VACANZA/PONTE
     09-Gen-2019: Nessuna Lezione
    VACANZA/PONTE
     14-Gen-2019 - COMPITINO (10:00-13:00)






    Per visualizzare il contenuto delle presentazioni in formato Acrobat (.pdf) e' possibile utilizzare Acrobat Reader, rilasciato gratuitamente dalla Adobe (Download Acrobat Reader)