Architettura dei Calcolatori - Dipartimento di Ingegneria Elettrica e delle Tecnologie dell'Informazione

    Calcolatori Elettronici

    Obiettivi

    Il materiale ha l'obiettivo di fornire gli strumenti metodologici per l’analisi e la sintesi di macchine elementari per la elaborazione delle informazioni (reti logiche combinatorie e sequenziali). Presentare i fondamenti dell’architettura dei calcolatori elettronici di tipo von Neumann, il repertorio dei codici operativi e la programmazione in linguaggio assemblativo.

     

    Contenuti

    Analisi e sintesi di reti combinatorie. Minimizzazione di funzioni booleane completamente e incompletamente specificate. Mappe di Karnaugh. Metodo di Quine-McCluskey. Sintesi di reti combinatorie in logica NAND e NOR. Ritardi e problemi di alea nelle reti combinatorie. Reti combinatorie elementari. Multiplexer e demultiplexer. Encoder e decoder. Controllori di parità. Macchine aritmetiche elementari: addizionatori, sottrattori, comparatori. Analisi e sintesi di reti sequenziali. Modelli per la tempificazione e struttura delle reti sequenziali sincrone e asincrone. Flip-flop: generalità. Flip-flop RS a porte NOR. Flip-flop latch ed edge-triggered. Flip-flop D. Flip-flop a commutazione. Flip-flop T e JK. Registri. Caricamento seriale e parallelo. Registri a scorrimento. Bus e trasferimenti tra registri. Metodologia di progetto delle reti sincrone. Contatori sincroni e asincroni. Collegamento di contatori. Riconoscitori di sequenza. Il calcolatore elettronico: sottosistemi e architettura. Il processore. Algoritmo del processore. Il ruolo dell’unità di controllo. Processori ad accumulatore e processori a registri generali. Tecniche di indirizzamento. Codifica delle istruzioni. La memoria centrale. Interfacciamento processore-memoria. Organizzazione del sistema memoria. Collegamento di moduli di memoria. Memorie RAM statiche e dinamiche. Sistemi di interconnessione e bus. Meccanismo delle interruzioni. Protezioni e controlli del processore. Gestione dell’I/O mediante polling e interruzioni. Il sottosistema di I/O. Linguaggio macchina e linguaggio assembler. Corrispondenza tra linguaggi di alto livello e linguaggio macchina. Linguaggio assembler del processore Motorola 68000. Direttive di assemblaggio. Allocazione in memoria dei programmi. Simulatore di processore MC68000. Assemblaggio ed esecuzione di programmi in linguaggio assembler. Sottoprogrammi in linguaggio assembler. Tecniche di passaggio dei parametri a procedure in linguaggio macchina.