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.