ARCHITETTURA DEGLI ELABORATORI-LABORATORIO
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER ARCHITECTURES-LABORATORY
- Codice insegnamento
- CT0681 (AF:528589 AR:297314)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 3 su 9 di ARCHITETTURA DEGLI ELABORATORI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- I Semestre
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
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.
Risultati di apprendimento attesi
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.
Prerequisiti
Contenuti
- 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
Testi di riferimento
- David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori" Quinta edizione italiana condotta sulla sesta Edizione americana. Zanichelli, 2022.
Modalità di verifica dell'apprendimento
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.
Modalità di esame
Metodi didattici
- Esempi ed esercizi pratici svolti dal docente su emulatori e/o dispositivi ARM embedded
- Esercitazioni