ELEMENTI DI PROGETTAZIONE DEI SISTEMI DIGITALI,
ORGANIZZAZIONE DI MACCHINA A LIVELLO ASSEMBLY,
VALUTAZIONE DELLE PRESTAZIONI,
SOTTOSISTEMA DI MEMORIA,
I/O E COMUNICAZIONI,
PROCESSORE
---------------------
PROGRAMMA DETTAGLIATO:
ELEMENTI DI PROGETTAZIONE DEI SISTEMI DIGITALI
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; algebra booleana. Forme standard di funzioni booleane e mappe di Karnaugh; Decoder, Encoder, Encoder con priorita', Multiplexer, Demultiplexer, Look-Up-Table (LUT), Half-Adder, Full-Adder, ALU. Introduzione ai linguaggi di descrizione dell'hardware (HDL): Verilog e realizzazione di un semplice processore con architettura RISC-V. 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; 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 e con riporto look-ahead.
ORGANIZZAZIONE DI MACCHINA E ASSEMBLY
Principi dei microprocessori RISC-V. Formati di istruzioni e istruzioni base. Assembly: modalita' di indirizzamento. Chiamata a funzione. Equazione delle prestazioni. Valutazione delle prestazioni, set di benchmark SPEC. Legge di Amdahl. Assemblatore a due passate. Caricamento, collegamento di moduli multipli. Standard IEEE-754 per il floating-point. Registri e istruzioni floating-point nel processore. Eccezioni e interrupt. Routine di gestione dell'interrupt. Interrupt precisi e imprecisi.
SOTTOSISTEMA DI MEMORIA
Tipi di memoria. Differenza fra SRAM e DRAM. Ciclo di lettura e di scrittura in DRAM. Gerarchia di Memoria e Principio di Localita'. Architettura delle cache: cache ad accesso diretto. Parametri caratterizzanti il funzionamento delle cache. Cache associative. Cache su piu' livelli. Dipendenza delle prestazioni di un calcolatore dalla cache. Memoria Virtuale: meccanismi hardware per supportarla. Paginazione a 2 o piu' livelli e a tabella inversa. TLB: Translation Lookaside Buffer.
I/O E COMUNICAZIONI
Tipi di bus. Protocollo di scambio sincrono e asincrono. Arbitraggio (master/slave, daisy-chain). Cenni a bus PCI. Pilotare i dispositivi: tecniche a polling, interrupt, DMA. Il caso dei PC: controllore di interrupt 8259A. Esempio di complessita' interna dei chip: timer 8254, UART 16550A. Comunicazioni su bus seriali (pacchettizazione, Ethernet, USB).
PROCESSORE
Processori con pipeline. Risoluzione dei conflitti di pipeline. Limiti della pipeline e cenni ai processori superscalari.