Fondamenti teorici e realizzazioni pratiche delle Reti Logiche e dei Microprocessori. Progetto di macchine sequenziali dedicate. Scrittura di semplici programmi in linguaggio assemblativo.
BUCCI, Calcolatori elettronici - Architettura e organizzazione, McGraw-Hill Italia, quarta edizione 2017.
Obiettivi Formativi
Saper specificare e realizzare semplici macchine sequenziali dedicate sincrone col paradigma parte operativa/parte di controllo. Apprendere i principi architetturali alla base dei moderni microprocessori (RISC, CISC), arrivando a comprenderne i principali aspetti hardware e software (linguaggio macchina).
Prerequisiti
Nessuno. Si consiglia tuttavia di avere seguito il corso del I anno su Fondamenti di Informatica e Programmazione.
Metodi Didattici
Lezioni ed esercitazioni alla lavagna (uso sporadico di PC+videoproiettore). Proposta di materiale didattico per approfondimenti casalinghi. Ulteriori approfondimenti e chiarimenti nelle ore di ricevimento.
Altre Informazioni
Pagina web del corso: www.dsi.unifi.it/colombo/calc.html.
Modalità di verifica apprendimento
L'esame consta di una prova scritta e di una orale, che di solito si tiene una settimana dopo. Lo scritto e' usualmente diviso in due parti: nella prima si chiede di progettare una macchina sequenziale dedicata, nella seconda di implementare un'istruzione di macchina (codifica di macchina, sezione di parte operativa, sezione di controllo) su un'architettura di tipo CISC. Esercizi alternativi vertono sulla misura/confronto di prestazioni di microprocessori, e sulla scrittura di semplici programmi in linguaggio assembly. L'orale verte su domande di teoria, o semplici esercizi.
Programma del corso
I PARTE - Reti Logiche:
Rappresentazione di numeri interi con e senza segno. Logica proposizionale. Algebra booleana e forme
canoniche. Reti combinatorie elementari: decoder, multiplexer, ROM. L'aritmetica attraverso la logica. ALU.
Macchine sequenziali: rappresentazione tramite ASF e sintesi "monoblocco". Flip-flop, registri. Progetto di
macchine dedicate secondo la metodologia parte operativa/parte di controllo.
II PARTE – Microprocessori:
Dalle macchine dedicate alla macchina universale. Tecnologia, architettura e organizzazione. Gerarchie di memoria.
Colloquio CPU-Memoria-I/O. Fetch ed esecuzione di istruzioni di macchina. Tipologie di istruzioni. Modi di
indirizzamento. Progetto di un'istruzione di macchina: codifica e realizzazione (hardware di parte operativa
e automa di controllo). Cicli di bus, di macchina, di wait. Architetture CISC e RISC. Prestazioni. La
programmazione assembly. Assembler, linker, loader.