Diario delle lezioni

  1. 22/9/16. Presentazione del corso. Cenni di storia delle macchine calcolatrici. Le tre "y" dell'architettura.
  2. 27/9/16. Notazioni posizionali in varie basi. Conversioni di basi da decimale a generica e viceversa. Conversioni tra base binaria ed esadecimale. Addizione in base generica. Assegno: esercizi 1.13, 1.15, 1.25.
  3. 4/10/16. Il massimo numero rappresentabile con n cifre in base b. Calcolare il numero di cifre necessarie a rappresentare in base b un numero dato. Le principali proprietà dei logaritmi. Il concetto di quantità di informazione. La rappresentazione "con segno" degli interi relativi: definizione, range, inversione, addizione e riconoscimento degli overflow.
  4. 6/10/16. Rappresentazione "in complemento a 2" degli interi relativi: definizione, range, inversione, addizione e riconoscimento degli overflow. Assegno: esercizi 1.30, 1.31, 1.56.
  5. 11/10/16. Svolti esercizi assegnati. La notazione posizionale per numeri frazionari. La rappresentazione binaria in virgola fissa. La notazione scientifica e la rappresentazione binaria in virgola mobile. Il formato a precisione singola dello standard IEEE 754.
  6. 13/10/16. Esempi di rappresentazione IEEE 754. I valori speciali: infiniti e NaN. Addizione in virgola mobile. Porte logiche e tabelle di verità. Le porte NOT, AND, OR. Assegno: esercizi 5.29, 5.33, 5.38.
  7. 18/10/16. Le porte XOR, NAND e NOR. Completezza logica del NOR. Realizzare porte logiche con transistor MOS. La disciplina statica e i margini di rumore. Assegno: esercizio 1.88.
  8. 20/10/16. Circuiti combinatori. Introduzione all'algebra di Boole. Mintermini e maxtermini. Forme normali e canoniche POS e SOP. Assegno: esercizio 2.1.
  9. 25/10/16. Funzioni booleane. Relazioni tra formalismi equivalenti. Assiomi e teoremi dell'algebra di Boole.
  10. 27/10/16. Teorema di De Morgan. Dimostrare teoremi tramite: induzione perfetta, doppia implicazione, o sequenza di trasformazioni. Uso dei teoremi per semplificare le formule. Bubble pushing. Assegno: esercizi 2.13, 2.14, 2.16.
  11. 3/11/16. Definizione di formula SOP minimale. I circuiti a 2 livelli. Minimizzazione tramite mappe di Karnaugh. Implicanti primi.
  12. 8/11/16. Esempi di minimizzazione. Le mappe di Karnaugh con "don't care". I multiplexer. Il multiplexer come elemento universale. Implementazione di un multiplexer con porte elementari o con altri multiplexer. Assegno: esercizi 2.18, 2.28, 2.31.
  13. 10/11/16. I decoder. Il decoder come elemento universale. Elementi di timing: tempo di contaminazione e tempo di propagazione. Assegno: esercizio 2.40.
  14. 15/11/16. Percorso critico e percorso breve. Insiemi di operatori logicamente completi. Circuiti sequenziali: il latch SR.
  15. 17/11/16. Il latch D, il flip-flop D e il flip-flop T. Elementi di memoria level-sensitive e edge-triggered. Assegno: esercizi 3.4, 3.6, 3.10 (a).
  16. 22/11/16. Flip-flop "enabled" e "resettabili". I registri. Definizione di circuito sequenziale sincrono. Esempi. Assegno: esercizio 3.18.
  17. 24/11/16. Le macchine di Moore e di Mealy. Trasformare un diagramma di transizione in una macchina di Moore. Esempio di controllo di due semafori. Assegno: trasformare in macchina di Moore il diagramma del distributore di bibite.
  18. 29/11/16. Trasformare un diagramma di transizione in una macchina di Mealy. Timing delle macchine di Moore e Mealy. Assegnata esercitazione CrowdGrader.
  19. 1/12/16. Esempio di codifica one-hot dello stato. Analisi di una macchina di Moore. Addizionatori. Half adder e full adder.
  20. 6/12/16. Correzione dell'esercitazione. Ripple-carry e carry look-ahead. Confronto di performance.
  21. 13/12/16. Circuito sottrattore. Operazioni booleane. Struttura dell'ALU con 4 operazioni. Uguaglianza e confronto ordinale. Assegno: progettare uno shifter aritmetico a destra su 4 bit.
  22. 15/12/16. Shifter e rotatori. Operazioni bit-a-bit in C e in Java. Assegno: realizzare in C una funzione get_bit, che, dati due interi n e i, restituisce l'i-esimo bit di n.
  23. 19/12/16. Lezione di recupero in aula D1, ore 9. Contatori, shift register e shift register con parallel load. Banchi di memorie. SRAM e DRAM.
  24. 20/12/16. ROM. Il banco dei registri. Array logici. PLA.