Insegnamento ARCHITETTURA DEGLI ELABORATORI
Nome del corso | Informatica |
---|---|
Codice insegnamento | 20009205 |
Curriculum | Comune a tutti i curricula |
Docente responsabile | Alfredo Navarra |
Docenti |
|
Ore |
|
CFU | 9 |
Regolamento | Coorte 2021 |
Erogato | Erogato nel 2021/22 |
Erogato altro regolamento | |
Attività | Base |
Ambito | Formazione informatica di base |
Settore | INF/01 |
Tipo insegnamento | Obbligatorio (Required) |
Tipo attività | Attività formativa monodisciplinare |
Lingua insegnamento | ITALIANO |
Contenuti | MODULO I: Il modulo introduce le nozioni fondamentali della progettazione logica dei sistemi digitali. In particolare, verranno trattate (1) le caratteristiche e le proprieta' dell'algebra booleana e di commutazione (2) la sintesi e l'ottimizzazione delle reti logiche combinatorie (3) cenni ai sistemi sequenziali: macchine a stati finiti. MODULO II: richiami sulla codifica dei numeri: rappresentazione posizionale; modulo e segno; complemento a due; Addizionatore: somma; sottrazione; moltiplicazione; divisione; Numeri in virgola mobile: addizione; moltiplicazione; standard IEEE 754 a 16 bit; Automi Cellulari: cenni sul Game of Life. Scintillae e sistemi di computazione; Livelli di Astrazione: Livello Funzionale, RTL. Micro-operazioni. Controllo elaboratore. Ciclo di macchina. L'elaboratore PDP8: livello registri, livello funzionale, unità di controllo, linguaggio Assembly. Memoria Cache; Tecnica del Pipelining. |
Testi di riferimento | MODULO I: 1. Cristiana Bolchini, Carlo Brandolese, Fabio Salice, Donatella Sciuto. Reti Logiche. Maggioli Editore, 2015, Apogeo Education. MODULO II: 2. F. Barsi: Architettura degli elaboratori, parte seconda: struttura dei sistemi. Margiacchi-Galeno 3. C. Hamacher, Z. Vranesic, S. Zaky, Naraig Manjikian: Introduzione all'architettura dei calcolatori III edizione. McGraw-Hill |
Obiettivi formativi | Conoscenza e comprensione delle caratteristiche di base di un elaboratore elettronico, incluso la programmazione di basso livello |
Prerequisiti | nessuno |
Metodi didattici | Lezioni frontali Esercitazioni Seminari |
Modalità di verifica dell'apprendimento | prova scritta |
Programma esteso | MODULO I: Algebra di Boole e di commutazione: proprieta' dell'algebra di Boole, algebra di commutazione, funzioni ed espressioni booleane, forme canoniche, porte logiche. Reti combinatorie: sintesi di reti combinatorie, forme canoniche, minimizzazione (metodo di Karnaugh e metodo di Quine-McCluskey), circuiti combinatori speciali d'uso frequente:sommatore ripple-carry, multiplexer, decoder. Circuiti sequenziali: modellazione mediante macchine a stati finiti. Macchine di Mealy, macchine di Moore, procedure di conversione dei modelli di macchina a stati finita di Moore/Mealy. Bistabili: latch SR, latch D, Flip flop D. Sintesi ed ottimizzazione di circuiti sequenziali. MODULO II: La rappresentazione dell'Informazione nell'elaboratore. Rappresentazioni dei numeri. Posizionale semplice. Modulo e segno. Complemento alla base. Complemento alla base diminuita. Rappresentazioni numeri frazionari. Rappresentazione in virgola mobile standard (half-precision). Binarie. Ottali esadecimali. BCD. Conversioni tra le basi e operazioni nelle varie rappresentazioni. Caratteri ASCI. Somma, sottrazione, moltiplicazione e divisione dei numeri binari, in complemento a due e in virgola mobile. Cenni sugli automi cellulari: The game of life; Scintillae. Applicazioni degli automi cellulari nell'architettura degli elaboratori. Componenti di un elaboratore e loro funzionalita'. Unità di Ingresso/Uscita. Unità di Memoria. Unità Aritmetico-Logica. Unità di Controllo. Livelli di Astrazione. Livello Funzionale, RTL. Micro-operazioni. Trasferimenti tra registri e possibili circuiti. Trasferimenti con memoria. Micro-operazioni aritmetiche e logiche. Controllo elaboratore. Ciclo di macchina. Esempio di architettura RISC: l'elaboratore PDP8. Interpretazione dell'informazione. Codifica delle istruzioni. Cicli di fetch, indirizzamento indiretto, execute. Set di istruzioni del PDP8 e corrispondenti cicli di execute. Pseudo istruzioni e Commenti. Metodi di indirizzamento. Programmazione Assembly. Cenni sull'architettura x86 La memoria Cache. Principi di località Spaziale e Temporale. Eventi di Miss e di Hit. Metodi di Indirizzamento. Algoritmi di Sostituzione. Tecniche di ottimizzazione della memoria cache. Programmazione Cache-friendly. Metodologia del Pipelining. Approccio a 2 e 4 stadi. Analisi delle Prestazioni. Categorie di Conflitti. Tecniche di Ottimizzazione delle pipeline. |