COMPUTER ARCHITECTURES-FOUNDATIONS

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
COMPUTER ARCHITECTURES-FOUNDATIONS
Codice insegnamento
CT0668 (AF:521406 AR:292736)
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
L'insegnamento rientra tra le attività formative di base del corso di laurea in Informatica, in quanto fornisce le conoscenze fondamentali che un laureato deve possedere sia nella propria area di specializzazione sia nel contesto generale dell'informatica. Contribuisce inoltre a sviluppare una consapevolezza critica sull’epistemologia della disciplina.
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 principali componenti di un elaboratore: processore, memoria centrale e cache, e sistema di Input/Output. Inoltre, permette di approfondire la conoscenza dei livelli macchina/assembler di un calcolatore convenzionale.
Al termine del corso sono previsti i seguenti risultati.

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.

Autonomia di giudizio. Lo studente sarà in grado di analizzare e proporre soluzioni adeguate alle risorse disponibili che rispondano a standard di qualità.
- Conoscenze base di matematica e logica.
- Organizzazione del calcolatore e livelli di astrazione
- 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

- David A. Patterson, John L. Hennessy. "Computer Organization and Design MIPS Edition: The Hardware/Software Interface", 6th edition (2020). ISBN: 9780128201091
- Note del docente e del tutor.
L'esame è scritto, dalla durata totale di 2 ore.
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.

L'esame è composto da esercizi e domande teoriche a risposta aperta. Il punteggio totale (30 punti) è così suddiviso:
- 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.

L'assegnazione della lode è a discrezione del docente.
scritto
- Lezioni teoriche
- Esempi ed esercizi pratici svolti dal docente
- Esercitazioni
Inglese
Programma definitivo.
Data ultima modifica programma: 28/01/2025