ARCHITETTURA DEGLI ELABORATORI - MOD.2

Anno accademico
2023/2024 Programmi anni precedenti
Titolo corso in inglese
COMPUTER ARCHITECTURE-2
Codice insegnamento
CT0653 (AF:493974 AR:273825)
Modalità
In presenza
Crediti formativi universitari
6 su 9 di ARCHITETTURA DEGLI ELABORATORI
Partizione
Cognomi M-Z
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
L'insegnamento ricade tra le attività formative di base del corso di laurea in Informatica.
Il corso permette di acquisire i fondamenti teorici e le tecniche per la progettazione di un elaboratore nelle sue componenti principali: Processore - Input/Output - Memoria.
Permette altresì di approfondire la conoscenza sui livelli macchina/assembler di un calcolatore convenzionale.
Il corso enfatizza infine l'interfaccia tra l'hardware e il software di un elaboratore.
Conoscenza e comprensione:

Lo studente avrà acquisito padronanza della terminologia tecnica specifica.
Sarà in grado di riconoscere e comprendere le basi teoriche per la progettazione delle componenti principali di un elaboratore.
Avrà conoscenze sulla rappresentazione dell'informazione e sulle operazioni della logica Booleana.
Comprenderà la complessità delle moderne architetture degli elaboratori, e la loro influenza sulla progettazione e prestazione del software.
Inoltre, lo studente acquisirà conoscenza sul livello di programmazione macchina/assembly, e sulla traduzione di semplici programmi ad alto livello in linguaggio assembly.

Capacità di applicare conoscenza e comprensione:

Lo studente sarà in grado di svolgere esercizi finalizzati ad applicare le conoscenze acquisite nei vari argomenti del corso; in particolare, sulla rappresentazione di valori numeriche reali, sulla progettazione logica dei circuiti, sul parallelismo a livello di istruzioni, sulla realizzazione dei vari livelli delle gerarchie di memoria, sulla traduzione in assembly di programmi imperativi ad alto livello.
- Architettura degli Elaboratori (Mod.1)
- Basi di programmazione in linguaggio C (trattato parallelamente nei corsi di Programmazione)
- Progetto avanzato della CPU: pipeline
- Gerarchie di memoria
- Input e Output
- L'instruction set delle CPU ARM
- L'esecuzione di programmi: compilatore, assembler, linker e loader
- Processo di traduzione da C ad assembly ARM
- David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori" Quinta edizione italiana condotta sulla sesta Edizione americana. Zanichelli, 2022.
- David Money Harris Sarah L. Harris. "Sistemi digitali e architettura dei calcolatori. Progettare con tecnologia ARM", Trad. di O. Scarabottolo, rev. di N. Scarabottolo, Zanichelli, 2017
- Note del docente.
L'esame è scritto di durata 90 minuti. Comprende 4 esercizi e 3 domande teoriche a risposta aperta volte a testare le competenze acquisite durante il corso.
Composizione dell'esame scritto:
Esercizio 1 (6 punti): Funzionamento della cache
Esercizio 2 (6 punti): Dipendenze tra istruzioni e diagramma temporale CPU con pipeline
Esercizio 3 (4 punti): Traduzione da codice C a codice Assembly ARM A64
Esercizio 4 (4 punti): Programmazione di una funzione in Assembly ARM A64
Domande teoriche (10 punti totali) sugli argomenti visti durante il corso.
- Lezioni teoriche
- Esempi ed esercizi pratici svolti dal docente su emulatori e/o dispositivi ARM embedded
- Esercitazioni
Italiano
scritto
Programma definitivo.
Data ultima modifica programma: 28/02/2024