☰ Informazioni

Notizie ☰

×

Calcolatori elettronici


Denominazione del corso: Calcolatori elettronici
Corso di studi: I3N - Laurea in Ingegneria dell'Informazione
Quadrimestre/Semestre:
Anno:
Numero di moduli: 1
Crediti: 6
Ore: 60
Tipologia: B - Attività caratterizzanti
Struttura: monodisciplinare
Settore Scientifico Disciplinare: ING-INF/05 (Sistemi Di Elaborazione Delle Informazioni)

Docente: Laura Tarantino (60 ore). Titolo copertura: cattedra (prof. associato)
Orario di ricevimento: Nel I semestre il ricevimento sarà effettuato il mercoledì dalle 14:30 alle 16:30 presso l'ufficio della docente (Coppito 1). Ogni variazione viene sempre tempestivamente comunicata sul sito del corso sul portale di e-learning dell'Ateneo


Programma sintetico del corso:

Finalità del corso 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. 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. Propedeuticità: Fondamenti di Informatica

Programma esteso del corso:

Link Programma completo (PDF)    (Aggiornato il 12-09-2018)

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. INTRODUZIONE ALLE RETI LOGICHE: L'algebra booleana e le sue leggi. Il teorema di Shannon. Le forme canoniche. Le porte logiche. Sintesi AND-OR e NAND-NAND di reti logiche combinatorie. Circuiti fondamentali (multiplexer, demultiplexer, codificatore, decodificatore, sommatori seriali, circuito a scorrimento bidirezionale). Un esempio di semplice ALU. 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. IL PROCESSORE - 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 - 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 consigliati:

D.A. Patterson, J.L. Hennessy, Struttura e progetto dei calcolatori, Terza edizione Zanichelli. Capitolo 1 (fino a 1.6 incluso), Capitolo 2 (da 2.1 a 2.10 incluso, 2.12 fino al linker incluso, 2.13, 2.14, 2.17, 2.18. 2.19, Capitolo 3 (3.1, 3.2, 3.5 fino pag. 194 inclusa, Capitolo 4 (da 4.1 a 4.6, 4.7 (cenni), 4.8 (cenni), 4.10, 4.11), Capitolo 5 (5.1, 5.2, 5.3 escluso pagg 404-406 e pagg 409-411, 5.5, 5.10 (cenni)), Capitolo 6 (6.1, 6.3, 6.4, leggere 6.5 (contiene argomenti trattati anche da Sistemi Operativi), Capitolo 7 (fino pag 506 inclusa), Appendice C (C1, C2, C3, C5, C7, C8)

L. Tarantino, Slide delle lezioni e Eserciziari, disponibili sulla piattaforma di e-learning

            
            
                         


Modalità d'esame:

L'esame è a prova unica.


Risultati di apprendimento previsti:

Conoscenza dei fondamenti della programmazione assembler e delle principali caratteristiche architetturali dei moderni processori.


Link al materiale didattico:

http://www.didattica.univaq.it/moodle/course/view.php?id=4673