* ELEMENTI DI PROGETTAZIONE DEI SISTEMI DIGITALI
Tecnologia CMOS, inverter CMOS, porte NOT, NAND, NOR, porta di transito in CMOS (stick diagram e circuito); ritardi di propagazione, caratteristica ingresso uscita, margini di rumore e loro dipendenza dai parametri fisici; algebra booleana; sintesi ad occhio di reti combinatorie: half adder e full adder. Forme standard di funzioni booleane e mappe di Karnaugh; reti combinatorie notevoli: Decoder, Encoder, Encoder con priorita', Multiplexer, Demultiplexer, Look-Up-Table (LUT); realizzazione di semplice ALU. Introduzione ai linguaggi di descrizione dell'hardware (HDL): Verilog e realizzazione di un semplice processore con architettura MIPS o ARM. Introduzione alle reti logiche 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. Reti logiche sequenziali: Macchine di Mealy e di Moore, modelli VERILOG e sintesi di macchine di Mealy e di Moore, Flip-Flop JK, Flip-Flop T, Ripple Counter, Serial Carry Counter, Parallel Carry Counter, Ring Counter, Sommatore Parallelo con riporto seriale e con riporto look-ahead.
* ORGANIZZAZIONE DI MACCHINA E ASSEMBLY
Principi dei microprocessori RISC (MIPS o ARM). 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. Eccezioni e interrupt. Routine di gestione dell'inturrupt. 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.