Architetture e Sistemi Operativi (725AA, prima parte 6 CFU)



Obiettivi del corso. Il corso è un fondamentale annuale del secondo anno della Laurea Triennale in Informatica. Le tematiche vertono nella prima parte sulle Architetture dei Calcolatori, mentre la seconda parte del corso è inerente alla progettazione e funzionamento dei Sistemi Operativi. La parte di mia competenza corrisponde ai primi 2/3 del programma di Architetture, svolto nel primo semestre (48 ore, 24 lezioni).

Argomenti del corso. Durante la prima parte del corso (6 CFU) affronteremo i seguenti argomenti:

• Fondamenti dei sistemi di elaborazione: rappresentazione binaria di numeri interi e in virgola fissa/mobile, logica booleana, tabelle di verità e semplificazione delle espressioni logiche

• Reti combinatorie e reti sequenziali

• Linguaggi per la descrizione dell’hardware (in particolare Verilog per modellare reti combinatorie e sequenziali)

• Linguaggio Assembler ARMv7

• Microarchitettura base del processore ARMv7 (single cycle)

• Microarchitetture avanzate per ARMv7 (multi cycle e pipeline)

• Cenni a processori avanzati (superscalari, multithreading)

Libro di testo. Il libro di testo per la prima parte del corso è: S. Harris, D. Harris, “Digital design and computer architecture: ARM edition”, Morgan Kaufmann 2017. Anche in versione italiana pubblicata da Zanichelli.

Modalità di insegnamento. A seguito delle recenti direttive dell’Università di Pisa per il contenimento degli effetti della pademia Covid-19, le lezioni per l’A.A. 2021/2022 sono erogate in modalità mista. Ovvero, una frazione degli studenti potrà seguire le lezioni in presenza (rispettando gli obblighi di prenotazione previsti dall’Ateneo), mentre gli altri potranno seguire a distanza. Sarà mia premura erogare le lezioni in modo che contestualmente sia fornito lo streaming in tempo reale. Qualora per motivi tecnici ciò non fosse possibile, provvederò a pubblicare le registrazioni delle lezioni sul canale Microsoft Teams del corso una volta terminata la lezione.

Microsoft teams. Il canale del corso è disponibile con il seguente codice: gwmks5u

Ricevimento. L’orario di ricevimento è il Martedì 10:00-13:00. Gli studenti sono pregati in anticipo di mandare una mail se interessati. Preferibilmente il ricevimento sarà espletato mediante il canale Microsoft Teams del corso.

Materiale del corso:

1. Dispensa integrativa AE 

2. Introduzione al corso 

3. Note lezione 1 (15 settembre 2021) 

4. Note lezione 2 (17 settembre 2021) 

5. Note lezione 3 (22 settembre 2021) 

6. Note lezione 4 (24 settembre 2021) 

7. Note lezione 5 (29 settembre 2021) 

8. Note lezione 6 (01 ottobre 2021)  , materiale Verilog su reti combinatorie 

9. Note lezione 7 (06 ottobre 2021)  , materiale Verilog su latch, flipflop e registri 

10. Note lezione 8 (08 ottobre 2021)  , materiale Verilog su reti sequenziali 

11. Note lezione 9 (13 ottobre 2021)  , materiale Verilog su reti sequenziali 

12. Note lezione 10 (15 ottobre 2021)  , materiale Verilog sul divisore 

13. Note lezione 11 (20 ottobre 2021)  , materiale Verilog sulla memoria 

14. Note lezione 12 (22 ottobre 2021)  , materiale assembler 

15. Note lezione 13 (27 ottobre 2021)  , materiale assembler 

16. Note lezione 14 (29 ottobre 2021)  , materiale assembler 

17. Note lezione 15 (03 novembre 2021)  , materiale assembler 

18. Note lezione 16 (05 novembre 2021)  , materiale assembler 

19. Note lezione 17 (10 novembre 2021)  , materiale assembler 

20. Note lezione 18 (12 novembre 2021)  , materiale assembler 

21. Note lezione 19 (17 novembre 2021)  , materiale assembler 

22. Note lezione 20 (19 novembre 2021)  , materiale assembler 

23. Note lezione 21 (24 novembre 2021) 

24. Note lezione 22 (26 novembre 2021) 

25. Note lezione 23 (01 dicembre 2021) 

26. Note lezione 24 (03 dicembre 2021) 

© Gabriele Mencagli