Architettura degli elaboratori
A.A. 2020/2021
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 dovrà essere in grado di 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.
Periodo: Secondo quadrimestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo quadrimestre
METODI DIDATTICI
I metodi didattici non subiranno variazioni.
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.
I metodi didattici non subiranno variazioni.
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.
· 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
Videolezioni disponibili sulla piattaforma web del corso di laurea
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.
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.
Docente/i
Ricevimento:
Previo appuntamento mediante e-mail
DI - via Celoria 18, 20133 Milano