COMPUTER ARCHITECTURES-LABORATORY

Anno accademico
2025/2026 Programmi anni precedenti
Titolo corso in inglese
COMPUTER ARCHITECTURES-LABORATORY
Codice insegnamento
CT0668 (AF:575972 AR:323087)
Lingua di insegnamento
Inglese
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
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.
scritto
La gradazione del voto è stabilita come segue:

A. I punteggi nell'intervallo 18-22 verranno assegnati in presenza di:
- conoscenza sufficiente del programma;
- limitata capacità di risolvere gli esercizi proposti all'esame (programmi funzionanti in un insieme limitato di casi d'uso);
- capacità di comunicazione sufficienti, in particolare per quanto riguarda la terminologia specifica della disciplina.

B. I punteggi nell'intervallo 23-26 verranno assegnati in presenza di:
- buona conoscenza del programma;
- discreta capacità di risolvere gli esercizi proposti all'esame (programmi funzionanti nella maggior parte dei casi d'uso);
- adeguate capacità di comunicazione, in particolare per quanto riguarda la terminologia specifica della disciplina.

C. I punteggi nell'intervallo 27-30 verranno assegnati in presenza di:
- ottima conoscenza di tutte le tematiche del programma;
- buona capacità di risolvere gli esercizi proposti all'esame (programmi funzionanti in tutti i casi d'uso).
- capacità di comunicazione pienamente appropriate, in particolare per quanto riguarda la terminologia specifica della disciplina.

D. La lode verrà assegnata in presenza di un esame scritto perfetto, in cui vengono fornite soluzioni ottimali per ciascun esercizio.
- Lezioni teoriche
- Esempi ed esercizi pratici svolti dal docente su emulatori e/o dispositivi ARM embedded
- Esercitazioni
Programma definitivo.
Data ultima modifica programma: 08/05/2025