Architettura degli elaboratori
A.A. 2021/2022
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.
Periodo: Primo semestre
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
Primo semestre
METODI DIDATTICI
Lezioni frontali nell'orario previsto, trasmesse in streaming per gli studenti impossibilitati a essere presenti.
Rimarranno disponibili sulla piattaforma Ariel le videoregistrazioni delle lezioni svolte nell'anno accademico 2020/21.
Sulla stessa piattaforma Ariel verranno pubblicati per tempo anche gli avvisi relativi a qualsiasi aggiornamento legato all'evoluzione della normativa imposta dal Covid-19.
MATERIALI DI RIFERIMENTO
I materiali di riferimento sono riportati nel programma del corso.
MODALITÀ DI VERIFICA DELL'APPRENDIMENTO E CRITERI DI VALUTAZIONE
L'esame consiste in:
* una prova scritta (con valutazione in trentesimi) 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 (che - se corretta - può portare a un incremento massimo di 2 trentesimi della valutazione della prova scritta) 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.
Lezioni frontali nell'orario previsto, trasmesse in streaming per gli studenti impossibilitati a essere presenti.
Rimarranno disponibili sulla piattaforma Ariel le videoregistrazioni delle lezioni svolte nell'anno accademico 2020/21.
Sulla stessa piattaforma Ariel verranno pubblicati per tempo anche gli avvisi relativi a qualsiasi aggiornamento legato all'evoluzione della normativa imposta dal Covid-19.
MATERIALI DI RIFERIMENTO
I materiali di riferimento sono riportati nel programma del corso.
MODALITÀ DI VERIFICA DELL'APPRENDIMENTO E CRITERI DI VALUTAZIONE
L'esame consiste in:
* una prova scritta (con valutazione in trentesimi) 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 (che - se corretta - può portare a un incremento massimo di 2 trentesimi della valutazione della prova scritta) 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
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.
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 consiste in:
* una prova scritta (con valutazione in trentesimi) 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 (che - se corretta - può portare a un incremento massimo di 2 trentesimi della valutazione della prova scritta) 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.
* una prova scritta (con valutazione in trentesimi) 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 (che - se corretta - può portare a un incremento massimo di 2 trentesimi della valutazione della prova scritta) 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.
INF/01 - INFORMATICA - CFU: 6
Laboratori: 24 ore
Lezioni: 36 ore
Lezioni: 36 ore
Docente:
Scarabottolo Nello
Turni:
Docente:
Scarabottolo Nello
Lab. Turno A
Docente:
Scarabottolo NelloLab. Turno B
Docente:
Scarabottolo NelloLab. parte introduttiva
Docente:
Scarabottolo NelloDocente/i
Ricevimento:
Previo appuntamento mediante e-mail
DI - via Celoria 18, 20133 Milano