COMPUTER ARCHITECTURES-LABORATORY

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
COMPUTER ARCHITECTURES-LABORATORY
Codice insegnamento
CT0668 (AF:521405 AR:292738)
Modalità
In presenza
Crediti formativi universitari
3 su 9 di COMPUTER ARCHITECTURES
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
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 acquisirà conoscenza sul livello di programmazione macchina/assembly, sul ruolo del compilatore, linker e loader, 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 traduzione in assembly di programmi imperativi ad alto livello.
- Basi di programmazione in linguaggio C (trattato parallelamente nei corsi di Programmazione)
Durante il corso saranno affrontati i seguenti argomenti:

- Rappresentazione dell'informazione: numeri interi, numeri a virgola fissa e mobile, stringhe e array
- Scrittura ed esecuzione di programmi assembly su sistema operativo Linux
- L'instruction set delle CPU ARM A64
- Ruolo del compilatore, assembler, linker e loader nello sviluppo di programmi
- Processo di traduzione da C ad assembly
- Gestione della memoria: variabili globali, stack e heap
- Architetture SIMD con caso di studio ARM NEON
- Smith, Stephen. "Programming with 64-Bit ARM Assembly Language: Single Board Computer Development for Raspberry Pi and Mobile Devices." Apress, 2020.
- David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori" Quinta edizione italiana condotta sulla sesta Edizione americana. Zanichelli, 2022.
L'esame è scritto di durata 60 minuti. Comprende 2 esercizi e 2 domande teoriche a risposta aperta volte a testare le competenze acquisite durante il corso.

Composizione dell'esame scritto:

Esercizio 1 (max 9 punti): Traduzione da codice C a codice Assembly ARM A64
Esercizio 2 (max 16 punti): Programmazione di una funzione in Assembly ARM A64 sulla base delle specifiche date
Domande teoriche (5 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
Inglese
scritto
Programma definitivo.
Data ultima modifica programma: 20/09/2024