|
|
|
|
|
COURSE SCHEDULE (TENTATIVE): THE FOLLOWING DATES ARE INDICATIVE AND RELATED TO THE HYPOTHETIC REGULAR PROGRESS OF THE LESSONS. NOTE (THIS HAS BEEN ASKED TO ME ...) THE NUMBERING OF LESSON REFERS ONLY TO THE TOPIC, IT DOES NOT IMPLY BY ANY MEANS THAT THE LESSONS WILL BE GIVEN IN A CERTAIN ORDER. |
|
NOTE: the actual schedule will be updated weekly.
BIBLIOGRAPHIC REFERENCES: (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
(CORSINI)
P. Corsini, "Dalle porte AND, OR, NOT al sistema calcolatore", Edizioni ETS, 2020, ISBN 9788846759351
|
|
LESSON #01 of 02-Oct-2023 (08:30-10: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.
| | | BIBLIOGRAPHIC REFERENCES:
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)
|
|
LESSON #02 of 03-Oct-2023 (10:15-11:00)
| Richiami di algebra booleana. Progettazione logica: forme standard di funzioni booleane e mappe di Karnaugh.
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: APPENDICE A.2 (Gates, Truth Tables, and Logic Equations)
CORSINI: Paragrafo 2.8 (Mappe di Karnaugh)
|
|
LESSON #03 of 03-Oct-2023 (11:00-11:45)
| Reti combinatorie notevoli: Decoder, Encoder, Encoder con priorita', Multiplexer, Demultiplexer, Look-Up-Table (LUT); Full/Half Adder.
Realizzazione di semplice ALU.
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: APPENDICE A.3 (Combinational Logic)
PHRV1: APPENDICE A.12 (Field Programmable Devices)
PHRV1: APPENDICE A.5 (Constructing a Basic Arithmetic Logic Unit)
|
|
LESSON #04 of 05-Oct-2023 (08:30-09:15)
| Introduzione ai linguaggi di descrizione dell'hardware (HDL): Verilog.
(PARTE A)
| | | |
|
PRACTICING/LAB #01 of 05-Oct-2023 (09:15-10:00)
| Esercizi con Verilog e su Reti Logiche
| | | |
|
LESSON #04 of 09-Oct-2023 (08:30-09:15)
| Realizzazione di un semplice processore con architettura RISC-V in Verilog
(PARTE B)
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: APPENDICE A.8 (Registers)
PHRV1: CAP. 4.1 (Il Processore)
PHRV1: CAP. 4.2 (Convenzioni del progetto logico)
PHRV1: CAP. 4.3 (Realizzazione del datapath)
PHRV1: CAP. 4.4 (Uno schema semplice di implementazione)
|
|
LESSON #05 of 09-Oct-2023 (09:15-10: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.
| | | BIBLIOGRAPHIC REFERENCES:
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)
|
|
LESSON #06 of 10-Oct-2023 (10:15-11:45)
| Reti sequenziali -- Macchine di Mealy e di Moore: modelli VERILOG e sintesi classica. Flip-Flop JK e T.
| | | BIBLIOGRAPHIC REFERENCES:
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)
|
|
PRACTICING/LAB #02 of 12-Oct-2023 (08:30-09:15)
| Esercizi da compiti precedenti (Mealy e Moore)
| | | |
|
PRACTICING/LAB #03 of 12-Oct-2023 (09:15-10:00)
| Ripasso sui Testbench per il Verilog
| | | |
|
LESSON #07 of 16-Oct-2023 (08:30-10:00)
| Principi dei microprocessori RISC. Formati di istruzioni e istruzioni base, modalita' di indirizzamento
(PARTE A)
| | | BIBLIOGRAPHIC REFERENCES:
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)
|
|
LESSON #07 of 17-Oct-2023 (10:15-11:00)
| Principi dei microprocessori RISC. Formati di istruzioni e istruzioni base, modalita' di indirizzamento
(PARTE B)
| | | BIBLIOGRAPHIC REFERENCES:
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)
|
|
LESSON #08 of 17-Oct-2023 (11:00-11:45)
| Esempio di complessita' interna dei chip: timer 8254
| | | BIBLIOGRAPHIC REFERENCES:
CORSINI: Paragrafo 7.10 (Struttura e gestione di un timer)
Riferimento (opzionale): INTEL, "82C84, CHMOS Programmable Interval Timer", datasheet - local copy of 82c84 datasheet
|
|
PRACTICING/LAB #04 of 19-Oct-2023 (08:30-10:00)
| Esercizi con Verilog e su Reti Logiche
(parte A)
| | | |
|
LESSON #09 of 23-Oct-2023 (08:30-09:15)
| | | | BIBLIOGRAPHIC REFERENCES:
CORSINI: Paragrafo 6.10 (Struttura interna di semplici interfacce seriali start/stop)
Riferimento (opzionale): TEXAS_INSTRUMENTS, "TL16C552A, dual asynchronous communication element with FIFO", datasheet
|
|
PRACTICING/LAB #05 of 23-Oct-2023 (09:15-10:00) - Dr. M. Procaccini
| Esercizi su Timer e Porta Seriale.
| | | |
|
PRACTICING/LAB #06 of 24-Oct-2023 (10:15-11:45) - Dr. M. Procaccini
| Esercizi con Verilog da compiti
Esercizi vari da compiti precedenti.
| | | |
|
PRACTICING/LAB #04 of 26-Oct-2023 (08:30-10:00)
| Esercizi con Verilog e su Reti Logiche
(parte B)
| | | |
|
PRACTICING/LAB #09 of 30-Oct-2023 (08:30-10:00) - Dr. M. Procaccini
| Esercizi di preparazione al compito (verilog; produttore/consumatore).
| | | |
|
PRACTICING/LAB #07 of 31-Oct-2023 (10:15-11:45) - Dr. M. Procaccini
| Esercitazione con board FPGA e RISC-V.
| | | |
|
02-Nov-2023: No Lesson
PAUSA PREPARAZIONE PROVA IN ITINERE
|
|
|
06-Nov-2023 - COMPITINO (08:00-10:15)
|
|
LESSON #11 of 07-Nov-2023 (10:15-11:45)
| Assembly: chiamata a funzione.
(PARTE A)
| | | |
|
LESSON #11 of 09-Nov-2023 (08:30-09:15)
| Assemblatore a due passate. Principali direttive dell'assemblatore. Chiamata a servizi di sistema. Caricamento, collegamento di moduli multipli.
(PARTE B)
Programma fattoriale_riscv.s.
| | | BIBLIOGRAPHIC REFERENCES:
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
|
|
PRACTICING/LAB #11 of 09-Nov-2023 (09:15-10:00)
| Sviluppo di programmi RISC-V su simulatore
| | | |
|
LESSON #12 of 13-Nov-2023 (08:30-09:15)
| Standard IEEE-754 per il floating-point. Supporto floating point nel processore
| | | |
|
LESSON #13 of 13-Nov-2023 (09:15-10:00)
| Equazione delle prestazioni. Valutazione delle prestazioni, set di benchmark SPEC. Legge di Amdahl.
| | | |
|
LESSON #14 of 14-Nov-2023 (10:15-11:45)
| Eccezioni e interrupt. Routine di gestione dell'interrupt. Interrupt precisi e imprecisi.
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: CAP. 4.9 (Le eccezioni)
PHRV1: CAP. 5.14 (Un caso reale: il resto del sistema RISC-V e le istruzioni speciali)
|
|
PRACTICING/LAB #12 of 16-Nov-2023 (08:30-10:00)
| Esercizi su floating point, instrumentazioni e funzioni ricorsive.
| | | |
|
LESSON #15 of 20-Nov-2023 (08:30-09:15)
| Tipi di bus. Protocollo di scambio sincrono e asincrono. Arbitraggio (master/slave, daisy-chain).
| | | |
|
LESSON #16 of 20-Nov-2023 (09:15-10:00)
| Requisiti dei sistemi di I/O; Pilotare i dispositivi: tecniche a polling, interrupt, DMA
| | | BIBLIOGRAPHIC REFERENCES:
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})
|
|
LESSON #17 of 21-Nov-2023 (10:15-11:00)
| Tipi di memoria. Differenza fra SRAM e DRAM. Ciclo di lettura e di scrittura in DRAM.
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: CAP. 5.1 (Grande e veloce: la gerarchia di memoria)
PHRV1: CAP. 5.2 (Tecnologie delle memorie)
|
|
LESSON #18 of 21-Nov-2023 (11:00-11:45)
| Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache.
(PARTE A)
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: CAP. 5.3 (Principi base delle memorie cache)
|
|
PRACTICING/LAB #13 of 23-Nov-2023 (08:30-10:00)
| Esercizi su gestione dell'I/O.
| | | |
|
LESSON #18 of 27-Nov-2023 (08:30-09:15)
| Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache.
(PARTE B)
| | | BIBLIOGRAPHIC REFERENCES:
PHRV1: CAP. 5.3 (Principi base delle memorie cache)
|
|
PRACTICING/LAB #14 of 27-Nov-2023 (09:15-10:00)
| Esercizi su puntatori.
| | | |
|
PRACTICING/LAB #15 of 28-Nov-2023 (10:15-11:45)
| Esercizi su cache.
| | | |
|
PRACTICING/LAB #16 of 30-Nov-2023 (08:30-09:15) - Dr. M. Procaccini
| Esercizi sulle cache e assembly.
| | | |
|
PRACTICING/LAB #17 of 30-Nov-2023 (09:15-10:00) - Dr. M. Procaccini
| Esercizi su assembly. (PART A)
| | | |
|
PRACTICING/LAB #17 of 04-Dec-2023 (08:30-09:15) - Dr. M. Procaccini
| Esercizi su assembly. (PART B)
| | | |
|
PRACTICING/LAB #18 of 04-Dec-2023 (09:15-10:00)
| Esercizi di preparazione al compito.
| | | |
|
PRACTICING/LAB #19 of 05-Dec-2023 (10:15-11:45)
| Sviluppo di programmi assembly su simulatore.
| | | |
|
07-Dec-2023: No Lesson
PAUSA PER PREPARAZIONE COMPITINO |
|
|
11-Dec-2023 - COMPITINO2 (08:00-10:15)
|
|
To visualize the content of the above presentations in Acrobat format (.pdf) you can use Acrobat Reader, freely realesed by Adobe (Download Acrobat Reader) |
|