Dettagli sull'Insegnamento per l'A.A. 2018/2019
Nome:
Calcolatori Elettronici / Computer Organization and Design
Informazioni
Crediti:
: Laurea in Ingegneria dell'Informazione 6 CFU (b)
Erogazione:
Laurea in Ingegneria dell'Informazione 2nd anno curriculum Comune Compulsory
Lingua:
Italiano
Prerequisiti
Nozioni di base dell'architettura di un calcolatore elettronico ed esperienza di utilizzo. Tecniche di programmazione di base, con esperienza di programmazione in linguaggio C/C++. Conoscenza delle principali strutture di dati elementari.
Obiettivi
Il corso si propone di fornire le nozioni necessarie alla comprensione del funzionamento dei moderni sistemi di elaborazione, sia relativamente agli aspetti metodologici che a quelli tecnologici, per far sì che l’allievo acquisisca una maggiore professionalità e consapevolezza nell'utilizzo del calcolatore. Il corso tratta sia problematiche relative alla programmazione a basso livello (linguaggio assemblativo e linguaggio macchina) che problematiche relative agli aspetti architetturali (CPU, sistema di memoria, gestione delle periferiche). Gli argomenti vengono trattati sia da un punto di vista metodologico generale, che con riferimento a processori reali diffusi sul mercato, in modo da fornire una panoramica sulle soluzione tecnologiche avanzate e al contempo competenze teoriche e professionalizzanti che non mutino al variare dei sistemi e delle loro versioni.
Sillabo
- La rappresentazione dell'informazione. Numeri senza segno e con segno, numeri reali, caratteri. La rappresentazione esadecimale. L'aritmetica dei calcolatori. Somma e sottrazione. Operazioni logiche. La costruzione di una unità aritmetico-logica. L'aritmetica in virgola mobile.
- Il linguaggio dei calcolatori. Il linguaggio assemblativo MIPS: operazioni ed operandi, costrutti condizionali ed iterativi, gestione dei sottoprogrammi, metodi di indirizzamento, vettori e puntatori, la rappresentazione delle istruzioni all'interno del calcolatore. Esempi di insiemi di istruzioni di processori reali. L'assemblatore e il linker.
- Introduzione alle reti logiche combinatorie. Algebra di Boole: postulati, operatori, legge di dualità, teoremi fondamentali, leggi di De Morgan. Variabili e funzioni di commutazione: forma canonica disgiuntiva, forma canonica congiuntiva. Circuiti di commutazione: porte logiche, sintesi a due livelli (AND-OR e NAND-NAND). Alcuni circuiti di base: sommatori seriali (half-adder e full-adder), convertitori di codici (codificatori e decodificatori), circuiti di comunicazione (multiplexer e demultiplexer), traslatori.
- Il processore I: progetto base. Metodologia di temporizzazione. Progettazione dell'unità di elaborazione: il banco dei registri e il datapath. Progettazione dell'unità di controllo. Valutazione delle prestazioni (il concetto di prestazione, CPI, valutazione del tempo di CPU).
- La gerarchia delle memorie. Fondamenti sulla cache: cache ad indirizzamento diretto, set-associativa e completamente associativa. Problematiche primcipali: individuazione, posizionamento e sostituzione del blocco. Strategie di scrittura. Aspetti architetturali. Valutazione delle prestazioni della cache. La memoria virtuale. La tabella delle pagine. Il TLB. Esempi di gerarchie di memoria in processori reali.
- Il processore II: progetto avanzato. Introduzione alla pipeline. L'unità di elaborazione e cenni sull'unità di controllo. Criticità sui dati e sul controllo. Superpipeline, pipeline superscalare, schedulazione dinamica della pipeline. Esempi di pipeline in processori reali.
- L'interfaccia tra processori e periferiche. Cenni
Testi di riferimento
- Laura Tarantino, Slides dalle lezioni ed eserciziari Disponibili sul sito del corso (sulla piattaforma di e-learning di Ateneo)
- D.A. Patterson, J.L. Hennessy, Struttura e progetto dei calcolatori, , Zanichelli.
Modalità d'esame
L'esame è del tipo prova unica e prevede la sola prova scritta, che include sia esercizi che domande di carattere teorico.
Aggiornamenti alla pagina del corso
Le informazioni sulle editioni passate di questo corso sono disponibili per i seguenti anni accademici:
Per leggere le informazioni correnti sul corso, se ancora erogato, consulta il catalogo corsi di ateneo.
Ultimo aggiornamento delle informazioni sul corso: 11 febbraio 2014, 19:54