Calcolatori Elettronici
Anno Accademico 2024/2025
Informazioni generali
Per interagire con gli studenti e per fornire il materiale didattico ed informazioni sul corso verrà utilizzata la piattaforma Teams (utilizzare questo link per accedere).
Sono previste delle esercitazioni a casa durante il corso, che verranno comunicate sempre su Teams. È necessaria l'iscrizione al corso su Delphi per consentire il corretto svolgimento delle esercitazioni a casa. Le esercitazioni a casa verranno valutate con un possibile bonus sul voto finale dell'esame.
Le lezioni si terranno in questi orari:
- Lunedì ore 14.00, aula 3;
- Martedì ore 11.30, aula 3;
- Venerdì, ore 11.30, aula 1.
Regole d’esame
L’esame si compone di una prova scritta suddivisa in due parti. La prima parte verte sugli argomenti dell’intero corso e prevede domande a risposta aperta ed esercizi. La seconda parte richiede la progettazione di una o più interfacce hardware e dello sviluppo (su carta) del codice assembly dei driver dei dispositivi e di eventuali programmi per pilotare l’esecuzione del sistema.
Le prove d’esame si terranno nelle regolari sessioni di esame. È necessario ottenere la sufficienza ad entrambe le parti per superare l’esame. In caso di insufficienza molto grave al primo appello di una sessione di esame (voto finale <= 10), non sarà possibile partecipare al secondo appello della stessa sessione.
Su richiesta del docente è possibile dover sostenere anche una prova orale aggiuntiva.
Libri di testo consigliati
- A. Pellegrini e B. Ciciani
Computer Architecture: A Bottom Up Approach
Programma del corso (preliminare)
- Sistemi numerici e codici: richiami di sistemi di numerazione (interi, reali); operazioni aritmetiche (addizione, sottrazione); codici.
- Circuiti: richiami di algebra di Boole; porte logiche e loro simboli grafici; funzioni di commutazione e loro forme semplificate; elementi di reti combinatorie (sintesi, codificatori, decodificatori, addizionatori, comparatori); elementi di reti sequenziali (macchine sequenziali e loro rappresentazioni, elementi di memorizzazione: flip/flop, registri, banco dei registri, memoria RAM).
- Organizzazione e programmazione del processore z64: macchina di Von Neumann; set delle istruzioni, metodi di indirizzamento della memoria: implementazione del sottosistema di calcolo, accenni al sottosistema di controllo.
- Interfaccia tra processore e periferiche: tipi e caratteristiche delle periferiche; bus; tecniche di interfacciamento dei processori con dispositivi esterni (busy waiting, interruzioni vettorizzate).
- Gestione della memoria: la gerarchia di memoria; memoria secondaria e memoria primaria; memoria cache.
- Architettura pipeline di processori di tipo RISC: concetti di base delle architetture a pipeline; vantaggi e svantaggi dell’organizzazione a pipeline; prestazioni delle architetture a pipeline.
- Accenno ai sistemi multicore. concetti di base sui sistemi multicore e loro programmazione (ordine di programma e di memoria), sistemi multi-cache (protocolli di coerenza e consistenza), accenni alla programmazione parallela.