Sviluppo dei microprocessori. Esempio di ALU. Operazioni logiche. Reti sequenziali.
Architettura dell'8086
Registri. Pointer e index. Segmenti. Stack. Program status word. Organizzazione della memoria. Indirizzamenti (registri, immediato, diretto, indiretto, indiretto di registro) e modalità di indirizzamento. Funzionamento dell'8086 (descrizione generale, bus di sistema, unità di esecuzione, modo minimo e massimo). Handshaking.
Assembler
Composizione di un'istruzione. Etichetta, operazione, operando. Metodi per l'uscita dal programma. Passaggio di parametri. Assemblatore.
Input/Output
Interfaccia, porte di I/O, memory mapped I/O, selettori, programmed I/O, interrupted I/O.
Interruzioni
Interruzioni con più periferiche (singola linea e registro di stato, linee distinte, 8085, Z80, 8086). Programmable interrupt controller 8259A. Daisy chain.
Direct Memory Access
Descrizione. Struttura interna. Funzionamento. DMA controller 8237.
Esempi di componenti
Interfaccia parallela 8255A. Interfaccia seriale 8251. Coprocessore matematico 8087.
Bus di sistema
Elenco bus locali. Sistemi multimaster (arbitraggio centralizzato, distribuito, daisy-chain, parallelo).
Memoria
Tipologie di memoria. RAM dinamica. Cache memory. Principio di località. Metodi di mappatura (associativa, diretta, a "n" vie). Problema della scrittura (write allocate, dma, multiprocessor). Politica di rimpiazzamento (random, fifo, lru, pseudo-lru).
Memoria virtuale
Generalità. Memoria virtuale paginata. Sistemi multitasking. Dimensione delle pagine. Translation Lookaside Buffer. Paginazione a due livelli. Memoria virtuale segmentata. Indirizzamento. Mainframe IBM360. Motorola 68030. Intel 80286. Protezione e livelli di protezione. Passaggio tra task. Differenze tra 286 e successivi.
RISC
Generalità. Registri delle CPU. Pipeline. Conflitti nella pipeline (conflitto dati, conflitto di controllo). Esempio di macchina RISC (architettura, fasi della pipeline, schema circuitale).