COMPUTER ARCHITECTURES-FOUNDATIONS
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER ARCHITECTURES-FOUNDATIONS
- Codice insegnamento
- CT0668 (AF:521406 AR:292736)
- 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 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.
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.
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.
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.
Modalità di esame
Metodi didattici
- Esempi ed esercizi pratici svolti dal docente
- Esercitazioni