Architettura degli elaboratori
A.A. 2024/2025
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 può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo quadrimestre
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 slide a cura del docente, disponibili sul sito Ariel 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, senza possibilità di utilizzo di libri o altro materiale didattico, 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.
I risultati delle valutazioni saranno pubblicati sul sito Ariel dell'insegnamento.
* una prova scritta (con valutazione in trentesimi) della durata di 60 minuti, senza possibilità di utilizzo di libri o altro materiale didattico, 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.
I risultati delle valutazioni saranno pubblicati sul sito Ariel dell'insegnamento.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente:
Scarabottolo Nello
Turni:
Turno
Docente:
Scarabottolo NelloDocente/i
Ricevimento:
Previo appuntamento mediante e-mail
DI - via Celoria 18, 20133 Milano