|
|
|
|
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: (PHRV1)
D.A. Patterson, J.L. Hennessy,
"Computer Organization and Design RISC-V Edition: The Hardware Software Interface",
Morgan Kaufman/Elsevier, 2017, ISBN 978-0128122754 (versione italiana: D.A. Patterson, J.L. Hennessy,
"Struttura e progetto dei calcolatori. Progettare con RISC-V" 1^a edizione ITALIANA, Zanichelli, 2019, ISBN 9788808820594)
(CORSINI) P. Corsini, "Dalle porte AND, OR, NOT al sistema calcolatore", Edizioni ETS, 2020, ISBN 9788846759351
|
|
LEZIONE #01 del 01-Ott-2024 (09:00-11:00)
| Introduzione generale. Progettazione logica -- tecnologia CMOS: porte NOT, NAND, NOR, porta di transito (circuito CMOS); ritardi di propagazione, caratteristica ingresso uscita, margini di rumore.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 1.2 (Otto grandi idee sull'architettura dei calcolatori)
PHRV1: CAP. 1.3 (Cosa c'è dietro un programma)
PHRV1: CAP. 1.5 (Componenti di un calcolatore)
|
|
LEZIONE #02 del 02-Ott-2024 (11:00-12:00)
| Richiami di algebra booleana. Progettazione logica: forme standard di funzioni booleane e mappe di Karnaugh.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: APPENDICE A.2 (Gates, Truth Tables, and Logic Equations)
CORSINI: Paragrafo 2.8 (Mappe di Karnaugh)
|
|
LEZIONE #03 del 02-Ott-2024 (12:00-13:00)
| Reti combinatorie notevoli: Decoder, Encoder, Encoder con priorita', Multiplexer, Demultiplexer, Look-Up-Table (LUT); Full/Half Adder.
Realizzazione di semplice ALU.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: APPENDICE A.3 (Combinational Logic)
PHRV1: APPENDICE A.12 (Field Programmable Devices)
PHRV1: APPENDICE A.5 (Constructing a Basic Arithmetic Logic Unit)
|
|
LEZIONE #04 del 03-Ott-2024 (11:00-12:00)
| Introduzione ai linguaggi di descrizione dell'hardware (HDL): Verilog.
| | | |
|
ESERCITAZIONE/LAB #01 del 03-Ott-2024 (12:00-13:00)
| Esercizi con Verilog e su Reti Logiche
| | | |
|
LEZIONE #05 del 08-Ott-2024 (09:00-11: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.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: APPENDICE A.7 (Clocks).
PHRV1: APPENDICE A.8 (Memory Elements: Flip-Flops, Latches, and Registers).
PHRV1: APPENDICE A.10 (Finite-State Machines)
PHRV1: APPENDICE A.11 (Timing Methodologies)
CORSINI: Paragrafo 3.2 (Dall'anello al latch SR)
CORSINI: Paragrafo 3.5 (Il D-latch e il D flip-flop)
|
|
LEZIONE #06 del 09-Ott-2024 (11:00-13:00)
| Reti sequenziali -- Macchine di Mealy e di Moore: modelli VERILOG e sintesi classica. Flip-Flop JK e T.
| | | RIFERIMENTI BIBLIOGRAFICI:
CORSINI: Paragrafo 5.4 (Modelli di base per le reti sequenziali sincronizzate: il modello di Moore)
CORSINI: Paragrafo 5.6 (Il riconoscitore di sequenza 11, 01, 10)
CORSINI: Paragrafo 5.7 (Modelli di base per le reti sequenziali sincronizzate: il modello di Mealy)
CORSINI: Paragrafo 5.8 (Modelli di base per le reti sequenziali sincronizzate: il modello di Mealy Ritardato)
|
|
ESERCITAZIONE/LAB #02 del 10-Ott-2024 (11:00-12:00)
| Esercizi da compiti precedenti (Mealy e Moore)
| | | |
|
ESERCITAZIONE/LAB #03 del 10-Ott-2024 (12:00-13:00)
| Ripasso sui Testbench per il Verilog
| | | |
|
LEZIONE #07 del 15-Ott-2024 (09:00-11:00)
| Principi dei microprocessori RISC. Formati di istruzioni e istruzioni base, modalita' di indirizzamento
(PARTE A)
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 2.2 (Operazioni svolte dall'hardware del calcolatore)
PHRV1: CAP. 2.3 (Operandi dell'hardware del calcolatore)
PHRV1: CAP. 2.4 (Numeri con e senza segno)
PHRV1: CAP. 2.5 (Rappresentazione delle istruzioni nel calcolatore)
PHRV1: CAP. 2.6 (Operazioni logiche)
PHRV1: CAP. 2.7 (Istruzioni per prendere decisioni)
PHRV1: CAP. 2.9 (Comunicare con le persone)
PHRV1: CAP. 2.10 (Indirizzamento RISC-V di un campo immediato e un indirizzo ampio)
|
|
LEZIONE #07 del 15-Ott-2024 (14:00-15:00)
| Principi dei microprocessori RISC. Formati di istruzioni e istruzioni base, modalita' di indirizzamento
(PARTE B)
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 2.2 (Operazioni svolte dall'hardware del calcolatore)
PHRV1: CAP. 2.3 (Operandi dell'hardware del calcolatore)
PHRV1: CAP. 2.4 (Numeri con e senza segno)
PHRV1: CAP. 2.5 (Rappresentazione delle istruzioni nel calcolatore)
PHRV1: CAP. 2.6 (Operazioni logiche)
PHRV1: CAP. 2.7 (Istruzioni per prendere decisioni)
PHRV1: CAP. 2.9 (Comunicare con le persone)
PHRV1: CAP. 2.10 (Indirizzamento RISC-V di un campo immediato e un indirizzo ampio)
|
|
LEZIONE #08 del 15-Ott-2024 (15:00-16:00)
| Esempio di complessita' interna dei chip: timer 8254
| | | RIFERIMENTI BIBLIOGRAFICI:
CORSINI: Paragrafo 7.10 (Struttura e gestione di un timer)
Riferimento (opzionale): INTEL, "82C84, CHMOS Programmable Interval Timer", datasheet - local copy of 82c84 datasheet
|
|
ESERCITAZIONE/LAB #04 del 17-Ott-2024 (11:00-13:00)
| Esercizi con Verilog e su Reti Logiche
| | | |
|
LEZIONE #09 del 22-Ott-2024 (09:00-10:00)
| | | | RIFERIMENTI BIBLIOGRAFICI:
CORSINI: Paragrafo 6.10 (Struttura interna di semplici interfacce seriali start/stop)
Riferimento (opzionale): TEXAS_INSTRUMENTS, "TL16C552A, dual asynchronous communication element with FIFO", datasheet
|
|
ESERCITAZIONE/LAB #05 del 22-Ott-2024 (10:00-11:00)
| Esercizi su Timer e Porta Seriale.
| | | |
|
ESERCITAZIONE/LAB #06 del 23-Ott-2024 (11:00-13:00)
| Esercizi con Verilog da compiti
Esercizi vari da compiti precedenti.
| | | |
|
ESERCITAZIONE/LAB #07 del 24-Ott-2024 (11:00-13:00)
| Esercitazione con board FPGA e RISC-V.
| | | |
|
ESERCITAZIONE/LAB #08 del 29-Ott-2024 (09:00-11:00)
| Esercizi di preparazione al compito (verilog; produttore/consumatore).
| | | |
|
ESERCITAZIONE/LAB #09 del 30-Ott-2024 (11:00-13:00)
| Esercizi di preparazione al compito.
| | | |
|
31-Ott-2024: Nessuna Lezione
PAUSA PER PREPARAZIONE COMPITINO |
|
|
05-Nov-2024 - COMPITINO (08:00-11:00)
|
|
LEZIONE #11 del 06-Nov-2024 (11:00-13:00)
| Assembly: chiamata a funzione.
(PARTE A)
| | | |
|
LEZIONE #11 del 07-Nov-2024 (11:00-12:00)
| Assemblatore a due passate. Principali direttive dell'assemblatore. Chiamata a servizi di sistema. Caricamento, collegamento di moduli multipli.
(PARTE B)
Programma fattoriale_riscv.s.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 2.13 (Un esempio riassuntivo in linguaggio C)
PHRV1: CAP. 2.14 (Confronto fra vettori e puntatori)
PHRV1: CAP. 2.12 (Tradurre ed avviare un programma)
Riferimento (opzionale): A. Waterman, K. Asanovic, The RISC-V Instruction Set Manual
|
|
ESERCITAZIONE/LAB #11 del 07-Nov-2024 (12:00-13:00)
| Sviluppo di programmi RISC-V su simulatore
| | | |
|
LEZIONE #12 del 12-Nov-2024 (09:00-10:00)
| Standard IEEE-754 per il floating-point. Supporto floating point nel processore
| | | |
|
LEZIONE #13 del 12-Nov-2024 (10:00-11:00)
| Equazione delle prestazioni. Valutazione delle prestazioni, set di benchmark SPEC. Legge di Amdahl.
| | | |
|
LEZIONE #14 del 13-Nov-2024 (11:00-13:00)
| Eccezioni e interrupt. Routine di gestione dell'interrupt. Interrupt precisi e imprecisi.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 4.9 (Le eccezioni)
PHRV1: CAP. 5.14 (Un caso reale: il resto del sistema RISC-V e le istruzioni speciali)
|
|
ESERCITAZIONE/LAB #12 del 14-Nov-2024 (11:00-13:00)
| Esercizi su floating point, instrumentazioni e funzioni ricorsive.
| | | |
|
LEZIONE #15 del 19-Nov-2024 (09:00-10:00)
| Tipi di bus. Protocollo di scambio sincrono e asincrono. Arbitraggio (master/slave, daisy-chain).
| | | |
|
LEZIONE #16 del 19-Nov-2024 (10:00-11:00)
| Requisiti dei sistemi di I/O; Pilotare i dispositivi: tecniche a polling, interrupt, DMA
| | | RIFERIMENTI BIBLIOGRAFICI:
CORSINI: Paragrafo 6.7 (Visione funzionale delle interfacce e loro gestione a controllo di programma)
CORSINI: Paragrafo 6.8 (Considerazioni sulla gestione dello spazio di I/O in un linguaggio ad alto livello)
CORSINI: Paragrafo 7.8 (Il sottosistema {controllore,sorgenti di interruzioni esterne})
|
|
LEZIONE #17 del 20-Nov-2024 (11:00-12:00)
| Tipi di memoria. Differenza fra SRAM e DRAM. Ciclo di lettura e di scrittura in DRAM.
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 5.1 (Grande e veloce: la gerarchia di memoria)
PHRV1: CAP. 5.2 (Tecnologie delle memorie)
|
|
LEZIONE #18 del 20-Nov-2024 (12:00-13:00)
| Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache.
(PARTE A)
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 5.3 (Principi base delle memorie cache)
|
|
ESERCITAZIONE/LAB #13 del 21-Nov-2024 (11:00-13:00)
| Esercizi su gestione dell'I/O.
| | | |
|
LEZIONE #18 del 26-Nov-2024 (09:00-11:00)
| Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache.
(PARTE B)
| | | RIFERIMENTI BIBLIOGRAFICI:
PHRV1: CAP. 5.3 (Principi base delle memorie cache)
|
|
ESERCITAZIONE/LAB #15 del 27-Nov-2024 (11:00-13:00)
| Esercizi su cache.
| | | |
|
ESERCITAZIONE/LAB #14 del 28-Nov-2024 (11:00-12:00)
| Esercizi su puntatori.
| | | |
|
ESERCITAZIONE/LAB #17 del 28-Nov-2024 (12:00-13:00)
| Esercizi su assembly. (PARTE A)
| | | |
|
ESERCITAZIONE/LAB #17 del 03-Dic-2024 (09:00-11:00)
| Esercizi su assembly. (PARTE B)
| | | |
|
ESERCITAZIONE/LAB #19 del 04-Dic-2024 (11:00-13:00)
| Sviluppo di programmi assembly su simulatore.
| | | |
|
05-Dic-2024: Nessuna Lezione
PAUSA PER PREPARAZIONE COMPITINO |
|
|
10-Dic-2024 - COMPITINO2 (09:00-12:00)
|
|
Per visualizzare il contenuto delle presentazioni in formato Acrobat (.pdf) e' possibile utilizzare Acrobat Reader, rilasciato gratuitamente dalla Adobe (Download Acrobat Reader) |
|