ARCHITETTURA DEGLI ELABORATORI

Obiettivi formativi

Obiettivi generali: L’obiettivo dell'insegnamento di Architettura degli elaboratori è di far comprendere i principi che sono usati per progettare i calcolatori moderni. In particolare, il corso tratta la struttura interna del microprocessore e le idee che hanno permesso la straordinaria evoluzione della potenza di calcolo negli ultimi 30 anni. come pipelining, caching, branch prediction, e multi-processing. Obiettivi specifici: Il corso tratta i principi di base di organizzazione del microprocessore e le nozioni di pipelining, caching, branch prediction, virtualizzazione e multi-processing. Inoltre, il corso tratta la programmazione assembly. Conoscenza e comprensione: Lo studente acquisirà conoscenza sull’organizzazione del microprocessore MIPS, come implementazione delle idee generali che fanno parte degli obbiettivi del corso. Inoltre, lo studente acquisirà conoscenza su come si strutturano i programmi in assembly, incluse le strutture dati, i paradigmi standard di programmazione e la ricorsione. Applicazione di conoscenza e comprensione: Le conoscenze sono applicate sulla architettura MIPS, comprese in modo tale da poter capire le implicazioni delle scelte di programmazione sulla performance dei programmi su hardware specifico. Questa risultato è ottenuto tramite esercizi di programmazione e di valutazione delle prestazioni. Autonomia di giudizio: Lo studente sarà in grado di comprendere le problematiche relative alle prestazioni del software su hardware specifico e di valutarne autonomamente le caratteristiche. Abilità comunicative: Il corso non si propone espliciti obiettivi sulle capacità comunicative, eccetto di formare all'esposizione rigorosa degli argomenti tecnici. Capacità di apprendimento successivo: Il corso pone le basi per la comprensione dei moduli dell'insegnamento di Sistemi operativi e di tutti i corsi di programmazione, inclusa la programmazione di sistemi paralleli.

Canale 1
Davide Polese Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione al calcolatore e alle istruzioni RISC-V. Rappresentazione delle istruzioni nel calcolatore in assembly RISC-V, utilizzo della memoria per salvare variabili e dati. Utilizzo degli operatori logici. Strutture di controllo, vettori e matrici. (~15 ore) Chiamate di sistema e funzioni. Gestione dello stack. Chiamata di funzioni annidate e ricorsione singola/multipla. (~15 ore) Progettazione della CPU RISC-V a singolo ciclo di clock. Progettazione delle istruzioni assembly RISC-V per architettura a singolo ciclo di clock. Introduzione alla pipeline e agli hazard. Progettazione della CPU con pipeline e gestione dei data e control hazard. (~15 ore) Introduzione alla memoria cache. Associatività e multilivello. Cache multilivello e memoria virtuale. Caches multiple e gestione delle eccezioni. (~15 ore) Il numero di ore riportate è indicativo e può variare in base alle necessità ed il contesto apprenditivo.
Prerequisiti
È richiesta un’adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo alla matematica. Si assume che lo studente abbia familiarità con i concetti esposti durante il corso di “Progettazione di sistemi digitali”, tenuto durante il primo semestre del primo anno di corso.
Testi di riferimento
[ITA] D. A Patterson J. L. Hennessy. “Struttura e progetto dei calcolatori”, Progettare con RISC-V, 2a edizione, Zanichelli, 2023. ISBN: 9788808199669. [EN] D. A. Patterson and J. L. Hennessy. “Computer Organization and Design RISC-V Edition: The Hardware Software Interface”, 2nd edition, Morgan Kaufmann, 2020. ISBN: 9780128245583.
Frequenza
Sebbene non obbligatoria, la frequenza è consigliata per poter acquisire le conoscenze di pari passo con lo svolgimento delle lezioni e poter essere preparati al meglio per la prova scritta d’esame.
Modalità di esame
La prova di esame consiste in una prova mista con sessione pratica e sessione scritta. La prova pratica consiste in esercizi di programmazione assembly da risolvere in laboratorio. Inoltre, esercizi da svolgere a casa vengono assegnati durante il corso per verificare lo stato di apprendimento corrente. La prova scritta verte sui concetti alla base dell’architettura degli elaboratori indicati nel programma. Il superamento della prova pratica, basata sulla programmazione assembly, abilita la registrazione della votazione determinata dalla prova scritta. Gli esami verranno tenuti nel rispetto delle disposizioni di Ateneo.
Bibliografia
Il libro di testo copre bene il programma e nessun altro riferimento bibliografico è necessario.
Modalità di erogazione
Il corso si basa su lezioni e dimostrazioni in classe e su compiti di programmazione assembly da svolgere a casa.
Davide Polese Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione al calcolatore e alle istruzioni RISC-V. Rappresentazione delle istruzioni nel calcolatore in assembly RISC-V, utilizzo della memoria per salvare variabili e dati. Utilizzo degli operatori logici. Strutture di controllo, vettori e matrici. (~15 ore) Chiamate di sistema e funzioni. Gestione dello stack. Chiamata di funzioni annidate e ricorsione singola/multipla. (~15 ore) Progettazione della CPU RISC-V a singolo ciclo di clock. Progettazione delle istruzioni assembly RISC-V per architettura a singolo ciclo di clock. Introduzione alla pipeline e agli hazard. Progettazione della CPU con pipeline e gestione dei data e control hazard. (~15 ore) Introduzione alla memoria cache. Associatività e multilivello. Cache multilivello e memoria virtuale. Caches multiple e gestione delle eccezioni. (~15 ore) Il numero di ore riportate è indicativo e può variare in base alle necessità ed il contesto apprenditivo.
Prerequisiti
È richiesta un’adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo alla matematica. Si assume che lo studente abbia familiarità con i concetti esposti durante il corso di “Progettazione di sistemi digitali”, tenuto durante il primo semestre del primo anno di corso
Testi di riferimento
[ITA] D. A Patterson J. L. Hennessy. “Struttura e progetto dei calcolatori”, Progettare con RISC-V, 2a edizione, Zanichelli, 2023. ISBN: 9788808199669. [EN] D. A. Patterson and J. L. Hennessy. “Computer Organization and Design RISC-V Edition: The Hardware Software Interface”, 2nd edition, Morgan Kaufmann, 2020. ISBN: 9780128245583.
Frequenza
Sebbene non obbligatoria, la frequenza è consigliata per poter acquisire le conoscenze di pari passo con lo svolgimento delle lezioni e poter essere preparati al meglio per la prova scritta d’esame.
Modalità di esame
La prova di esame consiste in una prova mista con sessione pratica e sessione scritta. La prova pratica consiste in esercizi di programmazione assembly da risolvere in laboratorio. Inoltre, esercizi da svolgere a casa vengono assegnati durante il corso per verificare lo stato di apprendimento corrente. La prova scritta verte sui concetti alla base dell’architettura degli elaboratori indicati nel programma. Il superamento della prova pratica, basata sulla programmazione assembly, abilita la registrazione della votazione determinata dalla prova scritta. Gli esami verranno tenuti nel rispetto delle disposizioni di Ateneo.
Bibliografia
Il libro di testo copre bene il programma e nessun altro riferimento bibliografico è necessario.
Modalità di erogazione
Il corso si basa su lezioni e dimostrazioni in classe e su compiti di programmazione assembly da svolgere a casa.
Canale 2
ALESSANDRO CHECCO Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione al calcolatore e alle istruzioni RISC-V. Rappresentazione delle istruzioni nel calcolatore in assembly RISC-V, utilizzo della memoria per salvare variabili e dati. Utilizzo degli operatori logici. Strutture di controllo, vettori e matrici. (~15 ore) Chiamate di sistema e funzioni. Gestione dello stack. Chiamata di funzioni annidate e ricorsione singola/multipla. (~15 ore) Progettazione della CPU RISC-V a singolo ciclo di clock. Progettazione delle istruzioni assembly RISC-V per architettura a singolo ciclo di clock. Introduzione alla pipeline e agli hazard. Progettazione della CPU con pipeline e gestione dei data e control hazard. (~15 ore) Introduzione alla memoria cache. Associatività e multilivello. Cache multilivello e memoria virtuale. Caches multiple e gestione delle eccezioni. (~15 ore) Il numero di ore riportate è indicativo e può variare in base alle necessità ed il contesto apprenditivo.
Prerequisiti
È richiesta un’adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo alla matematica. Si assume che lo studente abbia familiarità con i concetti esposti durante il corso di “Progettazione di sistemi digitali”, tenuto durante il primo semestre del primo anno di corso.
Testi di riferimento
[ITA] D. A Patterson J. L. Hennessy. “Struttura e progetto dei calcolatori”, Progettare con RISC-V, 2a edizione, Zanichelli, 2023. ISBN: 9788808199669. [EN] D. A. Patterson and J. L. Hennessy. “Computer Organization and Design RISC-V Edition: The Hardware Software Interface”, 2nd edition, Morgan Kaufmann, 2020. ISBN: 9780128245583.
Frequenza
Sebbene non obbligatoria, la frequenza è consigliata per poter acquisire le conoscenze di pari passo con lo svolgimento delle lezioni e poter essere preparati al meglio per la prova scritta d’esame.
Modalità di esame
La prova di esame consiste in una prova mista con sessione pratica e sessione scritta. La prova pratica consiste in esercizi di programmazione assembly da risolvere in laboratorio. Inoltre, esercizi da svolgere a casa vengono assegnati durante il corso per verificare lo stato di apprendimento corrente. La prova scritta verte sui concetti alla base dell’architettura degli elaboratori indicati nel programma. Il superamento della prova pratica, basata sulla programmazione assembly, abilita la registrazione della votazione determinata dalla prova scritta. Gli esami verranno tenuti nel rispetto delle disposizioni di Ateneo.
Bibliografia
Il libro di testo copre bene il programma e nessun altro riferimento bibliografico è necessario.
Modalità di erogazione
Il corso si basa su lezioni e dimostrazioni in classe e su compiti di programmazione assembly da svolgere a casa.
ALESSANDRO CHECCO Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione al calcolatore e alle istruzioni RISC-V. Rappresentazione delle istruzioni nel calcolatore in assembly RISC-V, utilizzo della memoria per salvare variabili e dati. Utilizzo degli operatori logici. Strutture di controllo, vettori e matrici. (~15 ore) Chiamate di sistema e funzioni. Gestione dello stack. Chiamata di funzioni annidate e ricorsione singola/multipla. (~15 ore) Progettazione della CPU RISC-V a singolo ciclo di clock. Progettazione delle istruzioni assembly RISC-V per architettura a singolo ciclo di clock. Introduzione alla pipeline e agli hazard. Progettazione della CPU con pipeline e gestione dei data e control hazard. (~15 ore) Introduzione alla memoria cache. Associatività e multilivello. Cache multilivello e memoria virtuale. Caches multiple e gestione delle eccezioni. (~15 ore) Il numero di ore riportate è indicativo e può variare in base alle necessità ed il contesto apprenditivo.
Prerequisiti
È richiesta un’adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo alla matematica. Si assume che lo studente abbia familiarità con i concetti esposti durante il corso di “Progettazione di sistemi digitali”, tenuto durante il primo semestre del primo anno di corso.
Testi di riferimento
[ITA] D. A Patterson J. L. Hennessy. “Struttura e progetto dei calcolatori”, Progettare con RISC-V, 2a edizione, Zanichelli, 2023. ISBN: 9788808199669. [EN] D. A. Patterson and J. L. Hennessy. “Computer Organization and Design RISC-V Edition: The Hardware Software Interface”, 2nd edition, Morgan Kaufmann, 2020. ISBN: 9780128245583.
Frequenza
Sebbene non obbligatoria, la frequenza è consigliata per poter acquisire le conoscenze di pari passo con lo svolgimento delle lezioni e poter essere preparati al meglio per la prova scritta d’esame.
Modalità di esame
La prova di esame consiste in una prova mista con sessione pratica e sessione scritta. La prova pratica consiste in esercizi di programmazione assembly da risolvere in laboratorio. Inoltre, esercizi da svolgere a casa vengono assegnati durante il corso per verificare lo stato di apprendimento corrente. La prova scritta verte sui concetti alla base dell’architettura degli elaboratori indicati nel programma. Il superamento della prova pratica, basata sulla programmazione assembly, abilita la registrazione della votazione determinata dalla prova scritta. Gli esami verranno tenuti nel rispetto delle disposizioni di Ateneo.
Bibliografia
Il libro di testo copre bene il programma e nessun altro riferimento bibliografico è necessario.
Modalità di erogazione
Il corso si basa su lezioni e dimostrazioni in classe e su compiti di programmazione assembly da svolgere a casa.
  • Codice insegnamento1015881
  • Anno accademico2024/2025
  • CorsoInformatica
  • CurriculumMetodologico
  • Anno1º anno
  • Semestre2º semestre
  • SSDINF/01
  • CFU6
  • Ambito disciplinareFormazione informatica di base