Architettura degli elaboratori

A.A. 2020/2021
6
Crediti massimi
60
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento ha lo scopo di introdurre i concetti di base dell'architettura hardware e firmware dei sistemi di elaborazione, a partire dai fondamenti della logica digitale fino a descrivere il comportamento e la struttura circuitale dei principali componenti di un calcolatore e la sua programmazione in linguaggio macchina.
Risultati apprendimento attesi
Lo studente sarà in grado di utilizzare le principali tecniche di codifica dell'informazione, l'algebra Booleana e le nozioni di base dei circuiti logici. Dovrà dimostrare la comprensione del ruolo e del comportamento degli elementi fondamentali relativi alla struttura e al funzionamento di un calcolatore elettronico. Lo studente dovrà inoltre essere in grado di tradurre semplici algoritmi nel linguaggio macchina del processore usato come riferimento nell'insegnamento.
Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre
METODI DIDATTICI
Verranno rese disponibili lezioni asincrone (videolezioni costituite da registrazione del desktop del docente con commento audio) di durata sintetica, organizzate per coprire gli argomenti di ogni settimana. Le lezioni previste dall'orario costituiranno momento di revisione e approfondimento di quanto proposto in modalità asincrona, e verranno svolte utilizzando la piattaforma Zoom con registrazione completa, per consentirne la fruizione sia in modalità sincrona sia in modalità asincrona per gli studenti non presenti in aula.
Le modalità e i criteri per partecipare alle lezioni in presenza, che prevedono una prenotazione con un'apposita app, saranno pubblicate per tempo nelle pagine Ariel dell'insegnamento, come pure tutto il materiale di cui sopra e gli avvisi relativi a qualsiasi aggiornamento legato all'evoluzione della normativa imposta dal Covid-19.
MATERIALI DI RIFERIMENTO
Il programma e i materiali di riferimento non subiranno variazioni.
MODALITÀ DI VERIFICA DELL'APPRENDIMENTO E CRITERI DI VALUTAZIONE
Come in passato, l'esame in presenza consisterà di:
* una prova scritta della durata di 60 minuti, con 3 domande a risposta aperta mirate a valutare la comprensione e la rielaborazione personale di quanto presentato a lezione, nonché i collegamenti logici tra i diversi aspetti tecnologici, realizzativi e funzionali dell'architettura del calcolatore;
* una prova pratica in laboratorio informatico della durata di 60 minuti, nella quale è richiesta la realizzazione e la verifica del corretto funzionamento di un programma scritto in linguaggio Assembly LC2, onde verificare la comprensione del funzionamento del calcolatore a livello macchina.
Gli esami a distanza - se necessari - saranno svolti con l'utilizzo della piattaforma exam.net, con le modalità illustrate sul portale dell'Ateneo. La prova scritta avrà la medesima struttura, mentre la prova pratica avrà una durata ridotta a 30 minuti dal momento che non è possibile - mediante la suddetta piattaforma di esame - avere accesso ai supporti software di traduzione e di collaudo di programmi in linguaggio Assembly LC2, quindi la valutazione sarà effettuata sulla base della sola stesura testuale di quanto richiesto allo studente.
Programma
FUNZIONAMENTO DEL CALCOLATORE
· Architettura di riferimento. La macchina di Von Neumann. Struttura funzionale delle componenti principali.
· Il linguaggio macchina. Il linguaggio Assembly. Esercizi.
ARCHITETTURA DEL CALCOLATORE
· Principi di funzionamento dei sistemi elettronici digitali. Codifica digitale delle informazioni. Algebra di commutazione, porte logiche, bistabili. Reti combinatorie e sequenziali.
· I principali componenti dell'architettura del microcalcolatore. Circuiti per la realizzazione delle principali funzioni di memoria. Elementi di memoria (ROM, SRAM, DRAM).
· Architettura delle periferiche di I/O (Input/Output). Tipi e caratteristiche dei dispositivi di I/O. Il bus: struttura e modalità di connessione. La gestione software dell'I/O.
· Il processore: progetto del Data Path. Circuiti per le principali operazioni aritmetiche. Progettazione di un modello di ALU.
· Il processore: progetto del Control Path. Progetto di un'unità di controllo. Unità di controllo cablate e microprogrammate.
· Principali direttrici di evoluzione architetturale. Memorie cache. Memoria virtuale. Pipelining.
Prerequisiti
Nessun prerequisito. Si richiede una conoscenza dei concetti base di programmazione e la capacità di leggere un testo in inglese.
Metodi didattici
Lezioni frontali.
Materiale di riferimento
Dispense e lucidi a cura del docente, disponibili sul sito dell'insegnamento.
Materiale consigliato
· P.Patel, Y.Patt: Introduction to computing systems: from bits and gates to C and beyond, McGraw Hill.
· V.C.Hamacher, Z.G.Vranesic, S.G.Zaky: Introduzione all'Architettura dei Calcolatori, McGraw Hill.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame si articola in una prova scritta (che richiede la soluzione di esercizi di tipo applicativo e la risposta a quesiti teorici) con valutazione in trentesimi, e nella codifica (in laboratorio informatizzato) di un programma in linguaggio Assembly LC2 che - se corretto - può portare a un incremento massimo di 2 trentesimi della valutazione della prova scritta.
INF/01 - INFORMATICA - CFU: 6
Laboratori: 24 ore
Lezioni: 36 ore
Turni:
Lab. Turno A
Docente: Scarabottolo Nello
Lab. Turno B
Docente: Scarabottolo Nello
Lab. parte introduttiva
Docente: Scarabottolo Nello
Docente/i
Ricevimento:
Previo appuntamento mediante e-mail
DI - via Celoria 18, 20133 Milano