COMPUTER ARCHITECTURES-FOUNDATIONS
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER ARCHITECTURES-FOUNDATIONS
- Codice insegnamento
- CT0668 (AF:575973 AR:323088)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6 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
Inquadramento dell'insegnamento nel percorso del corso di studio
Il corso pone particolare enfasi sull'interfaccia tra hardware e software di un elaboratore, consentendo di acquisire i fondamenti teorici e le tecniche di base per la progettazione delle sue principali componenti: processore, memoria centrale e cache, e sistema di Input/Output. Inoltre, permette di approfondire la conoscenza dei livelli macchina/assembler di un calcolatore convenzionale, con una particolare attenzione all'efficienza energetica dei sistemi informatici.
Risultati di apprendimento attesi
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 numerica e sulle operazioni della logica Booleana.
- Comprenderà la complessità delle moderne architetture degli elaboratori, e la loro influenza sulla progettazione e prestazione del software.
- Comprenderà gli impatti economici, sociali, e ambientali della trasformazione digitale nell'ambito dell'evoluzione delle tecnologie.
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: rappresentazione e conversione di valori numerici, implementazione di circuiti logici, parallelismo a livello di istruzioni (pipeline), realizzazione dei vari livelli delle gerarchie di memoria.
- Utilizzare le conoscenze dell'architettura degli elaboratori e per valutare la loro influenza sulla progettazione e le prestazioni del software.
- Analizzare e valutare il consumo energetico associato alle diverse scelte architetturali e all'impatto delle decisioni sull'efficienza energetica dei sistemi informatici.
Autonomia di giudizio. Lo studente sarà in grado di analizzare e proporre soluzioni adeguate alle risorse disponibili che rispondano a standard di qualità.
Prerequisiti
Contenuti
- Rappresentazione dell'informazione, aritmetica dei calcolatori, algebra booleana
- Istruzioni macchina: processore MIPS, nozioni di base
- Circuiti combinatori/sequenziali
- Progetto avanzato della CPU e parallelismo a livello di istruzioni: pipeline
- Gerarchie di memoria: cache
- Memoria virtuale
- Input e Output
Testi di riferimento
- Note del docente e del tutor.
Modalità di verifica dell'apprendimento
L'obiettivo è quello di verificare le conoscenze acquisite durante il corso attraverso quesiti teorici e la risoluzione di esercizi pratici che richiedono di applicare le nozioni apprese.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
- Esercizio (4 punti): Rappresentazione dell'informazione, circuiti combinatori e sequenziali
- Esercizio (5 punti): Funzionamento della memoria cache
- Esercizio (5 punti): Dipendenze tra istruzioni in CPU con pipeline, performances
- Domande teoriche (16 punti totali) sugli argomenti visti durante il corso.
Metodi didattici
- Esempi ed esercizi pratici svolti dal docente e dal tutor
- Esercitazioni